1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 4408 4409 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 4466 4467 4468 4469 4470 4471 4472 4473 4474 4475 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510 4511 4512 4513 4514 4515 4516 4517 4518 4519 4520 4521 4522 4523 4524 4525 4526 4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 4623 4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 4668 4669 4670 4671 4672 4673 4674 4675 4676 4677 4678 4679 4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 4719 4720 4721 4722 4723 4724 4725 4726 4727 4728 4729 4730 4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 4743 4744 4745 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 4756 4757 4758 4759 4760 4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 4780 4781 4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4810 4811 4812 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822 4823 4824 4825 4826 4827 4828 4829 4830 4831 4832 4833 4834 4835 4836 4837 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 4858 4859 4860 4861 4862 4863 4864 4865 4866 4867 4868 4869 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 4880 4881 4882 4883 4884 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4906 4907 4908 4909 4910 4911 4912 4913 4914 4915 4916 4917 4918 4919 4920 4921 4922 4923 4924 4925 4926 4927 4928 4929 4930 4931 4932 4933 4934 4935 4936 4937 4938 4939 4940 4941 4942 4943 4944 4945 4946 4947 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 4959 4960 4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 4971 4972 4973 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984 4985 4986 4987 4988 4989 4990 4991 4992 4993 4994 4995 4996 4997 4998 4999 5000 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 5066 5067 5068 5069 5070 5071 5072 5073 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 5091 5092 5093 5094 5095 5096 5097 5098 5099 5100 5101 5102 5103 5104 5105 5106 5107 5108 5109 5110 5111 5112 5113 5114 5115 5116 5117 5118 5119 5120 5121 5122 5123 5124 5125 5126 5127 5128 5129 5130 5131 5132 5133 5134 5135 5136 5137 5138 5139 5140 5141 5142 5143 5144 5145 5146 5147 5148 5149 5150 5151 5152 5153 5154 5155 5156 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172 5173 5174 5175 5176 5177 5178 5179 5180 5181 5182 5183 5184 5185 5186 5187 5188 5189 5190 5191 5192 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 5203 5204 5205 5206 5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292 5293 5294 5295 5296 5297 5298 5299 5300 5301 5302 5303 5304 5305 5306 5307 5308 5309 5310 5311 5312 5313 5314 5315 5316 5317 5318 5319 5320 5321 5322 5323 5324 5325 5326 5327 5328 5329 5330 5331 5332 5333 5334 5335 5336 5337 5338 5339 5340 5341 5342 5343 5344 5345 5346 5347 5348 5349 5350 5351 5352 5353 5354 5355 5356 5357 5358 5359 5360 5361 5362 5363 5364 5365 5366 5367 5368 5369 5370 5371 5372 5373 5374 5375 5376 5377 5378 5379 5380 5381 5382 5383 5384 5385 5386 5387 5388 5389 5390 5391 5392 5393 5394 5395 5396 5397 5398 5399 5400 5401 5402 5403 5404 5405 5406 5407 5408 5409 5410 5411 5412 5413 5414 5415 5416 5417 5418 5419 5420 5421 5422 5423 5424 5425 5426 5427 5428 5429 5430 5431 5432 5433 5434 5435 5436 5437 5438 5439 5440 5441 5442 5443 5444 5445 5446 5447 5448 5449 5450 5451 5452 5453 5454 5455 5456 5457 5458 5459 5460 5461 5462 5463 5464 5465 5466 5467 5468 5469 5470 5471 5472 5473 5474 5475 5476 5477 5478 5479 5480 5481 5482 5483 5484 5485 5486 5487 5488 5489 5490 5491 5492 5493 5494 5495 5496 5497 5498 5499 5500 5501 5502 5503 5504 5505 5506 5507 5508 5509 5510 5511 5512 5513 5514 5515 5516 5517 5518 5519 5520 5521 5522 5523 5524 5525 5526 5527 5528 5529 5530 5531 5532 5533 5534 5535 5536 5537 5538 5539 5540 5541 5542 5543 5544 5545 5546 5547 5548 5549 5550 5551 5552 5553 5554 5555 5556 5557 5558 5559 5560 5561 5562 5563 5564 5565 5566 5567 5568 5569 5570 5571 5572 5573 5574 5575 5576 5577 5578 5579 5580 5581 5582 5583 5584 5585 5586 5587 5588 5589 5590 5591 5592 5593 5594 5595 5596 5597 5598 5599 5600 5601 5602 5603 5604 5605 5606 5607 5608 5609 5610 5611 5612 5613 5614 5615 5616 5617 5618 5619 5620 5621 5622 5623 5624 5625 5626 5627 5628 5629 5630 5631 5632 5633 5634 5635 5636 5637 5638 5639 5640 5641 5642 5643 5644 5645 5646 5647 5648 5649 5650 5651 5652 5653 5654 5655 5656 5657 5658 5659 5660 5661 5662 5663 5664 5665 5666 5667 5668 5669 5670 5671 5672 5673 5674 5675 5676 5677 5678 5679 5680 5681 5682 5683 5684 5685 5686 5687 5688 5689 5690 5691 5692 5693 5694 5695 5696 5697 5698 5699 5700 5701 5702 5703 5704 5705 5706 5707 5708 5709 5710 5711 5712 5713 5714 5715 5716 5717 5718 5719 5720 5721 5722 5723 5724 5725 5726 5727 5728 5729 5730 5731 5732 5733 5734 5735 5736 5737 5738 5739 5740 5741 5742 5743 5744 5745 5746 5747 5748 5749 5750 5751 5752 5753 5754 5755 5756 5757 5758 5759 5760 5761 5762 5763 5764 5765 5766 5767 5768 5769 5770 5771 5772 5773 5774 5775 5776 5777 5778 5779 5780 5781 5782 5783 5784 5785 5786 5787 5788 5789 5790 5791 5792 5793 5794 5795 5796 5797 5798 5799 5800 5801 5802 5803 5804 5805 5806 5807 5808 5809 5810 5811 5812 5813 5814 5815 5816 5817 5818 5819 5820 5821 5822 5823 5824 5825 5826 5827 5828 5829 5830 5831 5832 5833 5834 5835 5836 5837 5838 5839 5840 5841 5842 5843 5844 5845 5846 5847 5848 5849 5850 5851 5852 5853 5854 5855 5856 5857 5858 5859 5860 5861 5862 5863 5864 5865 5866 5867 5868 5869 5870 5871 5872 5873 5874 5875 5876 5877 5878 5879 5880 5881 5882 5883 5884 5885 5886 5887 5888 5889 5890 5891 5892 5893 5894 5895 5896 5897 5898 5899 5900 5901 5902 5903 5904 5905 5906 5907 5908 5909 5910 5911 5912 5913 5914 5915 5916 5917 5918 5919 5920 5921 5922 5923 5924 5925 5926 5927 5928 5929 5930 5931 5932 5933 5934 5935 5936 5937 5938 5939 5940 5941 5942 5943 5944 5945 5946 5947 5948 5949 5950 5951 5952 5953 5954 5955 5956 5957 5958 5959 5960 5961 5962 5963 5964 5965 5966 5967 5968 5969 5970 5971 5972 5973 5974 5975 5976 5977 5978 5979 5980 5981 5982 5983 5984 5985 5986 5987 5988 5989 5990 5991 5992 5993 5994 5995 5996 5997 5998 5999 6000 6001 6002 6003 6004 6005 6006 6007 6008 6009 6010 6011 6012 6013 6014 6015 6016 6017 6018 6019 6020 6021 6022 6023 6024 6025 6026 6027 6028 6029 6030 6031 6032 6033 6034 6035 6036 6037 6038 6039 6040 6041 6042 6043 6044 6045 6046 6047 6048 6049 6050 6051 6052 6053 6054 6055 6056 6057 6058 6059 6060 6061 6062 6063 6064 6065 6066 6067 6068 6069 6070 6071 6072 6073 6074 6075 6076 6077 6078 6079 6080 6081 6082 6083 6084 6085 6086 6087 6088 6089 6090 6091 6092 6093 6094 6095 6096 6097 6098 6099 6100 6101 6102 6103 6104 6105 6106 6107 6108 6109 6110 6111 6112 6113 6114 6115 6116 6117 6118 6119 6120 6121 6122 6123 6124 6125 6126 6127 6128 6129 6130 6131 6132 6133 6134 6135 6136 6137 6138 6139 6140 6141 6142 6143 6144 6145 6146 6147 6148 6149 6150 6151 6152 6153 6154 6155 6156 6157 6158 6159 6160 6161 6162 6163 6164 6165 6166 6167 6168 6169 6170 6171 6172 6173 6174 6175 6176 6177 6178 6179 6180 6181 6182 6183 6184 6185 6186 6187 6188 6189 6190 6191 6192 6193 6194 6195 6196 6197 6198 6199 6200 6201 6202 6203 6204 6205 6206 6207 6208 6209 6210 6211 6212 6213 6214 6215 6216 6217 6218 6219 6220 6221 6222 6223 6224 6225 6226 6227 6228 6229 6230 6231 6232 6233 6234 6235 6236 6237 6238 6239 6240 6241 6242 6243 6244 6245 6246 6247 6248 6249 6250 6251 6252 6253 6254 6255 6256 6257 6258 6259 6260 6261 6262 6263 6264 6265 6266 6267 6268 6269 6270 6271 6272 6273 6274 6275 6276 6277 6278 6279 6280 6281 6282 6283 6284 6285 6286 6287 6288 6289 6290 6291 6292 6293 6294 6295 6296 6297 6298 6299 6300 6301 6302 6303 6304 6305 6306 6307 6308 6309 6310 6311 6312 6313 6314 6315 6316 6317 6318 6319 6320 6321 6322 6323 6324 6325 6326 6327 6328 6329 6330 6331 6332 6333 6334 6335 6336 6337 6338 6339 6340 6341 6342 6343 6344 6345 6346 6347 6348 6349 6350 6351 6352 6353 6354 6355 6356 6357 6358 6359 6360 6361 6362 6363 6364 6365 6366 6367 6368 6369 6370 6371 6372 6373 6374 6375 6376 6377 6378 6379 6380 6381 6382 6383 6384 6385 6386 6387 6388 6389 6390 6391 6392 6393 6394 6395 6396 6397 6398 6399 6400 6401 6402 6403 6404 6405 6406 6407 6408 6409 6410 6411 6412 6413 6414 6415 6416 6417 6418 6419 6420 6421 6422 6423 6424 6425 6426 6427 6428 6429 6430 6431 6432 6433 6434 6435 6436 6437 6438 6439 6440 6441 6442 6443 6444 6445 6446 6447 6448 6449 6450 6451 6452 6453 6454 6455 6456 6457 6458 6459 6460 6461 6462 6463 6464 6465 6466 6467 6468 6469 6470 6471 6472 6473 6474 6475 6476 6477 6478 6479 6480 6481 6482 6483 6484 6485 6486 6487 6488 6489 6490 6491 6492 6493 6494 6495 6496 6497 6498 6499 6500 6501 6502 6503 6504 6505 6506 6507 6508 6509 6510 6511 6512 6513 6514 6515 6516 6517 6518 6519 6520 6521 6522 6523 6524 6525 6526 6527 6528 6529 6530 6531 6532 6533 6534 6535 6536 6537 6538 6539 6540 6541 6542 6543 6544 6545 6546 6547 6548 6549 6550 6551 6552 6553 6554 6555 6556 6557 6558 6559 6560 6561 6562 6563 6564 6565 6566 6567 6568 6569 6570 6571 6572 6573 6574 6575 6576 6577 6578 6579 6580 6581 6582 6583 6584 6585 6586 6587 6588 6589 6590 6591 6592 6593 6594 6595 6596 6597 6598 6599 6600 6601 6602 6603 6604 6605 6606 6607 6608 6609 6610 6611 6612 6613 6614 6615 6616 6617 6618 6619 6620 6621 6622 6623 6624 6625 6626 6627 6628 6629 6630 6631 6632 6633 6634 6635 6636 6637 6638 6639 6640 6641 6642 6643 6644 6645 6646 6647 6648 6649 6650 6651 6652 6653 6654 6655 6656 6657 6658 6659 6660 6661 6662 6663 6664 6665 6666 6667 6668 6669 6670 6671 6672 6673 6674 6675 6676 6677 6678 6679 6680 6681 6682 6683 6684 6685 6686 6687 6688 6689 6690 6691 6692 6693 6694 6695 6696 6697 6698 6699 6700 6701 6702 6703 6704 6705 6706 6707 6708 6709 6710 6711 6712 6713 6714 6715 6716 6717 6718 6719 6720 6721 6722 6723 6724 6725 6726 6727 6728 6729 6730 6731 6732 6733 6734 6735 6736 6737 6738 6739 6740 6741 6742 6743 6744 6745 6746 6747 6748 6749 6750 6751 6752 6753 6754 6755 6756 6757 6758 6759 6760 6761 6762 6763 6764 6765 6766 6767 6768 6769 6770 6771 6772 6773 6774 6775 6776 6777 6778 6779 6780 6781 6782 6783 6784 6785 6786 6787 6788 6789 6790 6791 6792 6793 6794 6795 6796 6797 6798 6799 6800 6801 6802 6803 6804 6805 6806 6807 6808 6809 6810 6811 6812 6813 6814 6815 6816 6817 6818 6819 6820 6821 6822 6823 6824 6825 6826 6827 6828 6829 6830 6831 6832 6833 6834 6835 6836 6837 6838 6839 6840 6841 6842 6843 6844 6845 6846 6847 6848 6849 6850 6851 6852 6853 6854 6855 6856 6857 6858 6859 6860 6861 6862 6863 6864 6865 6866 6867 6868 6869 6870 6871 6872 6873 6874 6875 6876 6877 6878 6879 6880 6881 6882 6883 6884 6885 6886 6887 6888 6889 6890 6891 6892 6893 6894 6895 6896 6897 6898 6899 6900 6901 6902 6903 6904 6905 6906 6907 6908 6909 6910 6911 6912 6913 6914 6915 6916 6917 6918 6919 6920 6921 6922 6923 6924 6925 6926 6927 6928 6929 6930 6931 6932 6933 6934 6935 6936 6937 6938 6939 6940 6941 6942 6943 6944 6945 6946 6947 6948 6949 6950 6951 6952 6953 6954 6955 6956 6957 6958 6959 6960 6961 6962 6963 6964 6965 6966 6967 6968 6969 6970 6971 6972 6973 6974 6975 6976 6977 6978 6979 6980 6981 6982 6983 6984 6985 6986 6987 6988 6989 6990 6991 6992 6993 6994 6995 6996 6997 6998 6999 7000 7001 7002 7003 7004 7005 7006 7007 7008 7009 7010 7011 7012 7013 7014 7015 7016 7017 7018 7019 7020 7021 7022 7023 7024 7025 7026 7027 7028 7029 7030 7031 7032 7033 7034 7035 7036 7037 7038 7039 7040 7041 7042 7043 7044 7045 7046 7047 7048 7049 7050 7051 7052 7053 7054 7055 7056 7057 7058 7059 7060 7061 7062 7063 7064 7065 7066 7067 7068 7069 7070 7071 7072 7073 7074 7075 7076 7077 7078 7079 7080 7081 7082 7083 7084 7085 7086 7087 7088 7089 7090 7091 7092 7093 7094 7095 7096 7097 7098 7099 7100 7101 7102 7103 7104 7105 7106 7107 7108 7109 7110 7111 7112 7113 7114 7115 7116 7117 7118 7119 7120 7121 7122 7123 7124 7125 7126 7127 7128 7129 7130 7131 7132 7133 7134 7135 7136 7137 7138 7139 7140 7141 7142 7143 7144 7145 7146 7147 7148 7149 7150 7151 7152 7153 7154 7155 7156 7157 7158 7159 7160 7161 7162 7163 7164 7165 7166 7167 7168 7169 7170 7171 7172 7173 7174 7175 7176 7177 7178 7179 7180 7181 7182 7183 7184 7185 7186 7187 7188 7189 7190 7191 7192 7193 7194 7195 7196 7197 7198 7199 7200 7201 7202 7203 7204 7205 7206 7207 7208 7209 7210 7211 7212 7213 7214 7215 7216 7217 7218 7219 7220 7221 7222 7223 7224 7225 7226 7227 7228 7229 7230 7231 7232 7233 7234 7235 7236 7237 7238 7239 7240 7241 7242 7243 7244 7245 7246 7247 7248 7249 7250 7251 7252 7253 7254 7255 7256 7257 7258 7259 7260 7261 7262 7263 7264 7265 7266 7267 7268 7269 7270 7271 7272 7273 7274 7275 7276 7277 7278 7279 7280 7281 7282 7283 7284 7285 7286 7287 7288 7289 7290 7291 7292 7293 7294 7295 7296 7297 7298 7299 7300 7301 7302 7303 7304 7305 7306 7307 7308 7309 7310 7311 7312 7313 7314 7315 7316 7317 7318 7319 7320 7321 7322 7323 7324 7325 7326 7327 7328 7329 7330 7331 7332 7333 7334 7335 7336 7337 7338 7339 7340 7341 7342 7343 7344 7345 7346 7347 7348 7349 7350 7351 7352 7353 7354 7355 7356 7357 7358 7359 7360 7361 7362 7363 7364 7365 7366 7367 7368 7369 7370 7371 7372 7373 7374 7375 7376 7377 7378 7379 7380 7381 7382 7383 7384 7385 7386 7387 7388 7389 7390 7391 7392 7393 7394 7395 7396 7397 7398 7399 7400 7401 7402 7403 7404 7405 7406 7407 7408 7409 7410 7411 7412 7413 7414 7415 7416 7417 7418 7419 7420 7421 7422 7423 7424 7425 7426 7427 7428 7429 7430 7431 7432 7433 7434 7435 7436 7437 7438 7439 7440 7441 7442 7443 7444 7445 7446 7447 7448 7449 7450 7451 7452 7453 7454 7455 7456 7457 7458 7459 7460 7461 7462 7463 7464 7465 7466 7467 7468 7469 7470 7471 7472 7473 7474 7475 7476 7477 7478 7479 7480 7481 7482 7483 7484 7485 7486 7487 7488 7489 7490 7491 7492 7493 7494 7495 7496 7497 7498 7499 7500 7501 7502 7503 7504 7505 7506 7507 7508 7509 7510 7511 7512 7513 7514 7515 7516 7517 7518 7519 7520 7521 7522 7523 7524 7525 7526 7527 7528 7529 7530 7531 7532 7533 7534 7535 7536 7537 7538 7539 7540 7541 7542 7543 7544 7545 7546 7547 7548 7549 7550 7551 7552 7553 7554 7555 7556 7557 7558 7559 7560 7561 7562 7563 7564 7565 7566 7567 7568 7569 7570 7571 7572 7573 7574 7575 7576 7577 7578 7579 7580 7581 7582 7583 7584 7585 7586 7587 7588 7589 7590 7591 7592 7593 7594 7595 7596 7597 7598 7599 7600 7601 7602 7603 7604 7605 7606 7607 7608 7609 7610 7611 7612 7613 7614 7615 7616 7617 7618 7619 7620 7621 7622 7623 7624 7625 7626 7627 7628 7629 7630 7631 7632 7633 7634 7635 7636 7637 7638 7639 7640 7641 7642 7643 7644 7645 7646 7647 7648 7649 7650 7651 7652 7653 7654 7655 7656 7657 7658 7659 7660 7661 7662 7663 7664 7665 7666 7667 7668 7669 7670 7671 7672 7673 7674 7675 7676 7677 7678 7679 7680 7681 7682 7683 7684 7685 7686 7687 7688 7689 7690 7691 7692 7693 7694 7695 7696 7697 7698 7699 7700 7701 7702 7703 7704 7705 7706 7707 7708 7709 7710 7711 7712 7713 7714 7715 7716 7717 7718 7719 7720 7721 7722 7723 7724 7725 7726 7727 7728 7729 7730 7731 7732 7733 7734 7735 7736 7737 7738 7739 7740 7741 7742 7743 7744 7745 7746 7747 7748 7749 7750 7751 7752 7753 7754 7755 7756 7757 7758 7759 7760 7761 7762 7763 7764 7765 7766 7767 7768 7769 7770 7771 7772 7773 7774 7775 7776 7777 7778 7779 7780 7781 7782 7783 7784 7785 7786 7787 7788 7789 7790 7791 7792 7793 7794 7795 7796 7797 7798 7799 7800 7801 7802 7803 7804 7805 7806 7807 7808 7809 7810 7811 7812 7813 7814 7815 7816 7817 7818 7819 7820 7821 7822 7823 7824 7825 7826 7827 7828 7829 7830 7831 7832 7833 7834 7835 7836 7837 7838 7839 7840 7841 7842 7843 7844 7845 7846 7847 7848 7849 7850 7851 7852 7853 7854 7855 7856 7857 7858 7859 7860 7861 7862 7863 7864 7865 7866 7867 7868 7869 7870 7871 7872 7873 7874 7875 7876 7877 7878 7879 7880 7881 7882 7883 7884 7885 7886 7887 7888 7889 7890 7891 7892 7893 7894 7895 7896 7897 7898 7899 7900 7901 7902 7903 7904 7905 7906 7907 7908 7909 7910 7911 7912 7913 7914 7915 7916 7917 7918 7919 7920 7921 7922 7923 7924 7925 7926 7927 7928 7929 7930 7931 7932 7933 7934 7935 7936 7937 7938 7939 7940 7941 7942 7943 7944 7945 7946 7947 7948 7949 7950 7951 7952 7953 7954 7955 7956 7957 7958 7959 7960 7961 7962 7963 7964 7965 7966 7967 7968 7969 7970 7971 7972 7973 7974 7975 7976 7977 7978 7979 7980 7981 7982 7983 7984 7985 7986 7987 7988 7989 7990 7991 7992 7993 7994 7995 7996 7997 7998 7999 8000 8001 8002 8003 8004 8005 8006 8007 8008 8009 8010 8011 8012 8013 8014 8015 8016 8017 8018 8019 8020 8021 8022 8023 8024 8025 8026 8027 8028 8029 8030 8031 8032 8033 8034 8035 8036 8037 8038 8039 8040 8041 8042 8043 8044 8045 8046 8047 8048 8049 8050 8051 8052 8053 8054 8055 8056 8057 8058 8059 8060 8061 8062 8063 8064 8065 8066 8067 8068 8069 8070 8071 8072 8073 8074 8075 8076 8077 8078 8079 8080 8081 8082 8083 8084 8085 8086 8087 8088 8089 8090 8091 8092 8093 8094 8095 8096 8097 8098 8099 8100 8101 8102 8103 8104 8105 8106 8107 8108 8109 8110 8111 8112 8113 8114 8115 8116 8117 8118 8119 8120 8121 8122 8123 8124 8125 8126 8127 8128 8129 8130 8131 8132 8133 8134 8135 8136 8137 8138 8139 8140 8141 8142 8143 8144 8145 8146 8147 8148 8149 8150 8151 8152 8153 8154 8155 8156 8157 8158 8159 8160 8161 8162 8163 8164 8165 8166 8167 8168 8169 8170 8171 8172 8173 8174 8175 8176 8177 8178 8179 8180 8181 8182 8183 8184 8185 8186 8187 8188 8189 8190 8191 8192 8193 8194 8195 8196 8197 8198 8199 8200 8201 8202 8203 8204 8205 8206 8207 8208 8209 8210 8211 8212 8213 8214 8215 8216 8217 8218 8219 8220 8221 8222 8223 8224 8225 8226 8227 8228 8229 8230 8231 8232 8233 8234 8235 8236 8237 8238 8239 8240 8241 8242 8243 8244 8245 8246 8247 8248 8249 8250 8251 8252 8253 8254 8255 8256 8257 8258 8259 8260 8261 8262 8263 8264 8265 8266 8267 8268 8269 8270 8271 8272 8273 8274 8275 8276 8277 8278 8279 8280 8281 8282 8283 8284 8285 8286 8287 8288 8289 8290 8291 8292 8293 8294 8295 8296 8297 8298 8299 8300 8301 8302 8303 8304 8305 8306 8307 8308 8309 8310 8311 8312 8313 8314 8315 8316 8317 8318 8319 8320 8321 8322 8323 8324 8325 8326 8327 8328 8329 8330 8331 8332 8333 8334 8335 8336 8337 8338 8339 8340 8341 8342 8343 8344 8345 8346 8347 8348 8349 8350 8351 8352 8353 8354 8355 8356 8357 8358 8359 8360 8361 8362 8363 8364 8365 8366 8367 8368 8369 8370 8371 8372 8373 8374 8375 8376 8377 8378 8379 8380 8381 8382 8383 8384 8385 8386 8387 8388 8389 8390 8391 8392 8393 8394 8395 8396 8397 8398 8399 8400 8401 8402 8403 8404 8405 8406 8407 8408 8409 8410 8411 8412 8413 8414 8415 8416 8417 8418 8419 8420 8421 8422 8423 8424 8425 8426 8427 8428 8429 8430 8431 8432 8433 8434 8435 8436 8437 8438 8439 8440 8441 8442 8443 8444 8445 8446 8447 8448 8449 8450 8451 8452 8453 8454 8455 8456 8457 8458 8459 8460 8461 8462 8463 8464 8465 8466 8467 8468 8469 8470 8471 8472 8473 8474 8475 8476 8477 8478 8479 8480 8481 8482 8483 8484 8485 8486 8487 8488 8489 8490 8491 8492 8493 8494 8495 8496 8497 8498 8499 8500 8501 8502 8503 8504 8505 8506 8507 8508 8509 8510 8511 8512 8513 8514 8515 8516 8517 8518 8519 8520 8521 8522 8523 8524 8525 8526 8527 8528 8529 8530 8531 8532 8533 8534 8535 8536 8537 8538 8539 8540 8541 8542 8543 8544 8545 8546 8547 8548 8549 8550 8551 8552 8553 8554 8555 8556 8557 8558 8559 8560 8561 8562 8563 8564 8565 8566 8567 8568 8569 8570 8571 8572 8573 8574 8575 8576 8577 8578 8579 8580 8581 8582 8583 8584 8585 8586 8587 8588 8589 8590 8591 8592 8593 8594 8595 8596 8597 8598 8599 8600 8601 8602 8603 8604 8605 8606 8607 8608 8609 8610 8611 8612 8613 8614 8615 8616 8617 8618 8619 8620 8621 8622 8623 8624 8625 8626 8627 8628 8629 8630 8631 8632 8633 8634 8635 8636 8637 8638 8639 8640 8641 8642 8643 8644 8645 8646 8647 8648 8649 8650 8651 8652 8653 8654 8655 8656 8657 8658 8659 8660 8661 8662 8663 8664 8665 8666 8667 8668 8669 8670 8671 8672 8673 8674 8675 8676 8677 8678 8679 8680 8681 8682 8683 8684 8685 8686 8687 8688 8689 8690 8691 8692 8693 8694 8695 8696 8697 8698 8699 8700 8701 8702 8703 8704 8705 8706 8707 8708 8709 8710 8711 8712 8713 8714 8715 8716 8717 8718 8719 8720 8721 8722 8723 8724 8725 8726 8727 8728 8729 8730 8731 8732 8733 8734 8735 8736 8737 8738 8739 8740 8741 8742 8743 8744 8745 8746 8747 8748 8749 8750 8751 8752 8753 8754 8755 8756 8757 8758 8759 8760 8761 8762 8763 8764 8765 8766 8767 8768 8769 8770 8771 8772 8773 8774 8775 8776 8777 8778 8779 8780 8781 8782 8783 8784 8785 8786 8787 8788 8789 8790 8791 8792 8793 8794 8795 8796 8797 8798 8799 8800 8801 8802 8803 8804 8805 8806 8807 8808 8809 8810 8811 8812 8813 8814 8815 8816 8817 8818 8819 8820 8821 8822 8823 8824 8825 8826 8827 8828 8829 8830 8831 8832 8833 8834 8835 8836 8837 8838 8839 8840 8841 8842 8843 8844 8845 8846 8847 8848 8849 8850 8851 8852 8853 8854 8855 8856 8857 8858 8859 8860 8861 8862 8863 8864 8865 8866 8867 8868 8869 8870 8871 8872 8873 8874 8875 8876 8877 8878 8879 8880 8881 8882 8883 8884 8885 8886 8887 8888 8889 8890 8891 8892 8893 8894 8895 8896 8897 8898 8899 8900 8901 8902 8903 8904 8905 8906 8907 8908 8909 8910 8911 8912 8913 8914 8915 8916 8917 8918 8919 8920 8921 8922 8923 8924 8925 8926 8927 8928 8929 8930 8931 8932 8933 8934 8935 8936 8937 8938 8939 8940 8941 8942 8943 8944 8945 8946 8947 8948 8949 8950 8951 8952 8953 8954 8955 8956 8957 8958 8959 8960 8961 8962 8963 8964 8965 8966 8967 8968 8969 8970 8971 8972 8973 8974 8975 8976 8977 8978 8979 8980 8981 8982 8983 8984 8985 8986 8987 8988 8989 8990 8991 8992 8993 8994 8995 8996 8997 8998 8999 9000 9001 9002 9003 9004 9005 9006 9007 9008 9009 9010 9011 9012 9013 9014 9015 9016 9017 9018 9019 9020 9021 9022 9023 9024 9025 9026 9027 9028 9029 9030 9031 9032 9033 9034 9035 9036 9037 9038 9039 9040 9041 9042 9043 9044 9045 9046 9047 9048 9049 9050 9051 9052 9053 9054 9055 9056 9057 9058 9059 9060 9061 9062 9063 9064 9065 9066 9067 9068 9069 9070 9071 9072 9073 9074 9075 9076 9077 9078 9079 9080 9081 9082 9083 9084 9085 9086 9087 9088 9089 9090 9091 9092 9093 9094 9095 9096 9097 9098 9099 9100 9101 9102 9103 9104 9105 9106 9107 9108 9109 9110 9111 9112 9113 9114 9115 9116 9117 9118 9119 9120 9121 9122 9123 9124 9125 9126 9127 9128 9129 9130 9131 9132 9133 9134 9135 9136 9137 9138 9139 9140 9141 9142 9143 9144 9145 9146 9147 9148 9149 9150 9151 9152 9153 9154 9155 9156 9157 9158 9159 9160 9161 9162 9163 9164 9165 9166 9167 9168 9169 9170 9171 9172 9173 9174 9175 9176 9177 9178 9179 9180 9181 9182 9183 9184 9185 9186 9187 9188 9189 9190 9191 9192 9193 9194 9195 9196 9197 9198 9199 9200 9201 9202 9203 9204 9205 9206 9207 9208 9209 9210 9211 9212 9213 9214 9215 9216 9217 9218 9219 9220 9221 9222 9223 9224 9225 9226 9227 9228 9229 9230 9231 9232 9233 9234 9235 9236 9237 9238 9239 9240 9241 9242 9243 9244 9245 9246 9247 9248 9249 9250 9251 9252 9253 9254 9255 9256 9257 9258 9259 9260 9261 9262 9263 9264 9265 9266 9267 9268 9269 9270 9271 9272 9273 9274 9275 9276 9277 9278 9279 9280 9281 9282 9283 9284 9285 9286 9287 9288 9289 9290 9291 9292 9293 9294 9295 9296 9297 9298 9299 9300 9301 9302 9303 9304 9305 9306 9307 9308 9309 9310 9311 9312 9313 9314 9315 9316 9317 9318 9319 9320 9321 9322 9323 9324 9325 9326 9327 9328 9329 9330 9331 9332 9333 9334 9335 9336 9337 9338 9339 9340 9341 9342 9343 9344 9345 9346 9347 9348 9349 9350 9351 9352 9353 9354 9355 9356 9357 9358 9359 9360 9361 9362 9363 9364 9365 9366 9367 9368 9369 9370 9371 9372 9373 9374 9375 9376 9377 9378 9379 9380 9381 9382 9383 9384 9385 9386 9387 9388 9389 9390 9391 9392 9393 9394 9395 9396 9397 9398 9399 9400 9401 9402 9403 9404 9405 9406 9407 9408 9409 9410 9411 9412 9413 9414 9415 9416 9417 9418 9419 9420 9421 9422 9423 9424 9425 9426 9427 9428 9429 9430 9431 9432 9433 9434 9435 9436 9437 9438 9439 9440 9441 9442 9443 9444 9445 9446 9447 9448 9449 9450 9451 9452 9453 9454 9455 9456 9457 9458 9459 9460 9461 9462 9463 9464 9465 9466 9467 9468 9469 9470 9471 9472 9473 9474 9475 9476 9477 9478 9479 9480 9481 9482 9483 9484 9485 9486 9487 9488 9489 9490 9491 9492 9493 9494 9495 9496 9497 9498 9499 9500 9501 9502 9503 9504 9505 9506 9507 9508 9509 9510 9511 9512 9513 9514 9515 9516 9517 9518 9519 9520 9521 9522 9523 9524 9525 9526 9527 9528 9529 9530 9531 9532 9533 9534 9535 9536 9537 9538 9539 9540 9541 9542 9543 9544 9545 9546 9547 9548 9549 9550 9551 9552 9553 9554 9555 9556 9557 9558 9559 9560 9561 9562 9563 9564 9565 9566 9567 9568 9569 9570 9571 9572 9573 9574 9575 9576 9577 9578 9579 9580 9581 9582 9583 9584 9585 9586 9587 9588 9589 9590 9591 9592 9593 9594 9595 9596 9597 9598 9599 9600 9601 9602 9603 9604 9605 9606 9607 9608 9609 9610 9611 9612 9613 9614 9615 9616 9617 9618 9619 9620 9621 9622 9623 9624 9625 9626 9627 9628 9629 9630 9631 9632 9633 9634 9635 9636 9637 9638 9639 9640 9641 9642 9643 9644 9645 9646 9647 9648 9649 9650 9651 9652 9653 9654 9655 9656 9657 9658 9659 9660 9661 9662 9663 9664 9665 9666 9667 9668 9669 9670 9671 9672 9673 9674 9675 9676 9677 9678 9679 9680 9681 9682 9683 9684 9685 9686 9687 9688 9689 9690 9691 9692 9693 9694 9695 9696 9697 9698 9699 9700 9701 9702 9703 9704 9705 9706 9707 9708 9709 9710 9711 9712 9713 9714 9715 9716 9717 9718 9719 9720 9721 9722 9723 9724 9725 9726 9727 9728 9729 9730 9731 9732 9733 9734 9735 9736 9737 9738 9739 9740 9741 9742 9743 9744 9745 9746 9747 9748 9749 9750 9751 9752 9753 9754 9755 9756 9757 9758 9759 9760 9761 9762 9763 9764 9765 9766 9767 9768 9769 9770 9771 9772 9773 9774 9775 9776 9777 9778 9779 9780 9781 9782 9783 9784 9785 9786 9787 9788 9789 9790 9791 9792 9793 9794 9795 9796 9797 9798 9799 9800 9801 9802 9803 9804 9805 9806 9807 9808 9809 9810 9811 9812 9813 9814 9815 9816 9817 9818 9819 9820 9821 9822 9823 9824 9825 9826 9827 9828 9829 9830 9831 9832 9833 9834 9835 9836 9837 9838 9839 9840 9841 9842 9843 9844 9845 9846 9847 9848 9849 9850 9851 9852 9853 9854 9855 9856 9857 9858 9859 9860 9861 9862 9863 9864 9865 9866 9867 9868 9869 9870 9871 9872 9873 9874 9875 9876 9877 9878 9879 9880 9881 9882 9883 9884 9885 9886 9887 9888 9889 9890 9891 9892 9893 9894 9895 9896 9897 9898 9899 9900 9901 9902 9903 9904 9905 9906 9907 9908 9909 9910 9911 9912 9913 9914 9915 9916 9917 9918 9919 9920 9921 9922 9923 9924 9925 9926 9927 9928 9929 9930 9931 9932 9933 9934 9935 9936 9937 9938 9939 9940 9941 9942 9943 9944 9945 9946 9947 9948 9949 9950 9951 9952 9953 9954 9955 9956 9957 9958 9959 9960 9961 9962 9963 9964 9965 9966 9967 9968 9969 9970 9971 9972 9973 9974 9975 9976 9977 9978 9979 9980 9981 9982 9983 9984 9985 9986 9987 9988 9989 9990 9991 9992 9993 9994 9995 9996 9997 9998 9999 10000 10001 10002 10003 10004 10005 10006 10007 10008 10009 10010 10011 10012 10013 10014 10015 10016 10017 10018 10019 10020 10021 10022 10023 10024 10025 10026 10027 10028 10029 10030 10031 10032 10033 10034 10035 10036 10037 10038 10039 10040 10041 10042 10043 10044 10045 10046 10047 10048 10049 10050 10051 10052 10053 10054 10055 10056 10057 10058 10059 10060 10061 10062 10063 10064 10065 10066 10067 10068 10069 10070 10071 10072 10073 10074 10075 10076 10077 10078 10079 10080 10081 10082 10083 10084 10085 10086 10087 10088 10089 10090 10091 10092 10093 10094 10095 10096 10097 10098 10099 10100 10101 10102 10103 10104 10105 10106 10107 10108 10109 10110 10111 10112 10113 10114 10115 10116 10117 10118 10119 10120 10121 10122 10123 10124 10125 10126 10127 10128 10129 10130 10131 10132 10133 10134 10135 10136 10137 10138 10139 10140 10141 10142 10143 10144 10145 10146 10147 10148 10149 10150 10151 10152 10153 10154 10155 10156 10157 10158 10159 10160 10161 10162 10163 10164 10165 10166 10167 10168 10169 10170 10171 10172 10173 10174 10175 10176 10177 10178 10179 10180 10181 10182 10183 10184 10185 10186 10187 10188 10189 10190 10191 10192 10193 10194 10195 10196 10197 10198 10199 10200 10201 10202 10203 10204 10205 10206 10207 10208 10209 10210 10211 10212 10213 10214 10215 10216 10217 10218 10219 10220 10221 10222 10223 10224 10225 10226 10227 10228 10229 10230 10231 10232 10233 10234 10235 10236 10237 10238 10239 10240 10241 10242 10243 10244 10245 10246 10247 10248 10249 10250 10251 10252 10253 10254 10255 10256 10257 10258 10259 10260 10261 10262 10263 10264 10265 10266 10267 10268 10269 10270 10271 10272 10273 10274 10275 10276 10277 10278 10279 10280 10281 10282 10283 10284 10285 10286 10287 10288 10289 10290 10291 10292 10293 10294 10295 10296 10297 10298 10299 10300 10301 10302 10303 10304 10305 10306 10307 10308 10309 10310 10311 10312 10313 10314 10315 10316 10317 10318 10319 10320 10321 10322 10323 10324 10325 10326 10327 10328 10329 10330 10331 10332 10333 10334 10335 10336 10337 10338 10339 10340 10341 10342 10343 10344 10345 10346 10347 10348 10349 10350 10351 10352 10353 10354 10355 10356 10357 10358 10359 10360 10361 10362 10363 10364 10365 10366 10367 10368 10369 10370 10371 10372 10373 10374 10375 10376 10377 10378 10379 10380 10381 10382 10383 10384 10385 10386 10387 10388 10389 10390 10391 10392 10393 10394 10395 10396 10397 10398 10399 10400 10401 10402 10403 10404 10405 10406 10407 10408 10409 10410 10411 10412 10413 10414 10415 10416 10417 10418 10419 10420 10421 10422 10423 10424 10425 10426 10427 10428 10429 10430 10431 10432 10433 10434 10435 10436 10437 10438 10439 10440 10441 10442 10443 10444 10445 10446 10447 10448 10449 10450 10451 10452 10453 10454 10455 10456 10457 10458 10459 10460 10461 10462 10463 10464 10465 10466 10467 10468 10469 10470 10471 10472 10473 10474 10475 10476 10477 10478 10479 10480 10481 10482 10483 10484 10485 10486 10487 10488 10489 10490 10491 10492 10493 10494 10495 10496 10497 10498 10499 10500 10501 10502 10503 10504 10505 10506 10507 10508 10509 10510 10511 10512 10513 10514 10515 10516 10517 10518 10519 10520 10521 10522 10523 10524 10525 10526 10527 10528 10529 10530 10531 10532 10533 10534 10535 10536 10537 10538 10539 10540 10541 10542 10543 10544 10545 10546 10547 10548 10549 10550 10551 10552 10553 10554 10555 10556 10557 10558 10559 10560 10561 10562 10563 10564 10565 10566 10567 10568 10569 10570 10571 10572 10573 10574 10575 10576 10577 10578 10579 10580 10581 10582 10583 10584 10585 10586 10587 10588 10589 10590 10591 10592 10593 10594 10595 10596 10597 10598 10599 10600 10601 10602 10603 10604 10605 10606 10607 10608 10609 10610 10611 10612 10613 10614 10615 10616 10617 10618 10619 10620 10621 10622 10623 10624 10625 10626 10627 10628 10629 10630 10631 10632 10633 10634 10635 10636 10637 10638 10639 10640 10641 10642 10643 10644 10645 10646 10647 10648 10649 10650 10651 10652 10653 10654 10655 10656 10657 10658 10659 10660 10661 10662 10663 10664 10665 10666 10667 10668 10669 10670 10671 10672 10673 10674 10675 10676 10677 10678 10679 10680 10681 10682 10683 10684 10685 10686 10687 10688 10689 10690 10691 10692 10693 10694 10695 10696 10697 10698 10699 10700 10701 10702 10703 10704 10705 10706 10707 10708 10709 10710 10711 10712 10713 10714 10715 10716 10717 10718 10719 10720 10721 10722 10723 10724 10725 10726 10727 10728 10729 10730 10731 10732 10733 10734 10735 10736 10737 10738 10739 10740 10741 10742 10743 10744 10745 10746 10747 10748 10749 10750 10751 10752 10753 10754 10755 10756 10757 10758 10759 10760 10761 10762 10763 10764 10765 10766 10767 10768 10769 10770 10771 10772 10773 10774 10775 10776 10777 10778 10779 10780 10781 10782 10783 10784 10785 10786 10787 10788 10789 10790 10791 10792 10793 10794 10795 10796 10797 10798 10799 10800 10801 10802 10803 10804 10805 10806 10807 10808 10809 10810 10811 10812 10813 10814 10815 10816 10817 10818 10819 10820 10821 10822 10823 10824 10825 10826 10827 10828 10829 10830 10831 10832 10833 10834 10835 10836 10837 10838 10839 10840 10841 10842 10843 10844 10845 10846 10847 10848 10849 10850 10851 10852 10853 10854 10855 10856 10857 10858 10859 10860 10861 10862 10863 10864 10865 10866 10867 10868 10869 10870 10871 10872 10873 10874 10875 10876 10877 10878 10879 10880 10881 10882 10883 10884 10885 10886 10887 10888 10889 10890 10891 10892 10893 10894 10895 10896 10897 10898 10899 10900 10901 10902 10903 10904 10905 10906 10907 10908 10909 10910 10911 10912 10913 10914 10915 10916 10917 10918 10919 10920 10921 10922 10923 10924 10925 10926 10927 10928 10929 10930 10931 10932 10933 10934 10935 10936 10937 10938 10939 10940 10941 10942 10943 10944 10945 10946 10947 10948 10949 10950 10951 10952 10953 10954 10955 10956 10957 10958 10959 10960 10961 10962 10963 10964 10965 10966 10967 10968 10969 10970 10971 10972 10973 10974 10975 10976 10977 10978 10979 10980 10981 10982 10983 10984 10985 10986 10987 10988 10989 10990 10991 10992 10993 10994 10995 10996 10997 10998 10999 11000 11001 11002 11003 11004 11005 11006 11007 11008 11009 11010 11011 11012 11013 11014 11015 11016 11017 11018 11019 11020 11021 11022 11023 11024 11025 11026 11027 11028 11029 11030 11031 11032 11033 11034 11035 11036 11037 11038 11039 11040 11041 11042 11043 11044 11045 11046 11047 11048 11049 11050 11051 11052 11053 11054 11055 11056 11057 11058 11059 11060 11061 11062 11063 11064 11065 11066 11067 11068 11069 11070 11071 11072 11073 11074 11075 11076 11077 11078 11079 11080 11081 11082 11083 11084 11085 11086 11087 11088 11089 11090 11091 11092 11093 11094 11095 11096 11097 11098 11099 11100 11101 11102 11103 11104 11105 11106 11107 11108 11109 11110 11111 11112 11113 11114 11115 11116 11117 11118 11119 11120 11121 11122 11123 11124 11125 11126 11127 11128 11129 11130 11131 11132 11133 11134 11135 11136 11137 11138 11139 11140 11141 11142 11143 11144 11145 11146 11147 11148 11149 11150 11151 11152 11153 11154 11155 11156 11157 11158 11159 11160 11161 11162 11163 11164 11165 11166 11167 11168 11169 11170 11171 11172 11173 11174 11175 11176 11177 11178 11179 11180 11181 11182 11183 11184 11185 11186 11187 11188 11189 11190 11191 11192 11193 11194 11195 11196 11197 11198 11199 11200 11201 11202 11203 11204 11205 11206 11207 11208 11209 11210 11211 11212 11213 11214 11215 11216 11217 11218 11219 11220 11221 11222 11223 11224 11225 11226 11227 11228 11229 11230 11231 11232 11233 11234 11235 11236 11237 11238 11239 11240 11241 11242 11243 11244 11245 11246 11247 11248 11249 11250 11251 11252 11253 11254 11255 11256 11257 11258 11259 11260 11261 11262 11263 11264 11265 11266 11267 11268 11269 11270 11271 11272 11273 11274 11275 11276 11277 11278 11279 11280 11281 11282 11283 11284 11285 11286 11287 11288 11289 11290 11291 11292 11293 11294 11295 11296 11297 11298 11299 11300 11301 11302 11303 11304 11305 11306 11307 11308 11309 11310 11311 11312 11313 11314 11315 11316 11317 11318 11319 11320 11321 11322 11323 11324 11325 11326 11327 11328 11329 11330 11331 11332 11333 11334 11335 11336 11337 11338 11339 11340 11341 11342 11343 11344 11345 11346 11347 11348 11349 11350 11351 11352 11353 11354 11355 11356 11357 11358 11359 11360 11361 11362 11363 11364 11365 11366 11367 11368 11369 11370 11371 11372 11373 11374 11375 11376 11377 11378 11379 11380 11381 11382 11383 11384 11385 11386 11387 11388 11389 11390 11391 11392 11393 11394 11395 11396 11397 11398 11399 11400 11401 11402 11403 11404 11405 11406 11407 11408 11409 11410 11411 11412 11413 11414 11415 11416 11417 11418 11419 11420 11421 11422 11423 11424 11425 11426 11427 11428 11429 11430 11431 11432 11433 11434 11435 11436 11437 11438 11439 11440 11441 11442 11443 11444 11445 11446 11447 11448 11449 11450 11451 11452 11453 11454 11455 11456 11457 11458 11459 11460 11461 11462 11463 11464 11465 11466 11467 11468 11469 11470 11471 11472 11473 11474 11475 11476 11477 11478 11479 11480 11481 11482 11483 11484 11485 11486 11487 11488 11489 11490 11491 11492 11493 11494 11495 11496 11497 11498 11499 11500 11501 11502 11503 11504 11505 11506 11507 11508 11509 11510 11511 11512 11513 11514 11515 11516 11517 11518 11519 11520 11521 11522 11523 11524 11525 11526 11527 11528 11529 11530 11531 11532 11533 11534 11535 11536 11537 11538 11539 11540 11541 11542 11543 11544 11545 11546 11547 11548 11549 11550 11551 11552 11553 11554 11555 11556 11557 11558 11559 11560 11561 11562 11563 11564 11565 11566 11567 11568 11569 11570 11571 11572 11573 11574 11575 11576 11577 11578 11579 11580 11581 11582 11583 11584 11585 11586 11587 11588 11589 11590 11591 11592 11593 11594 11595 11596 11597 11598 11599 11600 11601 11602 11603 11604 11605 11606 11607 11608 11609 11610 11611 11612 11613 11614 11615 11616 11617 11618 11619 11620 11621 11622 11623 11624 11625 11626 11627 11628 11629 11630 11631 11632 11633 11634 11635 11636 11637 11638 11639 11640 11641 11642 11643 11644 11645 11646 11647 11648 11649 11650 11651 11652 11653 11654 11655 11656 11657 11658 11659 11660 11661 11662 11663 11664 11665 11666 11667 11668 11669 11670 11671 11672 11673 11674 11675 11676 11677 11678 11679 11680 11681 11682 11683 11684 11685 11686 11687 11688 11689 11690 11691 11692 11693 11694 11695 11696 11697 11698 11699 11700 11701 11702 11703 11704 11705 11706 11707 11708 11709 11710 11711 11712 11713 11714 11715 11716 11717 11718 11719 11720 11721 11722 11723 11724 11725 11726 11727 11728 11729 11730 11731 11732 11733 11734 11735 11736 11737 11738 11739 11740 11741 11742 11743 11744 11745 11746 11747 11748 11749 11750 11751 11752 11753 11754 11755 11756 11757 11758 11759 11760 11761 11762 11763 11764 11765 11766 11767 11768 11769 11770 11771 11772 11773 11774 11775 11776 11777 11778 11779 11780 11781 11782 11783 11784 11785 11786 11787 11788 11789 11790 11791 11792 11793 11794 11795 11796 11797 11798 11799 11800 11801 11802 11803 11804 11805 11806 11807 11808 11809 11810 11811 11812 11813 11814 11815 11816 11817 11818 11819 11820 11821 11822 11823 11824 11825 11826 11827 11828 11829 11830 11831 11832 11833 11834 11835 11836 11837 11838 11839 11840 11841 11842 11843 11844 11845 11846 11847 11848 11849 11850 11851 11852 11853 11854 11855 11856 11857 11858 11859 11860 11861 11862 11863 11864 11865 11866 11867 11868 11869 11870 11871 11872 11873 11874 11875 11876 11877 11878 11879 11880 11881 11882 11883 11884 11885 11886 11887 11888 11889 11890 11891 11892 11893 11894 11895 11896 11897 11898 11899 11900 11901 11902 11903 11904 11905 11906 11907 11908 11909 11910 11911 11912 11913 11914 11915 11916 11917 11918 11919 11920 11921 11922 11923 11924 11925 11926 11927 11928 11929 11930 11931 11932 11933 11934 11935 11936 11937 11938 11939 11940 11941 11942 11943 11944 11945 11946 11947 11948 11949 11950 11951 11952 11953 11954 11955 11956 11957 11958 11959 11960 11961 11962 11963 11964 11965 11966 11967 11968 11969 11970 11971 11972 11973 11974 11975 11976 11977 11978 11979 11980 11981 11982 11983 11984 11985 11986 11987 11988 11989 11990 11991 11992 11993 11994 11995 11996 11997 11998 11999 12000 12001 12002 12003 12004 12005 12006 12007 12008 12009 12010 12011 12012 12013 12014 12015 12016 12017 12018 12019 12020 12021 12022 12023 12024 12025 12026 12027 12028 12029 12030 12031 12032 12033 12034 12035 12036 12037 12038 12039 12040 12041 12042 12043 12044 12045 12046 12047 12048 12049 12050 12051 12052 12053 12054 12055 12056 12057 12058 12059 12060 12061 12062 12063 12064 12065 12066 12067 12068 12069 12070 12071 12072 12073 12074 12075 12076 12077 12078 12079 12080 12081 12082 12083 12084 12085 12086 12087 12088 12089 12090 12091 12092 12093 12094 12095 12096 12097 12098 12099 12100 12101 12102 12103 12104 12105 12106 12107 12108 12109 12110 12111 12112 12113 12114 12115 12116 12117 12118 12119 12120 12121 12122 12123 12124 12125 12126 12127 12128 12129 12130 12131 12132 12133 12134 12135 12136 12137 12138 12139 12140 12141 12142 12143 12144 12145 12146 12147 12148 12149 12150 12151 12152 12153 12154 12155 12156 12157 12158 12159 12160 12161 12162 12163 12164 12165 12166 12167 12168 12169 12170 12171 12172 12173 12174 12175 12176 12177 12178 12179 12180 12181 12182 12183 12184 12185 12186 12187 12188 12189 12190 12191 12192 12193 12194 12195 12196 12197 12198 12199 12200 12201 12202 12203 12204 12205 12206 12207 12208 12209 12210 12211 12212 12213 12214 12215 12216 12217 12218 12219 12220 12221 12222 12223 12224 12225 12226 12227 12228 12229 12230 12231 12232 12233 12234 12235 12236 12237 12238 12239 12240 12241 12242 12243 12244 12245 12246 12247 12248 12249 12250 12251 12252 12253 12254 12255 12256 12257 12258 12259 12260 12261 12262 12263 12264 12265 12266 12267 12268 12269 12270 12271 12272 12273 12274 12275 12276 12277 12278 12279 12280 12281 12282 12283 12284 12285 12286 12287 12288 12289 12290 12291 12292 12293 12294 12295 12296 12297 12298 12299 12300 12301 12302 12303 12304 12305 12306 12307 12308 12309 12310 12311 12312 12313 12314 12315 12316 12317 12318 12319 12320 12321 12322 12323 12324 12325 12326 12327 12328 12329 12330 12331 12332 12333 12334 12335 12336 12337 12338 12339 12340 12341 12342 12343 12344 12345 12346 12347 12348 12349 12350 12351 12352 12353 12354 12355 12356 12357 12358 12359 12360 12361 12362 12363 12364 12365 12366 12367 12368 12369 12370 12371 12372 12373 12374 12375 12376 12377 12378 12379 12380 12381 12382 12383 12384 12385 12386 12387 12388 12389 12390 12391 12392 12393 12394 12395 12396 12397 12398 12399 12400 12401 12402 12403 12404 12405 12406 12407 12408 12409 12410 12411 12412 12413 12414 12415 12416 12417 12418 12419 12420 12421 12422 12423 12424 12425 12426 12427 12428 12429 12430 12431 12432 12433 12434 12435 12436 12437 12438 12439 12440 12441 12442 12443 12444 12445 12446 12447 12448 12449 12450 12451 12452 12453 12454 12455 12456 12457 12458 12459 12460 12461 12462 12463 12464 12465 12466 12467 12468 12469 12470 12471 12472 12473 12474 12475 12476 12477 12478 12479 12480 12481 12482 12483 12484 12485 12486 12487 12488 12489 12490 12491 12492 12493 12494 12495 12496 12497 12498 12499 12500 12501 12502 12503 12504 12505 12506 12507 12508 12509 12510 12511 12512 12513 12514 12515 12516 12517 12518 12519 12520 12521 12522 12523 12524 12525 12526 12527 12528 12529 12530 12531 12532 12533 12534 12535 12536 12537 12538 12539 12540 12541 12542 12543 12544 12545 12546 12547 12548 12549 12550 12551 12552 12553 12554 12555 12556 12557 12558 12559 12560 12561 12562 12563 12564 12565 12566 12567 12568 12569 12570 12571 12572 12573 12574 12575 12576 12577 12578 12579 12580 12581 12582 12583 12584 12585 12586 12587 12588 12589 12590 12591 12592 12593 12594 12595 12596 12597 12598 12599 12600 12601 12602 12603 12604 12605 12606 12607 12608 12609 12610 12611 12612 12613 12614 12615 12616 12617 12618 12619 12620 12621 12622 12623 12624 12625 12626 12627 12628 12629 12630 12631 12632 12633 12634 12635 12636 12637 12638 12639 12640 12641 12642 12643 12644 12645 12646 12647 12648 12649 12650 12651 12652 12653 12654 12655 12656 12657 12658 12659 12660 12661 12662 12663 12664 12665 12666 12667 12668 12669 12670 12671 12672 12673 12674 12675 12676 12677 12678 12679 12680 12681 12682 12683 12684 12685 12686 12687 12688 12689 12690 12691 12692 12693 12694 12695 12696 12697 12698 12699 12700 12701 12702 12703 12704 12705 12706 12707 12708 12709 12710 12711 12712 12713 12714 12715 12716 12717 12718 12719 12720 12721 12722 12723 12724 12725 12726 12727 12728 12729 12730 12731 12732 12733 12734 12735 12736 12737 12738 12739 12740 12741 12742 12743 12744 12745 12746 12747 12748 12749 12750 12751 12752 12753 12754 12755 12756 12757 12758 12759 12760 12761 12762 12763 12764 12765 12766 12767 12768 12769 12770 12771 12772 12773 12774 12775 12776 12777 12778 12779 12780 12781 12782 12783 12784 12785 12786 12787 12788 12789 12790 12791 12792 12793 12794 12795 12796 12797 12798 12799 12800 12801 12802 12803 12804 12805 12806 12807 12808 12809 12810 12811 12812 12813 12814 12815 12816 12817 12818 12819 12820 12821 12822 12823 12824 12825 12826 12827 12828 12829 12830 12831 12832 12833 12834 12835 12836 12837 12838 12839 12840 12841 12842 12843 12844 12845 12846 12847 12848 12849 12850 12851 12852 12853 12854 12855 12856 12857 12858 12859 12860 12861 12862 12863 12864 12865 12866 12867 12868 12869 12870 12871 12872 12873 12874 12875 12876 12877 12878 12879 12880 12881 12882 12883 12884 12885 12886 12887 12888 12889 12890 12891 12892 12893 12894 12895 12896 12897 12898 12899 12900 12901 12902 12903 12904 12905 12906 12907 12908 12909 12910 12911 12912 12913 12914 12915 12916 12917 12918 12919 12920 12921 12922 12923 12924 12925 12926 12927 12928 12929 12930 12931 12932 12933 12934 12935 12936 12937 12938 12939 12940 12941 12942 12943 12944 12945 12946 12947 12948 12949 12950 12951 12952 12953 12954 12955 12956 12957 12958 12959 12960 12961 12962 12963 12964 12965 12966 12967 12968 12969 12970 12971 12972 12973 12974 12975 12976 12977 12978 12979 12980 12981 12982 12983 12984 12985 12986 12987 12988 12989 12990 12991 12992 12993 12994 12995 12996 12997 12998 12999 13000 13001 13002 13003 13004 13005 13006 13007 13008 13009 13010 13011 13012 13013 13014 13015 13016 13017 13018 13019 13020 13021 13022 13023 13024 13025 13026 13027 13028 13029 13030 13031 13032 13033 13034 13035 13036 13037 13038 13039 13040 13041 13042 13043 13044 13045 13046 13047 13048 13049 13050 13051 13052 13053 13054 13055 13056 13057 13058 13059 13060 13061 13062 13063 13064 13065 13066 13067 13068 13069 13070 13071 13072 13073 13074 13075 13076 13077 13078 13079 13080 13081 13082 13083 13084 13085 13086 13087 13088 13089 13090 13091 13092 13093 13094 13095 13096 13097 13098 13099 13100 13101 13102 13103 13104 13105 13106 13107 13108 13109 13110 13111 13112 13113 13114 13115 13116 13117 13118 13119 13120 13121 13122 13123 13124 13125 13126 13127 13128 13129 13130 13131 13132 13133 13134 13135 13136 13137 13138 13139 13140 13141 13142 13143 13144 13145 13146 13147 13148 13149 13150 13151 13152 13153 13154 13155 13156 13157 13158 13159 13160 13161 13162 13163 13164 13165 13166 13167 13168 13169 13170 13171 13172 13173 13174 13175 13176 13177 13178 13179 13180 13181 13182 13183 13184 13185 13186 13187 13188 13189 13190 13191 13192 13193 13194 13195 13196 13197 13198 13199 13200 13201 13202 13203 13204 13205 13206 13207 13208 13209 13210 13211 13212 13213 13214 13215 13216 13217 13218 13219 13220 13221 13222 13223 13224 13225 13226 13227 13228 13229 13230 13231 13232 13233 13234 13235 13236 13237 13238 13239 13240 13241 13242 13243 13244 13245 13246 13247 13248 13249 13250 13251 13252 13253 13254 13255 13256 13257 13258 13259 13260 13261 13262 13263 13264 13265 13266 13267 13268 13269 13270 13271 13272 13273 13274 13275 13276 13277 13278 13279 13280 13281 13282 13283 13284 13285 13286 13287 13288 13289 13290 13291 13292 13293 13294 13295 13296 13297 13298 13299 13300 13301 13302 13303 13304 13305 13306 13307 13308 13309 13310 13311 13312 13313 13314 13315 13316 13317 13318 13319 13320 13321 13322 13323 13324 13325 13326 13327 13328 13329 13330 13331 13332 13333 13334 13335 13336 13337 13338 13339 13340 13341 13342 13343 13344 13345 13346 13347 13348 13349 13350 13351 13352 13353 13354 13355 13356 13357 13358 13359 13360 13361 13362 13363 13364 13365 13366 13367 13368 13369 13370 13371 13372 13373 13374 13375 13376 13377 13378 13379 13380 13381 13382 13383 13384 13385 13386 13387 13388 13389 13390 13391 13392 13393 13394 13395 13396 13397 13398 13399 13400 13401 13402 13403 13404 13405 13406 13407 13408 13409 13410 13411 13412 13413 13414 13415 13416 13417 13418 13419 13420 13421 13422 13423 13424 13425 13426 13427 13428 13429 13430 13431 13432 13433 13434 13435 13436 13437 13438 13439 13440 13441 13442 13443 13444 13445 13446 13447 13448 13449 13450 13451 13452 13453 13454 13455 13456 13457 13458 13459 13460 13461 13462 13463 13464 13465 13466 13467 13468 13469 13470 13471 13472 13473 13474 13475 13476 13477 13478 13479 13480 13481 13482 13483 13484 13485 13486 13487 13488 13489 13490 13491 13492 13493 13494 13495 13496 13497 13498 13499 13500 13501 13502 13503 13504 13505 13506 13507 13508 13509 13510 13511 13512 13513 13514 13515 13516 13517 13518 13519 13520 13521 13522 13523 13524 13525 13526 13527 13528 13529 13530 13531 13532 13533 13534 13535 13536 13537 13538 13539 13540 13541 13542 13543 13544 13545 13546 13547 13548 13549 13550 13551 13552 13553 13554 13555 13556 13557 13558 13559 13560 13561 13562 13563 13564 13565 13566 13567 13568 13569 13570 13571 13572 13573 13574 13575 13576 13577 13578 13579 13580 13581 13582 13583 13584 13585 13586 13587 13588 13589 13590 13591 13592 13593 13594 13595 13596 13597 13598 13599 13600 13601 13602 13603 13604 13605 13606 13607 13608 13609 13610 13611 13612 13613 13614 13615 13616 13617 13618 13619 13620 13621 13622 13623 13624 13625 13626 13627 13628 13629 13630 13631 13632 13633 13634 13635 13636 13637 13638 13639 13640 13641 13642 13643 13644 13645 13646 13647 13648 13649 13650 13651 13652 13653 13654 13655 13656 13657 13658 13659 13660 13661 13662 13663 13664 13665 13666 13667 13668 13669 13670 13671 13672 13673 13674 13675 13676 13677 13678 13679 13680 13681 13682 13683 13684 13685 13686 13687 13688 13689 13690 13691 13692 13693 13694 13695 13696 13697 13698 13699 13700 13701 13702 13703 13704 13705 13706 13707 13708 13709 13710 13711 13712 13713 13714 13715 13716 13717 13718 13719 13720 13721 13722 13723 13724 13725 13726 13727 13728 13729 13730 13731 13732 13733 13734 13735 13736 13737 13738 13739 13740 13741 13742 13743 13744 13745 13746 13747 13748 13749 13750 13751 13752 13753 13754 13755 13756 13757 13758 13759 13760 13761 13762 13763 13764 13765 13766 13767 13768 13769 13770 13771 13772 13773 13774 13775 13776 13777 13778 13779 13780 13781 13782 13783 13784 13785 13786 13787 13788 13789 13790 13791 13792 13793 13794 13795 13796 13797 13798 13799 13800 13801 13802 13803 13804 13805 13806 13807 13808 13809 13810 13811 13812 13813 13814 13815 13816 13817 13818 13819 13820 13821 13822 13823 13824 13825 13826 13827 13828 13829 13830 13831 13832 13833 13834 13835 13836 13837 13838 13839 13840 13841 13842 13843 13844 13845 13846 13847 13848 13849 13850 13851 13852 13853 13854 13855 13856 13857 13858 13859 13860 13861 13862 13863 13864 13865 13866 13867 13868 13869 13870 13871 13872 13873 13874 13875 13876 13877 13878 13879 13880 13881 13882 13883 13884 13885 13886 13887 13888 13889 13890 13891 13892 13893 13894 13895 13896 13897 13898 13899 13900 13901 13902 13903 13904 13905 13906 13907 13908 13909 13910 13911 13912 13913 13914 13915 13916 13917 13918 13919 13920 13921 13922 13923 13924 13925 13926 13927 13928 13929 13930 13931 13932 13933 13934 13935 13936 13937 13938 13939 13940 13941 13942 13943 13944 13945 13946 13947 13948 13949 13950 13951 13952 13953 13954 13955 13956 13957 13958 13959 13960 13961 13962 13963 13964 13965 13966 13967 13968 13969 13970 13971 13972 13973 13974 13975 13976 13977 13978 13979 13980 13981 13982 13983 13984 13985 13986 13987 13988 13989 13990 13991 13992 13993 13994 13995 13996 13997 13998 13999 14000 14001 14002 14003 14004 14005 14006 14007 14008 14009 14010 14011 14012 14013 14014 14015 14016 14017 14018 14019 14020 14021 14022 14023 14024 14025 14026 14027 14028 14029 14030 14031 14032 14033 14034 14035 14036 14037 14038 14039 14040 14041 14042 14043 14044 14045 14046 14047 14048 14049 14050 14051 14052 14053 14054 14055 14056 14057 14058 14059 14060 14061 14062 14063 14064 14065 14066 14067 14068 14069 14070 14071 14072 14073 14074 14075 14076 14077 14078 14079 14080 14081 14082 14083 14084 14085 14086 14087 14088 14089 14090 14091 14092 14093 14094 14095 14096 14097 14098 14099 14100 14101 14102 14103 14104 14105 14106 14107 14108 14109 14110 14111 14112 14113 14114 14115 14116 14117 14118 14119 14120 14121 14122 14123 14124 14125 14126 14127 14128 14129 14130 14131 14132 14133 14134 14135 14136 14137 14138 14139 14140 14141 14142 14143 14144 14145 14146 14147 14148 14149 14150 14151 14152 14153 14154 14155 14156 14157 14158 14159 14160 14161 14162 14163 14164 14165 14166 14167 14168 14169 14170 14171 14172 14173 14174 14175 14176 14177 14178 14179 14180 14181 14182 14183 14184 14185 14186 14187 14188 14189 14190 14191 14192 14193 14194 14195 14196 14197 14198 14199 14200 14201 14202 14203 14204 14205 14206 14207 14208 14209 14210 14211 14212 14213 14214 14215 14216 14217 14218 14219 14220 14221 14222 14223 14224 14225 14226 14227 14228 14229 14230 14231 14232 14233 14234 14235 14236 14237 14238 14239 14240 14241 14242 14243 14244 14245 14246 14247 14248 14249 14250 14251 14252 14253 14254 14255 14256 14257 14258 14259 14260 14261 14262 14263 14264 14265 14266 14267 14268 14269 14270 14271 14272 14273 14274 14275 14276 14277 14278 14279 14280 14281 14282 14283 14284 14285 14286 14287 14288 14289 14290 14291 14292 14293 14294 14295 14296 14297 14298 14299 14300 14301 14302 14303 14304 14305 14306 14307 14308 14309 14310 14311 14312 14313 14314 14315 14316 14317 14318 14319 14320 14321 14322 14323 14324 14325 14326 14327 14328 14329 14330 14331 14332 14333 14334 14335 14336 14337 14338 14339 14340 14341 14342 14343 14344 14345 14346 14347 14348 14349 14350 14351 14352 14353 14354 14355 14356 14357 14358 14359 14360 14361 14362 14363 14364 14365 14366 14367 14368 14369 14370 14371 14372 14373 14374 14375 14376 14377 14378 14379 14380 14381 14382 14383 14384 14385 14386 14387 14388 14389 14390 14391 14392 14393 14394 14395 14396 14397 14398 14399 14400 14401 14402 14403 14404 14405 14406 14407 14408 14409 14410 14411 14412 14413 14414 14415 14416 14417 14418 14419 14420 14421 14422 14423 14424 14425 14426 14427 14428 14429 14430 14431 14432 14433 14434 14435 14436 14437 14438 14439 14440 14441 14442 14443 14444 14445 14446 14447 14448 14449 14450 14451 14452 14453 14454 14455 14456 14457 14458 14459 14460 14461 14462 14463 14464 14465 14466 14467 14468 14469 14470 14471 14472 14473 14474 14475 14476 14477 14478 14479 14480 14481 14482 14483 14484 14485 14486 14487 14488 14489 14490 14491 14492 14493 14494 14495 14496 14497 14498 14499 14500 14501 14502 14503 14504 14505 14506 14507 14508 14509 14510 14511 14512 14513 14514 14515 14516 14517 14518 14519 14520 14521 14522 14523 14524 14525 14526 14527 14528 14529 14530 14531 14532 14533 14534 14535 14536 14537 14538 14539 14540 14541 14542 14543 14544 14545 14546 14547 14548 14549 14550 14551 14552 14553 14554 14555 14556 14557 14558 14559 14560 14561 14562 14563 14564 14565 14566 14567 14568 14569 14570 14571 14572 14573 14574 14575 14576 14577 14578 14579 14580 14581 14582 14583 14584 14585 14586 14587 14588 14589 14590 14591 14592 14593 14594 14595 14596 14597 14598 14599 14600 14601 14602 14603 14604 14605 14606 14607 14608 14609 14610 14611 14612 14613 14614 14615 14616 14617 14618 14619 14620 14621 14622 14623 14624 14625 14626 14627 14628 14629 14630 14631 14632 14633 14634 14635 14636 14637 14638 14639 14640 14641 14642 14643 14644 14645 14646 14647 14648 14649 14650 14651 14652 14653 14654 14655 14656 14657 14658 14659 14660 14661 14662 14663 14664 14665 14666 14667 14668 14669 14670 14671 14672 14673 14674 14675 14676 14677 14678 14679 14680 14681 14682 14683 14684 14685 14686 14687 14688 14689 14690 14691 14692 14693 14694 14695 14696 14697 14698 14699 14700 14701 14702 14703 14704 14705 14706 14707 14708 14709 14710 14711 14712 14713 14714 14715 14716 14717 14718 14719 14720 14721 14722 14723 14724 14725 14726 14727 14728 14729 14730 14731 14732 14733 14734 14735 14736 14737 14738 14739 14740 14741 14742 14743 14744 14745 14746 14747 14748 14749 14750 14751 14752 14753 14754 14755 14756 14757 14758 14759 14760 14761 14762 14763 14764 14765 14766 14767 14768 14769 14770 14771 14772 14773 14774 14775 14776 14777 14778 14779 14780 14781 14782 14783 14784 14785 14786 14787 14788 14789 14790 14791 14792 14793 14794 14795 14796 14797 14798 14799 14800 14801 14802 14803 14804 14805 14806 14807 14808 14809 14810 14811 14812 14813 14814 14815 14816 14817 14818 14819 14820 14821 14822 14823 14824 14825 14826 14827 14828 14829 14830 14831 14832 14833 14834 14835 14836 14837 14838 14839 14840 14841 14842 14843 14844 14845 14846 14847 14848 14849 14850 14851 14852 14853 14854 14855 14856 14857 14858 14859 14860 14861 14862 14863 14864 14865 14866 14867 14868 14869 14870 14871 14872 14873 14874 14875 14876 14877 14878 14879 14880 14881 14882 14883 14884 14885 14886 14887 14888 14889 14890 14891 14892 14893 14894 14895 14896 14897 14898 14899 14900 14901 14902 14903 14904 14905 14906 14907 14908 14909 14910 14911 14912 14913 14914 14915 14916 14917 14918 14919 14920 14921 14922 14923 14924 14925 14926 14927 14928 14929 14930 14931 14932 14933 14934 14935 14936 14937 14938 14939 14940 14941 14942 14943 14944 14945 14946 14947 14948 14949 14950 14951 14952 14953 14954 14955 14956 14957 14958 14959 14960 14961 14962 14963 14964 14965 14966 14967 14968 14969 14970 14971 14972 14973 14974 14975 14976 14977 14978 14979 14980 14981 14982 14983 14984 14985 14986 14987 14988 14989 14990 14991 14992 14993 14994 14995 14996 14997 14998 14999 15000 15001 15002 15003 15004 15005 15006 15007 15008 15009 15010 15011 15012 15013 15014 15015 15016 15017 15018 15019 15020 15021 15022 15023 15024 15025 15026 15027 15028 15029 15030 15031 15032 15033 15034 15035 15036 15037 15038 15039 15040 15041 15042 15043 15044 15045 15046 15047 15048 15049 15050 15051 15052 15053 15054 15055 15056 15057 15058 15059 15060 15061 15062 15063 15064 15065 15066 15067 15068 15069 15070 15071 15072 15073 15074 15075 15076 15077 15078 15079 15080 15081 15082 15083 15084 15085 15086 15087 15088 15089 15090 15091 15092 15093 15094 15095 15096 15097 15098 15099 15100 15101 15102 15103 15104 15105 15106 15107 15108 15109 15110 15111 15112 15113 15114 15115 15116 15117 15118 15119 15120 15121 15122 15123 15124 15125 15126 15127 15128 15129 15130 15131 15132 15133 15134 15135 15136 15137 15138 15139 15140 15141 15142 15143 15144 15145 15146 15147 15148 15149 15150 15151 15152 15153 15154 15155 15156 15157 15158 15159 15160 15161 15162 15163 15164 15165 15166 15167 15168 15169 15170 15171 15172 15173 15174 15175 15176 15177 15178 15179 15180 15181 15182 15183 15184 15185 15186 15187 15188 15189 15190 15191 15192 15193 15194 15195 15196 15197 15198 15199 15200 15201 15202 15203 15204 15205 15206 15207 15208 15209 15210 15211 15212 15213 15214 15215 15216 15217 15218 15219 15220 15221 15222 15223 15224 15225 15226 15227 15228 15229 15230 15231 15232 15233 15234 15235 15236 15237 15238 15239 15240 15241 15242 15243 15244 15245 15246 15247 15248 15249 15250 15251 15252 15253 15254 15255 15256 15257 15258 15259 15260 15261 15262 15263 15264 15265 15266 15267 15268 15269 15270 15271 15272 15273 15274 15275 15276 15277 15278 15279 15280 15281 15282 15283 15284 15285 15286 15287 15288 15289 15290 15291 15292 15293 15294 15295 15296 15297 15298 15299 15300 15301 15302 15303 15304 15305 15306 15307 15308 15309 15310 15311 15312 15313 15314 15315 15316 15317 15318 15319 15320 15321 15322 15323 15324 15325 15326 15327 15328 15329 15330 15331 15332 15333 15334 15335 15336 15337 15338 15339 15340 15341 15342 15343 15344 15345 15346 15347 15348 15349 15350 15351 15352 15353 15354 15355 15356 15357 15358 15359 15360 15361 15362 15363 15364 15365 15366 15367 15368 15369 15370 15371 15372 15373 15374 15375 15376 15377 15378 15379 15380 15381 15382 15383 15384 15385 15386 15387 15388 15389 15390 15391 15392 15393 15394 15395 15396 15397 15398 15399 15400 15401 15402 15403 15404 15405 15406 15407 15408 15409 15410 15411 15412 15413 15414 15415 15416 15417 15418 15419 15420 15421 15422 15423 15424 15425 15426 15427 15428 15429 15430 15431 15432 15433 15434 15435 15436 15437 15438 15439 15440 15441 15442 15443 15444 15445 15446 15447 15448 15449 15450 15451 15452 15453 15454 15455 15456 15457 15458 15459 15460 15461 15462 15463 15464 15465 15466 15467 15468 15469 15470 15471 15472 15473 15474 15475 15476 15477 15478 15479 15480 15481 15482 15483 15484 15485 15486 15487 15488 15489 15490 15491 15492 15493 15494 15495 15496 15497 15498 15499 15500 15501 15502 15503 15504 15505 15506 15507 15508 15509 15510 15511 15512 15513 15514 15515 15516 15517 15518 15519 15520 15521 15522 15523 15524 15525 15526 15527 15528 15529 15530 15531 15532 15533 15534 15535 15536 15537 15538 15539 15540 15541 15542 15543 15544 15545 15546 15547 15548 15549 15550 15551 15552 15553 15554 15555 15556 15557 15558 15559 15560 15561 15562 15563 15564 15565 15566 15567 15568 15569 15570 15571 15572 15573 15574 15575 15576 15577 15578 15579 15580 15581 15582 15583 15584 15585 15586 15587 15588 15589 15590 15591 15592 15593 15594 15595 15596 15597 15598 15599 15600 15601 15602 15603 15604 15605 15606 15607 15608 15609 15610 15611 15612 15613 15614 15615 15616 15617 15618 15619 15620 15621 15622 15623 15624 15625 15626 15627 15628 15629 15630 15631 15632 15633 15634 15635 15636 15637 15638 15639 15640 15641 15642 15643 15644 15645 15646 15647 15648 15649 15650 15651 15652 15653 15654 15655 15656 15657 15658 15659 15660 15661 15662 15663 15664 15665 15666 15667 15668 15669 15670 15671 15672 15673 15674 15675 15676 15677 15678 15679 15680 15681 15682 15683 15684 15685 15686 15687 15688 15689 15690 15691 15692 15693 15694 15695 15696 15697 15698 15699 15700 15701 15702 15703 15704 15705 15706 15707 15708 15709 15710 15711 15712 15713 15714 15715 15716 15717 15718 15719 15720 15721 15722 15723 15724 15725 15726 15727 15728 15729 15730 15731 15732 15733 15734 15735 15736 15737 15738 15739 15740 15741 15742 15743 15744 15745 15746 15747 15748 15749 15750 15751 15752 15753 15754 15755 15756 15757 15758 15759 15760 15761 15762 15763 15764 15765 15766 15767 15768 15769 15770 15771 15772 15773 15774 15775 15776 15777 15778 15779 15780 15781 15782 15783 15784 15785 15786 15787 15788 15789 15790 15791 15792 15793 15794 15795 15796 15797 15798 15799 15800 15801 15802 15803 15804 15805 15806 15807 15808 15809 15810 15811 15812 15813 15814 15815 15816 15817 15818 15819 15820 15821 15822 15823 15824 15825 15826 15827 15828 15829 15830 15831 15832 15833 15834 15835 15836 15837 15838 15839 15840 15841 15842 15843 15844 15845 15846 15847 15848 15849 15850 15851 15852 15853 15854 15855 15856 15857 15858 15859 15860 15861 15862 15863 15864 15865 15866 15867 15868 15869 15870 15871 15872 15873 15874 15875 15876 15877 15878 15879 15880 15881 15882 15883 15884 15885 15886 15887 15888 15889 15890 15891 15892 15893 15894 15895 15896 15897 15898 15899 15900 15901 15902 15903 15904 15905 15906 15907 15908 15909 15910 15911 15912 15913 15914 15915 15916 15917 15918 15919 15920 15921 15922 15923 15924 15925 15926 15927 15928 15929 15930 15931 15932 15933 15934 15935 15936 15937 15938 15939 15940 15941 15942 15943 15944 15945 15946 15947 15948 15949 15950 15951 15952 15953 15954 15955 15956 15957 15958 15959 15960 15961 15962 15963 15964 15965 15966 15967 15968 15969 15970 15971 15972 15973 15974 15975 15976 15977 15978 15979 15980 15981 15982 15983 15984 15985 15986 15987 15988 15989 15990 15991 15992 15993 15994 15995 15996 15997 15998 15999 16000 16001 16002 16003 16004 16005 16006 16007 16008 16009 16010 16011 16012 16013 16014 16015 16016 16017 16018 16019 16020 16021 16022 16023 16024 16025 16026 16027 16028 16029 16030 16031 16032 16033 16034 16035 16036 16037 16038 16039 16040 16041 16042 16043 16044 16045 16046 16047 16048 16049 16050 16051 16052 16053 16054 16055 16056 16057 16058 16059 16060 16061 16062 16063 16064 16065 16066 16067 16068 16069 16070 16071 16072 16073 16074 16075 16076 16077 16078 16079 16080 16081 16082 16083 16084 16085 16086 16087 16088 16089 16090 16091 16092 16093 16094 16095 16096 16097 16098 16099 16100 16101 16102 16103 16104 16105 16106 16107 16108 16109 16110 16111 16112 16113 16114 16115 16116 16117 16118 16119 16120 16121 16122 16123 16124 16125 16126 16127 16128 16129 16130 16131 16132 16133 16134 16135 16136 16137 16138 16139 16140 16141 16142 16143 16144 16145 16146 16147 16148 16149 16150 16151 16152 16153 16154 16155 16156 16157 16158 16159 16160 16161 16162 16163 16164 16165 16166 16167 16168 16169 16170 16171 16172 16173 16174 16175 16176 16177 16178 16179 16180 16181 16182 16183 16184 16185 16186 16187 16188 16189 16190 16191 16192 16193 16194 16195 16196 16197 16198 16199 16200 16201 16202 16203 16204 16205 16206 16207 16208 16209 16210 16211 16212 16213 16214 16215 16216 16217 16218 16219 16220 16221 16222 16223 16224 16225 16226 16227 16228 16229 16230 16231 16232 16233 16234 16235 16236 16237 16238 16239 16240 16241 16242 16243 16244 16245 16246 16247 16248 16249 16250 16251 16252 16253 16254 16255 16256 16257 16258 16259 16260 16261 16262 16263 16264 16265 16266 16267 16268 16269 16270 16271 16272 16273 16274 16275 16276 16277 16278 16279 16280 16281 16282 16283 16284 16285 16286 16287 16288 16289 16290 16291 16292 16293 16294 16295 16296 16297 16298 16299 16300 16301 16302 16303 16304 16305 16306 16307 16308 16309 16310 16311 16312 16313 16314 16315 16316 16317 16318 16319 16320 16321 16322 16323 16324 16325 16326 16327 16328 16329 16330 16331 16332 16333 16334 16335 16336 16337 16338 16339 16340 16341 16342 16343 16344 16345 16346 16347 16348 16349 16350 16351 16352 16353 16354 16355 16356 16357 16358 16359 16360 16361 16362 16363 16364 16365 16366 16367 16368 16369 16370 16371 16372 16373 16374 16375 16376 16377 16378 16379 16380 16381 16382 16383 16384 16385 16386 16387 16388 16389 16390 16391 16392 16393 16394 16395 16396 16397 16398 16399 16400 16401 16402 16403 16404 16405 16406 16407 16408 16409 16410 16411 16412 16413 16414 16415 16416 16417 16418 16419 16420 16421 16422 16423 16424 16425 16426 16427 16428 16429 16430 16431 16432 16433 16434 16435 16436 16437 16438 16439 16440 16441 16442 16443 16444 16445 16446 16447 16448 16449 16450 16451 16452 16453 16454 16455 16456 16457 16458 16459 16460 16461 16462 16463 16464 16465 16466 16467 16468 16469 16470 16471 16472 16473 16474 16475 16476 16477 16478 16479 16480 16481 16482 16483 16484 16485 16486 16487 16488 16489 16490 16491 16492 16493 16494 16495 16496 16497 16498 16499 16500 16501 16502 16503 16504 16505 16506 16507 16508 16509 16510 16511 16512 16513 16514 16515 16516 16517 16518 16519 16520 16521 16522 16523 16524 16525 16526 16527 16528 16529 16530 16531 16532 16533 16534 16535 16536 16537 16538 16539 16540 16541 16542 16543 16544 16545 16546 16547 16548 16549 16550 16551 16552 16553 16554 16555 16556 16557 16558 16559 16560 16561 16562 16563 16564 16565 16566 16567 16568 16569 16570 16571 16572 16573 16574 16575 16576 16577 16578 16579 16580 16581 16582 16583 16584 16585 16586 16587 16588 16589 16590 16591 16592 16593 16594 16595 16596 16597 16598 16599 16600 16601 16602 16603 16604 16605 16606 16607 16608 16609 16610 16611 16612 16613 16614 16615 16616 16617 16618 16619 16620 16621 16622 16623 16624 16625 16626 16627 16628 16629 16630 16631 16632 16633 16634 16635 16636 16637 16638 16639 16640 16641 16642 16643 16644 16645 16646 16647 16648 16649 16650 16651 16652 16653 16654 16655 16656 16657 16658 16659 16660 16661 16662 16663 16664 16665 16666 16667 16668 16669 16670 16671 16672 16673 16674 16675 16676 16677 16678 16679 16680 16681 16682 16683 16684 16685 16686 16687 16688 16689 16690 16691 16692 16693 16694 16695 16696 16697 16698 16699 16700 16701 16702 16703 16704 16705 16706 16707 16708 16709 16710 16711 16712 16713 16714 16715 16716 16717 16718 16719 16720 16721 16722 16723 16724 16725 16726 16727 16728 16729 16730 16731 16732 16733 16734 16735 16736 16737 16738 16739 16740 16741 16742 16743 16744 16745 16746 16747 16748 16749 16750 16751 16752 16753 16754 16755 16756 16757 16758 16759 16760 16761 16762 16763 16764 16765 16766 16767 16768 16769 16770 16771 16772 16773 16774 16775 16776 16777 16778 16779 16780 16781 16782 16783 16784 16785 16786 16787 16788 16789 16790 16791 16792 16793 16794 16795 16796 16797 16798 16799 16800 16801 16802 16803 16804 16805 16806 16807 16808 16809 16810 16811 16812 16813 16814 16815 16816 16817 16818 16819 16820 16821 16822 16823 16824 16825 16826 16827 16828 16829 16830 16831 16832 16833 16834 16835 16836 16837 16838 16839 16840 16841 16842 16843 16844 16845 16846 16847 16848 16849 16850 16851 16852 16853 16854 16855 16856 16857 16858 16859 16860 16861 16862 16863 16864 16865 16866 16867 16868 16869 16870 16871 16872 16873 16874 16875 16876 16877 16878 16879 16880 16881 16882 16883 16884 16885 16886 16887 16888 16889 16890 16891 16892 16893 16894 16895 16896 16897 16898 16899 16900 16901 16902 16903 16904 16905 16906 16907 16908 16909 16910 16911 16912 16913 16914 16915 16916 16917 16918 16919 16920 16921 16922 16923 16924 16925 16926 16927 16928 16929 16930 16931 16932 16933 16934 16935 16936 16937 16938 16939 16940 16941 16942 16943 16944 16945 16946 16947 16948 16949 16950 16951 16952 16953 16954 16955 16956 16957 16958 16959 16960 16961 16962 16963 16964 16965 16966 16967 16968 16969 16970 16971 16972 16973 16974 16975 16976 16977 16978 16979 16980 16981 16982 16983 16984 16985 16986 16987 16988 16989 16990 16991 16992 16993 16994 16995 16996 16997 16998 16999 17000 17001 17002 17003 17004 17005 17006 17007 17008 17009 17010 17011 17012 17013 17014 17015 17016 17017 17018 17019 17020 17021 17022 17023 17024 17025 17026 17027 17028 17029 17030 17031 17032 17033 17034 17035 17036 17037 17038 17039 17040 17041 17042 17043 17044 17045 17046 17047 17048 17049 17050 17051 17052 17053 17054 17055 17056 17057 17058 17059 17060 17061 17062 17063 17064 17065 17066 17067 17068 17069 17070 17071 17072 17073 17074 17075 17076 17077 17078 17079 17080 17081 17082 17083 17084 17085 17086 17087 17088 17089 17090 17091 17092 17093 17094 17095 17096 17097 17098 17099 17100 17101 17102 17103 17104 17105 17106 17107 17108 17109 17110 17111 17112 17113 17114 17115 17116 17117 17118 17119 17120 17121 17122 17123 17124 17125 17126 17127 17128 17129 17130 17131 17132 17133 17134 17135 17136 17137 17138 17139 17140 17141 17142 17143 17144 17145 17146 17147 17148 17149 17150 17151 17152 17153 17154 17155 17156 17157 17158 17159 17160 17161 17162 17163 17164 17165 17166 17167 17168 17169 17170 17171 17172 17173 17174 17175 17176 17177 17178 17179 17180 17181 17182 17183 17184 17185 17186 17187 17188 17189 17190 17191 17192 17193 17194 17195 17196 17197 17198 17199 17200 17201 17202 17203 17204 17205 17206 17207 17208 17209 17210 17211 17212 17213 17214 17215 17216 17217 17218 17219 17220 17221 17222 17223 17224 17225 17226 17227 17228 17229 17230 17231 17232 17233 17234 17235 17236 17237 17238 17239 17240 17241 17242 17243 17244 17245 17246 17247 17248 17249 17250 17251 17252 17253 17254 17255 17256 17257 17258 17259 17260 17261 17262 17263 17264 17265 17266 17267 17268 17269 17270 17271 17272 17273 17274 17275 17276 17277 17278 17279 17280 17281 17282 17283 17284 17285 17286 17287 17288 17289 17290 17291 17292 17293 17294 17295 17296 17297 17298 17299 17300 17301 17302 17303 17304 17305 17306 17307 17308 17309 17310 17311 17312 17313 17314 17315 17316 17317 17318 17319 17320 17321 17322 17323 17324 17325 17326 17327 17328 17329 17330 17331 17332 17333 17334 17335 17336 17337 17338 17339 17340 17341 17342 17343 17344 17345 17346 17347 17348 17349 17350 17351 17352 17353 17354 17355 17356 17357 17358 17359 17360 17361 17362 17363 17364 17365 17366 17367 17368 17369 17370 17371 17372 17373 17374 17375 17376 17377 17378 17379 17380 17381 17382 17383 17384 17385 17386 17387 17388 17389 17390 17391 17392 17393 17394 17395 17396 17397 17398 17399 17400 17401 17402 17403 17404 17405 17406 17407 17408 17409 17410 17411 17412 17413 17414 17415 17416 17417 17418 17419 17420 17421 17422 17423 17424 17425 17426 17427 17428 17429 17430 17431 17432 17433 17434 17435 17436 17437 17438 17439 17440 17441 17442 17443 17444 17445 17446 17447 17448 17449 17450 17451 17452 17453 17454 17455 17456 17457 17458 17459 17460 17461 17462 17463 17464 17465 17466 17467 17468 17469 17470 17471 17472 17473 17474 17475 17476 17477 17478 17479 17480 17481 17482 17483 17484 17485 17486 17487 17488 17489 17490 17491 17492 17493 17494 17495 17496 17497 17498 17499 17500 17501 17502 17503 17504 17505 17506 17507 17508 17509 17510 17511 17512 17513 17514 17515 17516 17517 17518 17519 17520 17521 17522 17523 17524 17525 17526 17527 17528 17529 17530 17531 17532 17533 17534 17535 17536 17537 17538 17539 17540 17541 17542 17543 17544 17545 17546 17547 17548 17549 17550 17551 17552 17553 17554 17555 17556 17557 17558 17559 17560 17561 17562 17563 17564 17565 17566 17567 17568 17569 17570 17571 17572 17573 17574 17575 17576 17577 17578 17579 17580 17581 17582 17583 17584 17585 17586 17587 17588 17589 17590 17591 17592 17593 17594 17595 17596 17597 17598 17599 17600 17601 17602 17603 17604 17605 17606 17607 17608 17609 17610 17611 17612 17613 17614 17615 17616 17617 17618 17619 17620 17621 17622 17623 17624 17625 17626 17627 17628 17629 17630 17631 17632 17633 17634 17635 17636 17637 17638 17639 17640 17641 17642 17643 17644 17645 17646 17647 17648 17649 17650 17651 17652 17653 17654 17655 17656 17657 17658 17659 17660 17661 17662 17663 17664 17665 17666 17667 17668 17669 17670 17671 17672 17673 17674 17675 17676 17677 17678 17679 17680 17681 17682 17683 17684 17685 17686 17687 17688 17689 17690 17691 17692 17693 17694 17695 17696 17697 17698 17699 17700 17701 17702 17703 17704 17705 17706 17707 17708 17709 17710 17711 17712 17713 17714 17715 17716 17717 17718 17719 17720 17721 17722 17723 17724 17725 17726 17727 17728 17729 17730 17731 17732 17733 17734 17735 17736 17737 17738 17739 17740 17741 17742 17743 17744 17745 17746 17747 17748 17749 17750 17751 17752 17753 17754 17755 17756 17757 17758 17759 17760 17761 17762 17763 17764 17765 17766 17767 17768 17769 17770 17771 17772 17773 17774 17775 17776 17777 17778 17779 17780 17781 17782 17783 17784 17785 17786 17787 17788 17789 17790 17791 17792 17793 17794 17795 17796 17797 17798 17799 17800 17801 17802 17803 17804 17805 17806 17807 17808 17809 17810 17811 17812 17813 17814 17815 17816 17817 17818 17819 17820 17821 17822 17823 17824 17825 17826 17827 17828 17829 17830 17831 17832 17833 17834 17835 17836 17837 17838 17839 17840 17841 17842 17843 17844 17845 17846 17847 17848 17849 17850 17851 17852 17853 17854 17855 17856 17857 17858 17859 17860 17861 17862 17863 17864 17865 17866 17867 17868 17869 17870 17871 17872 17873 17874 17875 17876 17877 17878 17879 17880 17881 17882 17883 17884 17885 17886 17887 17888 17889 17890 17891 17892 17893 17894 17895 17896 17897 17898 17899 17900 17901 17902 17903 17904 17905 17906 17907 17908 17909 17910 17911 17912 17913 17914 17915 17916 17917 17918 17919 17920 17921 17922 17923 17924 17925 17926 17927 17928 17929 17930 17931 17932 17933 17934 17935 17936 17937 17938 17939 17940 17941 17942 17943 17944 17945 17946 17947 17948 17949 17950 17951 17952 17953 17954 17955 17956 17957 17958 17959 17960 17961 17962 17963 17964 17965 17966 17967 17968 17969 17970 17971 17972 17973 17974 17975 17976 17977 17978 17979 17980 17981 17982 17983 17984 17985 17986 17987 17988 17989 17990 17991 17992 17993 17994 17995 17996 17997 17998 17999 18000 18001 18002 18003 18004 18005 18006 18007 18008 18009 18010 18011 18012 18013 18014 18015 18016 18017 18018 18019 18020 18021 18022 18023 18024 18025 18026 18027 18028 18029 18030 18031 18032 18033 18034 18035 18036 18037 18038 18039 18040 18041 18042 18043 18044 18045 18046 18047 18048 18049 18050 18051 18052 18053 18054 18055 18056 18057 18058 18059 18060 18061 18062 18063 18064 18065 18066 18067 18068 18069 18070 18071 18072 18073 18074 18075 18076 18077 18078 18079 18080 18081 18082 18083 18084 18085 18086 18087 18088 18089 18090 18091 18092 18093 18094 18095 18096 18097 18098 18099 18100 18101 18102 18103 18104 18105 18106 18107 18108 18109 18110 18111 18112 18113 18114 18115 18116 18117 18118 18119 18120 18121 18122 18123 18124 18125 18126 18127 18128 18129 18130 18131 18132 18133 18134 18135 18136 18137 18138 18139 18140 18141 18142 18143 18144 18145 18146 18147 18148 18149 18150 18151 18152 18153 18154 18155 18156 18157 18158 18159 18160 18161 18162 18163 18164 18165 18166 18167 18168 18169 18170 18171 18172 18173 18174 18175 18176 18177 18178 18179 18180 18181 18182 18183 18184 18185 18186 18187 18188 18189 18190 18191 18192 18193 18194 18195 18196 18197 18198 18199 18200 18201 18202 18203 18204 18205 18206 18207 18208 18209 18210 18211 18212 18213 18214 18215 18216 18217 18218 18219 18220 18221 18222 18223 18224 18225 18226 18227 18228 18229 18230 18231 18232 18233 18234 18235 18236 18237 18238 18239 18240 18241 18242 18243 18244 18245 18246 18247 18248 18249 18250 18251 18252 18253 18254 18255 18256 18257 18258 18259 18260 18261 18262 18263 18264 18265 18266 18267 18268 18269 18270 18271 18272 18273 18274 18275 18276 18277 18278 18279 18280 18281 18282 18283 18284 18285 18286 18287 18288 18289 18290 18291 18292 18293 18294 18295 18296 18297 18298 18299 18300 18301 18302 18303 18304 18305 18306 18307 18308 18309 18310 18311 18312 18313 18314 18315 18316 18317 18318 18319 18320 18321 18322 18323 18324 18325 18326 18327 18328 18329 18330 18331 18332 18333 18334 18335 18336 18337 18338 18339 18340 18341 18342 18343 18344 18345 18346 18347 18348 18349 18350 18351 18352 18353 18354 18355 18356 18357 18358 18359 18360 18361 18362 18363 18364 18365 18366 18367 18368 18369 18370 18371 18372 18373 18374 18375 18376 18377 18378 18379 18380 18381 18382 18383 18384 18385 18386 18387 18388 18389 18390 18391 18392 18393 18394 18395 18396 18397 18398 18399 18400 18401 18402 18403 18404 18405 18406 18407 18408 18409 18410 18411 18412 18413 18414 18415 18416 18417 18418 18419 18420 18421 18422 18423 18424 18425 18426 18427 18428 18429 18430 18431 18432 18433 18434 18435 18436 18437 18438 18439 18440 18441 18442 18443 18444 18445 18446 18447 18448 18449 18450 18451 18452 18453 18454 18455 18456 18457 18458 18459 18460 18461 18462 18463 18464 18465 18466 18467 18468 18469 18470 18471 18472 18473 18474 18475 18476 18477 18478 18479 18480 18481 18482 18483 18484 18485 18486 18487 18488 18489 18490 18491 18492 18493 18494 18495 18496 18497 18498 18499 18500 18501 18502 18503 18504 18505 18506 18507 18508 18509 18510 18511 18512 18513 18514 18515 18516 18517 18518 18519 18520 18521 18522 18523 18524 18525 18526 18527 18528 18529 18530 18531 18532 18533 18534 18535 18536 18537 18538 18539 18540 18541 18542 18543 18544 18545 18546 18547 18548 18549 18550 18551 18552 18553 18554 18555 18556 18557 18558 18559 18560 18561 18562 18563 18564 18565 18566 18567 18568 18569 18570 18571 18572 18573 18574 18575 18576 18577 18578 18579 18580 18581 18582 18583 18584 18585 18586 18587 18588 18589 18590 18591 18592 18593 18594 18595 18596 18597 18598 18599 18600 18601 18602 18603 18604 18605 18606 18607 18608 18609 18610 18611 18612 18613 18614 18615 18616 18617 18618 18619 18620 18621 18622 18623 18624 18625 18626 18627 18628 18629 18630 18631 18632 18633 18634 18635 18636 18637 18638 18639 18640 18641 18642 18643 18644 18645 18646 18647 18648 18649 18650 18651 18652 18653 18654 18655 18656 18657 18658 18659 18660 18661 18662 18663 18664 18665 18666 18667 18668 18669 18670 18671 18672 18673 18674 18675 18676 18677 18678 18679 18680 18681 18682 18683 18684 18685 18686 18687 18688 18689 18690 18691 18692 18693 18694 18695 18696 18697 18698 18699 18700 18701 18702 18703 18704 18705 18706 18707 18708 18709 18710 18711 18712 18713 18714 18715 18716 18717 18718 18719 18720 18721 18722 18723 18724 18725 18726 18727 18728 18729 18730 18731 18732 18733 18734 18735 18736 18737 18738 18739 18740 18741 18742 18743 18744 18745 18746 18747 18748 18749 18750 18751 18752 18753 18754 18755 18756 18757 18758 18759 18760 18761 18762 18763 18764 18765 18766 18767 18768 18769 18770 18771 18772 18773 18774 18775 18776 18777 18778 18779 18780 18781 18782 18783 18784 18785 18786 18787 18788 18789 18790 18791 18792 18793 18794 18795 18796 18797 18798 18799 18800 18801 18802 18803 18804 18805 18806 18807 18808 18809 18810 18811 18812 18813 18814 18815 18816 18817 18818 18819 18820 18821 18822 18823 18824 18825 18826 18827 18828 18829 18830 18831 18832 18833 18834 18835 18836 18837 18838 18839 18840 18841 18842 18843 18844 18845 18846 18847 18848 18849 18850 18851 18852 18853 18854 18855 18856 18857 18858 18859 18860 18861 18862 18863 18864 18865 18866 18867 18868 18869 18870 18871 18872 18873 18874 18875 18876 18877 18878 18879 18880 18881 18882 18883 18884 18885 18886 18887 18888 18889 18890 18891 18892 18893 18894 18895 18896 18897 18898 18899 18900 18901 18902 18903 18904 18905 18906 18907 18908 18909 18910 18911 18912 18913 18914 18915 18916 18917 18918 18919 18920 18921 18922 18923 18924 18925 18926 18927 18928 18929 18930 18931 18932 18933 18934 18935 18936 18937 18938 18939 18940 18941 18942 18943 18944 18945 18946 18947 18948 18949 18950 18951 18952 18953 18954 18955 18956 18957 18958 18959 18960 18961 18962 18963 18964 18965 18966 18967 18968 18969 18970 18971 18972 18973 18974 18975 18976 18977 18978 18979 18980 18981 18982 18983 18984 18985 18986 18987 18988 18989 18990 18991 18992 18993 18994 18995 18996 18997 18998 18999 19000 19001 19002 19003 19004 19005 19006 19007 19008 19009 19010 19011 19012 19013 19014 19015 19016 19017 19018 19019 19020 19021 19022 19023 19024 19025 19026 19027 19028 19029 19030 19031 19032 19033 19034 19035 19036 19037 19038 19039 19040 19041 19042 19043 19044 19045 19046 19047 19048 19049 19050 19051 19052 19053 19054 19055 19056 19057 19058 19059 19060 19061 19062 19063 19064 19065 19066 19067 19068 19069 19070 19071 19072 19073 19074 19075 19076 19077 19078 19079 19080 19081 19082 19083 19084 19085 19086 19087 19088 19089 19090 19091 19092 19093 19094 19095 19096 19097 19098 19099 19100 19101 19102 19103 19104 19105 19106 19107 19108 19109 19110 19111 19112 19113 19114 19115 19116 19117 19118 19119 19120 19121 19122 19123 19124 19125 19126 19127 19128 19129 19130 19131 19132 19133 19134 19135 19136 19137 19138 19139 19140 19141 19142 19143 19144 19145 19146 19147 19148 19149 19150 19151 19152 19153 19154 19155 19156 19157 19158 19159 19160 19161 19162 19163 19164 19165 19166 19167 19168 19169 19170 19171 19172 19173 19174 19175 19176 19177 19178 19179 19180 19181 19182 19183 19184 19185 19186 19187 19188 19189 19190 19191 19192 19193 19194 19195 19196 19197 19198 19199 19200 19201 19202 19203 19204 19205 19206 19207 19208 19209 19210 19211 19212 19213 19214 19215 19216 19217 19218 19219 19220 19221 19222 19223 19224 19225 19226 19227 19228 19229 19230 19231 19232 19233 19234 19235 19236 19237 19238 19239 19240 19241 19242 19243 19244 19245 19246 19247 19248 19249 19250 19251 19252 19253 19254 19255 19256 19257 19258 19259 19260 19261 19262 19263 19264 19265 19266 19267 19268 19269 19270 19271 19272 19273 19274 19275 19276 19277 19278 19279 19280 19281 19282 19283 19284 19285 19286 19287 19288 19289 19290 19291 19292 19293 19294 19295 19296 19297 19298 19299 19300 19301 19302 19303 19304 19305 19306 19307 19308 19309 19310 19311 19312 19313 19314 19315 19316 19317 19318 19319 19320 19321 19322 19323 19324 19325 19326 19327 19328 19329 19330 19331 19332 19333 19334 19335 19336 19337 19338 19339 19340 19341 19342 19343 19344 19345 19346 19347 19348 19349 19350 19351 19352 19353 19354 19355 19356 19357 19358 19359 19360 19361 19362 19363 19364 19365 19366 19367 19368 19369 19370 19371 19372 19373 19374 19375 19376 19377 19378 19379 19380 19381 19382 19383 19384 19385 19386 19387 19388 19389 19390 19391 19392 19393 19394 19395 19396 19397 19398 19399 19400 19401 19402 19403 19404 19405 19406 19407 19408 19409 19410 19411 19412 19413 19414 19415 19416 19417 19418 19419 19420 19421 19422 19423 19424 19425 19426 19427 19428 19429 19430 19431 19432 19433 19434 19435 19436 19437 19438 19439 19440 19441 19442 19443 19444 19445 19446 19447 19448 19449 19450 19451 19452 19453 19454 19455 19456 19457 19458 19459 19460 19461 19462 19463 19464 19465 19466 19467 19468 19469 19470 19471 19472 19473 19474 19475 19476 19477 19478 19479 19480 19481 19482 19483 19484 19485 19486 19487 19488 19489 19490 19491 19492 19493 19494 19495 19496 19497 19498 19499 19500 19501 19502 19503 19504 19505 19506 19507 19508 19509 19510 19511 19512 19513 19514 19515 19516 19517 19518 19519 19520 19521 19522 19523 19524 19525 19526 19527 19528 19529 19530 19531 19532 19533 19534 19535 19536 19537 19538 19539 19540 19541 19542 19543 19544 19545 19546 19547 19548 19549 19550 19551 19552 19553 19554 19555 19556 19557 19558 19559 19560 19561 19562 19563 19564 19565 19566 19567 19568 19569 19570 19571 19572 19573 19574 19575 19576 19577 19578 19579 19580 19581 19582 19583 19584 19585 19586 19587 19588 19589 19590 19591 19592 19593 19594 19595 19596 19597 19598 19599 19600 19601 19602 19603 19604 19605 19606 19607 19608 19609 19610 19611 19612 19613 19614 19615 19616 19617 19618 19619 19620 19621 19622 19623 19624 19625 19626 19627 19628 19629 19630 19631 19632 19633 19634 19635 19636 19637 19638 19639 19640 19641 19642 19643 19644 19645 19646 19647 19648 19649 19650 19651 19652 19653 19654 19655 19656 19657 19658 19659 19660 19661 19662 19663 19664 19665 19666 19667 19668 19669 19670 19671 19672 19673 19674 19675 19676 19677 19678 19679 19680 19681 19682 19683 19684 19685 19686 19687 19688 19689 19690 19691 19692 19693 19694 19695 19696 19697 19698 19699 19700 19701 19702 19703 19704 19705 19706 19707 19708 19709 19710 19711 19712 19713 19714 19715 19716 19717 19718 19719 19720 19721 19722 19723 19724 19725 19726 19727 19728 19729 19730 19731 19732 19733 19734 19735 19736 19737 19738 19739 19740 19741 19742 19743 19744 19745 19746 19747 19748 19749 19750 19751 19752 19753 19754 19755 19756 19757 19758 19759 19760 19761 19762 19763 19764 19765 19766 19767 19768 19769 19770 19771 19772 19773 19774 19775 19776 19777 19778 19779 19780 19781 19782 19783 19784 19785 19786 19787 19788 19789 19790 19791 19792 19793 19794 19795 19796 19797 19798 19799 19800 19801 19802 19803 19804 19805 19806 19807 19808 19809 19810 19811 19812 19813 19814 19815 19816 19817 19818 19819 19820 19821 19822 19823 19824 19825 19826 19827 19828 19829 19830 19831 19832 19833 19834 19835 19836 19837 19838 19839 19840 19841 19842 19843 19844 19845 19846 19847 19848 19849 19850 19851 19852 19853 19854 19855 19856 19857 19858 19859 19860 19861 19862 19863 19864 19865 19866 19867 19868 19869 19870 19871 19872 19873 19874 19875 19876 19877 19878 19879 19880 19881 19882 19883 19884 19885 19886 19887 19888 19889 19890 19891 19892 19893 19894 19895 19896 19897 19898 19899 19900 19901 19902 19903 19904 19905 19906 19907 19908 19909 19910 19911 19912 19913 19914 19915 19916 19917 19918 19919 19920 19921 19922 19923 19924 19925 19926 19927 19928 19929 19930 19931 19932 19933 19934 19935 19936 19937 19938 19939 19940 19941 19942 19943 19944 19945 19946 19947 19948 19949 19950 19951 19952 19953 19954 19955 19956 19957 19958 19959 19960 19961 19962 19963 19964 19965 19966 19967 19968 19969 19970 19971 19972 19973 19974 19975 19976 19977 19978 19979 19980 19981 19982 19983 19984 19985 19986 19987 19988 19989 19990 19991 19992 19993 19994 19995 19996 19997 19998 19999 20000 20001 20002 20003 20004 20005 20006 20007 20008 20009 20010 20011 20012 20013 20014 20015 20016 20017 20018 20019 20020 20021 20022 20023 20024 20025 20026 20027 20028 20029 20030 20031 20032 20033 20034 20035 20036 20037 20038 20039 20040 20041 20042 20043 20044 20045 20046 20047 20048 20049 20050 20051 20052 20053 20054 20055 20056 20057 20058 20059 20060 20061 20062 20063 20064 20065 20066 20067 20068 20069 20070 20071 20072 20073 20074 20075 20076 20077 20078 20079 20080 20081 20082 20083 20084 20085 20086 20087 20088 20089 20090 20091 20092 20093 20094 20095 20096 20097 20098 20099 20100 20101 20102 20103 20104 20105 20106 20107 20108 20109 20110 20111 20112 20113 20114 20115 20116 20117 20118 20119 20120 20121 20122 20123 20124 20125 20126 20127 20128 20129 20130 20131 20132 20133 20134 20135 20136 20137 20138 20139 20140 20141 20142 20143 20144 20145 20146 20147 20148 20149 20150 20151 20152 20153 20154 20155 20156 20157 20158 20159 20160 20161 20162 20163 20164 20165 20166 20167 20168 20169 20170 20171 20172 20173 20174 20175 20176 20177 20178 20179 20180 20181 20182 20183 20184 20185 20186 20187 20188 20189 20190 20191 20192 20193 20194 20195 20196 20197 20198 20199 20200 20201 20202 20203 20204 20205 20206 20207 20208 20209 20210 20211 20212 20213 20214 20215 20216 20217 20218 20219 20220 20221 20222 20223 20224 20225 20226 20227 20228 20229 20230 20231 20232 20233 20234 20235 20236 20237 20238 20239 20240 20241 20242 20243 20244 20245 20246 20247 20248 20249 20250 20251 20252 20253 20254 20255 20256 20257 20258 20259 20260 20261 20262 20263 20264 20265 20266 20267 20268 20269 20270 20271 20272 20273 20274 20275 20276 20277 20278 20279 20280 20281 20282 20283 20284 20285 20286 20287 20288 20289 20290 20291 20292 20293 20294 20295 20296 20297 20298 20299 20300 20301 20302 20303 20304 20305 20306 20307 20308 20309 20310 20311 20312 20313 20314 20315 20316 20317 20318 20319 20320 20321 20322 20323 20324 20325 20326 20327 20328 20329 20330 20331 20332 20333 20334 20335 20336 20337 20338 20339 20340 20341 20342 20343 20344 20345 20346 20347 20348 20349 20350 20351 20352 20353 20354 20355 20356 20357 20358 20359 20360 20361 20362 20363 20364 20365 20366 20367 20368 20369 20370 20371 20372 20373 20374 20375 20376 20377 20378 20379 20380 20381 20382 20383 20384 20385 20386 20387 20388 20389 20390 20391 20392 20393 20394 20395 20396 20397 20398 20399 20400 20401 20402 20403 20404 20405 20406 20407 20408 20409 20410 20411 20412 20413 20414 20415 20416 20417 20418 20419 20420 20421 20422 20423 20424 20425 20426 20427 20428 20429 20430 20431 20432 20433 20434 20435 20436 20437 20438 20439 20440 20441 20442 20443 20444 20445 20446 20447 20448 20449 20450 20451 20452 20453 20454 20455 20456 20457 20458 20459 20460 20461 20462 20463 20464 20465 20466 20467 20468 20469 20470 20471 20472 20473 20474 20475 20476 20477 20478 20479 20480 20481 20482 20483 20484 20485 20486 20487 20488 20489 20490 20491 20492 20493 20494 20495 20496 20497 20498 20499 20500 20501 20502 20503 20504 20505 20506 20507 20508 20509 20510 20511 20512 20513 20514 20515 20516 20517 20518 20519 20520 20521 20522 20523 20524 20525 20526 20527 20528 20529 20530 20531 20532 20533 20534 20535 20536 20537 20538 20539 20540 20541 20542 20543 20544 20545 20546 20547 20548 20549 20550 20551 20552 20553 20554 20555 20556 20557 20558 20559 20560 20561 20562 20563 20564 20565 20566 20567 20568 20569 20570 20571 20572 20573 20574 20575 20576 20577 20578 20579 20580 20581 20582 20583 20584 20585 20586 20587 20588 20589 20590 20591 20592 20593 20594 20595 20596 20597 20598 20599 20600 20601 20602 20603 20604 20605 20606 20607 20608 20609 20610 20611 20612 20613 20614 20615 20616 20617 20618 20619 20620 20621 20622 20623 20624 20625 20626 20627 20628 20629 20630 20631 20632 20633 20634 20635 20636 20637 20638 20639 20640 20641 20642 20643 20644 20645 20646 20647 20648 20649 20650 20651 20652 20653 20654 20655 20656 20657 20658 20659 20660 20661 20662 20663 20664 20665 20666 20667 20668 20669 20670 20671 20672 20673 20674 20675 20676 20677 20678 20679 20680 20681 20682 20683 20684 20685 20686 20687 20688 20689 20690 20691 20692 20693 20694 20695 20696 20697 20698 20699 20700 20701 20702 20703 20704 20705 20706 20707 20708 20709 20710 20711 20712 20713 20714 20715 20716 20717 20718 20719 20720 20721 20722 20723 20724 20725 20726 20727 20728 20729 20730 20731 20732 20733 20734 20735 20736 20737 20738 20739 20740 20741 20742 20743 20744 20745 20746 20747 20748 20749 20750 20751 20752 20753 20754 20755 20756 20757 20758 20759 20760 20761 20762 20763 20764 20765 20766 20767 20768 20769 20770 20771 20772 20773 20774 20775 20776 20777 20778 20779 20780 20781 20782 20783 20784 20785 20786 20787 20788 20789 20790 20791 20792 20793 20794 20795 20796 20797 20798 20799 20800 20801 20802 20803 20804 20805 20806 20807 20808 20809 20810 20811 20812 20813 20814 20815 20816 20817 20818 20819 20820 20821 20822 20823 20824 20825 20826 20827 20828 20829 20830 20831 20832 20833 20834 20835 20836 20837 20838 20839 20840 20841 20842 20843 20844 20845 20846 20847 20848 20849 20850 20851 20852 20853 20854 20855 20856 20857 20858 20859 20860 20861 20862 20863 20864 20865 20866 20867 20868 20869 20870 20871 20872 20873 20874 20875 20876 20877 20878 20879 20880 20881 20882 20883 20884 20885 20886 20887 20888 20889 20890 20891 20892 20893 20894 20895 20896 20897 20898 20899 20900 20901 20902 20903 20904 20905 20906 20907 20908 20909 20910 20911 20912 20913 20914 20915 20916 20917 20918 20919 20920 20921 20922 20923 20924 20925 20926 20927 20928 20929 20930 20931 20932 20933 20934 20935 20936 20937 20938 20939 20940 20941 20942 20943 20944 20945 20946 20947 20948 20949 20950 20951 20952 20953 20954 20955 20956 20957 20958 20959 20960 20961 20962 20963 20964 20965 20966 20967 20968 20969 20970 20971 20972 20973 20974 20975 20976 20977 20978 20979 20980 20981 20982 20983 20984 20985 20986 20987 20988 20989 20990 20991 20992 20993 20994 20995 20996 20997 20998 20999 21000 21001 21002 21003 21004 21005 21006 21007 21008 21009 21010 21011 21012 21013 21014 21015 21016 21017 21018 21019 21020 21021 21022 21023 21024 21025 21026 21027 21028 21029 21030 21031 21032 21033 21034 21035 21036 21037 21038 21039 21040 21041 21042 21043 21044 21045 21046 21047 21048 21049 21050 21051 21052 21053 21054 21055 21056 21057 21058 21059 21060 21061 21062 21063 21064 21065 21066 21067 21068 21069 21070 21071 21072 21073 21074 21075 21076 21077 21078 21079 21080 21081 21082 21083 21084 21085 21086 21087 21088 21089 21090 21091 21092 21093 21094 21095 21096 21097 21098 21099 21100 21101 21102 21103 21104 21105 21106 21107 21108 21109 21110 21111 21112 21113 21114 21115 21116 21117 21118 21119 21120 21121 21122 21123 21124 21125 21126 21127 21128 21129 21130 21131 21132 21133 21134 21135 21136 21137 21138 21139 21140 21141 21142 21143 21144 21145 21146 21147 21148 21149 21150 21151 21152 21153 21154 21155 21156 21157 21158 21159 21160 21161 21162 21163 21164 21165 21166 21167 21168 21169 21170 21171 21172 21173 21174 21175 21176 21177 21178 21179 21180 21181 21182 21183 21184 21185 21186 21187 21188 21189 21190 21191 21192 21193 21194 21195 21196 21197 21198 21199 21200 21201 21202 21203 21204 21205 21206 21207 21208 21209 21210 21211 21212 21213 21214 21215 21216 21217 21218 21219 21220 21221 21222 21223 21224 21225 21226 21227 21228 21229 21230 21231 21232 21233 21234 21235 21236 21237 21238 21239 21240 21241 21242 21243 21244 21245 21246 21247 21248 21249 21250 21251 21252 21253 21254 21255 21256 21257 21258 21259 21260 21261 21262 21263 21264 21265 21266 21267 21268 21269 21270 21271 21272 21273 21274 21275 21276 21277 21278 21279 21280 21281 21282 21283 21284 21285 21286 21287 21288 21289 21290 21291 21292 21293 21294 21295 21296 21297 21298 21299 21300 21301 21302 21303 21304 21305 21306 21307 21308 21309 21310 21311 21312 21313 21314 21315 21316 21317 21318 21319 21320 21321 21322 21323 21324 21325 21326 21327 21328 21329 21330 21331 21332 21333 21334 21335 21336 21337 21338 21339 21340 21341 21342 21343 21344 21345 21346 21347 21348 21349 21350 21351 21352 21353 21354 21355 21356 21357 21358 21359 21360 21361 21362 21363 21364 21365 21366 21367 21368 21369 21370 21371 21372 21373 21374 21375 21376 21377 21378 21379 21380 21381 21382 21383 21384 21385 21386 21387 21388 21389 21390 21391 21392 21393 21394 21395 21396 21397 21398 21399 21400 21401 21402 21403 21404 21405 21406 21407 21408 21409 21410 21411 21412 21413 21414 21415 21416 21417 21418 21419 21420 21421 21422 21423 21424 21425 21426 21427 21428 21429 21430 21431 21432 21433 21434 21435 21436 21437 21438 21439 21440 21441 21442 21443 21444 21445 21446 21447 21448 21449 21450 21451 21452 21453 21454 21455 21456 21457 21458 21459 21460 21461 21462 21463 21464 21465 21466 21467 21468 21469 21470 21471 21472 21473 21474 21475 21476 21477 21478 21479 21480 21481 21482 21483 21484 21485 21486 21487 21488 21489 21490 21491 21492 21493 21494 21495 21496 21497 21498 21499 21500 21501 21502 21503 21504 21505 21506 21507 21508 21509 21510 21511 21512 21513 21514 21515 21516 21517 21518 21519 21520 21521 21522 21523 21524 21525 21526 21527 21528 21529 21530 21531 21532 21533 21534 21535 21536 21537 21538 21539 21540 21541 21542 21543 21544 21545 21546 21547 21548 21549 21550 21551 21552 21553 21554 21555 21556 21557 21558 21559 21560 21561 21562 21563 21564 21565 21566 21567 21568 21569 21570 21571 21572 21573 21574 21575 21576 21577 21578 21579 21580 21581 21582 21583 21584 21585 21586 21587 21588 21589 21590 21591 21592 21593 21594 21595 21596 21597 21598 21599 21600 21601 21602 21603 21604 21605 21606 21607 21608 21609 21610 21611 21612 21613 21614 21615 21616 21617 21618 21619 21620 21621 21622 21623 21624 21625 21626 21627 21628 21629 21630 21631 21632 21633 21634 21635 21636 21637 21638 21639 21640 21641 21642 21643 21644 21645 21646 21647 21648 21649 21650 21651 21652 21653 21654 21655 21656 21657 21658 21659 21660 21661 21662 21663 21664 21665 21666 21667 21668 21669 21670 21671 21672 21673 21674 21675 21676 21677 21678 21679 21680 21681 21682 21683 21684 21685 21686 21687 21688 21689 21690 21691 21692 21693 21694 21695 21696 21697 21698 21699 21700 21701 21702 21703 21704 21705 21706 21707 21708 21709 21710 21711 21712 21713 21714 21715 21716 21717 21718 21719 21720 21721 21722 21723 21724 21725 21726 21727 21728 21729 21730 21731 21732 21733 21734 21735 21736 21737 21738 21739 21740 21741 21742 21743 21744 21745 21746 21747 21748 21749 21750 21751 21752 21753 21754 21755 21756 21757 21758 21759 21760 21761 21762 21763 21764 21765 21766 21767 21768 21769 21770 21771 21772 21773 21774 21775 21776 21777 21778 21779 21780 21781 21782 21783 21784 21785 21786 21787 21788 21789 21790 21791 21792 21793 21794 21795 21796 21797 21798 21799 21800 21801 21802 21803 21804 21805 21806 21807 21808 21809 21810 21811 21812 21813 21814 21815 21816 21817 21818 21819 21820 21821 21822 21823 21824 21825 21826 21827 21828 21829 21830 21831 21832 21833 21834 21835 21836 21837 21838 21839 21840 21841 21842 21843 21844 21845 21846 21847 21848 21849 21850 21851 21852 21853 21854 21855 21856 21857 21858 21859 21860 21861 21862 21863 21864 21865 21866 21867 21868 21869 21870 21871 21872 21873 21874 21875 21876 21877 21878 21879 21880 21881 21882 21883 21884 21885 21886 21887 21888 21889 21890 21891 21892 21893 21894 21895 21896 21897 21898 21899 21900 21901 21902 21903 21904 21905 21906 21907 21908 21909 21910 21911 21912 21913 21914 21915 21916 21917 21918 21919 21920 21921 21922 21923 21924 21925 21926 21927 21928 21929 21930 21931 21932 21933 21934 21935 21936 21937 21938 21939 21940 21941 21942 21943 21944 21945 21946 21947 21948 21949 21950 21951 21952 21953 21954 21955 21956 21957 21958 21959 21960 21961 21962 21963 21964 21965 21966 21967 21968 21969 21970 21971 21972 21973 21974 21975 21976 21977 21978 21979 21980 21981 21982 21983 21984 21985 21986 21987 21988 21989 21990 21991 21992 21993 21994 21995 21996 21997 21998 21999 22000 22001 22002 22003 22004 22005 22006 22007 22008 22009 22010 22011 22012 22013 22014 22015 22016 22017 22018 22019 22020 22021 22022 22023 22024 22025 22026 22027 22028 22029 22030 22031 22032 22033 22034 22035 22036 22037 22038 22039 22040 22041 22042 22043 22044 22045 22046 22047 22048 22049 22050 22051 22052 22053 22054 22055 22056 22057 22058 22059 22060 22061 22062 22063 22064 22065 22066 22067 22068 22069 22070 22071 22072 22073 22074 22075 22076 22077 22078 22079 22080 22081 22082 22083 22084 22085 22086 22087 22088 22089 22090 22091 22092 22093 22094 22095 22096 22097 22098 22099 22100 22101 22102 22103 22104 22105 22106 22107 22108 22109 22110 22111 22112 22113 22114 22115 22116 22117 22118 22119 22120 22121 22122 22123 22124 22125 22126 22127 22128 22129 22130 22131 22132 22133 22134 22135 22136 22137 22138 22139 22140 22141 22142 22143 22144 22145 22146 22147 22148 22149 22150 22151 22152 22153 22154 22155 22156 22157 22158 22159 22160 22161 22162 22163 22164 22165 22166 22167 22168 22169 22170 22171 22172 22173 22174 22175 22176 22177 22178 22179 22180 22181 22182 22183 22184 22185 22186 22187 22188 22189 22190 22191 22192 22193 22194 22195 22196 22197 22198 22199 22200 22201 22202 22203 22204 22205 22206 22207 22208 22209 22210 22211 22212 22213 22214 22215 22216 22217 22218 22219 22220 22221 22222 22223 22224 22225 22226 22227 22228 22229 22230 22231 22232 22233 22234 22235 22236 22237 22238 22239 22240 22241 22242 22243 22244 22245 22246 22247 22248 22249 22250 22251 22252 22253 22254 22255 22256 22257 22258 22259 22260 22261 22262 22263 22264 22265 22266 22267 22268 22269 22270 22271 22272 22273 22274 22275 22276 22277 22278 22279 22280 22281 22282 22283 22284 22285 22286 22287 22288 22289 22290 22291 22292 22293 22294 22295 22296 22297 22298 22299 22300 22301 22302 22303 22304 22305 22306 22307 22308 22309 22310 22311 22312 22313 22314 22315 22316 22317 22318 22319 22320 22321 22322 22323 22324 22325 22326 22327 22328 22329 22330 22331 22332 22333 22334 22335 22336 22337 22338 22339 22340 22341 22342 22343 22344 22345 22346 22347 22348 22349 22350 22351 22352 22353 22354 22355 22356 22357 22358 22359 22360 22361 22362 22363 22364 22365 22366 22367 22368 22369 22370 22371 22372 22373 22374 22375 22376 22377 22378 22379 22380 22381 22382 22383 22384 22385 22386 22387 22388 22389 22390 22391 22392 22393 22394 22395 22396 22397 22398 22399 22400 22401 22402 22403 22404 22405 22406 22407 22408 22409 22410 22411 22412 22413 22414 22415 22416 22417 22418 22419 22420 22421 22422 22423 22424 22425 22426 22427 22428 22429 22430 22431 22432 22433 22434 22435 22436 22437 22438 22439 22440 22441 22442 22443 22444 22445 22446 22447 22448 22449 22450 22451 22452 22453 22454 22455 22456 22457 22458 22459 22460 22461 22462 22463 22464 22465 22466 22467 22468 22469 22470 22471 22472 22473 22474 22475 22476 22477 22478 22479 22480 22481 22482 22483 22484 22485 22486 22487 22488 22489 22490 22491 22492 22493 22494 22495 22496 22497 22498 22499 22500 22501 22502 22503 22504 22505 22506 22507 22508 22509 22510 22511 22512 22513 22514 22515 22516 22517 22518 22519 22520 22521 22522 22523 22524 22525 22526 22527 22528 22529 22530 22531 22532 22533 22534 22535 22536 22537 22538 22539 22540 22541 22542 22543 22544 22545 22546 22547 22548 22549 22550 22551 22552 22553 22554 22555 22556 22557 22558 22559 22560 22561 22562 22563 22564 22565 22566 22567 22568 22569 22570 22571 22572 22573 22574 22575 22576 22577 22578 22579 22580 22581 22582 22583 22584 22585 22586 22587 22588 22589 22590 22591 22592 22593 22594 22595 22596 22597 22598 22599 22600 22601 22602 22603 22604 22605 22606 22607 22608 22609 22610 22611 22612 22613 22614 22615 22616 22617 22618 22619 22620 22621 22622 22623 22624 22625 22626 22627 22628 22629 22630 22631 22632 22633 22634 22635 22636 22637 22638 22639 22640 22641 22642 22643 22644 22645 22646 22647 22648 22649 22650 22651 22652 22653 22654 22655 22656 22657 22658 22659 22660 22661 22662 22663 22664 22665 22666 22667 22668 22669 22670 22671 22672 22673 22674 22675 22676 22677 22678 22679 22680 22681 22682 22683 22684 22685 22686 22687 22688 22689 22690 22691 22692 22693 22694 22695 22696 22697 22698 22699 22700 22701 22702 22703 22704 22705 22706 22707 22708 22709 22710 22711 22712 22713 22714 22715 22716 22717 22718 22719 22720 22721 22722 22723 22724 22725 22726 22727 22728 22729 22730 22731 22732 22733 22734 22735 22736 22737 22738 22739 22740 22741 22742 22743 22744 22745 22746 22747 22748 22749 22750 22751 22752 22753 22754 22755 22756 22757 22758 22759 22760 22761 22762 22763 22764 22765 22766 22767 22768 22769 22770 22771 22772 22773 22774 22775 22776 22777 22778 22779 22780 22781 22782 22783 22784 22785 22786 22787 22788 22789 22790 22791 22792 22793 22794 22795 22796 22797 22798 22799 22800 22801 22802 22803 22804 22805 22806 22807 22808 22809 22810 22811 22812 22813 22814 22815 22816 22817 22818 22819 22820 22821 22822 22823 22824 22825 22826 22827 22828 22829 22830 22831 22832 22833 22834 22835 22836 22837 22838 22839 22840 22841 22842 22843 22844 22845 22846 22847 22848 22849 22850 22851 22852 22853 22854 22855 22856 22857 22858 22859 22860 22861 22862 22863 22864 22865 22866 22867 22868 22869 22870 22871 22872 22873 22874 22875 22876 22877 22878 22879 22880 22881 22882 22883 22884 22885 22886 22887 22888 22889 22890 22891 22892 22893 22894 22895 22896 22897 22898 22899 22900 22901 22902 22903 22904 22905 22906 22907 22908 22909 22910 22911 22912 22913 22914 22915 22916 22917 22918 22919 22920 22921 22922 22923 22924 22925 22926 22927 22928 22929 22930 22931 22932 22933 22934 22935 22936 22937 22938 22939 22940 22941 22942 22943 22944 22945 22946 22947 22948 22949 22950 22951 22952 22953 22954 22955 22956 22957 22958 22959 22960 22961 22962 22963 22964 22965 22966 22967 22968 22969 22970 22971 22972 22973 22974 22975 22976 22977 22978 22979 22980 22981 22982 22983 22984 22985 22986 22987 22988 22989 22990 22991 22992 22993 22994 22995 22996 22997 22998 22999 23000 23001 23002 23003 23004 23005 23006 23007 23008 23009 23010 23011 23012 23013 23014 23015 23016 23017 23018 23019 23020 23021 23022 23023 23024 23025 23026 23027 23028 23029 23030 23031 23032 23033 23034 23035 23036 23037 23038 23039 23040 23041 23042 23043 23044 23045 23046 23047 23048 23049 23050 23051 23052 23053 23054 23055 23056 23057 23058 23059 23060 23061 23062 23063 23064 23065 23066 23067 23068 23069 23070 23071 23072 23073 23074 23075 23076 23077 23078 23079 23080 23081 23082 23083 23084 23085 23086 23087 23088 23089 23090 23091 23092 23093 23094 23095 23096 23097 23098 23099 23100 23101 23102 23103 23104 23105 23106 23107 23108 23109 23110 23111 23112 23113 23114 23115 23116 23117 23118 23119 23120 23121 23122 23123 23124 23125 23126 23127 23128 23129 23130 23131 23132 23133 23134 23135 23136 23137 23138 23139 23140 23141 23142 23143 23144 23145 23146 23147 23148 23149 23150 23151 23152 23153 23154 23155 23156 23157 23158 23159 23160 23161 23162 23163 23164 23165 23166 23167 23168 23169 23170 23171 23172 23173 23174 23175 23176 23177 23178 23179 23180 23181 23182 23183 23184 23185 23186 23187 23188 23189 23190 23191 23192 23193 23194 23195 23196 23197 23198 23199 23200 23201 23202 23203 23204 23205 23206 23207 23208 23209 23210 23211 23212 23213 23214 23215 23216 23217 23218 23219 23220 23221 23222 23223 23224 23225 23226 23227 23228 23229 23230
|
2010-01-29 Mark Rowe <mrowe@apple.com>
Fix the Mac build.
Disable ENABLE_INDEXED_DATABASE since it is "completely non-functional".
As the comment in FeatureDefines.xcconfig notes, the list of feature defines
needs to be kept in sync across the various files. The default values also
need to be kept in sync between these files and build-webkit.
* Configurations/FeatureDefines.xcconfig:
2010-01-29 Alexey Proskuryakov <ap@apple.com>
Reviewed by Dan Bernstein.
<rdar://problem/7441982> REGRESSION (TOT): Adobe CS4: Installer alerts are displayed as
blank windows
* WebView/WebView.mm:
(shouldEnableLoadDeferring): Load deferring is enabled unless the application is Adobe
Installer.
(-[WebView _preferencesChangedNotification:]): Call setLoadDeferringEnabled().
2010-01-28 Enrica Casucci <enrica@apple.com>
Reviewed by Maciej Stachowiak.
Huge plain text pastes are slow
<rdar://problem/5195056>
https://bugs.webkit.org/show_bug.cgi?id=34237
Mail is ignoring the fragment created from plain text or HTML that is
passed to the delegate function, that creates a new one.
This fix avoids creating the fragment twice.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _pasteWithPasteboard:allowPlainText:]):
2010-01-25 Anders Carlsson <andersca@apple.com>
Featureless build fixes.
* Misc/WebCache.mm:
(+[WebCache empty]):
* WebCoreSupport/WebApplicationCache.mm:
* WebCoreSupport/WebChromeClient.h:
* WebView/WebDataSource.mm:
(-[WebDataSource _transferApplicationCache:]):
* WebView/WebFrame.mm:
(-[WebFrame _cacheabilityDictionary]):
* WebView/WebView.mm:
(WebKitInitializeApplicationCachePathIfNecessary):
(-[WebView _close]):
* WebView/WebViewData.mm:
(-[WebViewPrivate dealloc]):
(-[WebViewPrivate finalize]):
2010-01-25 Steve Falkenburg <sfalken@apple.com>
Reviewed by Simon Fraser.
A WebGeolocationControllerClient is leaked for every WebView
https://bugs.webkit.org/show_bug.cgi?id=34145
* WebCoreSupport/WebGeolocationControllerClient.h:
* WebCoreSupport/WebGeolocationControllerClient.mm:
(WebGeolocationControllerClient::geolocationDestroyed):
2010-01-22 Steve Falkenburg <sfalken@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=34025
Enable client-based Geolocation abstraction for Mac, Windows AppleWebKit targets.
* Configurations/FeatureDefines.xcconfig:
2010-01-22 Brady Eidson <beidson@apple.com>
Reviewed by Adele Peterson.
[WebFrame loadRequest:] does not null check the WebCore::Frame
<rdar://problem/7416286> and https://bugs.webkit.org/show_bug.cgi?id=34021
* WebView/WebFrame.mm:
(-[WebFrame loadRequest:]): Null check the WebCore::Frame as it can disappear
out of underneath a WebFrame.
2010-01-22 Peter Kasting <pkasting@google.com>
Reviewed by David Hyatt.
When scrolling by page, hold back 1/8th of the visible size instead of
40 px.
https://bugs.webkit.org/show_bug.cgi?id=32595
* WebView/WebFrameView.mm:
(-[WebFrameView _verticalPageScrollDistance]):
(-[WebFrameView initWithFrame:]):
(-[WebFrameView _horizontalPageScrollDistance]):
2010-01-20 Jian Li <jianli@chromium.org>
Reviewed by Dmitry Titov.
Implement File and Blob interfaces as defined in File API spec.
https://bugs.webkit.org/show_bug.cgi?id=32912
* MigrateHeaders.make:
2010-01-19 Timothy Hatcher <timothy@apple.com>
Fix erroneous page scrolls when trying to select text or use form elements
with the Web Inspector docked.
http://webkit.org/b/24403
rdar://problem/6753925
Reviewed by John Sullivan and Darin Adler.
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::scrollRectIntoView): The scrollRect.move() call was
incorrectly converting the rect under the assumption that the frame view
is the same size as the WebView. Using convertRect:fromView: instead
is enough to fix the bug, but that code isn't needed since WebCore
already takes care of scrolling the main frame's document view, so it
was redundant to do it here too.
2010-01-20 Steve Falkenburg <sfalken@apple.com>
Reviewed by Darin Adler and Adam Roben.
Feature defines are difficult to maintain on Windows builds
https://bugs.webkit.org/show_bug.cgi?id=33883
* Configurations/FeatureDefines.xcconfig: Add comments about keeping feature definitions in sync.
2010-01-20 Dan Bernstein <mitz@apple.com>
Reviewed by Simon Fraser.
<rdar://problem/7489504> Clicking on an overflow scrollbar when the window doesn't have
focus only focuses the window; it should start scrolling too
https://bugs.webkit.org/show_bug.cgi?id=33906
* Misc/WebElementDictionary.mm:
(+[WebElementDictionary initializeLookupTable]): Initialize WebElementIsInScrollBarKey.
(-[WebElementDictionary _isInScrollBar]): Added. Returns whether the HitTestResult contains
a scroll bar.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _isScrollBarEvent:]): Added. Returns whether the event point is in a scroll
bar in this view.
(-[WebHTMLView acceptsFirstMouse:]): Accept scroll bar events.
* WebView/WebView.mm: Define WebElementIsInScrollBarKey.
* WebView/WebViewPrivate.h: Declare WebElementIsInScrollBarKey.
2010-01-19 Dan Bernstein <mitz@apple.com>
Redo Tiger build fix without making WebTypesInternal.h a private header
* WebView/WebHTMLRepresentation.h: Define and use WebNSUInteger.
* WebView/WebHTMLRepresentation.mm: Import WebTypesInternal.h.
2009-12-18 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
<rdar://problem/7068584> Crash at NetscapePluginHostProxy::processRequests
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
(WebKit::NetscapePluginInstanceProxy::waitForReply): Wrapped with calls
to willCallPluginFunction/didCallPluginFunction. This prevents the plug-in
from being stopped while waiting for reply.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::createBindingsInstance): Protect the
instance proxy in case the plug-in host crashes while waiting for reply.
* Plugins/Hosted/ProxyInstance.h:
(WebKit::ProxyInstance::waitForReply): Added. Calls through to
NetscapePluginInstanceProxy::waitForReply(), but returns a null reply if the
proxy gets invalidated while waiting for the reply.
* Plugins/Hosted/ProxyInstance.mm:
(WebKit::ProxyInstance::invoke): Use ProxyInstance::waitForReply().
(WebKit::ProxyInstance::supportsInvokeDefaultMethod): Ditto.
(WebKit::ProxyInstance::supportsConstruct): Ditto.
(WebKit::ProxyInstance::getPropertyNames): Ditto.
(WebKit::ProxyInstance::methodsNamed): Ditto.
(WebKit::ProxyInstance::fieldNamed): Ditto.
(WebKit::ProxyInstance::fieldValue): Ditto.
(WebKit::ProxyInstance::setFieldValue): Ditto.
2010-01-19 John Sullivan <sullivan@apple.com>
Tiger build fix.
* WebView/WebHTMLRepresentation.h:
Added #import for WebTypesInternal.h so NSUInteger will be defined on Tiger.
2010-01-19 Brian Weinstein <bweinstein@apple.com>
Reviewed by Tim Hatcher.
Part of <http://webkit.org/b/28622>.
Caught exceptions still pause the debugger.
Update WebScriptDebugger::exception to have the hasHandler parameter.
This just adds a new parameter, no behavior is changed.
* WebView/WebScriptDebugger.h:
* WebView/WebScriptDebugger.mm:
(WebScriptDebugger::exception):
2010-01-19 Jon Honeycutt <jhoneycutt@apple.com>
MSAA: The child <option> elements of a non-multiple <select> are not
exposed
https://bugs.webkit.org/show_bug.cgi?id=33773
<rdar://problem/7550556>
* WebCoreSupport/WebViewFactory.mm:
(-[WebViewFactory AXMenuListPopupActionVerb]):
Stubbed.
(-[WebViewFactory AXMenuListActionVerb]):
Stubbed.
2010-01-19 John Sullivan <sullivan@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=33854
Would like a variant of WebHTMLRepresentation's searchForLabelsBeforeElement that returns
more info about where the result was found
Reviewed by Darin Adler
* WebView/WebHTMLRepresentation.h:
Declare -searchForLabels:beforeElement:resultDistance:resultIsInCellAbove.
* WebView/WebHTMLRepresentation.mm:
(-[WebHTMLRepresentation searchForLabels:beforeElement:]):
Now calls through to searchForLabels:beforeElement:resultDistance:resultIsInCellAbove.
(-[WebHTMLRepresentation searchForLabels:beforeElement:resultDistance:resultIsInCellAbove:]):
New method, calls through to WebCore.
2010-01-19 Dave Hyatt <hyatt@apple.com>
Reviewed by Adam Roben.
Add an API to obtain the WebScriptWorld for a given JSGlobalContextRef.
* WebView/WebScriptWorld.h:
* WebView/WebScriptWorld.mm:
(+[WebScriptWorld scriptWorldForGlobalContext:]):
2010-01-19 Steve Block <steveblock@google.com>
Unreviewed build fix.
Fixes Snow Leopard build due to http://trac.webkit.org/changeset/53464
* Plugins/Hosted/WebHostedNetscapePluginView.mm: Modified. Import <WebCore/Bridge.h>
2010-01-19 Steve Block <steveblock@google.com>
Reviewed by Adam Barth.
Renames WebCore/bridge/runtime.[cpp|h] to WebCore/bridge/Bridge.[cpp|h]
https://bugs.webkit.org/show_bug.cgi?id=33801
* Plugins/Hosted/ProxyInstance.h:
2010-01-18 Enrica Casucci <enrica@apple.com>
Reviewed by Darin Adler.
Script attributes are copied and pasted, making cross-domain attacks possible (30019)
<rdar://problem/6008809>
https://bugs.webkit.org/show_bug.cgi?id=30019
* WebView/WebFrame.mm:
(-[WebFrame _documentFragmentWithMarkupString:baseURLString:]): Modified the call to createMarkupString.
2010-01-18 Steve Falkenburg <sfalken@apple.com>
Rubber-stamped by Sam Weinig.
Add missing export for Geolocation.
* WebKit.exp:
2010-01-18 Adam Roben <aroben@apple.com>
Add +[WebView _setDomainRelaxationForbidden:forURLScheme:]
WebKit/mac part of fixing <http://webkit.org/b/33806>
<rdar://problem/7552837> Would like API to disallow setting of
document.domain for pages with certain URL schemes
Reviewed by Sam Weinig.
* WebView/WebView.mm:
(+[WebView _setDomainRelaxationForbidden:forURLScheme:]):
* WebView/WebViewPrivate.h:
Added. Calls through to SecurityOrigin.
2010-01-16 Maciej Stachowiak <mjs@apple.com>
Reviewed by Oliver Hunt.
Cache JS string values made from DOM strings (Dromaeo speedup)
https://bugs.webkit.org/show_bug.cgi?id=33768
<rdar://problem/7353576>
* Plugins/Hosted/ProxyInstance.mm:
(WebKit::ProxyInstance::stringValue): Explicitly make a String, since char*
is now ambiguous.
2010-01-13 Simon Fraser <simon.fraser@apple.com>
Reviewed by Darin Adler.
<rdar://problem/7532544>
Expose new method on WebKitSystemInterface, WKGetUserToBaseCTM(), which will
be used for a shadow drawing fix.
* WebCoreSupport/WebSystemInterface.m:
(InitWebCoreSystemInterface):
2010-01-13 Kevin Decker <kdecker@apple.com>
Reviewed by Mark Rowe.
https://bugs.webkit.org/show_bug.cgi?id=33610
<rdar://problem/7288546> Silverlight full screen performance problem seen on Snow Leopard.
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView _workaroundSilverlightFullScreenBug:]): Added. Work around Silverlight full screen
performance issue by maintaining an accelerated GL pixel format. We can safely remove this at some point in
the future when both Microsoft releases a genuine fix for 7288546 and enough Silverlight users update to the
new Silverlight. For now, we'll distinguish older broken versions of Silverlight by asking the plug-in if it
resolved its full screen badness.
(-[WebNetscapePluginView _createPlugin]): Call _workaroundSilverlightFullScreenBug:YES if this is Silverlight.
(-[WebNetscapePluginView _destroyPlugin]): Call _workaroundSilverlightFullScreenBug:NO if this is Silverlight.
2010-01-11 Mark Rowe <mrowe@apple.com>
Reviewed by Darin Adler.
<rdar://problem/7512726> Flash full-screen does not work correctly with Flash 10.1 beta
Explicitly track when the plug-in shows and hides a full-screen window to determine
whether a plug-in is currently full-screen, rather than relying on menu bar visibility.
This ensures that we activate the plug-in host process and client application as
appropriate when the plug-in enters or exits full-screen.
* Plugins/Hosted/NetscapePluginHostProxy.h:
(WebKit::NetscapePluginHostProxy::isFullScreenWindowShowing):
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
(WebKit::NetscapePluginHostProxy::setMenuBarVisible):
(WebKit::NetscapePluginHostProxy::didEnterFullScreen):
(WebKit::NetscapePluginHostProxy::didExitFullScreen):
(WebKit::NetscapePluginHostProxy::setFullScreenWindowIsShowing):
(WKPCSetMenuBarVisible):
(WKPCSetFullScreenWindowIsShowing):
* Plugins/Hosted/WebKitPluginClient.defs:
2010-01-11 Simon Fraser <simon.fraser@apple.com>
Reviewed by Kevin Decker.
https://bugs.webkit.org/show_bug.cgi?id=33455
Allows plugins to participate in accelerated compositing
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView createPlugin]):
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView createPlugin]): If accelerated compositing is
available, don't use a layer-backed NSView for plugins. Instead, tickle the
accelerated compositing code via setNeedsStyleRecalc(SyntheticStyleChange),
which will parent the plugin's layer in the accelerated compositing layer
tree.
2010-01-09 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
ScriptController::isEnabled needs to be renamed
https://bugs.webkit.org/show_bug.cgi?id=32063
Rename ScriptController::isEnabled to
ScriptController::canExecuteScripts.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::getWindowNPObject):
(WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):
2010-01-07 Daniel Bates <dbates@rim.com>
Reviewed by Eric Seidel.
https://bugs.webkit.org/show_bug.cgi?id=32987
Added ENABLE_XHTMLMP flag. Disabled by default.
* Configurations/FeatureDefines.xcconfig:
2010-01-07 Alexey Proskuryakov <ap@apple.com>
More build fix.
* WebKitPrefix.h: Define JS_EXPORTCLASS here, as well (as empty).
2010-01-07 Maciej Stachowiak <mjs@apple.com>
Reviewed by Simon Fraser.
REGRESSION (r48075): Clicking and dragging in a widget's text field doesn't create a selection; drags widget instead ( Translation, Weather, Ski Report )
https://bugs.webkit.org/show_bug.cgi?id=33348
<rdar://problem/7310616>
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]): We only want to
handle file: URLs for the user stylesheet now, so special-case the
DashboardClient's funky user stylesheet URL by mapping it to the
equivalent file URL.
2010-01-07 Kevin Decker <kdecker@apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=33331
(WebHostedNetscapePluginView should pass acceleratedCompositingEnabled bool to NetscapePluginHostManager when instantiating plug-ins)
* Plugins/Hosted/NetscapePluginHostManager.h: Modify method signature for instantiatePlugin to include acceleratedCompositingEnabled bool.
* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::instantiatePlugin):
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView createPlugin]): Pass accelerated compositing status to NetscapePluginHostManage
2010-01-06 Kevin Decker <kdecker@apple.com>
Reviewed by Simon Fraser.
Third step of:
<rdar://problem/6398111> Integrate hardware layers with out-of-process plug-ins layer hosting mechanism
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView getVariable:value:]): Add case for WKNVSupportsCompositingCoreAnimationPluginsBool.
2010-01-06 Kevin Decker <kdecker@apple.com>
Reviewed by Simon Fraser.
Second step of:
<rdar://problem/6398111> Integrate hardware layers with out-of-process plug-ins layer hosting mechanism
* Plugins/Hosted/WebHostedNetscapePluginView.h: Expose the CALayer of the plugin by adding -pluginLayer method.
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView pluginLayer]): Added.
* Plugins/WebNetscapePluginView.h: Expose the CALayer of the plugin by adding -pluginLayer method.
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView pluginLayer]): Added.
2010-01-06 Kevin Decker <kdecker@apple.com>
Reviewed by Eric Carlson.
First step toward:
<rdar://problem/6398111> Integrate hardware layers with out-of-process plug-ins layer hosting mechanism
Small refactoring moving the PluginWidget class from WebKit to WebCore.
* WebCoreSupport/WebFrameLoaderClient.mm: Use the WebCore version of PluginWidget.
2010-01-05 Dan Bernstein <mitz@apple.com>
Reviewed by Mark Rowe.
Re-enable plug-in halting on Mac after r51953
* WebCoreSupport/WebPluginHalterClient.mm:
(WebPluginHalterClient::enabled): Test for the correct selector.
2010-01-04 Dan Bernstein <mitz@apple.com>
Reviewed by Ada Chan and Mark Rowe.
Updated copyright string
* Info.plist:
2009-12-27 Maciej Stachowiak <mjs@apple.com>
Reviewed by Alexey Proskuryakov.
plugins/get-url-with-iframe-target.html fails on SnowLeopard (64-bit)
https://bugs.webkit.org/show_bug.cgi?id=32982
This test has been failing on SnowLeopard since it was landed.
The problem is that we never delivered the notification for
NPN_GetURLNotify, in the frame-targeting case, for out-of-process
plugins on Mac.
I implemented support for this based on how in-process Mac plugins
do it.
* Plugins/Hosted/HostedNetscapePluginStream.h:
* Plugins/Hosted/HostedNetscapePluginStream.mm:
(WebKit::HostedNetscapePluginStream::reasonForError):
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::PluginRequest::create):
(WebKit::NetscapePluginInstanceProxy::PluginRequest::PluginRequest):
(WebKit::NetscapePluginInstanceProxy::destroy):
(WebKit::NetscapePluginInstanceProxy::performRequest):
(WebKit::NetscapePluginInstanceProxy::webFrameDidFinishLoadWithReason):
(WebKit::NetscapePluginInstanceProxy::requestTimerFired):
(WebKit::NetscapePluginInstanceProxy::loadRequest):
* Plugins/Hosted/WebHostedNetscapePluginView.h:
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView webFrame:didFinishLoadWithReason:]):
(-[WebHostedNetscapePluginView webFrame:didFinishLoadWithError:]):
2009-12-22 Darin Adler <darin@apple.com>
Reviewed by Mark Rowe.
Turn off datagrid by default, at least for all platforms Apple ships.
The datagrid implementation isn't ready for general web use yet.
* Configurations/FeatureDefines.xcconfig: Turn off datagrid by default.
2009-12-21 Mark Rowe <mrowe@apple.com>
Reviewed by Sam Weinig.
Don't allocate a WebGeolocationControllerClient unless that compile-time setting is enabled.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
2009-12-18 Sam Weinig <sam@webkit.org>
Reviewed by Dan Bernstein.
Add Mac WebKit side of the client based geolocation provider.
* Misc/WebKitErrors.m:
(registerErrors): Add Geolocation errors.
* Misc/WebKitErrorsPrivate.h:
* WebCoreSupport/WebGeolocationControllerClient.h: Added.
(WebGeolocationControllerClient::webView):
* WebCoreSupport/WebGeolocationControllerClient.mm: Added.
(WebGeolocationControllerClient::WebGeolocationControllerClient):
(WebGeolocationControllerClient::startUpdating):
(WebGeolocationControllerClient::stopUpdating):
(WebGeolocationControllerClient::lastPosition):
Add implementation of the WebGeolocationControllerClient.
* WebView/WebGeolocationPosition.h: Added.
* WebView/WebGeolocationPosition.mm: Added.
(-[WebGeolocationPositionInternal initWithCoreGeolocationPosition:]):
(core):
(-[WebGeolocationPosition initWithTimestamp:latitude:longitude:accuracy:]):
* WebView/WebGeolocationPositionInternal.h: Added.
Add an Objective-C wrapper for GeolocationPosition.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): Set the GeolocationControllerClient.
(-[WebView _setGeolocationProvider:]): Set the GeolocationProvider
(-[WebView _geolocationProvider]): Return the GeolocationProvider.
(-[WebView _geolocationDidChangePosition:]): Notify WebCore that the position changed.
(-[WebView _geolocationDidFailWithError:]): Notify WebCore that an error occured.
* WebView/WebViewData.h:
* WebView/WebViewPrivate.h:
2009-12-18 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
REGRESSION(52325) Chromium build broken due to link failure
https://bugs.webkit.org/show_bug.cgi?id=32753
* WebCoreSupport/WebSystemInterface.m:
- Chromium Mac builds use this file, but do not
enable Pre-compiled Header (PCH) files so that
Chromium build bots can take advantage of the faster
distcc 3. Eventually all mac builds will likely use
distcc, but for now we'll add Platform.h here and document
its usage so it's not removed by accident.
2009-12-18 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
Fix preference key name.
* WebView/WebPreferenceKeysPrivate.h:
2009-12-18 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Pass preference to plug-in host.
* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::spawnPluginHost):
2009-12-18 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Add WKPCRunSyncOpenPanel implementation.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCRunSyncOpenPanel):
* Plugins/Hosted/WebKitPluginClient.defs:
* Plugins/Hosted/WebKitPluginHost.defs:
2009-12-18 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Add a useProxiedOpenPanel WebPreference and tunnel it through to the plug-in host.
* Plugins/Hosted/NetscapePluginHostManager.h:
* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::hostForPackage):
(WebKit::NetscapePluginHostManager::spawnPluginHost):
(WebKit::NetscapePluginHostManager::instantiatePlugin):
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences usesProxiedOpenPanel]):
(-[WebPreferences setUsesProxiedOpenPanel:]):
* WebView/WebPreferencesPrivate.h:
2009-12-18 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
Update WebKitSystemInterface for <rdar://problem/7237059>.
* WebCoreSupport/WebSystemInterface.m:
(InitWebCoreSystemInterface):
2009-12-18 Adam Roben <aroben@apple.com>
Add #includes needed after WebCore clean-up
Rubber-stamped by Anders Carlsson.
Fixes <http://webkit.org/b/32718>.
* WebView/WebFrame.mm:
* WebView/WebFrameView.mm:
* WebView/WebView.mm:
2009-12-17 Adam Roben <aroben@apple.com>
Mac build fix
* WebView/WebVideoFullscreenController.mm: Added now-needed #import.
2009-12-13 Sam Weinig <sam@webkit.org>
Reviewed by Dan Bernstein.
Fix for https://bugs.webkit.org/show_bug.cgi?id=32499
Add client based Geolocation provider
Add first cut of a client based Geolocation provider. This is guarded by
ENABLE(CLIENT_BASED_GEOLOCATION) and is off by default for now. This adds a
GeolocationControllerClient interface that no-one currently implements,
but will in a subsequent patch.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
2009-12-10 Jon Honeycutt <jhoneycutt@apple.com>
Mac build fix. Unreviewed.
Re-adds code that was mistakenly removed from my last patch.
* WebCoreSupport/WebPluginHalterClient.mm:
Add necessary #import.
* WebView/WebDelegateImplementationCaching.h:
Declare a new overload of CallUIDelegateReturningBoolean.
* WebView/WebDelegateImplementationCaching.mm:
(CallDelegateReturningBoolean):
Add a new overload with different arguments.
(CallUIDelegateReturningBoolean):
Ditto.
2009-12-10 Jon Honeycutt <jhoneycutt@apple.com>
Pass more information about a plug-in to the PluginHalterDelegate
Reviewed by Adam Roben.
* Plugins/WebBaseNetscapePluginView.mm:
(WebHaltablePlugin::isWindowed):
Return false - the Mac doesn't really have windowed plug-ins.
(WebHaltablePlugin::pluginName):
Return the name from the plug-in package.
* WebCoreSupport/WebPluginHalterClient.h:
Update for new parameters.
* WebCoreSupport/WebPluginHalterClient.mm:
(WebPluginHalterClient::shouldHaltPlugin):
Ditto; pass them when making the delegate call.
* WebView/WebUIDelegatePrivate.h:
Update for new parameters.
2009-12-08 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
<rdar://problem/7295070> WebKit video fullscreen keeps playing after closing the window
Fix a leak of the QTMovieView when exiting fullscreen video, and remove the
old workaround.
* WebView/WebVideoFullscreenController.mm:
(-[WebVideoFullscreenController windowDidLoad]): Set the movie view as the contentView directly.
(-[WebVideoFullscreenController setMediaElement:WebCore::]): Cast the contentView to a movie view.
(-[WebVideoFullscreenController windowDidExitFullscreen]): Remove the old workaround.
2009-12-08 Dmitry Titov <dimich@chromium.org>
Rubber-stamped by David Levin.
Revert and reopen "Add asserts to RefCounted to make sure ref/deref happens on the right thread."
It may have caused massive increase of reported leaks on the bots.
https://bugs.webkit.org/show_bug.cgi?id=31639
* ForwardingHeaders/wtf/ThreadVerifier.h: Removed.
2009-12-08 Dmitry Titov <dimich@chromium.org>
Reviewed by Darin Adler.
Add asserts to RefCounted to make sure ref/deref happens on the right thread.
https://bugs.webkit.org/show_bug.cgi?id=31639
* ForwardingHeaders/wtf/ThreadVerifier.h: Added.
2009-12-07 Dmitry Titov <dimich@chromium.org>
Rubber-stamped by Darin Adler.
Remove ENABLE_SHARED_SCRIPT flags
https://bugs.webkit.org/show_bug.cgi?id=32245
This patch was obtained by "git revert" command and then un-reverting of ChangeLog files.
* Configurations/FeatureDefines.xcconfig:
2009-12-07 Simon Fraser <simon.fraser@apple.com>
Reviewed by Darin Adler.
<rdar://problem/7450481> One compositing test keeps DRT in "compositing mode", breaks repaint tests
The counter that WebView used to keep track of the number of enclosed WebHTMLViews using
accelerated compositing was hard to manage, and maintained incorrectly in a number of cases.
This caused one compositing test make DumpRenderTree think that all subsequent tests
were compositing too.
Replace this counter with notifications, which are only fired if a client (DRT) requests them. The
notification informs the client that a WebHTMLView entered compositing mode (or an already-
compositing WebHTML was added); it does not say when a view becomes uncomposited, or all
compositing subviews were removed, since this is tricky to get right.
Change -[WebView _isUsingAcceleratedCompositing] to manually walk the frames, and
return YES if any document view is composited.
* WebKit.exp:
* WebView/WebHTMLView.mm:
(-[WebHTMLView close]):
(-[WebHTMLView viewDidMoveToSuperview]):
(-[WebHTMLView attachRootLayer:]):
(-[WebHTMLView detachRootLayer]):
* WebView/WebView.mm:
(+[WebView automaticallyNotifiesObserversForKey:]):
(-[WebView _postsAcceleratedCompositingNotifications]):
(-[WebView _setPostsAcceleratedCompositingNotifications:]):
(-[WebView _isUsingAcceleratedCompositing]):
* WebView/WebViewData.h:
* WebView/WebViewInternal.h:
* WebView/WebViewPrivate.h:
2009-12-07 Gavin Barraclough <barraclough@apple.com>
Reviewed by Oliver Hunt.
https://bugs.webkit.org/show_bug.cgi?id=32184
Handle out-of-memory conditions with JSC Ropes with a JS exception, rather than crashing.
Switch from using fastMalloc to tryFastMalloc, pass an ExecState to record the exception on.
* WebView/WebView.mm:
(aeDescFromJSValue):
2009-12-07 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Holger Hans Peter Freyther.
Turn on (SVG) Filters support, by default.
https://bugs.webkit.org/show_bug.cgi?id=32224
* Configurations/FeatureDefines.xcconfig: Enable FILTERS build flag.
2009-12-03 Brady Eidson <beidson@apple.com>
Reviewed by Sam Weinig.
<rdar://problem/7214236> and http://webkit.org/b/32052 - Implement HTML5 state object history API
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDidPushStateWithinPage):
(WebFrameLoaderClient::dispatchDidReplaceStateWithinPage):
(WebFrameLoaderClient::dispatchDidPopStateWithinPage):
* WebView/WebDelegateImplementationCaching.h:
* WebView/WebFrameLoadDelegatePrivate.h:
* WebView/WebView.mm:
(-[WebView _cacheFrameLoadDelegateImplementations]):
2009-12-03 Pavel Feldman <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
Reviewed by Timothy Hatcher.
Web Inspector: Simplify the settings support in inspector controller.
https://bugs.webkit.org/show_bug.cgi?id=32076
* WebCoreSupport/WebInspectorClient.h:
* WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController showWindow:]):
(-[WebInspectorWindowController attach]):
(-[WebInspectorWindowController detach]):
2009-12-03 Ben Murdoch <benm@google.com>
Reviewed by Brady Eidson.
[Android] notifyHistoryItemChanged() should pass a pointer to the HistoryItem that changed.
https://bugs.webkit.org/show_bug.cgi?id=31915
* History/WebHistoryItem.mm:
(WKNotifyHistoryItemChanged): Update WKNotifyHistoryItemChanged() to add the new HistoryItem parameter added in the WebCore portion of this patch.
* History/WebHistoryItemInternal.h: ditto.
2009-12-03 Ben Murdoch <benm@google.com>
Reviewed by Brady Eidson.
[Android] The FrameLoaderClient is unaware of BackForwardList changes.
https://bugs.webkit.org/show_bug.cgi?id=31914
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDidAddBackForwardItem): Add an empty implementation. Method added to FrameLoaderClient by Android (see bug).
(WebFrameLoaderClient::dispatchDidRemoveBackForwardItem): ditto.
(WebFrameLoaderClient::dispatchDidChangeBackForwardIndex): ditto.
2009-12-02 Dan Bernstein <mitz@apple.com>
Reviewed by Mark Rowe.
Fix a mistake in the previous change
* WebView/WebView.mm:
(+[WebView _viewClass:andRepresentationClass:forMIMEType:allowingPlugins:]):
Make sure to include the image types’ view and representation classes
even when plug-ins are not allowed.
2009-12-02 Dan Bernstein <mitz@apple.com>
Reviewed by Anders Carlsson.
Fixed <rdar://problem/7254127> WebKit can load plug-ins even when
plug-ins are disabled
Ensure that the shared WebPluginDatabase is not instantiated if no
WebViews are used that have plug-ins enabled.
* DefaultDelegates/WebDefaultPolicyDelegate.m:
(-[WebDefaultPolicyDelegate webView:decidePolicyForMIMEType:request:frame:decisionListener:]):
Call -[WebView _canShowMIMEType:] on the WebView instead of calling the
class method.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::canShowMIMEType): Ditto.
(WebFrameLoaderClient::transitionToCommittedForNewPage): Call
-[WebFrameView _viewClassForMIMEType:] on the WebView instead of calling
the class method.
(WebFrameLoaderClient::objectContentType): Ditto.
* WebView/WebDataSource.mm:
(+[WebDataSource _representationClassForMIMEType:allowingPlugins:]):
Added the allowPlugins parameter, which is passed through to
+[WebView _viewClass:andRepresentationClass:forMIMEType:allowingPlugins:].
(-[WebDataSource _makeRepresentation]): Pass an allowPlugins value
based on the WebView’s preferences.
* WebView/WebFrameView.mm:
(-[WebFrameView _makeDocumentViewForDataSource:]): Call
-[WebFrameView _viewClassForMIMEType:] instead of calling the class
method.
(+[WebFrameView _viewClassForMIMEType:allowingPlugins:]): Added the
allowPlugins parameter, which is passed through to
+[WebView _viewClass:andRepresentationClass:forMIMEType:allowingPlugins:].
(-[WebFrameView _viewClassForMIMEType:]): Added. Passes an allowPlugins
value based on the WebView’s preferences.
* WebView/WebFrameViewInternal.h:
* WebView/WebView.mm:
(+[WebView _viewClass:andRepresentationClass:forMIMEType:allowingPlugins:]):
Added the allowPlugins parameter. If false, skip the instantiation of
the shared WebPluginDatabase.
(-[WebView _viewClass:andRepresentationClass:forMIMEType:]): Pass an
allowPlugins value based on the WebView’s preferences.
(+[WebView _canShowMIMEType:allowingPlugins:]): Passes allowPlugins to
+_viewClass:andRepresentationClass:forMIMEType:allowingPlugins:.
(+[WebView canShowMIMEType:]): Changed to pass YES to
+_canShowMIMEType:allowingPlugins:.
(-[WebView _canShowMIMEType:]): Added. Passes an allowPlugins value
based on the WebView’s preferences.
(-[WebView _pluginForMIMEType:]): Return nil if plug-ins are disabled.
(-[WebView _pluginForExtension:]): Ditto.
(-[WebView _isMIMETypeRegisteredAsPlugin:]): Return NO if plug-ins are
disabled.
* WebView/WebViewInternal.h:
2009-12-02 Timothy Hatcher <timothy@apple.com>
Fixes a crash when scrolling a frame that goes away mid-scroll.
<rdar://problem/7400263>
Reviewed by John Sullivan.
* WebView/WebDynamicScrollBarsView.mm:
(-[WebDynamicScrollBarsView scrollWheel:]): Retain self incase the last
reference is released when calling super.
2009-11-13 Timothy Hatcher <timothy@apple.com>
Migrate DOMHTMLInputElementPrivate.h as a private header.
Reviewed by Darin Adler.
* MigrateHeaders.make:
2009-12-01 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Simon Fraser.
Add SVG animation test framework with 'snapshot' functionality
https://bugs.webkit.org/show_bug.cgi?id=31897
Add API used by the new 'sampleSVGAnimationForElementAtTime' DRT method,
forwarding the call to SVGDocumentExtensions, if SVG is enabled.
Implemented just like the existing pauseAnimation* methods for CSS animations.
* WebView/WebFrame.mm:
(-[WebFrame _pauseSVGAnimation:onSMILNode:atTime:]):
* WebView/WebFramePrivate.h:
2009-12-01 Sam Weinig <sam@webkit.org>
Reviewed by Mark Rowe.
Simplify [WebView userAgentForURL:]. No need to call into helper function.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::userAgent):
* WebView/WebView.mm:
(-[WebView userAgentForURL:]):
* WebView/WebViewInternal.h:
2009-11-24 Gavin Barraclough <barraclough@apple.com>
Reviewed by Geoff Garen.
Bug 31859 - Make world selection for JSC IsolatedWorlds automagical.
WebCore presently has to explicitly specify the world before entering into JSC,
which is a little fragile (particularly since property access via a
getter/setter might invoke execution). Instead derive the current world from
the lexical global object.
Since WebCore no longer needs to explicitly specify the world on entry to JSC DebuggerCallFrame::evaluate can be called directly.
* WebView/WebScriptDebugDelegate.mm:
(-[WebScriptCallFrame evaluateWebScript:]):
2009-11-24 Dmitry Titov <dimich@chromium.org>
Reviewed by Eric Seidel.
Add ENABLE_SHARED_SCRIPT feature define and flag for build-webkit
https://bugs.webkit.org/show_bug.cgi?id=31444
* Configurations/FeatureDefines.xcconfig:
2009-11-24 Alexey Proskuryakov <ap@apple.com>
Reviewed by Brady Eidson.
https://bugs.webkit.org/show_bug.cgi?id=31844
SocketStreamHandleCFNet should support CONNECT proxy credentials
* WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface): Add WKSI methods.
2009-11-23 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
DocumentMarkers need to be educated about transforms
https://bugs.webkit.org/show_bug.cgi?id=31751
Find highlight is incorrect with transforms
<rdar://problem/6358394>
Allow callers to specify that Frame::selectionTextRects() takes transforms into account
when computing the set of rects that encompass a selection. For transformed elemenets, the
selection rect will be the bounding box of the selected content.
Fix DocumentMarkers to cache rects in absolute coordinates, rather than painting coordinates.
* WebView/WebHTMLView.mm:
(-[WebHTMLView selectionTextRects]):
Pass RespectTransforms to get a list of rects with transforms taken into account.
2009-11-23 Kevin Decker <kdecker@apple.com>
Reviewed by Adam Roben.
<rdar://problem/7401503>
Added a workaround for plug-ins not drawing immediately.
* Plugins/WebBaseNetscapePluginView.mm: Added new constant.
(-[WebBaseNetscapePluginView _clearSubstituteImage]): Added.
(-[WebBaseNetscapePluginView resumeFromHalt]): Call above new method.
2009-11-20 Dave Hyatt <hyatt@apple.com>
Reviewed by Darin Adler.
Make sure to export WebSerializedJSValue.
* WebKit.exp:
2009-11-20 Dave Hyatt <hyatt@apple.com>
Reviewed by Oliver Hunt and Jon Honeycutt.
Add support for WebSerializedJSValue to WebKit. This object wraps the SerializedScriptValue functionality in WebCore
and exposes the ability to do JS value serialization/deserialization to WebKit clients.
* WebView/WebSerializedJSValue.h: Added.
* WebView/WebSerializedJSValue.mm: Added.
(-[WebSerializedJSValue initWithValue:context:]):
(-[WebSerializedJSValue deserialize:]):
(-[WebSerializedJSValue dealloc]):
2009-11-20 Chris Fleizach <cfleizach@apple.com>
Reviewed by Beth Dakin.
WAI-ARIA: add support for 'math' role
https://bugs.webkit.org/show_bug.cgi?id=31706
* WebCoreSupport/WebViewFactory.mm:
(-[WebViewFactory AXARIAContentGroupText:]):
2009-11-19 Eric Carlson <eric.carlson@apple.com>
Reviewed by Dan Bernstein.
<rdar://problem/7035231>
Support closed caption in <video> element
* WebCoreSupport/WebSystemInterface.m:
(InitWebCoreSystemInterface):
Add QTMovieHasClosedCaptions and QTMovieSetShowClosedCaptions.
* WebCoreSupport/WebViewFactory.mm:
(-[WebViewFactory localizedMediaControlElementString:]):
(-[WebViewFactory localizedMediaControlElementHelpText:]):
Add accessibility help strings for media controller closed caption button.
2009-11-18 Michelangelo De Simone <micdesim@gmail.com>
Reviewed by Darin Adler.
Fix for <https://bugs.webkit.org/show_bug.cgi?id=27959>.
Support for validationMessage attribute, as per HTML5 specs.
* WebCoreSupport/WebViewFactory.mm:
(-[WebViewFactory validationMessageValueMissingText]):
(-[WebViewFactory validationMessageTypeMismatchText]):
(-[WebViewFactory validationMessagePatternMismatchText]):
(-[WebViewFactory validationMessageTooLongText]):
(-[WebViewFactory validationMessageRangeUnderflowText]):
(-[WebViewFactory validationMessageRangeOverflowText]):
(-[WebViewFactory validationMessageStepMismatchText]):
2009-11-18 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
Make the Mac Geolocation API async.
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::requestGeolocationPermissionForFrame):
(-[WebGeolocationPolicyListener initWithGeolocation:]):
(-[WebGeolocationPolicyListener allow]):
(-[WebGeolocationPolicyListener deny]):
Add WebGeolocationPolicyListener implementation of the new WebGeolocationPolicyListener
protocol and use if to implement requestGeolocationPermissionForFrame using the new async
API.
* WebCoreSupport/WebGeolocation.mm: Removed.
* WebCoreSupport/WebGeolocationInternal.h: Removed.
* WebCoreSupport/WebGeolocationMock.mm: Remove bogus include.
* WebCoreSupport/WebGeolocationPrivate.h: Removed.
* WebView/WebUIDelegatePrivate.h: Remove requestGeolocationPermission and add
WebGeolocationPolicyListener protocol and decidePolicyForGeolocationRequestFromOrigin delegate
method.
2009-11-18 Chris Marrin <cmarrin@apple.com>
Reviewed by Simon Fraser.
Add Preferences for WebKitShowDebugBorders and WebKitShowRepaintCounter
https://bugs.webkit.org/show_bug.cgi?id=31601
These are used to debug accelerated compositing layers
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences showDebugBorders]):
(-[WebPreferences setShowDebugBorders:]):
(-[WebPreferences showRepaintCounter]):
(-[WebPreferences setShowRepaintCounter:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]):
2009-11-17 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: Make DRT show web inspector for tests in inspector/ folder.
- Updated DRT to show/close inspector for all tests under /inspector
- Introduced LayoutTestController::setTimelineProfilingEnabled and
WebInspector::setTimelineProfilingEnabled beside setJavaScriptProfilingEnabled
- Removed reload on each inspector test
- Renamed fast/inspector to fast/inspector-support in order not to trigger
inspector for those.
- Reimplemented timeline tests in order to get rid of reload there.
- Moved tests that don't require harness into the fast group.
https://bugs.webkit.org/show_bug.cgi?id=31472
* WebInspector/WebInspector.h:
* WebInspector/WebInspector.mm:
(-[WebInspector isTimelineProfilingEnabled]):
(-[WebInspector setTimelineProfilingEnabled:]):
2009-11-14 Chris Fleizach <cfleizach@apple.com>
Reviewed by Darin Adler.
Need to implement ARIA role="directory"
https://bugs.webkit.org/show_bug.cgi?id=31516
Fix a spelling error in the comment of a localized (accessibility) string.
* WebCoreSupport/WebViewFactory.mm:
(-[WebViewFactory AXARIAContentGroupText:]):
2009-11-14 Eric Carlson <eric.carlson@apple.com>
Reviewed by Oliver Hunt.
<rdar://problem/7287487>
Do not use QuickTime version to detect media controller theme
* WebCoreSupport/WebSystemInterface.m:
(InitWebCoreSystemInterface): Initialize wkMediaControllerThemeAvailable.
2009-11-13 Adam Roben <aroben@apple.com>
Tell the WebFrameLoadDelegate when window objects in isolated worlds
are cleared
Fixes <http://webkit.org/b/31124>.
Reviewed by Dave Hyatt.
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
Replaced windowObjectCleared with this function. If the delegate
implements it, call
-webView:didClearWindowObjectForFrame:inScriptWorld:. Otherwise, if
the passed-in world is the mainThreadNormalWorld(), call
-webView:didClearWindowObject:forFrame:.
* WebView/WebDelegateImplementationCaching.h: Added a new entry in the
frame load delegate implementation cache for the new delegate method.
* WebView/WebFrameLoadDelegatePrivate.h:
* WebView/WebScriptWorld.mm:
(allWorlds): Added. Returns a HashMap of all the WebScriptWorlds in
existence.
(-[WebScriptWorld initWithWorld:]): Add ourselves to allWorlds().
(-[WebScriptWorld dealloc]): Remove ourselves from allWorlds().
(+[WebScriptWorld findOrCreateWorld:]): Returns the existing
WebScriptWorld for this DOMWrapperWorld, or a new one if one doesn't
already exist.
* WebView/WebScriptWorldInternal.h: Declared +findOrCreateWorld:.
* WebView/WebView.mm:
(-[WebView _cacheFrameLoadDelegateImplementations]): Cache the
implementation of the new frame load delegate method.
2009-11-13 Adam Roben <aroben@apple.com>
Finish replacing worldIDs with world objects
The only remaining use of worldIDs was in a method only used by DRT
for the isolated worlds tests.
Fixes <http://webkit.org/b/31414> Replace worldIDs with world objects
Reviewed by Mark Rowe.
* WebView/WebFrame.mm:
(-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):
* WebView/WebFramePrivate.h:
Renamed from
_stringByEvaluatingJavaScriptInIsolatedWorld:WithGobalObject:FromString:.
Now takes a WebScriptWorld instead of a worldID, so we don't need to
maintain a map of worldID -> world anymore.
2009-11-12 Dan Bernstein <mitz@apple.com>
Reviewed by Adele Peterson.
When exiting full-screen video, rather than resetting the system UI
mode, restore it to what it was when full-screen mode was entered.
* WebView/WebVideoFullscreenController.h: Cleaned up style, removed
unnecessary imports, and added _savedUIMode and _savedUIOptions ivars.
* WebView/WebVideoFullscreenController.mm:
(-[WebVideoFullscreenController delegate]): Cleaned up style.
(-[WebVideoFullscreenController setDelegate:]): Ditto.
(-[WebVideoFullscreenController windowDidExitFullscreen]): Restore the
system UI mode.
(-[WebVideoFullscreenController windowDidEnterFullscreen]): Save the
system UI mode.
* WebView/WebView.mm: Added now-necessary import.
2009-11-12 Shinichiro Hamaji <hamaji@chromium.org>
Reviewed by Darin Adler.
externalRepresentation should take Frame as the argument
https://bugs.webkit.org/show_bug.cgi?id=31393
No new tests as this is just a refactoring.
* Misc/WebCoreStatistics.mm:
(-[WebFrame renderTreeAsExternalRepresentation]):
2009-11-12 Adam Roben <aroben@apple.com>
Replace worldIDs with world objects
WebScriptWorld is the new object that represents a world. The only
place worldID is still used is in -[WebFrame
_stringByEvaluatingJavaScriptInIsolatedWorld:WithGlobalObject:FromString:],
but that will change soon.
Part of <http://webkit.org/b/31414> Implement new SPI for dealing with
user scripts/stylesheets and isolated worlds
Reviewed by Sam Weinig.
* WebKit.exp: Export WebScriptWorld.
* WebView/WebFrame.mm:
(-[WebFrame _stringByEvaluatingJavaScriptInIsolatedWorld:WithGlobalObject:FromString:]):
Moved the bizarre world caching/creation logic that DRT depends on
here from the findWorld function in ScriptController.cpp. Updated to
use ScriptController::executeScriptInWorld instead of
ScriptController::executeScriptInIsolatedWorld.
(-[WebFrame _contextForWorld:]): Renamed from contextForWorldID:. Now
takes a WebScriptWorld.
* WebView/WebFramePrivate.h: Replaced contextForWorldID: with
_contextForWorld:.
* WebView/WebScriptWorld.h: Added.
* WebView/WebScriptWorld.mm: Added.
(-[WebScriptWorld initWithWorld:]): Store the passed-in world in our
_private member.
(-[WebScriptWorld init]): Create a new DOMWrapperWorld and pass it to
-initWithWorld:.
(-[WebScriptWorld dealloc]): Release _private.
(+[WebScriptWorld standardWorld]): Returns a shared instance that
represents WebCore's mainThreadNormalWorld().
(+[WebScriptWorld world]): Returns a new instance.
(core): Returns the DOMWrapperWorld for this WebScriptWorld.
* WebView/WebScriptWorldInternal.h: Added.
* WebView/WebView.mm:
(+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:]):
(+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:]):
(+[WebView _removeUserScriptFromGroup:world:url:]):
(+[WebView _removeUserStyleSheetFromGroup:world:url:]):
(+[WebView _removeUserScriptsFromGroup:world:]):
(+[WebView _removeUserStyleSheetsFromGroup:world:]):
* WebView/WebViewPrivate.h:
Changed these functions to take a WebScriptWorld instead of a worldID.
2009-11-12 Chris Fleizach <cfleizach@apple.com>
Reviewed by Darin Adler.
ARIA: add alert type roles
https://bugs.webkit.org/show_bug.cgi?id=31392
* WebCoreSupport/WebViewFactory.mm:
(-[WebViewFactory AXARIAContentGroupText:]):
2009-11-10 Daniel Bates <dbates@webkit.org>
Reviewed by Oliver Hunt.
https://bugs.webkit.org/show_bug.cgi?id=30754
Removed method draggedImage:movedTo:
* WebView/WebFrame.mm:
* WebView/WebFrameInternal.h:
* WebView/WebHTMLView.mm:
2009-11-10 Beth Dakin <bdakin@apple.com>
Reviewed by Darin Adler.
Small WebKit part of:
Fix for <rdar://problem/7059710>
-and corresponding-
https://bugs.webkit.org/show_bug.cgi?id=31196 Implement -webkit-
color-correction for CSS colors
* Misc/WebKitNSStringExtras.mm:
(-[NSString _web_drawAtPoint:font:textColor:]): setFillColor now
requires callers to pass a ColorSpace.
2009-11-10 Dan Bernstein <mitz@apple.com>
Reviewed by Eric Carlson and Darin Adler.
WebKit part of making full-screen video pause during scrubbing.
* WebView/WebVideoFullscreenHUDWindowController.h: Added _isScrubbing
ivar.
* WebView/WebVideoFullscreenHUDWindowController.mm:
(-[WebVideoFullscreenHUDWindowController dealloc]): Assert that
_isScrubbing is NO.
(-[WebVideoFullscreenHUDWindowController endScrubbing]): Call
HTMLMediaElement::endScrubbing().
(-[WebVideoFullscreenHUDWindowController timelinePositionChanged:]):
If scrubbing has just begun, call HTMLMediaElement::beginScrubbing()
and schedule -endScrubbing to be called when mouse tracking ends.
2009-11-09 Mark Mentovai <mark@chromium.org>
Reviewed by Dan Bernstein.
Track "can have scrollbar" state within FrameView independently of the
individual scrollbar states in ScrollView.
rdar://problem/7215132, https://bugs.webkit.org/show_bug.cgi?id=29167
REGRESSION (r48064): mint.com loses scrollbars after coming out of
edit mode.
rdar://problem/7314421, https://bugs.webkit.org/show_bug.cgi?id=30517
REGRESSION (r48064): Extra scroll bars in GarageBand Lesson Store.
Test: fast/overflow/scrollbar-restored.html
* WebView/WebFrameView.mm:
(-[WebFrameView _install]):
2009-11-08 Dan Bernstein <mitz@apple.com>
Reviewed by Eric Carlson.
Made the full-screen video HUD appear when playback stops, such as when
the end of the video is reached.
* WebView/WebVideoFullscreenHUDWindowController.h: Cleaned up.
* WebView/WebVideoFullscreenHUDWindowController.mm:
(-[WebVideoFullscreenHUDWindowController scheduleTimeUpdate]): Updated
for the renaming of -updateRate to -updatePlayButton.
(-[WebVideoFullscreenHUDWindowController updatePlayButton]): Renamed
-updateRate to this.
(-[WebVideoFullscreenHUDWindowController updateRate]): This method now
responds to changes to the playback rate by updating the play button
and showing or hiding the HUD as necessary.
(-[WebVideoFullscreenHUDWindowController togglePlaying:]): Now only
toggles playing. UI updates are driven by -updateRate being called.
(-[WebVideoFullscreenHUDWindowController playing]): Cleaned up.
2009-11-02 Eric Carlson <eric.carlson@apple.com>
Reviewed by John Sullivan and Mark Rowe.
<rdar://problem/7356733> Voiceover does not read correct media controller time values
* WebCoreSupport/WebViewFactory.mm:
(-[WebViewFactory localizedMediaTimeDescription:]):
2009-11-02 Dan Bernstein <mitz@apple.com>
Reviewed by Anders Carlsson.
Made the remaining time display show negative zero at the end of the
video.
Made other cleanup.
* WebView/WebVideoFullscreenHUDWindowController.h: Reverted the types of
_timeline and _volumeSlider to the more generic NSControl.
* WebView/WebVideoFullscreenHUDWindowController.mm:
(-[WebVideoFullscreenHUDWindowController scheduleTimeUpdate]): Cleaned
up style.
(-[WebVideoFullscreenHUDWindowController windowDidLoad]): Added an
assertion that the cast to NSButton * is legal. Removed casts.
(-[WebVideoFullscreenHUDWindowController updateTime]): Use
-setValue:forKey: instead of an NSSlider method.
(timeToString): Changed to support only non-negative values and
simplified.
(-[WebVideoFullscreenHUDWindowController remainingTimeText]): Always
prepend a “-” to the time.
2009-11-02 Dan Bernstein <mitz@apple.com>
Reviewed by John Sullivan.
WebKit part of making the appearance of the full-screen video HUD match
QuickTime Player X’s HUD.
* WebView/WebVideoFullscreenHUDWindowController.h: Removed unnecessary
#import statements, cleaned up style, and changed _timeline,
_volumeSlider and _playButton to have more specific types.
* WebView/WebVideoFullscreenHUDWindowController.mm: Updated #import
statements.
(webkit_CGFloor): Added this helper function.
(-[WebVideoFullscreenHUDWindowController init]): Cleaned up style.
(createTimeTextField): Changed to use the bold system font.
(-[WebVideoFullscreenHUDWindowController windowDidLoad]): Changed the
subviews’ metrics and the text fields’ text alignment.
(-[WebVideoFullscreenHUDWindowController updateTime]): Avoid conversion
from double to float.
(stringToTimeTextAttributed): Removed this useless function that
returned an NSAttributedString masquerading as an NSString.
(-[WebVideoFullscreenHUDWindowController remainingTimeText]): Removed
call to stringToTimeTextAttributed().
(-[WebVideoFullscreenHUDWindowController elapsedTimeText]): Ditto.
2009-11-02 Chris Fleizach <cfleizach@apple.com>
Reviewed by Beth Dakin.
Support ARIA "tab" roles
https://bugs.webkit.org/show_bug.cgi?id=30842
* WebCoreSupport/WebViewFactory.mm:
(-[WebViewFactory AXARIAContentGroupText:]):
2009-11-01 Dan Bernstein <mitz@apple.com>
Reviewed by Mark Rowe.
Made the space bar toggle playing state in full-screen video when
modifier keys are down. Made it do so without highlighting the
Play/Pause button.
* WebView/WebVideoFullscreenHUDWindowController.mm:
(-[WebVideoFullscreenHUDWindowController keyDown:]):
2009-11-01 Dan Bernstein <mitz@apple.com>
Reviewed by Mark Rowe.
Made the full-screen video HUD respond to the up and down arrow keys by
increasing and decreasing the volume by 1/10 of the range or, when
combined with the Option key, all the way up or down.
Made the volume buttons in the full-screen video HUD match the behavior
of their equivalents in the QuickTime Player HUD by turning the volume
all the way up or down.
Made the volume slider update immediately when the keyboard or volume
buttons are used to change the volume, rather than at the nearest 1/4
second interval.
Made the elapsed and remaining time displays update immediately when the
play head is dragged across the timeline, rather than at 1/4 second
intervals.
* WebView/WebVideoFullscreenHUDWindowController.mm:
(-[WebVideoFullscreenHUDWindowController keyDown:]): Handle the up and
down arrow keys.
(-[WebVideoFullscreenHUDWindowController windowDidLoad]): Changed the
actions of the volume up and volume down buttons.
(-[WebVideoFullscreenHUDWindowController setCurrentTime:]): Call
-updateTime.
(-[WebVideoFullscreenHUDWindowController setVolumeToZero:]): Added this
action for the volume down button.
(-[WebVideoFullscreenHUDWindowController setVolumeToMaximum:]): Added
this action for the volume up button.
(-[WebVideoFullscreenHUDWindowController decrementVolume]): No longer
and action method.
(-[WebVideoFullscreenHUDWindowController incrementVolume]): Ditto.
(-[WebVideoFullscreenHUDWindowController setVolume:]): Call
-updateVolume.
2009-10-30 Evan Stade <estade@chromium.org>
Reviewed by David Levin.
Notify the chrome when the focused node has changed.
https://bugs.webkit.org/show_bug.cgi?id=30832
Added stub implementation for new ChromeClient function.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::focusedNodeChanged):
2009-10-30 Roland Steiner <rolandsteiner@chromium.org>
Reviewed by Eric Seidel.
Remove ENABLE_RUBY guards as discussed with Dave Hyatt and Maciej Stachowiak.
Bug 28420 - Implement HTML5 <ruby> rendering
(https://bugs.webkit.org/show_bug.cgi?id=28420)
No new tests (no functional change).
* Configurations/FeatureDefines.xcconfig:
2009-10-29 Mark Rowe <mrowe@apple.com>
Reviewed by Oliver Hunt.
Validate the stopSpeaking: selector so that is not always enabled when a WebView is first responder.
* WebView/WebHTMLView.mm:
(-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
2009-10-29 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=30932
<rdar://problem/7350269>
REGRESSION: Crash when turning on Private Browsing on site with flash.
Null check setValue.
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView privateBrowsingModeDidChange]):
2009-10-29 Eric Carlson <eric.carlson@apple.com>
Reviewed by Kevin Decker.
Refactor some duplicate plug-in clean up code into shared functions.
* Plugins/WebPluginController.mm:
(-[WebPluginController stopOnePlugin:]): New, stop a plug-in.
(-[WebPluginController destroyOnePlugin:]): New, destroy plug-in.
(-[WebPluginController stopAllPlugins]): Call stopOnePlugin.
(-[WebPluginController destroyPlugin:]): Call stopOnePlugin and destroyOnePlugin.
(-[WebPluginController destroyAllPlugins]): Call destroyOnePlugin.
2009-10-28 Eric Carlson <eric.carlson@apple.com>
Reviewed by Simon Fraser.
<rdar://problem/7303145>
Can't exit full screen mode or restart movie after pressing command -R.
* WebView/WebVideoFullscreenController.mm:
(-[WebVideoFullscreenController _requestExit]):
New, call media element's exitFullscreen method.
(-[WebVideoFullscreenController requestExitFullscreenWithAnimation:]):
Call mediaElement->exitFullscreen() after a delay as it turns around and calls
WebVideoFullscreenController:exitFullscreen.
* WebView/WebVideoFullscreenHUDWindowController.h:
* WebView/WebVideoFullscreenHUDWindowController.mm:
(-[WebVideoFullscreenHUDWindow resignFirstResponder]):
New, don't give up responder status.
(-[WebVideoFullscreenHUDWindow performKeyEquivalent:]):
New, block all command key events.
(-[WebVideoFullscreenHUDWindowController exitFullscreen:]):
Remember when we are in the process of exiting fullscreen, don't allow recursion.
* WebView/WebView.mm:
(-[WebView _exitFullscreen]):
Early return if fullscreen controller is nil.
* WebView/WebWindowAnimation.h:
Correct comment about _window retain status.
* WebView/WebWindowAnimation.m:
(-[WebWindowScaleAnimation dealloc]):
Don't release _window, we never reatained it.
2009-10-27 Shinichiro Hamaji <hamaji@chromium.org>
Reviewed by Darin Adler.
Provide a way to get counter values with layoutTestContoller
https://bugs.webkit.org/show_bug.cgi?id=30555
Add counterValueForElement in WebFrame to call WebCore::counterValueForElement.
* Misc/WebCoreStatistics.h:
* Misc/WebCoreStatistics.mm:
(-[WebFrame counterValueForElement:]):
2009-10-27 Geoffrey Garen <ggaren@apple.com>
Reviewed by Sam Weinig.
Updated for refactoring in the date code.
* WebView/WebView.mm:
(aeDescFromJSValue): Since we just want a number of milliseconds, do that
instead of something more complicated.
2009-10-26 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
Move some WebView event handling code into its own file, WebViewEventHandling.mm
* WebView/WebView.mm:
(-[WebView _close]):
(-[WebView _selectedOrMainFrame]):
* WebView/WebViewEventHandling.mm: Added.
(-[WebView _closingEventHandling]):
(-[WebView _setMouseDownEvent:]):
(-[WebView mouseDown:]):
(-[WebView mouseUp:]):
(+[WebView _updateMouseoverWithEvent:]):
(-[WebView _updateMouseoverWithFakeEvent]):
(_updateMouseoverWithEvent:fakeEvent::if):
(-[WebView _stopAutoscrollTimer]):
(-[WebView _setToolTip:]):
* WebView/WebViewInternal.h:
2009-10-26 Simon Fraser <simon.fraser@apple.com>
Reviewed by Sam Weinig.
<rdar://problem/6988966> Hardware layers do not show up in page snapshots
* WebView/WebHTMLViewPrivate.h:
* WebView/WebHTMLView.mm:
(-[WebHTMLView _compositingLayersHostingView]):
Add a private method that returns the NSView used to host compositing layers.
2009-10-23 Mark Rowe <mrowe@apple.com>
Fix engineering builds in the mysterious future.
* Configurations/DebugRelease.xcconfig:
2009-10-23 Gavin Barraclough <barraclough@apple.com>
Reviewed by Geoff Garen.
https://bugs.webkit.org/show_bug.cgi?id=30729
Provide private API to request the global context for a specific world.
Used to initialize parameters on the global object.
* WebView/WebFramePrivate.h:
* WebView/WebFrame.mm:
(-[WebFrame contextForWorldID:]):
2009-10-22 Eric Carlson <eric.carlson@apple.com>
Reviewed by John Sullivan.
<rdar://problem/7322847>
Pressing space bar key in full screen mode should pause movie but doesn't
* WebView/WebVideoFullscreenHUDWindowController.mm:
(-[WebVideoFullscreenHUDWindowController keyDown:]): New, toggle playback on space key.
(-[WebVideoFullscreenHUDWindowController windowDidLoad]): Play button action is now called togglePlaying.
(-[WebVideoFullscreenHUDWindowController togglePlaying:]): Rename from playingChanged.
2009-10-22 Gavin Barraclough <barraclough@apple.com>
Reviewed by NOBODY (build fix).
Build fix following bug #30696.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::getWindowNPObject):
(WebKit::NetscapePluginInstanceProxy::evaluate):
(WebKit::NetscapePluginInstanceProxy::invoke):
(WebKit::NetscapePluginInstanceProxy::invokeDefault):
(WebKit::NetscapePluginInstanceProxy::construct):
(WebKit::NetscapePluginInstanceProxy::getProperty):
(WebKit::NetscapePluginInstanceProxy::setProperty):
(WebKit::NetscapePluginInstanceProxy::removeProperty):
(WebKit::NetscapePluginInstanceProxy::hasProperty):
(WebKit::NetscapePluginInstanceProxy::hasMethod):
(WebKit::NetscapePluginInstanceProxy::enumerate):
2009-10-16 Gavin Barraclough <barraclough@apple.com>
Reviewed by Sam Weinig & Geoff Garen.
https://bugs.webkit.org/show_bug.cgi?id=30696
Update to incorporate support for IsolatedWorlds in JSC bindings.
* WebView/WebFrame.mm:
(-[WebFrame _attachScriptDebugger]):
(-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
(-[WebFrame globalContext]):
* WebView/WebScriptDebugDelegate.mm:
(-[WebScriptCallFrame evaluateWebScript:]):
* WebView/WebView.mm:
(-[WebView aeDescByEvaluatingJavaScriptFromString:]):
2009-10-22 Eric Carlson <eric.carlson@apple.com>
Reviewed by Dan Bernstein & Simon Fraser.
<rdar://problem/7297717>
https://bugs.webkit.org/show_bug.cgi?id=30323
Play/pause button in full-screen video controller does not reflect current state
* WebView/WebVideoFullscreenController.mm:
(-[WebVideoFullscreenController setMediaElement:WebCore::]): Register for QTMovieRateDidChangeNotification
(-[WebVideoFullscreenController rateChanged:]): Call HUD controller when rate changes.
* WebView/WebVideoFullscreenHUDWindowController.h:
* WebView/WebVideoFullscreenHUDWindowController.mm:
(-[WebVideoFullscreenHUDWindowController scheduleTimeUpdate]): Call updateRate so play button
reflects playback state.
(-[WebVideoFullscreenHUDWindowController updateRate]): New, set play button state according to
movie state.
(-[WebVideoFullscreenHUDWindowController playingChanged:]): Only call [self playing] once.
2009-10-21 John Sullivan <sullivan@apple.com>
Rubber-stamped by Dan Bernstein.
* WebView/WebDynamicScrollBarsView.h:
Corrected a couple of long-obsolete comments regarding Safari's use of this class.
2009-10-20 Dan Bernstein <mitz@apple.com>
Rubber-stamped by Mark Rowe.
<rdar://problem/7319749> REGRESSION(r49806): Contextual Menu items missing
https://bugs.webkit.org/show_bug.cgi?id=30568
Revert accidental change from r49806.
* WebCoreSupport/WebContextMenuClient.mm:
(WebContextMenuClient::getCustomMenuFromDefaultItems):
2009-10-20 Fumitoshi Ukai <ukai@chromium.org>
Reviewed by David Levin.
Removed WebSocket runtime settings.
https://bugs.webkit.org/show_bug.cgi?id=29896
WebSocket runtime configuration is supported by chromium/v8 only.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]):
2009-10-19 Nate Chapin <japhet@chromium.org>
Reviewed by Alexey Proskuryakov.
Update call to loadFrameRequest to match new parameters.
* WebView/WebPDFView.mm:
(-[WebPDFView PDFViewWillClickOnLink:withURL:]): Update call to loadFrameRequest.
2009-10-19 David Kilzer <ddkilzer@apple.com>
Documentation fix for -[NSObject(WebResourceLoadDelegate) webView:resource:willSendRequest:redirectResponse:fromDataSource:]
Reviewed by Dan Bernstein.
* WebView/WebResourceLoadDelegate.h: Prepended "webView:" to the
@method declaration of
-webView:resource:willSendRequest:redirectResponse:fromDataSource:
which was absent before r3953 and was missed during the great
documentation clean up of r4269.
2009-10-19 Anders Carlsson <andersca@apple.com>
Fix build.
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):
2009-10-19 Dan Bernstein <mitz@apple.com>
Reviewed by Anders Carlsson.
Split assertions of conjunctions into separate statements or remove
redundant assertions.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WebKit::NetscapePluginHostProxy::deadNameNotificationCallback):
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView setAttributeKeys:andValues:]):
(-[WebHostedNetscapePluginView _webPluginContainerCancelCheckIfAllowedToLoadRequest:]):
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView halt]):
(-[WebBaseNetscapePluginView resumeFromHalt]):
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):
(-[WebNetscapePluginView _webPluginContainerCancelCheckIfAllowedToLoadRequest:]):
* WebCoreSupport/WebContextMenuClient.mm:
(WebContextMenuClient::getCustomMenuFromDefaultItems):
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::checkGrammarOfString):
(WebEditorClient::checkTextOfParagraph):
* WebView/WebTextCompletionController.mm:
(-[WebTextCompletionController _reflectSelection]):
2009-10-18 Mark Rowe <mrowe@apple.com>
Reviewed by Dan Bernstein.
<rdar://problem/7309062> Crashes in WebCore::DocumentLoader::isStopping below WebKit::NetscapePluginInstanceProxy::loadRequest.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::loadRequest): Null-check the DocumentLoader before deferencing it.
2009-10-16 Kevin Decker <kdecker@apple.com>
Reviewed by Jon Honeycutt.
<rdar://problem/7304575>
* Plugins/WebBaseNetscapePluginView.h: Added new boolean ivar and -hasBeenHalted instance method.
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView halt]):Update _hasBeenHalted.
(-[WebBaseNetscapePluginView hasBeenHalted]): Added.
* WebView/WebView.mm:
(+[WebView _hasPluginForNodeBeenHalted:]): Checks to see if a plug-in node's been halted.
* WebView/WebViewPrivate.h: Added -_hasPluginForNodeBeenHalted method.
2009-10-16 Kevin Decker <kdecker@apple.com>
Reviewed by Anders Carlson.
Small code cleanup
* Plugins/WebBaseNetscapePluginView.mm:
(WebHaltablePlugin::halt): Just call -[WebBaseNetscapePluginView halt].
(WebHaltablePlugin::restart): Just call -[WebBaseNetscapePluginView resumeFromHalt]
(-[WebBaseNetscapePluginView halt]):
(-[WebBaseNetscapePluginView resumeFromHalt]):
* WebView/WebView.mm:
(_pluginViewForNode): Added a check if a render is a widget. This prevents a later assertion.
2009-10-16 Kevin Decker <kdecker@apple.com>
Reviewed by Anders Carlson.
Last part of:
<rdar://problem/7273354>
* WebView/WebView.mm:
(_pluginViewForNode): Added with code extracted from _isNodeHaltedPlugin
(+[WebView _isNodeHaltedPlugin:]): Made this a class method.
(+[WebView _restartHaltedPluginForNode:]): Added. Restarts a plug-in
* WebView/WebViewPrivate.h: Added +_restartHaltedPluginForNode to header.
2009-10-16 Kevin Decker <kdecker@apple.com>
Reviewed by Anders.
<rdar://problem/7273354>
* Plugins/WebBaseNetscapePluginView.h: Added _isHalted ivar and three new methods: -halt, -resumeFromHalt, and -isHalted
* Plugins/WebBaseNetscapePluginView.mm:
(WebHaltablePlugin::halt): Call -halt instead of -stop.
(WebHaltablePlugin::restart):Call -resumeFromHalt instead of -start.
(-[WebBaseNetscapePluginView halt]): Added. Stop the plug-in, update _isHalted.
(-[WebBaseNetscapePluginView resumeFromHalt]): Added. Start the plug-in, update _isHalted.
(-[WebBaseNetscapePluginView isHalted]): Added.
* WebView/WebView.mm:
(-[WebView _isNodeHaltedPlugin:]): Added. Queries a DOMNode to determine if it's a halted plug-in.
* WebView/WebViewPrivate.h: Added _isNodeHaltedPlugin.
2009-10-15 Eric Carlson <eric.carlson@apple.com>
Reviewed by Adele Peterson.
<rdar://problem/7306052> Fullscreen max/min volume buttons non-functional
* WebView/WebVideoFullscreenHUDWindowController.mm:
(-[WebVideoFullscreenHUDWindowController windowDidLoad]): Set volume buttons target and action.
(-[WebVideoFullscreenHUDWindowController decrementVolume:]): New, decrement the volume by 10%.
(-[WebVideoFullscreenHUDWindowController incrementVolume:]): New, increment the volume by 10%.
2009-10-15 Eric Carlson <eric.carlson@apple.com>
Reviewed by Simon Fraser.
<rdar://problem/7295738> No way to mute/unmute a movie in full screen video mode
* WebView/WebVideoFullscreenHUDWindowController.mm:
(-[WebVideoFullscreenHUDWindowController setVolume:]): Unmute movie before changing volume.
2009-10-14 Kevin Decker <kdecker@apple.com>
Unbreak the world.
* Plugins/WebBaseNetscapePluginView.mm:
(WebHaltablePlugin::restart):
2009-10-14 Kevin Decker <kdecker@apple.com>
Reviewed by Anders Carlsson and Jon Honeycutt
<rdar://problem/7304295> snapshots of halted plug-ins are missing
* Plugins/WebBaseNetscapePluginView.mm: Move bodies of WebHaltablePlugin virtual functions from WebHaltablePlugin class definition.
(WebHaltablePlugin::halt): Provide a substitute image to the RenderWidget for the plug-in view.
(WebHaltablePlugin::restart): Clear the substitute image.
2009-10-13 Dave Hyatt <hyatt@apple.com>
Reviewed by Adam Roben.
Change the order of arguments on some methods. Split removal for user stylesheets and script into
separate functions based off the type of object being removed.
* WebView/WebView.mm:
(+[WebView _addUserScriptToGroup:worldID:source:url:whitelist:blacklist:injectionTime:]):
(+[WebView _addUserStyleSheetToGroup:worldID:source:url:whitelist:blacklist:]):
(+[WebView _removeUserScriptFromGroup:worldID:url:]):
(+[WebView _removeUserStyleSheetFromGroup:worldID:url:]):
(+[WebView _removeUserScriptsFromGroup:worldID:]):
(+[WebView _removeUserStyleSheetsFromGroup:worldID:]):
* WebView/WebViewPrivate.h:
2009-10-13 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
<rdar://problem/6660507> Add "privacy mode" to Netscape Plug-in API
Listen for WebPreferences notifications and update the _isPrivateBrowsingEnabled ivar
when the value changes. Also call -[WebBaseNetscapePluginView privateBrowsingModeDidChange] when the
value changes. In process this just calls NPP_SetValue, and OOP it sends a MIG message to the plug-in host.
* Plugins/Hosted/NetscapePluginHostManager.h:
* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::instantiatePlugin):
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::privateBrowsingModeDidChange):
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView createPlugin]):
(-[WebHostedNetscapePluginView privateBrowsingModeDidChange]):
* Plugins/Hosted/WebKitPluginHost.defs:
* Plugins/WebBaseNetscapePluginView.h:
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView privateBrowsingModeDidChange]):
(-[WebBaseNetscapePluginView viewDidMoveToWindow]):
(-[WebBaseNetscapePluginView preferencesHaveChanged:]):
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView privateBrowsingModeDidChange]):
(-[WebNetscapePluginView getVariable:value:]):
2009-10-12 Simon Fraser <simon.fraser@apple.com>
Reviewed by Darin Adler.
Video keeps playing after going fullscreen, then closing window
https://bugs.webkit.org/show_bug.cgi?id=30164
Clear the QTMovie on the QTMovieView when coming out of fullscreen,
to fix issue where the underlying movie keeps playing.
* WebView/WebVideoFullscreenController.mm:
(-[WebVideoFullscreenController windowDidExitFullscreen]):
2009-10-11 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
<rdar://problem/7294267> REGRESSION (r48492): Gmail voice and video chat
doesn’t work
https://bugs.webkit.org/show_bug.cgi?id=30295
Test: plugins/setProperty.html
* Plugins/Hosted/ProxyInstance.mm:
(WebKit::ProxyInstance::setFieldValue): Fixed a typo. The function
should return early if m_instanceProxy is null.
2009-10-09 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
Factor HistoryController out of FrameLoader
https://bugs.webkit.org/show_bug.cgi?id=30246
Update API call.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::restoreViewState):
* WebView/WebView.mm:
(-[WebView _loadBackForwardListFromOtherView:]):
2009-10-09 Mark Rowe <mrowe@apple.com>
Reviewed by Brady Eidson.
<rdar://problem/7290671> Crash after navigating away from a page with subframe containing plug-in
At the time that -stop is called on a WebBaseNetscapePluginView that is contained within a subframe
the WebFrame's data source has been zeroed out. This was causing -[WebBaseNetscapePluginView webFrame]
to return nil during -stop, preventing the plug-in view from unregistering itself from the PluginHalter.
We fix this by having -webFrame retrieve the frame directly rather than retrieving it from the data source.
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView dataSource]): Get the data source from the WebFrame.
(-[WebBaseNetscapePluginView webFrame]): Get the Frame directly from the element's document rather
than taking a windy route through the WebDataSource.
2009-10-09 Brady Eidson <beidson@apple.com>
Reviewed by Dan Bernstein.
Add SPI to specifically enable visited link tracking.
* History/WebHistory.mm:
(+[WebHistory _setVisitedLinkTrackingEnabled:]):
* History/WebHistoryPrivate.h:
2009-10-08 Jon Honeycutt <jhoneycutt@apple.com>
Remove the WebKitPluginHalterEnabledPreferenceKey in favor of checking
for the existence of a PluginHalterDelegate.
Reviewed by Dan Bernstein.
* WebCoreSupport/WebPluginHalterClient.h:
Add declaration for new function.
* WebCoreSupport/WebPluginHalterClient.mm:
(WebPluginHalterClient::enabled):
Check whether the UIDelegate responds to shouldHaltPlugin.
* WebView/WebPreferenceKeysPrivate.h:
Remove the "enabled" preference key.
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
Remove the initialization of the pref.
* WebView/WebPreferencesPrivate.h:
Remove the getter/setter for this pref.
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]):
Remove propagation of the pref.
2009-10-08 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Move executeScript from FrameLoader to ScriptController
https://bugs.webkit.org/show_bug.cgi?id=30200
Update API call.
* WebView/WebFrame.mm:
(-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
* WebView/WebView.mm:
(-[WebView aeDescByEvaluatingJavaScriptFromString:]):
2009-10-08 Brady Eidson <beidson@apple.com>
Reviewed by Dan Bernstein.
Ask the History Delegate to populate the visited links hash.
<rdar://problem/7285293> and https://webkit.org/b/29904
* History/WebHistory.mm:
(+[WebHistory _removeAllVisitedLinks]):
* History/WebHistoryPrivate.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::populateVisitedLinks):
* WebView/WebDelegateImplementationCaching.h:
* WebView/WebDelegateImplementationCaching.mm:
(CallHistoryDelegate):
* WebView/WebHistoryDelegate.h:
* WebView/WebView.mm:
(-[WebView _cacheHistoryDelegateImplementations]):
(-[WebView addVisitedLinks:]):
* WebView/WebViewPrivate.h:
2009-10-08 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Remove the shouldLoadMediaElementURL implementation.
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
* WebView/WebPolicyDelegatePrivate.h:
2009-10-07 Simon Fraser <simon.fraser@apple.com>
Re-land 49269-49271 since reverting them did not fix the tests.
* WebView/WebHTMLView.mm:
(-[WebHTMLView drawRect:]):
2009-10-07 Simon Fraser <simon.fraser@apple.com>
Revert 49269-49271 to see if it fixes test failures on SnowLeopard that do not
reproduce locally.
* WebView/WebHTMLView.mm:
(-[WebHTMLView drawRect:]):
2009-10-07 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
Factor PolicyChecker out of FrameLoader
https://bugs.webkit.org/show_bug.cgi?id=30155
Move the policy callback to the policy object.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchWillSubmitForm):
(WebFrameLoaderClient::receivedPolicyDecison):
2009-10-07 Brady Eidson <beidson@apple.com>
Reviewed by Darin Adler.
Send title changes to the global history delegate.
<rdar://problem/7285293> and https://webkit.org/b/29904
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::setTitle):
* WebView/WebDelegateImplementationCaching.h:
* WebView/WebHistoryDelegate.h:
* WebView/WebView.mm:
(-[WebView _cacheHistoryDelegateImplementations]):
2009-10-07 Darin Adler <darin@apple.com>
Reviewed by John Sullivan.
Make the setMetadataURL function foolproof by having it remove user info
https://bugs.webkit.org/show_bug.cgi?id=30178
rdar://problem/6544670
* Misc/WebNSFileManagerExtras.m:
(-[NSFileManager _webkit_setMetadataURL:referrer:atPath:]):
Call _web_URLByRemovingUserInfo on the passed in URL string after converting
it to a URL, and then convert it back to a string.
* Misc/WebNSURLExtras.h: Added _web_URLByRemovingUserInfo.
* Misc/WebNSURLExtras.mm: Removed unused WebKitURLComponents struct.
(-[NSURL _web_URLByTruncatingOneCharacterBeforeComponent:]): Renamed to be
clearer on what this does.
(-[NSURL _webkit_URLByRemovingFragment]): Changed to call new name.
(-[NSURL _webkit_URLByRemovingResourceSpecifier]): Ditto.
(-[NSURL _web_URLByRemovingComponentAndSubsequentCharacter:]): Added.
(-[NSURL _web_URLByRemovingUserInfo]): Added.
2009-10-07 Simon Fraser <simon.fraser@apple.com>
Make Dan Bernstein happy.
* WebView/WebHTMLView.mm:
(-[WebHTMLView drawRect:]):
2009-10-07 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
Avoid Obj-C message dispatch when possible by storing accessed objects
in local variables.
* WebView/WebHTMLView.mm:
(-[WebHTMLView drawRect:]):
2009-10-07 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
Animation stalls for a few seconds partway through
https://bugs.webkit.org/show_bug.cgi?id=30182
Make sure that we only call -disableScreenUpdatesUntilFlush when a window
update is actually going to happen, otherwise screen updates are disabled
for too long.
* WebView/WebHTMLView.mm:
(-[WebHTMLView drawRect:]):
2009-10-06 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: default to an attached inspector window on Windows (as on Mac).
https://bugs.webkit.org/show_bug.cgi?id=30134
* WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController showWindow:]):
2009-10-06 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Move FrameLoader::canLoad to SecurityOrigin
https://bugs.webkit.org/show_bug.cgi?id=30111
* Plugins/Hosted/HostedNetscapePluginStream.mm:
(WebKit::HostedNetscapePluginStream::HostedNetscapePluginStream):
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::loadRequest):
* Plugins/WebBaseNetscapePluginStream.mm:
(WebNetscapePluginStream::WebNetscapePluginStream):
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
* Plugins/WebPluginContainerCheck.mm:
(-[WebPluginContainerCheck _isForbiddenFileLoad]):
* WebView/WebFrame.mm:
(-[WebFrame _allowsFollowingLink:]):
2009-10-06 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Move setLocalLoadPolicy and friends to SecurityOrigin
https://bugs.webkit.org/show_bug.cgi?id=30110
Call the new API.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
2009-10-06 Simon Fraser <simon.fraser@apple.com>
Reviewed by Mark Rowe.
accessibility/media-element.html crashes (and has incorrect result)
https://bugs.webkit.org/show_bug.cgi?id=30108
Fix up the accessibilty label for the newly added fullscreen button,
and update the test result accordingly.
* WebCoreSupport/WebViewFactory.mm:
(-[WebViewFactory localizedMediaControlElementString:]):
Handle "ControlsPanel" which is just an empty container, to avoid
asserting in debug builds.
2009-10-06 Daniel Bates <dbates@webkit.org>
Reviewed by Eric Seidel.
https://bugs.webkit.org/show_bug.cgi?id=30107
Fixes an issue where the Mac build does return the correct drop effect
with respect to the HTML 5 specification when effectAllowed == "none".
Currently, when effectAllowed == "none" and dropEffect == "copy" or
dropEffect == "move" the resulting drop effect is "copy" and "move",
respectively. However, the HTML 5 specification states that regardless
of the specified dropEffect, when effectAllowed == "none" the resulting
drop effect should be "none".
* WebView/WebHTMLView.mm:
(-[WebHTMLView draggingSourceOperationMaskForLocal:]):
2009-10-06 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: close inspector client view on
InspectorController::close API call.
In order to run batch web inspector layout tests (and not affect
subsequent tests) we should close inspector client's view upon
InspectorController::close API call.
https://bugs.webkit.org/show_bug.cgi?id=30009
* WebCoreSupport/WebInspectorClient.mm:
(WebInspectorClient::createPage):
2009-10-05 Dan Bernstein <mitz@apple.com>
Rubber-stamped by Mark Rowe.
Moved a WebPluginHalterClient out of the WebCore namesapce.
* WebCoreSupport/WebPluginHalterClient.h:
2009-10-05 Kevin Decker <kdecker@apple.com>
Reviewed by Dan Bernstein.
Added new PluginHalter client, delegate and few more WebPreferences keys.
* WebView/WebPreferenceKeysPrivate.h: Added two new keys.
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]): Initialize newly added key.
(-[WebPreferences pluginAllowedRunTime]): Added.
(-[WebPreferences setPluginAllowedRunTime:]): Added.
* WebView/WebPreferencesPrivate.h: Added above two methods.
* WebView/WebUIDelegatePrivate.h: Added shouldHaltPlugin delegate.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
Setup a new WebPluginHalterClient.
(-[WebView _preferencesChangedNotification:]): Update WebCore settings accordingly.
* WebCoreSupport/WebPluginHalterClient.h: Added.
* WebCoreSupport/WebPluginHalterClient.mm: Added.
(WebPluginHalterClient::WebPluginHalterClient):
(WebPluginHalterClient::shouldHaltPlugin): Added, invoke the delegate.
2009-10-05 Simon Fraser <simon.fraser@apple.com>
More build fixes for Tiger.
* WebView/WebVideoFullscreenController.mm:
2009-10-05 Simon Fraser <simon.fraser@apple.com>
More build fixes for Tiger.
* WebView/WebVideoFullscreenController.mm:
(-[WebVideoFullscreenWindow animationDidEnd:]):
* WebView/WebWindowAnimation.m:
2009-10-05 Simon Fraser <simon.fraser@apple.com>
More build fixes for Tiger.
* WebView/WebVideoFullscreenController.mm:
* WebView/WebVideoFullscreenHUDWindowController.mm:
(-[WebVideoFullscreenHUDWindow initWithContentRect:styleMask:backing:defer:]):
(-[WebVideoFullscreenHUDWindowController scheduleTimeUpdate]):
(-[WebVideoFullscreenHUDWindowController fadeWindowIn]):
(-[WebVideoFullscreenHUDWindowController fadeWindowOut]):
(-[WebVideoFullscreenHUDWindowController closeWindow]):
2009-10-05 Simon Fraser <simon.fraser@apple.com>
Build fixes for Tiger.
* WebView/WebVideoFullscreenHUDWindowController.h:
* WebView/WebVideoFullscreenHUDWindowController.mm:
(-[WebVideoFullscreenHUDWindow initWithContentRect:styleMask:backing:defer:]):
(-[WebVideoFullscreenHUDWindowController dealloc]):
(-[WebVideoFullscreenHUDWindowController closeWindow]):
(-[WebVideoFullscreenHUDWindowController windowDidLoad]):
2009-10-05 Simon Fraser <simon.fraser@apple.com>
Build fix. If you call Node::hasTagName(), you also have to include Element.h.
* WebCoreSupport/WebChromeClient.mm:
2009-10-05 Pierre d'Herbemont <pdherbemont@webkit.org>
Reviewed by Simon Fraser
Support fullscreen in MediaPlayer (Mac)
https://bugs.webkit.org/show_bug.cgi?id=26742
Add a fullscreen button to the <video> controller if the media engine,
and the theme have support for fullscreen, and can show appropriate controls.
Clicking the button calls through the ChromeClient to the WebVideoFullscreenController
in WebKit to do a nice animation to fullscreen, with a custom controller.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::supportsFullscreenForNode):
(WebChromeClient::enterFullscreenForNode):
(WebChromeClient::exitFullscreenForNode):
New methods to ask whether fullscreen is possible for a given node, and
notifications on enterying and exiting fullscreen.
* WebView/WebVideoFullscreenController.h: Added.
* WebView/WebVideoFullscreenController.mm: Added.
WebVideoFullscreenController is responsible for creating the fullscreen window,
and coordinating the various animations when going fullscreen.
* WebView/WebVideoFullscreenHUDWindowController.h: Added.
* WebView/WebVideoFullscreenHUDWindowController.mm: Added.
This class manages the heads-up display (HUD) control bar.
* WebView/WebView.mm:
(-[WebView _close]):
Make sure we come out of fullscreen if the WebView is torn down (e.g. if
you close a background window).
(-[WebView _enterFullscreenForNode:WebCore::]):
Make a WebVideoFullscreenController and tell is to start to go fullscreen.
(-[WebView _exitFullscreen]):
Tell the WebVideoFullscreenController to come out of fullscreen, and clean up.
* WebView/WebViewData.h:
* WebView/WebViewData.mm:
(-[WebViewPrivate dealloc]):
(-[WebViewPrivate finalize]):
* WebView/WebViewInternal.h:
Keep a pointer to the WebVideoFullscreenController.
* WebView/WebWindowAnimation.h: Added.
* WebView/WebWindowAnimation.m: Added.
(WebWindowAnimationDurationFromDuration):
(scaledRect):
(squaredDistance):
Handle the animations used during the transitition to fullscreen.
2009-10-05 Anders Carlsson <andersca@apple.com>
Reviewed by Kevin Decker.
WebKit side of <rdar://problem/7179166>
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
Add an m_pluginIsWaitingForDraw member variable.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
Initialize m_pluginIsWaitingForDraw.
(WebKit::NetscapePluginInstanceProxy::invalidateRect):
Set m_pluginIsWaitingForDraw to true.
(WebKit::NetscapePluginInstanceProxy::didDraw):
If m_pluginIsWaitingForDraw is true, call _WKPHPluginInstanceDidDraw.
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView drawRect:]):
Call didDraw.
* Plugins/Hosted/WebKitPluginHost.defs:
Add PHPluginInstanceDidDraw.
2009-10-02 Chris Marrin <cmarrin@apple.com>
Reviewed by Adele Peterson.
Add functionality to pause/throttle CSS transitions/animations in a WebView
https://bugs.webkit.org/show_bug.cgi?id=29942
Added both a setter and getter function
* WebView/WebView.mm:
(-[WebView cssAnimationsSuspended]):
(-[WebView setCSSAnimationsSuspended:]):
* WebView/WebViewData.h:
* WebView/WebViewData.mm:
(-[WebViewPrivate init]):
* WebView/WebViewPrivate.h:
2009-10-04 Kevin Decker <kdecker@apple.com>
Reviewed by Sam Weinig.
<rdar://problem/7273363> Plug-ins should use PluginHalter
* Plugins/WebBaseNetscapePluginView.h: Add WebHaltablePlugin forward declare and _haltable ivar.
* Plugins/WebBaseNetscapePluginView.mm:
(WebHaltablePlugin::WebHaltablePlugin): Added.
(WebHaltablePlugin::halt): New method that stops a plug-in.
(WebHaltablePlugin::restart): New method that starts a plug-in.
(WebHaltablePlugin::node): Added. Provides the DOMNode corresponding to the plug-in in WebBaseNetscapePluginView.
(-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]):
Initialize new _haltable ivar.
(-[WebBaseNetscapePluginView start]): Call the page's didStartPlugin() upon starting a plug-in.
(-[WebBaseNetscapePluginView stop]): Call the page's didStopPlugin() upon stopping a plug-in.
2009-10-05 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: add testing harness for Web Inspector.
https://bugs.webkit.org/show_bug.cgi?id=30010
* WebInspector/WebInspector.mm:
(-[WebInspector evaluateInFrontend:callId:script:]):
* WebInspector/WebInspectorPrivate.h: Added.
2009-10-04 Kevin Decker <kdecker@apple.com>
Reviewed by Cameron Zwarich.
* WebView/WebPreferenceKeysPrivate.h: Added new key.
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]): Leave plug-in halting disabled by default.
(-[WebPreferences pluginHalterEnabled]): Added.
(-[WebPreferences setPluginHalterEnabled:]): Ditto.
* WebView/WebPreferencesPrivate.h: Added above new methods.
2009-10-02 Dave Hyatt <hyatt@apple.com>
Reviewed by Adam Roben.
Add support for blacklist patterns to user stylesheets and scripts in addition to whitelist patterns.
* WebView/WebView.mm:
(toStringVector):
(+[WebView _addUserScriptToGroup:source:url:worldID:whitelist:blacklist:injectionTime:]):
(+[WebView _addUserStyleSheetToGroup:source:url:worldID:whitelist:blacklist:]):
* WebView/WebViewPrivate.h:
2009-10-01 Mark Rowe <mrowe@apple.com>
Fix the Tiger build. Don't unconditionally enable 3D canvas as it is not supported on Tiger.
* Configurations/FeatureDefines.xcconfig:
2009-10-01 Chris Marrin <cmarrin@apple.com>
Reviewed by Oliver Hunt.
Turn on ENABLE_3D_CANVAS in TOT
https://bugs.webkit.org/show_bug.cgi?id=29906
* Configurations/FeatureDefines.xcconfig:
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences webGLEnabled]):
(-[WebPreferences setWebGLEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]):
2009-09-30 Sam Weinig <sam@webkit.org>
Reviewed by Dan Bernstein.
Fix for <rdar://problem/7259706>
Need WebKit API or SPI on Mac and Windows to test whether it's safe to load a page in a new tab/window
* WebView/WebFrame.mm:
(-[WebFrame _allowsFollowingLink:]):
* WebView/WebFramePrivate.h:
2009-09-30 Dave Hyatt <hyatt@apple.com>
Reviewed by Adam Roben.
Add the ability to remove user stylesheets and scripts by URL.
* WebView/WebView.mm:
(+[WebView _removeUserContentFromGroup:url:worldID:]):
* WebView/WebViewPrivate.h:
2009-09-29 Brady Eidson <beidson@apple.com>
Rubberstamped by Dan Bernstein.
Fix license and some sorting in new files.
* WebView/WebHistoryDelegate.h:
* WebView/WebNavigationData.h:
* WebView/WebNavigationData.mm:
2009-09-29 Brady Eidson <beidson@apple.com>
Reviewed by John Sullivan.
WebKit Mac API should provide a delegate interface for global history.
<rdar://problem/7042773> and https://webkit.org/b/29904
* WebView/WebHistoryDelegate.h: Added. New interface for WebKit clients to implement to manage
their own global history store.
Object to store all of the bits of data relevant to a page visit:
* WebView/WebNavigationData.h: Added.
* WebView/WebNavigationData.mm: Added.
(-[WebNavigationDataPrivate dealloc]):
(-[WebNavigationData initWithURLString:title:originalRequest:response:hasSubstituteData:clientRedirectSource:]):
(-[WebNavigationData url]):
(-[WebNavigationData title]):
(-[WebNavigationData originalRequest]):
(-[WebNavigationData response]):
(-[WebNavigationData hasSubstituteData]):
(-[WebNavigationData clientRedirectSource]):
(-[WebNavigationData dealloc]):
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::updateGlobalHistory): If the delegate exists, don't use the built-in WebHistory.
If the implementation for this method exists, call it.
(WebFrameLoaderClient::updateGlobalHistoryRedirectLinks): Ditto
* WebView/WebDelegateImplementationCaching.h:
* WebView/WebDelegateImplementationCaching.mm:
(WebViewGetHistoryDelegateImplementations):
(CallHistoryDelegate):
* WebView/WebView.mm:
(-[WebView _cacheHistoryDelegateImplementations]):
(-[WebView setHistoryDelegate:]):
(-[WebView historyDelegate]):
* WebView/WebViewData.h:
* WebView/WebViewPrivate.h:
2009-09-29 Kenneth Russell <kbr@google.com>
Reviewed by Dimitri Glazkov.
Add support for run-time flag for 3D canvas
https://bugs.webkit.org/show_bug.cgi?id=29826
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]): Enable experimental
WebGL flag when 3D_CANVAS is enabled in the build.
2009-09-28 Fumitoshi Ukai <ukai@chromium.org>
Reviewed by Eric Seidel.
Add experimentalWebSocketsEnabled in WebPreferences.
https://bugs.webkit.org/show_bug.cgi?id=28941
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences experimentalWebSocketsEnabled]):
(-[WebPreferences setExperimentalWebSocketsEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]):
2009-09-28 Dan Bernstein <mitz@apple.com>
Reviewed by Anders Carlsson.
<rdar://problem/7240911> REGRESSION (r48586): Crash occurs when loading
a PDF
CGPDFObjectRef is not a CFTypeRef, and cannot be retained or released.
Its lifetime is managed by its container. Just use a Vector to store
CGPDFObjectRefs, relying on the CGPDFDocument to keep them alive.
* WebView/WebPDFDocumentExtras.mm:
(appendValuesInPDFNameSubtreeToVector):
(getAllValuesInPDFNameTree):
(web_PDFDocumentAllScripts):
2009-09-24 Jon Honeycutt <jhoneycutt@apple.com>
Reviewed by Alice Liu.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
Pass 0 for new Page constructor argument.
2009-09-14 John Gregg <johnnyg@google.com>
Reviewed by Eric Seidel.
isEnabled switch for notifications (experimental) in Page Settings
https://bugs.webkit.org/show_bug.cgi?id=28930
Adds support for the experimentalNotificationsEnabled flag in Settings
through WebPreferencesPrivate.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences experimentalNotificationsEnabled]):
(-[WebPreferences setExperimentalNotificationsEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]):
2009-09-23 Geoffrey Garen <ggaren@apple.com>
Reviewed by Sam Weinig.
Updated for a WebCore rename.
* WebView/WebFrame.mm:
(-[WebFrame _cacheabilityDictionary]):
2009-09-23 Darin Adler <darin@apple.com>
Reviewed by Dan Bernstein.
Speed up access to history items by caching date computation.
* History/WebHistory.mm:
(getDayBoundaries): Refactored from timeIntervalForBeginningOfDay.
Returns the beginning of the day that the passed time is within and
the beginning of the next day.
(beginningOfDay): Added. Uses getDayBoundaries so it can be fast for
multiple dates within the same day, which is the common case.
(dateKey): Added. Calls beginningOfDay and converts to an integer.
(-[WebHistoryPrivate findKey:forDay:]): Changed to call dateKey
insetad of timeIntervalForBeginningOfDay.
2009-09-23 David Kilzer <ddkilzer@apple.com>
Move definition of USE(PLUGIN_HOST_PROCESS) from WebKitPrefix.h to Platform.h
Reviewed by Mark Rowe.
* WebKitPrefix.h: Removed definition of
WTF_USE_PLUGIN_HOST_PROCESS.
2009-09-22 Timothy Hatcher <timothy@apple.com>
Prevent scrolling multiple frames during latched wheel events.
Reviewed by Anders Carlsson.
* WebView/WebDynamicScrollBarsView.h:
* WebView/WebDynamicScrollBarsView.mm:
(-[WebDynamicScrollBarsView scrollWheel:]):
2009-09-22 Dan Bernstein <mitz@apple.com>
Reviewed by John Sullivan.
<rdar://problem/7240911> REGRESSION (r48586): Crash occurs when loading
a PDF
* WebView/WebPDFDocumentExtras.mm:
(addWebPDFDocumentExtras): Made methodList static, because
class_addMethods() doesn't copy it.
2009-09-21 Dan Bernstein <mitz@apple.com>
Attempt to fix the Tiger build
* WebView/WebPDFDocumentExtras.mm:
(addWebPDFDocumentExtras):
2009-09-21 Dan Bernstein <mitz@apple.com>
Attempt to fix the Tiger build
* WebView/WebPDFDocumentExtras.mm:
(web_PDFDocumentAllScripts):
(addWebPDFDocumentExtras):
2009-09-21 Dan Bernstein <mitz@apple.com>
Attempt to fix the Tiger build
* WebView/WebPDFDocumentExtras.mm:
* WebView/WebPDFRepresentation.mm:
2009-09-21 Dan Bernstein <mitz@apple.com>
Attempt to fix the Leopard and Tiger builds
* WebView/WebPDFDocumentExtras.mm:
2009-09-21 Dan Bernstein <mitz@apple.com>
Reviewed by Anders Carlsson.
<rdar://problem/4137135> iFrame with PDF not being handled correctly on
usps.com
https://bugs.webkit.org/show_bug.cgi?id=4151
* WebView/WebJSPDFDoc.h: Added.
* WebView/WebJSPDFDoc.mm: Added.
(jsPDFDocInitialize): Retains the WebDataSource.
(jsPDFDocFinalize): Releases the WebDataSource.
(jsPDFDocPrint): Call the WebUIDelegate method -webView:printFrameView:
with the PDF document's view.
(makeJSPDFDoc): Makes and returns a JavaScript Doc instance that wraps
the WebDataSource.
* WebView/WebPDFDocumentExtras.h: Added.
* WebView/WebPDFDocumentExtras.mm: Added.
(appendValuesInPDFNameSubtreeToArray): Traverses a subtree of a PDF name
tree and adds all values in the subtree to an array.
(allValuesInPDFNameTree): Returns an array with all of the values in a
PDF name tree.
(web_PDFDocumentAllScripts): This is the implementation of -[PDFDocument
_web_allScripts]. It gets all values in the document-level "JavaScript"
name tree, which are action dictionaries, and returns an array of the
actions' scripts.
(addWebPDFDocumentExtras): Adds the -_web_allScripts method to
PDFDocument.
* WebView/WebPDFRepresentation.h:
* WebView/WebPDFRepresentation.m: Removed.
* WebView/WebPDFRepresentation.mm: Copied from WebKit/mac/WebView/WebPDFRepresentation.m.
(+[WebPDFRepresentation initialize]): Added. Calls
addWebPDFDocumentExtras().
(-[WebPDFRepresentation finishedLoadingWithDataSource:]): Get the
scripts from the PDF document, create a JavaScript Doc object for the
document, and a JavaScript execution context, then execute every script
in the context, with the Doc object as "this".
2009-09-17 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dave Hyatt.
Compositing layers are incorrectly positioned after scrolling with position:fixed
https://bugs.webkit.org/show_bug.cgi?id=29262
When scrolling a page with compositing layers inside a position:fixed element,
we need to update the compositing layer positions when the scroll position changes.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _frameOrBoundsChanged]):
Call the new FrameView::scrollPositionChanged() method rather than sending the
scroll event directly.
2009-09-17 Kenneth Rohde Christiansen <kenneth@webkit.org>
Reviewed by Simon Hausmann.
Make PlatformWindow return something else than PlatformWidget
https://bugs.webkit.org/show_bug.cgi?id=29085
Reflect the rename of platformWindow and it's return type.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::platformPageClient):
2009-09-17 Anders Carlsson <andersca@apple.com>
Reviewed by Oliver Hunt.
<rdar://problem/7007541>
CrashTracer: 4800+ crashes in Safari at com.apple.WebKit • WTF::HashTableIterator...
Add null checks for m_instanceProxy (It will be null when a plug-in has crashed).
* Plugins/Hosted/ProxyInstance.mm:
(WebKit::ProxyInstance::invoke):
(WebKit::ProxyInstance::supportsInvokeDefaultMethod):
(WebKit::ProxyInstance::supportsConstruct):
(WebKit::ProxyInstance::getPropertyNames):
(WebKit::ProxyInstance::methodsNamed):
(WebKit::ProxyInstance::fieldNamed):
(WebKit::ProxyInstance::fieldValue):
(WebKit::ProxyInstance::setFieldValue):
(WebKit::ProxyInstance::invalidate):
2009-09-16 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
Work around a bug in AppKit on Leopard which causes compositing layers to jitter, and
become misplaced when the WebHTMLView is resized or scrolled sometimes.
<rdar://problem/7071636>
The previous fix didn't fix the case where the layers jiggle when resizing the docked
inspector when the view size is over 2048px tall, on Leopard.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _updateLayerHostingViewPosition]):
2009-09-16 Simon Fraser <simon.fraser@apple.com>
Reviewed by Oliver Hunt.
Work around a bug in AppKit on Leopard which causes compositing layers to jitter, and
become misplaced when the WebHTMLView is resized or scrolled sometimes.
<rdar://problem/7071636>
We call an internal AppKit method to make sure the layer geometry is updated correctly.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _updateLayerHostingViewPosition]):
2009-09-15 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
Fixed position elements flash when CSS transforms are applied on page > 2048px tall
https://bugs.webkit.org/show_bug.cgi?id=27272
Update the previous workaround for misplaced compositing layers, which used a 4096px
threshold, to 2048px since that's the GPU max texture size on some older hardware.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _updateLayerHostingViewPosition]):
2009-09-15 Alex Milowski <alex@milowski.com>
Reviewed by Tor Arne Vestbø.
Added the ENABLE_MATHML to the feaure defines
* Configurations/FeatureDefines.xcconfig:
2009-09-15 Mark Rowe <mrowe@apple.com>
Reviewed by Anders Carlsson.
<rdar://problem/7224378> REGRESSION(r48360): Dragging a tab with a plug-in out of a window, the plug-in gets slow and confused
In r48360, the fix for <rdar://problem/7090444>, I neglected to consider the case where the plug-in had already been started and
-start would do an early-return rather than calling -restartTimers and -addWindowObservers itself.
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView viewDidMoveToWindow]): Reinstate the call to -restartTimers and -addWindowObservers, but guard them
with a check that the view is still in the window.
2009-09-14 Brady Eidson <beidson@apple.com>
Reviewed by Alexey Proskuryakov.
Safari 4 cannot be used to update firmware on Linksys routers.
<rdar://problem/7174050> and https://bugs.webkit.org/show_bug.cgi?id=29160
Adopt the new WebCore::CredentialStorage in WebKit/Mac.
* Misc/WebDownload.mm:
(-[WebDownloadInternal download:didReceiveAuthenticationChallenge:]):
* Plugins/WebBaseNetscapePluginView.mm:
(WebKit::getAuthenticationInfo):
2009-09-12 Mark Rowe <mrowe@apple.com>
Reviewed by Anders Carlsson.
Fix <rdar://problem/7090444> Crashes in-[WebBaseNetscapePluginView stop] handling NSWindowWillCloseNotification.
It's not valid to call -addWindowObservers when the view is not in a window, but this can happen when -start
initializes a plug-in and the plug-in removes itself from the document during initialization. -viewDidMoveToWindow
calls -start and then calls -addWindowObservers without ensuring that the view is still in a window.
If -[WebBaseNetscapePluginView addWindowObservers] is incorrectly called when the view is not in a window, it will
observe NSWindowWillCloseNotification on all windows. This unexpected observer registration is not balanced by an
unregistration so the notification can be delivered after the view is deallocated, causing the crash seen in
<rdar://problem/7090444>.
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView start]): Only call -updateAndSetWindow if we still have a current window.
(-[WebBaseNetscapePluginView viewDidMoveToWindow]): Remove unnecessary calls to -restartTimers and -addWindowObservers
from -[WebBaseNetscapePluginView viewDidMoveToWindow]. They are already called from within -start with the extra benefit
of ensuring that the view is still in a window when they are called.
2009-09-11 Mark Rowe <mrowe@apple.com>
Reviewed by Jon Honeycutt.
Fix <rdar://problem/7145242> Crashes inside WTF::HashTable below NetscapePluginInstanceProxy::disconnectStream
* Plugins/Hosted/HostedNetscapePluginStream.mm:
(WebKit::HostedNetscapePluginStream::cancelLoad): Canceling the load can result in calling through to disconnectStream.
If the plug-in instance holds the last reference to the plug-in stream this will result in the stream being deallocated.
This leads to HostedNetscapePluginStream::cancelLoad's call to disconnectStream being passed a deallocated stream object.
Since the stream was already disconnected by the call to cancel there's no need to call disconnectStream a second time.
2009-09-11 Eric Seidel <eric@webkit.org>
No review, rolling out r48229.
http://trac.webkit.org/changeset/48229
* WebView/WebFrame.mm:
(-[WebFrame _dragSourceMovedTo:]):
2009-09-10 Mark Rowe <mrowe@apple.com>
Rubber-stamped by Sam Weinig.
Update JavaScriptCore and WebKit's FeatureDefines.xcconfig so that they are in sync with WebCore as they need to be.
* Configurations/FeatureDefines.xcconfig:
2009-09-09 Jens Alfke <snej@chromium.org>
Reviewed by Eric Seidel.
Initialize DataTransfer's effectAllowed and dropEffect properties correctly
according to HTML5 spec (sec. 7.9.2-7.9.3).
https://bugs.webkit.org/show_bug.cgi?id=26700
* WebView/WebFrame.mm:
(-[WebFrame _dragSourceMovedTo:]):
Pass current drag operation (if known) to EventHandler::dragSourceMovedTo().
2009-09-09 Dave Hyatt <hyatt@apple.com>
Reviewed by Adam Roben.
https://bugs.webkit.org/show_bug.cgi?id=29102, add support for user stylesheet injection. This is similar
to user script injection but allows for user stylesheets to be added. The stylesheets are applied immediately
to all Frames in the PageGroup.
Added userscripts/simple-stylesheet.html test case.
* WebView/WebView.mm:
(+[WebView _addUserStyleSheetToGroup:source:url:worldID:patterns:]):
* WebView/WebViewPrivate.h:
2009-09-07 Steve Block <steveblock@google.com>
Reviewed by Adam Barth.
Adds a mock Geolocation service. This will be used to provide predictable behavior of the
Geolocation API for use in LayoutTests. Later changes will integrate the the mock
Geolocation service with DumpRenderTree.
https://bugs.webkit.org/show_bug.cgi?id=28264
* WebCoreSupport/WebGeolocationMockPrivate.h: Added.
* WebCoreSupport/WebGeolocationMock.mm: Added.
(+[WebGeolocationMock setError:code:]): Added. Used by DumpRender tree to configure the mock Geolocation service.
(+[WebGeolocationMock setPosition:latitude:longitude:accuracy:]): Added. Used by DumpRender tree to configure the mock Geolocation service.
* WebKit.exp: Modified. Exports WebGeolocationMock.
2009-09-07 Drew Wilson <atwilson@google.com>
Reviewed by David Levin.
Enable SHARED_WORKERS by default.
https://bugs.webkit.org/show_bug.cgi?id=28959
* Configurations/FeatureDefines.xcconfig:
2009-09-06 Cameron McCormack <cam@mcc.id.au>
Reviewed by Eric Seidel.
Drop <definition-src> support
https://bugs.webkit.org/show_bug.cgi?id=28991
* MigrateHeaders.make: Remove reference to ObjC definition-src
binding class.
2009-09-04 Mark Mentovai <mark@chromium.org>
Reviewed by Dave Hyatt.
https://bugs.webkit.org/show_bug.cgi?id=28614
Account for scrollbar state changes that occur during layout.
* WebView/WebDynamicScrollBarsView.mm:
(-[WebDynamicScrollBarsView updateScrollers]):
Perform a layout prior to checking whether the scrollbar modes are
off, on, or automatic. The modes may change during layout.
* WebView/WebFrameView.mm:
(-[WebFrameView _install]):
Eliminate duplicated (and incorrect) scrollbar mode tracking between
FrameView and ScrollView.
2009-09-03 Dave Hyatt <hyatt@apple.com>
Reviewed by Adam Roben.
https://bugs.webkit.org/show_bug.cgi?id=28890, make simple user script injection work.
This patch adds new API for adding and removing user scripts from page groups. User scripts
are bundled together in isolated worlds (you can have multiple scripts together in the same
world).
Added userscripts/ directory for holding new tests (along with a simple test of script injection).
* WebView/WebView.mm:
(+[WebView _addUserScriptToGroup:source:url:worldID:patterns:injectionTime:]):
(+[WebView _removeUserContentFromGroup:worldID:]):
(+[WebView _removeAllUserContentFromGroup:]):
* WebView/WebViewPrivate.h:
2009-09-04 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
https://bugs.webkit.org/show_bug.cgi?id=24696
Plumb mixed content notifications to WebFrameLoadDelegatePrivate.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::didDisplayInsecureContent):
(WebFrameLoaderClient::didRunInsecureContent):
* WebView/WebDelegateImplementationCaching.h:
* WebView/WebFrameLoadDelegatePrivate.h: Added.
2009-09-03 Adam Barth <abarth@webkit.org>
Unreviewed build fix.
Change notImplemented() to a FIXME.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::didDisplayInsecureContent):
(WebFrameLoaderClient::didRunInsecureContent):
2009-09-03 Adam Barth <abarth@webkit.org>
Reviewed by eric@webkit.org.
https://bugs.webkit.org/show_bug.cgi?id=24696
Plumb mixed content notifications to WebFrameLoadDelegatePrivate.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::didDisplayInsecureContent):
(WebFrameLoaderClient::didRunInsecureContent):
* WebView/WebDelegateImplementationCaching.h:
* WebView/WebFrameLoadDelegatePrivate.h: Added.
2009-09-03 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
https://bugs.webkit.org/show_bug.cgi?id=24696
Stub implementations of mixed content methods of FrameLoaderClient.
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::didDisplayInsecureContent):
(WebFrameLoaderClient::didRunInsecureContent):
2009-09-02 Brady Eidson <beidson@apple.com>
Reviewed by Darin Adler.
More partial work towards "Page Cache should support pages with Frames"
https://bugs.webkit.org/show_bug.cgi?id=13631
* WebView/WebHTMLView.mm:
(-[WebHTMLView _topHTMLView]): Rework the ASSERT in this method to reflect the
reality of calling this method for pages currently in the PageCache.
2009-08-31 Dimitri Glazkov <dglazkov@chromium.org>
Reverting http://trac.webkit.org/changeset/47904, because it caused
layout test failure.
2009-08-31 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=28852
Rename KURL single argument constructor to avoid confusion
* WebView/WebScriptDebugger.mm: (toNSURL): Adapt to the change.
2009-08-31 Mark Mentovai <mark@chromium.org>
Reviewed by Dave Hyatt.
https://bugs.webkit.org/show_bug.cgi?id=28614
Perform a layout prior to checking whether the scrollbar modes are
off, on, or automatic. The modes may change during layout.
* WebView/WebDynamicScrollBarsView.mm:
(-[WebDynamicScrollBarsView updateScrollers]):
2009-08-28 Chris Fleizach <cfleizach@apple.com>
Reviewed by John Sullivan.
update-webkit-localizable-strings script can no longer complete
https://bugs.webkit.org/show_bug.cgi?id=28792
* WebCoreSupport/WebViewFactory.mm:
(-[WebViewFactory AXARIAContentGroupText:]):
2009-08-28 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
Reviewed by Holger Freyther.
https://bugs.webkit.org/show_bug.cgi?id=25889
[GTK] scrollbar policy for main frame is not implementable
Add empty implementation for new ChromeClient method.
* WebCoreSupport/WebChromeClient.h:
(WebChromeClient::scrollbarsModeDidChange):
2009-08-25 Eric Carlson <eric.carlson@apple.com>
Reviewed by Oliver Hunt.
<video> and <audio> controller should be accessible
https://bugs.webkit.org/show_bug.cgi?id=28081
* WebCoreSupport/WebViewFactory.mm:
(-[WebViewFactory localizedMediaControlElementString:]):
(-[WebViewFactory localizedMediaControlElementHelpText:]):
(-[WebViewFactory localizedMediaTimeDescription:]):
New.
2009-08-24 Simon Fraser <simon.fraser@apple.com>
Reviewed by NOBODY (build fix)
Turn off ENABLE_3D_CANVAS in the xconfig files.
* Configurations/FeatureDefines.xcconfig:
2009-08-22 Adam Barth <abarth@webkit.org>
Revert 47684. We're going to do this later once clients have had a
chance to opt into the setting they like.
* Misc/WebKitVersionChecks.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
2009-08-22 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Don't let local files access web URLs
https://bugs.webkit.org/show_bug.cgi?id=28480
* Misc/WebKitVersionChecks.m:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
2009-08-21 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
<rdar://problem/7162480>
Sometimes WebKit does not layout correctly when a WebView is embedded in an HICocoaView
Add a null check for the current context when reflectScrolledClipView: is called from outside a
draw operation.
* WebView/WebDynamicScrollBarsView.mm:
(-[WebDynamicScrollBarsView reflectScrolledClipView:]):
2009-08-20 Chris Fleizach <cfleizach@apple.com>
Reviewed by Darin Adler.
Enable various "grouping" ARIA roles
https://bugs.webkit.org/show_bug.cgi?id=28486
* WebCoreSupport/WebViewFactory.mm:
(-[WebViewFactory AXARIAContentGroupText:]):
2009-08-19 Mark Rowe <mrowe@apple.com>
Reviewed by Dan Bernstein.
Fix <http://webkit.org/b/28484> Plug-in-related leaks seen on the build bot
When the plug-in data is being loaded manually there is a reference cycle between the
NetscapePluginInstanceProxy and the HostedNetscapePluginStream. We need to explicitly
break the reference cycle in NetscapePluginInstanceProxy::cleanup so that both objects
will be destroyed.
Take the opportunity to add RefCountedLeakCounter support to HostedNetscapePluginStream
and NetscapePluginInstanceProxy to simplify tracking down leaks of these objects in the future.
* Plugins/Hosted/HostedNetscapePluginStream.h:
* Plugins/Hosted/HostedNetscapePluginStream.mm:
(WebKit::HostedNetscapePluginStream::HostedNetscapePluginStream):
(WebKit::HostedNetscapePluginStream::~HostedNetscapePluginStream):
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
(WebKit::NetscapePluginInstanceProxy::~NetscapePluginInstanceProxy):
(WebKit::NetscapePluginInstanceProxy::cleanup): Clear m_manualStream to break the reference
cycle.
2009-08-19 Aaron Boodman <aa@chromium.org>
Reviewed by David Levin.
https://bugs.webkit.org/show_bug.cgi?id=24853: Provide a way for WebKit clients to
specify a more granular policy for cross-origin XHR access.
* WebView/WebView.mm: Add SPI to manipulate origin access whitelists.
(+[WebView _whiteListAccessFromOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]): Ditto.
(+[WebView _resetOriginAccessWhiteLists]): Ditto.
* WebView/WebViewPrivate.h: Ditto.
2009-08-18 Anders Carlsson <andersca@apple.com>
Reviewed by Adele Peterson.
Mac specific part of
<rdar://problem/7135588> HTMLMediaElement should ask WebPolicyLoadDelegate before loading resource
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
Implement shouldLoadMediaElementURL by asking the policy delegate.
* WebView/WebPolicyDelegatePrivate.h:
Add new delegate method, remove some unused cruft.
2009-08-18 Drew Wilson <atwilson@google.com>
Reviewed by Eric Seidel.
Need to extend DumpRenderTree to expose number of worker threads.
https://bugs.webkit.org/show_bug.cgi?id=28292
* WebKit.exp:
Exported WebWorkersPrivate so DumpRenderTree can access it.
* Workers/WebWorkersPrivate.h: Added.
* Workers/WebWorkersPrivate.mm: Added.
(+[WebWorkersPrivate workerThreadCount]):
Added WebWorkersPrivate::workerThreadCount() API for DumpRenderTree.
2009-08-17 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
Use a HashMap instead of a list of if statements for the command
name exception map.
* WebView/WebHTMLView.mm:
(createSelectorExceptionMap): Added.
(commandNameForSelector): Use createSelectorExceptionMap.
2009-08-16 David Kilzer <ddkilzer@apple.com>
<http://webkit.org/b/28366> WebHTMLViewInternal.h: add @class CALayer declaration
Reviewed by Simon Fraser.
Without WebKitPrefix.h, the missing @class CALayer declaration
causes a compile-time error.
* WebView/WebHTMLViewInternal.h: Added @class CALayer
declaration with USE(ACCELERATED_COMPOSITING).
2009-08-16 David Kilzer <ddkilzer@apple.com>
<http://webkit.org/b/28355> Replace MAX()/MIN() macros with type-safe std::max()/min() templates
Reviewed by Dan Bernstein.
* Plugins/WebBaseNetscapePluginStream.mm: Added using std::min
statement.
(WebNetscapePluginStream::deliverData): Changed MIN() to min().
Changed C-style cast to a static_cast.
* Plugins/WebNetscapePluginView.mm: Added using std::min
statement.
(-[WebNetscapePluginView _postURL:target:len:buf:file:notifyData:sendNotification:allowHeaders:]):
Changed MIN() to min(). Changed C-style cast to a static_cast.
* WebView/WebHTMLView.mm: Added using std::max statement.
(-[WebHTMLView _dragImageForURL:withLabel:]): Changed MAX() to
max().
(-[WebHTMLView _scaleFactorForPrintOperation:]): Ditto.
* WebView/WebTextCompletionController.mm: Added using std::max
and using std::min statements.
(-[WebTextCompletionController _placePopupWindow:]): Changed
type of maxWidth variable from float to CGFloat to prevent a
type mismatch on x86_64. Changed MAX() to max() and MIN() to
min(). Added static_cast for a constant value since CGFloat is
defined as a float on i386 and as a double on x86_64.
2009-08-15 Adam Bergkvist <adam.bergkvist@ericsson.com>
Reviewed by Sam Weinig.
Added ENABLE_EVENTSOURCE flag.
https://bugs.webkit.org/show_bug.cgi?id=14997
* Configurations/FeatureDefines.xcconfig:
2009-08-14 Mark Rowe <mrowe@apple.com>
Build fix.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::enumerate): Add the necessary .get() calls.
2009-08-14 Brady Eidson <beidson@apple.com>
Reviewed by Anders Carlsson.
<rdar://problem/7091546> - Assertion failure in plugins/return-error-from-new-stream-doesnt-invoke-destroy-stream.html
on 64-bit SnowLeopard
* Plugins/Hosted/HostedNetscapePluginStream.mm:
(WebKit::HostedNetscapePluginStream::cancelLoad): Since this might be called while the FrameLoader is switching DocumentLoaders
during the brief moment where there is no activeDocumentLoader(), accept and handle a validly null DocumentLoader.
2009-08-14 Mark Rowe <mrowe@apple.com>
Reviewed by Brady Eidson.
Fix leaks of NSNumber and NSMutableArray objects seen during layout tests.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::enumerate): Don't leak an NSMutableArray that we allocate.
2009-08-14 Mark Rowe <mrowe@apple.com>
Reviewed by Anders Carlsson.
Fix leaks of HostedNetscapePluginStream and NetscapePlugInStreamLoader objects seen during layout tests.
* Plugins/Hosted/HostedNetscapePluginStream.mm:
(WebKit::HostedNetscapePluginStream::didFail): Disconnect the stream from the plug-in instance proxy
when the load fails.
2009-08-13 Darin Adler <darin@apple.com>
* Plugins/Hosted/NetscapePluginInstanceProxy.mm: Updated includes.
* WebView/WebScriptDebugger.mm: Ditto.
2009-08-12 Mark Rowe <mrowe@apple.com>
Reviewed by Kevin Decker.
<rdar://problem/6017913> Replace use of HISearchWindowShow in -[WebView _searchWithSpotlightFromMenu].
* WebView/WebView.mm:
(-[WebView _searchWithSpotlightFromMenu:]): Use -[NSWorkspace showSearchResultsForQueryString:] post-Leopard.
2009-08-12 Greg Bolsinga <bolsinga@apple.com>
Reviewed by Eric Seidel.
Add delegate methods about focus and blur and state change
https://bugs.webkit.org/show_bug.cgi?id=27153
Have ObjC delegate methods match C++ method names in the ChromeClient.
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::formDidFocus):
(WebChromeClient::formDidBlur):
* WebView/WebUIDelegatePrivate.h:
2009-08-11 John Gregg <johnnyg@google.com>
Reviewed by Maciej Stachowiak.
Desktop Notifications API
https://bugs.webkit.org/show_bug.cgi?id=25643
Adds ENABLE_NOTIFICATION flag.
* Configurations/FeatureDefines.xcconfig:
2009-08-11 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Remove dead declarations.
* WebView/WebViewInternal.h:
2009-08-11 Dmitry Titov <dimich@chromium.org>
Reviewed by Adam Roben.
Originally implemented by Glenn Wilson <gwilson@chromium.org>.
Added new methods for overriding default WebPreference values
and for resetting preferences to their defaults.
See https://bugs.webkit.org/show_bug.cgi?id=20534
* WebView/WebPreferences.mm:
(-[WebPreferences _setPreferenceForTestWithValue:withKey:]): added.
* WebView/WebPreferencesPrivate.h: same.
2009-08-09 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
Reviewed by George Staikos.
[WML] Deck access control is completly broken
https://bugs.webkit.org/show_bug.cgi?id=27721
Synchronize WebFrameLoadType with FrameLoadType enum. Append 'WebFrameLoadTypeBackWMLDeckNotAccessible'.
* WebView/WebFramePrivate.h:
2009-08-07 Simon Fraser <simon.fraser@apple.com>
Fix the build on 10.6.
* WebView/WebHTMLView.mm:
(-[WebHTMLView attachRootLayer:]):
2009-08-07 Simon Fraser <simon.fraser@apple.com>
Fix a stylistic nit related to the location of the *, which, for some
ridiculous reason, WebKit style dictates to be different between Objective-C and C++.
* WebView/WebDynamicScrollBarsView.mm:
(-[WebDynamicScrollBarsView reflectScrolledClipView:]):
2009-08-07 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
Work around an issue on Leopard where composited layers are misplaced and squished when the page
gets over 4096px tall.
https://bugs.webkit.org/show_bug.cgi?id=27272
<rdar://problem/7067892> [Leopard] Composisted layers are misplaced and squished on on long pages
<rdar://problem/7068252> [Leopard] When switching to a tab with HW layers, they fade in
* WebView/WebDynamicScrollBarsView.mm:
(-[WebDynamicScrollBarsView reflectScrolledClipView:]):
Call -_updateLayerHostingViewPosition after scrolling.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _frameOrBoundsChanged]):
Call -_updateLayerHostingViewPosition after the view changes size.
(-[WebHTMLView attachRootLayer:]):
Turn off default animations, to avoid animations of sublayer transform, and fading-in
when tab switching.
* WebView/WebHTMLViewInternal.h:
(-[WebHTMLView _updateLayerHostingViewPosition]):
New method that constrains the height of the layer-hosting view to a max height
of 4096px, and compensates for the height restriction by placing the layer-hosting
view at the top of the visible part of the WebHTMLView, and adjusting the position
of the hosted layers via sublayer transform.
2009-08-07 Anders Carlsson <andersca@apple.com>
Fix Tiger build.
* WebView/WebRenderNode.mm:
(-[WebRenderNode _initWithCoreFrame:]):
2009-08-07 Anders Carlsson <andersca@apple.com>
Reviewed by Timothy Hatcher and Sam Weinig.
Change WebRenderNode to take a WebFrame instead of a WebFrameView.
* WebView/WebRenderNode.h:
* WebView/WebRenderNode.mm:
(-[WebRenderNode _initWithName:position:rect:coreFrame:children:]):
(copyRenderNode):
(-[WebRenderNode _initWithCoreFrame:]):
(-[WebRenderNode initWithWebFrame:]):
2009-08-06 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler and Dan Bernstein.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::hasHTMLView):
Always return true when we're in viewless mode.
2009-08-06 Anders Carlsson <andersca@apple.com>
Remove WebGraphicsExtras.h include.
* Plugins/WebNetscapePluginView.mm:
2009-08-06 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Remove WebGraphicsExtras, it is no longer used.
* Misc/WebGraphicsExtras.c: Removed.
* Misc/WebGraphicsExtras.h: Removed.
2009-08-06 Chris Marrin <cmarrin@apple.com>
Reviewed by David Hyatt.
Added ENABLE_3D_CANVAS flag to build, default to off
* Configurations/FeatureDefines.xcconfig:
2009-08-04 Michael Nordman <michaeln@google.com>
Reviewed by Alexey Proskuryakov.
https://bugs.webkit.org/show_bug.cgi?id=27821
Mods to keep up with ApplicationCacheHost refactoring.
* WebView/WebDataSource.mm:
(-[WebDataSource _transferApplicationCache:]):
2009-07-30 Darin Adler <darin@apple.com>
Reviewed by David Levin.
Use checked casts for render tree
https://bugs.webkit.org/show_bug.cgi?id=23522
* Misc/WebNSAttributedStringExtras.mm:
(fileWrapperForElement):
* Misc/WebNSPasteboardExtras.mm:
(imageFromElement):
(-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):
* WebView/WebFrame.mm:
(-[WebFrame _computePageRectsWithPrintWidthScaleFactor:printHeight:]):
(-[WebFrame _accessibilityTree]):
* WebView/WebRenderNode.mm:
(copyRenderNode):
Use checked casts.
2009-07-31 Simon Fraser <simon.fraser@apple.com>
Reviewed by Anders Carlsson.
Accelerated animations stutter on pages with lots of animations and 3d transforms
https://bugs.webkit.org/show_bug.cgi?id=27884
This patch changes the strategy for synchronizing painting view the view,
and compositing layer updates. Previously the strategy was to disable screen
updates between the time we updated the layer tree, and painted the view. That
left screen updates disabled for too long (hundreds of milliseconds) in some
cases, causing animation stutter.
The new strategy is to batch up changes to the CA layer tree, and commit them
all at once just before painting happens (referred to as a "sync" in the code).
GraphicsLayerCA now keeps a bitmask of changed properties, and then migrates
the values stored in GraphicsLayer into the CA layer tree at commit time.
Compositing layers are then synced in FrameView::paintContents(). However, not
all style/layout changes will result in painting; to deal with style changes that
touch only compositing properties, we set up a runloop observer that takes care
of comitting layer changes when no painting happens.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::scheduleCompositingLayerSync):
scheduleViewUpdate() renamed to syncCompositingStateRecursive()
* WebView/WebView.mm:
(-[WebView _close]):
(-[WebView _clearLayerSyncLoopObserver]):
"viewUpdateRunLoopObserver" is now "layerSyncLoopObserver".
(-[WebView _syncCompositingChanges]):
Helper method that calls syncCompositingStateRecursive() on the FrameView.
(layerSyncRunLoopObserverCallBack):
(-[WebView _scheduleCompositingLayerSync]):
This is all about layer sycning now. Also, the run loop observer is repeating,
because it has to keep firing until syncCompositingStateRecursive() says that it
has completed.
* WebView/WebViewData.h:
"viewUpdateRunLoopObserver" is now "layerSyncLoopObserver".
* WebView/WebViewInternal.h:
_scheduleViewUpdate is now _scheduleCompositingLayerSync
2009-07-30 Michael Nordman <michaeln@google.com>
Reviewed by Darin Fisher.
https://bugs.webkit.org/show_bug.cgi?id=27821
Mods to keep up with ApplicationCacheHost refactoring.
* WebView/WebDataSource.mm:
(-[WebDataSource _transferApplicationCache:]):
2009-07-29 David Kilzer <ddkilzer@apple.com>
<http://webkit.org/b/27788> Don't export WebPluginController.h as a private header
Reviewed by Mark Rowe.
* Plugins/WebPluginController.h: Changed #import of
WebPluginContainerCheck.h to use a framework-style include in
case other platforms wish to export WebPluginController.h as a
private header.
2009-07-29 Kevin McCullough <kmccullough@apple.com>
Reviewed by Darin Adler.
Added foundation work to allow a testing infrastructure for the Web
Inspector.
* WebCoreSupport/WebInspectorClient.h:
* WebCoreSupport/WebInspectorClient.mm:
(WebInspectorClient::inspectorWindowObjectCleared): Send the delegate
callback.
* WebView/WebDelegateImplementationCaching.h:
* WebView/WebView.mm:
(-[WebView _cacheFrameLoadDelegateImplementations]):
* WebView/WebViewPrivate.h: The delegate SPI.
2009-07-27 Mark Rowe <mrowe@apple.com>
Reviewed by Darin Adler.
<rdar://problem/7091036> REGRESSION: Microsoft Messenger crashes during file send/receive due to use of WebKit on non-main thread
In some situations Microsoft Messenger can attempt to manipulate the DOM from a secondary thread while
updating its file transfer progress bar. This results in corruption of WebCore data structures that is
quickly followed by a crash. We can work around this by having -[WebFrame DOMDocument] return nil when
called from a secondary thread by Microsoft Messenger, which has the effect of turning its attempts at
DOM manipulation in to no-ops.
* WebView/WebFrame.mm:
(needsMicrosoftMessengerDOMDocumentWorkaround):
(-[WebFrame DOMDocument]):
2009-07-27 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=27735
Give a helpful name to JSLock constructor argument
* Misc/WebCoreStatistics.mm:
(+[WebCoreStatistics javaScriptObjectsCount]):
(+[WebCoreStatistics javaScriptGlobalObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
(+[WebCoreStatistics shouldPrintExceptions]):
(+[WebCoreStatistics setShouldPrintExceptions:]):
(+[WebCoreStatistics memoryStatistics]):
(+[WebCoreStatistics javaScriptReferencedObjectsCount]):
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::evaluate):
(WebKit::NetscapePluginInstanceProxy::invoke):
(WebKit::NetscapePluginInstanceProxy::invokeDefault):
(WebKit::NetscapePluginInstanceProxy::construct):
(WebKit::NetscapePluginInstanceProxy::getProperty):
(WebKit::NetscapePluginInstanceProxy::setProperty):
(WebKit::NetscapePluginInstanceProxy::removeProperty):
(WebKit::NetscapePluginInstanceProxy::hasMethod):
(WebKit::NetscapePluginInstanceProxy::enumerate):
(WebKit::NetscapePluginInstanceProxy::addValueToArray):
* Plugins/WebBaseNetscapePluginStream.mm:
(WebNetscapePluginStream::wantsAllStreams):
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView sendEvent:isDrawRect:]):
(-[WebNetscapePluginView setWindowIfNecessary]):
(-[WebNetscapePluginView createPluginScriptableObject]):
(-[WebNetscapePluginView evaluateJavaScriptPluginRequest:]):
(-[WebNetscapePluginView webFrame:didFinishLoadWithReason:]):
(-[WebNetscapePluginView loadPluginRequest:]):
(-[WebNetscapePluginView _printedPluginBitmap]):
* Plugins/WebPluginController.mm:
(+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
(-[WebPluginController startAllPlugins]):
(-[WebPluginController stopAllPlugins]):
(-[WebPluginController addPlugin:]):
(-[WebPluginController destroyPlugin:]):
(-[WebPluginController destroyAllPlugins]):
* WebView/WebFrame.mm:
(-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
* WebView/WebScriptDebugDelegate.mm:
(-[WebScriptCallFrame scopeChain]):
(-[WebScriptCallFrame evaluateWebScript:]):
* WebView/WebView.mm:
(-[WebView aeDescByEvaluatingJavaScriptFromString:]):
2009-07-24 Darin Adler <darin@apple.com>
Reviewed by Mark Rowe.
REGRESSION (r46298): Exception after clicking on Bookmarks button in the Bookmarks Bar
https://bugs.webkit.org/show_bug.cgi?id=27667
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::transitionToCommittedForNewPage): Moved the code to set the
title here. This is late enough that both the view and representation exist.
* WebView/WebDataSource.mm:
(-[WebDataSource _makeRepresentation]): Removed the code to set the title from here.
It's a bit too early.
2009-07-24 Andrei Popescu <andreip@google.com>
Reviewed by Anders Carlsson.
ApplicationCache should have size limit
https://bugs.webkit.org/show_bug.cgi?id=22700
Adds the WebApplicationCache class that is
used by the DumpRenderTree test application to
configure the Application Cache maximum size.
* WebCoreSupport/WebApplicationCache.h: Added.
* WebCoreSupport/WebApplicationCache.mm: Added.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::reachedMaxAppCacheSize):
Adds empty implementation of the reachedMaxAppCacheSize callback.
* WebKit.exp:
2009-07-23 Darin Adler <darin@apple.com>
* WebView/WebDataSource.mm:
(-[WebDataSource _makeRepresentation]): Landed a comment I forgot last time.
2009-07-23 Darin Adler <darin@apple.com>
Reviewed by Brady Eidson.
URL appears in back/forward button menu instead of title for items with custom representation
https://bugs.webkit.org/show_bug.cgi?id=27586
rdar://problem/5060337
The problem is that DocumentLoader expects to store a title, but for custom representations
it is never passed to the document loader.
* WebView/WebDataSource.mm:
(-[WebDataSource _makeRepresentation]): Added a call to DocumentLoader::setTitle.
Works as long as the title does not change during the document's lifetime, which
is good enough for the simple cases in Safari.
2009-07-20 Darin Adler <darin@apple.com>
Reviewed by Dan Bernstein.
REGRESSION (r39185): Safari adds ".jpeg" extension to images that already have ".JPG" extension
https://bugs.webkit.org/show_bug.cgi?id=27472
* WebView/WebHTMLView.mm:
(matchesExtensionOrEquivalent): Changed category method into a C function.
Made it require the leading dot when checking for the extension and do it
in a non-case-sensitive way.
(-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Changed to call
the function.
2009-07-21 Roland Steiner <rolandsteiner@google.com>
Reviewed by David Levin.
Add ENABLE_RUBY to list of build options
https://bugs.webkit.org/show_bug.cgi?id=27324
* Configurations/FeatureDefines.xcconfig: Added flag ENABLE_RUBY.
2009-07-17 Brian Weinstein <bweinstein@apple.com>
Reviewed by Adam Roben.
Fix of <rdar://problem/5712795> Win: Cannot change the height of the docked Web Inspector (14272)
https://bugs.webkit.org/show_bug.cgi?id=14272
Removed size calculation code from [WebInspectorWindowController setInitialAttachedHeight] into
InspectorController.cpp to make it cross platform, and use InspectorController to store the
user's preferred size for an attached window, instead of NSUserDefaults.
* WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController showWindow:]):
(-[WebInspectorWindowController setAttachedWindowHeight:]):
2009-07-16 Fumitoshi Ukai <ukai@chromium.org>
Reviewed by David Levin.
Add --web-sockets flag and ENABLE_WEB_SOCKETS define.
https://bugs.webkit.org/show_bug.cgi?id=27206
Add ENABLE_WEB_SOCKETS
* Configurations/FeatureDefines.xcconfig: add ENABLE_WEB_SOCKETS
2009-07-16 Xiaomei Ji <xji@chromium.org>
Reviewed by Darin Adler.
Fix tooltip does not get its directionality from its element's directionality.
https://bugs.webkit.org/show_bug.cgi?id=24187
Per mitz's suggestion in comment #6, while getting the plain-text
title, we also get the directionality of the title. How to handle
the directionality is up to clients. Clients could ignore it,
or use attribute or unicode control characters to display the title
as what they want.
* Misc/WebElementDictionary.mm:
(-[WebElementDictionary _spellingToolTip]): Change spellingToolTip caller due to signature change.
(-[WebElementDictionary _title]): Change title caller due to signature change.
* WebCoreSupport/WebChromeClient.h: Add directionality as 2nd parameter to setToolTip().
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::setToolTip): Add directionality as 2nd parameter to setToopTip() (without handling it yet).
2009-07-15 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
Renamed parseURL to deprecatedParseURL.
* DOM/WebDOMOperations.mm:
(-[DOMDocument URLWithAttributeString:]): Renamed.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::createPlugin): Renamed.
2009-07-15 Brady Eidson <beidson@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=27304
WebKit should provide usage and eligibility information about the page cache.
* Misc/WebCoreStatistics.h:
* Misc/WebCoreStatistics.mm:
(+[WebCoreStatistics numberCachedPages]):
(+[WebCoreStatistics numberCachedFrames]):
(+[WebCoreStatistics numberAutoreleasedPages]):
* WebKit.exp:
* WebView/WebFrame.mm:
(-[WebFrame _cacheabilityDictionary]): Returns a dictionary with all the data about
why the frame is not cacheable. If the frame *is* cacheable, the dictionary is
empty.
* WebView/WebFramePrivate.h:
2009-07-13 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein, Adam Roben.
"Unrecognized selector" console log when the Safari 4 Welcome page navigates to Top Sites.
<rdar://problem/6994893
attachRootGraphicsLayer() should not assume that the frameView's documentView
is a WebHTMLView.
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::attachRootGraphicsLayer):
2009-07-13 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler and Kevin Decker.
<rdar://problem/7053687> Core Animation plug-ins continue to grow larger and larger when opening new tabs (32 bit-only)
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView setLayer:]):
Add a FIXME.
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView setLayer:]):
Make sure to set the size of the layer before changing the autoresizing mask so it won't grow everytime it's inserted
into the layer tree.
2009-07-13 Greg Bolsinga <bolsinga@apple.com>
Reviewed by Simon Fraser.
Correct these delegate methods' declarations by adding parameter names.
* WebView/WebUIDelegatePrivate.h:
2009-07-13 Drew Wilson <atwilson@google.com>
Reviewed by David Levin.
Add ENABLE(SHARED_WORKERS) flag and define SharedWorker APIs
https://bugs.webkit.org/show_bug.cgi?id=26932
Added ENABLE(SHARED_WORKERS) flag (disabled by default).
* Configurations/FeatureDefines.xcconfig:
2009-07-12 Keishi Hattori <casey.hattori@gmail.com>
Reviewed by Timothy Hatcher.
Refactor ConsoleMessage to add MessageType attribute.
https://bugs.webkit.org/show_bug.cgi?id=20625
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::addMessageToConsole):
2009-07-11 Simon Fraser <simon.fraser@apple.com>
Enable support for accelerated compositing and 3d transforms on Leopard.
<https://bugs.webkit.org/show_bug.cgi?id=20166>
<rdar://problem/6120614>
Reviewed by Oliver Hunt.
* Configurations/FeatureDefines.xcconfig:
2009-07-10 David Kilzer <ddkilzer@apple.com>
Bug 27007: Build fixes when ICONDATABASE is disabled
<https://bugs.webkit.org/show_bug.cgi?id=27007>
Reviewed by Sam Weinig.
* Misc/WebIconDatabase.mm:
(defaultClient): Return 0 if ICONDATABASE is disabled.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDidReceiveIcon): Commented out
the body of the method if ICONDATABASE is disabled.
(WebFrameLoaderClient::registerForIconNotification): Ditto.
* WebCoreSupport/WebIconDatabaseClient.mm: Added #if
ENABLE(ICONDATABASE)/#endif guard to source.
* WebView/WebView.mm:
(-[WebView setFrameLoadDelegate:]): Wrapped code that starts the
icon database machinery in #if ENABLE(ICONDATABASE)/#endif.
(-[WebView _registerForIconNotification:]): Wrapped method in
#if ENABLE(ICONDATABASE)/#endif guard.
(-[WebView _dispatchDidReceiveIconFromWebFrame:]): Ditto.
* WebView/WebViewInternal.h: Wrapped methods in #if
ENABLE(ICONDATABASE)/#endif guard.
(-[WebView _registerForIconNotification:]):
(-[WebView _dispatchDidReceiveIconFromWebFrame:]):
2009-07-10 Simon Fraser <simon.fraser@apple.com>
Reviewed by John Sullivan.
Flashing as hardware layers are created and destroyed in some content
<rdar://problem/7032246>
There's a window of time between the end of one runloop cycle, after CA layers changes
have been committed, and the window display at the start of the next cycle when
CA may push updates to the screen before AppKit has drawn the view contents. If
we know that we need to do drawing synchronization (which we do when content moves
between a layer and the view), then we need to call -disableScreenUpdatesUntilFlush
from the existing runloop observer that is set up when layers need repainting to
ensure that layer updates don't reach the screen before view-based painting does.
* WebView/WebHTMLView.mm:
(-[WebHTMLView drawRect:]):
Tweak the comments
* WebView/WebView.mm:
(viewUpdateRunLoopObserverCallBack):
(-[WebView _scheduleViewUpdate]):
Add a big comment to explain the timing of things.
Call -disableScreenUpdatesUntilFlush when the view _needsOneShotDrawingSynchronization.
2009-07-09 Brian Weinstein <bweinstein@apple.com>
Reviewed by Tim Hatcher.
2009-07-10 Adam Barth <abarth@webkit.org>
Reviewed by Sam Weinig with the power of Grayskull.
Enable XSSAuditor by default.
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
2009-07-10 Greg Bolsinga <bolsinga@apple.com>
Reviewed by Antti Koivisto.
Add delegate methods about focus and blur and state change
https://bugs.webkit.org/show_bug.cgi?id=27153
Call the appropriate private delegate methods from the ChromeClient.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::formStateDidChange):
(WebChromeClient::formDidFocus):
(WebChromeClient::formDidBlur):
* WebView/WebUIDelegatePrivate.h:
2009-07-09 Brian Weinstein <bweinstein@apple.com>
Reviewed by Tim Hatcher.
https://bugs.webkit.org/show_bug.cgi?id=27141
Updated WebInspectorClient to use Web Inspector Preferences to remember whether or not it should be
docked or a free window instead of NSUserDefaults it used to have.
* WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController init]):
(-[WebInspectorWindowController showWindow:]):
(-[WebInspectorWindowController attach]):
(-[WebInspectorWindowController detach]):
2009-07-09 Drew Wilson <atwilson@google.com>
Reviewed by Alexey Proskuryakov.
https://bugs.webkit.org/show_bug.cgi?id=26903
Turned on CHANNEL_MESSAGING by default because the MessageChannel API
can now be implemented for Web Workers and is reasonably stable.
* Configurations/FeatureDefines.xcconfig:
2009-07-09 Darin Adler <darin@apple.com>
Reviewed by Adele Peterson and Dan Bernstein.
<rdar://problem/7024972> Cannot set font to Helvetica Neue Light in Mail compose window
No regression test because this only affects the font panel.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _addToStyle:fontA:fontB:]): Fix code that detects whether the font would
survive a round trip by using the weight corresponding to "bold" or "normal" rather than
the actual weight number.
2009-07-09 Beth Dakin and Jon Honeycutt <bdakin@apple.com>
Reviewed by Dave Hyatt.
Make Widget RefCounted to fix:
<rdar://problem/7038831> REGRESSION (TOT): In Mail, a crash occurs
at WebCore::Widget::afterMouseDown() after clicking To Do's close
box
<rdar://problem/6978804> WER #16: Repro Access Violation in
WebCore::PluginView::bindingInstance (1310178023)
-and-
<rdar://problem/6991251> WER #13: Crash in WebKit!
WebCore::PluginView::performRequest+203 (1311461169)
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::createPlugin):
2009-07-09 Sam Weinig <sam@webkit.org>
Reviewed by Steve Falkenburg.
Roll out r43848. The quirk is no longer necessary.
* WebView/WebView.mm:
(-[WebView WebCore::_userAgentForURL:WebCore::]):
2009-07-09 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Geoff Garen.
<rdar://problem/6921671> Visit count shouldn't be incremented by redirects.
* WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::updateGlobalHistory):
Do not increase visit count if there is a redirect source. As a result, only pages that were
explicitly visited by the user (by typing a URL, choosing one from bookmarks, or clicking
a link) will be counted.
* History/WebHistory.mm:
(-[WebHistoryPrivate visitedURL:withTitle:increaseVisitCount:]):
(-[WebHistory _visitedURL:withTitle:method:wasFailure:increaseVisitCount:]):
* History/WebHistoryInternal.h:
* History/WebHistoryItem.mm:
(-[WebHistoryItem _visitedWithTitle:increaseVisitCount:]):
* History/WebHistoryItemInternal.h:
Marshal this new argument all the way down to WebCore.
2009-07-08 Greg Bolsinga <bolsinga@apple.com>
Reviewed by Darin Adler.
Add -[WebView _isProcessingUserGesture]
https://bugs.webkit.org/show_bug.cgi?id=27084
Add -_isProcessingUserGesture that calls into WebCore::FrameLoader::isProcessingUserGesture()
so that WebView code can determine if a user gesture is in progress.
* WebView/WebView.mm:
(-[WebView _isProcessingUserGesture]):
* WebView/WebViewPrivate.h:
2009-07-07 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
- Fix <rdar://problem/6544693>.
For Flash, don't cache which methods or fields in an object are missing, since they can
be added at any time.
* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::hostForPackage):
* Plugins/Hosted/NetscapePluginHostProxy.h:
(WebKit::NetscapePluginHostProxy::shouldCacheMissingPropertiesAndMethods):
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
* Plugins/Hosted/ProxyInstance.mm:
(WebKit::ProxyInstance::methodsNamed):
(WebKit::ProxyInstance::fieldNamed):
2009-07-06 David Kilzer <ddkilzer@apple.com>
Bug 27006: Build fix when MAC_JAVA_BRIDGE is disabled
<https://bugs.webkit.org/show_bug.cgi?id=27006>
Reviewed by Darin Adler.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::createJavaAppletWidget): Wrap contents of
the method in #if ENABLE(MAC_JAVA_BRIDGE)/#endif and return 0
when this feature is disabled.
2009-07-06 David Kilzer <ddkilzer@apple.com>
Bug 27005: Build fixes when NETSCAPE_PLUGIN_API is disabled
<https://bugs.webkit.org/show_bug.cgi?id=27005>
Reviewed by Geoff Garen.
* Plugins/WebPluginController.mm:
(-[WebPluginController destroyPlugin:]): Wrap call to
ScriptController::cleanupScriptObjectsForPlugin() in
#if ENABLE(NETSCAPE_PLUGIN_API)/#endif macro.
(-[WebPluginController destroyAllPlugins]): Ditto.
* Plugins/WebPluginDatabase.mm:
(-[WebPluginDatabase removePluginInstanceViewsFor:]): Wrap
WebBaseNetscapePluginView class checks in
#if ENABLE(NETSCAPE_PLUGIN_API)/#endif macro.
(-[WebPluginDatabase destroyAllPluginInstanceViews]): Ditto.
2009-07-06 David Kilzer <ddkilzer@apple.com>
BUILD FIX: Use ENABLE(NETSCAPE_PLUGIN_API) instead of USE(PLUGIN_HOST_PROCESS)
In r45579, #if/#endif macros for USE(PLUGIN_HOST_PROCESS) were
used, but ENABLE(NETSCAPE_PLUGIN_API) should have been used
instead.
* Plugins/WebNetscapeContainerCheckContextInfo.h:
* Plugins/WebNetscapeContainerCheckContextInfo.mm:
* Plugins/WebNetscapeContainerCheckPrivate.mm:
2009-07-06 David Kilzer <ddkilzer@apple.com>
Bug 27004: Build fix for ENABLE(PLUGIN_PROXY_FOR_VIDEO) after r42618
<https://bugs.webkit.org/show_bug.cgi?id=27004>
Reviewed by Geoff Garen.
* Plugins/WebPluginController.mm:
(mediaProxyClient): Use core() method to convert from
DOMElement to WebCore::Element.
2009-07-06 David Kilzer <ddkilzer@apple.com>
Bug 27003: Build fix when USE(PLUGIN_HOST_PROCESS) is disabled
<https://bugs.webkit.org/show_bug.cgi?id=27003>
Reviewed by Geoff Garen.
* Plugins/WebNetscapeContainerCheckContextInfo.h: Added #if
USE(PLUGIN_HOST_PROCESS)/#endif guards.
* Plugins/WebNetscapeContainerCheckContextInfo.mm: Ditto.
* Plugins/WebNetscapeContainerCheckPrivate.mm: Ditto.
2009-07-06 Anders Carlsson <andersca@apple.com>
Reviewed by Adele Peterson.
Initialize wkIsLatchingWheelEvent.
* WebCoreSupport/WebSystemInterface.m:
(InitWebCoreSystemInterface):
2009-07-03 Dan Bernstein <mitz@apple.com>
Reviewed by Simon Fraser.
- fix <rdar://problem/6964278> REGRESSION (r42118): Scrolling redraw
problem in FileMaker Pro
* WebView/WebHTMLView.mm:
(-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
Perform layout if needed, even on Mac OS X versions that have
-viewWillDraw. This prevents attempts to draw without layout in case
-viewWillDraw was not called due to NSView issues or the client
did something during the display operation that re-invalidated the
layout.
2009-07-02 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
<rdar://problem/6978783>
Software-rendered plug-in does not update correctly when inside a hardware layer
Replace calls to setNeedsDisplay: and setNeedsDisplayInRect: with a call to the new method
invalidatePluginContentRect:. This new method will ask WebCore to do the repainting, taking
transforms into account.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::invalidateRect):
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView pluginHostDied]):
* Plugins/WebBaseNetscapePluginView.h:
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView windowBecameKey:]):
(-[WebBaseNetscapePluginView windowResignedKey:]):
(-[WebBaseNetscapePluginView preferencesHaveChanged:]):
(-[WebBaseNetscapePluginView invalidatePluginContentRect:]):
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView invalidateRect:]):
(-[WebNetscapePluginView invalidateRegion:]):
(-[WebNetscapePluginView forceRedraw]):
2009-07-02 Adam Roben <aroben@apple.com>
Fix warnings from update-webkit-localizable-strings
Rubber-stamped by Eric Carlson.
* WebCoreSupport/WebViewFactory.mm:
(-[WebViewFactory mediaElementLoadingStateText]):
(-[WebViewFactory mediaElementLiveBroadcastStateText]):
Changed the localization comments to match the comments in the Windows
version of this file, to avoid warnings about different comments for
the same localized string.
2009-07-02 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
Compositing-related preference methods are not public API; should move to WebPreferencesPrivate.h
<rdar://problem/7027363>
Move accelerated-compositing pref to WebPreferencesPrivate.h
* WebView/WebPreferences.h:
* WebView/WebPreferences.mm:
(-[WebPreferences acceleratedCompositingEnabled]):
(-[WebPreferences setAcceleratedCompositingEnabled:]):
* WebView/WebPreferencesPrivate.h:
2009-07-02 Pierre d'Herbemont <pdherbemont@apple.com>
Reviewed by Simon Fraser.
<rdar://problem/6518119>
Add localized strings for media controller status messages.
* WebCoreSupport/WebViewFactory.mm: Add new localized text.
(-[WebViewFactory mediaElementLoadingStateText]):
(-[WebViewFactory mediaElementLiveBroadcastStateText]):
2009-07-01 Brady Eidson <beidson@apple.com>
Reviewed by Sam Weinig.
Add a preference/setting to toggle whether content sniffing is enabled for file URLs.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences localFileContentSniffingEnabled]):
(-[WebPreferences setLocalFileContentSniffingEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]):
2009-07-01 David Hyatt <hyatt@apple.com>
Reviewed by Tim Hatcher.
<rdar://problem/6998524> REGRESSION (r44474): Form text field has focus ring, looks focused,
even though the field is not actually focused for keyboard input
Add the concept of whether or not the Page is focused by adding a boolean to the focusController. This allows the
focused frame and focused node to both be cached and changed programmatically without causing errors when the Page doesn't
have focus.
* WebView/WebHTMLView.mm:
(-[WebHTMLView becomeFirstResponder]):
(-[WebHTMLView resignFirstResponder]):
2009-06-30 Adele Peterson <adele@apple.com>
Reviewed by Dan Bernstein.
Fix for <rdar://problem/7014389> REGRESSION(4-TOT): Hyperlinks have no tooltips in Mail unless you first click in the message body
Updated these new methods (added as part of the viewless WebKit effort) that call through to WebHTMLView to use _selectedOrMainFrame,
instead of just selectedFrame. When the selection changes, I don't think there is a situation where there's no selected frame, but
it seems better to keep these two uses the same, since if there is a case, this will be more like the old behavior, before there was
a version of _selectionChanged in WebView.
* WebView/WebView.mm:
(-[WebView _setToolTip:]):
(-[WebView _selectionChanged]):
2009-06-30 Mark Rowe <mrowe@apple.com>
Reviewed by Timothy Hatcher.
<rdar://problem/7006959> 'Save as…’ does not work in Mail
* WebView/WebFrameView.mm:
(-[WebFrameView initWithFrame:]): Call _needMailThreadWorkaroundIfCalledOffMainThread rather than
needMailThreadWorkaround, as the latter is intended to be used at the point which a workaround would
be applied and thus contains a main thread check. Since -initWithFrame: is called on the main thread,
this was causing us to not switch from exception-throwing to logging for the thread violation behavior.
2009-06-30 Dan Bernstein <mitz@apple.com>
Reviewed by Dave Hyatt.
- fix <rdar://problem/6946611> REGRESSION (r30673): Shade10:" D_Snap
to Grid" window is clipping
* Misc/WebKitVersionChecks.h: Added
WEBKIT_FIRST_VERSION_WITHOUT_SHADE10_QUIRK
* WebView/WebView.mm:
(-[WebView _needsLinkElementTextCSSQuirk]): Added. Returns YES if the
client app is a version of Shade 10 earlier than 10.6 and it was
linked against a version of WebKit earlier than 531.2.
(-[WebView _preferencesChangedNotification:]): Added a call to
Settings::setTreatsAnyTextCSSLinkAsStylesheet().
2009-06-29 Eric Carlson <eric.carlson@apple.com>
Reviewed by Simon Fraser.
<rdar://problem/7014813> Ask media engine if a movie is streamed or downloaded.
* WebCoreSupport/WebSystemInterface.m:
(InitWebCoreSystemInterface):
Add QTMovieGetType.
2009-06-29 David Hyatt <hyatt@apple.com>
Reviewed by Adam Roben.
Put datagrid behind an #ifdef.
* Configurations/FeatureDefines.xcconfig:
2009-06-26 John Sullivan <sullivan@apple.com>
Added support for disabling Stop Speaking when there is no speaking to stop.
Also fixed Stop Speaking so that it works (formerly it would throw an exception, and
selecting it from the menu would perform a web search instead (!)).
Reviewed by Tim Hatcher.
* WebCoreSupport/WebContextMenuClient.h:
declare isSpeaking()
* WebCoreSupport/WebContextMenuClient.mm:
(WebContextMenuClient::isSpeaking):
implement by calling through to NSApplication
(WebContextMenuClient::stopSpeaking):
fixed implementation by correcting the signature of the NSApplication method
2009-06-26 Chris Marrin <cmarrin@apple.com>
Reviewed by Simon Fraser <simon.fraser@apple.com>.
Additional fix for https://bugs.webkit.org/show_bug.cgi?id=26651
The flag should always default to true to avoid it getting set
to false in a build with accelerated compositing turned off
and then disabling accelerated compositing when subsequently
running a build with it turned on.
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
2009-06-26 Brady Eidson <beidson@apple.com>
Fix SnowLeopard build.
* Plugins/Hosted/HostedNetscapePluginStream.mm:
(WebKit::HostedNetscapePluginStream::didReceiveResponse):
2009-06-26 Brady Eidson <beidson@apple.com>
Reviewed by Sam Weinig
<rdar://problem/6961578> REGRESSION (r43511): Opening .fdf files from Acrobat Professional fails
Replace all usage of the now obsolete [NSURLResponse _webcore_MIMEType].
* Plugins/WebBaseNetscapePluginStream.mm:
(WebNetscapePluginStream::didReceiveResponse):
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView pluginView:receivedData:]):
* Plugins/WebPluginController.mm:
(-[WebPluginController pluginView:receivedResponse:]):
* WebView/WebDataSource.mm:
(-[WebDataSource _responseMIMEType]):
* WebView/WebResource.mm:
(-[WebResource _initWithData:URL:response:]):
2009-06-26 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Sam Weinig.
<rdar://problem/6651201> Update lookalike character list.
* Misc/WebNSURLExtras.mm: (isLookalikeCharacter): Added more characters to the list.
2009-06-25 Anders Carlsson <andersca@apple.com>
Reviewed by Oliver Hunt.
<rdar://problem/6989017>
REGRESSION (SnowLeopard): RealPlayer content replays when opening a new tab or switching back to the RealPlayer tab
If a plug-in fails in NPP_New, we would try to recreate it whenever the preferences for a web view would change.
Fix this by setting a flag when we fail to instantiate the plug-in, so we only try once.
* Plugins/WebBaseNetscapePluginView.h:
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView start]):
2009-06-25 Chris Marrin <cmarrin@apple.com>
Reviewed by Simon Fraser <simon.fraser@apple.com>.
https://bugs.webkit.org/show_bug.cgi?id=26651
Preference is named "WebKitAcceleratedCompositingEnabled"
and is a boolean value. When false, prevents compositing layers from
being created, which prevents hardware animation from running.
Also forces video to do software rendering. Added a cache for
the flag in RenderLayerCompositing and made it all work
on-the-fly when the flag is changed while a page is loaded.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences acceleratedCompositingEnabled]):
(-[WebPreferences setAcceleratedCompositingEnabled:]):
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]):
2009-06-24 Dan Bernstein <mitz@apple.com>
Reviewed by Anders Carlsson.
Fix the most recently seen kind of crash in <rdar://problem/5983224>
* WebView/WebHTMLView.mm:
(-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Null-check the
Frame.
2009-06-24 Jeff Johnson <opendarwin@lapcatsoftware.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=26638 WebKitErrors.m: _initWithPluginErrorCode: does not set localizedDescription
Add localized descriptions for plugin errors.
The localized strings already existed but were unused; now NSLocalizedDescriptionKey is added to the NSError userInfo.
* Misc/WebKitErrors.m:
(-[NSError _initWithPluginErrorCode:contentURL:pluginPageURL:pluginName:MIMEType:]):
2009-06-23 Brady Eidson <beidson@apple.com>
Reviewed by Darin Adler.
<rdar://problem/6950660> REGRESSION: iSale 5.5.3 crashes after I click a template to load
Due to some subtle WebKit changes - presumably some delegate callback behavior - a latent bug in
iSale was uncovered where they aren't properly retaining their FrameLoadDelegate, and we ended up
calling back to a dealloc'ed object.
* WebView/WebView.mm:
(-[WebView _needsAdobeFrameReloadingQuirk]): Use more intelligent C++-style initialization.
(-[WebView _needsKeyboardEventDisambiguationQuirks]): Ditto.
(-[WebView _needsFrameLoadDelegateRetainQuirk]): YES for iSale versions under 5.6
(-[WebView dealloc]): Release the delegate if the quirk is in effect.
(-[WebView setFrameLoadDelegate:]): Retain the new delegate if the quirk is in effect.
2009-06-23 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
- Fix <rdar://problem/6965672>
Defer calls to WKPCInvalidateRect, so we don't try to invalidate while waiting for a reply, since
that is too early.
* Plugins/Hosted/NetscapePluginHostProxy.h:
(WebKit::NetscapePluginHostProxy::isProcessingRequests):
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
(WebKit::NetscapePluginHostProxy::processRequests):
(WKPCInvalidateRect):
2009-06-22 Timothy Hatcher <timothy@apple.com>
Add Mail on Tiger and Leopard to the list of applications that need the WebView init thread workaround.
<rdar://problem/6929524> Console shows WebKit Threading Violations from Mail
Reviewed by Anders Carlsson.
* WebView/WebView.mm:
(clientNeedsWebViewInitThreadWorkaround): Return true for com.apple.Mail.
2009-06-22 Dan Bernstein <mitz@apple.com>
Reviewed by Anders Carlsson.
- speculative fix for <rdar://problem/6889082>
Crash at -[WebHTMLView(WebPrivate) _updateMouseoverWithEvent:]
The crash seems to happen because lastHitView points to a deleted
object. Since -close calls -_clearLastHitViewIfSelf, I speculate that
lastHitView has been set to an already-closed view.
* WebView/WebHTMLView.mm:
(-[WebHTMLView hitTest:]): Return nil if the view is closed.
2009-06-22 Alexey Proskuryakov <ap@webkit.org>
Reviewed by John Sullivan.
<rdar://problem/6956606> REGRESSION (S4Beta -> Final): After the password is input,
Japanese can't be input.
* WebView/WebHTMLView.mm: (-[WebHTMLView _updateSelectionForInputManager]): Removed an
unnecessary check - the function has an early return for null frame.
2009-06-22 Dan Bernstein <mitz@apple.com>
Reviewed by Dave Hyatt.
- fix <rdar://problem/6990938> REGRESSION (r42787): After showing and
hiding the Find banner, the WebHTMLView's height is not restored
* WebView/WebFrameView.mm:
(-[WebFrameView setFrameSize:]): Mark the FrameView for layout when the
WebFrameView's size changes.
* WebView/WebView.mm:
(-[WebView setFrameSize:]): Left the resize logic here, but only for
the single view model.
2009-06-20 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
<rdar://problem/6964221> Need more processing of pluginspage.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::createPlugin): Check protocolInHTTPFamily.
2009-06-18 Adam Barth <abarth@webkit.org>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=26199
Added preference to enable the XSSAuditor.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences isXSSAuditorEnabled]):
(-[WebPreferences setXSSAuditorEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]):
2009-06-18 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
<rdar://problem/6926859>
NPN_ConvertPoint doesn't give the right value when converting to/from NPCoordinateSpaceFlippedScreen
When inverting Y, use the height of the first screen instead of the screen the window is on.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::windowFrameChanged):
(WebKit::NetscapePluginInstanceProxy::mouseEvent):
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView convertFromX:andY:space:toX:andY:space:]):
2009-06-16 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein
<rdar://problem/6976766> Control-click on pages with accelerated compositing
content does not work.
Part deux. #ifdef the use of _private->layerHostingView with
USE(ACCELERATED_COMPOSITING)
* WebView/WebHTMLView.mm:
(-[WebHTMLView hitTest:]):
2009-06-16 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein
<rdar://problem/6976766> Control-click on pages with accelerated compositing
content does not work.
Remove the WebLayerHostingView subclass of NSView, with its attempts to
forward events to the WebHTMLView, and just fix -[WebHTMLView hitTest:]
to ignore the layerHostingView.
* WebView/WebHTMLView.mm:
(-[WebHTMLView hitTest:]):
(-[WebHTMLView attachRootLayer:]):
2009-06-15 Simon Fraser <simon.fraser@apple.com>
Reviewed by Mark Rowe.
<rdar://problem/6974857>
Define ENABLE_3D_RENDERING when building on 10.6, and move ENABLE_3D_RENDERING
switch from config.h to wtf/Platform.h.
* Configurations/FeatureDefines.xcconfig:
* WebKitPrefix.h:
2009-06-15 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
<rdar://problem/6967569>
CrashTracer: 15 crashes in Safari at com.apple.WebKit • WebKit::NetscapePluginHostManager::didCreateWindow + 85
Make sure to remove the entry from the plug-in host map so we won't end up with an entry that has a null value.
* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::hostForPackage):
2009-06-15 Dan Bernstein <mitz@apple.com>
Reviewed by Tim Hatcher.
- make the source code font in the Web Inspector match Mac defaults
* WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController init]): Set the default monospace font
to 11px Menlo, except on Leopard and Tiger where it is 10px Monaco.
2009-06-09 Justin Garcia <justin.garcia@apple.com>
Reviewed by Eric Seidel. Landed by Adam Barth.
https://bugs.webkit.org/show_bug.cgi?id=26281
REGRESSION: Copying from TextEdit/OmniGraffle and pasting into editable
region loses images
Prefer RTFD (RTF with inline images) over RTF. In
http://trac.webkit.org/changeset/19745 I accidently reversed their
order.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:]):
2009-06-13 Adam Barth <abarth@webkit.org>
Reviewed by Darin Fisher.
https://bugs.webkit.org/show_bug.cgi?id=24492
Move registerURLSchemeAsLocal from FrameLoader to SecurityOrigin
* WebView/WebView.mm:
(+[WebView registerURLSchemeAsLocal:]):
2009-06-12 Peter Kasting <pkasting@google.com>
Reviewed by Eric Seidel.
* ChangeLog-2007-10-14: Change pseudonym "Don Gibson" to me (was used while Google Chrome was not public); update my email address.
2009-06-08 Dan Bernstein <mitz@apple.com>
Rubber-stamped by Mark Rowe.
- gave Objective-C++ files the .mm extension
* Carbon/HIWebView.m: Removed.
* Carbon/HIWebView.mm: Copied from WebKit/mac/Carbon/HIWebView.m.
* Misc/WebKitNSStringExtras.m: Removed.
* Misc/WebKitNSStringExtras.mm: Copied from WebKit/mac/Misc/WebKitNSStringExtras.m.
* Misc/WebStringTruncator.m: Removed.
* Misc/WebStringTruncator.mm: Copied from WebKit/mac/Misc/WebStringTruncator.m.
* WebInspector/WebNodeHighlight.m: Removed.
* WebInspector/WebNodeHighlight.mm: Copied from WebKit/mac/WebInspector/WebNodeHighlight.m.
* WebInspector/WebNodeHighlightView.m: Removed.
* WebInspector/WebNodeHighlightView.mm: Copied from WebKit/mac/WebInspector/WebNodeHighlightView.m.
* WebView/WebDynamicScrollBarsView.m: Removed.
* WebView/WebDynamicScrollBarsView.mm: Copied from WebKit/mac/WebView/WebDynamicScrollBarsView.m.
2009-06-05 David Hyatt <hyatt@apple.com>
Reviewed by Mark Rowe.
https://bugs.webkit.org/show_bug.cgi?id=26220
Update a WebView's active state when it moves to a different window.
* WebView/WebView.mm:
(-[WebView viewDidMoveToWindow]):
2009-06-04 Sam Weinig <sam@webkit.org>
Reviewed by Alice Liu.
Move WebView internal data into WebViewData.h/mm.
* WebView/WebDelegateImplementationCaching.mm:
* WebView/WebView.mm:
* WebView/WebViewData.h: Copied from mac/WebView/WebViewInternal.h.
* WebView/WebViewData.mm: Copied from mac/WebView/WebViewInternal.mm.
* WebView/WebViewInternal.h:
* WebView/WebViewInternal.mm: Removed.
2009-06-04 David Hyatt <hyatt@apple.com>
Reviewed by Sam Weinig.
Remove _updateFocusedStateForFrame, since it's actually not even necessary now that I made
setFocusedFrame get called explicitly from become/ResignFirstResponder. setFocusedFrame does
the work of focusing the selection already.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::transitionToCommittedForNewPage):
* WebView/WebHTMLView.mm:
(-[WebHTMLView becomeFirstResponder]):
(-[WebHTMLView resignFirstResponder]):
* WebView/WebView.mm:
* WebView/WebViewInternal.h:
2009-06-04 Dan Bernstein <mitz@apple.com>
- build fix
* WebView/WebViewInternal.mm:
2009-06-03 David Hyatt <hyatt@apple.com>
Reviewed by Sam Weinig.
Reworking of focus and active state updating for WebHTMLViews so that it actually works instead of reporting wrong answers.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::transitionToCommittedForNewPage):
WebHTMLViews become first responders before they are able to reach their Frames/Pages. This happens because the NSClipView
becomes first responder when the WebHTMLView gets destroyed, and then we transfer the responder state back to the new WebHTMLView
when it is first connected. Once we have transitioned to a new page and have the Frame/Page available, go ahead and explicitly
focus the frame in WebCore and update our focused state. This change allows us to remove the updateFocusedActive timer and the
code from viewDidMoveToWindow.
* WebView/WebHTMLView.mm:
(-[WebHTMLView close]):
(-[WebHTMLView addWindowObservers]):
(-[WebHTMLView viewWillMoveToWindow:]):
(-[WebHTMLView viewDidMoveToWindow]):
(-[WebHTMLView _removeWindowObservers]):
Remove all the updateFocusedActiveState timer code, since it no longer exists.
(-[WebHTMLView windowDidBecomeKey:]):
(-[WebHTMLView windowDidResignKey:]):
Active state updating is no longer done by WebHTMLViews. It is handled by the WebView instead.
(-[WebHTMLView becomeFirstResponder]):
(-[WebHTMLView resignFirstResponder]):
Reworking of WebHTMLView's code for gaining/losing responder status. No longer update active state here, since the active state
can never change just because of responder changes. Make sure that the focused frame gets updated properly (and most importantly
actually cleared when a WebHTMLView resigns responder status).
* WebView/WebHTMLViewInternal.h:
* WebView/WebHTMLViewPrivate.h:
State updating for focused and active states has been made independent.
* WebView/WebView.mm:
(-[WebView _updateActiveState]):
WebView now handles updating of active state in _updateActiveState. It is now purely based off whether the window is key and nothing
else.
(-[WebView addWindowObserversForWindow:]):
(-[WebView removeWindowObservers]):
Start listening for the window becoming/losing key even in the usesDocumentViews case.
(-[WebView _updateFocusedStateForFrame:]):
Focused state updating is split into its own method now and called when WebHTMLViews gain and lose responder status.
(-[WebView _windowDidBecomeKey:]):
(-[WebView _windowDidResignKey:]):
Make sure to call _updateActiveState as the window gains/loses key.
(-[WebView _windowWillOrderOnScreen:]):
Run this code now that WebHTMLView no longer does it.
* WebView/WebViewInternal.h:
* WebView/WebViewPrivate.h:
Updating for the split of focused and active state updating into separate methods.
2009-06-04 Mark Rowe <mrowe@apple.com>
Speculative Tiger build fix.
* WebView/WebDelegateImplementationCaching.h:
2009-06-03 Sam Weinig <sam@webkit.org>
Reviewed by Mark Rowe.
Move delegate implementation caching logic into its own files.
* WebView/WebDelegateImplementationCaching.h: Copied from mac/WebView/WebViewInternal.h.
* WebView/WebDelegateImplementationCaching.mm: Copied from mac/WebView/WebView.mm.
(WebViewGetResourceLoadDelegateImplementations):
(WebViewGetFrameLoadDelegateImplementations):
(WebViewGetScriptDebugDelegateImplementations):
* WebView/WebView.mm:
* WebView/WebViewInternal.h:
2009-06-03 Sam Weinig <sam@webkit.org>
Reviewed by Mark Rowe.
Move WebViewPrivate structure to WebViewInternal.h/mm.
* WebView/WebView.mm:
* WebView/WebViewInternal.h:
* WebView/WebViewInternal.mm: Added.
(+[WebViewPrivate initialize]):
(-[WebViewPrivate init]):
(-[WebViewPrivate dealloc]):
(-[WebViewPrivate finalize]):
2009-06-03 Sam Weinig <sam@webkit.org>
Reviewed by Darin Adler.
Small cleanup in WebView.
- Move global data initialization to WebView's initialization method.
- Move _clearViewUpdateRunLoopObserver from WebViewPrivate to WebView (FileInternal)
* WebView/WebView.mm:
(-[WebViewPrivate init]): Remove global initializers.
(-[WebViewPrivate dealloc]): Cleanup whitespace.
(-[WebViewPrivate finalize]): Ditto.
(-[WebView _close]): Call [self _clearViewUpdateRunLoopObserver] instead of
[_private _clearViewUpdateRunLoopObserver]
(+[WebView initialize]): Move global initializers here.
(-[WebView _clearViewUpdateRunLoopObserver]): Moved from WebViewPrivate.
(viewUpdateRunLoopObserverCallBack): Call [self _clearViewUpdateRunLoopObserver]
instead of [_private _clearViewUpdateRunLoopObserver]
2009-06-03 Dan Bernstein <mitz@apple.com>
Reviewed by Anders Carlsson.
- WebKit part of eliminating WebCoreTextRenderer
* Misc/WebKitNSStringExtras.m:
(webkit_CGCeiling): Added.
(-[NSString _web_drawAtPoint:font:textColor:]): Replaced the malloc()ed
string buffer with a Vector. Moved code from
WebCoreDrawTextAtPoint() to here.
(-[NSString _web_drawDoubledAtPoint:withTopColor:bottomColor:font:]):
(-[NSString _web_widthWithFont:]): Replaced the malloc()ed string buffer
with a Vector. Moved code from WebCoreTextFloatWidth() to here.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _addToStyle:fontA:fontB:]): Replaced call to
WebCoreFindFont() with use of
+[WebFontCache fontWithFamily:traits:weight:size:].
* WebView/WebView.mm:
(+[WebView _setAlwaysUsesComplexTextCodePath:]): Changed to call
Font::setCodePath() directly.
(+[WebView _setShouldUseFontSmoothing:]): Changed to call
Font::setShouldUseSmoothing().
(+[WebView _shouldUseFontSmoothing]): Changed to call
Font::shouldUseSmoothing().
2009-06-03 Dan Bernstein <mitz@apple.com>
Rubber-stamped by Mark Rowe.
- remove a private method that was used only by Safari 3.0.
* WebView/WebView.mm: Removed +_minimumRequiredSafariBuildNumber.
* WebView/WebViewPrivate.h: Ditto.
2009-06-03 Dan Bernstein <mitz@apple.com>
- build fix
* WebView/WebHTMLView.mm:
2009-06-03 Dan Bernstein <mitz@apple.com>
Reviewed by Anders Carlsson.
- build fix
* WebView/WebHTMLView.mm:
* WebView/WebView.mm:
2009-06-02 Darin Adler <darin@apple.com>
Reviewed by David Hyatt.
Bug 26112: viewless WebKit -- make events work
https://bugs.webkit.org/show_bug.cgi?id=26112
One change here is to make the -[WebFrame frameView] function assert if ever called
in viewless mode, and fix many callers that would trip that assertion.
A major change is to put some methods and data in WebView that are currently in
WebHTMLView, used only in viewless mode. A next step will be to use the WebView
methods whenever possible, even when not in the viewless mode.
Also fix FrameView to do normal reference counting instead of a strange model with
an explicit deref near creation time.
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::scrollRectIntoView): Add code to start in the appropriate place
when dealing with viewless mode. This gets triggered when visiting the Google home page.
(WebChromeClient::setToolTip): Changed to call WebView instead of WebHTMLView.
(WebChromeClient::print): Changed to use a new selector that doesn't require a
WebFrameView if present. Also don't even try to use the old selector in viewless mode.
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::respondToChangedSelection): Changed to call WebView instead of WebHTMLView.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::transitionToCommittedForNewPage): Added more code paths for
viewless mode to skip things we can't do in that mode, with appropriate FIXME.
Use Frame::create and RefPtr and eliminate the strange reference counting of FrameView.
* WebView/WebDataSource.mm:
(-[WebDataSource _receivedData:]): Added a _usesDocumentViews guard around code that's
specific to document views.
* WebView/WebFrame.mm:
(-[WebFrame _updateBackgroundAndUpdatesWhileOffscreen]): Added a _usesDocumentViews
guard around code that's specific to document views.
(-[WebFrame _hasSelection]): Added an implementation for viewless mode.
(-[WebFrame _clearSelection]): Assert we're not in viewless mode; it doesn't really
make sense to clear the selection in only one frame in viewless mode. Later we can
decide what to do.
(-[WebFrame _dragSourceMovedTo:]): Assert we're not in viewless mode; the dragging
code for viewless mode shouldn't have to involve the WebFrame object at all.
(-[WebFrame _dragSourceEndedAt:operation:]): Ditto.
(-[WebFrame frameView]): Assert we're not in viewless mode. This assertion fires
often, but it's a great pointer to code that needs to be changed.
* WebView/WebHTMLView.mm:
(-[WebHTMLView hitTest:]): Tweaked a comment.
(-[WebHTMLView _updateMouseoverWithEvent:]): Fixed a bug where the fake event for
moving the mouse out of the old view ended up overwriting the event for moving
the mouse within the new view.
(-[WebHTMLView mouseDown:]): Got rid of explicit conversion of event to
PlatformMouseEvent in call to sendContextMenuEvent; that's no longer possible
without passing another argument, and it's now handled in EventHandler.
* WebView/WebTextCompletionController.h: Copied from WebKit/mac/WebView/WebHTMLView.mm.
Removed everything except for the WebTextCompletionController class.
* WebView/WebTextCompletionController.mm: Copied from WebKit/mac/WebView/WebHTMLView.mm.
Ditto.
* WebView/WebUIDelegatePrivate.h: Added webView:printFrame: method.
* WebView/WebView.mm: Moved includes and fields in from WebHTMLView.
(-[WebView _usesDocumentViews]): Updated for name change from useDocumentViews
to usesDocumentViews.
(-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): Ditto.
(-[WebView drawSingleRect:]): Ditto.
(-[WebView isFlipped]): Ditto.
(-[WebView setFrameSize:]): Ditto. Also changed to use _mainCoreFrame method.
(-[WebView _viewWillDrawInternal]): Ditto.
(-[WebView viewWillDraw]): Ditto.
(-[WebView drawRect:]): Ditto.
(-[WebView _close]): Added code to nil out the lastMouseoverView global.
(-[WebView _dashboardRegions]): Use _mainCoreFrame.
(-[WebView setProhibitsMainFrameScrolling:]): Ditto.
(-[WebView _setInViewSourceMode:]): Ditto.
(-[WebView _inViewSourceMode]): Ditto.
(-[WebView _attachScriptDebuggerToAllFrames]): Ditto.
(-[WebView _detachScriptDebuggerFromAllFrames]): Ditto.
(-[WebView textIteratorForRect:]): Ditto.
(-[WebView _executeCoreCommandByName:value:]): Ditto.
(-[WebView addWindowObserversForWindow:]): Ditto.
(-[WebView removeWindowObservers]): Ditto.
(-[WebView _updateFocusedAndActiveState]): Ditto.
(-[WebView _updateFocusedAndActiveStateForFrame:]): Turned into a class method.
Added code to handle the viewless case without calling frameView.
(-[WebView _windowDidBecomeKey:]): Updated for name change from useDocumentViews
to usesDocumentViews.
(-[WebView _windowDidResignKey:]): Ditto.
(-[WebView _windowWillOrderOnScreen:]): Ditto.
(-[WebView mainFrame]): Tweaked.
(-[WebView selectedFrame]): Added a conditional to avoid trying to get at the
frame view in viewless case.
(-[WebView _setZoomMultiplier:isTextOnly:]): Use _mainCoreFrame.
(-[WebView setCustomTextEncodingName:]): Ditto.
(-[WebView windowScriptObject]): Ditto.
(-[WebView setHostWindow:]): Ditto. Also put some code that's needed only for
document views inside _private->usesDocumentViews.
(-[WebView _hitTest:dragTypes:]): Tweaked.
(-[WebView acceptsFirstResponder]): Added case for viewless mode along with a
FIXME, since it's not complete.
(-[WebView becomeFirstResponder]): Ditto.
(-[WebView _webcore_effectiveFirstResponder]): Put the body of this inside
a usesDocumentView check, because we don't need the first responder forwarding
in viewless mode.
(-[WebView setNextKeyView:]): Ditto.
(-[WebView mouseDown:]): Added. Copied from WebHTMLView. FIXME in here suggests
that we make WebHTMLView share this one soon, which I think is practical.
(-[WebView mouseUp:]): Ditto.
(-[WebView setHoverFeedbackSuspended:]): Added a code path for viewless mode.
(-[WebView shouldClose]): Use _mainCoreFrame.
(-[WebView aeDescByEvaluatingJavaScriptFromString:]): Ditto.
(-[WebView setEditable:]): Ditto.
(-[WebView _frameViewAtWindowPoint:]): Added an assertion that we're not in
viewless mode since this method makes no sense in that mode.
(-[WebView _setMouseDownEvent:]): Added. Copied from WebHTMLView. I plan to
eliminate the one in WebHTMLView soon.
(-[WebView _cancelUpdateMouseoverTimer]): Ditto.
(-[WebView _stopAutoscrollTimer]): Ditto.
(+[WebView _updateMouseoverWithEvent:]): Ditto.
(-[WebView _updateMouseoverWithFakeEvent]): Ditto.
(-[WebView _setToolTip:]): Added. Calls through to the WebHTMLView version.
(-[WebView _selectionChanged]): Ditto.
(-[WebView _mainCoreFrame]): Added.
(-[WebView _needsOneShotDrawingSynchronization]): Moved into the WebInternal
category.
(-[WebView _setNeedsOneShotDrawingSynchronization:]): Ditto.
(-[WebView _startedAcceleratedCompositingForFrame:]): Ditto.
(-[WebView _stoppedAcceleratedCompositingForFrame:]): Ditto.
(viewUpdateRunLoopObserverCallBack): Ditto.
(-[WebView _scheduleViewUpdate]): Ditto.
* WebView/WebViewInternal.h: Made most of the file not compile at all when
included from non-C++ source files, elminating some excess declarations and
typedefs. Moved more methods into the real internal category. Added new
methods _setMouseDownEvent, _cancelUpdateMouseoverTimer, _stopAutoscrollTimer,
_updateMouseoverWithFakeEvent, _selectionChanged, and _setToolTip:.
2009-06-02 Mark Rowe <mrowe@apple.com>
Reviewed by Anders Carlsson.
Remove workaround that was added to address <rdar://problem/5488678> as it no longer affects our Tiger builds.
* Configurations/Base.xcconfig:
2009-06-01 Darin Adler <darin@apple.com>
* WebView/WebTextCompletionController.mm: Fix Tiger build by adding import
of WebTypesInternal.h.
2009-06-01 Darin Adler <darin@apple.com>
Reviewed by Maciej Stachowiak.
Bug 26113: break WebTextCompletionController out into its own source file
https://bugs.webkit.org/show_bug.cgi?id=26113
* WebView/WebHTMLView.mm:
(-[WebHTMLViewPrivate dealloc]): Updated for new name.
(-[WebHTMLViewPrivate clear]): Ditto.
(-[WebHTMLView _frameOrBoundsChanged]): Ditto.
(-[WebHTMLView menuForEvent:]): Ditto.
(-[WebHTMLView windowDidResignKey:]): Ditto.
(-[WebHTMLView windowWillClose:]): Ditto.
(-[WebHTMLView mouseDown:]): Ditto.
(-[WebHTMLView resignFirstResponder]): Ditto.
(-[WebHTMLView keyDown:]): Ditto.
(-[WebHTMLView complete:]): Ditto. Also pass WebView to init method.
(-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]): Ditto.
* WebView/WebTextCompletionController.h: Copied from mac/WebView/WebHTMLView.mm.
* WebView/WebTextCompletionController.mm: Copied from mac/WebView/WebHTMLView.mm.
Changed initializer to pass in a spearate WebView and WebHTMLView, to smooth the
way for handling viewless mode properly in the future.
2009-05-30 David Kilzer <ddkilzer@apple.com>
Add JSLock to -[WebScriptCallFrame scopeChain]
Reviewed by Darin Adler.
In Debug builds of WebKit, Dashcode launching MobileSafari could
cause the ASSERT(JSLock::lockCount() > 0) assertion to fire in
JSC::Heap::heapAllocate() because the JSLock wasn't taken.
* WebView/WebScriptDebugDelegate.mm:
(-[WebScriptCallFrame scopeChain]): Take JSLock before calling
into JavaScriptCore.
2009-05-28 Mark Rowe <mrowe@apple.com>
Rubber-stamped by Dan Bernstein.
Build fix. Move off a deprecated NSFileManager method.
* Misc/WebNSFileManagerExtras.h:
* Misc/WebNSFileManagerExtras.m:
(-[NSFileManager destinationOfSymbolicLinkAtPath:error:]): Implement a new-in-Leopard method for Tiger to use.
(-[NSFileManager attributesOfItemAtPath:error:]): Ditto.
* Plugins/WebNetscapePluginPackage.mm:
(-[WebNetscapePluginPackage _initWithPath:]): Use the new non-deprecated methods.
2009-05-28 Dirk Schulze <krit@webkit.org>
Reviewed by Nikolas Zimmermann.
Added new build flag --filters. More details in WebCore/ChangeLog.
* Configurations/FeatureDefines.xcconfig:
2009-05-27 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=26009
<rdar://problem/6925656> REGRESSION (r43973): Problems While Working With OpenVanilla
* WebView/WebHTMLView.mm:
(-[WebHTMLView _updateSelectionForInputManager]): Don't call updateWindows if the selection
is None. This routinely happens during editing, and it doesn't mean that we left an editable
area (in which case the selection changes to a non-editable one).
2009-05-26 Sam Weinig <sam@webkit.org>
Reviewed by Brady Eidson.
Fix for <rdar://problem/6916371>
iWeb 'Announce' button does nothing after publishing to MobileMe
Add linked-on-or-after check to allow older WebKit apps to use the
old behavior of sniffing everything (including file: urls)
* Misc/WebKitVersionChecks.h:
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
2009-05-26 Stephanie Lewis <slewis@apple.com>
Reviewed by Ada Chan and Oliver Hunt.
Remove WebView observers in during fast teardown.
<rdar://problem/6922619> REGRESSION (Tiger-only?): After restoring windows from the previous session, a crash occurs while attempting to quit Safari
* WebView/WebView.mm:
(-[WebView _closeWithFastTeardown]):
2009-05-26 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
<rdar://problem/6901751>
REGRESSION (r35515): Tiger crash painting the selection on registration page of car2go.com
Remove WKCGContextIsSafeToClip.
* WebCoreSupport/WebSystemInterface.m:
(InitWebCoreSystemInterface):
2009-05-26 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
- fix <rdar://problem/6922371> REGRESSION (r43973): Can't type first
character with an umlaut, circumflex, or accent in Mail or in a wiki
* WebView/WebHTMLView.mm:
(isTextInput): Moved here.
(isInPasswordField): Moved here.
(-[WebHTMLView becomeFirstResponder]): Update the exposeInputContext
flag and let NSApplication update the input manager with the new input
context if necessary.
(-[WebHTMLView _updateSelectionForInputManager]): Changed to use the
NSApp global instead of +[NSApplication sharedApplication].
2009-05-26 Mark Rowe <mrowe@apple.com>
Fix the Tiger build.
* Misc/WebNSObjectExtras.mm:
(-[NSInvocation _webkit_invokeAndHandleException:]): Rename the local variable so that
it doesn't conflict with a member variable on Tiger.
2009-05-26 Darin Adler <darin@apple.com>
Reviewed by Mark Rowe.
<rdar://problem/6921835> REGRESSION (r44115): Crash in Leopard Mail viewing message
Fix case where we autorelease an object on the main thread that we are returning
to another thread when using our _webkit_invokeOnMainThread method.
* Misc/WebNSObjectExtras.mm:
(returnTypeIsObject): Added.
(-[WebMainThreadInvoker forwardInvocation:]): Autorelease the object on the calling
thread, balancing a retain done on the main thread.
(-[NSInvocation _webkit_invokeAndHandleException:]): Retain the object on the main
thread.
2009-05-26 David Hyatt <hyatt@apple.com>
Back out the workaround for Mail crashing. Darin is working on the real fix.
* Misc/WebNSObjectExtras.mm:
(-[WebMainThreadInvoker forwardInvocation:]):
2009-05-26 David Hyatt <hyatt@apple.com>
Reviewed by Darin Adler.
Fix for https://bugs.webkit.org/show_bug.cgi?id=25969.
Stop using notifications for boundsChanged, since the notifications are being sent too late.
Since subviews get resized before parents do, the notification comes in telling the WebHTMLView
that its size has changed *before* we've done setNeedsLayout in the WebView size change callback.
Become more like the Windows platform and just do the bounds changed immediately as our size is
being altered by subclassing setFrameSize in WebView.
Also patch WebDynamicScrollbarsView to detect the case where neither axis is really spilling out
past the viewport, so that in shrinking situations we figure out that we don't need scrollbars
any more.
* WebView/WebDynamicScrollBarsView.m:
(-[WebDynamicScrollBarsView updateScrollers]):
* WebView/WebView.mm:
(-[WebView _boundsChangedToNewSize:]):
(-[WebView setFrameSize:]):
(-[WebView viewWillMoveToWindow:]):
(-[WebView viewDidMoveToWindow]):
2009-05-25 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
- WebKit side of <rdar://problem/6914001>.
* Plugins/Hosted/NetscapePluginHostManager.h:
* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::didCreateWindow):
Iterate over all plug-in hosts. If one is in full-screen mode, make sure to activate the
WebKit app instead.
* Plugins/Hosted/NetscapePluginHostProxy.h:
(WebKit::NetscapePluginHostProxy::isMenuBarVisible):
Add getter.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCEvaluate):
Add allowPopups flag.
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::PluginRequest::PluginRequest):
(WebKit::NetscapePluginInstanceProxy::PluginRequest::allowPopups):
(WebKit::NetscapePluginInstanceProxy::loadURL):
(WebKit::NetscapePluginInstanceProxy::evaluateJavaScript):
(WebKit::NetscapePluginInstanceProxy::loadRequest):
(WebKit::NetscapePluginInstanceProxy::evaluate):
Use "allowPopups" instead of "userGesture".
* Plugins/Hosted/WebKitPluginClient.defs:
Add allowPopups argument to Evaluate.
* Plugins/Hosted/WebKitPluginHostTypes.h:
Use "allowPopups" instead of "userGesture".
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::createWindow):
Call didCreateWindow here.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchCreatePage):
Ditto.
2009-05-25 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
- Fix <rdar://problem/6915849>.
Release the placeholder window after -[NSApplication runModalForWindow] returns.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WebKit::NetscapePluginHostProxy::beginModal):
(WebKit::NetscapePluginHostProxy::endModal):
2009-05-24 Dan Bernstein <mitz@apple.com>
- revert an accidental change from r43964.
* WebView/WebView.mm:
(+[WebView _setShouldUseFontSmoothing:]):
2009-05-24 Darin Adler <darin@apple.com>
Reviewed by Dan Bernstein and Tim Hatcher.
<rdar://problem/6913045> New console message spewed by automator CLI after installing JetstreamLeo40B21a
* Misc/WebNSObjectExtras.mm:
(-[WebMainThreadInvoker initWithTarget:]): Tweaked argument name.
(-[WebMainThreadInvoker forwardInvocation:]): Removed call to retainArguments.
This was unneeded and in the case of a newly created but not yet fully initialized
NSView object it caused the abovementioned bug.
(-[WebMainThreadInvoker handleException:]): Tweaked argument name. Added assertion.
(-[NSInvocation _webkit_invokeAndHandleException:]): Tweaked name of local variable
that holds the exception.
2009-05-23 David Kilzer <ddkilzer@apple.com>
Part 2 of 2: Bug 25495: Implement PassOwnPtr and replace uses of std::auto_ptr
<https://bugs.webkit.org/show_bug.cgi?id=25495>
Reviewed by Oliver Hunt.
* History/WebHistory.mm:
(-[WebHistory _visitedURL:withTitle:method:wasFailure:]): Return
0 instead of an empty auto_ptr<>.
* History/WebHistoryItem.mm:
(-[WebHistoryItem initFromDictionaryRepresentation:]): Use
OwnPtr<> instead of auto_ptr<> for stack variable.
* WebCoreSupport/WebChromeClient.h:
(WebChromeClient::createHTMLParserQuirks): Return a PassOwnPtr<>
instead of a raw HTMLParserQuirks pointer.
2009-05-23 David Kilzer <ddkilzer@apple.com>
Part 1 of 2: Bug 25495: Implement PassOwnPtr and replace uses of std::auto_ptr
<https://bugs.webkit.org/show_bug.cgi?id=25495>
Reviewed by Oliver Hunt.
* ForwardingHeaders/wtf/OwnPtrCommon.h: Added.
* ForwardingHeaders/wtf/PassOwnPtr.h: Added.
2009-05-22 Darin Adler <darin@apple.com>
Reviewed by Dan Bernstein.
- Fix <rdar://problem/6913765> REGRESSION (r42331-r42334): Extra scroll
bars appearing on Welcome panels of iLife '09 apps
* WebView/WebView.mm:
(needsUnwantedScrollBarWorkaround): Added. Checks if this is a panel
where scroll bars are unwanted. For safety, limited to only Apple applications.
(-[WebView viewDidMoveToWindow]): If the workaround is needed, disallow
scrolling the main frame. This prevents scroll bars from appearing.
2009-05-22 Adam Barth <abarth@webkit.org>
Reviewed by Maciej Stachowiak.
https://bugs.webkit.org/show_bug.cgi?id=25955
Remove the policyBaseURL parameter from setCookie. This parameter is
redudant with the document parameter.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::setCookies):
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView setVariable:forURL:value:length:]):
2009-05-21 Darin Fisher <darin@chromium.org>
Fix-up coding style.
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::getAutoCorrectSuggestionForMisspelledWord):
2009-05-20 Siddhartha Chattopadhyaya <sidchat@google.com>
Reviewed by Justin Garcia.
Add automatic spell correction support in WebKit
https://bugs.webkit.org/show_bug.cgi?id=24953
* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::getAutoCorrectSuggestionForMisspelledWord):
2009-05-21 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin Adler.
<rdar://problem/6907542> REGRESSION (r43143): Hang in RenderLineBoxList::dirtyLinesFromChangedChild
when clicking link to load Flash animation (http://www.roambi.com)
* WebCoreSupport/WebEditorClient.mm: (WebEditorClient::respondToChangedSelection):
Don't call -[NSApplication updateWindows] here, WebHTMLView can take care of this.
* WebView/WebHTMLView.mm:
(-[WebHTMLView inputContext]): Use a precomputed boolean stored in WebHTMLViewPrivate, as
calling isTextInput() is not always safe.
(-[WebHTMLView textStorage]): Ditto.
(-[WebHTMLView _updateSelectionForInputManager]): Update _private->exposeInputContext when
selection changes, and let AppKit update its cache if necessary.
2009-05-21 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin Adler.
<rdar://problem/5579292> REGRESSION (2-3): "Default default" encoding for Korean changed
from Korean (Windows, DOS) to Korean (ISO 2022-KR), which breaks some sites
* WebView/WebPreferences.mm:
(+[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]): Update the existing fix
for the changed result of CFStringConvertEncodingToIANACharSetName().
2009-05-21 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin Adler.
<rdar://problem/6883758> REGRESSION (r43143): First character typed with input method does
not go into inline hole (seen with Chinese & Kotoeri on top Chinese website www.baidu.com)
* WebCoreSupport/WebEditorClient.mm: (WebEditorClient::respondToChangedSelection):
Call -[NSApplication updateWindows] to make AppKit re-fetch the input context when selection
changes. Since we use SelectionController to check whether the view is editable, it is
important not to re-fetch the context too early, e.g. from a focus changed notification.
2009-05-21 Eric Seidel <eric@webkit.org>
Reviewed by Alexey Proskuryakov.
Rename DragController::dragOperation() to sourceDragOperation() for clarity
* WebView/WebHTMLView.mm:
(-[WebHTMLView draggingSourceOperationMaskForLocal:]):
2009-05-21 Dan Bernstein <mitz@apple.com>
Reviewed by Anders Carlsson.
- WebKit part of <rdar://problem/6901751> REGRESSION (r35515): Tiger
crash painting the selection on registration page of car2go.com
* WebCoreSupport/WebSystemInterface.m:
(InitWebCoreSystemInterface): Added CGContextIsSafeToClip.
2009-05-20 Stephanie Lewis <slewis@apple.com>
Update the order files. <rdar://problem/6881750> Generate new order files.
* WebKit.order:
2009-05-20 Brady Eidson <beidson@apple.com>
Reviewed by Darin Adler.
<rdar://problem/6905336> REGRESSION: "Clear History" does not save empty history to disk
* History/WebHistory.mm:
(-[WebHistoryPrivate data]): If there are no entries, return an empty NSData instead of nil.
2009-05-20 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler and Kevin Decker.
WebKit side of <rdar://problem/6895072>
Pass the localization as a launch property.
* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::spawnPluginHost):
2009-05-20 Dan Bernstein <mitz@apple.com>
- fix the build after r43918
* WebCoreSupport/WebChromeClient.h:
(WebChromeClient::setCursor):
2009-05-20 Darin Adler <darin@apple.com>
Reviewed by John Sullivan.
<rdar://problem/4023899> Shift-Tab skips key views in toolbar in Safari, although Tab
iterates through them properly
* WebView/WebView.mm:
(-[WebView previousValidKeyView]): Work around a bug in -[NSView previousValidKeyView].
2009-05-19 Timothy Hatcher <timothy@apple.com>
Add a new private API method that will dispatch pending loads that have been scheduled
because of recent DOM additions or style changes.
<rdar://problem/6889218> REGRESSION: Some iChat transcript resources are not
loaded because willSendRequest doesn't happen immediately
Reviewed by Antti Koivisto.
* WebView/WebView.mm:
(-[WebView _dispatchPendingLoadRequests]): Call Loader::servePendingRequests().
* WebView/WebViewPrivate.h: Added _dispatchPendingLoadRequests.
2009-05-18 Sam Weinig <sam@webkit.org>
<rdar://problem/6899044> Can't see Apple ad on nytimes.com unless I spoof the user agent
Add user agent hack for pointroll.com.
Reviewed by Steve Falkenburg.
* WebView/WebView.mm:
(-[WebView WebCore::_userAgentForURL:WebCore::]):
2009-05-16 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig and Dan Bernstein.
Fix <rdar://problem/6889644>
* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::spawnPluginHost):
2009-05-16 Dan Bernstein <mitz@apple.com>
- revert an accidental change from r43802.
* WebInspector/WebInspector.mm:
2009-05-16 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
<rdar://problem/6895347> Mouse wheeling in the QuickTime plug-in (incorrectly) scrolls the page
Fix logic. The plug-in returns true if it handled the event.
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView sendEvent:isDrawRect:]):
2009-05-16 Dan Bernstein <mitz@apple.com>
Reviewed by Alexey Proskuryakov.
- fix <rdar://problem/6873305> Two distinct characters are not displayed
correctly with 2 of the font selections from the stickies widget
* WebView/WebHTMLView.mm:
(-[WebHTMLView _plainTextFromPasteboard:]): Return precomposed text.
This is consistent with
-_documentFragmentFromPasteboard:forType:inContext:subresources:.
2009-05-15 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
Fix <rdar://problem/6875398>.
* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::instantiatePlugin):
If we failed to instantiate the plug-in, call cleanup() so that any streams created by the plug-in from its
NPP_New callback are destroyed.
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
Make cleanup() public.
2009-05-15 Darin Adler <darin@apple.com>
Reviewed by Anders Carlsson.
<rdar://problem/6889823> hash table iterator used after hash table modified in
ProxyInstance::fieldNamed() when viewing movie trailer
* Plugins/Hosted/ProxyInstance.mm:
(WebKit::ProxyInstance::methodsNamed): Move add call after the waitForReply call.
Anders says that by the time we return someone else might have done the same add
for us.
(WebKit::ProxyInstance::fieldNamed): Ditto.
2009-05-15 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
<rdar://problem/6892055>
Replace WKN_GetLocation with WKN_ResolveURL (WKN_GetLocation was confusing and did not take the base URL into account)
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCResolveURL):
New MIG callback.
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::resolveURL):
Use FrameLoader::complete URL here.
* Plugins/Hosted/WebKitPluginClient.defs:
Add new MIG definition.
* Plugins/WebBaseNetscapePluginView.h:
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView resolvedURLStringForURL:target:]):
* Plugins/WebNetscapeContainerCheckPrivate.h:
* Plugins/WebNetscapeContainerCheckPrivate.mm:
(browserContainerCheckFuncs):
* Plugins/WebNetscapePluginView.h:
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView resolveURL:forTarget:]):
* Plugins/npapi.mm:
(WKN_ResolveURL):
2009-05-15 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
- fix <rdar://problem/6892052> WebTextIterator should not “emit
characters between all visible positions”
* WebView/WebTextIterator.mm:
(-[WebTextIterator initWithRange:]): Changed to construct a TextIterator
with emitCharactersBetweenAllVisiblePositions set to false.
2009-05-15 Mark Rowe <mrowe@apple.com>
Reviewed by Dave Kilzer.
Look for libWebKitSystemInterface.a in a more reasonable location.
* Configurations/DebugRelease.xcconfig:
2009-05-14 David Hyatt <hyatt@apple.com>
Reviewed by Tim Hatcher.
Fix for <rdar://problem/6886217> REGRESSION (S4 beta-ToT): Adium chat window contents no longer resize.
Technically this is a bug in Adium. It appears that Adium has subclassed the WebView and implemented
viewDidMoveToWindow in its subclass improperly. It doesn't call up to the base class WebView like it
should and so our boundsChanged notification never gets added.
Reduce the dependence on viewDidMoveToWindow by moving the registration of observers into
viewWillMoveToWindow instead.
* WebView/WebView.mm:
(-[WebView addSizeObserversForWindow:]):
(-[WebView removeWindowObservers]):
(-[WebView addWindowObserversForWindow:]):
(-[WebView viewWillMoveToWindow:]):
(-[WebView viewDidMoveToWindow]):
(-[WebView viewDidMoveToSuperview]):
2009-05-14 David Levin <levin@chromium.org>
Reviewed by Eric Seidel.
https://bugs.webkit.org/show_bug.cgi?id=24704
Allow the local cache directory to be set using a defaults key.
* Misc/WebKitNSStringExtras.h:
* Misc/WebKitNSStringExtras.m:
(+[NSString _webkit_localCacheDirectoryWithBundleIdentifier:]):
* WebKit.exp:
2009-05-14 Darin Adler <darin@apple.com>
Reviewed by Adam Roben.
<rdar://problem/6879999> Automator actions that use WebKit on a background thread fail when run outside of Automator
* WebView/WebView.mm:
(clientNeedsWebViewInitThreadWorkaround): Added. Contains new broader rule.
(needsWebViewInitThreadWorkaround): Changed to call clientNeedsWebViewInitThreadWorkaround.
2009-05-14 Darin Adler <darin@apple.com>
Reviewed by John Sullivan.
Bug 24049: Second right-click crashes safari when alert invoked
https://bugs.webkit.org/show_bug.cgi?id=24049
rdar://problem/6878977
* WebView/WebHTMLView.mm:
(-[WebHTMLView rightMouseUp:]): Added a retain/autorelease of the event.
(-[WebHTMLView menuForEvent:]): Ditto. Also cleaned up the logic here and
eliminated some use of pointers that might be invalid after calling through
to WebCore.
(-[WebHTMLView scrollWheel:]): Ditto.
(-[WebHTMLView acceptsFirstMouse:]): Ditto.
(-[WebHTMLView shouldDelayWindowOrderingForEvent:]): Ditto.
(-[WebHTMLView mouseDown:]): Ditto.
(-[WebHTMLView mouseDragged:]): Ditto.
(-[WebHTMLView mouseUp:]): Ditto.
(-[WebHTMLView keyDown:]): Ditto.
(-[WebHTMLView keyUp:]): Ditto.
(-[WebHTMLView flagsChanged:]): Ditto.
(-[WebHTMLView performKeyEquivalent:]): Ditto.
2009-05-14 Mark Rowe <mrowe@apple.com>
Rubber-stamped by Darin Adler.
<rdar://problem/6681868> When building with Xcode 3.1.3 should be using gcc 4.2
The meaning of XCODE_VERSION_ACTUAL is more sensible in newer versions of Xcode.
Update our logic to select the compiler version to use the more appropriate XCODE_VERSION_MINOR
if the version of Xcode supports it, and fall back to XCODE_VERSION_ACTUAL if not.
* Configurations/Base.xcconfig:
2009-05-13 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
WebKit side of <rdar://problem/6884476>.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCGetLocation):
Forward this to the plug-in instance proxy.
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::getLocation):
Ask the plug-in view for the location.
* Plugins/Hosted/WebKitPluginClient.defs:
Add MIG definition.
* Plugins/WebBaseNetscapePluginView.h:
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView locationStringForTarget:]):
Return the URL for a given frame.
* Plugins/WebNetscapeContainerCheckPrivate.h:
Bump version. Add new declaration to the vtable.
* Plugins/WebNetscapeContainerCheckPrivate.mm:
(browserContainerCheckFuncs):
Add new declaration to the vtable.
* Plugins/WebNetscapePluginView.h:
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView locationForTarget:]):
Call the base class method.
* Plugins/npapi.mm:
(WKN_GetLocation):
Forward this to the plug-in view.
2009-05-13 Douglas R. Davidson <ddavidso@apple.com>
Reviewed by Darin Adler.
<rdar://problem/6871587> Smart Copy/Paste setting should persist as continuous
spell checking setting does
* WebView/WebPreferenceKeysPrivate.h: Added WebSmartInsertDeleteEnabled.
* WebView/WebView.mm:
(-[WebViewPrivate init]): Initialize based on WebSmartInsertDeleteEnabled
default.
(-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
Removed code that initialized here.
(-[WebView setSmartInsertDeleteEnabled:]): Set default here was with
continuous spell checking setting.
2009-05-13 Darin Adler <darin@apple.com>
Revert the parser arena change. It was a slowdown, not a speedup.
Better luck next time (I'll break it up into pieces).
2009-05-13 Darin Adler <darin@apple.com>
Reviewed by Cameron Zwarich.
Bug 25674: syntax tree nodes should use arena allocation
https://bugs.webkit.org/show_bug.cgi?id=25674
* Plugins/Hosted/NetscapePluginInstanceProxy.mm: Updated includes.
New ones needed due to reducing includes of JSDOMBinding.h.
* WebView/WebScriptDebugger.mm: Ditto.
2009-05-13 Douglas R. Davidson <ddavidso@apple.com>
Reviewed by Darin Adler.
<rdar://problem/6879145>
Generate a contextual menu item allowing autocorrections to
easily be changed back. Refrain from re-correcting items
that have already been autocorrected once.
* WebCoreSupport/WebViewFactory.mm:
(-[WebViewFactory contextMenuItemTagChangeBack:]):
* WebView/WebUIDelegatePrivate.h:
2009-05-12 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
Fix <rdar://problem/6878105>.
When instantiating the QT plug-in under Dashboard, force "kiosk mode".
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]):
2009-05-12 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
- declare a forgotten method
* DOM/WebDOMOperationsPrivate.h: Declare -[DOMNode markupString] in the
WebDOMNodeOperationsPendingPublic category.
2009-05-10 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Dan Bernstein.
<rdar://problem/6870383> Have to enter credentials twice when downloading from a protected page
* Misc/WebDownload.m: Removed.
* Misc/WebDownload.mm: Copied from WebKit/mac/Misc/WebDownload.m.
(-[WebDownloadInternal download:didReceiveAuthenticationChallenge:]): Try to use
credentials from WebCore storage.
2009-05-08 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
Not reviewed. Fix clean builds, forgot to land name() -> formControlName() rename patch in WebKit. Only landed the WebCore side.
* WebView/WebHTMLRepresentation.mm:
(-[WebHTMLRepresentation elementWithName:inForm:]):
2009-05-08 Anders Carlsson <andersca@apple.com>
Reviewed by Kevin Decker.
- Fix <rdar://problem/6866712>.
Instead of just caching whether a plug-in object _has_ a field or method, also add an entry to the cache
if it _doesn't_ have a certain field or method. This way we have to make fewer calls to the plug-in host.
* Plugins/Hosted/ProxyInstance.mm:
(WebKit::ProxyInstance::methodsNamed):
(WebKit::ProxyInstance::fieldNamed):
2009-05-08 Douglas R. Davidson <ddavidso@apple.com>
Reviewed by Darin Adler.
Fixes for <rdar://problem/6852771>.
Disable text checking menu items if view is not editable.
* WebView/WebHTMLView.mm:
(-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
(-[WebHTMLView smartInsertDeleteEnabled]):
(-[WebHTMLView setSmartInsertDeleteEnabled:]):
(-[WebHTMLView toggleSmartInsertDelete:]):
* WebView/WebHTMLViewInternal.h:
2009-05-08 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Maciej Stachowiak.
<rdar://problem/6868773> NPN_GetAuthenticationInfo does not work with non-permanent credentials
* Plugins/WebBaseNetscapePluginView.mm: (WebKit::getAuthenticationInfo): Ask WebCore for
credentials first (but also ask NSURLCredentialStorage, because WebCore won't know about
permanent credentials).
2009-05-05 Ben Murdoch <benm@google.com>
Reviewed by Eric Seidel.
Add #if ENABLE(DATABASE) guards around database code so toggling ENABLE_DATABASE off does not break builds.
https://bugs.webkit.org/show_bug.cgi?id=24776
* Storage/WebDatabaseManager.mm:
* Storage/WebDatabaseManagerInternal.h:
* Storage/WebDatabaseManagerPrivate.h:
* Storage/WebDatabaseTrackerClient.h:
* Storage/WebDatabaseTrackerClient.mm:
* Storage/WebSecurityOrigin.mm:
(-[WebSecurityOrigin usage]):
(-[WebSecurityOrigin quota]):
(-[WebSecurityOrigin setQuota:]):
* Storage/WebSecurityOriginPrivate.h:
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
2009-05-04 Anders Carlsson <andersca@apple.com>
Reviewed by Kevin Decker.
Fix <rdar://problem/6797644>.
Make sure to send a reply even when an instance proxy can't be found.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCEvaluate):
(WKPCInvoke):
(WKPCInvokeDefault):
(WKPCGetProperty):
(WKPCHasProperty):
(WKPCHasMethod):
(WKPCEnumerate):
2009-05-04 Darin Adler <darin@apple.com>
Reviewed by Eric Seidel.
Bug 24924: remove Document.h include of Attr.h and HTMLCollection.h,
and NamedMappedAttrMap.h include of MappedAttribute.h
https://bugs.webkit.org/show_bug.cgi?id=24924
* WebView/WebFrame.mm: Added include of CSSMutableStyleDeclaration.h
and ScriptValue.h.
2009-05-02 Geoffrey Garen <ggaren@apple.com>
Reviewed by Sam Weinig.
Simplified null-ish JSValues.
Replaced calls to noValue() with calls to JSValue() (which is what
noValue() returned). Removed noValue().
Removed "JSValue()" initialiazers, since default construction happens...
by default.
* WebView/WebScriptDebugDelegate.mm:
(-[WebScriptCallFrame evaluateWebScript:]):
2009-05-02 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Dan Bernstein.
<rdar://problem/6741615> REGRESSION (r38629): Shortcut "Flag/Junk" in MobileMe does not work
when Kotoeri is used.
* WebView/WebHTMLView.mm: (-[WebHTMLView inputContext]): Return a nil input context when
focus is not in editable content.
2009-05-01 Geoffrey Garen <ggaren@apple.com>
Rubber Stamped by Sam Weinig.
Renamed JSValuePtr => JSValue.
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::evaluate):
(WebKit::NetscapePluginInstanceProxy::invoke):
(WebKit::NetscapePluginInstanceProxy::invokeDefault):
(WebKit::NetscapePluginInstanceProxy::construct):
(WebKit::NetscapePluginInstanceProxy::getProperty):
(WebKit::NetscapePluginInstanceProxy::setProperty):
(WebKit::NetscapePluginInstanceProxy::hasMethod):
(WebKit::NetscapePluginInstanceProxy::addValueToArray):
(WebKit::NetscapePluginInstanceProxy::marshalValue):
(WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):
(WebKit::NetscapePluginInstanceProxy::demarshalValue):
(WebKit::NetscapePluginInstanceProxy::demarshalValues):
* Plugins/Hosted/ProxyInstance.h:
* Plugins/Hosted/ProxyInstance.mm:
(WebKit::ProxyField::valueFromInstance):
(WebKit::ProxyField::setValueToInstance):
(WebKit::ProxyInstance::invoke):
(WebKit::ProxyInstance::invokeMethod):
(WebKit::ProxyInstance::invokeDefaultMethod):
(WebKit::ProxyInstance::invokeConstruct):
(WebKit::ProxyInstance::defaultValue):
(WebKit::ProxyInstance::stringValue):
(WebKit::ProxyInstance::numberValue):
(WebKit::ProxyInstance::booleanValue):
(WebKit::ProxyInstance::valueOf):
(WebKit::ProxyInstance::fieldValue):
(WebKit::ProxyInstance::setFieldValue):
* WebView/WebFrame.mm:
(-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
* WebView/WebScriptDebugDelegate.mm:
(-[WebScriptCallFrame _convertValueToObjcValue:]):
(-[WebScriptCallFrame exception]):
(-[WebScriptCallFrame evaluateWebScript:]):
* WebView/WebView.mm:
(aeDescFromJSValue):
(-[WebView aeDescByEvaluatingJavaScriptFromString:]):
2009-05-01 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
Add a FrameLoaderClient callback for the ResourceRetrievedByXMLHttpRequest.
https://bugs.webkit.org/show_bug.cgi?id=25347
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDidLoadResourceByXMLHttpRequest):
2009-04-30 David Kilzer <ddkilzer@apple.com>
Provide a mechanism to create a quirks delegate for HTMLParser
Reviewed by David Hyatt.
* WebCoreSupport/WebChromeClient.h:
(WebChromeClient::createHTMLParserQuirks): Added. The default
implementation of this factory method returns 0.
2009-04-30 Dimitri Glazkov <dglazkov@chromium.org>
Reviewed by Timothy Hatcher.
https://bugs.webkit.org/show_bug.cgi?id=25470
Extend the cover of ENABLE_JAVASCRIPT_DEBUGGER to profiler.
* Configurations/FeatureDefines.xcconfig: Added ENABLE_JAVASCRIPT_DEBUGGER define.
2009-04-30 Kevin Decker <kdecker@apple.com>
Reviewed by Anders Carlson.
<rdar://problem/6823049>
Fix an issue where some plug-ins would cause the application icon to constantly bounce
up and down in the Dock.
* Plugins/Hosted/NetscapePluginHostProxy.h: Change m_placeholderWindow ivar to be
a subclass of NSWindow, WebPlaceholderModalWindow.
* Plugins/Hosted/NetscapePluginHostProxy.mm: Added WebPlaceholderModalWindow NSWindow subclass.
(-[WebPlaceholderModalWindow _wantsUserAttention]): Prevent NSApp from calling requestUserAttention:
when the window is shown modally, even if the app is inactive.
(WebKit::NetscapePluginHostProxy::beginModal): NSWindow -> WebPlaceholderModalWindow.
2009-04-30 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Dimitri Glazkov.
https://bugs.webkit.org/show_bug.cgi?id=25342
Add MessageSource and MessageLevel parameters to the ChromeClient::addMessageToConsole.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::addMessageToConsole):
2009-04-29 Mark Rowe <mrowe@apple.com>
More build fixing after r43037.
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::invoke):
(WebKit::NetscapePluginInstanceProxy::invokeDefault):
(WebKit::NetscapePluginInstanceProxy::construct):
(WebKit::NetscapePluginInstanceProxy::demarshalValues):
2009-04-29 Dan Bernstein <mitz@apple.com>
Reviewed by Simon Fraser.
- WebKit part of <rdar://problem/6609509> Select All and then Delete
should put Mail editing back into the same state as a new message
* WebView/WebView.mm:
(-[WebView _selectionIsCaret]): Added.
(-[WebView _selectionIsAll]): Added. Returns whether the selection
encompasses the entire document.
* WebView/WebViewPrivate.h:
2009-04-29 Douglas Davidson <ddavidso@apple.com>
Reviewed by Justin Garcia.
<rdar://problem/6836921> Mail exhibits issues with text checking, e.g. menu items not always validated correctly
* WebView/WebHTMLView.mm:
(-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
(-[WebHTMLView orderFrontSubstitutionsPanel:]):
* WebView/WebView.mm:
(-[WebView validateUserInterfaceItemWithoutDelegate:]):
2009-04-29 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
Fix a bug in the bounds checking for setNeedsLayout dirtying when a WebView's size changes. The superview
of the WebView was being incorrectly checked instead of the WebView itself.
* WebView/WebView.mm:
(-[WebView _boundsChanged]):
2009-04-29 Kevin Decker <kdecker@apple.com>
Reviewed by Anders Carlson.
Allow WKN_CheckIfAllowedToLoadURL() to take an optional void* context parameter.
* Plugins/WebNetscapeContainerCheckContextInfo.h:
* Plugins/WebNetscapeContainerCheckContextInfo.mm:
(-[WebNetscapeContainerCheckContextInfo initWithCheckRequestID:callbackFunc:context:]):
(-[WebNetscapeContainerCheckContextInfo callback]):
(-[WebNetscapeContainerCheckContextInfo context]):
* Plugins/WebNetscapeContainerCheckPrivate.h:
* Plugins/WebNetscapeContainerCheckPrivate.mm:
(browserContainerCheckFuncs):
* Plugins/WebNetscapePluginView.h:
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView checkIfAllowedToLoadURL:frame:callbackFunc:context:]):
(-[WebNetscapePluginView _containerCheckResult:contextInfo:]):
* Plugins/npapi.mm:
(WKN_CheckIfAllowedToLoadURL):
2009-04-29 David Hyatt <hyatt@apple.com>
Reviewed by John Sullivan.
Fix for <rdar://problem/6835573>, Find Banner turns invisible when WebView is resized. Make sure
not to resize the interior views of a WebView in response to its bounds changing when not using
viewless WebKit. Auto-resizing rules were already in place to handle size adjustments for us.
Just mark as needing layout and do nothing else.
This does mean viewless WebKit is broken with the Find Banner, and that will likely require a
Safari change (using a new API that will enable clients to define the edges of the content area as offsets
from the sides of the WebView).
* WebView/WebView.mm:
(-[WebView _boundsChanged]):
2009-04-28 Geoffrey Garen <ggaren@apple.com>
Rubber stamped by Beth Dakin.
Removed scaffolding supporting dynamically converting between 32bit and
64bit value representations.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::marshalValues):
2009-04-28 Anders Carlsson <andersca@apple.com>
Reviewed by Kevin Decker and Darin Adler.
Fix <rdar://problem/6836132>.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCCheckIfAllowedToLoadURL):
Call the instance proxy.
(WKPCCancelCheckIfAllowedToLoadURL):
Ditto.
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
Initialize the check ID counter.
(WebKit::NetscapePluginInstanceProxy::checkIfAllowedToLoadURL):
Create a WebPluginContainerCheck, add it to the map, and start it.
(WebKit::NetscapePluginInstanceProxy::cancelCheckIfAllowedToLoadURL):
Remove the check from the map.
(WebKit::NetscapePluginInstanceProxy::checkIfAllowedToLoadURLResult):
Call the WKPH MIG callback.
* Plugins/Hosted/WebHostedNetscapePluginView.h:
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView _webPluginContainerCancelCheckIfAllowedToLoadRequest:]):
Call the instance proxy.
(-[WebHostedNetscapePluginView _containerCheckResult:contextInfo:]):
Ditto.
* Plugins/Hosted/WebKitPluginClient.defs:
* Plugins/Hosted/WebKitPluginHost.defs:
Add MIG declarations.
2009-04-28 Dan Bernstein <mitz@apple.com>
Reviewed by John Sullivan.
- fix <rdar://problem/6786360> Make PDF an insertable pasteboard type
* WebCoreSupport/WebPasteboardHelper.mm:
(WebPasteboardHelper::insertablePasteboardTypes):
* WebView/WebHTMLView.mm:
(-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:]):
(+[WebHTMLView _insertablePasteboardTypes]):
(-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
2009-04-27 Douglas R. Davidson <ddavidso@apple.com>
Add the various switches and context menu items needed for
<rdar://problem/6724106> WebViews need to implement text checking
and adopt updatePanels in place of old SPI _updateGrammar.
Reviewed by Justin Garcia.
* WebCoreSupport/WebContextMenuClient.mm:
(fixMenusReceivedFromOldClients):
* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::uppercaseWord):
(WebEditorClient::lowercaseWord):
(WebEditorClient::capitalizeWord):
(WebEditorClient::showSubstitutionsPanel):
(WebEditorClient::substitutionsPanelIsShowing):
(WebEditorClient::toggleSmartInsertDelete):
(WebEditorClient::isAutomaticQuoteSubstitutionEnabled):
(WebEditorClient::toggleAutomaticQuoteSubstitution):
(WebEditorClient::isAutomaticLinkDetectionEnabled):
(WebEditorClient::toggleAutomaticLinkDetection):
(WebEditorClient::isAutomaticDashSubstitutionEnabled):
(WebEditorClient::toggleAutomaticDashSubstitution):
(WebEditorClient::isAutomaticTextReplacementEnabled):
(WebEditorClient::toggleAutomaticTextReplacement):
(WebEditorClient::isAutomaticSpellingCorrectionEnabled):
(WebEditorClient::toggleAutomaticSpellingCorrection):
(WebEditorClient::checkTextOfParagraph):
* WebCoreSupport/WebViewFactory.mm:
(-[WebViewFactory contextMenuItemTagShowColors]):
(-[WebViewFactory contextMenuItemTagCorrectSpellingAutomatically]):
(-[WebViewFactory contextMenuItemTagSubstitutionsMenu]):
(-[WebViewFactory contextMenuItemTagShowSubstitutions:]):
(-[WebViewFactory contextMenuItemTagSmartCopyPaste]):
(-[WebViewFactory contextMenuItemTagSmartQuotes]):
(-[WebViewFactory contextMenuItemTagSmartDashes]):
(-[WebViewFactory contextMenuItemTagSmartLinks]):
(-[WebViewFactory contextMenuItemTagTextReplacement]):
(-[WebViewFactory contextMenuItemTagTransformationsMenu]):
(-[WebViewFactory contextMenuItemTagMakeUpperCase]):
(-[WebViewFactory contextMenuItemTagMakeLowerCase]):
(-[WebViewFactory contextMenuItemTagCapitalize]):
* WebView/WebHTMLView.mm:
(-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
(-[WebHTMLView isAutomaticQuoteSubstitutionEnabled]):
(-[WebHTMLView setAutomaticQuoteSubstitutionEnabled:]):
(-[WebHTMLView toggleAutomaticQuoteSubstitution:]):
(-[WebHTMLView isAutomaticLinkDetectionEnabled]):
(-[WebHTMLView setAutomaticLinkDetectionEnabled:]):
(-[WebHTMLView toggleAutomaticLinkDetection:]):
(-[WebHTMLView isAutomaticDashSubstitutionEnabled]):
(-[WebHTMLView setAutomaticDashSubstitutionEnabled:]):
(-[WebHTMLView toggleAutomaticDashSubstitution:]):
(-[WebHTMLView isAutomaticTextReplacementEnabled]):
(-[WebHTMLView setAutomaticTextReplacementEnabled:]):
(-[WebHTMLView toggleAutomaticTextReplacement:]):
(-[WebHTMLView isAutomaticSpellingCorrectionEnabled]):
(-[WebHTMLView setAutomaticSpellingCorrectionEnabled:]):
(-[WebHTMLView toggleAutomaticSpellingCorrection:]):
* WebView/WebHTMLViewInternal.h:
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebUIDelegatePrivate.h:
* WebView/WebView.mm:
(-[WebViewPrivate init]):
(-[WebView validateUserInterfaceItemWithoutDelegate:]):
(-[WebView setGrammarCheckingEnabled:]):
(-[WebView isAutomaticQuoteSubstitutionEnabled]):
(-[WebView isAutomaticLinkDetectionEnabled]):
(-[WebView isAutomaticDashSubstitutionEnabled]):
(-[WebView isAutomaticTextReplacementEnabled]):
(-[WebView isAutomaticSpellingCorrectionEnabled]):
(-[WebView setAutomaticQuoteSubstitutionEnabled:]):
(-[WebView toggleAutomaticQuoteSubstitution:]):
(-[WebView setAutomaticLinkDetectionEnabled:]):
(-[WebView toggleAutomaticLinkDetection:]):
(-[WebView setAutomaticDashSubstitutionEnabled:]):
(-[WebView toggleAutomaticDashSubstitution:]):
(-[WebView setAutomaticTextReplacementEnabled:]):
(-[WebView toggleAutomaticTextReplacement:]):
(-[WebView setAutomaticSpellingCorrectionEnabled:]):
(-[WebView toggleAutomaticSpellingCorrection:]):
* WebView/WebViewPrivate.h:
2009-04-27 David Kilzer <ddkilzer@apple.com>
Consolidate runtime application checks for Apple Mail and Safari
Reviewed by Mark Rowe and Darin Adler.
* WebCoreSupport/WebContextMenuClient.mm:
(isAppleMail): Removed.
(fixMenusToSendToOldClients): Switched to use
applicationIsAppleMail().
* WebView/WebFrame.mm:
(-[WebFrame reload]): Switched to use applicationIsSafari().
* WebView/WebPDFView.mm:
(-[WebPDFView menuForEvent:]): Ditto.
* WebView/WebResource.mm:
(+[WebResource _needMailThreadWorkaroundIfCalledOffMainThread]):
Switched to use applicationIsAppleMail().
* WebView/WebView.mm:
(runningLeopardMail): Ditto.
(runningTigerMail): Ditto.
(-[WebView _needsKeyboardEventDisambiguationQuirks]): Switched
to use applicationIsSafari().
2009-04-27 Kevin Decker <kdecker@apple.com>
Fix the Tiger build.
* Plugins/WebNetscapePluginView.mm: The base class of WebNetscapePluginView.mm, WebBaseNetscapePluginView, already implemented
the two methods below. But the Tiger compiler didn't know that.
(-[WebNetscapePluginView webView]):
(-[WebNetscapePluginView webFrame]):
2009-04-27 Kevin Decker <kdecker@apple.com>
Reviewed by Anders Carlsson.
<rdar://problem/6352982>
* Plugins/WebBaseNetscapePluginView.mm: Removed checkIfAllowedToLoadURL:frame:callbackFunc, cancelCheckIfAllowedToLoadURL, and
_webPluginContainerCancelCheckIfAllowedToLoadRequest from the base class. These methods now exist in the subclass WebNetscapePluginView.
Added WebNetscapeContainerCheckContextInfo, which is used as a "contextInfo" object in
-[WebNetscapePluginView checkIfAllowedToLoadURL:frame:callbackFunc:]
* Plugins/WebNetscapeContainerCheckContextInfo.h: Added.
* Plugins/WebNetscapeContainerCheckContextInfo.mm: Added.
(-[WebNetscapeContainerCheckContextInfo initWithCheckRequestID:callbackFunc:]): Added desiginated initializer.
(-[WebNetscapeContainerCheckContextInfo checkRequestID]): Added. Returns the checkRequestID.
(-[WebNetscapeContainerCheckContextInfo callback]): Added. Returns the callback.
* Plugins/WebNetscapePluginView.h: Added two new ivars: _containerChecksInProgress and _currentContainerCheckRequestID.
* Plugins/WebNetscapePluginView.mm: #import both WebPluginContainerCheck.h and WebNetscapeContainerCheckContextInfo.h
(-[WebNetscapePluginView checkIfAllowedToLoadURL:frame:callbackFunc:]): Added. This is the implementation of WKN_CheckIfAllowedToLoadURL.
Here, we increment the request ID and start the container check.
(-[WebNetscapePluginView _containerCheckResult:contextInfo:]): Added. This is a callback method for WebPluginContainerCheck.
It's where we actually call into the plug-in and provide the allow-or-deny result.
(-[WebNetscapePluginView cancelCheckIfAllowedToLoadURL:]): Added. This is the implementation of WKN_CancelCheckIfAllowedToLoadURL.
Here we lookup the check, cancel it, and remove it from _containerChecksInProgress.
(-[WebNetscapePluginView _webPluginContainerCancelCheckIfAllowedToLoadRequest:]): Added. WebPluginContainerCheck automatically calls
this method after invoking our _containerCheckResult: selector. It works this way because calling -[WebPluginContainerCheck cancel] allows
it to do it's teardown process.
(-[WebNetscapePluginView fini]): Release _containerChecksInProgress ivar.
* Plugins/WebPluginContainerCheck.h: Removed initWithRequest: method from header; no client was using this method directly.
* Plugins/WebPluginContainerCheck.mm:
(+[WebPluginContainerCheck checkWithRequest:target:resultObject:selector:controller:contextInfo:]): Added optional contextInfo parameter.
(-[WebPluginContainerCheck _continueWithPolicy:]): If there's a contextInfo object, pass it as a parameter to resultSelector.
(-[WebPluginContainerCheck cancel]): Release _contextInfo ivar.
(-[WebPluginContainerCheck contextInfo]): Added new method. Returns the contextInfo object, if one so exists.
* Plugins/WebPluginController.mm:
(-[WebPluginController _webPluginContainerCheckIfAllowedToLoadRequest:inFrame:resultObject:selector:]): Pass nil for contextInfo. WebKit-style
plug-ins do not need additional context information.
2009-04-25 Brady Eidson <beidson@apple.com>
Reviewed by Sam Weinig
Some *obvious* style cleanup in my last patch.
* History/WebBackForwardList.mm:
(bumperCarBackForwardHackNeeded):
2009-04-25 Brady Eidson <beidson@apple.com>
Reviewed by Oliver Hunt
<rdar://problem/6817607> BumperCar 2.2 crashes going back (invalid WebHistoryItem)
BumperCar was holding a pointer to a WebHistoryItem they never retain, then later
tried to go to it. In some cases it would be dealloc'ed first.
When WebHistoryItems were pure Objective-C they probably got away with this more often.
With the WebCore/Obj-C mixed WebHistoryItems it's more likely to crash.
* History/WebBackForwardList.mm:
(bumperCarBackForwardHackNeeded):
(-[WebBackForwardList backListWithLimit:]): If this is BumperCar, hang on to the
NSArray of WebHistoryItems until the next time this method is called.
(-[WebBackForwardList forwardListWithLimit:]): Ditto.
* Misc/WebKitVersionChecks.h: Added WEBKIT_FIRST_VERSION_WITHOUT_BUMPERCAR_BACK_FORWARD_QUIRK.
2009-04-24 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
Fix <rdar://problem/6761635>.
Make sure to keep an extra reference to the instance proxy in case the plug-in host crashes while
we're waiting for a reply.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::destroy):
2009-04-24 Brady Eidson <beidson@apple.com>
Reviewed by Dan Bernstein
Currently working on a bug where a WebHistoryItem was being used after being dealloc'ed.
I added this assertion to help catch the case as soon as it happens instead of random
issues downstream. Figured it's worth checking in by itself.
* History/WebHistoryItem.mm:
(core): ASSERT that the WebCore::HistoryItem inside this WebHistoryItem is supposed to have
this WebHistoryItem as a wrapper.
2009-04-23 Beth Dakin <bdakin@apple.com>
Reviewed by Darin Adler.
Fix for <rdar://problem/6333461> REGRESSION (r36864-r36869):
Dragging stocks widget scrollbar drags the whole widget
Look for our new WebCore scrollbars in the WebHTMLView and add
proper Dashboard regions for them.
* WebView/WebView.mm:
(-[WebView _addScrollerDashboardRegionsForFrameView:dashboardRegions:]):
(-[WebView _addScrollerDashboardRegions:from:]):
2009-04-23 John Sullivan <sullivan@apple.com>
fixed <rdar://problem/6822479> Assertion failure after Reset Safari in new history-writing code
Reviewed by Oliver Hunt
* History/WebHistory.mm:
(-[WebHistoryPrivate data]):
Return nil immediately if there are no entries; this matches a recent Windows-platform fix.
2009-04-23 Dimitri Glazkov <dglazkov@chromium.org>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=25313
Missing scroll bars in GMail.
* WebView/WebDynamicScrollBarsView.m:
(-[WebDynamicScrollBarsView updateScrollers]): Added check for the ScrollbarAlwaysOn
scroll mode.
2009-04-23 Kevin Decker <kdecker@apple.com>
* Plugins/WebPluginContainerCheck.h: Fix the Tiger build.
2009-04-23 Anders Carlsson <andersca@apple.com>
Reviewed by Geoffrey Garen.
Fix <rdar://problem/6821992>
Add a new m_inDestroy member variable. Set it to true when in destroy, and have all NPRuntime functions return false
when m_inDestroy is true.
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
(WebKit::NetscapePluginInstanceProxy::destroy):
(WebKit::NetscapePluginInstanceProxy::invoke):
(WebKit::NetscapePluginInstanceProxy::invokeDefault):
(WebKit::NetscapePluginInstanceProxy::construct):
(WebKit::NetscapePluginInstanceProxy::getProperty):
(WebKit::NetscapePluginInstanceProxy::setProperty):
(WebKit::NetscapePluginInstanceProxy::removeProperty):
(WebKit::NetscapePluginInstanceProxy::hasProperty):
(WebKit::NetscapePluginInstanceProxy::hasMethod):
(WebKit::NetscapePluginInstanceProxy::enumerate):
2009-04-23 David Hyatt <hyatt@apple.com>
Reviewed by Maciej.
Fix for <rdar://problem/6789879> REGRESSION (42464): Hitting assertion when loading message in Mail + TOT WebKit
Make the Mac platform the same as all the other platforms. Instead of (incorrectly) marking a FrameView for layout
when its underlying document view changes, just mark the outermost frame view for layout when the WebView's size changes.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _frameOrBoundsChanged]):
(-[WebHTMLView addSuperviewObservers]):
* WebView/WebView.mm:
(-[WebView _boundsChanged]):
(-[WebView removeSizeObservers]):
(-[WebView addSizeObservers]):
2009-04-23 Kevin Decker <kdecker@apple.com>
Reviewed by Tim Hatcher.
Second part of the fix for <rdar://problem/6352982>
* Plugins/WebBaseNetscapePluginView.h: Make this class conform to WebPluginContainerCheckController
* Plugins/WebBaseNetscapePluginView.mm: Likewise.
(-[WebBaseNetscapePluginView _webPluginContainerCancelCheckIfAllowedToLoadRequest:]): Added skeleton method.
* Plugins/WebPluginContainerCheck.h: Added protocol for <WebPluginContainerCheckController>
* Plugins/WebPluginContainerCheck.mm:
(-[WebPluginContainerCheck initWithRequest:target:resultObject:selector:controller:]):
* Plugins/WebPluginController.h: Make this class conform to WebPluginContainerCheckController
2009-04-23 Kevin Decker <kdecker@apple.com>
Reviewed by Anders Carlsson.
First part of <rdar://problem/6352982>
* Plugins/WebBaseNetscapePluginView.h: Imported #WebNetscapeContainerCheckPrivate.h; Added two new method:
checkIfAllowedToLoadURL:url:frame:callbackFunc: and cancelCheckIfAllowedToLoadURL:
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView checkIfAllowedToLoadURL:frame:callbackFunc:]): Added skeleton method, does nothing interesting
yet.
(-[WebBaseNetscapePluginView cancelCheckIfAllowedToLoadURL:]): Likewise.
* Plugins/WebNetscapeContainerCheckPrivate.h: Added.
* Plugins/WebNetscapeContainerCheckPrivate.mm: Added.
(browserContainerCheckFuncs): Added.
* Plugins/WebNetscapePluginView.h: Imported #WebNetscapeContainerCheckPrivate.h;
* Plugins/WebNetscapePluginView.mm: Imported #WebNetscapeContainerCheckPrivate.h; added WKN_CheckIfAllowedToLoadURL
and WKN_CancelCheckIfAllowedToLoadURL functions.
(-[WebNetscapePluginView getVariable:value:]): Return vtable for container check functions.
* Plugins/npapi.mm:
(WKN_CheckIfAllowedToLoadURL): Added new private function.
(WKN_CancelCheckIfAllowedToLoadURL): Ditto.
2009-04-22 Oliver Hunt <oliver@apple.com>
Reviewed by Darin Adler.
<rdar://problem/6757346> SAP: Prevent default on mouseDown does not stop iframe from capturing subsequent mouse moves
Make mouseUP forward to the root view as we do for mouseMoves and mouseDragged:.
* WebView/WebHTMLView.mm:
(-[WebHTMLView mouseUp:]):
2009-04-22 Oliver Hunt <oliver@apple.com>
Reviewed by Darin Adler.
<rdar://problem/6757346> SAP: Prevent default on mouseDown does not stop iframe from capturing subsequent mouse moves
Make mouseDragged forward to the root view as we do for mouseMoves.
* WebView/WebHTMLView.mm:
(-[WebHTMLView mouseDragged:]):
2009-04-22 Anders Carlsson <andersca@apple.com>
Reviewed by Oliver Hunt.
Fix <rdar://problem/6792694>
When we're trying to instantiate a plug-in and the plug-in host has died, we need to invalidate the
instance so that it doesn't stick around and do bad things.
* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::instantiatePlugin):
2009-04-22 Sam Weinig <sam@webkit.org>
Rubber-stamped by Darin Adler.
Fix for <rdar://problem/6816957>
Turn off Geolocation by default
* Configurations/FeatureDefines.xcconfig:
2009-04-21 Dan Bernstein <mitz@apple.com>
Reviewed by Jon Honeycutt.
- Mac part of fixing for <rdar://problem/6755137> Action dictionary for
policy decision is missing keys when full-page zoom is used
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::actionDictionary): Use absoluteLocation() instead
of pageX() and pageY(), which are adjusted for zoom.
2009-04-21 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler and Kevin Decker.
WebKit side of <rdar://problem/6781642>.
When we call resize with an actual changed size, block until the plug-in host is done.
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::resize):
* Plugins/Hosted/WebHostedNetscapePluginView.h:
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView updateAndSetWindow]):
* Plugins/Hosted/WebKitPluginHost.defs:
2009-04-17 Timothy Hatcher <timothy@apple.com>
Change how sudden termination works with WebView teardown.
<rdar://problem/6383352&6383379&6383940>
Reviewed by Darin Adler.
* WebCoreSupport/WebChromeClient.h: Remove disableSuddenTermination/enableSuddenTermination.
* WebCoreSupport/WebChromeClient.mm: Ditto.
* WebView/WebFrame.mm:
(-[WebFrame _pendingFrameUnloadEventCount]): Ask the DOMWindow.
* WebView/WebView.mm:
(+[WebView canCloseAllWebViews]): Call DOMWindow::dispatchAllPendingBeforeUnloadEvents.
(+[WebView closeAllWebViews]): Call DOMWindow::dispatchAllPendingUnloadEvents and
call close on all the WebViews.
(-[WebView _closeWithFastTeardown]): Remove code for unload event dispatch.
(-[WebView _close]): Correct a comment.
(+[WebView _applicationWillTerminate]): Call closeAllWebViews.
* WebView/WebViewPrivate.h: Add canCloseAllWebViews and closeAllWebViews.
2009-04-21 Geoffrey Garen <ggaren@apple.com>
Reviewed by Mark Rowe.
Tiger crash fix: Put VM tags in their own header file, and fixed up the
#ifdefs so they're not used on Tiger.
* ForwardingHeaders/wtf/VMTags.h: Copied from ForwardingHeaders/wtf/HashTraits.h.
2009-04-17 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
<rdar://problem/6722845>
In the Cocoa event model, NPWindow's window field should be null
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCConvertPoint):
Get the instance proxy and call it's convertPoint function.
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::convertPoint):
Call convertPoint on the plug-in view.
* Plugins/Hosted/WebKitPluginClient.defs:
Add PCConvertPoint.
* Plugins/WebBaseNetscapePluginView.h:
Add a declaration for convertFromX:andY:space:toX:andY:space:.
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView convertFromX:andY:space:toX:andY:space:]):
Convert a point from one coordinate system to another.
* Plugins/WebNetscapePluginEventHandler.h:
* Plugins/WebNetscapePluginEventHandlerCarbon.h:
* Plugins/WebNetscapePluginEventHandlerCarbon.mm:
(WebNetscapePluginEventHandlerCarbon::drawRect):
* Plugins/WebNetscapePluginEventHandlerCocoa.h:
Add CGContextRef to drawRect.
* Plugins/WebNetscapePluginEventHandlerCocoa.mm:
(WebNetscapePluginEventHandlerCocoa::drawRect):
Set the passed in context.
* Plugins/WebNetscapePluginPackage.mm:
(-[WebNetscapePluginPackage _tryLoad]):
Add NPN_ConvertPoint to the browserFuncs vtable.
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):
Only set the window for the Carbon event model.
(-[WebNetscapePluginView restorePortState:]):
It's OK for the window context to be null.
(-[WebNetscapePluginView sendDrawRectEvent:]):
Pass the CGContextRef to drawRect.
* Plugins/npapi.mm:
(NPN_ConvertPoint):
Call the plug-in view method.
2009-04-20 Sam Weinig <sam@webkit.org>
Rubber-stamped by Tim Hatcher.
Add licenses for xcconfig files.
* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
* Configurations/FeatureDefines.xcconfig:
* Configurations/Version.xcconfig:
* Configurations/WebKit.xcconfig:
2009-04-20 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
WebKit side of <rdar://problem/6781302>
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::keyEvent):
Pass the event keyChar.
(WebKit::NetscapePluginInstanceProxy::syntheticKeyDownWithCommandModifier):
Ditto.
(WebKit::NetscapePluginInstanceProxy::flagsChanged):
Pass a 0 keyChar.
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView flagsChanged:]):
Call NetscapePluginInstanceProxy::flagsChanged.
* Plugins/Hosted/WebKitPluginHost.defs:
Add a keyChar argument.
2009-04-19 Adele Peterson <adele@apple.com>
Reviewed by Darin Adler.
Fix for <rdar://problem/6804809> REGRESSION: In Mail, Home and End do not scroll message
If no scrolling occurs, call tryToPerform on the next responder. Then our WebResponderChainSink
will correctly detect if no responders handle the selector.
* WebView/WebFrameView.mm:
(-[WebFrameView _scrollToBeginningOfDocument]):
(-[WebFrameView _scrollToEndOfDocument]):
(-[WebFrameView scrollToBeginningOfDocument:]):
(-[WebFrameView scrollToEndOfDocument:]):
(-[WebFrameView scrollLineUp:]):
(-[WebFrameView scrollLineDown:]):
2009-04-19 David Kilzer <ddkilzer@apple.com>
Make FEATURE_DEFINES completely dynamic
Reviewed by Darin Adler.
Make FEATURE_DEFINES depend on individual ENABLE_FEATURE_NAME
variables for each feature, making it possible to remove all
knowledge of FEATURE_DEFINES from build-webkit.
* Configurations/FeatureDefines.xcconfig: Extract a variable
from FEATURE_DEFINES for each feature setting.
2009-04-18 Pierre d'Herbemont <pdherbemont@apple.com>
Reviewed by Mark Rowe.
<rdar://problem/6781295> video.buffered and video.seekable are not
the same. video.buffered should return only what is buffered and
not what is seekable
* WebCoreSupport/WebSystemInterface.m:
(InitWebCoreSystemInterface): Add wkQTMovieMaxTimeSeekable.
2009-04-18 Pierre d'Herbemont <pdherbemont@apple.com>
Reviewed by Adele Peterson.
<rdar://problem/6747241> work around QTKit no longer reaching
QTMovieLoadStateComplete
* WebCoreSupport/WebSystemInterface.m:
(InitWebCoreSystemInterface): Init the new WKSI exported symbol.
2009-04-17 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
<rdar://problem/6714488>
REGRESSION (Safari 3-4): Edit menu commands (cut/copy/paste/select all) do not work on Flash content
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::syntheticKeyDownWithCommandModifier):
Send a keyDown event to the plug-in host.
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView sendModifierEventWithKeyCode:character:]):
Call the plug-in instance proxy.
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView sendModifierEventWithKeyCode:character:]):
Add this. Subclasses are required to override it.
(-[WebBaseNetscapePluginView cut:]):
(-[WebBaseNetscapePluginView copy:]):
(-[WebBaseNetscapePluginView paste:]):
(-[WebBaseNetscapePluginView selectAll:]):
Call sendModifierEventWithKeyCode.
* Plugins/WebNetscapePluginEventHandler.h:
Add syntheticKeyDownWithCommandModifier.
* Plugins/WebNetscapePluginEventHandlerCarbon.h:
* Plugins/WebNetscapePluginEventHandlerCarbon.mm:
(WebNetscapePluginEventHandlerCarbon::syntheticKeyDownWithCommandModifier):
Send the synthetic event.
* Plugins/WebNetscapePluginEventHandlerCocoa.h:
* Plugins/WebNetscapePluginEventHandlerCocoa.mm:
(WebNetscapePluginEventHandlerCocoa::syntheticKeyDownWithCommandModifier):
Send the synthetic event.
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView sendModifierEventWithKeyCode:character:]):
Call the event handler.
2009-04-17 David Kilzer <ddkilzer@apple.com>
Simplify FEATURE_DEFINES definition
Reviewed by Darin Adler.
This moves FEATURE_DEFINES and its related ENABLE_FEATURE_NAME
variables to their own FeatureDefines.xcconfig file. It also
extracts a new ENABLE_GEOLOCATION variable so that
FEATURE_DEFINES only needs to be defined once.
* Configurations/FeatureDefines.xcconfig: Added.
* Configurations/WebKit.xcconfig: Removed definition of
ENABLE_SVG_DOM_OBJC_BINDINGS and FEATURE_DEFINES. Added include
of FeatureDefines.xcconfig.
2009-04-17 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
Fix crashes seen in regression tests with hosted plug-ins.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::cancelStreamLoad): Check the stream for 0,
not the stream ID.
2009-04-17 Darin Adler <darin@apple.com>
Reviewed by Antti Koivisto.
Bug 25210: don't use ObjC methods to wrap/unwrap DOM objects with ObjC
https://bugs.webkit.org/show_bug.cgi?id=25210
* DOM/WebDOMOperations.mm:
(-[DOMNode markupString]): Use the core function instead of an Objective-C method.
(-[DOMNode _subresourceURLs]): Ditto.
(-[DOMDocument _focusableNodes]): Ditto.
(-[DOMRange webArchive]): Ditto.
(-[DOMRange markupString]): Ditto.
* Misc/WebElementDictionary.mm: Added now-needed include since the core and kit
functions now come from the internal headers from DOM bindings.
* Misc/WebNSPasteboardExtras.mm: Ditto.
* Plugins/WebNullPluginView.mm: Ditto.
* Plugins/WebPluginController.mm: Ditto.
* WebCoreSupport/WebChromeClient.mm: Ditto.
* WebCoreSupport/WebInspectorClient.mm: Ditto.
* WebCoreSupport/WebPasteboardHelper.mm: Ditto.
* WebView/WebHTMLView.mm: Ditto.
* WebCoreSupport/WebEditorClient.mm: Made kit function have internal linkage
since it's only used in this file. Someone had instead added a declaration to
suppress the warning you would otherwise get. Removed the core function.
(WebEditorClient::textFieldDidBeginEditing): Added correct type checking.
Previously the function would check only that something was an HTMLElement,
but then cast it to HTMLInputElement. Also call kit instead of old wrap method.
(WebEditorClient::textFieldDidEndEditing): Ditto.
(WebEditorClient::textDidChangeInTextField): Ditto.
(WebEditorClient::doTextFieldCommandFromEvent): Ditto.
(WebEditorClient::textWillBeDeletedInTextField): Ditto.
(WebEditorClient::textDidChangeInTextArea): Ditto, but for HTMLTextAreaElement.
* WebView/WebFrame.mm: Removed the core and kit functions here which are no longer
needed since they're automatically generated now.
(-[WebFrame _nodesFromList:]): Use kit.
(-[WebFrame _markupStringFromRange:nodes:]): Use core.
(-[WebFrame _stringForRange:]): More of the same.
(-[WebFrame _caretRectAtNode:offset:affinity:]): Ditto.
(-[WebFrame _firstRectForDOMRange:]): Ditto.
(-[WebFrame _scrollDOMRangeToVisible:]): Ditto.
(-[WebFrame _rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
Ditto.
(-[WebFrame _convertNSRangeToDOMRange:]): Ditto.
(-[WebFrame _convertDOMRangeToNSRange:]): Ditto.
(-[WebFrame _markDOMRange]): Ditto.
(-[WebFrame _smartDeleteRangeForProposedRange:]): Ditto.
(-[WebFrame _smartInsertForString:replacingRange:beforeString:afterString:]): Ditto.
(-[WebFrame _documentFragmentWithMarkupString:baseURLString:]): Ditto.
(-[WebFrame _documentFragmentWithNodesAsParagraphs:]): Ditto.
(-[WebFrame _replaceSelectionWithNode:selectReplacement:smartReplace:matchStyle:]): Ditto.
(-[WebFrame _characterRangeAtPoint:]): Ditto.
(-[WebFrame _typingStyle]): Ditto.
(-[WebFrame _setTypingStyle:withUndoAction:]): Ditto.
(-[WebFrame _pauseAnimation:onNode:atTime:]): Ditto.
(-[WebFrame _pauseTransitionOfProperty:onNode:atTime:]): Ditto.
(-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]): Ditto.
* WebView/WebFrameInternal.h: Removed the core and kit functions here which are no longer
needed since they're automatically generated now.
* WebView/WebHTMLRepresentation.mm:
(-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]): Use core.
(formElementFromDOMElement): Ditto.
(inputElementFromDOMElement): Ditto.
* WebView/WebTextIterator.mm:
(-[WebTextIterator initWithRange:]): Ditto.
(-[WebTextIterator currentRange]): Ditto.
(-[WebTextIterator currentNode]): Ditto.
* WebView/WebView.mm:
(-[WebView textIteratorForRect:]): Ditto.
(-[WebView setSelectedDOMRange:affinity:]): Ditto.
2009-04-17 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
WebKit side of <rdar://problem/6449642>.
* Plugins/Hosted/HostedNetscapePluginStream.h:
(WebKit::HostedNetscapePluginStream::create):
New function that creates a stream from a frame loader.
* Plugins/Hosted/HostedNetscapePluginStream.mm:
(WebKit::HostedNetscapePluginStream::HostedNetscapePluginStream):
Add the constructor that takes a frame loader.
* Plugins/Hosted/NetscapePluginHostManager.h:
* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::instantiatePlugin):
Pass "fullFrame" to the plug-in host.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCCancelLoadURL):
Call NetscapePluginInstanceProxy::cancelStreamLoad.
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
(WebKit::NetscapePluginInstanceProxy::create):
Pass "fullFrame" to the constructor.
(WebKit::NetscapePluginInstanceProxy::manualStream):
New getter for the manual stream.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
Take the implicit request into account if we have a full frame plug-in.
(WebKit::NetscapePluginInstanceProxy::setManualStream):
Setter for the manual stream.
(WebKit::NetscapePluginInstanceProxy::cancelStreamLoad):
Cancel the manual stream if necessary.
* Plugins/Hosted/WebHostedNetscapePluginView.h:
WebHostedNetscapePluginView now conforms to the WebPluginManualLoader protocol.
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView createPlugin]):
Pass "fullFrame" to instantiatePlugin.
(-[WebHostedNetscapePluginView pluginView:receivedResponse:]):
(-[WebHostedNetscapePluginView pluginView:receivedData:]):
(-[WebHostedNetscapePluginView pluginView:receivedError:]):
(-[WebHostedNetscapePluginView pluginViewFinishedLoading:]):
Call the equivalent manual stream functions.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::createPlugin):
Use a macro for getting the plug-in view type.
2009-04-14 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein
https://bugs.webkit.org/show_bug.cgi?id=25157
Move the run loop observer cleanup from -close
to -_close.
* WebView/WebView.mm:
(-[WebView _close]):
(-[WebView close]):
2009-04-14 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
- Speculative fix for <rdar://problem/6781422>
Protect the plug-in instance proxy in case it's deleted while waiting for a reply.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::wheelEvent):
2009-04-14 Adele Peterson <adele@apple.com>
Reviewed by Darin.
Initialize WebKitSystemInterface in class methods that could get called before a WebView/WebFrame is set up. This was causing Mail to crash on launch.
* Misc/WebCache.mm: (+[WebCache initialize]):
* WebView/WebView.mm: (+[WebView initialize]):
2009-04-13 Kevin Decker <kdecker@apple.com>
Reviewed by Darin.
<rdar://problem/6784955> REGRESSION: closing a tab containing a PDF causes world leaks
Simplify the _trackFirstResponder method by just caching the value instead of retaining
a Cocoa object.
* WebView/WebPDFView.h: Eliminated trackedFirstResponder object and replaced it with
a firstResponderIsPDFDocumentView boolean.
* WebView/WebPDFView.mm:
(-[WebPDFView dealloc]): Removed no longer necessary ASSERT.
(-[WebPDFView viewWillMoveToWindow:]): Removed call to release and nil-out trackedFirstResponder,
which no longer exists. In the new code all we do now is set firstResponderIsPDFDocumentView to NO.
(-[WebPDFView _trackFirstResponder]): Rewrote this method to just cache the value instead
of retaining an object.
2009-04-13 David Hyatt <hyatt@apple.com>
Reviewed by Sam Weinig.
Fix for https://bugs.webkit.org/show_bug.cgi?id=25125. Rework scrolling so that a layout happens first when
it's already needed so that the code doesn't end up making bad decisions based off invalid document sizes.
This patch also eliminates WebHTMLView's separate notion of needing a layout and just consolidates it with
WebCore's notion of needing layout.
* WebView/WebDynamicScrollBarsView.m:
(-[WebDynamicScrollBarsView updateScrollers]):
* WebView/WebHTMLView.mm:
(-[WebHTMLView _frameOrBoundsChanged]):
(-[WebHTMLView initWithFrame:]):
(-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
(-[WebHTMLView setNeedsLayout:]):
(-[WebHTMLView _layoutIfNeeded]):
(-[WebHTMLView _needsLayout]):
* WebView/WebHTMLViewInternal.h:
2009-04-13 Darin Adler <darin@apple.com>
* WebView/WebViewPrivate.h: Updated comments.
2009-04-13 Antti Koivisto <antti@apple.com>
Reviewed by Darin Adler.
<rdar://problem/6740294> Increase the connection count per host
* WebCoreSupport/WebSystemInterface.m:
(InitWebCoreSystemInterface):
2009-04-13 Brady Eidson <beidson@apple.com>
Reviewed by Tim Hatcher
Tweak my last check-in, moving the thread violation check up to the API-level calls so the logging is more
useful to developers/users.
* WebView/WebFrame.mm:
(-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]): If not on the main thread, only
perform the "call on main thead" workaround, as the log/exception raising is now up at the API level.
(-[WebFrame loadData:MIMEType:textEncodingName:baseURL:]): Perform a thread violation check here so logging
is more meaningful.
(-[WebFrame loadHTMLString:baseURL:]): Ditto.
(-[WebFrame loadAlternateHTMLString:baseURL:forUnreachableURL:]): Ditto.
2009-04-13 Brady Eidson <beidson@apple.com>
Reviewed by Kevin Decker
<rdar://problem/6712063> Garmin WebUpdater crashes
* WebView/WebFrame.mm:
(-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]): If not called on the main thread,
add a ThreadViolationCheckRoundTwo() call to either log or raise an exception. In the case where it's
only a log, reschedule the _loadData call to occur on the main thread.
2009-04-10 Dan Bernstein <mitz@apple.com>
Reviewed by Jon Honeycutt.
- fix <rdar://problem/6752340> Light blue-green background in content
area in Mail
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
Use device white, rather than calibrated white, as the default
background color.
2009-04-10 Darin Adler <darin@apple.com>
Reviewed by Brady Eidson.
<rdar://problem/6773515> crash in push_heap inside WebCore when printing
The crash was due to manipulating a timer on a different thread than the one it was created on.
* History/WebHistoryItem.mm:
(-[WebWindowWatcher windowWillClose:]): Call later on main thread, if called on non-main thread.
* WebView/WebHTMLView.mm:
(-[WebHTMLView windowDidBecomeKey:]): Ditto.
(-[WebHTMLView windowDidResignKey:]): Ditto.
(-[WebHTMLView windowWillClose:]): Ditto.
(-[WebHTMLView _updateControlTints]): Added. Factored out the non-thread-safe part of
our override of _windowChangedKeyState.
(-[WebHTMLView _windowChangedKeyState]): Call _updateControlTints later on main thread, if
called on non-main thread.
* WebView/WebPreferences.mm:
(-[WebPreferences _postPreferencesChangesNotification]): Call later on main thread, if called
on non-main thread
2009-04-10 Timothy Hatcher <timothy@apple.com>
Remove DOMDocumentPrivate.h now that <rdar://problem/6730996> is fixed.
Rubber-stamped by Mark Rowe.
* Misc/DOMDocumentPrivate.h: Removed.
2009-04-10 Pierre d'Herbemont <pdherbemont@apple.com>
Reviewed by Adele Peterson.
<rdar://problem/6646998> Avoid starting QTKitServer if possible
Add the requires symbol in the WebSystemInterface. It is used by
WebCore.
* WebCoreSupport/WebSystemInterface.m:
(InitWebCoreSystemInterface): Add wkQTIncludeOnlyModernMediaFileTypes.
2009-04-09 Kevin Decker <kdecker@apple.com>
Reviewed by Hyatt.
<rdar://problem/4680397> tearing seen because deferred updates are disabled
* WebView/WebFrameView.mm:
(-[WebFrameView initWithFrame:]): Don't call WKDisableCGDeferredUpdates on post-Leopard if
NSAppKitVersionNumberWithDeferredWindowDisplaySupport is defined.
2009-04-09 John Sullivan <sullivan@apple.com>
<rdar://problem/6775682> WebKit's support for SnowLeopard sudden termination for
downloads is broken and should be removed
Reviewed by Darin Adler
* Misc/WebDownload.m:
(-[WebDownloadInternal downloadDidBegin:]):
remove disableSuddenTermination call
(-[WebDownloadInternal downloadDidFinish:]):
remove enableSuddenTermination call
(-[WebDownloadInternal download:didFailWithError:]):
remove enableSuddenTermination call
2009-04-09 Darin Adler <darin@apple.com>
Reviewed by Anders Carlsson and Sam Weinig.
Part of <rdar://problem/5438063> Saving history containing 100,000 entries causes pauses of 2s while browsing
Longer term solution is to change the design so Safari doesn't read and write all of history.
This patch is step one: Do the serializing, which is done on the main thread, much faster.
* History/WebHistory.mm:
(-[WebHistoryPrivate data]): Added. Returns the NSData object containing serialized history.
For creating new SPI so you can get the data in memory instead of on disk. Uses WebHistoryWriter.
(-[WebHistoryPrivate saveToURL:error:]): Changed to call [self data
(-[WebHistory _data]): Added.
(WebHistoryWriter::WebHistoryWriter): Added.
(WebHistoryWriter::writeHistoryItems): Added.
* History/WebHistoryPrivate.h: Added a new _data method.
2009-04-09 Mike Thole <mthole@apple.com>
Rubber-stamped by Mark Rowe.
Fix 64-bit build
* Panels/WebAuthenticationPanel.h:
Declare the 'separateRealmLabel' IBOutlet as an NSTextField instead of 'id'.
This fixes a duplicate method warning (setAutoresizingMask: on NSView and CALayer)
2009-04-09 Mike Thole <mthole@apple.com>
Reviewed by Ada Chan.
<rdar://problem/5697111> Basic authentication dialog spoofing vulnerability
* Panels/WebAuthenticationPanel.h:
Added IBOutlet for separateRealmLabel
* Panels/WebAuthenticationPanel.m:
(-[WebAuthenticationPanel setUpForChallenge:]):
In the realm case, decide if it is a simple or complex realm name. A realm name
is considered complex if it has any whitespace or newline characters. Present
alternative text and layout for the complex case, where the realm name isn't inline
with the rest of the sheet's text.
* Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib:
* Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib:
Updated the nib with a new 'separateRealmLabel' outlet.
Updated the File's Owner to correctly be WebAuthenticationPanel.
Fixed springs on the sheet's icon to keep it from moving during a resize.
2009-04-09 David Kilzer <ddkilzer@apple.com>
Reinstating <rdar://problem/6718589> Option to turn off SVG DOM Objective-C bindings
Rolled r42345 back in. The build failure was caused by an
internal script which had not been updated the same way that
build-webkit was updated.
* Configurations/WebKit.xcconfig:
* DOM/WebDOMOperations.mm:
* MigrateHeaders.make:
2009-04-09 Alexey Proskuryakov <ap@webkit.org>
Reverting <rdar://problem/6718589> Option to turn off SVG DOM Objective-C bindings.
It broke Mac build, and I don't know how to fix it.
* Configurations/WebKit.xcconfig:
* DOM/WebDOMOperations.mm:
* MigrateHeaders.make:
2009-04-08 David Kilzer <ddkilzer@apple.com>
<rdar://problem/6718589> Option to turn off SVG DOM Objective-C bindings
Reviewed by Darin Adler and Maciej Stachowiak.
Introduce the ENABLE_SVG_DOM_OBJC_BINDINGS feature define so
that SVG DOM Objective-C bindings may be optionally disabled.
* Configurations/WebKit.xcconfig: Added
ENABLE_SVG_DOM_OBJC_BINDINGS variable and use it in
FEATURE_DEFINES.
* DOM/WebDOMOperations.mm: Removed unused header.
* MigrateHeaders.make: Switched from using ENABLE_SVG to using
ENABLE_SVG_DOM_OBJC_BINDINGS.
2009-04-08 David Hyatt <hyatt@apple.com>
Reviewed by Adam Roben and Darin Adler
Fix for https://bugs.webkit.org/show_bug.cgi?id=12440, fixed positioned elements end up in
inconsistent positions. Rewrite updateScrollers to improve the correctness.
* WebView/WebDynamicScrollBarsView.h:
* WebView/WebDynamicScrollBarsView.m:
(-[WebDynamicScrollBarsView updateScrollers]):
2009-04-07 Anders Carlsson <andersca@apple.com>
Fix Tiger build for real this time.
* Plugins/WebNetscapePluginView.h:
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView getVariable:forURL:value:length:]):
(-[WebNetscapePluginView setVariable:forURL:value:length:]):
(-[WebNetscapePluginView getAuthenticationInfoWithProtocol:host:port:scheme:realm:username:usernameLength:password:passwordLength:]):
* Plugins/npapi.mm:
(NPN_GetValueForURL):
(NPN_SetValueForURL):
2009-04-07 David Hyatt <hyatt@apple.com>
Reviewed by Adam Roben
Mac portion of fix to make DumpRenderTree always produce accurate scrollbar results. Change
updateScrollers to call minimumContentsSize when a WebHTMLView is inside the WebDynamicScrollbarsView.
* WebView/WebDynamicScrollBarsView.m:
(-[WebDynamicScrollBarsView updateScrollers]):
2009-04-07 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
Reviewed by Anders Carlsson.
Trying to fix Tiger build.
* Plugins/WebNetscapePluginView.h:
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView getAuthenticationInfoWithProtocol:host:port:scheme:realm:username:usernameLength:password:passwordLength:]):
2009-04-07 Anders Carlsson <andersca@apple.com>
Try to fix the Leopard build once more.
* Plugins/WebBaseNetscapePluginView.h:
* Plugins/WebBaseNetscapePluginView.mm:
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView getVariable:forURL:value:length:]):
2009-04-07 Anders Carlsson <andersca@apple.com>
...and try to fix the Leopard build.
* Plugins/npapi.mm:
(NPN_GetAuthenticationInfo):
2009-04-07 Anders Carlsson <andersca@apple.com>
Try to fix the Tiger build.
* Plugins/WebBaseNetscapePluginView.mm:
2009-04-07 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
<rdar://problem/6667001>
NPAPI: need NPN_Get/SetValueForURL() and NPN_GetAuthenticationInfo()
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCGetCookies):
(WKPCGetProxy):
(WKPCSetCookies):
(WKPCGetAuthenticationInfo):
New MIG functions to be used by the plug-in host.
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::getCookies):
(WebKit::NetscapePluginInstanceProxy::setCookies):
(WebKit::NetscapePluginInstanceProxy::getProxy):
(WebKit::NetscapePluginInstanceProxy::getAuthenticationInfo):
Implement these.
* Plugins/Hosted/WebKitPluginClient.defs:
Add callbacks.
* Plugins/WebBaseNetscapePluginView.h:
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView URLWithCString:]):
Factor this out of URLWithCString.
(-[WebBaseNetscapePluginView requestWithURLCString:]):
Call URLWithCString.
(WebKit::proxiesForURL):
Return a string representation of proxies for a given URL.
(WebKit::getAuthenticationInfo):
Get the authentication info for a given host/protocol/scheme/realm/port combination.
* Plugins/WebNetscapePluginPackage.mm:
(-[WebNetscapePluginPackage _tryLoad]):
Initialize the new vtable functions.
* Plugins/WebNetscapePluginView.h:
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView getVariable:forURL:value:length:]):
(-[WebNetscapePluginView setVariable:forURL:value:length:]):
(-[WebNetscapePluginView getAuthenticationInfoWithProtocol:host:port:scheme:realm:username:usernameLength:password:passwordLength:]):
Implement these.
* Plugins/npapi.mm:
(NPN_GetValueForURL):
(NPN_SetValueForURL):
(NPN_GetAuthenticationInfo):
Call the plug-in view functions.
2009-04-03 Kevin Decker <kdecker@apple.com>
Reviewed by Anders Carlsson.
<rdar://problem/6756512>
* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::spawnPluginHost): Tweaked the visibleName property.
2009-04-03 John Sullivan <sullivan@apple.com>
Reviewed by Ada Chan
<rdar://problem/6755838> Removing all icons can delete other items from disk.
* Misc/WebIconDatabase.mm:
(importToWebCoreFormat):
When snooping around in various directories looking for a directory full of Safari-2-style
icon database information to convert and delete, bail out without doing the delete part if
we didn't actually find any Safari-2-style icon database information.
2009-04-03 John Sullivan <sullivan@apple.com>
fixed <rdar://problem/6355573> [WebView _setCacheModel:] leaks the result of _CFURLCacheCopyCacheDirectory
Reviewed by Adam Roben
* WebView/WebView.mm:
(+[WebView _setCacheModel:]):
use WebCFAutorelease rather than autorelease on result of method that returns CFStringRef
2009-04-03 Chris Marrin <cmarrin@apple.com>
Reviewed by David Hyatt.
Fixed https://bugs.webkit.org/show_bug.cgi?id=24941
This fix essentially does a -viewWillDraw call for layout. It adds
a CFRunLoopObserver which performs layout just before drawing on the
Mac platform. This makes sure layout is complete before rendering and
avoids a flash.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::attachRootGraphicsLayer):
(WebChromeClient::setNeedsOneShotDrawingSynchronization):
(WebChromeClient::scheduleViewUpdate):
* WebView/WebView.mm:
(-[WebViewPrivate _clearViewUpdateRunLoopObserver]):
(-[WebView _viewWillDrawInternal]):
(-[WebView viewWillDraw]):
(-[WebView close]):
(viewUpdateRunLoopObserverCallBack):
(-[WebView _scheduleViewUpdate]):
* WebView/WebViewInternal.h:
2009-04-03 Anders Carlsson <andersca@apple.com>
Reviewed by Kevin Decker.
WebKit side of <rdar://problem/6752953>.
Pass the clip rect to the plug-in host.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::resize):
* Plugins/Hosted/WebKitPluginHost.defs:
2009-04-02 Mark Rowe <mrowe@apple.com>
Reviewed by Dan Bernstein and Timothy Hatcher.
<rdar://problem/6684745> Crash in -[WebView removeSizeObservers] when loading NIB file
The implementation of -[NSView initWithCoder:] can result in -viewWillMoveToSuperview:/-viewDidMoveToSuperview: being sent to
our view before we've had a chance to initialize _private, so we need to ensure it is non-nil before dereferencing it in those
methods.
* WebView/WebView.mm:
(-[WebView removeSizeObservers]): Nil-check _private before dereferencing it.
(-[WebView addSizeObservers]): Ditto.
2009-04-02 Adele Peterson <adele@apple.com>
Reviewed by Darin Adler.
Add a way to get a list of focusable nodes.
* DOM/WebDOMOperations.mm:
(-[DOMDocument _focusableNodes]):
* DOM/WebDOMOperationsInternal.h: Added.
* DOM/WebDOMOperationsPrivate.h: Make this a private header.
Move old methods to WebDOMOperationsInternal.h
* WebView/WebHTMLView.mm: Use methods from WebDOMOperationsInternal.h
2009-04-01 Darin Adler <darin@apple.com>
Reviewed by Geoff Garen.
Bug 22378: Crash submitting a form when parsing an XHTML document
https://bugs.webkit.org/show_bug.cgi?id=22378
rdar://problem/6388377
* History/WebHistoryItem.mm:
(-[WebHistoryItem targetItem]): Call targetItem directly instead of callling
isTargetItem, hasChildren, and recurseToFindTargetItem.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchWillSubmitForm): Updated for the new
textFieldValues function in FormState.
* WebView/WebPDFView.mm:
(-[WebPDFView PDFViewWillClickOnLink:withURL:]): Updated for name and
argument change of loadFrameRequest.
2009-04-01 Greg Bolsinga <bolsinga@apple.com>
Reviewed by Mark Rowe.
https://bugs.webkit.org/show_bug.cgi?id=24990
Put SECTORDER_FLAGS into xcconfig files.
* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
2009-03-31 Anders Carlsson <andersca@apple.com>
Reviewed by Adam Roben.
WebKit side of <rdar://problem/6500266>.
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::wheelEvent):
Send the event.
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView scrollWheel:]):
Call NetscapePluginInstanceProxy::wheelEvent. If the plug-in processed the event, don't
call super.
* Plugins/Hosted/WebKitPluginHost.defs:
Add definition.
2009-03-31 Darin Adler <darin@apple.com>
Reviewed by Adele Peterson.
<rdar://problem/6740581> REGRESSION (r41793): Page Down and Page Up don’t work in Leopard Mail
* WebView/WebHTMLView.mm:
(-[WebResponderChainSink tryToPerform:with:]): Added. Without this we would think we had
handled an event when we actually hadn't. Specifically, when -[WebFrameView scrollPageDown:]
calls tryToPerform on the next responder.
2009-03-30 Greg Bolsinga <bolsinga@apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=24938
Build fixes when building --no-svg
DOMHTMLFrameElementPrivate.h and DOMHTMLIFrameElementPrivate.h are only available with ENABLE_SVG.
* MigrateHeaders.make:
2009-03-29 Darin Adler <darin@apple.com>
Reviewed by Cameron Zwarich.
* Plugins/WebNullPluginView.mm: Added now-needed includes.
* WebView/WebHTMLRepresentation.mm: Ditto.
* WebView/WebHTMLView.mm: Ditto.
2009-03-27 Timothy Hatcher <timothy@apple.com>
* MigrateHeaders.make: Remove DOMHTMLBodyElementPrivate.h since it
is not generated anymore.
2009-03-27 Adam Roben <aroben@apple.com>
Don't include substitute data URLs in global history redirect chains
<rdar://6690169>
Reviewed by Darin Adler.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::updateGlobalHistory): Don't call
updateGlobalHistoryRedirectLinks. FrameLoader calls this for us now.
(WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
Added an assertion to help catch cases where we might be adding a
substitute data URL into a redirect chain.
2009-03-27 Darin Adler <darin@apple.com>
Reviewed by Adam Roben.
<rdar://problem/6541923> REGRESSION (r38629): Tab cycle in empty tab is broken
* WebView/WebHTMLView.mm:
(-[WebHTMLView _wantsKeyDownForEvent:]): Only return YES when we have a Frame.
2009-03-27 Darin Adler <darin@apple.com>
Reviewed by John Sullivan and Anders Carlsson.
<rdar://problem/5987442> Pasteboard not exposed to WebEditingDelegate for WebViewInsertActionPasted (needed for system services)
Added SPI to tell which pasteboard is currently being inserted.
I chose to put it on WebView to be forward-looking since we're migrating things
from WebHTMLView to WebView in the future.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): Add calls to _setInsertionPasteboard.
(-[WebHTMLView _pasteAsPlainTextWithPasteboard:]): Ditto.
* WebView/WebView.mm:
(-[WebViewPrivate dealloc]): Assert the pasteboard is nil.
(-[WebViewPrivate finalize]): Ditto.
(-[WebView _insertionPasteboard]): Return the pastebaord.
(-[WebView _setInsertionPasteboard:]): Set the pasteboard.
* WebView/WebViewInternal.h: Added _setInsertionPasteboard.
* WebView/WebViewPrivate.h: Added _insertionPasteboard.
2009-03-25 Timothy Hatcher <timothy@apple.com>
Expose new DOM methods as public Objective-C API.
<rdar://problem/5837350> Expose new DOM classes and methods
as public API (match the additions to the JavaScript DOM)
Reviewed by Mark Rowe and Darin Adler.
* MigrateHeaders.make:
* Misc/DOMDocumentPrivate.h: Added. Forwarding header for
<rdar://problem/6730996>.
2009-03-26 Jungshik Shin <jshin@chromium.org>
Reviewed by Alexey Proskuryakov.
Add WebPreferences for encoding autodetection on Mac.
http://bugs.webkit.org/show_bug.cgi?id=16482
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences usesEncodingDetector]):
(-[WebPreferences setUsesEncodingDetector:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]):
2009-03-26 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
- Fix <rdar://problem/6687055> and <rdar://problem/6713639>.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCInvalidateRect):
Call NetscapePluginInstanceProxy::invalidateRect.
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::cleanup):
Stop the request timer, set m_pluginView to nil.
(WebKit::NetscapePluginInstanceProxy::pluginHostDied):
No need to set m_pluginView to nil here anymore, it's now done in cleanup().
(WebKit::NetscapePluginInstanceProxy::performRequest):
(WebKit::NetscapePluginInstanceProxy::requestTimerFired):
Assert that the plug-in view is not nil.
(WebKit::NetscapePluginInstanceProxy::invalidateRect):
Call setNeedsDisplayInRect here.
2009-03-25 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
<rdar://problem/6714964>
CrashTracer: [REGRESSION] 51 crashes in Safari at com.apple.WebKit • WebNetscapePluginStream::deliverData + 775
Don't release m_deliveryData since it's a RetainPtr. Also, use adoptNS instead of releasing newDeliveryData manually.
* Plugins/WebBaseNetscapePluginStream.mm:
(WebNetscapePluginStream::deliverData):
2009-03-25 Mike Thole <mthole@apple.com>
Reviewed by Kevin Decker.
<rdar://problem/6453738> call SetWindow when user creates a new tab
CoreGraphics plug-ins now receive an NPP_SetWindow call when moving to a background tab.
Flash is excluded from this change in behavior, as it has historical WebKit-specific code
that isn't compatible with this change.
* Plugins/WebNetscapePluginView.h:
Added an _isFlash ivar.
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView _createPlugin]):
Set the new _isFlash ivar based on the bundle identifier.
(-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):
When using the CG drawing model and in a non-drawable state, set the portState
to NULL and return early.
(-[WebNetscapePluginView updateAndSetWindow]):
When using the CG drawing model, call -setWindowIfNecessary even if the portState is NULL.
Flash is an exception to this, due to its historical behavior.
(-[WebNetscapePluginView setWindowIfNecessary]):
Removed an assertion that was no longer true. The [NSView focus] view
is no longer guaranteed to be 'self' at this point.
Also modified the debug logging for CG plug-ins to include the size of the
window's clipRect, which was useful in verifying the correct behavior of this patch.
2009-03-24 Dan Bernstein <mitz@apple.com>
Reviewed by Oliver Hunt.
- speculative fix for <rdar://problem/6630134> Crash at
Editor::compositionRange()
* WebView/WebHTMLView.mm:
(-[WebHTMLView markedRange]): Null-check the Frame like most other
methods in this class.
2009-03-23 Sam Weinig <sam@webkit.org>
Reviewed by Dan Bernstein.
Fix for <rdar://problem/6140966>
Empty Caches does not clear the Cross-site XMLHttpRequest preflight cache
* Misc/WebCache.mm:
(+[WebCache empty]):
2009-03-23 Adele Peterson <adele@apple.com>
Reviewed by Mark Rowe & Dave Hyatt.
Merge some of the individual Mail quirks into two settings that we can check for future quirks.
* WebView/WebView.mm:
(runningLeopardMail):
(runningTigerMail):
(-[WebView _preferencesChangedNotification:]):
2009-03-23 Darin Adler <darin@apple.com>
* WebView/WebTextIterator.h: Fixed a spelling error in a comment.
2009-03-22 Dan Bernstein <mitz@apple.com>
Reviewed by John Sullivan.
- fix <rdar://problem/6640741> Messages not displaying after the
Safari 4 beta was installed
Mail assumes that if -[WebArchive subresources] is not nil, then it
contains at least one object.
* WebView/WebArchive.mm:
(-[WebArchive subresources]): Preserve the behavior of returning nil
if there are no subresources.
2009-03-20 Adele Peterson <adele@apple.com>
Build fix.
Reviewed by Darin Adler.
* WebView/WebFrameView.mm: (-[WebFrameView initWithFrame:]):
2009-03-20 Timothy Hatcher <timothy@apple.com>
Change how threading exceptions are checked so they are reported
by what round they were added. That way WebKit can decided the
behavior per-round based on linked-on-or-after checks.
<rdar://problem/6626741&6648478&6635474&6674079>
Reviewed by Darin Adler.
* History/WebBackForwardList.mm: Use the new WebCoreThreadViolationCheckRoundOne macro.
* History/WebHistoryItem.mm: Ditto.
* Misc/WebIconDatabase.mm: Ditto.
* WebView/WebArchive.mm: Use the new WebCoreThreadViolationCheckRoundTwo macro.
* WebView/WebResource.mm: Ditto.
(+[WebResource _needMailThreadWorkaroundIfCalledOffMainThread]): Check Mail's bundle version
to truly decide if it is an old Mail client.
* WebView/WebView.mm: Ditto.
* Misc/WebKitVersionChecks.h: Add a new linked-on-or-after version define.
* WebView/WebFrameView.mm:
(-[WebFrameView initWithFrame:]): Set the default thread violation behavior per-round
based on difference version checks and the Mail workaround check.
2009-03-20 Darin Adler <darin@apple.com>
Reviewed by Timothy Hatcher.
* WebView/WebTextIterator.h: Improved comments to point out some of the pitfalls
of this SPI.
2009-03-20 Darin Adler <darin@apple.com>
Reviewed by Adele Peterson.
Use a better technique to handle finding out if something responds to a selector
in WebHTMLView's doCommandBySelector method.
* WebView/WebHTMLView.mm:
(-[WebHTMLView doCommandBySelector:]): Removed unneeded check for 0 coreFrame;
this is already handled by coreCommandBySelector: so doesn't need to be checked
twice. Got rid of initial value for eventWasHandled boolean to make it more clear.
Use WebResponderChainSink to find out if a command is handled rather than walking
the responder chain explicitly.
(-[WebResponderChainSink initWithResponderChain:]): Added.
(-[WebResponderChainSink detach]): Added.
(-[WebResponderChainSink receivedUnhandledCommand]): Added.
(-[WebResponderChainSink noResponderFor:]): Added.
(-[WebResponderChainSink doCommandBySelector:]): Added.
2009-03-19 Timothy Hatcher <timothy@apple.com>
Remove #ifndef BUILDING_ON_TIGER around code that schedules runloop modes
for Page, so the new RunLoopTimer in WebCore always gets a default mode.
Fixes the layout test failures on the Tiger build bots.
Reviewed by Mark Rowe.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
(-[WebView scheduleInRunLoop:forMode:]):
(-[WebView unscheduleFromRunLoop:forMode:]):
2009-03-18 Anders Carlsson <andersca@apple.com>
Reviewed by Oliver Hunt.
WebKit side of <rdar://problem/6688244>.
Try reinitializing the vendor port if it's invalid.
* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::spawnPluginHost):
2009-03-18 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
<rdar://problem/6504776>
CrashTracer: [USER] 188 crashes in Safari at com.apple.WebCore • WTF::HashTableIterator<WTF::RefPtr<WebCore::ResourceLoader>, ...
If the m_pluginView member was zeroed out as a result of making a call into the plug-in, the pluginFunctionCallDepth would be off
causing the plug-in never to be stopped. Simplify the code by using a RAII object.
* Plugins/WebBaseNetscapePluginStream.mm:
(PluginStopDeferrer::PluginStopDeferrer):
(PluginStopDeferrer::~PluginStopDeferrer):
(WebNetscapePluginStream::startStream):
(WebNetscapePluginStream::wantsAllStreams):
(WebNetscapePluginStream::destroyStream):
2009-03-17 Darin Adler <darin@apple.com>
Reviewed by Adele Peterson.
<rdar://problem/6687005> Need support for new move-left/right selectors.
* WebView/WebHTMLView.mm: Added the four new selectors to the command-forwarding list.
* WebView/WebView.mm: Ditto.
2009-03-17 Darin Adler <darin@apple.com>
Reviewed by Adele Peterson.
Bug 24477: REGRESSION (r41467): Page Down key scrolls two pages
https://bugs.webkit.org/show_bug.cgi?id=24477
rdar://problem/6674184
* WebView/WebHTMLView.mm:
(responderChainRespondsToSelector): Added.
(-[WebHTMLView doCommandBySelector:]): Set eventWasHandled based on whether we
can find a responder that responds to this selector rather than always assuming
the selector will not be handled.
2009-03-17 Mark Rowe <mrowe@apple.com>
Fix the build.
* Plugins/Hosted/HostedNetscapePluginStream.mm:
2009-03-17 David Kilzer <ddkilzer@apple.com>
Use -[NSURLResponse(WebCoreURLResponse) _webcore_MIMEType] consistently
Reviewed by Darin Adler.
WebKit r30323 added -_webcore_MIMEType to fix issues with
incorrect MIME types in NS[HTTP]URLResponse objects. However,
uses of -[NSURLResponse MIMEType] still persist in WebKit that
should be switched to use -_webcore_MIMEType. Note that
-[WebDataSource _responseMIMEType] calls back into WebCore to
get the MIME type from the ResourceResponse object, which has
already retrieved it via -_webcore_MIMEType.
* Plugins/Hosted/HostedNetscapePluginStream.mm:
(WebKit::HostedNetscapePluginStream::didReceiveResponse): Use
-_webcore_MIMEType.
* Plugins/WebBaseNetscapePluginStream.mm:
(WebNetscapePluginStream::didReceiveResponse): Ditto.
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView pluginView:receivedData:]): Ditto.
* Plugins/WebPluginController.mm:
(-[WebPluginController pluginView:receivedResponse:]): Ditto.
* WebView/WebHTMLRepresentation.mm:
(-[WebHTMLRepresentation _isDisplayingWebArchive]): Use
-[WebDataSource _responseMIMEType] instead.
* WebView/WebPDFRepresentation.m:
(-[WebPDFRepresentation finishedLoadingWithDataSource:]): Ditto.
* WebView/WebPDFView.mm:
(-[WebPDFView menuForEvent:]): Ditto.
2009-03-17 Simon Fraser <simon.fraser@apple.com>
Reviewed by Darin Adler
https://bugs.webkit.org/show_bug.cgi?id=24396
Add WTF_USE_ACCELERATED_COMPOSITING, defined to 0 for now.
* WebKitPrefix.h:
2009-03-17 Kevin Ollivier <kevino@theolliviers.com>
Reviewed by Mark Rowe.
Get BUILDING_ON_* defines from Platform.h.
https://bugs.webkit.org/show_bug.cgi?id=24630
* WebKitPrefix.h:
2009-03-16 Darin Adler <darin@apple.com>
Reviewed by Dan Bernstein.
<rdar://problem/6577174> Rename the text directionality submenus to “Paragraph Direction” and “Selection Direction”
* WebCoreSupport/WebViewFactory.mm:
(-[WebViewFactory contextMenuItemTagParagraphDirectionMenu]): Changed string here, but only
post-Leopard, since we want this to match the Mac OS X menu on Tiger and Leopard.
(-[WebViewFactory contextMenuItemTagSelectionDirectionMenu]): Changed string here.
2009-03-16 Anders Carlsson <andersca@apple.com>
Reviewed by Oliver Hunt.
Don't mig_deallocate random data in case an instance proxy method returns false.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCEvaluate):
(WKPCInvoke):
(WKPCInvokeDefault):
(WKPCGetProperty):
(WKPCEnumerate):
2009-03-16 Anders Carlsson <andersca@apple.com>
Reviewed by Oliver Hunt.
<rdar://problem/6633944>
REGRESSION (Safari 4 PB): Many crashes in Flip4Mac involving loading the plugin
Defer loading while calling webPlugInInitialize since it can end up spinning the run loop.
* Plugins/WebPluginController.mm:
(-[WebPluginController addPlugin:]):
2009-03-16 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Fix <rdar://problem/6622601>
Make sure to update both the window frame and the plug-in frame.
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView addWindowObservers]):
2009-03-15 Dan Bernstein <mitz@apple.com>
Reviewed by Adele Peterson.
- fix <rdar://problem/6607773> WebKit should support the "Default"
paragraph writing direction -- or at least validate the menu item
appropriately
Made WebHTMLView validate user interface items with the selector
-makeBaseWritingDirectionNatural: by returning NO and, if the item is
a menu item, setting its state to "off".
Strictly speaking, since -makeBaseWritingDirectionNatural: is never
valid for WebViews, WebHTMLView should not need to respond to it and
validate it, however because other responders respond to all three
-makeBaseWritingDirection*: messages and set the menu item state, having
WebHTMLView do the same makes application developers' lives easier.
* WebView/WebHTMLView.mm:
(-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
(-[WebHTMLView makeBaseWritingDirectionNatural:]):
2009-03-13 Mark Rowe <mrowe@apple.com>
Rubber-stamped by Dan Bernstein.
Take advantage of the ability of recent versions of Xcode to easily switch the active
architecture.
* Configurations/DebugRelease.xcconfig:
2009-03-13 Anders Carlsson <andersca@apple.com>
Reviewed by Kevin Decker and Geoffrey Garen.
<rdar://problem/6590384>
REGRESSION (Safari 3-4): Tiger-only Crash occurs at WebView hostWindow () after reloading a set of tabs then quitting
When we're doing fast teardown, plug-in views can be destroyed from -[WebView dealloc]'s [super dealloc] call,
and thus calling -[WebView hostWindow] will crash since _private is nil.
* WebView/WebView.mm:
(-[WebView hostWindow]):
2009-03-13 Anders Carlsson <andersca@apple.com>
And yet another attempt...
* Plugins/WebNetscapePluginEventHandlerCocoa.h:
(WebNetscapePluginEventHandlerCocoa::installKeyEventHandler):
(WebNetscapePluginEventHandlerCocoa::removeKeyEventHandler):
* Plugins/WebNetscapePluginEventHandlerCocoa.mm:
2009-03-13 Anders Carlsson <andersca@apple.com>
Another attempt at fixing the build.
* Plugins/WebNetscapePluginEventHandlerCocoa.mm:
(WebNetscapePluginEventHandlerCocoa::WebNetscapePluginEventHandlerCocoa):
2009-03-13 Anders Carlsson <andersca@apple.com>
Try to fix the SL build.
* Plugins/WebNetscapePluginEventHandlerCocoa.h:
* Plugins/WebNetscapePluginEventHandlerCocoa.mm:
(WebNetscapePluginEventHandlerCocoa::keyDown):
2009-03-13 Greg Bolsinga <bolsinga@apple.com>
Reviewed by Simon Fraser.
Update Geolocation perimission dialogs to be asynchronous.
https://bugs.webkit.org/show_bug.cgi?id=24505
WebGeolocation is a wrapper around WebCore::Geolocation. It mimics the
coding style set by WebSecurityOrigin.
WebChromeClient now calls the private UI delegate method
-webView:frame:requestGeolocationPermission:securityOrigin:
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::requestGeolocationPermissionForFrame):
* WebCoreSupport/WebGeolocation.mm: Added.
(WebCore::if):
(-[WebGeolocation shouldClearCache]):
(-[WebGeolocation setIsAllowed:]):
(-[WebGeolocation dealloc]):
* WebCoreSupport/WebGeolocationInternal.h: Added.
* WebCoreSupport/WebGeolocationPrivate.h: Added.
* WebView/WebUIDelegatePrivate.h:
2009-03-13 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
<rdar://problem/6610666> Revise the Cocoa event model text API
Replace the text input API with a simpler API that uses a separate text input window.
* Plugins/WebNetscapePluginEventHandlerCocoa.h:
* Plugins/WebNetscapePluginEventHandlerCocoa.mm:
(WebNetscapePluginEventHandlerCocoa::WebNetscapePluginEventHandlerCocoa):
Initialize m_keyEventHandler to 0.
(WebNetscapePluginEventHandlerCocoa::keyDown):
If the plug-in returns 0 from NPP_HandleEvent, pass the event to the TSM machinery.
(WebNetscapePluginEventHandlerCocoa::focusChanged):
Install/remove the key event handler as needed.
(WebNetscapePluginEventHandlerCocoa::handleTSMEvent):
Get the text and send a TextInput event.
* Plugins/WebNetscapePluginView.h:
* Plugins/WebNetscapePluginView.mm:
Remove the old text input API.
(-[WebNetscapePluginView inputContext]):
Always return nil here.
* Plugins/npapi.mm:
* Plugins/nptextinput.h: Removed.
2009-03-12 Anders Carlsson <andersca@apple.com>
Reviewed by Mike Thole and Mark Rowe.
Fix <rdar://problem/6624105>.
Make sure to process incoming messages for the NSEventTrackingRunLoopMode as well.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
2009-03-12 Anders Carlsson <andersca@apple.com>
Reviewed by Geoffrey Garen.
WebKit side of <rdar://problem/6607801>
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::destroy):
Pass a requestID to _WKPCDestroyPluginInstance and wait until we get a reply back.
* Plugins/Hosted/WebKitPluginHost.defs:
Add requestID parameter.
2009-03-12 Kevin Decker <kdecker@apple.com>
Reviewed by Anders Carlsson.
* Plugins/WebNetscapePluginPackage.mm:
(-[WebNetscapePluginPackage _unloadWithShutdown:]): Simply a small SUPPORT_CFM code block.
2009-03-12 Kevin Decker <kdecker@apple.com>
Reviewed by Anders Carlsson.
Fixed: <rdar://problem/5815862> Opening a subclassed NSWindow from a Safari plugin causes Safari to crash on Quit
This fix addresses crashes in both Silverlight and ChemDraw. This type of crash would occur because AppKit still
had a reference to open windows that the plugin created (which no longer exist).
* Plugins/WebNetscapePluginPackage.mm:
(-[WebNetscapePluginPackage _unloadWithShutdown:]): Do not unload the plug-in bundle on browser shutdown.
2009-03-11 David Kilzer <ddkilzer@apple.com>
Remove duplicate header include
Rubber-stamped by Mark Rowe.
* WebView/WebView.mm: Remove duplicate #include <runtime/InitializeThreading.h>.
Also realphabetized lowercase #include statements.
2009-03-11 David Kilzer <ddkilzer@apple.com>
Clarify comments regarding order of FEATURE_DEFINES
Rubber-stamped by Mark Rowe.
* Configurations/WebKit.xcconfig: Added warning about the
consequences when FEATURE_DEFINES are not kept in sync.
2009-03-11 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
WebKit side of <rdar://problem/6656147>.
* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::instantiatePlugin):
Pass the requestID to _WKPHInstantiatePlugin.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
Pass the requestID to setCurrentReply.
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
(WebKit::NetscapePluginInstanceProxy::setCurrentReply):
Store the reply in a map with the requestID as the key.
(WebKit::NetscapePluginInstanceProxy::waitForReply):
Wait for a reply that matches the given requestID.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
Initialize member variables.
(WebKit::NetscapePluginInstanceProxy::~NetscapePluginInstanceProxy):
Delete all requests.
(WebKit::NetscapePluginInstanceProxy::print):
Pass the requestID to _WKPHPluginInstancePrint.
(WebKit::NetscapePluginInstanceProxy::loadRequest):
Rename m_currentRequestID to m_currentURLRequestID.
(WebKit::NetscapePluginInstanceProxy::processRequestsAndWaitForReply):
Process requests until we find a reply with the right requestID.
(WebKit::NetscapePluginInstanceProxy::createBindingsInstance):
Pass a requestID to the _WKPH function.
(WebKit::NetscapePluginInstanceProxy::nextRequestID):
Ditto.
* Plugins/Hosted/ProxyInstance.mm:
Pass a requestID to the _WKPH functions.
* Plugins/Hosted/WebKitPluginClient.defs:
* Plugins/Hosted/WebKitPluginHost.defs:
Add requestID parameters.
2009-03-11 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
Fix <rdar://problem/6620064>.
* Plugins/WebPluginContainerPrivate.h:
2009-03-10 Xan Lopez <xlopez@igalia.com>
Build fix, no review.
* WebView/WebFrame.mm:
(-[WebFrame _smartDeleteRangeForProposedRange:]):
2009-03-09 Anders Carlsson <andersca@apple.com>
Reviewed by Kevin Decker.
WebKit side of <rdar://problem/6530007>
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCEnumerate):
Call NetscapePluginInstanceProxy::enumerate.
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::enumerate):
Enumerate the JS object and serialize its values.
* Plugins/Hosted/ProxyInstance.h:
* Plugins/Hosted/ProxyInstance.mm:
(WebKit::ProxyInstance::getPropertyNames):
Ask the plug-in host to get the property names and deserialize them.
* Plugins/Hosted/WebKitPluginClient.defs:
* Plugins/Hosted/WebKitPluginHost.defs:
2009-03-09 Simon Fraser <simon.fraser@apple.com>
Reviewed by Oliver Hunt and Cameron Zwarich
https://bugs.webkit.org/show_bug.cgi?id=24440
The sublayer added to WebHTMLView to host accelerated compositing layers needs to
be a subclass of NSView which allows context menu clicks through.
* WebView/WebHTMLView.mm:
(-[WebLayerHostingView rightMouseDown:]):
(-[WebHTMLView attachRootLayer:]):
2009-03-08 Mark Rowe <mrowe@apple.com>
Reviewed by Oliver Hunt.
Split ScrollAlignment and ScrollBehavior out of RenderLayer.h so that
Frame.h no longer needs to include it. This cuts the size of the symbols
for a debug build by around 3%.
* Plugins/WebNetscapePluginView.mm:
* WebView/WebFrame.mm:
(-[WebFrame _scrollDOMRangeToVisible:]):
(-[WebFrame _insertParagraphSeparatorInQuotedContent]):
(-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
* WebView/WebHTMLView.mm:
(-[WebHTMLView jumpToSelection:]):
(-[WebHTMLView centerSelectionInVisibleArea:]):
2009-03-07 Dan Bernstein <mitz@apple.com>
Reviewed by Alexey Proskuryakov.
- fix a bug where debug builds were clearing the HTML5 application cache
on application termination
* WebView/WebView.mm:
(-[WebView _close]): Call -[WebCache setDisabled:YES] instead of
-[WebCache empty].
2009-03-06 Douglas R. Davidson <ddavidso@apple.com>
Reviewed by Justin Garcia.
https://bugs.webkit.org/show_bug.cgi?id=24108
Update spelling and grammar checking to use the new combined text
checking (with automatic language identification) on Snow Leopard.
* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::checkSpellingAndGrammarOfParagraph):
2009-03-05 Adele Peterson <adele@apple.com>
Reviewed by Darin Adler.
Fix for https://bugs.webkit.org/show_bug.cgi?id=24079
<rdar://problem/6611233> REGRESSION (r39549): Page loads cannot be interrupted with Command-. or Escape
<rdar://problem/6636563> Ctrl-tab shortcut doesn't switch tabs when focus is in text field
* WebView/WebHTMLView.mm: (-[WebHTMLView doCommandBySelector:]):
If WebKit does not support the command, we need to pass the selector to super. In this case,
we'll consider the event not to be handled. This is not perfect because in theory, [super doCommandBySelector:]
can do some action that would cause WebKit to need to consider the event handled. But in practice, I've found no
example of that happening and causing broken behavior.
2009-03-04 Mark Rowe <mrowe@apple.com>
Reviewed by Dan Bernstein.
<rdar://problem/6206172> Adoption of new Cocoa API for dictionary contextual menu
* WebView/WebHTMLView.mm:
(-[WebHTMLView _lookUpInDictionaryFromMenu:]):
2009-03-04 Adam Barth <abath@webkit.org>
Reviewed by Alexey Proskuryakov.
https://bugs.webkit.org/show_bug.cgi?id=24356
Fix WebKit style for allowUniversalAccessFromFileURLs.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences allowUniversalAccessFromFileURLs]):
(-[WebPreferences setAllowUniversalAccessFromFileURLs:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]):
2009-03-03 David Kilzer <ddkilzer@apple.com>
<rdar://problem/6581203> WebCore and WebKit should install the same set of headers during installhdrs phase as build phase
Reviewed by Mark Rowe.
The fix is to add INSTALLHDRS_COPY_PHASE = YES and
INSTALLHDRS_SCRIPT_PHASE = YES to WebKit.xcconfig, then to
make sure various build phase scripts work with the installhdrs
build phase.
* Configurations/Base.xcconfig: Defined REAL_PLATFORM_NAME
based on PLATFORM_NAME to work around the missing definition on
Tiger.
* Configurations/WebKit.xcconfig: Added
WEBCORE_PRIVATE_HEADERS_DIR variable to remove definition of
UMBRELLA_FRAMEWORKS_DIR for Debug and Release builds in the
Xcode project file. Added INSTALLHDRS_COPY_PHASE = YES and
INSTALLHDRS_SCRIPT_PHASE = YES.
2009-03-03 David Kilzer <ddkilzer@apple.com>
Remove last vestiges of JAVASCRIPTCORE_PRIVATE_HEADERS_DIR from WebKit
Reviewed by Adam Roben.
Use of JAVASCRIPTCORE_PRIVATE_HEADERS_DIR was removed in r37465
since NPAPI headers had migrated from JavaScriptCore to WebCore
before that.
* Configurations/WebKit.xcconfig: Removed definition of
JAVASCRIPTCORE_PRIVATE_HEADERS_DIR used in Production builds.
2009-03-03 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
Fix <rdar://problem/6633834>.
* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::instantiatePlugin):
Create a new plug-in instance if the plug-in host has crashed.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::invalidate):
Add a null check for the plug-in host proxy.
2009-03-02 Sam Weinig <sam@webkit.org>
Reviewed by Mark Rowe.
Enable Geolocation (except on Tiger and Leopard).
* Configurations/WebKit.xcconfig:
2009-03-02 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
WebKit part of <rdar://problem/6638658>.
* Plugins/Hosted/NetscapePluginHostManager.h:
* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::createPropertyListFile):
Spawn the plug-in host and wait for it to create the property list.
* Plugins/WebBasePluginPackage.mm:
(-[WebBasePluginPackage createPropertyListFile]):
Factor code out into a new method.
(-[WebBasePluginPackage pListForPath:createFile:]):
Call the newly added createPropertyListFile method.
* Plugins/WebNetscapePluginPackage.mm:
(-[WebNetscapePluginPackage createPropertyListFile]):
Tell the plug-in host manager to create a property list file for us.
2009-03-02 Sam Weinig <sam@webkit.org>
Reviewed by Geoffrey Garen.
Fix for <rdar://problem/6507404> Add Geolocation support.
This is not yet turned on for any Mac platform.
Add SPI to ask the embedding application whether to allow
Geolocation for an origin.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::shouldAllowGeolocationForFrame):
* WebView/WebUIDelegatePrivate.h:
2009-03-02 Anders Carlsson <andersca@apple.com>
Fix PowerPC build.
* Plugins/WebNetscapePluginPackage.mm:
(-[WebNetscapePluginPackage _tryLoad]):
2009-03-02 Anders Carlsson <andersca@apple.com>
Reviewed by John Sullivan, Ada Chan.
Factor loading code out into its own method and get rid of a bunch of gotos.
* Plugins/WebNetscapePluginPackage.mm:
(-[WebNetscapePluginPackage _tryLoad]):
(-[WebNetscapePluginPackage load]):
2009-03-02 Anders Carlsson <andersca@apple.com>
Build fix.
* Plugins/WebNetscapeDeprecatedFunctions.h:
2009-03-02 Anders Carlsson <andersca@apple.com>
Reviewed by John Sullivan.
Rename WebNetscapePluginPackage.m to WebNetscapePluginPackage.mm
* Plugins/WebNetscapePluginPackage.m: Removed.
* Plugins/WebNetscapePluginPackage.mm: Copied from mac/Plugins/WebNetscapePluginPackage.m.
2009-03-01 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
WebKit side of <rdar://problem/6449689>
Pass the visible name to the plug-in host.
* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::spawnPluginHost):
2009-02-27 Alice Liu <alice.liu@apple.com>
Fix <rdar://problem/6531265> REGRESSION (r39185): adding ".jpeg"
extension to images that already have .jpg extension
Reviewed by Oliver Hunt.
* WebView/WebHTMLView.mm:
(-[NSString matchesExtensionEquivalent:]):
(-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
Relax the check for the proper extension to allow for known
equivalents, special-cased in matchesExtensionEquivalent function.
2009-02-27 Anders Carlsson <andersca@apple.com>
Reviewed by Geoffrey Garen.
<rdar://problem/6631436>
CrashTracer: [USER] 1 crash in Safari at com.apple.WebKit • WebKit::NetscapePluginInstanceProxy::addValueToArray + 55
Port the NPN_Evaluate code over from WebCore instead of using the frame loader.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::evaluate):
2009-02-27 Anders Carlsson <andersca@apple.com>
Reviewed by Geoffrey Garen.
WebKit side of <rdar://problem/6626814>.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCInvokeDefault):
Make InvokeDefault async.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::addValueToArray):
Handle passing NPObjects back to the plug-in host.
* Plugins/Hosted/ProxyInstance.h:
(WebKit::ProxyInstance::objectID):
Add objectID getter.
* Plugins/Hosted/WebKitPluginClient.defs:
Make InvokeDefault a simpleroutine.
2009-02-27 Timothy Hatcher <timothy@apple.com>
Fixes an exception by null checking the WebResource before adding it to
the subresources array.
<rdar://problem/5950769> Bug in [WebDataSource subresources] can throw an exception
Reviewed by Geoff Garen and Anders Carlsson.
* WebView/WebDataSource.mm:
(-[WebDataSource subresources]): Null check the WebResource before adding it.
2009-02-27 Timothy Hatcher <timothy@apple.com>
Adds a workaround for Automator creating a WebView from a secondary thread.
<rdar://problem/6631951> REGRESSION (Safari 4 Beta): Automator crash on
secondary thread beneath -[WebView initWithFrame:frameName:groupName:]
Reviewed by Geoff Garen.
* WebView/WebView.mm:
(needsWebViewInitThreadWorkaround): Check for com.apple.Automator.
2009-02-27 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Add a preference to reduce the power of file:// URLs.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences allowUniversalAccessFromFileUrls]):
(-[WebPreferences setAllowUniversalAccessFromFileUrls:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]):
2009-02-27 Simon Fraser <simon.fraser@apple.com>
Reviewed by Anders Carlsson
https://bugs.webkit.org/show_bug.cgi?id=24242
setCursor(), and resetCursorRects() on Tiger, were using global, not local
coordinates for elementAtPoint:
* WebView/WebHTMLView.mm:
(resetCursorRects):
(setCursor):
2009-02-27 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Add a preference to reduce the power of file:// URLs.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences allowUniversalAccessFromFileUrls]):
(-[WebPreferences setAllowUniversalAccessFromFileUrls:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]):
2009-02-26 Adele Peterson <adele@apple.com>
Reviewed by Geoff Garen.
Fix for <rdar://problem/6618166>
https://bugs.webkit.org/show_bug.cgi?id=24216
(REGRESSION r36919) Safari 4 Beta causes MSN Messenger's text entry field to lose focus after entering a message
During a series of firstResponder changes, at some point while the WebHTMLView was losing first responder status,
we incorrectly marked the page as active, and then when the WebHTMLView became first responder again, setActive did nothing.
This change restores behavior from before r36919 to check if the WebHTMLView is in the middle of losing first responder when calling setActive.
In addition to updating editing/selection/designmode-no-caret.html results, I also made sure the test cases that were
fixed in r36919 and r38570 are still fixed.
* WebView/WebHTMLView.mm:
(-[WebHTMLView resignFirstResponder]): Keep track if we're in the process of resigning first responder.
(-[WebHTMLView _isResigningFirstResponder]): Added.
* WebView/WebHTMLViewInternal.h:
* WebView/WebView.mm: (-[WebView _updateFocusedAndActiveStateForFrame:]): Don't set the page to be active
if the document view is currently resigning first responder.
2009-02-25 Anders Carlsson <andersca@apple.com>
Reviewed by Kevin Decker.
Fix <rdar://problem/6623697>.
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::print):
Ask the plug-in host to print, create a CGImage of the returned bytes and draw
the image into the passed in context.
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView drawRect:]):
When printing, call NetscapePluginInstanceProxy::print.
* Plugins/Hosted/WebKitPluginHost.defs:
2009-02-19 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=24024
REGRESSION (r39845): Assertion failure in -[WebHistoryItem dictionaryRepresentation] when
archiving a submission to about:blank
I don't know how to make an automated test for this bug.
* History/WebHistory.mm: (-[WebHistory _visitedURL:withTitle:method:wasFailure:]):
Account for the fact that HTTP method may be non-empty for non-HTTP requests.
2009-02-25 Chris Fleizach <cfleizach@apple.com>
Reviewed by Beth Dakin.
Naming change from
Bug 24143: Crash occurs at WebCore::AccessibilityTable::isTableExposableThroughAccessibility() when applying a link in GMail
https://bugs.webkit.org/show_bug.cgi?id=24143
* WebView/WebFrame.mm:
(-[WebFrame _accessibilityTree]):
2009-02-25 Simon Fraser <simon.fraser@apple.com>
Build fix with ACCELERATED_COMPOSITING turned on.
I missed a spot in my last commit in renaming to
_stoppedAcceleratedCompositingForFrame:
* WebView/WebHTMLView.mm:
(-[WebHTMLView close]):
2009-02-25 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein
https://bugs.webkit.org/show_bug.cgi?id=23854
Make an observable property, _isUsingAcceleratedCompositing, on
WebView that DumpRenderTree can use to specialize behavior.
This is implemented via a count of Frames that are using
accelerated compositing.
* WebView/WebHTMLView.mm:
(-[WebHTMLViewPrivate clear]):
(-[WebHTMLView close]):
(-[WebHTMLView attachRootLayer:]):
(-[WebHTMLView detachRootLayer]):
* WebView/WebView.mm:
(+[WebView automaticallyNotifiesObserversForKey:]):
(-[WebView _startedAcceleratedCompositingForFrame:]):
(-[WebView _stoppedAcceleratedCompositingForFrame:]):
(-[WebView _isUsingAcceleratedCompositing]):
* WebView/WebViewInternal.h:
* WebView/WebViewPrivate.h:
2009-02-24 Sam Weinig <sam@webkit.org>
Reviewed by Geoffrey Garen.
Related to <rdar://problem/6590295>
Allow disabling javascript: urls.
* WebView/WebView.mm:
(-[WebView _setJavaScriptURLsAreAllowed:]):
* WebView/WebViewPrivate.h:
2009-02-24 Mark Rowe <mrowe@apple.com>
Reviewed by Oliver Hunt.
<rdar://problem/6259220> Rename AVAILABLE_AFTER_WEBKIT_VERSION_3_1 (etc.) to match the other macros
* Carbon/CarbonUtils.h:
* Carbon/HIWebView.h:
* Plugins/WebPlugin.h:
* Plugins/WebPluginViewFactory.h:
* WebView/WebUIDelegate.h:
2009-02-24 Peter Ammon <pammon@apple.com>
Reviewed by Mark Rowe.
Fix <rdar://problem/6251410> Services can modify non-editable content in Safari
* WebView/WebHTMLView.mm:
(-[WebHTMLView validRequestorForSendType:returnType:]): Return self only if we can handle
both the send and return type. We should also handle a nil send or return type by ignoring
the argument and returning whether we can handle the other type passed in.
2009-02-23 Anders Carlsson <andersca@apple.com>
Reviewed by Geoffrey Garen and Darin Adler.
WebKit side of <rdar://problem/6613151>.
Make sure to vm_deallocate all memory we get from MIG callbacks.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(DataDeallocator::DataDeallocator):
(DataDeallocator::~DataDeallocator):
Add a simple deallocator class.
(WKPCStatusText):
(WKPCLoadURL):
(WKPCBooleanAndDataReply):
(WKPCEvaluate):
(WKPCGetStringIdentifier):
(WKPCInvoke):
(WKPCInvokeDefault):
(WKPCConstruct):
(WKPCSetProperty):
Use the new deallocator class.
2009-02-23 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
Fix <rdar://problem/6450656>.
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::insertText):
Add insert text which just calls the new WKPH function.
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView inputContext]):
Get the input context from the shared input panel.
(-[WebHostedNetscapePluginView keyDown:]):
Let the shared input panel have a go at the event first.
* Plugins/Hosted/WebKitPluginHost.defs:
Add new InsertText function.
2009-02-23 Mark Rowe <mrowe@apple.com>
Fix the build after r41126.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::invoke):
(WebKit::NetscapePluginInstanceProxy::invokeDefault):
(WebKit::NetscapePluginInstanceProxy::construct):
2009-02-22 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
- fix <rdar://problem/5966123> REGRESSION (r30741): Generic Sun Applet loading logo appears half off screen
* WebCoreSupport/WebFrameLoaderClient.mm: Correct a copy & paste error
in r30741, and assign the height value, rather than the width, to the
"height" parameter.
2009-02-21 Anders Carlsson <andersca@apple.com>
Fix build.
* Plugins/Hosted/WebTextInputWindowController.m:
2009-02-20 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
Add a shared floating text input window implementation, to be used by the hosted plug-in view.
* Plugins/Hosted/WebTextInputWindowController.h: Added.
* Plugins/Hosted/WebTextInputWindowController.m: Added.
2009-02-20 Kevin Decker <kdecker@apple.com>
Reviewed by andersca.
<rdar://problem/6496140> Safari sometimes hangs in WKSetMetadataURL for several seconds after downloading a file
Spawn a background thread for WKSetMetadataURL because this function will not return until mds has journaled the data
we are trying to set. Depending on what other I/O is going on, it can take some time.
* Misc/WebNSFileManagerExtras.m: Import pthread.h and FoundationExtras.h
(setMetaData): Added. Calls WKSetMetadataURL().
(-[NSFileManager _webkit_setMetadataURL:referrer:atPath:]): Call setMetaData on a background thread
2009-02-19 Dan Bernstein <mitz@apple.com>
Reviewed by Sam Weinig.
- WebKit part of fixing https://bugs.webkit.org/show_bug.cgi?id=24027
Do not send loader callbacks during CSS styling
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]): Reverted the
iChat-specific quirk added in <http://trac.webkit.org/changeset/41071>.
2009-02-18 Dan Bernstein <mitz@apple.com>
Reviewed by Brady Eidson.
- WebKit part of fixing <rdar://problem/6507512> Crash in iChat at CSSStyleSelector::adjustRenderStyle
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]): Activate the WebCore
workaround for this crash in iChat.
2009-02-18 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Fix for <rdar://problem/6542390>
There's no need to call setDefersLoading here - we already defer anything a plug-in can do that
would cause a load to begin.
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView sendEvent:isDrawRect:]):
2009-02-18 Adam Roben <aroben@apple.com>
Add SPI to get WebKit's custom pointing-hand cursor
Reviewed by John Sullivan.
* WebView/WebView.mm:
(+[WebView _pointingHandCursor]): Added. Returns the custom
pointing-hand cursor that WebKit uses.
* WebView/WebViewPrivate.h: Added +_pointingHandCursor.
2009-02-17 Eric Carlson <eric.carlson@apple.com>
Reviewed by Antti Koivisto.
https://bugs.webkit.org/show_bug.cgi?id=23917
Allow a WebKit plug-in to act as a proxy for the <audio> and <video>
element.
* Plugins/WebPluginContainerPrivate.h:
* Plugins/WebPluginController.mm:
(mediaProxyClient): New, cast to HTMLMediaElement if it is a video or audio element
(-[WebPluginController _setMediaPlayerProxy:forElement:]): New, pass proxy to HTMLMediaElement
(-[WebPluginController _postMediaPlayerNotification:forElement:]): New, deliver event to HTMLMediaElement
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::createPlugin): Don't allow a media player proxy plug-in to be chosen by
file extension, only want a match for the new MIME type proxy plug-ins should have.
2009-02-13 Anders Carlsson <andersca@apple.com>
Reviewed by Kevin Decker.
<rdar://problem/6584834> ESPN radio live stream link hangs Safari
When a plug-in invokes JavaScript code that will destroy the plug-in, we need to
defer destruction until we're done executing the script.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WebKit::PluginDestroyDeferrer::PluginDestroyDeferrer):
(WebKit::PluginDestroyDeferrer::~PluginDestroyDeferrer):
Add a simple RAII object for deferring destruction of the plug-in instance.
(WKPCEvaluate):
(WKPCInvoke):
(WKPCInvokeDefault):
(WKPCConstruct):
(WKPCGetProperty):
(WKPCSetProperty):
(WKPCRemoveProperty):
(WKPCHasProperty):
(WKPCHasMethod):
Use the PluginDestroyDeferrer.
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
(WebKit::NetscapePluginInstanceProxy::pluginID):
Assert that the plug-in ID is not 0 here.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
Initialize the call depth.
(WebKit::NetscapePluginInstanceProxy::~NetscapePluginInstanceProxy):
Set the plug-in ID to 0 to aid debugging.
(WebKit::NetscapePluginInstanceProxy::willCallPluginFunction):
Increment the call depth.
(WebKit::NetscapePluginInstanceProxy::didCallPluginFunction):
Decrement the call depth, if it's 0 and we should stop the plug-in, do so.
(WebKit::NetscapePluginInstanceProxy::shouldStop):
If we're called this with a non-zero call depth, set shouldStopSoon to true.
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView shouldStop]):
Call the proxy.
2009-02-12 Brady Eidson <beidson@apple.com>
Reviewed by Kevin Decker
<rdar://problem/6582180> - Wrong HTTP method applied to history item.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::updateGlobalHistory): Check the original request, not any
redirected request.
2009-02-12 Anders Carlsson <andersca@apple.com>
Reviewed by Kevin Decker.
<rdar://problem/6579412>
REGRESSION (3.2.1-ToT): Crash in Silverlight viewing streaming lecture
* Plugins/WebNetscapePluginView.h:
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView userAgent]):
Apply workaround for Silverlight workaround.
(-[WebNetscapePluginView _createPlugin]):
Check if the plug-in that we're creating is the silverlight plug-in.
2009-02-12 Brady Eidson <beidson@apple.com>
Reviewed by Darin Adler
Fix potential ref-count or null-deref problems with C++ objects as Obj-C members.
* History/WebBackForwardList.mm:
(-[WebBackForwardList dealloc]): Null check before deref()'ing.
(-[WebBackForwardList finalize]): Ditto.
* Misc/WebIconFetcher.mm:
(-[WebIconFetcher dealloc]): Null check before deref()'ing.
(-[WebIconFetcher finalize]): Ditto.
* WebCoreSupport/WebEditorClient.mm: Change to use RefPtr<> instead of ref()/deref().
(-[WebEditCommand initWithEditCommand:]):
(-[WebEditCommand dealloc]):
(-[WebEditCommand finalize]):
(-[WebEditCommand command]):
* WebView/WebArchive.mm: Change to use RefPtr<> instead of ref()/deref().
(-[WebArchivePrivate init]):
(-[WebArchivePrivate initWithCoreArchive:]):
(-[WebArchivePrivate coreArchive]):
(-[WebArchivePrivate setCoreArchive:]):
(-[WebArchivePrivate dealloc]):
(-[WebArchivePrivate finalize]):
* WebView/WebDataSource.mm:
(-[WebDataSourcePrivate dealloc]): Null check before deref()'ing.
(-[WebDataSourcePrivate finalize]): Ditto.
2009-02-12 Brady Eidson <beidson@apple.com>
Reviewed by Kevin Decker
<rdar://problem/6579750> - Crash in WebArchivePrivate in Tiger TextEdit
NSHTMLReader tries to create a WebArchive from a random chunk of data. Previously, WebArchive creation would
fail and return nil and NSHTMLReader would try something else. When we changed the behavior to return an invalid
WebArchive object, things started getting weird.
* WebView/WebArchive.mm:
(-[WebArchivePrivate setCoreArchive:]): Null check the pointer before calling ->deref()
(-[WebArchivePrivate dealloc]): Remove the ASSERT which is now invalid, and null check the pointer before ->deref().
(-[WebArchivePrivate finalize]): Ditto
(-[WebArchive initWithData:]): If the LegacyWebArchive cannot be created, return nil instead of an invalid object.
2009-02-11 Mark Rowe <mrowe@apple.com>
Fix the build.
* History/WebHistory.mm:
(-[WebHistoryPrivate visitedURL:withTitle:]): Use ASSERT_UNUSED in a manner that makes sense.
2009-02-11 Brady Eidson <beidson@apple.com>
Reviewed by Mark Rowe
<rdar://problem/6570573> Some visit counts in History.plist have insanely high values, can roll over to negative
Remove the item from the date caches before registering the visit. Otherwise it might not be successfully removed
and when we add it back later it will exist in the list twice. This will cause the entry to be written out twice,
which would lead to doubling (or more!) the visit count on next launch when these multiple items are merged.
* History/WebHistory.mm:
(-[WebHistoryPrivate visitedURL:withTitle:]): Swap the removeItemFromDateCaches and visitedWithTitle calls.
(-[WebHistoryPrivate addItem:discardDuplicate:]): Add a mode that allows the entry being added to be discarded
if an entry for the URL already exists. Use that mode when reading the History.plist so only the most
recent entry for a given URL will be used.
(-[WebHistoryPrivate addItems:]):
(-[WebHistoryPrivate loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]):
2009-02-11 Dimitri Dupuis-latour <dupuislatour@apple.com>
Added a preference to disable some Inspector's panels (rdar://6419624, rdar://6419645).
This is controlled via the 'WebKitInspectorHiddenPanels' key; if nothing is specified, all panels are shown.
Reviewed by Timothy Hatcher.
* WebCoreSupport/WebInspectorClient.h:
* WebCoreSupport/WebInspectorClient.mm:
(WebInspectorClient::hiddenPanels):
2009-02-11 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin Adler.
<rdar://problem/6562920> Pasted text should be normalized to NFC
* Misc/WebNSURLExtras.mm: (-[NSURL _web_userVisibleString]): Route the URL string through
-[NSString precomposedStringWithCanonicalMapping].
* WebCoreSupport/WebPasteboardHelper.mm:
(WebPasteboardHelper::plainTextFromPasteboard): Ditto.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
Ditto. The affected cases are all plain text ones - RTF, RTFD and HTML are assumed to be
precomposed already, and the conversion is performed outside WebKit for those anyway.
2009-02-10 John Sullivan <sullivan@apple.com>
Reviewed by Dan Bernstein
<https://bugs.webkit.org/show_bug.cgi?id=23889>, <rdar://problem/6572300>
Negative visit counts stored in History.plist aren't corrected.
It's not clear how a huge negative visit count ended up in History.plist, but we can't
trust data read from disk so we can at least reset this to something sane. WebCore has
no guard against a visit count overflowing an int, but that seems very unlikely to have
caused this.
* History/WebHistoryItem.mm:
(-[WebHistoryItem initFromDictionaryRepresentation:]):
If a negative visit count is in the dictionary, replace it with 1. If a negative daily or
weekly visit count is in the dictionary, replace it with 0.
2009-02-10 John Sullivan <sullivan@apple.com>
Reviewed by Dan Bernstein
<https://bugs.webkit.org/show_bug.cgi?id=23891>
[WebHistoryItem _setVisitCount:] is unused and should be removed
* History/WebHistoryItem.mm:
(-[WebHistoryItem _setVisitCount:]):
removed this unused method, which is a synonym for setVisitCount: that was introduced
recently and abandoned even more recently
* History/WebHistoryItemInternal.h:
removed declaration of _setVisitCount:
2009-02-10 Anders Carlsson <andersca@apple.com>
Reviewed by Mark Rowe.
<rdar://problem/6573916>
CrashTracer: [USER] 1 crash in Safari at com.apple.WebKit • WebKit::NetscapePluginInstanceProxy::pluginHostDied + 25.
* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::instantiatePlugin):
If we failed to instantiate the plug-in, invalidate the instance proxy.
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::invalidate):
Remove the instance from the plug-in host's set.
(WebKit::NetscapePluginInstanceProxy::destroy):
Call invalidate().
2009-02-09 Mark Rowe <mrowe@apple.com>
Reviewed by Dan Bernstein.
Fix <https://bugs.webkit.org/show_bug.cgi?id=23863> / <rdar://problem/6571390>.
Bug 23863: Reproducible crash in Mail with TOT WebKit when creating a new message
* WebView/WebHTMLView.mm:
(-[WebHTMLView _removeMouseMovedObserverUnconditionally]): Nil-check _private as it may have not
yet been initialized if this WebHTMLView was loaded from a nib.
(-[WebHTMLView _removeSuperviewObservers]): Ditto.
2009-02-09 Eric Seidel <eric@webkit.org>
Reviewed by Dave Hyatt.
Rename Selection to VisibleSelection to allow us to separate
the selections the user works with from the ones used by
the JS editing APIs.
https://bugs.webkit.org/show_bug.cgi?id=23852
* WebView/WebFrame.mm:
(-[WebFrame _selectNSRange:]):
* WebView/WebView.mm:
(-[WebView textIteratorForRect:]):
2009-02-06 Anders Carlsson <andersca@apple.com>
Reviewed by Kevin Decker.
Fix crash when plug-in host dies.
* Plugins/Hosted/HostedNetscapePluginStream.mm:
(WebKit::HostedNetscapePluginStream::didFail):
2009-02-05 Eric Seidel <eric@webkit.org>
Reviewed by Justin Garcia.
DOMSelection.getRangeAt() returns a different range than the selection
https://bugs.webkit.org/show_bug.cgi?id=23601
Rename toRange to toNormalizedRange and add new firstRange which returns an unmodified range
* WebView/WebFrame.mm:
(-[WebFrame _rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
(-[WebFrame _markDOMRange]):
(-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]):
(-[WebFrame _selectedNSRange]):
* WebView/WebHTMLView.mm:
(-[WebHTMLView _selectedRange]):
(-[WebTextCompleteController doCompletion]):
(-[WebHTMLView selectedAttributedString]):
* WebView/WebView.mm:
(-[WebView textIteratorForRect:]):
(-[WebView selectedDOMRange]):
2009-02-06 Geoffrey Garen <ggaren@apple.com>
Reviewed by Sam Weinig.
Part III of <rdar://problem/6552272>.
Refactored to use the redirect data WebCore makes available, instead of
tracking loading state in WebKit.
* History/WebHistory.mm:
(-[WebHistoryPrivate dealloc]):
(-[WebHistory _visitedURL:withTitle:method:wasFailure:]):
(-[WebHistory _visitedURLForRedirectWithoutHistoryItem:]):
* History/WebHistoryInternal.h:
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::updateGlobalHistory):
(WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
2009-02-06 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
<rdar://problem/6562220>
CrashTracer: [USER] 21 crashes in Safari at com.apple.WebKit • WebKit::NetscapePluginHostProxy::port
Make the handling of crashes in the plug-in host more robust.
* Plugins/Hosted/NetscapePluginHostProxy.h:
Add m_portSet.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
Initialize m_portSet.
(WebKit::NetscapePluginHostProxy::~NetscapePluginHostProxy):
Free m_portSet.
(WebKit::NetscapePluginHostProxy::processRequests):
Listen for messages on the port set. If we get a message to the port death notification port,
then call pluginHostDied. Otherwise, process the message.
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::cleanup):
Factor code that should be shared between destroy() and pluginHostDied() into cleanup.
(WebKit::NetscapePluginInstanceProxy::destroy):
Call cleanup().
(WebKit::NetscapePluginInstanceProxy::pluginHostDied):
Call cleanup().
(WebKit::NetscapePluginInstanceProxy::processRequestsAndWaitForReply):
Call NetscapePluginHostProxy::processRequests.
* Plugins/Hosted/ProxyInstance.mm:
(WebKit::ProxyInstance::invalidate):
Add a null check for the host proxy.
2009-02-06 Dan Bernstein <mitz@apple.com>
- try to fix the Tiger build
* Misc/WebNSArrayExtras.h:
2009-02-06 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
<rdar://problem/6563650>
Add Netscape plug-in API to tell the browser not to load streams (some plug-ins handle network loading manually)
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView loadStream]):
(-[WebNetscapePluginView pluginView:receivedData:]):
(-[WebNetscapePluginView _shouldCancelSrcStream]):
2009-02-05 Maciej Stachowiak <mjs@apple.com> and Brady Eidson <beidson@apple.com>
Reviewed by Dan Bernstein and Geoff Garen.
- WebKit code to track per-day and per-week visit counts in history
For now this data is only exposed via SPI for performance reasons.
* History/WebHistoryItem.mm:
(-[WebHistoryItem initFromDictionaryRepresentation:]): Add parsing support
for new data.
(-[WebHistoryItem _recordInitialVisit]): Tell WebCore to record an initial visit.
(-[WebHistoryItem dictionaryRepresentation]): Add saving support for new data.
(-[WebHistoryItem _getDailyVisitCounts:]): SPI accessor.
(-[WebHistoryItem _getWeeklyVisitCounts:]): SPI accessor.
* History/WebHistoryItemInternal.h: Declare new methods.
* History/WebHistoryItemPrivate.h: Ditto.
* History/WebHistory.mm:
(-[WebHistoryPrivate visitedURL:withTitle:]): For the initial visit, use
the new _recordInitialVisit method instead of setting visit count to 1.
* Misc/WebNSArrayExtras.h:
* Misc/WebNSArrayExtras.m:
(-[NSArray _webkit_numberAtIndex:]): Helper to retrieve an NSNumber or nil from an NSArray
(-[NSArray _webkit_stringAtIndex:]): Helper to retrieve an NSString of nil from an NSArray
2009-02-05 Aaron Boodman <aa@chromium.org>
Reviewed by Dave Hyatt.
https://bugs.webkit.org/show_bug.cgi?id=23708
Adds documentElementAvailable() callback to FrameLoaderClient.
* WebCoreSupport/WebFrameLoaderClient.h:
Stub out documentElementAvailable().
* WebCoreSupport/WebFrameLoaderClient.mm:
Ditto.
2009-02-05 Dan Bernstein <mitz@apple.com>
- build fix
* WebView/WebScriptDebugger.mm:
(WebScriptDebugger::initGlobalCallFrame):
2009-02-05 Beth Dakin <bdakin@apple.com>
Reviewed by John Sullivan and Brady Eidson.
Fix for <rdar://problem/6557595> REGRESSION: In Mail, selecting a
mail note message doesn't display it in Mail's preview pane
This was failing because revision 36962 removed a version of
setVerticalScrollingMode that mail calls. This patch simply adds
that method back.
* WebView/WebDynamicScrollBarsView.m:
(-[WebDynamicScrollBarsView setVerticalScrollingMode:]):
2009-02-04 Anders Carlsson <andersca@apple.com>
Build fix fix.
* WebView/WebScriptDebugger.mm:
(WebScriptDebugger::initGlobalCallFrame):
2009-02-04 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Change PCHasProperty, PCHasMethod and PCGetProperty into simpleroutines.
Rename PHEvaluateReply to PHBooleanAndDataReply and add PHBooleanReply.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCEvaluate):
(WKPCInvoke):
(WKPCGetProperty):
(WKPCHasProperty):
(WKPCHasMethod):
* Plugins/Hosted/WebKitPluginClient.defs:
* Plugins/Hosted/WebKitPluginHost.defs:
2009-02-04 Anders Carlsson <andersca@apple.com>
Reviewed by Mark Rowe.
Fix 64-bit build.
* WebView/WebScriptDebugger.mm:
(WebScriptDebugger::initGlobalCallFrame):
2009-02-04 Geoffrey Garen <ggaren@apple.com>
Reviewed by Mark Rowe.
Part I of <rdar://problem/6552272>.
Clear the redirectURLs entry when first visiting a site, so sites that
only redirect you the first time you visit them can later learn that
they don't redirect.
* History/WebHistory.mm:
(-[WebHistory _visitedURL:withTitle:method:wasFailure:serverRedirectURL:isClientRedirect:]):
2009-02-04 Timothy Hatcher <timothy@apple.com>
Change the WebSourceId typedef from int to intptr_t now that <rdar://problem/6263297> is fixed.
<rdar://problem/6263293> WebScriptDebugDelegate should use intptr_t for sourceId, not int
Reviewed by Oliver Hunt.
* WebView/WebScriptDebugDelegate.h:
2009-02-04 Timothy Hatcher <timothy@apple.com>
Switched over from using the WebSafeForwarder for the Script Debug
delegate and added high performance CallScriptDebugDelegate functions.
<rdar://problem/6508457> Launching widget in Dashcode debugger is
super-slow due forwardInvocation: calling debug delegate
Reviewed by Oliver Hunt.
* DefaultDelegates/WebDefaultScriptDebugDelegate.h: Removed.
* DefaultDelegates/WebDefaultScriptDebugDelegate.m: Removed.
* WebView/WebScriptDebugger.mm:
(WebScriptDebugger::initGlobalCallFrame): Use CallScriptDebugDelegate.
(WebScriptDebugger::sourceParsed): Ditto.
(WebScriptDebugger::callEvent): Ditto.
(WebScriptDebugger::atStatement): Ditto.
(WebScriptDebugger::returnEvent): Ditto.
(WebScriptDebugger::exception): Ditto.
* WebView/WebView.mm:
(-[WebViewPrivate dealloc]): Removed scriptDebugDelegateForwarder.
(-[WebView _cacheScriptDebugDelegateImplementations]): Added. Gets the
method implementations for the script debug delegate. Also caches what
didParseSource method to use.
(WebViewGetScriptDebugDelegateImplementations): Added. Returns the
WebScriptDebugDelegateImplementations structure.
(-[WebView setScriptDebugDelegate:]): Call _cacheScriptDebugDelegateImplementations.
(CallDelegate): Added more overloaded versions that take different arguments.
(CallScriptDebugDelegate): Added overloaded versions that take different arguments.
* WebView/WebViewInternal.h:
2009-02-03 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dave Hyatt
https://bugs.webkit.org/show_bug.cgi?id=23365
Hook up accelerated compositing layers the native
view system on Mac.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::attachRootGraphicsLayer):
(WebChromeClient::setNeedsOneShotDrawingSynchronization):
New methods to hook up the root GraphicsLayer to the native
view system, and to synchronize layer changes with view-based
drawing when layers come and go.
* WebView/WebHTMLView.mm:
(-[WebHTMLViewPrivate clear]):
Clear the pointer to layerHostingView.
(-[WebHTMLView _setAsideSubviews]):
(-[WebHTMLView willRemoveSubview:]):
Keep the special layer-hosting view in the subviews even
when the rest of the subviews are ripped out for
painting.
(-[WebHTMLView _isUsingAcceleratedCompositing]):
New utility method for DumpRenderTree to know if we're
hosting layers.
(-[WebHTMLView drawRect:]):
Call -disableScreenUpdatesUntilFlush if we have to
synchronize layer changes with painting.
(-[WebHTMLView attachRootLayer:]):
(-[WebHTMLView detachRootLayer]):
Attach and detach the root GraphicsLayer.
* WebView/WebViewInternal.h:
* WebView/WebHTMLViewInternal.h:
* WebView/WebHTMLViewPrivate.h:
New method declarations.
* WebView/WebView.mm:
(-[WebView _needsOneShotDrawingSynchronization]):
(-[WebView _setNeedsOneShotDrawingSynchronization:]):
Set the flag to say if we need to synchronize layer
changes and painting on the next -drawRect: call.
(-[WebView viewWillMoveToWindow:]):
(-[WebView viewDidMoveToWindow]):
Call new notifications that the view was added to or removed from
the window, which are required by the layer hosting mechanism.
2009-02-02 Geoffrey Garen <ggaren@apple.com>
Build fix.
* Plugins/WebPluginController.mm:
(-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
2009-02-02 Geoffrey Garen <ggaren@apple.com>
Reviewed by Sam Weinig.
Track redirects in global history.
* History/WebHistory.mm:
(-[WebHistoryPrivate dealloc]):
(-[WebHistoryPrivate lastVisitedEntry]):
(-[WebHistoryPrivate setLastVisitedEntry:]): Remember the last global history
entry in case we're asked to add redirect information to it later.
(-[WebHistory _visitedURL:withTitle:method:wasFailure:serverRedirectURL:isClientRedirect:]):
(-[WebHistory _visitedURLForRedirectWithoutHistoryItem:]): Record redirect
information in global history.
* History/WebHistoryInternal.h:
* WebCoreSupport/WebFrameLoaderClient.h: See above and below.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::updateGlobalHistory):
(WebFrameLoaderClient::updateGlobalHistoryForRedirectWithoutHistoryItem): Record redirect
information in global history.
* WebView/WebFrame.mm:
(-[WebFrame loadRequest:]):
(-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
* WebView/WebFramePrivate.h: Updated for rename and extra parameter.
2009-02-02 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
Work around a limitation in MIG where two functions can't have the same name even if they're
not in the same subsystem.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::processRequestsAndWaitForReply):
* Plugins/Hosted/WebKitPluginClient.defs:
* Plugins/Hosted/WebKitPluginHost.defs:
2009-02-02 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Implement WKPCGetPluginElementObject.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCGetPluginElementNPObject):
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::getPluginElementNPObject):
* Plugins/Hosted/WebKitPluginClient.defs:
* Plugins/WebBaseNetscapePluginView.h:
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView WebCore::]):
2009-02-02 Anders Carlsson <andersca@apple.com>
Build fix.
* WebView/WebHTMLView.mm:
2009-02-02 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
Make WebBaseNetscapePluginView hold a reference to a HTMLPlugInElement instead of a DOMElement.
* Plugins/Hosted/WebHostedNetscapePluginView.h:
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]):
* Plugins/WebBaseNetscapePluginView.h:
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]):
(-[WebBaseNetscapePluginView _windowClipRect]):
(-[WebBaseNetscapePluginView visibleRect]):
(-[WebBaseNetscapePluginView dataSource]):
* Plugins/WebKitPluginContainerView.h: Removed.
* Plugins/WebKitPluginContainerView.mm: Removed.
* Plugins/WebNetscapePluginView.h:
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]):
(-[WebNetscapePluginView getVariable:value:]):
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::createPlugin):
2009-02-02 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
Update for changes to WebCore.
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::createPlugin):
2009-02-02 Anders Carlsson <andersca@apple.com>
Reviewed by Oliver Hunt.
When a new Web View was not created, report back to the plug-in host.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::performRequest):
* Plugins/Hosted/WebKitPluginHost.defs:
2009-02-02 Anders Carlsson <andersca@apple.com>
Reviewed by Kevin Decker.
Draw the regular missing plug-in icon instead of a red rect when a plug-in has crashed.
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView drawRect:]):
2009-02-02 Holger Hans Peter Freyther <zecke@selfish.org>
Reviewed by Darin Adler.
Move Frame::forceLayout, Frame::adjustPageHeight and Frame::forceLayoutWithPageWidthRange to FrameView
https://bugs.webkit.org/show_bug.cgi?id=23428
FrameView::forceLayout could be killed but the comment might
contain a value over the the plain FrameView::layout...
Adjust the WebCore/WebKit consumers of these methods.
* WebView/WebFrame.mm:
(-[WebFrame _computePageRectsWithPrintWidthScaleFactor:printHeight:]):
* WebView/WebHTMLView.mm:
(-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
(-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
2009-01-31 John Sullivan <sullivan@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=23665
Cleaned up code to add/remove NSNotification observers, to avoid performance hit
of calling removeObserver with unspecified notifications, or calling removeObserver
multiple times for the same notification.
Reviewed by Darin Adler
* WebView/WebHTMLView.mm:
added observingMouseMovedNotifications, observingSuperviewNotifications, and
observingWindowNotifications as BOOL ivars of _private object
(-[WebHTMLView _removeMouseMovedObserverUnconditionally]):
moved to file-internal section of file, added leading underscore, now bails out
if we aren't observing the relevant notifications, now records that we are no longer
observing the relevant notifications
(-[WebHTMLView _removeSuperviewObservers]):
ditto, also stores [NSNoticationCenter defaultCenter] in local var to avoid objc dispatch
(-[WebHTMLView _removeWindowObservers]):
ditto
(-[WebHTMLView close]):
replace general removeObserver: call with three specific calls for all the notifications
that this class actually observes
(-[WebHTMLView addMouseMovedObserver]):
bail out if already observing relevant notifications, now records that we are observing
the relevant notifications
(-[WebHTMLView removeMouseMovedObserver]):
updated for name change
(-[WebHTMLView addSuperviewObservers]):
bail out if already observing relevant notifications, now records that we are observing
the relevant notifications; also stores [NSNoticationCenter defaultCenter] in local var
to avoid objc dispatch
(-[WebHTMLView addWindowObservers]):
ditto
(-[WebHTMLView viewWillMoveToSuperview:]):
updated for name change
(-[WebHTMLView viewWillMoveToWindow:]):
updated for name changes
2009-01-31 Darin Adler <darin@apple.com>
Reviewed by Mark Rowe.
Fix code that assumes all command selectors end in colons.
rdar://problem/6545874
* WebView/WebHTMLView.mm:
(commandNameForSelector): Don't assert, just return a null string, when
the selector doesn't end in a colon.
2009-01-30 Adam Barth <abarth@webkit.org>
Reviewed by Sam Weinig.
Add a pref to disable web security.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferencesPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences isWebSecurityEnabled]):
(-[WebPreferences setWebSecurityEnabled:]):
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]):
2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org>
Reviewed by Darin Adler.
Move Frame::sendResizeEvent and Frame::sendScrollEvent to EventHandler
Carry out the move and catch up in two call sites.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _frameOrBoundsChanged]):
2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org>
Reviewed by Darin Adler.
isFrameSet was moved from Frame to Document. Update the
WebKit usage.
* WebView/WebFrame.mm:
(-[WebFrame _isFrameSet]):
* WebView/WebHTMLView.mm:
(-[WebHTMLView knowsPageRange:]):
2009-01-30 Geoffrey Garen <ggaren@apple.com>
Build fix.
* WebView/WebFramePrivate.h:
2009-01-30 Geoffrey Garen <ggaren@apple.com>
Reviewed by Sam Weinig.
Split "lockHistory" into "lockHistory" and "lockBackForwardList" in
preparation for setting them differently during a redirect.
* WebView/WebPDFView.mm:
(-[WebPDFView PDFViewWillClickOnLink:withURL:]):
2009-01-30 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Fix <rdar://problem/6544048>
Have NetscapePluginInstanceProxy keep track of all the ProxyInstance objects associated.
When the plug-in instance is destroyed, invalidate all proxy instances.
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::destroy):
(WebKit::NetscapePluginInstanceProxy::addInstance):
(WebKit::NetscapePluginInstanceProxy::removeInstance):
* Plugins/Hosted/ProxyInstance.h:
* Plugins/Hosted/ProxyInstance.mm:
(WebKit::ProxyInstance::ProxyInstance):
(WebKit::ProxyInstance::~ProxyInstance):
(WebKit::ProxyInstance::invalidate):
2009-01-30 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Fix <rdar://problem/6490778>.
Change the NPRuntime related functions to use IdentifierRep directly, and make sure to always
validate IdentifierReps before dereferencing them.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCEvaluate):
(WKPCGetStringIdentifier):
(WKPCGetIntIdentifier):
(identifierFromIdentifierRep):
(WKPCInvoke):
(WKPCGetProperty):
(WKPCSetProperty):
(WKPCRemoveProperty):
(WKPCHasProperty):
(WKPCHasMethod):
(WKPCIdentifierInfo):
2009-01-30 Brady Eidson <beidson@apple.com>
Reviewed by Sam Weinig
Remove FrameLoaderClient code that is now handled by FrameLoader itself
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::frameLoadCompleted):
2009-01-29 Stephanie Lewis <slewis@apple.com>
RS by Oliver Hunt.
Update the order files.
* WebKit.order:
2009-01-29 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
Second step in tracking the urls a HistoryItem was redirected through
Add SPI to access the array of redirect urls associated with a HistoryItem.
* History/WebHistoryItem.mm:
(-[WebHistoryItem dictionaryRepresentation]):
(-[WebHistoryItem _redirectURLs]):
* History/WebHistoryItemPrivate.h:
2009-01-29 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
Always activate the plug-in host process if we're in "modal mode" and are being told to activate.
* Plugins/Hosted/NetscapePluginHostProxy.h:
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WebKit::NetscapePluginHostProxy::pluginHostDied):
Call endModal here.
(WebKit::NetscapePluginHostProxy::applicationDidBecomeActive):
If we're modal, we should always bring the plug-in host process to the front.
(WebKit::NetscapePluginHostProxy::beginModal):
Add an observer for the NSApplicationWillBecomeActiveNotification callback.
(WebKit::NetscapePluginHostProxy::endModal):
Remove the observer.
2009-01-29 Sam Weinig <sam@webkit.org>
Reviewed by Mark Rowe.
First step in tracking the urls a HistoryItem was redirected through.
* History/WebHistoryItem.mm:
(-[WebHistoryItem initFromDictionaryRepresentation:]):
(-[WebHistoryItem dictionaryRepresentation]):
* Misc/WebNSDictionaryExtras.h:
* Misc/WebNSDictionaryExtras.m:
(-[NSDictionary _webkit_arrayForKey:]): Add helper.
2009-01-29 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Pass the PSN of the client to the host, and get the PSN of the host back when checking in.
* Plugins/Hosted/NetscapePluginHostManager.h:
* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::hostForPackage):
Get the current PSN and pass it to spawnPluginHost.
(WebKit::NetscapePluginHostManager::spawnPluginHost):
Pass the PSN to the "check in" function.
* Plugins/Hosted/NetscapePluginHostProxy.h:
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
(WebKit::NetscapePluginHostProxy::pluginHostDied):
Fix a bug noticed by Julien Chaffraix. Call endModal if necessary.
(WebKit::NetscapePluginHostProxy::beginModal):
(WebKit::NetscapePluginHostProxy::endModal):
(WebKit::NetscapePluginHostProxy::setModal):
Split out the code that does all of the work into beginModal and endModal methods.
* Plugins/Hosted/WebKitPluginHost.defs:
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView loadStream]):
2009-01-29 David Kilzer <ddkilzer@apple.com>
Remove semi-colons from the end of ObjC method implementations
Rubber-stamped by Adam Roben.
$ find WebKit -name \*.m -o -name \*.mm -exec perl -e 'undef $/; $s = <>; while ($s =~ m/[\n\r][-+].*;[\s\r\n]+\{/g) { print "$ARGV: $&\n"; }' {} \;
* DefaultDelegates/WebDefaultUIDelegate.m:
(-[WebDefaultUIDelegate webView:setResizable:]):
(-[WebDefaultUIDelegate webView:dragDestinationActionMaskForDraggingInfo:]):
(-[WebDefaultUIDelegate webView:dragSourceActionMaskForPoint:]):
(-[WebDefaultUIDelegate webView:willPerformDragSourceAction:fromPoint:withPasteboard:]):
* History/WebBackForwardList.mm:
(-[WebBackForwardList addItem:]):
(-[WebBackForwardList backListWithLimit:]):
(-[WebBackForwardList forwardListWithLimit:]):
* History/WebHistoryItem.mm:
(-[WebHistoryItem alternateTitle]):
(-[WebHistoryItem setViewState:]):
* Misc/WebCoreStatistics.mm:
(+[WebCoreStatistics garbageCollectJavaScriptObjectsOnAlternateThreadForDebugging:]):
* Misc/WebKitNSStringExtras.m:
(-[NSString _web_drawAtPoint:font:textColor:]):
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView setAttributeKeys:andValues:]):
* WebCoreSupport/WebEditorClient.mm:
(-[WebEditCommand command]):
* WebView/WebFrame.mm:
(-[WebFrame _getVisibleRect:]):
* WebView/WebHTMLRepresentation.mm:
(-[WebHTMLRepresentation _redirectDataToManualLoader:forPluginView:]):
* WebView/WebHTMLView.mm:
(-[WebHTMLView elementAtPoint:allowShadowContent:]):
* WebView/WebPreferences.mm:
(-[WebPreferences setAllowsAnimatedImages:]):
(-[WebPreferences setAutosaves:]):
(-[WebPreferences PDFDisplayMode]):
* WebView/WebView.mm:
(+[WebView _viewClass:andRepresentationClass:forMIMEType:]):
(-[WebView _viewClass:andRepresentationClass:forMIMEType:]):
(+[WebView _unregisterViewClassAndRepresentationClassForMIMEType:]):
(+[WebView _registerViewClass:representationClass:forURLScheme:]):
(-[WebView _shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]):
(-[WebView _insertNewlineInQuotedContent]):
2009-01-28 Geoffrey Garen <ggaren@apple.com>
Reviewed by Sam Weinig.
Updated for WebCore rename.
* WebView/WebView.mm:
(-[WebView setCustomTextEncodingName:]):
2009-01-28 David Kilzer <ddkilzer@apple.com>
Add missing declaration for -[NSURL(WebNSURLExtras) _webkit_isFileURL]
Reviewed by Dan Bernstein.
* Misc/WebNSURLExtras.h:
(-[NSURL(WebNSURLExtras) _webkit_isFileURL]): Added missing
declaration after the implementation was added in r9258.
2009-01-28 Sam Weinig <sam@webkit.org>
Reviewed by Geoff Garen.
Fix for <rdar://problem/6129678>
REGRESSION (Safari 3-4): Local variable not accessible from Dashcode console or variables view
* WebView/WebScriptDebugDelegate.mm:
(-[WebScriptCallFrame scopeChain]): Wrap JSActivations in DebuggerActivations.
2009-01-27 Anders Carlsson <andersca@apple.com>
Reviewed by Oliver Hunt.
Fix two bugs with Core Animation based plug-ins.
1. The plug-in view was marked as opaque even though it's not.
(This would leave garbage in the plug-in view).
2. The plug-in layer needs to have autoresizing turned on.
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView setLayer:]):
2009-01-27 Brady Eidson <beidson@apple.com>
Reviewed by Dan Bernstein
Rework FrameLoaderClient to work on a CachedFrame basis instead of CachedPage
* History/WebHistoryItem.mm:
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::savePlatformDataToCachedFrame):
(WebFrameLoaderClient::transitionToCommittedFromCachedFrame):
* WebKit.order:
2009-01-26 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
Add the ability for plug-ins to make WebKit operate in "modal mode"
* Plugins/Hosted/NetscapePluginHostProxy.h:
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
(WebKit::NetscapePluginHostProxy::pluginHostDied):
If the plug-in crashes while we're modal, make sure to leave the modal mode.
(WebKit::NetscapePluginHostProxy::setModal):
(WKPCSetModal):
* Plugins/Hosted/WebKitPluginClient.defs:
2009-01-26 John Sullivan <sullivan@apple.com>
fixed <rdar://problem/6530053> REGRESSION (Leopard): Shift-tab in http authentication window gets
stuck in the Name field rather than cycling around
Reviewed by Dan Bernstein
* Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib:
* Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib:
The two static text fields and the last button all had their "next key view" outlets set to the
name field, which caused shift-tab from the name field to do the wrong thing. Fixed by making each
selectable view have exactly one "next key view" set to it.
2009-01-26 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Add the ability for a plug-in to show or hide the menu bar.
* Plugins/Hosted/NetscapePluginHostProxy.h:
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
(WebKit::NetscapePluginHostProxy::pluginHostDied):
(WebKit::NetscapePluginHostProxy::setMenuBarVisible):
(WKPCSetMenuBarVisible):
* Plugins/Hosted/WebKitPluginClient.defs:
2009-01-26 Cameron Zwarich <cwzwarich@uwaterloo.ca>
Reviewed by Gavin Barraclough.
Bug 23552: Dashcode evaluator no longer works after making ExecStates actual call frames
<https://bugs.webkit.org/show_bug.cgi?id=23552>
<rdar://problem/6398839>
Dashcode will crash when using the evaluator because it saves a global call
frame, even after global code has finished executing, and then uses this as
a launching pad to execute new JS in the evaluator. The fix is to detect
when Dashcode is attempting to do this and execute code from a global call
frame instead.
* ForwardingHeaders/runtime/Protect.h: Added.
* WebView/WebScriptDebugDelegate.mm:
(-[WebScriptCallFrame _initWithGlobalObject:debugger:caller:debuggerCallFrame:]):
Added debugger, a WebScriptDebugger* argument.
(-[WebScriptCallFrame evaluateWebScript:]): Detect when Dashcode is using
a stale WebScriptCallFrame to execute new JS and evaluate it starting from
the global object's global call frame instead.
* WebView/WebScriptDebugger.h:
(WebScriptDebugger::globalObject): Added.
(WebScriptDebugger::globalCallFrame): Added.
* WebView/WebScriptDebugger.mm:
(WebScriptDebugger::WebScriptDebugger): Initialize m_globalObject.
(WebScriptDebugger::initGlobalCallFrame): Created as a clone of callEvent
so that the global call frame can be saved immediately after being created.
(WebScriptDebugger::callEvent): Pass 'this' as the debugger argument of
WebScriptCallFrame's _initWithGlobalObject method.
2009-01-26 Anders Carlsson <andersca@apple.com>
Reviewed by Oliver Hunt.
Make WKPCInvoke a simpleroutine.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCInvoke):
* Plugins/Hosted/WebKitPluginClient.defs:
2009-01-26 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Implement using plug-in objects as constructors, and setting and getting properties from a plug-in object.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCBooleanAndDataReply):
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
(WebKit::NetscapePluginInstanceProxy::Reply::):
(WebKit::NetscapePluginInstanceProxy::BooleanAndDataReply::BooleanAndDataReply):
Rename NPObjectInvokeReply to BooleanAndDataReply.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::addValueToArray):
Fix a cut and paste error.
(WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):
Handle NPObjects.
* Plugins/Hosted/ProxyInstance.h:
* Plugins/Hosted/ProxyInstance.mm:
(WebKit::ProxyField::valueFromInstance):
(WebKit::ProxyField::setValueToInstance):
Call the ProxyInstance method.
(WebKit::ProxyInstance::~ProxyInstance):
Release the NPObject.
(WebKit::ProxyInstance::supportsConstruct):
Ask the plug-in host if an instance supports construct.
(WebKit::ProxyInstance::fieldValue):
(WebKit::ProxyInstance::setFieldValue):
Call the plug-in host methods.
* Plugins/Hosted/WebKitPluginHostTypes.h:
Rename ObjectValueType to JSObjectValueType, and add NPObjectValueType.
2009-01-26 Mark Rowe <mrowe@apple.com>
Fix the build.
Remove -Wformat=2 from the warning flags as newer versions of GCC emit
warnings about non-literal format strings for uses of our UI_STRING macro.
* Configurations/Base.xcconfig:
2009-01-26 Mark Rowe <mrowe@apple.com>
Rubber-stamped by Sam Weinig.
Clean up after r40240.
* Configurations/Base.xcconfig: Don't dead code strip in debug builds for now as it leads to link errors.
* Plugins/Hosted/HostedNetscapePluginStream.mm: Revert change that is no longer needed now that WebKitPluginHost.defs
is back in the build.
2009-01-25 Darin Adler <darin@apple.com>
* Plugins/Hosted/HostedNetscapePluginStream.mm: Added a missing extern "C".
2009-01-25 Darin Adler <darin@apple.com>
Discussed with Mark Rowe; not sure he reviewed it.
* Configurations/Base.xcconfig: Add all the same warnings as in WebCore except for
-Wcast-qual and -Wunused-parameter, which both need to be off at least for now.
2009-01-25 Mark Rowe <mrowe@apple.com>
Rubber-stamped by Dan Bernstein.
Improve the consistency of settings in our .xcconfig files.
* Configurations/Base.xcconfig: Only dead code strip the normal variant.
Handle all cases in GCC_GENERATE_DEBUGGING_SYMBOLS.
2009-01-25 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
Bug 23522: use checked casts for render tree
https://bugs.webkit.org/show_bug.cgi?id=23522
Step one: RenderText.
* WebView/WebRenderNode.mm:
(copyRenderNode): Use toRenderText.
2009-01-23 Brady Eidson <beidson@apple.com>
Rubberstamped by Darin Adler
Rename CachedPagePlatformData to CachedFramePlatformData to more accurately reflect its true role.
* WebCoreSupport/WebCachedFramePlatformData.h: Copied from WebKit/mac/WebCoreSupport/WebCachedPagePlatformData.h.
(WebCachedFramePlatformData::WebCachedFramePlatformData):
* WebCoreSupport/WebCachedPagePlatformData.h: Removed.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::savePlatformDataToCachedPage):
(WebFrameLoaderClient::transitionToCommittedFromCachedPage):
* WebKit.order:
2009-01-23 Adele Peterson <adele@apple.com>
Build fix.
Use new linesBoundingBox method instead of
boundingBoxWidth and boundingBoxHeight for RenderText objects.
* WebView/WebRenderNode.mm: (copyRenderNode):
2009-01-23 Anders Carlsson <andersca@apple.com>
Fix 64-bit build.
* Plugins/Hosted/ProxyInstance.mm:
(WebKit::proxyClass):
2009-01-23 Anders Carlsson <andersca@apple.com>
Fix GCC 4.0 build.
* Configurations/Base.xcconfig:
2009-01-23 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Turn on -Wmissing-prototypes and fix the resulting warnings.
* Configurations/Base.xcconfig:
* History/WebHistory.mm:
(timeIntervalForBeginningOfDay):
* History/WebHistoryItem.mm:
(historyItemWrappers):
* Misc/WebNSPasteboardExtras.mm:
(imageFromElement):
* WebView/WebFrame.mm:
* WebView/WebScriptDebugger.mm:
(toNSString):
2009-01-22 Mark Rowe <mrowe@apple.com>
Rubber-stamped by Anders Carlsson.
Disable GCC_WARN_ABOUT_MISSING_PROTOTYPES temporarily.
Current versions of Xcode only respect it for C and Objective-C files,
and our code doesn't currently compile if it is applied to C++ and
Objective-C++ files.
* Configurations/Base.xcconfig:
2009-01-22 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Add support for Invoke and InvokeDefault. Clean up code.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCBooleanReply):
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
(WebKit::NetscapePluginInstanceProxy::Reply::):
(WebKit::NetscapePluginInstanceProxy::BooleanReply::BooleanReply):
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):
* Plugins/Hosted/ProxyInstance.h:
* Plugins/Hosted/ProxyInstance.mm:
(WebKit::ProxyInstance::invoke):
(WebKit::ProxyInstance::invokeMethod):
(WebKit::ProxyInstance::supportsInvokeDefaultMethod):
(WebKit::ProxyInstance::invokeDefaultMethod):
(WebKit::ProxyInstance::methodsNamed):
(WebKit::ProxyInstance::fieldNamed):
* Plugins/Hosted/WebKitPluginClient.defs:
* Plugins/Hosted/WebKitPluginHost.defs:
* Plugins/Hosted/WebKitPluginHostTypes.h:
2009-01-22 Eric Roman <eroman@chromium.og>
Reviewed by Eric Seidel.
https://bugs.webkit.org/show_bug.cgi?id=20806
Deprecate RSSFeedReferrer() and setRSSFeedReferrer().
* History/WebHistoryItem.mm:
(-[WebHistoryItem RSSFeedReferrer]):
(-[WebHistoryItem setRSSFeedReferrer:]):
2009-01-22 Anders Carlsson <andersca@apple.com>
Reviewed by Kevin Decker.
Don't crash or hang when we fail to instantiate a plug-in.
* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::instantiatePlugin):
Return 0 on failure.
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView JSC::Bindings::createPluginBindingsInstance:JSC::Bindings::]):
Null check for the proxy member.
2009-01-21 David Hyatt <hyatt@apple.com>
Devirtualize width/height/x/y on RenderObject and move the methods to RenderBox.
Reviewed by Eric Seidel and Darin Adler
* WebView/WebRenderNode.mm:
(copyRenderNode):
2009-01-21 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
More browser->plug-in scripting support.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCNPObjectHasPropertyReply):
(WKPCNPObjectHasMethodReply):
(WKPCNPObjectInvokeReply):
MIG reply functions.
(WKPCIdentifierInfo):
Return information about an identifier given its 64-bit value.
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
Add new reply structs.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::addValueToArray):
Split out code that adds values to the arrays from marshalValue.
(WebKit::NetscapePluginInstanceProxy::marshalValue):
Call addValueToArray.
(WebKit::NetscapePluginInstanceProxy::marshalValues):
Marshal a list of values.
(WebKit::NetscapePluginInstanceProxy::createBindingsInstance):
Actually create a proxy instance.
* Plugins/Hosted/ProxyInstance.h:
* Plugins/Hosted/ProxyInstance.mm:
(WebKit::ProxyClass::methodsNamed):
(WebKit::ProxyClass::fieldNamed):
Add a proxy ProxyClass class that just forwards everything to the ProxyInstance class.
(WebKit::proxyClass):
Shared proxyClass getter.
(WebKit::ProxyField::ProxyField):
(WebKit::ProxyField::valueFromInstance):
(WebKit::ProxyField::setValueToInstance):
Add a proxy ProxyField class that just forwards everything to the ProxyInstance class.
(WebKit::ProxyMethod::ProxyMethod):
(WebKit::ProxyMethod::serverIdentifier):
(WebKit::ProxyMethod::numParameters):
Add a dummy ProxyMethod class.
(WebKit::ProxyInstance::invokeMethod):
Call _WKPHNPObjectInvoke.
(WebKit::ProxyInstance::defaultValue):
(WebKit::ProxyInstance::stringValue):
(WebKit::ProxyInstance::numberValue):
(WebKit::ProxyInstance::booleanValue):
(WebKit::ProxyInstance::valueOf):
Add dummy implementations (taken from CInstance).
(WebKit::ProxyInstance::methodsNamed):
Call _WKPHNPObjectHasMethod to determine whether a method with the given name exists.
(WebKit::ProxyInstance::fieldNamed):
Call _WKPHNPObjectHasProperty to determine whether a property with the given name exists.
* Plugins/Hosted/WebKitPluginClient.defs:
* Plugins/Hosted/WebKitPluginHost.defs:
Add new MIG definitions.
2009-01-21 Mark Rowe <mrowe@apple.com>
Reviewed by Tim Hatcher.
Clean up how we force invocations of API that happened on background threads over to the main thread.
This was previously accomplished in a somewhat ad-hoc manner using a mutable dictionary to pass arguments
and return values back from the function. The new approach is to use a proxy object that forwards an
NSInvocation over to the main thread and applies it to the target object, which leads to a much cleaner
call site.
* Misc/WebNSObjectExtras.h:
* Misc/WebNSObjectExtras.mm:
(-[WebMainThreadInvoker initWithTarget:]):
(-[WebMainThreadInvoker forwardInvocation:]):
(-[WebMainThreadInvoker methodSignatureForSelector:]):
(-[WebMainThreadInvoker handleException:]):
(-[NSInvocation _webkit_invokeAndHandleException:]): Execute the invocation and forward any exception that was
raised back to the WebMainThreadInvoker.
(-[NSObject _webkit_invokeOnMainThread]):
The following methods are updated to use the proxy object to forward methods to the main thread:
* WebView/WebArchive.mm:
(-[WebArchive initWithMainResource:subresources:subframeArchives:]):
(-[WebArchive mainResource]):
(-[WebArchive subresources]):
(-[WebArchive subframeArchives]):
* WebView/WebResource.mm:
(-[WebResource data]):
(-[WebResource URL]):
(-[WebResource MIMEType]):
(-[WebResource textEncodingName]):
(-[WebResource frameName]):
(-[WebResource _ignoreWhenUnarchiving]):
(-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]):
(-[WebResource _initWithData:URL:response:]):
(-[WebResource _suggestedFilename]):
(-[WebResource _response]):
(-[WebResource _stringValue]):
* WebView/WebView.mm:
(-[WebView initWithFrame:frameName:groupName:]):
(-[WebView initWithCoder:]):
2009-01-20 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
Reviewed by George Staikos.
Fixes: https://bugs.webkit.org/show_bug.cgi?id=23434 (Add WML <input> element support)
Protect text field related WebEditorClient.mm methods against non-HTMLElement callers.
WebEditorClient.mm relies on HTMLInputElement as input element. Ignore calls from non-HTMLElement elements.
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::textFieldDidBeginEditing):
(WebEditorClient::textFieldDidEndEditing):
(WebEditorClient::textDidChangeInTextField):
(WebEditorClient::doTextFieldCommandFromEvent):
(WebEditorClient::textWillBeDeletedInTextField):
(WebEditorClient::textDidChangeInTextArea):
2009-01-19 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Add and implement GetScriptableNPObject.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCGetScriptableNPObjectReply):
Create a new reply struct and set it as the current reply.
(WKPCEvaluate):
Get rid of an unused variable.
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
(WebKit::NetscapePluginInstanceProxy::Reply::):
(WebKit::NetscapePluginInstanceProxy::GetScriptableNPObjectReply::GetScriptableNPObjectReply):
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::createBindingsInstance):
Call _WKPHGetScriptableNPObject and wait for a reply.
* Plugins/Hosted/ProxyInstance.h: Added.
* Plugins/Hosted/ProxyInstance.mm: Added.
Add empty files.
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView JSC::Bindings::createPluginBindingsInstance:JSC::Bindings::]):
Call NetscapePluginInstanceProxy::createBindingsInstance.
* Plugins/Hosted/WebKitPluginClient.defs:
* Plugins/Hosted/WebKitPluginHost.defs:
Add new declarations.
2009-01-19 Sam Weinig <sam@webkit.org>
Rubber-stamped by Gavin Barraclough.
Remove temporary operator-> from JSValuePtr.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::invoke):
(WebKit::NetscapePluginInstanceProxy::hasMethod):
(WebKit::NetscapePluginInstanceProxy::marshalValue):
* WebView/WebFrame.mm:
(-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
* WebView/WebView.mm:
(aeDescFromJSValue):
2009-01-19 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Make Evaluate an asynchronous method that has a reply method.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCEvaluate):
* Plugins/Hosted/WebKitPluginClient.defs:
* Plugins/Hosted/WebKitPluginHost.defs:
2009-01-19 Brady Eidson <beidson@apple.com>
Rubberstamped by Tim Hatcher
Fix long standing typo.
* History/WebBackForwardList.h:
2009-01-19 Mark Rowe <mrowe@apple.com>
Fix the build!
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::demarshalValue):
(WebKit::NetscapePluginInstanceProxy::demarshalValues):
2009-01-18 Mark Rowe <mrowe@apple.com>
Reviewed by Anders Carlsson.
Fix <https://bugs.webkit.org/show_bug.cgi?id=23414>.
Bug 23414: Reproducible crash accessing View menu with plugins disabled
* WebView/WebFrame.mm:
(-[WebFrame _canProvideDocumentSource]): Null-check the PluginData before using it.
2009-01-17 David Hyatt <hyatt@apple.com>
Eliminate dependencies on "backslashAsCurrencySymbol()" from WebKit, and make sure these alterations
are done in WebCore instead.
Reviewed by Oliver Hunt
* WebView/WebFrame.mm:
(-[WebFrame _selectedString]):
(-[WebFrame _stringForRange:]):
2009-01-17 Eric Carlson <eric.carlson@apple.com>
Reviewed by Adele Peterson
Complete <rdar://problem/6293969>
* WebCoreSupport/WebSystemInterface.m:
(InitWebCoreSystemInterface): Remove UseSharedMediaUI
2009-01-15 Brady Eidson <beidson@apple.com>
Reviewed by Dan Bernstein
Fix problem where a URL visited as non-GET once is flagged as non-GET forever.
* History/WebHistory.mm:
(-[WebHistory _visitedURL:withTitle:method:wasFailure:]): Always update the HTTPNonGet
flag for all loads with an HTTP Method
2009-01-14 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Implement InvokeDefault, Construct, GetProperty and SetProperty.
Fully implement marshalValue.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCInvokeDefault):
(WKPCConstruct):
(WKPCGetProperty):
(WKPCSetProperty):
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::evaluate):
(WebKit::NetscapePluginInstanceProxy::invoke):
(WebKit::NetscapePluginInstanceProxy::invokeDefault):
(WebKit::NetscapePluginInstanceProxy::construct):
(WebKit::NetscapePluginInstanceProxy::getProperty):
(WebKit::NetscapePluginInstanceProxy::setProperty):
(WebKit::NetscapePluginInstanceProxy::marshalValue):
(WebKit::NetscapePluginInstanceProxy::demarshalValue):
* Plugins/Hosted/WebKitPluginClient.defs:
2009-01-14 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Demarshal arguments and pass them to the JS call.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCInvoke):
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::invoke):
(WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):
(WebKit::NetscapePluginInstanceProxy::demarshalValues):
2009-01-14 Mark Rowe <mrowe@apple.com>
Reviewed by Timothy Hatcher.
<rdar://problem/6496520> REGRESSION: In Mail, a crash occurs when attempting to display a mail message
Move WebArchive and WebResource to use the same approach for initializing themselves on the main thread
that WebView uses.
* WebView/WebArchive.mm:
(-[WebArchive initWithMainResource:subresources:subframeArchives:]): Use _webkit_performSelectorOnMainThread:withObject:.
(-[WebArchive _initWithArguments:]):
* WebView/WebResource.mm:
(-[WebResource _initWithArguments:]): Unbox the BOOL argument.
2009-01-14 Darin Adler <darin@apple.com>
Reviewed by Oliver Hunt.
Fix crash I ran into while printing. I was unable to reproduce it, but also,
it's clear there's no guarantee that the frame will be non-zero in this case,
so it seems fine to check it.
* WebView/WebHTMLView.mm: (-[WebHTMLView reapplyStyles]): Check frame for zero
and don't do anything with it if it's zero.
2009-01-14 Dan Bernstein <mitz@apple.com>
Reviewed by John Sullivan.
- update copyright
* Info.plist:
2009-01-12 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
Add a bunch of methods to WebKitPluginClient.defs, and implement them.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WebKit::fromUTF8WithLatin1Fallback):
If the length isn't specified, get it by calling strlen.
(WKPCEvaluate):
Evaluate doesn't take any arguments.
(WKPCGetIntIdentifier):
Call _NPN_GetIntIdentifier.
(identifierFromServerIdentifier):
New helper function that returns a JSC Identifier from an NPIdentifier.
(WKPCInvoke):
Call identifierFromServerIdentifier.
(WKPCRemoveProperty):
(WKPCHasProperty):
(WKPCHasMethod):
Call NetscapePluginInstanceProxy.
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::removeProperty):
(WebKit::NetscapePluginInstanceProxy::hasProperty):
(WebKit::NetscapePluginInstanceProxy::hasMethod):
* Plugins/Hosted/WebKitPluginClient.defs:
Add new definitions.
2009-01-13 Anders Carlsson <andersca@apple.com>
Fix build.
* WebView/WebView.mm:
(-[WebView _initWithArguments:]):
2009-01-13 Timothy Hatcher <timothy@apple.com>
Adds a workaround for the flip4mac installer plugin decoding a WebView from a NIB on a secondary thread.
<rdar://problem/6489788> New WebKit thread checks break installation of flip4mac (thread violation)
Reviewed by Darin Adler.
* Misc/WebKitVersionChecks.h: Add WEBKIT_FIRST_VERSION_WITHOUT_WEBVIEW_INIT_THREAD_WORKAROUND.
* Misc/WebNSObjectExtras.h: Add _webkit_performSelectorOnMainThread:withObject:.
* Misc/WebNSObjectExtras.mm:
(-[NSObject _webkit_performSelectorWithArguments:]): Renamed from _webkit_getPropertyWithArguments.
Passes the optional object to the selector.
(-[NSObject _webkit_performSelectorOnMainThread:withObject:]): Renamed from _webkit_getPropertyOnMainThread:.
Put the optional object into the arguments dictionary.
(-[NSObject _webkit_getPropertyOnMainThread:]): Call _webkit_performSelectorOnMainThread with a nil object.
* WebView/WebResource.mm:
(-[WebResource _ignoreWhenUnarchiving]): Use _cmd instead of making the selector again.
(-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]): Use the new
_webkit_performSelectorOnMainThread:withObject: method instead of performSelectorOnMainThread.
* WebView/WebView.mm:
(-[WebView _initWithArguments:]): Added. Pulls arguments out of the dictionary and calls the right init method.
(needsWebViewInitThreadWorkaround): Checks if the thead is not the main thread and if we are in the Installer bundle.
(-[WebView initWithFrame:frameName:groupName:]): Call needsWebViewInitThreadWorkaround and use _webkit_performSelectorOnMainThread
to call _initWithArguments: passing the frame, frameName and groupName.
(-[WebView initWithCoder:]): Ditto, except pass the coder to _initWithArguments:.
2009-01-12 Gavin Barraclough <barraclough@apple.com>
Reviewed by Oliver Hunt.
Deprecate JSValuePtr::getNumber() - two ways to get a number should be enough.
* WebView/WebView.mm:
(aeDescFromJSValue):
2009-01-12 Brady Eidson <beidson@apple.com>
Reviewed by Darin Adler
<rdar://problem/6468274> - Track Non-get requests in global history
* History/WebHistory.mm:
(-[WebHistory _visitedURL:withTitle:method:wasFailure:]):
* History/WebHistoryInternal.h:
* History/WebHistoryItem.mm:
(-[WebHistoryItem initFromDictionaryRepresentation:]):
(-[WebHistoryItem dictionaryRepresentation]):
(-[WebHistoryItem _lastVisitWasHTTPNonGet]):
* History/WebHistoryItemPrivate.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::updateGlobalHistory): Only pass the method through if it was an HTTP load
2009-01-12 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Move marshalling into NetscapePluginInstanceProxy.
Add support for marshallin strings.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCEvaluate):
(WKPCInvoke):
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::evaluate):
(WebKit::NetscapePluginInstanceProxy::invoke):
(WebKit::NetscapePluginInstanceProxy::marshalValue):
* Plugins/Hosted/WebKitPluginHostTypes.h:
2009-01-12 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Implement WKPCInvoke.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCEvaluate):
(WKPCInvoke):
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::idForObject):
(WebKit::NetscapePluginInstanceProxy::invoke):
* Plugins/Hosted/WebKitPluginClient.defs:
2009-01-12 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Move marshalling code to NetscapePluginInstanceProxy. Add support for marshalling JS objects.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCEvaluate):
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::marshalValue):
* Plugins/Hosted/WebKitPluginHostTypes.h:
2009-01-12 Julien Chaffraix <jchaffraix@pleyo.com>
Reviewed by Darin Adler.
Bug 22861: Turn the FontCache into a singleton
https://bugs.webkit.org/show_bug.cgi?id=22861
* Misc/WebCoreStatistics.mm:
(+[WebCoreStatistics cachedFontDataCount]):
(+[WebCoreStatistics cachedFontDataInactiveCount]):
(+[WebCoreStatistics purgeInactiveFontData]):
Redirected all the static calls to the global FontCache
instance.
2009-01-11 Dmitry Titov <dimich@chromium.org>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=23207
Moved currentTime() to from WebCore to WTF.
* WebView/WebFrame.mm: a different header file included.
2009-01-10 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
<rdar://problem/5845089> REGRESSION (r30044): Mail custom stationery missing images
because of change to -[HTMLObjectElement data]
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): Added a thread
violation check because I saw this being done off the main thread while testing Mail, and it
caused problems. Put all the one time initialization under a single guard to make things just
a little faster other times, and to make it clearer which things are one-time. Added a call to
the new patchMailRemoveAttributesMethod function.
(-[WebView initWithFrame:frameName:groupName:]): Added a thread violation check here too,
because I assumed it would be slightly better to have a public method name in the violation
message. This calls commonInitialization later, so it will hit that one eventually.
(objectElementDataAttribute): Added. Just returns the value of the "data" attribute.
(recursivelyRemoveMailAttributes): Added. Patch to an internal Mail method that in turn patches
a WebKit method and removes the patch again on the way out.
(patchMailRemoveAttributesMethod): Added. On Leopard only, checks the Mail version, and then
applies the patch that fixes this bug.
2009-01-09 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
- fixed <rdar://problem/6234347> Add/change conditional key
bindings for changing paragraph- and character-level writing
direction (to match NSTextView)
* WebView/WebHTMLView.mm:
(-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Added
code to validate makeBaseWritingDirectionLeftToRight: and
makeBaseWritingDirectionRightToLeft:.
(writingDirectionKeyBindingsEnabled): Changed this function to
always return YES, except on Tiger and Leopard.
(-[WebHTMLView makeBaseWritingDirectionLeftToRight:]): Renamed
changeBaseWritingDirectionToLTR: to this.
(-[WebHTMLView makeBaseWritingDirectionRightToLeft:]): Renamed
changeBaseWritingDirectionToRTL: to this.
(-[WebHTMLView changeBaseWritingDirectionToLTR:]): Now calls
makeBaseWritingDirectionLeftToRight:.
(-[WebHTMLView changeBaseWritingDirectionToRTL:]): Now calls
makeBaseWritingDirectionRightToLeft:.
* WebView/WebView.mm: Added makeBaseWritingDirectionLeftToRight
and makeBaseWritingDirectionRightToLeft to
FOR_EACH_RESPONDER_SELECTOR.
2009-01-08 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Add and implement WKPCGetStringIdentifier.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCGetStringIdentifier):
* Plugins/Hosted/WebKitPluginClient.defs:
2009-01-08 Stephanie Lewis <slewis@gmail.com>
Fix Tiger build.
* WebView/WebTextIterator.mm:
2009-01-08 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Add basic support for evaluating scripts.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WebKit::fromUTF8WithLatin1Fallback):
(WebKit::NetscapePluginHostProxy::~NetscapePluginHostProxy):
(WKPCReleaseObject):
(marshalValue):
(WKPCEvaluate):
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::releaseObject):
(WebKit::NetscapePluginInstanceProxy::evaluate):
* Plugins/Hosted/WebKitPluginClient.defs:
* Plugins/Hosted/WebKitPluginHostTypes.h:
2009-01-08 David Hyatt <hyatt@apple.com>
Fix for <rdar://problem/6465682> REGRESSION: In Mail, can't force a message to auto scroll
Add a new ChromeClient method for handling exposure of scrolled rects.
Reviewed by Oliver Hunt
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::scrollRectIntoView):
2009-01-08 Darin Adler <darin@apple.com>
Reviewed by Tim Hatcher.
Bug 23185: add a currentRange method to the WebTextIterator SPI
https://bugs.webkit.org/show_bug.cgi?id=23185
rdar://problem/6455834
I also noticed a garbage-collection-related threading issue that I fixed, and
that the SPI for getting text was unnecessarily inefficient, so I fixed that too.
* WebView/WebTextIterator.h: Moved currentNode and currentText into a "deprecated"
category. Added currentTextPointer and currentTextLength.
* WebView/WebTextIterator.mm: Changed m_textIterator into an OwnPtr, and also
used _textIterator to be consistent with ObjC rather than C++ naming.
(+[WebTextIteratorPrivate initialize]): Added. Calls WebCoreObjCFinalizeOnMainThread,
since the finalize method here works with main-thread only WebCore objects.
(-[WebTextIterator initWithRange:]): Changed since _textIterator is an OwnPtr now.
(-[WebTextIterator advance]): Changed name of m_textIterator. Removed null assertion,
since I don't think it provides much value.
(-[WebTextIterator atEnd]): Ditto.
(-[WebTextIterator currentRange]): Added.
(-[WebTextIterator currentTextPointer]): Added.
(-[WebTextIterator currentTextLength]): Added.
(-[WebTextIterator currentNode]): Did same as above, but also put into new category.
(-[WebTextIterator currentText]): Ditto.
2009-01-08 Eric Carlson <eric.carlson@apple.com>
Reviewed by Adele Peterson.
Simplify Mac interfaces for drawing media controller elements
<rdar://problem/6293969>
* WebCoreSupport/WebSystemInterface.m:
(InitWebCoreSystemInterface): Update for changes to media controller functions
2009-01-07 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
Fix build.
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::idForObject):
2009-01-07 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
Add a way for a plug-in to get a reference to the Window JS object.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCGetWindowNPObject):
Call the appropriate instance.
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
Add object ID counter.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::destroy):
Clear the object ID map.
(WebKit::NetscapePluginInstanceProxy::idForObject):
New method that returns a unique ID for a given JS object.
(WebKit::NetscapePluginInstanceProxy::getWindowNPObject):
Return the object ID for the window JS object.
* Plugins/Hosted/WebKitPluginClient.defs:
Add GetWindowNPObject.
2009-01-07 Darin Adler <darin@apple.com>
Reviewed by Oliver Hunt.
Bug 23160: add setMemoryCacheClientCallsEnabled SPI so Safari can be faster with activity window closed
https://bugs.webkit.org/show_bug.cgi?id=23160
* WebView/WebView.mm:
(-[WebView setMemoryCacheDelegateCallsEnabled:]): Added.
(-[WebView areMemoryCacheDelegateCallsEnabled]): Added
* WebView/WebViewPrivate.h: Ditto.
2009-01-05 Gavin Barraclough <baraclough@apple.com>
Rubber Stamped by Oliver Hunt.
Replace all uses of JSValue* with new wrapper class, JSValuePtr.
See JavaScriptCore/ChangeLog for more detailed description.
* WebView/WebFrame.mm:
(-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
* WebView/WebScriptDebugDelegate.mm:
(-[WebScriptCallFrame _convertValueToObjcValue:]):
(-[WebScriptCallFrame exception]):
(-[WebScriptCallFrame evaluateWebScript:]):
* WebView/WebView.mm:
(aeDescFromJSValue):
(-[WebView aeDescByEvaluatingJavaScriptFromString:]):
2009-01-06 Pierre-Olivier Latour <pol@apple.com>
Reviewed by Darin Adler.
Exposed through WebFrame private interface the new WebCore API AnimationController::numberOfActiveAnimations() to be used by DRT.
https://bugs.webkit.org/show_bug.cgi?id=23126
* WebView/WebFrame.mm:
(-[WebFrame _numberOfActiveAnimations]):
* WebView/WebFramePrivate.h:
2009-01-05 David Kilzer <ddkilzer@apple.com>
Add SPI to enable, disable and check state of WebIconDatabase
Reviewed by Darin Adler & Timothy Hatcher.
Add -[WebIconDatabase isEnabled] and -[WebIconDatabase setEnabled:]
SPI to make it possible to enable, disable and check the state of
the icon database.
* Misc/WebIconDatabase.mm:
(-[WebIconDatabase init]): Extracted code into -_startUpIconDatabase.
(-[WebIconDatabase iconForURL:withSize:cache:]): Switched to use
-isEnabled instead of -_isEnabled.
(-[WebIconDatabase iconURLForURL:]): Ditto.
(-[WebIconDatabase retainIconForURL:]): Ditto.
(-[WebIconDatabase releaseIconForURL:]): Ditto.
(-[WebIconDatabase isEnabled]): Renamed from -_isEnabled in
WebInternal category.
(-[WebIconDatabase setEnabled:]): Added. Takes care of changing
the enabled/disabled state of the icon database.
(-[WebIconDatabase removeAllIcons]): Switched to use -isEnabled
instead of -_isEnabled.
(-[WebIconDatabase _startUpIconDatabase]): Added. Extrated from
-init.
(-[WebIconDatabase _shutDownIconDatabase]): Added. Remove
observers when the icon database is disabled.
* Misc/WebIconDatabaseInternal.h: Added declarations for
-_startUpIconDatabase and -_shutDownIconDatabase.
* Misc/WebIconDatabasePrivate.h: Added declarations for
-isEnabled and -setEnabled:.
2009-01-05 Brady Eidson <beidson@apple.com>
Reviewed by Jon Honeycutt
Expose setting the last-visit-was-failure flag on a history items in preparation for <rdar://problem/6173319>
* History/WebHistoryItem.mm:
(-[WebHistoryItem _setLastVisitWasFailure:]):
* History/WebHistoryItemPrivate.h:
2009-01-05 Adam Treat <adam.treat@torchmobile.com>
Another blind mac build fix
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::contentsSizeChanged):
2009-01-05 Adam Treat <adam.treat@torchmobile.com>
Blind mac build fix
* WebCoreSupport/WebChromeClient.mm:
2009-01-05 Adam Treat <adam.treat@torchmobile.com>
Fix mac build
* WebCoreSupport/WebChromeClient.h:
2009-01-05 Adam Treat <adam.treat@torchmobile.com>
Reviewed by George Staikos.
Build fix for contentsSizeChanged
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::contentsSizeChanged):
2009-01-02 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
Bug 23072: REGRESSION (r37371): In the Dictionary application, scroll bar appears
inside its web view when resizing its window
https://bugs.webkit.org/show_bug.cgi?id=23072
rdar://problem/6368028
The first attempt at fixing this did not work.
This time I was able to reproduce the bug and test the fix.
* WebCoreSupport/WebFrameLoaderClient.mm:
(applyAppleDictionaryApplicationQuirkNonInlinePart): Changed the arguments and
function names around a bit to make even less code at the call site.
(applyAppleDictionaryApplicationQuirk): Put the check for whether this is the
Dictionary application in here.
(WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache): Put a call to
applyAppleDictionaryApplicationQuirk here. This was a case I had missed before,
when the script is cached. This fixes one of the two problems with the initial
patch; the other fix is in WebCore.
(WebFrameLoaderClient::dispatchWillSendRequest): Changed the
applyAppleDictionaryApplicationQuirk call here to work the new simpler way.
* WebView/WebView.mm: Had to add an include due to changes in WebCore header includes.
2009-01-02 Cameron Zwarich <cwzwarich@uwaterloo.ca>
Reviewed by Darin Adler.
Bug 23060: REGRESSION (r38629): Cannot scroll a WebHTMLView using Home/End/Page up/Page down
<https://bugs.webkit.org/show_bug.cgi?id=23060>
<rdar://problem/6467830>
After r38629, all keyboard events get sent by Editor to the EditorClient, even
if the selection is not editable. If the event's command is unsupported by
WebHTMLView, WebHTMLView mistakenly thinks that the event was handled when it
was not. When using the page up / page down keys, the events generated are of
the form scrollPageUp rather than movePageUp, so they are unsupported by
WebHTMLView and cause this bug to occur.
* WebView/WebHTMLView.mm:
(-[WebHTMLView doCommandBySelector:]):
2009-01-02 Darin Adler <darin@apple.com>
Reviewed by Oliver Hunt.
Bug 23072: REGRESSION (r37371): In the Dictionary application, scroll bar appears inside its web view when resizing its window
https://bugs.webkit.org/show_bug.cgi?id=23072
rdar://problem/6368028
* WebCoreSupport/WebFrameLoaderClient.mm:
(isAppleDictionaryApplication): Added.
(applyAppleDictionaryApplicationQuirk): Added. Under the right conditions, sets
a flag to ask HTMLFrameElementBase to ignore the scrolling attribute.
(WebFrameLoaderClient::dispatchWillSendRequest): Call the two functions above to
apply the quirk when the relevant script is loaded.
2008-12-26 Dan Bernstein <mitz@apple.com>
Reviewed by Sam Weinig.
- fix <rdar://problem/6467608> lastVisitWasFailure flag persists in
global history after a successful visit
* History/WebHistory.mm:
(-[WebHistory _visitedURL:withTitle:wasFailure:]): Changed to always
update the wasFailure flag on the HistoryItem.
2008-12-23 Darin Adler <darin@apple.com>
Reviewed by Alexey Proskuryakov (a slightly earlier version).
- fix https://bugs.webkit.org/show_bug.cgi?id=22976
crash due to Mail's use of WebArchive and WebResource on non-main thread
* Misc/WebKitLogging.h: Improved comments for ASSERT_MAIN_THREAD. Got rid of
WebKitRunningOnMainThread function, which was just a cover for pthread_main_np.
* Misc/WebKitLogging.m: Ditto.
* Misc/WebKitVersionChecks.h: Added a version after which we won't do the
main thread workaround.
* Misc/WebNSObjectExtras.h: Added a new method, _webkit_getPropertyOnMainThread:,
which performs a selector on the main thread, waits for it to complete, and then
returns the value on the caller thread.
* Misc/WebNSObjectExtras.mm: Added.
* WebView/WebArchive.mm:
(-[WebArchive init]): Added WebCoreThreadViolationCheck.
(-[WebArchive initWithMainResource:subresources:subframeArchives:]): Perform
initialization on main thread if needMailThreadWorkaround is true.
Also added WebCoreThreadViolationCheck.
(-[WebArchive initWithData:]): Added WebCoreThreadViolationCheck.
(-[WebArchive mainResource]): Get property on main thread if
needMailThreadWorkaround is true. Also added WebCoreThreadViolationCheck.
(-[WebArchive subresources]): Ditto.
(-[WebArchive subframeArchives]): Ditto.
(-[WebArchive data]): Ditto.
(-[WebArchive _initWithCoreLegacyWebArchive:]): Added WebCoreThreadViolationCheck.
(-[WebArchive _coreLegacyWebArchive]): Ditto.
(-[WebArchive _initWithArguments:]): Added. Used to implement the cross-thread
version of initWithMainResource above.
* WebView/WebResource.mm:
(-[WebResource initWithCoder:]): Added WebCoreThreadViolationCheck.
(-[WebResource data]): Get property on main thread if
needMailThreadWorkaround is true. Also added WebCoreThreadViolationCheck.
(-[WebResource URL]): Ditto.
(-[WebResource MIMEType]): Ditto.
(-[WebResource textEncodingName]): Ditto.
(-[WebResource frameName]): Ditto.
(-[WebResource _ignoreWhenUnarchiving]): Ditto.
(-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]):
Perform initialization on main thread if needMailThreadWorkaround is true.
Also added WebCoreThreadViolationCheck.
(-[WebResource _suggestedFilename]): Added. Helper for _fileWrapperRepresentation.
(-[WebResource _fileWrapperRepresentation]): Rewrote to use methods instead of
getting at coreResource directly.
(-[WebResource _response]): Get property on main thread if
needMailThreadWorkaround is true. Also added WebCoreThreadViolationCheck.
(-[WebResource _stringValue]): Ditto.
(+[WebResource _needMailThreadWorkaroundIfCalledOffMainThread]): Added.
(-[WebResource _initWithArguments:]): Added. Used to implement the cross-thread
version of _initWithData above.
* WebView/WebResourceInternal.h: Changed to include WebResourcePrivate.h since internal
clients have access to the SPI as well as the API. Added definition of MAIL_THREAD_WORKAROUND
and the needMainThreadWorkaround helper function.
* Misc/WebIconDatabase.mm: Removed include of now-defunct FoundationExtras.h
file. This probably fixes clean builds.
* WebCoreSupport/WebIconDatabaseClient.mm: Ditto.
* WebCoreSupport/WebFrameLoaderClient.mm: Removed include of WebResourcePrivate.h,
since it's not actually used.
* WebView/WebDataSource.mm: Ditto.
* WebView/WebHTMLRepresentation.mm: Ditto.
2008-12-23 Darin Adler <darin@apple.com>
Reviewed by Dan Bernstein.
- fix https://bugs.webkit.org/show_bug.cgi?id=22979
crash seen in -[WebView drawsBackground] when quitting
<rdar://problem/6464601>
* WebView/WebView.mm:
(-[WebView drawsBackground]): Added comment and a null check for _private.
2008-12-22 Kevin Decker <kdecker@apple.com>
Reviewed by Anders Carlsson.
<rdar://problem/6449588> REGRESSION (r38279-r38280): Minimize them remaximize a window with a flash plugin, plugin doesn't resume at full speed
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView windowDidDeminiaturize:]): Deminiaturizing should restart timers, not stop timers.
2008-12-19 Geoffrey Garen <ggaren@apple.com>
Reviewed by Darin Adler, Adele Peterson, Brady Eidson.
Added SPI for getting an unsorted vector of all items in history.
* History/WebHistory.h:
* History/WebHistory.mm:
(-[WebHistory allItems]):
2008-12-18 Dan Bernstein <mitz@apple.com>
Reviewed by Sam Weinig.
- implement FrameLoaderClient::shouldUseCredentialStorage() by calling
a new resource load delegae method.
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::shouldUseCredentialStorage): Added. Calls the
delegate method. If the method is unimplemented, returns true for
backwards compatibility.
* WebView/WebView.mm:
(-[WebView _cacheResourceLoadDelegateImplementations]): Initialize the
shouldUseCredentialStorageFunc member.
(CallResourceLoadDelegateReturningBoolean): Added.
* WebView/WebViewInternal.h:
* WebView/WebResourceLoadDelegatePrivate.h: Declared the delegate method
-webView:resource:shouldUseCredentialStorageForDataSource:.
2008-12-18 Cameron Zwarich <zwarich@apple.com>
Reviewed by Jonathan Honeycutt.
Fix an apparent typo in r39385 that is causing lots of crashes.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout):
2008-12-18 Brady Eidson <beidson@apple.com>
Reviewed by John Sullivan
Initial visit to a website creates history items that start with a visit count of
zero instead of one
* History/WebHistory.mm:
(-[WebHistoryPrivate visitedURL:withTitle:]): Set the visit count on new items
* History/WebHistoryItem.mm:
(-[WebHistoryItem _setVisitCount:]): Call through to the WebCore item
* History/WebHistoryItemInternal.h:
2008-12-18 Sam Weinig <sam@webkit.org>
Reviewed by John Sullivan.
Implement FrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout() by calling
a new private frame load delegate method.
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout):
* WebView/WebView.mm:
(-[WebView _cacheFrameLoadDelegateImplementations]):
* WebView/WebViewInternal.h:
* WebView/WebViewPrivate.h:
2008-12-16 Antti Koivisto <antti@apple.com>
Reviewed by John Sullivan.
Add version check for shift-reload behavior.
* Misc/WebKitVersionChecks.h:
* WebView/WebFrame.mm:
(-[WebFrame reload]):
2008-12-16 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
Start sending keyboard events to the plug-in host.
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::keyEvent):
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView keyDown:]):
(-[WebHostedNetscapePluginView keyUp:]):
* Plugins/Hosted/WebKitPluginHost.defs:
2008-12-16 Anders Carlsson <andersca@apple.com>
Reviewed by Kevin Decker.
<rdar://problem/6450538>
Fix flag enumeration.
* Plugins/Hosted/WebKitPluginHostTypes.h:
2008-12-16 Anders Carlsson <andersca@apple.com>
Reviewed by Kevin Decker.
Instead of passing a gazillion booleans to WKPCLoadURL, pass a single set of flags.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCLoadURL):
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::loadURL):
* Plugins/Hosted/WebKitPluginClient.defs:
* Plugins/Hosted/WebKitPluginHostTypes.h:
2008-12-16 Anders Carlsson <andersca@apple.com>
Reviewed by Kevin Decker.
Add trailing null to headers to avoid a crash in the plug-in host.
* Plugins/Hosted/HostedNetscapePluginStream.mm:
(WebKit::HostedNetscapePluginStream::didReceiveResponse):
2008-12-15 Mark Rowe <mrowe@apple.com>
Rubber-stamped by Cameron Zwarich.
<rdar://problem/6289933> Change WebKit-related projects to build with GCC 4.2 on Leopard.
* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
2008-12-15 Stephanie Lewis <slewis@apple.com>
Fix build.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2008-12-15 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Change InstantiatePlugin to be asynchronous so we won't deadlock if the plug-in tries to call
back into us while it's being instantiated.
* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::instantiatePlugin):
* Plugins/Hosted/NetscapePluginHostProxy.h:
(WebKit::NetscapePluginHostProxy::clientPort):
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCInstantiatePluginReply):
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
(WebKit::NetscapePluginInstanceProxy::Reply::):
(WebKit::NetscapePluginInstanceProxy::Reply::Reply):
(WebKit::NetscapePluginInstanceProxy::Reply::~Reply):
(WebKit::NetscapePluginInstanceProxy::InstantiatePluginReply::InstantiatePluginReply):
(WebKit::NetscapePluginInstanceProxy::setCurrentReply):
(WebKit::NetscapePluginInstanceProxy::waitForReply):
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
(WebKit::NetscapePluginInstanceProxy::processRequestsAndWaitForReply):
* Plugins/Hosted/WebKitPluginClient.defs:
* Plugins/Hosted/WebKitPluginHost.defs:
2008-12-15 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
Let WebKit generate a plug-in ID instead of having the plug-in host do it.
* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::instantiatePlugin):
Create the plug-in proxy before instantiating the plug-in.
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
(WebKit::NetscapePluginInstanceProxy::create):
(WebKit::NetscapePluginInstanceProxy::setRenderContextID):
(WebKit::NetscapePluginInstanceProxy::setUseSoftwareRenderer):
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
* Plugins/Hosted/WebKitPluginHost.defs:
2008-12-15 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
LoadURL doesn't need to be asynchronous.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCLoadURL):
* Plugins/Hosted/WebKitPluginClient.defs:
* Plugins/Hosted/WebKitPluginHost.defs:
2008-12-15 Antti Koivisto <antti@apple.com>
Reviewed by Darin Adler.
- Add [WebFrame reloadFromOrigin] for performing end-to-end reload.
- Add corresponding IBAction to WebView.
- Temporarily make [WebFrame reload] trigger end-to-end reload if shift modifier is pressed when it is called.
* WebView/WebFrame.h:
* WebView/WebFrame.mm:
(-[WebFrame reload]):
(-[WebFrame reloadFromOrigin]):
* WebView/WebFramePrivate.h: Match the FrameLoadType enum in WebCore.
* WebView/WebView.h:
* WebView/WebView.mm:
(-[WebView reloadFromOrigin:]):
2008-12-14 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
- fix <rdar://problem/3258561> WebHistoryAllItemsRemovedNotification
should add items to userInfo
* History/WebHistory.mm:
(-[WebHistoryPrivate allItems]): Added this helper method, which returns
all values in the _entriesByURL dictionary.
(-[WebHistory removeAllItems]): Changed to send the array of all items
in the notification.
2008-12-13 Darin Adler <darin@apple.com>
- <rdar://problem/6441035> WebTextIterator class not exported in WebKit
* WebKit.exp: Added the class. We forgot to export it when we added
the WebTextIterator SPI.
2008-12-12 Darin Adler <darin@apple.com>
Rubber stamped by Adam Roben.
- fix <rdar://problem/5648301> Can't tab around to text fields in Safari
login sheet after clicking static text, due to AppKit key loop change
* Panels/English.lproj/WebAuthenticationPanel.nib/classes.nib: Removed.
* Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib: Added.
* Panels/English.lproj/WebAuthenticationPanel.nib/info.nib: Removed.
* Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib:
Set nextKeyView of the selectable static texts to the editable text.
Updated nib format.
2008-12-12 Stephanie Lewis <slewis@apple.com>
Reviewed by Geoff Garen.
Shrink Cache Sizes.
* WebView/WebView.mm:
(+[WebView _setCacheModel:]):
2008-12-12 Anders Carlsson <andersca@apple.com>
Reviewed by Tim Hatcher.
Don't try to free the dummy "1" port state.
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView sendEvent:isDrawRect:]):
(-[WebNetscapePluginView updateAndSetWindow]):
2008-12-11 Cameron Zwarich <zwarich@apple.com>
Rubber-stamped by Mark Rowe.
Roll out r39212 due to assertion failures during layout tests, multiple
layout test failures, memory leaks, and obvious incorrectness.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(-[WebPreferences fullDocumentTeardownEnabled]):
* WebView/WebPreferencesPrivate.h:
2008-12-11 Stephanie Lewis <slewis@apple.com>
Fix build.
* WebView/WebView.mm:
2008-12-11 Stephanie Lewis <slewis@apple.com>
Reviewed by Oliver Hunt.
Empty Web cache before quitting a debug build in order
to report accurate CachedResource leaks.
* WebView/WebView.mm:
(-[WebView _close]):
2008-12-11 Anders Carlsson <andersca@apple.com>
Fix Tiger build.
* Misc/WebNSDataExtras.h:
2008-12-11 Anders Carlsson <andersca@apple.com>
Reviewed by Cameron Zwarich.
https://bugs.webkit.org/show_bug.cgi?id=22797
REGRESSION: Crash at http://news.cnet.com/8301-17939_109-10119149-2.html
Make sure to protect the stream because destroyStream can otherwise cause it to be deleted.
* Plugins/WebBaseNetscapePluginStream.mm:
(WebNetscapePluginStream::destroyStreamWithReason):
2008-12-10 Glenn Wilson <gwilson@google.com>
Reviewed by Adam Roben.
Added new methods for overriding default WebPreference values
and for resetting preferences to their defaults.
https://bugs.webkit.org/show_bug.cgi?id=20534
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(-[WebPreferences resetToDefaults]): new method
(-[WebPreferences overridePreference:flag:]): new method
* WebView/WebPreferencesPrivate.h: new method signatures
2008-12-10 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
Implement support for NPN_PostURL/NPN_PostURLNotify in WebKit.
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
Add stopAllStreams.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::stopAllStreams):
Factored out this from ::destroy.
(WebKit::NetscapePluginInstanceProxy::destroy):
Call stopAllStreams().
(WebKit::NetscapePluginInstanceProxy::pluginHostDied):
Ditto.
(WebKit::NetscapePluginInstanceProxy::loadURL):
Handle post being true. This code has been copied from WebNetscapePluginView.mm (for now).
2008-12-10 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
Move two NSData category methods to WebNSDataExtras.m.
* Misc/WebNSDataExtras.h:
* Misc/WebNSDataExtras.m:
(-[NSData _web_startsWithBlankLine]):
(-[NSData _web_locationAfterFirstBlankLine]):
* Plugins/WebNetscapePluginView.mm:
2008-12-10 Alice Liu <alice.liu@apple.com>
fixed https://bugs.webkit.org/show_bug.cgi?id=20685
Reviewed by Darin Adler.
* Misc/WebNSPasteboardExtras.mm:
Ask image for its file extension instead of falling back on MIME type and file path.
Also moved this code to before setting the pasteboard data so as not to set any if
no extension can be determined.
(-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):
* WebView/WebHTMLView.mm:
Fixed a separate but related long-standing bug of how the filename for the promised
drag data is determined by asking the image for a proper file extension.
(-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
2008-12-09 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
Fix typecast.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]):
2008-12-09 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
Implement software rendering of hosted plug-ins.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCInvalidateRect):
New MiG function. This is called by the plug-in host when it has drawn something.
* Plugins/Hosted/WebHostedNetscapePluginView.h:
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView createPlugin]):
Create a software renderer.
(-[WebHostedNetscapePluginView destroyPlugin]):
Destroy the software renderer.
(-[WebHostedNetscapePluginView drawRect:]):
Draw using the software renderer.
* Plugins/Hosted/WebKitPluginClient.defs:
Add InvalidateRect.
2008-12-09 Brett Wilson <brettw@chromium.org>
Reviewed by Dave Hyatt.
https://bugs.webkit.org/show_bug.cgi?id=22177
Add a callback on ChromeClient that the state of form elements on
the page has changed. This is to allow clients implementing session
saving to know when the current state is dirty.
* WebCoreSupport/WebChromeClient.h:
(WebChromeClient::formStateDidChange):
2008-12-09 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
Make sure to pause null events for hosted plug-ins as well.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]):
2008-12-09 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
* Plugins/Hosted/NetscapePluginHostProxy.h:
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
(WebKit::NetscapePluginHostProxy::~NetscapePluginHostProxy):
Unfortunately we can't use a libdispatch source right now, because of <rdar://problem/6393180>.
2008-12-09 Timothy Hatcher <timothy@apple.com>
Implement a few methods needed to keep Dictionary.app working on Leopard.
<rdar://problem/6002160> Internal changes to WebKit in Safari 4
Developer Preview might break Dictionary
Reviewed by Dan Bernstein.
* WebView/WebFrame.mm:
(-[WebFrame convertNSRangeToDOMRange:]): Added. Calls _convertNSRangeToDOMRange.
(-[WebFrame convertDOMRangeToNSRange:]): Added. Calls _convertDOMRangeToNSRange.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _bridge]): Added. Returns the WebFrame, which has the methods
that Dictionary.app is using.
2008-12-08 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
More work towards getting NPN_GetURL working.
* Plugins/Hosted/HostedNetscapePluginStream.h:
Inherit from NetscapePlugInStreamLoaderClient.
(WebKit::HostedNetscapePluginStream::streamID):
* Plugins/Hosted/HostedNetscapePluginStream.mm:
(WebKit::HostedNetscapePluginStream::startStream):
Keep track of the resposne URL and the MIME type. Pass the response URL to the
plug-in host.
(WebKit::HostedNetscapePluginStream::didFinishLoading):
Disconnect the stream.
(WebKit::HostedNetscapePluginStream::start):
Create a plug-in stream loader and start loading.
(WebKit::HostedNetscapePluginStream::stop):
Cancel the load.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCLoadURL):
Fix the parameter order.
(WKPCCancelLoadURL):
New function that cancels a load of a stream with a given reason.
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::destroy):
Stop the streams.
(WebKit::NetscapePluginInstanceProxy::pluginStream):
Return a plug-in stream given a stream ID.
(WebKit::NetscapePluginInstanceProxy::disconnectStream):
Remove the stream from the streams map.
(WebKit::NetscapePluginInstanceProxy::loadRequest):
Create a stream and load it.
* Plugins/Hosted/WebKitPluginClient.defs:
Add CancelLoadURL.
* Plugins/Hosted/WebKitPluginHost.defs:
Add responseURL to StartStream.
* Plugins/WebBaseNetscapePluginView.h:
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView pluginPackage]):
Move this down to the base class from WebNetscapePluginView.
* Plugins/WebNetscapePluginView.h:
* Plugins/WebNetscapePluginView.mm:
2008-12-08 Dan Bernstein <mitz@apple.com>
Reviewed by John Sullivan.
- WebKit/mac part of tracking the global history item for a WebView
* WebView/WebView.mm:
(-[WebView _globalHistoryItem]): Added. Returns the page's global
history item.
* WebView/WebViewPrivate.h:
2008-12-06 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dave Hyatt
https://bugs.webkit.org/show_bug.cgi?id=15671
VisiblePosition::caretRect() was renaemd to absoluteCaretBounds().
* WebView/WebFrame.mm:
(-[WebFrame _caretRectAtNode:offset:affinity:]):
2008-12-06 David Kilzer <ddkilzer@apple.com>
Bug 22666: Clean up data structures used when collecting URLs of subresources for webarchives
<https://bugs.webkit.org/show_bug.cgi?id=22666>
Reviewed by Darin Adler.
* DOM/WebDOMOperations.mm:
(-[DOMNode _subresourceURLs]): Changed from using Vector<KURL> to
ListHashSet<KURL> when calling WebCore::Node::getSubresourceURLs().
2008-12-05 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin Adler.
<rdar://problem/6405599> Tiger Mail crashes when using "Mail Contents of This Page"
in Safari before opening a mail message in Mail
* Carbon/CarbonWindowAdapter.m: Removed.
* Carbon/CarbonWindowAdapter.mm: Copied from WebKit/mac/Carbon/CarbonWindowAdapter.m.
(+[CarbonWindowAdapter initialize]):
* History/WebBackForwardList.mm:
(+[WebBackForwardList initialize]):
* History/WebHistoryItem.mm:
(+[WebHistoryItem initialize]):
* Misc/WebElementDictionary.mm:
(+[WebElementDictionary initialize]):
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(+[WebHostedNetscapePluginView initialize]):
* Plugins/WebBaseNetscapePluginView.mm:
* Plugins/WebBasePluginPackage.m: Removed.
* Plugins/WebBasePluginPackage.mm: Copied from WebKit/mac/Plugins/WebBasePluginPackage.m.
(+[WebBasePluginPackage initialize]):
* Plugins/WebNetscapePluginView.mm:
(+[WebNetscapePluginView initialize]):
* WebCoreSupport/WebEditorClient.mm:
(+[WebEditCommand initialize]):
* WebCoreSupport/WebFrameLoaderClient.mm:
* WebView/WebArchive.mm:
(+[WebArchivePrivate initialize]):
* WebView/WebDataSource.mm:
(+[WebDataSourcePrivate initialize]):
* WebView/WebHTMLView.mm:
(+[WebHTMLViewPrivate initialize]):
(+[WebHTMLView initialize]):
* WebView/WebResource.mm:
(+[WebResourcePrivate initialize]):
* WebView/WebView.mm:
(+[WebViewPrivate initialize]):
Call JSC::initializeThreading();
2008-12-04 Stephanie Lewis <slewis@apple.com>
Fix build.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCLoadURL):
2008-12-04 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
More work on streams.
* Plugins/Hosted/HostedNetscapePluginStream.h: Added.
(WebKit::HostedNetscapePluginStream::create):
* Plugins/Hosted/HostedNetscapePluginStream.mm: Added.
(WebKit::HostedNetscapePluginStream::HostedNetscapePluginStream):
(WebKit::HostedNetscapePluginStream::startStreamWithResponse):
(WebKit::HostedNetscapePluginStream::startStream):
(WebKit::HostedNetscapePluginStream::didReceiveData):
(WebKit::HostedNetscapePluginStream::didFinishLoading):
(WebKit::HostedNetscapePluginStream::didReceiveResponse):
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
(WebKit::NetscapePluginInstanceProxy::pluginView):
(WebKit::NetscapePluginInstanceProxy::hostProxy):
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::PluginRequest::PluginRequest):
(WebKit::NetscapePluginInstanceProxy::PluginRequest::requestID):
(WebKit::NetscapePluginInstanceProxy::PluginRequest::request):
(WebKit::NetscapePluginInstanceProxy::PluginRequest::frameName):
(WebKit::NetscapePluginInstanceProxy::PluginRequest::didStartFromUserGesture):
(WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
(WebKit::NetscapePluginInstanceProxy::performRequest):
(WebKit::NetscapePluginInstanceProxy::evaluateJavaScript):
(WebKit::NetscapePluginInstanceProxy::requestTimerFired):
(WebKit::NetscapePluginInstanceProxy::loadRequest):
* Plugins/Hosted/WebKitPluginHost.defs:
2008-12-04 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Start implementing WKPCLoadURL. Currently this has copied a lot of code from WebNetscapePluginView
but once we have a more complete implementation of NPStreams we can start refactoring things so that the
implementations can share more code.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCLoadURL):
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
(WebKit::NetscapePluginInstanceProxy::loadURL):
(WebKit::NetscapePluginInstanceProxy::performRequest):
(WebKit::NetscapePluginInstanceProxy::requestTimerFired):
(WebKit::NetscapePluginInstanceProxy::loadRequest):
* Plugins/Hosted/WebKitPluginClient.defs:
* Plugins/Hosted/WebKitPluginHost.defs:
2008-12-04 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
Move requestWithURLCString to WebBaseNetscapePluginView.
* Plugins/WebBaseNetscapePluginView.h:
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView requestWithURLCString:]):
* Plugins/WebNetscapePluginView.mm:
2008-12-03 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Move WebPluginRequest to its own file.
* Plugins/WebNetscapePluginView.mm:
* Plugins/WebPluginRequest.h: Added.
* Plugins/WebPluginRequest.m: Added.
(-[WebPluginRequest initWithRequest:frameName:notifyData:sendNotification:didStartFromUserGesture:]):
(-[WebPluginRequest dealloc]):
(-[WebPluginRequest request]):
(-[WebPluginRequest frameName]):
(-[WebPluginRequest isCurrentEventUserGesture]):
(-[WebPluginRequest sendNotification]):
(-[WebPluginRequest notifyData]):
2008-12-03 Anders Carlsson <andersca@apple.com>
Handle the CA model.
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView setWindowIfNecessary]):
2008-12-03 Anders Carlsson <andersca@apple.com>
Reviewed by Kevin Decker.
<rdar://problem/6412293>
Call NPP_SetWindow for CA plug-ins.
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):
(-[WebNetscapePluginView restorePortState:]):
(-[WebNetscapePluginView isNewWindowEqualToOldWindow]):
(-[WebNetscapePluginView updateAndSetWindow]):
(-[WebNetscapePluginView setWindowIfNecessary]):
2008-12-03 Anders Carlsson <andersca@apple.com>
Fix the release build.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WebKit::NetscapePluginHostProxy::deadNameNotificationCallback):
2008-12-03 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
<rdar://problem/6412234>
Don't crash if we can't launch the plug-in host.
* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::instantiatePlugin):
2008-12-02 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
Start processing messages sent to the client port.
* Plugins/Hosted/NetscapePluginHostProxy.h:
* Plugins/Hosted/NetscapePluginHostProxy.mm:
Add a map from ports to plug-in proxies. Turn the set of instances into a map from
pluginID to instance proxy.
(WKPCStatusText):
Look up the right instance proxy and call status().
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
(WebKit::NetscapePluginInstanceProxy::pluginID):
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::status):
Implement this.
* Plugins/Hosted/WebKitPluginClient.defs:
Add the plug-in ID to StatusText.
2008-12-02 Gregory Hughes <ghughes@apple.com>
Reviewed by Beth Dakin.
Bug 22513: ZOOM: text selection does not send correct zoom bounds
When zoomed, text selection must send the zoom bounds in flipped
screen coordinates.
* WebCoreSupport/WebViewFactory.mm:
(-[WebViewFactory accessibilityConvertScreenRect:]):
2008-12-02 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
Create a client mach port and pass it to the plug-in host.
* Plugins/Hosted/NetscapePluginHostManager.h:
* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::hostForPackage):
(WebKit::NetscapePluginHostManager::spawnPluginHost):
* Plugins/Hosted/NetscapePluginHostProxy.h:
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
* Plugins/Hosted/WebKitPluginHost.defs:
2008-12-02 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Let the plug-in views know if the plug-in host crashes.
* Plugins/Hosted/NetscapePluginHostManager.h:
* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::instantiatePlugin):
* Plugins/Hosted/NetscapePluginHostProxy.h:
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WebKit::NetscapePluginHostProxy::pluginHostDied):
(WebKit::NetscapePluginHostProxy::addPluginInstance):
(WebKit::NetscapePluginHostProxy::removePluginInstance):
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
(WebKit::NetscapePluginInstanceProxy::create):
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
Keep a pointer to the host proxy.
(WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
Add the instance to the host set.
(WebKit::NetscapePluginInstanceProxy::~NetscapePluginInstanceProxy):
Remove the instance form the host set.
(WebKit::NetscapePluginInstanceProxy::pluginHostDied):
Tell the plug-in view that the plug-in died.
* Plugins/Hosted/WebHostedNetscapePluginView.h:
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView createPlugin]):
Pass the plug-in view to the instantiatePlugin.
(-[WebHostedNetscapePluginView pluginHostDied]):
Handle the plug-in host crashing.
(-[WebHostedNetscapePluginView drawRect:]):
Fill the plug-in view with a nice red shade if the plug-in crashes.
2008-12-01 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
Recover if the plug-in host dies and we try to instantiate another plugin before we get the port death notification
* Plugins/Hosted/NetscapePluginHostManager.h:
* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::pluginHostDied):
Remove the plug-in host from the map.
(WebKit::NetscapePluginHostManager::instantiatePlugin):
NetscapePluginHostProxy is no longer refcounted.
* Plugins/Hosted/NetscapePluginHostProxy.h:
This is no longer refcounted. Add a set of plug-in instances (unused for now).
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
Create a death notification port.
(WebKit::NetscapePluginHostProxy::pluginHostDied):
Tell the manager that we're gone and delete ourselves.
(WebKit::NetscapePluginHostProxy::deathPortCallback):
New CFMachPort callback.
2008-12-01 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
Move instantiatePlugin to NetscapePluginHostManager.
* Plugins/Hosted/NetscapePluginHostManager.h:
* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::instantiatePlugin):
* Plugins/Hosted/NetscapePluginHostProxy.h:
* Plugins/Hosted/NetscapePluginHostProxy.mm:
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView createPlugin]):
2008-12-01 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
Pass the plug-in host port directly to the instance proxy.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WebKit::NetscapePluginHostProxy::instantiatePlugin):
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
(WebKit::NetscapePluginInstanceProxy::create):
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
(WebKit::NetscapePluginInstanceProxy::resize):
(WebKit::NetscapePluginInstanceProxy::destroy):
(WebKit::NetscapePluginInstanceProxy::focusChanged):
(WebKit::NetscapePluginInstanceProxy::windowFocusChanged):
(WebKit::NetscapePluginInstanceProxy::windowFrameChanged):
(WebKit::NetscapePluginInstanceProxy::startTimers):
(WebKit::NetscapePluginInstanceProxy::mouseEvent):
(WebKit::NetscapePluginInstanceProxy::stopTimers):
2008-12-01 Anders Carlsson <andersca@apple.com>
Try to fix the Tiger build.
* Plugins/WebNetscapePluginView.mm:
2008-12-01 Anders Carlsson <andersca@apple.com>
Rename _layer to _pluginLayer where I forgot to do so.
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView destroyPlugin]):
* Plugins/WebNetscapePluginView.h:
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView createPlugin]):
(-[WebNetscapePluginView setLayer:]):
(-[WebNetscapePluginView destroyPlugin]):
2008-12-01 Anders Carlsson <andersca@apple.com>
Reviewed by Adam Roben.
Make sure to re-insert layers as needed so they won't be lost when the layer backed
view is removed from the view hierarchy.
* Plugins/Hosted/WebHostedNetscapePluginView.h:
Add _pluginLayer ivar.
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView createPlugin]):
Don't add the layer here.
(-[WebHostedNetscapePluginView setLayer:]):
Instead, add it here.
(-[WebHostedNetscapePluginView destroyPlugin]):
Set _pluginLayer to 0.
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView createPlugin]):
Don't add the layer here.
(-[WebNetscapePluginView setLayer:]):
Do it here.
2008-11-30 Antti Koivisto <antti@apple.com>
Reviewed by Mark Rowe.
https://bugs.webkit.org/show_bug.cgi?id=22557
Report free size in central and thread caches too.
* Misc/WebCoreStatistics.mm:
(+[WebCoreStatistics memoryStatistics]):
2008-11-29 Antti Koivisto <antti@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=22557
Add statistics for JavaScript GC heap.
* Misc/WebCoreStatistics.mm:
(+[WebCoreStatistics javaScriptObjectsCount]):
(+[WebCoreStatistics memoryStatistics]):
2008-11-29 Antti Koivisto <antti@apple.com>
Reviewed by Alexey Proskuryakov.
https://bugs.webkit.org/show_bug.cgi?id=22557
- Add purgeable memory statistics to cache statistics.
- Add method for getting fastMalloc statistics.
- Add method to force returning free memory back to system.
* Misc/WebCache.mm:
(+[WebCache statistics]):
* Misc/WebCoreStatistics.h:
* Misc/WebCoreStatistics.mm:
(+[WebCoreStatistics stopIgnoringWebCoreNodeLeaks]):
(+[WebCoreStatistics memoryStatistics]):
(+[WebCoreStatistics returnFreeMemoryToSystem]):
2008-11-26 Mark Rowe <mrowe@apple.com>
Fix the Tiger build.
mig.h does not always define __MigTypeCheck on Tiger, which leads to problems when the generated
code is built with -Wundef.
* Plugins/Hosted/WebKitPluginHostTypes.h:
2008-11-26 Anders Carlsson <andersca@apple.com>
Fix build.
* Configurations/Base.xcconfig:
2008-11-26 Anders Carlsson <andersca@apple.com>
Reviewed by Mark Rowe.
Move WebHostedNetscapePluginView.{h|mm} to Plugins/Hosted.
(-[WebHostedNetscapePluginView handleMouseMoved:]):
(-[WebHostedNetscapePluginView setAttributeKeys:andValues:]):
Fix a leak.
(-[WebHostedNetscapePluginView createPlugin]):
Instantiate the plug-in, store the plug-in proxy in the _proxy ivar.
(-[WebHostedNetscapePluginView loadStream]):
(-[WebHostedNetscapePluginView shouldStop]):
Add stubs for these.
(-[WebHostedNetscapePluginView updateAndSetWindow]):
(-[WebHostedNetscapePluginView windowFocusChanged:]):
(-[WebHostedNetscapePluginView destroyPlugin]):
(-[WebHostedNetscapePluginView startTimers]):
(-[WebHostedNetscapePluginView stopTimers]):
(-[WebHostedNetscapePluginView focusChanged]):
(-[WebHostedNetscapePluginView windowFrameDidChange:]):
(-[WebHostedNetscapePluginView mouseDown:]):
(-[WebHostedNetscapePluginView mouseUp:]):
(-[WebHostedNetscapePluginView mouseDragged:]):
(-[WebHostedNetscapePluginView mouseEntered:]):
(-[WebHostedNetscapePluginView mouseExited:]):
Call the proxy.
(-[WebHostedNetscapePluginView addWindowObservers]):
(-[WebHostedNetscapePluginView removeWindowObservers]):
Add/remove observers for when the window frame changes.
* Plugins/WebHostedNetscapePluginView.h: Removed.
* Plugins/WebHostedNetscapePluginView.mm: Removed.
2008-11-26 Anders Carlsson <andersca@apple.com>
Reviewed by Mark Rowe.
Add the plug-in host proxy and plug-in instance proxy objects.
These are just simple objects that forward their calls to the plug-in host.
* Plugins/Hosted/NetscapePluginHostProxy.h: Added.
(WebKit::NetscapePluginHostProxy::create):
(WebKit::NetscapePluginHostProxy::port):
* Plugins/Hosted/NetscapePluginHostProxy.mm: Added.
(WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
(WebKit::NetscapePluginHostProxy::instantiatePlugin):
* Plugins/Hosted/NetscapePluginInstanceProxy.h: Added.
(WebKit::NetscapePluginInstanceProxy::create):
(WebKit::NetscapePluginInstanceProxy::renderContextID):
(WebKit::NetscapePluginInstanceProxy::useSoftwareRenderer):
* Plugins/Hosted/NetscapePluginInstanceProxy.mm: Added.
(WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
(WebKit::NetscapePluginInstanceProxy::resize):
(WebKit::NetscapePluginInstanceProxy::destroy):
(WebKit::NetscapePluginInstanceProxy::focusChanged):
(WebKit::NetscapePluginInstanceProxy::windowFocusChanged):
(WebKit::NetscapePluginInstanceProxy::windowFrameChanged):
(WebKit::NetscapePluginInstanceProxy::startTimers):
(WebKit::NetscapePluginInstanceProxy::mouseEvent):
(WebKit::NetscapePluginInstanceProxy::stopTimers):
2008-11-26 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein, Mark Rowe and Kevin Decker.
Add the plug-in host manager singleton.
* Plugins/Hosted/NetscapePluginHostManager.h: Added.
* Plugins/Hosted/NetscapePluginHostManager.mm: Added.
(WebKit::NetscapePluginHostManager::hostForPackage):
If there's an existing host proxy available, just return it. Otherwise spawn a new plug-in host and
create a new plug-in host proxy from the new plug-in host port.
(WebKit::NetscapePluginHostManager::spawnPluginHost):
Pass the plug-in host path and the preferred CPU type to the plug-in agent. When the plug-in host has
finished launching, pass it the path to the plug-in bundle.
(WebKit::NetscapePluginHostManager::initializeVendorPort):
Check in with the plug-in agent and get the new plug-in vendor port back.
2008-11-26 Anders Carlsson <andersca@apple.com>
Reviewed by Mark Rowe.
* Plugins/Hosted/WebKitPluginHostTypes.h:
Add copyright headers and fix the spacing around the *'s.
2008-11-26 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
* Plugins/Hosted/WebKitPluginHost.defs:
Add copyright headers.
* Plugins/Hosted/WebKitPluginHostTypes.h: Added.
Forgot to add this.
2008-11-26 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
Add plug-in host .defs.
* Plugins/Hosted/WebKitPluginAgent.defs: Added.
* Plugins/Hosted/WebKitPluginAgentReply.defs: Added.
* Plugins/Hosted/WebKitPluginClient.defs: Added.
* Plugins/Hosted/WebKitPluginHost.defs: Added.
* Plugins/Hosted/WebKitPluginHostTypes.defs: Added.
2008-11-26 Anders Carlsson <andersca@apple.com>
Reviewed by Mark Rowe and Kevin Decker.
Minor plug-in changes.
* Plugins/WebBaseNetscapePluginView.h:
Add add/remove observer method declarations.
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView isFlipped]):
Move this down from WebNetscapePluginView.
* Plugins/WebNetscapePluginPackage.h:
* Plugins/WebNetscapePluginPackage.m:
(-[WebNetscapePluginPackage pluginHostArchitecture]):
Getter for the plug-in host architecture.
* Plugins/WebNetscapePluginView.mm:
2008-11-25 Dan Bernstein <mitz@apple.com>
Reviewed by Mark Rowe.
- include the text direction submenu in context menus when appropriate
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]): Changed the default
textDirectionSubmenuInclusionBehavior to "automatically", which includes
the menu when the selection is confined to a single paragraph the either
has right-to-left base writing direction or contains right-to-left or
embedded text. Left the default for Tiger and Leopard to be "never".
2008-11-24 Darin Fisher <darin@chromium.org>
Fix bustage.
* History/WebHistory.mm:
2008-11-24 Glenn Wilson <gwilson@chromium.org>
Reviewed by Alexey Proskuryakov.
http://bugs.webkit.org/show_bug.cgi?id=15643
Added API support for the "trailing whitespace" work-around. This includes an APIs
to get and set the state of this configuration variable.
* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::selectTrailingWhitespaceEnabled):
* WebView/WebView.mm:
(-[WebView setSelectTrailingWhitespaceEnabled:]):
(-[WebView isSelectTrailingWhitespaceEnabled]):
(-[WebView setSmartInsertDeleteEnabled:]):
* WebView/WebViewPrivate.h:
2008-11-24 Darin Adler <darin@apple.com>
Reviewed by Dan Bernstein.
- https://bugs.webkit.org/show_bug.cgi?id=22470
remove unneeded URL argument from FrameLoaderClient::updateGlobalHistory
* WebCoreSupport/WebFrameLoaderClient.h: Remove argument.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::updateGlobalHistory): Get the URL from the
DocumentLoader, just as we do the title and the failure flag.
2008-11-24 Darin Adler <darin@apple.com>
Reviewed by Dan Bernstein.
- finish https://bugs.webkit.org/show_bug.cgi?id=22295
track which history items are from page load failures
Last time around I did this only for the back/forward list and missed the
global history list.
* History/WebHistory.mm:
(-[WebHistory _visitedURL:withTitle:wasFailure:]): Added wasFailure argument.
Set the flag on the newly created history item. Also eliminated the use of
autorelease on the added-items array.
* History/WebHistoryInternal.h: Ditto.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::updateGlobalHistory): Added code to check for failure
and pass the argument in to WebHistory. Given that this function gets other
data from the DocumentLoader, I think we should get rid of the KURL argument,
but that's a separate issue so I don't do it in this patch.
2008-11-24 Simon Fraser <simon.fraser@apple.com>
Fix call to Frame::selectionBounds in Tiger build.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _lookUpInDictionaryFromMenu:]):
2008-11-24 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein
Via: https://bugs.webkit.org/show_bug.cgi?id=22433
Rename RenderView::selectionRect() to selectionBounds(), to remove
longstanding ambiguity with the base class selectionRect() method.
Do the same on Frame for consistency with RenderView.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _lookUpInDictionaryFromMenu:]):
(-[WebHTMLView selectionRect]):
(-[WebHTMLView selectionImageRect]):
2008-11-20 Pierre-Olivier Latour <pol@apple.com>
Reviewed by Dan Bernstein.
WebKit should be using Device RGB colorspace everywhere for
consistency.
https://bugs.webkit.org/show_bug.cgi?id=22300
* WebView/WebHTMLView.mm:
(-[WebHTMLView _dragImageForURL:withLabel:]):
(-[WebHTMLView _colorAsString:]):
2008-11-20 Darin Adler <darin@apple.com>
Earlier version reviewed by Justin Garcia.
- part of fix for <rdar://problem/4108572> REGRESSION: Can't extend selection with shift-arrow in read only mode
Also resolves <rdar://problem/5000134>.
* WebView/WebHTMLView.mm: Removed some unused code, and made the Tiger workaround for bug 3789278
be Tiger-only.
(-[WebHTMLView resignFirstResponder]): Removed code setting unused resigningFirstResponder flag.
(-[WebHTMLView _wantsKeyDownForEvent:]): Added. Returns YES.
(-[WebHTMLView insertText:]): Don't try to insert text if the selection is not editable. We used
to prevent even processing the input, but that's not practical since some commands need to work
even in non-editable regions.
2008-11-20 Anders Carlsson <andersca@apple.com>
Reviewed by Jon Honeycutt.
Move some frame/page checking code down to the base class.
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView start]):
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView _createPlugin]):
2008-11-19 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
Test: plugins/netscape-plugin-setwindow-size-2.html
Fix bug where NPP_SetWindow wasn't getting called for some plug-ins.
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView updateAndSetWindow]):
Don't bail if the drawing model is not the CA drawing model. Remove some code
that was doing the wrong thing.
2008-11-19 Darin Fisher <darin@chromium.org>
Reviewed by Geoff Garen.
https://bugs.webkit.org/show_bug.cgi?id=22345
Define ScriptValue as a thin container for a JSC::Value*.
* WebView/WebFrame.mm:
(-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
* WebView/WebView.mm:
(-[WebView aeDescByEvaluatingJavaScriptFromString:]):
2008-11-19 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
<rdar://problem/6383762> WebKit r38340 crash on key press in plugin
Set the value to 0 before calling NPP_GetValue, in case the plug-in returns NPERR_NO_ERROR but does not
update the value.
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView createPlugin]):
2008-11-19 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Make sure to copy the MIME type.
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
2008-11-19 Geoffrey Garen <ggaren@apple.com>
Reviewed by Darin Adler.
First step toward fixing <rdar://problem/6263293> WebScriptDebugDelegate
should use intptr_t for sourceId, not int
Added a conditional typedef (currently disabled) to switch sourceId to
intptr_t in non-Tiger, non-Leopard builds.
* DefaultDelegates/WebDefaultScriptDebugDelegate.m:
(-[WebDefaultScriptDebugDelegate webView:didParseSource:fromURL:sourceId:forWebFrame:]):
(-[WebDefaultScriptDebugDelegate webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:]):
(-[WebDefaultScriptDebugDelegate webView:didEnterCallFrame:sourceId:line:forWebFrame:]):
(-[WebDefaultScriptDebugDelegate webView:willExecuteStatement:sourceId:line:forWebFrame:]):
(-[WebDefaultScriptDebugDelegate webView:willLeaveCallFrame:sourceId:line:forWebFrame:]):
(-[WebDefaultScriptDebugDelegate webView:exceptionWasRaised:sourceId:line:forWebFrame:]):
* WebView/WebScriptDebugDelegate.h:
* WebView/WebScriptDebugger.mm:
(WebScriptDebugger::sourceParsed):
(WebScriptDebugger::callEvent):
(WebScriptDebugger::atStatement):
(WebScriptDebugger::returnEvent):
(WebScriptDebugger::exception):
2008-11-18 Dan Bernstein <mitz@apple.com>
Reviewed by Mark Rowe.
- fix https://bugs.webkit.org/show_bug.cgi?id=22331
<rdar://problem/6381657> REGRESSION: Contextual menu no longer has an "Inspect Element" item
* WebView/WebUIDelegatePrivate.h: Reorder new enum values after existing
ones.
2008-11-17 Beth Dakin <bdakin@apple.com>
Reviewed by Adele Peterson.
Fix for <rdar://problem/6373102> REGRESSION (r36919): In a new mail
message, the caret appears in message body by default
This fixes a regression caused by http://trac.webkit.org/changeset/36919.
That change was too sweeping; we do not want to
unconditionally set the page to be active, but we can be looser
than the original constraints. This patch set the window active if
the first responder is or is a descendant of the main frame's frame
view.
* WebView/WebView.mm:
(-[WebView _updateFocusedAndActiveStateForFrame:]):
2008-11-18 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=22337
Enable workers by default
* Configurations/WebKit.xcconfig: Define ENABLE_WORKERS (change from ENABLE_WORKER_THREADS,
which was accidentally committed before).
2008-11-17 Geoffrey Garen <ggaren@apple.com>
Not reviewed.
Try to fix Mac build.
* WebView/WebScriptDebugDelegate.mm:
2008-11-17 Pierre-Olivier Latour <pol@apple.com>
Reviewed by Sam Weinig.
Added SPI to allow pausing a running CSS transition or animation
at a given time for testing purposes.
https://bugs.webkit.org/show_bug.cgi?id=21261
* WebView/WebFrame.mm:
(-[WebFrame _pauseAnimation:onNode:atTime:]):
(-[WebFrame _pauseTransitionOfProperty:onNode:atTime:]):
* WebView/WebFramePrivate.h:
2008-11-17 Geoffrey Garen <ggaren@apple.com>
Reviewed by Sam Weinig.
Updated for JavaScriptCore renames.
* ForwardingHeaders/runtime/Completion.h: Copied from ForwardingHeaders/runtime/Interpreter.h.
* ForwardingHeaders/runtime/Interpreter.h: Removed.
* WebView/WebScriptDebugDelegate.mm:
2008-11-16 Greg Bolsinga <bolsinga@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=21810
Remove use of static C++ objects that are destroyed at exit time (destructors)
Use DEFINE_STATIC_LOCAL for static RetainPtr<T>
* Misc/WebNSPasteboardExtras.mm: Use DEFINE_STATIC_LOCAL
(+[NSPasteboard _web_writableTypesForURL]):
(_createWritableTypesForImageWithoutArchive): Created so accessor has one line initialization
(_writableTypesForImageWithoutArchive): Use create function for one line initialization
(_createWritableTypesForImageWithArchive): Created so accessor has one line initialization
(_writableTypesForImageWithArchive): Use create function for one line initialization
* WebCoreSupport/WebPasteboardHelper.mm: Use DEFINE_STATIC_LOCAL
(WebPasteboardHelper::insertablePasteboardTypes):
* WebView/WebHTMLRepresentation.mm: Use DEFINE_STATIC_LOCAL
(+[WebHTMLRepresentation supportedMIMETypes]):
(+[WebHTMLRepresentation supportedNonImageMIMETypes]):
(+[WebHTMLRepresentation supportedImageMIMETypes]):
2008-11-16 Darin Adler <darin@apple.com>
Reviewed by Dan Bernstein.
- https://bugs.webkit.org/show_bug.cgi?id=22295
track which history items are from page load failures
* History/WebHistoryItem.mm: Added lastVisitWasFailureKey.
(-[WebHistoryItem initFromDictionaryRepresentation:]): Set the lastVisitWasFailure
flag in the history item if the dictionary had lastVisitWasFailureKey true.
(-[WebHistoryItem dictionaryRepresentation]): Set the lastVisitWasFailureKey boolean
in the dictionary if the history item had the lastVisitWasFailure flag.
(-[WebHistoryItem lastVisitWasFailure]): Added.
* History/WebHistoryItemInternal.h: Moved include of WebBackForwardList here from
WebHistoryItemPrivate.h; removed other unneeded includes.
* History/WebHistoryItemPrivate.h: Added lastVisitWasFailure method.
Removed unneeded includes.
* Misc/WebNSDictionaryExtras.h: Added _webkit_boolForKey.
* Misc/WebNSDictionaryExtras.m:
(-[NSDictionary _webkit_boolForKey:]): Added.
2008-11-14 Greg Bolsinga <bolsinga@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=21810
Remove use of static C++ objects that are destroyed at exit time (destructors)
Create DEFINE_STATIC_LOCAL macro. Change static local objects to leak to avoid
exit-time destructor. Update code that was changed to fix this issue that ran
into a gcc bug (<rdar://problem/6354696> Codegen issue with C++ static reference
in gcc build 5465). Also typdefs for template types needed to be added in some
cases so the type could make it through the macro successfully.
Basically code of the form:
static T m;
becomes:
DEFINE_STATIC_LOCAL(T, m, ());
Also any code of the form:
static T& m = *new T;
also becomes:
DEFINE_STATIC_LOCAL(T, m, ());
* ForwardingHeaders/wtf/StdLibExtras.h: Added.
* History/WebBackForwardList.mm:
(backForwardLists):
* History/WebHistoryItem.mm:
(historyItemWrappers):
* Misc/WebStringTruncator.m:
(fontFromNSFont):
* Plugins/WebBaseNetscapePluginStream.mm:
(streams):
* WebView/WebView.mm:
(aeDescFromJSValue):
2008-11-14 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
- <rdar://problem/6234333> Implement action methods for setting and clearing character-level directionality
- part of <rdar://problem/6234337> Add a Text Direction menu to the default context menu when appropriate
* WebCoreSupport/WebViewFactory.mm:
(-[WebViewFactory contextMenuItemTagTextDirectionMenu]): Added.
* WebView/WebFrame.mm:
(core): Added a convertor from WebTextDirectionSubmenuInclusionBehavior
to WebCore::TextDirectionSubmenuInclusionBehavior.
* WebView/WebFrameInternal.h:
* WebView/WebHTMLView.mm:
Added makeTextWritingDirectionLeftToRight:,
makeTextWritingDirectionNatural: and
makeTextWritingDirectionRightToLeft: using the WEBCORE_COMMAND macro.
* WebView/WebPreferenceKeysPrivate.h:
Added WebKitTextDirectionSubmenuInclusionBehaviorPreferenceKey.
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]): Set the default Text Direction
submenu inclusion behavior to never include.
(-[WebPreferences textDirectionSubmenuInclusionBehavior]): Added this
accessor.
(-[WebPreferences setTextDirectionSubmenuInclusionBehavior:]): Ditto.
* WebView/WebPreferencesPrivate.h: Defined the
WebTextDirectionSubmenuInclusionBehavior enum and declared
accessors.
* WebView/WebUIDelegatePrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]): Added code to transfer
the Text Direction submenu inclusion behavior preference to WebCore
settings.
2008-11-14 Darin Adler <darin@apple.com>
Reviewed by Mark Rowe.
- fix https://bugs.webkit.org/show_bug.cgi?id=22222
selectKeyViewPrecedingView: with document view that can't be first responder
makes WebFrameView be first responder
* WebView/WebFrameView.mm: (-[WebFrameView becomeFirstResponder]):
Moved the acceptsFirstResponder special case inside the if statement so it won't
run in the "selecting previous" case. Also removed the "just before shipping Tiger"
code that doesn't need to be here any more.
2008-11-13 Mark Rowe <mrowe@apple.com>
Fix the build.
Don't use NSPICTPboardType on systems where it is deprecated. The system will take care of converting
from this format to a format that we can understand.
* WebCoreSupport/WebPasteboardHelper.mm:
(WebPasteboardHelper::insertablePasteboardTypes):
* WebView/WebHTMLView.mm:
(-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:]):
(+[WebHTMLView _insertablePasteboardTypes]):
(-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
2008-11-13 John Sullivan <sullivan@apple.com>
fixed <rdar://problem/6361578> Web Kit UI strings: a few edits
Reviewed by Tim Hatcher
* Misc/WebKitErrors.m:
"Cannot show content with specified mime type" -> "Content with specified MIME type can't be shown"
"Cannot show URL" -> "The URL can't be shown"
"Cannot find plug-in" -> "The plug-in can't be found"
"Cannot load plug-in" -> "The plug-in can't be loaded"
* Panels/English.lproj/WebAuthenticationPanel.nib/classes.nib:
* Panels/English.lproj/WebAuthenticationPanel.nib/info.nib:
* Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib: Added.
* Panels/English.lproj/WebAuthenticationPanel.nib/objects.nib: Removed.
Changed placeholder fine print in the nib to match one of the two strings it might be replaced by.
This automagically updated the nib to a newer format, hence the objects -> keyedobjects change.
I could have changed the placeholder fine print to be empty but this lets localizers understand
the dialog layout better.
* Panels/WebAuthenticationPanel.m:
(-[WebAuthenticationPanel setUpForChallenge:]):
"you need to log in" -> "you must log in"
"Your log-in information" -> "Your login information"
"The name or password entered" -> "The user name or password you entered"
"Please try again." -> "Make sure you're entering them correctly, and then try again."
2008-11-12 Stephanie Lewis <slewis@apple.com>
Fix Mac build.
* Panels/WebAuthenticationPanel.m:
2008-11-12 John Sullivan <sullivan@apple.com>
fixed <rdar://problem/3839110> Authentication dialogs talk about passwords being sent "in the clear"
Reviewed by Tim Hatcher
* Panels/WebAuthenticationPanel.m:
(-[WebAuthenticationPanel setUpForChallenge:]):
use "unencrypted" instead of "in the clear". Also, use the "Your log-in information
will be sent securely" version when the receiving server is https, regardless of
whether it uses basic or digest authentication.
2008-11-12 Darin Adler <darin@apple.com>
Reviewed by Mark Rowe.
- fix https://bugs.webkit.org/show_bug.cgi?id=22223
<rdar://problem/6366864> REGRESSION(r38245): "View Source" crashes the browser
* WebView/WebFrameView.mm: (-[WebFrameView viewDidMoveToWindow]):
Add missing null check.
2008-11-12 Anders Carlsson <andersca@apple.com>
Reviewed by Kevin Decker.
Fix stupid bug.
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView createPlugin]):
2008-11-10 Tor Arne Vestbø <tavestbo@trolltech.com>
Reviewed by Simon Hausmann.
Move _web_encodingForResource from WebKit into WebCore and change return type
This change is needed to implement NSAPI in WebCore for Mac, see:
https://bugs.webkit.org/show_bug.cgi?id=21427
* Misc/WebKitNSStringExtras.m:
(+[NSString _web_encodingForResource:]):
2008-11-10 Tor Arne Vestbø <tavestbo@trolltech.com>
Reviewed by Simon Hausmann.
Moved the implementation of _webkit_isCaseInsensitiveEqualToString to
WebCore's WebCoreNSStringExtras as _stringIsCaseInsensitiveEqualToString.
This change is needed to implement NSAPI in WebCore for Mac, see:
https://bugs.webkit.org/show_bug.cgi?id=21427
* Misc/WebKitNSStringExtras.m:
(-[NSString _webkit_isCaseInsensitiveEqualToString:]):
2008-11-11 Dan Bernstein <mitz@apple.com>
Reviewed by Adam Roben.
WebKit/mac part of adding a master volume control for media elements in a WebView
* WebView/WebView.mm:
(-[WebView setMediaVolume:]): Added.
(-[WebView mediaVolume]): Added.
* WebView/WebViewPrivate.h:
2008-11-11 Aaron Golden <agolden@apple.com>
Bug 22134: -[WebHistoryItem dictionaryRepresentation] accesses past the end of a vector
<https://bugs.webkit.org/show_bug.cgi?id=22134>
Reviewed by Geoff Garen.
* History/WebHistoryItem.mm:
(-[WebHistoryItem initFromDictionaryRepresentation:]):
(-[WebHistoryItem dictionaryRepresentation]):
2008-11-10 Anders Carlsson <andersca@apple.com>
Reviewed by Kevin Decker.
Move renewGState to the base class.
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView renewGState]):
* Plugins/WebNetscapePluginView.mm:
2008-11-10 Anders Carlsson <andersca@apple.com>
Reviewed by Kevin Decker.
Move start, stop and all the related methods down to WebBaseNetscapePluginView.
* Plugins/WebBaseNetscapePluginView.h:
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView updateAndSetWindow]):
(-[WebBaseNetscapePluginView addWindowObservers]):
(-[WebBaseNetscapePluginView removeWindowObservers]):
(-[WebBaseNetscapePluginView start]):
(-[WebBaseNetscapePluginView stop]):
(-[WebBaseNetscapePluginView viewWillMoveToWindow:]):
(-[WebBaseNetscapePluginView viewWillMoveToSuperview:]):
(-[WebBaseNetscapePluginView viewDidMoveToWindow]):
(-[WebBaseNetscapePluginView viewWillMoveToHostWindow:]):
(-[WebBaseNetscapePluginView viewDidMoveToHostWindow]):
(-[WebBaseNetscapePluginView windowWillClose:]):
(-[WebBaseNetscapePluginView windowBecameKey:]):
(-[WebBaseNetscapePluginView windowResignedKey:]):
(-[WebBaseNetscapePluginView windowDidMiniaturize:]):
(-[WebBaseNetscapePluginView windowDidDeminiaturize:]):
(-[WebBaseNetscapePluginView loginWindowDidSwitchFromUser:]):
(-[WebBaseNetscapePluginView loginWindowDidSwitchToUser:]):
(-[WebBaseNetscapePluginView preferencesHaveChanged:]):
* Plugins/WebNetscapePluginView.h:
* Plugins/WebNetscapePluginView.mm:
2008-11-10 Anders Carlsson <andersca@apple.com>
Reviewed by Kevin Decker.
Move rightMouseDown, rightMouseUp and sendActivateEvent to the base plugin view.
Add stubs for createPlugin, loadStream, shouldStop and destroyPlugin.
* Plugins/WebBaseNetscapePluginView.h:
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView windowFocusChanged:]):
(-[WebBaseNetscapePluginView createPlugin]):
(-[WebBaseNetscapePluginView loadStream]):
(-[WebBaseNetscapePluginView destroyPlugin]):
(-[WebBaseNetscapePluginView sendActivateEvent:]):
(-[WebBaseNetscapePluginView rightMouseDown:]):
(-[WebBaseNetscapePluginView rightMouseUp:]):
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView windowFocusChanged:]):
2008-11-10 Anders Carlsson <andersca@apple.com>
Reviewed by Kevin Decker.
Factor plug-in type specific code out to three new methods, createPlugin, destroyPlugin and loadStream.
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView createPlugin]):
(-[WebNetscapePluginView loadStream]):
(-[WebNetscapePluginView start]):
(-[WebNetscapePluginView shouldStop]):
(-[WebNetscapePluginView destroyPlugin]):
(-[WebNetscapePluginView stop]):
2008-11-10 Anders Carlsson <andersca@apple.com>
Fix Tiger build.
* Plugins/WebNetscapePluginPackage.m:
(-[WebNetscapePluginPackage load]):
2008-11-10 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Move even more code down to WebBaseNetscapePluginView, get rid of some unnecessary methods.
* Plugins/WebBaseNetscapePluginView.h:
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView focusChanged]):
(-[WebBaseNetscapePluginView visibleRect]):
(-[WebBaseNetscapePluginView acceptsFirstResponder]):
(-[WebBaseNetscapePluginView setHasFocus:]):
(-[WebBaseNetscapePluginView becomeFirstResponder]):
(-[WebBaseNetscapePluginView resignFirstResponder]):
* Plugins/WebNetscapePluginView.h:
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView focusChanged]):
(-[WebNetscapePluginView tellQuickTimeToChill]):
(-[WebNetscapePluginView updateAndSetWindow]):
(-[WebNetscapePluginView start]):
(-[WebNetscapePluginView stop]):
(-[WebNetscapePluginView viewWillMoveToWindow:]):
(-[WebNetscapePluginView createPluginScriptableObject]):
(-[WebNetscapePluginView pluginView:receivedData:]):
(-[WebNetscapePluginView pluginView:receivedError:]):
(-[WebNetscapePluginView pluginViewFinishedLoading:]):
(-[WebNetscapePluginView inputContext]):
(-[WebNetscapePluginView hasMarkedText]):
(-[WebNetscapePluginView insertText:]):
(-[WebNetscapePluginView markedRange]):
(-[WebNetscapePluginView selectedRange]):
(-[WebNetscapePluginView setMarkedText:selectedRange:]):
(-[WebNetscapePluginView unmarkText]):
(-[WebNetscapePluginView validAttributesForMarkedText]):
(-[WebNetscapePluginView attributedSubstringFromRange:]):
(-[WebNetscapePluginView characterIndexForPoint:]):
(-[WebNetscapePluginView doCommandBySelector:]):
(-[WebNetscapePluginView firstRectForCharacterRange:]):
(-[WebNetscapePluginView _viewHasMoved]):
(-[WebNetscapePluginView _redeliverStream]):
2008-11-10 Anders Carlsson <andersca@apple.com>
Reviewed by Kevin Decker.
Move timer handling code down to WebBaseNetscapePluginView.
* Plugins/WebBaseNetscapePluginView.h:
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView stopTimers]):
(-[WebBaseNetscapePluginView startTimers]):
(-[WebBaseNetscapePluginView restartTimers]):
* Plugins/WebNetscapePluginView.h:
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView stopTimers]):
(-[WebNetscapePluginView startTimers]):
(-[WebNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]):
* WebView/WebHTMLView.mm:
(-[WebHTMLView _resumeNullEventsForAllNetscapePlugins]):
2008-11-10 Anders Carlsson <andersca@apple.com>
Reviewed by Kevin Decker.
Move a bunch of methods and ivars up to WebBaseNetscapePluginView.
* Plugins/WebBaseNetscapePluginView.h:
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView dealloc]):
(-[WebBaseNetscapePluginView finalize]):
(-[WebBaseNetscapePluginView removeTrackingRect]):
(-[WebBaseNetscapePluginView resetTrackingRect]):
(-[WebBaseNetscapePluginView dataSource]):
(-[WebBaseNetscapePluginView webFrame]):
(-[WebBaseNetscapePluginView webView]):
(-[WebBaseNetscapePluginView currentWindow]):
* Plugins/WebNetscapePluginEventHandlerCarbon.mm:
(WebNetscapePluginEventHandlerCarbon::windowFocusChanged):
* Plugins/WebNetscapePluginView.h:
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView sendEvent:isDrawRect:]):
(-[WebNetscapePluginView sendActivateEvent:]):
(-[WebNetscapePluginView restartTimers]):
(-[WebNetscapePluginView setHasFocus:]):
(-[WebNetscapePluginView mouseDown:]):
(-[WebNetscapePluginView mouseUp:]):
(-[WebNetscapePluginView mouseEntered:]):
(-[WebNetscapePluginView mouseExited:]):
(-[WebNetscapePluginView handleMouseMoved:]):
(-[WebNetscapePluginView mouseDragged:]):
(-[WebNetscapePluginView scrollWheel:]):
(-[WebNetscapePluginView keyUp:]):
(-[WebNetscapePluginView keyDown:]):
(-[WebNetscapePluginView flagsChanged:]):
(-[WebNetscapePluginView updateAndSetWindow]):
(-[WebNetscapePluginView setWindowIfNecessary]):
(-[WebNetscapePluginView start]):
(-[WebNetscapePluginView stop]):
(-[WebNetscapePluginView isStarted]):
(-[WebNetscapePluginView dealloc]):
(-[WebNetscapePluginView finalize]):
(-[WebNetscapePluginView drawRect:]):
(-[WebNetscapePluginView windowBecameKey:]):
(-[WebNetscapePluginView preferencesHaveChanged:]):
(-[WebNetscapePluginView evaluateJavaScriptPluginRequest:]):
(-[WebNetscapePluginView webFrame:didFinishLoadWithReason:]):
(-[WebNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]):
(-[WebNetscapePluginView _viewHasMoved]):
2008-11-10 Anders Carlsson <andersca@apple.com>
Reviewed by Kevin Decker and Mark Rowe.
Add a WebHostedNetscapePluginView class.
* Plugins/WebHostedNetscapePluginView.h: Added.
* Plugins/WebHostedNetscapePluginView.mm: Added.
* Plugins/WebNetscapePluginPackage.h:
Use the right define.
* Plugins/WebPluginDatabase.mm:
(-[WebPluginDatabase removePluginInstanceViewsFor:]):
Check for WebBaseNetscapePluginView.
(-[WebPluginDatabase destroyAllPluginInstanceViews]):
Check for WebBaseNetscapePluginView.
* WebCoreSupport/WebFrameLoaderClient.mm:
(NetscapePluginWidget::NetscapePluginWidget):
(NetscapePluginWidget::handleEvent):
Use WebBaseNetscapePluginView.
(netscapePluginViewClass):
New function that returns the right netscape plugin view type to use.
(WebFrameLoaderClient::createPlugin):
Get the right class.
* WebKitPrefix.h:
Prefix the #define with WTF_.
* WebView/WebHTMLView.mm:
(-[NSArray _web_makePluginViewsPerformSelector:withObject:]):
Check for WebBaseNetscapePluginView.
* WebView/WebView.mm:
Remove an unnecessary include.
2008-11-10 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Don't use individual ivars for each plug-in vtable function. Instead, get them from the plugin package.
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
* Plugins/WebNetscapePluginPackage.h:
* Plugins/WebNetscapePluginPackage.m:
(-[WebNetscapePluginPackage load]):
(-[WebNetscapePluginPackage _unloadWithShutdown:]):
* Plugins/WebNetscapePluginView.h:
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView sendEvent:isDrawRect:]):
(-[WebNetscapePluginView setWindowIfNecessary]):
(-[WebNetscapePluginView start]):
(-[WebNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
(-[WebNetscapePluginView createPluginScriptableObject]):
(-[WebNetscapePluginView evaluateJavaScriptPluginRequest:]):
(-[WebNetscapePluginView webFrame:didFinishLoadWithReason:]):
(-[WebNetscapePluginView loadPluginRequest:]):
(-[WebNetscapePluginView _createPlugin]):
(-[WebNetscapePluginView _destroyPlugin]):
(-[WebNetscapePluginView _printedPluginBitmap]):
2008-11-10 Anders Carlsson <andersca@apple.com>
Reviewed by Kevin Decker.
Add a new WebBaseNetscapePluginView class.
* Plugins/WebBaseNetscapePluginView.h: Added.
* Plugins/WebBaseNetscapePluginView.mm: Added.
(-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
(-[WebBaseNetscapePluginView setAttributeKeys:andValues:]):
(-[WebBaseNetscapePluginView handleMouseMoved:]):
* Plugins/WebNetscapePluginView.h:
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView cut:]):
(-[WebNetscapePluginView copy:]):
(-[WebNetscapePluginView paste:]):
(-[WebNetscapePluginView selectAll:]):
(-[WebNetscapePluginView start]):
(-[WebNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
2008-11-10 Anders Carlsson <andersca@apple.com>
Reviewed by Adam Roben.
Rename WebBaseNetscapePluginView to WebNetscapePluginView.
* Plugins/WebBaseNetscapePluginStream.h:
* Plugins/WebBaseNetscapePluginStream.mm:
(WebNetscapePluginStream::WebNetscapePluginStream):
(WebNetscapePluginStream::setPlugin):
* Plugins/WebBaseNetscapePluginView.h: Removed.
* Plugins/WebBaseNetscapePluginView.mm: Removed.
* Plugins/WebNetscapePluginEventHandler.h:
(WebNetscapePluginEventHandler::WebNetscapePluginEventHandler):
* Plugins/WebNetscapePluginEventHandler.mm:
(WebNetscapePluginEventHandler::create):
* Plugins/WebNetscapePluginEventHandlerCarbon.h:
* Plugins/WebNetscapePluginEventHandlerCarbon.mm:
(WebNetscapePluginEventHandlerCarbon::WebNetscapePluginEventHandlerCarbon):
* Plugins/WebNetscapePluginEventHandlerCocoa.h:
* Plugins/WebNetscapePluginEventHandlerCocoa.mm:
(WebNetscapePluginEventHandlerCocoa::WebNetscapePluginEventHandlerCocoa):
* Plugins/WebNetscapePluginView.h: Copied from mac/Plugins/WebBaseNetscapePluginView.h.
* Plugins/WebNetscapePluginView.mm: Copied from mac/Plugins/WebBaseNetscapePluginView.mm.
(+[WebNetscapePluginView setCurrentPluginView:]):
(+[WebNetscapePluginView currentPluginView]):
(-[WebNetscapePluginView loadPluginRequest:]):
* Plugins/WebPluginDatabase.mm:
(-[WebPluginDatabase removePluginInstanceViewsFor:]):
(-[WebPluginDatabase destroyAllPluginInstanceViews]):
* Plugins/npapi.mm:
(pluginViewForInstance):
(NPN_MarkedTextAbandoned):
(NPN_MarkedTextSelectionChanged):
* WebCoreSupport/WebFrameLoaderClient.mm:
(NetscapePluginWidget::NetscapePluginWidget):
(NetscapePluginWidget::handleEvent):
(WebFrameLoaderClient::createPlugin):
* WebView/WebHTMLView.mm:
(-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]):
(-[WebHTMLView _resumeNullEventsForAllNetscapePlugins]):
(-[NSArray _web_makePluginViewsPerformSelector:withObject:]):
* WebView/WebView.mm:
2008-11-09 Darin Adler <darin@apple.com>
Reviewed by John Sullivan.
- fix https://bugs.webkit.org/show_bug.cgi?id=15063
<rdar://problem/5452227> REGRESSION (r25151): Switching to a tab waiting
for first data does not clear the window
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::frameLoadCompleted): Added comments, and got rid of
a local variable to make this code match the code in the function below
more closely.
(WebFrameLoaderClient::provisionalLoadStarted): Added comments.
* WebView/WebFrame.mm:
(-[WebFrame _updateBackgroundAndUpdatesWhileOffscreen]): Improved comment.
* WebView/WebFrameView.mm:
(-[WebFrameView _scrollView]): Tweaked formatting.
(-[WebFrameView initWithFrame:]): Ditto.
(-[WebFrameView setFrameSize:]): Added a comment and tweaked formatting.
(-[WebFrameView viewDidMoveToWindow]): Added. This is the change that fixes
the bug. Calls setDrawsBackground:YES as appropriate since moving the view
out of the window to switch to another view disrupts the special technique
for showing the old page during the start of loading. This is the identical
reason for the setFrameSize: method above, and the code is almost the same.
2008-11-08 David Kilzer <ddkilzer@apple.com>
Bug 22137: PLATFORM(MAC) build broken with HAVE(ACCESSIBILITY) disabled
<https://bugs.webkit.org/show_bug.cgi?id=22137>
Reviewed by Darin Adler.
* WebView/WebFrame.mm:
(-[WebFrame _accessibilityTree]): Return nil if HAVE(ACCESSIBILITY)
is false.
2008-11-08 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
- WebKit/mac part of adding WebPreferences for controlling databases and local storage
* WebView/WebPreferenceKeysPrivate.h: Added
WebKitDatabasesEnabledPreferenceKey and
WebKitLocalStorageEnabledPreferenceKey.
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]): Made databases and local storage enabled
by default.
(-[WebPreferences databasesEnabled]): Added.
(-[WebPreferences setDatabasesEnabled:]): Added.
(-[WebPreferences localStorageEnabled]): Added.
(-[WebPreferences setLocalStorageEnabled:]): Added.
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]): Transfer the databases
and local storage preferences to WebCore settings.
2008-11-06 Anders Carlsson <andersca@apple.com>
Reviewed by Kevin Decker.
https://bugs.webkit.org/show_bug.cgi?id=22115
NPN_HasPropertyUPP and NPN_HasMethodUPP entries in NPNetscapeFuncs are NULL
Initialize the browser funcs correctly.
* Plugins/WebNetscapePluginPackage.m:
(-[WebNetscapePluginPackage load]):
2008-11-06 David Kilzer <ddkilzer@apple.com>
BUILD FIX: Backed out r38189 (and r38203) for Xcode 3.0.
Apparently older versions of gcc have issues with this patch.
Backing out a second time until the issues are resolved.
2008-11-06 Cameron Zwarich <zwarich@apple.com>
Reviewed by Geoff Garen.
Move the remaining files in the kjs subdirectory of JavaScriptCore to
a new parser subdirectory, and remove the kjs subdirectory entirely.
The header SavedBuiltins.h was removed in r32587, so it no longer needs
a forwarding header.
* ForwardingHeaders/kjs: Removed.
* ForwardingHeaders/kjs/SavedBuiltins.h: Removed.
2008-11-06 David Kilzer <ddkilzer@apple.com>
BUILD WAS NOT BROKEN: Rolling r38189 back in.
Please perform a clean build if you see crashes.
2008-11-06 David Kilzer <ddkilzer@apple.com>
BUILD FIX: Backed out r38189 since it apparently broke the world.
2008-11-06 John Sullivan <sullivan@apple.com>
Fixed problem with switching between text-only zoom and full-content zoom
There were two booleans tracking whether zoom was text-only, one in WebCore settings
and one in WebViewPrivate. Fixed by eliminating the one in WebViewPrivate.
Reviewed by Adam Roben
* WebView/WebView.mm:
remove declaration of zoomMultiplierIsTextOnly instance variable in WebViewPrivate
(-[WebViewPrivate init]):
removed initialization of zoomMultiplierIsTextOnly
(-[WebView textSizeMultiplier]):
call [self _realZoomMultiplierIsTextOnly] instead of accessing WebViewPrivate instance variable
(-[WebView _setZoomMultiplier:isTextOnly:]):
update WebCore settings rather than WebViewPrivate instance variable
(-[WebView _zoomMultiplier:]):
call [self _realZoomMultiplierIsTextOnly] instead of accessing WebViewPrivate instance variable
(-[WebView _realZoomMultiplierIsTextOnly]):
return value from WebCore settings instead of accessing WebViewPrivate instance variable
(-[WebView pageSizeMultiplier]):
call [self _realZoomMultiplierIsTextOnly] instead of accessing WebViewPrivate instance variable
2008-11-06 Greg Bolsinga <bolsinga@apple.com>
Reviewed by Darin Adler.
Bug 21810: Remove use of static C++ objects that are destroyed at exit time (destructors)
https://bugs.webkit.org/show_bug.cgi?id=21810
* History/WebBackForwardList.mm:
(backForwardLists): Changed to leak an object to avoid an exit-time destructor.
* History/WebHistoryItem.mm:
(historyItemWrappers): Ditto
* Misc/WebStringTruncator.m:
(fontFromNSFont): Ditto
* Plugins/WebBaseNetscapePluginStream.mm:
(streams): Ditto
* WebView/WebView.mm:
(aeDescFromJSValue): Ditto
2008-11-05 Anders Carlsson <andersca@apple.com>
Reviewed by Mark Rowe.
Keep track of which plug-in host architecture would be needed for a given plug-in package.
* Plugins/WebNetscapePluginPackage.h:
* Plugins/WebNetscapePluginPackage.m:
(-[WebNetscapePluginPackage _initWithPath:]):
* WebKitPrefix.h:
2008-11-05 Cameron Zwarich <zwarich@apple.com>
Rubber-stamped by Sam Weinig.
Correct forwarding headers for files moved to the runtime subdirectory
of JavaScriptCore and remove unused forwarding headers.
* ForwardingHeaders/kjs/collector.h: Removed.
* ForwardingHeaders/kjs/identifier.h: Removed.
* ForwardingHeaders/kjs/interpreter.h: Removed.
* ForwardingHeaders/kjs/lookup.h: Removed.
* ForwardingHeaders/kjs/operations.h: Removed.
* ForwardingHeaders/kjs/protect.h: Removed.
* ForwardingHeaders/runtime/Interpreter.h: Copied from ForwardingHeaders/kjs/interpreter.h.
* WebView/WebScriptDebugDelegate.mm:
2008-11-05 Anders Carlsson <andersca@apple.com>
Reviewed by Kevin Decker.
Remove WebPlugInStreamLoaderDelegate.h
* Plugins/WebBaseNetscapePluginStream.h:
* Plugins/WebPlugInStreamLoaderDelegate.h: Removed.
2008-11-05 Dan Bernstein <mitz@apple.com>
- Tiger build fix
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView stop]):
2008-11-04 Anders Carlsson <andersca@apple.com>
Reviewed by Kevin Decker.
Don't leak the CALayer.
* Plugins/WebBaseNetscapePluginView.h:
Make the layer a RetainPtr.
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView start]):
(-[WebBaseNetscapePluginView stop]):
Make sure to clear out the layer here.
2008-11-04 Cameron Zwarich <zwarich@apple.com>
Rubber-stamped by Sam Weinig.
Remove the unused kjs/dtoa.h forwarding header.
* ForwardingHeaders/kjs/dtoa.h: Removed.
2008-11-04 Anders Carlsson <andersca@apple.com>
Reviewed by Kevin Decker.
More cleanup. Make a bunch of instance variables RetainPtrs.
* Plugins/WebBaseNetscapePluginView.h:
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView visibleRect]):
(-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
(-[WebBaseNetscapePluginView sendActivateEvent:]):
(-[WebBaseNetscapePluginView sendDrawRectEvent:]):
(-[WebBaseNetscapePluginView stopTimers]):
(-[WebBaseNetscapePluginView restartTimers]):
(-[WebBaseNetscapePluginView setHasFocus:]):
(-[WebBaseNetscapePluginView mouseDown:]):
(-[WebBaseNetscapePluginView mouseUp:]):
(-[WebBaseNetscapePluginView mouseEntered:]):
(-[WebBaseNetscapePluginView mouseExited:]):
(-[WebBaseNetscapePluginView handleMouseMoved:]):
(-[WebBaseNetscapePluginView mouseDragged:]):
(-[WebBaseNetscapePluginView scrollWheel:]):
(-[WebBaseNetscapePluginView keyUp:]):
(-[WebBaseNetscapePluginView keyDown:]):
(-[WebBaseNetscapePluginView flagsChanged:]):
(-[WebBaseNetscapePluginView cut:]):
(-[WebBaseNetscapePluginView copy:]):
(-[WebBaseNetscapePluginView paste:]):
(-[WebBaseNetscapePluginView selectAll:]):
(-[WebBaseNetscapePluginView didStart]):
(-[WebBaseNetscapePluginView start]):
(-[WebBaseNetscapePluginView stop]):
(-[WebBaseNetscapePluginView dataSource]):
(-[WebBaseNetscapePluginView pluginPackage]):
(-[WebBaseNetscapePluginView setPluginPackage:]):
(-[WebBaseNetscapePluginView setAttributeKeys:andValues:]):
(-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
(-[WebBaseNetscapePluginView fini]):
(-[WebBaseNetscapePluginView dealloc]):
(-[WebBaseNetscapePluginView pluginView:receivedError:]):
(-[WebBaseNetscapePluginView requestWithURLCString:]):
(-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
(-[WebBaseNetscapePluginView loadPluginRequest:]):
(-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
(-[WebBaseNetscapePluginView userAgent]):
(-[WebBaseNetscapePluginView getVariable:value:]):
(-[WebBaseNetscapePluginView setVariable:value:]):
(-[WebBaseNetscapePluginView _createPlugin]):
(-[WebBaseNetscapePluginView _redeliverStream]):
2008-11-04 Brady Eidson <beidson@apple.com>
Reviewed by John Sullivan
Cleanup global history a tad.
Used to _addItemForURL always create a new item and merge it with a previous item if one existed.
It is more efficient and less complicated to update the previous item if one exists.
* History/WebHistory.mm:
(-[WebHistoryPrivate visitedURL:withTitle:]):
(-[WebHistory _visitedURL:withTitle:]): Instead of calling the general purpose [WebHistoryPrivate addItem:]
with a new history item, call the new special purposed visitedURL:withTitle:
* History/WebHistoryInternal.h:
* History/WebHistoryItem.mm:
(-[WebHistoryItem _visitedWithTitle:]): Call "visited()" on the WebCore history item with the pertinent info.
* History/WebHistoryItemInternal.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::updateGlobalHistory):
2008-11-04 Anders Carlsson <andersca@apple.com>
Reviewed by Kevin Decker.
https://bugs.webkit.org/show_bug.cgi?id=22065
Only create the plug-in stream loader when the stream is started.
* Plugins/WebBaseNetscapePluginStream.mm:
(WebNetscapePluginStream::WebNetscapePluginStream):
(WebNetscapePluginStream::start):
2008-11-04 Anders Carlsson <andersca@apple.com>
Reviewed by Kevin Decker.
https://bugs.webkit.org/show_bug.cgi?id=22065
Remove some old, unused plug-in code.
* Plugins/WebBaseNetscapePluginView.h:
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
(-[WebBaseNetscapePluginView start]):
(-[WebBaseNetscapePluginView setVariable:value:]):
2008-11-04 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dave Hyatt
https://bugs.webkit.org/show_bug.cgi?id=21941
Rename absolutePosition() to localToAbsolute(), and add the ability
to optionally take transforms into account (which will eventually be the
default behavior).
* WebView/WebRenderNode.mm:
(copyRenderNode):
2008-11-01 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=22030
Make EventNames usable from multiple threads
* WebView/WebHTMLView.mm:
* WebView/WebPDFView.mm:
(-[WebPDFView PDFViewWillClickOnLink:withURL:]):
Access event names via eventNames() function.
2008-11-04 Cameron Zwarich <zwarich@apple.com>
Reviewed by Mark Rowe.
Delete a forwarding header for a file that no longer exists.
* ForwardingHeaders/kjs/string_object.h: Removed.
2008-11-03 Cameron Zwarich <zwarich@apple.com>
Rubber-stamped by Maciej Stachowiak.
Move more files into the runtime subdirectory of JavaScriptCore.
* ForwardingHeaders/kjs/JSLock.h: Removed.
* ForwardingHeaders/kjs/SymbolTable.h: Removed.
* ForwardingHeaders/runtime/JSLock.h: Copied from ForwardingHeaders/kjs/JSLock.h.
* ForwardingHeaders/runtime/SymbolTable.h: Copied from ForwardingHeaders/kjs/SymbolTable.h.
* Misc/WebCoreStatistics.mm:
* Plugins/WebBaseNetscapePluginStream.mm:
* Plugins/WebBaseNetscapePluginView.mm:
* Plugins/WebPluginController.mm:
* WebView/WebFrame.mm:
* WebView/WebScriptDebugDelegate.mm:
* WebView/WebView.mm:
2008-11-03 Mark Rowe <mrowe@apple.com>
Fix the 64-bit build.
Pull the frequently-made check for drawingModel == NPDrawingModelQuickDraw out into a
helper function to avoid #ifdef'ing all of the new places that this check is made.
A few other #ifdef's are moved inside functions to allow their call sites to remain #ifdef-free,
and we rely on the compiler to optimise out the check (which will always be false in 64-bit) instead.
* Plugins/WebBaseNetscapePluginView.mm:
(isDrawingModelQuickDraw):
(-[WebBaseNetscapePluginView fixWindowPort]):
(-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
(-[WebBaseNetscapePluginView sendEvent:isDrawRect:]):
(-[WebBaseNetscapePluginView updateAndSetWindow]):
(-[WebBaseNetscapePluginView start]):
(-[WebBaseNetscapePluginView tellQuickTimeToChill]):
(-[WebBaseNetscapePluginView viewWillMoveToWindow:]):
(-[WebBaseNetscapePluginView _viewHasMoved]):
2008-11-03 Maciej Stachowiak <mjs@apple.com>
Reviewed by Kevin Decker.
- fix release build (and unitialized variable for CG drawing model!)
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView sendEvent:isDrawRect:]): initialize portState in all code paths
2008-11-03 Kevin Decker <kdecker@apple.com>
Reviewed by Anders Carlsson.
https://bugs.webkit.org/show_bug.cgi?id=22053
This patch adds initial support for the NPDrawingModelCoreAnimation drawing model.
* Plugins/WebBaseNetscapePluginView.h: Added _layer ivar.
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): ASSERT this is not a plug-in using NPDrawingModelCoreAnimation.
(-[WebBaseNetscapePluginView restorePortState:]): Ditto.
(-[WebBaseNetscapePluginView sendEvent:isDrawRect:]): Slightly refactored a small block of code which with the PortState.
Plug-ins using the NPDrawingModelCoreAnimation drawing model have no PortState.
(-[WebBaseNetscapePluginView isNewWindowEqualToOldWindow]): ASSERT this is not a plug-in using NPDrawingModelCoreAnimation
(-[WebBaseNetscapePluginView updateAndSetWindow]): Ditto.
(-[WebBaseNetscapePluginView setWindowIfNecessary]): Ditto.
(-[WebBaseNetscapePluginView start]): If the plug-in is a plug-in using the Core Animation model, request a layer from it.
(-[WebBaseNetscapePluginView drawRect:]): Return early for NPDrawingModelCoreAnimation plug-ins.
(-[WebBaseNetscapePluginView getVariable:value:]): Tell plug-ins running on post-Tiger systems WebKit supports
NPDrawingModelCoreAnimation.
(-[WebBaseNetscapePluginView setVariable:value:]): Added the new NPDrawingModelCoreAnimation case, which initializes drawingMode.
(-[WebBaseNetscapePluginView _viewHasMoved]): Reworded the conditional call to updateAndSetWindow to be specific to
CoreGraphics and QuickDraw plug-ins.
2008-10-31 Cameron Zwarich <zwarich@apple.com>
Reviewed by Darin Adler.
Bug 22019: Move JSC::Interpreter::shouldPrintExceptions() to WebCore::Console
<https://bugs.webkit.org/show_bug.cgi?id=22019>
* Misc/WebCoreStatistics.mm:
(+[WebCoreStatistics shouldPrintExceptions]):
(+[WebCoreStatistics setShouldPrintExceptions:]):
2008-10-31 Dan Bernstein <mitz@apple.com>
Reviewed by John Sullivan.
- WebKit/mac part of <rdar://problem/6334641> Add WebView SPI for disabling document.cookie
* WebView/WebView.mm:
(-[WebView _cookieEnabled]):
(-[WebView _setCookieEnabled:]):
* WebView/WebViewPrivate.h:
2008-10-31 Brady Eidson <beidson@apple.com>
Reviewed by Darin Adler
[WebHistory setLastVisitedTimeInterval:forItem] was internal to WebHistory.mm and
completely unused. Nuke it!
* History/WebHistory.mm:
2008-10-31 Chris Fleizach <cfleizach@apple.com>
Reviewed by Darin Adler.
<rdar://problem/4361197> Screen Reader's Item Chooser shows scroll area for WebKit Application window
If a WebFrameView does not allow scrolling, its scrollbars should not appear in the accessibility hierarchy.
* WebView/WebDynamicScrollBarsView.m:
(-[WebDynamicScrollBarsView accessibilityIsIgnored]):
2008-10-30 Mark Rowe <mrowe@apple.com>
Reviewed by Jon Homeycutt.
Explicitly default to building for only the native architecture in debug and release builds.
* Configurations/DebugRelease.xcconfig:
2008-10-30 Cameron Zwarich <zwarich@apple.com>
Rubber-stamped by Sam Weinig.
Create a debugger directory in JavaScriptCore and move the relevant
files to it.
* ForwardingHeaders/debugger: Added.
* ForwardingHeaders/debugger/DebuggerCallFrame.h: Copied from ForwardingHeaders/kjs/DebuggerCallFrame.h.
* ForwardingHeaders/kjs/DebuggerCallFrame.h: Removed.
* WebView/WebScriptDebugDelegate.mm:
* WebView/WebScriptDebugger.h:
* WebView/WebScriptDebugger.mm:
2008-10-29 Anders Carlsson <andersca@apple.com>
Reviewed by Kevin Decker.
* Plugins/WebBaseNetscapePluginStream.h:
* Plugins/WebBaseNetscapePluginStream.mm:
(WebNetscapePluginStream::WebNetscapePluginStream):
(WebNetscapePluginStream::~WebNetscapePluginStream):
(WebNetscapePluginStream::start):
2008-10-29 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Remove an unused forward class declaration.
* Plugins/WebBaseNetscapePluginView.h:
2008-10-29 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Remove WebBaseNetscapePluginViewInternal.h and WebBaseNetscapePluginViewPrivate.h.
* Plugins/WebBaseNetscapePluginView.h:
* Plugins/WebBaseNetscapePluginViewInternal.h: Removed.
* Plugins/WebBaseNetscapePluginViewPrivate.h: Removed.
* Plugins/WebNetscapePluginEventHandler.mm:
* Plugins/WebNetscapePluginEventHandlerCarbon.mm:
* Plugins/WebNetscapePluginEventHandlerCocoa.mm:
* Plugins/npapi.mm:
* WebView/WebHTMLView.mm:
2008-10-29 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Remove WebNetscapePluginEmbeddedView, it adds nothing extra now.
Remove WebNetscapePlugInStreamLoaderClient since WebNetscapePluginStream is the client now.
* Plugins/WebBaseNetscapePluginStream.h:
* Plugins/WebBaseNetscapePluginStream.mm:
* Plugins/WebBaseNetscapePluginView.h:
* Plugins/WebKitPluginContainerView.h:
* Plugins/WebNetscapePluginEmbeddedView.h: Removed.
* Plugins/WebNetscapePluginEmbeddedView.mm: Removed.
* Plugins/WebNetscapePluginEventHandler.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(NetscapePluginWidget::NetscapePluginWidget):
(NetscapePluginWidget::handleEvent):
(WebFrameLoaderClient::createPlugin):
* WebCoreSupport/WebNetscapePlugInStreamLoaderClient.h: Removed.
* WebCoreSupport/WebNetscapePlugInStreamLoaderClient.mm: Removed.
* WebView/WebHTMLView.mm:
(-[NSArray _web_makePluginViewsPerformSelector:withObject:]):
2008-10-29 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Remove the WebBaseNetscapePluginStream Objective-C object.
* Plugins/WebBaseNetscapePluginStream.h:
(WebNetscapePluginStream::create):
* Plugins/WebBaseNetscapePluginStream.mm:
(WebNetscapePluginStream::WebNetscapePluginStream):
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView pluginView:receivedResponse:]):
(-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
(-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
2008-10-29 Brady Eidson <beidson@apple.com>
Reviewed by Sam Weinig
https://bugs.webkit.org/show_bug.cgi?id=21952
Address an outstanding FIXME by removing unused SPI
* History/WebHistory.mm:
(-[WebHistory _addItemForURL:title:]): Fold addItem: into this method
* History/WebHistoryPrivate.h: Removed unused/unneccessary SPI
2008-10-28 Justin Garcia <justin.garcia@apple.com>
Reviewed by Darin Adler.
<rdar://problem/5188560> REGRESSION: Spell checker doesn't clear spelling/grammar marker after error is marked as Ignored
* WebView/WebHTMLView.mm: IgnoreSpelling is now a WebCore command. That command handles
calling back into WebKit to perform the cross platform work that was removed in this change.
2008-10-28 Cameron Zwarich <zwarich@apple.com>
Reviewed by Mark Rowe.
Move ForwardingHeaders to their correct location after the creation of
the runtime directory in JavaScriptCore.
* ForwardingHeaders/kjs/JSFunction.h: Removed.
* ForwardingHeaders/kjs/JSObject.h: Removed.
* ForwardingHeaders/kjs/JSString.h: Removed.
* ForwardingHeaders/kjs/JSValue.h: Removed.
* ForwardingHeaders/runtime: Added.
* ForwardingHeaders/runtime/JSFunction.h: Copied from ForwardingHeaders/kjs/JSFunction.h.
* ForwardingHeaders/runtime/JSObject.h: Copied from ForwardingHeaders/kjs/JSObject.h.
* ForwardingHeaders/runtime/JSString.h: Copied from ForwardingHeaders/kjs/JSString.h.
* ForwardingHeaders/runtime/JSValue.h: Copied from ForwardingHeaders/kjs/JSValue.h.
* WebView/WebScriptDebugDelegate.mm:
* WebView/WebScriptDebugger.mm:
* WebView/WebView.mm:
2008-10-28 Adele Peterson <adele@apple.com>
Reviewed by John Sullivan.
Fix for https://bugs.webkit.org/show_bug.cgi?id=21880
"files" string for multifile uploads needs to be localized
* WebCoreSupport/WebViewFactory.mm: (-[WebViewFactory multipleFileUploadTextForNumberOfFiles:]):
Added.
2008-10-28 Timothy Hatcher <timothy@apple.com>
Add WebInspector methods to enable the profiler.
https://bugs.webkit.org/show_bug.cgi?id=21927
<rdar://problem/6211578> Make the JavaScript profiler opt-in, so it does
not slow down JavaScript all the time
Reviewed by Darin Adler and Kevin McCullough.
* WebInspector/WebInspector.h:
* WebInspector/WebInspector.mm:
(-[WebInspector isJavaScriptProfilingEnabled]): Added. Calls InspectorController::profilerEnabled.
(-[WebInspector setJavaScriptProfilingEnabled:]): Added. Call InspectorController's disableProfiler
or enableProfiler methods.
2008-10-27 Timothy Hatcher <timothy@apple.com>
Rename a few methods related to attaching and detaching the debugger.
* Rename attachDebugger to enableDebugger.
* Rename detachDebugger to disableDebugger.
* Rename the debuggerAttached getter to debuggerEnabled.
Reviewed by Darin Adler.
* WebInspector/WebInspector.mm:
(-[WebInspector isDebuggingJavaScript]):
(-[WebInspector startDebuggingJavaScript:]):
(-[WebInspector stopDebuggingJavaScript:]):
2008-10-27 Anders Carlsson <andersca@apple.com>
Reviewed by Maciej Stachowiak.
Use the C++ stream object for JS requests as well.
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
(-[WebBaseNetscapePluginView destroyStream:reason:]):
2008-10-27 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
Use the C++ stream object in WebBaseNetscapePluginView. Use a HashSet of RefPtrs to keep track of the streams.
* Plugins/WebBaseNetscapePluginStream.mm:
(WebNetscapePluginStream::~WebNetscapePluginStream):
(WebNetscapePluginStream::setPlugin):
(WebNetscapePluginStream::startStream):
(WebNetscapePluginStream::destroyStream):
(WebNetscapePluginStream::destroyStreamWithReason):
(WebNetscapePluginStream::cancelLoadAndDestroyStreamWithError):
(WebNetscapePluginStream::deliverData):
* Plugins/WebBaseNetscapePluginView.h:
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView stop]):
(-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
(-[WebBaseNetscapePluginView disconnectStream:]):
(-[WebBaseNetscapePluginView dealloc]):
(-[WebBaseNetscapePluginView pluginView:receivedResponse:]):
(-[WebBaseNetscapePluginView pluginView:receivedData:]):
(-[WebBaseNetscapePluginView pluginView:receivedError:]):
(-[WebBaseNetscapePluginView pluginViewFinishedLoading:]):
(-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
2008-10-27 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
Move code from dealloc and finalize to the WebNetscapePluginStream destructor.
* Plugins/WebBaseNetscapePluginStream.h:
* Plugins/WebBaseNetscapePluginStream.mm:
(WebNetscapePluginStream::~WebNetscapePluginStream):
(-[WebBaseNetscapePluginStream dealloc]):
(-[WebBaseNetscapePluginStream finalize]):
2008-10-27 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Get rid of WebNetscapePlugInStreamLoaderClient, the plug-in stream is its own client.
* Plugins/WebBaseNetscapePluginStream.h:
* Plugins/WebBaseNetscapePluginStream.mm:
(WebNetscapePluginStream::WebNetscapePluginStream):
(-[WebBaseNetscapePluginStream dealloc]):
(-[WebBaseNetscapePluginStream finalize]):
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView pluginView:receivedError:]):
(-[WebBaseNetscapePluginView pluginViewFinishedLoading:]):
(-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
(-[WebBaseNetscapePluginView destroyStream:reason:]):
2008-10-27 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
Change the Obj-C init methods to simply call WebNetscapePluginStream::create.
* Plugins/WebBaseNetscapePluginStream.h:
(WebNetscapePluginStream::create):
* Plugins/WebBaseNetscapePluginStream.mm:
(-[WebBaseNetscapePluginStream initWithFrameLoader:]):
(WebNetscapePluginStream::WebNetscapePluginStream):
(-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
2008-10-27 Anders Carlsson <andersca@apple.com>
Reviewed by Kevin Decker.
Convert more code over to C++.
* Plugins/WebBaseNetscapePluginStream.h:
(WebNetscapePluginStream::plugin):
(WebNetscapePluginStream::setRequestURL):
Convert to C++.
* Plugins/WebBaseNetscapePluginStream.mm:
(WebNetscapePluginStream::start):
(WebNetscapePluginStream::stop):
Ditto.
(WebNetscapePluginStream::startStreamWithResponse):
Ditto.
(-[WebBaseNetscapePluginStream startStreamWithResponse:]):
Call the C++ version.
(-[WebBaseNetscapePluginStream impl]):
New accessor for the C++ class.
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView pluginView:receivedData:]):
(-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
(-[WebBaseNetscapePluginView destroyStream:reason:]):
Call the C++ methods.
2008-10-24 Sam Weinig <sam@webkit.org>
Reviewed by Dan Bernstein.
Fix https://bugs.webkit.org/show_bug.cgi?id=21759
Layering violation: FileChooser should not depend on Document/Frame/Page
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::runOpenPanel):
2008-10-24 Anders Carlsson <andersca@apple.com>
Fix Tiger build.
* WebView/WebUIDelegate.h:
2008-10-24 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
<rdar://problem/5440917> Support NPN_Construct
Set construct.
* Plugins/WebNetscapePluginPackage.m:
(-[WebNetscapePluginPackage load]):
2008-10-24 Mark Rowe <mrowe@apple.com>
Rubber-stamped by Tim Hatcher.
<rdar://problem/6119711> Remove the dependency on Foundation's private __COCOA_FORMAL_PROTOCOLS__ define.
* Misc/EmptyProtocolDefinitions.h:
2008-10-24 Adele Peterson <adele@apple.com>
Reviewed by Sam Weinig.
WebKit part of fix for <rdar://problem/5839256> FILE CONTROL: multi-file upload.
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::runOpenPanel):
(-[WebOpenPanelResultListener chooseFilenames:]):
* WebView/WebUIDelegate.h:
2008-10-24 Timothy Hatcher <timothy@apple.com>
Implement new InspectorClient methods to work with Settings.
https://bugs.webkit.org/show_bug.cgi?id=21856
Reviewed by Darin Adler.
* WebCoreSupport/WebInspectorClient.h: Add the new methods and
guard the ObjC parts of the header.
2008-10-24 Darin Adler <darin@apple.com>
- finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
* WebView/WebFrame.mm:
(-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
* WebView/WebScriptDebugDelegate.mm:
(-[WebScriptCallFrame _convertValueToObjcValue:]):
(-[WebScriptCallFrame exception]):
(-[WebScriptCallFrame evaluateWebScript:]):
* WebView/WebView.mm:
(aeDescFromJSValue):
(-[WebView aeDescByEvaluatingJavaScriptFromString:]):
Use JSValue* instead of JSValuePtr.
2008-10-23 Mark Rowe <mrowe@apple.com>
Build fix.
* Misc/WebKitErrors.m:
(-[NSError _initWithPluginErrorCode:contentURL:pluginPageURL:pluginName:MIMEType:]):
2008-10-20 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
Remove FrameLoaderClient::detachedFromParent4. It is no longer used by any port.
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
2008-10-20 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Oliver Hunt.
<rdar://problem/6277777> REGRESSION (r36954): XMLHttpRequest not working when
certain WebView delegate actions are taken
* WebView/WebFrame.mm: (-[WebFrame _attachScriptDebugger]): Don't accidentally create
a window shell if there is none yet.
2008-10-19 Darin Adler <darin@apple.com>
Reviewed by Oliver Hunt.
- next step of https://bugs.webkit.org/show_bug.cgi?id=21732
improve performance by eliminating JSValue as a base class for JSCell
Remove most uses of JSValue, which will be removed in a future patch.
* WebView/WebFrame.mm:
(-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
Use JSValuePtr instead of JSValue.
* WebView/WebScriptDebugger.h: Removed declaration of JSValue.
2008-10-18 Darin Adler <darin@apple.com>
Reviewed by Oliver Hunt.
- next step of https://bugs.webkit.org/show_bug.cgi?id=21732
improve performance by eliminating JSValue as a base class for JSCell
Tweak a little more to get closer to where we can make JSValuePtr a class.
* WebView/WebScriptDebugDelegate.mm:
(-[WebScriptCallFrame _convertValueToObjcValue:]): Use JSValuePtr.
(-[WebScriptCallFrame exception]): Ditto.
(-[WebScriptCallFrame evaluateWebScript:]): Ditto. And noValue.
* WebView/WebScriptDebugger.mm:
(WebScriptDebugger::WebScriptDebugger): Use new DebuggerCallFrame
constructor that doesn't require explicitly passing an exception.
* WebView/WebView.mm:
(aeDescFromJSValue): Use JSValuePtr.
(-[WebView aeDescByEvaluatingJavaScriptFromString:]): Ditto.
2008-10-18 Dan Bernstein <mitz@apple.com>
Reviewed by Sam Weinig.
- WebKit/mac part of https://bugs.webkit.org/show_bug.cgi?id=21736
Long-dead decoded image data make up for most of the object cache's memory use over time
* WebView/WebView.mm:
(+[WebView _setCacheModel:]): In the primary web browser model, set the
cache's dead decoded data deletion interval to 60 seconds.
2008-10-15 Mark Rowe <mrowe@apple.com>
Reviewed by Jon Honeycutt.
Fix a leak of a CFStringRef reported by the build bot.
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]): Use a autoreleased
NSString rather than manually releasing a CFStringRef when we're done with it.
2008-10-15 Kenneth Russell <kenneth.russell@sun.com>
Reviewed and landed by Anders Carlsson.
https://bugs.webkit.org/show_bug.cgi?id=21572
Initialize pluginFunc.size to the correct size before calling NP_GetEntryPoints.
* Plugins/WebNetscapePluginPackage.m:
(-[WebNetscapePluginPackage load]):
2008-10-15 Mark Rowe <mrowe@apple.com>
Reviewed by Dan Bernstein.
<rdar://problem/6272508> Crash occurs after loading flash content at http://www.macrumors.com/
Restore some code related to the CoreGraphics drawing model that was misplaced in r37131.
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView invalidateRegion:]):
(-[WebBaseNetscapePluginView setVariable:value:]):
2008-10-15 Geoffrey Garen <ggaren@apple.com>
Reviewed by Cameron Zwarich.
Fixed https://bugs.webkit.org/show_bug.cgi?id=21345
Start the debugger without reloading the inspected page
* WebInspector/WebInspector.mm:
(-[WebInspector startDebuggingJavaScript:]): Updated for rename.
2008-10-14 Maxime Britto <britto@apple.com>
Reviewed by Darin Adler.
Added SPI to use WebCore's TextIterator with WebKit.
* WebView/WebTextIterator.h: Added.
* WebView/WebTextIterator.mm: Added.
(-[WebTextIteratorPrivate dealloc]):
(-[WebTextIterator dealloc]):
(-[WebTextIterator initWithRange:]): Creates a TextIterator
instance
(-[WebTextIterator advance]): Asks the iterator to advance() .
(-[WebTextIterator currentNode]): Returns the current DOMNode from
the iterator
(-[WebTextIterator currentText]): Returns the current text from the
iterator
(-[WebTextIterator atEnd]): Indicated whether the iterator has
reached the end of the range.
* WebView/WebView.h:
* WebView/WebView.mm:
(-[WebView textIteratorForRect:]): Returns a WebTextIterator with
the DOMRange contained in the rectangle given as a parameter.
2008-10-15 Timothy Hatcher <timothy@apple.com>
Clean up user agent generation to simplify the _standardUserAgentWithApplicationName:
class method to not require a WebKit version.
Reviewed by Darin Adler.
* WebView/WebView.mm:
(+[WebView _standardUserAgentWithApplicationName:]): Create the WebKit version.
(-[WebView WebCore::_userAgentForURL:]): Use the simplified _standardUserAgentWithApplicationName:.
Remove code that created the WebKit version.
* WebView/WebViewPrivate.h: Change the method name of _standardUserAgentWithApplicationName:.
2008-10-14 Timothy Hatcher <timothy@apple.com>
Make the user agent generation method a class method and cache the WebKit
version in a static to prevent generating it every time. This is needed
clean up to fix <rdar://problem/6292331>. Moved all code to WebPrivate so
the class method can be in the WebViewPrivate.h header.
Reviewed by John Sullivan.
* WebView/WebView.mm:
(callGestalt): Moved. Same code.
(createMacOSXVersionString): Moved. Same code.
(createUserVisibleWebKitVersionString): Moved from _userVisibleBundleVersionFromFullVersion:
and returns a copied string.
(+[WebView _standardUserAgentWithApplicationName:andWebKitVersion:]): Made into a class method.
(-[WebView WebCore::_userAgentForURL:]): Changed to cache the WebKit version.
* WebView/WebViewPrivate.h: Added +_standardUserAgentWithApplicationName:andWebKitVersion:.
2008-10-13 Maciej Stachowiak <mjs@apple.com>
Rubber stamped by Mark Rowe.
- use gcc 4.2 when building with Xcode 3.1 or newer on Leopard, even though this is not the default
* Configurations/DebugRelease.xcconfig:
2008-10-11 Dan Bernstein <mitz@apple.com>
Reviewed by Sam Weinig.
- rename _setAlwaysUseATSU to _setAlwaysUsesComplexTextCodePath and
update it for the renamed WebCoreTextRenderer method; keep the old
method around for clients that use it
* WebView/WebView.mm:
(+[WebView _setAlwaysUseATSU:]):
(+[WebView _setAlwaysUsesComplexTextCodePath:]):
* WebView/WebViewPrivate.h:
2008-10-09 Timothy Hatcher <timothy@apple.com>
Don't convert JavaScriptCore header include paths to WebKit paths. This was needed
back when NPAPI and WebScriptObject migrated from JavaScriptCore. Also remove
JavaScriptCore from the VPATH.
Reviewed by Sam Weinig.
* MigrateHeaders.make:
2008-10-08 Darin Adler <darin@apple.com>
Reviewed by Cameron Zwarich.
- https://bugs.webkit.org/show_bug.cgi?id=21403
Bug 21403: use new CallFrame class rather than Register* for call frame manipulation
* WebView/WebScriptDebugger.mm:
(WebScriptDebugger::WebScriptDebugger): Update since DebuggerCallFrame is simpler now.
2008-10-08 Timothy Hatcher <timothy@apple.com>
Roll out r37427 because it causes an infinite recursion loading about:blank.
https://bugs.webkit.org/show_bug.cgi?id=21476
2008-10-08 Darin Adler <darin@apple.com>
Reviewed by Cameron Zwarich.
- https://bugs.webkit.org/show_bug.cgi?id=21403
Bug 21403: use new CallFrame class rather than Register* for call frame manipulation
* WebView/WebScriptDebugger.mm:
(WebScriptDebugger::WebScriptDebugger): Update since DebuggerCallFrame is simpler now.
2008-10-07 David Hyatt <hyatt@apple.com>
Move viewless WebKit methods that Safari needs from WebViewInternal to WebViewPrivate.
Reviewed by Tim Hatcher
* WebView/WebView.mm:
(WebKitInitializeApplicationCachePathIfNecessary):
(-[WebView _registerDraggedTypes]):
(-[WebView _usesDocumentViews]):
(-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
(-[WebView _initWithFrame:frameName:groupName:usesDocumentViews:]):
(-[WebView isFlipped]):
(-[WebView viewWillDraw]):
* WebView/WebViewInternal.h:
* WebView/WebViewPrivate.h:
2008-10-07 David Hyatt <hyatt@apple.com>
Fix crash in isFlipped. Null check _private since isFlipped can get called from within AppKit
machinery during teardown of the WebView.
Reviewed by Adam Roben
* WebView/WebView.mm:
(-[WebView isFlipped]):
2008-10-07 David Hyatt <hyatt@apple.com>
Make viewless WebKit update focused and active state when the window becomes and loses key.
The focus controller has been patched to understand that in viewless mode it can recur down and
update all of the frames, which is why this code works now when placed just on the WebView.
Reviewed by Adam Roben
* WebView/WebView.mm:
(-[WebView addWindowObservers]):
(-[WebView removeWindowObservers]):
(-[WebView viewWillMoveToWindow:]):
(-[WebView viewDidMoveToWindow]):
(-[WebView _updateFocusedAndActiveState]):
(-[WebView _windowDidBecomeKey:]):
(-[WebView _windowDidResignKey:]):
(-[WebView _windowWillOrderOnScreen:]):
2008-10-07 David Hyatt <hyatt@apple.com>
Make sure the parent visibility state is set up properly on the outermost ScrollView widget.
This fixes the repainting issues with viewless WebKit on Mac.
Reviewed by Sam Weinig
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::transitionToCommittedForNewPage):
2008-10-07 David Hyatt <hyatt@apple.com>
Make sure viewless Mac WebKit does a layout if needed before drawing.
Reviewed by Sam Weinig
* WebView/WebView.mm:
(-[WebView viewWillDraw]):
2008-10-07 David Hyatt <hyatt@apple.com>
Make sure observers get hooked up to watch for size changes in viewless WebKit mode.
Reviewed by Sam Weinig
* ChangeLog:
* WebView/WebFrame.mm:
(-[WebFrame _drawRect:contentsOnly:]):
* WebView/WebView.mm:
(-[WebView viewWillDraw]):
(-[WebView _boundsChanged]):
(-[WebView addSizeObservers]):
(-[WebView viewDidMoveToWindow]):
(-[WebView viewDidMoveToSuperview]):
2008-10-07 David Hyatt <hyatt@apple.com>
Make sure WebView listens for size changes and resizes the frame view in viewless mode.
Reviewed by Sam Weinig
* WebView/WebView.mm:
(-[WebView addSizeObservers]):
(-[WebView viewDidMoveToWindow]):
(-[WebView viewDidMoveToSuperview]):
2008-10-06 David Hyatt <hyatt@apple.com>
Enable viewless Mac WebKit to paint some basic pages.
Reviewed by Sam Weinig
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::windowResizerRect):
(WebChromeClient::repaint):
(WebChromeClient::screenToWindow):
(WebChromeClient::windowToScreen):
(WebChromeClient::platformWindow):
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::forceLayoutForNonHTML):
(WebFrameLoaderClient::dispatchDidCommitLoad):
(WebFrameLoaderClient::transitionToCommittedForNewPage):
(WebFrameLoaderClient::createFrame):
* WebView/WebFrame.mm:
(-[WebFrame _drawRect:contentsOnly:]):
* WebView/WebFrameInternal.h:
* WebView/WebFrameView.mm:
* WebView/WebFrameViewInternal.h:
* WebView/WebHTMLView.mm:
(-[WebHTMLView drawSingleRect:]):
(-[WebHTMLView drawRect:]):
* WebView/WebView.mm:
(-[WebView isFlipped]):
(-[WebView _boundsChanged]):
(-[WebView _mustDrawUnionedRect:singleRects:count:]):
(-[WebView drawSingleRect:]):
(-[WebView drawRect:]):
(-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
(-[WebView initWithFrame:frameName:groupName:]):
(-[WebView _initWithFrame:frameName:groupName:usesDocumentViews:]):
(-[WebView initWithCoder:]):
(-[WebView removeSizeObservers]):
(-[WebView viewWillMoveToWindow:]):
(-[WebView viewWillMoveToSuperview:]):
(-[WebView _usesDocumentViews]):
* WebView/WebViewInternal.h:
2008-10-06 Kevin Decker <kdecker@apple.com>
Rubber-stamped by Anders Carlsson.
Rename _webkit_applicationCacheDirectoryWithBundleIdentifier to _webkit_localCacheDirectoryWithBundleIdentifier.
* Misc/WebKitNSStringExtras.h:
* Misc/WebKitNSStringExtras.m:
(+[NSString _webkit_localCacheDirectoryWithBundleIdentifier:]):
* WebView/WebDataSource.mm:
(-[WebDataSource _transferApplicationCache:]):
* WebView/WebView.mm:
(WebKitInitializeApplicationCachePathIfNecessary):
2008-10-06 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Make WebNetscapePluginStream a WebCore::NetscapePlugInStreamLoaderClient.
* Plugins/WebBaseNetscapePluginStream.h:
(WebNetscapePluginStream::~WebNetscapePluginStream):
* Plugins/WebBaseNetscapePluginStream.mm:
(WebNetscapePluginStream::didReceiveResponse):
(-[WebBaseNetscapePluginStream startStreamWithResponse:]):
(WebNetscapePluginStream::wantsAllStreams):
(-[WebBaseNetscapePluginStream wantsAllStreams]):
(WebNetscapePluginStream::didFail):
(-[WebBaseNetscapePluginStream destroyStreamWithError:]):
(WebNetscapePluginStream::didFinishLoading):
(-[WebBaseNetscapePluginStream finishedLoading]):
(WebNetscapePluginStream::didReceiveData):
(-[WebBaseNetscapePluginStream receivedData:]):
2008-10-06 Anders Carlsson <andersca@apple.com>
Bring back the stop method. It was called through performSelector, which
is why I couldn't find any references to it.
* Plugins/WebBaseNetscapePluginStream.h:
* Plugins/WebBaseNetscapePluginStream.mm:
(-[WebBaseNetscapePluginStream stop]):
2008-10-06 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
More conversion and cleanup.
* Plugins/WebBaseNetscapePluginStream.h:
* Plugins/WebBaseNetscapePluginStream.mm:
(WebNetscapePluginStream::startStream):
(-[WebBaseNetscapePluginStream startStreamWithResponse:]):
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
2008-10-06 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Fold initWithRequestURL into initWithRequest.
* Plugins/WebBaseNetscapePluginStream.h:
* Plugins/WebBaseNetscapePluginStream.mm:
(-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
2008-10-06 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Change the init methods not to return nil on failures. (These failures never occur anyway)
Use initWithRequest as the initializer, initWithRequestURL is going to be merged with it.
* Plugins/WebBaseNetscapePluginStream.mm:
(-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
(-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
2008-10-06 Anders Carlsson <andersca@apple.com>
Reviewed by David Hyatt.
Convert more methods over to C++.
* Plugins/WebBaseNetscapePluginStream.h:
* Plugins/WebBaseNetscapePluginStream.mm:
(WebNetscapePluginStream::ownerForStream):
(WebNetscapePluginStream::pluginCancelledConnectionError):
(WebNetscapePluginStream::errorForReason):
(-[WebBaseNetscapePluginStream errorForReason:]):
(-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
(WebNetscapePluginStream::cancelLoadAndDestroyStreamWithError):
(-[WebBaseNetscapePluginStream cancelLoadAndDestroyStreamWithError:]):
(WebNetscapePluginStream::deliverData):
(WebNetscapePluginStream::deliverDataTimerFired):
(WebNetscapePluginStream::deliverDataToFile):
(-[WebBaseNetscapePluginStream finishedLoading]):
(-[WebBaseNetscapePluginStream receivedData:]):
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView destroyStream:reason:]):
2008-10-06 David Hyatt <hyatt@apple.com>
Add SPI for a new viewless WebKit mode. The idea is that when this flag is set there will be no
views created except for the outermost WebView.
Reviewed by Tim Hatcher
* WebView/WebView.mm:
* WebView/WebViewInternal.h:
2008-10-06 Anders Carlsson <andersca@apple.com>
Reviewed by David Hyatt.
Convert more methods over to C++.
* Plugins/WebBaseNetscapePluginStream.h:
* Plugins/WebBaseNetscapePluginStream.mm:
(WebNetscapePluginStream::reasonForError):
(WebNetscapePluginStream::destroyStreamWithReason):
(WebNetscapePluginStream::cancelLoadWithError):
(-[WebBaseNetscapePluginStream cancelLoadWithError:]):
(WebNetscapePluginStream::destroyStreamWithError):
(-[WebBaseNetscapePluginStream destroyStreamWithError:]):
(-[WebBaseNetscapePluginStream cancelLoadAndDestroyStreamWithError:]):
(-[WebBaseNetscapePluginStream _deliverDataToFile:]):
(-[WebBaseNetscapePluginStream finishedLoading]):
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView webFrame:didFinishLoadWithError:]):
2008-10-04 Darin Adler <darin@apple.com>
Reviewed by Cameron Zwarich.
- https://bugs.webkit.org/show_bug.cgi?id=21295
Bug 21295: Replace ExecState with a call frame Register pointer
* WebView/WebScriptDebugger.mm:
(WebScriptDebugger::WebScriptDebugger): Remove 0 passed for ExecState.
2008-10-03 John Sullivan <sullivan@apple.com>
Fixed Release build
* Plugins/WebBaseNetscapePluginStream.mm:
(WebNetscapePluginStream::destroyStream):
added !LOG_DISABLED guard around declaration of npErr used only in LOG
2008-10-03 Anders Carlsson <andersca@apple.com>
Reviewed by David Hyatt.
Convert destroyStream over to C++.
* Plugins/WebBaseNetscapePluginStream.h:
* Plugins/WebBaseNetscapePluginStream.mm:
(WebNetscapePluginStream::destroyStream):
(-[WebBaseNetscapePluginStream _destroyStreamWithReason:]):
(-[WebBaseNetscapePluginStream _deliverData]):
2008-10-03 Anders Carlsson <andersca@apple.com>
Reviewed by David Hyatt.
Use a Timer instead of -[NSObject performSelector:withObject:afterDelay];
* Plugins/WebBaseNetscapePluginStream.h:
(WebNetscapePluginStream::WebNetscapePluginStream):
* Plugins/WebBaseNetscapePluginStream.mm:
(-[WebBaseNetscapePluginStream _destroyStream]):
(-[WebBaseNetscapePluginStream _deliverData]):
(WebNetscapePluginStream::deliverDataTimerFired):
2008-10-03 Anders Carlsson <andersca@apple.com>
Reviewed by David Hyatt.
More plug-in stream cleanup.
* Plugins/WebBaseNetscapePluginStream.h:
(WebNetscapePluginStream::create):
(WebNetscapePluginStream::WebNetscapePluginStream):
* Plugins/WebBaseNetscapePluginStream.mm:
(-[WebBaseNetscapePluginStream initWithFrameLoader:]):
(-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
(-[WebBaseNetscapePluginStream dealloc]):
(-[WebBaseNetscapePluginStream finalize]):
(-[WebBaseNetscapePluginStream setPlugin:]):
(WebNetscapePluginStream::setPlugin):
(-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
(-[WebBaseNetscapePluginStream _destroyStream]):
2008-10-03 David Hyatt <hyatt@apple.com>
Remove addToDirtyRegion.
Reviewed by Oliver Hunt
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
2008-10-02 David Hyatt <hyatt@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=21328
Make widget invalidation more cross-platform.
(1) Make invalidateRect a pure virtual function on Widget. All leaf widgets must now implement this function.
(2) Scrollbars now send invalidations through the ScrollbarClient. windowClipRect on ScrollbarClient has been removed and replaced with this invalidation call.
This allows all scrollbar invalidations to go through the render tree so that transforms and reflections will be respected.
(3) Plugins now have the native window invalidation code for windowed plugins. Windowless plugins do a repaintRectangle on the plugin's renderer.
(4) FrameViews now do a repaintRectangle on their owner element's renderer.
Reviewed by Sam Weinig
* WebCoreSupport/WebFrameLoaderClient.mm:
(PluginWidget::PluginWidget):
(PluginWidget::invalidateRect):
(NetscapePluginWidget::NetscapePluginWidget):
(WebFrameLoaderClient::createPlugin):
2008-10-02 Darin Adler <darin@apple.com>
Reviewed by Geoff Garen.
- https://bugs.webkit.org/show_bug.cgi?id=21321
Bug 21321: speed up JavaScriptCore by inlining Heap in JSGlobalData
* Misc/WebCoreStatistics.mm:
(+[WebCoreStatistics javaScriptObjectsCount]): Use heap. instead of heap-> to
work with the heap.
(+[WebCoreStatistics javaScriptGlobalObjectsCount]): Ditto.
(+[WebCoreStatistics javaScriptProtectedObjectsCount]): Ditto.
(+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]): Ditto.
(+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]): Ditto.
(+[WebCoreStatistics javaScriptReferencedObjectsCount]): Ditto.
2008-10-02 David Hyatt <hyatt@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=21314
Make scrollBackingStore cross-platform.
Reviewed by Sam Weinig
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::repaint):
(WebChromeClient::scroll):
2008-10-01 Geoffrey Garen <ggaren@apple.com>
Reviewed by Darin Adler and Cameron Zwarich.
Updated for JavaScriptCore API changes: use a SourceCode instead of
broken out parameters; treat sourceId as intptr_t.
We still treat sourceId as int in some cases because of DashCode. See
<rdar://problem/6263293> WebScriptDebugDelegate should use intptr_t for
sourceId, not int.
* WebView/WebScriptDebugger.h:
* WebView/WebScriptDebugger.mm:
(toNSString):
(WebScriptDebugger::sourceParsed):
(WebScriptDebugger::callEvent):
(WebScriptDebugger::atStatement):
(WebScriptDebugger::returnEvent):
(WebScriptDebugger::exception):
(WebScriptDebugger::willExecuteProgram):
(WebScriptDebugger::didExecuteProgram):
(WebScriptDebugger::didReachBreakpoint):
2008-10-01 David Hyatt <hyatt@apple.com>
Move prohibitsScrolling from the Frame to the ScrollView.
Reviewed by Sam Weinig
* WebView/WebView.mm:
(-[WebView setProhibitsMainFrameScrolling:]):
2008-10-01 David Hyatt <hyatt@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=21282
Make contentsToScreen/screenToContents cross-platform. Only implemented by Mac/Win right now.
Reviewed by Adam Roben
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::repaint):
(WebChromeClient::screenToWindow):
(WebChromeClient::windowToScreen):
2008-09-30 Dave Hyatt <hyatt@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=21269
This patch makes the ScrollView::paint method cross-platform. The paint method calls the base class
Widget paint on platforms with native widgets (Mac and wx). Otherwise it calls a virtual function,
paintContents, to paint the ScrollView's contents, and then it paints each of the two scrollbars and
the scrollbar corner.
The scrollbar themes are now responsible for painting scrollbar corners. At the moment ScrollbarThemeWin still
paints white (which is incorrect), so a future patch will actually implement proper native scroll corner painting
for Windows.
paintContents is implemented by FrameView, and replaces Frame::paint. All of the FramePrivate member
variables used by Frame::paint have moved to FrameViewPrivate instead. All callers of Frame::paint have
been patched to use FrameView::paintContents instead.
Reviewed by Darin Adler
* WebView/WebFrame.mm:
(-[WebFrame _drawRect:]):
2008-09-30 Kevin Decker <kdecker@apple.com>
Reviewed by Anders Carlsson.
Remove the NPDrawingModelOpenGL entirely. To my knowledge no shipping plug-in ever used it, and no other browser engine
ever supported it.
* Plugins/WebBaseNetscapePluginView.h: Removed AGL.h import and OpenGL related ivars.
* Plugins/WebBaseNetscapePluginView.mm: Removed soft linking for OpenGL and AGL frameworks.
Also removed many methods AGL/CGL support methods that are no longer necessary.
(-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): Removed NPDrawingModelOpenGL related code.
(-[WebBaseNetscapePluginView restorePortState:]): Ditto.
(-[WebBaseNetscapePluginView sendEvent:isDrawRect:]): Ditto.
(-[WebBaseNetscapePluginView isNewWindowEqualToOldWindow]): Ditto.
(-[WebBaseNetscapePluginView setWindowIfNecessary]): Ditto.
(-[WebBaseNetscapePluginView stop]): Ditto.
(-[WebBaseNetscapePluginView dealloc]): Ditto.
(-[WebBaseNetscapePluginView drawRect:]):
(-[WebBaseNetscapePluginView viewWillMoveToWindow:]): Ditto.
(-[WebBaseNetscapePluginView invalidateRegion:]): Ditto.
(-[WebBaseNetscapePluginView getVariable:value:]): Tell plug-ins WebKit does not support NPDrawingModelOpenGL.
(-[WebBaseNetscapePluginView setVariable:value:]): Removed NPDrawingModelOpenGL related code.
(-[WebBaseNetscapePluginView _viewHasMoved]): Ditto.
2008-09-30 Dave Hyatt <hyatt@apple.com>
http://bugs.webkit.org/show_bug.cgi?id=21250
Rename updateContents to repaintContentRectangle and make it cross-platform by always sending
repaints up through the ChromeClient.
Reviewed by Darin Adler
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::repaint):
2008-09-30 Anders Carlsson <andersca@apple.com>
Reviewed by Mark Rowe and Adam Roben.
No need to use pointers to store C++ objects as pointers in WebViewPrivate, we can just
store them directly.
* Configurations/Base.xcconfig:
Set GCC_OBJC_CALL_CXX_CDTORS to YES.
* WebView/WebView.mm:
(-[WebViewPrivate init]):
(-[WebViewPrivate dealloc]):
(-[WebViewPrivate finalize]):
(-[WebView _preferencesChangedNotification:]):
(-[WebView setApplicationNameForUserAgent:]):
(-[WebView setCustomUserAgent:]):
(-[WebView customUserAgent]):
(-[WebView WebCore::_userAgentForURL:WebCore::]):
(-[WebView _addObject:forIdentifier:]):
(-[WebView _objectForIdentifier:]):
(-[WebView _removeObjectForIdentifier:]):
2008-09-29 Thiago Macieira <thiago.macieira@nokia.com>
Reviewed by Simon.
Changed copyright from Trolltech ASA to Nokia.
Nokia acquired Trolltech ASA, assets were transferred on September 26th 2008.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebEditorClient.mm:
2008-09-28 Timothy Hatcher <timothy@apple.com>
Improves the Web Inspector node highlight so it does not scroll
to reveal the node in the page. This makes the highlight less
invasive and causes less things to change on screen. Also makes
the highlight redraw when the WebView draws, so it stays current
if the node changes on the page for any reason.
<rdar://problem/6115804> Don't scroll when highlighting (21000)
https://bugs.webkit.org/show_bug.cgi?id=21000
Reviewed by Dan Bernstein.
* WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController highlightNode:]): Call setNeedsDisplay:YES
if there is an existing highlight.
(-[WebInspectorWindowController didAttachWebNodeHighlight:]): Set the current
highlight node on the inspected WebView.
(-[WebInspectorWindowController willDetachWebNodeHighlight:]): Set the current
highlight node on the inspected WebView to nil.
* WebInspector/WebNodeHighlight.m:
(-[WebNodeHighlight setNeedsUpdateInTargetViewRect:]): Disable screen updates
until flush for the inspected window. Invalidate the whole highlight view since
we don't know the rect that needs updated since the highlight can be larger than
the highlighted element due to the margins and other factors.
* WebInspector/WebNodeHighlightView.m:
* WebView/WebHTMLView.mm:
(-[WebHTMLView drawSingleRect:]): Call setNeedsUpdateInTargetViewRect: on the
current highlight node.
* WebView/WebView.mm:
(-[WebViewPrivate dealloc]): Release the current highlight node.
(-[WebView setCurrentNodeHighlight:]): Set the current highlight node.
(-[WebView currentNodeHighlight]): Return the current highlight node.
* WebView/WebViewInternal.h:
2008-09-28 David Kilzer <ddkilzer@apple.com>
Fix build warning in WebDefaultUIDelegate.m
Reviewed by Dan Bernstein.
This fixes a warning noticed by the clang static analyzer:
.../WebDefaultUIDelegate.m: In function ‘-[WebDefaultUIDelegate webViewFirstResponder:]’:
.../WebDefaultUIDelegate.m:92: warning: initialization from distinct Objective-C type
Note that this doesn't actually cause any change in behavior since
the gcc compiler ignores the semi-colon anyway.
* DefaultDelegates/WebDefaultUIDelegate.m:
(-[WebDefaultUIDelegate webViewFirstResponder:]): Removed semi-colon
from method signature.
2008-09-27 David Hyatt <hyatt@apple.com>
Fix for https://bugs.webkit.org/show_bug.cgi?id=21182
Make sure Mac null checks the view like the other platforms do now that Mac goes through WebCore
to call setAllowsScrolling.
Reviewed by Mark Rowe
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::createFrame):
2008-09-27 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=21178
<rdar://problem/6248651>
Check if the plug-in is allowed to load the resource. This matches Firefox.
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
2008-09-26 Matt Lilek <webkit@mattlilek.com>
Reviewed by Tim Hatcher.
Update FEATURE_DEFINES after ENABLE_CROSS_DOCUMENT_MESSAGING was removed.
* Configurations/WebKit.xcconfig:
2008-09-26 David Hyatt <hyatt@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=21164
Rework concept of allowsScrolling/setAllowsScrolling to be cross-platform.
Reviewed by Sam Weinig
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::createFrame):
* WebView/WebDynamicScrollBarsView.h:
* WebView/WebDynamicScrollBarsView.m:
* WebView/WebDynamicScrollBarsViewInternal.h:
* WebView/WebFrameView.mm:
(-[WebFrameView setAllowsScrolling:]):
(-[WebFrameView allowsScrolling]):
2008-09-26 David Hyatt <hyatt@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=21149
More refactoring to make scrollbar modes cross-platform. Reduce the protocol that
WebDynamicScrollBarsView has to implement for communicating with WebCore to just three methods.
Reviewed by Sam Weinig
* WebView/WebDynamicScrollBarsView.m:
(-[WebDynamicScrollBarsView scrollingModes:WebCore::vertical:WebCore::]):
(-[WebDynamicScrollBarsView setHorizontalScrollingMode:andLock:]):
(-[WebDynamicScrollBarsView setVerticalScrollingMode:andLock:]):
(-[WebDynamicScrollBarsView setScrollingModes:vertical:andLock:]):
* WebView/WebDynamicScrollBarsViewInternal.h:
* WebView/WebFrameView.mm:
(-[WebFrameView setAllowsScrolling:]):
* WebView/WebView.mm:
(-[WebView setAlwaysShowVerticalScroller:]):
(-[WebView setAlwaysShowHorizontalScroller:]):
2008-09-26 David Kilzer <ddkilzer@apple.com>
Fix Mac build with XSLT disabled
Reviewed by Alexey.
* Misc/WebCache.mm:
(+[WebCache statistics]): Populate xslStyleSheet statistics with
zeros if XSLT is disabled.
2008-09-25 David Hyatt <hyatt@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=21101
Fix the updating of the active state to not be dumb, so that viewless scrollbars repaint properly.
Reviewed by Tim Hatcher
* WebView/WebHTMLView.mm:
(-[WebHTMLView _updateFocusedAndActiveState]):
2008-09-24 Darin Adler <darin@apple.com>
Reviewed by Dan Bernstein.
- https://bugs.webkit.org/show_bug.cgi?id=21079
<rdar://problem/6203938> Disallow embedding Safari-generated pages
(e.g bookmarks collection) in subframes
* DefaultDelegates/WebDefaultPolicyDelegate.m:
(-[WebDefaultPolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]):
Use the new +[WebView _canHandleRequest:forMainFrame:] so we can give
a different answer for the main frame and subframes.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::canHandleRequest): Ditto.
* WebView/WebView.mm:
(+[WebView _canHandleRequest:forMainFrame:]): Added forMainFrame. Only look
for scheme-specific representations for the main frame, not subframes.
(+[WebView _canHandleRequest:]): Give answer for main frame -- calls the
method above with YES for main frame.
* WebView/WebViewInternal.h: Added _canHandleRequest:forMainFrame:.
2008-09-23 David Hyatt <hyatt@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=21039
Teach the viewless Mac scrollbar how to avoid the NSWindow resizer.
Reviewed by Sam Weinig
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::windowResizerRect):
2008-09-23 Dan Bernstein <mitz@apple.com>
Reviewed by Beth Dakin.
- fix <rdar://problem/6233388> Crash beneath -[WebFrameView keyDown:]
Test: fast/events/keydown-remove-frame.html
* WebView/WebFrameView.mm:
(-[WebFrameView keyDown:]): Added a null check.
2008-09-21 Dirk Schulze <vbs85@gmx.de>
Reviewed and landed by Eric Seidel.
Moved CGFloat definition to WebKitPrefix so CGFloat can be used more
freely throughout WebCore without worrying about breaking Tiger.
* Misc/WebTypesInternal.h: Removed it from here.
* WebKitPrefix.h: Added it here.
2008-09-20 Matt Lilek <webkit@mattlilek.com>
Reviewed by Tim Hatcher.
Revert r35688. We use a textured window on Leopard, which does not have the
square corners of the standard Aqua window on Tiger.
* WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController window]): Add back the call to WKNSWindowMakeBottomCornersSquare.
2008-09-19 Darin Adler <darin@apple.com>
Reviewed by Dan Bernstein.
- speculative fix for https://bugs.webkit.org/show_bug.cgi?id=20943
Assertion failure in RefCountedLeakCounter::cancelMessageSuppression() when closing a window
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]): Moved call to
RefCountedLeakCounter::suppressMessages in here.
(-[WebView initWithFrame:frameName:groupName:]): Moved it out of here.
2008-09-18 Mark Rowe <mrowe@apple.com>
Reviewed by Dan Bernstein.
Add SPI to WebView to allow DRT to clear the main frame's name between tests.
* WebView/WebView.mm:
(-[WebView _clearMainFrameName]):
* WebView/WebViewPrivate.h:
2008-09-18 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
- fix https://bugs.webkit.org/show_bug.cgi?id=20925
LEAK messages appear every time I quit
* WebView/WebPreferences.mm:
(-[WebPreferences setFullDocumentTeardownEnabled:]): Removed unneeded call
to setLogLeakMessages.
* WebView/WebView.mm:
(-[WebView _closeWithFastTeardown]): Call RefCountedLeakCounter::suppressMessages,
telling it that we can't track leaks because at least one WebView was closed with
fast teardown.
(-[WebView _close]): Removed unneeded call to setLogLeakMessages. Added a call to
cancelMessageSuppression since the WebView is no longer open.
Added an explicit garbage collect to help with the case where we're closing during
the quit process -- the garbageCollectSoon() calls done inside WebCore won't help
us in that case.
(-[WebView initWithFrame:frameName:groupName:]): Call
RefCountedLeakCounter::suppressMessages telling it that we can't track leaks
because at least one WebView is currently open.
2008-09-18 Anders Carlsson <andersca@apple.com>
Reviewed by Adam Roben.
Move the remainder of the stream ivars to the C++ object.
* Plugins/WebBaseNetscapePluginStream.h:
(WebNetscapePluginStream::WebNetscapePluginStream):
* Plugins/WebBaseNetscapePluginStream.mm:
(-[WebBaseNetscapePluginStream _pluginCancelledConnectionError]):
(-[WebBaseNetscapePluginStream initWithFrameLoader:]):
(-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
(-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
(-[WebBaseNetscapePluginStream dealloc]):
(-[WebBaseNetscapePluginStream finalize]):
(-[WebBaseNetscapePluginStream setPlugin:]):
(-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
(-[WebBaseNetscapePluginStream start]):
(-[WebBaseNetscapePluginStream stop]):
(-[WebBaseNetscapePluginStream wantsAllStreams]):
(-[WebBaseNetscapePluginStream _destroyStream]):
(-[WebBaseNetscapePluginStream _destroyStreamWithReason:]):
(-[WebBaseNetscapePluginStream cancelLoadWithError:]):
(-[WebBaseNetscapePluginStream _deliverData]):
2008-09-17 David Hyatt <hyatt@apple.com>
Make the notion of Widget having an underlying native widget cross-platform.
Reviewed by Sam Weinig
* WebCoreSupport/WebFrameLoaderClient.mm:
(NetscapePluginWidget::handleEvent):
* WebView/WebFrame.mm:
(-[WebFrame _dragSourceMovedTo:]):
(-[WebFrame _dragSourceEndedAt:operation:]):
* WebView/WebFrameView.mm:
(-[WebFrameView _install]):
* WebView/WebRenderNode.mm:
(copyRenderNode):
2008-09-16 Anders Carlsson <andersca@apple.com>
Reviewed by Cameron Zwarich.
Move more instance variables down to the C++ class.
* Plugins/WebBaseNetscapePluginStream.h:
(WebNetscapePluginStream::WebNetscapePluginStream):
* Plugins/WebBaseNetscapePluginStream.mm:
(-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
(-[WebBaseNetscapePluginStream dealloc]):
(-[WebBaseNetscapePluginStream finalize]):
(-[WebBaseNetscapePluginStream transferMode]):
(-[WebBaseNetscapePluginStream plugin]):
(-[WebBaseNetscapePluginStream setPlugin:]):
(-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
(-[WebBaseNetscapePluginStream wantsAllStreams]):
(-[WebBaseNetscapePluginStream _destroyStream]):
(-[WebBaseNetscapePluginStream _destroyStreamWithReason:]):
(-[WebBaseNetscapePluginStream _deliverData]):
(-[WebBaseNetscapePluginStream _deliverDataToFile:]):
(-[WebBaseNetscapePluginStream finishedLoading]):
(-[WebBaseNetscapePluginStream receivedData:]):
2008-09-16 Anders Carlsson <andersca@apple.com>
Reviewed by Dave Hyatt.
Move a bunch of instance variables into the C++ class.
* Plugins/WebBaseNetscapePluginStream.h:
* Plugins/WebBaseNetscapePluginStream.mm:
(-[WebBaseNetscapePluginStream _pluginCancelledConnectionError]):
(-[WebBaseNetscapePluginStream errorForReason:]):
(-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
(-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
(-[WebBaseNetscapePluginStream dealloc]):
(-[WebBaseNetscapePluginStream setRequestURL:]):
(-[WebBaseNetscapePluginStream setResponseURL:]):
(-[WebBaseNetscapePluginStream setMIMEType:]):
(-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
(-[WebBaseNetscapePluginStream _destroyStream]):
(-[WebBaseNetscapePluginStream _destroyStreamWithReason:]):
(-[WebBaseNetscapePluginStream _deliverData]):
(-[WebBaseNetscapePluginStream receivedData:]):
2008-09-16 Anders Carlsson <andersca@apple.com>
Reviewed by Dave Hyatt.
Add a new WebNetscapePluginStream C++ class. The idea is that it is supposed to replace the Obj-C
WebBaseNetscapePluginStream class. The plan is to gradually move/rewrite code from the Obj-C class to the C++ class
until the C++ class can replace the Obj-C class.
* Plugins/WebBaseNetscapePluginStream.h:
(WebNetscapePluginStream::create):
(WebNetscapePluginStream::WebNetscapePluginStream):
* Plugins/WebBaseNetscapePluginStream.mm:
(-[WebBaseNetscapePluginStream initWithFrameLoader:]):
(-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
(-[WebBaseNetscapePluginStream dealloc]):
(-[WebBaseNetscapePluginStream finalize]):
2008-09-16 Anders Carlsson <andersca@apple.com>
Reviewed by Dave Hyatt.
Instead of storing a pointer to NPP method individually, just store a pointer to the NPNetscapeFuncs vtable.
* Plugins/WebBaseNetscapePluginStream.h:
* Plugins/WebBaseNetscapePluginStream.mm:
(-[WebBaseNetscapePluginStream setPlugin:]):
(-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
(-[WebBaseNetscapePluginStream wantsAllStreams]):
(-[WebBaseNetscapePluginStream _destroyStream]):
(-[WebBaseNetscapePluginStream _deliverData]):
* Plugins/WebNetscapePluginPackage.h:
* Plugins/WebNetscapePluginPackage.m:
(-[WebNetscapePluginPackage pluginFuncs]):
2008-09-16 Anders Carlsson <andersca@apple.com>
Reviewed by Dave Hyatt.
Remove references to WebNetscapePluginStream.
* Plugins/WebBaseNetscapePluginView.h:
* Plugins/WebNetscapePluginEmbeddedView.h:
2008-09-15 Dan Bernstein <mitz@apple.com>
Reviewed by Dave Hyatt.
- fix https://bugs.webkit.org/show_bug.cgi?id=20860
REGRESSION: Crash in RenderLayer::hasVisibleContent() loading wavy.com
* WebView/WebFrame.mm:
(-[WebFrame _getVisibleRect:]): Changed to check if the RenderPart has
layout before accessing it, instead of checking if the frame inside it
has layout.
2008-09-15 Chris Fleizach <cfleizach@apple.com>
Reviewed by Darin Adler, Beth Dakin
Support strings for AXLists
* WebCoreSupport/WebViewFactory.mm:
(-[WebViewFactory AXDefinitionListTermText]):
(-[WebViewFactory AXDefinitionListDefinitionText]):
2008-09-15 Anders Carlsson <andersca@apple.com>
Reviewed by Mitz.
Merge WebNetscapePluginStream into WebBaseNetscapePluginStream.
* Plugins/WebBaseNetscapePluginStream.h:
* Plugins/WebBaseNetscapePluginStream.mm:
(-[WebBaseNetscapePluginStream initWithFrameLoader:]):
(-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
(-[WebBaseNetscapePluginStream dealloc]):
(-[WebBaseNetscapePluginStream finalize]):
(-[WebBaseNetscapePluginStream start]):
(-[WebBaseNetscapePluginStream stop]):
(-[WebBaseNetscapePluginStream cancelLoadWithError:]):
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView pluginView:receivedResponse:]):
(-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
* Plugins/WebNetscapePluginEmbeddedView.mm:
* Plugins/WebNetscapePluginStream.h: Removed.
* Plugins/WebNetscapePluginStream.mm: Removed.
2008-09-12 John Sullivan <sullivan@apple.com>
Fixed <rdar://problem/6110941> Clicking the print button in PDF content does nothing
Reviewed by Darin Adler
* WebView/WebPDFView.mm:
(-[WebPDFView PDFViewPerformPrint:]):
Implemented PDFKit delegate method that's called after a Print action in the PDF content
2008-09-12 Dan Bernstein <mitz@apple.com>
Reviewed by John Sullivan.
- fix a crash in -visibleRect when it is called during WebFrameView deallocation
* WebView/WebFrameView.mm:
(-[WebFrameView visibleRect]): Added an early return if _private is 0.
2008-09-11 Dan Bernstein <mitz@apple.com>
Reviewed by John Sullivan.
- eliminate excessive repainting when a clipped iframe is moved (noticed in <rdar://problem/6204032>)
* WebView/WebFrame.mm:
(-[WebFrame _getVisibleRect:]): Added. If the frame is in a RenderPart
and has layout, gets the visible rect of the RenderPart and returns
YES. Returns NO otherwise.
* WebView/WebFrameInternal.h:
* WebView/WebFrameView.mm:
(-[WebFrameView visibleRect]): Added. Overrides this NSView method to
take clipping in the render tree into account.
2008-09-09 Dan Bernstein <mitz@apple.com>
- Tiger build fix
* WebCoreSupport/WebSystemInterface.m:
(InitWebCoreSystemInterface):
2008-09-09 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
- WebKit part of <rdar://problem/6206244> Use alternate character-to-glyph interface on Leopard
* WebCoreSupport/WebSystemInterface.m:
(InitWebCoreSystemInterface):
2008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
Reviewed by Maciej Stachowiak.
Bug 20704: Replace the KJS namespace
<https://bugs.webkit.org/show_bug.cgi?id=20704>
Rename the KJS namespace to JSC.
* Misc/WebCoreStatistics.mm:
* Plugins/WebBaseNetscapePluginStream.mm:
(-[WebBaseNetscapePluginStream wantsAllStreams]):
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView sendEvent:isDrawRect:]):
(-[WebBaseNetscapePluginView setWindowIfNecessary]):
(-[WebBaseNetscapePluginView start]):
(-[WebBaseNetscapePluginView createPluginScriptableObject]):
(-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
(-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
(-[WebBaseNetscapePluginView loadPluginRequest:]):
(-[WebBaseNetscapePluginView _printedPluginBitmap]):
* Plugins/WebPluginController.mm:
(+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
(-[WebPluginController startAllPlugins]):
(-[WebPluginController stopAllPlugins]):
(-[WebPluginController addPlugin:]):
(-[WebPluginController destroyPlugin:]):
(-[WebPluginController destroyAllPlugins]):
* WebView/WebFrame.mm:
* WebView/WebScriptDebugDelegate.mm:
* WebView/WebScriptDebugger.h:
* WebView/WebScriptDebugger.mm:
* WebView/WebView.mm:
(-[WebViewPrivate init]):
2008-09-05 Timothy Hatcher <timothy@apple.com>
Correct a typo in the setApplicationChromeModeEnabledEnabled:
method name, remove the extra "Enabled".
* WebView/WebPreferences.mm:
* WebView/WebPreferencesPrivate.h:
2008-09-04 Mark Rowe <mrowe@apple.com>
Reviewed by Eric Seidel.
Fix https://bugs.webkit.org/show_bug.cgi?id=20639.
Bug 20639: ENABLE_DASHBOARD_SUPPORT does not need to be a FEATURE_DEFINE
* Configurations/WebKit.xcconfig: Remove ENABLE_DASHBOARD_SUPPORT from FEATURE_DEFINES.
2008-09-03 Eric Seidel <eric@webkit.org>
Reviewed by Sam.
Clean up Platform.h and add PLATFORM(CHROMIUM), PLATFORM(SKIA) and USE(V8_BINDINGS)
* Configurations/WebKit.xcconfig:
* WebKitPrefix.h: add rules for V8_BINDINGS
2008-09-01 Adam Barth <abarth@webkit.org>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=19760
Add a linked-on-or-after check to prevent substitute data from loading
local resources on newer users of WebKit.
* Misc/WebKitVersionChecks.h:
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
2008-08-29 Brady Eidson <beidson@apple.com>
Reviewed by Anders
Fix regression I introducted in 35946
Already covered by media/video-click-dlbclick-standalone.html
* WebView/WebHTMLRepresentation.mm:
(-[WebHTMLRepresentation receivedData:withDataSource:]): Cancel the load here after
calling [WebFrame _receivedData:] which more closely follows the path taken by PluginDocuments
2008-08-28 Kevin McCullough <kmccullough@apple.com>
Reviewed by Geoff.
<rdar://problem/6095949> REGRESSION (5525.8-6527.1?): "this" is null
when you first hit a breakpoint in Dashcode
- We wanted to reset the callframe whenever eval() was called but
dashcode uses eval() when broken to evaluate the state of the current
call frame.
* WebView/WebScriptDebugger.mm:
(WebScriptDebugger::willExecuteProgram):
(WebScriptDebugger::didExecuteProgram):
2008-08-27 Robert Kroeger <rjkroege@liqui.org>
Tweaked by Sam Weinig.
Reviewed by Eric Seidel.
Fix https://bugs.webkit.org/show_bug.cgi?id=6595
<rdar://problem/4432150>
Right-click does not fire mouseup event
Adds a rightMouseUp handler to the WebHTMLView.
The added method generates mouseup events for button 2. The result
is that webkit will deliver mousedown and mouseup events for button
2 in a fashion identical to FireFox and will retain event ordering
identical to Internet Explorer.
Test: fast/events/mouseup-from-button2.html
* WebView/WebHTMLView.mm:
(-[WebHTMLView rightMouseUp:]):
2008-08-27 Timothy Hatcher <timothy@apple.com>
Add support for support for -webkit-appearance: default-button on the Mac platform.
<rdar://problem/6173530>
Reviewed by Dave Hyatt.
* WebCoreSupport/WebSystemInterface.m:
(InitWebCoreSystemInterface): Init AdvanceDefaultButtonPulseAnimation.
* WebView/WebPreferenceKeysPrivate.h: Added WebKitApplicationChromeModeEnabledPreferenceKey.
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]): Set WebKitApplicationChromeModeEnabledPreferenceKey to NO.
(-[WebPreferences applicationChromeModeEnabled]): Added.
(-[WebPreferences setApplicationChromeModeEnabledEnabled:]): Added.
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]): Call Settings::setApplicationChromeMode
with the value of -[WebPreferences applicationChromeModeEnabled].
2008-08-27 Brady Eidson <beidson@apple.com>
Reviewed by Anders
<rdar://problem/6134133> - Crash when loading large movie as a standalone document
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::pluginWillHandleLoadError):
2008-08-20 Dan Bernstein <mitz@apple.com>
Rubber-stamped by John Sullivan.
- rename shouldUpdateWhileHidden to shouldUpdateWhileOffscreen,
rename related methods and variables accordingly, and make
-setShouldUpdateWhileOffscreen: and -shouldUpdateWhileOffscreen
WebView API.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::transitionToCommittedForNewPage):
* WebView/WebFrame.mm:
(-[WebFrame _updateBackgroundAndUpdatesWhileOffscreen]):
* WebView/WebFrameInternal.h:
* WebView/WebHTMLView.mm:
(-[WebHTMLView windowWillOrderOnScreen:]):
* WebView/WebView.h:
* WebView/WebView.mm:
(-[WebViewPrivate init]):
(-[WebView setBackgroundColor:]):
(-[WebView setDrawsBackground:]):
(-[WebView setShouldUpdateWhileOffscreen:]):
(-[WebView shouldUpdateWhileOffscreen]):
* WebView/WebViewPrivate.h:
2008-08-18 Mark Rowe <mrowe@apple.com>
Reviewed by Darin Adler.
Switch to non-deprecated NSFileManager API.
In order to minimize #if's the new NSFileManager APIs have been implemented for
Tiger and call sites updated to use the new methods.
* Misc/WebIconDatabase.mm:
(importToWebCoreFormat):
* Misc/WebKitNSStringExtras.m:
(-[NSString _webkit_fixedCarbonPOSIXPath]):
* Misc/WebKitSystemBits.m:
* Misc/WebNSFileManagerExtras.h:
* Misc/WebNSFileManagerExtras.m: Remove implementations of methods that are not used.
(-[NSFileManager _webkit_backgroundRemoveFileAtPath:]):
(-[NSFileManager attributesOfFileSystemForPath:error:]): Implement new API for Tiger in terms of Tiger API.
(-[NSFileManager contentsOfDirectoryAtPath:error:]): Ditto.
(-[NSFileManager moveItemAtPath:toPath:error:]): Ditto.
(-[NSFileManager removeItemAtPath:error:]): Ditto.
* Plugins/WebPluginDatabase.mm:
(-[WebPluginDatabase _scanForNewPlugins]):
2008-08-20 Josh Aas <joshmoz@gmail.com>
Reviewed and landed by Anders.
<rdar://problem/6163636>
rename NPCocoaEvent's "event" struct to "data" (20446)
* Plugins/WebNetscapePluginEventHandlerCocoa.mm:
(WebNetscapePluginEventHandlerCocoa::drawRect):
(WebNetscapePluginEventHandlerCocoa::sendMouseEvent):
(WebNetscapePluginEventHandlerCocoa::flagsChanged):
(WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
(WebNetscapePluginEventHandlerCocoa::windowFocusChanged):
(WebNetscapePluginEventHandlerCocoa::focusChanged):
2008-08-20 Beth Dakin <bdakin@apple.com>
Reviewed by Darin Adler.
Fix for <rdar://problem/6145626>
Allows a WebKit client to mark a frame as not-text-searchable
through SPI.
* WebView/WebFrame.mm:
(-[WebFrame _setExcludeFromTextSearch:]):
* WebView/WebFramePrivate.h:
2008-08-19 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Geoff Garen.
Bring back shared JSGlobalData and implicit locking, because too many clients rely on it.
* ForwardingHeaders/runtime/JSLock.h: Added.
* Misc/WebCoreStatistics.mm:
(+[WebCoreStatistics javaScriptObjectsCount]):
(+[WebCoreStatistics javaScriptGlobalObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
(+[WebCoreStatistics shouldPrintExceptions]):
(+[WebCoreStatistics setShouldPrintExceptions:]):
(+[WebCoreStatistics javaScriptReferencedObjectsCount]):
* Plugins/WebBaseNetscapePluginStream.mm:
(-[WebBaseNetscapePluginStream wantsAllStreams]):
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView sendEvent:isDrawRect:]):
(-[WebBaseNetscapePluginView setWindowIfNecessary]):
(-[WebBaseNetscapePluginView start]):
(-[WebBaseNetscapePluginView createPluginScriptableObject]):
(-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
(-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
(-[WebBaseNetscapePluginView loadPluginRequest:]):
(-[WebBaseNetscapePluginView _printedPluginBitmap]):
* Plugins/WebPluginController.mm:
(+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
(-[WebPluginController startAllPlugins]):
(-[WebPluginController stopAllPlugins]):
(-[WebPluginController addPlugin:]):
(-[WebPluginController destroyPlugin:]):
(-[WebPluginController destroyAllPlugins]):
* WebView/WebFrame.mm:
(-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
* WebView/WebScriptDebugDelegate.mm:
(-[WebScriptCallFrame evaluateWebScript:]):
* WebView/WebView.mm:
(-[WebView aeDescByEvaluatingJavaScriptFromString:]):
2008-08-19 Timothy Hatcher <timothy@apple.com>
Fixes the Web Inspector flashing white while resizing after
highlighting a page element. Calling disableScreenUpdatesUntilFlush
when attaching and detaching the Inspector page highlight is bad,
since the browser window might not flush again for a while. So screen
updates could be disabled for long periods of time, causing backing store
flashing while resizing. There is no need to call disableScreenUpdatesUntilFlush
when attaching or detaching the child window.
Reviewed by John Sullivan and Kevin McCullough.
* WebInspector/WebNodeHighlight.m:
(-[WebNodeHighlight attach]): Remove the call to disableScreenUpdatesUntilFlush.
(-[WebNodeHighlight detach]): Ditto.
2008-08-19 Timothy Hatcher <timothy@apple.com>
Correctly remembers the attached state of the Web Inspector so
it opens in that state for the next window, or next launch.
Reviewed by Kevin McCullough.
* WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController attach]): Set WebKitInspectorAttachedKey
to YES in the user defaults.
(-[WebInspectorWindowController detach]): Set WebKitInspectorAttachedKey
to NO in the user defaults.
2008-08-18 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=19347
<rdar://problem/5977562> Input methods do not work after switching to a password field
and back.
Fix <rdar://problem/5522011> (The content of the password field of Safari is displayed by
reconversion) in a different way which doesn't conflict with context caching performed
by AppKit.
This original bug does not really occur in ToT or shipping Safari under Mac OS X 10.5.4,
because input methods are disabled in password fields. Attempting to reconvert text typed
with Romaji only yields a string of bullets. Still, it is probably better to match Cocoa
password field behavior and disable reconversion completely.
* WebView/WebHTMLView.mm:
(isInPasswordField): Factored out code to determine that the current selection is in
a password field.
(inputContext): Removed a hack that was breaking TSMGetActiveDocument().
(-[WebHTMLView attributedSubstringFromRange:]): Check for password fields.
(-[WebHTMLView textStorage]): Ditto.
2008-08-12 Darin Adler <darin@apple.com>
Reviewed by Geoff.
- eliminate JSValue::type()
* WebView/WebView.mm:
(aeDescFromJSValue): Rewrite to use the JSValue::is functions instead
of a switch on JSValue::type().
2008-08-17 Geoffrey Garen <ggaren@apple.com>
Reviewed by Cameron Zwarich.
Made room for a free word in JSCell.
(Updated for JavaScriptCore changes.)
2008-08-15 Mark Rowe <mrowe@apple.com>
Rubber-stamped by Geoff Garen.
<rdar://problem/6139914> Please include a _debug version of JavaScriptCore framework
* Configurations/Base.xcconfig: Factor out the debug-only settings so that they can shared
between the Debug configuration and debug Production variant.
2008-08-14 Sam Weinig <sam@webkit.org>
Reviewed by Geoffrey Garen and Timothy Hatcher.
Add WebView SPI to set HTMLTokenizer yielding parameters.
* WebView/WebView.mm:
(-[WebView _setCustomHTMLTokenizerTimeDelay:]):
(-[WebView _setCustomHTMLTokenizerChunkSize:]):
* WebView/WebViewPrivate.h:
2008-08-13 Timothy Hatcher <timothy@apple.com>
Fixes a bug where Safari's find banner would be permanently hidden
when attaching or closing the Web Inspector while attached.
https://bugs.webkit.org/show_bug.cgi?id=20376
Reviewed by Kevin McCullough.
* WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController close]):
Carefully manipulate the WebFrameView's frame when closing to
not assume the WebFrameView's frame fills the inspected WebView.
(-[WebInspectorWindowController setAttachedWindowHeight:]):
Carefully manipulate the WebFrameView's frame when docking to
not assume the WebFrameView plus the Web Inspector WebViews fills
the full inspected WebView.
2008-08-13 Stephanie Lewis <slewis@apple.com>
fix 64bit build
* WebCoreSupport/WebInspectorClient.mm:
2008-08-13 Timothy Hatcher <timothy@apple.com>
Remember the docked state of the Web Inspector, so it can be
reopened docked if it was last docked.
https://bugs.webkit.org/show_bug.cgi?id=14271
Reviewed by Kevin McCullough.
* WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController init]): Initialize _shouldAttach
to the value stored in the user defaults. If there has never
been a value stored, default to being attached.
(-[WebInspectorWindowController showWindow:]): Pass the attached
state to InspectorController::setWindowVisible.
2008-08-12 Timothy Hatcher <timothy@apple.com>
Remove the Inspector's WebView for the view hierarchy when closed
while attached. This prevents it from showing in the background
while the page changes.
Reviewed by Kevin McCullough.
* WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController close:]): Call removeFromSuperview
on the Inspector's WebView if it isn't attached, so it will not
be visible when navigating pages while closed.
2008-08-12 Timothy Hatcher <timothy@apple.com>
Make the docked Web Inspector resizable.
https://bugs.webkit.org/show_bug.cgi?id=14282
Reviewed by Kevin McCullough.
* WebCoreSupport/WebInspectorClient.h:
* WebCoreSupport/WebInspectorClient.mm:
(WebInspectorClient::setAttachedWindowHeight): Call setAttachedWindowHeight:
on the WebInspectorWindowController.
(-[WebInspectorWindowController showWindow:]): Call setAttachedWindowHeight:.
(-[WebInspectorWindowController setAttachedWindowHeight:]): Moved code
from showWindow: and generalized to allow being called multiple times.
Remembers the last height passed, which is used by showWindow: the next
time the Inspector attaches.
2008-08-12 Timothy Hatcher <timothy@apple.com>
Remove unneeded header imports from some Web Inspector files.
Reviewed by Adam Roben.
* WebCoreSupport/WebInspectorClient.mm:
* WebInspector/WebInspector.mm:
* WebInspector/WebNodeHighlightView.m:
2008-08-12 Timothy Hatcher <timothy@apple.com>
Remove the call to WKNSWindowMakeBottomCornersSquare on the
Web Inspector's window. This isn't needed anymore since the
window style masks used always have square bottom corners.
Reviewed by Adam Roben.
* WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController window]): Remove the call
to WKNSWindowMakeBottomCornersSquare.
2008-08-12 Timothy Hatcher <timothy@apple.com>
Make attaching and detaching the Web Inspector instantaneous.
This also preserves the current view, other state, and keeps
the script debugger attached.
https://bugs.webkit.org/show_bug.cgi?id=19301
Reviewed by Adam Roben.
* WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController close]): Only call setWindowVisible(false)
when not moving windows.
2008-08-12 Dan Bernstein <mitz@apple.com>
Reviewed by John Sullivan.
- replace -[WebPreferences updatesWhenOffscreen] with -[WebView shouldUpdateWhileHidden]
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::transitionToCommittedForNewPage):
* WebView/WebFrame.mm:
(-[WebFrame _updateBackgroundAndUpdatesWhileHidden]):
* WebView/WebFrameInternal.h:
* WebView/WebHTMLView.mm:
(-[WebHTMLView windowWillOrderOnScreen:]):
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebViewPrivate init]):
(-[WebView _preferencesChangedNotification:]):
(-[WebView setBackgroundColor:]):
(-[WebView setDrawsBackground:]):
(-[WebView shouldUpdateWhileHidden]):
(-[WebView setShouldUpdateWhileHidden:]):
* WebView/WebViewPrivate.h:
2008-08-08 Dan Bernstein <mitz@apple.com>
Reviewed by John Sullivan.
- fix <rdar://problem/6130216> Exception "windowRegionBeingDrawn != nil" in NSView when caching image of a subframe
This change reintroduces <https://bugs.webkit.org/show_bug.cgi?id=5195> on Leopard.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:topView:]): Removed an
unsuccessful workaround for <rdar://problem/5668489>, because invoking
layout may change the view hierarchy during the drawing operation,
which is not supported on Leopard.
2008-08-08 Maxime Britto <britto@apple.com>
Reviewed by Adele.
* WebView/WebFrame.mm:
(-[WebFrame _scrollDOMRangeToVisible:]):
2008-08-08 Brady Eidson <beidson@apple.com>
Reviewed by Sam Weinig
Fix for <rdar://problem/5865504>
This bug was actually *largely* fixed by http://trac.webkit.org/changeset/35538.
But with that same patch, it became possible for a WebResource to fail to initialize.
Therefore we were trying to add nil to an NSCFArray for certain situations, which is bad.
Lets fix that, shall we?
* WebView/WebArchive.mm:
(-[WebArchive subresources]):
2008-08-06 Eric Seidel <eric@webkit.org>
Reviewed by Cameron Zwarich.
Move more methods from Frame into ScriptController
https://bugs.webkit.org/show_bug.cgi?id=20294
The WebKit side of this move. Calls to frame() are now frame()->script()
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView getVariable:value:]):
(-[WebBaseNetscapePluginView _destroyPlugin]):
* Plugins/WebPluginController.mm:
(-[WebPluginController destroyPlugin:]):
(-[WebPluginController destroyAllPlugins]):
* WebCoreSupport/WebFrameLoaderClient.mm:
* WebView/WebFrame.mm:
(-[WebFrame windowObject]):
* WebView/WebScriptDebugger.mm:
(WebScriptDebugger::callEvent):
* WebView/WebView.mm:
(-[WebView windowScriptObject]):
2008-08-06 Dan Bernstein <mitz@apple.com>
Reviewed by Mark Rowe.
- fix an assertion failure in Cache::setCapacities()
* Misc/WebKitSystemBits.h: Changed the return type of WebMemorySize()
to uint64_t.
* Misc/WebKitSystemBits.m:
(WebMemorySize):
* WebView/WebView.mm:
(+[WebView _setCacheModel:]):
2008-08-05 Anders Carlsson <andersca@apple.com>
Pass in the correct class here.
* WebView/WebResource.mm:
(-[WebResourcePrivate dealloc]):
2008-08-05 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
<rdar://problem/6037398>
ER: Deallocate WebKit objects on the main thread, even if released on secondary thread
Add calls to WebCoreObjCScheduleDeallocateOnMainThread in dealloc methods of objects we expose.
* Carbon/CarbonWindowAdapter.m:
(-[CarbonWindowAdapter dealloc]):
* History/WebBackForwardList.mm:
(-[WebBackForwardList dealloc]):
* History/WebHistoryItem.mm:
(-[WebHistoryItem dealloc]):
* Misc/WebElementDictionary.mm:
(+[WebElementDictionary initialize]):
(-[WebElementDictionary dealloc]):
* WebCoreSupport/WebEditorClient.mm:
(-[WebEditCommand dealloc]):
* WebCoreSupport/WebFrameLoaderClient.mm:
* WebView/WebArchive.mm:
(-[WebArchivePrivate dealloc]):
* WebView/WebDataSource.mm:
(-[WebDataSourcePrivate dealloc]):
* WebView/WebHTMLView.mm:
(-[WebHTMLViewPrivate dealloc]):
(-[WebHTMLView dealloc]):
* WebView/WebResource.mm:
(-[WebResourcePrivate dealloc]):
2008-08-05 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
Remove MainThreadObjectDeallocator.{h|mm}.
* WebView/MainThreadObjectDeallocator.h: Removed.
* WebView/MainThreadObjectDeallocator.mm: Removed.
* WebView/WebView.mm:
(-[WebView dealloc]):
Call WebCoreObjCScheduleDeallocateOnMainThread instead.
2008-08-05 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
Make the main thread object deallocator work with subclasses.
* WebView/MainThreadObjectDeallocator.h:
* WebView/MainThreadObjectDeallocator.mm:
(deallocCallback):
Call the correct dealloc method.
(scheduleDeallocateOnMainThread):
Store both the class and the instance, so we know which dealloc method to call.
* WebView/WebView.mm:
(-[WebViewPrivate dealloc]):
Schedule deallocation on the main thread.
2008-08-05 Dan Bernstein <mitz@apple.com>
Reviewed by Mark Rowe and Anders Carlsson.
- fix WebMemorySize() reporting a value capped at 2GB
* misc/WebKitSystemBits.m:
(WebMemorySize): Changed to return the max_mem field, which, unlike
memory_size, is not capped at 2GB.
* WebView/WebView.mm:
(+[WebView _setCacheModel:]): Made the cache sizes for over 2GB RAM the
same as for 2GB, so that behavior on machines that have more than 2GB
RAM is not affected by the fix to WebMemorySize().
2008-08-04 Mark Rowe <mrowe@apple.com>
Build fix.
* WebView/WebHTMLView.mm:
2008-08-04 Mark Rowe <mrowe@apple.com>
Reviewed by Kevin Decker.
Adopt the formal protocols where necessary.
Final part of fix for <rdar://problem/5853147>.
* WebCoreSupport/WebInspectorClient.mm:
* WebView/WebHTMLView.mm:
* WebView/WebView.mm:
(-[WebView _openFrameInNewWindowFromMenu:]):
2008-08-04 Mark Rowe <mrowe@apple.com>
Reviewed by Darin Adler.
Declare empty protocols when using versions of AppKit that do not use formal protocols for delegates and data sources.
Part one of fix for <rdar://problem/5853147>.
* Misc/EmptyProtocolDefinitions.h:
* WebKitPrefix.h:
2008-08-04 Brady Eidson <beidson@apple.com>
Reviewed by Mitz Pettel
Fix <rdar://problem/5820157> - Saving WebArchives of Mail attachments broken.
This broke in r31355 when we stopped returning nil WebResources when there was nil
resource data.
* WebView/WebResource.mm:
(-[WebResource _initWithCoreResource:]): Restore previous behavior of returning nil
when the resource data is null.
2008-08-02 Matt Lilek <webkit@mattlilek.com>
Reviewed by Tim Hatcher.
Update the window gradient offset to match the inspector toolbar's new height.
* WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController window]):
2008-08-01 Anders Carlsson <andersca@apple.com>
Reviewed by Jon.
<rdar://problem/6120206>
Crash when plug-in queries for NPPVpluginWantsAllNetworkStreams.
Pass in a pointer to a void* to make sure that plug-ins don't overwrite the stack.
* Plugins/WebBaseNetscapePluginStream.mm:
(-[WebBaseNetscapePluginStream wantsAllStreams]):
2008-07-31 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
<rdar://problem/5949410>
Add the ability to transfer a given application cache to a new database.
* Misc/WebKitNSStringExtras.h:
* Misc/WebKitNSStringExtras.m:
(+[NSString _webkit_applicationCacheDirectoryWithBundleIdentifier:]):
New method which returns the appopriate cache directory for a given bundle identifier.
* WebView/WebDataSource.mm:
(-[WebDataSource _transferApplicationCache:]):
Transfer the application cache.
* WebView/WebDataSourcePrivate.h:
* WebView/WebView.mm:
(WebKitInitializeApplicationCachePathIfNecessary):
Change this to use _webkit_applicationCacheDirectoryWithBundleIdentifier.
2008-07-31 John Sullivan <sullivan@apple.com>
WebKit part of <rdar://problem/6116650> Text-only zoom setting should be stored in WebKit prefs
Reviewed by Hyatt
* WebView/WebPreferenceKeysPrivate.h:
added WebKitZoomsTextOnlyPreferenceKey
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
default value of YES for WebKitZoomsTextOnlyPreferenceKey
(-[WebPreferences zoomsTextOnly]):
getter for WebKitZoomsTextOnlyPreferenceKey
(-[WebPreferences setZoomsTextOnly:]):
setter for WebKitZoomsTextOnlyPreferenceKey
* WebView/WebPreferencesPrivate.h:
declare zoomsTextOnly/setZoomsTextOnly:
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]):
update WebCore::Settings value for zoomsTextOnly
2008-07-31 David D. Kilzer <ddkilzer@webkit.org>
Fix layout test results for webarchive/test-xml-stylesheet.xml
Reviewed by Darin Adler.
Needed to expose -[WebHTMLRepresentation supportedNonImageMIMETypes]
for DumpRenderTree.
* WebView/WebHTMLRepresentationInternal.h: Added.
2008-07-31 Alexey Proskuryakov <ap@webkit.org>
Release build fix.
* Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView setWindowIfNecessary]):
Don't define to npErr in release builds, as it is only used for logging.
2008-07-31 John Sullivan <sullivan@apple.com>
Fixed <https://bugs.webkit.org/show_bug.cgi?id=5195>
drawing with cacheDisplayInRect:toBitmapImageRep: doesn't trigger layout on Leopard
Reviewed by Dan
* WebView/WebHTMLView.mm:
(-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:topView:]):
include Leopard in the #ifdef that forces a layout if needed
2008-07-30 Brady Eidson <beidson@apple.com>
Reviewed by Adam and Hyatt
Fix for <rdar://problem/6099748>
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]): Set the "don't enforce CSS mime type in strict mode"
quirk when running under iWeb 2
2008-07-31 Alexey Proskuryakov <ap@webkit.org>
Rubber-stamped by Maciej.
Eliminate JSLock (it was already disabled, removing the stub implementaion and all
call sites now).
* ForwardingHeaders/runtime/JSLock.h: Removed.
* Misc/WebCoreStatistics.mm:
(+[WebCoreStatistics javaScriptObjectsCount]):
(+[WebCoreStatistics javaScriptGlobalObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
(+[WebCoreStatistics shouldPrintExceptions]):
(+[WebCoreStatistics setShouldPrintExceptions:]):
(+[WebCoreStatistics javaScriptReferencedObjectsCount]):
* Plugins/WebBaseNetscapePluginStream.mm:
(-[WebBaseNetscapePluginStream wantsAllStreams]):
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView sendEvent:isDrawRect:]):
(-[WebBaseNetscapePluginView setWindowIfNecessary]):
(-[WebBaseNetscapePluginView start]):
(-[WebBaseNetscapePluginView createPluginScriptableObject]):
(-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
(-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
(-[WebBaseNetscapePluginView loadPluginRequest:]):
(-[WebBaseNetscapePluginView _printedPluginBitmap]):
* Plugins/WebPluginController.mm:
(+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
(-[WebPluginController startAllPlugins]):
(-[WebPluginController stopAllPlugins]):
(-[WebPluginController addPlugin:]):
(-[WebPluginController destroyPlugin:]):
(-[WebPluginController destroyAllPlugins]):
* WebView/WebFrame.mm:
(-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
* WebView/WebScriptDebugDelegate.mm:
(-[WebScriptCallFrame evaluateWebScript:]):
* WebView/WebView.mm:
(-[WebView aeDescByEvaluatingJavaScriptFromString:]):
2008-07-30 Beth Dakin <bdakin@apple.com>
Reviewed by Anders Carlsson.
Fixes <rdar://problem/6041390>
Adds the ability to have a frame that is "disconnected" from the
main frame from the perspective of top and parent in
Javascript.
* WebView/WebFrame.mm:
(-[WebFrame _setIsDisconnectedFrame]):
* WebView/WebFramePrivate.h:
2008-07-29 Mark Rowe <mrowe@apple.com>
Tweak to the build fix to keep Dan happy.
* Plugins/WebBaseNetscapePluginView.mm:
* WebView/WebHTMLView.mm:
2008-07-29 Mark Rowe <mrowe@apple.com>
Build fix.
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView inputContext]):
* WebView/WebHTMLView.mm:
2008-07-28 Anders Carlsson <andersca@apple.com>
Reviewed by Kevin Decker.
Based on a patch by Dimcho Balev.
https://bugs.webkit.org/show_bug.cgi?id=18676
<rdar://problem/6106578>
Plug-In API Proposal: Enable plugins to receive response body when an HTTP error occurs
* Plugins/WebBaseNetscapePluginStream.h:
Add NPP_GetValue pointer.
* Plugins/WebBaseNetscapePluginStream.mm:
(-[WebBaseNetscapePluginStream setPlugin:]):
Initialize NPP_GetValue.
(-[WebBaseNetscapePluginStream wantsAllStreams]):
Call NPP_GetValue.
* Plugins/WebPlugInStreamLoaderDelegate.h:
* WebCoreSupport/WebNetscapePlugInStreamLoaderClient.h:
* WebCoreSupport/WebNetscapePlugInStreamLoaderClient.mm:
(WebNetscapePlugInStreamLoaderClient::wantsAllStreams):
Implement this and call down to the stream.
2008-07-28 Anders Carlsson <andersca@apple.com>
Reviewed by Adam.
<rdar://problem/6105529>
https://bugs.webkit.org/show_bug.cgi?id=19659
Turning off plugins causes crash
When an active page has plug-ins, and plug-ins are disabled, they will be stopped and will
end up in a state where they don't have an event handler. Because of this, we need to
check that the plug-in has been started before calling the event handler.
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView sendActivateEvent:]):
(-[WebBaseNetscapePluginView sendDrawRectEvent:]):
(-[WebBaseNetscapePluginView setHasFocus:]):
(-[WebBaseNetscapePluginView mouseDown:]):
(-[WebBaseNetscapePluginView mouseUp:]):
(-[WebBaseNetscapePluginView mouseEntered:]):
(-[WebBaseNetscapePluginView mouseExited:]):
(-[WebBaseNetscapePluginView handleMouseMoved:]):
(-[WebBaseNetscapePluginView mouseDragged:]):
(-[WebBaseNetscapePluginView scrollWheel:]):
(-[WebBaseNetscapePluginView keyUp:]):
(-[WebBaseNetscapePluginView keyDown:]):
(-[WebBaseNetscapePluginView flagsChanged:]):
(-[WebBaseNetscapePluginView cut:]):
(-[WebBaseNetscapePluginView copy:]):
(-[WebBaseNetscapePluginView paste:]):
(-[WebBaseNetscapePluginView selectAll:]):
(-[WebBaseNetscapePluginView drawRect:]):
(-[WebBaseNetscapePluginView inputContext]):
2008-07-26 Daniel Jalkut <jalkut@red-sweater.com>
Reviewed by Geoff Garen.
Changes to accommodate newly named/signatured loading methods in WebCore.
* Plugins/WebNetscapePluginStream.mm:
(-[WebNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
* Plugins/WebPluginContainerCheck.mm:
(-[WebPluginContainerCheck _isForbiddenFileLoad]):
* WebView/WebPDFView.mm:
(-[WebPDFView PDFViewWillClickOnLink:withURL:]):
2008-07-21 Mark Rowe <mrowe@apple.com>
Reviewed by Sam Weinig.
<rdar://problem/6091287> Revamp the handling of CFBundleShortVersionString to be fixed at the major component of the version number.
* Configurations/Version.xcconfig:
* Info.plist:
2008-07-21 Anders Carlsson <andersca@apple.com>
Reviewed by Geoff.
<rdar://problem/5820667>
CrashTracer: [USER] 3759 crashes in Safari at FrameLoader::activeDocumentLoader const + 6 while canceling plug-in load
Don't allow URLs to be loaded in response to an NPP_DestroyStream that happens when tearing down the plug-in.
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
2008-07-21 Mark Rowe <mrowe@apple.com>
Reviewed by Adam Roben.
<rdar://problem/5624143> WebView printing doesn't work correctly in x86_64
Fix the return type of an NSView method that we override so that the correct data type is used in 64-bit.
This prevents a garbage value being used for the scale factor that the NSView print machinery applies.
* WebView/WebHTMLView.mm:
2008-07-21 Mark Rowe <mrowe@apple.com>
Reviewed by Adam Roben.
Fix CallDelegateReturningFloat for x86_64. The x86_64 Objective-C runtime
only uses objc_msgSend_fpret for long double return values. For float return
values the standard objc_msgSend is used, as on ppc and ppc64.
* WebView/WebView.mm: Use objc_msgSend_float_return as the name of our version of
objc_msgSend with the correct return type. We can no longer call it objc_msgSend_fpret
as that method is defined by the Objective-C runtime for x86_64.
(CallDelegateReturningFloat):
2008-07-14 Dan Bernstein <mitz@apple.com>
Reviewed by John Sullivan.
- WebKit part of fixing <rdar://problem/6071850> Subviews not drawn correctly when using -cacheDisplayInRect:toBitmapImageRep:
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): Changed
to account for the case of being drawn into a bitmap context that is not
a window's backing store. In that case, there are no valid "rects being
drawn" to clip to.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:topView:]):
Added an override of this NSView method which is used in for
-cacheDisplayInRect:toBitmapImageRep:. Like two existing NSView drawing
machinery overrides, it sets subviews aside before invoking the
superclass implementation. On Tiger, it also updates the layout.
2008-07-14 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Geoff Garen.
Eliminate per-thread JavaScript global data instance support and make arbitrary
global data/global object combinations possible.
* Misc/WebCoreStatistics.mm:
(+[WebCoreStatistics javaScriptObjectsCount]):
(+[WebCoreStatistics javaScriptGlobalObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
(+[WebCoreStatistics javaScriptReferencedObjectsCount]):
Ask WebCore for its instance of JSGlobalData, now that it is not in per-thread storage.
2008-07-11 Stephanie Lewis <slewis@apple.com>
Reviewed by Darin Adler.
Disable WTF leak messages when using fast teardown. Use full document teardown while running in debug.
* WebView/WebPreferences.m: Removed.
* WebView/WebPreferences.mm: Copied from http:/svn.webkit.org/repository/webkit/trunk/WebKit/mac/WebView/WebPreferences.m.
(+[WebPreferences initialize]): if running in Default enable full document teardown
(-[WebPreferences editableLinkBehavior]):
(-[WebPreferences setFullDocumentTeardownEnabled:]):
* WebView/WebView.mm:
(-[WebView _close]): disable leak messages if using fast teardown
2008-07-10 Mark Rowe <mrowe@apple.com>
Reviewed by Sam Weinig.
Define WEBKIT_VERSION_MIN_REQUIRED=WEBKIT_VERSION_LATEST when building WebKit to ensure that no symbols end up with the weak_import attribute.
* Configurations/WebKit.xcconfig:
2008-07-10 Mark Rowe <mrowe@apple.com>
Reviewed by Sam Weinig.
Fix the Tiger build by omitting annotations from methods declared in categories when using old versions of GCC.
* Plugins/WebPlugin.h: Wrap annotations on methods declared in categories in the WEBKIT_CATEGORY_METHOD_ANNOTATION macro.
* WebView/WebFrameLoadDelegate.h: Ditto.
* WebView/WebUIDelegate.h: Ditto.
2008-07-10 Anders Carlsson <andersca@apple.com>
Reviewed by Mark.
Add availability macros for the new WebPlugin methods.
* Plugins/WebPlugin.h:
* Plugins/WebPluginViewFactory.h:
2008-07-09 Mark Rowe <mrowe@apple.com>
Reviewed by Geoff Garen.
Don't warn about deprecated functions in production builds.
* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
2008-07-09 Brady Eidson <beidson@apple.com>
Reviewed by Darin
<rdar://problem/5823684> - Crash manipulating frame tree of a new frame before the new frame
has been installed in a frame tree.
The root of this problem was that calling init() on a new frame could end up calling arbitrary
javascript that might end up removing the frame from the tree. This opened up a small can of worms
such as the frame not having yet been installed in its frame tree, and other assumed behavior while
destroying the frame.
Note that each platforms WebKit API layer needs to make this new guarantee:
"The new Frame must be installed in its FrameTree before newCoreFrame->init() is called"
I am fixing Mac, and Windows and GTK already have this property. Wx currently has subframes disabled
but will need to add this guarantee when re-enabling, and Qt is currently vulnerable to this same bug.
Alternately, the way frames are created right now is roundabout and asinine, and this is a key
architectural improvement we can make in the future so the individual platform clients are no longer
vulnerable to this problem, which should really have been a WebCore issue.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::createFrame): Don't bother null checking the newCoreFrame - can't be NULL.
Don't appendChild() the new frame here.
Null-check the new frame's page before loading the URL into it, as it might already have been
removed from the page.
* WebView/WebFrame.mm:
(+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]): If there is an ownerElement,
go ahead and install the new frame in the frame tree *before* calling init() on it.
2008-07-09 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
Make some WebPlugin and WebPluginFactory SPI public.
* Plugins/WebPlugin.h:
* Plugins/WebPluginPrivate.h:
* Plugins/WebPluginViewFactory.h:
* Plugins/WebPluginViewFactoryPrivate.h:
2008-07-08 Jon Honeycutt <jhoneycutt@apple.com>
Reviewed by Anders.
Port r34988 to Mac: don't call NPP_DestroyStream if NPP_NewStream was
unsuccessful.
* Plugins/WebBaseNetscapePluginStream.h: Added new member,
newStreamSuccessful.
* Plugins/WebBaseNetscapePluginStream.mm:
(-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]): Initialize new member.
(-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]): If NPP_NewStream is successful, set
newStreamSuccessful to YES.
(-[WebBaseNetscapePluginStream _destroyStream]): Only call
NPP_DestroyStream if newStreamSuccessful is true.
2008-07-08 Dan Bernstein <mitz@apple.com>
Reviewed by John Sullivan.
- WebKit part of <rdar://problem/6008409> Need a way to disable updates in offscreen views
* WebView/WebHTMLView.mm:
(-[WebHTMLView addWindowObservers]): Added code to observe when the
window goes onscreen.
(-[WebHTMLView removeWindowObservers]): Added.
(-[WebHTMLView windowWillOrderOnScreen:]): Added. If the view is set to
not update when offscreen, calls -setNeedsDisplay: just before it comes
onscreen.
* WebView/WebPreferenceKeysPrivate.h: Added preference key.
* WebView/WebPreferences.m:
(+[WebPreferences initialize]): Made updates when offscreen on by
default.
(-[WebPreferences updatesWhenOffscreen]): Added.
(-[WebPreferences setUpdatesWhenOffscreen:]): Added.
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]): Added code to update the
updatesWhenOffscreen setting in WebCore.
2008-07-07 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
Speculative fix for
<rdar://problem/5839800>
CrashTracer: [USER] 5802 crashes in Safari at com.apple.WebKit: -[WebHTMLView(WebPrivate) _updateMouseoverWithFakeEvent] + 389
Set _private->closed to YES before calling -[WebPluginController destroyAllPlugins].
My theory is that the plug-in destruction callbacks could end up rescheduling timers or re-adding notifications.
This is usually protected by _private->closed, but in this case it might still be false.
* WebView/WebHTMLView.mm:
(-[WebHTMLView close]):
2008-07-05 Mark Rowe <mrowe@apple.com>
Reviewed by John Sullivan.
Remove WebSearchableTextView as it has been unused for some time now.
* Misc/WebSearchableTextView.h: Removed.
* Misc/WebSearchableTextView.m: Removed.
2008-07-05 Mark Rowe <mrowe@apple.com>
Reviewed by John Sullivan.
Don't leak the result of WKCopyCFLocalizationPreferredName when running under GC.
* Misc/WebNSUserDefaultsExtras.m:
(-[NSString _webkit_HTTPStyleLanguageCode]):
2008-07-02 Alexey Proskuryakov <ap@webkit.org>
Inspired and reviewed by Mark Rowe.
Change non-API includes from JavaScriptCore/ to kjs/ and wtf/ to match prevalent style.
* Carbon/HIViewAdapter.m:
* DOM/WebDOMOperations.mm:
* DefaultDelegates/WebDefaultContextMenuDelegate.mm:
* DefaultDelegates/WebDefaultPolicyDelegate.m:
* History/WebBackForwardList.mm:
* History/WebHistory.mm:
* History/WebHistoryItem.mm:
* History/WebHistoryItemInternal.h:
* Misc/WebCoreStatistics.mm:
* Misc/WebDownload.m:
* Misc/WebGraphicsExtras.c:
* Misc/WebKitLogging.h:
* Misc/WebKitSystemBits.m:
* Misc/WebLocalizableStrings.m:
* Misc/WebNSArrayExtras.m:
* Misc/WebNSDataExtras.m:
* Misc/WebNSDictionaryExtras.m:
* Misc/WebNSFileManagerExtras.m:
* Misc/WebNSPasteboardExtras.mm:
* Misc/WebNSURLExtras.mm:
* Misc/WebNSUserDefaultsExtras.m:
* Panels/WebAuthenticationPanel.m:
* Panels/WebPanelAuthenticationHandler.m:
* Plugins/WebBaseNetscapePluginView.mm:
* Plugins/WebBasePluginPackage.m:
* Plugins/WebNetscapePluginEmbeddedView.mm:
* Plugins/WebPluginContainerCheck.mm:
* Plugins/WebPluginController.mm:
* Plugins/WebPluginDatabase.mm:
* WebCoreSupport/WebJavaScriptTextInputPanel.m:
* WebCoreSupport/WebKeyGenerator.m:
* WebCoreSupport/WebViewFactory.mm:
* WebKitPrefix.h:
* WebView/WebHTMLRepresentation.mm:
* WebView/WebPDFRepresentation.m:
* WebView/WebPDFView.mm:
* WebView/WebScriptDebugger.mm:
2008-07-01 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin Adler.
Disable JSLock for per-thread contexts.
* Misc/WebCoreStatistics.mm:
(+[WebCoreStatistics javaScriptObjectsCount]):
(+[WebCoreStatistics javaScriptGlobalObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
(+[WebCoreStatistics shouldPrintExceptions]):
(+[WebCoreStatistics setShouldPrintExceptions:]):
(+[WebCoreStatistics javaScriptReferencedObjectsCount]):
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView sendEvent:isDrawRect:]):
(-[WebBaseNetscapePluginView setWindowIfNecessary]):
(-[WebBaseNetscapePluginView start]):
(-[WebBaseNetscapePluginView createPluginScriptableObject]):
(-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
(-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
(-[WebBaseNetscapePluginView loadPluginRequest:]):
(-[WebBaseNetscapePluginView _printedPluginBitmap]):
* Plugins/WebPluginController.mm:
(+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
(-[WebPluginController startAllPlugins]):
(-[WebPluginController stopAllPlugins]):
(-[WebPluginController addPlugin:]):
(-[WebPluginController destroyPlugin:]):
(-[WebPluginController destroyAllPlugins]):
* WebView/WebFrame.mm:
(-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
* WebView/WebScriptDebugDelegate.mm:
(-[WebScriptCallFrame evaluateWebScript:]):
* WebView/WebView.mm:
(-[WebView aeDescByEvaluatingJavaScriptFromString:]):
Pass a parameter (always false) to JSLock and JSLock::DropAllLocks to indicate that WebKit
doesn't need locking. In the future, it may be possible to remove some of these if we
establish that this won't make JSC assertions fail (and that we don't want to add such
assertions either).
Added includes that are now needed.
2008-07-01 Kevin McCullough <kmccullough@apple.com>
Build fix.
* WebView/WebView.mm:
2008-07-01 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
Use the PluginMainThreadScheduler, and implement NPN_PluginThreadAsyncCall.
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView _createPlugin]):
Register the plug-in instance.
(-[WebBaseNetscapePluginView _destroyPlugin]):
Unegister the plug-in instance.
* Plugins/WebNetscapePluginPackage.m:
(-[WebNetscapePluginPackage load]):
Set NPN_PluginThreadAsyncCall.
* Plugins/npapi.mm:
(NPN_PluginThreadAsyncCall):
Implement this.
2008-07-01 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
- WebKit part of moving the method to set the base writing direction from Frame to Editor
* WebView/WebHTMLView.mm:
(-[WebHTMLView toggleBaseWritingDirection:]): Changed back to call the
Editor method.
(-[WebHTMLView changeBaseWritingDirection:]): Ditto.
(-[WebHTMLView _changeBaseWritingDirectionTo:]): Ditto.
2008-07-01 Geoffrey Garen <ggaren@apple.com>
Build fix: forgot to check in this file.
* WebView/WebScriptDebugger.mm:
(WebScriptDebugger::WebScriptDebugger):
2008-06-30 Dan Bernstein <mitz@apple.com>
Reviewed by Adele Peterson.
- WebKit/mac part of <rdar://problem/3881497> Writing direction context menu item has no effect on text typed in Safari
* WebView/WebHTMLView.mm:
(-[WebHTMLView toggleBaseWritingDirection:]): Changed to call
WebCore::Frame::setSelectionBaseWritingDirection() instead of
WebCore::Editor::setBaseWritingDirection().
(-[WebHTMLView changeBaseWritingDirection:]): Ditto.
(-[WebHTMLView _changeBaseWritingDirectionTo:]): Ditto.
2008-06-28 Darin Adler <darin@apple.com>
- fix build
* WebView/WebView.mm:
(aeDescFromJSValue): Use get instead of getItem, which no longer exists.
2008-06-26 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
Add a new MainThreadObjectDeallocator which can schedule dealloc calls on the main thread
if necessary. Use this for the WebView class.
* WebView/MainThreadObjectDeallocator.h: Added.
* WebView/MainThreadObjectDeallocator.mm: Added.
(deallocCallback):
(scheduleDeallocateOnMainThread):
* WebView/WebView.mm:
(-[WebViewPrivate dealloc]):
(+[WebView initialize]):
2008-06-25 Anders Carlsson <andersca@apple.com>
Reviewed by Mark.
<rdar://problem/5984270>
REGRESSION (Tiger only) : Mail crashes because message load is being processed on a secondary thread
* WebView/WebView.mm:
(tigerMailReleaseIMP):
New method that makes sure that the final release happens on the main thread.
(-[WebView release]):
New method that just calls [super release];
(+[WebView initialize]):
When running under Tiger mail, replace the release method with tigerMailReleaseIMP.
2008-06-19 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Geoff.
Make Machine per-JSGlobalData.
* WebView/WebScriptDebugger.mm:
(WebScriptDebugger::WebScriptDebugger):
2008-06-17 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin Adler.
Prepare JavaScript heap for being per-thread.
* Misc/WebCoreStatistics.mm:
(+[WebCoreStatistics javaScriptObjectsCount]):
(+[WebCoreStatistics javaScriptGlobalObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
(+[WebCoreStatistics javaScriptReferencedObjectsCount]):
Use JSGlobalData::threadInstance()->heap instead of static Collector calls.
2008-06-17 Darin Adler <darin@apple.com>
Reviewed by Sam.
* WebView/WebHTMLView.mm:
(-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Use create instead of new
to create a CSSMutableStyleDeclaration.
2008-06-16 Mark Rowe <mrowe@apple.com>
Reviewed by Darin Adler.
<rdar://problem/5951874> WebHTMLHighlighter mistakenly gained two new methods, causing compile warnings
_pauseNullEventsForAllNetscapePlugins and _resumeNullEventsForAllNetscapePlugins ended up being declared both in
WebHTMLViewInternal.h and as members of the WebHTMLHighlighter protocol in WebHTMLViewPrivate.h. They don't belong
in the protocol, but they do need to be available outside of WebKit so they're being moved to the correct location
in WebHTMLViewPrivate.h and removed from WebHTMLViewInternal.h.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]):
(-[WebHTMLView _resumeNullEventsForAllNetscapePlugins]):
* WebView/WebHTMLViewInternal.h:
* WebView/WebHTMLViewPrivate.h:
2008-06-15 Darin Adler <darin@apple.com>
- give Frame object functions shorter names: scriptProxy() -> script(),
selectionController() -> selection(), animationController() -> animation()
* Plugins/WebPluginController.mm:
(-[WebPluginController webPlugInContainerSelectionColor]):
* WebView/WebFrame.mm:
(-[WebFrame _attachScriptDebugger]):
(-[WebFrame _hasSelection]):
(-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
(-[WebFrame _rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
(-[WebFrame _convertToNSRange:]):
(-[WebFrame _convertToDOMRange:]):
(-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
(-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]):
(-[WebFrame _insertParagraphSeparatorInQuotedContent]):
(-[WebFrame _selectedNSRange]):
(-[WebFrame _selectNSRange:]):
(-[WebFrame globalContext]):
* WebView/WebHTMLView.mm:
(-[WebHTMLView _selectedRange]):
(-[WebHTMLView _hasSelection]):
(-[WebHTMLView _hasSelectionOrInsertionPoint]):
(-[WebHTMLView _hasInsertionPoint]):
(-[WebHTMLView _isEditable]):
(-[WebHTMLView _updateFocusedAndActiveState]):
(-[WebHTMLView readSelectionFromPasteboard:]):
(-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
(-[WebHTMLView maintainsInactiveSelection]):
(-[WebHTMLView paste:]):
(isTextInput):
(-[WebHTMLView inputContext]):
(-[WebTextCompleteController doCompletion]):
(-[WebHTMLView selectAll]):
(-[WebHTMLView deselectAll]):
(-[WebHTMLView selectedAttributedString]):
* WebView/WebView.mm:
(-[WebView aeDescByEvaluatingJavaScriptFromString:]):
(-[WebView setSelectedDOMRange:affinity:]):
(-[WebView selectedDOMRange]):
(-[WebView selectionAffinity]):
2008-06-15 Darin Adler <darin@apple.com>
- rename KJS::List to KJS::ArgList
* WebView/WebScriptDebugger.h:
2008-06-15 Darin Adler <darin@apple.com>
- new names for more JavaScriptCore files
* WebView/WebView.mm:
2008-06-15 Darin Adler <darin@apple.com>
- new names for a few key JavaScriptCore files
* ForwardingHeaders/kjs/JSFunction.h: Copied from WebKit/mac/ForwardingHeaders/kjs/function.h.
* ForwardingHeaders/kjs/JSObject.h: Copied from WebKit/mac/ForwardingHeaders/kjs/object.h.
* ForwardingHeaders/kjs/JSString.h: Copied from WebKit/mac/ForwardingHeaders/kjs/internal.h.
* ForwardingHeaders/kjs/JSValue.h: Copied from WebKit/mac/ForwardingHeaders/kjs/value.h.
* ForwardingHeaders/kjs/function.h: Removed.
* ForwardingHeaders/kjs/internal.h: Removed.
* ForwardingHeaders/kjs/object.h: Removed.
* ForwardingHeaders/kjs/value.h: Removed.
* WebView/WebScriptDebugDelegate.mm:
2008-06-15 Darin Adler <darin@apple.com>
Rubber stamped by Sam.
- use JS prefix and simpler names for basic JavaScriptCore types,
to complement JSValue and JSObject
* WebView/WebView.mm:
(aeDescFromJSValue):
2008-06-14 Darin Adler <darin@apple.com>
Rubber stamped by Sam.
- new names for kjs_binding.h and kjs_proxy.h
* WebView/WebFrame.mm:
* WebView/WebScriptDebugDelegate.mm:
* WebView/WebView.mm:
2008-06-14 Darin Adler <darin@apple.com>
Rubber stamped by Sam.
- renamed HTMLGenericFormElement to HTMLFormControlElement
* WebView/WebHTMLRepresentation.mm:
(-[WebHTMLRepresentation elementWithName:inForm:]):
(-[WebHTMLRepresentation controlsInForm:]):
2008-06-14 Darin Adler <darin@apple.com>
Reviewed by Sam.
- more of https://bugs.webkit.org/show_bug.cgi?id=17257
start ref counts at 1 instead of 0 for speed
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::createDocumentLoader): Use create instead of new.
(WebFrameLoaderClient::createFrame): Remove now-obsolete adoptRef that was balanced by
a ref call inside the Frame constructor. The lifetime rules for Frame are now the
conventional ones without a special case.
* WebView/WebDataSource.mm:
(-[WebDataSource _initWithDocumentLoader:]): Changed argument to be a PassRefPtr, since
this function takes ownership of the DocumentLoader.
(-[WebDataSource initWithRequest:]): Use create instead of new.
* WebView/WebDataSourceInternal.h: Changed _initWithDocumentLoader argument to be a
PassRefPtr and also cleaned up the header a bit.
* WebView/WebDocumentLoaderMac.h:
(WebDocumentLoaderMac::create): Added. Also made the constructor and a couple of virtual
functions private.
* WebView/WebFrame.mm:
(+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]): Use create instead
of new.
2008-06-14 Darin Adler <darin@apple.com>
Reviewed by Sam.
- more work on https://bugs.webkit.org/show_bug.cgi?id=17257
start ref counts at 1 instead of 0 for speed
* WebView/WebFrame.mm:
(-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
* WebView/WebPDFView.mm:
(-[WebPDFView PDFViewWillClickOnLink:withURL:]):
2008-06-13 Darin Adler <darin@apple.com>
Reviewed by John Sullivan.
- updated for addition of FormState argument to action policy functions
- added WebActionFormKey
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
(WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
(WebFrameLoaderClient::actionDictionary):
* WebKit.exp:
* WebView/WebPolicyDelegate.mm:
* WebView/WebPolicyDelegatePrivate.h:
2008-06-12 John Sullivan <sullivan@apple.com>
Reviewed by Dan and Darin
Clear up the confusion about _close (older private method) vs -close (newer public method).
* WebView/WebView.mm:
(-[WebView _isClosed]):
simplified style
(-[WebView _close]):
added a comment about how clients and subclasses should use -close instead
(-[WebView dealloc]):
call -close instead of _close, so subclasses that override the public method will have the intended behavior
(-[WebView close]):
added a comment
(-[WebView _windowWillClose:]):
call -close instead of _close, so subclasses that override the public method will have the intended behavior
* WebView/WebViewPrivate.h:
added a comment about how clients and subclasses should use -close instead
2008-06-07 Darin Adler <darin@apple.com>
Reviewed by Mitz.
- work on https://bugs.webkit.org/show_bug.cgi?id=17257
start ref counts at 1 instead of 0 for speed
* History/WebHistoryItem.mm:
(-[WebHistoryItem init]):
(-[WebHistoryItem initWithURLString:title:lastVisitedTimeInterval:]):
(-[WebHistoryItem initWithURL:target:parent:title:]):
(-[WebHistoryItem initWithURLString:title:displayTitle:lastVisitedTimeInterval:]):
* WebView/WebView.mm:
(+[WebView _decodeData:]):
2008-06-03 Oliver Hunt <oliver@apple.com>
Reviewed by Tim.
Bug 12983: Web Inspector break on the debugger keyword
<https://bugs.webkit.org/show_bug.cgi?id=12983>
Add stubs to allow old webkit debugger interface to build.
* WebView/WebScriptDebugger.h:
* WebView/WebScriptDebugger.mm:
2008-06-03 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
<rdar://problem/5980961>
In 64-bit Web Kit, converting between float and double, can cause rounding errors which in turn causes
newBottom to be larger than oldBottom which is illegal.
* WebView/WebHTMLView.mm:
(-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
2008-06-02 Anders Carlsson <andersca@apple.com>
Reviewed by Mitz.
Speculative fix for <rdar://problem/5661112>
CrashTracer: [USER] 49 crashes in DashboardClient at com.apple.WebCore: WebCore::RenderPart::setWidget + 62
Defer loads while calling NPP_New. Some plug-ins start a run-loop inside NPP_New and finished loads could cause
layouts to be triggered.
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView _createPlugin]):
2008-05-29 Justin Garcia <justin.garcia@apple.com>
Reviewed by Darin Adler.
<rdar://problem/5949462> REGRESSION: Can't paste screen captures into Mail
AppKit started putting PNG instead of PICT onto the pasteboard for screen
captures. Added support for PNG with kUTTypePNG. Tiger doesn't support
setting and retrieving pasteboard types with UTIs, but we don't know of any
applications on Tiger that put only PNG on the pasteboard.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:]):
(-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
2008-05-29 Anders Carlsson <andersca@apple.com>
Reviewed by Brady.
<rdar://problem/5970312>
icon file specified for stand alone web app causes crash if the icon can't be found
Handle the case where iconData is null.
* Misc/WebIconFetcher.mm:
(WebIconFetcherClient::finishedFetchingIcon):
2008-05-29 Anders Carlsson <andersca@apple.com>
Reviewed by Mitz.
<rdar://problem/5971845>
https://bugs.webkit.org/show_bug.cgi?id=19313
Add version member to NPCocoaEvent
Initialize the version member to 0 for all events.
* Plugins/WebNetscapePluginEventHandlerCocoa.mm:
(initializeEvent):
(WebNetscapePluginEventHandlerCocoa::drawRect):
(WebNetscapePluginEventHandlerCocoa::sendMouseEvent):
(WebNetscapePluginEventHandlerCocoa::flagsChanged):
(WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
(WebNetscapePluginEventHandlerCocoa::windowFocusChanged):
(WebNetscapePluginEventHandlerCocoa::focusChanged):
2008-05-29 Dan Bernstein <mitz@apple.com>
Reviewed by Jessica Kahn.
- fix <rdar://problem/5965013> Page 2 does not print correctly
When printing, _recursiveDisplayRectIfNeededIgnoringOpacity:... and
_recursiveDisplayAllDirtyWithLockFocus:... can be invoked without
-viewWillDraw being sent first, which could lead to painting without
valid layout. The fix is to ensure up-to-date layout in those methods
when printing.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
(-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]):
2008-05-28 Anders Carlsson <andersca@apple.com>
Reviewed by Jon.
Remove workaround, this is no longer a problem.
* WebView/WebView.mm:
(-[WebView _removeObjectForIdentifier:]):
2008-05-27 Geoffrey Garen <ggaren@apple.com>
Reviewed by Tim Hatcher.
Fixed https://bugs.webkit.org/show_bug.cgi?id=19183
REGRESSION (r33979): Crash in DebuggerCallFrame::functionName when
clicking button in returnEvent-crash.html
Added implementations for willExecuteProgram and didExecuteProgram, which
take care of making sure we're not hanging on to stale data.
2008-05-27 Timothy Hatcher <timothy@apple.com>
Fixes a bug where unplugging the monitor from a video card and
moving it to another video card would no longer show OpenGL plugins
until you relaunched Safari.
<rdar://problem/5790983> Add AllowOfflineDisplays pixel format
attribute to OpenGL contexts
Reviewed by Kevin Decker.
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView _createWindowedAGLContext]): Added
AGL_ALLOW_OFFLINE_RENDERERS for non-Tiger builds.
(-[WebBaseNetscapePluginView _createWindowlessAGLContext]): Ditto.
2008-05-25 Mark Rowe <mrowe@apple.com>
Reviewed by Darin Adler.
<rdar://problem/5840884> _recursive_resumeNullEventsForAllNetscapePlugins and _pauseNullEvents not defined
Follow-up for r33052. _recursive_resumeNullEventsForAllNetscapePlugins and _recursive_pauseNullEventsForAllNetscapePlugins
need to be declared in WebFramePrivate.h rather than WebFrameInternal.h so they can be used from outside of WebKit.
* WebView/WebFrame.mm:
(-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]):
(-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]):
* WebView/WebFrameInternal.h:
* WebView/WebFramePrivate.h:
2008-05-23 Timothy Hatcher <timothy@apple.com>
Fix attaching and detaching the Web Inspector. This change removes
the clunky animation that never looked right and was causing issues
where the inspected WebView would get into a no useable state.
<rdar://problem/5958812> Attaching and Detaching the Web Inspector
can cause the inspected WebVIew to be unusable
Reviewed by Adam Roben.
* WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController close]): Removes animation code.
Sets the frame directly and does a displayIfNeeded to prevent
showing the Inspector in the page and in the Inspector window.
(-[WebInspectorWindowController showWindow:]): Removes animation code.
Sets the frame directly.
(-[WebInspectorWindowController attach]): Simplified.
(-[WebInspectorWindowController detach]): Ditto.
2008-05-22 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
- fix broken documentation of
webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:
* WebView/WebUIDelegate.h: Fixed method name in HeaderDoc for
-webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:
2008-05-22 Timothy Hatcher <timothy@apple.com>
<rdar://problem/5956403> Update the Develop menu to match the new Inspector items
Reviewed by Adam Roben.
* WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController showWebInspector:]):
(-[WebInspectorWindowController showErrorConsole:]):
(-[WebInspectorWindowController toggleDebuggingJavaScript:]):
(-[WebInspectorWindowController toggleProfilingJavaScript:]):
(-[WebInspectorWindowController validateUserInterfaceItem:]):
* WebInspector/WebInspector.h:
* WebInspector/WebInspector.mm:
(-[WebInspector showConsole:]):
(-[WebInspector showTimeline:]):
(-[WebInspector isDebuggingJavaScript]):
(-[WebInspector toggleDebuggingJavaScript:]):
(-[WebInspector startDebuggingJavaScript:]):
(-[WebInspector stopDebuggingJavaScript:]):
(-[WebInspector isProfilingJavaScript]):
(-[WebInspector toggleProfilingJavaScript:]):
(-[WebInspector startProfilingJavaScript:]):
(-[WebInspector stopProfilingJavaScript:]):
2008-05-22 Josh Aas <joshmoz@gmail.com>
Reviewed by Anders.
<rdar://problem/5956429>
https://bugs.webkit.org/show_bug.cgi?id=19192
remove NPNVpluginEventModel, fix example plugin
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView getVariable:value:]):
2008-05-21 Anders Carlsson <andersca@apple.com>
Reviewed by Maciej.
Add WebIconFetcher.
* Misc/WebIconFetcher.h: Added.
* Misc/WebIconFetcher.mm: Added.
(WebIconFetcherClient::WebIconFetcherClient):
(WebIconFetcherClient::finishedFetchingIcon):
(WebIconFetcherClient::setFetcher):
(-[WebIconFetcher init]):
(-[WebIconFetcher dealloc]):
(-[WebIconFetcher finalize]):
(-[WebIconFetcher cancel]):
(-[WebIconFetcher _initWithIconFetcher:client:]):
(+[WebIconFetcher _fetchApplicationIconForFrame:target:selector:]):
* Misc/WebIconFetcherInternal.h: Added.
* WebView/WebFrame.mm:
(-[WebFrame fetchApplicationIcon:selector:]):
* WebView/WebFramePrivate.h:
=== End merge of squirrelfish ===
2008-05-21 Geoffrey Garen <ggaren@apple.com>
Reviewed by Tim Hatcher.
Updated for API changes from merging with trunk WebCore's new debugger.
* WebView/WebScriptDebugDelegate.mm:
(-[WebScriptCallFrame evaluateWebScript:]): Explicitly check for an
exception return, since the DebuggerCallFrame no longer automatically
substitutes the exception for the return value.
* WebView/WebScriptDebugger.mm: Use the dynamic global object, not the
lexical global object, since the debugger attaches based on dynamic
global object.
2008-05-17 Geoffrey Garen <ggaren@apple.com>
Reviewed by Oliver Hunt.
Re-enabled previously disabled debugging functionality.
There are two major changes from how the WebKit debugger used to work:
(1) All the interesting bits are implemented down in JavaScriptCore. The
debugger just calls through to KJS::DebuggerCallFrame for everything.
(2) Instead of copyihng a pointer to an ExecState once, the debugger
copies the DebuggerCallFrame passed to it in each callback. This is
because the VM no longer maintains a fully transparent execution state
to which you can hold a pointer, and the DebuggerCallFrames it vends
are temporaries.
Also, we NULL out a WebScriptCallFrame's DebuggerCallFrame upon return
from its function. This is safer than the old method, which was to
hold a stale ExecState* and hope for the best.
2008-05-13 Geoffrey Garen <ggaren@apple.com>
Reviewed by Oliver Hunt.
Updated for API changes in KJS::Debugger.
* WebView/WebFrame.mm:
(-[WebFrame _attachScriptDebugger]): Changed the order of operations to
fix an ASSERT that can happen when re-entering _attachScriptDebugger.
2008-05-13 Geoffrey Garen <ggaren@apple.com>
Reviewed by Oliver Hunt.
Updated WebScriptDebugger API to accept a SourceProvider instead
of a WebCore::String, to avoid copying.
(WebScriptDebugger::sourceParsed): Updated this function not to return
a value.
2008-04-30 Geoffrey Garen <ggaren@apple.com>
Build fix: #ifdef'd out some code that doesn't work anymore.
2008-04-30 Geoffrey Garen <ggaren@apple.com>
Reviewed by Oliver Hunt.
#ifdef'd out some debugger code that doesn't work anymore.
* WebView/WebScriptDebugDelegate.mm:
(-[WebScriptCallFrame scopeChain]):
2008-04-21 Geoffrey Garen <ggaren@apple.com>
Build fix.
* ChangeLog:
* WebView/WebScriptDebugDelegate.mm:
(-[WebScriptCallFrame scopeChain]):
2008-03-30 Geoffrey Garen <ggaren@apple.com>
Reviewed by Oliver Hunt.
Build fix.
=== Start merge of squirrelfish ===
2008-05-21 Darin Adler <darin@apple.com>
- fix build
* WebView/WebViewPrivate.h: Remove declaration of closeWithFastTeardown. We can add it back later
if we want, but if we do, we should probably make some refinements like checking _private->closed
and applicationIsTerminating.
2008-05-21 Darin Adler <darin@apple.com>
Reviewed by Anders and Kevin Decker.
- fix <rdar://problem/5951130> REGRESSION: crash on quit after reopening windows from previous session
* WebView/WebView.mm:
(-[WebViewPrivate dealloc]): Fix assertions to not complain when fast teardown is used.
(-[WebView _closePluginDatabases]): Factored out some common code from both versions of close.
(-[WebView _closeWithFastTeardown]): Added an underscore to this method's name, since it's internal.
Streamlined the code a bit. Added a line of code to set _private->closed (this is the bug fix).
(-[WebView _close]): Changed for new method name and to use _closePluginDatabases.
2008-05-19 Stephanie Lewis <slewis@apple.com>
Reviewed by Darin Adler.
more fast teardown performance work
* Misc/WebDownload.m:
(-[WebDownloadInternal downloadDidBegin:]):
(-[WebDownloadInternal downloadDidFinish:]):
(-[WebDownloadInternal download:didFailWithError:]):
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::disableSuddenTermination):
(WebChromeClient::enableSuddenTermination):
2008-05-18 Dan Bernstein <mitz@apple.com>
Reviewed by Sam Weinig.
- fix <rdar://problem/5944596> IDNs are displayed as punycode in the authentication panel
* Panels/WebAuthenticationPanel.m:
(-[WebAuthenticationPanel setUpForChallenge:]):
2008-05-16 Timothy Hatcher <timothy@apple.com>
Removes WebScriptDebugServer files and related calls. This removes
the hooks that Drosera uses for debugging. Now that the Web Inspector
has a better debugger, we don't need these anymore.
Reviewed by Sam Weinig.
* DefaultDelegates/WebScriptDebugServer.h: Removed.
* DefaultDelegates/WebScriptDebugServer.m: Removed.
* DefaultDelegates/WebScriptDebugServerPrivate.h: Removed.
* WebCoreSupport/WebFrameLoaderClient.mm:
* WebKit.exp:
* WebView/WebScriptDebugDelegate.mm:
* WebView/WebScriptDebugger.mm:
(WebScriptDebugger::sourceParsed):
(WebScriptDebugger::callEvent):
(WebScriptDebugger::atStatement):
(WebScriptDebugger::returnEvent):
(WebScriptDebugger::exception):
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
* WebView/WebViewPrivate.h:
2008-05-16 Brady Eidson <beidson@apple.com>
Reviewed by Anders
<rdar://problem/5942616> - Need to standardize LocalStorage persistence path
Took the opportunity to touch up another pref that needs the same standardization.
That pref is currently not in use on Mac.
* WebView/WebPreferences.m:
(-[WebPreferences _setFTPDirectoryTemplatePath:]):
(-[WebPreferences _localStorageDatabasePath]):
(-[WebPreferences _setLocalStorageDatabasePath:]):
(-[WebPreferences _ftpDirectoryTemplatePath]):
2008-05-16 Chris Fleizach <cfleizach@apple.com>
Reviewed by Alice Liu
<rdar://problem/5710317> REGRESSION:Selecting ranges of text should be possible using the keyboard (15310)
* WebView/WebFrame.mm:
(-[WebFrame _accessibilityTree]):
2008-05-15 Stephanie Lewis <slewis@apple.com>
fix mac build
* WebView/WebView.mm:
(-[WebView closeWithFastTeardown]):
2008-05-15 Stephanie Lewis <slewis@apple.com>
Reviewed by Anders.
Turn on fast teardown. I added a preference for using full teardown because
the LEAKS output will be useless without a full teardown.
preference for fullteardown
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.m:
(-[WebPreferences setFullDocumentTeardownEnabled:]):
(-[WebPreferences fullDocumentTeardownEnabled]):
* WebView/WebPreferencesPrivate.h:
on application quit dispatch unload events and destroy plugins then exit
* WebView/WebView.mm:
(-[WebView closeWithFastTeardown]):
(-[WebView _close]):
* WebView/WebViewPrivate.h:
2008-05-15 Stephanie Lewis <slewis@apple.com>
Reviewed by Anders.
get the pending frame unload count from WebCore
* WebView/WebFrame.mm:
(-[WebFrame _pendingFrameUnloadEventCount]):
* WebView/WebFramePrivate.h:
2008-05-15 John Sullivan <sullivan@apple.com>
Reviewed by Kevin Decker
- fixed <rdar://problem/5940275> Inspector highlighting moves to bottom-left corner of
screen when new tab appears
The highlight should go away entirely, but this simple patch just makes it not jump away.
The issue with it not going away entirely is harder to fix and covered by <rdar://problem/5322306>
* WebInspector/WebNodeHighlight.m:
(-[WebNodeHighlight _repositionHighlightWindow]):
Bail out if target view isn't in a window
2008-05-15 Stephanie Lewis <slewis@apple.com>
Reviewed by Anders.
Track views that contain plugin instances so that they can be destroyed at application
quit without walking the entire document tree.
Add/Remove Netscape plugin views from instance list. Start/stop are when netscape
plugins are created and destroyed
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView start]):
(-[WebBaseNetscapePluginView stop]):
Add/remove WebKit plugin views from instance list
* Plugins/WebPluginController.mm:
(-[WebPluginController addPlugin:]):
(-[WebPluginController destroyPlugin:]):
(-[WebPluginController destroyAllPlugins]):
Add a set of views with plugin instances to the WebPluginDatabase
* Plugins/WebPluginDatabase.h:
* Plugins/WebPluginDatabase.mm:
(-[WebPluginDatabase init]):
(-[WebPluginDatabase dealloc]):
(-[WebPluginDatabase addPluginInstanceView:]):
(-[WebPluginDatabase removePluginInstanceView:]):
(-[WebPluginDatabase removePluginInstanceViewsFor:]):
(-[WebPluginDatabase destroyAllPluginInstanceViews]):
Handle cases where plugin views are detached before the plugin is destroyed.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::detachedFromParent2):
(WebFrameLoaderClient::transitionToCommittedFromCachedPage):
(WebFrameLoaderClient::transitionToCommittedForNewPage):
Add plugin instances to the set in the WebPluginDatabase by way of the WebView
* WebView/WebHTMLView.mm:
(-[WebHTMLView _destroyAllWebPlugins]):
* WebView/WebHTMLViewInternal.h:
* WebView/WebView.mm:
(-[WebView addPluginInstanceView:]):
(-[WebView removePluginInstanceView:]):
(-[WebView removePluginInstanceViewsFor:]):
* WebView/WebViewInternal.h:
2008-05-15 Brady Eidson <beidson@apple.com>
Reviewed by Tim Hatcher
Until the settings/preferences equation can be reworked, we'll need to manually set the local storage path
before setting the page group of the new page.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]): Set the LocalStorage path
immediately after creating the page so it is in place for initializing the LocalStorageThread
2008-05-15 Timothy Hatcher <timothy@apple.com>
Fixes the bug where the Web Inspector would flash white while resizing.
This was cause by deferring the window creation.
<rdar://problem/5873549> REGRESSION: Inspector flickers horribly while resizing (17979)
Reviewed by Darin Adler.
* WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController window]): Don't defer the window creation.
2008-05-15 Alexey Proskuryakov <ap@webkit.org>
Tiger build fix.
* Misc/WebNSAttributedStringExtras.mm: Import WebTypesInternal.h for NSUInteger.
2008-05-15 Adele Peterson <adele@apple.com>
Reviewed and landed by Alexey.
Use TextIterator in +[NSAttributedString _web_attributedStringFromRange:].
* Misc/WebNSAttributedStringExtras.mm:
(+[NSAttributedString _web_attributedStringFromRange:]):
2008-05-14 Eric Seidel <eric@webkit.org>
Reviewed by Oliver.
Add missing NULL check to match rest of file, this was found by the editing fuzzer.
* WebView/WebResource.mm:
(-[WebResource data]):
2008-05-14 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Dan Bernstein.
NPP_ValidAttributesForMarkedText should return NSArray*, not NSArray.
* Plugins/nptextinput.h:
2008-05-13 Anders Carlsson <andersca@apple.com>
Reviewed by Sam.
Don't empty the application cache in _setCacheModel, since it will be called during initialization.
Instead, do it in [WebCache empty].
* Misc/WebCache.mm:
(+[WebCache empty]):
* WebView/WebView.mm:
(+[WebView _setCacheModel:]):
2008-05-13 chris fleizach <cfleizach@apple.com>
Reviewed by Beth Dakin
<rdar://problem/4780592> WebKit application has its window announced as HTML content
* WebCoreSupport/WebViewFactory.mm:
(-[WebViewFactory AXWebAreaText]):
2008-05-13 Timothy Hatcher <timothy@apple.com>
Fixes a crash seen in Xcode where CallUIDelegateReturningBoolean
was referencing a nil WebView under validateUserInterfaceItem.
The validateUserInterfaceItem methods was being called at a time
when the WebHTMLView is being torndown.
<rdar://problem/5806229> A crash occurs at CallUIDelegateReturningBoolean()
while mousing down on menu bar after Xcode News window is opened
Reviewed by Ada Chan.
* WebView/WebHTMLView.mm:
(-[WebHTMLView validateUserInterfaceItem:]): NULL check the WebView and
return NO when it is nil. Adds a comment.
* WebView/WebPDFView.mm:
(-[WebPDFView validateUserInterfaceItem:]): Ditto.
2008-05-13 Mark Rowe <mrowe@apple.com>
Reviewed by John Sullivan.
<rdar://problem/5926425> HIWebViewCreateWithClass declared as API in HIWebView.h but never exported from WebKit.framework
* Carbon/HIWebView.h: Remove HIWebViewCreateWithClass.
* Carbon/HIWebView.m: Ditto.
(HIWebViewCreate):
(HIWebViewConstructor):
2008-05-12 Dan Bernstein <mitz@apple.com>
Reviewed by Ada Chan.
- WebKit/mac changes for https://bugs.webkit.org/show_bug.cgi?id=17097
<rdar://problem/5715471> CGFontRefs (and HFONTs on Windows) leak because FontCache grows without bound
Added font cache statistics and a function to purge inactive font data.
* Misc/WebCoreStatistics.h:
* Misc/WebCoreStatistics.mm:
(+[WebCoreStatistics cachedFontDataCount]):
(+[WebCoreStatistics cachedFontDataInactiveCount]):
(+[WebCoreStatistics purgeInactiveFontData]):
(+[WebCoreStatistics glyphPageCount]):
2008-05-12 Mark Rowe <mrowe@apple.com>
Reviewed by Tim Hatcher.
Decorate some deprecated delegate methods with the availability macros.
The compiler doesn't appear to warn if a delegate implements these methods, but using the availability
macros is good for consistency and documentation.
* WebView/WebFrameLoadDelegate.h:
* WebView/WebUIDelegate.h:
2008-05-12 Mark Rowe <mrowe@apple.com>
Reviewed by Tim Hatcher.
<rdar://problem/5835604> Deprecate HIWebView
Use of HIWebView is deprecated in favor of embedding a WebView in a HICocoaView.
* Carbon/CarbonUtils.h: Include the availability macro header and decorate the functions appropriately.
* Carbon/HIWebView.h: Ditto.
2008-05-12 Kevin Decker <kdecker@apple.com>
Reviewed by Anders.
Fixed: <rdar://problem/5840884>_recursive_resumeNullEventsForAllNetscapePlugins and _pauseNullEvents not defined
Re-added these SPI methods because they are needed by some clients. They were accidentally removed
in changeset <http://trac.webkit.org/changeset/31028>
* Plugins/WebBaseNetscapePluginView.h: Added stopTimers, restartTimers to the header.
* WebView/WebFrame.mm:
(-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]): Re-addd.
(-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]): Ditto.
* WebView/WebFrameInternal.h: Ditto.
* WebView/WebHTMLView.mm: Ditto.
(-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]): Ditto.
(-[WebHTMLView _resumeNullEventsForAllNetscapePlugins]): Ditto.
* WebView/WebHTMLViewInternal.h: Ditto.
* WebView/WebHTMLViewPrivate.h: Ditto.
2008-05-12 Anders Carlsson <andersca@apple.com>
Reviewed by Alexey.
Empty the application cache when changing the cache model.
* WebView/WebView.mm:
(+[WebView _setCacheModel:]):
2008-05-12 Anders Carlsson <andersca@apple.com>
Reviewed by Oliver.
<rdar://problem/5774495> Make Unicode text input possible in Netscape-style plug-ins
* Plugins/WebBaseNetscapePluginView.h:
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView start]):
Get the plug-in text input vtable pointer.
(-[WebBaseNetscapePluginView stop]):
Set the plug-in text input vtable pointer to 0.
(-[WebBaseNetscapePluginView inputContext]):
Return 0 for Carbon plug-ins since we don't want Cocoa to handle text input for them.
(-[WebBaseNetscapePluginView hasMarkedText]):
(-[WebBaseNetscapePluginView insertText:]):
(-[WebBaseNetscapePluginView markedRange]):
(-[WebBaseNetscapePluginView selectedRange]):
(-[WebBaseNetscapePluginView setMarkedText:selectedRange:]):
(-[WebBaseNetscapePluginView unmarkText]):
(-[WebBaseNetscapePluginView validAttributesForMarkedText]):
(-[WebBaseNetscapePluginView attributedSubstringFromRange:]):
(-[WebBaseNetscapePluginView characterIndexForPoint:]):
(-[WebBaseNetscapePluginView doCommandBySelector:]):
(-[WebBaseNetscapePluginView firstRectForCharacterRange:]):
(-[WebBaseNetscapePluginView conversationIdentifier]):
Implement NSTextInput and call into the plug-in text input vtable.
(browserTextInputFuncs):
New method which returns the browser input vtable.
(-[WebBaseNetscapePluginView getVariable:value:]):
Support getting the browser input vtable pointer.
* Plugins/WebNetscapePluginEventHandlerCocoa.h:
* Plugins/WebNetscapePluginEventHandlerCocoa.mm:
(WebNetscapePluginEventHandlerCocoa::keyDown):
(WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
If the plug-in returns 0 when a NPCocoaEventKeyDown is passed to NPP_HandleEvent,
it means that the event should be passed on to the input manager.
* Plugins/npapi.mm:
(NPN_MarkedTextAbandoned):
(NPN_MarkedTextSelectionChanged):
Add implementations of browser input method methods.
* Plugins/nptextinput.h: Added.
Add file with new text input API.
2008-05-12 Alexey Proskuryakov <ap@webkit.org>
Roll out recent threading changes (r32807, r32810, r32819, r32822) to simplify
SquirrelFish merging.
* Misc/WebCoreStatistics.mm:
(+[WebCoreStatistics javaScriptObjectsCount]):
(+[WebCoreStatistics javaScriptGlobalObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
(+[WebCoreStatistics javaScriptReferencedObjectsCount]):
* WebView/WebScriptDebugDelegate.mm:
(-[WebScriptCallFrame evaluateWebScript:]):
2008-05-07 Anders Carlsson <andersca@apple.com>
Reviewed by Mitz.
REGRESSION (3.1.1-TOT): Arrow keys are sticky in Google Maps street view
https://bugs.webkit.org/show_bug.cgi?id=18880
<rdar://problem/5909513>
Stop suspending key up events before calling handleEvent.
* Plugins/WebNetscapePluginEventHandlerCarbon.mm:
(WebNetscapePluginEventHandlerCarbon::sendEvent):
2008-05-06 Stephanie Lewis <slewis@apple.com>
Reviewed by Andersca.
prepare for plugin fast teardown work - make WebPluginDatabase a objective C++ file.
* Plugins/WebPluginDatabase.m: Removed.
* Plugins/WebPluginDatabase.mm: Copied from WebKit/mac/Plugins/WebPluginDatabase.m.
* Plugins/npapi.m: Removed.
* Plugins/npapi.mm: Copied from WebKit/mac/Plugins/npapi.m.
2008-05-06 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
Initialize numArchs to 0.
* Plugins/WebBasePluginPackage.m:
(-[WebBasePluginPackage isNativeLibraryData:]):
2008-05-06 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
Add implementation of NPN_PopUpContextMenu.
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView popUpContextMenu:]):
* Plugins/WebBaseNetscapePluginViewPrivate.h:
* Plugins/WebNetscapePluginPackage.m:
(-[WebNetscapePluginPackage load]):
* Plugins/npapi.m:
(NPN_PopUpContextMenu):
2008-05-06 Anders Carlsson <andersca@apple.com>
Fix typo (don't read random memory).
* Plugins/WebBasePluginPackage.m:
(-[WebBasePluginPackage isNativeLibraryData:]):
2008-05-05 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
Change the isNativeLibraryData: method to handle universal binaries.
* Plugins/WebBasePluginPackage.m:
(swapIntsInHeader):
(-[WebBasePluginPackage isNativeLibraryData:]):
2008-05-06 Brady Eidson <beidson@apple.com>
Reviewed by Darin Adler
Preparation for upcoming work making LocalStorage persistent.
When the application terminates, all LocalStorage areas must be sync'ed out to disk first.
* WebView/WebView.mm:
(+[WebView _applicationWillTerminate]): Close all LocalStorage areas before quitting.
2008-05-05 Sam Weinig <sam@webkit.org>
Reviewed by Darin Adler.
Fix for <rdar://problem/5884383>
Escape look-a-like characters from the the entire url.
* Misc/WebNSURLExtras.mm:
(escapeUnsafeCharacters):
(-[NSURL _web_userVisibleString]):
2008-05-05 Justin Garcia <justin.garcia@apple.com>
Reviewed by Darin Adler.
<rdar://problem/5865171> REGRESSION: Creating a new quote places caret at beginning of quote instead of the end
* WebView/WebView.mm:
(-[WebView _updateSettingsFromPreferences:]): Disable Range mutation on changes to
the document for Tiger and Leopard Mail. There is code in Mail that does it, and
the two interfere.
2008-05-05 Sam Weinig <sam@webkit.org>
Reviewed by Tim Hatcher.
Make the Inspector's localizable strings file match the format used by Dashboard widgets.
* WebCoreSupport/WebInspectorClient.mm:
(WebInspectorClient::localizedStringsURL):
2008-05-05 Anders Carlsson <andersca@apple.com>
Reviewed by Jess.
Apparently preflighting can cause hangs for some reason. Revert this for now.
* Plugins/WebNetscapePluginPackage.m:
(-[WebNetscapePluginPackage _initWithPath:]):
* Plugins/WebPluginPackage.m:
(-[WebPluginPackage initWithPath:]):
2008-05-05 Darin Adler <darin@apple.com>
Reviewed by Mitz.
- https://bugs.webkit.org/show_bug.cgi?id=18789
fix some shouldCloseWithWindow edge cases
* WebView/WebView.mm:
(-[WebView viewWillMoveToWindow:]): Fix bug where we would stop observing the
NSWindowWillCloseNotification if the view was moved out of the window but still
had that window set as the host window. Also make sure this function doesn't do
anything if the WebView is already closed.
(-[WebView setHostWindow:]): Ditto.
2008-05-04 David Kilzer <ddkilzer@apple.com>
Make parameters match for WebChromeClient::addMessageToConsole()
Reviewed by John.
* WebCoreSupport/WebChromeClient.h:
(WebChromeClient::addMessageToConsole): Renamed sourceID parameter
to sourceURL to match implementation in WebChromeClient.mm.
2008-05-02 Anders Carlsson <andersca@apple.com>
Reviewed by Mark.
Various Cocoa event model and 64-bit plug-in fixes.
* Plugins/WebNetscapePluginEventHandlerCocoa.mm:
(WebNetscapePluginEventHandlerCocoa::sendMouseEvent):
Set click count.
(WebNetscapePluginEventHandlerCocoa::flagsChanged):
(WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
Don't try to get the mouse location for keyboard events.
* Plugins/WebPluginPackage.m:
(-[WebPluginPackage initWithPath:]):
Preflight the bundle so we won't show 32-bit WebKit plug-ins when running as 64-bit.
2008-05-02 Anders Carlsson <andersca@apple.com>
Reviewed by Sam.
The event union is now named.
* Plugins/WebNetscapePluginEventHandlerCocoa.mm:
(WebNetscapePluginEventHandlerCocoa::drawRect):
(WebNetscapePluginEventHandlerCocoa::sendMouseEvent):
(WebNetscapePluginEventHandlerCocoa::flagsChanged):
(WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
(WebNetscapePluginEventHandlerCocoa::windowFocusChanged):
(WebNetscapePluginEventHandlerCocoa::focusChanged):
2008-05-02 Anders Carlsson <andersca@apple.com>
Reviewed by Mark.
Make sure that 32-bit only plug-ins aren't shown when running as 64-bit.
Call preflightAndReturnError on the bundle, which will check if any of the architectures
in the bundle match the current architecture.
* Plugins/WebNetscapePluginPackage.m:
(-[WebNetscapePluginPackage _initWithPath:]):
2008-05-02 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Geoffrey Garen.
https://bugs.webkit.org/show_bug.cgi?id=18826
Make JavaScript heap per-thread
* Misc/WebCoreStatistics.mm:
(+[WebCoreStatistics javaScriptObjectsCount]):
(+[WebCoreStatistics javaScriptGlobalObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
(+[WebCoreStatistics javaScriptReferencedObjectsCount]):
Replaced static Collector calls with calls to a current thread's instance.
* WebView/WebScriptDebugDelegate.mm:
(-[WebScriptCallFrame evaluateWebScript:]):
Pass ExecState to jsString().
2008-05-01 Anders Carlsson <andersca@apple.com>
Reviewed by Mark.
64-bit NPAPI plugin build fixes.
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
(-[WebBaseNetscapePluginView updateAndSetWindow]):
(-[WebBaseNetscapePluginView start]):
(-[WebBaseNetscapePluginView windowBecameKey:]):
* Plugins/WebNetscapeDeprecatedFunctions.c:
* Plugins/WebNetscapeDeprecatedFunctions.h:
* Plugins/WebNetscapePluginEventHandler.mm:
(WebNetscapePluginEventHandler::create):
* Plugins/WebNetscapePluginEventHandlerCarbon.h:
* Plugins/WebNetscapePluginEventHandlerCarbon.mm:
* Plugins/WebPluginDatabase.m:
(-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
2008-05-01 Anders Carlsson <andersca@apple.com>
Reviewed by Tim.
Remove duplicate npfunctions.h header from WebKit.
* MigrateHeaders.make:
Migrate npfunctions.h
* Plugins/npfunctions.h: Removed.
2008-05-01 Anders Carlsson <andersca@apple.com>
Reviewed by John.
Add null checks for the event handler.
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView stopTimers]):
(-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
2008-05-01 Anders Carlsson <andersca@apple.com>
Fix 64-bit build.
* Plugins/WebNetscapePluginEventHandlerCocoa.h:
* Plugins/WebNetscapePluginEventHandlerCocoa.mm:
* WebCoreSupport/WebFrameLoaderClient.mm:
2008-05-01 Anders Carlsson <andersca@apple.com>
Fix build.
* Plugins/npfunctions.h:
2008-05-01 Anders Carlsson <andersca@apple.com>
Reviewed by Adam.
Forward mouse move events to the Netscape plug-in view.
* Plugins/WebBaseNetscapePluginView.h:
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView handleMouseMoved:]):
New method that just calls the current event handler.
* Plugins/WebNetscapePluginEventHandlerCocoa.mm:
(WebNetscapePluginEventHandlerCocoa::flagsChanged):
NSFlagsChanged is not a regular keyboard event and some of the NSEvent accessors
don't work on it so don't call them.
* WebCoreSupport/WebFrameLoaderClient.mm:
(NetscapePluginWidget::NetscapePluginWidget):
New Widget subclass to be used for Netscape plug-ins.
(NetscapePluginWidget::handleEvent):
Forward NSMouseMoved events to the plug-in.
(WebFrameLoaderClient::createPlugin):
Wrap the plug-in view in a NetscapePluginWidget.
2008-05-01 Alp Toker <alp@nuanti.com>
Rubber-stamped by Anders.
GTK+ build fix for changes in r32752. Use int32, not int32_t types in
npapi.h.
Additional fix to use same signedness in npapi.h and Mac for the
interval parameter.
* Plugins/WebBaseNetscapePluginView.h:
* Plugins/WebBaseNetscapePluginView.mm:
(PluginTimer::PluginTimer):
(-[WebBaseNetscapePluginView stopTimers]):
(-[WebBaseNetscapePluginView restartTimers]):
(-[WebBaseNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]):
(-[WebBaseNetscapePluginView unscheduleTimer:]):
* Plugins/WebBaseNetscapePluginViewPrivate.h:
* Plugins/npapi.m:
(NPN_ScheduleTimer):
(NPN_UnscheduleTimer):
* Plugins/npfunctions.h:
2008-04-30 Anders Carlsson <andersca@apple.com>
Reviewed by Adam.
Add new Cocoa event model and the NPN_ScheduleTimer/NPN_UnscheduleTimer methods.
* Plugins/WebBaseNetscapePluginView.h:
* Plugins/WebBaseNetscapePluginView.mm:
(PluginTimer::PluginTimer):
(PluginTimer::start):
(PluginTimer::fired):
(-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
(-[WebBaseNetscapePluginView stopTimers]):
(-[WebBaseNetscapePluginView restartTimers]):
(-[WebBaseNetscapePluginView scrollWheel:]):
(-[WebBaseNetscapePluginView flagsChanged:]):
(-[WebBaseNetscapePluginView start]):
(-[WebBaseNetscapePluginView eventModel]):
(-[WebBaseNetscapePluginView fini]):
(-[WebBaseNetscapePluginView getVariable:value:]):
(-[WebBaseNetscapePluginView setVariable:value:]):
(-[WebBaseNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]):
(-[WebBaseNetscapePluginView unscheduleTimer:]):
* Plugins/WebBaseNetscapePluginViewInternal.h:
* Plugins/WebBaseNetscapePluginViewPrivate.h:
* Plugins/WebNetscapePluginEventHandler.h:
* Plugins/WebNetscapePluginEventHandler.mm:
(WebNetscapePluginEventHandler::create):
* Plugins/WebNetscapePluginEventHandlerCarbon.h:
* Plugins/WebNetscapePluginEventHandlerCarbon.mm:
(WebNetscapePluginEventHandlerCarbon::scrollWheel):
(WebNetscapePluginEventHandlerCarbon::flagsChanged):
(WebNetscapePluginEventHandlerCarbon::platformWindow):
* Plugins/WebNetscapePluginEventHandlerCocoa.h: Added.
(WebNetscapePluginEventHandlerCocoa::startTimers):
(WebNetscapePluginEventHandlerCocoa::stopTimers):
* Plugins/WebNetscapePluginEventHandlerCocoa.mm: Added.
(WebNetscapePluginEventHandlerCocoa::WebNetscapePluginEventHandlerCocoa):
(WebNetscapePluginEventHandlerCocoa::drawRect):
(WebNetscapePluginEventHandlerCocoa::mouseDown):
(WebNetscapePluginEventHandlerCocoa::mouseDragged):
(WebNetscapePluginEventHandlerCocoa::mouseEntered):
(WebNetscapePluginEventHandlerCocoa::mouseExited):
(WebNetscapePluginEventHandlerCocoa::mouseMoved):
(WebNetscapePluginEventHandlerCocoa::mouseUp):
(WebNetscapePluginEventHandlerCocoa::scrollWheel):
(WebNetscapePluginEventHandlerCocoa::sendMouseEvent):
(WebNetscapePluginEventHandlerCocoa::keyDown):
(WebNetscapePluginEventHandlerCocoa::keyUp):
(WebNetscapePluginEventHandlerCocoa::flagsChanged):
(WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
(WebNetscapePluginEventHandlerCocoa::windowFocusChanged):
(WebNetscapePluginEventHandlerCocoa::focusChanged):
(WebNetscapePluginEventHandlerCocoa::platformWindow):
(WebNetscapePluginEventHandlerCocoa::sendEvent):
* Plugins/WebNetscapePluginPackage.m:
(-[WebNetscapePluginPackage load]):
* Plugins/npapi.m:
(NPN_ScheduleTimer):
(NPN_UnscheduleTimer):
* Plugins/npfunctions.h:
2008-04-30 Brady Eidson <beidson@apple.com>
Fix my WebPreferences revert check-in
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]):
2008-04-30 Brady Eidson <beidson@apple.com>
Rubberstamped by John Sullivan
Revert the remainder of my original preferences changes from last week.
They caused a massive PLT regression (too many notifications being sent out
or listened to that weren't previously) and it's not in my schedule to refine
the preferences code instead of working on my feature!
* WebView/WebView.mm:
(-[WebView _updateSettingsFromPreferences:]):
(-[WebView _commonInitializationWithFrameName:groupName:]):
2008-04-30 Anders Carlsson <andersca@apple.com>
Fix the 64-bit build.
* Plugins/WebNetscapePluginEventHandler.h:
* Plugins/WebNetscapePluginEventHandler.mm:
* Plugins/WebNetscapePluginEventHandlerCarbon.h:
* Plugins/WebNetscapePluginEventHandlerCarbon.mm:
2008-04-29 David D. Kilzer <ddkilzer@apple.com>
BUILD FIX for Release build.
* Plugins/WebNetscapePluginEventHandlerCarbon.mm:
(WebNetscapePluginEventHandlerCarbon::drawRect): Declare acceptedEvent
separately so the compiler doesn't complain about an unused variable.
(WebNetscapePluginEventHandlerCarbon::TSMEventHandler): Ditto.
2008-04-29 Anders Carlsson <andersca@apple.com>
Reviewed by Adam.
Refactor the Carbon event handling code out into a separate class in preparation for adding
the Cocoa event handling code.
* Plugins/WebBaseNetscapePluginView.h:
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView sendEvent:isDrawRect:]):
(-[WebBaseNetscapePluginView sendActivateEvent:]):
(-[WebBaseNetscapePluginView sendDrawRectEvent:]):
(-[WebBaseNetscapePluginView stopTimers]):
(-[WebBaseNetscapePluginView restartTimers]):
(-[WebBaseNetscapePluginView setHasFocus:]):
(-[WebBaseNetscapePluginView mouseDown:]):
(-[WebBaseNetscapePluginView mouseUp:]):
(-[WebBaseNetscapePluginView mouseEntered:]):
(-[WebBaseNetscapePluginView mouseExited:]):
(-[WebBaseNetscapePluginView mouseDragged:]):
(-[WebBaseNetscapePluginView keyUp:]):
(-[WebBaseNetscapePluginView keyDown:]):
(-[WebBaseNetscapePluginView cut:]):
(-[WebBaseNetscapePluginView copy:]):
(-[WebBaseNetscapePluginView paste:]):
(-[WebBaseNetscapePluginView selectAll:]):
(-[WebBaseNetscapePluginView start]):
(-[WebBaseNetscapePluginView stop]):
(-[WebBaseNetscapePluginView fini]):
(-[WebBaseNetscapePluginView drawRect:]):
(-[WebBaseNetscapePluginView viewWillMoveToWindow:]):
(-[WebBaseNetscapePluginView viewDidMoveToWindow]):
(-[WebBaseNetscapePluginView windowBecameKey:]):
(-[WebBaseNetscapePluginView windowResignedKey:]):
(-[WebBaseNetscapePluginView windowDidMiniaturize:]):
(-[WebBaseNetscapePluginView windowDidDeminiaturize:]):
(-[WebBaseNetscapePluginView loginWindowDidSwitchFromUser:]):
(-[WebBaseNetscapePluginView loginWindowDidSwitchToUser:]):
(-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
(-[WebBaseNetscapePluginView _viewHasMoved]):
* Plugins/WebBaseNetscapePluginViewInternal.h:
* Plugins/WebNetscapePluginEmbeddedView.h:
* Plugins/WebNetscapePluginEventHandler.h: Added.
(WebNetscapePluginEventHandler::~WebNetscapePluginEventHandler):
(WebNetscapePluginEventHandler::currentEventIsUserGesture):
(WebNetscapePluginEventHandler::WebNetscapePluginEventHandler):
* Plugins/WebNetscapePluginEventHandler.mm: Added.
(WebNetscapePluginEventHandler::create):
* Plugins/WebNetscapePluginEventHandlerCarbon.h: Added.
* Plugins/WebNetscapePluginEventHandlerCarbon.mm: Added.
(WebNetscapePluginEventHandlerCarbon::WebNetscapePluginEventHandlerCarbon):
(getCarbonEvent):
(modifiersForEvent):
(WebNetscapePluginEventHandlerCarbon::sendNullEvent):
(WebNetscapePluginEventHandlerCarbon::drawRect):
(WebNetscapePluginEventHandlerCarbon::mouseDown):
(WebNetscapePluginEventHandlerCarbon::mouseUp):
(WebNetscapePluginEventHandlerCarbon::mouseEntered):
(WebNetscapePluginEventHandlerCarbon::mouseExited):
(WebNetscapePluginEventHandlerCarbon::mouseDragged):
(WebNetscapePluginEventHandlerCarbon::mouseMoved):
(WebNetscapePluginEventHandlerCarbon::keyDown):
(keyMessageForEvent):
(WebNetscapePluginEventHandlerCarbon::keyUp):
(WebNetscapePluginEventHandlerCarbon::focusChanged):
(WebNetscapePluginEventHandlerCarbon::windowFocusChanged):
(WebNetscapePluginEventHandlerCarbon::TSMEventHandler):
(WebNetscapePluginEventHandlerCarbon::installKeyEventHandler):
(WebNetscapePluginEventHandlerCarbon::removeKeyEventHandler):
(WebNetscapePluginEventHandlerCarbon::nullEventTimerFired):
(WebNetscapePluginEventHandlerCarbon::startTimers):
(WebNetscapePluginEventHandlerCarbon::stopTimers):
(WebNetscapePluginEventHandlerCarbon::sendEvent):
2008-04-29 Mark Rowe <mrowe@apple.com>
Reviewed by David Harrison.
Ensure that WebDynamicScrollBarsView defines WebCoreScrollbarAlwaysOn to keep Mail building.
* WebKit.exp:
* WebView/WebDynamicScrollBarsView.h:
* WebView/WebDynamicScrollBarsView.m:
2008-04-29 Greg Bolsinga <bolsinga@apple.com>
Reviewed by Darin Adler.
Wrapped Dashboard code with ENABLE(DASHBOARD_SUPPORT)
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
* WebView/WebClipView.m:
(-[WebClipView scrollWheel:]):
* WebView/WebHTMLView.mm:
(-[WebHTMLView addMouseMovedObserver]):
(-[WebHTMLView removeMouseMovedObserver]):
(-[WebHTMLView acceptsFirstMouse:]):
* WebView/WebUIDelegatePrivate.h:
* WebView/WebView.mm:
(-[WebViewPrivate init]):
* WebView/WebViewPrivate.h:
2008-04-28 Rob Buis <buis@kde.org>
Reviewed by Maciej.
Build fix for Tiger.
* WebView/WebView.mm:
(WebKitInitializeApplicationCachePathIfNecessary):
2008-04-28 Adele Peterson <adele@apple.com>
Reviewed by Dan Bernstein, Tim Hatcher, Anders Carlsson, and Darin Adler.
WebKit part of fix for <rdar://problem/3709505>
Safari should have a way to upload bundles from the file upload control (as zip)
Added UIDelegate methods to let the application handle generating replacement files for uploads.
In this case, Safari will create archived files for bundles so they can be uploaded properly.
* DefaultDelegates/WebDefaultUIDelegate.m:
(-[WebDefaultUIDelegate webView:shouldReplaceUploadFile:usingGeneratedFilename:]):
(-[WebDefaultUIDelegate webView:generateReplacementFile:]):
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::shouldReplaceWithGeneratedFileForUpload):
(WebChromeClient::generateReplacementFile):
* WebView/WebUIDelegatePrivate.h:
2008-04-28 Anders Carlsson <andersca@apple.com>
Reviewed by Sam, Mark, Adele and Darin.
Initialize the application cache path.
* WebView/WebView.mm:
(WebKitInitializeApplicationCachePathIfNecessary):
(-[WebView _commonInitializationWithFrameName:groupName:]):
2008-04-28 Alice Liu <alice.liu@apple.com>
Reviewed by Darin Adler.
Fix <rdar://problem/4911289> Add tabindex property to all children
of HTMLElement (7138)
http://bugs.webkit.org/show_bug.cgi?id=7138
* MigrateHeaders.make:
Removing DOMHTMLLabelElementPrivate.h and DOMHTMLLegendElementPrivate.h
because now that focus() has been moved to DOMHTMLElement.h, these
files are no longer needed.
2008-04-25 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin Adler.
Fix run-webkit-tests --threading
and provisionally fix <https://bugs.webkit.org/show_bug.cgi?id=18661>
Proxy server issue in Sunday's Nightly
* WebView/WebView.mm: (-[WebViewPrivate init]): Initialize threading. Previously, this was
only done from icon database code, which is not robust enough.
2008-04-20 Adam Barth <hk9565@gmail.com>
Reviewed by Adam Roben and Sam Weinig.
Updated WebSecurityOrigin to match new SecurityOrigin API.
Collin Jackson <collinj-webkit@collinjackson.com> also contributed to this patch.
* Storage/WebSecurityOrigin.mm:
(-[WebSecurityOrigin host]):
(-[WebSecurityOrigin domain]):
* Storage/WebSecurityOriginPrivate.h:
2008-04-25 Mark Rowe <mrowe@apple.com>
Rubber-stamped by Sam Weinig.
Add some content to an empty ICU header file to prevent verification errors.
* icu/unicode/utf_old.h:
2008-04-25 Anders Carlsson <andersca@apple.com>
Reviewed by Sam.
Add offlineWebApplicationCacheEnabled preference.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.m:
(+[WebPreferences initialize]):
(-[WebPreferences offlineWebApplicationCacheEnabled]):
(-[WebPreferences setOfflineWebApplicationCacheEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _updateSettingsFromPreferences:]):
2008-04-24 Mark Rowe <mrowe@apple.com>
Reviewed by Sam Weinig.
Remove code for calculating the glyph cache size.
* WebCoreSupport/WebSystemInterface.m:
(InitWebCoreSystemInterface): Remove unused symbol.
2008-04-24 Mark Rowe <mrowe@apple.com>
Reviewed by Sam Weinig.
Add a definition of BUILDING_ON_LEOPARD to complement BUILDING_ON_TIGER.
* WebKitPrefix.h:
2008-04-24 Brady Eidson <beidson@apple.com>
Reviewed by Darin
Fix layout test regressions from my earlier preferences/settings tweak.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]): Even if we're not posting
the notification to update the settings, each WebView still needs to register for the
notification - restore that behavior.
2008-04-24 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
- preparation for https://bugs.webkit.org/show_bug.cgi?id=3729
<rdar://problem/4036353> REGRESSION: arrow keys move insertion bar backwards in RTL text
* WebView/WebFrame.mm:
(-[WebFrame _caretRectAtNode:offset:affinity:]): Changed to use
VisiblePosition::caretRect() instead of the RenderObject method which
was removed.
2008-04-24 Brady Eidson <beidson@apple.com>
Reviewed by Darin
Rework the Settings population again.
* WebView/WebView.mm:
(-[WebView _updateSettingsFromPreferences:]): This method is called both from _preferencesChangedNotification
and directly from WebView's common init function.
(-[WebView _preferencesChangedNotification:]):
(-[WebView _commonInitializationWithFrameName:groupName:]): Call _updateSettingsFromPreferences immediately
after creating the new Page
2008-04-24 Darin Adler <darin@apple.com>
Reviewed by Geoff.
- fix crash in regression test where we'd ask a frame for a user agent string
after the WebView was already closed
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::userAgent): Assert that the WebView is not nil. Also
added some code to prevent the crash in release builds if this problem happens
again.
2008-04-24 Anders Carlsson <andersca@apple.com>
Reviewed by Sam.
Change some String arguments to be const references instead.
* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::shouldInsertText):
2008-04-24 John Sullivan <sullivan@apple.com>
Mac build fix
* WebCoreSupport/WebViewFactory.mm:
(-[WebViewFactory AXButtonActionVerb]):
implement this method using the text in WebCoreLocalizedStrings.cpp
(-[WebViewFactory AXRadioButtonActionVerb]):
ditto
(-[WebViewFactory AXTextFieldActionVerb]):
ditto
(-[WebViewFactory AXCheckedCheckBoxActionVerb]):
ditto
(-[WebViewFactory AXUncheckedCheckBoxActionVerb]):
ditto
(-[WebViewFactory AXLinkActionVerb]):
ditto
2008-04-23 Brady Eidson <beidson@apple.com>
Reviewed by Sam Weinig
In some current work I noticed that when a new Page is created, it is possible that it requires info from its Settings
object before the Settings object is initialized. It seems quite prudent to post the preferences changed notification,
thereby populating the Settings object, immediately after the Page is created.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]): Post the notification right after the Page is created
2008-04-24 John Sullivan <sullivan@apple.com>
Reviewed by Jess
- fixed <rdar://problem/5886655> JavaScript input panel automatic resizing doesn't work right with HiDPI
* Misc/WebNSControlExtras.m:
(-[NSControl sizeToFitAndAdjustWindowHeight]):
deploy userSpaceScaleFactor when using view distances on the window
2008-04-22 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
Add NPN_Construct and NPN_PluginThreadAsyncCall declarations.
* Plugins/npfunctions.h:
2008-04-20 Matt Lilek <webkit@mattlilek.com>
Mysteriously reviewed by mitz|away.
Bug 18111: Closing a tab while dragging crashes Safari
https://bugs.webkit.org/show_bug.cgi?id=18111
Null check the page before handling drag events.
* WebView/WebView.mm:
(-[WebView draggingUpdated:]):
(-[WebView draggingExited:]):
2008-04-19 Brady Eidson <beidson@apple.com>
Reviewed by Tim Hatcher
Add a WebPreference for the path of the local storage persistent store.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.m:
(-[WebPreferences _localStorageDatabasePath]):
(-[WebPreferences _setLocalStorageDatabasePath:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]):
2008-04-18 Brady Eidson <beidson@apple.com>
Reviewed by Sam Weinig
Don't clear the PageGroup on _close, as the WebCore::Page destructor already does this.
No reason to do the work twice...
* WebView/WebView.mm:
(-[WebView _close]):
2008-04-17 Eric Seidel <eric@webkit.org>
Reviewed by beth.
Rename Frame::renderer() to contentRenderer() and fix uses.
* Misc/WebCoreStatistics.mm:
* WebView/WebRenderNode.mm:
(-[WebRenderNode initWithWebFrameView:]):
2008-04-17 Jon Honeycutt <jhoneycutt@apple.com>
Reviewed by mrowe.
* WebView/WebFrame.mm: Remove temporary build fix.
2008-04-17 Mark Rowe <mrowe@apple.com>
Reviewed by Dan Bernstein.
Fix <rdar://problem/5863552> REGRESSION (r30741): Attachments don't appear in the iChat message window after sending
The order of arguments to -[NSDictionary initWithObjects:andKeys:] had been transposed accidentally during refactoring.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::createPlugin): Pass the arguments in the correct order.
2008-04-17 Mark Rowe <mrowe@apple.com>
Rubber-stamped by Dan Bernstein.
Fix the Mac build.
* WebView/WebFrame.mm: Define HAVE_ACCESSIBILITY before including AccessibilityObject.h and AXObjectCache.h to get things building
for now. This comes from config.h in WebCore but we don't have an equivalent in WebKit so we'll need to work out the correct place
for this to live going forward.
2008-04-15 Kevin Decker <kdecker@apple.com>
Reviewed by Anders.
<rdar://problem/5412759> CrashTracer: [USER] 22 crashes in Safari at com.apple.quicktime.webplugin: NPN_SetValue + 15403
In certain situations, code in WebBasePluginPackage would load a plug-in only for the explicit reason of asking it to create a
preference file, but wouldn't actually unload the bundle. This created problems for the QuickTime WebKit plug-in by unloading
a bundle out from underneath itself.
* Plugins/WebBasePluginPackage.h: Added unload method.
* Plugins/WebBasePluginPackage.m:
(-[WebBasePluginPackage unload]): Added new method. Currently, only Netscape plug-ins support unload.
(-[WebBasePluginPackage pListForPath:createFile:]): Added a call to unload.
* Plugins/WebNetscapePluginPackage.m:
(-[WebNetscapePluginPackage unload]): Added.
2008-04-15 Anders Carlsson <andersca@apple.com>
Reviewed by Adam.
Add ENABLE_OFFLINE_WEB_APPLICATIONS to FEATURE_DEFINES.
* Configurations/WebKit.xcconfig:
2008-04-15 Brady Eidson <beidson@apple.com>
Reviewed by John Sullivan
Do a more complete job adding the "WebArchiveDebugMode" pref
* WebView/WebPreferences.m: Add both getter *and* setter
(-[WebPreferences webArchiveDebugModeEnabled]):
(-[WebPreferences setWebArchiveDebugModeEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]): Call the renamed getter
2008-04-14 Brady Eidson <beidson@apple.com>
Reviewed by Anders
Add a hidden pref to debug WebArchive loading. With this pref on, when loading a WebArchive,
if the resource isn't in the ArchiveResourceCollection, the loader will not fall back to the
network and will instead fail the load as "cancelled."
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.m:
(+[WebPreferences initialize]):
(-[WebPreferences _webArchiveDebugModeEnabled]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]):
2008-04-11 David Hyatt <hyatt@apple.com>
Rename CachedResource ref/deref methods to addClient/removeClient.
Reviewed by olliej
* WebView/WebHTMLView.mm:
(-[WebHTMLViewPrivate dealloc]):
(-[WebHTMLViewPrivate finalize]):
(-[WebHTMLViewPrivate clear]):
(-[WebHTMLView setPromisedDragTIFFDataSource:WebCore::]):
2008-04-07 Brady Eidson <beidson@apple.com>
Add "ENABLE_DOM_STORAGE" to keep in sync with the rest of the project
* Configurations/WebKit.xcconfig:
2008-04-04 Adam Roben <aroben@apple.com>
Use WebCore's ICU headers instead of our own copy
Rubberstamped by Tim Hatcher.
* Configurations/WebKit.xcconfig: Pick up ICU headers from WebCore's
PrivateHeaders.
2008-04-04 Adam Roben <aroben@apple.com>
Fix <rdar://problem/5804776> Would like to use WebCore's
ForwardingHeaders in WebKit without manually creating copies
Patch by Tim Hatcher, typed by me.
* Configurations/WebKit.xcconfig: Use the copy of ForwardingHeaders in
WebCore's PrivateHeaders instead of our own copy.
2008-04-04 Ada Chan <adachan@apple.com>
Now we pass width and height directly as integers to format
the window title for a standalone image.
Reviewed by Dan.
* WebCoreSupport/WebViewFactory.mm:
(-[WebViewFactory imageTitleForFilename:width:height:]):
2008-04-03 Nicholas Shanks <webkit@nickshanks.com>
Updated by Dan Bernstein. Reviewed by Dave Hyatt.
- WebKit part of fixing http://bugs.webkit.org/show_bug.cgi?id=6484
font-weight does not properly support graded weights
* WebView/WebHTMLView.mm:
(-[WebHTMLView _styleFromFontAttributes:]):
(-[WebHTMLView _originalFontB]):
(-[WebHTMLView _addToStyle:fontA:fontB:]):
2008-04-02 Mark Rowe <mrowe@apple.com>
Reviewed by Oliver Hunt.
Ensure that debug symbols are generated for x86_64 and ppc64 builds.
* Configurations/Base.xcconfig:
2008-03-31 Alice Liu <alice.liu@apple.com>
Reviewed by Darin Adler.
* WebView/WebFrame.mm:
(-[WebFrame _accessibilityTree]):
The syntax for fetching an object from the AXObjectCache changed slightly
2008-03-31 Brady Eidson <beidson@apple.com>
Reviewed by Jon Honeycutt
Move a WebArchive loading check into WebCore
* WebView/WebHTMLRepresentation.mm:
(-[WebHTMLRepresentation receivedData:withDataSource:]): Don't check "isDisplayingWebArchive" as WebCore is now
responsible for checking that state
2008-03-31 Brady Eidson <beidson@apple.com>
Reviewed by Darin and Mitz's rubber stamp
Remove dataForArchivedSelection(WebCore::Frame*) from the EditorClient - only usage is now directly in WebCore
* WebCoreSupport/WebEditorClient.mm:
* WebCoreSupport/WebEditorClient.h:
2008-03-28 Brady Eidson <beidson@apple.com>
Rubberstamped by Darin Adler
Remove WebArchiver.h/mm
* WebView/WebArchiver.h: Removed.
* WebView/WebArchiver.mm: Removed.
* DOM/WebDOMOperations.mm:
* WebCoreSupport/WebDragClient.mm:
* WebCoreSupport/WebEditorClient.mm:
* WebView/WebDataSource.mm:
* WebView/WebHTMLView.mm:
2008-03-28 Brady Eidson <beidson@apple.com>
Reviewed by Darin Adler
Now that WebCore can create archives from a frame selection directly, we don't need it in WebArchiver anymore
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::dataForArchivedSelection):
* WebView/WebArchiver.h: Nuke archiveSelectionInFrame, as there are no remaining users
* WebView/WebArchiver.mm: Ditto
* WebView/WebHTMLView.mm:
(-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]):
2008-03-28 Brady Eidson <beidson@apple.com>
Reviewed by Darin Adler
More Kit->Core WebArchive changes.
Create an archive from the current selection in a frame
* WebView/WebArchiver.mm: Remove one more *undeclared* method, the last method will drop off
easily in a followup
2008-03-28 Brady Eidson <beidson@apple.com>
Reviewed by Sam Weinig
WebArchive saga continues - Can now make archives from ranges in WebCore
* DOM/WebDOMOperations.mm:
(-[DOMRange webArchive]):
(-[DOMRange markupString]):
* WebView/WebArchiver.h: Remove newly obsolete [WebArchiver archiveRange:]
* WebView/WebArchiver.mm:
2008-03-28 Brady Eidson <beidson@apple.com>
Reviewed by Sam Weinig
More Kit->Core webarchive code movement
* DOM/WebDOMOperations.mm:
(-[DOMNode markupString]): Call createFullMarkup() instead
* WebView/WebFrame.mm: Remove obsolete _markupStringFromNode
* WebView/WebFrameInternal.h: Ditto
2008-03-28 Brady Eidson <beidson@apple.com>
Reviewed by Sam Weinig
Fold [WebArchiver archiveFrame:] into WebDataSource - the last remaining caller
* WebView/WebArchiver.h:
* WebView/WebArchiver.mm:
* WebView/WebDataSource.mm:
(-[WebDataSource webArchive]):
2008-03-28 Brady Eidson <beidson@apple.com>
Reviewed by Sam Weinig
Remove unused [WebArchiver archiveNode:], made obsolete in r31400
* WebView/WebArchiver.h:
* WebView/WebArchiver.mm:
2008-03-28 Brady Eidson <beidson@apple.com>
Reviewed by Darin
"Yet another transitional step" to empty out WebKit-based code for archiving.
With this patch, the key operation of "Creating a WebArchive rooted at a single Node" takes place
entirely within WebCore, and opens the door to saving WebArchives on Windows.
* DOM/WebDOMOperations.mm:
* WebView/WebArchiver.mm:
(+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]):
2008-03-27 Brady Eidson <beidson@apple.com>
Reviewed by Adam Roben
Move [WebDataSource mainResource] and [WebDataSource subresources] down into WebCore
as the push to core-ify WebArchives continues.
This patch also introduces a behavior change. WebCore allows ArchiveResources with null or empty data.
WebKit has had the inexplicable distinction of allowing empty Data in a WebResource, but not null.
Since WebResource is API, I decided to leave it be to avoid a behavior change. But internally created resources
(as in "while archiving a page") are accepting of null or empty data.
This actually fixes a bug where not all subframes are archived, and resulted in a layout test change.
* WebView/WebDataSource.mm:
(-[WebDataSource mainResource]): Call DocumentLoader implementation
(-[WebDataSource subresources]): Ditto
* WebView/WebFrame.mm: Remove [WebFrame _getAllResourceDatas:andResponses:] as its only caller is obsolete
* WebView/WebFrameInternal.h:
2008-03-27 Brady Eidson <beidson@apple.com>
Reviewed by Adam
Change the "init from WebCore resource" version of WebResource to take PassRefPtr
(more efficient)
* WebView/WebResource.mm:
(-[WebResource _initWithCoreResource:]):
* WebView/WebResourceInternal.h:
2008-03-26 Brady Eidson <beidson@apple.com>
Build fix - accidentally checked in this change which was work in progress
* DOM/WebDOMOperations.mm:
2008-03-26 Brady Eidson <beidson@apple.com>
Reviewed by Darin
When we create a WebArchive, we walk every node from some starting point, asking each node
along the way "What are your subresource URLs?"
That logic is currently in DOMNode in WebKitMac - this patch moves that ability down into
WebCore::Node
* DOM/WebDOMOperations.mm:
(-[DOMNode _subresourceURLs]): One generic DOMNode method can now handle all DOMNodes by
calling into individual WebCore::Node implementations
* DOM/WebDOMOperationsPrivate.h:
2008-03-26 Brady Eidson <beidson@apple.com>
Reviewed by Mark Rowe
Part of the continued push to move WebArchive-related code down to WebCore, this
moves [WebDataSource subresourceForURL:] down to DocumentLoader->subresource()
* WebView/WebDataSource.mm:
(-[WebDataSource subresourceForURL:]): Call through to the DocumentLoader
* WebView/WebFrame.mm: Remove [WebFrame _getData:andResponse:forURL:], as its only use
has now been ported down to WebCore
* WebView/WebFrameInternal.h:
2008-03-26 Mark Rowe <mrowe@apple.com>
Rubber-stamped by Brady Eidson.
Update FEATURE_DEFINES to be consistent with the other locations in which it is defined.
* Configurations/WebKit.xcconfig:
2008-03-26 Mark Rowe <mrowe@apple.com>
Reviewed by David Hyatt.
Make the Ahem font antialias correctly on Acid3 on Tiger.
* WebCoreSupport/WebSystemInterface.m:
(InitWebCoreSystemInterface):
2008-03-26 Mark Rowe <mrowe@apple.com>
Fix the Mac build.
* MigrateHeaders.make: Copy the newly generated header into the right place.
2008-03-25 Brady Eidson <beidson@apple.com>
Reviewed by Beth Dakin
Remove entirely unused internal method
* WebView/WebArchiver.h:
* WebView/WebArchiver.mm:
2008-03-25 Brady Eidson <beidson@apple.com>
Reviewed by Adam Roben
<rdar://problem/5819308> - View Source is empty when view webarchives
* WebCore.base.exp:
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::setParsedArchiveData):
(WebCore::DocumentLoader::parsedArchiveData):
* loader/DocumentLoader.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::finishedLoadingDocument): Set the archive's MainResource data as the parsedArchiveData
in the DocumentLoader
2008-03-25 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
- fix http://bugs.webkit.org/show_bug.cgi?id=17933
Reopen All Windows From Last Session causes crash
* WebView/WebHTMLView.mm:
(-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Added null
check.
2008-03-25 Brady Eidson <beidson@apple.com>
Reviewed by Jon Honeycutt's rubberstamp
Fix a leak with the new WebArchive setup
* WebView/WebArchive.mm:
(-[WebArchivePrivate setCoreArchive:]): Deref() the old WebArchive
2008-03-25 Brady Eidson <beidson@apple.com>
Reviewed by Darin
Removed the concept of "pending archive resources" and the "archive resources delivery timer"
from WebFrameLoaderClient, as those concepts have been pushed into WebCore
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::WebFrameLoaderClient):
2008-03-25 Brady Eidson <beidson@apple.com>
Reviewed by Darin
Remove newly obsolete FrameLoaderClient methods
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
2008-03-25 Brady Eidson <beidson@apple.com>
Release build fix
* WebView/WebArchive.mm:
(-[WebArchive subresources]):
(-[WebArchive subframeArchives]):
2008-03-25 Brady Eidson <beidson@apple.com>
Reviewed by Darin
<rdar://problem/4516169> - Support WebArchives on Windows
And paves the way for many future WebArchive bug fixes and enhancements
This change moves most of the real workhorse code about WebArchives into WebCore. It maintains
1-to-1 relationships between a few objects in WebCore and WebKit. Such as:
* WebArchive <-> LegacyWebArchive
* WebResource <-> ArchiveResource
* WebUnarchivingState <-> ArchiveResourceCollection
The other biggest changes involve many FrameLoaderClient methods that existed soley for WebArchives
and now exist in WebCore
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::clearUnarchivingState): Emptied - to be removed in a followup patch
(WebFrameLoaderClient::finalSetupForReplace):
(WebFrameLoaderClient::setDefersLoading):
(WebFrameLoaderClient::willUseArchive):
(WebFrameLoaderClient::isArchiveLoadPending):
(WebFrameLoaderClient::cancelPendingArchiveLoad):
(WebFrameLoaderClient::clearArchivedResources):
(WebFrameLoaderClient::createFrame):
* WebView/WebArchive.mm:
(+[WebArchivePrivate initialize]):
(-[WebArchivePrivate init]):
(-[WebArchivePrivate initWithCoreArchive:]):
(-[WebArchivePrivate coreArchive]):
(-[WebArchivePrivate setCoreArchive:]):
(-[WebArchivePrivate dealloc]):
(-[WebArchivePrivate finalize]):
(-[WebArchive init]):
(-[WebArchive initWithMainResource:subresources:subframeArchives:]):
(-[WebArchive initWithData:]):
(-[WebArchive initWithCoder:]):
(-[WebArchive encodeWithCoder:]):
(-[WebArchive mainResource]):
(-[WebArchive subresources]):
(-[WebArchive subframeArchives]):
(-[WebArchive data]):
(-[WebArchive _initWithCoreLegacyWebArchive:WebCore::]):
(-[WebArchive WebCore::]):
* WebView/WebArchiveInternal.h: Added.
* WebView/WebDataSource.mm:
(-[WebDataSourcePrivate dealloc]):
(-[WebDataSource _addSubframeArchives:]):
(-[WebDataSource _documentFragmentWithArchive:]):
(-[WebDataSource subresourceForURL:]):
(-[WebDataSource addSubresource:]):
* WebView/WebDataSourceInternal.h:
* WebView/WebFrame.mm:
(-[WebFrame loadArchive:]):
* WebView/WebFrameInternal.h:
* WebView/WebHTMLRepresentation.mm:
(-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
* WebView/WebResource.mm:
(+[WebResourcePrivate initialize]):
(-[WebResourcePrivate init]):
(-[WebResourcePrivate initWithCoreResource:]):
(-[WebResourcePrivate dealloc]):
(-[WebResourcePrivate finalize]):
(-[WebResource initWithCoder:]):
(-[WebResource encodeWithCoder:]):
(-[WebResource data]):
(-[WebResource URL]):
(-[WebResource MIMEType]):
(-[WebResource textEncodingName]):
(-[WebResource frameName]):
(-[WebResource _initWithCoreResource:WebCore::]):
(-[WebResource WebCore::]):
(-[WebResource _ignoreWhenUnarchiving]):
(-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]):
(-[WebResource _fileWrapperRepresentation]):
(-[WebResource _response]):
(-[WebResource _stringValue]):
* WebView/WebResourceInternal.h: Added.
* WebView/WebResourcePrivate.h:
* WebView/WebUnarchivingState.h: Removed.
* WebView/WebUnarchivingState.m: Removed.
2008-03-24 Oliver Hunt <oliver@apple.com>
Reviewed by Mark Rowe.
Bug 18030: REGRESSION(r31236): Space bar fails to scroll down page
<http://bugs.webkit.org/show_bug.cgi?id=18030>
Rollout keyDown changes from r31236 -- fix for keyDown behaviour is
tracked by Bug 18057: keyDown incorrectly propagates up the frame tree
<http://bugs.webkit.org/show_bug.cgi?id=18057>
* WebView/WebHTMLView.mm:
(-[WebHTMLView keyDown:]):
2008-03-24 Cameron Zwarich <cwzwarich@uwaterloo.ca>
Reviewed by Maciej, landed by Brady
Bug 3580: iFrames Appear to be Cached
<http://bugs.webkit.org/show_bug.cgi?id=3580>
Bug 15486: REGRESSION: Reload causes WebKit to *forget* fragment URLs
<http://bugs.webkit.org/show_bug.cgi?id=15486>
Bug 15554: Reload causes <object> to use old data
<http://bugs.webkit.org/show_bug.cgi?id=15554>
If a page is reloaded, a child frame's URL can not be taken from a history item.
* WebView/WebFrame.mm:
(-[WebFrame _loadURL:referrer:intoChild:]):
2008-03-24 Darin Adler <darin@apple.com>
Reviewed by Beth.
- fix <rdar://problem/5817067> -[WebDataSource unreachableURL] invokes KURL's copy constructor
* History/WebHistoryItem.mm:
(-[WebHistoryItem URL]): Use a reference to avoid making a copy.
* WebView/WebDataSource.mm:
(-[WebDataSource _URL]): Ditto.
(-[WebDataSource unreachableURL]): Ditto.
* WebView/WebHTMLView.mm:
(-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Ditto.
* DefaultDelegates/WebDefaultContextMenuDelegate.mm:
* History/WebHistory.mm:
* Misc/WebElementDictionary.mm:
* Misc/WebNSAttributedStringExtras.mm:
Remove unneeded imports of KURL.h.
2008-03-24 Brady Eidson <beidson@apple.com>
Reviewed by Darin's rubberstamp
Rename this file for upcoming work.
* WebView/WebArchive.m: Removed.
* WebView/WebArchive.mm: Copied from WebKit/mac/WebView/WebArchive.m.
2008-03-24 Alexey Proskuryakov <ap@webkit.org>
Build fix.
* MigrateHeaders.make: Added DOMSVGAltGlyphElement.h and DOMSVGAltGlyphElementInternal.h.
2008-03-23 Oliver Hunt <oliver@apple.com>
Reviewed by Maciej.
Bug 17670: Key events may improperly propagate from iframe to parent frame
<http://bugs.webkit.org/show_bug.cgi?id=17670>
Bug 16381: REGRESSION: Shift, command, option, ctrl keys in Gmail Rich Text changes focus
<http://bugs.webkit.org/show_bug.cgi?id=16381>
Prevent the Cocoa event system from propagating key events to the parent WebHTMLView,
as that results in us dispatching the key events for each frame going up the frame
tree.
* WebView/WebHTMLView.mm:
(-[WebHTMLView keyDown:]):
(-[WebHTMLView keyUp:]):
(-[WebHTMLView flagsChanged:]):
2008-03-21 Timothy Hatcher <timothy@apple.com>
Bug 17980: Regression: Inspector highlighting of webpage not cleared when going to new URL
http://bugs.webkit.org/show_bug.cgi?id=17980
Reviewed by Adam.
The new highlight drawing was not honoring the fade value, so it was
always drawing at full opacity. The animation code didn't match Windows
and the new highlight anyway, so it has been removed. The highlight
how just detaches when it is hidden.
* WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController windowShouldClose:]): Call hideHighlight.
(-[WebInspectorWindowController close]): Ditto.
(-[WebInspectorWindowController highlightNode:]): Call attach.
(-[WebInspectorWindowController hideHighlight]): Call detach and release _currentHighlight.
* WebInspector/WebNodeHighlight.h:
* WebInspector/WebNodeHighlight.m:
(-[WebNodeHighlight initWithTargetView:inspectorController:]):
(-[WebNodeHighlight dealloc]): Assert we have no _highlightView.
(-[WebNodeHighlight attach]): Renamed from attachHighlight.
(-[WebNodeHighlight detach]): Renamed from detachHighlight.
(-[WebNodeHighlight setNeedsUpdateInTargetViewRect:]): Renamed from setHolesNeedUpdateInTargetViewRect:.
* WebInspector/WebNodeHighlightView.h:
* WebInspector/WebNodeHighlightView.m:
(-[WebNodeHighlightView setNeedsDisplayInRect:]): Renamed from setHolesNeedUpdateInRect:.
2008-03-20 Mark Rowe <mrowe@apple.com>
Reviewed by Sam Weinig.
Ensure that the defines in FEATURE_DEFINES are sorted so that they will match the default settings of build-webkit.
This will prevent the world from being rebuilt if you happen to switch between building in Xcode and with build-webkit on the
command-line.
* Configurations/WebKit.xcconfig:
2008-03-20 Adam Roben <aroben@apple.com>
Make WebNodeHighlightView use InspectorController to do its painting
Reviewed by Tim Hatcher.
* WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController highlightNode:]): Pass the
InspectorController to the WebNodeHighlight, and don't call
setHighlightedNode: (which has been removed).
(-[WebInspectorWindowController hideHighlight]): Removed call to
setHighlightedNode:.
* WebInspector/WebNodeHighlight.h:
- Replaced _highlightNode with _inspectorController
- Removed _highlightedNode accessors
- Added -inspectorController method
* WebInspector/WebNodeHighlight.m:
(-[WebNodeHighlight initWithTargetView:inspectorController:]): Now
takes an InspectorController* and stores it in _inspectorController.
(-[WebNodeHighlight dealloc]): Removed code dealing with
_highlightedNode.
(-[WebNodeHighlight inspectorController]): Added.
* WebInspector/WebNodeHighlightView.m: Removed FileInternal category.
(-[WebNodeHighlightView isFlipped]): Added. WebCore expects all
GraphicsContexts to be based on a flipped CGContext, so we have to
specify that this view is flipped.
(-[WebNodeHighlightView drawRect:]): Changed to create a
GraphicsContext and pass it to InspectorController::drawNodeHighlight.
2008-03-18 David Hyatt <hyatt@apple.com>
Add support for a preference in WebKit that can be used in nightly builds to test full page
zoom.
Reviewed by Antti
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebView.mm:
(-[WebView setTextSizeMultiplier:]):
(-[WebView canMakeTextSmaller]):
(-[WebView makeTextSmaller:]):
(-[WebView canMakeTextLarger]):
(-[WebView makeTextLarger:]):
(-[WebView canMakeTextStandardSize]):
(-[WebView makeTextStandardSize:]):
2008-03-17 Eric Seidel <eric@webkit.org>
Reviewed by darin.
Export _NPN_IntFromIdentifier as part of our NPAPI interface
* Plugins/WebNetscapePluginPackage.m:
(-[WebNetscapePluginPackage load]):
2008-03-14 Brady Eidson <beidson@apple.com>
Reviewed by Brian Dash's rubberstamp
Remove a class declaration for a class that has never existed
* WebView/WebResource.h:
2008-03-14 David D. Kilzer <ddkilzer@apple.com>
Unify concept of enabling the Mac Java bridge.
Reviewed by Darin and Anders.
* Plugins/WebPluginJava.h: Removed unused file.
* WebCoreSupport/WebFrameLoaderClient.h:
(WebFrameLoaderClient::javaApplet): Added #if ENABLE(MAC_JAVA_BRIDGE) guard.
* WebCoreSupport/WebFrameLoaderClient.mm: Ditto for #import and NSView SPI method.
(WebFrameLoaderClient::javaApplet): Ditto.
2008-03-13 Antti Koivisto <antti@apple.com>
Reviewed by Darin Adler.
* ForwardingHeaders/wtf/Deque.h: Added.
2008-03-13 Anders Carlsson <andersca@apple.com>
Reviewed by Adam.
Call originalRequest, not initialRequest.
* WebView/WebDataSource.mm:
(-[WebDataSource initialRequest]):
2008-03-12 Darin Adler <darin@apple.com>
Reviewed by John Sullivan.
- cleanup after removing the bridge
* DOM/WebDOMOperations.mm:
(-[DOMDocument URLWithAttributeString:]): Call computeURL directly.
* Misc/WebCoreStatistics.mm:
(-[WebFrame renderTreeAsExternalRepresentation]): Call externalRepresentation directly.
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView loadPluginRequest:]): Use core function instead of
_frameLoader method.
(-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
Ditto.
* Plugins/WebPluginController.mm:
(-[WebPluginController webPlugInContainerLoadRequest:inFrame:]): Ditto.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::frameLoaderDestroyed): Added a call to the new _clearCoreFrame
method. Without this we could leave a stale frame pointer around.
(WebFrameLoaderClient::dispatchDidReceiveIcon): Rewrote assertion so it's not the single
caller of the _isMainFrame method.
(WebFrameLoaderClient::transitionToCommittedForNewPage): Use core function instead of
_frameLoader method.
(WebFrameLoaderClient::createFrame): Moved code here from _addChild.
* WebView/WebFrame.mm: Removed lots of methods. Some were moved elsewhere, others
turned out to be unused.
(core): Added overload for DocumentFragment.
(kit): Ditto.
(-[WebFrame _loadURL:referrer:intoChild:]): Get to Frame using _private->coreFrame and
to FrameLoader with _private->coreFrame->loader().
(-[WebFrame _attachScriptDebugger]): Ditto.
(-[WebFrame _clearCoreFrame]): Added.
(-[WebFrame _updateBackground]): More of the same.
(-[WebFrame _unmarkAllBadGrammar]): Ditto.
(-[WebFrame _unmarkAllMisspellings]): Ditto.
(-[WebFrame _hasSelection]): Ditto.
(-[WebFrame _atMostOneFrameHasSelection]): Ditto.
(-[WebFrame _findFrameWithSelection]): Ditto.
(-[WebFrame _dataSource]): Ditto.
(-[WebFrame _addData:]): Streamlined code a bit.
(-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]): Ditto.
(-[WebFrame _receivedData:textEncodingName:]): Ditto.
(-[WebFrame _isDescendantOfFrame:]): Ditto.
(-[WebFrame _bodyBackgroundColor]): Ditto.
(-[WebFrame _isFrameSet]): Ditto.
(-[WebFrame _firstLayoutDone]): Ditto.
(-[WebFrame _loadType]): Ditto.
(-[WebFrame _isDisplayingStandaloneImage]): Ditto.
(-[WebFrame name]): Ditto.
(-[WebFrame DOMDocument]): Ditto.
(-[WebFrame frameElement]): Ditto.
(-[WebFrame provisionalDataSource]): Ditto.
(-[WebFrame dataSource]): Ditto.
(-[WebFrame loadRequest:]): Ditto.
(-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]): Ditto.
(-[WebFrame loadArchive:]): Ditto.
(-[WebFrame stopLoading]): Ditto.
(-[WebFrame reload]): Ditto.
(-[WebFrame findFrameNamed:]): Ditto.
(-[WebFrame parentFrame]): Ditto.
(-[WebFrame childFrames]): Ditto.
(-[WebFrame windowObject]): Ditto.
(-[WebFrame globalContext]): Ditto.
* WebView/WebFrameInternal.h: Added overloads of core and kit.
Removed method declarations.
* WebView/WebHTMLRepresentation.mm:
(-[WebHTMLRepresentation documentSource]): Moved code here from WebFrame.
(formElementFromDOMElement): Ditto.
(-[WebHTMLRepresentation elementWithName:inForm:]): Ditto.
(inputElementFromDOMElement): Ditto.
(-[WebHTMLRepresentation elementDoesAutoComplete:]): Ditto.
(-[WebHTMLRepresentation elementIsPassword:]): Ditto.
(-[WebHTMLRepresentation formForElement:]): Ditto.
(-[WebHTMLRepresentation currentForm]): Ditto.
(-[WebHTMLRepresentation controlsInForm:]): Ditto.
(-[WebHTMLRepresentation searchForLabels:beforeElement:]): Ditto.
(-[WebHTMLRepresentation matchLabels:againstElement:]): Ditto.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _frameOrBoundsChanged]): Moved sendScrollEvent code here from WebFrame.
(-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
Call createFragmentFromText directly instead of via WebFrame.
(-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
Moved layout calls here from WebFrame.
(-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Ditto.
(-[WebHTMLView _updateFontPanel]): Ditto, but with fontForSelection.
(-[WebHTMLView _canSmartCopyOrDelete]): Ditto, but with selectionGranularity.
(-[WebHTMLView markedRange]): Moved code here from _markedTextNSRange.
(-[WebHTMLView attributedSubstringFromRange:]): Tweaked code a bit.
(-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]):
Moved code here from WebFrame.
(-[WebHTMLView elementAtPoint:allowShadowContent:]): Ditto.
(-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]): Ditto.
(-[WebHTMLView setMarkedTextMatchesAreHighlighted:]): Ditto.
(-[WebHTMLView markedTextMatchesAreHighlighted]): Ditto.
(-[WebHTMLView unmarkAllTextMatches]): Ditto.
(-[WebHTMLView rectsForTextMatches]): Ditto.
* WebView/WebHTMLViewInternal.h: Removed unused method declarations.
* WebView/WebPDFView.mm:
(-[WebPDFView PDFViewWillClickOnLink:withURL:]): Use core function instead of
_frameLoader method.
* WebView/WebRenderNode.mm:
(copyRenderNode): Moved code here from WebFrame.
(-[WebRenderNode initWithWebFrameView:]): Ditto.
* WebView/WebResource.mm:
(-[WebResource _stringValue]): Moved code here from WebFrame.
* WebView/WebView.mm:
(-[WebView _close]): Use core function intsead of _frameLoader method.
(-[WebView setCustomTextEncodingName:]): Ditto.
(-[WebView setHostWindow:]): Moved code here from WebFrame.
(aeDescFromJSValue): Moved this here from WebFrame.
(-[WebView aeDescByEvaluatingJavaScriptFromString:]): Moved code here from WebFrame.
2008-03-12 Darin Adler <darin@apple.com>
Reviewed by Anders.
- http://bugs.webkit.org/show_bug.cgi?id=17640
eliminate WebCoreFrameBridge
Moved all the code from the bridge into WebFrame. This need not be the final
home of these methods -- they can be moved closer to their callers and improved
further -- but it eliminates the bridge without requiring a rewrite of the code.
It's a fairly mechanical process (just adding underscores to method names really).
There's even a chance that some of the methods are unused. Those we can remove
after checking if that's so.
* DOM/WebDOMOperations.mm:
(-[DOMNode markupString]): Use WebFrame rather than bridge.
(-[DOMDocument webFrame]): Changed to use the core and kit functions
instead of using the bridge.
(-[DOMDocument URLWithAttributeString:]): Use WebFrame rather than bridge.
(-[DOMRange markupString]): Ditto.
* DOM/WebDOMOperationsPrivate.h: Removed _bridge methods.
* DefaultDelegates/WebDefaultContextMenuDelegate.mm: Removed unneeded import.
* History/WebHistoryItem.mm: Ditto.
* MigrateHeaders.make: Added DOMDocumentFragmentInternal.h.
* Misc/WebCoreStatistics.mm:
(-[WebFrame renderTreeAsExternalRepresentation]): Use WebFrame rather than bridge.
* Misc/WebElementDictionary.mm: Removed unneeded import.
* Misc/WebKitStatistics.m:
(+[WebKitStatistics bridgeCount]): Removed WebBridgeCount and just return 0.
* Misc/WebKitStatisticsPrivate.h: Ditto.
* Misc/WebNSAttributedStringExtras.mm: Removed unneeded import.
* Misc/WebNSPasteboardExtras.mm: Ditto.
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): Use WebFrame
rather than bridge.
* Plugins/WebNetscapePluginEmbeddedView.mm: Removed unneeded import.
* Plugins/WebNetscapePluginStream.mm: Ditto.
* Plugins/WebPluginContainerCheck.mm:
(-[WebPluginContainerCheck _isForbiddenFileLoad]): Use WebFrame rather than
bridge to get to the WebCore::Frame.
* Plugins/WebPluginController.h: Declare webFrame method and remove bridge method.
* Plugins/WebPluginController.mm:
(-[WebPluginController webPlugInContainerLoadRequest:inFrame:]): Use WebFrame
rather than bridge.
* WebCoreSupport/WebEditorClient.mm:
(selectorForKeyEvent): Tweaked comment.
* WebCoreSupport/WebFrameBridge.h: Removed.
* WebCoreSupport/WebFrameBridge.mm: Removed.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::frameLoaderDestroyed): Removed bridge assertion.
(WebFrameLoaderClient::detachedFromParent4): Removed bridge teardown code.
I could remove this function entirely, but it looks like the Qt port is using it.
* WebCoreSupport/WebViewFactory.mm: Removed unneeded import.
* WebView/WebArchiver.mm:
(+[WebArchiver archiveRange:]): Use WebFrame rather than bridge.
(+[WebArchiver archiveNode:]): Ditto.
(+[WebArchiver archiveSelectionInFrame:]): Ditto.
* WebView/WebDataSource.mm:
(-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]): Ditto.
(-[WebDataSource _documentFragmentWithArchive:]): Ditto.
(-[WebDataSource subresources]): Ditto.
(-[WebDataSource subresourceForURL:]): Ditto.
* WebView/WebDataSourceInternal.h: Removed _bridge method.
* WebView/WebFrame.mm:
(-[WebFramePrivate dealloc]): Removed code to release the bridge.
(core): Go directly to the core frame, not via the bridge.
(+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]):
Remove the code to deal with the bridge.
(-[WebFrame _initWithWebFrameView:webView:]): Ditto. Also added code to set the
shouldCreateRenderers flag, formerly on the bridge.
(-[WebFrame _updateBackground]): Change to call mehods on self, not bridge.
(aeDescFromJSValue): Moved here from bridge.
(-[WebFrame _domain]): Ditto.
(-[WebFrame _addData:]): Ditto.
(-[WebFrame _stringWithDocumentTypeStringAndMarkupString:]): Ditto.
(-[WebFrame _nodesFromList:]): Ditto.
(-[WebFrame _markupStringFromNode:nodes:]): Ditto.
(-[WebFrame _markupStringFromRange:nodes:]): Ditto.
(-[WebFrame _selectedString]): Ditto.
(-[WebFrame _stringForRange:]): Ditto.
(-[WebFrame _forceLayoutAdjustingViewSize:]): Ditto.
(-[WebFrame _forceLayoutWithMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Ditto.
(-[WebFrame _sendScrollEvent]): Ditto.
(-[WebFrame _drawRect:]): Ditto.
(-[WebFrame _computePageRectsWithPrintWidthScaleFactor:printHeight:]): Ditto.
(-[WebFrame _adjustPageHeightNew:top:bottom:limit:]): Ditto.
(-[WebFrame _copyRenderNode:copier:]): Ditto.
(-[WebFrame _copyRenderTree:]): Ditto.
(inputElementFromDOMElement): Ditto.
(formElementFromDOMElement): Ditto.
(-[WebFrame _elementWithName:inForm:]): Ditto.
(-[WebFrame _elementDoesAutoComplete:]): Ditto.
(-[WebFrame _elementIsPassword:]): Ditto.
(-[WebFrame _formForElement:]): Ditto.
(-[WebFrame _currentForm]): Ditto.
(-[WebFrame _controlsInForm:]): Ditto.
(-[WebFrame _searchForLabels:beforeElement:]): Ditto.
(-[WebFrame _matchLabels:againstElement:]): Ditto.
(-[WebFrame _URLWithAttributeString:]): Ditto.
(-[WebFrame _searchFor:direction:caseSensitive:wrap:startInSelection:]): Ditto.
(-[WebFrame _markAllMatchesForText:caseSensitive:limit:]): Ditto.
(-[WebFrame _markedTextMatchesAreHighlighted]): Ditto.
(-[WebFrame _setMarkedTextMatchesAreHighlighted:]): Ditto.
(-[WebFrame _unmarkAllTextMatches]): Ditto.
(-[WebFrame _rectsForTextMatches]): Ditto.
(-[WebFrame _stringByEvaluatingJavaScriptFromString:]): Ditto.
(-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): Ditto.
(-[WebFrame _aeDescByEvaluatingJavaScriptFromString:]): Ditto.
(-[WebFrame _caretRectAtNode:offset:affinity:]): Ditto.
(-[WebFrame _firstRectForDOMRange:]): Ditto.
(-[WebFrame _scrollDOMRangeToVisible:]): Ditto.
(-[WebFrame _baseURL]): Ditto.
(-[WebFrame _stringWithData:]): Ditto.
(+[WebFrame _stringWithData:textEncodingName:]): Ditto.
(-[WebFrame _needsLayout]): Ditto.
(-[WebFrame _renderTreeAsExternalRepresentation]): Ditto.
(-[WebFrame _accessibilityTree]): Ditto.
(-[WebFrame _setBaseBackgroundColor:]): Ditto.
(-[WebFrame _setDrawsBackground:]): Ditto.
(-[WebFrame _rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
Ditto.
(-[WebFrame _selectionGranularity]): Ditto.
(-[WebFrame _convertToNSRange:]): Ditto.
(-[WebFrame _convertToDOMRange:]): Ditto.
(-[WebFrame _convertNSRangeToDOMRange:]): Ditto.
(-[WebFrame _convertDOMRangeToNSRange:]): Ditto.
(-[WebFrame _markDOMRange]): Ditto.
(-[WebFrame _markedTextNSRange]): Ditto.
(-[WebFrame _smartDeleteRangeForProposedRange:]): Ditto.
(-[WebFrame _smartInsertForString:replacingRange:beforeString:afterString:]): Ditto.
(-[WebFrame _documentFragmentWithMarkupString:baseURLString:]): Ditto.
(-[WebFrame _documentFragmentWithText:inContext:]): Ditto.
(-[WebFrame _documentFragmentWithNodesAsParagraphs:]): Ditto.
(-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]): Ditto.
(-[WebFrame _replaceSelectionWithNode:selectReplacement:smartReplace:matchStyle:]): Ditto.
(-[WebFrame _replaceSelectionWithMarkupString:baseURLString:selectReplacement:smartReplace:]): Ditto.
(-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]): Ditto.
(-[WebFrame _insertParagraphSeparatorInQuotedContent]): Ditto.
(-[WebFrame _visiblePositionForPoint:]): Ditto.
(-[WebFrame _characterRangeAtPoint:]): Ditto.
(-[WebFrame _typingStyle]): Ditto.
(-[WebFrame _setTypingStyle:withUndoAction:]): Ditto.
(-[WebFrame _fontForSelection:]): Ditto.
(-[WebFrame _dragSourceMovedTo:]): Ditto.
(-[WebFrame _dragSourceEndedAt:operation:]): Ditto.
(-[WebFrame _getData:andResponse:forURL:]): Ditto.
(-[WebFrame _getAllResourceDatas:andResponses:]): Ditto.
(-[WebFrame _canProvideDocumentSource]): Ditto.
(-[WebFrame _canSaveAsWebArchive]): Ditto.
(-[WebFrame _receivedData:textEncodingName:]): Ditto.
(-[WebFrame _setShouldCreateRenderers:]): Put the code from the bridge in this preexisting
function. Couldn't just keep the bridge method because this was already here with the same name.
(-[WebFrame _selectedNSRange]): Ditto.
(-[WebFrame _selectNSRange:]): Ditto.
(-[WebFrame dealloc]): Remove bridge-related code.
(-[WebFrame finalize]): Ditto.
* WebView/WebFrameInternal.h: Added all the method declarations from the bridge.
Removed the bridge parameter from the init method. Removed the #if blocks that
tried to make this header work in non-C++ ObjC files -- they were broken and unused.
Removed the _bridge method.
* WebView/WebFrameView.mm: Removed the _bridge method.
* WebView/WebHTMLRepresentation.mm:
(-[WebHTMLRepresentation setDataSource:]): Removed the code to set up the bridge
field.
(-[WebHTMLRepresentation receivedData:withDataSource:]): Use WebFrame instead of bridge.
(-[WebHTMLRepresentation finishedLoadingWithDataSource:]): Ditto.
(-[WebHTMLRepresentation canProvideDocumentSource]): Ditto.
(-[WebHTMLRepresentation canSaveAsWebArchive]): Ditto.
(-[WebHTMLRepresentation documentSource]): Ditto.
(-[WebHTMLRepresentation DOMDocument]): Ditto.
(-[WebHTMLRepresentation elementWithName:inForm:]): Ditto.
(-[WebHTMLRepresentation elementDoesAutoComplete:]): Ditto.
(-[WebHTMLRepresentation elementIsPassword:]): Ditto.
(-[WebHTMLRepresentation formForElement:]): Ditto.
(-[WebHTMLRepresentation currentForm]): Ditto.
(-[WebHTMLRepresentation controlsInForm:]): Ditto.
(-[WebHTMLRepresentation searchForLabels:beforeElement:]): Ditto.
(-[WebHTMLRepresentation matchLabels:againstElement:]): Ditto.
* WebView/WebHTMLRepresentationPrivate.h: Removed the _bridge method.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _documentFragmentWithPaths:]): Use WebFrame instead of bridge.
(-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): Ditto.
(-[WebHTMLView _pasteAsPlainTextWithPasteboard:]): Ditto.
(-[WebHTMLView _updateTextSizeMultiplier]): Ditto.
(-[WebHTMLView _frameOrBoundsChanged]): Ditto.
(-[WebHTMLView _smartInsertForString:replacingRange:beforeString:afterString:]): Ditto.
(-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]): Ditto.
(-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Ditto.
(-[WebHTMLView drawSingleRect:]): Ditto.
(-[WebHTMLView draggedImage:movedTo:]): Ditto.
(-[WebHTMLView draggedImage:endedAt:operation:]): Ditto.
(-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Ditto.
(-[WebHTMLView knowsPageRange:]): Ditto.
(-[WebHTMLView accessibilityAttributeValue:]): Ditto.
(-[WebHTMLView accessibilityFocusedUIElement]): Ditto.
(-[WebHTMLView accessibilityHitTest:]): Ditto.
(-[WebHTMLView _accessibilityParentForSubview:]): Ditto.
(-[WebHTMLView changeDocumentBackgroundColor:]): Ditto.
(-[WebHTMLView _changeWordCaseWithSelector:]): Ditto.
(-[WebHTMLView _changeSpellingToWord:]): Ditto.
(-[WebHTMLView startSpeaking:]): Ditto.
(-[WebHTMLView _updateFontPanel]): Ditto.
(-[WebHTMLView _canSmartCopyOrDelete]): Ditto.
(-[WebHTMLView _layoutIfNeeded]): Ditto.
(-[WebHTMLView characterIndexForPoint:]): Ditto.
(-[WebHTMLView firstRectForCharacterRange:]): Ditto.
(-[WebHTMLView selectedRange]): Ditto.
(-[WebHTMLView markedRange]): Ditto.
(-[WebHTMLView attributedSubstringFromRange:]): Ditto.
(-[WebHTMLView setMarkedText:selectedRange:]): Ditto.
(-[WebHTMLView insertText:]): Ditto.
(-[WebTextCompleteController _insertMatch:]): Ditto.
(-[WebTextCompleteController doCompletion]): Ditto.
(-[WebTextCompleteController endRevertingChange:moveLeft:]): Ditto.
(-[WebHTMLView string]): Ditto.
(-[WebHTMLView selectedString]): Ditto.
(-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]): Ditto.
(-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]): Ditto.
(-[WebHTMLView setMarkedTextMatchesAreHighlighted:]): Ditto.
(-[WebHTMLView markedTextMatchesAreHighlighted]): Ditto.
(-[WebHTMLView unmarkAllTextMatches]): Ditto.
(-[WebHTMLView rectsForTextMatches]): Ditto.
* WebView/WebRenderNode.mm:
(-[WebRenderNode initWithWebFrameView:]): Ditto.
* WebView/WebResource.mm:
(-[WebResource _stringValue]): Ditto.
* WebView/WebScriptDebugDelegate.mm: Removed unneeded include.
* WebView/WebView.mm:
(-[WebView _dashboardRegions]): Use WebFrame instead of bridge.
(-[WebView setProhibitsMainFrameScrolling:]): Ditto.
(-[WebView _setInViewSourceMode:]): Ditto.
(-[WebView _inViewSourceMode]): Ditto.
(-[WebView _executeCoreCommandByName:value:]): Ditto.
(-[WebView stringByEvaluatingJavaScriptFromString:]): Ditto.
(-[WebView aeDescByEvaluatingJavaScriptFromString:]): Ditto.
(-[WebView scrollDOMRangeToVisible:]): Ditto.
(-[WebView setSelectedDOMRange:affinity:]): Ditto.
(-[WebView setEditable:]): Ditto.
(-[WebView setTypingStyle:]): Ditto.
(-[WebView typingStyle]): Ditto.
(-[WebView replaceSelectionWithNode:]): Ditto.
(-[WebView replaceSelectionWithText:]): Ditto.
(-[WebView replaceSelectionWithMarkupString:]): Ditto.
(-[WebView replaceSelectionWithArchive:]): Ditto.
(-[WebView _insertNewlineInQuotedContent]): Ditto.
(-[WebView _replaceSelectionWithNode:matchStyle:]): Ditto.
2008-03-12 David Hyatt <hyatt@apple.com>
Make the zoom factor a float and not a percent.
Reviewed by antti
* WebView/WebView.mm:
(-[WebView _setZoomMultiplier:isTextOnly:]):
2008-03-11 David Hyatt <hyatt@apple.com>
This patch prepares Mac WebKit to handle two different zooming modes (full page zoom and text only zoom).
New API is added that is parallel to the text zoom public API. You can get/set a pageSizeMultiplier and you
can zoom the page in, out or reset it to the standard size.
In the implementation only one zoom factor is stored, and setting one multiplier will shift you into that mode
and set the common zoom factor. In other words you can't combine text zoom and page zoom. One will always
win.
Reviewed by Tim H.
* WebCoreSupport/WebFrameBridge.mm:
(-[WebFrameBridge finishInitializingWithPage:frameName:WebCore::frameView:ownerElement:]):
* WebView/WebDocumentInternal.h:
* WebView/WebHTMLView.mm:
(-[WebHTMLView viewDidMoveToSuperview]):
* WebView/WebPDFView.h:
* WebView/WebPDFView.mm:
(-[WebPDFView _zoomOut:]):
(-[WebPDFView _zoomIn:]):
(-[WebPDFView _resetZoom:]):
(-[WebPDFView _canZoomOut]):
(-[WebPDFView _canZoomIn]):
(-[WebPDFView _canResetZoom]):
* WebView/WebView.mm:
(-[WebViewPrivate init]):
(-[WebView setTextSizeMultiplier:]):
(-[WebView textSizeMultiplier]):
(-[WebView _setZoomMultiplier:isTextOnly:]):
(-[WebView _zoomMultiplier:]):
(-[WebView _realZoomMultiplier]):
(-[WebView _realZoomMultiplierIsTextOnly]):
(-[WebView _canZoomOut:]):
(-[WebView _canZoomIn:]):
(-[WebView _zoomOut:isTextOnly:]):
(-[WebView _zoomIn:isTextOnly:]):
(-[WebView _canResetZoom:]):
(-[WebView _resetZoom:isTextOnly:]):
(-[WebView canMakeTextSmaller]):
(-[WebView makeTextSmaller:]):
(-[WebView canMakeTextLarger]):
(-[WebView makeTextLarger:]):
(-[WebView canMakeTextStandardSize]):
(-[WebView makeTextStandardSize:]):
(-[WebView setPageSizeMultiplier:]):
(-[WebView pageSizeMultiplier]):
(-[WebView canZoomPageIn]):
(-[WebView zoomPageIn:]):
(-[WebView canZoomPageOut]):
(-[WebView zoomPageOut:]):
(-[WebView canResetPageZoom]):
(-[WebView resetPageZoom:]):
(-[WebView _searchWithSpotlightFromMenu:]):
* WebView/WebViewInternal.h:
* WebView/WebViewPrivate.h:
2008-03-12 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler and Sam Weinig.
- <rdar://problem/4433248> use CoreText API instead of SPI on Leopard
* WebCoreSupport/WebSystemInterface.m:
(InitWebCoreSystemInterface): Made WKGetCGFontFromNSFont and
WKGetNSFontATSUFontId Tiger-only.
2008-03-12 Darin Adler <darin@apple.com>
- fix http://bugs.webkit.org/show_bug.cgi?id=17794
REGRESSION (r30980): 23 tests hanging on the Mac buildbot
* WebView/WebFrame.mm:
(-[WebFrame _initWithWebFrameView:webView:bridge:]): Added missing call to set
up pointer from the bridge to the frame. (My next check-in removes the bridge
entirely, but we need this until then.)
2008-03-11 Darin Adler <darin@apple.com>
Reviewed by Sam.
- remove all bridge-related things from WebCore except the bridge itself
* DOM/WebDOMOperations.mm:
(-[DOMNode _bridge]): Reimplemented to not use the bridgeForDOMDocument: method.
* DefaultDelegates/WebDefaultContextMenuDelegate.mm: Removed unneeded include.
* Plugins/WebPluginController.mm: Ditto.
* WebCoreSupport/WebFrameBridge.h: Removed unneeded things, including the
init and close methods. Added a setWebFrame: method.
* WebCoreSupport/WebFrameBridge.mm:
(-[WebFrameBridge setWebFrame:]): Added.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::frameLoaderDestroyed): Added an assertion.
(WebFrameLoaderClient::detachedFromParent4): Moved the call to close on the
bridge here. Soon we will be able to remove this entirely!
(WebFrameLoaderClient::createFrame): Rewrote this to use the method moved
into WebFrame from the bridge.
* WebView/WebFrame.mm:
(-[WebFramePrivate dealloc]): Added code to release the bridge, because it's
now owned by the frame.
(-[WebFramePrivate finalize]): Added this missing method. We'd leak the script
debugger under GC without this!
(kit): Rewrote the function that maps from a WebCore::Frame to a WebFrame to
use WebFrameLoaderClient instead of the bridge.
(+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]): Added.
This is code that used to live in the bridge's init function.
(+[WebFrame _createMainFrameWithPage:frameName:frameView:]): Ditto.
(+[WebFrame WebCore::_createSubframeWithOwnerElement:frameName:frameView:]): Ditto.
(-[WebFrame _initWithWebFrameView:webView:bridge:]): Retain the bridge, since
the WebView is now the bridge's owner.
(-[WebFrame _updateBackground]): Changed this one call site that was calling the
WebCore::Frame::bridge function directly to use the kit function instead.
(-[WebFrame dealloc]): Added code to clear the WebFrame pointer in the bridge.
This code won't last long -- we're eliminating the bridge soon.
(-[WebFrame finalize]): Ditto.
* WebView/WebFrameInternal.h: Added a coreFrame backpointer and two new methods
for creating frames.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]): Rewrote this to use
the method moved into WebFrame from the bridge. Gets rid of the unpleasant idiom
where we have to allocate a WebFrameBridge and then immediately release it.
2008-03-11 Darin Adler <darin@apple.com>
Reviewed by Anders.
- remove code depending on the bridge to get from an NSView to a WebCore::Frame
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::transitionToCommittedForNewPage): Remove incorrect call
to setView. A couple lines later, there is a call to _install, which sets the
view to the scroll view.
* WebCoreSupport/WebViewFactory.mm: Removed bridgeForView method.
* WebView/WebDynamicScrollBarsView.h: Moved most of the declarations out of
this file, since it's used by Safari.
* WebView/WebDynamicScrollBarsViewInternal.h: Added.
* WebView/WebDynamicScrollBarsView.m:
(-[WebDynamicScrollBarsView updateScrollers]): Ditto.
(-[WebDynamicScrollBarsView setAllowsScrolling:]): Ditto.
(-[WebDynamicScrollBarsView allowsScrolling]): Ditto.
(-[WebDynamicScrollBarsView setAllowsHorizontalScrolling:]): Ditto.
(-[WebDynamicScrollBarsView setAllowsVerticalScrolling:]): Ditto.
(-[WebDynamicScrollBarsView allowsHorizontalScrolling]): Ditto.
(-[WebDynamicScrollBarsView allowsVerticalScrolling]): Ditto.
(-[WebDynamicScrollBarsView horizontalScrollingMode]): Ditto.
(-[WebDynamicScrollBarsView verticalScrollingMode]): Ditto.
(-[WebDynamicScrollBarsView setHorizontalScrollingMode:]): Ditto.
(-[WebDynamicScrollBarsView setHorizontalScrollingMode:andLock:]): Ditto.
(-[WebDynamicScrollBarsView setVerticalScrollingMode:]): Ditto.
(-[WebDynamicScrollBarsView setVerticalScrollingMode:andLock:]): Ditto.
(-[WebDynamicScrollBarsView setScrollingMode:]): Ditto.
(-[WebDynamicScrollBarsView setScrollingMode:andLock:]): Ditto.
* WebView/WebFrameView.mm:
(-[WebFrameView _web_frame]): Added. Replaces the webCoreBridge method.
* WebView/WebView.mm:
(-[WebView setAlwaysShowVerticalScroller:]): Updated for changes to WebCoreFrameView.h.
(-[WebView alwaysShowVerticalScroller]): Ditto.
(-[WebView setAlwaysShowHorizontalScroller:]): Ditto.
(-[WebView alwaysShowHorizontalScroller]): Ditto.
2008-03-11 Darin Adler <darin@apple.com>
Reviewed by Sam.
- eliminate the remaining parts of WebCoreBridge used for calls to WebKit from WebCore
* WebCoreSupport/WebChromeClient.h: Added new virtual functions that replace
bridge methods.
* WebCoreSupport/WebChromeClient.mm: Added lots of BEGIN_BLOCK_OBJC_EXCEPTIONS
to recently-created functions.
(WebChromeClient::firstResponder): Moved code here from the bridge.
(WebChromeClient::makeFirstResponder): Ditto.
(WebChromeClient::runOpenPanel): Ditto.
(WebChromeClient::willPopUpMenu): Ditto.
* WebCoreSupport/WebFrameBridge.h: Removed almost everything. What's left
is related to creating the bridge and connecting it to WebCore, which will
go next when I eliminate use of the bridge to get to/from the Frame*.
* WebCoreSupport/WebFrameBridge.mm:
(-[WebFrameBridge close]): Moved the code to track the bridge count here
instead of the dealloc and finalize methods.
2008-03-11 Darin Adler <darin@apple.com>
Reviewed by Mitz.
- update code affected by Range changes
* Misc/WebNSAttributedStringExtras.mm:
(+[NSAttributedString _web_attributedStringFromRange:]): Update for name changes.
* WebView/WebHTMLRepresentation.mm:
(-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]):
Use Range::create.
* WebView/WebHTMLView.mm:
(-[WebHTMLView attributedString]): Ditto.
2008-03-10 Darin Adler <darin@apple.com>
Reviewed by Sam.
- eliminate keyboard UI mode method from WebCoreFrameBridge
* WebCoreSupport/WebChromeClient.h: Added keyboardUIMode function.
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::keyboardUIMode): Ditto. Calls WebView.
* WebCoreSupport/WebFrameBridge.h: Removed unused things, including the
fields for keyboard UI mode.
* WebCoreSupport/WebFrameBridge.mm:
(-[WebFrameBridge dealloc]): Removed unneeded code; eliminated the fini
method.
(-[WebFrameBridge finalize]): Ditto.
* WebView/WebView.mm: Moved the keyboard mode code in here.
(-[WebView _close]): Remove observer from the distributed notification
center as well as the normal one.
(-[WebView _retrieveKeyboardUIModeFromPreferences:]): Added. Code moved
here from the bridge.
(-[WebView _keyboardUIMode]): Ditto.
* WebView/WebViewInternal.h: Added _keyboardUIMode method.
2008-03-10 Darin Adler <darin@apple.com>
Reviewed by Sam.
- eliminate Java applet methods from WebCoreFrameBridge
* WebCoreSupport/WebChromeClient.mm: Removed unneeded headers and declarations.
* WebCoreSupport/WebFrameBridge.mm: Ditto. Also removed unneeded methods, including
the ones that load Java applets.
* WebCoreSupport/WebFrameLoaderClient.h: Added javaApplet function.
* WebCoreSupport/WebFrameLoaderClient.mm: Ditto.
2008-03-07 Simon Hausmann <hausmann@webkit.org>
Reviewed by Darin Adler.
Done with Lars.
Simplified WebViewFactory's refreshPlugins method to only refresh the
plugins and not reload the frames anymore since that's now done in a
platform independent manner by WebCore::Page.
Also removed the now unused pluginNameForMIMEType and
pluginSupportsMIMEType methods.
* WebCoreSupport/WebViewFactory.mm:
* WebView/WebFrame.mm:
* WebView/WebFrameInternal.h:
* WebView/WebView.mm:
2008-03-08 Mark Rowe <mrowe@apple.com>
Reviewed by Darin Adler.
Fix 64-bit build with GCC 4.2.
* DefaultDelegates/WebDefaultScriptDebugDelegate.m: Use NSUInteger in place of unsigned where required.
* DefaultDelegates/WebDefaultUIDelegate.m: Ditto.
* History/WebHistoryItem.mm: Ditto.
* Misc/WebElementDictionary.mm: Ditto.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::objectContentType): Move variable declaration outside of if to avoid warning about the
variable being unused in 64-bit.
* WebCoreSupport/WebInspectorClient.mm: Use NSUInteger in place of unsigned where required.
* WebView/WebHTMLView.mm:
(-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Use CGFloat in place of float where required.
(-[WebTextCompleteController numberOfRowsInTableView:]): Use NSInteger in place of int where required.
2008-03-08 Darin Adler <darin@apple.com>
Reviewed by Adele.
- eliminate custom highlight methods from WebCoreFrameBridge
* WebCoreSupport/WebChromeClient.h: Added custom highlight functions.
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::customHighlightRect): Moved code here from bridge.
(WebChromeClient::paintCustomHighlight): Ditto.
* WebCoreSupport/WebFrameBridge.mm: Removed code here.
2008-03-07 David D. Kilzer <ddkilzer@apple.com>
Unify concept of enabling Netscape Plug-in API (NPAPI).
Reviewed by Darin Adler.
* WebKit.exp: Removed unused class export for WebBaseNetscapePluginView.
* WebKitPrefix.h: Removed WTF_USE_NPOBJECT since we now use
ENABLE(NETSCAPE_PLUGIN_API) as defined in Platform.h.
* Plugins/WebBaseNetscapePluginStream.h: Replaced #ifndef __LP64__ with
#if ENABLE(NETSCAPE_PLUGIN_API).
* Plugins/WebBaseNetscapePluginStream.mm: Ditto.
* Plugins/WebBaseNetscapePluginView.h: Ditto.
* Plugins/WebBaseNetscapePluginView.mm: Ditto.
* Plugins/WebBaseNetscapePluginViewInternal.h: Ditto.
* Plugins/WebBaseNetscapePluginViewPrivate.h: Ditto.
* Plugins/WebBasePluginPackage.h: Ditto.
* Plugins/WebBasePluginPackage.m: Ditto.
(+[WebBasePluginPackage pluginWithPath:]):
* Plugins/WebNetscapeDeprecatedFunctions.c: Ditto.
* Plugins/WebNetscapeDeprecatedFunctions.h: Ditto.
* Plugins/WebNetscapePluginEmbeddedView.h: Ditto.
* Plugins/WebNetscapePluginEmbeddedView.mm: Ditto.
* Plugins/WebNetscapePluginPackage.h: Ditto.
* Plugins/WebNetscapePluginPackage.m: Ditto.
* Plugins/WebNetscapePluginStream.h: Ditto.
* Plugins/WebNetscapePluginStream.mm: Ditto.
* Plugins/WebPluginDatabase.m: Ditto.
(-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
* Plugins/npapi.m: Ditto.
* WebCoreSupport/WebFrameLoaderClient.mm: Ditto.
(WebFrameLoaderClient::objectContentType):
(WebFrameLoaderClient::createPlugin):
* WebView/WebHTMLView.mm: Ditto.
(-[NSArray _web_makePluginViewsPerformSelector:withObject:]):
* WebView/WebHTMLViewInternal.h: Ditto.
* WebView/WebFrame.mm: Replaced #ifndef __LP64__ with
#if ENABLE(NETSCAPE_PLUGIN_API). Moved methods below from (WebPrivate)
category to (WebInternal) category so we don't expose the ENABLE() macro
from the private header.
(-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]):
(-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]):
* WebView/WebFrameInternal.h: Ditto.
* WebView/WebFramePrivate.h: Ditto.
2008-03-07 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin Adler.
<rdar://problem/5579292> REGRESSION: (safari 2-3): "Default default" encoding for Korean
changed from Korean (Windows, DOS) to Korean (ISO 2022-KR), which breaks some sites
* WebView/WebPreferences.m:
(+[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]): Make encoding name match
the one used in Safari.
2008-03-07 Mark Rowe <mrowe@apple.com>
Reviewed by Oliver Hunt.
Fix WebKit build with GCC 4.2.
* Plugins/WebBaseNetscapePluginView.mm: Use the correct return type in method signature.
2008-03-07 Darin Adler <darin@apple.com>
Reviewed by Adam.
- eliminated WebCoreFrameBridge runOpenPanel
* WebCoreSupport/WebChromeClient.h: Added runOpenPanel.
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::runOpenPanel): Added.
(-[WebOpenPanelResultListener initWithChooser:]): Added. Used to wrap the
FileChooser so it can get a result from the UI delegate.
(-[WebOpenPanelResultListener dealloc]): Added.
(-[WebOpenPanelResultListener finalize]): Added.
(-[WebOpenPanelResultListener cancel]): Added.
(-[WebOpenPanelResultListener chooseFilename:]): Added.
2008-03-06 Darin Adler <darin@apple.com>
Reviewed by Mitz.
- fix regression test failures from the visited-link change
* History/WebHistory.mm:
(+[WebHistory setOptionalSharedHistory:]): Call PageGroup::setShouldTrackVisitedLinks
to turn off visited links if there is no history object. Also call
removeAllVisitedLinks so we can start over from scratch with the new history.
2008-03-06 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
- fix a regression from r30741: a crash under
WebFrameLoaderClient::createPlugin() when showing a Mail message with
an attachment
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::createPlugin):
2008-03-06 Darin Adler <darin@apple.com>
- fix Tiger build
* History/WebHistory.mm: Added include of WebTypesInternal.h.
2008-03-06 Darin Adler <darin@apple.com>
- fix Release build
* History/WebHistory.mm:
(-[WebHistoryPrivate setLastVisitedTimeInterval:forItem:]): Removed underscore.
(-[WebHistoryPrivate loadFromURL:collectDiscardedItemsInto:error:]): Added #if.
(-[WebHistoryPrivate saveToURL:error:]): Ditto.
2008-03-06 Darin Adler <darin@apple.com>
Reviewed by Mitz.
- fix http://bugs.webkit.org/show_bug.cgi?id=17526
REGRESSION: iframes are added to Safari's History menu
by separating the visited link machinery from global history
* History/WebHistory.mm: Moved WebHistoryPrivate inside this file.
(-[WebHistoryPrivate removeItemFromDateCaches:]): Removed the underscore from this
method name, since it's on a private object.
(-[WebHistoryPrivate removeItemForURLString:]): Added a call to the
PageGroup::removeAllVisitedLinks function if the last URL was removed.
(-[WebHistoryPrivate addItemToDateCaches:]): Removed the underscore from this
method name, since it's on a private object.
(-[WebHistoryPrivate removeAllItems]): Call PageGroup::removeAllVisitedLinks.
(-[WebHistoryPrivate ageLimitDate]): Removed the underscore from this
method name, since it's on a private object.
(-[WebHistoryPrivate loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]):
Ditto.
(-[WebHistoryPrivate saveHistoryGuts:URL:error:]): Ditto. Also changed this
to correctly return the error by using the newer version of writeToURL: and
removed the FIXME about that.
(-[WebHistoryPrivate addVisitedLinksToPageGroup:]): Added. Calls addVisitedLink
for every link in the history.
(-[WebHistory saveToURL:error:]): Removed the FIXME, since we do get the error now.
(-[WebHistory addItem:]): Moved into the WebPrivate category.
(-[WebHistory addItemForURL:]): Ditto.
(-[WebHistory _addItemForURL:title:]): Added. Used for the normal case where we
create an item and already know its title.
(-[WebHistory ageLimitDate]): Moved into the WebPrivate category.
(-[WebHistory containsItemForURLString:]): Ditto.
(-[WebHistory removeItem:]): Ditto.
(-[WebHistory setLastVisitedTimeInterval:forItem:]): Ditto.
(-[WebHistory _itemForURLString:]): Ditto.
(-[WebHistory _addVisitedLinksToPageGroup:]): Added. For use only inside WebKit.
* History/WebHistoryInternal.h: Added.
* History/WebHistoryItemInternal.h: Tweaked formatting and includes.
* History/WebHistoryPrivate.h: Moved the WebHistoryPrivate class out of this header.
Also reorganized what was left behind.
* WebCoreSupport/WebChromeClient.h: Added populateVisitedLinks.
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::populateVisitedLinks): Added a call to the new
-[WebHistory _addVisitedLinksToPageGroup:] method.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::updateGlobalHistory): Changed code to use the new
-[WebHistory _addItemForURL:title:] method.
2008-03-05 Adam Roben <aroben@apple.com>
Rename WebCoreScriptDebuggerImp.{h,mm} to WebScriptDebugger.{h,mm}
Reviewed by Kevin M.
* WebView/WebFrame.mm:
* WebView/WebScriptDebugDelegate.mm:
* WebView/WebScriptDebugger.h: Renamed from WebKit/mac/WebView/WebCoreScriptDebuggerImp.h.
* WebView/WebScriptDebugger.mm: Renamed from WebKit/mac/WebView/WebCoreScriptDebuggerImp.mm.
2008-03-05 Adam Roben <aroben@apple.com>
Rename WebCoreScriptDebuggerImp to WebScriptDebugger
Reviewed by Kevin M.
* WebView/WebCoreScriptDebuggerImp.h:
* WebView/WebCoreScriptDebuggerImp.mm:
* WebView/WebFrame.mm:
(-[WebFrame _attachScriptDebugger]):
* WebView/WebFrameInternal.h:
2008-03-05 Adam Roben <aroben@apple.com>
Remove WebScriptDebugger
Uses of WebScriptDebugger have been replaced with
WebCoreScriptDebuggerImp.
Reviewed by Kevin M.
* WebView/WebFrame.mm:
(-[WebFramePrivate dealloc]): Use delete instead of release since
WebCoreScriptDebuggerImp is a C++ class.
(-[WebFrame _attachScriptDebugger]): Updated to use early returns and
WebCoreScriptDebuggerImp.
(-[WebFrame _detachScriptDebugger]): Ditto.
* WebView/WebFrameInternal.h:
* WebView/WebScriptDebugDelegate.mm: Removed WebScriptDebugger
* WebView/WebScriptDebugDelegatePrivate.h: Removed.
* WebView/WebView.mm:
2008-03-05 Adam Roben <aroben@apple.com>
Remove -webFrame and -globalObject from WebScriptDebugger
WebCoreScriptDebuggerImp is now unaware of WebScriptDebugger
Reviewed by Kevin M.
* WebView/WebCoreScriptDebuggerImp.h: Removed WebScriptDebugger*
parameter to the constructor.
* WebView/WebCoreScriptDebuggerImp.mm:
(toWebFrame): Added.
(WebCoreScriptDebuggerImp::sourceParsed): Call toWebFrame.
(WebCoreScriptDebuggerImp::callEvent): Ditto, and get the Frame's
WindowScriptObject ourselves instead of asking WebScriptDebugger for
it.
(WebCoreScriptDebuggerImp::atStatement): Call toWebFrame.
(WebCoreScriptDebuggerImp::returnEvent): Ditto.
(WebCoreScriptDebuggerImp::exception): Ditto.
* WebView/WebScriptDebugDelegate.mm:
(-[WebScriptDebugger initWithWebFrame:]): Updated for change to
WebScriptDebuggerImp's constructor.
* WebView/WebScriptDebugDelegatePrivate.h: Removed
-webFrame/-globalObject.
2008-03-05 Adam Roben <aroben@apple.com>
Remove -enterFrame: and -leaveFrame from WebScriptDebugger
Reviewed by Kevin M.
* WebView/WebCoreScriptDebuggerImp.h: Changed to store m_topCallFrame
in a RetainPtr, now that WebCoreScriptDebuggerImp is in charge of its
lifetime.
* WebView/WebCoreScriptDebuggerImp.mm:
- Added declaration of -[WebScriptCallFrame
_initWithGlobalObject:caller:state:].
- Changed most uses of m_topCallFrame to m_topCallFrame.get()
(WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp): Removed
now-unnecessary initialization of m_topCallFrame.
(WebCoreScriptDebuggerImp::callEvent): Replaced call to enterFrame:
with its implementation. The one difference between this
implementation and the old enterFrame: method is that we don't hand
our reference to m_topCallFrame to _initWithGlobalObject: -- that
method must now retain the passed-in WebScriptCallFrame manually.
(WebCoreScriptDebuggerImp::atStatement):
(WebCoreScriptDebuggerImp::returnEvent): Replaced call to leaveFrame
with its implementation.
(WebCoreScriptDebuggerImp::exception):
* WebView/WebScriptDebugDelegate.mm: Removed declaration of
-[WebScriptCallFrame _initWithGlobalObject:caller:state:].
(-[WebScriptCallFrame _initWithGlobalObject:caller:state:]): Changed
to retain the passed-in caller.
* WebView/WebScriptDebugDelegatePrivate.h:
- Removed _current ivar
- Removed enterFrame:/leaveFrame declarations.
2008-03-05 Adam Roben <aroben@apple.com>
Remove -parsedSource: from WebScriptDebugger
Reviewed by Kevin M.
* WebView/WebCoreScriptDebuggerImp.mm:
(WebCoreScriptDebuggerImp::sourceParsed): Moved code here from
-[WebScriptDebugger parsedSource:fromURL:sourceId:startLine:errorLine:errorMessage:]
* WebView/WebScriptDebugDelegate.mm: Removed -parsedSource:.
* WebView/WebScriptDebugDelegatePrivate.h: Ditto.
2008-03-05 Adam Roben <aroben@apple.com>
Remove -enteredFrame:, -leavingFrame:, and -exceptionRaised: from WebScriptDebugger
Reviewed by Kevin M.
* WebView/WebCoreScriptDebuggerImp.mm:
(WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp): Changed to call
trhough to callEvent instead of duplicating its code here.
(WebCoreScriptDebuggerImp::callEvent): Moved code from
-[WebScriptDebugger enteredFrame:sourceId:line:] here.
(WebCoreScriptDebuggerImp::returnEvent): Moved code from
-[WebScriptDebugger leavingFrame:sourceId:line:] here.
(WebCoreScriptDebuggerImp::exception): Moved code from
-[WebScriptDebugger exceptionRaised:sourceId:line:] here.
* WebView/WebScriptDebugDelegate.mm: Removed -enteredFrame:,
-leavingFrame:, and -exceptionRaised:.
* WebView/WebScriptDebugDelegatePrivate.h: Ditto.
2008-03-05 Adam Roben <aroben@apple.com>
Remove -[WebScriptDebugger hitStatement:sourceId:line:]
Reviewed by Kevin M.
* WebView/WebCoreScriptDebuggerImp.mm:
(WebCoreScriptDebuggerImp::atStatement): Moved code here from
-[WebScriptDebugger hitStatement:sourceId:line:].
* WebView/WebScriptDebugDelegate.mm:
(-[WebScriptDebugger webFrame]): Added.
* WebView/WebScriptDebugDelegatePrivate.h:
2008-03-05 Adam Roben <aroben@apple.com>
Remove WebCoreScriptDebugger
Reviewed by Kevin M.
* WebView/WebCoreScriptDebugger.h: Removed.
* WebView/WebCoreScriptDebugger.mm: Removed.
* WebView/WebCoreScriptDebuggerImp.h: Replaced WebCoreScriptDebugger
with WebScriptDebugger.
* WebView/WebCoreScriptDebuggerImp.mm: Ditto, and replaced [m_debugger
delegate] with just m_debugger.
(toNSString): Moved here from WebCoreScriptDebugger.mm.
(toNSURL): Ditto.
(WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp):
(WebCoreScriptDebuggerImp::sourceParsed):
(WebCoreScriptDebuggerImp::callEvent):
(WebCoreScriptDebuggerImp::atStatement):
(WebCoreScriptDebuggerImp::returnEvent):
(WebCoreScriptDebuggerImp::exception):
* WebView/WebScriptDebugDelegate.mm:
(-[WebScriptDebugger initWithWebFrame:]): _debugger now holds a
WebCoreScriptDebuggerImp, so initialize it properly.
* WebView/WebScriptDebugDelegatePrivate.h: Changed _debugger to hold a
WebCoreScriptDebuggerImp.
2008-03-05 Adam Roben <aroben@apple.com>
Move WebCoreScriptDebuggerImp to its own source files
Also changed WebCoreScriptDebuggerImp coding style to match our style
guidelines.
Reviewed by Kevin M.
* WebView/WebCoreScriptDebugger.h: Added declaration of toNSURL
function.
* WebView/WebCoreScriptDebugger.mm: Removed WebCoreScriptDebuggerImp
implementation.
(toNSURL): Made no longer static.
* WebView/WebCoreScriptDebuggerImp.h: Added.
* WebView/WebCoreScriptDebuggerImp.mm: Added. Code was moved here from
WebCoreScriptDebugger.mm and cleaned up.
(WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp):
(WebCoreScriptDebuggerImp::sourceParsed):
(WebCoreScriptDebuggerImp::callEvent):
(WebCoreScriptDebuggerImp::atStatement):
(WebCoreScriptDebuggerImp::returnEvent):
(WebCoreScriptDebuggerImp::exception):
2008-03-05 Adam Roben <aroben@apple.com>
Move -_enterFrame and -_leaveFrame from WebCoreScriptDebugger to WebScriptDebugger
Reviewed by Kevin M.
* WebView/WebCoreScriptDebugger.h:
- Removed newFrameWithGlobalObject:caller:state: from
WebScriptDebugger protocol
- Added enterFrame: and leaveFrame: to WebScriptDebugger protocol
- Removed _current ivar from WebCoreScriptDebugger
* WebView/WebCoreScriptDebugger.mm:
(WebCoreScriptDebuggerImp::callEvent): Changed to call enterFrame on
the delegate.
(WebCoreScriptDebuggerImp::returnEvent): Ditto for leaveFrame.
* WebView/WebScriptDebugDelegate.mm:
(-[WebScriptDebugger dealloc]): Added code to release _current.
(-[WebScriptDebugger enterFrame:]): Added. Code came from
WebCoreScriptDebugger.
(-[WebScriptDebugger leaveFrame]): Ditto.
* WebView/WebScriptDebugDelegatePrivate.h: Added _current ivar.
2008-03-05 Adam Roben <aroben@apple.com>
Remove WebCoreScriptCallFrame
Reviewed by Tim.
* WebView/WebCoreScriptDebugger.h:
- Replaced WebCoreScriptCallFrame with WebScriptCallFrame
- Replaced -newWrapperForFrame: with
-newFrameWithGlobalObject:caller:state:
- Removed WebCoreScriptCallFrame interface.
* WebView/WebCoreScriptDebugger.mm: Replaced WebCoreScriptCallFrame
with WebScriptCallFrame.
(-[WebCoreScriptDebugger _enterFrame:]): Changed to call
-newFrameWithGlobalObject:caller:state.
(-[WebCoreScriptDebugger _leaveFrame]):
* WebView/WebScriptDebugDelegate.h: Changed WebScriptCallFrame's
_private ivar to be of type WebScriptCallFramePrivate*.
* WebView/WebScriptDebugDelegate.mm:
- Replaced WebCoreScriptCallFrame with WebScriptCallFrame
- Added WebScriptCallFramePrivate
(-[WebScriptDebugger enteredFrame:sourceId:line:]):
(-[WebScriptDebugger hitStatement:sourceId:line:]):
(-[WebScriptDebugger leavingFrame:sourceId:line:]):
(-[WebScriptDebugger exceptionRaised:sourceId:line:]):
(-[WebScriptCallFramePrivate dealloc]): Added.
(-[WebScriptCallFrame _initWithGlobalObject:caller:state:]): Added.
Code came from WebCoreScriptCallFrame.
(-[WebScriptCallFrame dealloc]): Added a call to release the _private
ivar.
(-[WebScriptCallFrame _convertValueToObjcValue:]): Replaced calls to
_private with direct access of _private's ivars.
(-[WebScriptCallFrame caller]): Ditto.
(-[WebScriptCallFrame scopeChain]): Ditto.
(-[WebScriptCallFrame evaluateWebScript:]): Ditto.
2008-03-05 Adam Roben <aroben@apple.com>
Move -_convertValueToObjcValue to WebScriptCallFrame
Reviewed by Darin Adler.
* WebView/WebCoreScriptDebugger.h: Removed declaration of
-_convertValueToObjcValue.
* WebView/WebCoreScriptDebugger.mm: Removed -_convertValueToObjcValue.
* WebView/WebScriptDebugDelegate.mm:
(-[WebScriptCallFrame _convertValueToObjcValue:]): Added. Code came
from -[WebCoreScriptCallFrame _convertValueToObjcValue].
(-[WebScriptCallFrame scopeChain]): Changed to call
-_convertValueToObjcValue on self instead of _private.
(-[WebScriptCallFrame exception]): Ditto.
(-[WebScriptCallFrame evaluateWebScript:]): Ditto.
2008-03-05 Adam Roben <aroben@apple.com>
Move -exception and -evaluateWebScript: to WebScriptCallFrame
Reviewed by Darin Adler.
* WebView/WebCoreScriptDebugger.h: Removed declarations of -exception
and -evaluateWebScript:.
* WebView/WebCoreScriptDebugger.mm: Removed -exception and
-evaluateWebScript:.
* WebView/WebScriptDebugDelegate.mm:
(-[WebScriptCallFrame exception]): Added. Code came from
-[WebCoreScriptCallFrame exception].
(-[WebScriptCallFrame evaluateWebScript:]): Added. Code came from
-[WebCoreScriptCallFrame evaluateWebScript:].
2008-03-05 Adam Roben <aroben@apple.com>
Move -scopeChain to WebScriptCallFrame
Reviewed by Darin Adler.
* WebView/WebCoreScriptDebugger.h:
- Added declarations of -globalObject and -_convertValueToObjcValue:
to WebCoreScriptCallFrame
- Removed declaration of -scopeChain.
* WebView/WebCoreScriptDebugger.mm: Moved -_convertValueToObjcValue
within the main WebCoreScriptCallFrame implementation.
(-[WebCoreScriptCallFrame globalObject]): Added.
* WebView/WebScriptDebugDelegate.mm:
(-[WebScriptCallFrame scopeChain]): Added. Code came from
-[WebCoreScriptCallFrame scopeChain].
2008-03-05 Adam Roben <aroben@apple.com>
Move -functionName from WebCoreScriptCallFrame to WebScriptCallFrame
Reviewed by Darin Adler.
* WebView/WebCoreScriptDebugger.h:
- Removed #else case of #ifdef __cplusplus since this file is only
ever used by C++ Objective-C files
- Removed 'using KJS::ExecState' statement since we prefer not to
have using statements in header files
- Consequently prefixed uses of ExecState with KJS::
- Added declaration of toNSString method that takes a const
UString&
- Added declaration of -[WebCoreScriptCallFrame state]
- Removed declaration of -[WebCoreScriptCallFrame functionName]
* WebView/WebCoreScriptDebugger.mm:
(toNSString): Made this no longer static.
(-[WebCoreScriptCallFrame state]): Added.
* WebView/WebScriptDebugDelegate.mm:
(-[WebScriptCallFrame functionName]): Added. Code came from
-[WebCoreScriptCallFrame functionName], though I changed some nested
ifs into early returns.
2008-03-05 Adam Roben <aroben@apple.com>
Move WebCoreScriptDebugger to WebKit
Reviewed by Darin Adler.
* WebView/WebCoreScriptDebugger.h: Renamed from WebCore/page/mac/WebCoreScriptDebugger.h.
* WebView/WebCoreScriptDebugger.mm: Renamed from WebCore/page/mac/WebCoreScriptDebugger.mm.
(toNSString):
(toNSURL):
(WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp):
(WebCoreScriptDebuggerImp::sourceParsed):
(WebCoreScriptDebuggerImp::callEvent):
(WebCoreScriptDebuggerImp::atStatement):
(WebCoreScriptDebuggerImp::returnEvent):
(WebCoreScriptDebuggerImp::exception):
(+[WebCoreScriptDebugger initialize]):
(-[WebCoreScriptDebugger initWithDelegate:]):
(-[WebCoreScriptDebugger dealloc]):
(-[WebCoreScriptDebugger finalize]):
(-[WebCoreScriptDebugger delegate]):
(-[WebCoreScriptDebugger _enterFrame:]):
(-[WebCoreScriptDebugger _leaveFrame]):
(-[WebCoreScriptCallFrame _initWithGlobalObject:caller:state:]):
(-[WebCoreScriptCallFrame _setWrapper:]):
(-[WebCoreScriptCallFrame _convertValueToObjcValue:]):
(-[WebCoreScriptCallFrame dealloc]):
(-[WebCoreScriptCallFrame wrapper]):
(-[WebCoreScriptCallFrame caller]):
(-[WebCoreScriptCallFrame scopeChain]):
(-[WebCoreScriptCallFrame functionName]):
(-[WebCoreScriptCallFrame exception]):
(-[WebCoreScriptCallFrame evaluateWebScript:]):
* WebView/WebScriptDebugDelegate.mm: Updated header path.
* WebView/WebScriptDebugDelegatePrivate.h: Ditto.
2008-03-05 Anders Carlsson <andersca@apple.com>
Reviewed by Geoff.
Include file changes.
* Plugins/WebBaseNetscapePluginView.mm:
* Plugins/WebNetscapePluginPackage.m:
2008-03-04 Timothy Hatcher <timothy@apple.com>
Reviewed by Darin Adler.
<rdar://problem/5720160> Browser windows "do nothing" while modal
dialog or menu is up due to run loop modes (or while scrolling)
Add new API that lets a WebView be scheduled with multiple runloops and modes.
This lets loading continue when in a nested runloop or in a different mode.
* Misc/WebKitVersionChecks.h: Add a new version define:
WEBKIT_FIRST_VERSION_WITH_LOADING_DURING_COMMON_RUNLOOP_MODES.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]): Schedule in the main runloop and with
the default runloop mode if we are linked on an earlier WebKit version, use common modes otherwise.
(-[WebView scheduleInRunLoop:forMode:]): New API, that calls through to Page.
(-[WebView unscheduleFromRunLoop:forMode:]): Ditto.
* WebView/WebViewPrivate.h: Add the new pending API methods.
2008-03-04 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
Fix crash that happens when trying to load a page with a Java applet.
* WebCoreSupport/WebFrameLoaderClient.mm:
Don't release the names and values array - the kit method returns an autoreleased array.
2008-03-04 Darin Adler <darin@apple.com>
Reviewed by Adam.
- fix 200+ failing regression tests
- fix http://bugs.webkit.org/show_bug.cgi?id=17668
Vertical scrollbar at slashdot.org is randomly not shown
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::transitionToCommittedForNewPage): Changed the refcounting
code here to exactly match the way it was before it was moved from WebCore. I had
introduced a storage leak and that was causing problems with scroll bars!
2008-03-04 Darin Adler <darin@apple.com>
Reviewed by Adam.
- remove WebCoreFrameBridge reapplyStyles method
* WebView/WebHTMLView.mm:
(-[WebHTMLView reapplyStyles]): Moved code to reapply styles here from the bridge.
2008-03-04 Darin Adler <darin@apple.com>
Reviewed by Adam.
- eliminate WebCoreFrameBridge createFrameViewWithNSView
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::transitionToCommittedForNewPage):
Moved code here from createFrameViewWithNSView.
2008-03-04 Darin Adler <darin@apple.com>
Reviewed by Adam.
- removed WebCoreFrameBridge scrollOverflowInDirection
* WebView/WebFrameView.mm:
(-[WebFrameView _scrollOverflowInDirection:granularity:]): Changed to call
EventHandler directly instead of using the bridge.
(-[WebFrameView scrollToBeginningOfDocument:]): Updated to use WebCore enums instead
of the ones from the bridge.
(-[WebFrameView scrollToEndOfDocument:]): Ditto.
(-[WebFrameView _pageVertically:]): Ditto.
(-[WebFrameView _pageHorizontally:]): Ditto.
(-[WebFrameView _scrollLineVertically:]): Ditto.
(-[WebFrameView _scrollLineHorizontally:]): Ditto.
2008-03-04 Darin Adler <darin@apple.com>
Reviewed by Adam.
- remove WebCoreFrameBridge installInFrame: method
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::transitionToCommittedForNewPage): Call
-[WebFrameView _install] instead of -[WebCoreFrameBridge installInFrame:].
* WebView/WebFrameView.mm:
(-[WebFrameView _install]): Added. Has code from -[WebCoreFrameBridge installInFrame:].
(-[WebFrameView _setCustomScrollViewClass:]): Used early return idiom so the entire
method isn't nested inside an if statement. Call
-[WebFrameView _install] instead of -[WebCoreFrameBridge installInFrame:].
* WebView/WebFrameViewInternal.h: Added declaration of _install method so it can be
used in WebFrameLoaderClient.mm.
2008-03-04 Darin Adler <darin@apple.com>
Reviewed by Adam.
- remove WebCoreFrameBridge window method
* WebCoreSupport/WebFrameBridge.mm: Removed window method.
2008-03-04 Darin Adler <darin@apple.com>
Reviewed by Adam.
- move code from WebFrameBridge into WebFrameLoaderClient
* WebCoreSupport/WebFrameBridge.h: Removed unused fields, changed frame name parameters
to use WebCore::String instead of NSString, add initSubframeWithOwnerElement declaration,
removed viewForPluginWithFrame, viewForJavaAppletWithFrame, createChildFrameNamed,
redirectDataToPlugin, determineObjectFromMIMEType, and windowObjectCleared methods.
* WebCoreSupport/WebFrameBridge.mm:
(-[WebFrameBridge finishInitializingWithPage:frameName:WebCore::frameView:ownerElement:]):
Changed to use WebCore::String.
(-[WebFrameBridge initMainFrameWithPage:frameName:WebCore::frameView:]): Ditto.
(-[WebFrameBridge initSubframeWithOwnerElement:frameName:WebCore::frameView:]): Ditto.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::setOriginalURLForDownload): Removed some dead code I found here
and added a FIXME.
(WebFrameLoaderClient::createFrame): Moved the code from WebFrameBridge here.
(WebFrameLoaderClient::objectContentType): Ditto.
(parameterValue): Added. Helper function, based on code originally in WebFrameBridge.
(pluginView): Ditto.
(WebFrameLoaderClient::createPlugin): Moved the code from WebFrameBridge here.
2008-03-04 Darin Adler <darin@apple.com>
Reviewed by Adam.
- remove -[WebCoreFrameBridge dashboardRegionsChanged:]
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::dashboardRegionsChanged): Moved code here from the bridge.
The WebCore side now calls this only when there's an actual change.
* WebCoreSupport/WebFrameBridge.h: Removed lastDashboardRegions.
* WebCoreSupport/WebFrameBridge.mm:
(-[WebFrameBridge dealloc]): Removed code to release lastDashboardRegions.
Removed _compareDashboardRegions: and dashboardRegionsChanged: methods.
2008-03-04 Darin Adler <darin@apple.com>
Reviewed by Adam.
- remove WebCoreFrameBridge issuePasteComand method
* WebCoreSupport/WebFrameBridge.mm: Removed issuePasteCommand method.
* WebView/WebHTMLViewInternal.h: Removed declaration of paste: method.
2008-03-03 Darin Adler <darin@apple.com>
Reviewed by Adam.
- some "cleanup" on the path to removing WebCoreFrameBridge
* Storage/WebDatabaseManager.mm: Tweak includes.
* Storage/WebDatabaseTrackerClient.mm: Ditto.
* Storage/WebSecurityOrigin.mm: Ditto.
* Storage/WebSecurityOriginInternal.h: Ditto.
* WebView/WebFrame.mm:
(core): Changed to get rid of the requirement that WebKitEditableLinkBehavior exactly
match WebCore::EditableLinkBehavior.
* WebView/WebFrameInternal.h: Removed unused kit function.
* WebView/WebHTMLView.mm: Moved WebHTMLViewPrivate class in here.
* WebView/WebHTMLViewInternal.h: Moved WebHTMLVewPrivate class out of here.
* WebView/WebHTMLViewPrivate.h: Tweaked formatting and removed some unneeded declarations.
* WebView/WebPreferencesPrivate.h: Removed a no-longer-needed comment.
2008-03-01 Mark Rowe <mrowe@apple.com>
Reviewed by Tim Hatcher.
Update Xcode configuration to support building debug and release from the mysterious future.
* Configurations/DebugRelease.xcconfig:
2008-02-29 Mark Rowe <mrowe@apple.com>
Reviewed by Anders Carlsson.
Replace use of WKPathFromFont with implementation in terms of public API.
* WebCoreSupport/WebSystemInterface.m:
(InitWebCoreSystemInterface): Remove unused symbol.
2008-02-29 Mark Rowe <mrowe@apple.com>
Reviewed by Oliver Hunt.
Fix spelling of "request" in name of WKNSURLProtocolClassForRequest.
* Misc/WebNSURLExtras.mm:
(-[NSURL _webkit_canonicalize]):
* WebKit.order:
2008-02-29 Mark Rowe <mrowe@apple.com>
Reviewed by Oliver Hunt.
Don't use WKSupportsMultipartXMixedReplace on Leopard as multipart/x-mixed-replace is always handled by NSURLRequest.
* WebCoreSupport/WebSystemInterface.m:
(InitWebCoreSystemInterface):
2008-02-29 Mark Rowe <mrowe@apple.com>
Reviewed by Oliver Hunt.
Remove obsolete code that had been left intact to support users running WebKit with older versions of Safari.
* Misc/WebNSViewExtras.m: Remove _web_superviewOfClass:stoppingAtClass:.
* Misc/WebNSWindowExtras.m: Remove _webkit_displayThrottledWindows.
* Misc/WebSearchableTextView.m: Remove selectionImageForcingWhiteText:.
* WebCoreSupport/WebImageRendererFactory.m: Update comment to mention the last version of Safari that
requires this class.
* WebInspector/WebInspector.mm: Remove sharedWebInspector and update comments to mention the last version
of Safari that calls other obsolete methods.
* WebView/WebDocumentPrivate.h: Remove selectionImageForcingWhiteText:.
* WebView/WebHTMLView.mm: Ditto.
* WebView/WebPDFView.mm: Ditto.
* WebView/WebView.mm: Update comment to mentoin the last version of Safari that requires the obsolete method.
2008-02-29 Mark Rowe <mrowe@apple.com>
Rubber-stamped by Eric Seidel.
Remove unneeded includes of WebKitSystemInterface.h.
* History/WebHistoryItem.mm:
* Misc/WebNSViewExtras.m:
* WebCoreSupport/WebFrameLoaderClient.mm:
* WebView/WebDataSource.mm:
* WebView/WebPDFView.mm:
2008-02-29 Mark Rowe <mrowe@apple.com>
Reviewed by Oliver Hunt and Oliver Hunt.
<rdar://problem/4753845> WebKit should use CGEventSourceSecondsSinceLastEventType in place of WKSecondsSinceLastInputEvent SPI.
* WebCoreSupport/WebSystemInterface.m:
(InitWebCoreSystemInterface): Remove unused symbol.
* WebKit.order: Ditto.
2008-02-28 Mark Rowe <mrowe@apple.com>
Reviewed by Dave Hyatt.
Make use of new CGFont APIs on Leopard rather than making a WebKitSystemInterface call.
* WebCoreSupport/WebSystemInterface.m:
(InitWebCoreSystemInterface): Only initialize wkGetFontMetrics on Tiger.
2008-02-27 Brady Eidson <beidson@apple.com>
Reviewed by Mark Rowe (code) and Darin (concept)
Much better fix for <rdar://problem/4930688> (see r19549)
Original fix for <rdar://problem/3947312> (and 14 dupes)
Let me tell you a story:
A long time ago, in a cvs repository far, far away, loader code was almost all up in WebKit.
WebArchive code was intertwined with that code in bizarre and complex ways.
During the months long loader re-factoring where we pushed much loader code down into WebCore,
many portions of the WebKit loader were thinned out until they ceased to exist. Others remained
with a sole purpose.
One such section of code whose lineage traces back from WebFrameLoaderClient to WebFrameLoader
to WebLoader was originally rooted in the method [WebLoader loadRequest:]. This method was the
single entry point for almost all loading (network or web archives)
This method would check various headers and other fields on the NSURLRequest and NSURLResponse
to make decisions about the load. If the cache control fields were expired or other conditions
in the headers were met, the load would be forced to go out to the network.
As the loader was moved and tweaked repeatedly, most of this code was pruned or re-factored.
At some point, all that remained was the special cases for loading WebArchives.
Somewhere in the r16,000s, this remaining responsibility was noticed and related methods we renamed
to be WebArchive specific, further cementing the assumed design.
Problem is, the design was bad. A WebArchive is meant to be a static snapshot of a WebPage at a
specific point in time. Referring to the request to see if the resource should be reloaded seems
nonsensical, as does referring to the response headers to see if the resource is "expired". In the
context of loading a WebArchive, available data should *always* be loaded from the WebArchive, at least
during the initial load!
After discovering the secret to reproducing all of these bugs is both emptying our your Foundation
cache and disconnecting your network, it was easy to reproduce the 16 individually reported cases
that were all symptoms of this bug, and easy to verify that they are fixed with this patch.
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::willUseArchive): Do not call either form of "canUseArchivedResource()" that
inspect the request or response objects - We are loading from a WebArchive, and we should never
make the decision to go out to the network when we actually have the resource available.
* WebCoreSupport/WebSystemInterface.m:
(InitWebCoreSystemInterface): Remove two methods that are no longer used anywhere in WebKit
2008-02-27 Matt Lilek <webkit@mattlilek.com>
Reviewed by Adam Roben.
Bug 14348: Messing up the inspector by dragging an URL into it
http://bugs.webkit.org/show_bug.cgi?id=14348
<rdar://problem/5283620> and <rdar://problem/5712808>
* WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController init]): Remove duplicate preference setting.
(-[WebInspectorWindowController webView:dragDestinationActionMaskForDraggingInfo:]):
2008-02-25 Darin Adler <darin@apple.com>
Reviewed by Adam.
* WebView/WebArchiver.mm:
(+[WebArchiver archiveSelectionInFrame:]): Use blankURL.
* WebView/WebFrame.mm:
(-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]): Avoid the
variable name URL to avoid clashing with the renamed KURL in the future. Also use
blankURL.
(-[WebFrame loadData:MIMEType:textEncodingName:baseURL:]): Ditto.
(-[WebFrame _loadHTMLString:baseURL:unreachableURL:]): Ditto.
(-[WebFrame loadHTMLString:baseURL:]): Ditto.
(-[WebFrame loadAlternateHTMLString:baseURL:forUnreachableURL:]): Ditto.
2008-02-24 Darin Adler <darin@apple.com>
Reviewed by Sam.
- remove separate client calls for "standard" and "reload' history
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::updateGlobalHistory):
2008-02-23 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin Adler.
Move basic threading support from WebCore to WTF.
* ForwardingHeaders/wtf/Threading.h: Added.
* ForwardingHeaders/wtf/Locker.h: Added.
2008-02-23 David Kilzer <ddkilzer@apple.com>
Please clarify licensing for some files
<http://bugs.webkit.org/show_bug.cgi?id=14970>
Reviewed by Darin Adler.
* Plugins/WebNetscapeDeprecatedFunctions.c: Updated copyright statement
and added Apple BSD-style license.
* Plugins/WebNetscapeDeprecatedFunctions.h: Ditto.
2008-02-22 John Sullivan <sullivan@apple.com>
Reviewed by Adam Roben
Reverted the changed from yesterday to add pasteAndMatchStyle:, as the existing
pasteAsPlainText: has the same behavior.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _pasteWithPasteboard:allowPlainText:]):
(-[WebHTMLView readSelectionFromPasteboard:]):
(-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
(-[WebHTMLView pasteAsRichText:]):
(-[WebHTMLView paste:]):
* WebView/WebView.mm:
* WebView/WebViewPrivate.h:
2008-02-21 Anders Carlsson <andersca@apple.com>
Reviewed by Sam.
Use BackForwardList::create instead.
* History/WebBackForwardList.mm:
(-[WebBackForwardList init]):
2008-02-21 John Sullivan <sullivan@apple.com>
Reviewed by Jessica Kahn
support for pasteAndMatchStyle: command (see <rdar://problem/5723952>)
* WebView/WebHTMLView.mm:
(-[WebHTMLView _pasteWithPasteboard:allowPlainText:matchStyle:]):
added matchStyle parameter, passed along to bridge (formerly always passed NO to bridge)
(-[WebHTMLView readSelectionFromPasteboard:]):
pass NO for new matchStyle parameter to match old behavior
(-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
validate pasteAndMatchStyle the same way as pasteAsRichText
(-[WebHTMLView pasteAndMatchStyle:]):
just like pasteAsRichText but passes YES for matchStyle
(-[WebHTMLView pasteAsRichText:]):
pass NO for new matchStyle parameter to match old behavior
(-[WebHTMLView paste:]):
ditto
* WebView/WebView.mm:
added macro(pasteAndMatchStyle)
* WebView/WebViewPrivate.h:
added pasteAndMatchStyle: to WebViewEditingActionsPendingPublic category
2008-02-20 Sam Weinig <sam@webkit.org>
Reviewed by Darin and Geoff.
- WebKit part of <rdar://problem/5754378> work around missing video on YouTube front page with a site-specific hack
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]): Added a call to Settings::setNeedsSiteSpecificQuirks.
There are currently no site-specific quirks on Mac, but we will propagate the state
to WebCore to avoid possible mistakes later.
2008-02-19 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
Move back WebKit methods that were unused in WebCore.
* Misc/WebNSURLExtras.mm:
(+[NSURL _web_URLWithData:]):
(+[NSURL _web_URLWithData:relativeToURL:]):
(-[NSURL _web_originalData]):
(-[NSURL _web_originalDataAsString]):
(-[NSURL _web_isEmpty]):
(-[NSURL _webkit_canonicalize]):
(-[NSURL _webkit_URLByRemovingComponent:]):
(-[NSURL _webkit_URLByRemovingFragment]):
(-[NSURL _webkit_URLByRemovingResourceSpecifier]):
(-[NSURL _webkit_isFileURL]):
(-[NSString _webkit_isFileURL]):
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::setTitle):
* WebCoreSupport/WebSystemInterface.m:
(InitWebCoreSystemInterface):
2008-02-18 Darin Adler <darin@apple.com>
Reviewed by Sam.
* Misc/WebNSAttributedStringExtras.mm:
(+[NSAttributedString _web_attributedStringFromRange:]): Eliminate use of
DeprecatedString.
2008-02-17 Sam Weinig <sam@webkit.org>
Reviewed by Dan Bernstein.
Fix for http://bugs.webkit.org/show_bug.cgi?id=17365
document.createEvent("MessageEvent") throws NOT_SUPPORTED_ERR
* MigrateHeaders.make: Migrate DOMProgressEvent.h and DOMTextPrivate.h which were
mistakenly not migrated.
2008-02-15 Dan Bernstein <mitz@apple.com>
Reviewed by Alexey Proskuryakov.
- WebKit part of fixing http://bugs.webkit.org/show_bug.cgi?id=17360
<rdar://problem/5743131> REGRESSION: mp4 file downloaded from server is downloaded as html
* WebView/WebDataSource.mm:
(+[WebDataSource _representationClassForMIMEType:]):
(-[WebDataSource _responseMIMEType]):
(-[WebDataSource subresources]):
(-[WebDataSource subresourceForURL:]):
* WebView/WebResource.mm:
(-[WebResource _initWithData:URL:response:]):
* WebView/WebResourcePrivate.h:
2008-02-15 Adam Roben <aroben@apple.com>
Make WebKit's FEATURE_DEFINES match WebCore's
Reviewed by Mark.
* Configurations/WebKit.xcconfig:
2008-02-14 Darin Adler <darin@apple.com>
Reviewed by Eric Seidel.
- updated for WebCore KURL changes
* History/WebHistoryItem.mm:
(-[WebHistoryItem URL]): Removed getNSURL call.
* Misc/WebElementDictionary.mm:
(-[WebElementDictionary _absoluteImageURL]): Ditto.
(-[WebElementDictionary _absoluteLinkURL]): Ditto.
* Misc/WebNSAttributedStringExtras.mm:
(fileWrapperForElement): Ditto.
(+[NSAttributedString _web_attributedStringFromRange:]): Ditto.
* Misc/WebNSURLExtras.mm:
(-[NSString _webkit_stringByReplacingValidPercentEscapes]): Updated
for function name change.
* WebCoreSupport/WebContextMenuClient.mm:
(WebContextMenuClient::downloadURL): Removed getNSURL call.
* WebCoreSupport/WebDragClient.mm:
(WebDragClient::createDragImageForLink): Ditto.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchWillPerformClientRedirect): Ditto.
(WebFrameLoaderClient::startDownload): Ditto.
(WebFrameLoaderClient::updateGlobalHistoryForStandardLoad): Ditto.
(WebFrameLoaderClient::updateGlobalHistoryForReload): Ditto.
(WebFrameLoaderClient::cancelledError): Ditto.
(WebFrameLoaderClient::blockedError): Ditto.
(WebFrameLoaderClient::cannotShowURLError): Ditto.
(WebFrameLoaderClient::interruptForPolicyChangeError): Ditto.
(WebFrameLoaderClient::cannotShowMIMETypeError): Ditto.
(WebFrameLoaderClient::fileDoesNotExistError): Ditto.
(WebFrameLoaderClient::willUseArchive): Ditto.
(WebFrameLoaderClient::setTitle): Ditto.
(WebFrameLoaderClient::actionDictionary): Ditto.
(WebFrameLoaderClient::createFrame): Ditto.
(WebFrameLoaderClient::objectContentType): Ditto.
(WebFrameLoaderClient::createPlugin): Ditto.
(WebFrameLoaderClient::createJavaAppletWidget): Ditto.
* WebView/WebDataSource.mm:
(-[WebDataSource _URL]): Ditto.
(-[WebDataSource _initWithDocumentLoader:]): Ditto.
(-[WebDataSource unreachableURL]): Ditto.
* WebView/WebHTMLView.mm:
(-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Ditto.
2008-02-14 Stephanie Lewis <slewis@apple.com>
Reviewed by Geoff.
Update order files.
* WebKit.order:
2008-02-14 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Adam Roben.
http://bugs.webkit.org/show_bug.cgi?id=17207
Database example doesn't work (requires not-yet-released Safari)
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::exceededDatabaseQuota): Check Safari version, and allow 5 megabytes of storage
if it's too old.
2008-02-11 Darin Adler <darin@apple.com>
- roll out fix for <rdar://problem/5726016> REGRESSION: Xcode News window renders
incorrectly due to visibility fix
Removed the Xcode-specific quirk at the request of some folks on the Xcode team.
* Misc/WebKitVersionChecks.h: Removed the constant.
* WebView/WebView.mm:
(-[WebView _needsXcodeVisibilityQuirk]): Removed.
(-[WebView _preferencesChangedNotification:]): Removed call to
setNeedsXcodeVisibilityQuirk.
2008-02-12 Anders Carlsson <andersca@apple.com>
Reviewed by Mitz.
* WebCoreSupport/WebFrameBridge.mm:
* WebCoreSupport/WebViewFactory.mm:
(-[WebViewFactory imageTitleForFilename:size:]):
Move implementation from WebFrameBridge to WebViewFactory.
2008-02-11 Darin Adler <darin@apple.com>
Reviewed by Mitz.
- fix <rdar://problem/5726016> REGRESSION: Xcode News window renders
incorrectly due to visibility fix
Added an Xcode-specific quirk.
* Misc/WebKitVersionChecks.h: Added a constant for the "linked on or after"
part of the check.
* WebView/WebView.mm:
(-[WebView _needsXcodeVisibilityQuirk]): Added.
(-[WebView _preferencesChangedNotification:]): Added a call to
setNeedsXcodeVisibilityQuirk based on _needsXcodeVisibilityQuirk.
2008-02-10 Darin Adler <darin@apple.com>
- fix http://bugs.webkit.org/show_bug.cgi?id=17274
REGRESSION: User Agent string broken in r30119
* WebView/WebView.mm:
(-[WebView _userAgentWithApplicationName:andWebKitVersion:]):
Fix wrong variable name. Doh!
2008-02-09 Darin Adler <darin@apple.com>
Reviewed by Tim Hatcher.
- fix <rdar://problem/5725996> crash every time you open the Xcode documentation window
* WebView/WebView.mm:
(-[WebView _userAgentWithApplicationName:andWebKitVersion:]): Work around a bug in the
garbage collector's Objective C++ support by not initializing a static to an object
that needs to be marked when running under GC.
2008-02-05 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
- WebKit part of <rdar://problem/5724303> Should implement writing direction shortcuts
The key bindings are Command-Control-left arrow and
Command-Control-right arrow. To match AppKit, the bindings are enabled
only when certain user defaults are set.
* WebView/WebHTMLView.mm:
(-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
(-[WebHTMLView toggleBaseWritingDirection:]): Changed to call
Frame::baseWritingDirectionForSelectionStart() and
Editor::setBaseWritingDirection() directly.
(-[WebHTMLView changeBaseWritingDirection:]): Ditto.
(writingDirectionKeyBindingsEnabled): Added.
(-[WebHTMLView _changeBaseWritingDirectionTo:]): Added this helper
method.
(-[WebHTMLView changeBaseWritingDirectionToLTR:]): Added.
(-[WebHTMLView changeBaseWritingDirectionToRTL:]): Added.
* WebView/WebView.mm:
2008-02-05 Mark Rowe <mrowe@apple.com>
Unreviewed build fix.
* WebView/WebView.mm: Add missing #import.
2008-02-05 Mark Rowe <mrowe@apple.com>
Reviewed by Oliver Hunt.
Update versioning to support the mysterious future.
* Configurations/Version.xcconfig: Add SYSTEM_VERSION_PREFIX_1060.
2008-01-30 Justin Garcia <justin.garcia@apple.com>
Reviewed by Darin Adler.
<rdar://problem/5708115> REGRESSION: Words selected with a double click and copied won't paste into Mail
* WebView/WebHTMLView.mm:
(-[WebHTMLView _smartInsertForString:replacingRange:beforeString:afterString:]): Brought
this back, it's used by Mail.
(-[WebHTMLView _canSmartReplaceWithPasteboard:]): This WebInternal method is
also used by Mail. Moved to WebPrivate.
* WebView/WebHTMLViewPrivate.h: Expose two methods that Mail uses here, so that we don't
accidently remove them in the future.
2008-01-30 Mark Rowe <mrowe@apple.com>
Reviewed by Oliver Hunt.
Move off deprecated NSTableView methods.
* WebView/WebHTMLView.mm:
(-[WebTextCompleteController _buildUI]): Switch from -setDrawsGrid: to -setGridStyleMask:.
(-[WebTextCompleteController _placePopupWindow:]): Switch from -selectRow:byExtendingSelection: to -selectRowIndexes:byExtendingSelection:.
(-[WebTextCompleteController filterKeyDown:]): Ditto.
2008-01-26 Mark Rowe <mrowe@apple.com>
Reviewed by Darin Adler.
Fix leaks seen after loading <http://www.funnyordie.com/videos/d70b5a11cb>.
* Misc/WebNSDataExtras.m:
(-[NSString _web_capitalizeRFC822HeaderFieldName]): Transfer ownerhip of the allocated buffers
to the new CFString so that they will be freed when no longer needed.
2008-01-26 Greg Bolsinga <bolsinga@apple.com>
<rdar://problem/5708388> WebDashboardRegion.h duplicated between WebCore / WebKit
Reviewed by Darin Adler.
* WebCoreSupport/WebDashboardRegion.h: Removed.
* WebView/WebView.mm: Updated #import to use copy of WebDashboardRegion.h from WebCore.
2008-01-21 Darin Adler <darin@apple.com>
Reviewed by John Sullivan.
- fix <rdar://problem/5644324> Delegate-less WebKit clients should have no databases
- add a missing export of WebDatabaseExpectedSizeKey
- implement deleteOrigin: and remove deleteDatabasesWithOrigin:
* Storage/WebDatabaseManager.mm:
(-[WebDatabaseManager detailsForDatabase:withOrigin:]): Updated to check for a null
name instead of calling isValid().
(-[WebDatabaseManager deleteOrigin:]): Implemented.
(WebKitInitializeDatabasesIfNecessary): Updated for name change.
* Storage/WebDatabaseManagerPrivate.h: Removed deleteDatabasesWithOrigin:.
* WebCoreSupport/WebChromeClient.h: Updated for changes to ChromeClient.
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::exceededDatabaseQuota): Replaced the two different client functions
we had before with a single one.
* WebKit.exp: Added missing export for WebDatabaseExpectedSizeKey.
* WebView/WebPreferenceKeysPrivate.h: Removed WebKitDefaultDatabaseQuotaKey.
* WebView/WebPreferences.m:
(+[WebPreferences initialize]): Removed the default for WebKitDefaultDatabaseQuotaKey.
* WebView/WebPreferencesPrivate.h: Removed defaultDatabaseQuota and
setDefaultDatabaseQuota:.
* WebView/WebUIDelegatePrivate.h: Replaced the two different database quota delegate
methods we had before with a single one.
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]): Removed the code to set the
default database origin quota in WebCore::Settings based on WebPreferences.
* WebView/WebViewInternal.h: Removed delegate method dispatch functions for unusual
types of parameters that the database UI delegate methods had before.
2008-01-20 Mark Rowe <mrowe@apple.com>
Reviewed by Dan Bernstein.
Remove code bracketed by REMOVE_SAFARI_DOM_TREE_DEBUG_ITEM as we are no longer
interested in supporting Safari 2 with TOT WebKit.
* WebView/WebView.mm:
(+[WebView initialize]):
2008-01-17 Timothy Hatcher <timothy@apple.com>
Reviewed by Adam Roben.
<rdar://problem/5693558> REGRESSION (r29581): no form field focus rings
and inactive text selection after loading a page
Bug 16917: REGRESSION (r29581/2): Google Maps search box loses focused appearance
The problem was other frames were changing the FocusController's active
status to false after the first responder frame set it to true. The last
frame to call _updateActiveState would win.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _updateActiveState]): Only call page->focusController()->setActive()
if the first responder is the current WebHTMLView or the WebFrameView.
(-[WebHTMLView _web_firstResponderCausesFocusDisplay]): Removed, inlined code in _updateActiveState.
2008-01-18 Adam Roben <aroben@apple.com>
Rename _updateActiveState to _updateFocusedAndActiveState
Also renamed any related methods/members similarly.
Reviewed by Adele.
* WebView/WebHTMLView.mm:
(-[WebHTMLViewPrivate dealloc]):
(-[WebHTMLView _cancelUpdateFocusedAndActiveStateTimer]):
(-[WebHTMLView close]):
(_updateFocusedAndActiveStateTimerCallback):
(-[WebHTMLView viewWillMoveToWindow:]):
(-[WebHTMLView viewDidMoveToWindow]):
(-[WebHTMLView windowDidBecomeKey:]):
(-[WebHTMLView windowDidResignKey:]):
(-[WebHTMLView becomeFirstResponder]):
(-[WebHTMLView resignFirstResponder]):
* WebView/WebHTMLViewInternal.h:
* WebView/WebHTMLViewPrivate.h:
2008-01-17 John Sullivan <sullivan@apple.com>
Reviewed by Darin
- fixed <rdar://problem/5692068> -1 WebFrameView world leaks reported after closing view source window
* WebView/WebFrameView.mm:
(-[WebFrameView initWithCoder:]):
override to bump the global WebFrameView count
2008-01-16 Adam Roben <aroben@apple.com>
Updated for renames/removal of WebCore methods.
Reviewed by Darin Adler.
* Plugins/WebPluginController.mm:
(-[WebPluginController webPlugInContainerSelectionColor]): Changed to
ask isFocusedAndActive directly, instead of going through the frame
bridge.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _updateActiveState]): Updated for method renames.
2008-01-16 John Sullivan <sullivan@apple.com>
Reviewed by Adam and Dan
- cleaned up some existing logging
* WebView/WebHTMLView.mm:
(-[WebHTMLView setNeedsDisplay:]):
add method name to log, use "YES" and "NO" instead of (int)flag
(-[WebHTMLView setNeedsLayout:]):
ditto
(-[WebHTMLView setNeedsToApplyStyles:]):
ditto
2008-01-15 Geoffrey Garen <ggaren@apple.com>
Reviewed by Andre Boule.
Fixed <rdar://problem/5667627> [WebCache empty] implementation should
not disable/enable the cache
Toggle the cache model instead -- toggling disable/enable just causes
the cache to forget about resources, not reclaim their memory.
* Misc/WebCache.mm:
(+[WebCache empty]):
* WebView/WebView.mm:
* WebView/WebViewInternal.h:
2008-01-15 Adele Peterson <adele@apple.com>
Reviewed by Adam and Antti.
WebKit part of fix for <rdar://problem/5619062> Add load progress indicator to video controls
* WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
Removed initialization for GetMediaControlBackgroundImageData. Added initialization for DrawMediaSliderTrack.
2008-01-10 Geoffrey Garen <ggaren@apple.com>
Reviewed by John Sullivan.
Fixed some world leak reports:
* <rdar://problem/5669436> PLT complains about world leak of 1 JavaScript
Interpreter after running cvs-base suite
* <rdar://problem/5669423> PLT complains about world leak if browser
window is open when PLT starts
These were both bugs in the reporting mechanism, so I took the
opportunity to do some house cleaning there.
* Misc/WebCoreStatistics.h: Did a little renaming, to match
JavaScriptCore better. I kept the methods with the old names around,
though, because old versions of Safari need them.
* Misc/WebCoreStatistics.mm: Removed dependence on
WebCore::JavaScriptStatistics, which is gone now.
These two methods are now distinct, for the sake of world leak reporting:
(+[WebCoreStatistics javaScriptGlobalObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
2008-01-10 Maciej Stachowiak <mjs@apple.com>
Not reviewed. Build fix.
- Attempt to fix mac build.
* Storage/WebDatabaseManager.mm:
2008-01-10 Maciej Stachowiak <mjs@apple.com>
Reviewed by Sam.
- remove SecurityOriginData and fold its functionality into SecurityOrigin
* Storage/WebDatabaseManager.mm:
(-[WebDatabaseManager origins]):
(-[WebDatabaseManager databasesWithOrigin:]):
(-[WebDatabaseManager detailsForDatabase:withOrigin:]):
(-[WebDatabaseManager deleteDatabasesWithOrigin:]):
(-[WebDatabaseManager deleteDatabase:withOrigin:]):
* Storage/WebDatabaseTrackerClient.h:
* Storage/WebDatabaseTrackerClient.mm:
(WebDatabaseTrackerClient::dispatchDidModifyOrigin):
(WebDatabaseTrackerClient::dispatchDidModifyDatabase):
* Storage/WebSecurityOrigin.mm:
(-[WebSecurityOrigin initWithProtocol:domain:port:]):
(-[WebSecurityOrigin protocol]):
(-[WebSecurityOrigin domain]):
(-[WebSecurityOrigin port]):
(-[WebSecurityOrigin usage]):
(-[WebSecurityOrigin quota]):
(-[WebSecurityOrigin setQuota:]):
(-[WebSecurityOrigin isEqual:]):
(-[WebSecurityOrigin dealloc]):
(-[WebSecurityOrigin finalize]):
(-[WebSecurityOrigin _initWithWebCoreSecurityOrigin:]):
(-[WebSecurityOrigin _core]):
* Storage/WebSecurityOriginInternal.h:
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::requestQuotaIncreaseForNewDatabase):
(WebChromeClient::requestQuotaIncreaseForDatabaseOperation):
2008-01-10 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
Fixes: http://bugs.webkit.org/show_bug.cgi?id=16522
<rdar://problem/5657355>
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView loadPluginRequest:]): call findFrameForNavigation
to ensure the shouldAllowNavigation check is made.
2008-01-07 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Mark.
Enable SVG_FONTS by default.
* Configurations/WebKit.xcconfig:
2008-01-07 Adele Peterson <adele@apple.com>
Reviewed by Antti, Adam, and Mitz.
WebKit part of fix for
<rdar://problem/5619073> Updated look for <video> controls
<rdar://problem/5619057> Add volume control to video controls
* WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
2008-01-07 Dan Bernstein <mitz@apple.com>
Reviewed by Dave Hyatt.
- <rdar://problem/5665216> Support the unicode-range property in @font-face rules
* Misc/WebNSAttributedStringExtras.mm:
2008-01-03 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin Adler.
<rdar://problem/5463489> A number of layout tests should be using execCommand instead of textInputController
* WebView/WebView.mm:
(-[WebView _executeCoreCommandByName:value:]):
* WebView/WebViewPrivate.h:
Added an SPI to implement layoutTestController.execCommand.
2008-01-03 Kevin Decker <kdecker@apple.com>
Reviewed by Darin Adler.
Fixed: <rdar://problem/4106190> Include "Where from" metadata in drag-and-dropped images
* Misc/WebNSFileManagerExtras.h:
* Misc/WebNSFileManagerExtras.m:
(-[NSFileManager _webkit_setMetadataURL:referrer:atPath:]): Added new method. Uses WebKitSystemInterface to set
"Where from:" metadata information.
* WebView/WebHTMLView.mm:
(-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Added "Where from:" metadata for drag and dropped images.
2008-01-03 Alice Liu <alice.liu@apple.com>
Reviewed by Darin Adler.
This fixes pageup/down in iframes. test for this is fast/frames/iframe-scroll-page-up-down.html
* WebView/WebHTMLView.mm:
(-[WebHTMLView doCommandBySelector:]):
Have the editor handle all the commands it supports instead of just text commands.
If not handled by the editor, the webview will handle the command.
2008-01-02 Kevin Decker <kdecker@apple.com>
Reviewed by Darin Adler.
Fixed: <rdar://problem/5660603> QuickDraw plug-ins can cause a 100% reproducible assertion failure in AppKit (breaks Safari UI)
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView updateAndSetWindow]): Simplified an early return for non-QuickDraw plug-ins and switched
to using the more NSView friendly version of lockFocus, lockFocusIfCanDraw.
2008-01-01 David D. Kilzer <ddkilzer@webkit.org>
Reviewed by Dan.
- fix http://bugs.webkit.org/show_bug.cgi?id=16700
Fix -[WebDefaultPolicyDelegate webView:decidePolicyForMIMEType:request:frame:decisionListener:]
* DefaultDelegates/WebDefaultPolicyDelegate.m: Check return value of
-[NSFileManager fileExistsAtPath:isDirectory:] before using the value
of isDirectory.
2007-12-29 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Eric.
Add DOMSVGFontElement/DOMSVGGlyphElement/DOMSVGMissingGlyphElement to MigrateHeaders.make
* MigrateHeaders.make:
2007-12-25 Dan Bernstein <mitz@apple.com>
Reviewed by Oliver Hunt.
- fix an assertion failure when pressing the num lock key
* WebView/WebHTMLView.mm:
(-[WebHTMLView flagsChanged:]): Avoid passing key code 10 down to
WebCore.
2007-12-20 Darin Adler <darin@apple.com>
Reviewed by Oliver.
- fix <rdar://problem/5658787> Selector -[WebView insertLineBreak:] is not implemented
* WebView/WebView.mm: Added all selectors implemented by WebHTMLView to the list of
selectors to forward here. The new ones are: changeBaseWritingDirection:, changeSpelling:,
deleteToMark:, insertLineBreak:, moveParagraphBackwardAndModifySelection:,
moveParagraphForwardAndModifySelection:, pageDownAndModifySelection:, pageUpAndModifySelection:,
selectToMark:, setMark:, swapWithMark:, takeFindStringFromSelection:, toggleBaseWritingDirection:,
and transpose:.
2007-12-20 Kevin Decker <kdecker@apple.com>
Reviewed by Anders.
Fixed: <rdar://problem/5638288> REGRESSION: Flash movies show up in other tabs above the page (16373)
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView updateAndSetWindow]): QuickDraw plug-ins must manually be told when to stop
writing to the window backing store. The problem was that change-set 28400 introduced an early return
which prevented this necessary operation. The fix is to limit the scope of the early return to CG and GL
plug-ins and to tweak the needsFocus check to prevent an exception from occurring in QuickDraw-based plug-ins.
2007-12-19 Geoffrey Garen <ggaren@apple.com>
Reviewed by Oliver Hunt.
Build fix.
* ForwardingHeaders/kjs/SymbolTable.h: Added.
* ForwardingHeaders/wtf/VectorTraits.h: Added.
2007-12-16 Mark Rowe <mrowe@apple.com>
Reviewed by Maciej Stachowiak.
Refactor Mac plugin stream code to use the shared NetscapePlugInStreamLoader implementation.
* Plugins/WebBaseNetscapePluginStream.h:
* Plugins/WebNetscapePluginStream.h:
* Plugins/WebNetscapePluginStream.mm:
(-[WebNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
(-[WebNetscapePluginStream dealloc]):
(-[WebNetscapePluginStream finalize]):
* Plugins/WebPlugInStreamLoaderDelegate.h: Moved from WebCore.
* WebCoreSupport/WebNetscapePlugInStreamLoaderClient.h: Added.
(WebNetscapePlugInStreamLoaderClient::WebNetscapePlugInStreamLoaderClient):
* WebCoreSupport/WebNetscapePlugInStreamLoaderClient.mm: Added.
(WebNetscapePlugInStreamLoaderClient::didReceiveResponse): Call through to the equivalent WebPlugInStreamLoaderDelegate method.
(WebNetscapePlugInStreamLoaderClient::didReceiveData): Ditto.
(WebNetscapePlugInStreamLoaderClient::didFail): Ditto.
(WebNetscapePlugInStreamLoaderClient::didFinishLoading): Ditto.
2007-12-16 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin Adler.
http://bugs.webkit.org/show_bug.cgi?id=14140
<rdar://problem/5270958> REGRESSION: Complex system KeyBindings don't work properly
* WebView/WebHTMLView.mm:
(-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]): Made command replaying work
when handling keypress, too.
(-[WebHTMLView doCommandBySelector:]): Adapted for the new way to store commands in events.
(-[WebHTMLView insertText:]): Append a command, not replace the whole existing vector. Also,
restore the state for additional commands to be saved correctly.
2007-12-14 David D. Kilzer <ddkilzer@apple.com>
<rdar://problem/5647272> Remove user agent string hack for flickr.com
Reviewed by Darin Adler.
* WebView/WebView.mm:
(-[WebView _userAgentForURL:]): Removed hack.
2007-12-14 David D. Kilzer <ddkilzer@apple.com>
<rdar://problem/5647261> Remove user agent string hack for yahoo.com
Reviewed by Darin Adler.
* WebView/WebView.mm:
(-[WebView _userAgentForURL:]): Removed hack.
2007-12-14 Darin Adler <darin@apple.com>
Reviewed by Brady.
- fix http://bugs.webkit.org/show_bug.cgi?id=16296
<rdar://problem/5635641> -[WebFrameLoadDelegate didReceiveIcon:forFrame:] never called
* WebView/WebView.mm:
(-[WebView setFrameLoadDelegate:]): Call [WebIconDatabase sharedIconDatabase] if the
a didReceiveIcon method is present.
2007-12-14 Darin Adler <darin@apple.com>
Reviewed by Alexey.
- Changed a few more editing operations to use WebCore instead of WebKit.
- Removed some obsolete unused code.
* WebCoreSupport/WebFrameBridge.h: Moved declarations of methods that are both
defined and used on the WebKit side to here. These no longer belong on the bridge
and should be moved to the WebFrame class (or elsewhere).
* WebCoreSupport/WebFrameBridge.mm: Removed some unused methods.
* WebView/WebFrameView.mm:
(+[WebFrameView _viewTypesAllowImageTypeOmission:]): Fix typo in comment.
* WebView/WebHTMLView.mm:
(-[WebHTMLViewPrivate dealloc]): Removed unused firstResponderTextViewAtMouseDownTime.
(-[WebHTMLViewPrivate clear]): Ditto.
(-[WebHTMLView _setMouseDownEvent:]): Ditto.
(commandNameForSelector): Added special cases for pageDown:, pageDownAndModifySelection:,
pageUp:, and pageUpAndModifySelection:, since those names probably aren't specific enough
to be used in WebCore (what AppKit calls scrollPageDown: vs. pageDown: needs to be
disambiguated with the word "Move"). Added deleteBackward:,
deleteBackwardByDecomposingPreviousCharacter:, deleteForward:, deleteToBeginningOfLine:,
deleteToBeginningOfParagraph:, deleteToEndOfLine:, deleteToEndOfParagraph:, pageDown:,
pageDownAndModifySelection:, pageUp:, pageUpAndModifySelection:, selectLine:,
selectParagraph:, selectSentence:, and selectWord: to the list of commands that are
forwarded to WebCore.
(-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Eliminated the long list of
operations that we forward to WebCore. Instead, look up any command that WebCore can
handle, after any that we handle specially in WebHTMLView. Also fixed a bug where
an item that's not a menu item with changeBaseWritingDirection:NSWritingDirectionNatural
would end up enabled instead of disabled and streamlined the logic for toggleGrammarChecking:.
(-[WebHTMLView mouseDown:]): Removed unused firstResponderTextViewAtMouseDownTime.
(-[WebHTMLView becomeFirstResponder]): Removed unused willBecomeFirstResponderForNodeFocus.
(-[WebHTMLView resignFirstResponder]): Ditto.
(-[WebHTMLView checkSpelling:]): Took unneeded extra initialization of NSSpellChecker.
* WebView/WebHTMLViewInternal.h: Removed unused willBecomeFirstResponderForNodeFocus,
firstResponderTextViewAtMouseDownTime, _textViewWasFirstResponderAtMouseDownTime: and
_willMakeFirstResponderForNodeFocus.
2007-12-13 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin Adler.
Turn on keyboard event processing quirks for feed views and old applications on Mac OS X.
* Misc/WebKitVersionChecks.h:
* WebView/WebView.mm:
(-[WebView _needsKeyboardEventHandlingQuirks]):
(-[WebView _preferencesChangedNotification:]):
2007-12-12 Brady Eidson <beidson@apple.com>
Reviewed by Sam Weinig
Fix for <rdar://problem/4886844> and lay groundwork for <rdar://problem/4516170> (Back/Forward Cache on Windows)
* WebCoreSupport/WebCachedPagePlatformData.h: Added.
(WebCachedPagePlatformData::WebCachedPagePlatformData): Constructor takes a WebDocumentView for later restoration
(WebCachedPagePlatformData::clear):
(WebCachedPagePlatformData::webDocumentView):
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::savePlatformDataToCachedPage):
(WebFrameLoaderClient::transitionToCommittedFromCachedPage): Don't set the DocumentLoader to the Frame here,
because that is now done in WebCore.
(WebFrameLoaderClient::transitionToCommittedForNewPage):
2007-12-12 Mark Rowe <mrowe@apple.com>
Reviewed by Dave Kilzer.
Remove abuse of projectDirPath from WebKit.xcodeproj to fix Production builds.
* Configurations/WebKit.xcconfig:
2007-12-11 Sam Weinig <sam@webkit.org>
Reviewed by Darin Adler.
Scrub URL out of the tree in preparation for renaming KURL to URL.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::actionDictionary):
* WebView/WebDataSource.mm:
(-[WebDataSource _URL]):
* WebView/WebView.mm:
(-[WebView _dispatchDidReceiveIconFromWebFrame:]):
2007-12-11 Darin Adler <darin@apple.com>
Reviewed by Geoff.
- change more editing commands to use WebCore::Editor
- change to use the new WebCore::Editor::command() function
* WebView/WebHTMLView.mm: Changed alignCenter, alignJustified, alignLeft,
alignRight, cut, copy, deleteToMark, indent, insertNewlineIgnoringFieldEditor,
insertTabIgnoringFieldEditor, outdent, selectAll, selectToMark, setMark,
subscript, superscript, swapWithMark, underline, unscript, yank, and yankAndSelect
to use the "forward to WebCore" macro instead of having hand-written implementations.
(kit): Added function to change a TriState to an AppKit-style tri-state value.
(-[WebHTMLView coreCommandBySelector:]): Added. No longer converts case of the
first character or copies the selector name, since the Editor commands are not case
sensitive any more. Returns a command object.
(-[WebHTMLView coreCommandByName:]): Added.
(-[WebHTMLView executeCoreCommandBySelector:]): Renamed from callWebCoreCommand:,
and changed to use the new coreCommandBySelector: method.
(-[WebHTMLView executeCoreCommandByName:]): Added.
(-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Changed all the
methods that call through to WebCore to also use the state() and isEnabled()
functions on the commands for the menu item state and user interface item enabling.
(-[WebHTMLView _handleStyleKeyEquivalent:]): Use ToggleBold and ToggleItalic by
name rather than having local methods for them; no need for methods with a single
call site.
(-[WebHTMLView insertParagraphSeparator:]): Use executeCoreCommandByName: rather
than the deprecated execCommand().
(-[WebHTMLView doCommandBySelector:]): Changed to use command().execute() rather
than the deprecated execCommand().
* WebView/WebHTMLViewInternal.h: Removed some unneeded method declarations.
2007-12-07 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin Adler.
<rdar://problem/5535636>
Have to press 4 times instead of 2 times to get the expected result of ^^ with german keyboard.
http://bugs.webkit.org/show_bug.cgi?id=13916
JavaScript detects Tab as a character input on a textfield validation
* WebCoreSupport/WebEditorClient.h:
Renamed handleKeypress() to handleKeyboardEvent(), as it gets both keydowns and keypresses.
Renamed handleInputMethodKeypress() to handleInputMethodKeydown().
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::handleKeyboardEvent): This change makes sense only remotely, but it helped
to get tests working. I guess Mac keyboard event handling needs further refactoring.
* WebView/WebHTMLView.mm:
(selectorToCommandName): Convert AppKit editing selector name to Editor command name - extracted
from callWebCoreCommand:.
(_interceptEditingKeyEvent:shouldSaveCommand:): Insert text from keypress.
* WebView/WebPDFView.mm:
(-[WebPDFView PDFViewWillClickOnLink:withURL:]):
Convert incoming platform KeyDown into RawKeyDown, as this is what the view is interested in.
2007-12-10 Brady Eidson <beidson@apple.com>
Reviewed by John Sullivan
Fix for <rdar://problem/5640080> - Database UI delegate calls need to specify WebFrame
This is because a common UI case is to want to know the originating URL of a Database
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::requestQuotaIncreaseForNewDatabase):
(WebChromeClient::requestQuotaIncreaseForDatabaseOperation):
* WebView/WebUIDelegatePrivate.h:
* WebView/WebView.mm:
(CallDelegateReturningUnsignedLongLong):
(CallUIDelegateReturningUnsignedLongLong):
* WebView/WebViewInternal.h:
2007-12-10 Timothy Hatcher <timothy@apple.com>
Reviewed by Mark Rowe.
<rdar://problem/5639463> Bundle versions on Tiger should be 4523.x not 523.x
* Configurations/Version.xcconfig: Some Tiger versions of Xcode don't set MAC_OS_X_VERSION_MAJOR,
so assume Tiger and use a 4 for the SYSTEM_VERSION_PREFIX.
2007-12-10 Kevin Decker <kdecker@apple.com>
Reviewed by Darin Adler.
Fixed: <rdar://problem/4290098> Right-mouse click on element doesn't call onmousedown handler
* WebView/WebHTMLView.mm:
(-[WebHTMLView menuForEvent:]): Match behavior of other browsers by sending an onmousedown event for right clicks.
2007-12-08 Oliver Hunt <oliver@apple.com>
Reviewed by Sam W.
Split the ENABLE_SVG_EXPERIMENTAL_FEATURES flag into separate flags.
Fixes <rdar://problem/5620249> Must disable SVG animation
<rdar://problem/5612772> Disable SVG filters on Mac to match Windows behavior
Minor updates to the feature flags used.
* Configurations/WebKit.xcconfig:
* DOM/WebDOMOperations.mm:
2007-12-07 Darin Adler <darin@apple.com>
Reviewed by Kevin Decker and Tim Hatcher.
- speculative fix for <rdar://problem/5400159> CrashTracer: [USER] 726 crashes
in Safari at com.apple.WebKit: -[WebHTMLView(WebPrivate) _updateMouseoverWithFakeEvent] + 389
* WebView/WebHTMLView.mm:
(-[WebHTMLView _frameOrBoundsChanged]): Only schedule the mouseover timer if we are in a window
and not closed. That's because viewDidMoveToWindow and close are the entry points for cancelling.
(-[WebHTMLView close]): Add code to cancel both timers. Needed for the case where the entire
window goes away, and the view is never removed from the window.
(-[WebHTMLView viewDidMoveToWindow]): Don't do work if the view is closed.
2007-12-07 Darin Adler <darin@apple.com>
Reviewed by Mitz.
- http://bugs.webkit.org/show_bug.cgi?id=15981
speed up visited-link code a bit
* History/WebHistory.mm: Removed unused Latin-1 code path.
(-[_WebCoreHistoryProvider containsURL:length:]): Updated for method name change.
2007-12-07 Geoffrey Garen <ggaren@apple.com>
Reviewed by Sam Weinig.
Added a forwarding header, since we now #include nodes.h through some
JavaScriptCore headers.
* ForwardingHeaders/wtf/ListRefPtr.h: Added.
2007-12-06 Brady Eidson <beidson@apple.com>
Reviewed by Oliver's rubber stamp
Let's go ahead and call the correct UI Delegate method, shall we?
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::requestQuotaIncreaseForDatabaseOperation): Call the correct UI delegate
2007-12-06 Adam Roben <aroben@apple.com>
Remove some assertions we know can fire and replace them with a FIXME
Reviewed by Anders.
* WebCoreSupport/WebFrameLoaderClient.mm:
2007-12-06 Timothy Hatcher <timothy@apple.com>
Change the ASSERT added for the previous fix. The ASSERT was firing for 10.5.0.
Only assert if the major version is zero, since zero is handled in the other cases.
* WebView/WebView.mm:
(callGestalt): Remove the ASSERT.
(createMacOSXVersionString): ASSERT that major is not zero.
2007-12-06 Darin Adler <darin@apple.com>
Reviewed by Tim Hatcher.
- fix <rdar://problem/5513394> No way to detect Tiger vs Leopard from Safari's user agent string
* WebView/WebView.mm:
(callGestalt): Added.
(createMacOSXVersionString): Added.
(-[WebView _userAgentWithApplicationName:andWebKitVersion:]): Added Mac OS X version string,
right after the string "Mac OS X", but with underscores instead of dots to avoid the dreaded
"4." problem (old libraries that think a "4." anywhere in the user agent means Netscape 4).
(-[WebView _userAgentForURL:]): Fixed incorrect bug numbers.
2007-12-04 Geoffrey Garen <ggaren@apple.com>
Reviewed by Darin Adler.
Third step in refactoring JSGlobalObject: Moved data members and data
member access from Interpreter to JSGlobalObject.
* WebView/WebFrame.mm:
(-[WebFrame _attachScriptDebugger]):
2007-12-04 Kevin McCullough <kmccullough@apple.com>
Reviewed by Darin Adler.
- <rdar://5621435>
- Security Fix. Instead of having it off by default, WebKit now must
explicitly turn off local-resource restriction when needed for backwards
coimpatibility reasons.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
2007-12-05 Brady Eidson <beidson@apple.com>
Reviewed by Kevin Deckers rubberstamp
Disclose and export the Databases Directory defaults key
* Storage/WebDatabaseManager.mm:
* Storage/WebDatabaseManagerPrivate.h:
* WebKit.exp:
2007-12-04 Kevin Decker <kdecker@apple.com>
Reviewed by Anders.
<rdar://problem/5629125> PluginInfoStore needs the ability to return the name of a plug-in for a given MIME type
* WebCoreSupport/WebViewFactory.mm:
(-[WebViewFactory pluginNameForMIMEType:]): Added.
2007-12-04 Brady Eidson <beidson@apple.com>
Reviewed by Mark Rowe
Tweaked the way we typedef and cast these objc_msgSend calls
* WebView/WebView.mm:
(CallDelegateReturningUnsignedLongLong):
2007-12-04 John Sullivan <sullivan@apple.com>
Reviewed by Brady Eidson (with help from Mark Rowe)
Fixed return values for unsigned-long-long delegate methods
* WebView/WebView.mm:
(CallDelegateReturningUnsignedLongLong):
redid the change that Brady did at home over the weekend but forgot to check in
2007-11-27 Adam Roben <aroben@apple.com>
Remove -[WebFrameBridge setNeedsReapplyStyles]
This functionality is now WebCore's responsibility.
Reviewed by Hyatt.
* WebCoreSupport/WebFrameBridge.mm:
* WebKit.order:
2007-12-04 John Sullivan <sullivan@apple.com>
Reviewed by Darin
Added deleteOrigin: SPI, which isn't fully implemented
* Storage/WebDatabaseManagerPrivate.h:
* Storage/WebDatabaseManager.mm:
(-[WebDatabaseManager deleteOrigin:]):
just calls deleteDatabasesWithOrigin: for now, but needs to delete origin itself too
2007-12-04 Timothy Hatcher <timothy@apple.com>
Reviewed by Mark Rowe.
Remove a check for early versions of Leopard CFNetwork now that
Leopard has shipped.
* Misc/WebKitVersionChecks.h: Remove WEBKIT_FIRST_CFNETWORK_VERSION_WITH_LARGE_DISK_CACHE_FIX.
* WebView/WebView.mm:
(+[WebView _setCacheModel:]): Remove the early Leopard CFNetwork check.
2007-12-04 Kevin Decker <kdecker@apple.com>
Reviewed by Darin Adler.
Revised fix for: <rdar://problem/5586978> REGRESSION (Safari 2-3): WebKit sometimes doesn't invoke Flash's NPP_SetWindow function and causes a hang
This fix is exactly the same as chageset 28359 with the exception of an added early return in
updateAndSetWindow to cover the additional case of when a plug-in isn't drawable.
The CG-based Flash player would sometimes hang because (for CoreGraphics-based plug-ins) our code would
only call into the NPP_SetWindow() function when we tell the plug-in to draw. This created havoc with
Flash because Flash expects the browser to call NPP_SetWindow() and provide a valid graphics context
regardless of whether or not it actually needs to draw.
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): Removed an incorrect comment and toned
down an ASSERT that was too strict.
(-[WebBaseNetscapePluginView updateAndSetWindow]): Removed an early return for CoreGraphics-based plug-ins
which would sometimes altogether prevent updating the PortState and calling into a plug-ins NPP_SetWindow()
function. Also tweaked a comment and added an early return if the plug-in can't draw.
2007-12-04 Darin Adler <darin@apple.com>
Reviewed by Kevin Decker.
* WebCoreSupport/WebFrameLoaderClient.h: Removed obsolete privateBrowsingEnabled.
* WebCoreSupport/WebFrameLoaderClient.mm: Ditto.
* WebKit.order: Ditto.
2007-12-03 Dan Bernstein <mitz@apple.com>
Reviewed by Dave Hyatt.
- fix <rdar://problem/5346452> Resize event doesn't fire on body element inside a frame
* WebView/WebHTMLView.mm:
(-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Removed the code
that checked if the view had resized and sent the resize event, since
FrameView sends resize events now.
* WebView/WebHTMLViewInternal.h:
2007-12-03 Timothy Hatcher <timothy@apple.com>
Reviewed by Darin Adler.
Change WebViewGetResourceLoadDelegateImplementations and WebViewGetFrameLoadDelegateImplementations
to return a pointer to the implementation struct instead of a copy of the struct. This changes
all of the callers to dereference the pointer to access the struct fields.
* Plugins/WebNullPluginView.mm:
(-[WebNullPluginView reportFailure]):
* WebCoreSupport/WebFrameBridge.mm:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
(WebFrameLoaderClient::assignIdentifierToInitialRequest):
(WebFrameLoaderClient::dispatchWillSendRequest):
(WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
(WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
(WebFrameLoaderClient::dispatchDidReceiveResponse):
(WebFrameLoaderClient::willCacheResponse):
(WebFrameLoaderClient::dispatchDidReceiveContentLength):
(WebFrameLoaderClient::dispatchDidFinishLoading):
(WebFrameLoaderClient::dispatchDidFailLoading):
(WebFrameLoaderClient::dispatchDidHandleOnloadEvents):
(WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
(WebFrameLoaderClient::dispatchDidCancelClientRedirect):
(WebFrameLoaderClient::dispatchWillPerformClientRedirect):
(WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
(WebFrameLoaderClient::dispatchWillClose):
(WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
(WebFrameLoaderClient::dispatchDidReceiveTitle):
(WebFrameLoaderClient::dispatchDidCommitLoad):
(WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
(WebFrameLoaderClient::dispatchDidFailLoad):
(WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
(WebFrameLoaderClient::dispatchDidFinishLoad):
(WebFrameLoaderClient::dispatchDidFirstLayout):
* WebView/WebView.mm:
(WebViewGetResourceLoadDelegateImplementations):
(WebViewGetFrameLoadDelegateImplementations):
(-[WebView _dispatchDidReceiveIconFromWebFrame:]):
* WebView/WebViewInternal.h:
2007-12-03 Timothy Hatcher <timothy@apple.com>
Reviewed by Brady Eidson.
<rdar://problem/5539913> 188 crashes in WebViewGetFrameLoadDelegateImplementations
<rdar://problem/5586095> CrashTracer: [USER] 5000+ crashes in Safari and Dashboard in dispatchDidFailLoading
<rdar://problem/5607081> CrashTracer: [USER] 2150 crashes in Safari at com.apple.WebKit:
WebViewGetResourceLoadDelegateImplementations + 28
* WebView/WebView.mm:
(-[WebView _cacheResourceLoadDelegateImplementations]): If the delegate is nil, bzero the
implementation cache. This just prevents us from calling getMethod() multiple times just to zero.
(-[WebView _cacheFrameLoadDelegateImplementations]): Ditto.
(WebViewGetResourceLoadDelegateImplementations): Return a zeroed implementations struct
if the WebView is nil. This fixes the crashes.
(WebViewGetFrameLoadDelegateImplementations): Ditto.
2007-12-02 Geoffrey Garen <ggaren@apple.com>
Reviewed by Eric Seidel.
Updated to match the JavaScriptCore change to move virtual methods from
Interpreter to JSGlobalObject.
* WebView/WebFrame.mm:
(-[WebFrame globalContext]): Use the toRef function instead of manually
casting.
2007-12-01 Brady Eidson <beidson@apple.com>
Reviewed by Tim
Added a default database quota of 5mb to the default WebPreferences
* WebView/WebPreferences.m:
(+[WebPreferences initialize]):
2007-11-30 John Sullivan <sullivan@apple.com>
Reviewed by Geoff Garen
Added another symbol for WebDatabaseManager clients
* WebKit.exp:
added .objc_class_name_WebSecurityOrigin
2007-11-30 Brady Eidson <beidson@apple.com>
Reviewed by Geoff
Add isEqual operator to WebSecurityOrigin
* Storage/WebSecurityOrigin.mm:
(-[WebSecurityOrigin isEqual:]):
2007-11-30 John Sullivan <sullivan@apple.com>
Reviewed by Darin
Tweaks to newly-declared NSString * constants to make them usable from clients
* Storage/WebDatabaseManagerPrivate.h:
* Storage/WebDatabaseManager.mm:
removed "const" from new NSNotification names and userInfo keys; these generate compiler warnings when used
* WebKit.exp:
export new NSNotification names and userInfo keys so clients can use them
2007-11-29 Anders Carlsson <andersca@apple.com>
Reviewed by John.
Rename WebKitShrinksStandaloneImagesToFitKey to WebKitShrinksStandaloneImagesToFit.
This is safe to do because the preference is off by default and Safari 3, which is the only client that turns it on,
is using the setter and not messing around with NSUserDefaults.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.m:
(+[WebPreferences initialize]):
(-[WebPreferences shrinksStandaloneImagesToFit]):
(-[WebPreferences setShrinksStandaloneImagesToFit:]):
2007-11-29 Brady Eidson <beidson@apple.com>
Reviewed by Anders
Support for <rdar://problem/5556381> and <rdar://problem/5556379>
Hook up UI Delegate calls for the database engine feature and other small tweaks
* Storage/WebDatabaseManager.mm:
(-[WebDatabaseManager detailsForDatabase:withOrigin:]): Renamed databaseName parameter to databaseIdentifier for clarity
(-[WebDatabaseManager deleteDatabase:withOrigin:]): Renamed databaseName parameter to databaseIdentifier for clarity
* Storage/WebDatabaseManagerPrivate.h:
* Storage/WebDatabaseTrackerClient.h:
* Storage/WebDatabaseTrackerClient.mm:
(WebDatabaseTrackerClient::dispatchDidModifyDatabase): Renamed databaseName parameter to databaseIdentifier for clarity
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::requestQuotaIncreaseForNewDatabase): Call through to the UI Delegate
(WebChromeClient::requestQuotaIncreaseForDatabaseOperation): Ditto
* WebView/WebUIDelegatePrivate.h: Added the two UI Delegate methods
* WebView/WebView.mm:
(CallDelegateReturningUnsignedLongLong):
(CallUIDelegateReturningUnsignedLongLong):
* WebView/WebViewInternal.h:
2007-11-28 Kevin McCullough <kmccullough@apple.com>
Reviewed by Sam.
- Added recursive runloop guards.
* DefaultDelegates/WebScriptDebugServer.m:
(-[WebScriptDebugServer suspendProcessIfPaused]):
2007-11-29 Mark Rowe <mrowe@apple.com>
Reviewed by Oliver Hunt.
Fix an assertion failure seen on the layout tests, and when closing the window after
visiting <http://www.coudal.com/losalamos/>.
* Plugins/WebBaseNetscapePluginStream.mm:
(-[WebBaseNetscapePluginStream _destroyStream]): Unlink the file and close the file
descriptor even when the stream is being destroyed without the load completing. This
avoids leaking the path and file descriptor, and leaving the temporary file on disk.
2007-11-28 Adele Peterson <adele@apple.com>
Reviewed by Darin Adler.
Fix for <rdar://problem/5524216> CrashTracer: [USER] 496 crashes in Safari at com.apple.WebCore: WebCore::Frame::eventHandler const + 6
The CrashTracer shows a variety of crashes in different methods (including keyDown and keyUp). This change adds nil checks for the frame in
WebHTMLView to prevent future problems in other methods as well.
* WebView/WebHTMLView.mm:
(-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
(-[WebHTMLView keyDown:]):
(-[WebHTMLView keyUp:]):
(-[WebHTMLView flagsChanged:]):
(-[WebHTMLView _selectionStartFontAttributesAsRTF]):
(-[WebHTMLView _changeCSSColorUsingSelector:inRange:]):
(-[WebHTMLView checkSpelling:]):
(-[WebHTMLView showGuessPanel:]):
(-[WebHTMLView indent:]):
(-[WebHTMLView outdent:]):
(-[WebHTMLView paste:]):
(-[WebHTMLView _lookUpInDictionaryFromMenu:]):
(-[WebHTMLView insertText:]):
(-[WebHTMLView selectionTextRects]):
2007-11-28 Dan Bernstein <mitz@apple.com>
Reviewed by Maciej Stachowiak.
- fix <rdar://problem/5596160> fast/events/objc-event-api.html fails when run alone (or first)
* WebView/WebHTMLView.mm:
(-[WebHTMLView setDataSource:]): This method calls addMouseMovedObserver
because addMouseMovedObserver returns early if the dataSource
is not nil. But if the dataSource is already set (which happens when
a WebHTMLView is being reused) then addMouseMovedObserver must not
be called again.
2007-11-27 Anders Carlsson <andersca@apple.com>
Reviewed by Brady.
* Storage/WebDatabaseManager.mm:
* Storage/WebDatabaseManagerPrivate.h:
* Storage/WebDatabaseTrackerClient.mm:
(WebDatabaseTrackerClient::dispatchDidModifyOrigin):
(WebDatabaseTrackerClient::dispatchDidModifyDatabase):
* Storage/WebSecurityOrigin.mm:
(-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:]):
* Storage/WebSecurityOriginInternal.h:
2007-11-27 Kevin Decker <kdecker@apple.com>
Reviewed by Darin, landed by Anders.
Fixed: <rdar://problem/4610818> CrashTracer: 1533 crashes in Safari at com.macromedia.Flash Player.plugin: native_ShockwaveFlash_TCallLabel + 271131
The problem was that some Leopard users were still inadvertently using the old Flash 8 plug-in, even though Leopard
shipped with Flash 9. To avoid loading an older version of a plug-in when a newer version is installed, the plug-in
database will compare bundle versions and always load the latest version.
* Plugins/WebBasePluginPackage.h:
* Plugins/WebBasePluginPackage.m:
(-[WebBasePluginPackage versionNumber]): New method. CFBundleGetVersionNumber doesn't work with all possible versioning schemes,
but we think for now it's good enough for us.
* Plugins/WebPluginDatabase.m:
(considerCandidate): Added a C utility function which compares the current plug-in against a candidate plug-in's version number.
If both plug-ins have the same bundle ID and the candiate is newer, the current plug-in becomes the candidate.
(-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): Calls the new considerCandidate() function.
2007-11-26 Timothy Hatcher <timothy@apple.com>
Reviewed by Dave Hyatt.
<rdar://problem/5569233> Add the ability to disable author and user CSS styles
* WebView/WebPreferenceKeysPrivate.h: Define WebKitRespectStandardStyleKeyEquivalentsPreferenceKey.
* WebView/WebPreferences.m:
(+[WebPreferences initialize]): Default WebKitRespectStandardStyleKeyEquivalentsPreferenceKey to YES.
(-[WebPreferences authorAndUserStylesEnabled]): Return the setting's BOOL value.
(-[WebPreferences setAuthorAndUserStylesEnabled:]): Set the setting's BOOL value.
* WebView/WebPreferencesPrivate.h: Add authorAndUserStylesEnabled and setAuthorAndUserStylesEnabled:.
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]): Update WebCore::Settings::authorAndUserStylesEnabled.
2007-11-26 Brady Eidson <beidson@apple.com>
Reviewed by Mark Rowe
Provide API for setting the default storage quota per database origin
* Misc/WebNSDictionaryExtras.h:
* Misc/WebNSDictionaryExtras.m:
(-[NSMutableDictionary _webkit_setUnsignedLongLong:forKey:]): Helper for UINT64 preferences
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.m:
(-[WebPreferences _unsignedLongLongValueForKey:]): Helper for UINT64 prefs
(-[WebPreferences _setUnsignedLongLongValue:forKey:]): Ditto
(-[WebPreferences defaultDatabaseQuota]):
(-[WebPreferences setDefaultDatabaseQuota:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]): Set the WebCore Settings version of the default storage pref
2007-11-26 Darin Adler <darin@apple.com>
Reviewed by Adele.
- some middle-mouse-button-related fixes
These don't affect Safari since it maps the middle mouse button to the command key,
but that might not always be the case for future versions.
* WebView/WebHTMLView.mm:
(-[WebHTMLView otherMouseDown:]): Pass through middle mouse down events to WebCore.
(-[WebHTMLView otherMouseDragged:]): Ditto, for drag events.
(-[WebHTMLView otherMouseUp:]): Ditto, for up events.
* WebView/WebPolicyDelegate.h: Fixed inaccurate documentation of WebActionButtonKey.
2007-11-26 Anders Carlsson <andersca@apple.com>
Reviewed by Brady.
Get rid of the WebSecurityOriginPrivate object and store
the WebCore::SecurityOriginData pointer in the _private field of
the WebSecurityOrigin object instead.
* Storage/WebDatabaseManager.mm:
(-[WebDatabaseManager databasesWithOrigin:]):
(-[WebDatabaseManager detailsForDatabase:withOrigin:]):
(-[WebDatabaseManager deleteDatabasesWithOrigin:]):
(-[WebDatabaseManager deleteDatabase:withOrigin:]):
* Storage/WebSecurityOrigin.mm:
(-[WebSecurityOrigin initWithProtocol:domain:port:]):
(-[WebSecurityOrigin protocol]):
(-[WebSecurityOrigin domain]):
(-[WebSecurityOrigin port]):
(-[WebSecurityOrigin usage]):
(-[WebSecurityOrigin quota]):
(-[WebSecurityOrigin setQuota:]):
(-[WebSecurityOrigin dealloc]):
(-[WebSecurityOrigin finalize]):
(-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:]):
(-[WebSecurityOrigin _core]):
* Storage/WebSecurityOriginInternal.h:
2007-11-26 Timothy Hatcher <timothy@apple.com>
Reviewed by Adam Roben.
Bug 16137: Web Inspector window on Leopard should have a unified toolbar and window title
http://bugs.webkit.org/show_bug.cgi?id=16137
Create the Web Inspector window with the textured style. Set the content border
thickness for the top of the window or the height of the toolbar. Also make the
window's bottom corners square, since a normal textured window normally has
rounded bottom corners.
* WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController window]):
2007-11-24 Mark Rowe <mrowe@apple.com>
Tiger build fix.
* Plugins/WebBaseNetscapePluginStream.mm:
(CarbonPathFromPOSIXPath): Use WebCFAutorelease as this also works on Tiger.
2007-11-24 Mark Rowe <mrowe@apple.com>
Reviewed by Tim Hatcher.
Fix <rdar://problem/5432686> 333MB RPRVT seems to leak @ www.43folders.com (1hr plug-in stream).
http://bugs.webkit.org/show_bug.cgi?id=13705
Have NP_ASFILE and NP_ASFILEONLY streams write the data to disk as they receive it rather than
dumping the data to disk in a single go when the stream has completed loading. On a test case
involving a 150MB Flash movie being streamed from a local web server this reduces memory consumption
on page load from around 400MB to 22MB.
The only plugin I have found that uses NP_ASFILE or NP_ASFILEONLY on the Mac is our NetscapeMoviePlugin
example code so the NP_ASFILE portion of this change has not had any testing with a real-world plugin.
* Plugins/WebBaseNetscapePluginStream.h:
* Plugins/WebBaseNetscapePluginStream.mm:
(-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
(-[WebBaseNetscapePluginStream dealloc]):
(-[WebBaseNetscapePluginStream finalize]):
(-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
(-[WebBaseNetscapePluginStream _destroyStream]): Update to work with paths as NSStrings.
(-[WebBaseNetscapePluginStream _deliverDataToFile:]): Open the file if it is not already open, and write any data
to disk.
(-[WebBaseNetscapePluginStream finishedLoading]): If the stream is NP_ASFILE or NP_ASFILEONLY we need to ensure
that the file exists before _destroyStream passes it to the plugin. Simulating the arrival of an empty data block
ensure that the file will be created if it has not already.
(-[WebBaseNetscapePluginStream receivedData:]):
(CarbonPathFromPOSIXPath):
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView pluginViewFinishedLoading:]): Data is dealt with incrementally so there's no need to pass
it to finishedLoading.
(-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): Ditto.
2007-11-23 Oliver Hunt <oliver@apple.com>
Reviewed by Mark Rowe.
Fixed <rdar://problem/3759190> allow input methods the option of processing mouse events themselves
* WebView/WebHTMLView.mm:
(-[WebHTMLView mouseDown:]):
2007-11-22 Dan Bernstein <mitz@apple.com>
Reviewed by Antti Koivisto.
- http://bugs.webkit.org/show_bug.cgi?id=15811
WebKit plug-ins can re-enter WebKit under attach()
<rdar://problem/5577978>
* Plugins/WebNullPluginView.mm:
(-[WebNullPluginView viewDidMoveToWindow]): Removed workaround for the
above bug that added as part of fixing
<http://bugs.webkit.org/show_bug.cgi?id=15804>.
2007-11-21 Mark Rowe <mrowe@apple.com>
Reviewed by Eric.
Fix WebKit to build without warnings under GCC 4.2.
* Configurations/Base.xcconfig:
2007-11-21 Mark Rowe <mrowe@apple.com>
Reviewed by Tim Hatcher.
Changes due to <rdar://problem/5602936> Need to resolve new GCC 4.2 warnings
Update format strings to use format specifiers that match the argument types.
* Misc/WebGraphicsExtras.c:
(WebConvertBGRAToARGB):
2007-11-19 Brady Eidson <beidson@apple.com>
Reviewed by Maciej
Finished hooking up the WebKit API for database management.
Most of the API is actually implemented in WebCore and some of those methods might
only be stubs for now.
* Storage/WebDatabaseManager.mm:
(-[WebDatabaseManager origins]): Call through to the WebCore tracker and construct an API result
(-[WebDatabaseManager databasesWithOrigin:]): Ditto
(-[WebDatabaseManager detailsForDatabase:withOrigin:]): Ditto
* Storage/WebSecurityOrigin.mm:
(-[WebSecurityOrigin usage]): Call through to WebCore
(-[WebSecurityOrigin quota]): Ditto
(-[WebSecurityOrigin setQuota:]): Ditto
(-[WebSecurityOrigin _core]): Get WebCore version of this object
* Storage/WebSecurityOriginInternal.h:
2007-11-17 Timothy Hatcher <timothy@apple.com>
Reviewed by Mark Rowe.
Bug 13470: i18n: The Web Inspector is not localizable
http://bugs.webkit.org/show_bug.cgi?id=13470
Implement the localizedStringsURL() client method to return the
localized URL of InspectorLocalizedStrings.js in WebCore.
* WebCoreSupport/WebInspectorClient.h: Added localizedStringsURL.
* WebCoreSupport/WebInspectorClient.mm:
(WebInspectorClient::localizedStringsURL): Added.
(WebInspectorClient::updateWindowTitle): Localized the window title.
(-[WebInspectorWindowController init]): Remove a FIXME that dosen't make sense anymore.
(-[WebInspectorWindowController initWithInspectedWebView:]): Code style cleanup.
2007-11-17 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin Adler.
http://bugs.webkit.org/show_bug.cgi?id=15969
Eliminate Editor::deleteRange()
* WebView/WebHTMLView.mm:
(+[WebHTMLView initialize]):
(-[WebHTMLView yank:]):
(-[WebHTMLView yankAndSelect:]):
(-[WebHTMLView setMark:]):
(-[WebHTMLView deleteToMark:]):
(-[WebHTMLView selectToMark:]):
(-[WebHTMLView swapWithMark:]):
Pushed all kill ring methods to WebCore. They were guilty of using Editor::deleteRange()!
2007-11-16 Mark Rowe <mrowe@apple.com>
Reviewed by Tim Hatcher.
Build WebCore as a sub-framework of WebKit in all configurations.
* Configurations/WebKit.xcconfig:
2007-11-16 John Sullivan <sullivan@apple.com>
Reviewed by Brady
* WebKit.exp:
Exported some new database-related symbols
2007-11-16 Brady Eidson <beidson@apple.com>
Reviewed by John
Database management API tweaks
Fleshed out "WebSecurityOrigin" to be the API object representing an origin. This relieves some
burden off WebDatabaseManager and allows usage/quota operations on the SecurityOrigin object itself
Also added a new subdirectory for Storage related API - Why are we afraid to add new directories to
the WebKit tree?
* Misc/WebSecurityOrigin.mm: Removed.
* Misc/WebSecurityOriginInternal.h: Removed.
* Misc/WebSecurityOriginPrivate.h: Removed.
* Storage/WebDatabaseManager.mm: Work in terms of WebSecurityOrigin
* Storage/WebDatabaseManagerPrivate.h:
* Storage/WebSecurityOrigin.mm: Added.
(-[WebSecurityOriginPrivate initWithProtocol:domain:port:]):
(-[WebSecurityOriginPrivate initWithWebCoreSecurityOrigin:]):
(-[WebSecurityOriginPrivate finalize]):
(-[WebSecurityOriginPrivate dealloc]):
(-[WebSecurityOrigin initWithProtocol:domain:]):
(-[WebSecurityOrigin initWithProtocol:domain:port:]):
(-[WebSecurityOrigin protocol]):
(-[WebSecurityOrigin domain]):
(-[WebSecurityOrigin port]):
(-[WebSecurityOrigin usage]):
(-[WebSecurityOrigin quota]):
(-[WebSecurityOrigin setQuota:]): Clients will set quotas on the WebSecurityOrigin object itself
(-[WebSecurityOrigin dealloc]):
(-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:]):
* Storage/WebSecurityOriginInternal.h: Added.
* Storage/WebSecurityOriginPrivate.h: Added.
2007-11-15 Brady Eidson <beidson@apple.com>
Reviewed by John
Stubbing out everything required for a WebKit API for databases
These interfaces seem to provide everything we need for UI and management at the browser level
* Misc/WebDatabaseManager.h: Removed.
* Misc/WebDatabaseManager.mm: Removed.
* Misc/WebDatabaseManagerPrivate.h: Removed.
* Misc/WebSecurityOrigin.mm: Added. Object that acts as a container for the "SecurityOrigin tuple"
(protocol, domain, and port)
(-[WebSecurityOriginPrivate initWithProtocol:domain:port:]):
(-[WebSecurityOriginPrivate dealloc]):
(-[WebSecurityOrigin initWithProtocol:domain:]):
(-[WebSecurityOrigin initWithProtocol:domain:port:]):
(-[WebSecurityOrigin protocol]):
(-[WebSecurityOrigin domain]):
(-[WebSecurityOrigin port]):
(-[WebSecurityOrigin dealloc]):
(-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:WebCore::]):
* Misc/WebSecurityOriginInternal.h: Added.
* Misc/WebSecurityOriginPrivate.h: Added.
* Storage/WebDatabaseManager.mm: Added.
(+[WebDatabaseManager sharedWebDatabaseManager]):
(-[WebDatabaseManager origins]): Get a list of all origins currently tracked
(-[WebDatabaseManager detailsForOrigin:]): Get the current usage and current quota for the given origin
(-[WebDatabaseManager databasesWithOrigin:]): Get all databases for a certain origin
(-[WebDatabaseManager detailsForDatabase:withOrigin:]): Get all details about a specific database
(-[WebDatabaseManager setQuota:forOrigin:]): Change origin-wide quota
(-[WebDatabaseManager deleteAllDatabases]):
(-[WebDatabaseManager deleteAllDatabasesWithOrigin:]):
(-[WebDatabaseManager deleteDatabase:withOrigin:]):
* Storage/WebDatabaseManagerPrivate.h: Added.
* Storage/WebDatabaseManagerInternal.h: Added.
(WebKitInitializeDatabasesIfNecessary): One-time initialization of database-related things
* Storage/WebDatabaseTrackerClient.h: Added. Stubbed out client for notifications
* Storage/WebDatabaseTrackerClient.mm: Added.
(WebDatabaseTrackerClient::sharedWebDatabaseTrackerClient):
(WebDatabaseTrackerClient::WebDatabaseTrackerClient):
(WebDatabaseTrackerClient::~WebDatabaseTrackerClient):
(WebDatabaseTrackerClient::dispatchDidModifyOrigin):
(WebDatabaseTrackerClient::dispatchDidModifyDatabase):
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]): Do one-time initialization of
Database-related things here
2007-11-13 Geoffrey Garen <ggaren@apple.com>
Reviewed by Anders Carlsson.
Renamed Shared to RefCounted.
* ForwardingHeaders/wtf/RefCounted.h: Copied from WebKit/mac/ForwardingHeaders/wtf/Shared.h.
* ForwardingHeaders/wtf/Shared.h: Removed.
* WebCoreSupport/WebContextMenuClient.h:
2007-11-13 Geoffrey Garen <ggaren@apple.com>
Reviewed by Sam Weinig.
Moved Shared.h into wtf so it could be used in more places.
* ChangeLog:
* WebCoreSupport/WebContextMenuClient.h:
2007-11-13 John Sullivan <sullivan@apple.com>
Reviewed by Darin Adler.
removed recently-added PreferredType concept; we found a better way to do what
ths was accomplishing
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::createWindow):
removed use of PreferredType
2007-11-13 John Sullivan <sullivan@apple.com>
Reviewed by Dan Bernstein.
- fixed <rdar://problem/5567954> REGRESSION (Safari 2-3): Autofill no longer automatically fills in
form fields other than the one you're typing into
* WebCoreSupport/WebEditorClient.mm:
(selectorForKeyEvent):
correct the key identifier strings for Tab and Esc; these were updated in WebCore as part of r21445
but didn't get updated here.
2007-11-12 Josh Aas <joshmoz@gmail.com>
Reviewed by Darin Adler.
- http://bugs.webkit.org/show_bug.cgi?id=15946
add NPPValue NPPVpluginDrawingModel (Mozilla bug 403418 compat)
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView setVariable:value:]):
2007-11-12 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin Adler.
http://bugs.webkit.org/show_bug.cgi?id=15954
Move DOM Selection operations out of SelectionController
* WebView/WebHTMLView.mm:
(-[WebHTMLView _expandSelectionToGranularity:]):
(-[WebHTMLView selectToMark:]):
(-[WebHTMLView swapWithMark:]):
* WebView/WebView.mm:
(-[WebView setSelectedDOMRange:affinity:]):
Adapted for SelectionController::setSelectedRange() now returning a bool.
2007-11-12 Oliver Hunt <oliver@apple.com>
Reviewed by Darin and Geoff.
<rdar://problem/5522011> The content of the password field of
Safari is displayed by reconversion.
Some input methods (notably Kotoeri) can incorrectly provide
access to the raw text of a password field. To work around
this we forcefully override the inputContext whenever a password
field is active.
* WebView/WebHTMLView.mm:
(-[WebHTMLView inputContext]):
2007-11-12 John Sullivan <sullivan@apple.com>
Reviewed by Tim Hatcher
- speculative fix for <rdar://problem/5509989> CrashTracer: [USER] 1 crash in Safari at com.apple.WebKit:
-[WebPDFView(FileInternal) _updatePreferencesSoon] + 56
The crash is probably due to messaging a dealloc'ed dataSource ivar. The dataSource ivar isn't retained
by this class, but should be. (It is retained by WebHTMLView, e.g.).
* WebView/WebPDFView.mm:
(-[WebPDFView dealloc]):
release dataSource ivar
(-[WebPDFView setDataSource:]):
retain dataSource ivar
2007-11-09 Tristan O'Tierney <tristan@apple.com>
Reviewed by Timothy Hatcher.
This patch is for the WebKit side of <rdar://problem/5591115>.
We need a way to tell context menu navigations, such as "Open in New Window"
to override any sort of browser preference for tab based navigation.
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::createWindow):
Pass up the new preferredType parameter as a string.
2007-11-09 Timothy Hatcher <timothy@apple.com>
Reviewed by John.
<rdar://problem/5103720> REGRESSION: [WebView stringByEvaluatingJavaScriptFromString:] fails if "return" is used
Extend the linked on or after check to every application when a script passed to
stringByEvaluatingJavaScriptFromString: has a return statement. Before the check
was limited to VitalSource Bookshelf, but other developers are running into this.
* Misc/WebKitVersionChecks.h: Add the WEBKIT_FIRST_VERSION_WITHOUT_JAVASCRIPT_RETURN_QUIRK define.
* WebView/WebDocumentLoaderMac.mm:
(needsDataLoadWorkaround): Use WEBKIT_FIRST_VERSION_WITHOUT_ADOBE_INSTALLER_QUIRK sicne the
WebKitLinkedOnOrAfter check here was about the Adobe installer, not VitalSource.
* WebView/WebView.mm:
(-[WebView stringByEvaluatingJavaScriptFromString:]): Remove the bundle ID check and use
WEBKIT_FIRST_VERSION_WITHOUT_JAVASCRIPT_RETURN_QUIRK for the WebKitLinkedOnOrAfter call.
2007-11-08 Kevin McCullough <kmccullough@apple.com>
Build Fix.
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::windowObjectCleared):
2007-11-07 Darin Adler <darin@apple.com>
Reviewed by Steve.
- removed some unused WebCore bridge methods
* WebCoreSupport/WebFrameBridge.mm: Removed issueTransposeCommand and overrideMediaType.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::overrideMediaType): Changed to call WebView directly instead of
using the bridge object.
2007-11-06 Mark Rowe <mrowe@apple.com>
Rubber-stamped by Dave Kilzer.
Move Mac files from WebKit into WebKit/mac.
* Carbon: Copied from WebKit/Carbon.
* ChangeLog: Copied from WebKit/ChangeLog.
* ChangeLog-2002-12-03: Copied from WebKit/ChangeLog-2002-12-03.
* ChangeLog-2006-02-09: Copied from WebKit/ChangeLog-2006-02-09.
* ChangeLog-2007-10-14: Copied from WebKit/ChangeLog-2007-10-14.
* Configurations: Copied from WebKit/Configurations.
* DOM: Copied from WebKit/DOM.
* DefaultDelegates: Copied from WebKit/DefaultDelegates.
* ForwardingHeaders: Copied from WebKit/ForwardingHeaders.
* History: Copied from WebKit/History.
* Info.plist: Copied from WebKit/Info.plist.
* MigrateHeaders.make: Copied from WebKit/MigrateHeaders.make.
* Misc: Copied from WebKit/Misc.
* Panels: Copied from WebKit/Panels.
* Plugins: Copied from WebKit/Plugins.
* PublicHeaderChangesFromTiger.txt: Copied from WebKit/PublicHeaderChangesFromTiger.txt.
* Resources: Copied from WebKit/Resources.
* WebCoreSupport: Copied from WebKit/WebCoreSupport.
* WebInspector: Copied from WebKit/WebInspector.
* WebKit.exp: Copied from WebKit/WebKit.exp.
* WebKit.order: Copied from WebKit/WebKit.order.
* WebKitPrefix.h: Copied from WebKit/WebKitPrefix.h.
* WebView: Copied from WebKit/WebView.
* icu: Copied from WebKit/icu.
2007-11-06 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin Adler.
http://bugs.webkit.org/show_bug.cgi?id=15847
Some editing cleanup
No change in functionality.
* WebView/WebHTMLView.mm:
(-[WebHTMLView deleteToEndOfLine:]):
(-[WebHTMLView deleteToEndOfParagraph:]):
WebCore had a duplicate of the same logic already. We are passing a boundary value to
a function that expects granularity, this may need to be straightened out in the future.
2007-11-05 John Sullivan <sullivan@apple.com>
* WebView/WebView.mm:
(-[WebView _searchWithSpotlightFromMenu:]):
Teeny style tweak to test svn access on other machine
2007-11-05 John Sullivan <sullivan@apple.com>
* WebView/WebView.mm:
(-[WebView computedStyleForElement:pseudoElement:]):
Teeny style tweak to test svn access
2007-11-02 Tristan O'Tierney <tristan@apple.com>
Reviewed by Darin Adler.
* DefaultDelegates/WebDefaultUIDelegate.m:
(-[WebDefaultUIDelegate webView:createWebViewWithRequest:windowFeatures:]):
Forward the UI delegate to call webView:createWebViewWithRequest: if
this method doesn't exist.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchCreatePage):
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView loadPluginRequest:]):
* WebView/WebView.mm:
(-[WebView _openNewWindowWithRequest:]):
Revised to use new webView:createWebViewWithRequest:windowFeatures: callback.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::createWindow):
Added a new createWindow that accepts 3 parameters, so we can pass up windowFeatures to the chrome.
Removed createModalDialog to use new createWindow function.
* WebView/WebUIDelegatePrivate.h:
Added new webView:createWebViewWithRequest:windowFeatures: method.
2007-11-05 Geoffrey Garen <ggaren@apple.com>
Reviewed by Darin Adler.
http://bugs.webkit.org/show_bug.cgi?id=15835
Small adaptations to new KJS::List class.
* ForwardingHeaders/kjs/value.h: Added.
2007-11-03 David D. Kilzer <ddkilzer@webkit.org>
Sort files(...); sections of Xcode project files.
Rubber-stamped by Darin Adler.
* WebKit.xcodeproj/project.pbxproj:
2007-11-02 Antti Koivisto <antti@apple.com>
Reviewed by Darin Adler.
Add method to enable video composition.
* WebCoreSupport/WebSystemInterface.m:
(InitWebCoreSystemInterface):
2007-11-02 Darin Adler <darin@apple.com>
Reviewed by Mitz.
- fix problem I ran into while doing some testing on Mac for
<rdar://problem/5530185> WebKit does not show <object>
fallback content when both URL and MIME type is omitted
I don't know how to reproduce this failure in DumpRenderTree, so there is no
regression test.
* Plugins/WebNullPluginView.h: Removed some unneeded declarations, including
the didSendError local variable. Instead we just set the error to nil once
we've sent it.
* Plugins/WebNullPluginView.mm:
(-[WebNullPluginView initWithFrame:error:DOMElement:]): Refactored so that
the null plug-in image code is separate from the rest of the function and
so that the whole thing is not inside an if statement. Also don't hold a
reference to the DOM element if there is no error to report.
(-[WebNullPluginView reportFailure]): Added. Does the actual delegate
callback. Happens back at the top level of the run loop so it doesn't
fire deep inside layout. Also wrote this so that it is guaranteed not to
reenter and so that it can handle the case where the delegate destroys
the world (including this object). NOTE: This is not a real, general
solution to the problem of plug-ins that do work inside layout. We will need
a more general fix that works for other plug-ins, and we'll track that with
a separate bug report.
(-[WebNullPluginView viewDidMoveToWindow]): Removed most of the code;
changed so it just does a performSelector:afterDelay:0.
2007-11-02 Mark Rowe <mrowe@apple.com>
Reviewed by Darin Adler.
Fix http://bugs.webkit.org/show_bug.cgi?id=15780
Bug 15780: WebFrameLoaderClient: WebActionElementKey wrong if view is scrolled
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::actionDictionary): Retrieve the mouse event coordinates
in the page coordinate system rather than the client area coordinate system.
2007-11-01 Dan Bernstein <mitz@apple.com>
Reviewed by Oliver Hunt.
- fix an assertion failure when Command-Tabbing out of Safari
* WebView/WebHTMLView.mm:
(-[WebHTMLView flagsChanged:]): Avoid passing key code 0 down to
WebCore.
2007-11-01 Justin Garcia <justin.garcia@apple.com>
Reviewed by Oliver Hunt.
<rdar://problem/5195056> Huge plain text pastes are slow, time spent in ApplyStyleCommand::doApply
No need to match style when pasting plain text, since the fragment we build for plain text
won't have any style information on it.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:]): There's no
longer a need to know whether this function chosePlaintext.
(-[WebHTMLView _pasteWithPasteboard:allowPlainText:]):
(-[WebHTMLView _documentFragmentFromPasteboard:]):
2007-10-31 Timothy Hatcher <timothy@apple.com>
Reviewed by John Sullivan.
Move the developer extras preference to WebPreferences.
* WebView/WebPreferenceKeysPrivate.h: Add WebKitDeveloperExtrasEnabledPreferenceKey
* WebView/WebPreferences.m:
(+[WebPreferences initialize]): Initialize WebKitDeveloperExtrasEnabledPreferenceKey to NO.
(-[WebPreferences developerExtrasEnabled]): Check DisableWebKitDeveloperExtras, WebKitDeveloperExtras
and IncludeDebugMenu in addition to WebKitDeveloperExtrasEnabledPreferenceKey.
(-[WebPreferences setDeveloperExtrasEnabled:]): Set WebKitDeveloperExtrasEnabledPreferenceKey.
* WebView/WebPreferencesPrivate.h: Add developerExtrasEnabled and setDeveloperExtrasEnabled:.
* WebView/WebView.mm:
(+[WebView _developerExtrasEnabled]): Removed.
(-[WebView _preferencesChangedNotification:]): Check the WebPreferences object for developerExtrasEnabled.
* WebView/WebViewPrivate.h: Removed _developerExtrasEnabled.
2007-10-30 David D. Kilzer <ddkilzer@webkit.org>
Generated files missing from WebCore's Xcode project file
<http://bugs.webkit.org/show_bug.cgi?id=15406>
Reviewed by Darin Adler.
Added the following private header files to MigrateHeaders.make:
- DOMCSSStyleSheetPrivate.h
- DOMEventPrivate.h
- DOMHTMLCollectionPrivate.h
- DOMHTMLEmbedElementPrivate.h
- DOMHTMLIFrameElementPrivate.h
- DOMHTMLObjectElementPrivate.h
- DOMHTMLSelectElementPrivate.h
* MigrateHeaders.make:
2007-10-29 Antti Koivisto <antti@apple.com>
Reviewed by Maciej.
Some SPIs for media support.
* WebCoreSupport/WebSystemInterface.m:
(InitWebCoreSystemInterface):
2007-10-29 Timothy Hatcher <timothy@apple.com>
Reviewed by John Sullivan.
Various semi-related changes:
- A WebView can now be asked for it's WebInspector. There is one
WebInspector per WebView.
- Refactor the WebInspector class and move obsolete methods to
a special category.
- Add new WebInspector methods to show, hide and show the
console/timeline panels.
- Add an isDisabled method to WebCache.
- Allow WebLocalizableStrings.h to be used in C files.
* Misc/WebCache.h: Add isDisabled.
* Misc/WebCache.mm:
(+[WebCache isDisabled]): New method.
* Misc/WebLocalizableStrings.h: Changes to allow use in plain C files.
* WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController showWindow:]): Call super if already visible
so the window will be ordered front.
(-[WebInspectorWindowController showWebInspector:]): Method used by menu items,
so they are enabled and work when the Inspector window is key.
(-[WebInspectorWindowController showErrorConsole:]): Ditto.
(-[WebInspectorWindowController showNetworkTimeline:]): Ditto.
* WebInspector/WebInspector.h: Add and remove methods.
* WebInspector/WebInspector.mm:
(-[WebInspector webViewClosed]): Called when the WebView is closed/dealloced.
Clears the _webView pointer.
(-[WebInspector show:]): Calls thru to the Page's InspectorController.
(-[WebInspector showConsole:]): Ditto.
(-[WebInspector showTimeline:]): Ditto.
(-[WebInspector close:]): Ditto.
(-[WebInspector attach:]): Ditto.
(-[WebInspector detach:]): Ditto.
(+[WebInspector sharedWebInspector]): Moved to the obsolete category.
(+[WebInspector webInspector]): Ditto.
(-[WebInspector setWebFrame:]): Ditto.
(-[WebInspector window]): Ditto.
(-[WebInspector showWindow:]): Ditto.
* WebView/WebView.mm:
(-[WebViewPrivate dealloc]): Release the WebInspector.
(-[WebView _close]): Call webViewClosed on the WebInspector.
(-[WebView inspector]): Create a WebInspector if needed and return it.
* WebView/WebViewPrivate.h: Add the inspector method.
2007-10-30 Adele Peterson <adele@apple.com>
Reviewed by Darin Adler.
WebKit part of fix for http://bugs.webkit.org/show_bug.cgi?id=10577
<rdar://problem/5103625> REGRESSION: Caps lock icon should show in password fields
* WebView/WebHTMLView.mm:
(-[WebHTMLView flagsChanged:]): Call capsLockStateMayHaveChanged so WebCore knows it may have to update a password field.
(+[WebHTMLView _postFlagsChangedEvent:]): Added a comment with a Radar number for why this isn't just in flagsChanged.
(-[WebHTMLView scrollWheel:]): Instead of calling the next responder explicitly, we can just call super, which will take care of this.
2007-10-27 Mark Ambachtsheer <mark.a@apple.com>
Reviewed by Darin Adler.
Fix for bug 15710, When QD plugins draw to an offscreen bitmap and the plugin is not at
(0, 0) the clipping rectangle is not correct.
Added the origin to the window clip rectangle coordinates to account for plugins that
don't originate at (0,0); affects code for offscreen GWorlds only.
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
2007-10-26 Adele Peterson <adele@apple.com>
Reviewed by Oliver.
Adding WebKitSystemInterface support for the caps lock indicator
* WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
2007-10-25 David Hyatt <hyatt@apple.com>
Fix for bug 15672, backgrounds don't tile properly inside transforms. This patch fixes tiling
of backgrounds inside CSS transforms and also of HTML content with background images inside SVG
transforms.
Reviewed by aroben and mmitz
* WebCoreSupport/WebSystemInterface.m:
(InitWebCoreSystemInterface):
* WebKit.xcodeproj/project.pbxproj:
2007-10-25 John Sullivan <sullivan@apple.com>
Reviewed by Tim Hatcher
Removed the support for toggling whether WebKit uses the 10.5 PDFKit improvements. Now it
always does, when available.
* WebView/WebPreferencesPrivate.h:
removed _usePDFPreviewView and _setUsePDFPreviewView:. Note that these were guarded with
a comment that says that they can be removed when no longer needed. That time is now.
* WebView/WebPreferences.m:
(+[WebPreferences initialize]):
removed WebKitUsePDFPreviewViewPreferenceKey
(-[WebPreferences _usePDFPreviewView]):
removed
(-[WebPreferences _setUsePDFPreviewView:]):
removed
* WebView/WebPDFView.mm:
(-[WebPDFView initWithFrame:]):
don't check _usePDFPreviewView
* WebView/WebPreferenceKeysPrivate.h:
removed WebKitUsePDFPreviewViewPreferenceKey
2007-10-24 Timothy Hatcher <timothy@apple.com>
Reviewed by Mark Rowe.
<rdar://problem/5069711> OpenSource version of libWebKitSystemInterface.a is Tiger only, causes issues if used on Leopard
Use the WebKitSystemInterface that matches the system version.
* Configurations/DebugRelease.xcconfig:
* WebKit.xcodeproj/project.pbxproj:
2007-10-24 Brady Eidson <beidson@apple.com>
Reviewed by Anders
<rdar://problem/5554130> DatabaseTracker.o has a global initializer
* Misc/WebDatabaseManager.mm:
(WebKitSetWebDatabasesPathIfNecessary): Call the member function instead of a static one
2007-10-23 Mark Rowe <mrowe@apple.com>
Build fix for Eric's build fix in r26916.
* MigrateHeaders.make:
2007-10-22 Eric Seidel <eric@webkit.org>
Reviewed by Maciej.
* MigrateHeaders.make: copy over font-face related DOM headers
2007-10-22 Andrew Wellington <proton@wiretapped.net>
Reviewed by Mark Rowe.
Fix for local database support after r26879
Ensure that ENABLE_DATABASE and ENABLE_ICONDATABASE are correctly set
* Configurations/WebKit.xcconfig:
2007-10-19 Brady Eidson <beidson@apple.com>
Reviewed by Tim Hatcher
Added support for Chrome prompts required by the Storage API
Added support API for future managing of databases from the WebKit client
Added preference and initialization for the databases path
* Misc/WebDatabaseManager.h: Added. WebDatabaseManager is how a WebKit application can list and
remove the current available databases
* Misc/WebDatabaseManager.mm: Added.
(+[WebDatabaseManager origins]):
(+[WebDatabaseManager databasesWithOrigin:]):
(+[WebDatabaseManager deleteAllDatabases]):
(+[WebDatabaseManager deleteAllDatabasesWithOrigin:]):
(+[WebDatabaseManager deleteDatabaseWithOrigin:named:]):
(WebKitSetWebDatabasesPathIfNecessary): Setup the database path
* Misc/WebDatabaseManagerPrivate.h: Added.
* WebCoreSupport/WebChromeClient.h: Support for calling the delegate to run the prompt for
an origin exceeding its size limit
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::runDatabaseSizeLimitPrompt):
* WebKit.xcodeproj/project.pbxproj:
* WebView/WebUIDelegate.h:
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]): Setup the database path
* WebView/WebViewInternal.h:
2007-10-19 John Sullivan <sullivan@apple.com>
Reviewed by Tim Hatcher
- fixed <rdar://problem/5540325> REGRESSION (2.0.4-3): History menu looks odd after clearing history
* History/WebHistory.mm:
(-[WebHistoryPrivate removeAllItems]):
This was fallout from r25275. We need to clear the orderedLastVisitedDays cache here, in addition
to the other places where it's cleared.
2007-10-18 Dan Bernstein <mitz@apple.com>
Tiger build fix.
* WebView/WebDataSource.mm:
(-[WebDataSource _MIMETypeOfResponse:]):
2007-10-18 Dan Bernstein <mitz@apple.com>
Reviewed by Adam Roben.
- fix <rdar://problem/5313523>
REGRESSION(Leopard): http/tests/incremental/slow-utf8-text.pl fails on Leopard
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::makeDocumentView): Changed to use _responseMIMEType.
* WebView/WebDataSource.mm:
(-[WebDataSource _MIMETypeOfResponse:]): Added. Works around
<rdar://problem/5321972> by testing for the case of an NSHTTPURLResponse
with a MIMEType of application/octet-stream and a Content-Type header
starting with text/plain and returning text/plain as the MIME type in
that case.
(-[WebDataSource _responseMIMEType]): Added. Used to get the correct
response MIME type.
(-[WebDataSource _isDocumentHTML]): Changed to use _responseMIMEType.
(-[WebDataSource _makeRepresentation]): Ditto.
(-[WebDataSource mainResource]): Ditto.
(-[WebDataSource subresources]): Changed to use _MIMETypeOfResponse and
pass the MIME type explicitly.
(-[WebDataSource subresourceForURL:]): Ditto.
* WebView/WebDataSourcePrivate.h:
* WebView/WebFrameView.mm:
(-[WebFrameView _makeDocumentViewForDataSource:]): Changed to use
_responseMIMEType.
* WebView/WebResource.mm:
(-[WebResource _initWithData:URL:response:MIMEType:]): Changed this
method to take a MIME type instead of extracting it from the response,
so that WebDataSource could pass the correct MIME type.
* WebView/WebResourcePrivate.h:
2007-10-17 Darin Adler <darin@apple.com>
Reviewed by Mark Rowe.
- fix <rdar://problem/5183775> Uninitialized memory in -[WebDynamicScrollBarsView updateScrollers]
* WebView/WebDynamicScrollBarsView.m: (-[WebDynamicScrollBarsView updateScrollers]):
Change code path so it doesn't dispatch a method that returns an NSSize passing a nil object.
It's safe to do that for functions that return integers or pointers, but not structures.
2007-10-16 David Kilzer <ddkilzer@apple.com>
Reviewed by Timothy.
<rdar://problem/5544354> Wrong delegate method called in
WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad()
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad): Fixed selector name.
2007-10-16 Darin Adler <darin@apple.com>
Reviewed by Adele.
- moved transpose command implementation into WebCore
* WebView/WebHTMLView.mm: Removed transpose: and replaced it with standard WebCore forwarding.
2007-10-16 Darin Adler <darin@apple.com>
Reviewed by Maciej and Geoff (and looked over by Eric).
- http://bugs.webkit.org/show_bug.cgi?id=15519
eliminate use of <ctype.h> for processing ASCII
* ForwardingHeaders/wtf/ASCIICType.h: Added.
* ForwardingHeaders/wtf/DisallowCType.h: Added.
* WebKitPrefix.h: Include DisallowCType.h.
* Misc/WebNSURLExtras.mm: (-[NSURL _web_URLWithLowercasedScheme]): Use toASCIILower.
* WebView/WebHTMLView.mm:
(-[WebHTMLView callWebCoreCommand:]): Use toASCIIUpper.
(-[WebTextCompleteController filterKeyDown:]): Add a list of specific character codes,
instead of using ispunct.
2007-10-16 John Sullivan <sullivan@apple.com>
Reviewed by Adam Roben
Cleaned up localizable strings
* English.lproj/Localizable.strings:
updated
* StringsNotToBeLocalized.txt:
updated
* WebKit.xcodeproj/project.pbxproj:
StringsNotToBeLocalized.txt recently moved but project file wasn't updated to match; now it is
2007-10-15 Kevin Decker <kdecker@apple.com>
Reviewed by Darin Adler.
Fixed: <rdar://problem/5520541> REGRESSION: Broken image when forwarding certain email on Tiger
* WebCoreSupport/WebFrameBridge.mm: The problem was that we were loading Mail's WebKit plug-in
too soon, which borked some necessary housekeeping on behalf of Mail. The fix is to add a quirk
that treats Tiger Mail's WebKit plug-in like a Netscape plug-in, thus ensuring the plug-in will
load during first layout and not attach time. For this plug-in, loading at first layout is
expected and is consistent with Safari 2 behavior.
2007-10-15 John Sullivan <sullivan@apple.com>
Reviewed by Geoff Garen
Replaced NS_DURING/NS_HANDLER with @try/@catch throughout WebKit
I made the following changes:
- replaced NS_DURING with @try, and added opening brace if there wasn't one
- replaced NS_HANDLER with @catch (NSException *localException), and added braces if there weren't any
- removed NS_ENDHANDLER, and added a closing brace if there wasn't one
- in a couple of places, fixed indentation therein
* Misc/WebIconDatabase.mm:
(objectFromPathForKey):
* WebView/WebHTMLView.mm:
(-[WebHTMLView drawSingleRect:]):
(-[WebHTMLView beginDocument]):
(-[WebHTMLView deleteToMark:]):
* WebView/WebView.mm:
(-[WebView initWithCoder:]):
== Rolled over to ChangeLog-2007-10-14 ==
|