summaryrefslogtreecommitdiffstats
path: root/Source/WebKit/mac/ChangeLog-2006-02-09
blob: c91ea5f3f9261f7094606689a35d702406ca6381 (plain)
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
23231
23232
23233
23234
23235
23236
23237
23238
23239
23240
23241
23242
23243
23244
23245
23246
23247
23248
23249
23250
23251
23252
23253
23254
23255
23256
23257
23258
23259
23260
23261
23262
23263
23264
23265
23266
23267
23268
23269
23270
23271
23272
23273
23274
23275
23276
23277
23278
23279
23280
23281
23282
23283
23284
23285
23286
23287
23288
23289
23290
23291
23292
23293
23294
23295
23296
23297
23298
23299
23300
23301
23302
23303
23304
23305
23306
23307
23308
23309
23310
23311
23312
23313
23314
23315
23316
23317
23318
23319
23320
23321
23322
23323
23324
23325
23326
23327
23328
23329
23330
23331
23332
23333
23334
23335
23336
23337
23338
23339
23340
23341
23342
23343
23344
23345
23346
23347
23348
23349
23350
23351
23352
23353
23354
23355
23356
23357
23358
23359
23360
23361
23362
23363
23364
23365
23366
23367
23368
23369
23370
23371
23372
23373
23374
23375
23376
23377
23378
23379
23380
23381
23382
23383
23384
23385
23386
23387
23388
23389
23390
23391
23392
23393
23394
23395
23396
23397
23398
23399
23400
23401
23402
23403
23404
23405
23406
23407
23408
23409
23410
23411
23412
23413
23414
23415
23416
23417
23418
23419
23420
23421
23422
23423
23424
23425
23426
23427
23428
23429
23430
23431
23432
23433
23434
23435
23436
23437
23438
23439
23440
23441
23442
23443
23444
23445
23446
23447
23448
23449
23450
23451
23452
23453
23454
23455
23456
23457
23458
23459
23460
23461
23462
23463
23464
23465
23466
23467
23468
23469
23470
23471
23472
23473
23474
23475
23476
23477
23478
23479
23480
23481
23482
23483
23484
23485
23486
23487
23488
23489
23490
23491
23492
23493
23494
23495
23496
23497
23498
23499
23500
23501
23502
23503
23504
23505
23506
23507
23508
23509
23510
23511
23512
23513
23514
23515
23516
23517
23518
23519
23520
23521
23522
23523
23524
23525
23526
23527
23528
23529
23530
23531
23532
23533
23534
23535
23536
23537
23538
23539
23540
23541
23542
23543
23544
23545
23546
23547
23548
23549
23550
23551
23552
23553
23554
23555
23556
23557
23558
23559
23560
23561
23562
23563
23564
23565
23566
23567
23568
23569
23570
23571
23572
23573
23574
23575
23576
23577
23578
23579
23580
23581
23582
23583
23584
23585
23586
23587
23588
23589
23590
23591
23592
23593
23594
23595
23596
23597
23598
23599
23600
23601
23602
23603
23604
23605
23606
23607
23608
23609
23610
23611
23612
23613
23614
23615
23616
23617
23618
23619
23620
23621
23622
23623
23624
23625
23626
23627
23628
23629
23630
23631
23632
23633
23634
23635
23636
23637
23638
23639
23640
23641
23642
23643
23644
23645
23646
23647
23648
23649
23650
23651
23652
23653
23654
23655
23656
23657
23658
23659
23660
23661
23662
23663
23664
23665
23666
23667
23668
23669
23670
23671
23672
23673
23674
23675
23676
23677
23678
23679
23680
23681
23682
23683
23684
23685
23686
23687
23688
23689
23690
23691
23692
23693
23694
23695
23696
23697
23698
23699
23700
23701
23702
23703
23704
23705
23706
23707
23708
23709
23710
23711
23712
23713
23714
23715
23716
23717
23718
23719
23720
23721
23722
23723
23724
23725
23726
23727
23728
23729
23730
23731
23732
23733
23734
23735
23736
23737
23738
23739
23740
23741
23742
23743
23744
23745
23746
23747
23748
23749
23750
23751
23752
23753
23754
23755
23756
23757
23758
23759
23760
23761
23762
23763
23764
23765
23766
23767
23768
23769
23770
23771
23772
23773
23774
23775
23776
23777
23778
23779
23780
23781
23782
23783
23784
23785
23786
23787
23788
23789
23790
23791
23792
23793
23794
23795
23796
23797
23798
23799
23800
23801
23802
23803
23804
23805
23806
23807
23808
23809
23810
23811
23812
23813
23814
23815
23816
23817
23818
23819
23820
23821
23822
23823
23824
23825
23826
23827
23828
23829
23830
23831
23832
23833
23834
23835
23836
23837
23838
23839
23840
23841
23842
23843
23844
23845
23846
23847
23848
23849
23850
23851
23852
23853
23854
23855
23856
23857
23858
23859
23860
23861
23862
23863
23864
23865
23866
23867
23868
23869
23870
23871
23872
23873
23874
23875
23876
23877
23878
23879
23880
23881
23882
23883
23884
23885
23886
23887
23888
23889
23890
23891
23892
23893
23894
23895
23896
23897
23898
23899
23900
23901
23902
23903
23904
23905
23906
23907
23908
23909
23910
23911
23912
23913
23914
23915
23916
23917
23918
23919
23920
23921
23922
23923
23924
23925
23926
23927
23928
23929
23930
23931
23932
23933
23934
23935
23936
23937
23938
23939
23940
23941
23942
23943
23944
23945
23946
23947
23948
23949
23950
23951
23952
23953
23954
23955
23956
23957
23958
23959
23960
23961
23962
23963
23964
23965
23966
23967
23968
23969
23970
23971
23972
23973
23974
23975
23976
23977
23978
23979
23980
23981
23982
23983
23984
23985
23986
23987
23988
23989
23990
23991
23992
23993
23994
23995
23996
23997
23998
23999
24000
24001
24002
24003
24004
24005
24006
24007
24008
24009
24010
24011
24012
24013
24014
24015
24016
24017
24018
24019
24020
24021
24022
24023
24024
24025
24026
24027
24028
24029
24030
24031
24032
24033
24034
24035
24036
24037
24038
24039
24040
24041
24042
24043
24044
24045
24046
24047
24048
24049
24050
24051
24052
24053
24054
24055
24056
24057
24058
24059
24060
24061
24062
24063
24064
24065
24066
24067
24068
24069
24070
24071
24072
24073
24074
24075
24076
24077
24078
24079
24080
24081
24082
24083
24084
24085
24086
24087
24088
24089
24090
24091
24092
24093
24094
24095
24096
24097
24098
24099
24100
24101
24102
24103
24104
24105
24106
24107
24108
24109
24110
24111
24112
24113
24114
24115
24116
24117
24118
24119
24120
24121
24122
24123
24124
24125
24126
24127
24128
24129
24130
24131
24132
24133
24134
24135
24136
24137
24138
24139
24140
24141
24142
24143
24144
24145
24146
24147
24148
24149
24150
24151
24152
24153
24154
24155
24156
24157
24158
24159
24160
24161
24162
24163
24164
24165
24166
24167
24168
24169
24170
24171
24172
24173
24174
24175
24176
24177
24178
24179
24180
24181
24182
24183
24184
24185
24186
24187
24188
24189
24190
24191
24192
24193
24194
24195
24196
24197
24198
24199
24200
24201
24202
24203
24204
24205
24206
24207
24208
24209
24210
24211
24212
24213
24214
24215
24216
24217
24218
24219
24220
24221
24222
24223
24224
24225
24226
24227
24228
24229
24230
24231
24232
24233
24234
24235
24236
24237
24238
24239
24240
24241
24242
24243
24244
24245
24246
24247
24248
24249
24250
24251
24252
24253
24254
24255
24256
24257
24258
24259
24260
24261
24262
24263
24264
24265
24266
24267
24268
24269
24270
24271
24272
24273
24274
24275
24276
24277
24278
24279
24280
24281
24282
24283
24284
24285
24286
24287
24288
24289
24290
24291
24292
24293
24294
24295
24296
24297
24298
24299
24300
24301
24302
24303
24304
24305
24306
24307
24308
24309
24310
24311
24312
24313
24314
24315
24316
24317
24318
24319
24320
24321
24322
24323
24324
24325
24326
24327
24328
24329
24330
24331
24332
24333
24334
24335
24336
24337
24338
24339
24340
24341
24342
24343
24344
24345
24346
24347
24348
24349
24350
24351
24352
24353
24354
24355
24356
24357
24358
24359
24360
24361
24362
24363
24364
24365
24366
24367
24368
24369
24370
24371
24372
24373
24374
24375
24376
24377
24378
24379
24380
24381
24382
24383
24384
24385
24386
24387
24388
24389
24390
24391
24392
24393
24394
24395
24396
24397
24398
24399
24400
24401
24402
24403
24404
24405
24406
24407
24408
24409
24410
24411
24412
24413
24414
24415
24416
24417
24418
24419
24420
24421
24422
24423
24424
24425
24426
24427
24428
24429
24430
24431
24432
24433
24434
24435
24436
24437
24438
24439
24440
24441
24442
24443
24444
24445
24446
24447
24448
24449
24450
24451
24452
24453
24454
24455
24456
24457
24458
24459
24460
24461
24462
24463
24464
24465
24466
24467
24468
24469
24470
24471
24472
24473
24474
24475
24476
24477
24478
24479
24480
24481
24482
24483
24484
24485
24486
24487
24488
24489
24490
24491
24492
24493
24494
24495
24496
24497
24498
24499
24500
24501
24502
24503
24504
24505
24506
24507
24508
24509
24510
24511
24512
24513
24514
24515
24516
24517
24518
24519
24520
24521
24522
24523
24524
24525
24526
24527
24528
24529
24530
24531
24532
24533
24534
24535
24536
24537
24538
24539
24540
24541
24542
24543
24544
24545
24546
24547
24548
24549
24550
24551
24552
24553
24554
24555
24556
24557
24558
24559
24560
24561
24562
24563
24564
24565
24566
24567
24568
24569
24570
24571
24572
24573
24574
24575
24576
24577
24578
24579
24580
24581
24582
24583
24584
24585
24586
24587
24588
24589
24590
24591
24592
24593
24594
24595
24596
24597
24598
24599
24600
24601
24602
24603
24604
24605
24606
24607
24608
24609
24610
24611
24612
24613
24614
24615
24616
24617
24618
24619
24620
24621
24622
24623
24624
24625
24626
24627
24628
24629
24630
24631
24632
24633
24634
24635
24636
24637
24638
24639
24640
24641
24642
24643
24644
24645
24646
24647
24648
24649
24650
24651
24652
24653
24654
24655
24656
24657
24658
24659
24660
24661
24662
24663
24664
24665
24666
24667
24668
24669
24670
24671
24672
24673
24674
24675
24676
24677
24678
24679
24680
24681
24682
24683
24684
24685
24686
24687
24688
24689
24690
24691
24692
24693
24694
24695
24696
24697
24698
24699
24700
24701
24702
24703
24704
24705
24706
24707
24708
24709
24710
24711
24712
24713
24714
24715
24716
24717
24718
24719
24720
24721
24722
24723
24724
24725
24726
24727
24728
24729
24730
24731
24732
24733
24734
24735
24736
24737
24738
24739
24740
24741
24742
24743
24744
24745
24746
24747
24748
24749
24750
24751
24752
24753
24754
24755
24756
24757
24758
24759
24760
24761
24762
24763
24764
24765
24766
24767
24768
24769
24770
24771
24772
24773
24774
24775
24776
24777
24778
24779
24780
24781
24782
24783
24784
24785
24786
24787
24788
24789
24790
24791
24792
24793
24794
24795
24796
24797
24798
24799
24800
24801
24802
24803
24804
24805
24806
24807
24808
24809
24810
24811
24812
24813
24814
24815
24816
24817
24818
24819
24820
24821
24822
24823
24824
24825
24826
24827
24828
24829
24830
24831
24832
24833
24834
24835
24836
24837
24838
24839
24840
24841
24842
24843
24844
24845
24846
24847
24848
24849
24850
24851
24852
24853
24854
24855
24856
24857
24858
24859
24860
24861
24862
24863
24864
24865
24866
24867
24868
24869
24870
24871
24872
24873
24874
24875
24876
24877
24878
24879
24880
24881
24882
24883
24884
24885
24886
24887
24888
24889
24890
24891
24892
24893
24894
24895
24896
24897
24898
24899
24900
24901
24902
24903
24904
24905
24906
24907
24908
24909
24910
24911
24912
24913
24914
24915
24916
24917
24918
24919
24920
24921
24922
24923
24924
24925
24926
24927
24928
24929
24930
24931
24932
24933
24934
24935
24936
24937
24938
24939
24940
24941
24942
24943
24944
24945
24946
24947
24948
24949
24950
24951
24952
24953
24954
24955
24956
24957
24958
24959
24960
24961
24962
24963
24964
24965
24966
24967
24968
24969
24970
24971
24972
24973
24974
24975
24976
24977
24978
24979
24980
24981
24982
24983
24984
24985
24986
24987
24988
24989
24990
24991
24992
24993
24994
24995
24996
24997
24998
24999
25000
25001
25002
25003
25004
25005
25006
25007
25008
25009
25010
25011
25012
25013
25014
25015
25016
25017
25018
25019
25020
25021
25022
25023
25024
25025
25026
25027
25028
25029
25030
25031
25032
25033
25034
25035
25036
25037
25038
25039
25040
25041
25042
25043
25044
25045
25046
25047
25048
25049
25050
25051
25052
25053
25054
25055
25056
25057
25058
25059
25060
25061
25062
25063
25064
25065
25066
25067
25068
25069
25070
25071
25072
25073
25074
25075
25076
25077
25078
25079
25080
25081
25082
25083
25084
25085
25086
25087
25088
25089
25090
25091
25092
25093
25094
25095
25096
25097
25098
25099
25100
25101
25102
25103
25104
25105
25106
25107
25108
25109
25110
25111
25112
25113
25114
25115
25116
25117
25118
25119
25120
25121
25122
25123
25124
25125
25126
25127
25128
25129
25130
25131
25132
25133
25134
25135
25136
25137
25138
25139
25140
25141
25142
25143
25144
25145
25146
25147
25148
25149
25150
25151
25152
25153
25154
25155
25156
25157
25158
25159
25160
25161
25162
25163
25164
25165
25166
25167
25168
25169
25170
25171
25172
25173
25174
25175
25176
25177
25178
25179
25180
25181
25182
25183
25184
25185
25186
25187
25188
25189
25190
25191
25192
25193
25194
25195
25196
25197
25198
25199
25200
25201
25202
25203
25204
25205
25206
25207
25208
25209
25210
25211
25212
25213
25214
25215
25216
25217
25218
25219
25220
25221
25222
25223
25224
25225
25226
25227
25228
25229
25230
25231
25232
25233
25234
25235
25236
25237
25238
25239
25240
25241
25242
25243
25244
25245
25246
25247
25248
25249
25250
25251
25252
25253
25254
25255
25256
25257
25258
25259
25260
25261
25262
25263
25264
25265
25266
25267
25268
25269
25270
25271
25272
25273
25274
25275
25276
25277
25278
25279
25280
25281
25282
25283
25284
25285
25286
25287
25288
25289
25290
25291
25292
25293
25294
25295
25296
25297
25298
25299
25300
25301
25302
25303
25304
25305
25306
25307
25308
25309
25310
25311
25312
25313
25314
25315
25316
25317
25318
25319
25320
25321
25322
25323
25324
25325
25326
25327
25328
25329
25330
25331
25332
25333
25334
25335
25336
25337
25338
25339
25340
25341
25342
25343
25344
25345
25346
25347
25348
25349
25350
25351
25352
25353
25354
25355
25356
25357
25358
25359
25360
25361
25362
25363
25364
25365
25366
25367
25368
25369
25370
25371
25372
25373
25374
25375
25376
25377
25378
25379
25380
25381
25382
25383
25384
25385
25386
25387
25388
25389
25390
25391
25392
25393
25394
25395
25396
25397
25398
25399
25400
25401
25402
25403
25404
25405
25406
25407
25408
25409
25410
25411
25412
25413
25414
25415
25416
25417
25418
25419
25420
25421
25422
25423
25424
25425
25426
25427
25428
25429
25430
25431
25432
25433
25434
25435
25436
25437
25438
25439
25440
25441
25442
25443
25444
25445
25446
25447
25448
25449
25450
25451
25452
25453
25454
25455
25456
25457
25458
25459
25460
25461
25462
25463
25464
25465
25466
25467
25468
25469
25470
25471
25472
25473
25474
25475
25476
25477
25478
25479
25480
25481
25482
25483
25484
25485
25486
25487
25488
25489
25490
25491
25492
25493
25494
25495
25496
25497
25498
25499
25500
25501
25502
25503
25504
25505
25506
25507
25508
25509
25510
25511
25512
25513
25514
25515
25516
25517
25518
25519
25520
25521
25522
25523
25524
25525
25526
25527
25528
25529
25530
25531
25532
25533
25534
25535
25536
25537
25538
25539
25540
25541
25542
25543
25544
25545
25546
25547
25548
25549
25550
25551
25552
25553
25554
25555
25556
25557
25558
25559
25560
25561
25562
25563
25564
25565
25566
25567
25568
25569
25570
25571
25572
25573
25574
25575
25576
25577
25578
25579
25580
25581
25582
25583
25584
25585
25586
25587
25588
25589
25590
25591
25592
25593
25594
25595
25596
25597
25598
25599
25600
25601
25602
25603
25604
25605
25606
25607
25608
25609
25610
25611
25612
25613
25614
25615
25616
25617
25618
25619
25620
25621
25622
25623
25624
25625
25626
25627
25628
25629
25630
25631
25632
25633
25634
25635
25636
25637
25638
25639
25640
25641
25642
25643
25644
25645
25646
25647
25648
25649
25650
25651
25652
25653
25654
25655
25656
25657
25658
25659
25660
25661
25662
25663
25664
25665
25666
25667
25668
25669
25670
25671
25672
25673
25674
25675
25676
25677
25678
25679
25680
25681
25682
25683
25684
25685
25686
25687
25688
25689
25690
25691
25692
25693
25694
25695
25696
25697
25698
25699
25700
25701
25702
25703
25704
25705
25706
25707
25708
25709
25710
25711
25712
25713
25714
25715
25716
25717
25718
25719
25720
25721
25722
25723
25724
25725
25726
25727
25728
25729
25730
25731
25732
25733
25734
25735
25736
25737
25738
25739
25740
25741
25742
25743
25744
25745
25746
25747
25748
25749
25750
25751
25752
25753
25754
25755
25756
25757
25758
25759
25760
25761
25762
25763
25764
25765
25766
25767
25768
25769
25770
25771
25772
25773
25774
25775
25776
25777
25778
25779
25780
25781
25782
25783
25784
25785
25786
25787
25788
25789
25790
25791
25792
25793
25794
25795
25796
25797
25798
25799
25800
25801
25802
25803
25804
25805
25806
25807
25808
25809
25810
25811
25812
25813
25814
25815
25816
25817
25818
25819
25820
25821
25822
25823
25824
25825
25826
25827
25828
25829
25830
25831
25832
25833
25834
25835
25836
25837
25838
25839
25840
25841
25842
25843
25844
25845
25846
25847
25848
25849
25850
25851
25852
25853
25854
25855
25856
25857
25858
25859
25860
25861
25862
25863
25864
25865
25866
25867
25868
25869
25870
25871
25872
25873
25874
25875
25876
25877
25878
25879
25880
25881
25882
25883
25884
25885
25886
25887
25888
25889
25890
25891
25892
25893
25894
25895
25896
25897
25898
25899
25900
25901
25902
25903
25904
25905
25906
25907
25908
25909
25910
25911
25912
25913
25914
25915
25916
25917
25918
25919
25920
25921
25922
25923
25924
25925
25926
25927
25928
25929
25930
25931
25932
25933
25934
25935
25936
25937
25938
25939
25940
25941
25942
25943
25944
25945
25946
25947
25948
25949
25950
25951
25952
25953
25954
25955
25956
25957
25958
25959
25960
25961
25962
25963
25964
25965
25966
25967
25968
25969
25970
25971
25972
25973
25974
25975
25976
25977
25978
25979
25980
25981
25982
25983
25984
25985
25986
25987
25988
25989
25990
25991
25992
25993
25994
25995
25996
25997
25998
25999
26000
26001
26002
26003
26004
26005
26006
26007
26008
26009
26010
26011
26012
26013
26014
26015
26016
26017
26018
26019
26020
26021
26022
26023
26024
26025
26026
26027
26028
26029
26030
26031
26032
26033
26034
26035
26036
26037
26038
26039
26040
26041
26042
26043
26044
26045
26046
26047
26048
26049
26050
26051
26052
26053
26054
26055
26056
26057
26058
26059
26060
26061
26062
26063
26064
26065
26066
26067
26068
26069
26070
26071
26072
26073
26074
26075
26076
26077
26078
26079
26080
26081
26082
26083
26084
26085
26086
26087
26088
26089
26090
26091
26092
26093
26094
26095
26096
26097
26098
26099
26100
26101
26102
26103
26104
26105
26106
26107
26108
26109
26110
26111
26112
26113
26114
26115
26116
26117
26118
26119
26120
26121
26122
26123
26124
26125
26126
26127
26128
26129
26130
26131
26132
26133
26134
26135
26136
26137
26138
26139
26140
26141
26142
26143
26144
26145
26146
26147
26148
26149
26150
26151
26152
26153
26154
26155
26156
26157
26158
26159
26160
26161
26162
26163
26164
26165
26166
26167
26168
26169
26170
26171
26172
26173
26174
26175
26176
26177
26178
26179
26180
26181
26182
26183
26184
26185
26186
26187
26188
26189
26190
26191
26192
26193
26194
26195
26196
26197
26198
26199
26200
26201
26202
26203
26204
26205
26206
26207
26208
26209
26210
26211
26212
26213
26214
26215
26216
26217
26218
26219
26220
26221
26222
26223
26224
26225
26226
26227
26228
26229
26230
26231
26232
26233
26234
26235
26236
26237
26238
26239
26240
26241
26242
26243
26244
26245
26246
26247
26248
26249
26250
26251
26252
26253
26254
26255
26256
26257
26258
26259
26260
26261
26262
26263
26264
26265
26266
26267
26268
26269
26270
26271
26272
26273
26274
26275
26276
26277
26278
26279
26280
26281
26282
26283
26284
26285
26286
26287
26288
26289
26290
26291
26292
26293
26294
26295
26296
26297
26298
26299
26300
26301
26302
26303
26304
26305
26306
26307
26308
26309
26310
26311
26312
26313
26314
26315
26316
26317
26318
26319
26320
26321
26322
26323
26324
26325
26326
26327
26328
26329
26330
26331
26332
26333
26334
26335
26336
26337
26338
26339
26340
26341
26342
26343
26344
26345
26346
26347
26348
26349
26350
26351
26352
26353
26354
26355
26356
26357
26358
26359
26360
26361
26362
26363
26364
26365
26366
26367
26368
26369
26370
26371
26372
26373
26374
26375
26376
26377
26378
26379
26380
26381
26382
26383
26384
26385
26386
26387
26388
26389
26390
26391
26392
26393
26394
26395
26396
26397
26398
26399
26400
26401
26402
26403
26404
26405
26406
26407
26408
26409
26410
26411
26412
26413
26414
26415
26416
26417
26418
26419
26420
26421
26422
26423
26424
26425
26426
26427
26428
26429
26430
26431
26432
26433
26434
26435
26436
26437
26438
26439
26440
26441
26442
26443
26444
26445
26446
26447
26448
26449
26450
26451
26452
26453
26454
26455
26456
26457
26458
26459
26460
26461
26462
26463
26464
26465
26466
26467
26468
26469
26470
26471
26472
26473
26474
26475
26476
26477
26478
26479
26480
26481
26482
26483
26484
26485
26486
26487
26488
26489
26490
26491
26492
26493
26494
26495
26496
26497
26498
26499
26500
26501
26502
26503
26504
26505
26506
26507
26508
26509
26510
26511
26512
26513
26514
26515
26516
26517
26518
26519
26520
26521
26522
26523
26524
26525
26526
26527
26528
26529
26530
26531
26532
26533
26534
26535
26536
26537
26538
26539
26540
26541
26542
26543
26544
26545
26546
26547
26548
26549
26550
26551
26552
26553
26554
26555
26556
26557
26558
26559
26560
26561
26562
26563
26564
26565
26566
26567
26568
26569
26570
26571
26572
26573
26574
26575
26576
26577
26578
26579
26580
26581
26582
26583
26584
26585
26586
26587
26588
26589
26590
26591
26592
26593
26594
26595
26596
26597
26598
26599
26600
26601
26602
26603
26604
26605
26606
26607
26608
26609
26610
26611
26612
26613
26614
26615
26616
26617
26618
26619
26620
26621
26622
26623
26624
26625
26626
26627
26628
26629
26630
26631
26632
26633
26634
26635
26636
26637
26638
26639
26640
26641
26642
26643
26644
26645
26646
26647
26648
26649
26650
26651
26652
26653
26654
26655
26656
26657
26658
26659
26660
26661
26662
26663
26664
26665
26666
26667
26668
26669
26670
26671
26672
26673
26674
26675
26676
26677
26678
26679
26680
26681
26682
26683
26684
26685
26686
26687
26688
26689
26690
26691
26692
26693
26694
26695
26696
26697
26698
26699
26700
26701
26702
26703
26704
26705
26706
26707
26708
26709
26710
26711
26712
26713
26714
26715
26716
26717
26718
26719
26720
26721
26722
26723
26724
26725
26726
26727
26728
26729
26730
26731
26732
26733
26734
26735
26736
26737
26738
26739
26740
26741
26742
26743
26744
26745
26746
26747
26748
26749
26750
26751
26752
26753
26754
26755
26756
26757
26758
26759
26760
26761
26762
26763
26764
26765
26766
26767
26768
26769
26770
26771
26772
26773
26774
26775
26776
26777
26778
26779
26780
26781
26782
26783
26784
26785
26786
26787
26788
26789
26790
26791
26792
26793
26794
26795
26796
26797
26798
26799
26800
26801
26802
26803
26804
26805
26806
26807
26808
26809
26810
26811
26812
26813
26814
26815
26816
26817
26818
26819
26820
26821
26822
26823
26824
26825
26826
26827
26828
26829
26830
26831
26832
26833
26834
26835
26836
26837
26838
26839
26840
26841
26842
26843
26844
26845
26846
26847
26848
26849
26850
26851
26852
26853
26854
26855
26856
26857
26858
26859
26860
26861
26862
26863
26864
26865
26866
26867
26868
26869
26870
26871
26872
26873
26874
26875
26876
26877
26878
26879
26880
26881
26882
26883
26884
26885
26886
26887
26888
26889
26890
26891
26892
26893
26894
26895
26896
26897
26898
26899
26900
26901
26902
26903
26904
26905
26906
26907
26908
26909
26910
26911
26912
26913
26914
26915
26916
26917
26918
26919
26920
26921
26922
26923
26924
26925
26926
26927
26928
26929
26930
26931
26932
26933
26934
26935
26936
26937
26938
26939
26940
26941
26942
26943
26944
26945
26946
26947
26948
26949
26950
26951
26952
26953
26954
26955
26956
26957
26958
26959
26960
26961
26962
26963
26964
26965
26966
26967
26968
26969
26970
26971
26972
26973
26974
26975
26976
26977
26978
26979
26980
26981
26982
26983
26984
26985
26986
26987
26988
26989
26990
26991
26992
26993
26994
26995
26996
26997
26998
26999
27000
27001
27002
27003
27004
27005
27006
27007
27008
27009
27010
27011
27012
27013
27014
27015
27016
27017
27018
27019
27020
27021
27022
27023
27024
27025
27026
27027
27028
27029
27030
27031
27032
27033
27034
27035
27036
27037
27038
27039
27040
27041
27042
27043
27044
27045
27046
27047
27048
27049
27050
27051
27052
27053
27054
27055
27056
27057
27058
27059
27060
27061
27062
27063
27064
27065
27066
27067
27068
27069
27070
27071
27072
27073
27074
27075
27076
27077
27078
27079
27080
27081
27082
27083
27084
27085
27086
27087
27088
27089
27090
27091
27092
27093
27094
27095
27096
27097
27098
27099
27100
27101
27102
27103
27104
27105
27106
27107
27108
27109
27110
27111
27112
27113
27114
27115
27116
27117
27118
27119
27120
27121
27122
27123
27124
27125
27126
27127
27128
27129
27130
27131
27132
27133
27134
27135
27136
27137
27138
27139
27140
27141
27142
27143
27144
27145
27146
27147
27148
27149
27150
27151
27152
27153
27154
27155
27156
27157
27158
27159
27160
27161
27162
27163
27164
27165
27166
27167
27168
27169
27170
27171
27172
27173
27174
27175
27176
27177
27178
27179
27180
27181
27182
27183
27184
27185
27186
27187
27188
27189
27190
27191
27192
27193
27194
27195
27196
27197
27198
27199
27200
27201
27202
27203
27204
27205
27206
27207
27208
27209
27210
27211
27212
27213
27214
27215
27216
27217
27218
27219
27220
27221
27222
27223
27224
27225
27226
27227
27228
27229
27230
27231
27232
27233
27234
27235
27236
27237
27238
27239
27240
27241
27242
27243
27244
27245
27246
27247
27248
27249
27250
27251
27252
27253
27254
27255
27256
27257
27258
27259
27260
27261
27262
27263
27264
27265
27266
27267
27268
27269
27270
27271
27272
27273
27274
27275
27276
27277
27278
27279
27280
27281
27282
27283
27284
27285
27286
27287
27288
27289
27290
27291
27292
27293
27294
27295
27296
27297
27298
27299
27300
27301
27302
27303
27304
27305
27306
27307
27308
27309
27310
27311
27312
27313
27314
27315
27316
27317
27318
27319
27320
27321
27322
27323
27324
27325
27326
27327
27328
27329
27330
27331
27332
27333
27334
27335
27336
27337
27338
27339
27340
27341
27342
27343
27344
27345
27346
27347
27348
27349
27350
27351
27352
27353
27354
27355
27356
27357
27358
27359
27360
27361
27362
27363
27364
27365
27366
27367
27368
27369
27370
27371
27372
27373
27374
27375
27376
27377
27378
27379
27380
27381
27382
27383
27384
27385
27386
27387
27388
27389
27390
27391
27392
27393
27394
27395
27396
27397
27398
27399
27400
27401
27402
27403
27404
27405
27406
27407
27408
27409
27410
27411
27412
27413
27414
27415
27416
27417
27418
27419
27420
27421
27422
27423
27424
27425
27426
27427
27428
27429
27430
27431
27432
27433
27434
27435
27436
27437
27438
27439
27440
27441
27442
27443
27444
27445
27446
27447
27448
27449
27450
27451
27452
27453
27454
27455
27456
27457
27458
27459
27460
27461
27462
27463
27464
27465
27466
27467
27468
27469
27470
27471
27472
27473
27474
27475
27476
27477
27478
27479
27480
27481
27482
27483
27484
27485
27486
27487
27488
27489
27490
27491
27492
27493
27494
27495
27496
27497
27498
27499
27500
27501
27502
27503
27504
27505
27506
27507
27508
27509
27510
27511
27512
27513
27514
27515
27516
27517
27518
27519
27520
27521
27522
27523
27524
27525
27526
27527
27528
27529
27530
27531
27532
27533
27534
27535
27536
27537
27538
27539
27540
27541
27542
27543
27544
27545
27546
27547
27548
27549
27550
27551
27552
27553
27554
27555
27556
27557
27558
27559
27560
27561
27562
27563
27564
27565
27566
27567
27568
27569
27570
27571
27572
27573
27574
27575
27576
27577
27578
27579
27580
27581
27582
27583
27584
27585
27586
27587
27588
27589
27590
27591
27592
27593
27594
27595
27596
27597
27598
27599
27600
27601
27602
27603
27604
27605
27606
27607
27608
27609
27610
27611
27612
27613
27614
27615
27616
27617
27618
27619
27620
27621
27622
27623
27624
27625
27626
27627
27628
27629
27630
27631
27632
27633
27634
27635
27636
27637
27638
27639
27640
27641
27642
27643
27644
27645
27646
27647
27648
27649
27650
27651
27652
27653
27654
27655
27656
27657
27658
27659
27660
27661
27662
27663
27664
27665
27666
27667
27668
27669
27670
27671
27672
27673
27674
27675
27676
27677
27678
27679
27680
27681
27682
27683
27684
27685
27686
27687
27688
27689
27690
27691
27692
27693
27694
27695
27696
27697
27698
27699
27700
27701
27702
27703
27704
27705
27706
27707
27708
27709
27710
27711
27712
27713
27714
27715
27716
27717
27718
27719
27720
27721
27722
27723
27724
27725
27726
27727
27728
27729
27730
27731
27732
27733
27734
27735
27736
27737
27738
27739
27740
27741
27742
27743
27744
27745
27746
27747
27748
27749
27750
27751
27752
27753
27754
27755
27756
27757
27758
27759
27760
27761
27762
27763
27764
27765
27766
27767
27768
27769
27770
27771
27772
27773
27774
27775
27776
27777
27778
27779
27780
27781
27782
27783
27784
27785
27786
27787
27788
27789
27790
27791
27792
27793
27794
27795
27796
27797
27798
27799
27800
27801
27802
27803
27804
27805
27806
27807
27808
27809
27810
27811
27812
27813
27814
27815
27816
27817
27818
27819
27820
27821
27822
27823
27824
27825
27826
27827
27828
27829
27830
27831
27832
27833
27834
27835
27836
27837
27838
27839
27840
27841
27842
27843
27844
27845
27846
27847
27848
27849
27850
27851
27852
27853
27854
27855
27856
27857
27858
27859
27860
27861
27862
27863
27864
27865
27866
27867
27868
27869
27870
27871
27872
27873
27874
27875
27876
27877
27878
27879
27880
27881
27882
27883
27884
27885
27886
27887
27888
27889
27890
27891
27892
27893
27894
27895
27896
27897
27898
27899
27900
27901
27902
27903
27904
27905
27906
27907
27908
27909
27910
27911
27912
27913
27914
27915
27916
27917
27918
27919
27920
27921
27922
27923
27924
27925
27926
27927
27928
27929
27930
27931
27932
27933
27934
27935
27936
27937
27938
27939
27940
27941
27942
27943
27944
27945
27946
27947
27948
27949
27950
27951
27952
27953
27954
27955
27956
27957
27958
27959
27960
27961
27962
27963
27964
27965
27966
27967
27968
27969
27970
27971
27972
27973
27974
27975
27976
27977
27978
27979
27980
27981
27982
27983
27984
27985
27986
27987
27988
27989
27990
27991
27992
27993
27994
27995
27996
27997
27998
27999
28000
28001
28002
28003
28004
28005
28006
28007
28008
28009
28010
28011
28012
28013
28014
28015
28016
28017
28018
28019
28020
28021
28022
28023
28024
28025
28026
28027
28028
28029
28030
28031
28032
28033
28034
28035
28036
28037
28038
28039
28040
28041
28042
28043
28044
28045
28046
28047
28048
28049
28050
28051
28052
28053
28054
28055
28056
28057
28058
28059
28060
28061
28062
28063
28064
28065
28066
28067
28068
28069
28070
28071
28072
28073
28074
28075
28076
28077
28078
28079
28080
28081
28082
28083
28084
28085
28086
28087
28088
28089
28090
28091
28092
28093
28094
28095
28096
28097
28098
28099
28100
28101
28102
28103
28104
28105
28106
28107
28108
28109
28110
28111
28112
28113
28114
28115
28116
28117
28118
28119
28120
28121
28122
28123
28124
28125
28126
28127
28128
28129
28130
28131
28132
28133
28134
28135
28136
28137
28138
28139
28140
28141
28142
28143
28144
28145
28146
28147
28148
28149
28150
28151
28152
28153
28154
28155
28156
28157
28158
28159
28160
28161
28162
28163
28164
28165
28166
28167
28168
28169
28170
28171
28172
28173
28174
28175
28176
28177
28178
28179
28180
28181
28182
28183
28184
28185
28186
28187
28188
28189
28190
28191
28192
28193
28194
28195
28196
28197
28198
28199
28200
28201
28202
28203
28204
28205
28206
28207
28208
28209
28210
28211
28212
28213
28214
28215
28216
28217
28218
28219
28220
28221
28222
28223
28224
28225
28226
28227
28228
28229
28230
28231
28232
28233
28234
28235
28236
28237
28238
28239
28240
28241
28242
28243
28244
28245
28246
28247
28248
28249
28250
28251
28252
28253
28254
28255
28256
28257
28258
28259
28260
28261
28262
28263
28264
28265
28266
28267
28268
28269
28270
28271
28272
28273
28274
28275
28276
28277
28278
28279
28280
28281
28282
28283
28284
28285
28286
28287
28288
28289
28290
28291
28292
28293
28294
28295
28296
28297
28298
28299
28300
28301
28302
28303
28304
28305
28306
28307
28308
28309
28310
28311
28312
28313
28314
28315
28316
28317
28318
28319
28320
28321
28322
28323
28324
28325
28326
28327
28328
28329
28330
28331
28332
28333
28334
28335
28336
28337
28338
28339
28340
28341
28342
28343
28344
28345
28346
28347
28348
28349
28350
28351
28352
28353
28354
28355
28356
28357
28358
28359
28360
28361
28362
28363
28364
28365
28366
28367
28368
28369
28370
28371
28372
28373
28374
28375
28376
28377
28378
28379
28380
28381
28382
28383
28384
28385
28386
28387
28388
28389
28390
28391
28392
28393
28394
28395
28396
28397
28398
28399
28400
28401
28402
28403
28404
28405
28406
28407
28408
28409
28410
28411
28412
28413
28414
28415
28416
28417
28418
28419
28420
28421
28422
28423
28424
28425
28426
28427
28428
28429
28430
28431
28432
28433
28434
28435
28436
28437
28438
28439
28440
28441
28442
28443
28444
28445
28446
28447
28448
28449
28450
28451
28452
28453
28454
28455
28456
28457
28458
28459
28460
28461
28462
28463
28464
28465
28466
28467
28468
28469
28470
28471
28472
28473
28474
28475
28476
28477
28478
28479
28480
28481
28482
28483
28484
28485
28486
28487
28488
28489
28490
28491
28492
28493
28494
28495
28496
28497
28498
28499
28500
28501
28502
28503
28504
28505
28506
28507
28508
28509
28510
28511
28512
28513
28514
28515
28516
28517
28518
28519
28520
28521
28522
28523
28524
28525
28526
28527
28528
28529
28530
28531
28532
28533
28534
28535
28536
28537
28538
28539
28540
28541
28542
28543
28544
28545
28546
28547
28548
28549
28550
28551
28552
28553
28554
28555
28556
28557
28558
28559
28560
28561
28562
28563
28564
28565
28566
28567
28568
28569
28570
28571
28572
28573
28574
28575
28576
28577
28578
28579
28580
28581
28582
28583
28584
28585
28586
28587
28588
28589
28590
28591
28592
28593
28594
28595
28596
28597
28598
28599
28600
28601
28602
28603
28604
28605
28606
28607
28608
28609
28610
28611
28612
28613
28614
28615
28616
28617
28618
28619
28620
28621
28622
28623
28624
28625
28626
28627
28628
28629
28630
28631
28632
28633
28634
28635
28636
28637
28638
28639
28640
28641
28642
28643
28644
28645
28646
28647
28648
28649
28650
28651
28652
28653
28654
28655
28656
28657
28658
28659
28660
28661
28662
28663
28664
28665
28666
28667
28668
28669
28670
28671
28672
28673
28674
28675
28676
28677
28678
28679
28680
28681
28682
28683
28684
28685
28686
28687
28688
28689
28690
28691
28692
28693
28694
28695
28696
28697
28698
28699
28700
28701
28702
28703
28704
28705
28706
28707
28708
28709
28710
28711
28712
28713
28714
28715
28716
28717
28718
28719
28720
28721
28722
28723
28724
28725
28726
28727
28728
28729
28730
28731
28732
28733
28734
28735
28736
28737
28738
28739
28740
28741
28742
28743
28744
28745
28746
28747
28748
28749
28750
28751
28752
28753
28754
28755
28756
28757
28758
28759
28760
28761
28762
28763
28764
28765
28766
28767
28768
28769
28770
28771
28772
28773
28774
28775
28776
28777
28778
28779
28780
28781
28782
28783
28784
28785
28786
28787
28788
28789
28790
28791
28792
28793
28794
28795
28796
28797
28798
28799
28800
28801
28802
28803
28804
28805
28806
28807
28808
28809
28810
28811
28812
28813
28814
28815
28816
28817
28818
28819
28820
28821
28822
28823
28824
28825
28826
28827
28828
28829
28830
28831
28832
28833
28834
28835
28836
28837
28838
28839
28840
28841
28842
28843
28844
28845
28846
28847
28848
28849
28850
28851
28852
28853
28854
28855
28856
28857
28858
28859
28860
28861
28862
28863
28864
28865
28866
28867
28868
28869
28870
28871
28872
28873
28874
28875
28876
28877
28878
28879
28880
28881
28882
28883
28884
28885
28886
28887
28888
28889
28890
28891
28892
28893
28894
28895
28896
28897
28898
28899
28900
28901
28902
28903
28904
28905
28906
28907
28908
28909
28910
28911
28912
28913
28914
28915
28916
28917
28918
28919
28920
28921
28922
28923
28924
28925
28926
28927
28928
28929
28930
28931
28932
28933
28934
28935
28936
28937
28938
28939
28940
28941
28942
28943
28944
28945
28946
28947
28948
28949
28950
28951
28952
28953
28954
28955
28956
28957
28958
28959
28960
28961
28962
28963
28964
28965
28966
28967
28968
28969
28970
28971
28972
28973
28974
28975
28976
28977
28978
28979
28980
28981
28982
28983
28984
28985
28986
28987
28988
28989
28990
28991
28992
28993
28994
28995
28996
28997
28998
28999
29000
29001
29002
29003
29004
29005
29006
29007
29008
29009
29010
29011
29012
29013
29014
29015
29016
29017
29018
29019
29020
29021
29022
29023
29024
29025
29026
29027
29028
29029
29030
29031
29032
29033
29034
29035
29036
29037
29038
29039
29040
29041
29042
29043
29044
29045
29046
29047
29048
29049
29050
29051
29052
29053
29054
29055
29056
29057
29058
29059
29060
29061
29062
29063
29064
29065
29066
29067
29068
29069
29070
29071
29072
29073
29074
29075
29076
29077
29078
29079
29080
29081
29082
29083
29084
29085
29086
29087
29088
29089
29090
29091
29092
29093
29094
29095
29096
29097
29098
29099
29100
29101
29102
29103
29104
29105
29106
29107
29108
29109
29110
29111
29112
29113
29114
29115
29116
29117
29118
29119
29120
29121
29122
29123
29124
29125
29126
29127
29128
29129
29130
29131
29132
29133
29134
29135
29136
29137
29138
29139
29140
29141
29142
29143
29144
29145
29146
29147
29148
29149
29150
29151
29152
29153
29154
29155
29156
29157
29158
29159
29160
29161
29162
29163
29164
29165
29166
29167
29168
29169
29170
29171
29172
29173
29174
29175
29176
29177
29178
29179
29180
29181
29182
29183
29184
29185
29186
29187
29188
29189
29190
29191
29192
29193
29194
29195
29196
29197
29198
29199
29200
29201
29202
29203
29204
29205
29206
29207
29208
29209
29210
29211
29212
29213
29214
29215
29216
29217
29218
29219
29220
29221
29222
29223
29224
29225
29226
29227
29228
29229
29230
29231
29232
29233
29234
29235
29236
29237
29238
29239
29240
29241
29242
29243
29244
29245
29246
29247
29248
29249
29250
29251
29252
29253
29254
29255
29256
29257
29258
29259
29260
29261
29262
29263
29264
29265
29266
29267
29268
29269
29270
29271
29272
29273
29274
29275
29276
29277
29278
29279
29280
29281
29282
29283
29284
29285
29286
29287
29288
29289
29290
29291
29292
29293
29294
29295
29296
29297
29298
29299
29300
29301
29302
29303
29304
29305
29306
29307
29308
29309
29310
29311
29312
29313
29314
29315
29316
29317
29318
29319
29320
29321
29322
29323
29324
29325
29326
29327
29328
29329
29330
29331
29332
29333
29334
29335
29336
29337
29338
29339
29340
29341
29342
29343
29344
29345
29346
29347
29348
29349
29350
29351
29352
29353
29354
29355
29356
29357
29358
29359
29360
29361
29362
29363
29364
29365
29366
29367
29368
29369
29370
29371
29372
29373
29374
29375
29376
29377
29378
29379
29380
29381
29382
29383
29384
29385
29386
29387
29388
29389
29390
29391
29392
29393
29394
29395
29396
29397
29398
29399
29400
29401
29402
29403
29404
29405
29406
29407
29408
29409
29410
29411
29412
29413
29414
29415
29416
29417
29418
29419
29420
29421
29422
29423
29424
29425
29426
29427
29428
29429
29430
29431
29432
29433
29434
29435
29436
29437
29438
29439
29440
29441
29442
29443
29444
29445
29446
29447
29448
29449
29450
29451
29452
29453
29454
29455
29456
29457
29458
29459
29460
29461
29462
29463
29464
29465
29466
29467
29468
29469
29470
29471
29472
29473
29474
29475
29476
29477
29478
29479
29480
29481
29482
29483
29484
29485
29486
29487
29488
29489
29490
29491
29492
29493
29494
29495
29496
29497
29498
29499
29500
29501
29502
29503
29504
29505
29506
29507
29508
29509
29510
29511
29512
29513
29514
29515
29516
29517
29518
29519
29520
29521
29522
29523
29524
29525
29526
29527
29528
29529
29530
29531
29532
29533
29534
29535
29536
29537
29538
29539
29540
29541
29542
29543
29544
29545
29546
29547
29548
29549
29550
29551
29552
29553
29554
29555
29556
29557
29558
29559
29560
29561
29562
29563
29564
29565
29566
29567
29568
29569
29570
29571
29572
29573
29574
29575
29576
29577
29578
29579
29580
29581
29582
29583
29584
29585
29586
29587
29588
29589
29590
29591
29592
29593
29594
29595
29596
29597
29598
29599
29600
29601
29602
29603
29604
29605
29606
29607
29608
29609
29610
29611
29612
29613
29614
29615
29616
29617
29618
29619
29620
29621
29622
29623
29624
29625
29626
29627
29628
29629
29630
29631
29632
29633
29634
29635
29636
29637
29638
29639
29640
29641
29642
29643
29644
29645
29646
29647
29648
29649
29650
29651
29652
29653
29654
29655
29656
29657
29658
29659
29660
29661
29662
29663
29664
29665
29666
29667
29668
29669
29670
29671
29672
29673
29674
29675
29676
29677
29678
29679
29680
29681
29682
29683
29684
29685
29686
29687
29688
29689
29690
29691
29692
29693
29694
29695
29696
29697
29698
29699
29700
29701
29702
29703
29704
29705
29706
29707
29708
29709
29710
29711
29712
29713
29714
29715
29716
29717
29718
29719
29720
29721
29722
29723
29724
29725
29726
29727
29728
29729
29730
29731
29732
29733
29734
29735
29736
29737
29738
29739
29740
29741
29742
29743
29744
29745
29746
29747
29748
29749
29750
29751
29752
29753
29754
29755
29756
29757
29758
29759
29760
29761
29762
29763
29764
29765
29766
29767
29768
29769
29770
29771
29772
29773
29774
29775
29776
29777
29778
29779
29780
29781
29782
29783
29784
29785
29786
29787
29788
29789
29790
29791
29792
29793
29794
29795
29796
29797
29798
29799
29800
29801
29802
29803
29804
29805
29806
29807
29808
29809
29810
29811
29812
29813
29814
29815
29816
29817
29818
29819
29820
29821
29822
29823
29824
29825
29826
29827
29828
29829
29830
29831
29832
29833
29834
29835
29836
29837
29838
29839
29840
29841
29842
29843
29844
29845
29846
29847
29848
29849
29850
29851
29852
29853
29854
29855
29856
29857
29858
29859
29860
29861
29862
29863
29864
29865
29866
29867
29868
29869
29870
29871
29872
29873
29874
29875
29876
29877
29878
29879
29880
29881
29882
29883
29884
29885
29886
29887
29888
29889
29890
29891
29892
29893
29894
29895
29896
29897
29898
29899
29900
29901
29902
29903
29904
29905
29906
29907
29908
29909
29910
29911
29912
29913
29914
29915
29916
29917
29918
29919
29920
29921
29922
29923
29924
29925
29926
29927
29928
29929
29930
29931
29932
29933
29934
29935
29936
29937
29938
29939
29940
29941
29942
29943
29944
29945
29946
29947
29948
29949
29950
29951
29952
29953
29954
29955
29956
29957
29958
29959
29960
29961
29962
29963
29964
29965
29966
29967
29968
29969
29970
29971
29972
29973
29974
29975
29976
29977
29978
29979
29980
29981
29982
29983
29984
29985
29986
29987
29988
29989
29990
29991
29992
29993
29994
29995
29996
29997
29998
29999
30000
30001
30002
30003
30004
30005
30006
30007
30008
30009
30010
30011
30012
30013
30014
30015
30016
30017
30018
30019
30020
30021
30022
30023
30024
30025
30026
30027
30028
30029
30030
30031
30032
30033
30034
30035
30036
30037
30038
30039
30040
30041
30042
30043
30044
30045
30046
30047
30048
30049
30050
30051
30052
30053
30054
30055
30056
30057
30058
30059
30060
30061
30062
30063
30064
30065
30066
30067
30068
30069
30070
30071
30072
30073
30074
30075
30076
30077
30078
30079
30080
30081
30082
30083
30084
30085
30086
30087
30088
30089
30090
30091
30092
30093
30094
30095
30096
30097
30098
30099
30100
30101
30102
30103
30104
30105
30106
30107
30108
30109
30110
30111
30112
30113
30114
30115
30116
30117
30118
30119
30120
30121
30122
30123
30124
30125
30126
30127
30128
30129
30130
30131
30132
30133
30134
30135
30136
30137
30138
30139
30140
30141
30142
30143
30144
30145
30146
30147
30148
30149
30150
30151
30152
30153
30154
30155
30156
30157
30158
30159
30160
30161
30162
30163
30164
30165
30166
30167
30168
30169
30170
30171
30172
30173
30174
30175
30176
30177
30178
30179
30180
30181
30182
30183
30184
30185
30186
30187
30188
30189
30190
30191
30192
30193
30194
30195
30196
30197
30198
30199
30200
30201
30202
30203
30204
30205
30206
30207
30208
30209
30210
30211
30212
30213
30214
30215
30216
30217
30218
30219
30220
30221
30222
30223
30224
30225
30226
30227
30228
30229
30230
30231
30232
30233
30234
30235
30236
30237
30238
30239
30240
30241
30242
30243
30244
30245
30246
30247
30248
30249
30250
30251
30252
30253
30254
30255
30256
30257
30258
30259
30260
30261
30262
30263
30264
30265
30266
30267
30268
30269
30270
30271
30272
30273
30274
30275
30276
30277
30278
30279
30280
30281
30282
30283
30284
30285
30286
30287
30288
30289
30290
30291
30292
30293
30294
30295
30296
30297
30298
30299
30300
30301
30302
30303
30304
30305
30306
30307
30308
30309
30310
30311
30312
30313
30314
30315
30316
30317
30318
30319
30320
30321
30322
30323
30324
30325
30326
30327
30328
30329
30330
30331
30332
30333
30334
30335
30336
30337
30338
30339
30340
30341
30342
30343
30344
30345
30346
30347
30348
30349
30350
30351
30352
30353
30354
30355
30356
30357
30358
30359
30360
30361
30362
30363
30364
30365
30366
30367
30368
30369
30370
30371
30372
30373
30374
30375
30376
30377
30378
30379
30380
30381
30382
30383
30384
30385
30386
30387
30388
30389
30390
30391
30392
30393
30394
30395
30396
30397
30398
30399
30400
30401
30402
30403
30404
30405
30406
30407
30408
30409
30410
30411
30412
30413
30414
30415
30416
30417
30418
30419
30420
30421
30422
30423
30424
30425
30426
30427
30428
30429
30430
30431
30432
30433
30434
30435
30436
30437
30438
30439
30440
30441
30442
30443
30444
30445
30446
30447
30448
30449
30450
30451
30452
30453
30454
30455
30456
30457
30458
30459
30460
30461
30462
30463
30464
30465
30466
30467
30468
30469
30470
30471
30472
30473
30474
30475
30476
30477
30478
30479
30480
30481
30482
30483
30484
30485
30486
30487
30488
30489
30490
30491
30492
30493
30494
30495
30496
30497
30498
30499
30500
30501
30502
30503
30504
30505
30506
30507
30508
30509
30510
30511
30512
30513
30514
30515
30516
30517
30518
30519
30520
30521
30522
30523
30524
30525
30526
30527
30528
30529
30530
30531
30532
30533
30534
30535
30536
30537
30538
30539
30540
30541
30542
30543
30544
30545
30546
30547
30548
30549
30550
30551
30552
30553
30554
30555
30556
30557
30558
30559
30560
30561
30562
30563
30564
30565
30566
30567
30568
30569
30570
30571
30572
30573
30574
30575
30576
30577
30578
30579
30580
30581
30582
30583
30584
30585
30586
30587
30588
30589
30590
30591
30592
30593
30594
30595
30596
30597
30598
30599
30600
30601
30602
30603
30604
30605
30606
30607
30608
30609
30610
30611
30612
30613
30614
30615
30616
30617
30618
30619
30620
30621
30622
30623
30624
30625
30626
30627
30628
30629
30630
30631
30632
30633
30634
30635
30636
30637
30638
30639
30640
30641
30642
30643
30644
30645
30646
30647
30648
30649
30650
30651
30652
30653
30654
30655
30656
30657
30658
30659
30660
30661
30662
30663
30664
30665
30666
30667
30668
30669
30670
30671
30672
30673
30674
30675
30676
30677
30678
30679
30680
30681
30682
30683
30684
30685
30686
30687
30688
30689
30690
30691
30692
30693
30694
30695
30696
30697
30698
30699
30700
30701
30702
30703
30704
30705
30706
30707
30708
30709
30710
30711
30712
30713
30714
30715
30716
30717
30718
30719
30720
30721
30722
30723
30724
30725
30726
30727
30728
30729
30730
30731
30732
30733
30734
30735
30736
30737
30738
30739
30740
30741
30742
30743
30744
30745
30746
30747
30748
30749
30750
30751
30752
30753
30754
30755
30756
30757
30758
30759
30760
30761
30762
30763
30764
30765
30766
30767
30768
30769
30770
30771
30772
30773
30774
30775
30776
30777
30778
30779
30780
30781
30782
30783
30784
30785
30786
30787
30788
30789
30790
30791
30792
30793
30794
30795
30796
30797
30798
30799
30800
30801
30802
30803
30804
30805
30806
30807
30808
30809
30810
30811
30812
30813
30814
30815
30816
30817
30818
30819
30820
30821
30822
30823
30824
30825
30826
30827
30828
30829
30830
30831
30832
30833
30834
30835
30836
30837
30838
30839
30840
30841
30842
30843
30844
30845
30846
30847
30848
30849
30850
30851
30852
30853
30854
30855
30856
30857
30858
30859
30860
30861
30862
30863
30864
30865
30866
30867
30868
30869
30870
30871
30872
30873
30874
30875
30876
30877
30878
30879
30880
30881
30882
30883
30884
30885
30886
30887
30888
30889
30890
30891
30892
30893
30894
30895
30896
30897
30898
30899
30900
30901
30902
30903
30904
30905
30906
30907
30908
30909
30910
30911
30912
30913
30914
30915
30916
30917
30918
30919
30920
30921
30922
30923
30924
30925
30926
30927
30928
30929
30930
30931
30932
30933
30934
30935
30936
30937
30938
30939
30940
30941
30942
30943
30944
30945
30946
30947
30948
30949
30950
30951
30952
30953
30954
30955
30956
30957
30958
30959
30960
30961
30962
30963
30964
30965
30966
30967
30968
30969
30970
30971
30972
30973
30974
30975
30976
30977
30978
30979
30980
30981
30982
30983
30984
30985
30986
30987
30988
30989
30990
30991
30992
30993
30994
30995
30996
30997
30998
30999
31000
31001
31002
31003
31004
31005
31006
31007
31008
31009
31010
31011
31012
31013
31014
31015
31016
31017
31018
31019
31020
31021
31022
31023
31024
31025
31026
31027
31028
31029
31030
31031
31032
31033
31034
31035
31036
31037
31038
31039
31040
31041
31042
31043
31044
31045
31046
31047
31048
31049
31050
31051
31052
31053
31054
31055
31056
31057
31058
31059
31060
31061
31062
31063
31064
31065
31066
31067
31068
31069
31070
31071
31072
31073
31074
31075
31076
31077
31078
31079
31080
31081
31082
31083
31084
31085
31086
31087
31088
31089
31090
31091
31092
31093
31094
31095
31096
31097
31098
31099
31100
31101
31102
31103
31104
31105
31106
31107
31108
31109
31110
31111
31112
31113
31114
31115
31116
31117
31118
31119
31120
31121
31122
31123
31124
31125
31126
31127
31128
31129
31130
31131
31132
31133
31134
31135
31136
31137
31138
31139
31140
31141
31142
31143
31144
31145
31146
31147
31148
31149
31150
31151
31152
31153
31154
31155
31156
31157
31158
31159
31160
31161
31162
31163
31164
31165
31166
31167
31168
31169
31170
31171
31172
31173
31174
31175
31176
31177
31178
31179
31180
31181
31182
31183
31184
31185
31186
31187
31188
31189
31190
31191
31192
31193
31194
31195
31196
31197
31198
31199
31200
31201
31202
31203
31204
31205
31206
31207
31208
31209
31210
31211
31212
31213
31214
31215
31216
31217
31218
31219
31220
31221
31222
31223
31224
31225
31226
31227
31228
31229
31230
31231
31232
31233
31234
31235
31236
31237
31238
31239
31240
31241
31242
31243
31244
31245
31246
31247
31248
31249
31250
31251
31252
31253
31254
31255
31256
31257
31258
31259
31260
31261
31262
31263
31264
31265
31266
31267
31268
31269
31270
31271
31272
31273
31274
31275
31276
31277
31278
31279
31280
31281
31282
31283
31284
31285
31286
31287
31288
31289
31290
31291
31292
31293
31294
31295
31296
31297
31298
31299
31300
31301
31302
31303
31304
31305
31306
31307
31308
31309
31310
31311
31312
31313
31314
31315
31316
31317
31318
31319
31320
31321
31322
31323
31324
31325
31326
31327
31328
31329
31330
31331
31332
31333
31334
31335
31336
31337
31338
31339
31340
31341
31342
31343
31344
31345
31346
31347
31348
31349
31350
31351
31352
31353
31354
31355
31356
31357
31358
31359
31360
31361
31362
31363
31364
31365
31366
31367
31368
31369
31370
31371
31372
31373
31374
31375
31376
31377
31378
31379
31380
31381
31382
31383
31384
31385
31386
31387
31388
31389
31390
31391
31392
31393
31394
31395
31396
31397
31398
31399
31400
31401
31402
31403
31404
31405
31406
31407
31408
31409
31410
31411
31412
31413
31414
31415
31416
31417
31418
31419
31420
31421
31422
31423
31424
31425
31426
31427
31428
31429
31430
31431
31432
31433
31434
31435
31436
31437
31438
31439
31440
31441
31442
31443
31444
31445
31446
31447
31448
31449
31450
31451
31452
31453
31454
31455
31456
31457
31458
31459
31460
31461
31462
31463
31464
31465
31466
31467
31468
31469
31470
31471
31472
31473
31474
31475
31476
31477
31478
31479
31480
31481
31482
31483
31484
31485
31486
31487
31488
31489
31490
31491
31492
31493
31494
31495
31496
31497
31498
31499
31500
31501
31502
31503
31504
31505
31506
31507
31508
31509
31510
31511
31512
31513
31514
31515
31516
31517
31518
31519
31520
31521
31522
31523
31524
31525
31526
31527
31528
31529
31530
31531
31532
31533
31534
31535
31536
31537
31538
31539
31540
31541
31542
31543
31544
31545
31546
31547
31548
31549
31550
31551
31552
31553
31554
31555
31556
31557
31558
31559
31560
31561
31562
31563
31564
31565
31566
31567
31568
31569
31570
31571
31572
31573
31574
31575
31576
31577
31578
31579
31580
31581
31582
31583
31584
31585
31586
31587
31588
31589
31590
31591
31592
31593
31594
31595
31596
31597
31598
31599
31600
31601
31602
31603
31604
31605
31606
31607
31608
31609
31610
31611
31612
31613
31614
31615
31616
31617
31618
31619
31620
31621
31622
31623
31624
31625
31626
31627
31628
31629
31630
31631
31632
31633
31634
31635
31636
31637
31638
31639
31640
31641
31642
31643
31644
31645
31646
31647
31648
31649
31650
31651
31652
31653
31654
31655
31656
31657
31658
31659
31660
31661
31662
31663
31664
31665
31666
31667
31668
31669
31670
31671
31672
31673
31674
31675
31676
31677
31678
31679
31680
31681
31682
31683
31684
31685
31686
31687
31688
31689
31690
31691
31692
31693
31694
31695
31696
31697
31698
31699
31700
31701
31702
31703
31704
31705
31706
31707
31708
31709
31710
31711
31712
31713
31714
31715
31716
31717
31718
31719
31720
31721
31722
31723
31724
31725
31726
31727
31728
31729
31730
31731
31732
31733
31734
31735
31736
31737
31738
31739
31740
31741
31742
31743
31744
31745
31746
31747
31748
31749
31750
31751
31752
31753
31754
31755
31756
31757
31758
31759
31760
31761
31762
31763
31764
31765
31766
31767
31768
31769
31770
31771
31772
31773
31774
31775
31776
31777
31778
31779
31780
31781
31782
31783
31784
31785
31786
31787
31788
31789
31790
31791
31792
31793
31794
31795
31796
31797
31798
31799
31800
31801
31802
31803
31804
31805
31806
31807
31808
31809
31810
31811
31812
31813
31814
31815
31816
31817
31818
31819
31820
31821
31822
31823
31824
31825
31826
31827
31828
31829
31830
31831
31832
31833
31834
31835
31836
31837
31838
31839
31840
31841
31842
31843
31844
31845
31846
31847
31848
31849
31850
31851
31852
31853
31854
31855
31856
31857
31858
31859
31860
31861
31862
31863
31864
31865
31866
31867
31868
31869
31870
31871
31872
31873
31874
31875
31876
31877
31878
31879
31880
31881
31882
31883
31884
31885
31886
31887
31888
31889
31890
31891
31892
31893
31894
31895
31896
31897
31898
31899
31900
31901
31902
31903
31904
31905
31906
31907
31908
31909
31910
31911
31912
31913
31914
31915
31916
31917
31918
31919
31920
31921
31922
31923
31924
31925
31926
31927
31928
31929
31930
31931
31932
31933
31934
31935
31936
31937
31938
31939
31940
31941
31942
31943
31944
31945
31946
31947
31948
31949
31950
31951
31952
31953
31954
31955
31956
31957
31958
31959
31960
31961
31962
31963
31964
31965
31966
31967
31968
31969
31970
31971
31972
31973
31974
31975
31976
31977
31978
31979
31980
31981
31982
31983
31984
31985
31986
31987
31988
31989
31990
31991
31992
31993
31994
31995
31996
31997
31998
31999
32000
32001
32002
32003
32004
32005
32006
32007
32008
32009
32010
32011
32012
32013
32014
32015
32016
32017
32018
32019
32020
32021
32022
32023
32024
32025
32026
32027
32028
32029
32030
32031
32032
32033
32034
32035
32036
32037
32038
32039
32040
32041
32042
32043
32044
32045
32046
32047
32048
32049
32050
32051
32052
32053
32054
32055
32056
32057
32058
32059
32060
32061
32062
32063
32064
32065
32066
32067
32068
32069
32070
32071
32072
32073
32074
32075
32076
32077
32078
32079
32080
32081
32082
32083
32084
32085
32086
32087
32088
32089
32090
32091
32092
32093
32094
32095
32096
32097
32098
32099
32100
32101
32102
32103
32104
32105
32106
32107
32108
32109
32110
32111
32112
32113
32114
32115
32116
32117
32118
32119
32120
32121
32122
32123
32124
32125
32126
32127
32128
32129
32130
32131
32132
32133
32134
32135
32136
32137
32138
32139
32140
32141
32142
32143
32144
32145
32146
32147
32148
32149
32150
32151
32152
32153
32154
32155
32156
32157
32158
32159
32160
32161
32162
32163
32164
32165
32166
32167
32168
32169
32170
32171
32172
32173
32174
32175
32176
32177
32178
32179
32180
32181
32182
32183
32184
32185
32186
32187
32188
32189
32190
32191
32192
32193
32194
32195
32196
32197
32198
32199
32200
32201
32202
32203
32204
32205
32206
32207
32208
32209
32210
32211
32212
32213
32214
32215
32216
32217
32218
32219
32220
32221
32222
32223
32224
32225
32226
32227
32228
32229
32230
32231
32232
32233
32234
32235
32236
32237
32238
32239
32240
32241
32242
32243
32244
32245
32246
32247
32248
32249
32250
32251
32252
32253
32254
32255
32256
32257
32258
32259
32260
32261
32262
32263
32264
32265
32266
32267
32268
32269
32270
32271
32272
32273
32274
32275
32276
32277
32278
32279
32280
32281
32282
32283
32284
32285
32286
32287
32288
32289
32290
32291
32292
32293
32294
32295
32296
32297
32298
32299
32300
32301
32302
32303
32304
32305
32306
32307
32308
32309
32310
32311
32312
32313
32314
32315
32316
32317
32318
32319
32320
32321
32322
32323
32324
32325
32326
32327
32328
32329
32330
32331
32332
32333
32334
32335
32336
32337
32338
32339
32340
32341
32342
32343
32344
32345
32346
32347
32348
32349
32350
32351
32352
32353
32354
32355
32356
32357
32358
32359
32360
32361
32362
32363
32364
32365
32366
32367
32368
32369
32370
32371
32372
32373
32374
32375
32376
32377
32378
32379
32380
32381
32382
32383
32384
32385
32386
32387
32388
32389
32390
32391
32392
32393
32394
32395
32396
32397
32398
32399
32400
32401
32402
32403
32404
32405
32406
32407
32408
32409
32410
32411
32412
32413
32414
32415
32416
32417
32418
32419
32420
32421
32422
32423
32424
32425
32426
32427
32428
32429
32430
32431
32432
32433
32434
32435
32436
32437
32438
32439
32440
32441
32442
32443
32444
32445
32446
32447
32448
32449
32450
32451
32452
32453
32454
32455
32456
32457
32458
32459
32460
32461
32462
32463
32464
32465
32466
32467
32468
32469
32470
32471
32472
32473
32474
32475
32476
32477
32478
32479
32480
32481
32482
32483
32484
32485
32486
32487
32488
32489
32490
32491
32492
32493
32494
32495
32496
32497
32498
32499
32500
32501
32502
32503
32504
32505
32506
32507
32508
32509
32510
32511
32512
32513
32514
32515
32516
32517
32518
32519
32520
32521
32522
32523
32524
32525
32526
32527
32528
32529
32530
32531
32532
32533
32534
32535
32536
32537
32538
32539
32540
32541
32542
32543
32544
32545
32546
32547
32548
32549
32550
32551
32552
32553
32554
32555
32556
32557
32558
32559
32560
32561
32562
32563
32564
32565
32566
32567
32568
32569
32570
32571
32572
32573
32574
32575
32576
32577
32578
32579
32580
32581
32582
32583
32584
32585
32586
32587
32588
32589
32590
32591
32592
32593
32594
32595
32596
32597
32598
32599
32600
32601
32602
32603
32604
32605
32606
32607
32608
32609
32610
32611
32612
32613
32614
32615
32616
32617
32618
32619
32620
32621
32622
32623
32624
32625
32626
32627
32628
32629
32630
32631
32632
32633
32634
32635
32636
32637
32638
32639
32640
32641
32642
32643
32644
32645
32646
32647
32648
32649
32650
32651
32652
32653
32654
32655
32656
32657
32658
32659
32660
32661
32662
32663
32664
32665
32666
32667
32668
32669
32670
32671
32672
32673
32674
32675
32676
32677
32678
32679
32680
32681
32682
32683
32684
32685
32686
32687
32688
32689
32690
32691
32692
32693
32694
32695
32696
32697
32698
32699
32700
32701
32702
32703
32704
32705
32706
32707
32708
32709
32710
32711
32712
32713
32714
32715
32716
32717
32718
32719
32720
32721
32722
32723
32724
32725
32726
32727
32728
32729
32730
32731
32732
32733
32734
32735
32736
32737
32738
32739
32740
32741
32742
32743
32744
32745
32746
32747
32748
32749
32750
32751
32752
32753
32754
32755
32756
32757
32758
32759
32760
32761
32762
32763
32764
32765
32766
32767
32768
32769
32770
32771
32772
32773
32774
32775
32776
32777
32778
32779
32780
32781
32782
32783
32784
32785
32786
32787
32788
32789
32790
32791
32792
32793
32794
32795
32796
32797
32798
32799
32800
32801
32802
32803
32804
32805
32806
32807
32808
32809
32810
32811
32812
32813
32814
32815
32816
32817
32818
32819
32820
32821
32822
32823
32824
32825
32826
32827
32828
32829
32830
32831
32832
32833
32834
32835
32836
32837
32838
32839
32840
32841
32842
32843
32844
32845
32846
32847
32848
32849
32850
32851
32852
32853
32854
32855
32856
32857
32858
32859
32860
32861
32862
32863
32864
32865
32866
32867
32868
32869
32870
32871
32872
32873
32874
32875
32876
32877
32878
32879
32880
32881
32882
32883
32884
32885
32886
32887
32888
32889
32890
32891
32892
32893
32894
32895
32896
32897
32898
32899
32900
32901
32902
32903
32904
32905
32906
32907
32908
32909
32910
32911
32912
32913
32914
32915
32916
32917
32918
32919
32920
32921
32922
32923
32924
32925
32926
32927
32928
32929
32930
32931
32932
32933
32934
32935
32936
32937
32938
32939
32940
32941
32942
32943
32944
32945
32946
32947
32948
32949
32950
32951
32952
32953
32954
32955
32956
32957
32958
32959
32960
32961
32962
32963
32964
32965
32966
32967
32968
32969
32970
32971
32972
32973
32974
32975
32976
32977
32978
32979
32980
32981
32982
32983
32984
32985
32986
32987
32988
32989
32990
32991
32992
32993
32994
32995
32996
32997
32998
32999
33000
33001
33002
33003
33004
33005
33006
33007
33008
33009
33010
33011
33012
33013
33014
33015
33016
33017
33018
33019
33020
33021
33022
33023
33024
33025
33026
33027
33028
33029
33030
33031
33032
33033
33034
33035
33036
33037
33038
33039
33040
33041
33042
33043
33044
33045
33046
33047
33048
33049
33050
33051
33052
33053
33054
33055
33056
33057
33058
33059
33060
33061
33062
33063
33064
33065
33066
33067
33068
33069
33070
33071
33072
33073
33074
33075
33076
33077
33078
33079
33080
33081
33082
33083
33084
33085
33086
33087
33088
33089
33090
33091
33092
33093
33094
33095
33096
33097
33098
33099
33100
33101
33102
33103
33104
33105
33106
33107
33108
33109
33110
33111
33112
33113
33114
33115
33116
33117
33118
33119
33120
33121
33122
33123
33124
33125
33126
33127
33128
33129
33130
33131
33132
33133
33134
33135
33136
33137
33138
33139
33140
33141
33142
33143
33144
33145
33146
33147
33148
33149
33150
33151
33152
33153
33154
33155
33156
33157
33158
33159
33160
33161
33162
33163
33164
33165
33166
33167
33168
33169
33170
33171
33172
33173
33174
33175
33176
33177
33178
33179
33180
33181
33182
33183
33184
33185
33186
33187
33188
33189
33190
33191
33192
33193
33194
33195
33196
33197
33198
33199
33200
33201
33202
33203
33204
33205
33206
33207
33208
33209
33210
33211
33212
33213
33214
33215
33216
33217
33218
33219
33220
33221
33222
33223
33224
33225
33226
33227
33228
33229
33230
33231
33232
33233
33234
33235
33236
33237
33238
33239
33240
33241
33242
33243
33244
33245
33246
33247
33248
33249
33250
33251
33252
33253
33254
33255
33256
33257
33258
33259
33260
33261
33262
33263
33264
33265
33266
33267
33268
33269
33270
33271
33272
33273
33274
33275
33276
33277
33278
33279
33280
33281
33282
33283
33284
33285
33286
33287
33288
33289
33290
33291
33292
33293
33294
33295
33296
33297
33298
33299
33300
33301
33302
33303
33304
33305
33306
33307
33308
33309
33310
33311
33312
33313
33314
33315
33316
33317
33318
33319
33320
33321
33322
33323
33324
33325
33326
33327
33328
33329
33330
33331
33332
33333
33334
33335
33336
33337
33338
33339
33340
33341
33342
33343
33344
33345
33346
33347
33348
33349
33350
33351
33352
33353
33354
33355
33356
33357
33358
33359
33360
33361
33362
33363
33364
33365
33366
33367
33368
33369
33370
33371
33372
33373
33374
33375
33376
33377
33378
33379
33380
33381
33382
33383
33384
33385
33386
33387
33388
33389
33390
33391
33392
33393
33394
33395
33396
33397
33398
33399
33400
33401
33402
33403
33404
33405
33406
33407
33408
33409
33410
33411
33412
33413
33414
33415
33416
33417
33418
33419
33420
33421
33422
33423
33424
33425
33426
33427
33428
33429
33430
33431
33432
33433
33434
33435
33436
33437
33438
33439
33440
33441
33442
33443
33444
33445
33446
33447
33448
33449
33450
33451
33452
33453
33454
33455
33456
33457
33458
33459
33460
33461
33462
33463
33464
33465
33466
33467
33468
33469
33470
33471
33472
33473
33474
33475
33476
33477
33478
33479
33480
33481
33482
33483
33484
33485
33486
33487
33488
33489
33490
33491
33492
33493
33494
33495
33496
33497
33498
33499
33500
33501
33502
33503
33504
33505
33506
33507
33508
33509
33510
33511
33512
33513
33514
33515
33516
33517
33518
33519
33520
33521
33522
33523
33524
33525
33526
33527
33528
33529
33530
33531
33532
33533
33534
33535
33536
33537
33538
33539
33540
33541
33542
33543
33544
33545
33546
33547
33548
33549
33550
33551
33552
33553
33554
33555
33556
33557
33558
33559
33560
33561
33562
33563
33564
33565
33566
33567
33568
33569
33570
33571
33572
33573
33574
33575
33576
33577
33578
33579
33580
33581
33582
33583
33584
33585
33586
33587
33588
33589
33590
33591
33592
33593
33594
33595
33596
33597
33598
33599
33600
33601
33602
33603
33604
33605
33606
33607
33608
33609
33610
33611
33612
33613
33614
33615
33616
33617
33618
33619
33620
33621
33622
33623
33624
33625
33626
33627
33628
33629
33630
33631
33632
33633
33634
33635
33636
33637
33638
33639
33640
33641
33642
33643
33644
33645
33646
33647
33648
33649
33650
33651
33652
33653
33654
33655
33656
33657
33658
33659
33660
33661
33662
33663
33664
33665
33666
33667
33668
33669
33670
33671
33672
33673
33674
33675
33676
33677
33678
33679
33680
33681
33682
33683
33684
33685
33686
33687
33688
33689
33690
33691
33692
33693
33694
33695
33696
33697
33698
33699
33700
33701
33702
33703
33704
33705
33706
33707
33708
33709
33710
33711
33712
33713
33714
33715
33716
33717
33718
33719
33720
33721
33722
33723
33724
33725
33726
33727
33728
33729
33730
33731
33732
33733
33734
33735
33736
33737
33738
33739
33740
33741
33742
33743
33744
33745
33746
33747
33748
33749
33750
33751
33752
33753
33754
33755
33756
33757
33758
33759
33760
33761
33762
33763
33764
33765
33766
33767
33768
33769
33770
33771
33772
33773
33774
33775
33776
33777
33778
33779
33780
33781
33782
33783
33784
33785
33786
33787
33788
33789
33790
33791
33792
33793
33794
33795
33796
33797
33798
33799
33800
33801
33802
33803
33804
33805
33806
33807
33808
33809
33810
33811
33812
33813
33814
33815
33816
33817
33818
33819
33820
33821
33822
33823
33824
33825
33826
33827
33828
33829
33830
33831
33832
33833
33834
33835
33836
33837
33838
33839
33840
33841
33842
33843
33844
33845
33846
33847
33848
33849
33850
33851
33852
33853
33854
33855
33856
33857
33858
33859
33860
33861
33862
33863
33864
33865
33866
33867
33868
33869
33870
33871
33872
33873
33874
33875
33876
33877
33878
33879
33880
33881
33882
33883
33884
33885
33886
33887
33888
33889
33890
33891
33892
33893
33894
33895
33896
33897
33898
33899
33900
33901
33902
33903
33904
33905
33906
33907
33908
33909
33910
33911
33912
33913
33914
33915
33916
33917
33918
33919
33920
33921
33922
33923
33924
33925
33926
33927
33928
33929
33930
33931
33932
33933
33934
33935
33936
33937
33938
33939
33940
33941
33942
33943
33944
33945
33946
33947
33948
33949
33950
33951
33952
33953
33954
33955
33956
33957
33958
33959
33960
33961
33962
33963
33964
33965
33966
33967
33968
33969
33970
33971
33972
33973
33974
33975
33976
33977
33978
33979
33980
33981
33982
33983
33984
33985
33986
33987
33988
33989
33990
33991
33992
33993
33994
33995
33996
33997
33998
33999
34000
34001
34002
34003
34004
34005
34006
34007
34008
34009
34010
34011
34012
34013
34014
34015
34016
34017
34018
34019
34020
34021
34022
34023
34024
34025
34026
34027
34028
34029
34030
34031
34032
34033
34034
34035
34036
34037
34038
34039
34040
34041
34042
34043
34044
34045
34046
34047
34048
34049
34050
34051
34052
34053
34054
34055
34056
34057
34058
34059
34060
34061
34062
34063
34064
34065
34066
34067
34068
34069
34070
34071
34072
34073
34074
34075
34076
34077
34078
34079
34080
34081
34082
34083
34084
34085
34086
34087
34088
34089
34090
34091
34092
34093
34094
34095
34096
34097
34098
34099
34100
34101
34102
34103
34104
34105
34106
34107
34108
34109
34110
34111
34112
34113
34114
34115
34116
34117
34118
34119
34120
34121
34122
34123
34124
34125
34126
34127
34128
34129
34130
34131
34132
34133
34134
34135
34136
34137
34138
34139
34140
34141
34142
34143
34144
34145
34146
34147
34148
34149
34150
34151
34152
34153
34154
34155
34156
34157
34158
34159
34160
34161
34162
34163
34164
34165
34166
34167
34168
34169
34170
34171
34172
34173
34174
34175
34176
34177
34178
34179
34180
34181
34182
34183
34184
34185
34186
34187
34188
34189
34190
34191
34192
34193
34194
34195
34196
34197
34198
34199
34200
34201
34202
34203
34204
34205
34206
34207
34208
34209
34210
34211
34212
34213
34214
34215
34216
34217
34218
34219
34220
34221
34222
34223
34224
34225
34226
34227
34228
34229
34230
34231
34232
34233
34234
34235
34236
34237
34238
34239
34240
34241
34242
34243
34244
34245
34246
34247
34248
34249
34250
34251
34252
34253
34254
34255
34256
34257
34258
34259
34260
34261
34262
34263
34264
34265
34266
34267
34268
34269
34270
34271
34272
34273
34274
34275
34276
34277
34278
34279
34280
34281
34282
34283
34284
34285
34286
34287
34288
34289
34290
34291
34292
34293
34294
34295
34296
34297
34298
34299
34300
34301
34302
34303
34304
34305
34306
34307
34308
34309
34310
34311
34312
34313
34314
34315
34316
34317
34318
34319
34320
34321
34322
34323
34324
34325
34326
34327
34328
34329
34330
34331
34332
34333
34334
34335
34336
34337
34338
34339
34340
34341
34342
34343
34344
34345
34346
34347
34348
34349
34350
34351
34352
34353
34354
34355
34356
34357
34358
34359
34360
34361
34362
34363
34364
34365
34366
34367
34368
34369
34370
34371
34372
34373
34374
34375
34376
34377
34378
34379
34380
34381
34382
34383
34384
34385
34386
34387
34388
34389
34390
34391
34392
34393
34394
34395
34396
34397
34398
34399
34400
34401
34402
34403
34404
34405
34406
34407
34408
34409
34410
34411
34412
34413
34414
34415
34416
34417
34418
34419
34420
34421
34422
34423
34424
34425
34426
34427
34428
34429
34430
34431
34432
34433
34434
34435
34436
34437
34438
34439
34440
34441
34442
34443
34444
34445
34446
34447
34448
34449
34450
34451
34452
34453
34454
34455
34456
34457
34458
34459
34460
34461
34462
34463
34464
34465
34466
34467
34468
34469
34470
34471
34472
34473
34474
34475
34476
34477
34478
34479
34480
34481
34482
34483
34484
34485
34486
34487
34488
34489
34490
34491
34492
34493
34494
34495
34496
34497
34498
34499
34500
34501
34502
34503
34504
34505
34506
34507
34508
34509
34510
34511
34512
34513
34514
34515
34516
34517
34518
34519
34520
34521
34522
34523
34524
34525
34526
34527
34528
34529
34530
34531
34532
34533
34534
34535
34536
34537
34538
34539
34540
34541
34542
34543
34544
34545
34546
34547
34548
34549
34550
34551
34552
34553
34554
34555
34556
34557
34558
34559
34560
34561
34562
34563
34564
34565
34566
34567
34568
34569
34570
34571
34572
34573
34574
34575
34576
34577
34578
34579
34580
34581
34582
34583
34584
34585
34586
34587
34588
34589
34590
34591
34592
34593
34594
34595
34596
34597
34598
34599
34600
34601
34602
34603
34604
34605
34606
34607
34608
34609
34610
34611
34612
34613
34614
34615
34616
34617
34618
34619
34620
34621
34622
34623
34624
34625
34626
34627
34628
34629
34630
34631
34632
34633
34634
34635
34636
34637
34638
34639
34640
34641
34642
34643
34644
34645
34646
34647
34648
34649
34650
34651
34652
34653
34654
34655
34656
34657
34658
34659
34660
34661
34662
34663
34664
34665
34666
34667
34668
34669
34670
34671
34672
34673
34674
34675
34676
34677
34678
34679
34680
34681
34682
34683
34684
34685
34686
34687
34688
34689
34690
34691
34692
34693
34694
34695
34696
34697
34698
34699
34700
34701
34702
34703
34704
34705
34706
34707
34708
34709
34710
34711
34712
34713
34714
34715
34716
34717
34718
34719
34720
34721
34722
34723
34724
34725
34726
34727
34728
34729
34730
34731
34732
34733
34734
34735
34736
34737
34738
34739
34740
34741
34742
34743
34744
34745
34746
34747
34748
34749
34750
34751
34752
34753
34754
34755
34756
34757
34758
34759
34760
34761
34762
34763
34764
34765
34766
34767
34768
34769
34770
34771
34772
34773
34774
34775
34776
34777
34778
34779
34780
34781
34782
34783
34784
34785
34786
34787
34788
34789
34790
34791
34792
34793
34794
34795
34796
34797
34798
34799
34800
34801
34802
34803
34804
34805
34806
34807
34808
34809
34810
34811
34812
34813
34814
34815
34816
34817
34818
34819
34820
34821
34822
34823
34824
34825
34826
34827
34828
34829
34830
34831
34832
34833
34834
34835
34836
34837
34838
34839
34840
34841
34842
34843
34844
34845
34846
34847
34848
34849
34850
34851
34852
34853
34854
34855
34856
34857
34858
34859
34860
34861
34862
34863
34864
34865
34866
34867
34868
34869
34870
34871
34872
34873
34874
34875
34876
34877
34878
34879
34880
34881
34882
34883
34884
34885
34886
34887
34888
34889
34890
34891
34892
34893
34894
34895
34896
34897
34898
34899
34900
34901
34902
34903
34904
34905
34906
34907
34908
34909
34910
34911
34912
34913
34914
34915
34916
34917
34918
34919
34920
34921
34922
34923
34924
34925
34926
34927
34928
34929
34930
34931
34932
34933
34934
34935
34936
34937
34938
34939
34940
34941
34942
34943
34944
34945
34946
34947
34948
34949
34950
34951
34952
34953
34954
34955
34956
34957
34958
34959
34960
34961
34962
34963
34964
34965
34966
34967
34968
34969
34970
34971
34972
34973
34974
34975
34976
34977
34978
34979
34980
34981
34982
34983
34984
34985
34986
34987
34988
34989
34990
34991
34992
34993
34994
34995
34996
34997
34998
34999
35000
35001
35002
35003
35004
35005
35006
35007
35008
35009
35010
35011
35012
35013
35014
35015
35016
35017
35018
35019
35020
35021
35022
35023
35024
35025
35026
35027
35028
35029
35030
35031
35032
35033
35034
35035
35036
35037
35038
35039
35040
35041
35042
35043
35044
35045
35046
35047
35048
35049
35050
35051
35052
35053
35054
35055
35056
35057
35058
35059
35060
35061
35062
35063
35064
35065
35066
35067
35068
35069
35070
35071
35072
35073
35074
35075
35076
35077
35078
35079
35080
35081
35082
35083
35084
35085
35086
35087
35088
35089
35090
35091
35092
35093
35094
35095
35096
35097
35098
35099
35100
35101
35102
35103
35104
35105
35106
35107
35108
35109
35110
35111
35112
35113
35114
35115
35116
35117
35118
35119
35120
35121
35122
35123
35124
35125
35126
35127
35128
35129
35130
35131
35132
35133
35134
35135
35136
35137
35138
35139
35140
35141
35142
35143
35144
35145
35146
35147
35148
35149
35150
35151
35152
35153
35154
35155
35156
35157
35158
35159
35160
35161
35162
35163
35164
35165
35166
35167
35168
35169
35170
35171
35172
35173
35174
35175
35176
35177
35178
35179
35180
35181
35182
35183
35184
35185
35186
35187
35188
35189
35190
35191
35192
35193
35194
35195
35196
35197
35198
35199
35200
35201
35202
35203
35204
35205
35206
35207
35208
35209
35210
35211
35212
35213
35214
35215
35216
35217
35218
35219
35220
35221
35222
35223
35224
35225
35226
35227
35228
35229
35230
35231
35232
35233
35234
35235
35236
35237
35238
35239
35240
35241
35242
35243
35244
35245
35246
35247
35248
35249
35250
35251
35252
35253
35254
35255
35256
35257
35258
35259
35260
35261
35262
35263
35264
35265
35266
35267
35268
35269
35270
35271
35272
35273
35274
35275
35276
35277
35278
35279
35280
35281
35282
35283
35284
35285
35286
35287
35288
35289
35290
35291
35292
35293
35294
35295
35296
35297
35298
35299
35300
35301
35302
35303
35304
35305
35306
35307
35308
35309
35310
35311
35312
35313
35314
35315
35316
35317
35318
35319
35320
35321
35322
35323
35324
35325
35326
35327
35328
35329
35330
35331
35332
35333
35334
35335
35336
35337
35338
35339
35340
35341
35342
35343
35344
35345
35346
35347
35348
35349
35350
35351
35352
35353
35354
35355
35356
35357
35358
35359
35360
35361
35362
35363
35364
35365
35366
35367
35368
35369
35370
35371
35372
35373
35374
35375
35376
35377
35378
35379
35380
35381
35382
35383
35384
35385
35386
35387
35388
35389
35390
35391
35392
35393
35394
35395
35396
35397
35398
35399
35400
35401
35402
35403
35404
35405
35406
35407
35408
35409
35410
35411
35412
35413
35414
35415
35416
35417
35418
35419
35420
35421
35422
35423
35424
35425
35426
35427
35428
35429
35430
35431
35432
35433
35434
35435
35436
35437
35438
35439
35440
35441
35442
35443
35444
35445
35446
35447
35448
35449
35450
35451
35452
35453
35454
35455
35456
35457
35458
35459
35460
35461
35462
35463
35464
35465
35466
35467
35468
35469
35470
35471
35472
35473
35474
35475
35476
35477
35478
35479
35480
35481
35482
35483
35484
35485
35486
35487
35488
35489
35490
35491
35492
35493
35494
35495
35496
35497
35498
35499
2006-02-09  Tim Omernick  <timo@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/4198378> Crash on a CFRelease when visiting http://www.akella.com/

        * Plugins/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView requestWithURLCString:]):
	The true source of this crash is that the URL string is sometimes not NULL-terminated, which is the
	Real Player plugin's fault.  That has been filed as 4439591.
	However, we can be more bulletproof here by switching the URL string encoding from Windows Latin 1
	to ISO Latin 1, so that any NULL-terminated string can be represented.  (As Darin and I found out
	last night, Windows Latin 1 has "holes" in certain character ranges and	thus cannot encode arbitrary
	C strings).

2006-02-09  Maciej Stachowiak  <mjs@apple.com>

        Rubber stamped by Anders. 
        
        - Moved all the default delegate classes to their own directory.

        * DefaultDelegates: Added.
        * DefaultDelegates/WebDefaultContextMenuDelegate.h: Added.
        * DefaultDelegates/WebDefaultContextMenuDelegate.m: Added.
        * DefaultDelegates/WebDefaultEditingDelegate.h: Added.
        * DefaultDelegates/WebDefaultEditingDelegate.m: Added.
        * DefaultDelegates/WebDefaultFrameLoadDelegate.h: Added.
        * DefaultDelegates/WebDefaultFrameLoadDelegate.m: Added.
        * DefaultDelegates/WebDefaultPolicyDelegate.h: Added.
        * DefaultDelegates/WebDefaultPolicyDelegate.m: Added.
        * DefaultDelegates/WebDefaultResourceLoadDelegate.h: Added.
        * DefaultDelegates/WebDefaultResourceLoadDelegate.m: Added.
        * DefaultDelegates/WebDefaultScriptDebugDelegate.h: Added.
        * DefaultDelegates/WebDefaultScriptDebugDelegate.m: Added.
        * DefaultDelegates/WebDefaultUIDelegate.h: Added.
        * DefaultDelegates/WebDefaultUIDelegate.m: Added.
        * WebKit.xcodeproj/project.pbxproj:
        * WebView/WebDefaultContextMenuDelegate.h: Removed.
        * WebView/WebDefaultContextMenuDelegate.m: Removed.
        * WebView/WebDefaultEditingDelegate.h: Removed.
        * WebView/WebDefaultEditingDelegate.m: Removed.
        * WebView/WebDefaultFrameLoadDelegate.h: Removed.
        * WebView/WebDefaultFrameLoadDelegate.m: Removed.
        * WebView/WebDefaultPolicyDelegate.h: Removed.
        * WebView/WebDefaultPolicyDelegate.m: Removed.
        * WebView/WebDefaultResourceLoadDelegate.h: Removed.
        * WebView/WebDefaultResourceLoadDelegate.m: Removed.
        * WebView/WebDefaultScriptDebugDelegate.h: Removed.
        * WebView/WebDefaultScriptDebugDelegate.m: Removed.
        * WebView/WebDefaultUIDelegate.h: Removed.
        * WebView/WebDefaultUIDelegate.m: Removed.

2006-02-08  Justin Garcia  <justin.garcia@apple.com>

        Original patch by Graham Dennis, reviewed by me:
        
        <http://bugs.webkit.org/show_bug.cgi?id=3982>
        webViewDidBeginEditing, webViewDidEndEditing notification methods not called on delegate
        
        Changes made by me, reviewed by thatcher:
        
        Made _setWindowHasFocus: and _setDisplaysWithFocusAttributes: into private SPI to allow
        for the testing of window.onFocus, window.onBlur, caret and focus halo painting, and 
        the focusing of content editable regions that happens as side effect of setting a selection,
        but only if the window has focus (7128).

        * WebCoreSupport/WebFrameBridge.m:
        (-[WebFrameBridge didBeginEditing]):
        (-[WebFrameBridge didEndEditing]):
        * WebView/WebHTMLView.m:
        (-[WebHTMLView updateFocusState]):
        (-[WebHTMLView _setWindowHasFocus:]):
        (-[WebHTMLView _setDisplaysWithFocusAttributes:]):
        * WebView/WebHTMLViewPrivate.h:

2006-02-08  David Kilzer  <ddkilzer@kilzer.net>

        Reviewed by Darin.

        - Fix http://bugs.webkit.org/show_bug.cgi?id=3527
        Allow Safari to open postscript files in browser windows as well

        * WebView/WebPDFRepresentation.m:
        (+[WebPDFRepresentation postScriptMIMETypes]): Added.
        (+[WebPDFRepresentation supportedMIMETypes]): Include PostScript MIME types.
        (-[WebPDFRepresentation convertPostScriptDataSourceToPDF:]): Added.
        (-[WebPDFRepresentation finishedLoadingWithDataSource:]):
        Handle PostScript conversion using new convertPostScriptDataSourceToPDF method.

2006-02-07  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by Timothy.

        Convert JavaScript objects to appropriate AppleScript types, instead of only strings
        http://bugs.webkit.org/show_bug.cgi?id=7012

        Tests: fast/AppleScript/*

        * WebView/WebView.m:
        (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Added.
        * WebView/WebViewPrivate.h:

2006-02-06  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Eric.

        - fixed "remove frame, renderer and completed flag from ChildFrame, make Frame track these"
        http://bugs.webkit.org/show_bug.cgi?id=7125
        
        - fixed "onload event never called for iframe element with emtpy or about:blank src"
        http://bugs.webkit.org/show_bug.cgi?id=3609

        * WebCoreSupport/WebFrameBridge.h:
        * WebCoreSupport/WebFrameBridge.m:
        (-[WebFrameBridge initWithPage:webView:renderer:frameName:view:]): Pass along renderer.
        (-[WebFrameBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]): Pass along renderer.
        * WebCoreSupport/WebPageBridge.m:
        (-[WebPageBridge initWithMainFrameName:webView:frameView:]): Pass null for renderer.
        * WebView/WebView.m:
        * WebView/WebViewPrivate.h:

2006-02-06  John Sullivan  <sullivan@apple.com>

        Reviewed by Maciej Stachowiak.

        * WebView/WebPDFView.m:
        (-[WebPDFView menuForEvent:]):
        Removed use of WKExecutableLinkedInTigerOrEarlier() by modifying backward-compatibility
        hack involving PDF view context menus. Now we only bother to make sure that the PDFKit-
        supplied context menu items are present in Safari, for the benefit of the open source
        folks using tip of tree WebKit but older released Safari; it's possible that some other
        existing WebKit apps won't show all the PDF view context menu items.

2006-02-06  Maciej Stachowiak  <mjs@apple.com>

        Remove remaining .subproj references to fix release build.

        * WebKit.xcodeproj/project.pbxproj:

2006-02-06  Maciej Stachowiak  <mjs@apple.com>

        Rubber stamped by Hyatt.
        
        - renamed subproject directories to not end with .subproj

        * Carbon: renamed from Carbon.subproj
        * DOM: renamed from DOM.subproj
        * History: renamed from History.subproj
        * Misc: renamed from Misc.subproj
        * Panels: renamed from Panels.subproj
        * Plugins: renamed from Plugins.subproj
        * WebCoreSupport: renamed from WebCoreSupport.subproj
        * WebInspector: renamed from WebInspector.subproj
        * WebView: renamed from WebView.subproj
        
2006-02-06  Maciej Stachowiak  <mjs@apple.com>

        Ooops, I made a last-minute change to my last patch that broke the build - fixed.

        * WebView.subproj/WebFrame.m:
        (-[WebFrame _closeOldDataSources]):
        (-[WebFrame _detachFromParent]):
        (-[WebFrame _transitionToCommitted:]):
        (-[WebFrame _checkLoadCompleteForThisFrame]):
        (-[WebFrame _handledOnloadEvents]):
        (-[WebFrame _loadItem:withLoadType:]):
        (-[WebFrame _goToItem:withLoadType:]):
        (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]):
        (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
        (-[WebFrame _clientRedirectCancelled:]):
        * WebView.subproj/WebFramePrivate.h:

2006-02-05  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.
        
        - shuffle things around so that WebFrame no longer has a WebView backpointer, the backpointer is
        at the bridge level.
        http://bugs.webkit.org/show_bug.cgi?id=7093

        * WebCoreSupport.subproj/WebFrameBridge.h:
        * WebCoreSupport.subproj/WebFrameBridge.m:
        (-[WebFrameBridge initWithPage:webView:frameName:view:]):
        (-[WebFrameBridge page]):
        (-[WebFrameBridge mainFrame]):
        (-[WebFrameBridge webView]):
        (-[WebFrameBridge createWindowWithURL:frameName:]):
        (-[WebFrameBridge showWindow]):
        (-[WebFrameBridge areToolbarsVisible]):
        (-[WebFrameBridge setToolbarsVisible:]):
        (-[WebFrameBridge isStatusbarVisible]):
        (-[WebFrameBridge setStatusbarVisible:]):
        (-[WebFrameBridge setWindowFrame:]):
        (-[WebFrameBridge windowFrame]):
        (-[WebFrameBridge setWindowContentRect:]):
        (-[WebFrameBridge windowContentRect]):
        (-[WebFrameBridge setWindowIsResizable:]):
        (-[WebFrameBridge windowIsResizable]):
        (-[WebFrameBridge firstResponder]):
        (-[WebFrameBridge makeFirstResponder:]):
        (-[WebFrameBridge closeWindowSoon]):
        (-[WebFrameBridge runJavaScriptAlertPanelWithMessage:]):
        (-[WebFrameBridge runJavaScriptConfirmPanelWithMessage:]):
        (-[WebFrameBridge canRunBeforeUnloadConfirmPanel]):
        (-[WebFrameBridge runBeforeUnloadConfirmPanelWithMessage:]):
        (-[WebFrameBridge runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]):
        (-[WebFrameBridge addMessageToConsole:]):
        (-[WebFrameBridge runOpenPanelForFileButtonWithResultListener:]):
        (-[WebFrameBridge setStatusText:]):
        (-[WebFrameBridge startLoadingResource:withURL:customHeaders:]):
        (-[WebFrameBridge startLoadingResource:withURL:customHeaders:postData:]):
        (-[WebFrameBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
        (-[WebFrameBridge focusWindow]):
        (-[WebFrameBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]):
        (-[WebFrameBridge userAgentForURL:]):
        (-[WebFrameBridge _nextKeyViewOutsideWebFrameViewsWithValidityCheck:]):
        (-[WebFrameBridge previousKeyViewOutsideWebFrameViews]):
        (-[WebFrameBridge defersLoading]):
        (-[WebFrameBridge setDefersLoading:]):
        (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]):
        (-[WebFrameBridge _preferences]):
        (-[WebFrameBridge selectWordBeforeMenuEvent]):
        (-[WebFrameBridge historyLength]):
        (-[WebFrameBridge canGoBackOrForward:]):
        (-[WebFrameBridge goBackOrForward:]):
        (-[WebFrameBridge print]):
        (-[WebFrameBridge pollForAppletInView:]):
        (-[WebFrameBridge respondToChangedContents]):
        (-[WebFrameBridge respondToChangedSelection]):
        (-[WebFrameBridge undoManager]):
        (-[WebFrameBridge issueCutCommand]):
        (-[WebFrameBridge issueCopyCommand]):
        (-[WebFrameBridge issuePasteCommand]):
        (-[WebFrameBridge issuePasteAndMatchStyleCommand]):
        (-[WebFrameBridge canPaste]):
        (-[WebFrameBridge overrideMediaType]):
        (-[WebFrameBridge isEditable]):
        (-[WebFrameBridge shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]):
        (-[WebFrameBridge shouldBeginEditing:]):
        (-[WebFrameBridge shouldEndEditing:]):
        (-[WebFrameBridge windowObjectCleared]):
        (-[WebFrameBridge spellCheckerDocumentTag]):
        (-[WebFrameBridge isContinuousSpellCheckingEnabled]):
        (-[WebFrameBridge didFirstLayout]):
        (-[WebFrameBridge dashboardRegionsChanged:]):
        (-[WebFrameBridge createModalDialogWithURL:]):
        (-[WebFrameBridge canRunModal]):
        (-[WebFrameBridge runModal]):
        * WebCoreSupport.subproj/WebPageBridge.h:
        * WebCoreSupport.subproj/WebPageBridge.m:
        (-[WebPageBridge initWithMainFrameName:webView:frameView:]):
        (-[WebPageBridge webView]):
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _fileWrapperForURL:]):
        (-[WebDataSource _webView]):
        (-[WebDataSource _setLoading:]):
        (-[WebDataSource _startLoading:]):
        (-[WebDataSource _setTitle:]):
        (-[WebDataSource _setRequest:]):
        (-[WebDataSource _updateIconDatabaseWithURL:]):
        (-[WebDataSource _defersCallbacksChanged]):
        (-[WebDataSource _setWebFrame:]):
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _traverseNextFrameStayWithin::]):
        (-[WebFrame _detachFromParent]):
        (-[WebFrame _setDataSource:]):
        (-[WebFrame _loadDataSource:withLoadType:formState:]):
        (-[WebFrame _initWithWebFrameView:webView:bridge:]):
        (-[WebFrame dealloc]):
        (-[WebFrame finalize]):
        (-[WebFrame webView]):
        * WebView.subproj/WebFrameView.m:
        (-[WebFrameView _webView]):
        (-[WebFrameView _goBack]):
        (-[WebFrameView _goForward]):
        * WebView.subproj/WebFrameViewInternal.h:
        * WebView.subproj/WebView.m:
        (-[WebView _createFrameNamed:inParent:allowsScrolling:]):
        (-[WebView _commonInitializationWithFrameName:groupName:]):

2006-02-04  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        * Misc.subproj/WebCoreStatistics.h:
        * Misc.subproj/WebCoreStatistics.m:
        (+[WebCoreStatistics javaScriptRootObjectTypeCounts]):
        javaScriptRootObjecTypeCounts -> javaScriptRootObjectTypeCounts

2006-02-04  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Hyatt.

        - change JavaScript collector statistics calls to use HashCountedSet instead
        of CFSet; other misc cleanup
        http://bugs.webkit.org/show_bug.cgi?id=7072

        * Misc.subproj/WebCoreStatistics.h:
        * Misc.subproj/WebCoreStatistics.m:
        (+[WebCoreStatistics javaScriptProtectedObjectsCount]): new
        (+[WebCoreStatistics javaScriptRootObjecTypeCounts]): new
        (+[WebCoreStatistics javaScriptRootObjectClasses]): deprecated
        (+[WebCoreStatistics javaScriptReferencedObjectsCount]): deprecated
        (+[WebCoreStatistics javaScriptNoGCAllowedObjectsCount]): Just return 0. Deprecated.

2006-02-03  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.
        
        - change spellchecker preflighting to happen via class methods instead of
        object methods.

        * WebView.subproj/WebView.m:
        (-[WebView setContinuousSpellCheckingEnabled:]):
        (+[WebView _preflightSpellCheckerNow:]):
        (+[WebView _preflightSpellChecker]):

2006-02-03  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Justin.

        Renamed configuration names to Debug, Release and Production.

        * WebKit.xcodeproj/project.pbxproj:

2006-02-02  David Hyatt  <hyatt@apple.com>

	Fix for bug 6957, rewrite image rendering in C++ and move it to
        WebCore.  Animation now stops lazily and just uses the CachedObject
        notification system to push updates so that rects no longer need to
        be cached (or sets of animating renderers in specific views).

        Reviewed by darin

        * Misc.subproj/WebNSPasteboardExtras.h:
        * Misc.subproj/WebNSPasteboardExtras.m:
        (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:]):
        (-[NSPasteboard _web_declareAndWriteDragImage:element:URL:title:archive:source:]):
        * Misc.subproj/WebNSViewExtras.h:
        * Misc.subproj/WebNSViewExtras.m:
        (-[NSView _web_dragImage:element:rect:event:pasteboard:source:offset:]):
        * WebCoreSupport.subproj/WebImageData.m:
        (-[WebImageData init]):
        * WebCoreSupport.subproj/WebImageRendererFactory.m:
        (+[WebImageRendererFactory shouldUseThreadedDecoding]):
        (+[WebImageRendererFactory setShouldUseThreadedDecoding:]):
        (-[WebImageRendererFactory setPatternPhaseForContext:inUserSpace:]):
        (-[WebImageRendererFactory imageDataForName:]):
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
        (-[NSArray elementAtPoint:]):
        * WebView.subproj/WebImageView.m:
        (-[WebImageView writeImageToPasteboard:types:]):
        (-[WebImageView elementAtPoint:]):
        (-[WebImageView mouseDragged:]):
        * WebView.subproj/WebView.m:
        (-[WebView _writeImageElement:withPasteboardTypes:toPasteboard:]):

2006-01-31  John Sullivan  <sullivan@apple.com>

        Reviewed by Tim Omernick.
        
        - fixed <rdar://problem/4267144> REGRESSION (10.4.2): Safari pages auto-scroll too easily 
        during drag over content [5853]
        
        There were two issues here:
        (1) dragging over a non-editable webview (such as a typical Safari page) should not have
        auto-scrolled at all; the fact that it did was an uninentional side effect of making
        auto-scroll work for editable webviews a la Blot.
        (2) the speed & hot area of the auto-scroll changed between 10.4.1 and 10.4.2.
        
        I have a fix for (1), which is the much more important issue. I'll modify the bugzilla bug
        to be about the remaining issue.

        * WebView.subproj/WebView.m:
        (-[WebView _autoscrollForDraggingInfo:timeDelta:]):
        do nothing if not editable
        (-[WebView _shouldAutoscrollForDraggingInfo:]):
        return NO if not editable

2006-01-31  John Sullivan  <sullivan@apple.com>

        Reviewed by Tim Omernick.
        
        Support for programmatic scrolling one line at a time for PDFs. (We already had support for
        programmatic scrolling one page at a time, and to top/end.)

        * WebView.subproj/WebPDFView.m:
        (-[WebPDFView _fakeKeyEventWithFunctionKey:]):
        generalized comment
        (-[WebPDFView scrollLineDown:]):
        pass a faked arrow-down key event
        (-[WebPDFView scrollLineUp:]):
        pass a faked arrow-up key event

2006-01-31  Darin Adler  <darin@apple.com>

        Reviewed by Hyatt.

        * WebCoreSupport.subproj/WebFrameBridge.m:
        (-[WebFrameBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]):
        Updated for name change.

2006-01-30  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Tim O.

        Add -Wno-deprecated-declarations to the compile flags for WebNetscapePluginPackage.m.
        <rdar://problem/4427068> LMGetCurApRefNum, CloseConnection and GetDiskFragment now deprecated.
        When we workaround these we can remove this compile flag.

        * WebKit.xcodeproj/project.pbxproj:

2006-01-30  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Justin.

        Remove the only use of -[NSFont glyphPacking]. This method was deprecated in Tiger
        and always returns NSNativeShortGlyphPacking.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer initWithFont:]):

2006-01-28  David Hyatt  <hyatt@apple.com>

        Clean up RenderImage, eliminating unneeded members and methods.
	
        Reviewed by darin

        * WebCoreSupport.subproj/WebImageRenderer.h:
        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer copyWithZone:]):
        (-[WebImageRenderer size]):
        (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):

2006-01-26  Tim Omernick  <timo@apple.com>

        Reviewed by John Sullivan.

	<rdar://problem/4422365>

        * WebView.subproj/WebHTMLView.m:
        (-[NSArray addSuperviewObservers]):
        In addition to registering for frame/bounds change notifications, call -_frameOrBoundsChanged.
        It will check the current size/scroll against the previous layout's size/scroll.  We need to
        do this here to catch the case where the WebView is laid out at one size, removed from its
        window, resized, and inserted into another window.  Our frame/bounds changed notifications
        will not be sent in that situation, since we only watch for changes while in the view hierarchy.

	I have verified that this does not cause unnecessary layouts while running the PLT.

2006-01-25  Vicki Murley  <vicki@apple.com>

        Reviewed by Beth Dakin.

	- fix <rdar://problem/4351664> REGRESSION (420+): extra URL in b/f list - navigating back to 
	previous page fails at apple.com/retail/)
 
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): grab the 
	redirect flag of the current load before calling _loadURL, which clears this flag, 
        (-[WebFrame _transitionToCommitted:]): remove misleading comment
        * History.subproj/WebHistoryItem.m:
        (-[WebHistoryItem setURL:]): release resources in the page cache when setting
        the URL on a WebHistoryItem

2006-01-25  Timothy Hatcher  <timothy@apple.com>

        Move off of -[NSFont widthOfString:] since it is now deprecated.
        Use the NSStringDrawing -[NSString sizeWithAttributes:] API.

        * WebCoreSupport.subproj/WebFileButton.m:
        (-[WebFileChooserButton bestVisualFrameSizeForCharacterCount:]):

2006-01-23  Darin Adler  <darin@apple.com>

        - fixed some small localizable strings issues

        * WebInspector.subproj/WebInspector.m:
        (-[DOMNode _nodeTypeName]): Changed so we don't have two localizable strings that
        are both "Document". I'm not sure we want to localize the DOM inspector UI at all,
        but this fixes things for now.
        (-[DOMNode _displayName]): Ditto.

        * English.lproj/Localizable.strings: Updated.
        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.

2006-01-23  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by thatcher
        
        Turned on -O2 for B&I build.

        * WebKit.xcodeproj/project.pbxproj:

2006-01-22  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Anders Carlsson.
        
        Makes the Inspector's Style pane take !important into account
        when marking overloaded properties.

        * WebInspector.subproj/webInspector/inspector.js:

2006-01-21  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Anders Carlsson.

        Make sure shorthand properties get striked-out if
        all the properties they expand into are overloaded.

        * WebInspector.subproj/webInspector/inspector.js:

2006-01-21  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Darin.

        Adds computed style to the Web Inspector.
        Adds a "mapped style" link to the mapped attributes.

        * WebInspector.subproj/webInspector/inspector.css:
        * WebInspector.subproj/webInspector/inspector.html:
        * WebInspector.subproj/webInspector/inspector.js:

2006-01-20  Timothy Hatcher  <timothy@apple.com>

        Reviewed by John, some parts by Darin.

        Removes the old WebDebugDOMNode code, superseded by the ObjC DOM and the Web Inspector.
        Since Safari 2.0 still relies on these classes for the Debug menu's "Show DOM Tree", we remove
        that menu item to prevent a crash.

        * WebKit.exp: adds WebInspector, removes WebDebugDOMNode
        * WebKit.xcodeproj/project.pbxproj: added the REMOVE_SAFARI_DOM_TREE_DEBUG_ITEM define so the new WebView code doesn't build in the Default config
        * WebView.subproj/WebDebugDOMNode.h: Removed.
        * WebView.subproj/WebDebugDOMNode.m: Removed.
        * WebView.subproj/WebView.m:
        (+[WebView initialize]): check if we are in Safari and IncludeDebugMenu is true then observe for NSApplicationDidFinishLaunchingNotification and call _finishedLaunching
        (+[WebView _finishedLaunching]): observe for NSMenuDidAddItemNotification now that the main menu is loaded and wait for the Debug menu to be added
        (+[WebView _removeDOMTreeMenuItem:]): when the debug menu is added remove the "Show DOM Tree" item

2006-01-20  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Hyatt.

        Corrects the cascade order for mapped attributes.
        Shows "inline stylesheet" rather than "null" for rules in <style> tags.

        * WebInspector.subproj/webInspector/inspector.js:

2006-01-19  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Eric.

        Adds inline style reporting and mapped attribute support to the Inspector Style pane.
        Cleans up the node attributes area with a more natural attr = "value" look.
        Slight optimization to only update visible scrollbars during a window resize.

        * WebInspector.subproj/webInspector/inspector.css:
        * WebInspector.subproj/webInspector/inspector.js:

2006-01-19  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Darin.
        
        http://bugs.webkit.org/show_bug.cgi?id=6631
        Inspector window has inappropriate maximum height

        * WebInspector.subproj/WebInspector.m:
        (-[WebInspector window]): removes the maximum size constraint

2006-01-19  John Sullivan  <sullivan@apple.com>

        Reviewed by Tim Omernick.

        * WebKit.xcodeproj/project.pbxproj:
        made WebNSUserDefaultsExtras.h private (SPI) so its one method can be called from
        Safari, so Safari can stop calling the similar method in Foundation.

2006-01-19  John Sullivan  <sullivan@apple.com>

        Reviewed by Tim Omernick.
        
        Made _webKit_guessedMIMEType SPI so Safari can use it in order to stop using
        the similar SPI method in Foundation. This involved splitting it out of the file
        it was in, to avoid creating any other new SPI here. Poor svn diff got mighty
        confused in the process.

        * Misc.subproj/WebNSDataExtras.h:
        removed _webkit_guessedMIMEType from here
        * Misc.subproj/WebNSDataExtrasPrivate.h: 
        Added. Contains only _webkit_guessedMIMEType. This file is private (SPI), whereas
        WebNSDataExtras.h is project-internal. I could have renamed WebNSDateExtras.h to
        WebNSDateExtrasInternal.h also, but I minimized the gratuitous change level here
        by not doing that.
        
        * Misc.subproj/WebNSDataExtras.m:
        Despite the great confusion of svn diff, all I actually did here was move 
        _webkit_guessedMIMEType and its helper _webkit_guessedMIMETypeForXML into a new
        category. No lines of code were harmed while creating this patch.

        * WebKit.xcodeproj/project.pbxproj:
        updated for new file

        * WebView.subproj/WebView.m:
        Added #import for new file since WebView uses _webkit_guessedMIMEType

2006-01-19  John Sullivan  <sullivan@apple.com>

        Reviewed by Tim Omernick.

        * Misc.subproj/WebNSURLExtras.h:
        added declaration of _webkit_rangeOfURLScheme so Safari can call it as a step
        towards weaning Safari from Foundation SPI.

2006-01-17  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by eric
        
        Deployment builds now use -O2

        * WebKit.xcodeproj/project.pbxproj:

2006-01-17  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin.

        Fix for <rdar://problem/4112029> With Quartz scaling on, Safari incorrectly 
        handles mouseover effects

        The location of an event in the window should be converted to the superview 
        of the contentView to do accurate hitTesting.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _updateMouseoverWithEvent:]): Convert the point to the
        contentView's superview from nil. 

2006-01-16  Timothy Hatcher  <timothy@apple.com>

        Rubber stamped by Maciej.

        Check for a new "WebKitDeveloperExtras" default when
        including the "Inspect Element" context menu item.
        We should retire the other one eventually.

        * WebView.subproj/WebView.m:
        (-[WebView _menuForElement:defaultItems:]):

2006-01-17  Anders Carlsson  <andersca@mac.com>

        Reviewed by Timothy Hatcher.

        - http://bugs.webkit.org/show_bug.cgi?id=6594
        Web Inspector: finish node attributes
        
        * WebInspector.subproj/webInspector/inspector.css:
        * WebInspector.subproj/webInspector/inspector.html:
        * WebInspector.subproj/webInspector/inspector.js:
        Add initial support for element attributes.

2006-01-16  John Sullivan  <sullivan@apple.com>

        Reviewed by Vicki Murley.
        
        - fixed <rdar://problem/4409288> REGRESSION (TOT): When no selection is present on page, 
        Jump to Selection doesn't beep

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _hasInsertionPoint]):
        new helper method
        (-[NSArray validateUserInterfaceItem:]):
        Don't validate this menu item (or a couple of others) if the selection is a caret and
        the page isn't editable. In that state, there is no visible selection so this menu item
        doesn't make sense. I suspect this was broken by some editing-related change that makes
        selectionState return WebSelectionStateCaret here where it used to return WebSelectionStateNone.

2006-01-16  Tim Omernick  <timo@apple.com>

        Reviewed by John Sullivan.

	WebKit part of <rdar://problem/4211707> NPAPI ref count behavior differs with Mozilla

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView getVariable:value:]):
	The returned window script object is expected to be retained, as described here:
	<http://www.mozilla.org/projects/plugins/npruntime.html#browseraccess>

2006-01-16  Anders Carlsson  <andersca@mac.com>

        Reviewed by Darin.

        * WebInspector.subproj/webInspector/inspector.js:
        Use defined NodeType values instead of integers.

2006-01-15  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Darin.
 
        New DOM Inspector that lives in WebKit and is accessible from any WebView.
        Accessible from a contextual menu when the WebKitEnableInspectElementContextMenuItem default is
        true or you have a development build. Browsing the tree, serialized HTML and CSS rules work.
 
        To always enable enter the following in the Terminal (change the bundle id to affect other WebKit apps):
        defaults write com.apple.Safari WebKitEnableInspectElementContextMenuItem -bool true
 
        http://bugs.webkit.org/show_bug.cgi?id=6571

        * English.lproj/Localizable.strings:
        * English.lproj/StringsNotToBeLocalized.txt: reorder of the entries
        * Misc.subproj/WebKitNSStringExtras.h:
        * Misc.subproj/WebKitNSStringExtras.m:
        (-[NSString _webkit_stringByCollapsingWhitespaceCharacters]): collapses consecutive whitespace into a single space
        * WebCoreSupport.subproj/WebFrameBridge.m:
        (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:]): cleanup
        (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]): call the new UI delegate method
        * WebInspector.subproj: Added.
        * WebInspector.subproj/WebInspector.h: Added.
        * WebInspector.subproj/WebInspector.m: Added.
        (+[WebInspector sharedWebInspector]):
        (-[WebInspector init]):
        (-[WebInspector initWithWebFrame:]):
        (-[WebInspector dealloc]):
        (-[WebInspector window]):
        (-[WebInspector windowDidLoad]):
        (-[WebInspector windowWillClose:]):
        (-[WebInspector showWindow:]):
        (-[WebInspector setWebFrame:]):
        (-[WebInspector webFrame]):
        (-[WebInspector setRootDOMNode:]):
        (-[WebInspector rootDOMNode]):
        (-[WebInspector setFocusedDOMNode:]):
        (-[WebInspector focusedDOMNode]):
        (-[WebInspector setSearchQuery:]):
        (-[WebInspector searchQuery]):
        (-[WebInspector searchResults]):
        (-[WebInspector showOptionsMenu]):
        (-[WebInspector selectNewRoot:]):
        (-[WebInspector resizeTopArea:]):
        (-[WebInspector treeViewScrollTo:]):
        (-[WebInspector treeViewOffsetTop]):
        (-[WebInspector treeViewScrollHeight]):
        (-[WebInspector traverseTreeBackward]):
        (-[WebInspector traverseTreeForward]):
        (-[WebInspector _toggleIgnoreWhitespace:]):
        (-[WebInspector _highlightNode:]):
        (-[WebInspector _nodeHighlightExpired:]):
        (-[WebInspector _focusRootNode:]):
        (-[WebInspector _revealAndSelectNodeInTree:]):
        (-[WebInspector _showSearchResults:]):
        (-[WebInspector _refreshSearch]):
        (-[WebInspector _update]):
        (-[WebInspector _updateRoot]):
        (-[WebInspector _updateTreeScrollbar]):
        (+[WebInspector isSelectorExcludedFromWebScript:]):
        (+[WebInspector webScriptNameForSelector:]):
        (+[WebInspector isKeyExcludedFromWebScript:]):
        (-[WebInspector handleEvent:]):
        (-[WebInspector webView:didFinishLoadForFrame:]):
        (-[WebInspector webView:plugInViewWithArguments:]):
        (-[WebInspector outlineView:numberOfChildrenOfItem:]):
        (-[WebInspector outlineView:isItemExpandable:]):
        (-[WebInspector outlineView:child:ofItem:]):
        (-[WebInspector outlineView:objectValueForTableColumn:byItem:]):
        (-[WebInspector outlineView:willDisplayOutlineCell:forTableColumn:item:]):
        (-[WebInspector outlineViewItemDidCollapse:]):
        (-[WebInspector outlineViewSelectionDidChange:]):
        (-[WebInspectorPrivate dealloc]):
        (-[DOMHTMLElement _addClassName:]): Helper method for the Inspector to append style classes
        (-[DOMHTMLElement _removeClassName:]): Helper method for the Inspector to remove style classes
        (-[DOMNode _contentPreview]):
        (-[DOMNode _isAncestorOfNode:]):
        (-[DOMNode _isDescendantOfNode:]):
        (-[DOMNode _isWhitespace]):
        (-[DOMNode _lengthOfChildNodesIgnoringWhitespace]):
        (-[DOMNode _childNodeAtIndexIgnoringWhitespace:]):
        (-[DOMNode _nextSiblingSkippingWhitespace]):
        (-[DOMNode _previousSiblingSkippingWhitespace]):
        (-[DOMNode _firstChildSkippingWhitespace]):
        (-[DOMNode _lastChildSkippingWhitespace]):
        (-[DOMNode _firstAncestorCommonWithNode:]):
        (-[DOMNode _traverseNextNodeStayingWithin:]):
        (-[DOMNode _traverseNextNodeSkippingWhitespaceStayingWithin:]):
        (-[DOMNode _traversePreviousNode]):
        (-[DOMNode _traversePreviousNodeSkippingWhitespace]):
        (-[DOMNode _nodeTypeName]):
        (-[DOMNode _shortDisplayName]):
        (-[DOMNode _displayName]):
        * WebInspector.subproj/WebInspectorInternal.h: Added.
        * WebInspector.subproj/WebInspectorOutlineView.h: Added.
        * WebInspector.subproj/WebInspectorOutlineView.m: Added.
        (-[WebInspectorOutlineView isOpaque]):
        (-[WebInspectorOutlineView _highlightColorForCell:]):
        (-[WebInspectorOutlineView _highlightRow:clipRect:]):
        (-[WebInspectorOutlineView drawBackgroundInClipRect:]):
        * WebInspector.subproj/WebInspectorPanel.h: Added.
        * WebInspector.subproj/WebInspectorPanel.m: Added.
        (-[WebInspectorPanel canBecomeKeyWindow]):
        (-[WebInspectorPanel canBecomeMainWindow]):
        (-[WebInspectorPanel moveWindow:]):
        (-[WebInspectorPanel resizeWindow:]):
        (-[WebInspectorPanel sendEvent:]):
        * WebInspector.subproj/WebNodeHighlight.h: Added.
        * WebInspector.subproj/WebNodeHighlight.m: Added.
        (-[WebNodeHighlight initWithBounds:andRects:forView:]):
        (-[WebNodeHighlight dealloc]):
        (-[WebNodeHighlight fractionComplete]):
        (-[WebNodeHighlight expire]):
        (-[WebNodeHighlight redraw:]):
        * WebInspector.subproj/WebNodeHighlightView.h: Added.
        * WebInspector.subproj/WebNodeHighlightView.m: Added.
        (-[WebNodeHighlightView roundedRect:withRadius:]):
        (-[WebNodeHighlightView initWithHighlight:andRects:forView:]):
        (-[WebNodeHighlightView dealloc]):
        (-[WebNodeHighlightView isOpaque]):
        (-[WebNodeHighlightView drawRect:]):
        * WebInspector.subproj/webInspector: Added.
        * WebInspector.subproj/webInspector/Images: Added.
        * WebInspector.subproj/webInspector/Images/close.png: Added.
        * WebInspector.subproj/webInspector/Images/closePressed.png: Added.
        * WebInspector.subproj/webInspector/Images/downTriangle.png: Added.
        * WebInspector.subproj/webInspector/Images/menu.png: Added.
        * WebInspector.subproj/webInspector/Images/menuPressed.png: Added.
        * WebInspector.subproj/webInspector/Images/popupFill.png: Added.
        * WebInspector.subproj/webInspector/Images/popupFillPressed.png: Added.
        * WebInspector.subproj/webInspector/Images/popupLeft.png: Added.
        * WebInspector.subproj/webInspector/Images/popupLeftPressed.png: Added.
        * WebInspector.subproj/webInspector/Images/popupRight.png: Added.
        * WebInspector.subproj/webInspector/Images/popupRightPressed.png: Added.
        * WebInspector.subproj/webInspector/Images/rightTriangle.png: Added.
        * WebInspector.subproj/webInspector/Images/scrollThumbBottom.png: Added.
        * WebInspector.subproj/webInspector/Images/scrollThumbMiddle.png: Added.
        * WebInspector.subproj/webInspector/Images/scrollThumbTop.png: Added.
        * WebInspector.subproj/webInspector/Images/scrollTrackBottom.png: Added.
        * WebInspector.subproj/webInspector/Images/scrollTrackMiddle.png: Added.
        * WebInspector.subproj/webInspector/Images/scrollTrackTop.png: Added.
        * WebInspector.subproj/webInspector/Images/squareButtonRight.png: Added.
        * WebInspector.subproj/webInspector/Images/squareButtonRightPressed.png: Added.
        * WebInspector.subproj/webInspector/Images/upTriangle.png: Added.
        * WebInspector.subproj/webInspector/inspector.css: Added.
        * WebInspector.subproj/webInspector/inspector.html: Added.
        * WebInspector.subproj/webInspector/inspector.js: Added.
        * WebKit.xcodeproj/project.pbxproj: Adds Web Inspector files
        * WebView.subproj/WebUIDelegatePrivate.h: new UI delegate method to supply a replacement view for plugins
        * WebView.subproj/WebView.m:
        (-[WebView _menuForElement:defaultItems:]): Add a new context menu item for inspecting
        (-[WebView _inspectElement:]): Context menu item target for inspecting

2006-01-14  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by Darin.

        - Fix http://bugs.webkit.org/show_bug.cgi?id=6531
        document.cookie="killmenothing" doesn't set the cookie

        * WebCoreSupport.subproj/WebCookieAdapter.m: (-[WebCookieAdapter setCookies:forURL:policyBaseURL:]):
        Append an '=' to the cookie string if it has none, so that 
        +[NSHTTPCookie cookiesWithResponseHeaderFields:forURL:] can parse it.

2006-01-14  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Eric.

        - added bridging infrastructure for Page class
        
        * WebCoreSupport.subproj/WebPageBridge.h: Added.
        * WebCoreSupport.subproj/WebPageBridge.m: Added.
        (-[WebPageBridge initWithMainFrameName:view:]): New class, somewhat obvious.
        * WebKit.xcodeproj/project.pbxproj:
        * WebView.subproj/WebView.m:
        (-[WebViewPrivate dealloc]): Don't use _mainFrameBrige, use _pageBridge
        (-[WebView _close]): ditto
        (-[WebView _commonInitializationWithFrameName:groupName:]): ditto
        (-[WebView mainFrame]): ditto

2006-01-12  Maciej Stachowiak  <mjs@apple.com>

        Rubber stamped by Eric.

        - rename WebBridge to WebFrameBridge
        
        - also removed all tabs from WebFrameBridge.m

        * DOM.subproj/WebDOMOperations.m:
        (-[DOMNode _bridge]):
        (-[DOMNode webArchive]):
        (-[DOMRange _bridge]):
        (-[DOMRange webArchive]):
        * DOM.subproj/WebDOMOperationsPrivate.h:
        * English.lproj/StringsNotToBeLocalized.txt:
        * Misc.subproj/WebCoreStatistics.m:
        * Misc.subproj/WebNSViewExtras.h:
        * Misc.subproj/WebNSViewExtras.m:
        (-[NSView _bridge]):
        * Plugins.subproj/WebBaseNetscapePluginView.m:
        * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
        * Plugins.subproj/WebNetscapePluginStream.m:
        (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
        * Plugins.subproj/WebPluginContainerCheck.m:
        (-[WebPluginContainerCheck _isForbiddenFileLoad]):
        * Plugins.subproj/WebPluginController.h:
        * Plugins.subproj/WebPluginController.m:
        (-[WebPluginController bridge]):
        * WebCoreSupport.subproj/WebBridge.h: Removed.
        * WebCoreSupport.subproj/WebBridge.m: Removed.
        * WebCoreSupport.subproj/WebFileButton.h:
        * WebCoreSupport.subproj/WebFileButton.m:
        (-[WebFileChooserButton initWithBridge:delegate:]):
        * WebCoreSupport.subproj/WebFrameBridge.h: Added.
        * WebCoreSupport.subproj/WebFrameBridge.m: Added.
        (-[WebFrameBridge mainFrame]):
        (-[WebFrameBridge createWindowWithURL:frameName:]):
        (-[WebFrameBridge canTargetLoadInFrame:]):
        (-[WebFrameBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]):
        (formDelegate):
        (-[WebFrameBridge createModalDialogWithURL:]):
        * WebCoreSupport.subproj/WebSubresourceLoader.m:
        * WebCoreSupport.subproj/WebTextRendererFactory.m:
        * WebCoreSupport.subproj/WebViewFactory.m:
        (-[WebViewFactory bridgeForView:]):
        * WebKit.xcodeproj/project.pbxproj:
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _bridge]):
        (-[WebDataSource _receivedMainResourceError:complete:]):
        (-[WebDataSource _stringWithData:]):
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebDebugDOMNode.m:
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _traverseNextFrameStayWithin::]):
        (Frame):
        (-[WebFrame _detachFromParent]):
        (-[WebFrame _bridge]):
        (-[WebFrame _initWithWebFrameView:webView:bridge:]):
        * WebView.subproj/WebFrameInternal.h:
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebFrameView.m:
        (-[WebFrameView webCoreBridge]):
        (-[WebFrameView _bridge]):
        * WebView.subproj/WebHTMLRepresentation.m:
        (+[WebHTMLRepresentation supportedMIMETypes]):
        (-[WebHTMLRepresentation _bridge]):
        (-[WebHTMLRepresentation documentSource]):
        * WebView.subproj/WebHTMLRepresentationPrivate.h:
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]):
        (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:]):
        (-[WebHTMLView updateFocusState]):
        (-[NSArray validateUserInterfaceItem:]):
        (-[NSArray attributedString]):
        (-[NSArray selectedAttributedString]):
        (-[NSArray concludeDragForDraggingInfo:actionMask:]):
        (-[NSArray keyDown:]):
        (-[NSArray _alterCurrentSelection:direction:granularity:]):
        (-[NSArray _alterCurrentSelection:verticalDistance:]):
        (-[NSArray _expandSelectionToGranularity:]):
        (-[NSArray cut:]):
        (-[NSArray _applyStyleToSelection:withUndoAction:]):
        (-[NSArray _applyParagraphStyleToSelection:withUndoAction:]):
        (-[NSArray pasteAsPlainText:]):
        (-[NSArray insertNewline:]):
        (-[NSArray insertLineBreak:]):
        (-[NSArray insertParagraphSeparator:]):
        (-[NSArray _changeWordCaseWithSelector:]):
        (-[NSArray startSpeaking:]):
        (-[NSArray selectToMark:]):
        (-[NSArray swapWithMark:]):
        (-[NSArray transpose:]):
        (-[WebHTMLView characterIndexForPoint:]):
        (-[WebHTMLView firstRectForCharacterRange:]):
        (-[WebHTMLView selectedRange]):
        (-[WebHTMLView attributedSubstringFromRange:]):
        (-[WebHTMLView _selectMarkedText]):
        (-[WebHTMLView _selectRangeInMarkedText:]):
        (-[WebHTMLView setMarkedText:selectedRange:]):
        (-[WebHTMLView _selectionIsInsideMarkedText]):
        (-[WebTextCompleteController _insertMatch:]):
        (-[WebTextCompleteController doCompletion]):
        (-[WebTextCompleteController endRevertingChange:moveLeft:]):
        * WebView.subproj/WebHTMLViewPrivate.h:
        * WebView.subproj/WebImageView.m:
        * WebView.subproj/WebMainResourceLoader.m:
        * WebView.subproj/WebRenderNode.m:
        * WebView.subproj/WebResource.m:
        (-[WebResource _stringValue]):
        * WebView.subproj/WebScriptDebugDelegate.m:
        * WebView.subproj/WebTextView.m:
        * WebView.subproj/WebView.m:
        (-[WebView _createFrameNamed:inParent:allowsScrolling:]):
        (-[WebView _commonInitializationWithFrameName:groupName:]):
        (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]):
        (-[WebView moveDragCaretToPoint:]):
        (-[WebView shouldClose]):
        (-[WebView editableDOMRangeForPoint:]):
        (-[WebView setEditable:]):
        (-[WebView deleteSelection]):
        (-[WebView _bridgeForSelectedOrMainFrame]):
        (-[WebView _bridgeAtPoint:]):

2006-01-13  Darin Adler  <darin@apple.com>

        - Replaced tabs with spaces in source files that had less than 10 lines with tabs.
        - Set allow-tabs Subversion property in source files that have more than 10 lines with tabs.

2006-01-12  John Sullivan  <sullivan@apple.com>

        Reviewed by Tim O.
        
        - fixed <rdar://problem/4406994> REGRESSION (TOT): zooming window at cnn.com 
        makes window fill width of screen

        * WebView.subproj/WebFrameView.m:
        (-[WebFrameView _largestChildWithScrollBars]):
        now skips zero-area frames, used by some evil ads

2006-01-10  John Sullivan  <sullivan@apple.com>

        Reviewed by Tim H.
        
        - fixed <rdar://problem/4265966> PDFs continue to show a (secondary) selection 
        when the focus moves elsewhere

        * WebView.subproj/WebPDFView.h:
        added trackedFirstResponder ivar
        
        * WebView.subproj/WebPDFView.m:
        (-[WebPDFView dealloc]):
        assert that trackedFirstResponder is nil, as it was released/cleared in viewWillMoveToWindow:
        (-[WebPDFView _trackFirstResponder]):
        If the tracked first responder was the PDFView's documentView, and the current first responder isn't,
        deselect all. This is equivalent to overriding resignFirstResponder in the PDFView's 
        documentView and deselecting all there, as other web document view classes do. Also, keep track of
        the new first responder for next time.
        (-[WebPDFView viewWillMoveToWindow:]):
        stop observing NSWindowDidUpdateNotification on the old window
        (-[WebPDFView viewDidMoveToWindow]):
        start observing NSWindowDidUpdateNotification on the new window, with _trackFirstResponder
        as the callback. Ideally we'd use a notification that tells us that the first responder is
        changing, but there is no such notification, so we have to use this very frequent one instead.
        The archaic 2573089 tracks the desire to have a responder-changed notification.
        (-[WebPDFView becomeFirstResponder]):
        removed comment about this bug that's now obsolete

2006-01-11  Darin Adler  <darin@apple.com>

        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.

2006-01-09  Darin Adler  <darin@apple.com>

        * Makefile.am: Removed.

2006-01-09  John Sullivan  <sullivan@apple.com>

        Reviewed by Beth Dakin.
                
        - fixed <rdar://problem/4302263> CrashTracer: 504 crashes in Safari at 
        com.apple.AppKit: NSTargetForSendAction + 1060
        
        The problem was that back/forward/stop/reload context menu items had nil targets,
        and thus were relying on AppKit to start from the context menu target (the clicked-upon 
        view) and use the responder chain to find the WebView to act as the target. In Tiger, 
        context menus don't retain their implicit target (the clicked-upon view again), and
        there was a race condition where the WebHTMLView could be dealloc'ed while the menu item
        was being processed, eventually crashing in AppKit. The fix is to explicitly set the
        target of these four menu items to the WebView, since the WebView is not dealloc'ed
        in the loading process.
        
        This might be fixed in a future version of AppKit by making the context menu retain its
        implicit target until it is dismissed, but with this change it will be fixed regardless
        of potential AppKit changes.

        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultUIDelegate menuItemWithTag:target:]):
        Added target: parameter and removed code that set the target for some menu items; now the
        caller is responsible for supplying the target.
        (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
        Supply target (or nil) in calls to menuItemWithTag:target:. This matches existing behavior
        except for Back/Forward/Stop/Reload, which used to supply no target but now supply the
        WebView as the target.
        (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
        Supply target (or nil) in calls to menuItemWithTag:target:

2006-01-09  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin.
        
        - Second cut at fixing <rdar://problem/4268278> Submitting a form 
        in onUnload event handler causes crash in 
        -[WebDataSource(WebPrivate) _commitIfReady:].)

        - Fixes http://bugs.webkit.org/show_bug.cgi?id=6331
        REGRESSION: form events don't fire after back/forward navigation, 
        due to inconsistent load state
        
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _stopLoading]): 
        (1) If there are no resource loaders to signal the WebView that we've
        been canceled, manufacture the signal. Otherwise, the cancel gets 
        ignored and nobody cleans up after the load. (We signal the WebView but
        not the WebFrame because we don't want the WebFrame to tear down the 
        data source.  Unlike most canceled data sources, this one has valid data 
        because it's in the back/forward cache.)
        (2) Update _private->stopping before returning because if the 
        data source is in the back/forward cache it can be reused, so it 
        needs to be in a consistent state. (We never encountered this 
        situation before because we would always crash first.)
        (-[WebDataSource _commitLoadWithData:]): Move _commitIfReady call 
        inside retain block because the commit may cause an unload event 
        to fire, which may start a new load, deallocating the current 
        data source. (This is the same reason the rest of the function is 
        in the retain block.)
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _transitionToCommitted:]): If the unload handler 
        started a new load, return early to avoid stomping it.
        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): 
        Undo previous incorrect fix.
        (-[WebFrame stopLoading]): Remove misleading comment. Setting 
        provisionalDataSource to nil is not optional but required for 
        internal consistency.

2006-01-09  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by Maciej.

        Affects many layout tests (when running with primary Russian language).

        - Fix http://bugs.webkit.org/show_bug.cgi?id=4759
        'ex' length unit calculation (Some layout tests fail if the system primary language is Russian)

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer xHeight]): Use glyphForCharacter() instead of -[NSFont glyphWithName:].

2006-01-07  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Darin, landed by ap.
        
        Test: fast/text/atsui-small-caps-punctuation-size.html
        
        - fix http://bugs.webkit.org/show_bug.cgi?id=6397
          ATSUI small caps use small punctuation
          
        * WebCoreSupport.subproj/WebTextRenderer.m:
        (createATSULayoutParameters): Changed the characters for which size must
        not change from !u_isbase() to the M* categories.

2006-01-06  John Sullivan  <sullivan@apple.com>

        Reviewed by Vicki Murley (full credit) and Tim Omernick (half credit).
        
        - fixed <rdar://problem/4401102> REGRESSION (420+): When displaying a PDF, tabbing around stops working after reaching page

        * WebView.subproj/WebPDFView.m:
        (-[WebPDFView setNextKeyView:]):
        Use [PDFSubview documentView] rather than PDFSubview here, since that's the view that we now hand off first-responderhood to.

2006-01-05  Tim Omernick  <timo@apple.com>

        Reviewed by Geoff.

	<rdar://problem/4400804> Client-side redirect to a non-HTTP URL confuses Safari

        * WebView.subproj/WebFrame.m:
        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
	If we were waiting for a quick redirect, but the policy delegate decided to ignore it, then we 
	need to report that the client redirect was cancelled.
	
2006-01-05  John Sullivan  <sullivan@apple.com>

        * WebView.subproj/WebPDFView.m:
        (-[WebPDFView _fakeKeyEventWithFunctionKey:]):
        Just added a FIXME comment about how to clean up this minor hack in the future.

2006-01-05  John Sullivan  <sullivan@apple.com>

        Reviewed by Tim O.
        
        - fixed these bugs:
        <rdar://problem/3021785> page up/down don't work on frameset pages unless you click        
        <rdar://problem/3021788> Page Up/Down moves an unscrollable frame if you click on it first
        
        and the WebKit part of this (need new Safari too for complete fix):
        <rdar://problem/4378905> Page up/down don't work in PDFs when address field is focused
        
        I moved some logic down from Safari that dealt with finding the largest scrollable child frame in a frameset,
        and added support for standard scrolling-related selectors to WebPDFView. The latter was needed for 4378905;
        the former was needed due to side effects of the Safari part of the change. As long as I was doing the former,
        I also used that logic to fix 3021785 and 3021788.
        
        * WebView.subproj/WebFrameViewPrivate.h:
        new currently-private methods _hasScrollBars and _largestChildWithScrollBars

        * WebView.subproj/WebFrameView.m:
        (-[WebFrameView scrollToBeginningOfDocument:]):
        if we don't have scroll bars, operate on our largest child with scroll bars instead
        (-[WebFrameView scrollToEndOfDocument:]):
        ditto
        (-[WebFrameView _pageVertically:]):
        ditto
        (-[WebFrameView _pageHorizontally:]):
        ditto
        (-[WebFrameView _scrollLineVertically:]):
        ditto
        (-[WebFrameView _scrollLineHorizontally:]):
        ditto
        (-[WebFrameView keyDown:]):
        where we were bailing out if ![self allowsScrolling], also check for whether there's a
        child with scroll bars, and don't bail out if so
        (-[WebFrameView _area]):
        new helper method used to implement _largestChildWithScrollBars (code moved from Safari)
        (-[WebFrameView _hasScrollBars]):
        new method, just returns YES if either scroll bar is showing (code moved from Safari)
        (-[WebFrameView _largestChildWithScrollBars]):
        new method, returns the child with the largest area that is showing at least one scroll bar
        (code moved from Safari and tweaked a little)
        
        * WebView.subproj/WebPDFView.m:
        (-[WebPDFView _fakeKeyEventWithFunctionKey:]):
        new method, hackaround for the fact that PDFView handles key downs from standard scrolling keys
        but does not implement the standard responder selectors
        (-[WebPDFView scrollPageDown:]):
        use _fakeKeyEventWithFunctionKey: to get the PDFView to scroll appropriately
        (-[WebPDFView scrollPageUp:]):
        ditto
        (-[WebPDFView scrollToBeginningOfDocument:]):
        ditto
        (-[WebPDFView scrollToEndOfDocument:]):
        ditto
        
        * WebView.subproj/WebView.m:
        add scrollToBeginningOfDocument and scrollToEndOfDocument to the list of responder operations
        that we hand off appropriately to the responder chain. These two aren't defined in any header
        but are generated by Home and End keys and used by the text system.

2006-01-05  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin.

        - Fixed http://bugs.webkit.org/show_bug.cgi?id=6361
        Add plugin support to DumpRenderTree

        * WebKit.exp: export WebPluginDatabase class, which DumpRenderTree
        needs to add plugins to the runtime.

2006-01-03  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

	- move frame management and finding code from WebKit to WebCore
	http://bugs.webkit.org/show_bug.cgi?id=6368

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView loadPluginRequest:]): Set frame name straight on the bridge,
	instead of having it bubble through the view and frame.
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge initWithFrameName:view:]): don't pass name to frame, we own it now; set it
	on ourselves directly
	(-[WebBridge findFrameNamed:]): removed
        (-[WebBridge createWindowWithURL:frameName:]): set name on bridge, not webview
        (-[WebBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]):
        (-[WebBridge runModal]): remove excess braces
        * WebKit.xcodeproj/project.pbxproj:
        * WebView.subproj/WebControllerSets.h: Removed.
        * WebView.subproj/WebControllerSets.m: Removed.
        * WebView.subproj/WebFrame.m:
        (-[WebFramePrivate name]): removed
        (-[WebFramePrivate setName:]): removed
        (-[WebFramePrivate dealloc]): don't release name, we no longer have one
        (-[WebFrame _appendChild:]): removed
        (-[WebFrame _removeChild:]): removed
        (-[WebFrame _createItem:]): removed stray space
        (-[WebFrame _immediateChildFrameNamed:]): Just call the bridge
        (-[WebFrame _setName:]): removed
        (-[WebFrame _detachFromParent]): remove bridge from parent note self
        (-[WebFrame _continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
        (-[WebFrame _addChild:]): Call appendChild: on bridge, not self
        (-[WebFrame _nextFrameWithWrap:]): just call bridge (and moved helpers there)
        (-[WebFrame _previousFrameWithWrap:]): just call bridge (and moved helpers there)
        (-[WebFrame _initWithWebFrameView:webView:bridge:]): don't take a name any more
        (-[WebFrame _setFrameNamespace:]): just call bridge
        (-[WebFrame _frameNamespace]): just call bridge
        (-[WebFrame _hasSelection]): remove excess braces
        (-[WebFrame _clearSelection]): ditto
        (-[WebFrame initWithName:webFrameView:webView:]): no more name
        (-[WebFrame name]): just call bridge
        (-[WebFrame findFrameNamed:]): just call bridge (and moved helpers there)
        (-[WebFrame parentFrame]): fixed for new style
        * WebView.subproj/WebFrameInternal.h:
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebView.m:
        * WebView.subproj/WebViewPrivate.h:

2006-01-03  Darin Adler  <darin@apple.com>

        Reviewed by Beth.

	This is a fix for <rdar://problem/3710994> HiDPI: Link underlines are 
	still one pixel high even if the UI resolution is > 100%

	This fix refactors -drawLineForCharacters to make its organization
	more logical. It changes behavior when printing to the screen by
	rounding the parameters of the line (x- and y-values, width, and 
	thickness) to integer boundaries in device space. Previously,
	this part of the routine just hardcoded a 1 pixel line.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (drawHorizontalLine): This just takes care of drawing the line once everything
	has been calculated in -drawLineForCharacters
        (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]):
	Now takes device space into account. Calls drawHorizontalLine

2006-01-03  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Vicki.

        - moved frame traversal code across from bridge, also dropped the children
	array

        * WebCoreSupport.subproj/WebBridge.h:
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge dealloc]): Don't release children array, that was moved
	down to WebCore.
        (-[WebBridge saveDocumentState:]):
	- many methods moved to WebCore.
        * WebView.subproj/WebFrame.m:
        (Frame): New convenience method to get a WebFrame * from a method that
	returns WebCoreBridge *.
        (-[WebFrame _firstChildFrame]): use Frame()
        (-[WebFrame _lastChildFrame]): ditto
        (-[WebFrame _previousSiblingFrame]): ditto
        (-[WebFrame _nextSiblingFrame]): ditto
        (-[WebFrame _traverseNextFrameStayWithin:]): ditto

2006-01-03  Anders Carlsson  <andersca@mac.com>

        Reviewed by Darin.

        - Fix http://bugs.webkit.org/show_bug.cgi?id=6357
        REGRESSION: iframe and target is broken
        
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _descendantFrameNamed:sourceFrame:]):
        Return the correct frame.

2006-01-02  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Eric.

	    - moved frame traversal logic from WebFrame to WebBridge
	    http://bugs.webkit.org/show_bug.cgi?id=6341

	    To do this, I had to invert the ownership so that WebBridge now
	    owns WebFrame instead of vice versa. As a result, WebView now owns
	    a WebBridge pointer and does not have a direct WebFrame pointer.

        * WebCoreSupport.subproj/WebBridge.h:
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge initWithFrameName:view:]): The initializer is now responsible for creating
	the frame, so pass it what it needs to do that.
        (-[WebBridge dealloc]): The bridge now owns the frame, so release it.
        (-[WebBridge close]): ditto
        (-[WebBridge firstChild]): Moved from WebFrame
        (-[WebBridge lastChild]): ditto
        (-[WebBridge childCount]): ditto
        (-[WebBridge previousSibling]): ditto
        (-[WebBridge nextSibling]): ditto
        (-[WebBridge isDescendantOfFrame:]): ditto
        (-[WebBridge traverseNextFrameStayWithin:]): ditto
        (-[WebBridge appendChild:]): ditto
        (-[WebBridge removeChild:]): ditto
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _removeChild::]): Call WebBridge version
        (-[WebFramePrivate dealloc]): ditto
        (-[WebFrame _firstChildFrame]): ditto
        (-[WebFrame _lastChildFrame]): ditto
        (-[WebFrame _childFrameCount]): ditto
        (-[WebFrame _previousSiblingFrame]): ditto
        (-[WebFrame _nextSiblingFrame]): ditto
        (-[WebFrame _traverseNextFrameStayWithin:]): ditto
        (-[WebFrame _appendChild:]): ditto
        (-[WebFrame _removeChild:]): ditto
        (-[WebFrame _isDescendantOfFrame:]): ditto,
        (-[WebFrame _detachFromParent]): reorder a bit to avoid losing our bridge
	pointer before the bridge is due to release us, and don't release the
	bridge any more since it now owns us
        (-[WebFrame _initWithName:webFrameView:webView:bridge:]): new initializer,
	we no longer create the bridge, instead it is passed in
        (-[WebFrame initWithName:webFrameView:webView:]): Call the new designated
	initializer, but this method is no longer viable and should be deprecated.
        * WebView.subproj/WebFrameInternal.h:
        
	* WebView.subproj/WebView.m: WebView was changed to hold onto
	the WebBridge for the main frame instead of the WebFrame.
	
        (-[WebViewPrivate dealloc]): update for the fact that we hold
	a bridge now, not a frame.
        (-[WebView _close]): ditto
        (-[WebView _createFrameNamed:inParent:allowsScrolling:]): Create
	a bridge, not a frame.
        (-[WebView _commonInitializationWithFrameName:groupName:]): ditto.
        (-[WebView setDefersCallbacks:]): get mainFrame via method
        (-[WebView mainFrame]): Update to get the main frame properly

2005-12-30  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Darin, landed by ap.
        
        Test: fast/text/justified-text-rect.html
        
        - WebKit part of fix for
          http://bugs.webkit.org/show_bug.cgi?id=5461
          Text width measured incorrectly when text-align: justify

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer selectionRectForRun:style:geometry:]): Added.
        (CG_drawHighlight): Use new function CG_selectionRect.
        (CG_selectionRect): New function to compute the selection rect.
        Eliminated rounding hackery that was required for keeping the highlight
        rect within the selection rect computed by
        InlineTextBox::selectionRect, since the latter uses this function now.
        The new selection rect is wider and matches AppKit more closely,
        although the right hand side is roundf()ed instead of cielf()ed for
        optimal caret positioning.
        (ATSU_drawHighlight): Use new function ATSU_selectionRect.
        (ATSU_selectionRect): New function to compute the selection rect.
        Much like CG_selectionRect.

2005-12-29  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Eric.

        Manual testcase added:
        WebCore/manual-tests/onunload-form-submit-crash.html

        - Fixed <rdar://problem/4268278> Submitting a form in onUnload event 
        handler causes crash in -[WebDataSource(WebPrivate) _commitIfReady:] 

        The problem is that the form submission in the unload event kicks off 
        a new load in the midst of the load that caused the unload event to 
        fire in the first place, so the two loads stomp each other.

        The solution is to cancel the first load and let the unload handler's 
        load win. (Firefox does the same.)

        * WebView.subproj/WebFrame.m:
        (-[WebFrame _transitionToCommitted:]): Moved call to -closeURL up
        the call stack to _continueLoadRequest. (See below.) This has the 
        side-effect of always firing the unload event, even if the new 
        datasource never becomes committed, which seems like a good thing. 

        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
        Call -closeURL here, instead of in _transitionToCommitted,  so that the
        unload handler can fire before we initialize any part of the load.
        
        Check provisionalDataSource for nil to discover if the unload event
        kicked off its own load.

        Cleared up some coments.

        (-[WebFrame _detachFromParent]):
        It turns out that if you close the window instead of just navigating
        to a new page, you get an alternate assertion failure/crash because
        the load kicked off by the unload event handler generates resource
        loader callbacks after the associated WebFrame/WebView has disappeared.

        The nifty solution here is just to reverse the order of calls to
        -stopLoading and -closeURL, thus guaranteeing that -stopLoading has the
        last word when you close a window.

2005-12-30  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Eric, committed by Maciej.
        
        - fix for http://bugs.webkit.org/show_bug.cgi?id=6288
          HEAD build broken 12/29/2005

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (overrideLayoutOperation): Use previous character from the buffer
        instead of ch which may be uninitialized on the first iteration.

2005-12-29  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Eric.

        - finished frame traversal cleanup
        http://bugs.webkit.org/show_bug.cgi?id=6293

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge childFrames]): Removed (this was unused)
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _removeChild::]): Moved to FrameTraversal category.
        (-[WebFrame _childFrameCount]): New frame traversal method to avoid
	getting the count from the array directly.
        (-[WebFrame _appendChild:]): Factored out the parts of addChild: that
	seem directly relevant to adding a child.
        (-[WebFrame _removeChild:]): Moved to FrameTraversal category.
        (-[WebFrame _detachChildren]): Don't deallocate children array because
	there's no particular need to.
        (-[WebFrame _setDataSource:]): make the assert use _childFrameCount
        (-[WebFrame _opened]):
        (-[WebFrame _checkLoadComplete]): Instead of checking all frames starting
	from the main frame, check this frame and all ancestors. If a resource
	for a frame completes, that con only possibly finish loading for that
	frame and its ancestors, not any other frame in the tree.
	(-[WebFrame _recursiveCheckLoadComplete]): Removed, no longer needed.
        (-[WebFrame _childFramesMatchItem:]): Get child frame count in the new 
	approved way.
        (-[WebFrame _internalChildFrames]): removed
	(-[WebFrame _addChild:]): Use _appendChild: for most of the work.
        (-[WebFrame _generateFrameName]): Get child frame count in the new 
	approved way.
        (-[WebFrame _stopLoadingSubframes]): Use new frame traversal mechanisms,
	upon further consideration there's no need to copy part of the frame tree here.
        (-[WebFrame findFrameNamed:]): Remove extra braces.
        (-[WebFrame childFrames]): Make a new array using the frame traversal methods.
        * WebView.subproj/WebFramePrivate.h: Remove some methods.
        * WebView.subproj/WebMainResourceLoader.m:
        (-[WebMainResourceLoader didReceiveResponse:]): Do _checkLoadComplete on the current
	frame not the main frame (before there was no difference and now the new version is
	what is desired).
        * WebView.subproj/WebView.m:
        (-[WebView _finishedLoadingResourceFromDataSource:]): Remove stray space
        (-[WebView _mainReceivedBytesSoFar:fromDataSource:complete:]): Remove stray spaces
	and update FIXME comment.
        (-[WebView _receivedError:fromDataSource:]): Remove stray space

2005-12-29  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

	- abstract frame traversal in WebFrame more
	http://bugs.webkit.org/show_bug.cgi?id=6283
	
	Rewrote most of the frame traversal code in WebFrame to use DOM-style 
	first/last/next/previous methods, to abstract access better in preparation 
	for moving it down. 

	As an added bonus, many formerly recursive methods are now iterative.

        * WebKit.xcodeproj/project.pbxproj: Use gnu99 dialect of C, so that
	variables can be declared in for loop initializers.

	- added new frame traversal methods, to avoid dealing with the children array
	directly:
	
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _firstChildFrame]): New method.
        (-[WebFrame _lastChildFrame]): New method.
        (-[WebFrame _previousSiblingFrame]): New method.
        (-[WebFrame _nextSiblingFrame]): New method.
        (-[WebFrame _traverseNextFrameStayWithin:]): Like traverseNextNode() in the DOM;
	uses some of the previous.

	- apply the new methods
	
        (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]): Rewrite loop
	to use new traversal methods.
        (-[WebFrame _immediateChildFrameNamed:]): ditto, also added FIXME
        (-[WebFrame _setName:]): Improved comment, removed gratuitous brace
        (-[WebFrame _isDescendantOfFrame:]): Rewrote to chase parent pointers instead
	of looking in child arrays (duh)
        (-[WebFrame _detachChildren]): Rewrite loop to use new traversal methods,
	still walk backwards for now.
        (-[WebFrame _closeOldDataSources]): Rewrite using new traversal methods.
        (-[WebFrame _childFramesMatchItem:]): ditto
        (-[WebFrame _defersCallbacksChanged]): ditto
        (-[WebFrame _viewWillMoveToHostWindow:]): ditto
        (-[WebFrame _viewDidMoveToHostWindow]): ditto
        (-[WebFrame _addChild:]): don't use childFrames method
        (-[WebFrame _removeChild:]): Clear out the sibling pointers after unlinking from the list, 
	not obvious if anything needs this but it seems like the right thing to do.
        (-[WebFrame _generateFrameName]): don't bother to nil-check children array, since
	calling count on nil still gives 0.
        (-[WebFrame _saveDocumentAndScrollState]): Rewrite to use frame traversal methods
        (-[WebFrame _deepLastChildFrame]): renamed from _lastChildFrame, rewrite to use child
	traversal methods.
        (-[WebFrame _nextFrameWithWrap:]): Use new frame traversal stuff (mostly just
	a thin wrapper on _traverseNextFrameStayWithin: 
        (-[WebFrame _previousFrameWithWrap:]): Use new traversal functions
        (-[WebFrame _numPendingOrLoadingRequests:]): Rewrite loop with new tracrsal functions
        (-[WebFrame _reloadForPluginChanges]): ditto
        (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]): ditto
        (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]): ditto
        (-[WebFrame _documentViews]): ditto
        (-[WebFrame _updateDrawsBackground]): ditto
        (-[WebFrame _unmarkAllMisspellings]): ditto
        (-[WebFrame _atMostOneFrameHasSelection]): ditto
        (-[WebFrame _findFrameWithSelection]): ditto
        (-[WebFrame _stopLoadingSubframes]): ditto
        (-[WebFrame _subframeIsLoading]): ditto
        (-[WebFrame _descendantFrameNamed:sourceFrame:]): ditto

2005-12-29  Darin Adler  <darin@apple.com>

        * WebView.subproj/WebFrameView.m: (-[WebFrameViewPrivate dealloc]):
        Removed unused "draggingTypes" instance variable.

2005-12-29  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by darin 
        
        Test: fast/text/atsui-spacing-features.html

        - WebKit part of fix for
          http://bugs.webkit.org/show_bug.cgi?id=3922
          Variable word/letter spacing and full justification not supported for
          ATSUI-rendered text

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (overrideLayoutOperation): Add letter- and word-spacing and padding for
        justification.
        (createATSULayoutParameters): Compute padding per space.

2005-12-27  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Maciej, landed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=4844
        Render "simple" Hebrew using the CG codepath

        * WebCoreSupport.subproj/WebTextRenderer.m: (shouldUseATSU): Exclude Hebrew letters and maqaf.

2005-12-25  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Geoff

        - Remove WebFrame's parent frame pointer, instead rely on WebCore's parent concept
        http://bugs.webkit.org/show_bug.cgi?id=6241

        * WebCoreSupport.subproj/WebBridge.h:
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge canTargetLoadInFrame:]): Use bridge parent method instead of needlessly
	asking for parent via WebFrame
        (-[WebBridge frameDetached]): Don't call _removeChild on the parent frame any more
	because WebFame's _detachFromParent takes care of that now.
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]): Fix stray spaces
        (-[WebFrame _detachChildren]): Don't remove children as we loop any more, they
	can remove themselves.
        (-[WebFrame _detachFromParent]): Remove self from parent; don't nil out bridge
	until we are done with it.
        (-[WebFrame _transitionToCommitted:]): Remove some extra braces.
        (-[WebFrame _goToItem:withLoadType:]): Use parentFrame method in assert instead of parent
	field directly.
        (-[WebFrame _addChild:]): Don't poke at parent frame pointer in _private
	since it is not there any more.
        (-[WebFrame _removeChild:]): Remove extra braces and don't clear parent pointer
	explicitly any more.
        (-[WebFrame _addFramePathToString:]): Get parentFrame from method, not field.
        (-[WebFrame _loadDataSource:withLoadType:formState:]): Remove extra braces.
        (-[WebFrame _nextFrameWithWrap:]): Get parent in the proper way and clean up the
	coding style.
        (-[WebFrame _previousFrameWithWrap:]): Ditto.
        (-[WebFrame parentFrame]): Get parent from the bridge.

2005-12-25  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Hyatt.

	- fixed REGRESSION: world leak of WebDataSource
	http://bugs.webkit.org/show_bug.cgi?id=6242

        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _stopLoading]): don't retain self until after
	the possible early return.

2005-12-24  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Geoff.

	- rearrange some code in WebDataSource so that more of the frame traversal logic
	is in WebFrame, in preparation for moving it down to WebBridge.
	http://bugs.webkit.org/show_bug.cgi?id=6239

        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _archiveWithMarkupString:nodes:]): Assert that the
	data source is committed, doesn't make sense to archive otherwise.
        (-[WebDataSource _subframeArchivesWithCurrentState:]): New helper method.
        (-[WebDataSource _archiveWithCurrentState:]): Assert that the data source
	is committed. Use the helper.
        (-[WebDataSource _setWebView:]): Comment that we won't tell subframes that
	defers callback changed.
        (-[WebDataSource _startLoading]): Remove stray space.
        (-[WebDataSource _stopLoading]): Only handle local _stopLoading business.
	Cound on WebFrame to tell subframes to stop loading. Fold in _stopLoadingInternal
	and remove _recursiveStopLoading.
        (-[WebDataSource _startLoading:]): Clean up an assert slightly.
        (-[WebDataSource _setTitle:]): Remove stray spaces.
        (-[WebDataSource _defersCallbacksChanged]): Don't call subframes. WebFrame
	can do that.
        (-[WebDataSource isLoading]): Move checking of subframes down to WebFrame.
        (-[WebDataSource webArchive]): Return nil if the data source is not yet
	committed. It makes no sense to archive a provisional data source since it
	has no data yet.
        (-[WebDataSource addSubresource:]): Replace an assert with an early return,
	ASSERT is not an appropriate way to flag problems with the argument of a public
	method.
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _setLoadType:]): Remove stray space.
        (-[WebFrame _checkLoadCompleteForThisFrame]): Stop loading subframes
	manually and add a FIXME about confusingness of stopping loading here.
        (-[WebFrame _defersCallbacksChanged]): Tell our subframes.
        (-[WebFrame _addChild:]): Remove stray space.
        (-[WebFrame _stopLoadingSubframes]): New helper method.
        (-[WebFrame _subframeIsLoading]): New helper method, code moved
	from WebDataSource.
        (-[WebFrame stopLoading]): Tell subframes to stop loading.
        (-[WebFrame reload]): Remove extra braces.
        * WebView.subproj/WebFrameInternal.h:

2005-12-23  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by John.

	- move more frame tree traversal code from WebView to WebFrame

        * WebView.subproj/WebFrame.m:
        (-[WebFrame _atMostOneFrameHasSelection]): Moved this debug
	method from WebView, renamed it and changed it to return a boolean
	so it is appropriate for use in assertions instead of giving its own
	errors.
        (-[WebFrame _accumulateFramesWithSelection:]): Helper for the above.
        (-[WebFrame _findFrameWithSelection]):  Moved from WebView and renamed from
	_findSelectedFrame, also removed the skipping variant.
        (-[WebFrame _clearSelectionInOtherFrames]): Moved from WebView and
	changed how the logic works. Instead of clearing selection in any frame
	but the focus frame, it clears selection in all but this one.
        * WebView.subproj/WebFrameInternal.h:
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView becomeFirstResponder]): Call _clearSelectionInOtherFrames
        * WebView.subproj/WebPDFView.m:
        (-[WebPDFView PDFViewWillClickOnLink:withURL:]): Stop getting WebFrame
	in needlessly roundabout way.
        (-[WebPDFView becomeFirstResponder]): Call _clearSelectionInOtherFrames
        * WebView.subproj/WebTextView.m:
        (-[WebTextView _webFrame]): New helper method.
        (-[WebTextView _elementAtWindowPoint:]): Use it.
        (-[WebTextView becomeFirstResponder]): Call _clearSelectionInOtherFrames
        (-[WebTextView resignFirstResponder]): Fix style issue
        (-[WebTextView clickedOnLink:atIndex:]): Use new helkper
        * WebView.subproj/WebView.m:
        (-[WebView selectedFrame]): Call to WebFrame as appropriate
        (-[WebView _selectedOrMainFrame]): Fix style issue
        * WebView.subproj/WebViewInternal.h:

2005-12-22  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Eric.

	- move a few more methods from WebView to WebFrame.	

        * WebView.subproj/WebFrame.m:
        (-[WebFrame _hasSelection]): Renamed from _frameIsSelected: and moved from
	WebView.
        (-[WebFrame _clearSelection]): Renamed from _deselectFrame: and moved from 
	WebView.
        * WebView.subproj/WebFrameInternal.h:
        * WebView.subproj/WebView.m:
        (-[WebView searchFor:direction:caseSensitive:wrap:]): Update for renames.
        (-[WebView _findSelectedFrameStartingFromFrame:skippingFrame:]): Ditto.
        (-[WebView _debugCollectSelectedFramesIntoArray:startingFromFrame:]): Ditto.
        (-[WebView _selectedFrameDidChange]):

2005-12-21  Timothy Hatcher  <timothy@apple.com>

        * WebKit.xcodeproj/project.pbxproj:
          Set tab width to 8, indent width to 4 and uses tabs to false per file.

2005-12-20  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by justin
        
        <http://bugs.webkit.org/show_bug.cgi?id=4682>
        -[WebHTMLView firstRectForCharacterRange:] is using _selectedRange instead of the given range if no marked text

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView firstRectForCharacterRange:]): 
        Handle some large unsigned values the way NSTextView does.
        Actually use the range passed in instead of _selectedRange,
        use of _selectedRange was a workaround that is no longer necessary.

2005-12-20  John Sullivan  <sullivan@apple.com>

        Reviewed by Darin Adler.
        
        - fixed http://bugs.webkit.org/show_bug.cgi?id=6146
          (REGRESSION: Bold font used for Google search result pages is too thick)
          
        This is a problem with a particular font that was installed by Microsoft Office X. Though the
        font and/or lower levels of font-handling code in the system are buggy, this bad symptom will
        occur for users of Safari and other WebKit clients who happen to have one of these bad fonts.
        This adds a workaround to avoid the problem.

        * WebCoreSupport.subproj/WebTextRendererFactory.m:
        (-[WebTextRendererFactory fontWithFamilies:traits:size:]):
        When we're going to synthesize bold or italic, yet the font we looked up was apparently a
        match for the traits, try to look up a font that without the to-be-synthesized traits.
        This way, instead of applying synthetic bold over Arial Bold, we'll apply synthetic
        bold over Arial Regular, which is uglier than just using Arial Bold, but far less ugly
        than using Arial Bold with synthetic bold too.

 2005-12-16  Justin Garcia  <justin.garcia@apple.com>
 
         <rdar://problem/4103393> Frequent Safari crash on lexisnexus.com (khtml::Selection::xPosForVerticalArrowNavigation)
         <rdar://problem/4330451> CrashTracer: [REGRESSION] 2235 crashes in Safari at com.apple.WebCore: khtml::Selection::xPosForVerticalArrowNavigation const  436
         
         Reviewed by darin
         
         WebCore will crash when a selection that starts or ends in a node 
         that has been removed from the document is modify()d.  This can occur:
         (1) in non-editable regions (4103393 and 4330451), (2) in editable 
         regions (4383146) as the result of arbitrary DOM operations, and (3) in 
         Mail (4099739) as the result of an editing operation that sets a 
         bad ending selection.
         
         Crashes of type (1) can occur when the user uses the arrow keys 
         to interact with a web app, or when the user tries to use 
         command-shift-arrow to switch tabs (this is a depricated
         combo that will work if no one else responds to it). The easiest 
         way to fix these crashes is to disallow editing'ish selection changes 
         like moveDown:, selectWord:, pageDown:, etc, when the selection 
         is in a non-editable region.
         
         Crashes of type (2) will require a more complicated fix (but occur 
         much less often than type (1)).  Crashes of type (3) must be 
         fixed by tracking down the editing operation that sets bad selections.
         
         Added a layout-test:
         * editing/selection/selection-actions.html
 
         * WebView.subproj/WebHTMLView.m:
         (-[WebHTMLView _canAlterCurrentSelection]):
         (-[WebHTMLView _alterCurrentSelection:direction:granularity:]):
         (-[WebHTMLView _alterCurrentSelection:verticalDistance:]):
         (-[WebHTMLView _expandSelectionToGranularity:]):
         * WebView.subproj/WebHTMLViewPrivate.h:

2005-12-20  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by mitz
        
        Fixed more uninitialized variable warnings, and 
        removed an extra semicolon.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (overrideLayoutOperation):
        (createATSULayoutParameters):

2005-12-20  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

	- push more of frame lookup and management from WebView to
	WebFrame, this is in preparation for shifting this to WebCore
	http://bugs.webkit.org/show_bug.cgi?id=6163
	
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge closeWindowSoon]): Adjust for change to WebFrameNamespaces
        (-[WebBridge runModal]): ditto
        * WebView.subproj/WebControllerSets.h:
        * WebView.subproj/WebControllerSets.m:
        (+[WebFrameNamespaces addFrame:toNamespace:]): This now operates in terms
	of WebFrames (expected to be the main frame) not WebViews.
        (+[WebFrameNamespaces framesInNamespace:]): Ditto.
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _setFrameNamespace:]): Set self, not WebView.
        (-[WebFrame _shouldAllowAccessFrom:]): Moved this code above use
	to avoid prototyping the method.
        (-[WebFrame _descendantFrameNamed:sourceFrame:]): Ditto.
        (-[WebFrame _frameInAnyWindowNamed:sourceFrame:]): Copied logic
	over from WebView.
        (-[WebFrame findFrameNamed:]): Do it all here, don't call WebView.
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebView.m:
        * WebView.subproj/WebViewPrivate.h:

2005-12-20  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by adele.

        Fixed build failure due to missing 'b's in my last checkin.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge isStatusbarVisible]): changed 'B' to 'b'
        (-[WebBridge setStatusbarVisible:]): ditto

2005-12-20  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Darin, committed by Adele.

        - fix deployment builds broken by the ATSUI multiple renderers patch
        http://bugs.webkit.org/show_bug.cgi?id=6153

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (createATSULayoutParameters): Assign initial values, which will never be used,
        to substituteRenderer and firstSmallCap, to avoid uninitialized variable warnings.

2005-12-20  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by John.

        Part of fix for <rdar://problem/4310363> JavaScript window.open: Height
        is 1 pixel short, and related bugs. See WebCore ChageLog.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge webView]): Added method.

2005-12-20  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        Development-only build fix.

        * WebView.subproj/WebFrame.m:
        (-[WebFramePrivate dealloc]): fixed typo

2005-12-20  Maciej Stachowiak  <mjs@apple.com>

        Not reviewed.

	- revert accidental commit of this file.

2005-12-19  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Eric.

	- Move handling of frame namespaces down to WebFrame.
	- Put some internal class declarations in the implementation file.

        * WebView.subproj/WebControllerSets.m:
        (+[WebFrameNamespaces addWebView:toFrameNamespace:]):
        (+[WebFrameNamespaces webViewsInFrameNamespace:]):
        * WebView.subproj/WebFrame.m:
        (-[WebFramePrivate dealloc]):
        (-[WebFrame _setFrameNamespace:]):
        (-[WebFrame _frameNamespace]):
        * WebView.subproj/WebFrameInternal.h:
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebView.m:
        (-[WebView _close]):
        (-[WebView _findFrameNamed:sourceFrame:]):
        (-[WebView setGroupName:]):
        (-[WebView groupName]):
        * WebView.subproj/WebViewInternal.h:

2005-12-19  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Darin, committed by Adele.
        
        Test: fast/text/atsui-multiple-renderers.html

        - fix http://bugs.webkit.org/show_bug.cgi?id=6139
          ATSUI code path should implement small caps, synthetic bold and oblique and correct metrics for fallback fonts

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (overrideLayoutOperation): Fetch renderer info from the renderers array;
        add synthetic bold offset; render only synthetic bold in the synthetic bold pass.
        (drawGlyphs): Replaced 14 with new SYNTHETIC_OBLIQUE_ANGLE define.
        (initializeATSUStyle): Apply a skewing transform for synthetic oblique.
        (createATSUTextLayout): Merged into createATSUTextLayout.
        (createATSULayoutParameters): Merged in createATSUTextLayout; allocate
        and fill a renderers array and a character buffer for small caps and mirroring;
        (applyMirroringToRun): Merged into createATSULayoutParameters.
        (ATSU_drawHighlight): Deleted mirroring code.
        (ATSU_draw): Deleted mirroring code; added second pass for synthetic bold.
        (ATSU_pointToOffset): Deleted mirroring code.

2005-12-19  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Darin, committed by Adele.
        
        Test: fast/text/atsui-kerning-and-ligatures.html

        - fix http://bugs.webkit.org/show_bug.cgi?id=6137
          Disable kerning and some ligatures in the ATSUI code path

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (initializeATSUStyle): Disable kerning; disable ligatures unless the font
        does not contain 'a', in which case it is assumed to never be rendered
        by the CG code path.

2005-12-19  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Darin, committed by Adele.
        
        Test: fast/text/should-use-atsui.html

        - fix for http://bugs.webkit.org/show_bug.cgi?id=6132
          Incorrect selection highlighting for ATSUI text when selected range is "CG-safe"

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (shouldUseATSU): Always start scanning from 0 since drawing and
        highlighting also measure everything up to run->from.

2005-12-17  Maciej Stachowiak  <mjs@apple.com>

        Rubber stamped by Eric.

	- remove some unused SPI headers.

        * DOM.subproj/WebDOMDocument.h: Removed.
        * DOM.subproj/WebDOMElement.h: Removed.
        * DOM.subproj/WebDOMNode.h: Removed.
        * WebKit.xcodeproj/project.pbxproj:

2005-12-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed and landed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=5479
          Can't select text with RTL override rendered by ATSUI

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (overrideLayoutOperation): Update since the layout only includes from -> to now.
        (-[WebTextRenderer pointToOffset:style:position:includePartialGlyphs:]): Remove
        reversed parameter.
        (CG_floatWidthForRun): Add code to handle RTL case.
        (addDirectionalOverride): Put the override around the entire run.
        (ATSU_drawHighlight): Rearrange and reuse ATSU_floatWidthForRun for more of the work.
        Also round.
        (ATSU_pointToOffset): Remove reversed parameter and run swapping.
        (CG_pointToOffset): Remove reversed parameter, using rtl flag in style instead.

2005-12-16  Evan Gross  <evan@rainmakerinc.com>

        Reviewed and landed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=4680
          WebHTMLView (WebNSTextInputSupport) - attributedSubstringFromRange "not yet implemented"

        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView attributedSubstringFromRange:]):
        Implement by calling the same RTF conversion used when copying to the pasteboard.

2005-12-16  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed and landed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=6090
          REGRESSION: Assertion failure when choosing Copy from a WebImageView's contextual menu

        * WebView.subproj/WebImageView.m:
        (-[WebImageView elementAtPoint:]): Use WebCoreElementImageRendererKey
        for the image renderer and WebElementImageKey for the image.

2005-12-15  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

	- remove _frameForView: method from WebView and replace with a direct pointer on the WebFrameView in the WebFrame

        * Misc.subproj/WebNSViewExtras.m:
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _detachFromParent]):
        (-[WebFrame _loadDataSource:withLoadType:formState:]):
        (-[WebFrame initWithName:webFrameView:webView:]):
        * WebView.subproj/WebFrameView.m:
        (-[WebFrameView _setWebFrame:]):
        (-[WebFrameView webFrame]):
        * WebView.subproj/WebFrameViewInternal.h:
        * WebView.subproj/WebView.m:
        * WebView.subproj/WebViewPrivate.h:

2005-12-13  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

	- remove the dead _frameForDataSource: method (WebDataSource now knows its WebFrame)
	http://bugs.webkit.org/show_bug.cgi?id=6072
	
        * WebView.subproj/WebView.m:
        * WebView.subproj/WebViewPrivate.h:

=== Safari-521~5 ===

2005-12-12  Timothy Hatcher  <timothy@apple.com>

        Reviewed by nobody, simple build fix.

        Fixes a couple ambiguous selector build errors when building with GCC 3.3.

        * Misc.subproj/WebIconDatabase.m:
        (-[WebIconDatabase releaseIconForURL:]):
        * WebView.subproj/WebHTMLView.m:
        (-[NSView _web_layoutIfNeededRecursive:testDirtyRect:]):
        (-[NSArray elementAtPoint:]):

2005-12-12  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed and checked in by John Sullivan.
        
        Fix for: http://bugs.webkit.org/show_bug.cgi?id=6053
        WebIconDatabase returns the Accessibility Verifier app icon instead of
        a generic document icon
        
        * Misc.subproj/WebIconDatabase.m:
        (-[WebIconDatabase _iconForFileURL:withSize:]):
        use file type iconForFileType:NSFileTypeForHFSTypeCode(kGenericDocumentIcon) instead of '????'
        to get the generic document icon.

2005-12-12  John Sullivan  <sullivan@apple.com>

        Reviewed by Tim Omernick.
        
        - Made protocol <WebDocumentSelection> include protocol <WebDocumentText>, for clarity.
        This required moving some methods from WebTextView, which conformed to <WebDocumentText>,
        up into superclass WebSearchableTextView, which conformed to <WebDocumentSelection>.

        * Misc.subproj/WebSearchableTextView.m:
        (-[NSString supportsTextEncoding]):
        moved this method (unchanged) from subclass WebTextView
        (-[NSString string]):
        ditto
        (-[NSString attributedString]):
        ditto
        (-[NSString selectedString]):
        ditto
        (-[NSString selectedAttributedString]):
        ditto
        (-[NSString selectAll]):
        ditto
        (-[NSString deselectAll]):
        ditto
        
        * WebView.subproj/WebDocumentPrivate.h:
        made <WebDocumentSelection> incorporate <WebDocumentText> rather than just <NSObject>
        * WebView.subproj/WebHTMLView.h:
        removed <WebDocumentText> from protocol list since it's covered by <WebDocumentSelection>
        * WebView.subproj/WebPDFView.h:
        ditto
        * WebView.subproj/WebTextView.h:
        ditto
        * WebView.subproj/WebTextView.m:
        removed the methods that were moved into WebSearchableTextView.m

2005-12-10  Darin Adler  <darin@apple.com>

        Reviewed by John Sullivan.

        - fix http://bugs.webkit.org/show_bug.cgi?id=6032
          REGRESSION: Uncaught exception when image is dragged out of webpage

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
        Pass the image renderer, not the NSImage.
        (-[WebHTMLView elementAtPoint:]): Add an NSImage to the dictionary, which now comes from
        WebCore with only an image renderer.
        * WebView.subproj/WebView.m: (-[WebView _writeImageElement:withPasteboardTypes:toPasteboard:]):
        Pass the image renderer, not the NSImage.

2005-12-10  Darin Adler  <darin@apple.com>

        Was getting build failures related to "count" methods.
        Made Tim's build fix Leopard-only.

        * WebView.subproj/WebPreferencesPrivate.h: Go back to <PDFKit/PDFKit.h> on Tiger.

2005-12-09  John Sullivan  <sullivan@apple.com>

        Reviewed by Adele Peterson.
        
        - fixed <rdar://problem/4373905> Cannot paste in Tiger Mail using TOT WebKit

        * WebView.subproj/WebView.m:
        (-[WebView _frameForCurrentSelection]):
        I removed this method many moons ago when restructuring the code involving frames and selection.
        Too bad Mail was still using it (d'oh!). In Leopard Mail has updated to use newer SPI (which should
        become API), but to continue to work with Mail on Tiger we need this method to be around. Now it's
        just a cover for the method _selectedOrMainFrame, to which it was renamed so very long ago.

2005-12-09  Tim Omernick  <timo@apple.com>

        Reviewed by John Sullivan.

        * Carbon.subproj/HIWebView.m:
        (UpdateCommandStatus):
	Don't call -performSelector:withObject: on a method that returns a BOOL; this is not guaranteed to work on all architectures.
	-performSelector:withObject:'s return value should only be checked if the method returns an object.

2005-12-09  Timothy Hatcher  <timothy@apple.com>

        Reviewed by nobody, build fix.

        Using <PDFKit/PDFKit.h> was causing build failures for the Mail team.
        The comment about getting an ambiguous signature conflict anywhere the
        method "count" is used seems to no longer be an issue.

        * WebView.subproj/WebPreferencesPrivate.h: Use <Quartz/Quartz.h>

2005-12-08  John Sullivan  <sullivan@apple.com>

        Reviewed by Tim Hatcher.
        
        Some cleanup of how selection rects are associated with NSViews.

        * WebView.subproj/WebDocumentPrivate.h:
        Added a -selectionView method to <WebDocumentSelection>, and clarified that the
        selectionRect is in the coordinate system of this view.

        * Misc.subproj/WebSearchableTextView.m:
        (-[WebSearchableTextView selectionView]):
        new method, returns self
        
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView selectionView]):
        new method, returns self
        
        * WebView.subproj/WebPDFView.m:
        (-[WebPDFView selectionRect]):
        translate result into coordinate system of [PDFSubview documentView]
        (-[WebPDFView selectionView]):
        new method, returns [PDFSubview documentView]

2005-12-08  John Sullivan  <sullivan@apple.com>

        Reviewed by Tim Omernick and Dave Hyatt.
        
        - fixed these semi-legendary bugs:
        <rdar://problem/4032405> Inline PDF doesn't get keyboard focus like web pages do, so can't scroll with keys without clicking
        <rdar://problem/4265684> PDFs use secondary selection when displaying found text (4748)

        * WebView.subproj/WebPDFView.m:
        (-[WebPDFView becomeFirstResponder]):
        Discovered that there is indeed PDFKit API for accessing the view that becomes focused; now
        passes the focus down to that view.

2005-12-08  John Sullivan  <sullivan@apple.com>

        Reviewed by Tim Omernick.
        
        - Added WebKit mechanism to help correctly pass the first responder into the PDF view hierarchy,
        in order to start addressing keyboard focus and selection highlight issues. Unfortunately this 
        doesn't actually have any user effect yet due to problems that must be fixed in PDFKit.

        * WebView.subproj/WebPDFView.m:
        (-[WebPDFView acceptsFirstResponder]):
        Overridden to returns YES. Needed so NSClipView knows it's OK to pass focus down to this level.
        (-[WebPDFView becomeFirstResponder]):
        With setNextKeyView:, splices the PDF view into the focus-passing mechanism in much the same
        way as NSScrollView and NSClipView.
        (-[WebPDFView setNextKeyView:]):
        With becomeFirstResponder:, splices the PDF view into the focus-passing mechanism in much the same
        way as NSScrollView and NSClipView.
        (-[WebPDFView resignFirstResponder]):
        Removed this method because the WebPDFView itself is never first responder except transiently.

2005-12-08  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by John.

	- some small changes towards frame tree refactoring

	Renamed WebViewSets to WebFrameNamespaces, and put the method for
	performing a selector on all extant WebViews to WebView itself,
	with a separate set tracking live WebViews. This should allow
	moving the storage of this info down to WebCore more easily.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge closeWindowSoon]):
        (-[WebBridge runModal]):
        * WebCoreSupport.subproj/WebViewFactory.m:
        (-[WebViewFactory refreshPlugins:]):
        * WebView.subproj/WebControllerSets.h:
        * WebView.subproj/WebControllerSets.m:
        (+[WebFrameNamespaces addWebView:toFrameNamespace:]):
        (webView::if):
        (+[WebFrameNamespaces webViewsInFrameNamespace:]):
        * WebView.subproj/WebView.m:
        (+[WebView _makeAllWebViewsPerformSelector:]):
        (-[WebView _removeFromAllWebViewsSet]):
        (-[WebView _addToAllWebViewsSet]):
        (-[WebView _close]):
        (-[WebView _findFrameNamed:sourceFrame:]):
        (-[WebView _commonInitializationWithFrameName:groupName:]):
        (-[WebView setGroupName:]):
        * WebView.subproj/WebViewInternal.h:

2005-12-08  Darin Adler  <darin@apple.com>

        Reviewed by Eric.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=5689
          add support for CSS "custom cursors" (cursor images)

        * WebCoreSupport.subproj/WebImageRenderer.h: Remove declaration of TIFFRepresentation and
        image methods since both are required by the WebCoreImageRenderer protocol now and we don't
        have to re-declare them.

        * Misc.subproj/WebNSPasteboardExtras.m: Add an import of the WebCoreImageRenderer.h file
        since we need to use methods inherited from that protocol.
        * Misc.subproj/WebNSViewExtras.m: Ditto.
        * WebCoreSupport.subproj/WebImageRenderer.m: Ditto. (Use and implement.)

2005-12-07  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Maciej, landed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=5878
          REGRESSION (WebTextRenderer.m r1.201): pointToOffset always takes the CG code path

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer pointToOffset:style:position:reversed:includePartialGlyphs:]):
        Added the missing "return".

2005-12-07  John Sullivan  <sullivan@apple.com>

        Reviewed by Tim Omernick.
        
        - <rdar://problem/4331488> TOT Assertion failure in -[WebHTMLView nextValidKeyView] 
        @ home.netscape.com

        * WebView.subproj/WebHTMLView.m:
        (-[NSArray nextValidKeyView]):
        Removed assert that I added a while back. In this case at least, the assertion is
        overzealous, and I can't recreate the tortured chain of logic that led me to adding
        this assertion in the first place.

2005-12-06  David Harrison  <harrison@apple.com>

	Reviewed by Darin.

	- fix <rdar://problem/4365308> Glendale Regression: Floating dictionary doesn't work well in Safari text areas/fields
	
	Add use of NSAccessibilityHitTest to the list of exceptions.

	* WebView.subproj/WebHTMLView.m:
	(-[WebHTMLView hitTest:]): check for NSFlagsChanged event. 

2005-12-05  John Sullivan  <sullivan@apple.com>

        Reviewed by Darin Adler.

        * WebView.subproj/WebHTMLView.m:
        (-[NSArray validateUserInterfaceItem:]):
        one more tweak: moved jumpToSelection: to be validated the same way as
        centerSelectionInVisibleArea:, since it now calls the same code. Might not
        make a difference in any real code, but you never know.

2005-12-05  John Sullivan  <sullivan@apple.com>

        Reviewed by Darin Adler.

        * WebView.subproj/WebHTMLView.m:
        (-[NSArray validateUserInterfaceItem:]):
        removed double handling of centerSelectionInVisibleArea

2005-12-05  John Sullivan  <sullivan@apple.com>

        Reviewed by Tim Omernick.
        
        - WebKit part of fix for 
        <rdar://problem/4365690> Find > Jump to Selection does nothing on plain-text documents (inc. source HTML)        

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView jumpToSelection:]):
        Reimplement jumpToSelection: to call centerSelectionInVisibleArea:, and added a comment explaining why
        jumpToSelection: exists at all. Note that centerSelectionInVisibleArea: was already implemented here; it
        was added as part of HTML editing implementation without us realizing that it was the API replacement
        for jumpToSelection:.
        (-[WebHTMLView validateUserInterfaceItem:]):
        validate centerSelectionInVisibleArea: the same way we validate jumpToSelection: (we should have done
        this when centerSelectionInVisibleArea: was implemented)
        
        * WebView.subproj/WebPDFView.m:
        (-[WebPDFView centerSelectionInVisibleArea:]):
        new method, same code that jumpToSelection: used to have
        (-[WebPDFView jumpToSelection:]):
        now calls centerSelectionInVisibleArea:, and there's now a comment about why it exists at all.
        (-[WebPDFView validateUserInterfaceItem:]):
        validate centerSelectionInVisibleArea: the same way we validate jumpToSelection:

2005-12-04  Tim Omernick  <timo@apple.com>

        Reviewed by Dave Harrison, John Sullivan.

	<rdar://problem/4364847> REGRESSION: QuickTime movies open without controller or don't open at all (5928)

	I changed WebFrameView on 2005-11-29 so that it avoids creating duplicate WebPluginDocumentViews.
	Unfortunately, this change caused a regression due to the fact that it subtly changed when plugins are
	initialized.  Certain plugins (e.g. QuickTime) expect to be initialized after the WebPluginDocumentView
	has been "committed" (inserted into the view hierarchy).

	My fix is to ensure that the plugin is initialized where we previously would have created that second
	WebPluginDocumentView -- that is, the plugin is created after the WebPluginDocumentView has been committed.
	
        * Plugins.subproj/WebPluginDocumentView.m:
        (-[WebPluginDocumentView setDataSource:]):
	Don't initialize the plugin if the WebPluginDocumentView has not been inserted into the view hierarchy.
	We assume here that a later call to -setDataSource: will pass this conditional, once the WebDocumentView
	has been committed.
	
2005-12-02  Justin Garcia <justin.garcia@apple.com>

        <rdar://problem/4345030>
        Denver REGRESSION (10.4.2-10.4.3): Two identical warnings on "Back" from Amazon's package tracker
        
        Before checking the navigation policy for a request, the request is compared
        against the last checked request.  If the two are the same, no check is done.
        In the bug, the two requests are identical except for the boolean on
        NSURLRequests that tells Foundation to support multipart loads for that request.
        One request was the one that was used to start servicing "Back" operation, and
        the second was being used to start loading the page (it needed to be reloaded 
        because it was the result of a form submission). Set the boolean on all 
        NSURLRequests, not just one's that are about to be used to start a load.   

        Reviewed by harrison

        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _startLoading:]):
        (-[WebDataSource initWithRequest:]):
        * WebView.subproj/WebDataSourcePrivate.h:

2005-12-01  Darin Adler <darin@apple.com>

        Reviewed by Vicki.
	
	- fix <rdar://problem/4349721> Regression: Hovering over menu item doesn't highlight menu item or 
	mousing up on menu item in applet does not open URL in new window at smartmoney.com

	Since Java depends on doing a hit test inside it's mouse moved handling, let hit testing on Java 
	applets go through the standard NSView code path. Since this should only happen for Java, add a global
	so that we can Use our own WebHTMLView hit testing when calling from _updateMouseoverWithEvent.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _hitViewForEvent:]): rename forceRealHitTest to forceNSViewHitTest
        (-[WebHTMLView _updateMouseoverWithEvent:]): set global variable  to force a WebHTMLView-style hit test from here
        (-[WebHTMLView hitTest:]): perform the appropriate hit test based on global variables 

2005-11-29  Andrew Wellington  <proton@wiretapped.net>

        Reviewed by darin.  Committed by eseidel.

        Fix for: http://bugs.webkit.org/show_bug.cgi?id=4726
        Drop of multiple non-image file URLs only yields one item

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _documentFragmentWithPaths:]):

2005-11-29  Tim Omernick  <timo@apple.com>

        Reviewed by John Sullivan, Eric Seidel

	<rdar://problem/4340787> Safari & Dashcode create 2 instances of the QC plug-in
	
        * WebView.subproj/WebFrameView.m:
        (-[WebFrameView _makeDocumentViewForDataSource:]):
	Instead of creating a new WebDocumentView, use the WebDataSource's representation if it is a WebDocumentView
	of the appropriate class.  Right now, this can only happen when the loading document is a standalone WebKit
	plugin, because WebPluginDocumentView is both the WebDocumentView and the WebDocumentRepresentation for that
	kind of page load.
	
	I have verified that this does not affect other kinds of page loads; in all other cases, the representation
	class is distinct from the document view class.

	I talked with Chris Blumenberg about this change (he knows this code), and he agreed that this is the right
	approach.

2005-11-28  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by Darin. Committed by Maciej.

	- fixed "Word completion doesn't work at end of word (unless last word)"
	(http://bugs.webkit.org/show_bug.cgi?id=4062)

        * WebView.subproj/WebHTMLView.m:
        (-[WebTextCompleteController doCompletion]):

2005-11-28  John Sullivan  <sullivan@apple.com>

        Reviewed by Tim Omernick.
        
        Probable fix for <rdar://problem/4356060> crash in -[WebHistoryItem _mergeAutoCompleteHints:]

        * History.subproj/WebHistory.m:
        (-[WebHistoryPrivate addItem:]):
        retain/release oldEntry until we're done with it, since removing it from dictionary might
        cause it to be dealloc'ed otherwise.
        
        * History.subproj/WebHistoryItem.m:
        (-[WebHistoryItem _mergeAutoCompleteHints:]):
        added an assert

2005-11-26  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by mjs.  Committed by eseidel.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=5230
        "characterIndexForPoint: not yet implemented"

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView characterIndexForPoint:]):
        (-[WebHTMLView firstRectForCharacterRange:]):

2005-11-22  Darin Adler  <darin@apple.com>

        * WebView.subproj/WebView.h: Fixed incorrect comment in public header.

2005-11-18  Vicki Murley  <vicki@apple.com>

	Changes by Tim H, reviewed by Vicki.

	- call shouldClose on the bridge for the main frame

        * WebView.subproj/WebView.m:
        (-[WebView shouldClose]):

2005-11-18  Vicki Murley  <vicki@apple.com>

        Changes by Darin, reviewed by Beth and Vicki.

        - fix <rdar://problem/3939265> support "before unload" event and onbeforeunload handler (supported by both IE and Mozilla)

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge canRunBeforeUnloadConfirmPanel]):
        (-[WebBridge runBeforeUnloadConfirmPanelWithMessage:]):
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]):
        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
        * WebView.subproj/WebUIDelegatePrivate.h:
        * WebView.subproj/WebView.m:
        (-[WebView shouldClose]):
        * WebView.subproj/WebViewPrivate.h:

2005-11-10  Maciej Stachowiak  <mjs@apple.com>

        Build fix, not reviewed.

        * Plugins.subproj/WebBaseNetscapePluginViewInternal.h: Added.

2005-11-10  Tim Omernick  <timo@apple.com>

        Reviewed by Geoff.

	<rdar://problem/4237941> Dashboard needs a way to stop Netscape plug-ins from getting null events

        * Plugins.subproj/WebBaseNetscapePluginViewInternal.h: Added.
	Added WebInternal category, with -stopNullEvents and -restartNullEvents.  These methods already exist on WebBaseNetscapePluginView.
	I am just exposing them	to callers elsewhere within WebKit.

        * WebKit.xcodeproj/project.pbxproj:
	Added WebBaseNetscapePluginViewInternal.h.

        * WebView.subproj/WebFrame.m:
        (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]):
	Walks down the web frame hierarchy and calls -_pauseNullEventsForAllNetscapePlugins on each WebHTMLView.
        (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]):
	Same as above, but calls -_resumeNullEventsForAllNetscapePlugins.
	
        * WebView.subproj/WebFramePrivate.h:
	Declared -_recursive_pauseNullEventsForAllNetscapePlugins and -_recursive_pauseNullEventsForAllNetscapePlugins.
	
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]):
	Checks subviews for WebBaseNetscapePluginViews, and calls -stopNullEvents on them.
        (-[WebHTMLView _resumeNullEventsForAllNetscapePlugins]):
	Same as above, but calls -restartNullEvents.

        * WebView.subproj/WebHTMLViewInternal.h:
	Declared -_pauseNullEventsForAllNetscapePlugins and -_resumeNullEventsForAllNetscapePlugins.

2005-11-07  Geoffrey Garen  <ggaren@apple.com>

        Darin reviewed this a while back.

        - Fixed <rdar://problem/4161660> window.close followed by window.print
        in onload handler crashes Safari in KJS::ScopeChain::bottom
        (redmccombstoyota.com)
        
        Added a call to stopLoading inside closeWindowSoon to prevent load
        events from firing after a window has torn down.
        
        Manual test case: WebCore/manual-tests/window-close-during-parsing.html

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge closeWindowSoon]):

2005-11-03  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Darin and Vicki.

        * WebKit.xcodeproj/project.pbxproj:
          Change to use $(SYSTEM_LIBRARY_DIR) consistently and place
          $(NEXT_ROOT) in a few spots to make build-root work.

2005-11-01  Tim Omernick  <timo@apple.com>

        Reviewed by John Sullivan.

	<rdar://problem/4318632>

	I've added a new notification, WebPluginWillPresentNativeUserInterfaceNotification.  Plugins are expected to post this
	notification before presenting "native UI", such as dialog boxes.  A Dashboard client can observe this notification to
	hide the Dashboard layer when plugins present external UI.
	
        * English.lproj/StringsNotToBeLocalized.txt:
	Added "WebPluginWillPresentNativeUserInterface".

        * Plugins.subproj/WebPluginsPrivate.h: Added.
        * Plugins.subproj/WebPluginsPrivate.m: Added.
	Declare WebPluginWillPresentNativeUserInterfaceNotification.

        * WebKit.xcodeproj/project.pbxproj:
	Added WebPluginsPrivate.[hm]

	* WebKit.exp:
	Added _WebPluginWillPresentNativeUserInterfaceNotification.

2005-11-01  John Sullivan  <sullivan@apple.com>

        Reviewed by Darin Adler.
        
        fixed deployment build by hiding local variables used only in ASSERTs on builds for
        which ASSERT_DISABLED is true.

        * History.subproj/WebHistory.m:
        (-[WebHistoryPrivate removeItemForURLString:]):
        (-[WebHistoryPrivate setLastVisitedTimeInterval:forItem:]):

2005-11-01  John Sullivan  <sullivan@apple.com>

        Reviewed by Tim Omernick.
        
        - fixed <rdar://problem/4324104> Assertion failure (foundDate) in WebHistory
        
        WebFrame was updating the last visited date on a WebHistoryItem behind WebHistory's
        back, causing WebHistory's caches of items by date to get out of sync with reality.
        Changed to set the date through WebHistory rather than directly.

        * History.subproj/WebHistory.m:
        (-[WebHistoryPrivate _removeItemFromDateCaches:]):
        New method, extracted from removeItemForURLString.
        (-[WebHistoryPrivate removeItemForURLString:]):
        Now calls extracted method. Cleaned up white space a little.
        (-[WebHistoryPrivate _addItemToDateCaches:]):
        New method, extracted from addItem:
        (-[WebHistoryPrivate addItem:]):
        Now calls extracted method. Cleaned up white space a little.
        (-[WebHistoryPrivate setLastVisitedTimeInterval:forItem:]):
        New method, removes item from date caches, changes date, then adds item back to
        date caches and sends notification.
        (-[WebHistory setLastVisitedTimeInterval:forItem:]):
        New method, cover for WebHistoryPrivate version.
        
        * History.subproj/WebHistoryItem.m:
        (-[WebHistoryItem _setLastVisitedTimeInterval:]):
        Don't send notification here; send from new WebHistory method instead.
        
        * History.subproj/WebHistoryItemPrivate.h:
        Added comment about avoiding incorrect use of _setLastVisitedTimeInterval:
        * History.subproj/WebHistoryPrivate.h:
        Added declarations for WebHistory and WebHistoryPrivate versions of 
        setLastVisitedTimeInterval:forItem:
        
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _transitionToCommitted:]):
        change history item's date via new WebHistory method rather than directly

2005-10-25  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Darin.

        Remove the use of a stamp file in the Frameworks symlink build phase.
        This lets us pass the build verification.

        * WebKit.xcodeproj/project.pbxproj:

2005-10-24  Darin Adler  <darin@apple.com>

        Reviewed by Geoff.

        - change internal methods in WebTextRenderer to be functions in case this
          has any effect on speed (also makes things a bit clearer, in my opinion)

        * WebCoreSupport.subproj/WebTextRenderer.h: Made all fields public, which is
        OK since this is really a private class. Made setAlwaysUseATSU: class method
        public too for the same reason.

        * WebCoreSupport.subproj/WebTextRenderer.m: Change all methods to functions.
        (destroy): Function name for method free.
        (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]): Removed code to first subtract
        lineSpacing - descent, then later add it back.
        (getSmallCapsRenderer): Function name for method smallCapsRenderer.
        (findSubstituteFont): Function name for method substituteFontForString:families:.
        (findSubstituteRenderer): Function name for method substituteRendererForCharacters:length:families:.
        (updateGlyphMapEntry): Function name for method updateGlyphEntryForCharacter:glyphID:substituteRenderer:.
        (extendGlyphMap): Function name for method extendCharacterToGlyphMapToInclude:.
        (extendWidthMap): Function name for method extendGlyphToWidthMapToInclude:.
        (getTextBounds): Function name for method trapezoidForRun:style:atPoint:.

2005-10-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Darin.  Committed by David Harrison.

        http://bugs.webkit.org/show_bug.cgi?id=5415
        "Left border of selection highlight leaves behind a trail"
        
        * manual-tests/drag_select_highlighting.html: Added.
        (this test case was added to WebCore)
   
        * WebCoreSupport.subproj/WebTextRenderer.m:
        (overrideLayoutOperation):
        (-[WebTextRenderer CG_drawHighlightForRun:style:geometry:]):
        (-[WebTextRenderer ATSU_drawHighlightForRun:style:geometry:]):
        (advanceWidthIterator):


2005-10-23  Tim Omernick  <tomernick@apple.com>

        Reviewed by Dave Hyatt.

	<http://bugs.webkit.org/show_bug.cgi?id=5365>

	Send -webPlugInStop (or -pluginStop) and -webPluginDestroy (or -pluginDestroy)
	to complying plugins right when they're removed from the WebHTMLView, and also
	release them from the plugin controller's arrays.
	
	I think this patch makes WebKit behave more like plugins expect it to, which is
	the way it already behaves with Netscape plugins.
	
	I expect complying plugins to stop making noise when receiving the stop
	message, but QuickTime doesn't. If it's lucky, then it will be deallocated
	because of the release and will stop then. However, JS, for one, can retain the
	plugin (e.g. if you execute <javascript:document.getElementById('obj').width;>
	before clicking Remove OBJECT), in which case it will just keep playing.
	
        * Plugins.subproj/WebPluginController.h:
        * Plugins.subproj/WebPluginController.m:
        (-[WebPluginController destroyPlugin:]):
	Stop and destroy the plugin.
        * WebView.subproj/WebHTMLView.m:
        (-[NSArray willRemoveSubview:]):
	Destroy plugins when they are removed from the HTML view.
	
2005-10-23  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Maciej.

        For better abstraction, made the tokenizer -- instead of the 
        data source -- responsible for calling [WebFrame _checkLoadComplete]
        when the tokenizer stops.

        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _stopLoadingInternal]):

2005-10-21  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by darin.
        
        WebKit side of the fix for <rdar://problem/4184719> window.print() followed by 
        window.close() causes world leak
        
        No test case added because I have another reviewed patch that will include a test
        for this bug as well as many others.

        Under some conditions, [WebDataSource stopLoading] did not set [WebDataSource isLoading]
        to false, so the didFInishLoad delegates never fired.
        
        The reason isLoading didn't become false was that the tokenizer was still running.
        The fix here is to move the call to [WebCoreBridge stopLoading] above the early return
        inside [WebDataSource stopLoading] -- since the tokenizer may still be running even if the
        loader is finished loading -- and then to call [WebFrame _checkLoadComplete] to 
        give the frame a chance to fire its delegates.
        
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _stopLoadingInternal]):

2005-10-21  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin??

	Fix for <rdar://problem/3853672> Malformed HTML using crashes Safari in NSFireTimer

	The webFrame was being deleted prematurely by a call to stop(), so we changed it
	so that the calls to _receivedMainResourceError and _mainReceivedError happen 
	before the stop(), and we retain the bridge.

        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _receivedMainResourceError:complete:]):

2005-10-21  Geoffrey Garen  <ggaren@apple.com>

        Patch by TimO, Reviewed by hyatt, tested and landed by me.

        Found what appears to be a misguided optimization that actually causes a measurable performance problem.
        A fixed-size buffer was allocated on the stack to pass into CFURLGetBytes(), presumably to avoid malloc()
        for URLs less than 2048 bytes.  There was also a fallback which malloc()'ed a buffer in case the fixed-size
        buffer was too small to hold the URL's bytes.  This malloc()'ed buffer was then wrapped in an NSData using
        +dataWithBytesNoCopy:length:, avoiding a memory copy (yay!)

        The problem with this approach is two-fold:
    
        1. Regardless of how the buffer was allocated and filled, it is immediately wrapped in an NSData using
        +dataWithBytes:length:, which copies the input bytes.  This is pretty much unavoidable; we need to get
        the data into a malloc()'ed buffer to return it to the caller, unless the caller provides its own storage
        (which would be super inconvenient).
    
        2. The size of the fixed buffer was large enough that it fit most (if not all) URLs involved in our Page
        Load Test.  This means the unintentionally-inefficient case was by far the most *common* case!
        
        My fix is to malloc() the buffer from the start, and then use +[NSData dataWithBytes:length:freeWhenDone:]
        to wrap the buffer in an NSData.  This avoids a memory copy for the normal case where a URL is less than
        2048 bytes, and keeps the efficient behavior for the uncommon long URL case.

        * Misc.subproj/WebNSURLExtras.m:
        (-[NSURL _web_originalData]):

2005-10-21  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed and landed by Darin.

        - fixed a couple regressions caused by my last check-in
          http://bugs.webkit.org/show_bug.cgi?id=5437
          http://bugs.webkit.org/show_bug.cgi?id=5443

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer CG_drawHighlightForRun:style:geometry:]): Compute background width
        correctly, by subtracting position after run from position before run.
        (addDirectionalOverride): Make the range include only the characters between the
        directional override characters, not the directional override characters themselves.
        (initializeWidthIterator): Correctly compute "widthToStart" based on the offset to
        the beginning of the run, not to the end of the run!

2005-10-19  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - optimizations for a total of about 1% speed-up on PLT

        * WebCoreSupport.subproj/WebTextRenderer.h: Updated to use bool instead of BOOL,
        since BOOL is a signed char (which is not so efficient, at least on PPC).
        * WebCoreSupport.subproj/WebTextRenderer.m:
        (isSpace): Changed BOOL to bool and UniChar to UChar32. This actually fixes a
        potential bug when the passed-in character is a non-BMP character (> FFFF).
        (isRoundingHackCharacter): Ditto.
        (widthForGlyph): Merged getUncachedWidth, widthFromMap, and widthForGlyph into
        one function. Marked it inline. Changed to include syntheticBoldOffset in the
        cached widths to save an add in the cached case. Instead of the special constant
        UNINITIALIZED_GLYPH_WIDTH, just check for a width >= 0. This allows us to use
        a negative number or NAN for the uninitialized width value -- I chose NAN.
        (overrideLayoutOperation): Use bool instead of Boolean in one place.
        (-[WebTextRenderer initWithFont:]): Use lroundf instead of ROUND_TO_INT.
        (-[WebTextRenderer floatWidthForRun:style:]): Put the code to choose the ATSU
        vs. CG code path back in here, because there are no callers inside the class
        that need to call both.
        (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]):
        Use bool instead of BOOL.
        (+[WebTextRenderer setAlwaysUseATSU:]): Ditto.
        (fontContainsString): Ditto.
        (-[WebTextRenderer computeWidthForSpace]): Ditto. Also use roundf instead of
        using ROUND_TO_INT.
        (-[WebTextRenderer setUpFont]): Use bool instead of BOOL.
        (drawGlyphs): Ditto.
        (-[WebTextRenderer CG_drawHighlightForRun:style:geometry:]): Restructure the
        code so it can use the new advanceWidthIterator function instead of the old
        widthForNextCharacter function.
        (-[WebTextRenderer CG_drawRun:style:geometry:]): Use malloc instead of calloc
        since we don't need initialization. Call CG_floatWidthForRun instead of
        floatWidthForRun -- no need to re-check whether to use the CG or ATSU code path.
        Removed code to handle a renderer of 0 since we no longer generate that in
        the renderers array in advanceWidthIterator.
        (CG_floatWidthForRun): Changed to call the new advanceWidthIterator instead of
        the old widthForNextCharacter.
        (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]): Use malloc instead of
        calloc and explicitly initialize the one field that needs it. Fixed a potential
        storage leak by adding a call to WKClearGlyphVector. Initialize the renderers
        to self instead of to 0.
        (-[WebTextRenderer extendGlyphToWidthMapToInclude:]): Initialize the widths to
        NAN instead of UNINITIALIZED_GLYPH_WIDTH.
        (addDirectionalOverride): Fixed bug where the first and last character in the buffer
        could be uninitialized and where characters before and after the direction override
        could be incorrect.
        (-[WebTextRenderer ATSU_drawRun:style:geometry:]): Use bool instead of BOOL.
        (-[WebTextRenderer ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]):
        Ditto.
        (advanceWidthIteratorOneCharacter): Added new helper function for CG_pointToOffset.
        (-[WebTextRenderer CG_pointToOffset:style:position:reversed:includePartialGlyphs:]):
        Reimplemented to use advanceWidthIteratorOneCharacter instead of widthForNextCharacter.
        Also call CG_floatWidthForRun instead of floatWidthForRun since we don't need to
        reconsider whether to use CG or ATSU.
        (glyphForCharacter): Removed the map parameter and changed the renderer parameter to
        be an in-out one. Removed uneeded special case for when map is 0 and always get the
        renderer from the map. Also call extendCharacterToGlyphMapToInclude in here instead of
        making that the caller's responsibility.
        (initializeWidthIterator): Renamed to make the name shorter (removed "Character").
        Streamlned common cases like "no padding" and removed some unneeded casts. Changed to
        use advanceWidthIterator to compute width fo the first part of the run.
        (normalizeVoicingMarks): Factored this out into a separate function, since it's not part
        of the common case.
        (advanceWidthIterator): Changed widthForNextCharacter to this, eliminating per-character
        function overhead for iterating past a few characters. Merged the handling of surrogate
        pairs and of voicing marks so that we typically only have to do one "if" to rule out both.
        Merged the mirroring for RTL and uppercasing for small caps into a single boolean so that
        we only need one "if" to rule out both. Call the new glyphForCharacter. Check for the
        character '\t' first since that's cheaper than looking at tabWidth. Check tabWidth for 0
        first so that we don't have to convert it to floating point when not using it. Changed
        the special case for spaces to first check width, so that we don't bother with the rest
        of the code for glyphs not the same width as spaces. Fixed substitution code to call
        CG_floatWidthForRun -- no need to reconsider whether to use CG or ATSU. Also changed to
        properly get width from the result of that function. Merged the handling of letter spacing,
        padding, and word spacing into a single boolean so that we typically only have to do one
        "if" to rule out all three. Check for letterSpacing of 0 first so that we don't have to
        convert it to floating point when not using it. Same for padding and wordSpacing.
        Move the work from ceilCurrentWidth in line into this function. Assume that either we have
        all three pointers (widths, renderers, glyphs), or none of the three, to cut down on branches.
        (fillStyleWithAttributes): Use bool instead of BOOL.
        (shouldUseATSU): Ditto.

        * Misc.subproj/WebKitNSStringExtras.m: (-[NSString _web_widthWithFont:]): Update since
        the floatWidthForRun method no longer takes a widths parameter.
        * Misc.subproj/WebStringTruncator.m: (stringWidth): Ditto.

2005-10-19  Tim Omernick  <tomernick@apple.com>

        Reviewed by eseidel & darin.

	Changed some of the run measurement methods to C functions
        to avoid overhead associated with objc_msgSend().
		
        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer floatWidthForRun:style:widths:]):
	Updated to call new run measurement functions instead
        of calling ObjC methods.
        (-[WebTextRenderer CG_drawRun:style:geometry:]): ditto
        (floatWidthForRun): ditto
        (CG_floatWidthForRun): ditto
        (ATSU_floatWidthForRun): ditto
        (widthForNextCharacter): ditto

2005-10-14  Vicki Murley  <vicki@apple.com>

	Changes by Mitz Pettel, reviewed by Maciej.

	Fix http://bugs.webkit.org/show_bug.cgi?id=5029 (Assertion failure in -[NSPasteboard(WebExtras) 
	_web_writeImage:URL:title:archive:types:] when trying to drag an image from a site with no favicon)

        * Misc.subproj/WebNSPasteboardExtras.m:
        (-[NSPasteboard _web_writeImage:URL:title:archive:types:]): Prefer the main resource if it is an image

2005-10-12  Vicki Murley  <vicki@apple.com>

        Reviewed by Darin.

	- fix <rdar://problem/4043643> iframe swallows events for overlapping elements (3449)

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView hitTest:]): 
        (-[WebHTMLView _updateMouseoverWithEvent:]): eliminate _hitViewForEvent hackery and self
	dependency from this function

2005-10-12  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Darin.
        
        Define WebNSInt and WebNSUInt to wrap around NSInt on Leopard and still build on Tiger
        Once building on Tiger isn't needed we will drop WebNSInt and use NSInt

        * WebView.subproj/WebDefaultResourceLoadDelegate.m:
        (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveContentLength:fromDataSource:]):
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]):
        * WebView.subproj/WebLoader.m:
        (-[NSURLProtocol didReceiveData:lengthReceived:]):
        * WebView.subproj/WebResourceLoadDelegate.h:
        * WebView.subproj/WebUIDelegate.h:
        * WebView.subproj/WebView.h:
        * WebView.subproj/WebView.m:
        (-[WebView _mouseDidMoveOverElement:modifierFlags:]):
        (-[WebView spellCheckerDocumentTag]):
        * WebView.subproj/WebViewInternal.h:
        * WebView.subproj/WebViewPrivate.h:

2005-10-12  Darin Adler  <darin@apple.com>

        * WebView.subproj/WebPolicyDelegate.h: Fix a comment.

2005-10-11  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Darin.
        
        Test for 10.4 because of <rdar://problem/4243463>

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView conversationIdentifier]):

2005-10-11  Adele Peterson  <adele@apple.com>

        Rolling out fix for http://bugs.webkit.org/show_bug.cgi?id=5195
        since it caused:

        REGRESSION text areas draw focus ring around each glyph, no caret in text fields
        http://bugs.webkit.org/show_bug.cgi?id=5335

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _propagateDirtyRectsToOpaqueAncestors]):
        (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
        (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]):

2005-10-09  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=5195
          Would like API to flush rendering of pending DOM changes

        This was actually a Tiger regression. When AppKit added a new code path for rendering
        NSView, our special hack for doing layout when we draw didn't work any more. So we
        were able to fix this without adding any API.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _recursiveDisplayRectIgnoringOpacity:inContext:topView:]): Added.
        Does the same thing that other _recursiveDisplay methods do.

2005-10-08  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by Maciej.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=5187
          UTF-8 in long text files breaks at some point

        * WebView.subproj/WebTextRepresentation.m:
        (-[WebTextRepresentation finishedLoadingWithDataSource:]):
        Call flushReceivedData on the WebTextView so it can decode any final bytes.

        * WebView.subproj/WebTextView.h: Added WebCoreTextDecoder field and flushReceivedData method.
        * WebView.subproj/WebTextView.m:
        (-[WebTextView dealloc]): Release WebCoreTextDecoder.
        (-[WebTextView appendReceivedData:fromDataSource:]): Create a WebCoreTextDecoder to decode
        the text; use the textEncodingName from the data source. Use it to decode instead of the
        data source's stringWithData.
        (-[WebTextView flushReceivedData]): Call flush on the decoder and append any last bytes to
        the text view.

2005-10-07  John Sullivan  <sullivan@apple.com>

        Reviewed by Tim Omernick.
        
        WebKit support for allowing clients to know which frame originated a particular JavaScript alert/dialog.

        * WebView.subproj/WebUIDelegatePrivate.h:
        New optional delegate methods for the three JavaScript alert/dialogs. These are just like the existing
        ones in WebUIDelegate.h except that each adds a parameter specifying the frame that the JavaScript was
        running in. Eventually we'll deprecate the old three methods in favor of these in the public API.
        
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge runJavaScriptAlertPanelWithMessage:]):
        Call version of the delegate method that has the frame parameter if the delegate supports it.
        (-[WebBridge runJavaScriptConfirmPanelWithMessage:]):
        ditto
        (-[WebBridge runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]):
        ditto
        
        * WebView.subproj/WebDefaultUIDelegate.m:
        (-[WebDefaultUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:]):
        Now implements the new version of the delegate method that includes the frame parameter. (Still
        doesn't do anything though.)
        (-[WebDefaultUIDelegate webView:runJavaScriptConfirmPanelWithMessage:initiatedByFrame:]):
        Now implements the new version of the delegate method that includes the frame parameter. (Still
        doesn't do anything though.)
        (-[WebDefaultUIDelegate webView:runJavaScriptTextInputPanelWithPrompt:defaultText:initiatedByFrame:]):
        Now implements the new version of the delegate method that includes the frame parameter. Doesn't
        actually use the frame parameter here yet though.
        
2005-10-06  Darin Adler  <darin@apple.com>

        - fixed compiling on Deployment

        * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer initWithFont:]):
        Put initialFont inside !LOG_DISABLED.

2005-10-06  Darin Adler  <darin@apple.com>

        Reviewed by Eric.

        - tweaked formatting

        * WebCoreSupport.subproj/WebTextRenderer.m: Changed function names to remove underscores;
        fixed formatting to match our coding guidelines, other related tweaks.

2005-10-06  Darin Adler  <darin@apple.com>

        Reviewed by Eric.

        - fixed regression in drawing of text in non-flipped contexts from my last check-in

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (drawGlyphs): Only flip the matrix if the NSGraphicsContext is flipped.
        (-[WebTextRenderer _ATSU_drawRun:style:geometry:]): Use -[NSGraphicsContext isFlipped]
        instead of [[NSView focusView] isFlipped].

2005-10-06  Darin Adler  <darin@apple.com>

        Reviewed by Hyatt.

        - fixed <rdar://problem/3217793> Monaco bold comes out as Helvetica bold, very bad if you choose Monaco as your fixed-width font
        - fixed <rdar://problem/3256269> CSS1: bold/italic font styles not programmatically created if font doesn't include them (3231)
          also <http://bugs.webkit.org/show_bug.cgi?id=3231>

        * WebCoreSupport.subproj/WebTextRenderer.h: Removed public declarations of private structures that are not
        used in the header. Removed the separate 16-bit character map; the difference in code size is only a few
        bytes per page and there's no measurable performance difference by always using the 32-bit character version.
        Removed substitute font width maps altogether, since we now use the width map in the substitute font's renderer.
        Also removed a few more now-unused fields and methods. Changed initWithFont to take WebCoreFont. Changed
        the setAlwaysUseATSU: method to remove the underscore prefix.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (getUncachedWidth): Get font from WebCoreFont directly instead of taking a parameter, since we now use only
        one NSFont per WebTextRenderer.
        (widthFromMap): Removed NSFont parameter for same reason as above; simplified.
        (widthForGlyph): Ditto.
        (overrideLayoutOperation): Updated for change to WebCoreFont.
        (-[WebTextRenderer initWithFont:]): Changed to use WebCoreFont. Removed code to deal with substitute font maps.
        Changed lineGap computation to use floats instead of doubles. Added code to compute a synthetic bold offset.
        Currently this is the font size divided by 24 and then rounded up to an integer.
        (-[WebTextRenderer dealloc]): Updated for change to WebCoreFont and other related changes.
        (-[WebTextRenderer finalize]): Ditto.
        (-[WebTextRenderer xHeight]): Ditto.
        (-[WebTextRenderer drawRun:style:geometry:]): Remove small caps case here; no longer needed. Also updated as above.
        (-[WebTextRenderer floatWidthForRun:style:widths:]): Ditto.
        (-[WebTextRenderer drawHighlightForRun:style:geometry:]): Ditto.
        (-[WebTextRenderer pointToOffset:style:position:reversed:includePartialGlyphs:]): Ditto.
        (+[WebTextRenderer setAlwaysUseATSU:]): Renamed to remove underscore prefix.
        (-[WebTextRenderer smallCapsRenderer]): Ditto. Changed to create a renderer for the smaller sized font.
        (-[WebTextRenderer _substituteFontForString:families:]): Reorganized this to be more readable and to call
        the new rendererForAlternateFont method.
        (-[WebTextRenderer rendererForAlternateFont:]): Added. Used to select an alternate font taking into account
        bold and italic synthesis.
        (-[WebTextRenderer substituteRendererForCharacters:length:families:]): Renamed to remove underscore prefix.
        Updated to use rendererForAlternateFont.
        (-[WebTextRenderer _computeWidthForSpace]): Updated for name changes and to remove unnecessary parameters.
        (-[WebTextRenderer setUpFont]): Renamed to remove underscore prefix. Added code to get printer or screen
        font as specified by WebCoreFont so calers don't need to do this.
        (drawGlyphs): Renamed to remove underscore prefix. Added code for synthetic oblique (14 degree slant), and
        synthetic bold (add offset and draw text a second time).
        (-[WebTextRenderer _CG_drawRun:style:geometry:]): Keep an array of substitute renderers instead of fonts.
        Changed around the loop to reverse the run to be a single loop instead of 3.
        (-[WebTextRenderer floatWidthForRun:style:widths:substituteRenderers:glyphs:startPosition:numGlyphs:]):
        Renamed to remove the underscore prefix.
        (-[WebTextRenderer _CG_floatWidthForRun:style:widths:substituteRenderers:glyphs:startPosition:numGlyphs:]):
        Changed to use subsitute renderers rather than fonts.
        (-[WebTextRenderer updateGlyphEntryForCharacter:glyphID:substituteRenderer:]): Renamed to remove underscore
        prefix and changed to use a substitute renderer rather than a substitute NSFont.
        (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]): Updated to work with all characters, both ones
        that fit into 16-bit and ones that don't.
        (-[WebTextRenderer _extendGlyphToWidthMapToInclude:]): Removed NSFont parameter and simplified. This fixes
        a bug where numberOfGlyphs was accidentally used from the main font instead of "subFont".
        (glyphForCharacter): Changed to use subsitute renderers instead of substitute fonts.
        (widthForNextCharacter): Ditto. Also removed small caps code no longer needed here and replaced it with
        simpler small caps code that no longer assumes glyphs match.
        (shouldUseATSU): Changed the code to check ranges in order to slightly reduce the number of cases and
        to create earlier exit for lower character codes.

        * WebCoreSupport.subproj/WebTextRendererFactory.h: Added caches for synthesized font and oblique
        variants so we can still use the NSFont as the dictionary key. Removed coalesceTextDrawing methods.
        Changed methods to use WebCoreFont as the parameters and results instead of NSFont.
        * WebCoreSupport.subproj/WebTextRendererFactory.m:
        (-[WebTextRendererFactory clearCaches]): Clear all 8 caches.
        (-[WebTextRendererFactory isFontFixedPitch:]): Changed code slightly so there's only one call to
        the CFDictionarySetValue function.
        (-[WebTextRendererFactory init]): Create all 8 caches.
        (-[WebTextRendererFactory dealloc]): Release all 8 caches.
        (-[WebTextRendererFactory rendererWithFont:]): Select the appropriate cache based on 3 booleans:
        synthetic bold, synthetic oblique, and printer. Use WebCoreFont instead of NSFont.
        (-[WebTextRendererFactory fontWithFamilies:traits:size:]): Set the synthetic bold and oblique flags
        when returning a WebCoreFont based on requested traits that are not present in the NSFont.
        (acceptableChoice): Ignore the synthesizable traits when deciding if a chosen font is acceptable.
        (betterChoice): Rather than assuming that every font has all the desired traits, implement a rule
        that says a font with an unwanted trait loses out over a font that does not have an unwanted trait.
        This lets us chose a bold font over a non-bold font that could use synthesized bold but treat both
        as candidates.

        * WebCoreSupport.subproj/WebGlyphBuffer.h: Removed.
        * WebCoreSupport.subproj/WebGlyphBuffer.m: Removed.
        * WebKit.xcodeproj/project.pbxproj: Removed WebGlyphBuffer source files.

        * Misc.subproj/WebKitNSStringExtras.m:
        (-[NSString _web_drawAtPoint:font:textColor:]): Update to use WebCoreFont.
        (-[NSString _web_widthWithFont:]): Ditto.
        * Misc.subproj/WebStringTruncator.m:
        (truncateString): Ditto.
        (+[WebStringTruncator widthOfString:font:]): Ditto.

        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]): Removed text drawing coalesce method calls.
        * WebView.subproj/WebTextView.m: (-[WebTextView setFixedWidthFont]): Updated to use cachedFontFromFamily
        method, which we still have, rather than fontWithFamilies method which we don't (since it now uses WebCoreFont).
        * WebView.subproj/WebView.m: (+[WebView _setAlwaysUseATSU:]): Updated for name change to underlying method.

2005-10-05  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Eric.

	<rdar://problem/4158439> Safari appears to hang when sending synchronous XMLHttpRequest that gets no server response

	No testcase - not testable w/o network.
	
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): Set a timeout of 10.

2005-10-04  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin

	Fix for <rdar://problem/4285538> TOT fix for Denver Regression: Drawing glitch in the transparent dialog's cancel/ok 
	button in the widget manager. 

        * WebCoreSupport.subproj/WebImageData.m: Calls WKSetPatternPhaseInUserSpace() which is a new function that lies in 
						WebKitSystemInterface that and takes care of pattern-setting. Prevents 
						regression that occurred with image tiling in transparency layers. 
        (-[WebImageData tileInRect:fromPoint:context:]):

2005-10-03  Tim Omernick  <tomernick@apple.com>

        Reviewed by John Sullivan.

	<rdar://problem/4281095> Denver regression: Seed: Safari HTML 4.01 <object ...> tag problem

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge determineObjectFromMIMEType:URL:]):
	If no view class is registered to handle the MIME type, check to see if there is a plugin registered which can handle it.
	This check is required because the Java plugin does not register an NSView class, so that Java files are downloaded when
	not embedded.

	Prior to this fix, -determineObjectFromMIMEType:URL: would always return ObjectElementNone for Java applets (MIME type
	"application/x-java-applet"), which would cause Java applets embedded in <OBJECT> elements to not be loaded.

	This broke on 05-03-2005, when we changed how we handle fallback content for <OBJECT> elements so that we could pass the
	Acid2 test.

2005-09-28  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by geoff
        
        Fixed <rdar://problem/4276596> multipart/x-mixed-replace: saved inline images appear only partially loaded
        Fixed <rdar://problem/4265439> progress bar should look complete even if there is some more multipart content being loaded

        * WebCoreSupport.subproj/WebSubresourceLoader.h:
        * WebCoreSupport.subproj/WebSubresourceLoader.m:
        (-[WebSubresourceLoader didReceiveResponse:]):
        Now calls signalFinish and saveResource.
        
        (-[WebSubresourceLoader signalFinish]): 
        Added.  Does the part of didFinishLoading that signals to the WebDataSource and load delegates that the load is finished.
        
        (-[WebSubresourceLoader didFinishLoading]):
        * WebView.subproj/WebLoader.h:
        * WebView.subproj/WebLoader.m:
        (-[NSURLProtocol signalFinish]):
        Similar to above
        
        (-[NSURLProtocol didFinishLoading]):

2005-09-28  Adele Peterson  <adele@apple.com>

        Reviewed by John.

        Moved _downloadWithLoadingConnection and _downloadWithRequestfrom WebDownload.h to WebDownloadInternal.h

        * Misc.subproj/WebDownload.h:
        * Misc.subproj/WebDownloadInternal.h: Added.
        * WebKit.xcodeproj/project.pbxproj: Added WebDownloadInternal.h
        * WebView.subproj/WebMainResourceLoader.m: Added import of WebDownloadInternal.h
        * WebView.subproj/WebView.m: ditto.

2005-09-27  Adele Peterson  <adele@apple.com>

        Reviewed by Maciej.

        Changed ints to size_t where appropriate.

        * Misc.subproj/WebCoreStatistics.h:
        * Misc.subproj/WebCoreStatistics.m:
        (+[WebCoreStatistics javaScriptObjectsCount]):
        (+[WebCoreStatistics javaScriptInterpretersCount]):
        (+[WebCoreStatistics javaScriptNoGCAllowedObjectsCount]):
        (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
        * WebView.subproj/WebPreferences.m:
        (-[WebPreferences _pageCacheSize]):
        (-[WebPreferences _objectCacheSize]):
        * WebView.subproj/WebPreferencesPrivate.h:

2005-09-26  John Sullivan  <sullivan@apple.com>

        Reviewed by Tim Omernick.

        - fixed <rdar://problem/4118126> Drag-and-drop text with text containing a colon causes a crash
        
        There were two problems here. One is that dragging and dropping text within the same WebTextView
        should have done nothing rather than try to navigate. The other is that navigating while processing
        the end of the drag would dealloc the drag-initiating WebTextView, leading to a crash. Fixing the
        former doesn't fix all cases of the latter, since dropping onto (e.g.) Safari's location field
        could cause a navigation during the drag. So these two issues needed to be fixed separately.

        * WebView.subproj/WebTextView.m:
        (-[WebTextView dragSelectionWithEvent:offset:slideBack:]):
        Before drag, retain self, and tell WebView that the drag is self-initiated. After drag, do the
        opposite. This is the same approach as WebImageView, but it can all be contained in one method
        here due to NSTextView's dragging API, which wraps up some of the drag-machinery guts.

2005-09-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed and landed by Darin.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=5100
          -[WebTextRenderer _ATSU_drawRun:...] does not check view flippedness

        * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _ATSU_drawRun:style:geometry:]):
        Set up a the CGContext with a matrix that flips the text if the view is not flipped.

2005-09-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed, tweaked a tiny bit, and landed by Darin.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=4940
          CG and ATSUI give different width to the same text

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (overrideLayoutOperation): Added. ATSU callback to do the rounding.
        (-[WebTextRenderer _trapezoidForRun:style:atPoint:]): Use the new createATSULayoutParameters
        function instead of calling _createATSUTextLayoutForRun.
        (-[WebTextRenderer _ATSU_drawHighlightForRun:style:geometry:]): Use createATSULayoutParameters,
        and also compute the width in a way that works for any direction combination.
        (-[WebTextRenderer _ATSU_drawRun:style:geometry:]): Use createATSULayoutParameters.
        (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]):
        Use createATSULayoutParameters. Also put in code that seems to work around an ATSU bug.
        (createATSULayoutParameters): Added.
        (disposeATSULayoutParameters): Added.

2005-09-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Dave.
        Landed by Darin.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=4862
          Incorrect layout of bidi overrides

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (addDirectionalOverride): Renamed, and made it work in both directions.
        (-[WebTextRenderer _ATSU_drawHighlightForRun:style:geometry:]): Updated to call addDirectionalOverride.
        (-[WebTextRenderer _ATSU_drawRun:style:geometry:]): More of the same.
        (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]): Ditto.

2005-09-24  Alexey Proskuryakov  <ap@nypop.com>

        Tweaked, reviewed, and landed by Darin.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=4394
          Mouse clicks ignored in inline input areas

        * WebView.subproj/WebHTMLView.m:
        (-[NSArray mouseDown:]): Removed misleading comment and added code to send mouse event to input manager.
        (-[NSArray mouseDragged:]): Added code to send mouse event to input manager.
        (-[NSArray mouseUp:]): Ditto.
        (-[WebHTMLView _discardMarkedText]): Umnmark text before calling markedTextAbandoned: to match behavior
        of NSTextView (not sure why we did things in the opposite order before).
        (-[WebHTMLView _updateSelectionForInputManager]): Ditto.

        - unrelated tweak

        * WebView.subproj/WebView.m:
        (-[WebView _performTextSizingSelector:withObject:onTrackingDocs:selForNonTrackingDocs:newScaleFactor:]):
        Fix typecast that used ... for no good reason.

2005-09-23  Duncan Wilcox  <duncan@mclink.it>

        Reviewed and landed by Darin.

        - name changes to prepare for fixing bugzilla bug 4582

        * WebView.subproj/WebHTMLView.m: Changed names to match WebCore changes.

2005-09-20  John Sullivan  <sullivan@apple.com>

        Reviewed by Tim Omernick.

        - fixed <rdar://problem/3228554> We should enforce one selection per WebView instead of per window
        
        Note that this checkin does not mean that we will always maintain a selection in a WebView when
        the focus is elsewhere. Instead it means that there should never be more than one frame containing
        a selection in a WebView, and that it's possible to maintain a selection in a WebView when the focus 
        is elsewhere.

        * WebView.subproj/WebView.m:
        (-[WebView searchFor:direction:caseSensitive:wrap:]):
        removed unnecessary and somewhat confusing comment
        (-[WebView selectedFrame]):
        now calls the extracted method -_focusedFrame
        (-[WebView _focusedFrame]):
        new method, extracted from -selectedFrame; returns frame containing first responder, if any
        (-[WebView _findSelectedFrameStartingFromFrame:skippingFrame:]):
        added skippingFrame parameter, which is never returned
        (-[WebView _findSelectedFrameSkippingFrame:]):
        new method, starts from main frame and passes a frame to skip
        (-[WebView _findSelectedFrame]):
        now calls _findSelectedFrameSkippingFrame:nil
        (-[WebView _selectedFrameDidChange]):
        new method, called by WebDocumentText protocol implementors; calls -deselectAll on frame that
        formerly displayed a selection, if any

        * WebView.subproj/WebViewInternal.h:
        added category WebDocumentSelectionExtras, with the one method _selectedFrameDidChange

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView becomeFirstResponder]):
        call -[WebView _selectedFrameDidChange]

        * WebView.subproj/WebPDFView.m:
        (-[WebPDFView becomeFirstResponder]):
        call -[WebView _selectedFrameDidChange]
        (-[WebPDFView resignFirstResponder]):
        deselect all unless webview says not to; note that this doesn't work in all cases due to:
        <rdar://problem/4265966> PDFs continue to show a (secondary) selection when the focus moves elsewhere        

        * WebView.subproj/WebTextView.m:
        (-[WebTextView becomeFirstResponder]):
        call -[WebView _selectedFrameDidChange]
        (-[WebTextView resignFirstResponder]):
        deselect all unless webview says not to

2005-09-20  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

	Moved MIME type support from a hard coded list
        (in two places) to single lists in the corresponding
        *Representation classes.  Also moved the list of types
        supported by WebCore (WebHTMLRepresentation) into WebCore.
        http://bugs.webkit.org/show_bug.cgi?id=5037

        * WebView.subproj/WebDataSource.m:
        (addTypesFromClass): new inline function
        (+[WebDataSource _repTypesAllowImageTypeOmission:]):
        * WebView.subproj/WebFrameView.m:
        (addTypesFromClass): new inline function
        (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
        * WebView.subproj/WebHTMLRepresentation.h:
        * WebView.subproj/WebHTMLRepresentation.m:
        (+[WebHTMLRepresentation supportedMIMETypes]):
        * WebView.subproj/WebHTMLView.m:
        (+[WebHTMLView supportedMIMETypes]):
        * WebView.subproj/WebHTMLViewPrivate.h:
        * WebView.subproj/WebImageRepresentation.h:
        * WebView.subproj/WebImageRepresentation.m:
        (+[WebImageRepresentation supportedMIMETypes]):
        * WebView.subproj/WebImageView.h:
        * WebView.subproj/WebImageView.m:
        (+[WebImageView supportedMIMETypes]):
        * WebView.subproj/WebPDFRepresentation.h:
        * WebView.subproj/WebPDFRepresentation.m:
        (+[WebPDFRepresentation supportedMIMETypes]):
        * WebView.subproj/WebPDFView.h:
        * WebView.subproj/WebPDFView.m:
        (+[WebPDFView supportedMIMETypes]):
        * WebView.subproj/WebTextRepresentation.h:
        * WebView.subproj/WebTextRepresentation.m:
        (+[WebTextRepresentation supportedMIMETypes]):
        * WebView.subproj/WebTextView.h:
        * WebView.subproj/WebTextView.m:
        (+[WebTextView supportedMIMETypes]):
        * WebView.subproj/WebView.m:
        (+[WebView _viewClass:andRepresentationClass:forMIMEType:]):
        (+[WebView MIMETypesShownAsHTML]): updated to match style
        (+[WebView setMIMETypesShownAsHTML:]): ditto

2005-09-16  John Sullivan  <sullivan@apple.com>

        * WebView.subproj/WebImageView.m:
        (-[WebImageView copy:]):
        fixed build-breaking silly error in previous checkin

2005-09-16  John Sullivan  <sullivan@apple.com>

        Reviewed by Tim Omernick
        
        - fixed <rdar://problem/4256557> CrashTracer: 238 crashes in Safari at 
        com.apple.AppKit: -[NSPasteboard setData:forType:] + 188

        * WebView.subproj/WebImageView.m:
        (-[WebImageView copy:]):
        declare types to pasteboard before starting to set their data
        (-[WebImageView writeSelectionToPasteboard:types:]):
        ditto

2005-09-16  Adele Peterson  <adele@apple.com>

        Rolling out the fix for http://bugs.webkit.org/show_bug.cgi?id=4924
            QPainter should use CGContext as much as possible rather than NSGraphicsContext 
        since it caused a performance regression.

2005-09-16  Adele Peterson  <adele@apple.com>

        Change by Darin, reviewed by me and Maciej.

        Fixes http://bugs.webkit.org/show_bug.cgi?id=4547
        use int instead of long for 32-bit (to prepare for LP64 compiling)

        * Plugins.subproj/npapi.m: changed types to match those defined in npapi.h
        (NPN_MemAlloc):
        (NPN_MemFlush):
        (NPN_PostURLNotify):
        (NPN_PostURL):
        (NPN_Write):

2005-09-14  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by john

        Fixes <rdar://problem/4237479> REGRESSION (Cambridge-Denver): old QuickTime movie continues to play sound after reload
        We were adding the movie to the document twice after the changes were added to handle fallback content.
        There are some errors for which we should not render fall back content

        * Misc.subproj/WebKitErrorsPrivate.h:
        Introduced WebKitErrorPlugInWillHandleLoad to represent the cancel we do
        to prevent loading plugin content twice
        
        * Plugins.subproj/WebPluginDocumentView.m:
        (-[WebPluginDocumentView dataSourceUpdated:]): Ditto
        
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _receivedMainResourceError:complete:]):
        Don't handleFallbackContent on WebKitErrorPlugInWillHandleLoad or on a user cancel

2005-09-14  Timothy Hatcher  <thatcher@apple.com>

        Reviewed by Eric.
        
        * WebKit.xcodeproj/project.pbxproj:
        made WebDashboardRegion.h a private header

2005-09-14  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=4924
          QPainter should use CGContext as much as possible rather than NSGraphicsContext

        * WebCoreSupport.subproj/WebImageRendererFactory.m: Remove setCGCompositeOperationFromString
        method, no longer needed.

2005-09-13  Tim Omernick  <tomernick@apple.com>

        Reviewed by Justin Garcia, Darin Adler.

	- <rdar://problem/3163393> Safari does not support Windowless mode in Flash

        * Plugins.subproj/WebBaseNetscapePluginView.h:
	Added 'isTransparent' instance variable.

        * Plugins.subproj/WebBaseNetscapePluginView.m:	
        (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]):
	When updating a plugin in "windowless" (transparent) mode, clip drawing to the dirty
	region of the opaque ancestor.  This means that a partially-transparent plugin, which
	by definition does not clear its port on redraw, will not overdraw the valid parts
	of its port.
        (-[WebBaseNetscapePluginView sendEvent:]):
	Disabled the "green debug background" for transparent plugins -- since they are not
	expected to cover their entire port every redraw, this debug code makes no sense.
        (-[WebBaseNetscapePluginView setVariable:value:]):
	Implemented -setVariable:value:, which is called from NPN_SetValue() (previously
	unimplemented).
	Right now we only handle NPPVpluginTransparentBool; if we choose to handle the other
	plugin variables, then we may do so here.
        * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h:
	Added SPI for -[WebBaseNetscapePluginView setVariable:value].
        * Plugins.subproj/npapi.m:
        (NPN_SetValue):
	Implemented this function so that plugins may set state (such as window mode).
	
2005-09-11  Mark Rowe  <opendarwin.org@bdash.net.nz>

        Reviewed, tweaked, and landed by Darin.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=4286
          .Mac prefpane crashes when Safari using CVS WebKit is running

        * WebView.subproj/WebView.m: (-[WebView initWithFrame:frameName:groupName:]):
        If ENABLE_WEBKIT_UNSET_DYLD_FRAMEWORK_PATH, and WEBKIT_UNSET_DYLD_FRAMEWORK_PATH
        is set in the environment, then unset DYLD_FRAMEWORK_PATH.

        * WebKit.xcodeproj/project.pbxproj: Set ENABLE_WEBKIT_UNSET_DYLD_FRAMEWORK_PATH
        in configurations other than Default -- we don't want that code in production
        builds, but we want it in builds we do ourselves and nightly builds.

2005-09-10  Ingmar J Stein  <IngmarStein@gmail.com>

        Reviewed and landed by Darin.

        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
        Removed unused local variable.

2005-09-09  Tim Omernick  <tomernick@apple.com>

        Reviewed by John Sullivan.

        * History.subproj/WebBackForwardList.m:
        (-[WebBackForwardList removeItem:]):
	SPI to remove a given WebHistoryItem.

        * History.subproj/WebBackForwardListPrivate.h: Added.

        * WebKit.xcodeproj/project.pbxproj:
	Added WebBackForwardListPrivate.h as a private header.

2005-09-09  John Sullivan  <sullivan@apple.com>

        Reviewed by Tim Omernick.
        
        fixed http://bugs.webkit.org/show_bug.cgi?id=4070:
        Find in plain text won't find only occurrence if it overlaps selection

        * Misc.subproj/WebSearchableTextView.m:
        (-[NSString findString:selectedRange:options:wrap:]):
        in the wrap case, extend the search range far enough that text overlapping the
        selection (including the exact-match case) will be considered.

2005-09-08  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by darin
        
        WebKit portion of multipart/x-mixed-replace support

        * WebCoreSupport.subproj/WebSubresourceLoader.m:
        (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]):
        Subresource case: Check for Foundation level multipart support
        (-[WebSubresourceLoader didReceiveResponse:]): 
        Send previously received data in a multipart section to the coreLoader
        (-[WebSubresourceLoader didReceiveData:lengthReceived:]): 
        Don't send data to the coreLoader until it has been completely received
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _startLoading:]): 
        Main resource case: check for Foundation level multipart support 
        (+[WebDataSource _repTypesAllowImageTypeOmission:]):
        Some server apps send data right after declaring content multipart/x-mixed-replace, and expect it to be treated as html
        (-[WebDataSource _commitIfReady:]):
        Don't ask the WebFrame to close its old WebDataSource when loading a multipart section, because we're going to reuse it
        (-[WebDataSource _receivedData:]):
        For non text/html multipart sections, we commit the data all at once, at the end
        (-[WebDataSource _doesProgressiveLoadWithMIMEType:]):
        Added heuristic for when to commit the load incrementally
        (-[WebDataSource _commitLoadWithData:]):
        Moved from _receivedData into its own function
        (-[WebDataSource _revertToProvisionalState]):
        (-[WebDataSource _setupForReplaceByMIMEType:]):
        Commits the data received for the previous multipart section if it wasn't loaded progresively, clears out the WebFrame and WebDatasource for the next multipart section
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _transitionToCommitted:]): 
        The very first multipart section is treated as a normal load, so that the back/forward list and history are updated.
        All later sections have a new load type, WebFrameLoadTypeReplace, and are treated like reloads
        (-[WebFrame _checkLoadCompleteForThisFrame]): Ditto
        (-[WebFrame _itemForRestoringDocState]): Ditto
        (-[WebFrame _setupForReplace]):
        Clears out the WebFrame for the next multipart section
        * WebView.subproj/WebFrameInternal.h:
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebFrameView.m:
        (+[WebFrameView _viewTypesAllowImageTypeOmission:]): See above
        * WebView.subproj/WebLoader.h:
        * WebView.subproj/WebLoader.m:
        (-[NSURLProtocol clearResourceData]):
        (-[NSURLProtocol setSupportsMultipartContent:]):
        * WebView.subproj/WebMainResourceLoader.m: Straightforward
        (-[WebMainResourceLoader didReceiveResponse:]):

2005-09-06  Geoffrey Garen  <ggaren@apple.com>

        - fixed build bustage from last checkin.
        
        Reviewed by haytt.

        * History.subproj/WebBackForwardList.m:
        (-[WebBackForwardList pageCacheSize]): updated debug printf since we no
        longer have a variable called 'multiplier'

2005-09-06  David Hyatt  <hyatt@apple.com>

	Reduce the # of cached pages for a back/forward list.  The old cache would cache the
	following per tab:
	> 1gb memory = 16 pages per tab/window
	> 512mb memory = 8 pages per tab/window
	<= 512mb memory = 4 pages per tab/window

	This consumes far too much memory and is way too aggressive.  The new cache sizes are
	as follows:
	>= 1gb memory = 3 pages per tab/window
	>= 512mb memory = 2 pages per tab/window
	< 512mb memory = 1 page per tab/window

        Reviewed by john

        * History.subproj/WebBackForwardList.m:
        (-[WebBackForwardList pageCacheSize]):
        * WebView.subproj/WebPreferences.m:
        (+[WebPreferences initialize]):

2005-09-05  Darin Adler  <darin@apple.com>

        Reviewed by John Sullivan.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=4846
          REGRESSION: Carbon WebKit applications don't work at all

        * Carbon.subproj/HIWebView.m: Remove lots of unneeded declarations of private stuff.
        (Draw): Call WKNSWindowOverrideCGContext and WKNSWindowRestoreCGContext rather
        than calling a non-existent setCGContext: method on the context.

2005-09-05  John Sullivan  <sullivan@apple.com>

        Reviewed by Dave Hyatt.
        
        - change related to <rdar://problem/4211999> Safari quits when click-drag-hold an image 
        that is set to automatically change.

        * WebView.subproj/WebHTMLView.m:
        (-[NSArray namesOfPromisedFilesDroppedAtDestination:]):
        handle nil wrapper with ERROR and early return rather than ASSERT, since we now know
        of a way to reproduce this (written up as 4244861)

2005-09-05  Darin Adler  <darin@apple.com>

        Reviewed by John Sullivan.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=4357
          crash related to animated GIFs, reproducible in non-Safari WebKit application

        * WebCoreSupport.subproj/WebImageData.m:
        (removeAnimatingRendererFromView): Added.
        (removeFromDictionary): Added.
        (-[WebImageData removeAnimatingRenderer:]): Rewrote using CF functions rather than
        NS functions so that we never retain the views, since this can be called from
        a view's dealloc method.
        (setNeedsDisplayInAnimationRect): Added.
        (-[WebImageData _nextFrame:]): Rewrote as above, even though in this case it can't
        be called from the dealloc method.

2005-08-26  David Hyatt  <hyatt@apple.com>

	Add support for a new scaling and tiling function so that border images from CSS3
	can be implemented.
	
        Reviewed by darin

        * WebCoreSupport.subproj/WebImageData.h:
        * WebCoreSupport.subproj/WebImageData.m:
        (-[WebImageData scaleAndTileInRect:fromRect:withHorizontalTileRule:withVerticalTileRule:context:]):
        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer scaleAndTileInRect:fromRect:withHorizontalTileRule:withVerticalTileRule:context:]):
        (-[WebImageRenderer setAnimationRect:]):
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView updateFocusState]):

2005-08-26  Adele Peterson  <adele@apple.com>

        Reviewed by Beth.

        * WebKit.xcodeproj/project.pbxproj: Changed WebKit.Framework to WebKit.framework in UMBRELLA_FRAMEWORK.

2005-08-25  David Harrison  <harrison@apple.com>

        Reviewed by Maciej.

        <rdar://problem/4227734> Denver Regression: WebCore selection bug on lines starting with tab (clownfish)

        The text is in a DIV styled with "white-space:pre", and uses newline characters as linebreaks.
        WebKit's text renderer is erroneously considering the width of the lines leading up to the tab
        character when calculating the width of the tab.
        Easily fixed by having widthForNextCharacter ignore the widthToStart when working with tabWidth.
        Any prior text that fits in the same line is already factored into the xpos, which is paid attention to.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (widthForNextCharacter):
        Ignore the widthToStart when working with tabWidth.

2005-08-23  John Sullivan  <sullivan@apple.com>

        Reviewed by Beth Dakin.
        
        - fixed <rdar://problem/4229167> 14 leaks of WebFileButton and associated objects, 
        seen after running webkit layout tests

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge fileButtonWithDelegate:]):
        this method was returning a retained object; I added an autorelease

2005-08-23  Darin Adler  <darin@apple.com>

        * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.

2005-08-23  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed and landed by Darin.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=4604
          LEAK -[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:] leaks an ATSUTextLayout
          <rdar://problem/4228787> ATSUTextLayout leak in _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs: (4604)

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]):
        Added missing call to ATSUDisposeTextLayout.

2005-08-22  Geoffrey Garen  <ggaren@apple.com>

        - fixed <rdar://problem/4227011> Debugger SPI should be removed from WebView.h API
        
        Reviewed by mjs and adele.

        Cut and pasted debugging SPI from WebView to WebView(WebPendingPublic)
        
        * WebView.subproj/WebView.h:
        * WebView.subproj/WebView.m:
        (-[WebView setScriptDebugDelegate:]):
        (-[WebView scriptDebugDelegate]):
        * WebView.subproj/WebViewPrivate.h:

2005-08-20  John Sullivan  <sullivan@apple.com>

        Reviewed by Darin Adler.
        
        - WebKit part of fix for 
        <rdar://problem/3977607> ER: Safari should check framework versions at launch

        * WebView.subproj/WebViewPrivate.h:
        * WebView.subproj/WebView.m:
        (+[WebView _minimumRequiredSafariBuildNumber]):
        new method, returns the minimum build number of Safari that this WebKit is
        willing to work with. (The Safari version has to be new enough to check
        for this value in order for this to have any effect.)

2005-08-19  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by rjw
        
        The boolean justOpenedForTargetedLink is never used to determine a course of action.  
        It was added long ago for findOrCreateFramedNamed, which has since been removed.

        * WebView.subproj/WebDataSource.m:
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _loadDataSource:withLoadType:formState:]):
        * WebView.subproj/WebFramePrivate.h:

2005-08-19  Darin Adler  <darin@apple.com>

        Reviewed by John.

        * English.lproj/Localizable.strings: Updated to include a new localizable string
        that was added a long while back. Apprently no one has run into the code using
        this string, because if they had, they'd have seen an assert.
        * English.lproj/StringsNotToBeLocalized.txt: Updated for various recent changes.

2005-08-17  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

	- fix mysterious CGImageSource error message and possibly crash on layout tests.

        * WebView.subproj/WebMainResourceLoader.m:
        (-[WebMainResourceLoader receivedError:]): Retain the data source since it may
	prematurely self-destruct otherwise.
        (-[WebMainResourceLoader cancelWithError:]): ditto

2005-08-17  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by rjw
        
        Addresses <rdar://problem/4192534> new frame load delegate SPI needed for Dashboard
            Added handledOnloadEvents delegate method (private for now)

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge handledOnloadEvents]):
        * WebView.subproj/WebDefaultFrameLoadDelegate.m:
        (-[WebDefaultFrameLoadDelegate webView:didHandleOnloadEventsForFrame:]):
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _handledOnloadEvents]):
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebViewPrivate.h:

2005-08-17  John Sullivan  <sullivan@apple.com>

        Reviewed by Geoff Garen.
        
        - fixed <rdar://problem/4219817> Particular icon database + bookmarks + history crashes Safari on launch

        * Misc.subproj/WebIconDatabase.m:
        (-[WebIconDatabase releaseIconForURL:]):
        Move line that might remove last reference to iconURL to the end of the block.

2005-08-16  Darin Adler  <darin@apple.com>

        Reviewed by Trey.

	- improved fix for <rdar://problem/4211631>, tiled images tiled incorrectly when printing or 
	  drawing offscreen

        * WebCoreSupport.subproj/WebImageData.m: (-[WebImageData tileInRect:fromPoint:context:]):
        Fix pattern phase origin to use the image tile origin, which is clearly right, rather than
        the image rectangle, which isn't right, but often is the same.

2005-08-16  Adele Peterson  <adele@apple.com>

        Reviewed by John.

        - fixed <rdar://problem/4210320> URL tooltips should display a URL for elements that submit forms

        When the setShowsURLsInToolTips preference is set, we will display a tooltip containing 
        the form's url when you mouse over a submit button.

        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _updateMouseoverWithEvent:]):

2005-08-16  Darin Adler  <darin@apple.com>

        Reviewed by Beth Dakin.

        - removed Panther-only code that was not being compiled and was
          simply "bit-rotting"

        * Misc.subproj/WebFileDatabase.m:
        (-[WebFileDatabase _createLRUList:]):
        (+[WebFileDatabase _syncLoop:]):
        * Misc.subproj/WebKitErrors.m:
        (registerErrors):
        * Misc.subproj/WebNSObjectExtras.h:
        (WebCFAutorelease):
        * Misc.subproj/WebNSPasteboardExtras.m:
        (-[NSPasteboard _web_declareAndWriteDragImage:URL:title:archive:source:]):
        * WebCoreSupport.subproj/WebImageData.h:
        * WebCoreSupport.subproj/WebImageDecodeItem.h:
        * WebCoreSupport.subproj/WebImageDecodeItem.m:
        * WebCoreSupport.subproj/WebImageDecoder.h:
        * WebCoreSupport.subproj/WebImageDecoder.m:
        (decoderThread):
        (startDecoderThread):
        * WebCoreSupport.subproj/WebKeyGeneration.cpp: Removed.
        * WebCoreSupport.subproj/WebKeyGeneration.h: Removed.
        * WebCoreSupport.subproj/WebKeyGenerator.h:
        * WebCoreSupport.subproj/WebTextRenderer.m:
        (getUncachedWidth):
        (_drawGlyphs):
        * WebCoreSupport.subproj/WebViewFactory.m:
        (-[WebViewFactory getBytes:fromTextMarker:length:]):
        * WebKit.xcodeproj/project.pbxproj:
        * WebKitPrefix.h:
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _setPrimaryLoadComplete:]):
        (+[WebDataSource _repTypesAllowImageTypeOmission:]):
        (-[WebDataSource isLoading]):
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (localizedMenuTitleFromAppKit):
        (-[WebDefaultUIDelegate menuItemWithTag:]):
        (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
        (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
        * WebView.subproj/WebFormDataStream.m:
        (formCanRead):
        (webSetHTTPBody):
        * WebView.subproj/WebFrameView.m:
        (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:chosePlainText:]):
        (-[WebHTMLView resourceForData:preferredFilename:]):
        (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
        (-[WebHTMLView validateUserInterfaceItem:]):
        (-[WebHTMLView _attributeStringFromDOMRange:]):
        (-[WebHTMLView toggleBaseWritingDirection:]):
        (-[WebHTMLView changeBaseWritingDirection:]):
        * WebView.subproj/WebPDFRepresentation.h:
        * WebView.subproj/WebPDFRepresentation.m:
        * WebView.subproj/WebPDFView.h:
        * WebView.subproj/WebPDFView.m:
        * WebView.subproj/WebPreferences.m:
        (+[WebPreferences _systemCFStringEncoding]):
        * WebView.subproj/WebView.m:
        (-[WebView _commonInitializationWithFrameName:groupName:]):

2005-08-16  Darin Adler  <darin@apple.com>

        Reviewed by Beth Dakin.

        - removed some unnecessary code

        * WebCoreSupport.subproj/WebGraphicsBridge.h: Removed pattern-phase related field and methods.
        * WebCoreSupport.subproj/WebGraphicsBridge.m: Ditto.

        * WebCoreSupport.subproj/WebImageData.m: Tweaked formatting and removed some unused code
        inside #if and comments.

        * WebCoreSupport.subproj/WebImageRenderer.h: Removed USE_CGIMAGEREF (which is always true now).
        * WebCoreSupport.subproj/WebImageRenderer.m: Removed old non-CGImageRef code.

        * WebCoreSupport.subproj/WebImageRendererFactory.m:
        (-[WebImageRendererFactory imageRendererWithMIMEType:]): Removed non-USE_CGIMAGEREF code.
        (-[WebImageRendererFactory imageRendererWithData:MIMEType:]): Ditto.
        (-[WebImageRendererFactory imageRendererWithSize:]): Ditto.
        (-[WebImageRendererFactory imageRendererWithName:]): Ditto.

2005-08-15  Darin Adler  <darin@apple.com>
	
        Reviewed by Beth.

	This is a fix for <rdar://problem/4211631> tiled images tiled incorrectly when printing or 
	drawing offscreen.

	Cayenne found there was a problem when they were trying to take screen shots of widgets, and
	it was ultimately a problem with the way we tile images. Darin was able to fix the problem
	by replacing some confusing hacked code with CG calls.

        * WebCoreSupport.subproj/WebImageData.m:
        (-[WebImageData tileInRect:fromPoint:context:]):
        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebInternalImage tileInRect:fromPoint:context:]):
        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer drawLineForMisspelling:withWidth:]):

2005-08-14  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

	- 1% speedup on HTML load speed iBench by avoiding icon database thrash
	http://bugs.webkit.org/show_bug.cgi?id=4423
	
        * Misc.subproj/WebIconDatabase.m:
        (-[WebIconDatabase _setIconURL:forURL:]): Be more aggressive about returning early, because
	updating the database does some expensive data structure copies.
	

2005-08-14  Duncan Wilcox  <duncan@mclink.it>

        Reviewed and landed by Darin.

        WebKit part of fix for <http://bugs.webkit.org/show_bug.cgi?id=4011>:
        "Editing delegate selection methods not called when using mouse"

        Clicking on editable content would move the cursor or alter the selection without
        calling the appropriate editing delegate method
        (webView:shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:). The
        core of the patch is in the KHTMLPart::handleMousePressEvent* methods, the rest
        is glue needed to drill through all the layers.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]):
        Bridge glue.

        * WebView.subproj/WebView.m:
        (-[WebView(WebViewEditingExtras) _shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]):
        Final step in glue, calling editing delegate.

        * WebView.subproj/WebViewInternal.h:
        Added _shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting: private method to WebViewEditingExtras
        category.

2005-08-11  Beth Dakin  <bdakin@apple.com>

        Reviewed by Vicki

	This is a fix for <rdar://problem/4141161> REGRESSION (Tiger): WebKit does not display in composited Carbon windows.
	I basically did what Troy suggests in his bug comments, and everything seems to work fine!

        * Carbon.subproj/HIViewAdapter.m:
        (-[HIViewAdapter setNeedsDisplayInRect:]):

2005-08-10  Adele Peterson  <adele@apple.com>

        Bumping version to 420+

        * Info.plist:

2005-08-08  Darin Adler  <darin@apple.com>

        Reviewed by John Sullivan.

        - fixed <rdar://problem/3996324> REGRESSION (1.2-2.0): scroll bars sometimes not updated properly (with >40 duplicate reports!)
          also http://bugs.webkit.org/show_bug.cgi?id=3416

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
        Propagate dirty rects after doing a layout, since a layout can create new dirty rects.

2005-08-05  Adele Peterson  <adele@apple.com>

        Reviewed by Darin.

        * WebKit.xcodeproj/project.pbxproj: Unchecked 'statics are thread safe' option.

2005-08-04  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by darin
        
        Fix for:
        <rdar://problem/3167884> Shockwave: 3D sprites rendered in OpenGL draw over the browser (3447)
        also as <http://bugs.webkit.org/show_bug.cgi?id=3447>
        
        The WindowRef created by -[NSWindow windowRef] has a QuickDraw GrafPort that covers 
        the entire window frame (or structure region in Carbon parlance) rather then just the window content.
        
        We filed this as an NSWindow bug <rdar://problem/4201099>

        To work around, we modify the CGrafPort to only cover the content area before we let the plug-in draw.

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView fixWindowPort]):
        (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]):

2005-08-03  John Sullivan  <sullivan@apple.com>

        Reviewed by Geoff Garen.
        
        - fixed <rdar://problem/3918675> Remove code to replace authentication dialog 
        with a subclass when out of localization freeze

        * Panels.subproj/WebAuthenticationPanel.h:
        moved declaration of NonBlockingPanel here so it can be accessed by the nib
        * Panels.subproj/WebAuthenticationPanel.m:
        (-[WebAuthenticationPanel replacePanelWithSubclassHack]):
        removed this method
        (-[WebAuthenticationPanel loadNib]):
        stop calling the removed method

        * Panels.subproj/English.lproj/WebAuthenticationPanel.nib/classes.nib:
        * Panels.subproj/English.lproj/WebAuthenticationPanel.nib/info.nib:
        * Panels.subproj/English.lproj/WebAuthenticationPanel.nib/objects.nib:
        the panel in the nib now has custom class NonBlockingPanel

2005-08-03  Beth Dakin  <bdakin@apple.com>

        Reviewed by cblu

	Removing calls to WKCreateUncorrectedRGBColorSpace and
        WKCreateUncorrectedGrayColorSpace in WebKit to patch up
	TOT...Eric removed them from WebCore last night.

        * WebCoreSupport.subproj/WebImageData.m:
        * WebCoreSupport.subproj/WebImageRenderer.m:
        (WebCGColorSpaceCreateRGB):
        (WebCGColorSpaceCreateGray):

2005-08-02  John Sullivan  <sullivan@apple.com>

        Reviewed by Darin Adler.
        
        Preemptively moved some WebMenuItemTag values from SPI to API, in anticipation of
        approval from macosx-api-reviewers. Retitled one of them in response to API reviewers feedback:
        WebMenuItemSearchInGoogle -> WebMenuItemSearchWeb
        
        Note that as a side effect of this change, the actual numbers used for these WebMenuItemTags has
        changed from what it was in Tiger. This causes "Search in Spotlight", "Search in Google", and
        "Look Up in Dictionary" to not appear in Tiger Safari if running on tip of tree WebKit.

        * WebView.subproj/WebUIDelegatePrivate.h:
        removed WebMenuItemTagSearchInSpotlight, WebMenuItemTagSearchInGoogle, and WebMenuItemTagLookUpInDictionary

        * WebView.subproj/WebUIDelegate.h:
        added WebMenuItemTagSearchInSpotlight, WebMenuItemTagSearchWeb, and WebMenuItemTagLookUpInDictionary

        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultUIDelegate menuItemWithTag:]):
        updated for rename
        (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
        ditto
        (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
        ditto
        
2005-08-01  Geoffrey Garen  <ggaren@apple.com>

        -fixed <rdar://problem/3572585> window.open fails if name param = 
        the name of a window just closed in same function

        Reviewed by darin.

        Test cases added:

        * manual-tests/open-after-close.html: Added.
        * manual-tests/resources/open-after-close-popup.html: Added.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge closeWindowSoon]): We now remove a WebView from 
        WebViewSets when the WebView is *scheduled* to close.

2005-08-01  John Sullivan  <sullivan@apple.com>

        * PublicHeaderChangesFromTiger.txt:
        added a comment about isTextField -> _isTextField

2005-08-01  John Sullivan  <sullivan@apple.com>

        Patch by Trey Matteson <trey@usa.net>
        Reviewed by me.

        Fixed http://bugs.webkit.org/show_bug.cgi?id=4255
          underlines still print too thick

        The real problem here is that we have code that scales a 0 width line to always
        be width=1.0 in device space.  I'm leaving that in for the screen, but when printing
        a width of 0.5 looks good.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]):

2005-08-01  Eric Seidel  <eseidel@apple.com>

        Reviewed by darin.

        * WebCoreSupport.subproj/WebGraphicsBridge.m:
        removed create*ColorSpace methods, now using CG API directly.
        http://bugs.webkit.org/show_bug.cgi?id=4211

2005-07-31  John Sullivan  <sullivan@apple.com>

        Patch by Trey Matteson <trey@usa.net>
        Reviewed by me.

        Fixed http://bugs.webkit.org/show_bug.cgi?id=4014
          PDF files by default load with a poor choice of sizing

        For now the various PDF viewing settings are sticky, stored in 2 new defaults.  Since
        there are a number of ways these settings are changed, I made a proxy for the PDFView
        through which all view changing messages are sent.  The proxy adds the behavior of
        updating the defaults upon any change.

        * Misc.subproj/WebNSDictionaryExtras.h:
        * Misc.subproj/WebNSDictionaryExtras.m:
        (-[NSMutableDictionary _webkit_setFloat:forKey:]):  New support method.
        * WebView.subproj/WebPDFView.h:
        * WebView.subproj/WebPDFView.m:
        (-[WebPDFView initWithFrame:]):  Create proxy for PDFView.
        (-[WebPDFView dealloc]):  Free proxy.
        (-[WebPDFView _menuItemsFromPDFKitForEvent:]):  For relevant context menu items, set the
            target to the proxy instead of the PDFView.
        (-[WebPDFView _readPDFDefaults]):  Init PDFView with settings from defaults.
        (-[WebPDFView layout]):  Call _readPDFDefaults, once.  This turned out to be the best hook.
        (-[WebPDFView _makeTextSmaller:]):  Change PDFView via proxy
        (-[WebPDFView _makeTextLarger:]):  Ditto
        (-[WebPDFView _makeTextStandardSize:]):  Ditto
        (-[PDFPrefUpdatingProxy initWithView:]):  trivial
        (-[PDFPrefUpdatingProxy forwardInvocation:]):  Forward the msg, then update defaults
        (-[PDFPrefUpdatingProxy methodSignatureForSelector:]):  Simple forwarding support.
        * WebView.subproj/WebPreferenceKeysPrivate.h:
        * WebView.subproj/WebPreferences.m:
        (+[WebPreferences initialize]):  Set initial values for new PDF viewing defaults.
        (-[WebPreferences _integerValueForKey:]):  Nuke stray comment.
        (-[WebPreferences _floatValueForKey:]):  New simple support method.
        (-[WebPreferences _setFloatValue:forKey:]):  Ditto.
        (-[WebPreferences PDFScaleFactor]):  4 accessors for new defaults 
        (-[WebPreferences setPDFScaleFactor:]):
        (-[WebPreferences PDFDisplayMode]):
        (-[WebPreferences setPDFDisplayMode:]):
        * WebView.subproj/WebPreferencesPrivate.h:

2005-08-01  Justin Garcia  <justin.garcia@apple.com>

        Patch by Trey Matteson <trey@usa.net>

        Reviewed by Maciej.

        Fixed <http://bugs.webkit.org/show_bug.cgi?id=4226>
          link underlines print too thickly

        Reinstate the fix made by sullivan on 1/11/05.  There was a merge
        error with an mjs fix on 1/13/05.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]):

2005-07-30  Maciej Stachowiak  <mjs@apple.com>

        Build fixes for previous change (missing includes)

        * WebView.subproj/WebFrame.m:
        * WebView.subproj/WebScriptDebugDelegate.m:

2005-07-29  Maciej Stachowiak  <mjs@apple.com>

        Changes by Michael Kahl, reviewed by me.

	- fixed <rdar://problem/4164112> MASTER: JavaScript debugging support
	
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge windowObjectCleared]):
        * WebCoreSupport.subproj/WebSubresourceLoader.m:
        * WebKit.xcodeproj/project.pbxproj:
        * WebView.subproj/WebDefaultScriptDebugDelegate.h: Added.
        * WebView.subproj/WebDefaultScriptDebugDelegate.m: Added.
        (+[WebDefaultScriptDebugDelegate sharedScriptDebugDelegate]):
        (-[WebDefaultScriptDebugDelegate webView:didParseSource:fromURL:sourceId:forWebFrame:]):
        (-[WebDefaultScriptDebugDelegate webView:didEnterCallFrame:sourceId:line:forWebFrame:]):
        (-[WebDefaultScriptDebugDelegate webView:willExecuteStatement:sourceId:line:forWebFrame:]):
        (-[WebDefaultScriptDebugDelegate webView:willLeaveCallFrame:sourceId:line:forWebFrame:]):
        * WebView.subproj/WebFrame.m:
        (-[WebFramePrivate dealloc]):
        (-[WebFrame _attachScriptDebugger]):
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebScriptDebugDelegate.h: Added.
        * WebView.subproj/WebScriptDebugDelegate.m: Added.
        (-[WebScriptDebugger initWithWebFrame:]):
        (-[WebScriptDebugger dealloc]):
        (-[WebScriptDebugger globalObject]):
        (-[WebScriptDebugger newWrapperForFrame:]):
        (-[WebScriptDebugger parsedSource:fromURL:sourceId:]):
        (-[WebScriptDebugger enteredFrame:sourceId:line:]):
        (-[WebScriptDebugger hitStatement:sourceId:line:]):
        (-[WebScriptDebugger leavingFrame:sourceId:line:]):
        (-[WebScriptCallFrame _initWithFrame:]):
        (-[WebScriptCallFrame dealloc]):
        (-[WebScriptCallFrame setUserInfo:]):
        (-[WebScriptCallFrame userInfo]):
        (-[WebScriptCallFrame caller]):
        (-[WebScriptCallFrame scopeChain]):
        (-[WebScriptCallFrame functionName]):
        (-[WebScriptCallFrame exception]):
        (-[WebScriptCallFrame evaluateWebScript:]):
        * WebView.subproj/WebScriptDebugDelegatePrivate.h: Added.
        * WebView.subproj/WebView.h:
        * WebView.subproj/WebView.m:
        (-[WebViewPrivate dealloc]):
        (-[WebView _scriptDebugDelegateForwarder]):
        (-[WebView setScriptDebugDelegate:]):
        (-[WebView scriptDebugDelegate]):
        * WebView.subproj/WebViewInternal.h:
        * WebView.subproj/WebViewPrivate.h:

2005-07-26  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Dave Hyatt.

	- fixed http://bugs.webkit.org/show_bug.cgi?id=4153
	
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _purgePageCache]): Find the oldest candidate for
	purging that is not a snapback item.

2005-07-29  David Harrison  <harrison@apple.com>

        Reviewed by Dave Hyatt (rendering) and Maciej (editing and performance improvements).

        Test cases added: Existing tab-related basic editing tests were updated.  More complex tests are coming soon.

        <rdar://problem/3792529> REGRESSION (Mail): Tabs do not work the way they did in Panther (especially useful in plain text mail)
        
        Basic strategy is to put tabs into spans with white-space:pre style, and
        render them with tabs stops every 8th space, where the space width and
        the left margin are those of the enclosing block.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (isSpace):
        (isRoundingHackCharacter):
        (getUncachedWidth):
        (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]):
        (-[WebTextRenderer _computeWidthForSpace]):
        (_drawGlyphs):
        (-[WebTextRenderer _CG_drawHighlightForRun:style:geometry:]):
        (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startPosition:numGlyphs:]):
        (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]):
        (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:includePartialGlyphs:]):
        (glyphForCharacter):
        (initializeCharacterWidthIterator):
        (ceilCurrentWidth):
        (widthForNextCharacter):

2005-07-29  John Sullivan  <sullivan@apple.com>

        Reviewed by Dave Hyatt.
        
        - WebKit part of <rdar://problem/4187404> Redo form SPI so that it doesn't rely on NSViews
        
        Much of 4187404 was addressed in earlier checkins. This checkin completes the task.

        * WebView.subproj/WebHTMLRepresentation.h:
        * WebView.subproj/WebHTMLRepresentation.m:
        removed viewForElement:, which was the only remaining NSView-related SPI that Safari autofill was
        still using. I added viewForElement a week ago as a transitional measure, so removing it won't
        affect any other clients.

2005-07-29  John Sullivan  <sullivan@apple.com>

        Reviewed by Chris Blumenberg.

        * WebView.subproj/WebFrameView.m:
        (-[WebFrameView _firstResponderIsFormControl]):
        renamed from _firstResponderIsControl for clarity. Explicitly rejects WebHTMLView, since
        it's now a control.
        (-[WebFrameView keyDown:]):
        updated for renamed method.

2005-07-28  John Sullivan  <sullivan@apple.com>

        Reviewed by Beth Dakin.
        
        - removed method -[WebHTMLRepresentation elementForView:], which was SPI used only for
        Safari autofill. Tip of tree Safari no longer includes any calls to this method. Also, 
        Tiger Safari never gets around to actually calling it due to the other recent form-SPI-related
        changes, so removing this method doesn't break Tiger Safari running on tip of tree WebKit
        (though autofill continues to not work in that configuration).

        * WebView.subproj/WebHTMLRepresentation.h:
        * WebView.subproj/WebHTMLRepresentation.m:
        (-[WebHTMLRepresentation elementForView:]): removed
        
2005-07-27  John Sullivan  <sullivan@apple.com>

	Patch by Trey Matteson <trey@usa.net>
        Reviewed by me.

        Fixed http://bugs.webkit.org/show_bug.cgi?id=4169
          scaling PDF view up leaves later HTML view scaled too

        An additional step of separating scaling of HTML and PDF.  If we do a zoom and there
        are no docViews that track the common scaling factor, then don't change it.  Thus in
        the common PDF case where it is the only doc view, scaling the PDF does not affect
        HTML pages loaded in the same window.

        * WebView.subproj/WebView.m:
        (-[WebView canMakeTextSmaller]):  Pass 0 for new scaling factor, since we just querying.
        (-[WebView canMakeTextLarger]):  Ditto.
        (-[WebView makeTextSmaller:]):  Pass new scaling factor.
        (-[WebView makeTextLarger:]):  Ditto.
        (-[WebView canMakeTextStandardSize]):  Pass 0 for new scaling factor.
        (-[WebView makeTextStandardSize:]):  Pass new scaling factor.
        (-[WebView _performTextSizingSelector:withObject:onTrackingDocs:selForNonTrackingDocs:newScaleFactor:]):
          The meat of the change is that this Swiss Army Knife also takes a new scaling
          factor, which it will set as the common scaling factor if it finds any doc views that
          are able to be scaled which track the common scaling factor.

2005-07-27  John Sullivan  <sullivan@apple.com>

	Patch by Trey Matteson <trey@usa.net>
        Reviewed by me.

        Fixed http://bugs.webkit.org/show_bug.cgi?id=4015
          PDF views should remember viewing mode, scroll position across back/forward
          Note this doesn't work within frames because of a PDFKit bug - see 4164
        Fixed http://bugs.webkit.org/show_bug.cgi?id=4091
          PDF views should keep a separate scaling factor from shared text scaling factor

        Basic idea #1 is that we now have a general mechanism for a WebDocView to save/restore some UI
        state to the WebHistoryItem.
        Basic idea #2 is that _WebDocumentTextSizing is expanded to allow for the case of a WebDocView
        keeping its own notion of a scaling factor.  WebPDFView's -_tracksCommonSizeFactor has justification.

        * History.subproj/WebHistoryItem.m:
        (-[WebHistoryItem setViewState:]):  New methods to hold PList of arbitrary WebView state
        (-[WebHistoryItem viewState]):
        * History.subproj/WebHistoryItemPrivate.h:
        * WebKit.xcodeproj/project.pbxproj:  Add Quartz to framework path so we can import PDFKit files
        * WebView.subproj/WebDocumentInternal.h:  New methods added to _WebDocumentTextSizing.
          Also the _ prefix is sufficient instead of _web_WebDocumentTextSizing.
          Added _WebDocumentViewState protocol.
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]):  Rename of save/restore methods.
        (-[WebFrame _detachFromParent]):  Ditto
        (-[WebFrame _transitionToCommitted:]):  Ditto
        (-[WebFrame _checkLoadCompleteForThisFrame]):  Ditto
        (-[WebFrame _loadItem:withLoadType:]):  Ditto
        (-[WebFrame _recursiveGoToItem:fromItem:withLoadType:]):  Ditto
        (-[WebFrame _saveViewStateToItem:]):  Call doc view to retrieve view state.
        (-[WebFrame _restoreViewState]):  Call doc view to set view state.
        (-[WebFrame _scrollToTop]):  Nuked dead code.
        (-[WebFrame _textSizeMultiplierChanged]):  This work now appears in WebView.
        (-[WebFrame _saveDocumentAndScrollState]):  Same rename, one code cleanup.
        (-[WebFrame _accumulateDocumentViews:]): Add our docview to the array, call kids.
        (-[WebFrame _documentViews]):  New helper to return all docviews.
        (-[WebFrame _didFirstLayout]):  Same name change.
        * WebView.subproj/WebFrameInternal.h:
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebHTMLView.m:  Removed redundant category decl.
        (-[WebHTMLView _makeTextSmaller:]):  Implement new protocol.
        (-[WebHTMLView _makeTextLarger:]):
        (-[WebHTMLView _makeTextStandardSize:]):
        (-[WebHTMLView _tracksCommonSizeFactor]):
        * WebView.subproj/WebPDFRepresentation.m:  Tweak #imports.
        * WebView.subproj/WebPDFView.h:
        * WebView.subproj/WebPDFView.m:
        (-[WebPDFView _menuItemsFromPDFKitForEvent:]):  No longer intercept context menu text sizing items.
        (-[WebPDFView setDataSource:]):  No longer track the WebView's scaling factor.
        (-[WebPDFView scrollPoint]):  Dig through PDFKit view tree to get real scroll position
        (-[WebPDFView setScrollPoint:]):  Ditto
        (-[WebPDFView viewState]):  Return bundle of viewing params
        (-[WebPDFView setViewState:]):  Restore bundle of viewing params
        (-[WebPDFView _makeTextSmaller:]):  Implement new text sizing protocol
        (-[WebPDFView _makeTextLarger:]):
        (-[WebPDFView _makeTextStandardSize:]):
        (-[WebPDFView _tracksCommonSizeFactor]):
        (-[WebPDFView _canMakeTextSmaller]):
        (-[WebPDFView _canMakeTextLarger]):
        (-[WebPDFView _canMakeTextStandardSize]):
        * WebView.subproj/WebTextView.m:
        (-[WebTextView _makeTextSmaller:]):  Implement new text sizing protocol
        (-[WebTextView _makeTextLarger:]):
        (-[WebTextView _makeTextStandardSize:]):
        (-[WebTextView _tracksCommonSizeFactor]):
        * WebView.subproj/WebView.m:
        (-[WebView setTextSizeMultiplier:]):  Calling docViews is now more complicates than just posting
           a notification to the frame.
        (-[WebView _performTextSizingSelector:withObject:onTrackingDocs:selForNonTrackingDocs:]):  Workhorse
           that sends the text sizing method to the right doc views.
        (-[WebView canMakeTextSmaller]):  Call workhorse.
        (-[WebView canMakeTextLarger]):  Ditto
        (-[WebView makeTextSmaller:]):  Ditto
        (-[WebView makeTextLarger:]):  Ditto
        (-[WebView canMakeTextStandardSize]):  Ditto
        (-[WebView makeTextStandardSize:]):  Ditto

2005-07-26  Justin Garcia  <justin.garcia@apple.com>

        Patch by Trey Matteson <trey@usa.net>

        Reviewed by John Sullivan.
        
        Fixed <http://bugs.webkit.org/show_bug.cgi?id=4072>
        Pressing back in browser misses out a page
        
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _transitionToCommitted:]):  When reloading the same page or refreshing the
        page, update the URL in the b/f item with the URL that we wind up at.  Due to cookies,
        it might be different than the result we just got when we loaded the same page.

2005-07-26  David Hyatt  <hyatt@apple.com>

	Make WebHTMLView inherit from NSControl instead of NSView.
	This change is necessary because the theme renderer for
	WebCore that draws controls with the Aqua appearance does so
	using NSCells.  NSCells must be hosted within a control view
	in order to paint properly.

	The method updateCell must be overridden because it wants to
	repaint the whole control when the windows resigns/becomes
	key, and this would result in behavior that we don't want
	(the repainting of the whole view).  We already have hooks
	in WebHTMLView for the window resigning/becoming key so
	we will do our proper control updating there instead (in a
	future patch).

        Reviewed by john

        * WebView.subproj/WebHTMLView.h:
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView updateCell:]):
        
2005-07-26  John Sullivan  <sullivan@apple.com>

        Reviewed by Chris Blumenberg.
        
        - more work to wean form-related SPI from NSView. All that's left (but this is a big "all")
        is viewForElement: and elementForView:        

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge textField:doCommandBySelector:]):
        changed signature to pass along DOMElement* rather than NSView*
        
        * WebView.subproj/WebFormDelegate.h:
        * WebView.subproj/WebFormDelegate.m:
        (-[WebFormDelegate textField:doCommandBySelector:inFrame:]):
        ditto

2005-07-25  John Sullivan  <sullivan@apple.com>

        Reviewed by Darin Adler.
        
        - big hunk of weaning form-related SPI from NSView; autofill continues to
        work (but only on tip of tree Safari)
        
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge textFieldDidBeginEditing:]):
        changed name from controlTextXXX:, now takes a DOMHTMLInputElement*
        (-[WebBridge textFieldDidEndEditing:]):
        ditto
        (-[WebBridge textDidChangeInTextField:]):
        ditto
        (-[WebBridge textDidChangeInTextArea:]):
        changed name from textDidChange:, now takes a DOMHTMLTextAreaElement*
        (-[WebBridge control:textShouldBeginEditing:]):
        removed this method as it wasn't being used by autofill, and did nothing in WebKit
        (-[WebBridge control:textShouldEndEditing:]):
        ditto
        (-[WebBridge textField:shouldHandleEvent:]):
        changed name from control:textView:shouldHandleEvent:, now takes a DOMHTMLInputElement*.
        The textView parameter wasn't being used, so I eliminated it.
        
        * WebView.subproj/WebFormDelegate.h:
        * WebView.subproj/WebFormDelegate.m:
        (-[WebFormDelegate textFieldDidBeginEditing:inFrame:]):
        (-[WebFormDelegate textFieldDidEndEditing:inFrame:]):
        (-[WebFormDelegate control:textShouldBeginEditing:inFrame:]):
        (-[WebFormDelegate control:textShouldEndEditing:inFrame:]):
        (-[WebFormDelegate textDidChangeInTextField:inFrame:]):
        (-[WebFormDelegate textDidChangeInTextArea:inFrame:]):
        (-[WebFormDelegate textField:shouldHandleEvent:inFrame:]):
        These all changed in the same way as the WebBridge methods
        

2005-07-25  Vicki Murley <vicki@apple.com>

        Reviewed by Darin.
 
	- fixed <rdar://problem/3470523> Safari's user agent should be changed to say Intel rather 
	than PPC on Intel machines

        * WebView.subproj/WebView.m: add conditional #defines for "PPC" and "Intel"
        (-[WebView userAgentForURL:]): use this variable when constructing the user agent string

2005-07-24  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by mjs
        
        - Fixes <rdar://problem/4120535> deleteToEndOfLine: does not delete thew newline when at the end of a line
            Fix to match NSTextView.  Delete the next character if deleteToEndOfLine fails

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView deleteToEndOfLine:]):

2005-07-24  Justin Garcia  <justin.garcia@apple.com>

        Patch by Trey Matteson <trey@apple.com>

        Reviewed by john
        
        Fixes <http://bugs.webkit.org/show_bug.cgi?id=3953> back-forward items have wrong titles after sub-frame navigations

        This was caused by a mistaken data structure, where WebDataSource tried to keep a list of
        b/f items it was responsible for.  The problem arose in the case of frames, where a subframe
        was loaded with new content.  When this happens a fresh tree of b/f items is created,
        but the reference in the DataSource still pointed to the old item.

        Since the WebFrame does a lot of work to track the current b/f item, the easiest thing is to
        get rid of the DataSource's reference, and have it ask the WebFrame to set the title on the
        right b/f item.

        * WebView.subproj/WebDataSource.m:
        (-[WebDataSourcePrivate dealloc]):
        (-[WebDataSource _setTitle:]):
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _createItem:]):
        (-[WebFrame _transitionToCommitted:]):
        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
        (-[WebFrame _setTitle:]):
        * WebView.subproj/WebFramePrivate.h:

2005-07-24  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by kevin
        
        Fixed make clean problem

        * Makefile.am:

2005-07-23  Justin Garcia  <justin.garcia@apple.com>

        Patch by <opendarwin.org@mitzpettel.com>

        Reviewed by darin and hyatt
        
        Fixes <http://bugs.webkit.org/show_bug.cgi?id=3862>
        The fix for <http://bugs.webkit.org/show_bug.cgi?id=3545> enclosed each run of visually ordered
        hebrew with LRO and PDF control characters, but adjusted the run's to and from to include those characters,
        so that they would be rendered if the font includes a glyph for bidi control characters.
        
        Also adding a manual test

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (reverseCharactersInRun):

2005-07-22  John Sullivan  <sullivan@apple.com>

        Reviewed by Justin Garcia.
        
        Mail (running on tip of tree WebKit) was running into an assertion I recently added.
        The assertion is actually correct, catching an old bug in this code.

        * WebView.subproj/WebView.m:
        (-[WebView selectedFrame]):
        if the first responder is a WebFrameView, then we've found the WebFrameView we're 
        looking for, and we shouldn't look at its superviews.

2005-07-22  John Sullivan  <sullivan@apple.com>

        Reviewed by Chris Blumenberg.

        - some changes in the direction of weaning all the form-related SPI from NSView

        * PublicHeaderChangesFromTiger.txt:
        noted that the WebCore change to add -[DOMHTMLInputElement isTextField] to
        DOMExtensions.h is a public header change.

        * WebView.subproj/WebHTMLRepresentation.h:
        * WebView.subproj/WebHTMLRepresentation.m:
        (-[WebHTMLRepresentation viewForElement:]):
        added viewForElement: as a stopgap measure. This allowed me to convert controlsInForm:
        to return DOMElements rather than NSViews, while keeping autocomplete working in
        Safari tip of tree. When I finish the SPI conversion I'll delete this method. Note that
        from this point on, autocomplete will not work in Tiger Safari with tip of tree WebKit
        (it will always fail to find anything to autocomplete)

2005-07-21  Adele Peterson  <adele@apple.com>

        Reviewed by Darin.

        Changing temporary #ifndef to #if

        * WebCoreSupport.subproj/WebImageData.m:
        (-[WebImageData _checkSolidColor:]):

2005-07-21  Adele Peterson  <adele@apple.com>

        Reviewed by Chris Blumenberg.

        - fixed <rdar://problem/4132797> don't register thin PPC WebKit plug-ins
        Merged fix for:
        <rdar://problem/4127100> [WebKit] 8B1016: After installing Acrobat Reader, can no longer see pdf's in Safari

        * Plugins.subproj/WebBasePluginPackage.h: Added isNativeLibraryData method.
        * Plugins.subproj/WebBasePluginPackage.m: (-[WebBasePluginPackage isNativeLibraryData:]): Added isNativeLibraryData method.
        * Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage initWithPath:]):
          calls isNativeLibraryData to determine whether or not to register the plug-in.
        * Plugins.subproj/WebPluginPackage.m: (-[WebPluginPackage initWithPath:]): ditto.
        * WebCoreSupport.subproj/WebImageData.m: (-[WebImageData _checkSolidColor:]): added comment for #ifdef.

2005-07-21  Geoffrey Garen  <ggaren@apple.com>

        * WebKit.pbproj/project.pbxproj: Removed.

2005-07-21  Geoffrey Garen  <ggaren@apple.com>

        * WebKit.xcodeproj/.cvsignore: Added.

2005-07-21  Geoffrey Garen  <ggaren@apple.com>

        * WebKit.xcodeproj/project.pbxproj: Added.

2005-07-21  Geoffrey Garen  <ggaren@apple.com>

        * Makefile.am:

2005-07-20  John Sullivan  <sullivan@apple.com>

        Reviewed by Vicki Murley.

        - removed some form-related methods that weren't being used anywhere, in preparation
        for weaning WebKit's WebFormDelegate protocol from NSView.

        * WebCoreSupport.subproj/WebBridge.m:
        * WebView.subproj/WebFormDelegate.h:
        * WebView.subproj/WebFormDelegate.m:
        removed these methods:
        -control:didFailToFormatString:errorDescription:
        -control:didFailToValidatePartialString:errorDescription:
        -control:isValidObject:

2005-07-20  Adele Peterson  <adele@apple.com>

          Merged fix for:
          <rdar://problem/4125127> [WebKit] horizontal rulers don't render on Safari on web.apple.com

          * WebCoreSupport.subproj/WebImageData.m:
          (-[WebImageData _checkSolidColor:]):

2005-07-20  Adele Peterson  <adele@apple.com>

        Merged fix for :
        <rdar://problem/4118278> mail divide by zero navigating messages
  
        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer _extendGlyphToWidthMapToInclude:font:]):

2005-07-20  John Sullivan  <sullivan@apple.com>

        Reviewed by Adele Peterson.
        
        - added -[WebView selectedFrame] to SPI (pending public API), needed for 4180958

        * WebView.subproj/WebView.m:
        (-[WebView selectedFrame]):
        new method, extracted from _selectedOrMainFrame
        (-[WebView _selectedOrMainFrame]):
        now calls extracted method
        
        * WebView.subproj/WebViewPrivate.h:
        add -selectedFrame to PendingPublic category

2005-07-19  John Sullivan  <sullivan@apple.com>

        Reviewed by Darin Adler.
        
        - cleaned up code related to dealing with the "selected frame"; fixes radar bugs 4118830 and 4118820

        * WebView.subproj/WebTextView.m:
        (-[WebTextView resignFirstResponder]):
        call deselectAll here instead of replicating its guts, just for clarity
        
        * WebView.subproj/WebViewInternal.h:
        eliminated category WebInternal; all of these methods were used only inside WebView.m, so I moved
        them into the existing category WebFileInternal that was declared and implemented in WebView.m
        
        * WebView.subproj/WebView.m:
        (-[WebView searchFor:direction:caseSensitive:wrap:]):
        updated for name changes. Also, uses new _deselectFrame: to clear the selection if the found
        text is in a different frame.
        (-[WebView pasteboardTypesForSelection]):
        (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]):
        (-[WebView setSelectedDOMRange:affinity:]):
        (-[WebView selectedDOMRange]):
        (-[WebView selectionAffinity]):
        (-[WebView setTypingStyle:]):
        (-[WebView typingStyle]):
        (-[WebView styleDeclarationWithText:]):        
        (-[WebView replaceSelectionWithNode:]):
        (-[WebView replaceSelectionWithText:]):
        (-[WebView replaceSelectionWithMarkupString:]):
        (-[WebView replaceSelectionWithArchive:]):
        (-[WebView deleteSelection]):
        (-[WebView applyStyle:]):
        updated for name changes only
        
        (-[WebView _frameIsSelected:]):
        new method, returns YES if given frame has a non-zero-length selection
        (-[WebView _deselectFrame:]):
        new method, clears selection from given frame
        (-[WebView _findSelectedFrameStartingFromFrame:]):
        new method, recursive helper used by _findSelectedFrame
        (-[WebView _findSelectedFrame]):
        new method, finds first frame that returns YES for _frameIsSelected, or nil
        (-[WebView _debugCollectSelectedFramesIntoArray:startingFromFrame:]):
        new method, recursive helper used by _debugCheckForMultipleSelectedFrames
        (-[WebView _debugCheckForMultipleSelectedFrames]):
        new method for debugging, fires an assertion if there's more than one selected frame.
        (-[WebView _selectedOrMainFrame]):
        renamed from _frameForCurrentSelection, which was a misleading name since the returned
        frame does not necessarily have a selection (or even focus). Now checks for a selected
        but non-focused frame if the first responder is not in any frame. Also, moved in file
        from WebInternal category to WebFileInternal category.
        (-[WebView _bridgeForSelectedOrMainFrame]):
        renamed from _bridgeForCurrentSelection, which was a misleading name for the same
        reasons as _frameForCurrentSelection. Also, moved in file from WebInternal category to
        WebFileInternal category.
        (-[WebView _isLoading]):
        (-[WebView _frameViewAtWindowPoint:]):
        (-[WebView _bridgeAtPoint:]):
        just moved in file from WebInternal category to WebFileInternal category

2005-07-19  Darin Adler  <darin@apple.com>

        Reviewed by Geoff Garen.

        - improve handling of plug-ins when the WebView or a superview is hidden with -[NSView setHidden]

        * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]):
        Add "hidden" to the list of reasons to clip out all plug-in drawing.

2005-07-18  John Sullivan  <sullivan@apple.com>
        
        Written by Trey Matteson  <trey@usa.net>
        Reviewed by John Sullivan.

        Fixed http://bugs.webkit.org/show_bug.cgi?id=4049
          scroll position not restored when going back/forward at ebay
        Fixed http://bugs.webkit.org/show_bug.cgi?id=4061
          When going back/forward to some pages, they redraw at top before restoring scroll position

        The short story is that attempting to restore the scroll position
        at the time when the first layout finishes addresses both of these
        issues.  An explanation of the underlying race condition is in
        a large comment near -_restoreScrollPosition.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge didFirstLayout]):  Pass through to WebFrame.
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _transitionToCommitted:]):  Get rid of attempt to
          restoreScrollPosition that never did anything because the
          docView was always 0x0 size at that point.
        (-[WebFrame _opened]):  Get rid of redundant call to restoreScrollPosition.
          The imminent call to layoutCompleted makes the same call.
        (-[WebFrame _didFirstLayout]):  Restore the scroll position on
          first layout, if we're doing a b/f nav.
        * WebView.subproj/WebFrameInternal.h:

2005-07-18  John Sullivan  <sullivan@apple.com>

        Reviewed by Darin Adler.

        - fixed these bugs:
        <rdar://problem/4158121> context menu in PDF view should contain the selection-based items like Copy
        <rdar://problem/4184691> WebPDFView should conform to the WebDocumentElement protocol
        <rdar://problem/4184663> "Search in Spotlight" is present but dimmed in context menu for plain-text documents

        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
        added ASSERT and comments

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _searchWithGoogleFromMenu:]):
        removed this method (now handled by WebView)
        (-[WebHTMLView _searchWithSpotlightFromMenu:]):
        ditto
        (-[WebHTMLView validateUserInterfaceItem:]):
        removed validation for removed items. The validation wasn't necessary anyway, since we only put these items
        in the menu in the case where they should be enabled.

        * WebView.subproj/WebPDFView.h:
        now conforms to WebDocumentElement protocol (which lets [WebView elementAtPoint:] work better)
        * WebView.subproj/WebPDFView.m:
        (-[WebPDFView copy:]):
        added, hands off to PDFView, needed to enable Copy in context menu
        (-[WebPDFView _pointIsInSelection:]):
        new method, checks whether given point is in the selected bounds
        (-[WebPDFView elementAtPoint:]):
        add WebElementIsSelectedKey to returned element
        (-[WebPDFView menuForEvent:]):
        use actual point instead of dummy placeholder, now that we have code that pays attention to the point

        * WebView.subproj/WebView.m:
        (-[WebView _searchWithGoogleFromMenu:]):
        moved here from WebHTMLView so it will work for any documentView that conforms to WebDocumentText.
        Rewrote slightly to be non-WebHTMLView-specific. (This menu item was always enabled in Safari because
        Safari replaces its action, but it would not have been always enabled in other WebKit clients, though
        it should have been.)
        (-[WebView _searchWithSpotlightFromMenu:]):
        moved here from WebHTMLView so it will work for any documentView that conforms to WebDocumentText.
        Rewrote slightly to be non-WebHTMLView-specific.

2005-07-18  John Sullivan  <sullivan@apple.com>

        Reviewed by Richard Williamson.
        
        - fixed <rdar://problem/4184366> WebPDFView should conform to the WebDocumentSelection protocol

        * Misc.subproj/WebNSAttributedStringExtras.h: Added.
        * Misc.subproj/WebNSAttributedStringExtras.m: Added.
        (-[NSAttributedString _web_attributedStringByStrippingAttachmentCharacters]):
        New category on NSAttributedString, initially contains this one method that had been in WebHTMLView.
        
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]):
        now uses _web_attributedStringByStrippingAttachmentCharacters
        
        * WebView.subproj/WebPDFView.h:
        now conforms to WebDocumentSelection protocol
        * WebView.subproj/WebPDFView.m:
        (-[WebPDFView selectionRect]):
        new, implementation of WebDocumentSelection protocol method
        (-[WebPDFView pasteboardTypesForSelection]):
        ditto
        (-[WebPDFView writeSelectionWithPasteboardTypes:toPasteboard:]):
        ditto

        * WebKit.pbproj/project.pbxproj:
        updated for new files

2005-07-18  John Sullivan  <sullivan@apple.com>

        Reviewed by Chris Blumenberg.
        
        - some refactoring cleanup in the selection/searching code

        * Misc.subproj/WebSearchableTextView.h:
        moved WebDocumentSelection protocol conformation to this class, was in subclass WebTextView
        * Misc.subproj/WebSearchableTextView.m:
        (-[WebSearchableTextView selectionRect]):
        new method (moved here from Safari) to return a single rect encompassing all selected text
        (-[WebSearchableTextView pasteboardTypesForSelection]):
        moved here from WebTextView
        (-[WebSearchableTextView writeSelectionWithPasteboardTypes:toPasteboard:]):
        ditto
        
        * WebView.subproj/WebDocumentInternal.h:
        moved WebDocumentSelection protocol out of here
        
        * WebView.subproj/WebDocumentPrivate.h:
        moved WebDocumentSelection protocol into here, added selectionRect method
        
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView selectionRect]):
        new method, calls existing bridge method formerly called by _selectionRect
        (-[WebHTMLView _selectionRect]):
        now calls [self selectionRect]. We can't just delete _selectionRect because it's used by Mail.
        
        * WebView.subproj/WebHTMLViewPrivate.h:
        removed _selectionRect since it's in WebDocumentSelection now
        
        * WebView.subproj/WebTextView.h:
        removed WebDocumentSelection from protocol list since it's in superclass now
        
        * WebView.subproj/WebTextView.m:
        removed old WebDocumentSelection methods because they are in superclass now

2005-07-15  Adele Peterson  <adele@apple.com>

        Written by Trey Matteson  <trey@usa.net>
        Reviewed by John Sullivan.

        Fixed http://bugs.webkit.org/show_bug.cgi?id=3910 - REGRESSION: Replying "Cancel" to the form repost nag leaves wrong b/f cursor

        * WebView.subproj/WebFrame.m:
        (-[WebFrame _resetBackForwardList]):  new helper method
        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
          If the delegate bailed on the navigation, tell the main frame
          to reset the b/f cursor back to where it was before we started.

2005-07-15  John Sullivan  <sullivan@apple.com>

        Written by Trey Matteson
        Reviewed by me.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=4013
                text find doesn't wrap in PDF files

        This just works once WebPDFView implements the WebDocumentText protocol, which is
        mostly just a matter of forwarding the methods to PDFKit appropriately.

        * WebView.subproj/WebPDFView.h:
        * WebView.subproj/WebPDFView.m:
        (-[WebPDFView supportsTextEncoding]):
        (-[WebPDFView string]):
        (-[WebPDFView attributedString]):
        (-[WebPDFView selectedString]):
        (-[WebPDFView selectedAttributedString]):
        (-[WebPDFView selectAll]):
        (-[WebPDFView deselectAll]):

2005-07-15  John Sullivan  <sullivan@apple.com>

        Reviewed by Kevin Decker.
        
        - fixed <rdar://problem/4181884> Searching for text that overlaps selection works 
        differently in PDFView than in HTMLView

        * WebView.subproj/WebPDFView.m:
        (PDFSelectionsAreEqual):
        new function, stand-in for nonexistent -[PDFSelection isEqual:] since calling isEqual:
        on two identical PDFSelections returns NO
        (-[WebPDFView searchFor:direction:caseSensitive:wrap:]):
        Make search algorithm match that in WebCore: initially search inside selection, then check for the case
        where the found text exactly matches the previous selection, and search from past the selection if so.
        The implementation is slightly more complicated than it should be due to PDFKit API limitations (about
        which I added FIXMEs and filed bugs)

2005-07-15  John Sullivan  <sullivan@apple.com>

        Reviewed by Maciej Stachowiak.
        
        - fixed these bugs:
        <rdar://problem/4181875> Searching for text that overlaps selection works differently in WebTextView than in HTMLView
        <rdar://problem/3393678> Find not finding text in plain (non-HTML) if all text is selected

        * Misc.subproj/WebSearchableTextView.m:
        (-[NSString findString:selectedRange:options:wrap:]):
        Make search algorithm match that in WebCore: initially search inside selection, then check for the case
        where the found text exactly matches the previous selection, and search from past the selection if so.

2005-07-14  John Sullivan  <sullivan@apple.com>

        Reviewed by Dave Hyatt.

        - WebKit part of fix for: 
        <rdar://problem/4181227> webpages incorrectly use standard instead of secondary highlighting in certain cases

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge formControlIsResigningFirstResponder:]):
        Implementation of new method defined in WebCore, passes call along to WebHTMLView
        
        * WebView.subproj/WebHTMLViewInternal.h:
        declare _formControlIsResigningFirstResponder: so bridge can call it

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView updateFocusState]):
        just moved in file so it could be called from a different category
        (-[WebHTMLView _formControlIsResigningFirstResponder:]):
        new method, updates focus state

2005-07-14  John Sullivan  <sullivan@apple.com>

	added missing #import to fix build
	* WebView.subproj/WebPDFView.m

2005-07-14  Kevin Decker  <kdecker@apple.com>

        Reviewed by cblu

	Fixed: <rdar://problem/4122282> clicking a link in an PDF file opens the link with NSWorkspace without the usual security checks or WebView delegate control

        * WebView.subproj/WebFrame.m:
        (-[WebFrame _safeLoadURL:]): added
        * WebView.subproj/WebFrameInternal.h:
        * WebView.subproj/WebPDFView.m:
        (-[WebPDFView initWithFrame:]):
        (-[WebPDFView PDFViewWillClickOnLink:withURL:]): prevents evilness with a call to _safeLoadURL
        * WebView.subproj/WebTextView.m:
        (-[WebTextView clickedOnLink:atIndex:]): factored calling out to the bridge, and instead call _safeLoadURL

2005-07-14  Vicki Murley  <vicki@apple.com>

        Reviewed by Kocienda.

	- WebKit part of fix for  <rdar://problem/4172380> [GENENTECH] window.opener 
	not available when child opened via target="_new"

	Add a setOpener function to the WebCore bridge, and call this function when opening
	new windows through Web Kit.

        * WebView.subproj/WebFrame.m:
        (-[WebFrame _continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):

2005-07-13  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by John
        
        Rolling in changes necessary to build with newer versions of gcc 4.0

        * History.subproj/WebHistoryItem.m:
        (-[WebHistoryItem copyWithZone:]):
        * Misc.subproj/WebNSPasteboardExtras.m:
        (-[NSPasteboard _web_writeImage:URL:title:archive:types:]):
        * Misc.subproj/WebNSURLExtras.m:
        (-[NSURL _web_URLWithLowercasedScheme]):
        (-[NSString _web_mapHostNameWithRange:encode:makeString:]):
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge MIMETypeForPath:]):
        * WebCoreSupport.subproj/WebImageRendererFactory.m:
        (-[WebImageRendererFactory imageRendererWithBytes:length:MIMEType:]):
        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer initWithFont:usingPrinterFont:]):
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _webDataRequestForData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _styleFromFontAttributes:]):
        * WebView.subproj/WebView.m:
        (-[WebView _writeImageElement:withPasteboardTypes:toPasteboard:]):
        (-[WebView mainFrameTitle]):

2005-07-13  John Sullivan  <sullivan@apple.com>

        Reviewed by Maciej Stachowiak.

        - cleaned up Find-related experimental code that I checked in a while back

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView searchFor:direction:caseSensitive:wrap:]):
        remove variant of this method that had findInSelection flag; this method is now
        the same as it was on Tiger.
        
        * WebView.subproj/WebView.m:
        (-[WebView searchFor:direction:caseSensitive:wrap:]):
        ditto

2005-07-12  Geoffrey Garen  <ggaren@apple.com>

        -rolled in patch by opendarwin.org@mitzpettel.com 
        for http://bugs.webkit.org/show_bug.cgi?id=3435
        Parentheses are backwards in Hebrew text (no bidi mirroring?)
        
        Reviewed by mjs.

        Layout test added to WebCore.

        * WebCoreSupport.subproj/WebTextRenderer.h:
        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer _initializeATSUStyle]):
        (applyMirroringToRun):
        (-[WebTextRenderer _ATSU_drawHighlightForRun:style:geometry:]):
        (-[WebTextRenderer _ATSU_drawRun:style:geometry:]):
        (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]):

2005-07-12  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Chris Blumenberg

        * WebCoreSupport.subproj/WebBridge.m: Removed some glue that allowed one
        of two unicode (TEC or ICU ) to be chosen at runtime. I just added this
        dual support yesterday, and while Maciej and I agreed that it was good
        to land in the tree in case we run into problems in the near future, we
        also agreed that cutting over to using ICU full time right now is
        probably the best way to find bugs.

2005-07-11  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Richard

        * WebCoreSupport.subproj/WebBridge.m:
        (+[WebBridge setTextConversionMethod:]): New method to support switching text conversion method.
        (+[WebBridge textConversionMethod]): Returns current text conversion method.

2005-07-11  Kevin Decker  <kdecker@apple.com>

        Reviewed by cblu and mjs.

	Fixed: <rdar://problem/4099552> REGRESSION: Safari 1.3 Netscape API NPN_PostURL[Notify] no longer allows manual headers
	
	Most plugins (flash) send 2 CRFL's between the header and body of their POST requests, while the adboe plugin sends two LF's. This caused us to send custom headers as part of the actual POST data itself, and correspondently, would skew Content-Length.

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[NSData _web_locationAfterFirstBlankLine]): Look for two LF's as well

2005-07-09  Maciej Stachowiak  <mjs@apple.com>

        - back out my revent page cache changes, turns out they cause a
	major performance regression on PLT

        * WebView.subproj/WebFrame.m:
        (-[WebFrame _purgePageCache]):

2005-07-09  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by hyatt.

	Replace int with unsigned, to avoid going into a huge loop when
	back list count is 0.

        * WebView.subproj/WebFrame.m:
        (-[WebFrame _purgePageCache]):

2005-07-09  Maciej Stachowiak  <mjs@apple.com>

        - fixed broken Development build

        * WebView.subproj/WebFrame.m:
        (-[WebFrame _purgePageCache]):

2005-07-09  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by hyatt.

	- fix page cache purging logic; this gets rid of a bug where the
	page cache would grow without bound if the oldest page cache item
	was the snapback item, and changed the rule a bit so page cache
	items farther back than the max size get purged, even if fewer
	than the max size are in current use.

        * WebView.subproj/WebFrame.m:
        (-[WebFrame _purgePageCache]):

2005-07-08  Geoffrey Garen  <ggaren@apple.com>

        Rolled in patch by opendarwin.org@mitzpettel.com

        -fixes http://bugs.webkit.org/show_bug.cgi?id=3818
        Fallback font doesn't have requested weight in ATSUI-rendered text

        (See WebCore Changelog for layout test)

        Reviewed by mjs.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer _createATSUTextLayoutForRun:style:]):

2005-07-05  Adele Peterson  <adele@apple.com>

       Rolling out changes for <rdar://problem/3792529> REGRESSION (Mail): Tabs do not work the way they did in Panther (especially useful in plain text mail)
       since it caused a 2% performance regression.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (isSpace):
        (-[WebTextRenderer _CG_drawHighlightForRun:style:geometry:]):
        (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startPosition:numGlyphs:]):
        (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]):
        (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:includePartialGlyphs:]):
        (initializeCharacterWidthIterator):
        (widthForNextCharacter):

2005-07-05  John Sullivan  <sullivan@apple.com>

        Reviewed by Chris Blumenberg.
        
        - fixed <rdar://problem/4158230> Zoom In/Zoom Out in PDF context menu don't update window's notion of text size

        * WebView.subproj/WebPDFView.m:
        (-[WebPDFView _menuItemsFromPDFKitForEvent:]):
        Redirect Actual Size, Zoom In, and Zoom Out context menu items so that they behave exactly like Make Text Standard Size,
        Make Text Larger, and Make Text Smaller.

2005-07-01  John Sullivan  <sullivan@apple.com>

        Reviewed by Darin Adler.
        
        - fixed http://bugs.webkit.org/show_bug.cgi?id=3711: Displayed PDF have limited options in contextual menu
        
        This was a problem with using Tiger's version of Safari with tip of tree WebKit.

        * WebView.subproj/WebPDFView.m:
        (-[WebPDFView _anyPDFTagsFoundInMenu:]):
        new method, returns YES if the menu contains any items with any of the new PDF-related tags.
        (-[WebPDFView menuForEvent:]):
        If the executable was linked on Tiger or older (but it will never be older, since this code is
        new to Tiger), force all of the PDF-related items into the menu if none of them were there 
        after processing by the delegate.

2005-06-30  Darin Adler  <darin@apple.com>

        Reviewed by John Sullivan.

        - fixed <http://bugs.webkit.org/show_bug.cgi?id=3774>
          do renaming so that loaders are called "loader", not "client" or "delegate"

        * Misc.subproj/WebIconLoader.h:
        * Plugins.subproj/WebNetscapePluginStream.h:
        * Plugins.subproj/WebNetscapePluginStream.m:
        (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
        (-[WebNetscapePluginStream start]):
        (-[WebNetscapePlugInStreamLoader didFinishLoading]):
        (-[WebNetscapePlugInStreamLoader didFailWithError:]):
        (-[WebNetscapePlugInStreamLoader cancelWithError:]):
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge startLoadingResource:withURL:customHeaders:]):
        (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]):
        (-[WebBridge canRunModalNow]):
        * WebCoreSupport.subproj/WebSubresourceClient.h: Removed.
        * WebCoreSupport.subproj/WebSubresourceClient.m: Removed.
        * WebCoreSupport.subproj/WebSubresourceLoader.h:
        * WebCoreSupport.subproj/WebSubresourceLoader.m:
        (-[WebSubresourceLoader initWithLoader:dataSource:]):
        (-[WebSubresourceLoader dealloc]):
        (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]):
        (+[WebSubresourceLoader startLoadingResource:withURL:customHeaders:referrer:forDataSource:]):
        (+[WebSubresourceLoader startLoadingResource:withURL:customHeaders:postData:referrer:forDataSource:]):
        (-[WebSubresourceLoader didReceiveResponse:]):
        (-[WebSubresourceLoader didReceiveData:lengthReceived:]):
        (-[WebSubresourceLoader didFinishLoading]):
        (-[WebSubresourceLoader didFailWithError:]):
        (-[WebSubresourceLoader cancel]):
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebBaseResourceHandleDelegate.h: Removed.
        * WebView.subproj/WebBaseResourceHandleDelegate.m: Removed.
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSourcePrivate dealloc]):
        (-[WebDataSource _setLoading:]):
        (-[WebDataSource _updateLoading]):
        (-[WebDataSource _setPrimaryLoadComplete:]):
        (-[WebDataSource _startLoading:]):
        (-[WebDataSource _addSubresourceLoader:]):
        (-[WebDataSource _removeSubresourceLoader:]):
        (-[WebDataSource _addPlugInStreamLoader:]):
        (-[WebDataSource _removePlugInStreamLoader:]):
        (-[WebDataSource _stopLoadingInternal]):
        (-[WebDataSource _defersCallbacksChanged]):
        (-[WebDataSource _stopLoadingWithError:]):
        (-[WebDataSource data]):
        (-[WebDataSource isLoading]):
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebLoader.h:
        * WebView.subproj/WebLoader.m:
        * WebView.subproj/WebMainResourceClient.h: Removed.
        * WebView.subproj/WebMainResourceClient.m: Removed.
        * WebView.subproj/WebMainResourceLoader.h:
        * WebView.subproj/WebMainResourceLoader.m:
        (-[WebMainResourceLoader didReceiveResponse:]):

2005-06-29  David Harrison  <harrison@apple.com>

        Reviewed by Dave Hyatt (rendering) and Maciej (editing).

        Test cases added:  Coming soon.  Will include with next round of changes for this bug.

        This is the first checkin for...
        
        <rdar://problem/3792529> REGRESSION (Mail): Tabs do not work the way they did in Panther (especially useful in plain text mail)
        
        Basic strategy is to put tabs into spans with white-space:pre style, and
        render them with tabs stops every 8th space, where the space width and
        the left margin are those of the enclosing block.
        
        What's left is to switch to implement white-space:pre-wrap so
        that we can coalesce consecutive tabs while maintaining proper
        line breaking.  That will keep the markup smaller.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (isSpace):
        (-[WebTextRenderer _CG_drawHighlightForRun:style:geometry:]):
        (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startPosition:numGlyphs:]):
        (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]):
        (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:includePartialGlyphs:]):
        (initializeCharacterWidthIterator):
        (widthForNextCharacter):

2005-06-29  John Sullivan  <sullivan@apple.com>

        Reviewed by Kevin.
        
        - deleted some never-used stub code

        * WebView.subproj/WebView.m:
        * WebView.subproj/WebViewInternal.h:
        * WebView.subproj/WebViewPrivate.h:

2005-06-27  Justin Garcia  <justin.garcia@apple.com>

        Patch by Anders Carlsson <andersca@mac.com>

        Reviewed by Darin.

        - Fixes <http://bugs.webkit.org/show_bug.cgi?id=3489>
        WebView's setSelectedDOMRange doesn't not implement clearing the selection as described in the WebView documentation:
        <http://developer.apple.com/documentation/Cocoa/Reference/WebKit/ObjC_classic/Classes/WebView.html>
	
        * WebView.subproj/WebView.m:
        (-[WebView setSelectedDOMRange:affinity:]):
        If range is nil, call deselectText.

2005-06-24  Justin Garcia  <justin.garcia@apple.com>

        Patch contributed by Duncan Wilcox <duncan@mclink.it>

        Reviewed by Darin

        - Fixed <http://bugs.webkit.org/show_bug.cgi?id=3535>
            Spelling suggestions in the context menu don't call the should* delegate methods

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _changeSpellingFromMenu:]):
        give delegate's webView:shouldInsertText:replacingDOMRange:givenAction: a chance
        to prevent replacing of selected text

2005-06-22  John Sullivan  <sullivan@apple.com>

        Reviewed by Chris Blumenberg.
        
        - fixed <rdar://problem/3764645> please add a way to allow WebKit clients to override the WebPDFView context menu

        * PublicHeaderChangesFromTiger.txt: Added.
        New file to keep track of changes made to public headers that haven't been through API review yet.
        Initially lists the WebMenuItem enum tags added to WebUIDelegate.h as part of this change.
        
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultUIDelegate appendDefaultItems:toArray:]):
        new method, handles initial separator
        (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
        now has defaultMenuItems: parameter. Any menu items in this array are appended at the end of
        the standard set.
        (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
        ditto
        (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
        This had a defaultMenuItems parameter before but it was always nil. Now it passes the defaultMenuItems
        parameter on to the two methods that construct lists (one for editing, the other for viewing). Also
        tweaked variable name and type for clarity.
        
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView menuForEvent:]):
        passes nil for new defaultItems parameter of _menuForElement:
        
        * WebView.subproj/WebImageView.m:
        (-[WebImageView menuForEvent:]):
        ditto
        
        * WebView.subproj/WebTextView.m:
        (-[WebTextView menuForEvent:]):
        ditto

        * WebView.subproj/WebPDFView.m:
        (-[WebPDFView elementAtPoint:]):
        new method to create the element dictionary needed for _menuForElement:defaultItems:. Only supplies the
        webFrame at this point.
        (-[WebPDFView _menuItemsFromPDFKitForEvent:]):
        new method to return copies of the menu items that PDFKit would include in the context menu, with
        WebKit tags applied
        (-[WebPDFView menuForEvent:]):
        now calls standard WebKit context menu mechanism, so clients' delegates can modify the context menu as
        desired. The initial set of items are the ones WebKit was already displaying for PDF context menus.
        
        * WebView.subproj/WebUIDelegate.h:
        added enum values for the menu items in the PDF context menu
        
        * WebView.subproj/WebViewPrivate.h:
        * WebView.subproj/WebView.m:
        (-[WebView _menuForElement:defaultItems:]):
        Added the defaultItems: parameter to this method, which is then passed along to WebDefaultUIDelegate.
        All callers pass nil except for WebPDFView, at least for now.

2005-06-22  Darin Adler  <darin@apple.com>

        Change by Mitz Pettel.
        Reviewed by me.

        - fixed <http://bugs.webkit.org/show_bug.cgi?id=3618>
          RTL runs drawn by CG not reversed properly

        * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _CG_drawRun:style:geometry:]):
        Fix off-by-one mistake in order-swapping loops.

2005-06-22  Darin Adler  <darin@apple.com>

        Change by Michael Gaiman.
        Reviewed by me.

        - fixed <http://bugs.webkit.org/show_bug.cgi?id=3436>
          Missing implementation of -[NSData(WebNSDateExtras) _webkit_parseRFC822HeaderFields]

        * Misc.subproj/WebNSDataExtras.h: Fixed name of category say NSData, not NSDate.
        * Misc.subproj/WebNSDataExtras.m: (-[NSData _webkit_parseRFC822HeaderFields]): Fixed method name.

2005-06-21  John Sullivan  <sullivan@apple.com>

        Reviewed by Vicki Murley
        
        - fixed assertion failure Vicki ran into

        * Misc.subproj/WebIconDatabase.m:
        (-[WebIconDatabase _forgetIconForIconURLString:]):
        Handle the case where there are no associated page URLs for the icon URL

2005-06-20  John Sullivan  <sullivan@apple.com>

        Reviewed by Chris Blumenberg.
        
        - fixed <rdar://problem/4155182> icon database retain counts can be incorrect after removing all icons
        
        Replaced the concept of "future retain count per page URL" with a simpler concept of "retain count per
        page URL", which is maintained even after the icon is actually loaded (unlike the future retain count).
        The total retain count for an icon is now the sum of the retain counts per page URL along with any retain
        count not associated with a page URL -- this is still needed for some internal housekeeping purposes.

        * Misc.subproj/WebIconDatabasePrivate.h:
        renamed iconURLToURLs -> iconURLToPageURLs for clarity
        renamed URLToIconURL -> pageURLToIconURL for clarity
        renamed futureURLToRetainCount -> pageURLToRetainCount (there's no more "future" aspect)
        renamed iconURLToRetainCount -> iconURLToExtraRetainCount (it now maintains only some of the retain count)
        
        * Misc.subproj/WebIconDatabase.m:
        (+[WebIconDatabase sharedIconDatabase]):
        updated for name changes only
        (-[WebIconDatabase init]):
        ditto
        (-[WebIconDatabase iconForURL:withSize:cache:]):
        ditto
        (-[WebIconDatabase iconURLForURL:]):
        ditto
        (-[WebIconDatabase retainIconForURL:]):
        just bump the retain count in pageURLToRetainCount, instead of behaving differently based on whether 
        an icon had been loaded for this URL; this let me delete the internal method _retainFutureIconForURL:
        (-[WebIconDatabase releaseIconForURL:]):
        decrement the retain count in pageURLToRetainCount, then handle the case where the retain count for 
        this page has gone to zero. I deleted the internal method _releaseFutureIconForURL: formerly called here.
        (-[WebIconDatabase removeAllIcons]):
        remove all the code that dealt with retain counts; this operation no longer affects retain counts
        (-[WebIconDatabase _setIconURL:forURL:]):
        remove the code that consolidated multiple retain counts for different page URLs into a single retain 
        count; the multiple retain counts are now maintained even after the icon is loaded
        (-[WebIconDatabase _clearDictionaries]):
        updated for name changes only
        (-[WebIconDatabase _loadIconDictionaries]):
        ditto
        (-[WebIconDatabase _updateFileDatabase]):
        ditto
        (-[WebIconDatabase _totalRetainCountForIconURLString:]):
        new method, sums the retain counts associated with specific page URLs and the extra retain count
        not associated with specific page URLs
        (-[WebIconDatabase _retainIconForIconURLString:]):
        updated for name changes
        (-[WebIconDatabase _forgetIconForIconURLString:]):
        no longer affects retain counts at all; this is up to callers
        (-[WebIconDatabase _releaseIconForIconURLString:]):
        this now distinguishes the case where the retain count not associated with any page URLs hits 
        zero from the case where the total retain count hits zero, and handles both

2005-06-20  John Sullivan  <sullivan@apple.com>

        Reviewed by Chris Blumenberg.
        
        - added support for emptying the icon database

        * Misc.subproj/WebIconDatabase.h: just fixed a typo
        * Misc.subproj/WebIconDatabasePrivate.h:
        added WebPendingPublic category with method removeAllIcons, and
        declared WebIconDatabaseDidRemoveAllIconsNotification string.
        
        * Misc.subproj/WebIconDatabase.m:
        (-[WebIconDatabase removeAllIcons]):
        new method, removes all known icons from memory and disk. There's one loose end,
        covered by radar bug 4155182, where it's possible for the icon database's retain
        counts to get off after this operation. I plan to fix this next.
        (-[WebIconDatabase _setIconURL:forURL:]):
        just fixed some extra whitespace
        (-[WebIconDatabase _forgetIconForIconURLString:]):
        new method, extracted from _releaseIconForIconURLString
        (-[WebIconDatabase _releaseIconForIconURLString:]):
        now calls extracted method

        * WebKit.exp:
        added _WebIconDatabaseDidRemoveAllIconsNotification

2005-06-19  Darin Adler  <darin@apple.com>

	Changes by Mitz Pettel
        Reviewed by me.
        
        - fixed <http://bugs.webkit.org/show_bug.cgi?id=3466>
          ATSUI text doesn't render at coordinates greater than 32K

        * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _ATSU_drawRun:style:geometry:]):
        Translate the matrix of the CGContext instead of passing the appropriate coordinates to ATSU.

2005-06-17  Richard Williamson   <rjw@apple.com>

	Changes by Mitz Pettel
        Reviewed by Richard Williamson.

	Fixed http://bugs.webkit.org/show_bug.cgi?id=3545

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (reverseCharactersInRun):
        (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]):

2005-06-17  John Sullivan  <sullivan@apple.com>

        Reviewed by Chris.

        - fixed <rdar://problem/4151001> Reloading javascript-spawned window with no URL erases its contents

        * WebView.subproj/WebFrame.m:
        (-[WebFrame reload]):
        do nothing if URL is zero-length

2005-06-14  John Sullivan  <sullivan@apple.com>

        Changes by Devin Lane.
        Reviewed by me.

        - fixed <rdar://problem/3766909> PDF viewing could use a zoom control other than the one in the context menu

        * WebView.subproj/WebPDFView.h:
        now implements protocol _web_WebDocumentTextSizing
        * WebView.subproj/WebPDFView.m:
        (-[WebPDFView _updateScalingToReflectTextSize]):
        new method, sets the PDF scaling from the text size multiplier
        (-[WebPDFView setDataSource:]):
        call _updateScalingToReflectTextSize
        (-[WebPDFView _web_textSizeMultiplierChanged]):
        implementation of protocol _web_WebDocumentTextSizing, calls _updateScalingToReflectTextSize

2005-06-14  John Sullivan  <sullivan@apple.com>

        Reviewed by Dave Harrison.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _delayedEndPrintMode:]):
        After discussing this with Dave, I made this method both more debugger-friendly with asserts for
        the cases we don't think could ever happen, and more paranoid by handling these cases in deployment
        builds.

2005-06-14  Darin Adler  <darin@apple.com>

        - fixed build for Xcode 2.1

        * WebKit.pbproj/project.pbxproj: Use BUILT_PRODUCTS_DIR instead of SYMROOT to search for the
        WebKitSystemInterface.h file. We could re-jigger this again later, but for now this is consistent
        with both the .a file's location and where build-webkit puts the file.

2005-06-13  John Sullivan  <sullivan@apple.com>

        Reviewed by Dave Harrison and Maciej.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _endPrintMode]):
        new method, extracted from identical code in beginDocument and endDocument. This method must be called
        once to counterbalance the code called from knowsPageRange that turns on "printing mode".
        (-[WebHTMLView _delayedEndPrintMode:]):
        new method, called from "perform after delay". Checks whether the same print operation is still underway
        and, if so, delays further. Otherwise calls _endPrintMode directly.
        (-[WebHTMLView knowsPageRange:]):
        after turning on "printing mode", queue up a delayed call to _delayedEndPrintMode:. If there's an early
        error in the print mechanism such that beginDocument is never called, this will cleanly end "printing
        mode" and make the webview usable again.
        (-[WebHTMLView beginDocument]):
        cancel any delayed call to _delayedEndPrintMode:. If we get this far along in printing, then we don't need
        the failsafe call to _delayedEndPrintMode: that was set up in knowsPageRange:. Also, call extracted method.
        (-[WebHTMLView endDocument]):
        call extracted method

2005-06-13  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Chris Blumenberg and Adele.

	- better fix for <rdar://problem/4142247> REGRESSION: List to browse widgets at Apple website failed. Closing tab afterwards caused Safari crash
	http://bugs.webkit.org/show_bug.cgi?id=3445

	With this change and the matching WebKit change we'll still stop loading the moment you click
	a download link, but the unload event and detaching of event handlers will not happen early any more.
	
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _stopLoadingInternal]): call stopLoading on bridge instead of closeURL.
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _transitionToCommitted:]): Revert previous attempt at fix.
        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): ditto
        (-[WebFrame stopLoading]): ditto

2005-06-13  Chris Petersen  <cpetersen@apple.com>

        Changes by Darin.
        Reviewed by me.

        - fixed problems building deployment due to recent init change

        * WebView.subproj/WebArchive.m: (-[WebArchive initWithCoder:]):
        Put the [super init] call and check for nil outside the exception handler.
        * WebView.subproj/WebResource.m: (-[WebResource initWithCoder:]): Ditto.

2005-06-12  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed <rdar://problem/4141569> REGRESSION (412+): printing fails on any page with images, and for standalone images
          also <http://bugs.webkit.org/show_bug.cgi?id=3318>

        * WebCoreSupport.subproj/WebImageData.m: Got rid of use of tabs instead of spaces throughout the file.
        (-[WebImageData _checkSolidColor:]): Wrap use of NSGraphicsContext with an autorelease pool.
        (-[WebImageData _fillSolidColorInRect:compositeOperation:context:]): Ditto.
        (-[WebImageData tileInRect:fromPoint:context:]): Ditto.
        (-[WebImageData _PDFDrawFromRect:toRect:operation:alpha:flipped:context:]): Ditto.

2005-06-12  Darin Adler  <darin@apple.com>

        Changes by Nick Zitzmann.
        Reviewed by me.

        - fixed init methods that don't handle return values from the init methods they call

        * WebView.subproj/WebArchive.m:
        (-[WebArchive init]): Use value returned by init, check it for nil too.
        (-[WebArchive initWithMainResource:subresources:subframeArchives:]): Ditto.
        (-[WebArchive _initWithPropertyList:]): Ditto.
        (-[WebArchive initWithCoder:]): Ditto.
        * WebView.subproj/WebClipView.m:
        (-[WebClipView initWithFrame:]): Ditto.
        * WebView.subproj/WebDebugDOMNode.m:
        (-[WebDebugDOMNode initWithName:value:source:children:]): Ditto.
        * WebView.subproj/WebFrame.m:
        (-[WebFormState initWithForm:values:sourceFrame:]): Ditto.
        (-[WebFrame initWithName:webFrameView:webView:]): Ditto.
        * WebView.subproj/WebFrameView.m:
        (-[WebFrameView initWithFrame:]): Ditto.
        * WebView.subproj/WebHTMLRepresentation.m:
        (-[WebHTMLRepresentation init]): Ditto.
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView initWithFrame:]): Ditto.
        (-[WebTextCompleteController initWithHTMLView:]): Ditto.
        * WebView.subproj/WebImageView.m:
        (-[WebImageView initWithFrame:]): Ditto.
        * WebView.subproj/WebPreferences.m:
        (-[WebPreferences initWithIdentifier:]): Ditto.
        * WebView.subproj/WebRenderNode.m:
        (-[WebRenderNode initWithName:position:rect:view:children:]): Ditto.
        * WebView.subproj/WebResource.m:
        (-[WebResource init]): Ditto.
        (-[WebResource initWithCoder:]): Ditto.
        * WebView.subproj/WebView.m:
        (-[WebViewPrivate init]): Call super init.
        (-[_WebSafeForwarder initWithTarget:defaultTarget:templateClass:]): Use value returned by init, check it for nil too.
        (-[WebView initWithFrame:]): Ditto.

2005-06-12  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Chris Blumenberg.

	- fixed <rdar://problem/4142247> REGRESSION: List to browse widgets at Apple website failed. Closing tab afterwards caused Safari crash
	http://bugs.webkit.org/show_bug.cgi?id=3445
	
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _transitionToCommitted:]): Stop loading the non-provisional data
	source before swapping in the provisional.
        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): Stop only
	the provisional load here, we would not want to stop loading if this navigation
	later turns into a download or is cancelled before being committed.
        (-[WebFrame stopLoading]): Factored a bit.
        (-[WebFrame _cancelProvisionalLoad]): New method to stop only provisional load,
	and cancel any pending policy deicions.
        (-[WebFrame _stopNonProvisionalLoadOnly]): New mthod that stops only the main
	load.

2005-06-10  John Sullivan  <sullivan@apple.com>

        reviewed by Dave Harrison (first & second drafts) and Darin Adler (third draft)

        - WebKit part of fix for 
        <rdar://problem/4145214> REGRESSION (412+): Can't drag URLs from the location bar

        * Misc.subproj/WebNSPasteboardExtras.m:
        (+[NSPasteboard initialize]):
        Reinstate variation of old code that uses CreatePasteboardFlavorTypeName to set up our new pasteboard types.
        The newfangled way didn't work.

2005-06-07  Darin Adler  <darin@apple.com>

        Change by Mark Rowe <opendarwin.org@bdash.net.nz>.
        Reviewed by me.

        - fixed the WebKit half of build failure with spaces in the path
          http://bugs.webkit.org/show_bug.cgi?id=3291

        * WebKit.pbproj/project.pbxproj: Quote DERIVED_FILE_DIR when it is substituted
        into FRAMEWORK_SEARCH_PATHS, and SYMROOT when into HEADER_SEARCH_PATHS.

2005-06-06  Darin Adler  <darin@apple.com>

        * Info.plist: Bumped version to 412+. For some reason it was set to 312.1!

2005-06-05  Darin Adler  <darin@apple.com>

        Reviewed by Hyatt.

        - fixed build that I broke with the license change (some includes of WebException were still around)

        * WebKit.pbproj/project.pbxproj: Removed references to WebException.h/m.
        * WebView.subproj/WebDataSource.m: Removed include of WebException.h.
        * WebView.subproj/WebHTMLView.m: Ditto.
        * WebView.subproj/WebView.m: Ditto.

        - fixed build under gcc 4.0 (some code moved here from Foundation had warnings)

        * Misc.subproj/WebNSDataExtras.m:
        (-[NSString _web_capitalizeRFC822HeaderFieldName]): Use char instead of UInt8.
        (-[NSData _webkit_guessedMIMEType]):  Use char instead of UInt8, and take out now-
        unneeded type casts.

2005-06-05  Darin Adler  <darin@apple.com>

        - added appropriate license headers to most files and updated copyright to reflect publication dates

        * LICENSE: Added.
        * <lots of files>: Added license header.

        * WebKit.pbproj/project.pbxproj: Removed references to NP_objc.h.

        * API-Issues.rtf: Removed.
        * Misc.subproj/WebException.h: Removed.
        * Misc.subproj/WebException.m: Removed.
        * Plugins.subproj/NP_objc.h: Removed.

2005-06-01  Darin Adler  <darin@apple.com>

        Reviewed by John Sullivan.

        - WebKit part of fix for <rdar://problem/3166090> add IE JavaScript extension window.showModalDialog

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge createModalDialogWithURL:]): Added. Calls the UI delegate, falling back to the generic
        "create WebView" method.
        (-[WebBridge canRunModal]): Added. Checks the UI delegate to see if it implements runModal.
        (-[WebBridge canRunModalNow]): Added. Checks the "inConnectionCallback" field so we can prevent
        deadlock since we can't do any I/O while inside a connection callback until this aspect of NSURLConnection
        is changed.
        (-[WebBridge runModal]): Added. Sets "defersCallbacks" on all other web views in the group, then
        calls runModal on the UI delegate.

        * WebView.subproj/WebBaseResourceHandleDelegate.h: Added inConnectionCallback class method.
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]): Bump count and then
        decrement count so we can tell if we are in a callback.
        (-[WebBaseResourceHandleDelegate connection:didReceiveAuthenticationChallenge:]): Ditto.
        (-[WebBaseResourceHandleDelegate connection:didCancelAuthenticationChallenge:]): Ditto.
        (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]): Ditto.
        (-[WebBaseResourceHandleDelegate connection:didReceiveData:lengthReceived:]): Ditto.
        (-[WebBaseResourceHandleDelegate connection:willStopBufferingData:]): Ditto.
        (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]): Ditto.
        (-[WebBaseResourceHandleDelegate connection:didFailWithError:]): Ditto.
        (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]): Ditto.
        (+[WebBaseResourceHandleDelegate inConnectionCallback]): Added. Return YES if count is not 0.

        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient receivedError:]): Changed to use the method without the connection: parameter
        in the base class, since we no longer are overriding the connection: version.
        (-[WebMainResourceClient willSendRequest:redirectResponse:]): Change to override the version without
        the connection prefix/parameter; now only the base class overrides the actual connection delegate methods.
        (-[WebMainResourceClient continueAfterContentPolicy:response:]): Ditto.
        (-[WebMainResourceClient didReceiveResponse:]): Ditto.
        (-[WebMainResourceClient didReceiveData:lengthReceived:]): Ditto.
        (-[WebMainResourceClient didFinishLoading]): Ditto.
        (-[WebMainResourceClient didFailWithError:]): Ditto.
        (-[WebMainResourceClient loadWithRequestNow:]): Call the method without the connection parameter.

        * WebView.subproj/WebUIDelegatePrivate.h: Added new SPI here that WebBrowser implements.

2005-05-26  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fix build failure from when I removed WebCoreUnicode

        * WebCoreSupport.subproj/WebTextRenderer.m: Removed import of WebUnicode.h that I missed.
        (-[WebTextRenderer _convertUnicodeCharacters:length:toGlyphs:]): Switch from our own macros
        to the ICU macros for surrogate pairs.
        (widthForNextCharacter): Ditto.

2005-05-26  David Harrison  <harrison@apple.com>

        <rdar://problem/4120518> Mail: control-T in an empty message crashes mail

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge issueTransposeCommand]):
        New, to support transpose in JS.

2005-05-26  Darin Adler  <darin@apple.com>

        Reviewed by Richard and Dave Harrison.

        - eliminate WebCoreUnicode and use ICU directly instead

        * Misc.subproj/WebKitNSStringExtras.m: (canUseFastRenderer): Use u_charDirection directly.
        * WebCoreSupport.subproj/WebTextRenderer.m: Removed import of <WebCore/WebCoreUnicode.h>.
        * WebView.subproj/WebHTMLView.m: (+[WebHTMLView initialize]): Removed call to WebKitInitializeUnicode.

        * Misc.subproj/WebUnicode.h: Removed.
        * Misc.subproj/WebUnicode.m: Removed.
        * Misc.subproj/WebUnicodeTables.m: Removed.

        * WebKit.pbproj/project.pbxproj: Removed files.

2005-05-24  Richard Williamson   <rjw@apple.com>

	Fixed <rdar://problem/4097289> -[WebView elementAtPoint:] failing when WebView is nested and offset

	Code to determine the correct frame under the window point was
	converting the point incorrectly.

        Reviewed by Chris.

        * WebView.subproj/WebView.m:
        (-[WebView _frameViewAtWindowPoint:]):

2005-05-23  John Sullivan  <sullivan@apple.com>

        Reviewed by Kevin.
        
        - WebKit part of <rdar://problem/4125783> WebKit needs a way to control whether textareas are resizable

        * WebView.subproj/WebPreferencesPrivate.h:
        added private-for-now getter and setter for new preference
        * WebView.subproj/WebPreferenceKeysPrivate.h:
        added private preference key controlling whether textareas are resizable
        * WebView.subproj/WebPreferences.m:
        (+[WebPreferences initialize]):
        initial value of new preference is NO, so other clients' behavior doesn't change
        (-[WebPreferences textAreasAreResizable]):
        new getter
        (-[WebPreferences setTextAreasAreResizable:]):
        new setter
        
        * WebView.subproj/WebView.m:
        (-[WebView _updateWebCoreSettingsFromPreferences:]):
        update this new setting in WebCore

        * English.lproj/StringsNotToBeLocalized.txt:
        updated for these changes

2005-05-23  Chris Blumenberg  <cblu@apple.com>

	Changed type for identifier parameter in WebResourceLoadDelegate-related calls to id from NSString.

        Reviewed by kevin.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge objectLoadedFromCacheWithURL:response:data:]):
        (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _opened]):
        (-[WebFrame _requestFromDelegateForRequest:identifier:error:]):
        (-[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]):
        (-[WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:]):
        * WebView.subproj/WebFrameInternal.h:

2005-05-20  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/4098786> sync. XMLHttpRequest works w/o AllowNetworkAccess key because load delegate is not consulted

	Synchronous loads did not cause the willSendRequest method on the resource load delegate to be called. This is the method that Dashboard uses to enforce AllowNetworkAccess and this must be called to avoid exploits.

        Reviewed by sullivan.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge objectLoadedFromCacheWithURL:response:data:]): call [WebFrame _requestFromDelegateForRequest:identifier:error:] then 
	[WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:] so synthetic resource load delegate 
	methods are called and the data is saved as a WebResource for resources in the WebCore cache.

        (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): call [WebFrame _requestFromDelegateForRequest:identifier:error:],
	respect its result, do the load and then call [WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:] 
	for synchronous loads

        * WebView.subproj/WebFrame.m:
        (-[WebFrame _opened]): call [WebFrame _requestFromDelegateForRequest:identifier:error:] then 
	[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:] so synthetic resource load delegate methods are called 
	for subresrources in the page cache
        
	(-[WebFrame _requestFromDelegateForRequest:identifier:error:]): new, was part of the removed _sendResourceLoadDelegateMessagesForURL:::
	This method calls identifierForInitialRequest and willSendRequest.

        (-[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]): new, was part of the removed _sendResourceLoadDelegateMessagesForURL:::
	This method calls the remaining resource load delegate messages.

        (-[WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:]): new, saves the resource and calls
	[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]

        * WebView.subproj/WebFrameInternal.h:

2005-05-17  Chris Blumenberg  <cblu@apple.com>
	
	Fixed: <rdar://problem/4119282> clicking a link in an RTF file opens the link with NSWorkspace without the usual security checks or WebView delegate control

        Reviewed by mjs.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]): pass the passed referrer to canLoadURL::: not [self referrer]
        (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): ditto
        * WebView.subproj/WebTextView.m:
        (-[WebTextView clickedOnLink:atIndex:]): call the loadURL bridge method so that security checks are made, command/option clicks work, policy delegate is consulted etc.

2005-05-17  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/4120255> web archives on remote servers can be viewed directly (with major security issues); should download instead

        Reviewed by mjs.

        * WebView.subproj/WebBaseResourceHandleDelegate.h:
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient continueAfterContentPolicy:response:]): if the WebKit client has chosen to "use" a remote web archive, stop the load with an error

2005-05-16  Darin Adler  <darin@apple.com>

        - attempt to get things building under "Saffron" development tools

        * WebKit.pbproj/project.pbxproj: Use BUILT_PRODUCTS_DIR instead of SYMROOT.

2005-05-13  John Sullivan  <sullivan@apple.com>

        Reviewed by Kevin.
        
        - fixed <rdar://problem/4093306> Safari crashes if Esc key is held down during series 
        of authentication sheets

        * Panels.subproj/WebAuthenticationPanel.m:
        (-[WebAuthenticationPanel cancel:]):
        retain and autorelease self. This is a workaround for an AppKit key-handling issue, which I wrote up as:
        <rdar://problem/4118422> Key-down events can be sent to a closed window if a key is kept pressed down

2005-05-12  John Sullivan  <sullivan@apple.com>

        Reviewed by Kevin.

        - rolled in changes from experimental-ui-branch to support resizable textareas
        and find-as-you-type and confirming unsubmitted form changes. The files/functions 
        modified are listed just below. After that are the ChangeLog comments from the branch.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge textDidChange:]):
        * WebView.subproj/WebFormDelegate.h:
        * WebView.subproj/WebFormDelegate.m:
        (-[WebFormDelegate textDidChange:inFrame:]):
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView maintainsInactiveSelection]):
        (-[WebHTMLView searchFor:direction:caseSensitive:wrap:]):
        (-[WebHTMLView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
        * WebView.subproj/WebView.m:
        (-[WebView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
        (-[WebView searchFor:direction:caseSensitive:wrap:]):
        (-[WebView makeTextStandardSize:]):
        (-[WebView maintainsInactiveSelection]):
        * WebView.subproj/WebViewPrivate.h:
        
        2005-04-18  John Sullivan  <sullivan@apple.com>

                WebKit support for notifying a form delegate when a
                textarea's contents have changed (as opposed to a 
                textfield, which was already handled).

                Reviewed by Maciej.

                * WebView.subproj/WebFormDelegate.h:
                * WebView.subproj/WebFormDelegate.m:
                (-[WebFormDelegate textDidChange:inFrame:]):
                new form delegate method

                * WebCoreSupport.subproj/WebBridge.m:
                (-[WebBridge textDidChange:]):
                new method, calls through to form delegate
                
        2005-04-11  John Sullivan  <sullivan@apple.com>

                Fixed inability to wrap around in Find in Page 

                * WebView.subproj/WebView.m:
                (-[WebView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
                changed wrapFlag from NO to YES on two lines (copy/paste error)

        2005-04-07  John Sullivan  <sullivan@apple.com>

                WebKit support for find-as-you-type. Needed an additional parameter on
                a method from WebDocumentSearching protocol. Since that's a public protocol, 
                I couldn't just add the parameter. For now I hacked it with an undeclared
                internal method that's discovered via respondsToSelector. Probably the right
                long-term approach is to deprecate the WebDocumentSearching protocol and introduce
                a replacement that has a more flexible set of parameters for possible future
                expansion.

                Reviewed by Dave Hyatt.

                * WebView.subproj/WebHTMLView.m:
                (-[WebHTMLView searchFor:direction:caseSensitive:wrap:]):
                now calls new one-more-parameter version passing NO for new parameter to match old behavior
                (-[WebHTMLView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
                new method, adds findInSelection parameter and passes it through to bridge
                 
                * WebView.subproj/WebView.m:
                (-[WebView searchFor:direction:caseSensitive:wrap:]):
                now calls new one-more-parameter version passing NO for new parameter to match old behavior
                (-[WebView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
                new method, adds findInSelection parameter and passes it through

        2005-04-07  John Sullivan  <sullivan@apple.com>

                WebKit support to allow clients to control whether the selection is still
                drawn when the first responder is elsewhere. Formerly this was hardwired
                to be true only when -[WebView isEditable] was true.

                Reviewed by Darin.

                * WebView.subproj/WebHTMLView.m:
                (-[WebHTMLView maintainsInactiveSelection]):
                check [WebView maintainsInactiveSelection] rather than just [WebView isEditable]
                
                * WebView.subproj/WebViewPrivate.h:
                * WebView.subproj/WebView.m:
                (-[WebView maintainsInactiveSelection]):
                new method for clients to override, returns -[self isEditable]
        

2005-05-10  John Sullivan  <sullivan@apple.com>

        Reviewed by Kevin.
        
        - WebKit support for <rdar://problem/3795701> Menu item/keyboard shortcut to 
        restore text zoom to normal

        * WebView.subproj/WebView.m:
        (-[WebView validateUserInterfaceItem:]):
        validate makeTextStandardSize by calling canMakeTextStandardSize
        (-[WebView canMakeTextStandardSize]):
        new method, returns YES unless text size multiplier is currently 1
        (-[WebView makeTextStandardSize:]):
        new method, sets text size multiplier to 1
        
        * WebView.subproj/WebViewPrivate.h:
        add makeTextStandardSize: and canMakeTextStandardSize to pending public category

2005-05-10  John Sullivan  <sullivan@apple.com>

        Reviewed by Chris.
        
        - fixed <rdar://problem/4067981> Mail places RTF flavor before RTFD flavor when dragging 
        mixed image/text content.

        * WebView.subproj/WebHTMLView.m:
        (+[WebHTMLView _selectionPasteboardTypes]):
        put RTFD type before RTF type in array of types to declare

2005-05-09  Chris Blumenberg  <cblu@apple.com>

	Turned assertion into error message to prevent crash when encountering this bug:
	<rdar://problem/4067625> connection:willCacheResponse: is called inside of [NSURLConnection initWithRequest:delegate:]
	
        * WebView.subproj/WebBaseResourceHandleDelegate.h:
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate loadWithRequest:]): set flag to track when we're initializing the connection
        (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]): log error

2005-05-09  Darin Adler  <darin@apple.com>

        * Makefile.am: Don't set up PBXIntermediatesDirectory explicitly;
        Not needed to make builds work, spews undesirable error messages too.

2005-05-06  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - make building multiple trees with make work better

        * Makefile.am: Set up Xcode build directory before invoking xcodebuild.

2005-05-04  Darin Adler  <darin@apple.com>

        Reviewed by Dave Hyatt.

        - fixed layout tests

        * WebKit.pbproj/project.pbxproj: Set deployment target to 10.3 in the build styles.
        When built without a build style (by Apple B&I) we want to get the target from the
        environment. But when built with a build style (by Safari engineers and others), we want
        to use 10.3. Because our deployment target was not set, we ran into this bug:

            <rdar://problem/4108717> CTFontGetGlyphWithName doesn't work with some strings

        * Makefile.am: Took out extra parameters that make command-line building different from
        Xcode building. Now that this is fixed, you should not get a full rebuild if you switch
        from command line to Xcode or back.

2005-05-04  Chris Blumenberg  <cblu@apple.com>

	Fixed: 
	<rdar://problem/4078417> REGRESSION (125-412): MLB gameday page doesn't update (Flash)
	<rdar://problem/4072280> XMLHttpRequest calls onReadyStateChange callback with bogus status value
        
	Reviewed by john.

	Our WebKit-level caching of subresources "dumbed-down" information held in NSURLResponse. This caused some loads to lack response headers and thus disabling cache directives. Status codes were also not retained and this caused XMLHttpRequest to fail frequently. The fix is to have WebResource retain the NSURLResponse and to use the NSURLResponse when we decide to load from WebResources.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge objectLoadedFromCacheWithURL:response:data:]): call new [WebResource _initWithData:URL:response:]
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate _canUseResourceWithResponse:]): new, checks response cache directives
        (-[WebBaseResourceHandleDelegate loadWithRequest:]): call _canUseResourceWithResponse:
        (-[WebBaseResourceHandleDelegate saveResource]): call new [WebResource _initWithData:URL:response:]
        * WebView.subproj/WebResource.m:
        (-[WebResourcePrivate dealloc]):
        (-[WebResource initWithData:URL:MIMEType:textEncodingName:frameName:]): call renamed _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:
        (-[WebResource initWithCoder:]): decode the NSURLReponse
        (-[WebResource encodeWithCoder:]): encode the NSURLReponse
        (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]): take the NSURLReponse
        (-[WebResource _initWithData:URL:response:]): new
        (-[WebResource _initWithPropertyList:]): decode the NSURLReponse
        (-[WebResource _propertyListRepresentation]): encode the NSURLReponse
        (-[WebResource _response]): return ivar if we have one
        * WebView.subproj/WebResourcePrivate.h:

2005-05-03  David Hyatt  <hyatt@apple.com>

	Fix object element support so that fallback content works.  With this change Safari passes the Acid2 test.
	
        Reviewed by Maciej

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge determineObjectFromMIMEType:URL:]):
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _receivedMainResourceError:complete:]):
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient continueAfterContentPolicy:response:]):

2005-05-03  Darin Adler  <darin@apple.com>

        * WebView.subproj/WebUIDelegate.h: Fixed incorrect comment.

2005-05-01  Darin Adler  <darin@apple.com>

        - move to Xcode native targets and stop checking in generated files

        * WebKit.pbproj/project.pbxproj: Updated to use native targets and generate all the generated
        files, so we don't have to check them in any more.
        * Info.plist: Added. Native targets use a separate file for this.

        * Plugins.subproj/npapi.m: Fixed import statement to get npapi.h from <WebKit/> rather than current directory.

        * Makefile.am: Removed timestamp cleaning rules since we don't use it any more.

        * .cvsignore: Removed various timestamp files.

        * DOM.subproj/DOM-compat.h: Removed.
        * DOM.subproj/DOM.h: Removed.
        * DOM.subproj/DOMCSS.h: Removed.
        * DOM.subproj/DOMCore.h: Removed.
        * DOM.subproj/DOMEvents.h: Removed.
        * DOM.subproj/DOMExtensions.h: Removed.
        * DOM.subproj/DOMHTML.h: Removed.
        * DOM.subproj/DOMPrivate.h: Removed.
        * DOM.subproj/DOMRange.h: Removed.
        * DOM.subproj/DOMStylesheets.h: Removed.
        * DOM.subproj/DOMTraversal.h: Removed.
        * DOM.subproj/DOMViews.h: Removed.
        * Plugins.subproj/WebScriptObject.h: Removed.
        * Plugins.subproj/npapi.h: Removed.
        * Plugins.subproj/npruntime.h: Removed.
        * copy-webcore-files-to-webkit: Removed.
        * embed-frameworks.sh: Removed.
        * force-clean-timestamp: Removed.

2005-04-28  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed problems preventing us from compiling with gcc 4.0

        * WebKit.pbproj/project.pbxproj: Removed -fobjc-exceptions because I can't figure out an easy
        way to pass it only when compiling Objective-C/C++. Removed -Wmissing-prototypes from
        WARNING_CPLUSPLUSFLAGS since it's now a C-only warning.

        * History.subproj/WebHistoryItem.m: (-[WebHistoryItem pageCache]): Changed return type
        to match the declaration.
        * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]):
        Fixed a BOOL that should have been a Boolean.
        * WebCoreSupport.subproj/WebTextRenderer.m: Removed redundant copy of ROUND_TO_INT, also in
        a WebCore header.
        (-[WebTextRenderer _computeWidthForSpace]): Had to add cast because of difference in type of
        ROUND_TO_INT vs. CEIL_TO_INT.
        (pathFromFont): Added a cast to convert UInt8 * to char *.
        * WebView.subproj/WebFrameView.m:
        (-[WebFrameView _setDocumentView:]): Fixed parameter type to match the declaration.
        (-[WebFrameView documentView]): Fixed return type to match the declaration.
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
        Initialized a variable to quiet an incorrect gcc 4.0 uninitialized variable warning.
        (-[WebHTMLView deleteToMark:]): Switched from @try style to NS_DURING style of exception handler
        because we can't pass -fobjc-exceptions just to Objective-C at the moment (see above).
        (-[WebHTMLView selectToMark:]): Ditto.
        (-[WebHTMLView swapWithMark:]): Ditto.

2005-04-27  John Sullivan  <sullivan@apple.com>

        Reviewed by Dave Harrison.
        
        - fixed <rdar://problem/3547489> pop-up window blocking preference and 
        menu item can easily get out of sync.

        * WebView.subproj/WebPreferences.m:
        (-[WebPreferences _setStringValue:forKey:]):
        save local value before setting value in NSUserDefaults, so clients reacting to NSUserDefaults
        change notification but calling back on WebPreferences API will see the updated value.
        (-[WebPreferences _setIntegerValue:forKey:]):
        ditto
        (-[WebPreferences _setBoolValue:forKey:]):
        ditto

2005-04-26  Richard Williamson   <rjw@apple.com>

	Fixed <rdar://problem/4098713> Scripting API is incompatible with Mozilla

        Reviewed by Chris.

        * Plugins.subproj/npfunctions.h:
        * Plugins.subproj/npruntime.h:

2005-04-26  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed <rdar://problem/3655817> please add support for mouse wheel events and the onmousewheel handler

        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView scrollWheel:]): Call sendScrollWheelEvent: method
        instead of the old scrollOverflowWithScrollWheelEvent: (just a name change).

2005-04-18  Darin Adler  <darin@apple.com>

        Reviewed by Hyatt.

        - fixed <rdar://problem/4092614> REGRESSION (Tiger): progressively loaded background images "scroll around" instead of just appearing

        * WebCoreSupport.subproj/WebImageData.m:
        (-[WebImageData _imageSourceOptions]): Moved a global inside this function, since it's only used here.
        (-[WebImageData _cacheImages:allImages:]): Fixed a sizeof that was getting the size of the wrong thing.
        (-[WebImageData _isSizeAvailable]): Used calloc in a more consistent way.
        (drawPattern): Removed an unneeded cast.
        (-[WebImageData tileInRect:fromPoint:context:]): Here's the actual bug fix. Don't use the image size
        when deciding whether the image needs to be tiled as a pattern nor when creating the pattern: in both
        cases, use the tile size. The old way was wrong, and the new way works perfectly. Also removed uneeded
        error message when the image is not yet loaded enough to create a CGImageRef for it -- it's fine to
        draw nothing in that case.

2005-04-14  John Sullivan  <sullivan@apple.com>

        Reviewed by Chris.

        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]):
        Beefed up assertion that's been bugging me and Chris to include
        the two troublemaking values.

2005-04-05  David Hyatt  <hyatt@apple.com>

	Fix for 4077106, wheel scroll amount smaller in Tiger.  All along wheeling should have been 4x the default
	line height of 10 (just as arrow keys did).  Scroll arrows should have done this too for scroll views (they did
	already for overflow sections).  This patch puts the override into the scrollview itself, and removes the
	multipliers in the private frame methods.
	
        Reviewed by darin

        * WebView.subproj/WebFrameView.m:
        (-[WebFrameView _verticalKeyboardScrollDistance]):
        (-[WebFrameView initWithFrame:]):
        (-[WebFrameView _horizontalKeyboardScrollDistance]):

=== WebKit-312.1 ===

2005-03-31  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/4070729> REGRESSION (125-311, Panther-only?): Safari crashes while reloading "My eBay" page

        Reviewed by rjw.

        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate resourceData]): retain and autorelease resourceData since releaseResources (which releases resourceData) may be called before the caller of this method has an opporuntity to retain the returned data

=== Safari-412 ===

=== Safari-411 ===

2005-03-23  Richard Williamson   <rjw@apple.com>

	Use Patti Yeh's hack to determine the appropriate rectangle
	to place the "associated word" window.  
	If there is no marked text firstRectForCharacterRange: will
	use the selected range to determine the returned rectangle,
	ignoring the input range.  This is the fix from
	4029491 that I previously backed out.

        Reviewed by Vicki.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView firstRectForCharacterRange:]):

2005-03-23  Richard Williamson   <rjw@apple.com>

	Fixed <rdar://problem/4062490> REGRESSION (WebKit-408): no subresources reported in Activity window after going back at hrweb.apple.com

	Stop collecting subresource responses after the document
	had loaded, not after it has been opened.

        Reviewed by Chris.

        * WebView.subproj/WebFrame.m:
        (-[WebFrame _setState:]):
        (-[WebFrame _opened]):

2005-03-21  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

	<rdar://problem/4051145> The QuickTime Cocoa plug-in needs an SPI that it can call to check for URL policy

        * Plugins.subproj/WebPluginContainerCheck.h: Added.
        * Plugins.subproj/WebPluginContainerCheck.m: Added this new helper class to encapsulate
	an async plugin navigation check.
        (+[WebPluginContainerCheck checkWithRequest:target:resultObject:selector:controller:]): Convenience allocator that gives autoreleased value.
        (-[WebPluginContainerCheck initWithRequest:target:resultObject:selector:controller:]): Initializer.
        (-[WebPluginContainerCheck finalize]): Just assert that we're done, it would
	be bad to deallocate this object while request is still outstanding.
        (-[WebPluginContainerCheck dealloc]): Ditto.
        (-[WebPluginContainerCheck _continueWithPolicy:]): Method to continue after async
	policy check.
        (-[WebPluginContainerCheck _isDisallowedFileLoad]): Do "file: URL from remote content"
	check.
        (-[WebPluginContainerCheck _actionInformationWithURL:]): Helper to make action
	dictionary.
        (-[WebPluginContainerCheck _askPolicyDelegate]): Call policy delegate to let
	the app decide if this load is allowed.
        (-[WebPluginContainerCheck start]): Start the check.
        (-[WebPluginContainerCheck cancel]): Cancel a check in progress.
        * Plugins.subproj/WebPluginController.h:
        * Plugins.subproj/WebPluginController.m:
        (-[WebPluginController initWithDocumentView:]): Initialize new _checksInProgress field.
        (-[WebPluginController _webPluginContainerCancelCheckIfAllowedToLoadRequest:]): Implement
	this new SPI method.
        (-[WebPluginController _cancelOutstandingChecks]): New helper to make sure to cancel
	all outstanding requests when destroying all plugins.
        (-[WebPluginController destroyAllPlugins]): Call above helper.
        (-[WebPluginController _webPluginContainerCheckIfAllowedToLoadRequest:inFrame:resultObject:selector:]): Implement this new plug-in SPI method.
        (-[WebPluginController bridge]): New helper method.
        (-[WebPluginController webView]): New helper method.
        * WebView.subproj/WebPolicyDelegatePrivate.h: Add new navigation
	type WebNavigationTypePlugInRequest.
        * WebKit.pbproj/project.pbxproj: Add new files.
        * WebView.subproj/WebDefaultPolicyDelegate.m:
        (-[WebDefaultPolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]): Don't open externally on a plug-in request.

2005-03-23  Richard Williamson   <rjw@apple.com>

	Fixed <rdar://problem/4053515> REGRESSION (Mail): Kotoeri input method reconversion does not work in WebViews

	We now use actual document NSRanges to represent both marked text
	ranges and selection ranges.

        Reviewed by Ken Kocienda.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView validAttributesForMarkedText]):
        (-[WebHTMLView firstRectForCharacterRange:]):
        (-[WebHTMLView selectedRange]):
        (-[WebHTMLView markedRange]):
        (-[WebHTMLView _selectMarkedText]):
        (-[WebHTMLView setMarkedText:selectedRange:]):

=== Safari-410 ===

2005-03-22  Darin Adler  <darin@apple.com>

        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.

=== Safari-409 ===

2005-03-20  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

	<rdar://problem/4060020> Add stub version of security SPI for QuickTime plug-in so QuickTime team has something to compile and link against
        
	* Plugins.subproj/WebPluginContainerPrivate.h: Added.
        * Plugins.subproj/WebPluginController.m:
        (-[WebPluginController _webPluginContainerCheckIfAllowedToLoadRequest:inFrame:resultObject:selector:]):
        (-[WebPluginController _webPluginContainerCancelCheckIfAllowedToLoadRequest:]):
        * WebKit.pbproj/project.pbxproj:

2005-03-19  David Harrison  <harrison@apple.com>

        Reviewed by Maciej.
        
        <rdar://problem/4059479> Misspelling underline does underline the whole word, could go farther to the right

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer misspellingLinePatternGapWidth]):
        (-[WebTextRenderer drawLineForMisspelling:withWidth:]):
        Consider that the last pixel in the underline dot pattern is transparent.

2005-03-19  Darin Adler  <darin@apple.com>

        Reviewed by Maciej (a while back).

        - fixed <rdar://problem/4059323> local-file security check is allowing plug-in streams, but must not

        * Plugins.subproj/WebNetscapePluginStream.m:
        (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
        Roll out change I made on 3-13. That change is needed for subresource, but not for plug-in streams.
        For plug-in streams it's too risky, and leaves a serious security hole open.

2005-03-19  Darin Adler  <darin@apple.com>

        Reviewed by Ken and John.

        - fixed <rdar://problem/4059123> REGRESSION (402-403): deleteWordForward: and deleteWordBackward: start deleting single characters after the first delete

        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]):
        Fixed backwards logic in here and added missing check. Set action to one of the two typing actions only
        if isTypingAction is YES.

2005-03-19  David Harrison  <harrison@apple.com>

        Reviewed by me (written by Patti Yeh).
        
        <rdar://problem/4029491> <TCIM> CangJie: the candidate window appears at the top left hand corner during typing in Mail and iChat

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView firstRectForCharacterRange:]):
        Use selected range if there is no marked range.

=== Safari-408 ===

2005-03-18  David Harrison  <harrison@apple.com>

        Reviewed by Darin.

        <rdar://problem/3584942> AX: Safari Accessibility parent-child mismatch

        * WebView.subproj/WebFrameView.m:
        (-[WebFrameView webCoreBridge]):
        New to conform to WebCoreBridgeHolder protocol.

2005-03-18  Richard Williamson   <rjw@apple.com>
	
	Fixed <rdar://problem/4057004> Data from XMLHTTPRequest is never dealloced

	WebDataSource keeps an array of all the NSURLResponses associated
	with the load for a page.  This is used to playback delegate messages
	when loading from the page cache.  However, after the document
	has completed it's initial load, we continue to keep track of responses. 
	So, this has the consequence of keeping all the responses for a page
	around for the life of the page.  NSURLResponses are now very
	heavy.  They indirectly reference the resource data (via the
	download assessment dictionary).  This fix will keep
	references to responses around for those resources loaded during initial
	page load, but not after that point.

        Reviewed by Ken.

        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _addResponse:]):
        (-[WebDataSource _stopRecordingResponses]):
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _opened]):

2005-03-18  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        Fix for this bug:
        
        <rdar://problem/4053729> Copy/paste of page with frames into Blot or Mail does nothing and loses insertion point

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _selectedArchive]): Wrap frameset documents in an iframe, so they can be pasted into 
        existing documents which will have a body or frameset of their own.

=== Safari-407 ===

2005-03-17  Richard Williamson   <rjw@apple.com>

	Fixed <rdar://problem/4055562> REGRESSION (Tiger): Safari doesn't draw progressively-loaded JPEGs (www.theregister.co.uk, www.titantalk.com)

	Anothe side effect of lazy loading of image meta data.  We now
	don't cache image size until size meta data is actually available.

        Reviewed by Darin.

        * WebCoreSupport.subproj/WebImageData.m:
        (-[WebImageData size]):

2005-03-16  David Harrison  <harrison@apple.com>

        Reviewed by Maciej.
        
        <rdar://problem/4048506> Deleting from beginning of editable div deletes other document elements
        
        Also changed WebCore.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _shouldDeleteRange:]):
        Added call to new bridge method canDeleteRange.

2005-03-16  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        Fix for this bug:
        
        <rdar://problem/4042935> undo doesn't work properly during inline input

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView setMarkedText:selectedRange:]): Call new -[WebCoreBridge replaceMarkedTextWithText:] instead of 
        -[WebCoreBridge replaceSelectionWithText:selectReplacement:smartReplace:]. The former call was just added in 
        order to provide a better mapping of international text input onto the typing command/undo design.

2005-03-15  Richard Williamson   <rjw@apple.com>

	Fixed <rdar://problem/4040321> Exception: Someone's trying to encode a WebDataRequestParameters instance

	If client mutates request use new Foundation SPI to address remove applewebdata properties	from request.

        Reviewed by Ken Kocienda.

        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]):
        * WebView.subproj/WebDataProtocol.h:
        * WebView.subproj/WebDataProtocol.m:
        (+[NSURLRequest _webDataRequestPropertyKey]):

2005-03-15  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Vicki

        Fox for this bug:
        
        <rdar://problem/4052642> Each delete keystroke is in its own undo group; not included in undo group with other typing

        Calling -[WebCore setSelectedDOMRange:range affinity:] had the result of "closing" any active set of typing
        keystrokes grouped together in a single undo operation. My change on 27 Jan to route delete keystrokes 
        through _deleteRange:killRing:... made this feature regress. Previous to that change, the backwards delete
        key went through separate code that is no longer in the tree that did not set the selection in the way
        it is done now.
        
        The solution is to add an extra argument to the set-selection call. The WebCoreBridge now offers this method:
        -[WebCore setSelectedDOMRange:range affinity:closeTyping:]. Now, callers must indicate whether setting the 
        selection will act to close typing or not. The code changes below all add this new argument with the
        appropriate value for closeTyping.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:]): Passes NO for closeTyping when
        deletionAction is deleteKeyAction or forwardDeleteKeyAction; YES when deleteSelectionAction.
        (-[WebHTMLView _expandSelectionToGranularity:]): Passes YES for closeTyping.
        (-[WebHTMLView selectToMark:]): Passes YES for closeTyping.
        (-[WebHTMLView swapWithMark:]): Passes YES for closeTyping.
        (-[WebHTMLView transpose:]): Passes YES for closeTyping.
        (-[WebHTMLView _selectMarkedText]): Passes NO for closeTyping.
        (-[WebHTMLView _selectRangeInMarkedText:]): Passes NO for closeTyping.
        * WebView.subproj/WebView.m:
        (-[WebView setSelectedDOMRange:affinity:]): Passes YES for closeTyping.

2005-03-14  Richard Williamson   <rjw@apple.com>

	Fix <rdar://problem/4051389> 8A413: gifs animating too fast

        Reviewed by Maciej.

	Match Mozilla's policy for minimum frame duration, which is somewhat odd:

	<= 0.01 sec use .1 sec, otherwise use specified duration.

        * WebCoreSupport.subproj/WebImageData.m:
        (-[WebImageData _frameDurationAt:]):

2005-03-14  Darin Adler  <darin@apple.com>

        Reviewed by Harrison.

        - fixed <rdar://problem/4049776> Seed: Mail: Disable spellcheck leaves red artifacts

        * WebView.subproj/WebFrameInternal.h: Added _unmarkAllMisspellings.
        * WebView.subproj/WebFrame.m: (-[WebFrame _unmarkAllMisspellings]): Added.
        Calls unmarkAllMisspellings on the bridge and self and all subframes.

        * WebView.subproj/WebView.m: (-[WebView setContinuousSpellCheckingEnabled:]):
        Call _unmarkAllMisspellings on the main frame when turning continuous spell checking off.

2005-03-14  Richard Williamson   <rjw@apple.com>

	Fixed <rdar://problem/4027928> Tiger_8A394:Acrobat crashes while tried to remove the subscription errors by clicking on "Would you like to remove the subscription" from Tracker details view pane

	The Acrobat application triggers loads of new documents in it's policy delegate.  This
	ultimately causes the WebHTMLView to be released before their event handlers have
	returned.  To bullet proof against this case we retain/release self before passing
	the event on for further handling.
	
        Reviewed by Maciej.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _updateMouseoverWithEvent:]):
        (-[WebHTMLView scrollWheel:]):
        (-[WebHTMLView mouseDown:]):
        (-[WebHTMLView mouseDragged:]):
        (-[WebHTMLView mouseUp:]):
        (-[WebHTMLView keyDown:]):
        (-[WebHTMLView keyUp:]):
        (-[WebHTMLView performKeyEquivalent:]):

2005-03-14  Vicki Murley  <vicki@apple.com>

	- roll out the fix for 4040321, since it is still pending CCC review.

    2005-03-10  Richard Williamson   <rjw@apple.com>

        Fixed <rdar://problem/4040321> Exception: Someone's trying to encode a WebDataRequestParameters instance 

        Reviewed by Darin.

        If a delegate returns a mutated applewebdata: request in it's willSendRequest:
        method, we don't load using the WebDataRequest.  Instead we do a normal load.
        Unfortunately, if the request they return is mutated *copy* of the applewebdata: 
        request it will hold the applewebdata: special properties.  These properties 
        will be encoded into the cache.   They should not be.  So, to fix, we sanitize the
        request, by removing the special properties from the request.

        Note that we had to dig into the private guts of NSURLRequest because there is
        no public mechanism to remove properties from a request, see 4046775.

        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]):
        * WebView.subproj/WebDataProtocol.h:
        * WebView.subproj/WebDataProtocol.m:
        (-[NSURLRequest _webDataRequestExternalRequest]):
        (-[NSURLRequest _webDataRequestSanitize]):

=== Safari-406 ===

2005-03-13  Darin Adler  <darin@apple.com>

        Reviewed by Ken and Maciej.

        - fixed <rdar://problem/4049040> REGRESSION (403-405): security check prevents user stylesheet from loading (Dictionary.app doesn't work at all!)

        * Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
        Allow plug-in subresource streams to load with any URL, ignoring the "canLoadURL" method's restriction (only
        file URLs can load other file URLs), which now applies only to main resources, like web pages in frames or
        object tags and plug-in main resources.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge startLoadingResource:withURL:customHeaders:]): Allow subresources to load with any URL, as above.
        This allows things like images, stylesheets, and JavaScript to be loaded without the "canLoadURL" method's
        restriction.
        (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]): Ditto.
        (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): Ditto.

2005-03-10  Richard Williamson   <rjw@apple.com>

	Fixed <rdar://problem/4040321> Exception: Someone's trying to encode a WebDataRequestParameters instance 

        Reviewed by Darin.

	If a delegate returns a mutated applewebdata: request in it's willSendRequest:
	method, we don't load using the WebDataRequest.  Instead we do a normal load.
	Unfortunately, if the request they return is mutated *copy* of the applewebdata: 
	request it will hold the applewebdata: special properties.  These properties 
	will be encoded into the cache.   They should not be.  So, to fix, we sanitize the
	request, by removing the special properties from the request.

	Note that we had to dig into the private guts of NSURLRequest because there is
	no public mechanism to remove properties from a request, see 4046775.

        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]):
        * WebView.subproj/WebDataProtocol.h:
        * WebView.subproj/WebDataProtocol.m:
        (-[NSURLRequest _webDataRequestExternalRequest]):
        (-[NSURLRequest _webDataRequestSanitize]):

=== Safari-405 ===

2005-03-10  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Vicki.

	<rdar://problem/4046510> REGRESSION (TOT): All Flash and Shockwave plugin-based web content missing
        
	* Plugins.subproj/WebNetscapePluginStream.m:
        (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):

2005-03-10  John Sullivan  <sullivan@apple.com>

        Reviewed by Vicki.
        
        - fixed <rdar://problem/4045843> Going back/forward to error page 
        hits assertion in -[WebDataSource(WebPrivate) _setData:]

        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _setData:]):
        Removed bogus assertion

2005-03-09  Deborah Goldsmith  <goldsmit@apple.com>

        Reviewed by Darin.

        - fixed <rdar://problem/3997044> default encoding for non-Latin incorrect

	* WebKit/WebView.subproj/WebPreferences.m: (+[WebPreferences _systemCFStringEncoding]):
        Call __CFStringGetUserDefaultEncoding to get region, and TECGetWebTextEncodings to get
        the first encoding to determine the default encoding.

2005-03-09  Darin Adler  <darin@apple.com>

        Reviewed by Richard.

        - fixed <rdar://problem/4034175> REGRESSION (Mail): Can't use any font with style Light/Condensed/Semibold/Extrabold, etc

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _styleFromFontAttributes:]): Use a constant instead of hard-coded weight for clarity.
        (-[WebHTMLView _originalFontA]): Ditto.
        (-[WebHTMLView _originalFontB]): Ditto.
        (-[WebHTMLView _addToStyle:fontA:fontB:]): Add code to detect the case where the family name is not good enough
        to specify the font precisely. In that case, use the Postscript font name instead. Also change variable names
        so it's easier to understand the method.

2005-03-06  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

	<rdar://problem/4005575> Arbitrary file disclosure vulnerability due to ability to load local html from remote content
        
	* Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView requestWithURLCString:]):
        * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
        (-[WebNetscapePluginEmbeddedView didStart]):
        * Plugins.subproj/WebNetscapePluginStream.m:
        (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge createWindowWithURL:frameName:]):
        (-[WebBridge startLoadingResource:withURL:customHeaders:]):
        (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]):
        (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
        (-[WebBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):
        (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
        (-[WebBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]):
        (-[WebBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]):
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _loadURL:referrer:intoChild:]):
        * WebView.subproj/WebFramePrivate.h:

2005-03-09  Richard Williamson   <rjw@apple.com>
	
	Fixed <rdar://problem/4032938> Safari: text layout for MS P Gothic font is corrupted

	The AppKit and ATS reports that MS P Gothic is fixed pitch.  It is
	not!  This is another case of "fixed pitch" being wrong.  I've
	coalesced all the special cases into our isFontFixedPitch:, and
	used a dictionary to improve speed.  No performance regression.

        Reviewed by Maciej.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer _computeWidthForSpace]):
        * WebCoreSupport.subproj/WebTextRendererFactory.m:
        (-[WebTextRendererFactory clearCaches]):
        (-[WebTextRendererFactory isFontFixedPitch:]):

2005-03-09  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        <rdar://problem/4040388> REGRESSION (172-173): nonrepro crash in -[NSString(WebNSURLExtras) _web_isUserVisibleURL]

        * Misc.subproj/WebNSURLExtras.m:
        (-[NSString _web_isUserVisibleURL]): Fixed some pointer expressions that didn't include the index in the expression.
        (readIDNScriptWhiteListFile): Removed NSLog statements in here since we decided they aren't useful and they will
        write some messages on Tiger.

2005-03-09  Darin Adler  <darin@apple.com>

        * DOM.subproj/DOMPrivate.h: Checked in file copied from WebCore.

2005-03-08  Richard Williamson   <rjw@apple.com>

        Fixed <rdar://problem/4036949> many JPEG images fail to incremental-load due to change in ImageIO JPEG header parsing (to be fixed in WebKit)
	Fixed <rdar://problem/4042570> Need to check image properties for presence of width/height properties

	ImageIO-55 changed how image properties are created.  They
	are now created incrementally.  So we need "re-get" the image
	properties if the properties we care about (width/height) aren't
	in the property dictionary.

        Reviewed by John.

        * WebCoreSupport.subproj/WebImageData.h:
        * WebCoreSupport.subproj/WebImageData.m:
        (-[WebImageData init]):
        (-[WebImageData fileProperties]):
        (-[WebImageData propertiesAtIndex:]):
        (-[WebImageData _isSizeAvailable]):
        (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]):
        (-[WebImageData size]):

2005-03-08  John Sullivan  <sullivan@apple.com>

        A couple of tweaks to the previous patch, from Darin's review.

        * Misc.subproj/WebNSPasteboardExtras.m:
        (_writableTypesForImageWithoutArchive):
        remove unnecessary _web prefix
        (_writableTypesForImageWithArchive):
        ditto
        (+[NSPasteboard _web_writableTypesForImageIncludingArchive:]):
        use mutableCopy rather than initWithArray:, and adjust for name changes

2005-03-08  John Sullivan  <sullivan@apple.com>

        Reviewed by Ken.
        
        - fixed <rdar://problem/4031826> REGRESSION (Mail): standalone images from 
        Safari can't be pasted into Mail (WebKit part of fix)
        
        We were always declaring webarchive-related pasteboard types, even in the standalone
        image cases where we had no webarchive. Unfortunately, the WebView pasteboard-related
        API doesn't prevent this kind of thing from happening, because the code that
        declares the types isn't guaranteed to be anywhere near the code that writes
        the pasteboard data.
        
        After this fix, I discovered that pasting standalone images into Mail still doesn't
        work right, but the remaining issues seem to be entirely in Mail. I wrote up 4041671
        to cover these.

        * Misc.subproj/WebNSPasteboardExtras.h:
        (+[NSPasteboard _web_writableTypesForImageIncludingArchive:]):
        Added boolean parameter; clients must specify whether or not there's an
        archive involved, because the array of types is different if there is.

        * Misc.subproj/WebNSPasteboardExtras.m:
        (_web_writableTypesForImageWithoutArchive):
        new static function, constructs (once) and returns the array of types
        for images that don't have archives
        (_web_writableTypesForImageWithArchive):
        new static function, constructs (once) and returns the array of types
        for images that do have archives
        (+[NSPasteboard _web_writableTypesForImageIncludingArchive:]):
        added boolean parameter, now calls one of the two new static functions
        
        (-[NSPasteboard _web_writeImage:URL:title:archive:types:]):
        added asserts that we aren't declaring the archive types if we don't have archive data
        
        (-[NSPasteboard _web_declareAndWriteDragImage:URL:title:archive:source:]):
        updated to pass parameter to _web_writableTypesForImageIncludingArchive:
        
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultUIDelegate copyImageToClipboard:]):
        updated to pass parameter to _web_writableTypesForImageIncludingArchive:

        * WebView.subproj/WebImageView.m:
        (-[WebImageView copy:]):
        updated to pass parameter to _web_writableTypesForImageIncludingArchive:

        * WebView.subproj/WebView.m:
        (-[WebView pasteboardTypesForElement:]):
        updated to pass parameter to _web_writableTypesForImageIncludingArchive:

2005-03-07  Richard Williamson   <rjw@apple.com>

	More bullet proofing for <rdar://problem/4038304> CrashTracer: ....9 crashes at com.apple.WebKit: -[WebTextRenderer initWithFont:usingPrinterFont:] + 840

	Protect against removal of Times and Times New Roman from
	system.  If these fonts are removed attempt to get system font
	instead of FATAL_ALWAYS.

        Reviewed by John.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer initWithFont:usingPrinterFont:]):

=== Safari-403 ===

2005-03-06  Darin Adler  <darin@apple.com>

        - fixed obvious mistake in IDN script code (luckily it hasn't been in a submission yet!)

        * Misc.subproj/WebNSURLExtras.m: (readIDNScriptWhiteListFile): Use "index" to index into the array,
        not "script", which is the script number, not the 32-bit-word index.

2005-03-05  Kevin Decker  <kdecker@apple.com>

        Reviewed by Darin.

	Fixed: <rdar://problem/4038529> Infinite progress bar loading webcams and other sites that use multipart/x-mixed-replace

	The previous patch I landed prevented us from loading multipart/x-mixed-replace but did not always update the progress bar accordingly.  
        This stops websites from having seemingly infinite progress in the browser UI.  

        * WebCoreSupport.subproj/WebSubresourceClient.m:
        (-[WebSubresourceClient didReceiveResponse:]): If this is "multipart/x-mixed-replace", remove the WebBaseResourceHandleDelegate client from 
        the datasource's subresource array, otherwise -[WebDataSource isLoading] incorrectly returns YES.   Also it's possible at this point in
         time we're done loading now (loaded everything else except for the multipart/x-mixed-replace content) so go ahead and check to see if 
         in fact we're complete. 
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient connection:didReceiveResponse:]): ditto

2005-03-05  Richard Williamson   <rjw@apple.com>

	Fixed panther build problem.  Shouldn't include
	changes for 3968753 on panther.

        Reviewed by John.

        * WebView.subproj/WebView.m:
        (-[WebView _commonInitializationWithFrameName:groupName:]):

2005-03-05  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed <rdar://problem/4034603> REGRESSION (185-188): RadarWeb can't send enclosures anymore

        * WebView.subproj/WebFormDataStream.m:
        (closeCurrentStream): Release currentData when closing the stream.
        (advanceCurrentStream): Set up and retain currentData when the current stream is reading that data, so the
        data won't be released while in use.
        (formCreate): Initialize currentData to NULL.

        - fixed <rdar://problem/4037562> Tiger8A402: Help Viewer crashed when viewing help for iChat (infinite recursion in WebView)

        * WebView.subproj/WebView.m: (-[WebView _responderValidateUserInterfaceItem:]):
        Check for the case where we ourselves are the responder. This avoids an infinite loop.
        The actual code to perform operations avoids this with a global variable, but this lighter weight
        solution is sufficient here because validate operations don't call through to the next responder.

2005-03-04  Richard Williamson   <rjw@apple.com>

	Fixed <rdar://problem/3968753> REGRESSION: Poor performance with differing multiple animated GIFs (was fast in Panther)

	Disable coalesced updates (in CG).  This restores the
	panther behavior.

        Reviewed by David Harrison.

        * WebView.subproj/WebView.m:
        (-[WebView _commonInitializationWithFrameName:groupName:]):

2005-03-04  Adele Amchan  <adele@apple.com>

        Reviewed by Darin.

        * English.lproj/StringsNotToBeLocalized.txt: added new strings "text/x-vcf" and "text/x-csv" to the list

2005-03-04  Adele Amchan  <adele@apple.com>

        Reviewed by Chris.

        Fix for <rdar://problem/4032982> Sun iPlanet app: not able to import AddressBook CSV format addresses properly
        Fix for <rdar://problem/4032985> Sun iPlanet app: not able to import vCard format addresses properly

        * WebView.subproj/WebTextView.m:
        (+[WebTextView unsupportedTextMIMETypes]): added "text/x-csv" and "text/x-vcf" to the list of MIME types that our text view doesn't handle

2005-03-04  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed <rdar://problem/4036817> REGRESSION: ctrl-y broken when a line + carriage return cut

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:]): Merged _handleKillRing behavior
        into this function, since there's now a more-complicated way the startNewKillRingSequence boolean needs to
        be handled. Set the startNewKillRingSequence boolean after the entire process so changing the selection before
        and during the editing dosn't clear it. Also change "isTypingAction" parameter to "deletionAction" so we can
        handle forward delete with this method.
        (-[WebHTMLView _deleteSelection]): Pass deleteSelectionAction for action rather than NO for isTypingAction,
        which is the way to say the same thing using the new parameter.
        (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]): Refactor to use the _deleteRange
        method above. Also calls _shouldDeleteRange: for the pre-existing selection case; not doing that before was
        a bug.
        (-[WebHTMLView deleteToMark:]): Pass deleteSelectionAction for action rather than NO for isTypingAction,
        which is the way to say the same thing using the new parameter.

2005-03-04  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed <rdar://problem/4020413> REGRESSION (Mail): can't use fonts with names that start with "#" in Mail (Korean fonts)

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _styleFromFontAttributes:]): Quote font name when calling setFontFamily.
        (-[WebHTMLView _addToStyle:fontA:fontB:]): Ditto.

2005-03-04  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed <rdar://problem/3965666> IDN spoofing vulnerability caused by Unicode characters that look like ASCII characters

        * Misc.subproj/WebNSURLExtras.m:
        (readIDNScriptWhiteListFile): Added. Reads file and parses script names.
        (readIDNScriptWhiteList): Added. Calls readIDNScriptWhiteList on each of the white list locations in succession.
        (allCharactersInIDNScriptWhiteList): Renamed from containsPossibleLatinLookalikes and changed sense.
        Now calls readIDNScriptWhiteList first time, and then uses the read-in list to check the scripts.
        (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Call allCharactersInIDNScriptWhiteList instead of
        containsPossibleLatinLookalikes.
        * Resources/IDNScriptWhiteList.txt: Added.
        * WebKit.pbproj/project.pbxproj: Added IDNScriptWhiteList.txt file.

        * Misc.subproj/WebKitLocalizableStrings.m: Removed. This is simply unused.
        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.

2005-03-04  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed <rdar://problem/3937667> REGRESSION (Mail): Zooming a window from titlebar button doesn't paint newly-exposed portions of window

        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]):
        Re-set-up the visRect if the bounds changes due to layout.

=== Safari-402 ===

2005-03-03  Jens Alfke  <jens@apple.com>

        Reviewed by rjw.

	<rdar://problem/3991818> REGRESSION: Images scale while loading
	The code could crop an image when not all the scanlines were available yet, and it could crop when only a sub-rect of the image was to be drawn; but if it had to do both at once, it got the coordinates wrong. Fixed that.

        * WebCoreSupport.subproj/WebImageData.m:
        (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]):

2005-03-01  David Hyatt  <hyatt@apple.com>

	Fix for 3841186, scrollbar shows up disabled when it should not appear at all.  Make sure updateScrollers
	is never allowed to be re-entrant from any call point by moving the guard inside the function itself.
	
        Reviewed by John Sullivan

        * WebView.subproj/WebDynamicScrollBarsView.m:
        (-[WebDynamicScrollBarsView updateScrollers]):
        (-[WebDynamicScrollBarsView reflectScrolledClipView:]):

2005-03-02  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/4029010> Expose method to retrieve drag image for WebView's selection

        Reviewed by sullivan.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): call _selectionDraggingImage
        (-[WebHTMLView _selectionDraggingImage]): new SPI for Mail, factored from previous method
        (-[WebHTMLView _selectionDraggingRect]): new SPI for Mail
        * WebView.subproj/WebHTMLViewPrivate.h:

2005-03-02  John Sullivan  <sullivan@apple.com>

        Reviewed by Adele.
        
        - fixed <rdar://problem/4023337> Safari stops loading any page (-[NSCFDictionary setObject:forKey:]: 
        attempt to insert nil key)
        
        It is very likely that the exception being hit is caused by the same problem as WebFoundation
        bug 4018486. This change makes the code robust against this kind of problem regardless.

        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate saveResource]):
        Don't call addSubresource if newly-created resource is nil (but do assert on debug builds).
        Also assert that originalURL and MIMEType are not nil.
        
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource addSubresource:]):
        Don't add nil subresource to dictionary, but do assert on debug builds.

=== Safari-401 ===

2005-03-01  John Sullivan  <sullivan@apple.com>

        Reviewed by Darin.
        
        - fixed <rdar://problem/3987482> Format>Style>Italic is not enabled when a 
        compose window is empty (works in Blot)

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView becomeFirstResponder]):
        call _updateFontPanel here so NSFontManager knows the right font for the menu
        items and the font panel

2005-03-01  David Harrison  <harrison@apple.com>

        Reviewed by Chris.
        
        <rdar://problem/3915560> Mail would like an SPI to enable "smart" text paste/drop

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _smartDeleteRangeForProposedRange:]):
        (-[WebHTMLView _smartInsertForString:replacingRange:beforeString:afterString:]):
        New.

2005-02-28  John Sullivan  <sullivan@apple.com>

        Reviewed by Ken.
        
        - WebKit part of fix for <rdar://problem/4023490> REGRESSION (125-185): Tabbing through links 
        on frameset page gets stuck at end (tivofaq.com)
        
        This tab-to-links stuff has been in shaky condition ever since AppKit futzed with
        tabbing behavior in Tiger to add support for including the toolbar in the key loop.
        I made some changes months ago to compensate for that, but some cases, such as this
        one, still weren't fixed.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge _nextKeyViewOutsideWebFrameViewsWithValidityCheck:]):
        new bottleneck method, extracted from nextKeyViewOutsideWebFrameViews; handles
        nextKeyView or nextValidKeyView depending on parameter.
        (-[WebBridge nextKeyViewOutsideWebFrameViews]):
        now calls extracted method
        (-[WebBridge nextValidKeyViewOutsideWebFrameViews]):
        new method, calls new bottleneck method
        
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView nextValidKeyView]):
        when we're stuck at the end of a nextKeyView chain inside a nexted frame, use
        nextValidKeyViewOutsideWebFrameViews. Make sure we don't end up looking inside
        the web frame views while doing this.

2005-02-25  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed <rdar://problem/4025088> window onblur and onfocus don't fire when text field has focus

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView updateFocusState]): Renamed from updateFocusDisplay. Added call to setWindowHasFocus: method.
        (-[WebHTMLView viewDidMoveToWindow]): Call method by new name.
        (-[WebHTMLView windowDidBecomeKey:]): Ditto.
        (-[WebHTMLView windowDidResignKey:]): Ditto.
        (-[WebHTMLView becomeFirstResponder]): Ditto.
        (-[WebHTMLView resignFirstResponder]): Ditto.

=== Safari-400 ===

2005-02-25  Richard Williamson   <rjw@apple.com>

	Fixed <rdar://problem/4000962> 8A375: Help Viewer displays voiced sound and semi-voiced characters strangely (characters don't seem to be composed)

	Added special case for voiced marks.

        Reviewed by John.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (widthForNextCharacter):

2005-02-25  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed <rdar://problem/4019823> Seed: Control-Y doesn't work

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]): Call _handleKillRing
        after setting the selection, since it uses the selection to get the text.
        (-[WebHTMLView _insertText:selectInsertedText:]): Check for empty string to avoid an assertion
        on the other side of the bridge when you yank the empty string.

2005-02-24  Richard Williamson   <rjw@apple.com>

	Fixed <rdar://problem/3382926> Bidi neutrals at RTL/LTR boundaries not handled correctly.

	If directionality is specified use that as initial directionality,
	rather than neutral directionality.	

        Reviewed by Hyatt.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (widthForNextCharacter):

2005-02-24  Adele Amchan  <adele@apple.com>

        Reviewed by Chris.
       
        Fix for <rdar://problem/4023393> Safari crashed in khtml::RenderObject::repaintAfterLayoutIfNeeded(QRect const&, QRect const&)

        We were crashing after hitting PageDown when viewing a pdf because 
        WebKit was calling over to WebCore to scroll overflow areas.
        Since this only needs to be done if we're dealing with a WebHTMLView, 
        I added a wrapper function to check the documentView before calling
        over to WebCore.

        * WebView.subproj/WebFrameView.m:
        (-[WebFrameView _scrollOverflowInDirection:granularity:]): added wrapper function that checks if documentView is a WebHTMLView 
        (-[WebFrameView scrollToBeginningOfDocument:]): uses new wrapper function now
        (-[WebFrameView scrollToEndOfDocument:]): uses new wrapper function now
        (-[WebFrameView _pageVertically:]): uses new wrapper function now
        (-[WebFrameView _pageHorizontally:]): uses new wrapper function now
        (-[WebFrameView _scrollLineVertically:]): uses new wrapper function now
        (-[WebFrameView _scrollLineHorizontally:]): uses new wrapper function now

2005-02-24  Richard Williamson   <rjw@apple.com>

	Fixed <rdar://problem/3985889> REGRESSION (125-180): setting <img> src to GIF that already animated does not animate; just shows final frame
	
        Reviewed by Hyatt.

        * WebCoreSupport.subproj/WebImageData.h:
        * WebCoreSupport.subproj/WebImageData.m:
        (-[WebImageData resetAnimation]):
        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer resetAnimation]):
        (-[WebInternalImage resetAnimation]):
        (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):

2005-02-24  Kevin Decker  <kdecker@apple.com>

        Reviewed by John.

	Fixed <rdar://problem/3962401> Don't load multipart/x-mixed-replace content to prevent memory leak

	Since we're not going to fix <rdar://problem/3087535> for Tiger, we should not load multipart/x-mixed-replace content.  Pages with such content contain what is essentially an infinite load and therefore may leak.

        * WebView.subproj/WebMainResourceClient.m: 
        (-[WebMainResourceClient connection:didReceiveResponse:]):  Disabled loading of multipart/x-mixed-replace content until we fully implement server side push. 
    	 * WebCoreSupport.subproj/WebSubresourceClient.m: 
        (-[WebSubresourceClient didReceiveResponse:]): Ditto. Same exact thing for sub resources. 


2005-02-23  John Sullivan  <sullivan@apple.com>

        Reviewed by Ken.
        
        - fixed <rdar://problem/4021370> REGRESSION (Tiger): WebKit part of fix for 
        shift-tab on tivofaq doing the wrong thing

        * WebView.subproj/WebFrameView.m:
        (-[WebFrameView becomeFirstResponder]):
        If our previousValidKeyView is nil or self (same as nil modulo AppKit oddness),
        look out of the box and get the previousValidKeyView of our webview.

2005-02-23  Darin Adler  <darin@apple.com>

        Reviewed by Hyatt.

        - fixed <rdar://problem/4010196> REGRESSION (125-186+): 8-character timestamps in gmail wrap to 2 lines (width:8ex; font-size:80%)

        * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer xHeight]): Return the maximum
        of the "x" height and width. Comment in the code explains why in more detail.

2005-02-22  Richard Williamson   <rjw@apple.com>

	Fixed <rdar://problem/3937203> when a div adds a scrollbar (overflow:auto) we do not get regions

	Compare regions after automatice scroll regions have been
	added.

        Reviewed by Maciej.

        * WebCoreSupport.subproj/WebBridge.h:
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge dealloc]):
        (-[WebBridge _compareDashboardRegions:]):
        (-[WebBridge dashboardRegionsChanged:]):

2005-02-22  Richard Williamson   <rjw@apple.com>

	Fixed <rdar://problem/4012463> Dashboard widgets don't work with authenticating proxies

	Added new SPI for dashboard that just calls default delegate
	behavior.

        Reviewed by Maciej.

        * WebView.subproj/WebView.m:
        (-[WebView handleAuthenticationForResource:challenge:fromDataSource:]):
        * WebView.subproj/WebViewPrivate.h:

2005-02-22  Chris Blumenberg  <cblu@apple.com>

        Reviewed by mjs.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge issuePasteAndMatchStyleCommand]): support for new "PasteAndMatchStyle" exec command

=== Safari-188 ===

2005-02-21  David Harrison  <harrison@apple.com>

        Reviewed by Darin.

        <rdar://problem/3943090> REGRESSION (Mail): Spelling underline incompletely erased following certain steps

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer misspellingLineThickness]):
        (-[WebTextRenderer misspellingLinePatternWidth]):
        Replaced #defines with these methods, so others can get the same info.
        
        (-[WebTextRenderer drawLineForMisspelling:withWidth:]):
        Keep underline within originally specified bounds.
        

2005-02-21  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed <rdar://problem/4016358> don't ever display IDN URLs with characters from "possible Latin look-alike" scripts

        * Misc.subproj/WebNSURLExtras.m:
        (containsPossibleLatinLookalikes): Added.
        (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Call containsPossibleLatinLookalikes, and if true,
        don't decode the host name.

2005-02-19  Kevin Decker  <kdecker@apple.com>

        Reviewed by Chris.

	Fixed <rdar://problem/4010765> Flash player can be used to arbitrarily open popup windows without user permission
	
	Our window.open() policy is to refuse the <script>window.open(...)</script> case and allow the inline the <a href="javascript:window.open('foo')> case.  Clever advertisers at some point realized that by executing their Javascript through the Flash plugin, Safari would always treat their code as the inline case, and thus, they were able to work around our popup blocker. 

        * Plugins.subproj/WebBaseNetscapePluginView.h: Addded currentEventIsUserGesture boolean ivar. 
        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView sendEvent:]): If at any point the user clicks or presses a key from within a plugin, set the currentEventIsUserGesture flag to true. This is important to differentiate legitimate window.open() calls originating from plugins;  we still want to allow those. 
        (-[WebBaseNetscapePluginView initWithFrame:]): In our asynchronous load, pass along currentEventIsUserGesture to the PluginRequest. 
        (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): Inform WebCore if this was a user originated gesture when calling executeScript(). 
        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
        (-[WebPluginRequest initWithRequest:frameName:notifyData:sendNotification:didStartFromUserGesture:]):
        (-[WebPluginRequest isCurrentEventUserGesture]): Added. 

2005-02-18  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3945271> REGRESSION (Mail): pasted plain text should pick up typing style instead of being unstyled

        Reviewed by kocienda.

        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]): pass NO for matchStyle to replaceSelection
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:chosePlainText:]): return new chosePlainText parameter
        (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): pass chosePlainText for matchStyle to replaceSelection
        (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): ditto

2005-02-17  Richard Williamson   <rjw@apple.com>

	Removed code that should not have been checked in from
	last patch.

        * WebCoreSupport.subproj/WebTextRendererFactory.m:
        (-[WebTextRendererFactory isFontFixedPitch:]):

2005-02-17  Richard Williamson   <rjw@apple.com>

        Fixed <rdar://problem/3999467> when Osaka-Mono is specified as fixed width font, Osaka used instead

	Fixed w/o introducing a performance regression.

        Reviewed by Vicki (and earlier by Dave Harrison).

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer _computeWidthForSpace]):
        (widthForNextCharacter):
        * WebCoreSupport.subproj/WebTextRendererFactory.h:
        * WebCoreSupport.subproj/WebTextRendererFactory.m:
        (-[NSFont _web_isFakeFixedPitch]):
        (-[WebTextRendererFactory isFontFixedPitch:]):
        (-[WebTextRendererFactory fontWithFamily:traits:size:]):

2005-02-17  Richard Williamson   <rjw@apple.com>

	Fixed <rdar://problem/3959304> PDF in img tag is not rendered correctly anymore

	We were incorrectly adding image position when flipping coordinates.

        Reviewed by David Harrison.

        * WebCoreSupport.subproj/WebImageData.m:
        (-[WebImageData _PDFDrawFromRect:toRect:operation:alpha:flipped:context:]):

2005-02-17  Richard Williamson   <rjw@apple.com>

	Fixed <rdar://problem/4007262> Seed: Flight tracker scrolling moves to the left

	Added SPI for dashboard to disable wheel scrolling of the WebClipView.

        Reviewed by Ken.

        * ChangeLog:
        * WebView.subproj/WebClipView.m:
        (-[WebClipView _focusRingVisibleRect]):
        (-[WebClipView scrollWheel:]):
        * WebView.subproj/WebView.m:
        (-[WebViewPrivate init]):
        (-[WebView drawRect:]):
        (-[WebView _dashboardBehavior:]):
        * WebView.subproj/WebViewInternal.h:
        * WebView.subproj/WebViewPrivate.h:

=== Safari-187 ===

2005-02-17  Vicki Murley <vicki@apple.com>

	- roll out this change, since it causes a 1.5% performance regression

    2005-02-15  Richard Williamson   <rjw@apple.com>
        
        Fixed <rdar://problem/3999467> when Osaka-Mono is specified as fixed width font, Osaka used instead
        
        Lie about Osaka-Mono.  Treat it as fixed pitch, even though,
        strictly speaking it isn't.  (Similar to what we do with
        Courier New.)

        Reviewed by David Harrison.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer _computeWidthForSpace]):
        * WebCoreSupport.subproj/WebTextRendererFactory.h:
        * WebCoreSupport.subproj/WebTextRendererFactory.m:
        (-[NSFont _web_isFakeFixedPitch]): 
        (-[WebTextRendererFactory isFontFixedPitch:]):
        (-[WebTextRendererFactory fontWithFamily:traits:size:]):

2005-02-17  John Sullivan  <sullivan@apple.com>

        Reviewed by Ken.
        
        - fixed <rdar://problem/3997185> The Web view on .Mac Prefs caused System Prefs 
        to lockup (resolved by re-boot only)

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge nextKeyViewOutsideWebFrameViews]):
        Don't allow recursion here; assert on debug build, return nil on deployment. I
        couldn't get my machine into a state to repro this problem (and neither could the
        originator), but it's obvious from the stack crawl that this method was recursing
        when it shouldn't have.

2005-02-16  John Sullivan  <sullivan@apple.com>

        Written by Darin, reviewed by me.
        
        - WebKit part of fix for <rdar://problem/4007384> 
        FILTER: Bookmark of RSS with Japanese search word & multiple RSS pages loses filter

        * DOM.subproj/DOMPrivate.h:
        updated this file, which is a copy of the WebCore version

2005-02-16  Richard Williamson   <rjw@apple.com>

	Fixed <rdar://problem/3966973> Tiger 8A357: Binary Compatiblity: frequent Webstractor.app crashes [WebImageData _nextFrame]

	Webstractor.app was playing tricks to create thumbnails of
	pages.  This caused the 'focusView' to be incorrect during
	animated GIF frame rendering.

        Reviewed by Chris.

        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer _startOrContinueAnimationIfNecessary]):

2005-02-16  Vicki Murley  <vicki@apple.com>

        Reviewed by me, code change by Darin.

        - fixed the build on Panther

        * WebView.subproj/WebFormDataStream.m: (webSetHTTPBody):
        Added a Panther-specific code path that just loads all the data into one big
        NSData object. This means that bug 3686434 won't be fixed on SUPanWheat; we'll
        still load the file into memory before sending it to the server on Panther.

2005-02-15  Richard Williamson   <rjw@apple.com>

	Fixed <rdar://problem/3998368> Tiger8A376: WebTextRenderer assertion failure in Safari while browsing news.bbc.co.uk

	Removed use of FATAL_ALWAYS from getUncachedWidth().  It's unclear
	why we would trigger the FATAL_ALWAYS.  In the past we've seen
	the message triggered because of corrupt fonts.  Anyway, in this
	particular case, we will now return 0 for the character width,
	rather than exiting.

        Reviewed by David Harrison.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (getUncachedWidth):

2005-02-15  Richard Williamson   <rjw@apple.com>

	Fixed <rdar://problem/3999467> when Osaka-Mono is specified as fixed width font, Osaka used instead

	Lie about Osaka-Mono.  Treat it as fixed pitch, even though,
	strictly speaking it isn't.  (Similar to what we do with
	Courier New.)

        Reviewed by David Harrison.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer _computeWidthForSpace]):
        * WebCoreSupport.subproj/WebTextRendererFactory.h:
        * WebCoreSupport.subproj/WebTextRendererFactory.m:
        (-[NSFont _web_isFakeFixedPitch]):
        (-[WebTextRendererFactory isFontFixedPitch:]):
        (-[WebTextRendererFactory fontWithFamily:traits:size:]):

2005-02-14  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed <rdar://problem/3686434> Safari uses too much RAM on file upload, leading to malloc errors and crashes (HP printers)

        * WebView.subproj/WebFormDataStream.h: Added webSetHTTPBody, which creates and connects an appropriate
        stream to an NSMutableURLRequest.
        * WebView.subproj/WebFormDataStream.m: Added implementation here.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
        Use webSetHTTPBody.
        * WebCoreSupport.subproj/WebSubresourceClient.m:
        (+[WebSubresourceClient startLoadingResource:withURL:customHeaders:postData:referrer:forDataSource:]):
        Use webSetHTTPBody.
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _loadItem:withLoadType:]): Use webSetHTTPBody.
        (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): Ditto.

        * English.lproj/StringsNotToBeLocalized.txt: Updated for this change and other recent changes.

2005-02-11  Richard Williamson   <rjw@apple.com>

	Fixed <rdar://problem/4002505> 8A378: Endlessly animating gif's on http://www.entropy.ch
	
	If animated images had no loop count property we were incorrectly
	looping forver.  Note, that in the course of fixing this bug
	I found that ImageIO is incorrectly NOT reporting the loop count
	for a whole class of animated GIFs.

        Reviewed by Ken Kocienda.

        * WebCoreSupport.subproj/WebImageData.m:
        (-[WebImageData _repetitionCount]):

=== Safari-186 ===

2005-02-11  Vicki Murley  <vicki@apple.com>

        Reviewed by Darin.

	- fix deployment build on Panther
 
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView changeBaseWritingDirection:]): ifdef out NSWritingDirectionNatural
        (-[WebHTMLView toggleBaseWritingDirection:]): fix a spacing issue

2005-02-10  David Harrison  <harrison@apple.com>

        Reviewed by Richard.

        <rdar://problem/3991652> REGRESSION (Mail): Deleting entire line in reply deletes extra blank line and moves insertion point
        
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:isTypingAction:]):
        (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
        (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]):
        (-[WebHTMLView selectToMark:]):
        (-[WebHTMLView swapWithMark:]):
        (-[WebHTMLView transpose:]):
        (-[WebHTMLView _selectMarkedText]):
        (-[WebHTMLView _selectRangeInMarkedText:]):
        Adopt new default affinity of NSSelectionAffinityDownstream as of <rdar://problem/3937447>.
        
2005-02-10  Darin Adler  <darin@apple.com>

        Reviewed by Harrison.

        - fixed <rdar://problem/4002084> Setting ResourceLoadDelegate to nil can cause a crash

        * WebView.subproj/WebView.m: (-[WebView _cacheResourceLoadDelegateImplementations]):
        Set booleans to either YES or NO, rather than setting them only in the YES case.

2005-02-10  Darin Adler  <darin@apple.com>

        Reviewed by Harrison.

        - fixed <rdar://problem/3991225> Format->Style->Underline menu item does not get checked when selected text is underlined

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView validateUserInterfaceItem:]): Added tons of additional cases in here for all the
        "action" style methods in this class that don't always want to be valid. For the ones where state
        makes sense, added the state-checking code too for the menu item case.
        (-[WebHTMLView ignoreSpelling:]): Removed unnecessary "editable text only" check since this command
        would work fine on a non-editable selection.
        (-[WebHTMLView swapWithMark:]): Ditto.
        (-[WebHTMLView changeBaseWritingDirection:]): Added. Like toggle, but based on the sender's tag.

2005-02-08  Darin Adler  <darin@apple.com>

        "Reviewed" by Richard (he told me the file was obsolete).

        - got rid of an obsolete file

        * Plugins.subproj/npsap.h: Removed.
        * copy-webcore-files-to-webkit: Removed npsap.h.

2005-02-09  Richard Williamson   <rjw@apple.com>

	Fixed <rdar://problem/4000073> non-screen font error on www.worldofwarcraft.com

        Reviewed by John Sullivan.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer _smallCapsFont]):

=== Safari-185 ===

2005-02-07  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3993354> Safari claims to put RTFD on the pasteboard, but doesn't, in some cases

        Reviewed by john.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _stripAttachmentCharactersFromAttributedString:]): moved
        (-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]): take cachedAttributedString parameter in case the attributed string was gotten already
        (-[WebHTMLView _writeSelectionToPasteboard:]): omit RTFD from the types list when there are no attachments

2005-02-07  David Harrison  <harrison@apple.com>

        Reviewed by Ken.

        <rdar://problem/3990693> REGRESSION (8A373): ctrl-k now deletes just one character instead of line
        
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]):
        Set the selection so that deleteKeyPressedWithSmartDelete knows what to delete.

2005-02-06  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed <rdar://problem/3963166> PDFView SPI print method is being deprecated, moving to PDFDocument; please update WebKit

        * WebView.subproj/WebPDFView.m: (-[WebPDFView printOperationWithPrintInfo:]): Target the document instead of the view.

        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes and also moved one translation to be a file-specific
        item rather than a file-independent one.

2005-02-05  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3991974> REGRESSION: www.jabra.com world location screen does not work

        Reviewed by hyatt.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]): use the baseURL from the bridge rather than from the response

2005-02-04  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3802781> rtf->html pasteboard conversion using xhtml

        Reviewed by kocienda.

        * WebView.subproj/WebHTMLView.m:
        (+[WebHTMLView _excludedElementsForAttributedStringConversion]): new
        (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): call _excludedElementsForAttributedStringConversion

2005-02-04  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3832973> copy text from PowerPoint, paste into Blot (or presumably Mail) and get a single missing image icon

        Reviewed by john.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): prefer RTF and RTFD over images just as NSTextView does

2005-02-03  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3555137> REGRESSION (125-173): Flash animation can erase parts of chrome (bookmarks bar & tab bar)

	convertRect:toView: returns incorrect results inside of viewWillMoveToWindow: with a nil window. Workaround this by catching this case.

        Reviewed by darin.

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView superviewsHaveSuperviews]): new
        (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): clip out the plug-in view when superviewsHaveSuperviews returns NO

2005-02-03  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3893513> Sun iPlanet app: when saving to a file it brings up a window with the thing to be saved instead

        Reviewed by adele.

        * WebView.subproj/WebTextView.m:
        (+[WebTextView unsupportedTextMIMETypes]): added "text/ldif" to the list of MIME types that our text view doesn't handle

=== Safari-183 ===

2005-02-03  Chris Blumenberg  <cblu@apple.com>

        * English.lproj/StringsNotToBeLocalized.txt: updated

2005-02-03  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3989611> Evite style "add vCalendar to calendar" do not work

        Reviewed by adele.

        * WebView.subproj/WebTextView.m:
        (+[WebTextView unsupportedTextMIMETypes]): added "text/x-vcalendar" to the list of MIME types our text view doesn't handle

2005-02-03  Vicki Murley  <vicki@apple.com>

        Reviewed by Darin.

	- fix deployment build breakage on Panther
 
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView toggleBaseWritingDirection:]):

2005-02-02  John Sullivan  <sullivan@apple.com>

        Reviewed by Chris.
        
        - WebKit part of fix for <rdar://problem/3980651> REGRESSION (125-180): Huge number of pages printed from certain page, 
        iFrame involved
        
        This also fixes the problems with printing from GMail, yay!

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
        Don't adjust margins for header/footer here, because this is called for each subframe.
        (-[WebHTMLView knowsPageRange:]):
        Do adjust margins for header/footer here (analogous to WebTextView and WebImageView).
        Also, round the page height to an integer here (noticed in passing).

2005-02-02  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3986546> Cut, delete, and paste menu items are active when a image is opened in window

        Reviewed by john.

        * WebView.subproj/WebView.m:
        (-[WebView _responderValidateUserInterfaceItem:]): new, has the responder validate the item 
        (-[WebView validateUserInterfaceItem:]): call VALIDATE for each repsonder selector using FOR_EACH_RESPONDER_SELECTOR macro
        (-[WebView _performResponderOperation:with:]): call factored out method _responderForResponderOperations
        (-[WebView _responderForResponderOperations]): new, code from _performResponderOperation:with:

2005-02-02  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3983628> control-click on WebView is not selecting the word under the cursor (Mail, non-editable WebView)

        Reviewed by rjw.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge selectWordBeforeMenuEvent]): new
        * WebView.subproj/WebView.m:
        (-[WebView _selectWordBeforeMenuEvent]): new SPI
        (-[WebView _setSelectWordBeforeMenuEvent:]): new SPI
        * WebView.subproj/WebViewInternal.h:
        * WebView.subproj/WebViewPrivate.h:

2005-02-02  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3986013> Assertion failure going back after page load error (no apparent problem in nondebug build)

        Reviewed by rjw.

        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _setPrimaryLoadComplete:]): don't set the data source data when the main client is nil

2005-02-02  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        Fix for this bug:
        
        <rdar://problem/3823109> WebKit should support -toggleBaseWritingDirection: (bidi editing support)

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _applyParagraphStyleToSelection:withUndoAction:]): New function that calls through to
        new feature that allows callers to force all properties in a style to be applied as block styles.
        (-[WebHTMLView _alignSelectionUsingCSSValue:withUndoAction:]): Removed FIXME comment for something that has been fixed.
        (-[WebHTMLView toggleBaseWritingDirection:]): Implemented.

2005-02-01  Richard Williamson   <rjw@apple.com>

	Fixed <rdar://problem/3977727> WebKit should use new SPI to support faster GIF rendering

	Note:  This REQUIRES build >= 3A362 when building on Tiger.

        Reviewed by John.

        * WebCoreSupport.subproj/WebImageData.m:
        (-[WebImageData _imageSourceOptions]):

=== Safari-182 ===

2005-02-01  Richard Williamson   <rjw@apple.com>

	Added new SPI for <rdar://problem/3967063> need spi on WebView to turn of lcd text for Dashboard

        Reviewed by Chris.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (_drawGlyphs):
        * WebView.subproj/WebView.m:
        (-[WebView drawRect:]):
        (-[WebView _dashboardBehavior:]):
        (+[WebView _setShouldUseFontSmoothing:]):
        (+[WebView _shouldUseFontSmoothing]):
        * WebView.subproj/WebViewInternal.h:
        * WebView.subproj/WebViewPrivate.h:

2005-01-31  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3949806> REGRESSION: Source window fails to refresh correctly on reload

	The data method was being called on WebDataSource before the data was set. This fix makes WebDataSource set the data before releasing the main client instead of waiting for the main client to set it when it is dealloced.

        Reviewed by darin.

        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _setData:]): moved within file
        (-[WebDataSource _setPrimaryLoadComplete:]): call _setData: with the data from the main client before letting go of the main client
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient releaseResources]): removed call to _setData: since the data source may need the data before releaseResources is called

2005-01-31  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3946285> Seed: Safari crashed by selecting all at internet-moebel.com

        Reviewed by john.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _hitViewForEvent:]): new, factored hit test hack to this method
        (-[WebHTMLView _updateMouseoverWithEvent:): call _hitViewForEvent:
        (-[WebHTMLView acceptsFirstMouse:]): call _setMouseDownEvent: and _isSelectionEvent: on the hit HTMLView or else when it's asked to drag it will assert
        (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): ditto

2005-01-31  David Harrison  <harrison@apple.com>

        Reviewed by Darin.

        <rdar://problem/3961239> AX Setting AXFocused on AXScrollArea of AXWebArea will cause keyboard selection change

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView maintainsInactiveSelection]):
        Keep the selection when the new first respomder is our own scrollview, in both editable and non-editaqble content.

2005-01-31  Jens Alfke  <jens@apple.com>

        Reviewed by John.

	- Fixed <rdar://problem/3903199> REGRESSION: Large background patterns slide around while loading

        * WebCoreSupport.subproj/WebImageData.m:
        (drawPattern):
        (-[WebImageData tileInRect:fromPoint:context:]):

2005-01-30  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed <rdar://problem/3965265> Safari displays HTML as source when default encoding is Hebrew (due to direction overrides added by encoding converter)

        * WebView.subproj/WebPreferencesPrivate.h: Added _systemCFStringEncoding, and changed
        _setInitialDefaultTextEncodingToSystemEncoding to be a class method.
        * WebView.subproj/WebPreferences.m:
        (+[WebPreferences _systemCFStringEncoding]): Added. New SPI to be used by Safari. Broken out of
        _setInitialDefaultTextEncodingToSystemEncoding, but also added cases for MacArabic and MacHebrew.
        (+[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]): Refactor to use _systemCFStringEncoding.

2005-01-28  Jens Alfke  <jens@apple.com>

        Reviewed by Richard.

	<rdar://problem/3727680> printing some page with WebKit generates a PDF with a 1x1 image with soft mask (causes Acrobat to hang during print spooling)

	Detect 1x1 images, extract and cache color of single pixel, reduce draw and tile operations to a color fill (or to a no-op if the pixel is clear.)

        * WebCoreSupport.subproj/WebImageData.h:
        * WebCoreSupport.subproj/WebImageData.m:
        (-[WebImageData _invalidateImages]):
        (-[WebImageData _checkSolidColor:]):
        (-[WebImageData _cacheImages:allImages:]):
        (-[WebImageData _fillSolidColorInRect:compositeOperation:context:]):
        (-[WebImageData tileInRect:fromPoint:context:]):

2005-01-28  David Harrison  <harrison@apple.com>

        Reviewed by Darin.

        <rdar://problem/3584942> AX: Safari Accessibility parent-child mismatch

        Use AppKit SPI _accessibilityParentForSubview to return KWQAccObject parent of AppKit AX object.
        
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _accessibilityParentForSubview:]):
        New.

2005-01-28  Chris Blumenberg  <cblu@apple.com>

	WebKit side of: <rdar://problem/3951283> can view pages from the back/forward cache that should be disallowed by Parental Controls

        Reviewed by john.

        * WebView.subproj/WebDefaultPolicyDelegate.m:
        (-[WebDefaultPolicyDelegate webView:shouldGoToHistoryItem:]): new private delegate method
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _goToItem:withLoadType:]): call new delegate method
        * WebView.subproj/WebPolicyDelegatePrivate.h:

2005-01-26  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin, Hyatt and Ken.

	<rdar://problem/3790449> REGRESSION (Mail): underline behavior is flaky because of how CSS handles text-decoration

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _styleFromFontAttributes:]): Use new -khtml-text-decorations-in-effect
	property
        (-[WebHTMLView _styleForAttributeChange:]): likewise
        (-[WebHTMLView underline:]): likewise

2005-01-27  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Maciej

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _handleKillRing:prepend:]): New helper function. Code factored out from 
         _deleteRange:killRing:prepend:smartDeleteOK:isTypingAction:.
        (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:isTypingAction:]): No longer takes 
        unused preflight argument. Now takes new isTypingAction argument. Uses isTypingAction to
        determine which flavor of delete command to call.
        (-[WebHTMLView _deleteSelection]): No longer passes unused preflight argument. Now passes new isTypingAction argument.
        (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]): Rearranged code to call
        correct flavor of delete command, based on whether typing should be preserved. Some other cleanups.
        (-[WebHTMLView deleteForward:]): Add _isEditable check.
        (-[WebHTMLView deleteBackward:]): Now calls _deleteWithDirection instead of having unique behavior different 
        from forward delete.
        (-[WebHTMLView deleteWordForward:]): Add new isTypingAction flag to _deleteWithDirection call.
        (-[WebHTMLView deleteWordBackward:]): Ditto.
        (-[WebHTMLView deleteToBeginningOfLine:]): Ditto.
        (-[WebHTMLView deleteToEndOfLine:]): Ditto.
        (-[WebHTMLView deleteToBeginningOfParagraph:]): Ditto.
        (-[WebHTMLView deleteToEndOfParagraph:]): Ditto.
        (-[WebHTMLView deleteToMark:]): Ditto.

=== Safari-181 ===

2005-01-27  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3973272> REGRESSION: Safari uses QT plugin to display PNG images

        Reviewed by john.

        * Plugins.subproj/WebBasePluginPackage.m: use renamed QT bundle ID

2005-01-26  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed <rdar://problem/3829517> WebView still draws white when setDrawsBackground set to NO and no content loaded yet

        * WebView.subproj/WebFrameView.m: (-[WebFrameView drawRect:]): Check drawsBackground, and don't
        draw the white "no document" background if it's NO. This fixes things for frames with no document.
        * WebView.subproj/WebImageView.m: (-[WebImageView drawRect:]): Same as above. This fixes things
        for frames with just an image.
        * WebView.subproj/WebFrame.m: (-[WebFrame _updateDrawsBackground]): Call setDrawsBackground: on the
        document view if it implements it. This fixes things for frames with plain text.

2005-01-25  John Sullivan  <sullivan@apple.com>

        Reviewed by Chris.
        
        - WebKit part of fix for: <rdar://problem/3970670> Text context menu 
          in WebKit needs "Look Up in Dictionary" item

        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (localizedMenuTitleFromAppKit):
        return English string in the case where AppKit bundle is found but doesn't
        contain the expected string. This case will be hit by people testing with
        an older AppKit.
        (-[WebDefaultUIDelegate menuItemWithTag:]):
        create Look Up in Dictionary item
        (-[WebDefaultUIDelegate contextMenuItemsForElement:]):
        add Look Up in Dictionary item and separator
        (-[WebDefaultUIDelegate editingContextMenuItemsForElement:]):
        ditto

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
        new method, handles bringing up the Dictionary window. Includes FIXMEs
        for a couple of the known loose ends.
        (-[WebHTMLView validateUserInterfaceItem:]):
        handle Look Up in Dictionary item like the other new items
        
        * WebView.subproj/WebUIDelegatePrivate.h:
        added SPI constant for Look Up in Dictionary menu item

2005-01-24  Maciej Stachowiak  <mjs@apple.com>

        Fixed Panther build (missing ifdef)

        * WebView.subproj/WebDefaultContextMenuDelegate.m:

2005-01-24  John Sullivan  <sullivan@apple.com>

        Reviewed by Darin.
        
        - WebKit part of fix for <rdar://problem/3960231> Text context menu in WebKit needs Spotlight and Google items
        
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (localizedMenuTitleFromAppKit):
        new function, gets localized string from AppKit so we can avoid adding localized
        strings to WebKit at this late date in Tiger. Returns the non-localized English
        string if we can't find the localized string in AppKit.
        (-[WebDefaultUIDelegate menuItemWithTag:]):
        handle the two new menu items by tag name
        (-[WebDefaultUIDelegate contextMenuItemsForElement:]):
        add menu items for Search in Google and Search in Spotlight to selected-text menu item
        for the noneditable case
        (-[WebDefaultUIDelegate editingContextMenuItemsForElement:]):
        add menu items for Search in Google and Search in Spotlight to selected-text menu item
        for the editable case

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _searchWithGoogleFromMenu:]):
        implement this menu item action method, using same method name and implementation as NSTextView
        (-[WebHTMLView _searchWithSpotlightFromMenu:]):
        implement this menu item action method, using same basic implementation as NSTextView
        (-[WebHTMLView validateUserInterfaceItem:]):
        validate new menu items
        
        * WebView.subproj/WebUIDelegatePrivate.h:
        define new tags for new menu items

        * English.lproj/StringsNotToBeLocalized.txt:
        updated for these changes

2005-01-24  Darin Adler  <darin@apple.com>

        * WebView.subproj/WebDataSource.m: (+[WebDataSource _repTypesAllowImageTypeOmission:]):
        Do the same check as for view types, so the representation types are consistent.

2005-01-24  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed <rdar://problem/3791158> REGRESSION (Mail): copyFont: and pasteFont: copy and paste only the NSFont, not other attributes

        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _styleFromFontAttributes:]): Added the last
        few loose ends here: strikethrough and underline.

        - fixed <rdar://problem/3967393> add a user default that lets you turn off WebKit PDF support

        * WebView.subproj/WebFrameView.m: (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
        Leave the PDF-handling classes out of the dictionary if the secret default is set.

        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.

2005-01-20  Darin Adler  <darin@apple.com>

        Reviewed by Kristin Forster.

        - fixed <rdar://problem/3964972> update _initWithCGSEvent:eventRef: call in mouse moved workaround (breaks cursors in Carbon WebKit applications)

        * Carbon.subproj/HIWebView.m: (MouseMoved): Instead of munging the event record's window number directly
        before calling _initWithCGSEvent, on Tiger we call _eventRelativeToWindow on the event after creating it.
        Also added a check so that with Macromedia Contribute's workaround in place we don't do anything at all
        to the event. Tested with both Contribute and CarbonWeb.

        * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.

2005-01-20  Richard Williamson   <rjw@apple.com>

	Fixed <rdar://problem/3815672> REGRESSION (Mail): Japanese text cannot be made bold

	The AppKit's font substitution API doesn't match font traits! 
	It only find fonts that contain the appropriate glyphs.  This
	patch attempts to find the best variation within a family.

        Reviewed by Maciej.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer _substituteFontForString:families:]):

=== Safari-180 ===

2005-01-20  Ken Kocienda  <kocienda@apple.com>

        Reviewed by John

        Fix for this bug:
        
        <rdar://problem/3786659> REGRESSION (Mail): editable WebViews don't work with "size up" and "size down" NSFontManager changes

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _addToStyle:fontA:fontB:]): This is the WebKit side of the fix. Replaced unimplemented code blocks
        with FIXME's in them for make bigger and make smaller with real working code.

2005-01-19  David Hyatt  <hyatt@apple.com>

	Fix for 3513067, spaces being lost when RTL text is rendered.  Make sure not to allow hangers or spaces
	in the margin.
	
        Reviewed by john
	
        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer _createATSUTextLayoutForRun:style:]):

2005-01-19  Darin Adler <darin@apple.com>

        Reviewed by vicki

	- fixed <rdar://problem/3962559> stopAnimationsInView leaks after cvs-base
 
        * WebCoreSupport.subproj/WebImageData.m: (+[WebImageData stopAnimationsInView:]): add a release

2005-01-19  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3961809> plug-in code attempts to load empty URL

        Reviewed by john.

        * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
        (-[WebNetscapePluginEmbeddedView didStart]): don't start load if URL is empty

2005-01-17  Darin Adler  <darin@apple.com>

        * DOM.subproj/DOMPrivate.h: Check in generated file.

2005-01-17  Darin Adler  <darin@apple.com>

        Reviewed by John and Richard.

        - fixed <rdar://problem/3907453> printing a multi-page PDF document from Safari doesn't produce correct output

        * WebView.subproj/WebFrameViewPrivate.h: Added.
        * WebView.subproj/WebFrameView.m:
        (-[WebFrameView canPrintHeadersAndFooters]): Added. Returnes NO for documents that can't print headers or footers,
        and delegates to the document view to answer the question. Defaults to NO, since only a view that actively does
        the work is compatible with our header and footer code.
        (-[WebFrameView printOperationWithPrintInfo:]): Added. Returns an NSPrintOperation set up for printing. The reason
        we return this rather than an NSView is that in the PDFView case, the print info is changed around before creating
        the NSPrintOperation, and also the PDFKit SPI works this way.

        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView canPrintHeadersAndFooters]): Added. Returns YES.
        * WebView.subproj/WebImageView.m: (-[WebImageView canPrintHeadersAndFooters]): Ditto.
        * WebView.subproj/WebTextView.m: (-[WebTextView canPrintHeadersAndFooters]): Ditto.

        * WebView.subproj/WebPDFView.m:
        (-[WebPDFView canPrintHeadersAndFooters]): Added. Returns NO.
        (-[WebPDFView printOperationWithPrintInfo:]): Added. Calls getPrintOperationForPrintInfo: autoRotate:YES on the PDFView.

        * WebKit.pbproj/project.pbxproj: Added WebFrameViewPrivate.h as a new private header.

2005-01-13  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3932107> Safari does not load QT Cocoa plug-in if the WebPluginMIMETypes key is not in the info.plist

	Fixing this bug required that we allow WebKit plug-ins (as well as Netscape plug-ins) support BP_CreatePluginMIMETypesPreferences
	which allows plug-ins create an auxiliary MIME types file.

        Reviewed by adele.

        * Plugins.subproj/WebBasePluginPackage.h:
        * Plugins.subproj/WebBasePluginPackage.m:
        (+[WebBasePluginPackage preferredLocalizationName]): moved from WebNetscapePluginPackage
        (-[WebBasePluginPackage pListForPath:createFile:]): ditto
        (-[WebBasePluginPackage getPluginInfoFromPLists]): ditto
        (-[WebBasePluginPackage isLoaded]): return isLoaded ivar
        (-[WebBasePluginPackage load]): if loaded, get BP_CreatePluginMIMETypesPreferences symbol
        * Plugins.subproj/WebNetscapePluginPackage.h:
        * Plugins.subproj/WebNetscapePluginPackage.m:
        (-[WebNetscapePluginPackage load]): call super when done so BP_CreatePluginMIMETypesPreferences can be initialized
        * Plugins.subproj/WebPluginPackage.m:
        (-[WebPluginPackage initWithPath:]): call getPluginInfoFromPLists
        (-[WebPluginPackage load]): call super when done so BP_CreatePluginMIMETypesPreferences can be initialized

2005-01-13  Richard Williamson   <rjw@apple.com>

	Fixed <rdar://problem/3952809> WebJavaPlugIn.h comments need method name corrected (webPlugInCallJava)

        Reviewed by Maciej.

        * Plugins.subproj/WebJavaPlugIn.h:

=== Safari-179 ===

2005-01-13  Vicki Murley <vicki@apple.com>

        Reviewed by Adele.

        - fix <rdar://problem/3946836> Safari about box lists 2004 instead of 2005

        * WebKit.pbproj/project.pbxproj: bump "2004" to "2005"

2005-01-13  Richard Williamson   <rjw@apple.com>

	Fixed <rdar://problem/3951911> REGRESSION: Animated GIF images with loop counts no longer update

	Draw last image after animation loop terminates.  (We
	were drawing the image at index+1, which doesn't exist!)

        Reviewed by Darin.

        * WebCoreSupport.subproj/WebImageData.m:
        (-[WebImageData _nextFrame:]):

2005-01-13  Richard Williamson   <rjw@apple.com>

	Fixed <rdar://problem/3952084> REGRESSION: Links at projectseven.com now draw and update incorrectly during hover

	Turn off use of new CGContextStrokeLineSegments API.  We should
	turn back on when 3952944 is fixed.

        Reviewed by Darin.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]):

2005-01-13  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3937663> repro assertion failure and crash dragging image that has PDF source

        Reviewed by adele.

        * Misc.subproj/WebNSViewExtras.m:
        (-[NSView _web_dragImage:rect:event:pasteboard:source:offset:]): if [WebImageRenderer image] returns nil, fallback to code that uses a file icon as the drag image
        * WebCoreSupport.subproj/WebImageRendererFactory.m:
        (-[WebImageRendererFactory supportedMIMETypes]): removed code that omits PDF and PostScript from the list since this omission is only needed in WebImageView
        * WebView.subproj/WebImageView.m:
        (+[WebImageView supportedImageMIMETypes]): added code that omits PDF and PostScript since we don't want WebImageView to render these types

2005-01-10  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

	<rdar://problem/3758033> REGRESSION (Mail): Support attributes in marked text (International input)
        
	* WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]): Changed to support
	underline thickness. Also added a bit of a hack here to move thickness 2 underlines down by
	.5 pixels, since the rendering engine can't give a fractional pixel offset.
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView validAttributesForMarkedText]): Support underline, underline color and marked
	clause attributes. Others that NSText supports are unimplemented for now.
        (-[WebHTMLView firstRectForCharacterRange:]): Remove needless logging.
        (-[WebHTMLView unmarkText]): Updated for new WebCore SPI.
        (-[WebHTMLView _extractAttributes:ranges:fromAttributedString:]): New method to pull the attributes
	and ranges out of an attributed string.
        (-[WebHTMLView setMarkedText:selectedRange:]): Extract attributes and pass to WebCore.
        (-[WebHTMLView insertText:]): Add comment noting that we don't really handle attributed strings
	here.

2005-01-12  Darin Adler  <darin@apple.com>

        Reviewed by Ken.

        - fixed <rdar://problem/3848257> WebView will draw more than AppKit asks it to, so views behind won't redraw enough (transparent WebView)

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _propagateDirtyRectsToOpaqueAncestors]): As recommended by Troy Stephens, do the
        layouts here in this call, since it's before propagating the dirty rects to our ancestors.
        This fixes the bug, but we only do it if the WebView is not opaque, because otherwise we can
        optimize by only doing layouts you really need, and doing them later on is safe because we
        know we don't need to draw any of the views behind us.
        (-[WebHTMLView _layoutIfNeeded]): Added. Factored out from the method below.
        (-[WebHTMLView _web_layoutIfNeededRecursive]): Added. Like the other "layout if needed" call,
        but unconditional.
        (-[WebHTMLView _web_layoutIfNeededRecursive:testDirtyRect:]): Factored out the guts into the
        _layoutIfNeeded method above. Otherwise unchanged.
        (-[NSView _web_layoutIfNeededRecursive]): Added.

        * WebView.subproj/WebFrame.m: (-[WebFrame _updateDrawsBackground]): Call setDrawsBackground:NO
        on the scroll view when changing the frame to no longer be in "draws background" mode. This
        is needed because the frame manages the "draws background" mode of the scroll view. It won't
        have any effect if you call setDrawsBackground:NO before starting to use a WebView, but without
        it calling setDrawsBackground:NO later won't have an immediate effect (easily visible in Safari).
        This was hidden before because the HTML view was filling with transparent color, which blew away
        the fill that was done by NSScrollView.

        - fixed <rdar://problem/3921129> reproducible crash at www.funnychristmas.com in CFSet manipulation in WebImageData

        * WebCoreSupport.subproj/WebImageData.m:
        (-[WebImageData _imageSourceOptions]): Changed types so we don't need a cast.
        (+[WebImageData stopAnimationsInView:]): Instead of building a set of sets, by putting in the sets with addObject,
        build a single set using unionSet, and then iterate the objects instead of having to iterate the sets and then the
        objects in each set. The old code ended up sharing the sets with the live code, when the whole idea was to gather
        all the renderers because the process of stopping modifies the active sets.

2005-01-12  Richard Williamson   <rjw@apple.com>

	Fixed <rdar://problem/3926825> Safari ignores GIF loop count

	Get loop count from file properties, not image properties.

        Reviewed by Ken Kocienda.

        * WebCoreSupport.subproj/WebImageData.h:
        * WebCoreSupport.subproj/WebImageData.m:
        (-[WebImageData _commonTermination]):
        (-[WebImageData fileProperties]):
        (-[WebImageData _floatProperty:type:at:]):
        (-[WebImageData _floatFileProperty:type:]):
        (-[WebImageData _repetitionCount]):

2005-01-11  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3934749> assertion failure in WebBaseNetscapePluginView loading movie

        Reviewed by john.

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView start]): call canStart before asserting about the webView

2005-01-11  John Sullivan  <sullivan@apple.com>

        Reviewed by Darin.
        
        - fixed <rdar://problem/3446838> REGRESSION (Mail): text decorations don't print 
        (e.g. <strike>, underline)

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer drawLineForCharacters:yOffset:withWidth:withColor:]):
        This bottleneck routine for drawing a line was setting the linewidth to 0 when
        the graphics context was not drawing to the screen. Thus, no lines. Now links
        are underlined when printing from Safari (as well as Mail).

2005-01-11  Richard Williamson   <rjw@apple.com>

	Fixed 3949145.  CG has a much faster API for drawing lines.
	Switched over to that new API (CGContextStrokeLineSegments).

        Reviewed by John Sullivan.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer drawLineForCharacters:yOffset:withWidth:withColor:]):

2005-01-10  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3948862> REGRESSION: missing images when RTFD is pasted into editable WebView

	This problem occurred because we were creating image elements before creating corresponding image resources. The fix is to have AppKit call us back to create the resources before it creates the elements.

        Reviewed by john.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): don't deal with subresources since that's now done by the following method
        (-[WebHTMLView resourceForData:preferredFilename:]): new handler method called by AppKit

=== Safari-178 ===

2005-01-06  David Harrison  <harrison@apple.com>

        Reviewed by Dave Hyatt

        <rdar://problem/3588548> AX: tabbing does not work correctly with the screen reader and a focused link; need AXFocusedUIElement to work.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView accessibilityFocusedUIElement]):
        Implement this so that AppKit can use it from NSAccessibilityHandleFocusChanged.

2005-01-05  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3936865> REGRESSION: canvas.drawImage no longer scales properly

        Reviewed by john.

        * WebCoreSupport.subproj/WebImageData.m: use the height of the inRect instead of the fromRect when setting the origin of the context

2005-01-04  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3928329> WebKit should pass nil for "language" to checkSpellingOfString:

        Reviewed by kocienda.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _isSelectionMisspelled]): pass nil not @"" for language

2004-12-21  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

	<rdar://problem/3888931> frame naming allows malicious site to bring up a window when you click on a link in another

        Implement a security check on name frame visbility. This is the
	same rule as mozilla. You can only target frames by name if you
	are in the same window, have the same domain as the frame or an
	ancestor, or if it's a top level window have the same domain as
	the opener.
	
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _shouldAllowAccessFrom:]):
        (-[WebFrame _descendantFrameNamed:sourceFrame:]):
        (-[WebFrame findFrameNamed:]):
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebView.m:
        (-[WebView _findFrameInThisWindowNamed:sourceFrame:]):
        (-[WebView _findFrameNamed:sourceFrame:]):
        * WebView.subproj/WebViewPrivate.h:

=== Safari-177 ===

=== Safari-176 ===

2004-12-20  Richard Williamson   <rjw@apple.com>

	Add call to new API.  ImageIO deprecated some older (although
	quite new!) API.   This caused us to fail to build on 337 or later.

	Developers wanting to build on older versions of Tiger must define
	USE_DEPRECATED_IMAGESOURCE_API in WebImageData.m.

        Reviewed by Vicki.

        * WebCoreSupport.subproj/WebImageData.m:
        (-[WebImageData propertiesAtIndex:]):

2004-12-20  Richard Williamson   <rjw@apple.com>

	Don't call Tiger SPI on Panther.

        Reviewed by Vicki.

        * WebCoreSupport.subproj/WebTextRendererFactory.m:
        (+[WebTextRendererFactory createSharedFactory]):

2004-12-20  Richard Williamson   <rjw@apple.com>

	Fixed <rdar://problem/3884448> WebKit should turn on CG local font cache

	Enable mutli-tier font caching.  We should see a performance boost with this
	change.

        Reviewed by Chris.

        * WebCoreSupport.subproj/WebTextRendererFactory.m:
        (+[WebTextRendererFactory createSharedFactory]):

2004-12-20  Richard Williamson   <rjw@apple.com>

	Fix image decoding to separately decode image meta data from actual image bits.  I
	incorrectly consolidated decode of meta data and image bits resulting in a huge
	performance regression.

	Double size of WebCore cache on lower end machines.  On the PLT run on machines with
	256MB of memory, too many images were being evicted, causing a re-decode on the PLT.
	Upping the lower limit of the cache size ensure that no images are evicted (this
	goes hand-in-hand with the change to the minimum object size from 32K to 40K).

        Reviewed by Ken.

        * WebCoreSupport.subproj/WebImageData.h:
        * WebCoreSupport.subproj/WebImageData.m:
        (+[WebImageData initialize]):
        (-[WebImageData _commonTermination]):
        (-[WebImageData _invalidateImages]):
        (-[WebImageData _invalidateImageProperties]):
        (-[WebImageData imageAtIndex:]):
        (-[WebImageData propertiesAtIndex:]):
        (-[WebImageData _cacheImages:allImages:]):
        (-[WebImageData decodeData:isComplete:callback:]):
        (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]):
        * WebView.subproj/WebPreferences.m:
        (+[WebPreferences initialize]):

2004-12-20  Richard Williamson   <rjw@apple.com>

	Fixed build problem caused by change to ImageIO API.

        Reviewed by Adele.

        * WebCoreSupport.subproj/WebImageData.m:

2004-12-19  Darin Adler  <darin@apple.com>

        Reviewed by Kevin.

        - some garbage collection fixes

        * Misc.subproj/WebNSObjectExtras.h: (WebCFAutorelease): Replaced the old WebNSRetainCFRelease with this
        much-easier-to-understand function cribbed from what David Harrison did in WebCore.

        * Misc.subproj/WebKitNSStringExtras.m: (+[NSString _web_encodingForResource:]): Use CFRelease here to
        get rid of an unnecessary use of WebNSRetainCFRelease.
        * Misc.subproj/WebNSURLExtras.m:
        (+[NSURL _web_URLWithData:relativeToURL:]): Use WebCFAutorelease instead of WebNSRetainCFRelease and autorelease.
        (-[NSURL _web_URLWithLowercasedScheme]): Ditto.
        (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Use WebCFAutorelease here; the old code would not
        work correctly under GC.
        * Plugins.subproj/WebNetscapePluginPackage.m: (+[WebNetscapePluginPackage preferredLocalizationName]):
        Use WebCFAutorelease here; the old code would not work correctly under GC.

2004-12-18  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3766915> PDF content needs search to work

        Reviewed by kevin, john.

        * WebView.subproj/WebPDFView.m:
	(-[WebPDFView searchFor:direction:caseSensitive:wrap:]): implemented
        (-[WebPDFView takeFindStringFromSelection:]): new
        (-[WebPDFView jumpToSelection:]): new
        (-[WebPDFView validateUserInterfaceItem:]): new

2004-12-17  Richard Williamson   <rjw@apple.com>

	Make image decoding as lazy as possible for non threaded case; in some cases
	can avoid unnecessary decoding work.

        Reviewed by Chris.

        * WebCoreSupport.subproj/WebImageData.h:
        * WebCoreSupport.subproj/WebImageData.m:
        (-[WebImageData imageAtIndex:]):
        (-[WebImageData propertiesAtIndex:]):
        (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]):

2004-12-16  John Sullivan  <sullivan@apple.com>

        Reviewed by Chris.
        
        One of the assertions from my previous checkin fired, so
        I made this code more robust.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge _preferences]):
        new helper method, returns global preferences if webView is nil,
        otherwise returns webView's preferences
        (-[WebBridge getObjectCacheSize]):
        use new helper method, remove now-unnecessary assert
        (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]):
        ditto

2004-12-16  John Sullivan  <sullivan@apple.com>

        Reviewed by Darin.
        
        - fixed <rdar://problem/3913523> Mail needs SPI for adding tooltips to links
        - cleaned up some calls to +[WebPreferences standardPreferences] that should
          have been using -[WebView preferences]
          
        This adds a (currently SPI-only) new feature that shows the URL of the link
        under the mouse in a toolTip. I tested this in Safari, but we're adding this
        feature for Mail, and Safari won't use it (unless of course you know the
        magic defaults command)

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView start]):
        use -[WebView preferences] instead of +[WebPreferences standardPreferences]
        
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge getObjectCacheSize]):
        ditto
        (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]):
        ditto
        
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate willCacheResponse:]):
        ditto
        
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _transitionToCommitted:]):
        ditto
        (-[WebFrame _loadItem:withLoadType:]):
        ditto
        
        * WebView.subproj/WebHTMLViewInternal.h:
        private struct now keeps ivar for cached value of showsURLsInToolTips
        so it doesn't have look it up in preferences a zillion times
        
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _updateMouseoverWithEvent:]):
        if private->showsURLsInToolTips is true, set the toolTip from the URL.
        Fall back to showing the title attribute in case some element has a title
        attribute but no URL.
        (-[WebHTMLView _mayStartDragAtEventLocation:]):
        use -[WebView preferences] instead of +[WebPreferences standardPreferences]
        (-[WebHTMLView _resetCachedWebPreferences:]):
        get a fresh value for private->showsURLsInToolTips
        (-[WebHTMLView initWithFrame:]):
        call _resetCachedWebPreferences the first time, and listen for WebPreferencesChanged notifications
        (-[WebHTMLView _handleStyleKeyEquivalent:]):
        use -[WebView preferences] instead of +[WebPreferences standardPreferences]
        
        * WebView.subproj/WebPreferenceKeysPrivate.h:
        added WebKitShowsURLsInToolTipsPreferenceKey
        
        * WebView.subproj/WebPreferences.m:
        (+[WebPreferences initialize]):
        initialize WebKitShowsURLsInToolTipsPreferenceKey to 0
        (-[WebPreferences showsURLsInToolTips]):
        return WebKitShowsURLsInToolTipsPreferenceKey value
        (-[WebPreferences setShowsURLsInToolTips:]):
        set WebKitShowsURLsInToolTipsPreferenceKey value
        
        * WebView.subproj/WebPreferencesPrivate.h:
        add declarations for showsURLsInToolTips and setter
        
        * WebView.subproj/WebTextView.m:
        (-[WebTextView _preferences]):
        new helper method that gets preferences from webView if there is a webView,
        otherwise gets global preferences
        (-[WebTextView setFixedWidthFont]):
        use new helper method rather than always using global preferences
        (-[WebTextView initWithFrame:]):
        observe WebPreferencesChangedNotification instead of unnecessarily general
        NSUserDefaultsChangedNotification

2004-12-14  John Sullivan  <sullivan@apple.com>

        Reviewed by Ken.
        
        - rest of WebKit fix for <rdar://problem/3790011> undoable operations all say "Undo" 
        in the menu, no specific action names
        
        I only know of one loose end currently, which I wrote up as <rdar://problem/3920971> Edit menu 
        says "Undo Change Attributes" when it should say "Undo Set Color", from font panel

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]):
        use WebUndoActionSetColor when dragging color swatch
        (-[WebHTMLView _applyStyleToSelection:withUndoAction:]):
        new WebUndoAction parameter, passed across bridge
        (-[WebHTMLView _toggleBold]):
        use WebUndoActionSetFont
        (-[WebHTMLView _toggleItalic]):
        use WebUndoActionSetFont
        (-[WebHTMLView pasteFont:]):
        use WebUndoActionPasteFont
        (-[WebHTMLView changeFont:]):
        use WebUndoActionSetFont
        (-[WebHTMLView changeAttributes:]):
        use WebUndoActionChangeAttributes
        (-[WebHTMLView _undoActionFromColorPanelWithSelector:]):
        new method, returns WebUndoActionSetBackgroundColor or WebUndoActionSetColor
        (-[WebHTMLView _changeCSSColorUsingSelector:inRange:]):
        now calls _undoActionFromColorPanelWithSelector
        (-[WebHTMLView changeColor:]):
        use WebUndoActionSetColor
        (-[WebHTMLView _alignSelectionUsingCSSValue:withUndoAction:]):
        new WebUndoAction parameter, passed through
        (-[WebHTMLView alignCenter:]):
        use WebUndoActionCenter
        (-[WebHTMLView alignJustified:]):
        use WebUndoActionJustify
        (-[WebHTMLView alignLeft:]):
        use WebUndoActionAlignLeft
        (-[WebHTMLView alignRight:]):
        use WebUndoActionAlignRight
        (-[WebHTMLView subscript:]):
        use WebUndoActionAlignSubscript
        (-[WebHTMLView superscript:]):
        use WebUndoActionAlignSuperscript
        (-[WebHTMLView unscript:]):
        use WebUndoActionAlignUnscript
        (-[WebHTMLView underline:]):
        use WebUndoActionAlignUnderline
        
        * WebView.subproj/WebView.m:
        (-[WebView setTypingStyle:]):
        pass WebUndoActionUnspecified through as new parameter since we don't have any more specific info
        (-[WebView applyStyle:]):
        ditto

2004-12-14  Richard Williamson   <rjw@apple.com>

	Helper method to get URL of plugin view.

        Reviewed by Chris.

        * Misc.subproj/WebNSViewExtras.m:
        (-[NSView _webViewURL]):

2004-12-14  Vicki Murley <vicki@apple.com>

        Reviewed by rjw.
 
	<rdar://problem/3855573> Remove reference to "WebScriptMethods" from WebScriptObject.h comments

        * Plugins.subproj/WebPlugin.h: changed instances of "WebScriptMethods" to "WebScripting" in this
	file as well, as requested in the bug report

2004-12-13  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by John.

	<rdar://problem/3912488> Mail throws an exception after backspacing "away" inline input
        
	* WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView setMarkedText:selectedRange:]): Don't try to set a selection if
	we end up with no marked text, since that case fails and is unnecessary.

2004-12-14  John Sullivan  <sullivan@apple.com>

        Reviewed by Ken.

        - WebKit part of plumbing of fix for <rdar://problem/3790011> undoable operations all say "Undo" in the menu, 
        no specific action names

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge nameForUndoAction:]):
        renamed from setUndoActionNamePlaceholder, replaced arbitrary integers with enum values, and
        handled new "unspecified" case as a fallback

2004-12-13  Richard Williamson   <rjw@apple.com>

	Fixed <rdar://problem/3887767> LiveConnect doesn't propagate Java exceptions back to JavaScript (prevents security suite from running)

        Reviewed by John.

        * Plugins.subproj/WebJavaPlugIn.h:

2004-12-13  John Sullivan  <sullivan@apple.com>

        Reviewed by Maciej.
        
        - fixed <rdar://problem/3744583> Safari can not quit when a webpage has a login sheet 
        that can't be cancelled.
        
        The proper fix for this would be to change the class of the NSPanel in the nib file.
        But since this would require a localization change, I did a run-time hack instead.
        I'll file a bug about fixing this when we're out of localization freeze.

        * Panels.subproj/WebAuthenticationPanel.m:
        (-[WebAuthenticationPanel replacePanelWithSubclassHack]):
        new method, creates a new panel that is identical to the original one except that
        it's our subclass, and moves all the subviews of the original panel into the new one.
        (-[WebAuthenticationPanel loadNib]):
        call replacePanelWithSubclassHack
        (-[NonBlockingPanel _blocksActionWhenModal:]):
        only method of new NSPanel subclass; overrides this SPI to allow the user to quit
        when one of these panels/sheets is on-screen

2004-12-10  Richard Williamson   <rjw@apple.com>

	Fixed <rdar://problem/3898708> REGRESSION (8A314-8A317): World Clock's short hand not displayed (ImageIO problem with PDF?)
	Fixed <rdar://problem/3914012> use CG directly for pdf images not ImageIO

	Create a PDF document and draw that instead of using ImageIO to create a rasterized image.

        Reviewed by Maciej.

        * WebCoreSupport.subproj/WebImageData.h:
        * WebCoreSupport.subproj/WebImageData.m:
        (-[WebImageData setIsPDF:]):
        (-[WebImageData isPDF]):
        (-[WebImageData dealloc]):
        (-[WebImageData decodeData:isComplete:callback:]):
        (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]):
        (-[WebImageData size]):
        (-[WebImageData animate]):
        (-[WebImageData _createPDFWithData:]):
        (-[WebImageData _PDFDocumentRef]):
        (-[WebImageData _PDFDrawInContext:]):
        (-[WebImageData _PDFDrawFromRect:toRect:operation:alpha:flipped:context:]):
        * WebCoreSupport.subproj/WebImageRenderer.h:
        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer size]):
        (-[WebImageRenderer incrementalLoadWithBytes:length:complete:callback:]):
        (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
        (_createImageRef):

2004-12-10  John Sullivan  <sullivan@apple.com>

        Reviewed by Ken.
        
        - fixed <rdar://problem/3855127> Error while printing w/o sheet, then window is left in a bad state, 
        if there's no default printer set

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView beginDocument]):
        Our implementation of knowsPageRange puts the WebHTMLView into a special "printing mode". We must
        exit the "printing mode" to return to normal behavior. This is normally done in endDocument.
        However, it turns out that if there's an exception in [super beginDocument], then endDocument
        will not be called (lame-o AppKit API). So, we handle that case by catching the exception and
        exiting the "printing mode" in beginDocument when it occurs.

2004-12-09  Richard Williamson   <rjw@apple.com>

	Fixed <rdar://problem/3905789> Burn Disc image vibrates rapidly

	Restrict our support for animated images to GIF.  We used to
	use presence of more than one image in a resource to determine
	if an image should be animated.  This caused us to animate icns!
	If we ever support any other animated image formats we'll have
	to extend.

        Reviewed by Hyatt.

        * WebCoreSupport.subproj/WebImageData.h:
        * WebCoreSupport.subproj/WebImageData.m:
        (-[WebImageData shouldAnimate]):
        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer _startOrContinueAnimationIfNecessary]):

2004-12-09  Richard Williamson   <rjw@apple.com>

	Make WebPluginDatabase.h private (Dashboard needs SPI).

        * WebKit.pbproj/project.pbxproj:

=== Safari-175 ===

2004-12-09  Chris Blumenberg  <cblu@apple.com>

	Workaround for this exception being raised during download:
	[WebDownload connection:willStopBufferingData:]: selector not recognized

        Reviewed by john.

        * Misc.subproj/WebDownload.m:
        (-[WebDownload connection:willStopBufferingData:]): implement this method so no exception is raised. It is a bug in Foundation that this method is being called, but it's too late to fix Foundation since it has already been submitted this week. This workaround will prevent any problems from affecting users.

2004-12-08  Richard Williamson   <rjw@apple.com>

	Fixed <rdar://problem/3911719> REGRESSION: Images no longer scale vertically
	Account for scaling correctly when taking into account progressively
 	loaded images.

	Also added implementation of repetition count for animated GIF images.
	Also replaced strings with new constants from CFImageProperties.h

	Also fixed possible problem with -(NSSize)size implementation,
	relevant to Panther only.

        Reviewed by Chris.

        * WebCoreSupport.subproj/WebImageData.m:
        (-[WebImageData _floatProperty:type:at:]):
        (-[WebImageData _frameDurationAt:]):
        (-[WebImageData _repetitionCount]):
        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer size]):

2004-12-08  Chris Blumenberg  <cblu@apple.com>

	Removed NPN wrappers since these no longer need to be defined to make the QT plug-in work
	since 3828925 has been fixed.

        Reviewed by john.

        * Plugins.subproj/WebNetscapePluginPackage.m:
        (-[WebNetscapePluginPackage load]): use under-bar symbols since non-under-bar wrappers have been removed
        * Plugins.subproj/npapi.m: removed NPN wrappers
        * WebKit.exp: removed symbols

2004-12-08  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView drawRect:]): Work around for this bug:
        <rdar://problem/3908282> REGRESSION (Mail): No drag image dragging selected text in Blot and Mail
        The reason for the workaround is that this method is called explicitly from the code
        to generate a drag image, and at that time, getRectsBeingDrawn:count: will return a zero count.
        This code change uses the passed-in rect when the count is zero.

2004-12-07  Administrator  <cblu@apple.com>

	Support for fix for:
	<rdar://problem/3734309> Safari doesn't open folders in title bar menu with non-Roman names using Cmd+click

        Reviewed by john.

        * Misc.subproj/WebNSURLExtras.h:
        * Misc.subproj/WebNSURLExtras.m:
        (+[NSURL _web_URLWithUserTypedString:relativeToURL:]): renamed to take relativeToURL parameter
        (+[NSURL _web_URLWithUserTypedString:]): call _web_URLWithUserTypedString:relativeToURL: with nil for URL

2004-12-07  Richard Williamson   <rjw@apple.com>

	Fixed <rdar://problem/3905564> REGRESSION (Tiger); in History menu, pixel size appears but is wrong for standalone images in Safari.

        Reviewed by Chris.

        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer size]):

2004-12-07  Richard Williamson   <rjw@apple.com>

	Support threaded image decoding on machines w/ >= 2 CPUs.

        Reviewed by Maciej and Chris.

        * Misc.subproj/WebKitSystemBits.h:
        * Misc.subproj/WebKitSystemBits.m:
        (WebSystemMainMemory):
        (WebNumberOfCPUs):
        * WebCoreSupport.subproj/WebImageData.h:
        * WebCoreSupport.subproj/WebImageData.m:
        (+[WebImageData initialize]):
        (-[WebImageData init]):
        (-[WebImageData _commonTermination]):
        (-[WebImageData dealloc]):
        (-[WebImageData _invalidateImages]):
        (-[WebImageData _imageSourceOptions]):
        (-[WebImageData imageAtIndex:]):
        (-[WebImageData propertiesAtIndex:]):
        (-[WebImageData _createImages]):
        (-[WebImageData decodeData:isComplete:callback:]):
        (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]):
        (drawPattern):
        (-[WebImageData tileInRect:fromPoint:context:]):
        (-[WebImageData isNull]):
        (-[WebImageData size]):
        (-[WebImageData _frameDurationAt:]):
        (-[WebImageData _frameDuration]):
        (+[WebImageData stopAnimationsInView:]):
        (-[WebImageData addAnimatingRenderer:inView:]):
        (-[WebImageData removeAnimatingRenderer:]):
        * WebCoreSupport.subproj/WebImageDecodeItem.h: Added.
        * WebCoreSupport.subproj/WebImageDecodeItem.m: Added.
        (+[WebImageDecodeItem decodeItemWithImage:data:isComplete:callback:]):
        (-[WebImageDecodeItem initWithImage:data:isComplete:callback:]):
        (-[WebImageDecodeItem finalize]):
        (-[WebImageDecodeItem dealloc]):
        * WebCoreSupport.subproj/WebImageDecoder.h: Added.
        * WebCoreSupport.subproj/WebImageDecoder.m: Added.
        (decoderNotifications):
        (+[WebImageDecoder initialize]):
        (+[WebImageDecoder notifyMainThread]):
        (+[WebImageDecoder sharedDecoder]):
        (+[WebImageDecoder performDecodeWithImage:data:isComplete:callback:]):
        (+[WebImageDecoder imageDecodesPending]):
        (+[WebImageDecoder decodeComplete:status:]):
        (-[WebImageDecoder init]):
        (-[WebImageDecoder dealloc]):
        (-[WebImageDecoder finalize]):
        (-[WebImageDecoder removeItem]):
        (-[WebImageDecoder addItem:]):
        (-[WebImageDecoder decodeItem:]):
        (decoderThread):
        (startDecoderThread):
        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer initWithData:MIMEType:]):
        (-[WebImageRenderer initWithContentsOfFile:]):
        (-[WebImageRenderer incrementalLoadWithBytes:length:complete:callback:]):
        (-[WebInternalImage incrementalLoadWithBytes:length:complete:callback:]):
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebImageRepresentation.m:
        (-[WebImageRepresentation receivedData:withDataSource:]):
        (-[WebImageRepresentation receivedError:withDataSource:]):
        (-[WebImageRepresentation finishedLoadingWithDataSource:]):

2004-12-07  Chris Blumenberg  <cblu@apple.com>

	Fix for performance regression.

        Reviewed by kevin.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge objectLoadedFromCacheWithURL:response:data:]): construct the WebResource without copying the data

2004-12-07  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3909243> REGRESSION: large standalone images stop loading part way through

        Reviewed by kevin.

        * WebView.subproj/WebBaseResourceHandleDelegate.h:
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient addData:]): call super so it buffers the data

2004-12-06  Richard Williamson   <rjw@apple.com>

	Use the AppKit's font rendering mode.  This fixes 3905347, but we still need to track down
	and resolve why metrics have changed for Courier.  This may be caused by changes in
	AppKit for 3902394.

        Reviewed by John.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (_AppkitGetCGRenderingMode):
        (getUncachedWidth):
        (_drawGlyphs):

2004-12-06  Chris Blumenberg  <cblu@apple.com>

	Forgot to commit copied header.

        * DOM.subproj/DOMPrivate.h:

2004-12-06  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3907381> NSURLConnection and WebKit buffer 2 copies of incoming data

        Reviewed by darin.

        * WebView.subproj/WebBaseResourceHandleDelegate.h:
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (+[WebBaseResourceHandleDelegate initialize]): cache check to see if Foundation supports access to its buffered data
        (-[WebBaseResourceHandleDelegate addData:]): don't buffer data if Foundation is buffering it for us
        (-[WebBaseResourceHandleDelegate saveResource]): when creating a WebResource, pass NO for copyData since we know it won't be mutated
        (-[WebBaseResourceHandleDelegate resourceData]): return the buffered data from the connection if it supports it
        (-[WebBaseResourceHandleDelegate willStopBufferingData:]): make a mutable copy of the data from NSURLConnection so we can continue buffering 
        (-[WebBaseResourceHandleDelegate willCacheResponse:]): removed optimization that used the cached response data to save the resource since that is obsolete by this change
        (-[WebBaseResourceHandleDelegate connection:willStopBufferingData:]): new callback from NSURLConnection, informs us that NSURLConnection has given up buffering
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _receivedData:]): removed buffering code since that's done by NSURLConnection and the main client
        (-[WebDataSource _setData:]): removed unnecessary cast since the resourceData ivar is now an NSData instead of NSMutableData
        (-[WebDataSource data]): return resourceData ivar, else return the resourceData from the main client
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient releaseResources]): store resourceData on the data source so it can continue to have data after the main client has gone away 
        (-[WebMainResourceClient connection:didReceiveData:lengthReceived:]):don't call [dataSource data] just to get the length of data received since [dataSource data] can now cause data to be copied
        (-[WebMainResourceClient connectionDidFinishLoading:]): ditto
        * WebView.subproj/WebResource.m:
        (-[WebResource initWithData:URL:MIMEType:textEncodingName:frameName:]): call following method with YES for copyData
        (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:copyData:]): new initializer, allows caller to choose whether or not the data is copied
        * WebView.subproj/WebResourcePrivate.h:

2004-12-06  Richard Williamson   <rjw@apple.com>

	Fixed <rdar://problem/3903749> REGRESSION (8A321): WebKit gets incorrect glyph metrics due to change in how AppKit uses CGFont

	Use CGFontRef direction when both getting font metrics and drawing
	glyphs, instead on depending on [NSFont set].

        Reviewed by John.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (getUncachedWidth):
        (_drawGlyphs):

2004-12-06  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Harrison
        
        Fix for this bug:
        
        <rdar://problem/3906930> Hitting return key in editable content inserts br elements instead of blocks

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView insertNewline:]): One-line change to call insert-block rather than insert-br method 
        on bridge.

2004-12-04  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed <rdar://problem/3846079> assertion failure in WebHTMLView(WebPrivate) removeTrackingRect at boots.com
        - fixed <rdar://problem/3857737> REGRESSION (165-166): clicking in a text field that's scrolled to the right causes it to scroll all the way left
        - fixed <rdar://problem/3861952> REGRESSION (165-166): selection is cleared when you start to scroll a frame

        * WebView.subproj/WebHTMLViewInternal.h: Added handlingMouseDown flag.
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _addTrackingRect:owner:userData:assumeInside:useTrackingNum:]): Allow passing in a
        tracking number of 0, which means no existing tracking number.
        (-[WebHTMLView _addTrackingRects:owner:userDataList:assumeInsideList:trackingNums:count:]): Ditto.
        (-[WebHTMLView removeTrackingRect:]): Allow removing a tracking number of 0, which is a no-op.
        (-[WebHTMLView _removeTrackingRects:count:]): Ditto.
        (-[WebHTMLView acceptsFirstResponder]): Changed check to use handlingMouseDown flag instead of mouseDownEvent
        field since that field is set up too early in the mouse down event handling process.
        (-[WebHTMLView mouseDown:]): Added code to set handlingMouseDown flag.

        - fixed part of <rdar://problem/3829808> Safari crashes when adding a DOM node that was removed from an XMLHTTP request result

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
        Changed code around so that it won't try to create a WebResource when the load fails.

        - moved next/previous links into private structure with the rest of WebFrame fields
          (We have a rule against putting new fields into obejcts that are part of our public API.)

        * WebView.subproj/WebFrame.h: Remove _nextSibling and _previousSibling.
        * WebView.subproj/WebFramePrivate.h: Added nextSibling and previousSibling fields to private class.
        * WebView.subproj/WebFrame.m: Got rid of some tabs in this file.
        (-[WebFrame _addChild:]): Changed code to use fields inside _private.
        (-[WebFrame _removeChild:]): Ditto.
        (-[WebFrame _nextFrameWithWrap:]): Ditto.
        (-[WebFrame _previousFrameWithWrap:]): Ditto.

2004-12-04  Chris Blumenberg  <cblu@apple.com>

	New fixes for:
	<rdar://problem/3685766> WebDataSource is missing subresources when they use cached WebCore data
	<rdar://problem/3722434> REGRESSION?: Assertion failure trying to drag image in iframe (itapema.sc.gov.br)
	<rdar://problem/3903173> REGRESSION (172-TOT): assertion failure and crash in slotAllData logging into hotmail account
	<rdar://problem/3902749> REGRESSION (Tiger): missing image symbol does not appear

        Reviewed by darin, rjw, kocienda.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge objectLoadedFromCacheWithURL:response:data:]):
        (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
        * WebCoreSupport.subproj/WebSubresourceClient.m:
        (-[WebSubresourceClient didFinishLoading]):
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _opened]):
        (-[WebFrame _internalLoadDelegate]):
        (-[WebFrame _sendResourceLoadDelegateMessagesForURL:response:length:]):
        * WebView.subproj/WebFrameInternal.h:

2004-12-04  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed remaining bit of <rdar://problem/3814237> REGRESSION (Mail): Copy/paste style does not set color in Mail compose window

        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _styleFromFontAttributes:]): When translating from
        an attribute dictionary to a CSS declaration, treat missing values according to the defaults defined
        in <AppKit/NSAttributedString.h>. Before the code was treating them as "no change", which is incorrect.

        * English.lproj/StringsNotToBeLocalized.txt: Add a string from the above change.

=== Safari-173 ===

2004-12-03  Ken Kocienda  <kocienda@apple.com>

        Reviewed by me

        Roll out some recent changes by Chris that caused a performance regression.
        Fix is in hand, but it is a little risky this close to a submission. So,
        we have decided to roll back the change with the regression and roll in
        the new code after we submit.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge objectLoadedFromCacheWithURL:response:size:]):
        (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
        * WebCoreSupport.subproj/WebSubresourceClient.m:
        (-[WebSubresourceClient didFinishLoading]):
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _opened]):
        (-[WebFrame _internalLoadDelegate]):
        * WebView.subproj/WebFrameInternal.h:

2004-12-02  Richard Williamson   <rjw@apple.com>

	Fixed <rdar://problem/3841332> REGRESSION (125.9-167u): repro crash in -[KWQPageState invalidate] involving .Mac images

	Ensure that the document is cleared when leaving a non-HTML page.  This ensures that
	the b/f cache won't incorrectly trash the previous state when restoring.

        Reviewed by John.

        * WebView.subproj/WebFrame.m:
        (-[WebFrame _setState:]):

2004-12-02  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Richard

        <rdar://problem/3748323> Problem with -[WebView editableDOMRangeForPoint:] (-isFlipped not taken into account?)
        <rdar://problem/3852590> REGRESSION (Mail): Dropped content appears in wrong place if Mail message is scrolled down

        When implementing drag and drop, moveDragCaretToPoint: and editableDOMRangeForPoint: are used in
        concert to track the mouse and determine a drop location, respectively. However, moveDragCaretToPoint:
        did a conversion of the passed-in point to the document view's coordinate space, whereas 
        editableDOMRangeForPoint: did not. Now it does.
        
        Note that I will need to coordinate with Grant to have him roll out some code in Mail that
        attempts to work around this problem (unsuccessfully), and actually manages to block the
        real fix (which needs to be in WebKit).

        * WebView.subproj/WebView.m:
        (-[WebView editableDOMRangeForPoint:]): Convert the passed-in point to the document view's coordinate space.

2004-12-02  Richard Williamson   <rjw@apple.com>

	Fixed <rdar://problem/3895810> FATAL ERROR: <WebTextRenderer: 0x9328a20> unable to initialize with font "Times-Roman 16.00 pt. S ....

	We have a hack to replace Times with Times New Roman if we fail
        to setup Times.  If we then fail to setup Times New Roman we
        don't attempt to further fallback to the system font.  Added
        that additional fallback.

        Reviewed by Ken.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (+[WebTextRenderer webFallbackFontFamily]):
        (-[WebTextRenderer initWithFont:usingPrinterFont:]):

2004-12-02  Richard Williamson   <rjw@apple.com>

	Fixed build problem on Tiger8A821.  Private macro and function
	we were using have been deprecated,

        Reviewed by Vicki.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer initWithFont:usingPrinterFont:]):

2004-12-01  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3879870> Flash Player unable to stop data stream from continuing to download by returning -1 from NPP_Write
	Also improved and cleaned-up the plug-in stream termination code.

        Reviewed by john.

        * Plugins.subproj/WebBaseNetscapePluginStream.h:
        * Plugins.subproj/WebBaseNetscapePluginStream.m:
        (+[WebBaseNetscapePluginStream reasonForError:]): return NPRES_DONE for a nil error
        (-[WebBaseNetscapePluginStream _pluginCancelledConnectionError]): new, factored out from other methods
        (-[WebBaseNetscapePluginStream errorForReason:]): new
        (-[WebBaseNetscapePluginStream dealloc]): release MIME type
        (-[WebBaseNetscapePluginStream setMIMEType:]): new
        (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]): call setMIMEType so we can use it in _pluginCancelledConnectionError, call renamed methods
        (-[WebBaseNetscapePluginStream _destroyStream]): prepended underscore, replaced some early returns with asserts as the callers are now smarter
        (-[WebBaseNetscapePluginStream _destroyStreamWithReason:]): prepended underscore, only call _destroyStream if there is an error or if the load is complete and there is no more data to be streamed
        (-[WebBaseNetscapePluginStream cancelLoadWithError:]): new, overridden by subclasses to cancel the actual NSURLConnection
        (-[WebBaseNetscapePluginStream destroyStreamWithError:]): new, calls _destroyStreamWithReason
        (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): call renamed methods
        (-[WebBaseNetscapePluginStream _deliverData]): prepended underscore, call cancelLoadAndDestroyStreamWithError if NPP_Write returns a negative number
        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView destroyStream:reason:]): call cancelLoadAndDestroyStreamWithError
        * Plugins.subproj/WebNetscapePluginRepresentation.m:
        (-[WebNetscapePluginRepresentation receivedError:withDataSource:]): call destroyStreamWithError
        (-[WebNetscapePluginRepresentation cancelLoadWithError:]): new, override method, tell the data source to stop loading
        * Plugins.subproj/WebNetscapePluginStream.m:
        (-[WebNetscapePluginStream cancelLoadWithError:]): new, override method, tell the loader to stop
        (-[WebNetscapePluginStream stop]): call cancelLoadAndDestroyStreamWithError
        (-[WebNetscapePluginConnectionDelegate isDone]): new
        (-[WebNetscapePluginConnectionDelegate didReceiveResponse:]): call cancelLoadAndDestroyStreamWithError
        (-[WebNetscapePluginConnectionDelegate didFailWithError:]): call destroyStreamWithError

2004-12-01  Kevin Decker  <kdecker@apple.com>

        Reviewed by Harrison.

	Fixed: <rdar://problem/3228878> potential performance problem in finding in large framesets

	Got rid of O(N^2) conditions in _nextSibling and _previousSibling of where we were looking up self in the parent array of frames.

        * WebView.subproj/WebFrame.h: Added two new pointers, one for the previous kid and one for the next kid
        * WebView.subproj/WebFrame.m: 
        (-[WebFrame _addChild:]): Updates the previous frame and the next frame after this child
        (-[WebFrame _removeChild:]): ditto
        (-[WebFrame _nextSibling]): just return the pointer now
        (-[WebFrame _previousSibling]): ditto

2004-11-30  Chris Blumenberg  <cblu@apple.com>

	Fixed:
	<rdar://problem/3685766> WebDataSource is missing subresources when they use cached WebCore data
	<rdar://problem/3722434> REGRESSION?: Assertion failure trying to drag image in iframe (itapema.sc.gov.br)

        Reviewed by darin.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge objectLoadedFromCacheWithURL:response:data:]): renamed to pass all data for the resource, moved delegate code to new method
        (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): call renamed method
        * WebCoreSupport.subproj/WebSubresourceClient.m:
        (-[WebSubresourceClient didFinishLoading]): call renamed method
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _opened]): call _sendResourceLoadDelegateMessagesForURL:response:length:, not objectLoadedFromCacheWithURL:response:data:
        (-[WebFrame _internalLoadDelegate]):
        (-[WebFrame _sendResourceLoadDelegateMessagesForURL:response:length:]): moved from objectLoadedFromCacheWithURL:response:data:
        * WebView.subproj/WebFrameInternal.h:

2004-11-29  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - worked around bug in Panther where NSScroller calls _destinationFloatValueForScroller: on superview
          without first checking if it's implemented

        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _destinationFloatValueForScroller:]):
        Implemented. Calls floatValue on the scroller.

        * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.

2004-11-23  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3890944> disable icon database for Dashboard

        Reviewed by kevin.

        * Misc.subproj/WebIconDatabase.h:
        * Misc.subproj/WebIconDatabase.m:
        (-[WebIconDatabase init]): don't create dictionaries if disabled
        (-[WebIconDatabase iconForURL:withSize:cache:]): return default icon if disabled
        (-[WebIconDatabase iconURLForURL:]): return nil if disabled
        (-[WebIconDatabase retainIconForURL:]): return if disabled
        (-[WebIconDatabase releaseIconForURL:]): ditto
        (-[WebIconDatabase delayDatabaseCleanup]): ditto
        (-[WebIconDatabase allowDatabaseCleanup]): ditto
        (-[WebIconDatabase _isEnabled]): new
        (-[WebIconDatabase _setIcon:forIconURL:]): assert if called when disabled, moved to own category implementation
        (-[WebIconDatabase _setHaveNoIconForIconURL:]): ditto
        (-[WebIconDatabase _setIconURL:forURL:]): ditto
        (-[WebIconDatabase _createFileDatabase]): tweak
        (-[WebIconDatabase _applicationWillTerminate:]): moved out of public code
        * Misc.subproj/WebIconDatabasePrivate.h:
        * Misc.subproj/WebIconLoader.m:
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _updateIconDatabaseWithURL:]): assert if called when icon DB is disabled
        (-[WebDataSource _loadIcon]): don't load icon if icon DB is disabled

2004-11-22  David Hyatt  <hyatt@apple.com>

	Make sure the WebCore cache grows at 512mb and at 1024mb exactly.
	
        Reviewed by mjs

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge getObjectCacheSize]):

2004-11-22  Richard Williamson   <rjw@apple.com>

	Fixed <rdar://problem/3891737> WebPreferences do not work if they are set before set on the WebView

	John found this problem and suggested the fix.

        Reviewed by John Louch.

        * WebView.subproj/WebView.m:
        (-[WebView setPreferences:]):

2004-11-22  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Harrison

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge canPaste]): Call WebView _canPaste.
        * WebView.subproj/WebView.m:
        (-[WebView _canPaste]): Try to forward to document view's implementation. Only WebHTMLView
        answers right now. Returns NO otherwise.
        * WebView.subproj/WebViewInternal.h: Add _canPaste method to WebView.

2004-11-22  Maciej Stachowiak  <mjs@apple.com>

	Back  out the window closing fix, it seems to be causing crashes.

        * WebView.subproj/WebFrame.m:
        (-[WebFrame _detachFromParent]):

2004-11-20  Maciej Stachowiak  <mjs@apple.com>
 
        Reviewed by John.
 
 	<rdar://problem/3710101> _web_userVisibleString makes URL autocomplete roughly 2x slower
         
 	* Misc.subproj/WebNSURLExtras.h:
        * Misc.subproj/WebNSURLExtras.m:
        (-[NSString _web_isUserVisibleURL]): New SPI to check if a URL
 	string is already in user-visible form (i.e. converting it to an
 	NSURL and then back via _web_userVisibleString would not change
 	anything).
 
2004-11-19  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by John.

	<rdar://problem/3190977> closing window with many tabs in it can be quite slow
        
	* WebView.subproj/WebFrame.m:
        (-[WebFrame _detachFromParent]): autorelease bridge instead of releasing it,
	to make window and tab closing more responsive - this way the deallocation happens
	after the windoow or tab appears to close.

=== Safari-172 ===

2004-11-19  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3880387> REGRESSION: www.shockplay.com site gives "Unexpected server response"

        Reviewed by mjs.

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[NSData _web_locationAfterFirstBlankLine]): support both formats ("\r\n\n" and "\r\n\r\n") for separating header data from body data because Shockwave still sends the prior format

2004-11-19  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Harrison

        Fix for this bug:

        <rdar://problem/3655241> setTypingStyle: does not set the real typing style, and typingStyle does not return it

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge respondToChangedContents]): No longer call through to WebKit to set the typing style. The call
        was part of the misguided use of the setTypingStyle: and typingStyle as a cache of what was stored on
        the WebCore side.
        (-[WebBridge respondToChangedSelection]): Ditto.
        * WebView.subproj/WebView.m:
        (-[WebViewPrivate dealloc]): Object no longer has typingStyle ivar.
        (-[WebView setTypingStyle:]): Call over the bridge to set typing style.
        (-[WebView typingStyle]): Call over the bridge to retrieve typing style.
        * WebView.subproj/WebViewInternal.h: Object no longer has typingStyle ivar.

2004-11-18  John Sullivan  <sullivan@apple.com>

        Reviewed by Darin.
        
        - fixed <rdar://problem/3886042> should save history file as binary XML so serialization, 
        parsing, reading and writing is faster

        * History.subproj/WebHistory.m:
        (-[WebHistoryPrivate _saveHistoryGuts:URL:error:]):
        convert dictionary to binary data before saving

2004-11-18  Chris Blumenberg  <cblu@apple.com>

        * WebView.subproj/WebHTMLRepresentation.m:
        (-[WebHTMLRepresentation currentForm]): removed stray ";"

2004-11-18  Chris Blumenberg  <cblu@apple.com>

	Fixed development build failure.

        * Misc.subproj/WebIconDatabase.m:
        (+[WebIconDatabase sharedIconDatabase]): call LOG not Log

2004-11-18  Chris Blumenberg  <cblu@apple.com>

	<rdar://problem/3885708> save memory in icon DB by not using NSSets when holding 1 object
	
        Reviewed by sullivan.

        * Misc.subproj/WebIconDatabase.m:
        (+[WebIconDatabase sharedIconDatabase]): added timing code
        (-[WebIconDatabase _clearDictionaries]): new
        (-[WebIconDatabase _loadIconDictionaries]): call _clearDictionaries in 2 places before we bail, use _web_setObjectUsingSetIfNecessary:forKey: when adding site URLs to the iconURLToURLs dictionary
        (-[WebIconDatabase _updateFileDatabase]): fixed comment
        (-[WebIconDatabase _setIconURL:forURL:]): use _web_setObjectUsingSetIfNecessary:forKey: when adding site URLs to the iconURLToURLs dictionary
        (-[WebIconDatabase _releaseIconForIconURLString:]): handle NSString objects retured from iconURLToURLs
        (-[NSMutableDictionary _web_setObjectUsingSetIfNecessary:forKey:]): new, puts a set on the dictionary when there are 2 or more object for s key

2004-11-17  Richard Williamson   <rjw@apple.com>

	Fixed <rdar://problem/3885073> REGRESSION: Tab images at top of news.com.com replicated and squished

	Correctly account for scaled image size and clipping.

        Reviewed by Maciej.

        * WebCoreSupport.subproj/WebImageData.h:
        * WebCoreSupport.subproj/WebImageData.m:
        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):

2004-11-17  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Richard.

	<rdar://problem/3885076> Don't make IDN calls for all-ascii URLs to save about 3 pages
	at Safari startup.
	
        * Misc.subproj/WebNSURLExtras.m:
        (mapHostNames): If encoding and not decoding, then bail early if the URL is all ascii.
        (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Remove earlier special-case
	check for localhost, no longer needed.

2004-11-17  Richard Williamson   <rjw@apple.com>

	Fixed <rdar://problem/3863601> Legacy font cache code in [WebTextRendererFactory createSharedFactory] may be unnecesary

	and added call to SPI for

	<rdar://problem/3884448> WebKit should turn on CG local font cache

	currently disabled until a Tiger build shows up with the SPI.

        Reviewed by David Harrison.

        * WebCoreSupport.subproj/WebTextRendererFactory.m:
        (+[WebTextRendererFactory createSharedFactory]):

2004-11-17  Richard Williamson   <rjw@apple.com>

        Fixed <rdar://problem/3882212> REGRESSION: Images clipped instead of scaled
        Fixed <rdar://problem/3884088> Crash terminating image load

        Also added code to turn off color correction for images created
        via CGImageSources.  This code is currently disabled because CG  
        can't change the color space of images loaded progressively.
        Further, according to Dave Hayward, CG will no longer attempt
        to color correct images that don't have embedded profiles as of
        Tiger 8A306.

        Reviewed by Chris.

        * WebCoreSupport.subproj/WebImageData.m:
        (-[WebImageData _commonTermination]):
        (-[WebImageData dealloc]):
        (-[WebImageData _invalidateImageProperties]):
        (-[WebImageData imageAtIndex:]):
        (-[WebImageData incrementalLoadWithBytes:length:complete:]):
        (-[WebImageData propertiesAtIndex:]):

2004-11-16  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3882034> REGRESSION: Context menu incorrect for PDF content

        Reviewed by darin.

        * WebView.subproj/WebPDFView.m:
        (-[WebPDFView hitTest:]): return self if the current event is a context menu event
        (-[WebPDFView menuForEvent:]): use the PDFView subview

2004-11-15  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3880410> save 5 dirty pages by soft-linking against PDFKit framework

        Reviewed by john.

        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebPDFRepresentation.m:
        (+[WebPDFRepresentation PDFDocumentClass]): new
        (-[WebPDFRepresentation finishedLoadingWithDataSource:]): use PDFDocumentClass
        * WebView.subproj/WebPDFView.h:
        * WebView.subproj/WebPDFView.m:
        (+[WebPDFView PDFKitBundle]): new
        (+[WebPDFView PDFViewClass]): new
        (-[WebPDFView initWithFrame:]): create a PDFView subview
        (-[WebPDFView dealloc]): release the PDFView subview
        (-[WebPDFView PDFSubview]): new

2004-11-15  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3879891> WebKit should link against PDFKit instead of Quartz

        Reviewed by darin.

        * WebKit.pbproj/project.pbxproj: link against PDFKit if it is present instead of Quartz.framework

2004-11-15  Richard Williamson   <rjw@apple.com>

	Fixed missing retain of image property data.

        Reviewed by John.

        * WebCoreSupport.subproj/WebImageData.h:
        * WebCoreSupport.subproj/WebImageData.m:
        (-[WebImageData dealloc]):
        (-[WebImageData _invalidateImages]):
        (-[WebImageData imageAtIndex:]):
        (-[WebImageData propertiesAtIndex:]):
        (-[WebImageData _frameDuration]):

2004-11-15  Richard Williamson   <rjw@apple.com>

	Cache image properties and frame durations.
	Create NSImage and TIFF representations from CGImage, lazily, as needed for
	dragging and element info dictionary.

        Reviewed by John.

        * WebCoreSupport.subproj/WebImageData.h:
        * WebCoreSupport.subproj/WebImageData.m:
        (-[WebImageData dealloc]):
        (-[WebImageData size]):
        (-[WebImageData propertiesAtIndex:]):
        (-[WebImageData _frameDurationAt:]):
        (-[WebImageData _frameDuration]):
        * WebCoreSupport.subproj/WebImageRenderer.h:
        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer dealloc]):
        (-[WebImageRenderer TIFFRepresentation]):
        (-[WebImageRenderer image]):

2004-11-14  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by John.

	<rdar://problem/3879226> WebKit needlessly uses extra memory to store icon refcounts as NSNumbers	

	* Misc.subproj/WebIconDatabase.m:
        (-[WebIconDatabase init]):
        (-[WebIconDatabase _setIconURL:forURL:]):
        (-[WebIconDatabase _retainIconForIconURLString:]):
        (-[WebIconDatabase _releaseIconForIconURLString:]):
        (-[WebIconDatabase _retainFutureIconForURL:]):
        (-[WebIconDatabase _releaseFutureIconForURL:]):
        * Misc.subproj/WebIconDatabasePrivate.h:

2004-11-15  John Sullivan  <sullivan@apple.com>

        Reviewed by Ken.
        
        - fixed <rdar://problem/3879513> leak in [WebArchive _propertyListRepresentation] copying HTML to pasteboard

        * WebView.subproj/WebArchive.m:
        (-[WebArchive _propertyListRepresentation]):
        the array holding the subresources was not released after use, oops!

2004-11-12  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3874577> Opening restricted (parental) content in new window/tab reveals Safari's "Resources" folder
	
        Reviewed by john.

        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultUIDelegate openFrameInNewWindow:]): use the unreachable URL if there is one

=== Safari-171 ===

2004-11-11  Richard Williamson   <rjw@apple.com>

        Report actual size (not partial size) but use partial size
        when drawing.

        Reviewed by Maciej.

        * WebCoreSupport.subproj/WebImageData.h:
        * WebCoreSupport.subproj/WebImageData.m:
        (-[WebImageData size]):

2004-11-11  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - added _wasFirstResponderAtMouseDownTime method to bridge so we can fix
          <rdar://problem/3846152> REGRESSION (125-166): can't drag text out of <input type=text> fields
          with a subsequent change to WebCore.

        * WebCoreSupport.subproj/WebBridge.m:
        (wasFirstResponderAtMouseDownTime:): Added. Calls _wasFirstResponderAtMouseDownTime
        on the WebHTMLView.
        (_getPreSmartSet): Move global inside the function, add (void) for cleanliness.
        (_getPostSmartSet): Ditto.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLViewPrivate dealloc]): Release firstResponderAtMouseDownTime.
        (-[WebHTMLView _setMouseDownEvent:]): Early exit if event is not changing.
        Set firstResponderAtMouseDownTime to the first responder.
        (-[WebHTMLView mouseDown:]): Release firstResponderAtMouseDownTime after handling
        the mouseDown event.
        (-[WebHTMLView _wasFirstResponderAtMouseDownTime:]): Added. Uses the
        firstResponderAtMouseDownTime field.
        * WebView.subproj/WebHTMLViewInternal.h: Added firstResponderAtMouseDownTime field
        and _wasFirstResponderAtMouseDownTime method.

        * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.

2004-11-11  Richard Williamson   <rjw@apple.com>

        Reviewed by Chris.

	Work-around to minimize impact of 3876764.  Cache frame durations
	after first call.  So we'll still leak 1K for each animated
	image, but that's better than 1K each time the frame is drawn!
        * WebCoreSupport.subproj/WebImageData.h:
        * WebCoreSupport.subproj/WebImageData.m:
        (-[WebImageData _frameDuration]):

	Simplified animation cleanup code.  Fixed leak due to 
	incorrect key passed to CFDictionaryRemoveValue.
	
        (+[WebImageData stopAnimationsInView:]):
        (-[WebImageData addAnimatingRenderer:inView:]):
        (-[WebImageData removeAnimatingRenderer:]):
        (-[WebImageData _stopAnimation]):

2004-11-11  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed <rdar://problem/3605906> Flash scrolled off the top and bottom cause CPU spin when combined with something dirty on the visible part of the page

        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]):
        Work around AppKit bug by using rectangles from getRectsBeingDrawn:count: instead of
        using the passed-in rectangle.

2004-11-11  Richard Williamson   <rjw@apple.com>

        Work-arounds to make new ImageIO code work correctly.  Still
        disabled for now.  Requires at least Tiger 300.  Testing does
        show a 3% improvement in PLT tests!  That's huge!

        Reviewed by John.

        * WebCoreSupport.subproj/WebImageData.m:
        (-[WebImageData imageAtIndex:]):
        (-[WebImageData incrementalLoadWithBytes:length:complete:]):
        (-[WebImageData isNull]):

2004-11-10  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3396872> ICONS: icon DB inconsistencies can cause slowness during startup, idle and quit

        Reviewed by john.

        * Misc.subproj/WebFileDatabase.m:
        (-[WebFileDatabase objectForKey:]): added logging code
        * Misc.subproj/WebIconDatabase.m:
        (-[WebIconDatabase init]): use alloc, init rather than autorelease, retain
        (-[WebIconDatabase _loadIconDictionaries]): use 1 object for mapping icon URLs to site URLs and vice versa rather than 3. This avoids inconsistencies and is faster.
        (-[WebIconDatabase _updateFileDatabase]): write 1 object out

2004-11-09  David Hyatt  <hyatt@apple.com>

	Fix for 3873234, Safari UI is unresponsive when parsing multiple HTML docs and 3873233, Safari hangs when
	loading large local files.
	
        Reviewed by mjs

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge tokenizerProcessedData]):
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _receivedMainResourceError:complete:]):
        (-[WebDataSource isLoading]):

2004-11-09  Richard Williamson   <rjw@apple.com>

        Fixed <rdar://problem/3870964> 8A300: Safari not recognizing a PDF link (it displays raw data)

	Add "text/pdf" as an acceptable PDF MIME type.

        Reviewed by Chris.

        * WebView.subproj/WebDataSource.m:
        (+[WebDataSource _repTypesAllowImageTypeOmission:]):
        * WebView.subproj/WebFrameView.m:
        (+[WebFrameView _viewTypesAllowImageTypeOmission:]):

2004-11-08  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3783904> Return key behavior is confusingly different between popup menus and autofill menus

        Reviewed by john.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge control:textView:shouldHandleEvent:]): new
        * WebView.subproj/WebFormDelegate.h:
        * WebView.subproj/WebFormDelegate.m:
        (-[WebFormDelegate control:textView:shouldHandleEvent:inFrame:]): new

2004-11-05  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3854218> Safari is sometimes really slow because of increased null events to plug-ins

        * Plugins.subproj/WebBaseNetscapePluginView.m: reverted null event interval to 0.02

2004-11-05  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3838413> REGRESSION (Mail): "Smart" word paste adds spaces before/after special characters

        Reviewed by rjw.

        * WebCoreSupport.subproj/WebBridge.m:
        (_getPreSmartSet): copied from AppKit
        (_getPostSmartSet): ditto
        (-[WebBridge isCharacterSmartReplaceExempt:isPreviousCharacter:]): new

2004-11-05  Richard Williamson   <rjw@apple.com>

        Fixed <rdar://problem/3810702> _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector: ASSERTS when reentered from Xcode's man page viewer

        Reviewed by Maciej (a long time ago).

        * WebView.subproj/WebFrame.m:
        (-[WebFrame _loadDataSource:withLoadType:formState:]):

        Fixed <rdar://problem/3845307> WebKit needs to export _HIWebViewRegisterClass so HIWebViews can work in Carbon nib files

        As suggested in the bug, the fix is to actually call 
        HIWebViewRegisterClass in WebKitInitForCarbon, rather than
        exporting the symbol.

        Reviewed by Chris.

        * Carbon.subproj/CarbonUtils.m:
        (WebInitForCarbon):
        * Carbon.subproj/HIWebView.m:
        * WebKit.pbproj/project.pbxproj:

=== Safari-170 ===

2004-11-05  Darin Adler  <darin@apple.com>

        Reviewed by Chris.

        - fixed <rdar://problem/3857151> Assertion failure in "trackingRectOwner" while moving mouse over Slashdot.org page

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _addTrackingRect:owner:userData:assumeInside:useTrackingNum:]): Changed to no longer call
        addTrackingRect to do the work for consistency with the new method below. Not too much copied and pasted code.
        (-[WebHTMLView _addTrackingRects:owner:userDataList:assumeInsideList:trackingNums:count:]): Added an override
        for this new method in Tiger. No harm in implementing it on Panther, although it won't be called.
        (-[WebHTMLView _removeTrackingRects:count:]): Ditto.

2004-11-04  David Hyatt  <hyatt@apple.com>

	Make sure the dominant line direction is properly set for RTL runs so that spaces will reverse.

	Change xHeight to measure the ascent of the x glyph, since the xHeight metrics appear to be
	totally bogus in both CG and AppKit.
	
        Reviewed by darin

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer xHeight]):
        (-[WebTextRenderer _createATSUTextLayoutForRun:style:]):
        (-[WebTextRenderer _trapezoidForRun:style:atPoint:]):
        (-[WebTextRenderer _ATSU_drawHighlightForRun:style:geometry:]):
        (-[WebTextRenderer _ATSU_drawRun:style:geometry:]):
        (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]):

2004-11-02  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Dave Hyatt (when I originally coded it).

        Redid WebKit part of fix for:

        <rdar://problem/3759187> REGRESSION (Mail): implement firstRectForCharacterRange:
       
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView firstRectForCharacterRange:]): Call the appropriate new bridge method,
        and translate to screen coordinates.

2004-11-02  John Sullivan  <sullivan@apple.com>

        Reviewed by Hyatt.
        
        - [NSFont menuFontOfSize:], called from WebStringTruncator, was taking > 9% of the time creating a 
        very large bookmarks menu, so I cached this one NSFont object.

        * Misc.subproj/WebStringTruncator.m:
        (defaultMenuFont):
        new function, caches the font used when no font is specified
        (+[WebStringTruncator centerTruncateString:toWidth:]):
        call new function

2004-11-02  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Hyatt

        WebCore now implements a command to insert a block in response to typing a return key, and
        some names were improved in the course of this work.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView insertNewline:]): Now calls insertLineBreak on bridge object.
        (-[WebHTMLView insertLineBreak:]): New method.
        (-[WebHTMLView insertParagraphSeparator:]): Now implemented.
        * WebView.subproj/WebView.m: 

=== Safari-169 ===

2004-10-29  Chris Blumenberg  <cblu@apple.com>

        * WebKit.exp: added _WebPlugInModeKey, forgot to add it earlier

2004-10-29  Darin Adler  <darin@apple.com>

        - fixed <rdar://problem/3855573> Remove reference to "WebScriptMethods" from WebScriptObject.h comments

        * Plugins.subproj/WebScriptObject.h: Removed unneeded #ifdef protection for multiple includes (since
        this is an Objective-C header and we use #import for those). Fixed comments as requested in the bug
        report to match the contents of the file.

2004-10-27  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Chris

        Added new SPI for Mail so it can get the behavior it needs when the user hits
        the return key with the selection in quoted content.

        * WebView.subproj/WebView.m
        * WebView.subproj/WebViewPrivate.h

2004-10-26  Chris Blumenberg  <cblu@apple.com>

	Fixed exception that Darin encountered in Mail.

        Reviewed by darin.

        * Plugins.subproj/WebPluginController.m:
        (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]): if the plug-in returns a nil view, return nil

2004-10-25  Chris Blumenberg  <cblu@apple.com>

	Darin made an internal notification have the Web prefix.

        Reviewed by me.

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView addWindowObservers]):
        (-[WebBaseNetscapePluginView removeWindowObservers]):
        (ConsoleConnectionChangeNotifyProc):

2004-10-25  John Sullivan  <sullivan@apple.com>

        Reviewed by Chris.
        
        - Cleanup from fix for <rdar://problem/3851676> bookmarks should not hold onto a WebHistoryItem object;
          eliminated notificationsSuppressed mechanism, which was used only by WebBookmark

        * History.subproj/WebHistoryItem.m:
        removed notificationsSuppressed ivar from private data object
        (-[WebHistoryItem setAlternateTitle:]):
        remove notificationsSuppressed guard
        (-[WebHistoryItem setURLString:]):
        ditto
        (-[WebHistoryItem setOriginalURLString:]):
        ditto
        (-[WebHistoryItem setTitle:]):
        ditto
        (-[WebHistoryItem _setLastVisitedTimeInterval:]):
        ditto
        (-[WebHistoryItem setNotificationsSuppressed:]):
        removed this method
        (-[WebHistoryItem notificationsSuppressed]):
        ditto
        
        * History.subproj/WebHistoryItemPrivate.h:
        removed notificationsSuppressed and setNotificationsSuppressed

2004-10-22  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3851491> installedPlugins being called for a page without plugins

        Reviewed by mjs.

        * WebView.subproj/WebFrameView.m:
        (+[WebFrameView _canShowMIMETypeAsHTML:]): call _viewTypesAllowImageTypeOmission instead of using ivar since the ivar is nil until _viewTypesAllowImageTypeOmission is called, this was causing [WebView canShowMIMEType:] to check plug-ins 

=== Safari-168 ===

2004-10-22  Ken Kocienda  <kocienda@apple.com>

        Reviewed by me

        * WebKit.pbproj/project.pbxproj: Add GCC_ENABLE_OBJC_GC and GCC_FAST_OBJC_DISPATCH flags.

2004-10-21  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed <rdar://problem/3847994> REGRESSION: reproducible exception in WebImageRenderer releasePatternColor; afterwards get crash or no more browsing

        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebInternalImage createRendererIfNeeded]): Replaced retainOrCopyIfNeeded with this.
        This returns nil if a copied renderer isn't needed, and returns a new renderer if a copy is.
        The old version was sometimes returning a WebInternalImage and other times a WebImageRenderer.
        (-[WebImageRenderer retainOrCopyIfNeeded]): Returns the result of createRendererIfNeeded
        or retains self and returns self.

2004-10-20  Darin Adler  <darin@apple.com>

        Reviewed by Dave.

        - fixed <rdar://problem/3470715> Pattern cache can get huge with use of css background-image in Safari

        * WebCoreSupport.subproj/WebImageRenderer.h: Change WebImageRenderer to be a subclass of NSObject
        rather than NSImage and contain a pointer to a WebInternalImage.
        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebInternalImage releasePatternColor]): Added. Releases patternColor.
        (-[WebImageRenderer initWithMIMEType:]): Added. Makes WebInternalImage and then self.
        (-[WebImageRenderer initWithData:MIMEType:]): Ditto.
        (-[WebImageRenderer initWithContentsOfFile:]): Ditto.
        (-[WebImageRenderer dealloc]): Added. Calls releasePatternColor and then releases WebInternalImage.
        (-[WebImageRenderer image]): Added. Returns pointer to image.
        (-[WebImageRenderer MIMEType]): Added. Calls through to image.
        (-[WebImageRenderer TIFFRepresentation]): Ditto.
        (-[WebImageRenderer frameCount]): Ditto.
        (-[WebImageRenderer setOriginalData:]): Added. Sets image data pointer.
        (+[WebImageRenderer stopAnimationsInView:]): Added. Calls through to image.
        (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): Ditto.
        (-[WebImageRenderer size]): Ditto.
        (-[WebImageRenderer resize:]): Ditto.
        (-[WebImageRenderer drawImageInRect:fromRect:]): Ditto.
        (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]): Ditto.
        (-[WebImageRenderer stopAnimation]): Ditto.
        (-[WebImageRenderer tileInRect:fromPoint:context:]): Ditto.
        (-[WebImageRenderer isNull]): Ditto.
        (-[WebImageRenderer retainOrCopyIfNeeded]): Ditto.
        (-[WebImageRenderer increaseUseCount]): Ditto.
        (-[WebImageRenderer decreaseUseCount]): Ditto.
        (-[WebImageRenderer flushRasterCache]): Ditto.
        (-[WebImageRenderer imageRef]): Ditto.
        (-[WebImageRenderer copyWithZone:]): Ditto.

        * Misc.subproj/WebNSViewExtras.m: (-[NSView _web_dragImage:rect:event:pasteboard:source:offset:]):
        Update for slight changes to WebImageRenderer API.
        * WebCoreSupport.subproj/WebImageRendererFactory.m:
        (-[WebImageRendererFactory imageRendererWithMIMEType:]): Ditto.
        (-[WebImageRendererFactory imageRendererWithData:MIMEType:]): Ditto.
        (-[WebImageRendererFactory imageRendererWithSize:]): Ditto.
        (-[WebImageRendererFactory imageRendererWithName:]): Ditto.
        * WebView.subproj/WebImageView.m: (-[WebImageView image]): Ditto.

2004-10-20  Chris Blumenberg  <cblu@apple.com>
	
	Fixed: <rdar://problem/3846943> REGRESSION: JNLP files are rendered instead of downloaded

        Reviewed by john.

        * Plugins.subproj/WebBasePluginPackage.h:
        * Plugins.subproj/WebBasePluginPackage.m:
        (-[WebBasePluginPackage isJavaPlugIn]): new
        * Plugins.subproj/WebPluginDatabase.m:
        (-[WebPluginDatabase refresh]): don't register the Java plug-in for a document view since Java file should be downloaded when not embedded.

2004-10-20  Chris Blumenberg  <cblu@apple.com>

	Fixed:
	<rdar://problem/3842030> WebKit needs to pass the mode (NP_FULL, NP_EMBED, etc) when calling plugInViewWithArguments
	<rdar://problem/3792852> Safari is loading the new QuickTime Cocoa plugin on Panther

        Reviewed by darin.

        * Plugins.subproj/WebPluginDocumentView.m:
        (-[WebPluginDocumentView setDataSource:]): pass "full" as the mode
        * Plugins.subproj/WebPluginPackage.m:
        (-[WebPluginPackage initWithPath:]): load plug-in with the "webplugin" extension
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:]): pass "embed" as the mode
        * WebKit.pbproj/project.pbxproj:

2004-10-19  Vicki Murley <vicki@apple.com>

	- bump WebKit version to 167.1, so that we can do a quick dot submission for <rdar://problem/3843951> 

        * WebKit.pbproj/project.pbxproj:

2004-10-19  Darin Adler  <darin@apple.com>

        Change suggested by Maciej during code review.

        * WebCoreSupport.subproj/WebTextRenderer.m: Changed rounding hack table to be const so it can be in shared instead
        of private memory, and doesn't require an initialization function.
        (+[WebTextRenderer initialize]): Removed initialization.

2004-10-19  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed <rdar://problem/3838934> Safari stops loading pages after rangeOfCharacterFromSet nil argument exception
        - fixed <rdar://problem/3843951> REGRESSION (166-167): Safari crashes in widthForNextCharacter (belkin.com, at startup for others)
        - fixed <rdar://problem/3841049> REGRESSION (109-110): control characters render as square boxes

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (isSpace): Merged in isAlternateSpace, never used.
        (setupRoundingHackCharacterTable): Fixed size of table, was 1 entry too short. Got rid of unneeded call to bzero,
        since globals start out zeroed automatically.
        (isRoundingHackCharacter): Fixed backwards logic causing the crash in widthForNextCharacter.
        Also removed explicit compare with 1; check for non-zero is just fine.
        (fontContainsString): Change code so we'll just skip the font if the covered character set returns nil rather than
        throwing an exception like the old version did. This should make bug 3838934 go away, although perhaps covering up
        the underlying problem.
        (-[WebTextRenderer _convertCharacters:length:toGlyphs:]): Removed unused skipControlCharacters: parameter and also
        the unnecessary code to copy the buffer to change newline characters and non-break spaces to spaces.
        (-[WebTextRenderer _convertUnicodeCharacters:length:toGlyphs:]): Removed unused local.
        (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]): Added code to set up special cases for control characters,
        \n and non-break spaces.
        (-[WebTextRenderer _createATSUTextLayoutForRun:]): Added comment about the cases this code does not handle that
        are handled by the CG case.
        (widthForNextCharacter): Call isSpace instead of checking specifically for the space character here. The old code
        would not handle cases with '\n' coming across from WebCore properly.

2004-10-18  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3840916> GC: -[WebNetscapePluginPackage initWithPath:] leaks an NSURL

        Reviewed by kevin.

        * Plugins.subproj/WebNetscapePluginPackage.m:
        (-[WebNetscapePluginPackage initWithPath:]): use executablePath on NSBundle instead of CFBundleCopyExecutableURL

2004-10-18  Chris Blumenberg  <cblu@apple.com>

        * DOM.subproj/DOMPrivate.h: change to copied header that was never committed

2004-10-18  John Sullivan  <sullivan@apple.com>

        Reviewed by Ken.
        
        - fixed <rdar://problem/3810183> Make WebHTMLView respect return value of webView:doCommandBySelector:

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView doCommandBySelector:]):
        only do default action if delegate returns NO; this works with Mail as of Tiger 8A275.

=== Safari-167 ===

2004-10-14  Ken Kocienda  <kocienda@apple.com>

        Reviewed by John

        Final fix for these bugs:
        
        <rdar://problem/3806306> HTML editing puts spaces at start of line
        <rdar://problem/3814252> HTML editing groups space with word causing wrapping

        This change sets some new CSS properties that have been added to WebCore to 
        enable whitespace-handling and line-breaking features that make WebView work
        more like a text editor.

        * WebView.subproj/WebHTMLRepresentation.m:
        (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): Turn on special editing
        CSS properties when loading an HTML document into a WebView that is editable.
        * WebView.subproj/WebView.m:
        (-[WebView setEditable:]): Add and remove special editing CSS properties in current
        document being displayed.

2004-10-14  Richard Williamson   <rjw@apple.com>

        Fixed <rdar://problem/3823026> making isRoundingHackCharacter use -O3 and an 8-bit lookup-table will speed "XBS" test up by 3% (actually < 1%)

        Careful testing shows a small performance gain on very large text files.  
        I saw large variations in timings, but taking the lowest PLT timing 
        with and without this change showed a 0.9% gain.  Note the cvs-base showed
        no improvement.  The improvement was for the large page attached to the
        bug.

        Reviewed by Ken.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (setupRoundingHackCharacterTable):
        (isRoundingHackCharacter):
        (+[WebTextRenderer initialize]):

2004-10-14  Ken Kocienda  <kocienda@apple.com>

        Reviewed by me

        Fix build breakage. These three functions need to return the values from their
        calls to WebCGColorSpaceCreateXXX.

        * WebCoreSupport.subproj/WebGraphicsBridge.m:
        (-[WebGraphicsBridge createRGBColorSpace])
        (-[WebGraphicsBridge createGrayColorSpace])
        (-[WebGraphicsBridge createCMYKColorSpace])

2004-10-13  Richard Williamson   <rjw@apple.com>

	Addressed concerns in <rdar://problem/3803117> RESP: High complexity in icu uidna_IDNToASCII called by [NSString(WebNSURLExtras) _web_mapHostNameWithRange:encode:makeString:]

	In practice I saw NO improvement in performance.  Although,
	special-case tests could possibly show improvement.  Anyway,
	the changes don't hurt performance.

        Reviewed by Maciej.

        * Misc.subproj/WebNSURLExtras.m:
        (-[NSString _web_mapHostNameWithRange:encode:makeString:]):

2004-10-13  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Ken.

	<rdar://problem/3824626> Change to do colormatching for DeviceRGB colorspace causes ~11% Safari slowdown
        
	- I fixed this by turning off all colormatching for WebKit
	content. We might turn it back on later. For now, it's possible to
	turn it on temporarily by defining COLORMATCH_EVERYTHING.
	
	* WebCoreSupport.subproj/WebGraphicsBridge.m:
        (-[WebGraphicsBridge setFocusRingStyle:radius:color:]):
        (-[WebGraphicsBridge additionalPatternPhase]):
        (-[WebGraphicsBridge createRGBColorSpace]):
        (-[WebGraphicsBridge createGrayColorSpace]):
        (-[WebGraphicsBridge createCMYKColorSpace]):
        * WebCoreSupport.subproj/WebImageData.m:
        * WebCoreSupport.subproj/WebImageRenderer.h:
        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer _adjustSizeToPixelDimensions]):
        (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
        (-[WebImageRenderer _adjustColorSpace]):
        (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
        (-[WebImageRenderer tileInRect:fromPoint:context:]):
        (_createImageRef):
        (WebCGColorSpaceCreateRGB):
        (WebCGColorSpaceCreateGray):
        (WebCGColorSpaceCreateCMYK):
        * WebKitPrefix.h:

2004-10-13  Richard Williamson   <rjw@apple.com>

	Don't fill background with transparency unless debug flag
	is enabled.

        Reviewed by Hyatt.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView drawRect:]):

2004-10-12  Richard Williamson   <rjw@apple.com>

        Fixed <rdar://problem/3829705> Need to remove filling w/ transparency when not drawing backgroundy.

        Reviewed by Ken.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _transparentBackground]):
        (-[WebHTMLView _setTransparentBackground:]):
        (-[WebHTMLView drawRect:]):
        * WebView.subproj/WebHTMLViewInternal.h:
        * WebView.subproj/WebHTMLViewPrivate.h:

2004-10-11  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3802039> 8A259: Can't use Grab services to grab selection from screen

        Reviewed by john.

        * WebView.subproj/WebHTMLView.m:
        (+[WebHTMLView initialize]): register service "return types" which are types that can be inserted into a WebView
        (-[WebHTMLView writeSelectionToPasteboard:types:]): service protocol method, be sure to only write specified types
        (-[WebHTMLView readSelectionFromPasteboard:]): new, service protocol method, insert types
        (-[WebHTMLView validRequestorForSendType:returnType:]): moved, handle return types

2004-10-11  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed <rdar://problem/3834130> nil-object-in-dictionary exception seen in -[WebView _elementAtWindowPoint:]

        * WebView.subproj/WebView.m: (-[WebView _elementAtWindowPoint:]): Added a check for nil frame.

2004-10-11  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed <rdar://problem/3834166> <input type=file> sends onchange even when the same file is chosen twice

        * WebCoreSupport.subproj/WebFileButton.m: (-[WebFileButton chooseFilename:]):
        Do nothing if filename is the same as before.

2004-10-11  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        * WebView.subproj/WebHTMLView.m:
        (-[WebTextCompleteController doCompletion]): bridge call to get caret rect at a node
        now takes an affinity: caretRectAtNode:offset:affinity:.

2004-10-10  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Chris

        Fix for this bug:
        
        <rdar://problem/3814236> REGRESSION (Mail): Can't set the color of text in Mail compose window using drag/drag from color panel

        * WebView.subproj/WebHTMLView.m:
        (+[WebHTMLView _insertablePasteboardTypes]): Add NSColorPboardType to list.
        (-[WebHTMLView _isNSColorDrag:]): New helper. Determines if drag is an NSColor drag.
        (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): Add a case for NSColor drags,
        else do what we did before.
        (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): Add a case for NSColor drags, which creates
        a CSS style containing color info and calls the bridge to apply the style. Otherwise, do what we did before.

2004-10-11  Darin Adler  <darin@apple.com>

        Reviewed by Ken.

        - fixed <rdar://problem/3833848> REGRESSION (133-134): each keydown event is getting sent multiple times

        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView performKeyEquivalent:]):
        Don't send an event through WebCore if it has already been through once.

2004-10-10  John Sullivan  <sullivan@apple.com>

        Reviewed by Ken.
        
        - fixed <rdar://problem/3777253> Crash in redirect mechanism trying to display error page for bad scheme

        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]):
        add retain/autorelease to the request returned from call to super. In this case, the return value
        was being dealloc'ed before being returned.

2004-10-09  Chris Blumenberg  <cblu@apple.com>

	Fixed: 
	<rdar://problem/3625352> up and down arrow and page up/down keys don't work to scroll overflow:auto/scroll/overlay areas
	<rdar://problem/3397658> scroll wheel does not work to scroll overflow:auto/scroll/overlay areas (RSS)

        Reviewed by hyatt.

        * Plugins.subproj/WebBaseNetscapePluginStream.m:
        (-[WebBaseNetscapePluginStream initWithRequestURL:pluginPointer:notifyData:sendNotification:]): fixed typo in comment
        * Plugins.subproj/WebNetscapePluginStream.m:
        (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]): ditto
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebFrameView.m:
        (-[WebFrameView _bridge]): new
        (-[WebFrameView scrollToBeginningOfDocument:]): call the bridge to scroll, if that fails, scroll the document view
        (-[WebFrameView scrollToEndOfDocument:]): ditto
        (-[WebFrameView _pageVertically:]): ditto
        (-[WebFrameView _pageHorizontally:]): ditto
        (-[WebFrameView _scrollLineVertically:]): ditto
        (-[WebFrameView _scrollLineHorizontally:]): ditto
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView scrollWheel:]): call the bridge to scroll, if that fails, pass to next responder

=== Safari-166 ===

2004-10-05  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3827002> assertion failure in WebBaseNetscapePluginStream on abc.go.com

        Reviewed by rjw.

        * Plugins.subproj/WebBaseNetscapePluginStream.m:
        (-[WebBaseNetscapePluginStream initWithRequestURL:pluginPointer:notifyData:sendNotification:]): avoid assertion failure in dealloc by temporarily setting isTerminated to YES in case we are released in this method
        * Plugins.subproj/WebNetscapePluginStream.m:
        (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]): ditto

2004-10-05  John Sullivan  <sullivan@apple.com>

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:]):
        initialize "arguments" var to nil to satisfy compiler on deployment build.

2004-10-05  Richard Williamson   <rjw@apple.com>

        Fixed <rdar://problem/3825442> first click lost for Dashboard
	Allow dashboard to force acceptsFirstMouse:

        Reviewed by Chris.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView acceptsFirstMouse:]):
        * WebView.subproj/WebView.m:
        (-[WebView _dashboardBehavior:]):
        * WebView.subproj/WebViewInternal.h:
        * WebView.subproj/WebViewPrivate.h:

        * WebCoreSupport.subproj/WebImageRenderer.h:
        Comment change only

2004-10-05  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3760920> Need to record plugin view instances
	
        Reviewed by rjw.

        * Plugins.subproj/WebPluginController.h:
        * Plugins.subproj/WebPluginController.m:
        (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]): new, creates plug-in view and adds it to global list
        (+[WebPluginController isPlugInView:]): new, checks if the plug-in view is in the global list
        (-[WebPluginController destroyAllPlugins]): remove the plug-in from the global list 
        * Plugins.subproj/WebPluginDocumentView.m:
        (-[WebPluginDocumentView setDataSource:]): call [WebPluginController plugInViewWithArguments:fromPluginPackage:]
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:]): ditto
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _reloadForPluginChanges]): call [WebPluginController isPlugInView:]
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView addSubview:]): ditto

2004-10-05  David Hyatt  <hyatt@apple.com>

	Fix to make selection more like NSTextView.  All gap painting is now done by WebCore, so WebKit no longer
	needs to try to fill gaps around text.
	
        Reviewed by kocienda

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer _CG_drawHighlightForRun:style:geometry:]):
        (-[WebTextRenderer _ATSU_drawHighlightForRun:style:geometry:]):

2004-10-05  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed <rdar://problem/3577255> custom file icon shows up upside down in <input type=file>

        * WebCoreSupport.subproj/WebFileButton.m: (-[WebFileButton setFilename:]): Added a call to
        setFlipped that fixes the problem, even though I don't know why.

2004-10-04  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed <rdar://problem/3814237> REGRESSION (Mail): Copy/paste style does not set color in Mail compose window

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _selectionStartFontAttributesAsRTF]): Changed to call new bridge method
        named fontAttributesForSelectionStart, deleted the method this used to use, and renamed
        this to have the word "start" in it.
        (-[WebHTMLView copyFont:]): Updated for name change.

        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.

2004-10-04  Chris Blumenberg  <cblu@apple.com>

        * WebView.subproj/WebFrameInternal.h: removed constant declarations that I committed by mistake

2004-10-04  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3798948> NPP_URLNotify is not called if plug-in calls NPN_*URLNotfy
	Fixed a number of FIXME's related to notifying plug-ins of loaded pages.

        Reviewed by rjw.

        * Plugins.subproj/WebBaseNetscapePluginStream.h: 
		- replaced URL ivar with requestURL and responseURL ivars since we need to pass both to plug-ins
        	- added sendNotification boolean. Relying on notifyData not being NULL was not information to know whether to call NPP_URLNotify or not.
		- added isTerminated boolean because determining whether or not stream.ndata is NULL is not enough to know if the stream has been cancelled.
	* Plugins.subproj/WebBaseNetscapePluginStream.m:
        (+[WebBaseNetscapePluginStream reasonForError:]): new, factored out from receivedError:
        (-[WebBaseNetscapePluginStream initWithRequestURL:pluginPointer:notifyData:sendNotification:]): new
        (-[WebBaseNetscapePluginStream dealloc]): release new ivars
        (-[WebBaseNetscapePluginStream finalize]): added assert
        (-[WebBaseNetscapePluginStream setRequestURL:]): new
        (-[WebBaseNetscapePluginStream setResponseURL:]): new
        (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]): renamed, use responseURL as it basically did before
        (-[WebBaseNetscapePluginStream startStreamWithResponse:]): call renamed method
        (-[WebBaseNetscapePluginStream destroyStream]): 
		- do nothing if terminated
		- call NPP_StreamAsFile and NPP_DestroyStream if stream.ndata is not NULL
		- call NPP_URLNotify if sendNotification is YES regardless of value of notifyData
        (-[WebBaseNetscapePluginStream receivedError:]): call reasonForError
        (-[WebBaseNetscapePluginStream deliverData]): use renamed ivar
        * Plugins.subproj/WebBaseNetscapePluginView.h:
		- added observingFrameLoadNotification boolean
		- renamed dictionary ivar to pendingFrameLoads which has WebFrame keys and WebPluginRequest values
        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView addFrameLoadObserver]): new
        (-[WebBaseNetscapePluginView removeFrameLoadObserver]): new
        (-[WebBaseNetscapePluginView stop]): call removeFrameLoadObserver
        (-[WebBaseNetscapePluginView initWithFrame:]): use renamed pendingFrameLoads ivar
        (-[WebBaseNetscapePluginView dealloc]): ditto
        (-[WebBaseNetscapePluginView requestWithURLCString:]): set referrer on the request just as IE does
        (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): 
		- call NPP_URLNotify depending of value of sendNotification
		- call new init method on WebBaseNetscapePluginStream rather then setting variables individually
        (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]): new, calls NPP_URLNotify at the right time with the right value
        (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithError:]): new, delegate method called from WebFrame
        (-[WebBaseNetscapePluginView loadPluginRequest:]): call addFrameLoadObserver
        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]): take new sendNotification parameter and pass it
        (-[WebBaseNetscapePluginView getURLNotify:target:notifyData:]): pass YES for sendNotification
        (-[WebBaseNetscapePluginView getURL:target:]): pass NO for sendNotification
        (-[WebBaseNetscapePluginView _postURL:target:len:buf:file:notifyData:sendNotification:allowHeaders:]): take new sendNotification parameter and pass it
        (-[WebBaseNetscapePluginView postURLNotify:target:len:buf:file:notifyData:]): pass YES for sendNotification
        (-[WebBaseNetscapePluginView postURL:target:len:buf:file:]): pass NO for sendNotification
        (-[WebPluginRequest initWithRequest:frameName:notifyData:sendNotification:]): take new sendNotification parameter
        (-[WebPluginRequest sendNotification]): new
        * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h:
        * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
        (-[WebNetscapePluginEmbeddedView didStart]): set referrer on the request just as IE does
        * Plugins.subproj/WebNetscapePluginRepresentation.m:
        (-[WebNetscapePluginRepresentation receivedData:withDataSource:]): set the request URL on the stream
        * Plugins.subproj/WebNetscapePluginStream.h:
        * Plugins.subproj/WebNetscapePluginStream.m:
        (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]): take new sendNotification parameter and pass it
        (-[WebNetscapePluginStream dealloc]): use renamed ivar
        (-[WebNetscapePluginStream start]): ditto
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _setState:]): removed notification posting code. This was only used by WebBaseNetscapePluginView and it was the wrong notification to send.
        (-[WebFrame _checkLoadCompleteForThisFrame]): call internal load delegate to tell it that the load has finished
        (-[WebFrame _loadItem:withLoadType:]): ditto
        (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]): ditto
        (-[WebFrame _setInternalLoadDelegate:]): new
        (-[WebFrame _internalLoadDelegate]): new
        * WebView.subproj/WebFrameInternal.h:
        * WebView.subproj/WebFramePrivate.h:

2004-10-04  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3758113> REGRESSION: Macromedia ColdFusion page doesn't show main content

	After bumping up our plug-in version, Flash now sends 2 CRLF's between the headers and body of their POST request. Our code was not prepared for this.

        Reviewed by darin.

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[NSData _web_locationAfterFirstBlankLine]): looks for 2 CRLF's, not for 2 LF's

2004-10-04  Darin Adler  <darin@apple.com>

        Reviewed by Ken.

        - fixed a potential storage leak when we turn on CGImageRef image rendering

        * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer dealloc]): Fix potential storage leak
        by adding [super dealloc], but leak was not real yet because the code is commented out.

        - make paste style work with color as part of fix to <rdar://problem/3814237> REGRESSION (Mail):
          Copy/paste style does not set color in Mail compose window

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _selectionFontAttributes]): Change structure so it's easy to add more attributes.
        For now I haven't added any yet.
        (-[WebHTMLView _colorAsString:]): Moved this earlier in the file.
        (-[WebHTMLView _shadowAsString:]): Ditto.
        (-[WebHTMLView _styleFromFontAttributes:]): Add background color, foreground color, and text shadow.

2004-09-30  Richard Williamson   <rjw@apple.com>

	Fixed <rdar://problem/3821215> NPN hasMethod and hasProperty functions should take NPObjects, not NPClass

	Also changed dashboard regions dictionary to use "control"
	for scroller region label, instead of "scroller, per
	request from ouch. 
		
        Reviewed by Chris.

        * Plugins.subproj/npruntime.h:
        * WebView.subproj/WebView.m:
        (-[WebView _addScrollerDashboardRegions:from:]):

2004-09-30  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3498680> switching back and forth between tabs stops calling anything in a plug-in

        Reviewed by darin.

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView sendEvent:]): call setWindowIfNecessary because the window may have changed
        (-[WebBaseNetscapePluginView updateAndSetWindow]): new
        (-[WebBaseNetscapePluginView setWindowIfNecessary]): was setWindow, this method now just sets the window
        (-[WebBaseNetscapePluginView start]): call updateAndSetWindow
        (-[WebBaseNetscapePluginView viewDidMoveToWindow]): ditto
        (-[WebBaseNetscapePluginView viewHasMoved:]): ditto

2004-09-30  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3498668> switching out of tab doesn't send loseFocusEvent to plug-in

        Reviewed by rjw.

        * Plugins.subproj/WebBaseNetscapePluginView.h:
        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView setHasFocus:]): new, sends events to plug-in
        (-[WebBaseNetscapePluginView becomeFirstResponder]): call setHasFocus
        (-[WebBaseNetscapePluginView resignFirstResponder]): ditto 
        (-[WebBaseNetscapePluginView viewWillMoveToWindow:]): ditto

2004-09-30  Chris Blumenberg  <cblu@apple.com>

	Fixed:
	Assertion failure when loading standalone netscape plug-in content.
	Document loads of WebKit plug-in content should be cancelled since the plug-in does its own loading.

        Reviewed by john.

        * Misc.subproj/WebKitErrors.m: removed deprecated method
        * Misc.subproj/WebKitErrorsPrivate.h:
        * Plugins.subproj/WebNetscapePluginDocumentView.m:
        (-[WebNetscapePluginDocumentView setDataSource:]): fixed the assertion statement
        * Plugins.subproj/WebPluginDocumentView.h:
        * Plugins.subproj/WebPluginDocumentView.m:
        (-[WebPluginDocumentView dealloc]): remove retained plug-in
        (-[WebPluginDocumentView setDataSource:]): retain the plug-in, cancel the laod

2004-09-29  Chris Blumenberg  <cblu@apple.com>
	
	Fixed:
	<rdar://problem/3763832> Safari-155: Non-Embeded movies fail to open in Cocoa QT plug-in
	<rdar://problem/3820517> "*** -[WebPluginPackage NPP_New]: selector not recognized [self = 0x5552c10]"

        Reviewed by rjw.

        * History.subproj/WebHistoryItem.m:
        * Misc.subproj/WebNSViewExtras.h:
        * Misc.subproj/WebNSViewExtras.m:
        (-[NSView _web_firstResponderCausesFocusDisplay]):
        (-[NSView _webView]):
        (-[NSView _frame]):
        (-[NSView _bridge]):
        (-[NSView _dataSource]):
        * Plugins.subproj/WebBasePluginPackage.h:
        * Plugins.subproj/WebBasePluginPackage.m:
        (-[WebBasePluginPackage hash]):
        (-[WebBasePluginPackage isQuickTimePlugIn]):
        * Plugins.subproj/WebNetscapePluginDocumentView.m:
        (-[WebNetscapePluginDocumentView setDataSource:]):
        * Plugins.subproj/WebNetscapePluginRepresentation.m:
        * Plugins.subproj/WebPluginController.h:
        * Plugins.subproj/WebPluginController.m:
        (-[WebPluginController initWithDocumentView:]):
        (-[WebPluginController addPlugin:]):
        (-[WebPluginController destroyAllPlugins]):
        (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
        (-[WebPluginController webPlugInContainerShowStatus:]):
        (-[WebPluginController webPlugInContainerSelectionColor]):
        (-[WebPluginController webFrame]):
        * Plugins.subproj/WebPluginDatabase.h:
        * Plugins.subproj/WebPluginDatabase.m:
        (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
        (-[WebPluginDatabase refresh]):
        (WebPluginDocumentView::while):
        * Plugins.subproj/WebPluginDocumentView.h: Added.
        * Plugins.subproj/WebPluginDocumentView.m: Added.
        (-[WebPluginDocumentView initWithFrame:]):
        (-[WebPluginDocumentView dealloc]):
        (-[WebPluginDocumentView drawRect:]):
        (-[WebPluginDocumentView setDataSource:]):
        (-[WebPluginDocumentView setNeedsLayout:]):
        (-[WebPluginDocumentView layout]):
        (-[WebPluginDocumentView currentWindow]):
        (-[WebPluginDocumentView viewWillMoveToWindow:]):
        (-[WebPluginDocumentView viewDidMoveToWindow]):
        (-[WebPluginDocumentView viewWillMoveToHostWindow:]):
        (-[WebPluginDocumentView viewDidMoveToHostWindow]):
        (-[WebPluginDocumentView receivedData:withDataSource:]):
        (-[WebPluginDocumentView receivedError:withDataSource:]):
        (-[WebPluginDocumentView finishedLoadingWithDataSource:]):
        (-[WebPluginDocumentView canProvideDocumentSource]):
        (-[WebPluginDocumentView documentSource]):
        (-[WebPluginDocumentView title]):
        * Plugins.subproj/npapi.m:
        (NPN_ReleaseVariantValue):
        (NPN_GetStringIdentifier):
        (NPN_GetStringIdentifiers):
        (NPN_GetIntIdentifier):
        (NPN_IdentifierIsString):
        (NPN_UTF8FromIdentifier):
        (NPN_IntFromIdentifier):
        (NPN_CreateObject):
        (NPN_RetainObject):
        (NPN_ReleaseObject):
        (NPN_Invoke):
        (NPN_InvokeDefault):
        (NPN_Evaluate):
        (NPN_GetProperty):
        (NPN_SetProperty):
        (NPN_RemoveProperty):
        (NPN_HasProperty):
        (NPN_HasMethod):
        (NPN_SetException):
        (NPN_Call):
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge frameRequiredForMIMEType:URL:]):
        * WebCoreSupport.subproj/WebViewFactory.m:
        * WebKit.exp:
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebDebugDOMNode.m:
        * WebView.subproj/WebDocumentInternal.h:
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView initWithFrame:]):
        * WebView.subproj/WebHTMLViewPrivate.h:
        * WebView.subproj/WebImageRepresentation.h:
        * WebView.subproj/WebRenderNode.m:
        * WebView.subproj/WebView.m:

2004-09-29  Richard Williamson   <rjw@apple.com>

	Fixed <rdar://problem/3779998> bringing window to front or sending to back does not send focus/blur events to JavaScript window object

	The fix has two parts, 1) make onblur and onfocus work for windows, 
        and 2), allow the dashboard to override WebKit's special key/non-key
        behaviors.

        Reviewed by Maciej.

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView restartNullEvents]):
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView addMouseMovedObserver]):
        (-[WebHTMLView removeMouseMovedObserver]):
        * WebView.subproj/WebView.m:
        (-[WebView _dashboardBehavior:]):
        * WebView.subproj/WebViewInternal.h:
        * WebView.subproj/WebViewPrivate.h:

2004-09-29  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by John.

	- consolidated OS version checks into prefix header

        * Misc.subproj/WebFileDatabase.m:
        (-[WebFileDatabase _createLRUList:]):
        (+[WebFileDatabase _syncLoop:]):
        * Misc.subproj/WebKitErrors.m:
        (registerErrors):
        * Misc.subproj/WebNSObjectExtras.h:
        (WebNSRetainCFRelease):
        * Misc.subproj/WebNSPasteboardExtras.m:
        (-[NSPasteboard _web_declareAndWriteDragImage:URL:title:archive:source:]):
        * Misc.subproj/WebUnicode.m:
        (_unicodeDirection):
        * WebCoreSupport.subproj/WebImageData.h:
        * WebCoreSupport.subproj/WebImageRenderer.h:
        * WebCoreSupport.subproj/WebKeyGenerator.h:
        * WebCoreSupport.subproj/WebNewKeyGeneration.c:
        * WebKitPrefix.h:
        * WebView.subproj/WebDataSource.m:
        (+[WebDataSource _repTypesAllowImageTypeOmission:]):
        (-[WebDataSource isLoading]):
        * WebView.subproj/WebFrameView.m:
        (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
        * WebView.subproj/WebHTMLView.m:
        * WebView.subproj/WebPDFRepresentation.h:
        * WebView.subproj/WebPDFRepresentation.m:
        * WebView.subproj/WebPDFView.h:
        * WebView.subproj/WebPDFView.m:

2004-09-29  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Hyatt

        Fix for this bug:
        
        <rdar://problem/3818296> REGRESSION (Mail): centerSelectionInVisibleArea does not work correctly

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView centerSelectionInVisibleArea:]): Now calls new centerSelectionInVisibleArea
        bridge function instead of ensureCaretVisible. Now handles caret selections and range
        selections correctly.

2004-09-28  Chris Blumenberg  <cblu@apple.com>

	Added timing code so that Doug can time RTF conversion. 

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView writeSelectionWithPasteboardTypes:toPasteboard:]):
        (-[WebHTMLView _attributeStringFromDOMRange:]):

2004-09-28  Richard Williamson   <rjw@apple.com>

        <rdar://problem/3817421> add getter for dashboard regions (debugging)
        
        <rdar://problem/3817417> NSScrollView need autoregions for dashboard
	Also KWQScrollBars

        Reviewed by Hyatt.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge dashboardRegionsChanged:]):
        * WebView.subproj/WebView.m:
        (-[WebView _setInitiatedDrag:]):
        (-[WebView _addScrollerDashboardRegions:from:]):
        (-[WebView _addScrollerDashboardRegions:]):
        (-[WebView _dashboardRegions]):
        * WebView.subproj/WebViewPrivate.h:

2004-09-27  John Sullivan  <sullivan@apple.com>

        - fixed <rdar://problem/3814705> 8A266: Safari authentication dialog "remember password" text should match Mail

        * Panels.subproj/English.lproj/WebAuthenticationPanel.nib:
        changed "Remember this password" to "Remember this password in my keychain";
        this will need to go through CCC for this week's build.

2004-09-27  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3594754> change null event interval from 20 ms to 10 ms to match speed on Windows

        Reviewed by John.

        * Plugins.subproj/WebBaseNetscapePluginView.m:

2004-09-27  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3502138> text files don't remember scroll position when going back or reloading

        Reviewed by john.

        * WebView.subproj/WebTextView.m:
        (-[WebTextView layout]): implemented, call sizeToFit, without this scrollPoint: won't work

2004-09-27  John Sullivan  <sullivan@apple.com>

        Reviewed by Ken.

        - WebKit part of fix for <rdar://problem/3734466> ER: Support standard editing keystrokes 
        like Cmd-B while editing rich text

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _toggleBold]):
        new method, toggles font-weight from "bold" to "normal"
        (-[WebHTMLView _toggleItalic]):
        new method, toggles font-style from "italic" to "normal"
        (-[WebHTMLView _handleStyleKeyEquivalent:]):
        new method, if the new preference is set and we're in an editable state, check for standard
        key equivalents for toggling styles (just command-B and command-I for now).
        (-[WebHTMLView performKeyEquivalent:]):
        Moved in file, now calls _handleStyleKeyEquivalent:
        
        * WebView.subproj/WebPreferenceKeysPrivate.h:
        new preference key WebKitRespectStandardStyleKeyEquivalentsPreferenceKey
        * WebView.subproj/WebPreferences.m:
        (+[WebPreferences initialize]):
        initial value of WebKitRespectStandardStyleKeyEquivalentsPreferenceKey is NO (maybe we'll
        change our minds about this, but this is more guaranteed to be backward-compatible)
        (-[WebPreferences respectStandardStyleKeyEquivalents]):
        read WebKitRespectStandardStyleKeyEquivalentsPreferenceKey
        (-[WebPreferences setRespectStandardStyleKeyEquivalents:]):
        write WebKitRespectStandardStyleKeyEquivalentsPreferenceKey
        
        * WebView.subproj/WebPreferencesPrivate.h:
        declare getter and setter
        
        * English.lproj/StringsNotToBeLocalized.txt:
        updated for these and other recent changes

2004-09-27  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3806649> assertion failure after control-click of webcam

        Reviewed by john.

        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultUIDelegate contextMenuItemsForElement:]): don't provide "Copy Image" if the image is not fully loaded

2004-09-27  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3814810> REGRESSION (125-164): Exception adding nil to dictionary in dragging code

        Reviewed by john.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _setMouseDownEvent:]): new
        (-[WebHTMLView acceptsFirstMouse:]): call _setMouseDownEvent
        (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): ditto
        (-[WebHTMLView mouseDown:]): ditto
        (-[WebHTMLView _delegateDragSourceActionMask]): removed temp fix, assert that the mouse event is not nil

2004-09-27  Darin Adler  <darin@apple.com>

        * WebKit.pbproj/project.pbxproj: Added WebDashboardRegion.h as a private header.

2004-09-24  Chris Blumenberg  <cblu@apple.com>

        Reviewed by rjw.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _selectedArchive]): added timing code for copying markup

=== Safari-165 ===

2004-09-24  Chris Blumenberg  <cblu@apple.com>

	Temp fix for: <rdar://problem/3814810> REGRESSION (125-164): Exception adding nil to dictionary in dragging code

        Reviewed by john.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _delegateDragSourceActionMask]): return none if the mouse down event is nil

2004-09-24  Ken Kocienda  <kocienda@apple.com>

        Reviewed by John

        Fix for this bug:
        
        <rdar://problem/3813917> REGRESSION (125-163): The font panel will change the font of any web page
        
        We were doing a laughably bad job at preventing edits in documents that were not editable.
        This change fixes the specific case of the bug mentioned above, and makes an attempt to
        fix similar bugs by checking for whether the view is in editing mode before making edits.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _canEdit]): Renamed from _canType. Used in many more places in the code now.
        (-[WebHTMLView _isMoveDrag]): Change around code to make the meaning more clear. This one
        was actually performing a correct check before.
        (-[WebHTMLView keyDown:]): Renamed _canType to _canEdit.
        (-[WebHTMLView paste:]): Don't beep if can't paste. This matches AppKit. Any paste-related beeps
        will come from failure to handle key equivalent. Menu validation will kick in to dim menu.
        (-[WebHTMLView _applyStyleToSelection:]): Bail if !_canEdit.
        (-[WebHTMLView pasteAsPlainText:]): Ditto.
        (-[WebHTMLView _alignSelectionUsingCSSValue:]): Ditto.
        (-[WebHTMLView insertNewline:]): Ditto.
        (-[WebHTMLView insertParagraphSeparator:]): Ditto.
        (-[WebHTMLView _changeWordCaseWithSelector:]): Ditto.
        (-[WebHTMLView _deleteWithDirection:granularity:killRing:]): Ditto.
        (-[WebHTMLView complete:]): Ditto.
        (-[WebHTMLView _changeSpellingToWord:]): Ditto. Some code rearranging to eliminate bridge local variable.
        (-[WebHTMLView ignoreSpelling:]): Ditto.
        (-[WebHTMLView yank:]): Bail if !_canEdit.
        (-[WebHTMLView yankAndSelect:]): Ditto.
        (-[WebHTMLView deleteToMark:]): Ditto.
        (-[WebHTMLView swapWithMark:]): Ditto.
        (-[WebHTMLView transpose:]): Ditto.
        (-[WebHTMLView _updateFontPanel]): Ditto. Some code rearranging to eliminate bridge local variable.
        (-[WebHTMLView setMarkedText:selectedRange:]): Bail if !_canEdit.
        (-[WebHTMLView _insertText:selectInsertedText:]): Ditto. Some code rearranging to eliminate bridge local variable.
        * WebView.subproj/WebHTMLViewPrivate.h: Renamed _canType to _canEdit.

2004-09-24  Ken Kocienda  <kocienda@apple.com>

        Reviewed by me

        * WebCoreSupport.subproj/WebDashboardRegion.h: Check in file copied from WebCore.

2004-09-23  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

	<rdar://problem/3685235> REGRESSION (Mail): links are not properly editable
        
        * WebView.subproj/WebDefaultUIDelegate.m: By default, don't allow
	link dragging if the element under the mouse pointer is
	editable. This way, you can drag-select starting inside a link.

2004-09-23  John Sullivan  <sullivan@apple.com>

        Reviewed by Chris.
        
        - WebKit part of fix for <rdar://problem/3415264> 
        Default encoding should initially be set to current system encoding

        * WebView.subproj/WebPreferences.m:
        (-[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]):
        new SPI that sets the initial value of the default text encoding to
        be the system encoding, with a special-case conversion of MacRoman->Latin1.
        This is not done automatically for WebKit clients for fear of breaking them.
        
        * WebView.subproj/WebPreferencesPrivate.h:
        declare new SPI

2004-09-23  Darin Adler  <darin@apple.com>

        Reviewed by Ken.

        - fixed <rdar://problem/3811584> REGRESSION (85-125): iframe.document undefined in function called from button onclick; works from img onclick

        The fix is to not let "defers callbacks" have any effect on loading "about:blank".
        I also had to fix one bug in WebCore that could then be reproduced by going to "about:blank"
        while using a button.

        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient connection:didReceiveResponse:]): Loosen asserts to allow this callback
        for the specific case of "about:blank" even if the defers callbacks flag is true.
        (-[WebMainResourceClient connectionDidFinishLoading:]): Ditto.
        (-[WebMainResourceClient loadWithRequestNow:]): Added NSURLRequest return value. Loosened asserts
        as above. Changed code to return a new request if we get a new request back that is not empty
        when the defers callbacks flag is true.
        (-[WebMainResourceClient loadWithRequest:]): If the defers callbacks flag is set, but the
        URL is one that gives us an empty document, then do the work right away, don't defer it.

2004-09-23  Darin Adler  <darin@apple.com>

        - fixed B&I builds by checking in generated file

        * WebCoreSupport.subproj/WebDashboardRegion.h: Added.

2004-09-22  Richard Williamson   <rjw@apple.com>

	Pass dashboard regions to UI delegate.

        Reviewed by Hyatt.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge dashboardRegionsChanged:]):
        * WebView.subproj/WebUIDelegatePrivate.h:
        * copy-webcore-files-to-webkit:

2004-09-22  Chris Blumenberg  <cblu@apple.com>

	Fixed build that I just broke.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]):

2004-09-22  Chris Blumenberg  <cblu@apple.com>

	<rdar://problem/3812091> REGRESSION (Mail): double-clicked word is not smart inserted on drag

        Reviewed by john.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): pass value for smartMove

2004-09-22  Chris Blumenberg  <cblu@apple.com>

	Fixed:
	<rdar://problem/3667301> Frequent crashes in Mail when viewing HTML messages (CFURLGetByteRangeForComponent)
	<rdar://problem/3810354> WebResourceLoadDelegate can't refuse requests by returning nil; code asserts/crashes instead

        Reviewed by rjw.

        * WebCoreSupport.subproj/WebSubresourceClient.m:
        (+[WebSubresourceClient startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]): removed broken code that handled loadWithRequest returning NO
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate loadWithRequest:]): if nil is returned from the client for willSendRequest, report the cancelled error and return

2004-09-22  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        * WebView.subproj/WebFrameView.m:
        (-[WebFrameView _webcore_effectiveFirstResponder]): New function to yield the correct responder
        to check for firstResponder-ness before calling makeFirstResonder. This helps to prevent 
        unwanted firstResponder switching.
        * WebView.subproj/WebView.m:
        (-[WebView _webcore_effectiveFirstResponder]): Ditto.

2004-09-21  Chris Blumenberg  <cblu@apple.com

	Fixed:
	<rdar://problem/3735071> REGRESSION (Mail): WebCore Editing must do smart paste
	<rdar://problem/3799163> REGRESSION (Mail): Deleting a word doesn't delete whitespace

        Reviewed by darin.

        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]): pass NO for smartReplace
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): pass parameter for smartReplace using _canSmartReplaceWithPasteboard
        (-[WebHTMLView _changeSpellingFromMenu:]): pass NO for smartReplace
        (-[WebHTMLView pasteboardTypesForSelection]): include WebSmartPastePboardType when _canSmartCopyOrDelete return YES
        (-[WebHTMLView writeSelectionWithPasteboardTypes:toPasteboard:]): ditto
        (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): pass parameter for smartReplace using _canSmartReplaceWithPasteboard
        (-[WebHTMLView delete:]): call _deleteSelection
        (-[WebHTMLView cut:]): don't call delegate twice, call _deleteRange to delete
        (-[WebHTMLView pasteAsPlainText:]): pass parameter for smartReplace using _canSmartReplaceWithPasteboard
        (-[WebHTMLView _changeWordCaseWithSelector:]): pass NO for smartReplace
        (-[WebHTMLView deleteBackward:]): call _deleteSelection when there is a selected range
        (-[WebHTMLView _changeSpellingToWord:]): pass NO for smartReplace
        (-[WebHTMLView deleteToMark:]): pass NO for smartDeleteOK
        (-[WebHTMLView transpose:]): pass NO for smartReplace
        (-[WebHTMLView _shouldDeleteRange:]): moved
        (-[WebHTMLView _deleteRange:preflight:killRing:prepend:smartDeleteOK:]): moved, handle smartDelete
        (-[WebHTMLView _deleteWithDirection:granularity:killRing:]): moved
        (-[WebHTMLView _deleteSelection]): new
	(-[WebHTMLView _canSmartReplaceWithPasteboard]): new
	(-[WebHTMLView _canSmartCopyOrDelete]): new
        (-[WebHTMLView setMarkedText:selectedRange:]): pass NO for smartReplace
        (-[WebHTMLView _discardMarkedText]): call _deleteSelection
        (-[WebTextCompleteController _insertMatch:]): pass NO for smartReplace
        (-[WebTextCompleteController endRevertingChange:moveLeft:]): pass NO for smartReplace
        * WebView.subproj/WebHTMLViewInternal.h:
        * WebView.subproj/WebView.m:
        (-[WebView _commonInitializationWithFrameName:groupName:]): set smartInsertDeleteEnabled to YES
        (-[WebView replaceSelectionWithNode:]): pass NO for smartReplace
        (-[WebView replaceSelectionWithText:]): pass NO for smartReplace
        (-[WebView replaceSelectionWithMarkupString:]): pass NO for smartReplace
        (-[WebView deleteSelection]): call _deleteSelection on WebHTMLView

2004-09-21  John Sullivan  <sullivan@apple.com>

        Reviewed by Darin.

        - WebKit part of fix for <rdar://problem/3618274> REGRESSION (125-135): 
        Option-tab doesn't always work as expected

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]):
        Don't set WebCoreKeyboardAccessFull when setting WebCoreKeyboardAccessTabsToLinks
        after all; these need to be tested independently to get the option-tab behavior
        correct.

2004-09-21  John Sullivan  <sullivan@apple.com>

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView doCommandBySelector:]):
        Commented out part of previous change; it breaks Mail editing until Mail
        fixes bug 3810158.

2004-09-21  John Sullivan  <sullivan@apple.com>

        Reviewed by Ken.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView doCommandBySelector:]):
        Fix build failure from previous checkin, d'oh! Didn't set up webview variable.

2004-09-21  John Sullivan  <sullivan@apple.com>

        Reviewed by Ken.
        
        - fixed <rdar://problem/3809477> WebHTMLView needs to pass doCommandBySelector through delegate

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView doCommandBySelector:]):
        Call through to editing delegate. If editing delegate returns YES, don't call super.

        * WebView.subproj/WebDefaultEditingDelegate.m:
        (-[WebDefaultEditingDelegate webView:doCommandBySelector:]):
        default implementation (which was never called) was returning YES, but it should
        return NO to signal that it didn't handle the selector.
        
2004-09-21  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3647229> Safari does not play inline Windows Media Content on some sites (miggy.net and ministryofsound.com)

        Reviewed by john.

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
        (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:MIMEType:attributeKeys:attributeValues:]): set the plug-in before calling setting the attributes, so we can avoid passing certain attributes to the WMP plug-in that cause it to crash

2004-09-20  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3781290> REGRESSION (Mail): Crash in ReplaceSelectionCommandImpl attaching file to new message

        Reviewed by kocienda.

        * WebView.subproj/WebView.m:
        (-[WebView setEditable:]): call updateSelectionFromEmpty on the bridge if there is no selection

2004-09-20  Chris Blumenberg  <cblu@apple.com>

	Changes to implement renamed bridge methods.

        Reviewed by darin.

        * ChangeLog:
        * DOM.subproj/WebDOMOperations.m:
        (-[DOMDocument URLWithAttributeString:]): call renamed bridge method
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:]): take 2 parameter arrays rather than 1 which will have to be parsed
        (-[WebBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]): ditto

2004-09-20  Darin Adler  <darin@apple.com>

        Reviewed by Chris.

        * WebView.subproj/WebFramePrivate.h: Added back.
        * WebView.subproj/WebFrameViewPrivate.h: Removed.

2004-09-20  Darin Adler  <darin@apple.com>

        Reviewed by Ken.

        - fixed <rdar://problem/3655360> REGRESSION (Mail): Ctrl-V emacs key binding, -pageDown: method, unimplemented (and pageUp, and selection-modifying versions)
        - fixed <rdar://problem/3792138> REGRESSION (Mail): Spell checker doesn't check current selected word

        * WebView.subproj/WebFrameViewInternal.h: Moved WebFrameViewPrivate inside the WebFrameView.m file.
        Removed a bunch of methods that don't need to be seen in other files, and added _verticalPageScrollDistance.
        * WebView.subproj/WebFrameViewPrivate.h: Removed. Renamed to WebFrameViewInternal.h.
        * WebView.subproj/WebFrameView.m:
        (-[WebFrameView _verticalKeyboardScrollDistance]): Move in the file because of internal vs. private.
        (-[WebFrameView _shouldDrawBorder]): Ditto.
        (-[WebFrameView _tile]): Ditto.
        (-[WebFrameView _verticalPageScrollDistance]): Added. Separate method so it can be called
        by the code to implement pageDown:.
        (-[WebFrameView _drawBorder]): Move in the file because of internal vs. private.
        (-[WebFrameView _goBack]): Ditto.
        (-[WebFrameView _goForward]): Ditto.
        (-[WebFrameView _scrollVerticallyBy:]): Ditto.
        (-[WebFrameView _scrollHorizontallyBy:]): Ditto.
        (-[WebFrameView _horizontalKeyboardScrollDistance]): Ditto.
        (-[WebFrameView _horizontalPageScrollDistance]): Added. Separate method for consistency with
        vertical method above.
        (-[WebFrameView _pageVertically:]): Moved and changed to use _verticalPageScrollDistance.
        (-[WebFrameView _pageHorizontally:]): Moved and changed to use _horizontalPageScrollDistance.
        (-[WebFrameView _scrollLineVertically:]): Move in the file because of internal vs. private.
        (-[WebFrameView _scrollLineHorizontally:]): Ditto.
        (-[WebFrameView scrollPageUp:]): Ditto.
        (-[WebFrameView scrollPageDown:]): Ditto.
        (-[WebFrameView scrollLineUp:]): Ditto.
        (-[WebFrameView scrollLineDown:]): Ditto.
        (-[WebFrameView _firstResponderIsControl]): Ditto.
        (-[WebFrameView keyDown:]): Changed to eliminate _pageLeft, _lineLeft, _pageRight, and _lineRight.

        * WebView.subproj/WebDataSource.m: Use WebFrameView.h instead of WebFrameViewPrivate.h.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _alterCurrentSelection:verticalDistance:]): Added.
        (-[WebHTMLView moveToBeginningOfDocument:]): Use WebSelectToDocumentBoundary.
        (-[WebHTMLView moveToBeginningOfDocumentAndModifySelection:]): Ditto.
        (-[WebHTMLView moveToEndOfDocument:]): Ditto.
        (-[WebHTMLView moveToEndOfDocumentAndModifySelection:]): Ditto.
        (-[WebHTMLView moveParagraphBackwardAndModifySelection:]): Added.
        (-[WebHTMLView moveParagraphForwardAndModifySelection:]): Added.
        (-[WebHTMLView pageUp:]): Added.
        (-[WebHTMLView pageDown:]): Added.
        (-[WebHTMLView pageUpAndModifySelection:]): Added.
        (-[WebHTMLView pageDownAndModifySelection:]): Added.
        (-[WebHTMLView showGuessPanel:]): Changed to call advanceToNextMisspellingStartingJustBeforeSelection.
        This fixes the problem with spell checking.

        * WebView.subproj/WebImageView.m:
        (-[WebImageView webView]): Changed to use _web_parentWebView.
        (-[WebImageView menuForEvent:]): Changed to use [self webView].
        (-[WebImageView mouseDown:]): Ditto.
        (-[WebImageView mouseDragged:]): Ditto.
        (-[WebImageView draggedImage:endedAt:operation:]): Ditto.

        * WebView.subproj/WebTextView.m:
        (-[WebTextView _textSizeMultiplierFromWebView]): Changed to use _web_parentWebView.
        (-[WebTextView menuForEvent:]): Ditto.
        (-[WebTextView drawPageBorderWithSize:]): Ditto.
        (-[WebTextView knowsPageRange:]): Ditto.

        * Plugins.subproj/WebPluginDatabase.m: Updated filename of WebFrameViewInternal.h.
        * WebCoreSupport.subproj/WebBridge.m: Ditto.
        * WebKit.pbproj/project.pbxproj: Ditto.
        * WebView.subproj/WebFrame.m: Ditto.
        * WebView.subproj/WebView.m: Ditto.
        * Misc.subproj/WebNSViewExtras.m: Ditto.

2004-09-20  Darin Adler  <darin@apple.com>

        Reviewed by Ken.

        - added helper method _web_parentWebView so fewer files need to get at WebFrame private methods

        * Misc.subproj/WebNSViewExtras.h: Added _web_parentWebView.
        * Misc.subproj/WebNSViewExtras.m: (-[NSView _web_parentWebView]): Added.

=== Safari-164 ===

2004-09-17  Chris Blumenberg  <cblu@apple.com>
	
    	Fixed:
	<rdar://problem/3805757> don't unnecessarily put RTFD on the pasteboard
	<rdar://problem/3805756> strip attachments before generating RTF

        Reviewed by john.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView writeSelectionWithPasteboardTypes:toPasteboard:]): only put RTFD on the pasteboard if it has attachments, strip attachments when writing RTF

2004-09-16  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed <rdar://problem/3804648> 8A262: Safari crashed in -[WebView(WebPrivate) _editingDelegateForwarder] inside QuickTime Cocoa Plug-in during WebView deallocation

        * WebView.subproj/WebView.m: (-[WebView _editingDelegateForwarder]):
        Check _private for nil before dereferencing it.

2004-09-16  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3779150> REGRESSION: images not copied when copying HTML in Safari and pasting into TextEdit

        Reviewed by john.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView writeSelectionWithPasteboardTypes:toPasteboard:]): use RTFDFromRange:: for RTFD
        * WebView.subproj/WebHTMLViewPrivate.h:

2004-09-15  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed assertion I saw using the font panel

        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _colorAsString:]):
        Convert color space before trying to get R, G, and B components.

2004-09-15  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3802232> REGRESSION (Mail): WebCore Editing must do smart copy
	
        Reviewed by kocienda.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _writeSelectionToPasteboard:]): call instance method not class method to get pasteboard types since the types depends on the current selection granularity
        (-[WebHTMLView pasteboardTypesForSelection]): if the selection granularity is "word" include the smart pasteboard type
        (-[WebHTMLView writeSelectionWithPasteboardTypes:toPasteboard:]): put nil on the pasteboard for smart copy

2004-09-14  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed <rdar://problem/3788894> REGRESSION (Mail): ctrl-t emacs key binding does not work (transpose)
        - fixed <rdar://problem/3798946> REGRESSION (Mail): Cursor does not disappear when typing

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView keyDown:]): Hide cursor by calling setHiddenUntilMouseMoves:YES.
        (-[WebHTMLView transpose:]): Added.

2004-09-14  Richard Williamson   <rjw@apple.com>

        1.  Add class parameter to object allocation function.  This is somewhat redundant, given that
        the allocation function is in the class function vector, but people wanted to use the same
        allocation function for different classes.
        
        2.  Renamed NPN_Class to NPN_Invoke to match the name in the function vector.
        
        3.  Add support for a default function on an object.  This is a feature that ActiveX supports,
        and will allow JavaScript code to be written that will look exactly the same for both ActiveX
        plugins and Netscape or WebKit plugins.  There are implementations included for the 'C' and
        'Objective-C' bindings.
        
        There bugs are covered by
        
        <rdar://problem/3776343> Support for default functions in the JavaScript bindings
        <rdar://problem/3779186> NPN_Call needs to be renamed to NPN_Invoke
        <rdar://problem/3674754> Need to implement latest npruntime.h

        Reviewed by John.

        * Plugins.subproj/WebNetscapePluginPackage.m:
        (-[WebNetscapePluginPackage load]):
        * Plugins.subproj/WebScriptObject.h:
        * Plugins.subproj/npfunctions.h:
        * Plugins.subproj/npruntime.h:

2004-09-13  Richard Williamson   <rjw@apple.com>

        D'oh.  How many times can I screw up a simple fix!

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer initWithFont:usingPrinterFont:]):

2004-09-13  Richard Williamson   <rjw@apple.com>

        Fixed snafu from 3782533 checkin.
        
        Reviewed by John.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer initWithFont:usingPrinterFont:]):

2004-09-12  Chris Blumenberg  <cblu@apple.com>

	Support for: <rdar://problem/3794790> drop rate or time remaining from download status when window is too small to fit it

        Reviewed by john.

        * Misc.subproj/WebStringTruncator.h:
        * Misc.subproj/WebStringTruncator.m:
        (+[WebStringTruncator widthOfString:font:]): new

2004-09-10  Richard Williamson   <rjw@apple.com>

        Fixed <rdar://problem/3782533> CrashTracer: .1459 crashes at com.apple.WebKit: -[WebTextRenderer initWithFont:usingPrinterFont:] + 0x138

        We were explicitly failing when we encountered deprecated fonts.
        (Those with unsupported glyph packings).
        Deprecated fonts should only appear on a system that have 
        stuff migrated from OS 9.  Ugh, thats probably why we've never seen
        the problem here.
        
        Reviewed by John.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer initWithFont:usingPrinterFont:]):

2004-09-10  John Sullivan  <sullivan@apple.com>

        Reviewed by Chris.
        
        - added _isFrameSet as a private method, so it can be used in WebBrowser.
        This is needed to merge the fix for 3123987 to SUPanNavy.

        * WebView.subproj/WebFrame.m:
        (-[WebFrame _isFrameSet]):
        new method
        
        * WebView.subproj/WebFramePrivate.h:
        declare new method

2004-09-09  Chris Blumenberg  <cblu@apple.com>

	Support for: <rdar://problem/3795485> debug menu item to enable RSS animation on first layout

        Reviewed by rjw.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge didFirstLayout]): new
        * WebView.subproj/WebDefaultFrameLoadDelegate.m:
        (-[WebDefaultFrameLoadDelegate webView:didFirstLayoutInFrame:]): new
        * WebView.subproj/WebViewPrivate.h:

2004-09-09  Richard Williamson   <rjw@apple.com>

        Alternate implementation of image rendering.  Use CGImageRefs instead
        of NSImages.
        
        Mostly works, but currently disabled because of issues w/ CG.
        
        Reviewed by Chris.

        * ChangeLog:
        * WebCoreSupport.subproj/WebImageData.h: Added.
        * WebCoreSupport.subproj/WebImageData.m: Added.
        (-[WebImageData _commonTermination]):
        (-[WebImageData dealloc]):
        (-[WebImageData finalize]):
        (-[WebImageData copyWithZone:]):
        (-[WebImageData numberOfImages]):
        (-[WebImageData currentFrame]):
        (-[WebImageData _invalidateImages]):
        (-[WebImageData imageAtIndex:]):
        (-[WebImageData incrementalLoadWithBytes:length:complete:]):
        (drawPattern):
        (-[WebImageData tileInRect:fromPoint:context:]):
        (-[WebImageData isNull]):
        (-[WebImageData size]):
        (-[WebImageData _frameDuration]):
        (-[WebImageData _repetitionCount]):
        (-[WebImageData isAnimationFinished]):
        (+[WebImageData stopAnimationsInView:]):
        (-[WebImageData addAnimatingRenderer:inView:]):
        (-[WebImageData removeAnimatingRenderer:]):
        (-[WebImageData _stopAnimation]):
        (-[WebImageData _nextFrame:]):
        (-[WebImageData animate]):
        * WebCoreSupport.subproj/WebImageRenderer.h:
        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer initWithMIMEType:]):
        (-[WebImageRenderer initWithData:MIMEType:]):
        (-[WebImageRenderer initWithContentsOfFile:]):
        (-[WebImageRenderer dealloc]):
        (-[WebImageRenderer copyWithZone:]):
        (-[WebImageRenderer retainOrCopyIfNeeded]):
        (-[WebImageRenderer resize:]):
        (-[WebImageRenderer size]):
        (-[WebImageRenderer MIMEType]):
        (-[WebImageRenderer frameCount]):
        (-[WebImageRenderer isNull]):
        (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
        (-[WebImageRenderer drawImageInRect:fromRect:]):
        (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
        (-[WebImageRenderer tileInRect:fromPoint:context:]):
        (-[WebImageRenderer _startOrContinueAnimationIfNecessary]):
        (+[WebImageRenderer stopAnimationsInView:]):
        (-[WebImageRenderer stopAnimation]):
        (-[WebImageRenderer targetAnimationRect]):
        (-[WebImageRenderer increaseUseCount]):
        (-[WebImageRenderer decreaseUseCount]):
        (-[WebImageRenderer flushRasterCache]):
        (-[WebImageRenderer imageRef]):
        (-[WebImageRenderer TIFFRepresentation]):
        (-[WebImageRenderer image]):
        * WebCoreSupport.subproj/WebImageRendererFactory.m:
        (-[WebImageRendererFactory imageRendererWithMIMEType:]):
        (-[WebImageRendererFactory imageRendererWithData:MIMEType:]):
        (-[WebImageRendererFactory imageRendererWithSize:]):
        (-[WebImageRendererFactory imageRendererWithName:]):
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebImageView.m:
        (-[WebImageView image]):

=== Safari-163 ===

2004-09-09  Maciej Stachowiak  <mjs@apple.com>

        - rolled out last two changes, they seem to cause a performance regression

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView firstRectForCharacterRange:]):

2004-09-09  Maciej Stachowiak  <mjs@apple.com>

        - fixed build

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView firstRectForCharacterRange:]):

2004-09-08  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Dave.

	WebKit part of fix for:
	
	<rdar://problem/3759187> REGRESSION (Mail): implement firstRectForCharacterRange:

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView firstRectForCharacterRange:]): Call the appropriate new bridge method,
	and translate to screen coordinates.

2004-09-09  Darin Adler  <darin@apple.com>

        Reviewed by Ken.

        - fixed <rdar://problem/3790526> mark-related methods not implemented (needed for people with them in their key bindings files)

        * WebKit.pbproj/project.pbxproj: Update MACOSX_DEPLOYMENT_TARGET to 10.3 and add -fobjc-exceptions
        so we can use new exceptions.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView setMark:]): Added.
        (unionDOMRanges): Added.
        (-[WebHTMLView deleteToMark:]): Added.
        (-[WebHTMLView selectToMark:]): Added.
        (-[WebHTMLView swapWithMark:]): Added.
        (-[WebHTMLView markedRange]): Updated for change to bridge method names.
        (-[WebHTMLView hasMarkedText]): Ditto.
        (-[WebHTMLView unmarkText]): Ditto.
        (-[WebHTMLView _selectMarkedText]): Ditto.
        (-[WebHTMLView _selectRangeInMarkedText:]): Ditto.
        (-[WebHTMLView setMarkedText:selectedRange:]): Ditto.
        (-[WebHTMLView _insertText:selectInsertedText:]): Removed check for empty string. An empty string
        should not be filtered out here. We need to allow inserting an empty string.
        (-[WebHTMLView _selectionIsInsideMarkedText]): Updated for change to bridge method names.
        (-[WebHTMLView _updateSelectionForInputManager]): Ditto.

        * WebView.subproj/WebView.m: (-[WebView searchFor:direction:caseSensitive:wrap:]):
        Changed to use selectionDOMRange instead of selectionStart.

        * WebView.subproj/WebHTMLRepresentation.h: Removed unused setSelectionFrom method.
        * WebView.subproj/WebHTMLRepresentation.m: Ditto.

2004-09-08  John Sullivan  <sullivan@apple.com>

        Reviewed by Darin.
        
        - fixed the localization aspect of: 
        <rdar://problem/3790011> undoable operations all say "Undo" in the menu, no specific action names
        
        We now have all the strings ready for localization; we just don't actually use them yet.

        * English.lproj/Localizable.strings:
        updated for this change
        
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge setUndoActionNamePlaceholder]):
        added this placeholder method whose purpose is to hold localizable strings for all the Undo
        action names that NSTextView uses. Later we will use some or all of these, but we can do
        that part after the localization freeze.

2004-09-08  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3778785> REGRESSION (Mail): copying from MS word and pasting into editable region leaves internal clipboard data

        Reviewed by kocienda.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): ignore Microsoft's header meta data

2004-09-08  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3792893> WebBaseResourceHandleDelegate always returns cached data for subresource loads

        Reviewed by rjw.

        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate _canUseResourceForRequest:]): new
        (-[WebBaseResourceHandleDelegate loadWithRequest:]): call _canUseResourceForRequest:

2004-09-08  Chris Blumenberg  <cblu@apple.com>

	Forgot to add this in previous check-in.	

        * English.lproj/WebViewEditingContextMenu.nib: Added.

2004-09-08  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3791240> WebKit uses the NSTextViewContextMenu nib from inside AppKit

        Reviewed by john.

        * English.lproj/StringsNotToBeLocalized.txt:
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultUIDelegate editingContextMenuItemsForElement:]): use our copy of the nib

2004-09-07  Darin Adler  <darin@apple.com>

        * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.

2004-09-07  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3790143> exception raised when dragging a URL with 2-byte characters

	(checked in with last check-in)

2004-09-07  Chris Blumenberg  <cblu@apple.com>

	Fixed:
	<rdar://problem/3080103> Need to pass cmd-modified keys to plug-ins
	<rdar://problem/3751509> can't use safari edit menu to copy and paste with Vantage Learning's My Access

        Reviewed by john.

        * Plugins.subproj/WebBaseNetscapePluginView.m: fake up command-key events for cut, copy, paste and select all so these menu items work for plug-ins
        (-[WebBaseNetscapePluginView sendModifierEventWithKeyCode:character:]):
        (-[WebBaseNetscapePluginView cut:]):
        (-[WebBaseNetscapePluginView copy:]):
        (-[WebBaseNetscapePluginView paste:]):
        (-[WebBaseNetscapePluginView selectAll:]):

2004-09-07  Darin Adler  <darin@apple.com>

        - fixed deployment build

        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _deleteWithDirection:granularity:killRing:]):
        Initialize prepend variable.

2004-09-06  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed <rdar://problem/3696542> REGRESSION (Mail): Editable WebKit doesn't support underline yet (in the iChat profile window, at least)
        - fixed <rdar://problem/3780249> REGRESSION (Mail): copy style/paste style doesn't work in HTML editing in Mail
        - fixed <rdar://problem/3788857> REGRESSION (Mail): Home and End keys don't work in message composer
        - fixed <rdar://problem/3788884> REGRESSION (Mail): ctrl-d emacs key binding does not work (delete forward)
        - fixed <rdar://problem/3788890> REGRESSION (Mail): ctrl-k emacs key binding does not work (delete to end of paragraph)
        - fixed <rdar://problem/3788899> REGRESSION (Mail): ctrl-y emacs key binding does not work (yank)
        - fixed <rdar://problem/3788901> REGRESSION (Mail): ctrl-o emacs key binding does not work (insert newline in front of insertion point)
        - fixed <rdar://problem/3788908> REGRESSION (Mail): ctrl-left-arrow emacs key binding does not work (move to beginning of line)
        - fixed <rdar://problem/3788913> REGRESSION (Mail): ctrl-right-arrow emacs key binding does not work (move to end of line)
        - implemented a first cut at other attribute changes from Text Panel besides underline (bugs?)
        - dealt with a couple of FIXMEs in WebHTMLView.m
        - updated list of not-yet-implemented methods in WebHTMLView.m
        - fixed many deletion operations to call the correct editing delegate methods

        * WebView.subproj/WebFrameViewPrivate.h: Remove _scrollToTopLeft and _scrollToBottomLeft.
        No one was calling them anyway, so they should really have been marked internal and not private.
        * WebView.subproj/WebFrameView.m:
        (-[WebFrameView scrollToBeginningOfDocument:]): Renamed _scrollToTopLeft to this, so the home key
        would start working with the key bindings machinery.
        (-[WebFrameView scrollToEndOfDocument:]): Same thing, for end key.
        (-[WebFrameView keyDown:]): Update for name changes, and also make sure we don't try to grab
        control-arrow keys here (probably not necessary, but good anyway).

        * WebView.subproj/WebHTMLViewInternal.h: Added keyDownEvent field, and startNewKillRingSequence
        and nextResponderDisabledOnce flags.
        * WebView.subproj/WebHTMLView.m:
        Rearrange declarations at the top of the file so that external things are up with
        the #import directives and things inside this file are declared below.
        (-[WebHTMLView _shouldReplaceSelectionWithText:givenAction:]): Ditto.
        (-[WebHTMLView _calculatePrintHeight]): Moved up into the "internal to file" category.
        (-[WebHTMLView _updateTextSizeMultiplier]): Ditto.
        (-[WebHTMLView _selectedRange]): Added.
        (-[WebHTMLView _openLinkFromMenu:]): Left this method lying around even though I deleted the
        other APPKIT_CODE_FOR_REFERENCE in case this shows up in the context menu we are now sharing
        with the AppKit. Chris will look at this later, and he can delete it then.
        (+[WebHTMLView initialize]): Call _NSInitializeKillRing.
        (-[WebHTMLView _documentRange]): Added.
        (-[WebHTMLView string]): Call the bridge to get the plain text rather than making an attributed
        string and then getting the text from there.
        (-[WebHTMLView becomeFirstResponder]): Set startNewKillRingSequence flag, so that new deletions
        will create a new kill ring entry.
        (-[WebHTMLView moveToBeginningOfDocument:]): Use backward direction instead of left direction.
        (-[WebHTMLView moveToBeginningOfDocumentAndModifySelection:]): Ditto.
        (-[WebHTMLView moveToBeginningOfLine:]): Ditto.
        (-[WebHTMLView moveToBeginningOfLineAndModifySelection:]): Ditto.
        (-[WebHTMLView moveToBeginningOfParagraph:]): Ditto, also use WebSelectToParagraphBoundary.
        (-[WebHTMLView moveToBeginningOfParagraphAndModifySelection:]): Ditto.
        (-[WebHTMLView moveToEndOfDocument:]): Use forward direction instead of right direction.
        (-[WebHTMLView moveToEndOfDocumentAndModifySelection:]): Ditto.
        (-[WebHTMLView moveToEndOfLine:]): Ditto.
        (-[WebHTMLView moveToEndOfLineAndModifySelection:]): Ditto.
        (-[WebHTMLView moveToEndOfParagraph:]): Ditto, also use WebSelectToParagraphBoundary.
        (-[WebHTMLView moveToEndOfParagraphAndModifySelection:]): Ditto.
        (-[WebHTMLView _shouldDeleteRange:]): Added.
        (-[WebHTMLView _deleteRange:preflight:killRing:prepend:]): Added.
        (-[WebHTMLView delete:]): Changed to call new _deleteRange method.
        (-[WebHTMLView cut:]): Changed to preflight property and call new _deleteRange method.
        (-[WebHTMLView _selectionFontAttributes]): Added.
        (-[WebHTMLView _selectionFontAttributesAsRTF]): Added.
        (-[WebHTMLView _fontAttributesFromFontPasteboard]): Added.
        (-[WebHTMLView _emptyStyle]): Added.
        (-[WebHTMLView _styleFromFontAttributes:]): Added.
        (-[WebHTMLView _applyStyleToSelection:]): Added.
        (-[WebHTMLView copyFont:]): Implemented.
        (-[WebHTMLView pasteFont:]): Implemented.
        (-[WebHTMLView _originalFontA]): Added.
        (-[WebHTMLView _originalFontB]): Added.
        (-[WebHTMLView _addToStyle:fontA:fontB:]): Added. Has code from the method that figures out
        what the font manager is doing for changeFont:, now needed for changeAttribute: too.
        (-[WebHTMLView _styleFromFontManagerOperation]): Renamed and now calls shared methods.
        (-[WebHTMLView changeFont:]): Call shared method, still does the same thing.
        (-[WebHTMLView _colorAsString:]): Added. Has code from the method we were using with the
        color panel before.
        (-[WebHTMLView _shadowAsString:]): Added.
        (-[WebHTMLView _styleForAttributeChange:]): Added.
        (-[WebHTMLView changeAttributes:]): Implemented.
        (-[WebHTMLView _styleFromColorPanelWithSelector:]): Renamed and now calls shared methods.
        (-[WebHTMLView _changeCSSColorUsingSelector:inRange:]): Call method by new name.
        (-[WebHTMLView changeDocumentBackgroundColor:]): Call method by new name.
        (-[WebHTMLView changeColor:]): Changed around a bit; still doesn't work yet.
        (-[WebHTMLView _alignSelectionUsingCSSValue:]): Call shared methods.
        (-[WebHTMLView indent:]): Removed, since NSTextView doesn't implement this method. Added to list
        of methods to possibly implement later in the file.
        (-[WebHTMLView insertTab:]): Call insertText: to save code and so we get WebViewInsertActionTyped
        instead of WebViewInsertActionPasted.
        (-[WebHTMLView changeCaseOfLetter:]): Removed, since NSTextView doesn't implement this method.
        Added to list of methods to possibly implement later in the file.
        (-[WebHTMLView _deleteWithDirection:granularity:killRing:]): Added.
        (-[WebHTMLView deleteForward:]): Implemented. This makes Control-D work.
        (-[WebHTMLView deleteBackwardByDecomposingPreviousCharacter:]): Implemented by just calling
        deleteBackward for now; probably better than doing nothing.
        (-[WebHTMLView deleteWordForward:]): Changed to call new _delete method above. Fixes things
        so that we delete the selection if there is one, get the appropriate delegate calls, handle
        the kill ring properly, and don't do any selection if we can't delete.
        (-[WebHTMLView deleteWordBackward:]): Ditto.
        (-[WebHTMLView deleteToBeginningOfLine:]): Ditto.
        (-[WebHTMLView deleteToEndOfLine:]): Ditto.
        (-[WebHTMLView deleteToBeginningOfParagraph:]): Ditto.
        (-[WebHTMLView deleteToEndOfParagraph:]): Ditto. Added additional behavior needed since this
        is bound to Control-K, so it's not really just delete to end of paragraph.
        (-[WebHTMLView insertNewlineIgnoringFieldEditor:]): Added. Calls insertNewline:.
        (-[WebHTMLView insertTabIgnoringFieldEditor:]): Added. Calls insertTab:.
        (-[WebHTMLView subscript:]): Added.
        (-[WebHTMLView superscript:]): Added.
        (-[WebHTMLView unscript:]): Added.
        (-[WebHTMLView underline:]): Added.
        (-[WebHTMLView yank:]): Added.
        (-[WebHTMLView yankAndSelect:]): Added. Calls _insertText.
        (-[WebHTMLView _arrowKeyDownEventSelectorIfPreprocessing:]): Added. Part of workaround for
        control-arrow key trouble.
        (-[WebHTMLView respondsToSelector:]): Added. More of workaround.
        (-[WebHTMLView nextResponder:]): Added. More of workaround.
        (-[WebHTMLView _selectionChanged]): Set startNewKillRingSequence flag, so that new deletions
        will create a new kill ring entry.
        (-[WebHTMLView _updateFontPanel]): Remove a bunch of code here that wasn't working very well
        because it walked a DOM range incorrectly, and instead use the new method that does all the
        right stuff on the other side of the bridge.
        (-[WebHTMLView _insertText:selectInsertedText:]): Added new helper method for use by both
        insertText and yankAndSelect, with most of the guts of insertText and one additional parameter.
        (-[WebHTMLView insertText:]): Call the new _insertText.

        * WebView.subproj/WebView.m: Use macros to make the forwarding from WebView more terse.
        Updated the list to include a few methods it didn't before.

2004-09-06  John Sullivan  <sullivan@apple.com>

        Reviewed by Darin.
        
        - put preference keys in a private header file so Safari can use them for Managed Preferences

        * WebView.subproj/WebPreferenceKeysPrivate.h:
        new Private header file, includes the #defines for NSUserDefaults preference keys
        
        * WebView.subproj/WebPreferences.m:
        moved the preference key #defines out of here; now imports WebPreferenceKeysPrivate.h

        * WebKit.pbproj/project.pbxproj:
        updated for new file

2004-09-03  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3782543> CrashTracer: ...87 crashes at com.apple.WebKit: -[WebNetscapePluginPackage initWithPath:] + 0x18c

        Reviewed by john.

        * Plugins.subproj/WebNetscapePluginPackage.m:
        (-[WebNetscapePluginPackage initWithPath:]): make sure the file is at least 8 bytes long before calling memcmp

2004-09-03  Chris Blumenberg  <cblu@apple.com>
	
	Fixed:
	<rdar://problem/3788328> assertion failure when moving an image
	<rdar://problem/3783628> REGRESSION (Mail): when I try to reorder an image, the image is duplicated

        * DOM.subproj/WebDOMOperations.m:
        (-[DOMDocument _createRangeWithNode:]): new, convenience
        (-[DOMDocument _documentRange]): use _ createRangeWithNode:
        * DOM.subproj/WebDOMOperationsPrivate.h:
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): set the selection to the image when starting the drag. This allows "move selection" to work and this matches NSText's behavior

=== Safari-162 ===

2004-09-02  Richard Williamson   <rjw@apple.com>

        Support for patterns in <canvas>.  
        (These changes attempt to create a CGImageRef from a WebImageRenderer that
        is used by the pattern drawing function.)
        
        Reviewed by Hyatt.

        * WebCoreSupport.subproj/WebImageRenderer.h:
        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer dealloc]):
        (-[WebImageRenderer finalize]):
        (-[WebImageRenderer imageRef]):
        (_createImageRef):
        * WebView.subproj/WebPDFView.h:
        * WebView.subproj/WebPDFView.m:

2004-09-01  Chris Blumenberg  <cblu@apple.com>

	Fixed deployment build failure.

        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultUIDelegate menuItemWithTag:]):

2004-08-31  Chris Blumenberg  <cblu@apple.com>

	Fixed: 
	<rdar://problem/3699498> Context menu for editable WebViews should provide items like Cut and Paste
	<rdar://problem/3781535> REGRESSION (Mail): no context menu after ctrl-clicking a misspelled word

        Reviewed by kocienda.

        * English.lproj/Localizable.strings:
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultUIDelegate menuItemWithTag:]): updated to handle new menu items
        (-[WebDefaultUIDelegate contextMenuItemsForElement:]): renamed from webView:contextMenuItemsForElement:defaultMenuItems:
        (-[WebDefaultUIDelegate editingContextMenuItemsForElement:]): new
        (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): moved, now call contextMenuItemsForElement: or editingContextMenuItemsForElement:
        * WebView.subproj/WebDefaultUIDelegate.h:
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _isSelectionMisspelled]): new
        (-[WebHTMLView _guessesForMisspelledSelection]): new
        (-[WebHTMLView _changeSpellingFromMenu:]): new
        (-[WebHTMLView _ignoreSpellingFromMenu:]): new
        (-[WebHTMLView _learnSpellingFromMenu:]): new
        * WebView.subproj/WebHTMLViewPrivate.h:
        * WebView.subproj/WebUIDelegate.h:

2004-08-31  Darin Adler  <darin@apple.com>

        - fixed B&I build failure

        * WebView.subproj/WebHTMLView.m: (-[WebTextCompleteController _buildUI]):
        Work around unwanted warning by adding a cast.

2004-08-27  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by John.

	<rdar://problem/3778314> REGRESSION: Can't proceed to survey questions on Lominger's Apple website
        
	Because we will stop parsing when there is a pending redirection,
	avoid setting one if no navigation would actually take place
	because the number of steps is out of range.

	* WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge canGoBackOrForward:]):

2004-08-30  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - part of fix for <rdar://problem/3637519> REGRESSION (125-128): unrepro crash in QListBox::sizeForNumberOfLines at istweb.apple.com

        * WebCoreSupport.subproj/WebTextRendererFactory.m: (-[WebTextRendererFactory clearCaches]):
        Call [super clearCaches].

2004-08-30  Darin Adler  <darin@apple.com>

        Reviewed by Chris.

        - did work to prepare for uploading files incrementally when submitting forms

        * History.subproj/WebHistoryItem.m:
        (-[WebHistoryItem _setFormInfoFromRequest:]): Use NSArray instead of NSData for form data.
        (-[WebHistoryItem formData]): Ditto.
        * History.subproj/WebHistoryItemPrivate.h: Ditto.
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]): Ditto.
        (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): Ditto.
        (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): Ditto.
        * WebCoreSupport.subproj/WebSubresourceClient.h: Ditto.
        * WebCoreSupport.subproj/WebSubresourceClient.m:
        (+[WebSubresourceClient startLoadingResource:withURL:customHeaders:postData:referrer:forDataSource:]): Ditto.
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _loadItem:withLoadType:]): Ditto.
        (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): Ditto.
        * WebView.subproj/WebFramePrivate.h: Ditto.

        * WebView.subproj/WebFormDataStream.h: Added.
        * WebView.subproj/WebFormDataStream.m:
        (-[WebFormDataStream initWithFormDataArray:]): Placeholder; not done yet.
        (-[WebFormDataStream formDataArray]): Ditto.
        * WebKit.pbproj/project.pbxproj: Added WebFormDataStream files.

2004-08-30  John Sullivan  <sullivan@apple.com>

        Reviewed by Ken.

        - WebKit part of fix for <rdar://problem/3607720> myFrame.print() prints the window 
        but should only print the frame

        * WebView.subproj/WebUIDelegatePrivate.h:
        declare new delegate method that includes which frame to print

        * WebView.subproj/WebDefaultUIDelegate.m:
        (-[WebDefaultUIDelegate webView:printFrameView:]):
        implement default (no-op) version of new delegate method

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge print]):
        call new delegate method if available, otherwise call old delegate method, for
        backward compatibility.

2004-08-27  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by John. 
        Checked in by Ken
        
        Ken comments: It looks like Maciej forgot to land this when he checked in the
        WebCore portion of this change.

        <rdar://problem/3778314> REGRESSION: Can't proceed to survey questions on Lominger's Apple website
            
        Because we will stop parsing when there is a pending redirection,
        avoid setting one if no navigation would actually take place
        because the number of steps is out of range.
    
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge canGoBackOrForward:]):

2004-08-27  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Chris

        Fix for this bug:
        
        <rdar://problem/3756997> WebKit aggressive in making pasted text into a URL, even when it's not much like a URL

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): Don't try so hard to coerce data
        on the pasteboard into a URL, and do not make an anchor with an href for any URLs that are 
        explicitly present on the pasteboard. Also, move URL pasteboard type check beneath the RTF
        checks.

=== Safari-161 ===

2004-08-26  Chris Blumenberg  <cblu@apple.com>

	Fixed build failure on Panther.

        Reviewed by john.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): ifdef'd out call to AppKit SPI
        (-[WebHTMLView _attributeStringFromDOMRange:]): ditto

2004-08-26  Chris Blumenberg  <cblu@apple.com>

	Tweak to last check-in.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]):

2004-08-26  Chris Blumenberg  <cblu@apple.com>

	Fixed: 
	<rdar://problem/3546412> support for pasting and drag and dropping of RTF and RTFD to editable WebViews
	<rdar://problem/3745345> use AppKit for converting from DOM to RTF

        Reviewed by rjw.

        * DOM.subproj/WebDOMOperations.m:
        (-[DOMDocument _documentRange]): new
        * DOM.subproj/WebDOMOperationsPrivate.h:
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): call AppKit SPI to get a document fragment from an attributed string
        (-[WebHTMLView string]): added a FIXME
        (-[WebHTMLView _attributeStringFromDOMRange:]): new, calls AppKit SPI that creates an attributed string from a DOM Range
        (-[WebHTMLView attributedString]): call _attributeStringFromDOMRange:, fallback to old code if it returns nil
        (-[WebHTMLView selectedAttributedString]): ditto

2004-08-26  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3774178> Plugin hooks for selected state aren't being called

        Reviewed by darin.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge setIsSelected:forView:]): don't forget colons in method names

2004-08-26  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3768439> can't click in WebView in Carbon WebKit apps (GetEventPlatformEventRecord returns false)

        Reviewed by rjw.

        * Carbon.subproj/HIWebView.m:
        (Click): use WebGetEventPlatformEventRecord not GetEventPlatformEventRecord
        (MouseUp): ditto
        (MouseMoved): ditto
        (MouseDragged): ditto
        (MouseWheelMoved): ditto
        (WindowHandler): ditto
        (HIWebViewEventHandler): ditto
        (UpdateObserver): ditto
        (WebGetEventPlatformEventRecord): Call GetEventPlatformEventRecord, if that fails fallback to the current event. This is code Eric Schlegel to me to use. 

2004-08-24  Chris Blumenberg  <cblu@apple.com>

	Fixed with help from Trey:
	<rdar://problem/3764856> REGRESSION !25-154): Safari accepts mouse clicks (follows links) when not key

        Reviewed by rjw.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _isSelectionEvent:]): brought back from CVS
        (-[WebHTMLView acceptsFirstMouse:]): only call eventMayStartDrag if _isSelectionEvent returns YES since we only want to allow selection dragging on the first mouse down
        (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): ditto

2004-08-24  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Hyatt

        Improved the checks used to see if certain operations can be done based
        on the state of the selection and whether the selection is editable. I
        added some helpers and improved some others to assist in making these
        determinations.
        
        This helps to fix this bug:
        <rdar://problem/3764987> Crash after adding newline to quoted text
        
        Since some editing methods expect the the selection to be in a certain state 
        in order to work, these checks help obviate crashes like 3764987.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _writeSelectionToPasteboard:]): _haveSelection name changed to _hasSelection.
        (-[WebHTMLView _canCopy]): Checks to see if state is appropriate to perform this operation.
        (-[WebHTMLView _canCut]): Ditto. Function added.
        (-[WebHTMLView _canDelete]): Ditto. Function refined.
        (-[WebHTMLView _canPaste]): Ditto. Function refined.
        (-[WebHTMLView _canType]): Ditto. Function added.
        (-[WebHTMLView _hasSelection]): Name changed from _haveSelection.
        (-[WebHTMLView _hasSelectionOrInsertionPoint]): Added.
        (-[WebHTMLView _isEditable]): Added.
        (-[WebHTMLView takeFindStringFromSelection:]): _haveSelection name changed to _hasSelection.
        (-[WebHTMLView validateUserInterfaceItem:]): Ditto
        (-[WebHTMLView validRequestorForSendType:returnType:]): Ditto
        (-[WebHTMLView keyDown:]):
        (-[WebHTMLView copy:]): Uses new _canCopy check.
        (-[WebHTMLView cut:]): Uses new _canCut check.
        (-[WebHTMLView delete:]): Now uses _canDelete check.
        (-[WebHTMLView paste:]): Now uses _canPaste check.
        (-[WebHTMLView _updateFontPanel]): _haveSelection name changed to _hasSelection.
        * WebView.subproj/WebHTMLViewPrivate.h:
        * WebView.subproj/WebView.m:
        (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]): Use selectionState check to
        determine whether or not operation can be done.

2004-08-24  Richard Williamson   <rjw@apple.com>

        Fixed <rdar://problem/3770469> Some PDFs open with line of previous page above PDF view
	
        Set height resize flags on WebPDFView.
		
        Reviewed by Chris.

        * WebView.subproj/WebPDFView.m:
        (-[WebPDFView initWithFrame:]):

2004-08-24  David Hyatt  <hyatt@apple.com>

	Add Atom and RSS MIME types to set of supported XML types.
	
        Reviewed by rjw

        * WebView.subproj/WebDataSource.m:
        (+[WebDataSource _repTypesAllowImageTypeOmission:]):
        * WebView.subproj/WebFrameView.m:
        (+[WebFrameView _viewTypesAllowImageTypeOmission:]):

2004-08-23  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Kevin.

	- remove annoying ERROR spew and replace with comment
	
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView validAttributesForMarkedText]):

2004-08-23  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Richard.

	- a bit of code cleanup

        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _stringWithData:]): Call textEncodingName instead of
	copying it's code.
        (-[WebDataSource textEncodingName]): Tweak formatting.

2004-08-23  Chris Blumenberg  <cblu@apple.com>

	Fixed build.

        * WebKit.pbproj/project.pbxproj: make sure we're doing -f on a file, not a directory

2004-08-23  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3674867> use new Security framework SPI's to reenable cert acquisition

        Reviewed by john.

        * WebCoreSupport.subproj/WebKeyGeneration.cpp:
        * WebCoreSupport.subproj/WebKeyGeneration.h:
        * WebCoreSupport.subproj/WebKeyGenerator.h:
        * WebCoreSupport.subproj/WebKeyGenerator.m:
        (-[WebKeyGenerator signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:pageURL:]): re-enabled cert code, call Panther version on Panther, Tiger version on Tiger
        (-[WebKeyGenerator addCertificatesToKeychainFromData:]): ditto
        * WebCoreSupport.subproj/WebNewKeyGeneration.c: Added.
        (gnrAddContextAttribute):
        (gnrGetSubjPubKey):
        (gnrNullAlgParams):
        (gnrSign):
        (gnrFreeCssmData):
        (nssArraySize):
        (signedPublicKeyAndChallengeString):
        (addCertificateToKeychainFromData):
        (addCertificatesToKeychainFromData):
        * WebCoreSupport.subproj/WebNewKeyGeneration.h: Added.
        * WebKit.pbproj/project.pbxproj:

2004-08-20  David Hyatt  <hyatt@apple.com>

	Fix the directionality of the unicode hyphen so that on Panther it now matches Tiger.
	
        Reviewed by darin

        * Misc.subproj/WebUnicode.m:
        (_unicodeDirection):

2004-08-20  Richard Williamson   <rjw@apple.com>

	    Implemented new JNI abstraction.  We no longer invoke Java methods
	    directly with JNI, rather we call into the plugin.  This allows the
	    plugin to dispatch the call to the appropriate VM thread.  This
	    change should (will?) fix a whole class of threading related problems with
	    the Java VM.

        Reviewed by Hyatt.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge getAppletInView:]):

2004-08-20  Trey Matteson  <trey@apple.com>

	3655407 - Editing: -complete: method unimplemented (WebKit editing API)

	This feature is mostly implemented.  The only loose ends I know of are:

	3769654 - text insertions done via complete: should preserve case of full replacement string
	3769652 - positioning of complete: popup window wrong for right-to-left languages

        Reviewed by John

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLViewPrivate dealloc]):  Free new object.
        (-[WebHTMLView menuForEvent:]):  Bail on completion session.
        (-[WebHTMLView windowDidResignKey:]):  Ditto.
        (-[WebHTMLView windowWillClose:]):  Ditto.
        (-[WebHTMLView mouseDown:]):  Ditto.
        (-[WebHTMLView resignFirstResponder]):  Ditto.
        (-[WebHTMLView keyDown:]):  Bail on completion session if WebCore takes the event.
	Give the CompleteController a crack at the key event.
        (-[WebHTMLView _expandSelectionToGranularity:]):  Adopt method rename
        (-[WebHTMLView complete:]):  Make CompleteController, tell it to do its thing.
        (-[WebHTMLView checkSpelling:]):  Add ERROR().
        (-[WebHTMLView showGuessPanel:]): Add ERROR().
        (-[WebHTMLView _changeSpellingToWord:]): Add ERROR().
        (-[WebHTMLView ignoreSpelling:]): Add ERROR().

        (-[WebTextCompleteController initWithHTMLView:]):
        (-[WebTextCompleteController dealloc]):
        (-[WebTextCompleteController _insertMatch:]): Stick the new string into the doc.
        (-[WebTextCompleteController _buildUI]):  Make popup window.
        (-[WebTextCompleteController _placePopupWindow:]):  Position popup window.
        (-[WebTextCompleteController doCompletion]):  Lookup matches, display window.
        (-[WebTextCompleteController endRevertingChange:moveLeft:]):  Bail on complete: session.
        (-[WebTextCompleteController filterKeyDown:]):  Process keys while popup is up.
        (-[WebTextCompleteController _reflectSelection]):  Handle choice in popup.
        (-[WebTextCompleteController tableAction:]):  Handle double click in popup
        (-[WebTextCompleteController numberOfRowsInTableView:]):  Fill table with matches.
        (-[WebTextCompleteController tableView:objectValueForTableColumn:row:]):  Ditto.
        (-[WebTextCompleteController tableViewSelectionDidChange:]):  Handle selection change.
        * WebView.subproj/WebHTMLViewInternal.h:

2004-08-20  John Sullivan  <sullivan@apple.com>

        * English.lproj/StringsNotToBeLocalized.txt:
        checked this in; the only difference is that
        the strings were out of order.

2004-08-19  Richard Williamson   <rjw@apple.com>

        Continue to call old pollForAppletInView: in Tiger until
        we get an plugin that supports the new API.
		
        Reviewed by Chris.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge getAppletInView:]):
        * WebKit.pbproj/project.pbxproj:

=== Safari-158 ===

2004-08-19  Chris Blumenberg  <cblu@apple.com>

	Fixed typo in comment.

        * Misc.subproj/WebIconDatabase.m:
        (-[WebIconDatabase _updateFileDatabase]):

2004-08-19  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3566336> CrashTracer: .2403 crashes at com.apple.WebKit: -[WebFileDatabase performSetObject:forKey:] + 0x94

        Reviewed by trey.

        * Misc.subproj/WebIconDatabase.m:
        (-[WebIconDatabase _updateFileDatabase]): pass WebFileDatabase copies of the mutable dictionaries or else they may be accessed on a separate thread as the main thread is modifying them

2004-08-18  Richard Williamson   <rjw@apple.com>

        Replace horrible pollForAppletInView: with new
        webPlugInGetApplet.  The details of how the applet instance
        is provided now belong to the Java team.  Yeh.
		
        Reviewed by Chris.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge getAppletInView:]):

2004-08-17  Richard Williamson   <rjw@apple.com>

        Fixed <rdar://problem/3759093> Need PDF context menu: "Open in Preview" or other external app

        Added support for "Open with ..." in PDF view.
		
        Reviewed by Chris and Trey.

        * ChangeLog:
        * English.lproj/Localizable.strings:
        * English.lproj/StringsNotToBeLocalized.txt:
        * WebView.subproj/WebPDFView.h:
        * WebView.subproj/WebPDFView.m:
        (-[WebPDFView initWithFrame:]):
        (-[WebPDFView dealloc]):
        (applicationInfoForMIMEType):
        (-[WebPDFView path]):
        (-[WebPDFView menuForEvent:]):
        (-[WebPDFView setDataSource:]):
        (-[WebPDFView layout]):
        (-[WebPDFView viewDidMoveToHostWindow]):
        (-[WebPDFView openWithFinder:]):

2004-08-17  Richard Williamson   <rjw@apple.com>

        JNI needs both the jmethodID and return type.  Changed API to 
        pass both.
		
        Reviewed by Chris.

        * Plugins.subproj/WebJavaPlugIn.h:

2004-08-17  Trey Matteson  <trey@apple.com>

	3764147 - failure of subframe to load leaves links in parent doc broken

        Reviewed by Maciej.

        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _receivedMainResourceError:complete:]):
	Need to call [bridge end] in the case of an error, so WC can clean up.

=== Safari-157 ===

2004-08-15  Richard Williamson   <rjw@apple.com>

        More changes to np headers.
        
        Reviewed by Darin.

        * Plugins.subproj/WebNetscapePluginPackage.m:
        (-[WebNetscapePluginPackage load]):
        * Plugins.subproj/npapi.h:
        * Plugins.subproj/npfunctions.h:
        * Plugins.subproj/npruntime.h:

2004-08-13  Darin Adler  <darin@apple.com>

        Reviewed by Chris.

        - fixed <rdar://problem/3760924> Carbon path passed in NPP_StreamAsFile must be in local character set, not UTF-8

        * Plugins.subproj/WebBaseNetscapePluginStream.m:
        (CarbonPathFromPOSIXPath): Added. New function that uses the path pieces from an FSSpec.
        This has many advantages; the big one that fixes the bug is that it gives the mangled names
        that work even for files that have names that can't otherwise be encoded in Carbon-style
        path names. I didn't write this from scratch: I started with the method in Foundation
        and just changed it to use FSSpec.
        (-[WebBaseNetscapePluginStream destroyStream]): Remove code that used NSString and just call
        CarbonPathFromPOSIXPath instead.

        * Plugins.subproj/npapi.h: The Revision tag wanted to touch this file.
        I think we are going to have some trouble with this; I'd like to take that out.

        * English.lproj/StringsNotToBeLocalized.txt: Updated.

2004-08-12  Trey Matteson  <trey@apple.com>

        3761329 - query result links all dead in ingrammicro.com (sometimes)
        3761328 - links in some docs dead when doc is loaded from WebArchive

        Nasty problem.  It turns out that these result pages are a parent frame with two child
        frames.  One of the child frames is a 1 or 2 byte text document.  When the text child
        is the last doc to complete, because we use a Text rep instead of an HTMLRep, it turns
        out we never send [bridge end] from WebKit.  That mistake results in checkCompleted not
        being called enough in the part, and we never realize the load is done.  WebCore does
        not allow redirects to happen until the entire load is complete,  and  the links on this
        results page are actually little pieces of JS that set location to a generated URL.  Since
        redirects are not allowed these links all silently fail to do anything, and the doc never
        achieves a completed state where they will work.

        Solution is to make sure we always call [bridge end] from the DataSource instead of only
        the HTML rep doing it.

        Reviewed by Richard and Darin.

        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _finishedLoading]):  Call [bridge end] here for all kinds of docs.
        * WebView.subproj/WebHTMLRepresentation.m:
        (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):  Don't call is just for HTMLReps.

2004-08-12  Richard Williamson   <rjw@apple.com>

        Bring npruntime.h and friends closer to compliance with
        latest spec.

        Reviewed by Maciej.

        * Plugins.subproj/npapi.h:
        * Plugins.subproj/npfunctions.h:
        * Plugins.subproj/npruntime.h:
        (_NPString::):
        (_NPString::_NPVariant::):
        * copy-webcore-files-to-webkit:

2004-08-12  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3761097> should be able to option-drag selection so HTML can be copied within a page

        Reviewed by rjw.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _isMoveDrag]): new, take into account the option key
        (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): call _isMoveDrag
        (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): call _isMoveDrag

2004-08-12  Richard Williamson   <rjw@apple.com>

        Quick fix for 3760903.  The real fix is described in 3760920.  Needed
        by Java plugin guys so they can be unblocked for feature freeze.
		
        Reviewed by Chris.

        * WebView.subproj/WebFrame.m:
        (-[WebFrame _reloadForPluginChanges]):
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView addSubview:]):

2004-08-12  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3760898> error pages in subframes attempt to load appledata URLs when reloaded

        Reviewed by darin.

        * WebView.subproj/WebFrame.m:
        (-[WebFrame _createItem:]): when setting the original URL of the history item, use the unreachable URL

=== Safari-156 ===

2004-08-11  Adele Amchan  <adele@apple.com>

        Reviewed by me, bug fix by Darin.

        - fixed <rdar://problem/3736477> Pages don't load if hard drive is named with non-ASCII Symbol

        * Plugins.subproj/WebBaseNetscapePluginStream.m:
        (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]):
        Use UTF8String instead of cString to convert the MIME type to a C string. Safer, since it can't
        ever fail due to encoding problems even though this string should always be ASCII.
        (-[WebBaseNetscapePluginStream destroyStream]): Use stringWithUTF8String to convert the path name
        to an NSString, since stringWithCString is deprecated (doesn't really matter since the path is always
        all ASCII). Fix the bug by calling fileSystemRepresentation on the NSString to turn it into a C
        string form. Even though the POSIX path can't have any non-ASCII characters in it, the Carbon path
        can, so we need to use this instead of cString which can fail depending on characters and encoding.

2004-08-09  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Trey.

	WebKit part of:

	- made basic marked text highlighting work to complete basic level of <rdar://problem/3704359> input method support not yet implemented for HTML editing

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView markedRange]): Use new bridge calls instead of internal marked range storage.
        (-[WebHTMLView hasMarkedText]): Likewise.
        (-[WebHTMLView unmarkText]): Likewise.
        (-[WebHTMLView _selectMarkedText]): Likewise.
        (-[WebHTMLView _selectRangeInMarkedText:]): Likewise.
        (-[WebHTMLView _selectionIsInsideMarkedText]): Likewise.
        (-[WebHTMLView _updateSelectionForInputManager]): Likewise.
        (-[WebHTMLView setMarkedText:selectedRange:]): Use direct bridge call instead
	of private _selectMarkedDOMRange: method, which would now be trivial.
        * WebView.subproj/WebHTMLViewInternal.h: Remove unneeded

2004-08-10  Darin Adler  <darin@apple.com>

        Reviewed by Ken.

        - change name of WebMakeCollectable to WebNSRetainCFRelease so it fits into the
          "NS and CF retain counts are separate" mental model, rather than the "think about
          how garbage collection works" one

        * Misc.subproj/WebKitNSStringExtras.m: (+[NSString _web_encodingForResource:]): Rename.
        * Misc.subproj/WebNSObjectExtras.h: (WebNSRetainCFRelease): Ditto.
        * Misc.subproj/WebNSURLExtras.m:
        (+[NSURL _web_URLWithData:relativeToURL:]): Ditto.
        (-[NSURL _web_URLWithLowercasedScheme]): Ditto.

2004-08-09  Trey Matteson  <trey@apple.com>

	3756599 - REGRESSION: hit assertion in KWQPageState invalidate

	By inspection I found a flaw in the recently added logic, although
	I have no steps to repro.  My theoretical explanation is that we would
	get two errors and go through _receivedMainResourceError: twice, which
	would cause the pageState to be invalidated twice, which is the only
	way I can see to hit the assert.

        Reviewed by Darin

        * WebView.subproj/WebFrame.m:
        (-[WebFrame _receivedMainResourceError:]):  Clear the pageState out
	of the history item after it's been invalidated by WebCore.

2004-08-09  Richard Williamson   <rjw@apple.com>

        Inspired by Trey we have a much better approach for conditionally
        linking Quart.framework.  Instead of multiple targets we use 
        `` to invoke some inline script to extend COMMON_LDFLAGS as
        necessary.  Thanks Trey!
        
        Reviewed by Trey.

        * WebKit.pbproj/project.pbxproj:

2004-08-09  Trey Matteson  <trey@apple.com>

	Hookup UI for "Continuous Spelling" menu item.

        Reviewed by Richard.

        * WebView.subproj/WebView.m:
        (-[WebView validateUserInterfaceItem:]):  Enable and check the
	menu item to reflect our state.
        (-[WebView toggleContinuousSpellChecking:]):  Change type to
	IBAction, just cosmetic.
        * WebView.subproj/WebViewPrivate.h:

2004-08-08  Trey Matteson  <trey@apple.com>

	3745023 - Safari crashes trying to access anchor while downloading

	I bet this is behind a few other crashers as well.  In this bug the start of the
	download leaves a KWQPageState hanging around, and when that is freed it damages
	the part and view.  If you're still using that page, you're dead.

	The fix is to properly invalidate the PageState when we receive an error before
	reaching WebFrameCommitted state.  Normally this happens when a page is reheated
	from the PageState, but in this case we never manage to leave the page to begin
	with, although we've already created the PageState.

	Other errors besides the synthetic one download generates would have caused similar
	crashing.  Another example would be clicking on a second link before the load
	caused by clicking on the first link reached committed state.

        Reviewed by Richard

        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _receivedMainResourceError:complete:]):  Let the frame do the
	main work (since it has access to the pageCache state).  Also renamed to make
	it clear that this is about an error for the main resource.
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _receivedMainResourceError:]):  Let WC know about the failure, as
	the DataSource used to, but now pass the pageCache state along too.
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient receivedError:]):  Call renamed method.
        (-[WebMainResourceClient cancelWithError:]):  Ditto.

2004-08-08  Vicki Murley  <vicki@apple.com>

        Reviewed by vicki (changes by rjw)
 
	- make "weak" linking with Quartz work with buildit

        * WebKit.pbproj/project.pbxproj: 

2004-08-06  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Maciej

        Finish off spellchecking support to HTML editing. Includes work to
        enable continuous spellchecking.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge isContinuousSpellCheckingEnabled]): Simple bridge method.
        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer drawLineForMisspelling:withWidth:]): New method to add
        AppKit-style misspelling underline.

=== Safari-155 ===

2004-08-05  Darin Adler  <darin@apple.com>

        * WebView.subproj/WebHTMLView.m: Added a list of methods that NSTextView implements that we don't.
        All inside #if 0.

2004-08-05  Chris Blumenberg  <cblu@apple.com>

        Fixed unnecessary import of NSURLFileTypeMappings.

        * WebView.subproj/WebMainResourceClient.m:

2004-08-05  Richard Williamson   <rjw@apple.com>

        Make builds conditionally include -framework Quartz.
		
        Reviewed by Chris.

        * WebKit.pbproj/project.pbxproj:

2004-08-04  Darin Adler  <darin@apple.com>

        - fixed broken Deployment build

        * Carbon.subproj/HIWebView.m: (Click):
        Remove code that checks err variable before setting it.

2004-08-03  Richard Williamson   <rjw@apple.com>

        First cut at dirt simple PDF support.  This feature
        depends on Quartz.framework (parent of PDFKit), which only exists
        on Tiger.  So, we "weak" link against Quartz.
		
        We do very basic PDF rendering.  Coming up are support for
        "Find..." and linearized PDF (incremental).  Linearized PDF 
        support will require API changes in PDFKit.
		
        No UI is added to Safari, yet.
		
        Reviewed by John.

        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebDataSource.m:
        (+[WebDataSource _repTypesAllowImageTypeOmission:]):
        * WebView.subproj/WebFrameView.m:
        (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
        * WebView.subproj/WebPDFRepresentation.h: Added.
        * WebView.subproj/WebPDFRepresentation.m: Added.
        (-[WebPDFRepresentation finishedLoadingWithDataSource:]):
        (-[WebPDFRepresentation canProvideDocumentSource]):
        (-[WebPDFRepresentation documentSource]):
        (-[WebPDFRepresentation title]):
        * WebView.subproj/WebPDFView.h: Added.
        * WebView.subproj/WebPDFView.m: Added.
        (-[WebPDFView initWithFrame:]):
        (-[WebPDFView setDataSource:]):
        (-[WebPDFView dataSourceUpdated:]):
        (-[WebPDFView setNeedsLayout:]):
        (-[WebPDFView layout]):
        (-[WebPDFView viewWillMoveToHostWindow:]):
        (-[WebPDFView viewDidMoveToHostWindow]):

        Copied fix from Jaguar carbon/cocoa work.
		
        Reviewed by Darin (Jaguar version)

        * Carbon.subproj/CarbonWindowAdapter.h:
        * Carbon.subproj/CarbonWindowAdapter.m:
        (-[CarbonWindowAdapter relinquishFocus]):
        * Carbon.subproj/HIWebView.m:
        (Click):
        (OwningWindowChanged):
        (WindowHandler):

2004-08-03  David Hyatt  <hyatt@apple.com>

	Add the text/xsl MIME type as one that can be displayed.
	
        Reviewed by john

        * WebView.subproj/WebDataSource.m:
        (+[WebDataSource _repTypesAllowImageTypeOmission:]):
        * WebView.subproj/WebFrameView.m:
        (+[WebFrameView _viewTypesAllowImageTypeOmission:]):

2004-08-03  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Ken.

	- implemented enough of the NSTextInput protocol and added the
	proper calls to NSInputManager to allow input methods to
	work. However, the text is not marked yet.

        * WebView.subproj/WebHTMLViewInternal.h: Added new fields to track
	marked range.
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView markedRange]): Implemented
        (-[WebHTMLView conversationIdentifier]): Implemented
        (-[WebHTMLView hasMarkedText]): Implemented
        (-[WebHTMLView unmarkText]): Implemented
        (-[WebHTMLView setMarkedText:selectedRange:]): Implemented - does
	not yet handle attributes in attributed strings
        (-[WebHTMLView insertText:]): Modified to handle replacing or abandoning
	the marked text when set.
        (-[WebHTMLView _selectMarkedText]): new helper method, self-explanatory
        (-[WebHTMLView _setMarkedDOMRange:]): hitto.
        (-[WebHTMLView _selectRangeInMarkedText:]): ditto
        (-[WebHTMLView _discardMarkedText]): ditto
        (-[WebHTMLView _selectionIsInsideMarkedText]): ditto
        (-[WebHTMLView _updateSelectionForInputManager]): ditto

	- did a bit of refactoring while I was in here.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _shouldReplaceSelectionWithText:givenAction:]): added this new
	helper method to simplify the common case of calling the shouldInsertText: delegate
        (-[WebHTMLView pasteAsPlainText:]): use it
        (-[WebHTMLView insertTab:]): ditto
        (-[WebHTMLView insertNewline:]): ditto
        (-[WebHTMLView _changeWordCaseWithSelector:]): ditto
        (-[WebHTMLView _changeSpellingToWord:]): ditto
        (-[WebHTMLView _selectionChanged]): ditto

2004-08-03  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3572737> Images not resizing at www.bmx-test.com (spoof nofix)

        Reviewed by darin.

        * WebCoreSupport.subproj/WebImageRendererFactory.m:
        (-[WebImageRendererFactory supportedMIMETypes]): hard code image/pjpeg to the list of image mime types that we can handle

2004-08-03  Darin Adler  <darin@apple.com>

        Reviewed by Ken.

        - fixed <rdar://problem/3740937> ER: A way to turn a DOMRange into text (equivalent of -innerText)

        * DOM.subproj/DOMPrivate.h: Added.
        * WebKit.pbproj/project.pbxproj: Added DOMPrivate.h.
        * copy-webcore-files-to-webkit: Added DOMPrivate.h.

2004-08-02  John Sullivan  <sullivan@apple.com>

        Reviewed by Darin.

        WebKit part of fix for <rdar://problem/3631868> NSToolbar adoption: 
        Tab key should cycle around toolbar and page content

        * WebView.subproj/WebHTMLView.m:
        removed overrides of nextKeyView and previousKeyView
        (-[WebHTMLView nextValidKeyView]):
        call super only if we can't move the focus within the frame hierarchy
        (-[WebHTMLView previousValidKeyView]):
        ditto
        * WebView.subproj/WebHTMLViewInternal.h:
        removed nextKeyViewAccessShouldMoveFocus ivar

2004-08-02  Ken Kocienda  <kocienda@apple.com>

        Reviewed by John

        Update name of firstResponderIsSelfOrDescendantView, adding _web_ prefix to this SPI call.
        
        Do some work to make caret blinking in newly-created editable WebView's that are 
        similar in structure to Blot more "automatic".

        * Misc.subproj/WebNSViewExtras.h: Change name of firstResponderIsSelfOrDescendantView. Add _web_ prefix.
        * Misc.subproj/WebNSViewExtras.m:
        (-[NSView _web_firstResponderIsSelfOrDescendantView]): Name change.
        (-[NSView _web_firstResponderCausesFocusDisplay]): Adds an additional check for whether the view's
        is first responder. This helps to make the focus setting in viewDidMoveToWindow work right.
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView updateFocusDisplay]): Use _web_firstResponderCausesFocusDisplay now instead of 
        firstResponderIsSelfOrDescendantView.
        (-[WebHTMLView viewDidMoveToWindow]): Schedule call to updateFocusDisplay for the next crank of the
        run loop. The reason is that placing the caret in the just-installed view requires the HTML/XML 
        document to be available on the WebCore side, but it is not at the time this code is running. 
        However, it will be there on the next crank of the run loop. Doing this helps to make a 
        blinking caret appear in a new, empty window "automatic".
        (-[WebHTMLView performKeyEquivalent:]):  _web_firstResponderIsSelfOrDescendantView name change.
        * WebView.subproj/WebView.m:
        (-[WebView _performResponderOperation:with:]): _web_firstResponderIsSelfOrDescendantView name change.

2004-07-29  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by John.

	Added stubbed-out versions of all the NSTextInput protocol
	methods, and put comments in places where we will need to call the
	input manager to make input methods work 100%.
	
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge respondToChangedSelection]):
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView mouseDown:]):
        (-[WebHTMLView mouseDragged:]):
        (-[WebHTMLView mouseUp:]):
        (-[WebHTMLView _interceptEditingKeyEvent:]):
        (-[WebHTMLView keyDown:]):
        (-[WebHTMLView _selectionChanged]):
        (-[WebHTMLView _delegateDragSourceActionMask]):
        (-[WebHTMLView validAttributesForMarkedText]):
        (-[WebHTMLView characterIndexForPoint:]):
        (-[WebHTMLView firstRectForCharacterRange:]):
        (-[WebHTMLView selectedRange]):
        (-[WebHTMLView markedRange]):
        (-[WebHTMLView attributedSubstringFromRange:]):
        (-[WebHTMLView conversationIdentifier]):
        (-[WebHTMLView hasMarkedText]):
        (-[WebHTMLView unmarkText]):
        (-[WebHTMLView setMarkedText:selectedRange:]):
        (-[WebHTMLView doCommandBySelector:]):
        (-[WebHTMLView insertText:]):
        * WebView.subproj/WebHTMLViewInternal.h:
        * WebView.subproj/WebView.m:

=== Safari-154 ===

2004-07-29  Darin Adler  <darin@apple.com>

        Reviewed by Ken.

        - fill in some unimplemented methods

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView moveToBeginningOfDocument:]): Implement, using new document granularity.
        (-[WebHTMLView moveToBeginningOfDocumentAndModifySelection:]): Ditto.
        (-[WebHTMLView moveToBeginningOfParagraph:]): Implement, even though the underlying WebCore
        code is not yet implemented.
        (-[WebHTMLView moveToBeginningOfParagraphAndModifySelection:]): Ditto.
        (-[WebHTMLView moveToEndOfDocument:]): More of the same.
        (-[WebHTMLView moveToEndOfDocumentAndModifySelection:]): Ditto.
        (-[WebHTMLView moveToEndOfParagraph:]): More of the same.
        (-[WebHTMLView moveToEndOfParagraphAndModifySelection:]): Ditto.
        (-[WebHTMLView pageDown:]): Added comment describing desired behavior.
        (-[WebHTMLView pageUp:]): Ditto.
        (-[WebHTMLView copyFont:]): Ditto.
        (-[WebHTMLView pasteFont:]): Ditto.
        (-[WebHTMLView changeAttributes:]): Ditto.
        (-[WebHTMLView indent:]): Ditto.

2004-07-28  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3737864> Can not download image from web by using drag and drop

        Reviewed by john.

        * Misc.subproj/WebNSPasteboardExtras.m:
        (-[NSPasteboard _web_declareAndWriteDragImage:URL:title:archive:source:]): On Tiger, to use NSFilesPromisePboardType with other pasteboard types, set the file types of the promise on the pasteboard as a property list instead of mucking with the NSFilePromiseDragSource class

2004-07-28  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by John.

	- avoid triggering an assertion when using dead keys (like option-e)

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView insertText:]): Don't pass zero-length strings to
	WebCore. Dead-key input seems to insert empty strings as a side
	effect.

2004-07-28  Trey Matteson  <trey@apple.com>

	Spellchecking, Part I.  Basic spellcheck is working.  Spelling panel is hooked up.

	At this point, no special marking of misspellings, no grammar check, no context
	menu integration, no "check continually" mode.

        Reviewed by Ken.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge spellCheckerDocumentTag]):  Typical bridge glue.
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView validateUserInterfaceItem:]):  Validate various spelling actions.
        (-[WebHTMLView checkSpelling:]):  Call WC for real work, update panel.
        (-[WebHTMLView showGuessPanel:]):  Show panel, call WC for real work.
        (-[WebHTMLView _changeSpellingToWord:]):  Apply correction to our doc.
        (-[WebHTMLView changeSpelling:]):  Simple pass through to above method.
        (-[WebHTMLView ignoreSpelling:]):  Tell checker to ignore the word.
        * WebView.subproj/WebView.m:
        (-[WebView _close]):  Call AK's closeSpellDocumentWithTag: for proper cleanup.

2004-07-27  John Sullivan  <sullivan@apple.com>

        Reviewed by Trey.
        
        WebKit part of fix for <rdar://problem/3622268> Reload failed pages when a 
        network problem is corrected, inc. using Network Diagnostics

        * WebView.subproj/WebFrame.m:
        (-[WebFrame reload]):
        This method did not handle unreachableURLs at all. The reason Safari's Reload
        did work with unreachableURLs was that Safari does "reloadObeyingLocationField"
        which never actually calls -[WebFrame reload]. Fixed by creating a fresh
        request for the previously-unreachable URL.

2004-07-26  Richard Williamson   <rjw@apple.com>

        Fixed 3739737.  When setting the focus to a NSView, set the focus
        carbon focus to kControlIndicatorPart.  kControlIndicatorPart is a
        placeholder value for use to indicate that Cocoa has the focus.  
	
        Reviewed by Ken.

        * Carbon.subproj/CarbonWindowAdapter.m:
        (-[CarbonWindowAdapter makeFirstResponder:]):
        * Carbon.subproj/HIWebView.m:
        (Click):
        (SetFocusPart):

2004-07-26  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3689734> dragging to an editable WebView does not scroll document

        Reviewed by rjw.

        * WebView.subproj/WebView.m:
        (-[WebView documentViewAtWindowPoint:]): new, factored from draggingDocumentViewAtWindowPoint:
        (-[WebView _draggingDocumentViewAtWindowPoint:]): call documentViewAtWindowPoint:
        (-[WebView _autoscrollForDraggingInfo:timeDelta:]): forward call to the document view
        (-[WebView _shouldAutoscrollForDraggingInfo:]): ditto

=== Safari-153 ===

2004-07-23  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Trey

        Fix for this bug:
        
        <rdar://problem/3738920> Caret blinks in inactive window

        As part of the fix, I cleaned up the way we handle special drawing that needs
        to be done in the HTML view that is first responder in the key window (e.g the
        drawing of text selection highlight and caret blinking).

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView updateFocusDisplay]): New method that centralizes the changes
        we need to make when the first responder-ness of the view or key-ness of the
        window changes.
        (-[WebHTMLView viewDidMoveToWindow]): Call new updateFocusDisplay helper.
        (-[WebHTMLView windowDidBecomeKey:]): Ditto.
        (-[WebHTMLView windowDidResignKey:]): Ditto.
        (-[WebHTMLView becomeFirstResponder]): Ditto.
        (-[WebHTMLView resignFirstResponder]): Ditto.

2004-07-22  Darin Adler  <darin@apple.com>

        * Plugins.subproj/npruntime.h: Update with new version from newer JavaScriptCore.

2004-07-21  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Trey

        * WebCoreSupport.subproj/WebBridge.m: Remove interceptEditingKeyEvent
        bridge call over. This method of handling editing key events is now
        obsolete.
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView performKeyEquivalent:]): Send key event over to the 
        DOM if this view is or contains the first responder. This now
        happens unconditionally.
        (-[WebHTMLView keyDown:]): Send key event to the DOM, then see if
        the web view wants to interpret it an an editing key event. This
        is the new place to intercept key events for editing.

2004-07-21  Ken Kocienda  <kocienda@apple.com>

        Reviewed by John

        Add implementations for these methods. Formerly, they logged an error.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView moveToBeginningOfLine:]):
        (-[WebHTMLView moveToBeginningOfLineAndModifySelection:]):
        (-[WebHTMLView moveToEndOfLine:]):
        (-[WebHTMLView moveToEndOfLineAndModifySelection:]):

2004-07-21  Ken Kocienda  <kocienda@apple.com>

        Reviewed by John

        Added some more handlers for standard Cocoa key bindings. 
        These are "secrets" of NSText, meaning they are not public API, but we choose to mimic.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView moveToBeginningOfDocumentAndModifySelection:]):
        (-[WebHTMLView moveToBeginningOfLineAndModifySelection:]):
        (-[WebHTMLView moveToBeginningOfParagraphAndModifySelection:]):
        (-[WebHTMLView moveToEndOfDocumentAndModifySelection:]):
        (-[WebHTMLView moveToEndOfLineAndModifySelection:]):
        (-[WebHTMLView moveToEndOfParagraph:]):
        (-[WebHTMLView moveToEndOfParagraphAndModifySelection:]):
        * WebView.subproj/WebView.h: Add these declarations to the comment in the header listing
        the responder-like methods we support.
        * WebView.subproj/WebView.m:
        (-[WebView moveToBeginningOfParagraphAndModifySelection:]):
        (-[WebView moveToEndOfParagraphAndModifySelection:]):
        (-[WebView moveToBeginningOfLineAndModifySelection:]):
        (-[WebView moveToEndOfLineAndModifySelection:]):
        (-[WebView moveToBeginningOfDocumentAndModifySelection:]):
        (-[WebView moveToEndOfDocumentAndModifySelection:]):

2004-07-20  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Richard

        * Misc.subproj/WebNSEventExtras.h: Added helper that returns whether
        a key event has a binding in the key binding manager.
        * Misc.subproj/WebNSEventExtras.m: 
        (-[NSEvent _web_keyBindingManagerHasBinding]): New helper mentioned above.
        * Plugins.subproj/npruntime.h:
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView performKeyEquivalent:]): Add a check of whether the key event 
        has a binding in the key binding manager. This works around the fact that
        NSResponder's interpretKeyEvents does not return a value telling whether
        or not the key was handled. This now makes it possible for us to trap
        modified key events we know we can handle (like those command-key + arrow events 
        used for text navigation), while letting all others pass.

2004-07-20  Chris Blumenberg  <cblu@apple.com>

	Fixed:
	<rdar://problem/3580589> REGRESSION (1.1-1.2): can't open a new window for an image that has not loaded
	<rdar://problem/3612691> Missing image icons (blue ?) lack context menu

        Reviewed by john.

        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): if there is no image, but there is an image URL, provide image context menu items besides "Copy Image" 
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): don't drag an image with an actual image
        (-[WebHTMLView _mayStartDragAtEventLocation:]): ditto

2004-07-20  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Chris.

	<rdar://problem/3721690> REGRESSION (125.7-148u) clicking on links at macosx.apple.com/Builds does not load new page in frame
	
        * Plugins.subproj/npruntime.h:
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge canTargetLoadInFrame:]): Don't apply the restrictions to frames
	that are in the same window (Mozilla does this too).

2004-07-20  Richard Williamson   <rjw@apple.com>

		Fix for 3728558.  Fixed the key event handling in the carbon/cocoa
		integration code.  This does not fix the arrow keys not working on
		initial focus problem also mentioned in the bug.
		
		Bumped the version of the NP function structures.
		
        Reviewed by John.

        * Carbon.subproj/CarbonUtils.m:
        (WebInitForCarbon):
        (PoolCleaner):
        * Carbon.subproj/HIWebView.m:
        (OwningWindowChanged):
        (WindowHandler):
        * Plugins.subproj/npapi.h:

2004-07-20  Trey Matteson  <trey@apple.com>

	3733698	REGRESSION: sometimes dragging photos on homepage.mac.com leads to an assertion

	Relax an assertion, as we ran into a valid case where it's not true.

        Reviewed by Chris.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
	Removing this assert allows for the oddball case of a drag gesture that
	starts on one element, but then the element is no longer there when
	the drag is about to start.

2004-07-20  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Hyatt

        Fix for this bug:
        
        <rdar://problem/3707505> HTMLCompose: blinking cursor in both an address text field and the message body

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView setCaretVisible:]): New helper. Calls over bridge to do the work.
        (-[WebHTMLView windowDidBecomeKey:]): This function cannot just assume that self is first responder
        (and do things like adjusting text background color and restoring focus rings). 
        First-responder-ness needs to be checked first. Now it is.
        (-[WebHTMLView windowDidResignKey:]): Ditto.
        (-[WebHTMLView becomeFirstResponder]): Call new helper to make caret visible.
        (-[WebHTMLView resignFirstResponder]): Call new helper to make caret invisible.

2004-07-12  Richard Williamson   <rjw@apple.com>

        Fixed 3721917.  The RealPlayer plugin doesn't support the new 
        NPPVpluginScriptableNPObject variable passed to NPP_GetValue and
        incorrectly returns NPERR_NO_ERROR.  We interpret this to the
        mean the variable has been set.  The variable has not been set 
        and will consequently be uninitialized.

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView pluginScriptableObject]):

2004-07-19  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Richard

        Fix for this bug:
        
        <rdar://problem/3707504> HTMLCompose: key events are stolen by Web(HTML)View

        * Misc.subproj/WebNSViewExtras.h:
        * Misc.subproj/WebNSViewExtras.m:
        (-[NSView firstResponderIsSelfOrDescendantView]): New helper to 
        (-[WebHTMLView performKeyEquivalent:]): Do not pass key events through to the editing
        key handler unless the WebHTMLView is first responder or contains the first responder.
        This prevents the "stealing" of key events mentioned in the bug.
        * WebView.subproj/WebView.m:
        (-[WebView _performResponderOperation:with:]): Uses the new firstResponderIsSelfOrDescendantView
        helper. The code I replaced used the same logic as the new helper.

=== Safari-152 ===

2004-07-12  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Kevin.

	<rdar://problem/3673988>: (REGRESSION(141-144): connection assertion failure at http://traffic.511.org/sfgate)
	
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]):
	Don't check connection consistency if this load got cancelled
	while finishing, because in this case we have cleared the
	connection field already. This can happen when a redirect fires
	from an onload handler.

2004-07-12  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by John.

	<rdar://problem/3632570>: (REGRESSION: SocialText.net wiki keeps asking for auth, even though pages load)

        * Misc.subproj/WebIconLoader.m:
        (-[WebIconLoader didReceiveAuthenticationChallenge:]): Ignore the challenge - we don't
	want an auth panel for favicons.
        (-[WebIconLoader didCancelAuthenticationChallenge:]): Ignore cancel, since we are ignoring
	the challenge.

2004-07-09  Chris Blumenberg  <cblu@apple.com>
	
	Allowed my change for 3715785 to compile on Jaguar.

        Reviewed by kocienda.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge canTargetLoadInFrame:]): don't use the DOM API since it doesn't exist on Jaguar, instead call the new domain method on the bridge

2004-07-09  Ken Kocienda  <kocienda@apple.com>

        Reviewed by John

        * Plugins.subproj/npruntime.h: Updated license to lawyer-approved 
        joint Apple-Mozilla BSD-style license.

2004-07-08  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3720728> REGRESSION (125.8-146): Crash moving mouse over plugin at manray-photo.com
	
        Reviewed by john.

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView pluginScriptableObject]): don't call NPP_GetValue unless the plug-in implements it

2004-07-08  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3706296> VIP: ifilm.com crashing reproducibly with Safari

        Reviewed by kocienda.

        * Plugins.subproj/WebNetscapePluginPackage.m:
        (-[WebNetscapePluginPackage launchRealPlayer]): don't release a NULL appURL

2004-07-08  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3650140> reproducible assertion failure going to plugin page with JavaScript disabled

        Reviewed by john.

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): don't call NPP_NewStream and other stream methods if there is no JS result to deliver. This is what Mozilla does.
        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Return NPERR_GENERIC_ERROR if JS is disabled. This is what Mozilla does.

=== Safari-151 ===

2004-07-07  Trey Matteson  <trey@apple.com>

	3719051 - Safari doesn't update form inputs when a page was refreshed by javascript window.location
	... and at least 5 other cases in Radar

	Very similar problem to the Harvard PIN bug.  We need to be sure
	to not carry any state over when we are processing a client
	redirect, which reuses the same WebHistoryItem.

        Reviewed by John.

        * WebView.subproj/WebFrame.m:
        (-[WebFrame _transitionToCommitted:]):  Comment
        (-[WebFrame _opened]):  Clear form and scroll state on client redirect.

2004-07-06  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3715785> multiple frame injection vulnerability reported by Secunia, affects almost all browsers
	
        Reviewed by john, trey, kocienda.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge canTargetLoadInFrame:]): new method, return YES if the requesting frame is local, the target frame is an entire window or if the domain of the parent of the targeted frame equals this domain
        (-[WebBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]): call canTargetLoadInFrame: to make sure we can load the request
        (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): ditto

2004-07-06  John Sullivan  <sullivan@apple.com>

        Reviewed by Trey.

        - fixed <rdar://problem/3717147> folder icon used for error page in back/forward 
        menu when iTunes is not installed

        * WebView.subproj/WebFrame.m:
        (-[WebFrame _transitionToCommitted:]):
        When displaying the error page for an unreachable URL, leave the requested URL
        in the WebHistoryItem; don't clobber it with a bogus one that represents the
        error page. This not only avoids the wrong-icon problem, but should also help
        in cases where an unreachable URL becomes reachable later on.

2004-07-06  Trey Matteson  <trey@apple.com>

	3716053 - www.theage.com.au has extra back/forward items due to ads

	The real change was in WebKit.  Here was are just renaming a method and folding
	all the WebFrameLoadTypeOnLoadEvent uses to be WebFrameLoadTypeInternal, since there
	was never any difference anyway.

        Reviewed by Richard

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):  rename part of the method.
        * WebView.subproj/WebFrame.m:  Nuke WebFrameLoadTypeOnLoadEvent.
        (-[WebFrame _transitionToCommitted:]):
        (-[WebFrame _checkLoadCompleteForThisFrame]):
        (-[WebFrame _loadItem:withLoadType:]):
        (-[WebFrame _itemForRestoringDocState]):
        * WebView.subproj/WebFramePrivate.h:

2004-07-06  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Trey
        
        Only register the editing delegate for those notifications for which it implements the callbacks.

        * WebView.subproj/WebView.m:
        (-[WebView registerForEditingDelegateNotification:selector:]):
        (-[WebView setEditingDelegate:]):

2004-07-06  Trey Matteson  <trey@apple.com>

	3294652 - Failed drag of links doesn't slide back

	The only reason for this is that because of some hacks, we lie to
	AK about the drag image offset, which means we slide back to
	slightly the wrong place.  But it's very minor, so we should
	just fix it.

        Reviewed by Ken.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
	Ask for slideback.

2004-07-02  Darin Adler  <darin@apple.com>

        Reviewed by Dave.

        - fixed problem where tabsToLinks and privateBrowsingEnabled did not work with non-
          standard WebPreferences objects

        * WebView.subproj/WebPreferences.m:
        (-[WebPreferences _valueForKey:]): New helper.
        (-[WebPreferences _stringValueForKey:]): Use _valueForKey.
        (-[WebPreferences _integerValueForKey:]): Use _valueForKey.
        (-[WebPreferences _boolValueForKey:]): Use _valueForKey.
        (-[WebPreferences tabsToLinks]): Use _boolValueForKey; this is the bug fix.
        (-[WebPreferences privateBrowsingEnabled]): Ditto.
        (+[WebPreferences _setIBCreatorID:]): Use copy instead of retain for keeping an NSString.

2004-07-01  Trey Matteson  <trey@apple.com>

	3556159 - Crashes in -[WebFrame(WebPrivate) _transitionToCommitted:] at www.mastercardbusiness.com

	We know from the line number of the crash that it is due to [self parentFrame]==nil.

	Looking at the HTML and that of the related bugs, they do special stuff with onload
	handlers.  It is no longer repro, presumably because the includes JS files changed,
	as the bugs only included the top level HTML.  I suspect that the problem is that the
	WebFrameLoadTypeOnLoadEvent case was added, and in some weird sequence specific to
	MasterCard, they hit a case where we would be in WebFrameLoadTypeOnLoadEvent mode but
	not have a parent frame.

	So we guard in the code against hitting a nil parentFrame, and log an error just in
	case this ever crops up again and we can learn more about it.

        Reviewed by Richard.

        * WebView.subproj/WebFrame.m:
        (-[WebFrame _transitionToCommitted:]):  Guard against nil parentFrame.

2004-07-01  John Sullivan  <sullivan@apple.com>

        Reviewed by Trey.
        
        - fixed these bugs:
        <rdar://problem/3709110> REGRESSION (Tiger): Pressing Tab key to move focus 
        onto links skips every other link
        <rdar://problem/3692576> focus ring is in odd place after clicking RSS button 
        with "Tab to links" enabled
        
        WebHTMLView has some trickery by which we advance the focused link when nextKeyView
        or previousKeyView is called within nextValidKeyView or previousValidKeyView. This
        broke in Tiger because AppKit now (sometimes at least) calls nextKeyView more than
        once within nextValidKeyView. Fixed 3709110 by making sure we only advance the focus 
        once within a call to nextValidKeyView or previousValidKeyView.
        
        Also, this same trickery didn't work right with hidden views. Fixed 3692576 by checking
        whether the view is hidden and bypassing the focus-moving trickery in that case.

        * WebView.subproj/WebHTMLViewInternal.h:
        renamed inNextValidKeyView -> nextKeyViewAccessShouldMoveFocus
        
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView nextKeyView]):
        now clears nextKeyViewAccessShouldMoveFocus
        (-[WebHTMLView previousKeyView]):
        ditto
        (-[WebHTMLView nextValidKeyView]):
        now doesn't set focus-moving trigger ivar if view is hidden or has hidden ancestor
        (-[WebHTMLView previousValidKeyView]):
        ditto

2004-06-30  Trey Matteson  <trey@apple.com>

	Dragging within a web view should be allowed to start when the window isn't key.

	A few months ago, Chris made this work, but it relied on the fact that all dragging
	was done in WebKit.  When WebCore got involved in dragging, it was broken.  Now we
	have a new scheme that gets it working again that properly involves WebCore.

	The general idea is that when AK asks us whether to accept the first mouse and do
	"delayed window ordering", we must consult WC to see if we might start a drag.  In
	addition, instead of these drags in non-active windows being started as a special
	case in WK, they go through the normal WK-WC drag machinery.  Finally to work in
	frames we have to drill to the deepest hit view in acceptsFirstMouse, because previous
	hacks to hitTest make the top-most WebHTMLView field all events for its view tree
	(which leads to it fielding all acceptFirstMouse messages too).

        Reviewed by John.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge mayStartDragAtEventLocation:]):  Glue change for new arg type.
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
	firstMouseDownEvent ivar is no longer needed.
        (-[WebHTMLView _mayStartDragAtEventLocation:]):  Receives a location instead of a drag
	event, since we need to do this work when we have no drag event.  This means the
	check of the delay for text dragging is moved down to WebCore.
        (-[WebHTMLView acceptsFirstMouse:]):  Respond based on whether we might do a drag.
	This includes drilling to the deepest view the event hits, whereas we used to only
	respond considering the topmost WebHTMLView.
        (-[WebHTMLView shouldDelayWindowOrderingForEvent:]):  Ditto.
        (-[WebHTMLView mouseDown:]):  Get rid of special case where some activating
	mouseDown events weren't sent to WC.  We need to go through the whole pipeline
	now to get a drag started properly.
        (-[WebHTMLView mouseDragged:]):  Ditto, let WC start the drag.
        (-[WebHTMLView mouseUp:]):  firstMouseDownEvent ivar is no longer needed.
        * WebView.subproj/WebHTMLViewInternal.h:
        * WebView.subproj/WebHTMLViewPrivate.h:

2004-06-25  Trey Matteson  <trey@apple.com>

	Added new utility method.

        Reviewed by John.

        * WebView.subproj/WebFrame.m:
        (-[WebFrame _isDescendantOfFrame:]):   New code.
        * WebView.subproj/WebFramePrivate.h:

2004-06-24  Richard Williamson   <rjw@apple.com>

		Fixed <rdar://problem/3710313>: CGContext not zeroed when WebImageRenderer is copied
		The context ivar of WebImageRenderer wasn't being nil when the object was copied.

        Reviewed by Darin.

        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer copyWithZone:]):
        (-[WebImageRenderer dealloc]):
        (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):

2004-06-24  Trey Matteson  <trey@apple.com>

	3672725 - Assertion failure in URLCompletion code with particular set of bookmarks

	Problem was caused by a URL with unescaped unicodes getting into
	the Bookmarks file, presumably from import from IE.  We now test
	for this case and convert the data on the way in as if it were
	user-entered.

        Reviewed by John and Darin.

        * History.subproj/WebHistoryItem.m:
        (-[WebHistoryItem initFromDictionaryRepresentation:]):

2004-06-24  Trey Matteson  <trey@apple.com>

	3704950	drag image in DB ConfigBar has horizontal graphics turd	WebCore JavaScript

	When we generate a drag image (or a selection image too, for that matter) we
	translate the CTM using a CG call.  Later, WebImageRenderer adjusts the pattern
	phase based on the CTM of the focused view, which doesn't include our translate.
	So we must inform WebKit about the additional phase adjustment.

        Reviewed by Richard

        * WebCoreSupport.subproj/WebGraphicsBridge.h:
        * WebCoreSupport.subproj/WebGraphicsBridge.m:
        (-[WebGraphicsBridge setAdditionalPatternPhase:]):  New trivial setter.
        (-[WebGraphicsBridge additionalPatternPhase]):      ...and getter.
        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer tileInRect:fromPoint:context:]):  Take any additional phase
	adjustment into account when setting phase.

2004-06-24  Trey Matteson  <trey@apple.com>

	3693420 - onbeforecut and onbeforepaste need real implementaion

        Reviewed by Chris.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView validateUserInterfaceItem:]):  Check with WebCore
	to see if cut, copy, paste should be enabled.

2004-06-24  John Sullivan  <sullivan@apple.com>

        Reviewed by Darin.
        
        - fixed <rdar://problem/3706792> 8A161: Choosing text encoding for 
        error page opens finder window!?

        * WebView.subproj/WebFrame.m:
        (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]):
        take unreachableURL into account

2004-06-23  Richard Williamson   <rjw@apple.com>

	Implemented changes for latest npruntime.h.
	Made npruntime.h public.
		
        Reviewed by Chris.

        * Plugins.subproj/WebBaseNetscapePluginView.h:
        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView pluginScriptableObject]):
        (-[WebBaseNetscapePluginView forceRedraw]):
        (-[WebBaseNetscapePluginView getVariable:value:]):
        * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h:
        * Plugins.subproj/WebNetscapePluginPackage.m:
        (-[WebNetscapePluginPackage load]):
        * Plugins.subproj/npapi.h:
        * Plugins.subproj/npapi.m:
        (NPN_GetValue):
        * Plugins.subproj/npfunctions.h:
        * Plugins.subproj/npruntime.h:
        * WebKit.pbproj/project.pbxproj:

2004-06-21  Darin Adler  <darin@apple.com>

        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.

2004-06-21  Chris Blumenberg  <cblu@apple.com>

	Made WebKitErrorDescriptionPlugInCancelledConnection have its own description string
	(Not for software update branch)

        Reviewed by john.

        * English.lproj/Localizable.strings:
        * Misc.subproj/WebKitErrors.m:

2004-06-21  Chris Blumenberg  <cblu@apple.com>

	Made WebKitErrorDescriptionPlugInCancelledConnection properly reuse an already localized string to avoid loc changes.

        Reviewed by john.

        * ChangeLog:
        * Misc.subproj/WebKitErrors.m:

2004-06-21  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3701269> change in error handling behavior from 10.3.3 to 10.3.4 breaks unreleased Adobe PDF plug-in

        Reviewed by john.

        * Misc.subproj/WebKitErrors.m:
        (registerErrors): register string for WebKitErrorPlugInCancelledConnection
        * Misc.subproj/WebKitErrorsPrivate.h:
        * Plugins.subproj/WebBaseNetscapePluginStream.h:
        * Plugins.subproj/WebBaseNetscapePluginStream.m:
        (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): use renamed WEB_REASON_PLUGIN_CANCELLED constant
        (-[WebBaseNetscapePluginStream destroyStream]): ditto
        * Plugins.subproj/WebNetscapePluginRepresentation.m:
        (-[WebNetscapePluginRepresentation cancelWithReason:]): if the reason is WEB_REASON_PLUGIN_CANCELLED, cancel the load with WebKitErrorPlugInCancelledConnection
        * Plugins.subproj/WebNetscapePluginStream.m:
        (-[WebNetscapePluginStream cancelWithReason:]): ditto

=== Safari-146 ===

2004-06-17  Richard Williamson   <rjw@apple.com>

		Changed private headers to be pubic for npapi.h and npfunctions.h.  That
		API was approved but never marked as public in the project file.  This change does
		not make npruntime.h public, which contains the not yet approved changes
		for script-ability of netscape plugins.  Unfortunately, that API will not
		be public for WWDC.
				
        Reviewed by Chris.

        * WebKit.pbproj/project.pbxproj:

2004-06-17  Trey Matteson  <trey@apple.com>

	3698514 - coordinates in ondragstart and ondrag events are wrong

	This part fixes the ondrag coords.  I thought Cocoa passed us the mouse location
	in draggedImage:movedTo:, but no, it's the position of the dragged image.
	WebCore needs the mouse location, so to calc that we must save away the
	offset of the mouse relative to the image when we kick off the drag.

        Reviewed by Maciej.

        * Misc.subproj/WebNSViewExtras.h:
        * Misc.subproj/WebNSViewExtras.m:
        (-[NSView _web_dragImage:rect:event:pasteboard:source:offset:]): Add the ability
	to return the offset of the cursor wrt to the drag image, since this routine
	generates its own drag image and positions it.
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
	Calc the offset of the cursor wrt to the drag image in the myriad of ways
	that we kick off the drag.	
        (-[WebHTMLView draggedImage:movedTo:]):  Adjust the location by the
	offset we save when we kicked off the drag.
        (-[WebHTMLView draggedImage:endedAt:operation:]):  Ditto.
        * WebView.subproj/WebHTMLViewInternal.h:
        * WebView.subproj/WebImageView.m:
        (-[WebImageView mouseDragged:]):  Pass nil for new arg, we don't care.

2004-06-16  David Hyatt  <hyatt@apple.com>

	In order to support truncation in Emerson, enhance pointToOffset so that it needn't include partial
	character glyphs (the left half of a glyph).
	
        Reviewed by mjs

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer pointToOffset:style:position:reversed:includePartialGlyphs:]):
        (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]):
        (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:includePartialGlyphs:]):

=== Safari-145 ===

2004-06-16  Darin Adler  <darin@apple.com>

        - fixed <rdar://problem/3696081> REGRESSION: <WebKit/CarbonUtils.h> doesn't build any more

        Reviewed by Trey.

        * Carbon.subproj/CarbonUtils.h: Fixed include. Need to include <ApplicationServices/ApplicationServices.h>
        to get CGImageRef; can't include an individual header.

2004-06-15  Richard Williamson   <rjw@apple.com>

	Fixed <rdar://problem/3695875>: Objective-C instances that are exported to JavaScript are too promiscuous
	
	Flip the policy for exposing Objective-C methods and properties.
	
	Reviewed by Trey.
	
	* Plugins.subproj/WebPluginPackage.m:
	(+[NSObject isSelectorExcludedFromWebScript:]):  Just return YES.
	(+[NSObject isKeyExcludedFromWebScript:]):  Just return YES.

2004-06-15  Trey Matteson  <trey@apple.com>

	3639321 - Harvard PIN authentication ends up sending PIN as clear text with POST action

	When going back/forward to an item, if we went there originally via a POST, 
	we ask the user about rePOSTing, and if they say yes, we resend the POST. 
	This rePOST case is triggered by the form data that we saved on the b/f item.
	In the case of this bug, the overall navigation was accomplished by a POST,
	then a redirect, causing a GET.  When a load of type redirect achieves the Committed
	stage, we replace the current URL in the b/f item with the new URL (instead of
	adding a new item to the b/f list).

	The bug is that at the same time we should also update the form data in
	the b/f item to match that of the new request.  I think this will normally
	mean nil'ing it out, unless there's some way for the result of the redirect
	to be another POST.
 
	The security leak occurred because we did not clear the form data on the item,
	so when going back or forward to the page, we would go into the rePOSTing code,
	even though we eventually reached that page via a GET (caused by the redirect).
	So we would do a POST to the redirect URL containing the private data sent in
	the original POST.

        Reviewed by mjs and rjw.

        * History.subproj/WebHistoryItem.m:
        (-[WebHistoryItem _setFormInfoFromRequest:]):  New method, just wraps 3 old set methods.
        (-[WebHistoryItem formData]):  Diff being dumb, no change.
        (-[WebHistoryItem formContentType]):  Ditto
        (-[WebHistoryItem formReferrer]): Ditto
        * History.subproj/WebHistoryItemPrivate.h:
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _createItem:]):  Call new WebHistoryItem method - no change in real behavior
        (-[WebFrame _transitionToCommitted:]):  Clear out the form data at the key time, to fix the bug.

2004-06-15  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3695724> WebKit plug-ins should only have to implement plugInViewWithArguments:

        Reviewed by rjw.

        * ChangeLog:
        * Plugins.subproj/WebPluginViewFactory.h: mention that plugInViewWithArguments is required
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _reloadForPluginChanges]): check for plugInViewWithArguments: not webPlugInInitialize
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView addSubview:]): ditto

2004-06-15  Trey Matteson  <trey@apple.com>

	3695240 - pasting plain text with newlines in it turns them into spaces

	Easy fix, we just need to consume the incoming data as text instead of markup.

        Reviewed by John and Darin.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]):

2004-06-15  Darin Adler  <darin@apple.com>

        - fixed crash introduced by my earlier change

        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageContext dealloc]): Set _cgsContext to 0 before calling super as before.
        (-[WebImageContext finalize]): Ditto.

2004-06-14  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed some things for GC that Patrick missed, or that happened after the branch

        * Carbon.subproj/HIWebView.m:
        (HIWebViewConstructor): Use CFRetain instead of retain.
        (HIWebViewDestructor): Use CFRelease instead of release.
        * Misc.subproj/WebFileDatabase.m:
        (-[WebFileDatabase initWithPath:]): Use release instead of dealloc.
        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageContext finalize]): Had [super dealloc] here by mistake; change to [super finalize].
        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer finalize]): Added.
        * WebView.subproj/WebDebugDOMNode.m:
        (-[WebDebugDOMNode initWithWebFrameView:]): Use release instead of dealloc.
        * WebView.subproj/WebRenderNode.m:
        (-[WebRenderNode initWithWebFrameView:]): Use release instead of dealloc.

2004-06-15  Trey Matteson  <trey@apple.com>

	Fix ASSERT/crash we get sometimes when dragging link images.  Turns
	out there was an uninitialized variable for the image size,
	so at random we would try to create huge images that could not
	be focused.
	
        Reviewed by Maciej and Darin.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _dragImageForLinkElement:]):  Trivial fix to
	not use += with uninited variable.

2004-06-14  Darin Adler  <darin@apple.com>

        Reviewed by me, code changes by Patrick Beard.

        - fixed <rdar://problem/3671507>: (WebKit should adopt GC changes and compile with GC enabled)

        * WebKit.pbproj/project.pbxproj: Added WebNSObjectExtras.h.
        * Misc.subproj/WebNSObjectExtras.h: Added. Includes WebMakeCollectable, a cover for
        CFMakeCollectable that returns type id, for less casting, and works on Panther as well
        as Tiger. Also declares finalize in NSObject so we can call super without warnings on Panther.

        * Carbon.subproj/CarbonWindowAdapter.m: Fixed header and includes a bit.
        (-[CarbonWindowAdapter finalize]): Added.
        * History.subproj/WebBackForwardList.m:
        (-[WebBackForwardList dealloc]): Got count outside loop.
        (-[WebBackForwardList finalize]): Added.
        * History.subproj/WebHistoryItem.m:
        (-[WebHistoryItem finalize]): Added.
        * Misc.subproj/WebFileDatabase.m:
        (-[WebFileDatabase _createLRUList:]): Use release on Panther, drain on Tiger.
        (+[WebFileDatabase _syncLoop:]): Ditto.
        (-[WebFileDatabase dealloc]): Removed, since we never deallocate objects of this class, and
        the method was untested.
        * Misc.subproj/WebKitErrors.m: (registerErrors): Use release on Panther, drain on Tiger.
        * Misc.subproj/WebKitNSStringExtras.m: (+[NSString _web_encodingForResource:]): Use
        WebMakeCollectable. Also fixed indenting.
        * Misc.subproj/WebNSURLExtras.m:
        (+[NSURL _web_URLWithData:relativeToURL:]): Use WebMakeCollectable.
        (-[NSURL _web_URLWithLowercasedScheme]): Use WebMakeCollectable.
        (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Change code to use CFRelease
        to balance CFURLCreateStringByReplacingPercentEscapes CFString creation, not release.
        * Plugins.subproj/WebBaseNetscapePluginStream.m:
        (-[WebBaseNetscapePluginStream finalize]): Added.
        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView freeAttributeKeysAndValues]): Added. Shared code for dealloc and finalize.
        (-[WebBaseNetscapePluginView dealloc]): Call freeAttributeKeysAndValues.
        (-[WebBaseNetscapePluginView finalize]): Added.
        (-[WebBaseNetscapePluginView requestWithURLCString:]): Changed so that CFString objects are
        released with CFRelease, not release.
        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Fixed storage leak in
        error case. Made sure CFString object is released with CFRelease, not release.
        (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]):
        Another CFString that needed to a CFRelease, not a release.
        (-[WebBaseNetscapePluginView status:]): Ditto.
        * Plugins.subproj/WebBasePluginPackage.m:
        (-[WebBasePluginPackage pathByResolvingSymlinksAndAliasesInPath:]): Changed code to
        CFRelease a CFURLRef, instead of release.
        (-[WebBasePluginPackage finalize]): Added.
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge fini]): Added. Shared code for dealloc and finalize.
        (-[WebBridge dealloc]): Call fini.
        (-[WebBridge finalize]): Added.
        * WebCoreSupport.subproj/WebGlyphBuffer.m:
        (-[WebGlyphBuffer finalize]): Added.
        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageContext initWithBounds:context:]): Use CGContextRetain to avoid cast.
        (-[WebImageContext dealloc]): Tweaked.
        (-[WebImageContext finalize]): Added.
        (-[WebImageRenderer finalize]): Added.
        (-[WebPDFDocument finalize]): Added.
        * WebView.subproj/WebDataProtocol.m:
        (+[NSURL _web_uniqueWebDataURL]): Changed so that CFString object is released with
        CFRelease, not release.
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSourcePrivate dealloc]): Took non-release work out of here.
        (-[WebDataSource dealloc]): Moved it here.
        (-[WebDataSource finalize]): Added.
        (-[WebDataSource isLoading]): Use release on Panther, drain on Tiger.
        * WebView.subproj/WebFrame.m:
        (-[WebFramePrivate dealloc]): Took non-release work out of here.
        (-[WebFrame dealloc]): Moved it here.
        (-[WebFrame finalize]): Added.
        * WebView.subproj/WebFrameView.m:
        (-[WebFrameView finalize]): Added.
        * WebView.subproj/WebHTMLRepresentation.m:
        (-[WebHTMLRepresentation finalize]): Added.
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLViewPrivate dealloc]): Moved non-release work out of here.
        (-[WebHTMLView dealloc]): Moved it here.
        (-[WebHTMLView finalize]): Added.
        * WebView.subproj/WebImageView.m:
        (-[WebImageView finalize]): Added.
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient finalize]): Added.
        * WebView.subproj/WebTextView.m:
        (-[WebTextView finalize]): Added.
        * WebView.subproj/WebView.m:
        (-[WebView finalize]): Added.

2004-06-14  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin
        
        Fix for this bug:
        
        <rdar://problem/3693202> WebView.h header unnecessarily lists NSResponder methods it overrides

        * WebView.subproj/WebView.h: NSResponder overrides now gathered in a comment section.

2004-06-13  Trey Matteson  <trey@apple.com>

	Support for DHTML cut/copy/paste.

        Reviewed by Chris

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView copy:]):  Give DHTML first crack at executing the command.
        (-[WebHTMLView cut:]):  Ditto
        (-[WebHTMLView paste:]):  Ditto

2004-06-14  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3674456> make new drag & drop API compatible with DHTML dragging

        Reviewed by trey.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): tweak
        * WebView.subproj/WebUIDelegate.h: removed old, added new methods
        * WebView.subproj/WebUIDelegatePrivate.h: moved new methods to public header
        * WebView.subproj/WebView.h: removed old, added new methods
        * WebView.subproj/WebView.m: moved methods around
        (-[WebView moveDragCaretToPoint:]): moved
        (-[WebView removeDragCaret]): moved
        (-[WebView _bridgeAtPoint:]): moved
        (-[WebView editableDOMRangeForPoint:]): moved
        * WebView.subproj/WebViewInternal.h: add new internal method
        * WebView.subproj/WebViewPrivate.h: moved new methods to public header

2004-06-14  Trey Matteson  <trey@apple.com>

	Use a different hack, as recommended by Kristin, to force the drag
	manager to exit a modal event wait it is in.  The hack is required
	to update the drag image on the fly.  Instead of posting a CG
	event we post at the AppKit level.

        Reviewed by Louch

        * WebCoreSupport.subproj/WebGraphicsBridge.m:
        (-[WebGraphicsBridge setDraggingImage:at:]):

2004-06-14  Chris Blumenberg  <cblu@apple.com>

	Fixed:
	<rdar://problem/3692668> REGRESSION: delay when images and links
	<rdar://problem/3692675> links should drag when dragging images that are links when drag source action is WebDragSourceActionLink

        Reviewed by trey.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _mayStartDragWithMouseDragged:]): cleaned up, only use selection delay for selections, allow links to be dragged when image dragging is disabled 

2004-06-12  Trey Matteson  <trey@apple.com>

	Small rearrangement to support dynamic changing of the drag
	image during DHTML dragging.

        Reviewed by John

        * WebCoreSupport.subproj/WebBridge.m:  Bridge glue moved to WebGraphicsBridge.
        * WebCoreSupport.subproj/WebGraphicsBridge.m:
        (FlipImageSpec):  Code moved from WebHTMLView.m.
        (-[WebGraphicsBridge setDraggingImage:at:]):  Ditto.  Plus, we've added a gross
	event posting hack to force CG drag manager to update the display when we set
	the drag image.
        * WebView.subproj/WebHTMLView.m:  Code moved to WebGraphicsBridge.
        * WebView.subproj/WebHTMLViewPrivate.h:

2004-06-11  Chris Blumenberg  <cblu@apple.com>

	Implemented the remainder of the drag & drop API.

        Reviewed by trey.

        * Misc.subproj/WebNSPasteboardExtras.h:
        * Misc.subproj/WebNSPasteboardExtras.m:
        (-[NSPasteboard _web_declareAndWriteDragImage:URL:title:archive:source:]): new
        * Misc.subproj/WebNSViewExtras.h:
        * Misc.subproj/WebNSViewExtras.m:
        (-[NSView _web_dragImage:rect:event:pasteboard:source:]): simplified, this method now just creates a drag image and starts the drag
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge allowDHTMLDrag:UADrag:]): now calls _delegateDragSourceActionMask on WebHTMLView to interact with the delegate
        * WebView.subproj/WebDefaultUIDelegate.m:
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): call new delegate method, cleaned-up a little
        (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): call drag caret methods on WebView instead of WebBridge so WebView can make sure only 1 HTML view has a drag cursor
        (-[WebHTMLView draggingCancelledWithDraggingInfo:]): ditto
        (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): ditto
        (-[WebHTMLView _delegateDragSourceActionMask]): new, gets drag source action mask from delegate
        * WebView.subproj/WebHTMLViewInternal.h:
        * WebView.subproj/WebImageView.h:
        * WebView.subproj/WebImageView.m:
        (-[WebImageView mouseDown:]): get the drag source action mask from the delegate
        (-[WebImageView mouseDragged:]): inform the delegate of the drag
        * WebView.subproj/WebView.m:
        (-[WebViewPrivate dealloc]): assert that dragCursorBridge is nil
        (-[WebView _close]): release dragCursorBridge
        (-[WebView _bridgeAtPoint:]): new
        (-[WebView editableDOMRangeForPoint:]): new API
        (-[WebView moveDragCaretToPoint:]): new API
        (-[WebView removeDragCaret]): new API
        (-[WebView _frameViewAtWindowPoint:]): moved so this can be called internally
        * WebView.subproj/WebViewInternal.h:
        * WebView.subproj/WebViewPrivate.h:

2004-07-10  Trey Matteson  <trey@apple.com>

	Prep work for latest delegate API for dragging.  In addition, I also straightened out all
	the cases of DHTML setting a drag image or setting pasteboard data, and how that would
	override WebKit's default behavior (which follows how WinIE does things).

        Reviewed by Chris.

        * Misc.subproj/WebNSViewExtras.h:
        * Misc.subproj/WebNSViewExtras.m:
        (-[NSView _web_dragImage:archive:rect:URL:title:event:dragImage:dragLocation:writePasteboard:]):
	New args to allow WebCore override of dragImage and pasteboard data.
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge allowDHTMLDrag:UADrag:]):  New method to return the drag action info to WC.
        (-[WebBridge startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
	Pass along new args.
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
	Allow WebCore to override drag image and pasteboard data for any type of drag.
        (-[WebHTMLView mouseDragged:]):  Pass NO for new args.
        * WebView.subproj/WebHTMLViewPrivate.h:
        * WebView.subproj/WebImageView.m:
        (-[WebImageView mouseDragged:]):  Pass NO/nil for new args.

=== Safari-144 ===

2004-06-10  Kevin Decker  <kdecker@apple.com>

        Reviewed by John.

        * WebView.subproj/WebResource.m:
        (-[WebResource description]):
            -added per request of cblu
        (-[WebResource _response]):
            -added this method to the header
        (-[WebResource _stringValue]):
            - gives the string value of the NSData representation
        * WebView.subproj/WebResourcePrivate.h:

2004-06-10  Darin Adler  <darin@apple.com>

        Reviewed by Ken.

        * WebCoreSupport.subproj/WebBridge.m: Removed undo-related methods.
        (-[WebBridge undoManager]): Added.

        * WebKit.pbproj/.cvsignore: Updated for new Xcode files.

2004-06-09  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        Fix for this bug:
        
        <rdar://problem/3672088>: "Editable WebViews should maintain a selection even when they're not firstResponder"

        Add some code to determine whether a WebHTMLView should maintain an
        inactive selection when the view is not first responder. Traditionally,
        these views have not maintained such selections, clearing them when the
        view was not first responder. However, for appls embedding this view as
        an editing widget, it is desirable to act more like an NSTextView. For
        now, however, the view only acts in this way when the web view is set to
        be editable with -[WebView setEditable:YES]. This will maintain
        traditional behavior for WebKit clients dating back to before this
        change, and will likely be a decent switch for the long term, since
        clients to ste the web view to be editable probably want it to act like
        a "regular" Cocoa view in terms of its selection behavior.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView updateTextBackgroundColor]): Add code to tell whether the view is resigning first responder,
        and if it is, use the inactive text background color.
        (-[WebHTMLView maintainsInactiveSelection]): New helper which does checks to see if the new selection
        behavior should be used, or whether we should continue with traditional WebKit behavior.
        (-[WebHTMLView resignFirstResponder]): Call new maintainsInactiveSelection helper. If true,
        do not clear the selection.
        * WebView.subproj/WebHTMLViewInternal.h: Add resigningFirstResponder flag.

2004-06-09  Chris Blumenberg  <cblu@apple.com>

	Implemented drag destination portion of the new drag & drop API.

        Reviewed by trey.

        * WebView.subproj/WebDefaultUIDelegate.m:
        (-[WebDefaultUIDelegate webView:dragDestinationActionMaskForDraggingInfo:]): new delegate implementation
        (-[WebDefaultUIDelegate webView:willPerformDragDestinationAction:forDraggingInfo:]): ditto
        * WebView.subproj/WebDocumentInternal.h:
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): handle the action mask
        (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): ditto
        * WebView.subproj/WebUIDelegate.h:
        * WebView.subproj/WebUIDelegatePrivate.h:
        * WebView.subproj/WebView.m:
        (-[WebView _dragOperationForDraggingInfo:]): call new delegate methods
        (-[WebView performDragOperation:]): ditto
        * WebView.subproj/WebViewInternal.h:
        * WebView.subproj/WebViewPrivate.h:

2004-06-09  Richard Williamson   <rjw@apple.com>

        Implemented PDF rendering for the drawImage() function
        in Context2D.  This allows PDF files to be drawn in scaled
        or rotated context without rasterization artifacts.
        
        The PDF image is currently NOT cached.  Caching can/will be added
        as an optimization.  The hooks are already in place to flush
        the cache as necessary.
        
        Reviewed by John.

        * WebCoreSupport.subproj/WebImageRenderer.h:
        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer dealloc]):
        (-[WebImageRenderer _needsRasterFlush]):
        (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
        (-[WebImageRenderer _PDFDocumentRef]):
        (-[WebImageRenderer _PDFDraw]):
        (-[WebImageRenderer _PDFDrawFromRect:toRect:operation:alpha:flipped:]):
        (-[WebImageRenderer MIMEType]):
        (ReleasePDFDocumentData):
        (-[WebPDFDocument initWithData:]):
        (-[WebPDFDocument dealloc]):
        (-[WebPDFDocument documentRef]):
        (-[WebPDFDocument mediaBox]):
        (-[WebPDFDocument bounds]):
        (-[WebPDFDocument adjustCTM:]):
        (-[WebPDFDocument setCurrentPage:]):
        (-[WebPDFDocument currentPage]):
        (-[WebPDFDocument pageCount]):

        Added back check for old plugin API.
        
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _reloadForPluginChanges]):
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView addSubview:]):
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge frameRequiredForMIMEType:URL:]):

2004-06-08  Trey Matteson  <trey@apple.com>

	In DHTML dragging there is no notion of registering for types, so we'd
	like to just pass all types down to WebCore.  It turns out that the per-type
	registration doesn't matter as far as the underlying drag service is
	concerned, so Cocoa is already getting called for any type.  We just hack and
	override a private method to ensure we accept any type.

        Reviewed by Chris.

        * WebView.subproj/WebView.m:
        (-[WebView _hitTest:dragTypes:]):  We accept any drag type if it is within
	our view, without overriding a subview's decision.

2004-06-08  Trey Matteson  <trey@apple.com>

	A DHTML drag source can now change the dragging image during the drag.  Currently
	it may only be set to a static image.

        Reviewed by John

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge setDraggingImage:at:]):  Typical bridge glue.
        * WebView.subproj/WebHTMLView.m:
        (FlipImageSpec):  New utility, copied from AppKit.
        (-[WebHTMLView _setDraggingImage:at:]):  Mostly copied from AppKit.  Sets the drag
	image using CG API.
        * WebView.subproj/WebHTMLViewPrivate.h:

2004-06-08  Chris Blumenberg  <cblu@apple.com>

	Fixed: <rdar://problem/3640423>: (REGRESSION: can't paste text copied from web page into Excel (due to HTML on the pasteboard?))

        Reviewed by darin.

        * WebView.subproj/WebHTMLView.m:
        (+[WebHTMLView _selectionPasteboardTypes]): don't include NSHTMLPboardType
        (-[WebHTMLView _selectedArchive]): removed markup string parameter
        (_selectionPasteboardTypes::if): don't put NSHTMLPboardType on the pasteboard
        * WebView.subproj/WebHTMLViewPrivate.h:

2004-06-07  Darin Adler  <darin@apple.com>

        Reviewed by Chris.

        - fixed <rdar://problem/3676761>: (REGRESSION: Text Bigger/Smaller commands are always disabled in TOT)

        * WebView.subproj/WebHTMLView.m: Add @interface declaration for WebTextSizing category
        on WebHTMLView. This must have gotten lost somewhere along the way.

2004-06-05  Trey Matteson  <trey@apple.com>

        WebKit no longer causes an endless stream of dragexit events to
        occur at the DHTML level when hovering over an element that is
        not accepting the drag.

        Reviewed by Chris

        * WebView.subproj/WebView.m:
        (-[WebView _dragOperationForDraggingInfo:]):  If the potential target refuses
        the item, don't turn around and immediately tell it to cancel the drag, which is
        what leads to the exit event happening at the DOM level.  If the target just
        refused the drag, it should not have anything it needs to cancel.

2004-06-03  Trey Matteson  <trey@apple.com>

        DHTML dragging uses the Cocoa NSDragOperation on both the source and dest ends.
        Most of the real work is in WebCore.

        Reviewed by rjw

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge startDraggingImage:at:operation:event:]):  Pass the drag op along.
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _startDraggingImage:at:operation:event:]):  Remember drag op from WC.
        (-[WebHTMLView mouseDragged:]):  Pass None for the op (alternate code path that will
        be going away).
        (-[WebHTMLView draggingSourceOperationMaskForLocal:]):  Use the WC drag op.
        * WebView.subproj/WebHTMLViewInternal.h:
        * WebView.subproj/WebHTMLViewPrivate.h:

=== Safari-143 ===

2004-06-04  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3674921>: (can't drag an image from Desktop to Blot document)

        Reviewed by mjs.

        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _imageElementWithImageResource:]): factored out from _documentFragmentWithImageResource:
        (-[WebDataSource _documentFragmentWithImageResource:]): call _imageElementWithImageResource:
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _imageExistsAtPaths:]): new
        (-[WebHTMLView _documentFragmentWithPaths:]): new
        (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): handle NSFilenamesPboardType
        (+[WebHTMLView _insertablePasteboardTypes]): include NSFilenamesPboardType
        (-[WebHTMLView _canProcessDragWithDraggingInfo:]): check for NSFilenamesPboardType and check that the files are images

2004-06-04  Richard Williamson   <rjw@apple.com>

        Fixed crasher from last checkin.
        
        Reviewed by Ken.

        * Plugins.subproj/WebPluginDatabase.m:
        (+[WebPluginDatabase setAdditionalWebPlugInPaths:]):
        (pluginLocations):

2004-06-03  Richard Williamson   <rjw@apple.com>

        Add SPI to allow setting of plugin load path.
                Reviewed by Hyatt.

        * Plugins.subproj/WebPluginDatabase.h:
        * Plugins.subproj/WebPluginDatabase.m:
        (+[WebPluginDatabase setAdditionalWebPlugInPaths:]):
        (pluginLocations):

2004-06-03  Darin Adler  <darin@apple.com>

        Reviewed by Chris.

        - fixed <rdar://problem/3677038>: (Need SPI to get URL of favicon for a site)

        * Misc.subproj/WebIconDatabase.h: Add iconURLForURL: method.
        * Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase iconURLForURL:]): Added.

2004-06-02  Ken Kocienda  <kocienda@apple.com>

        Reviewed by John

        Fix for these bugs:
        
        <rdar://problem/3675806>: "Make API name change for -webViewShouldBeginEditing:inDOMRange:"
        <rdar://problem/3675809>: "Make API name change for -webViewShouldEndEditing:inDOMRange:"

        New names are -webView:shouldBeginEditingInDOMRange: and -webView:shouldEndEditingInDOMRange:, 
        respectively.

        * WebView.subproj/WebDefaultEditingDelegate.m:
        (-[WebDefaultEditingDelegate webView:shouldBeginEditingInDOMRange:]):
        (-[WebDefaultEditingDelegate webView:shouldEndEditingInDOMRange:]):
        * WebView.subproj/WebEditingDelegate.h:
        * WebView.subproj/WebView.m:
        (-[WebView _shouldBeginEditingInDOMRange:]):
        (-[WebView _shouldEndEditingInDOMRange:]):

2004-06-02  Richard Williamson   <rjw@apple.com>

        conformsToProtocol:@protocol(WebPlugin) becomes
        respondsToSelector:@selector(webPlugInInitialize) because
        protocol was changed to an informal protocol.
                Reviewed by Kevin.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge frameRequiredForMIMEType:URL:]):
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView addSubview:]):

2004-06-01  Trey Matteson  <trey@apple.com>

        First cut at source side of DHTML dragging.  Most of the work is in WebCore.

        Reviewed by hyatt.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge startDraggingImage:at:event:]):  Added image and loc args for
        when WC tells WK to start a drag.
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _startDraggingImage:at:event:]):  New image and loc args coming
        from WebCore.  Hysteresis is moved to WC.
        (-[WebHTMLView mouseDragged:]):  Call new _startDragging method.
        (-[WebHTMLView draggedImage:movedTo:]):  Pass event to WC.
        (-[WebHTMLView draggedImage:endedAt:operation:]):  Pass event to WC.
        (-[WebHTMLView mouseUp:]):  Reset firstMouseDownEvent.  Fixes bug where
        we would occasionally short-circuit WC event handling due to aliasing
        problem with this event.
        * WebView.subproj/WebHTMLViewPrivate.h:

2004-06-02  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed problem with timing of delegate callbacks in the back/forward cache case

        * WebView.subproj/WebFrame.m:
        (-[WebFrame _transitionToCommitted:]): Move code to indicate page is done loading in the
        back/forward cache case from here ...
        (-[WebFrame _opened]): ... to here.

2004-06-01  Richard Williamson   <rjw@apple.com>

        Fixed deployment build warning.

        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):

2004-06-01  Richard Williamson   <rjw@apple.com>

        Added support for drawImage and drawImageFromRect to <CANVAS>
        Added support for composite attribute to <CANVAS>

        Reviewed by Trey.

        * WebCoreSupport.subproj/WebImageRenderer.h:
        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageContext initWithBounds:context:]):
        (-[WebImageContext dealloc]):
        (-[WebImageContext saveGraphicsState]):
        (-[WebImageContext restoreGraphicsState]):
        (-[WebImageContext isDrawingToScreen]):
        (-[WebImageContext focusStack]):
        (-[WebImageContext setFocusStack:]):
        (-[WebImageContext bounds]):
        (-[WebImageContext isFlipped]):
        (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
        (-[WebImageRenderer dealloc]):
        (-[WebImageRenderer _beginRedirectContext:]):
        (-[WebImageRenderer _endRedirectContext:]):
        (-[WebImageRenderer _needsRasterFlush]):
        (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
        (-[WebImageRenderer drawImageInRect:fromRect:]):
        (-[WebImageRenderer flushRasterCache]):
        (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
        (-[WebImageRenderer tileInRect:fromPoint:context:]):
        * WebCoreSupport.subproj/WebImageRendererFactory.m:
        (-[WebImageRendererFactory imageRendererWithMIMEType:]):
        (-[WebImageRendererFactory imageRendererWithName:]):
        (-[WebImageRendererFactory CGCompositeOperationInContext:]):
        (-[WebImageRendererFactory setCGCompositeOperation:inContext:]):
        (-[WebImageRendererFactory setCGCompositeOperationFromString:inContext:]):

2004-06-01  John Sullivan  <sullivan@apple.com>

        Reviewed by Trey.
        
        Work on text-align API. Marked these bugs fixed:
        <rdar://problem/3655380>: (Editing: -alignCenter: method unimplemented (WebKit editing API))
        <rdar://problem/3655381>: (Editing: -alignJustified: method unimplemented (WebKit editing API))
        <rdar://problem/3655383>: (Editing: -alignLeft: method unimplemented (WebKit editing API))
        <rdar://problem/3655384>: (Editing: -alignRight: method unimplemented (WebKit editing API))        
        
        in favor of opening this bug:
        <rdar://problem/3675191>: (Editing: -alignLeft: and friends mostly implemented but not 
        yet working (WebKit editing API))        

        * English.lproj/StringsNotToBeLocalized.txt:
        updated for these changes
        
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView changeDocumentBackgroundColor:]):
        added a FIXME about why this is still not quite right
        (-[WebHTMLView _alignSelectionUsingCSSValue:]):
        new method, bottleneck for the various values
        (-[WebHTMLView alignCenter:]):
        call _alignSelectionUsingCSSValue:@"center"
        (-[WebHTMLView alignJustified:]):
        call _alignSelectionUsingCSSValue:@"justify"
        (-[WebHTMLView alignLeft:]):
        call _alignSelectionUsingCSSValue:@"left"
        (-[WebHTMLView alignRight:]):
        call _alignSelectionUsingCSSValue:@"right"

2004-06-01  John Sullivan  <sullivan@apple.com>

        Reviewed by Ken.
        
        - fixed <rdar://problem/3655378>: (Editing: -changeDocumentBackgroundColor: 
        method unimplemented (WebKit editing API))
        - made startSpeaking: actually work; previous implementation raised a DOMException

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _changeCSSColorUsingSelector:inRange:]):
        added range parameter
        (-[WebHTMLView _entireDOMRange]):
        new convenience method
        (-[WebHTMLView changeDocumentBackgroundColor:]):
        now affects entire document, not just selected range, a la NSTextView
        (-[WebHTMLView changeColor:]):
        now passes in a range to _changeCSSColorUsingSelector:inRange:
        (-[WebHTMLView startSpeaking:]):
        now uses _entireDOMRange

2004-06-01  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3661505>: (REGRESSION (Safari-140) can't drag standalone images more than once)

        Reviewed by john.

        * WebView.subproj/WebImageView.m:
        (-[WebImageView mouseDown:]): set ignoringMouseDraggedEvents to NO. This line of code was deleted somehow.

2004-06-01  John Sullivan  <sullivan@apple.com>

        Reviewed by Darin.
        
        - fixed <rdar://problem/3657003>: (HTML Editing: Color panel doesn't work)

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _colorPanelColorAsStyleUsingSelector:]):
        new method, returns a DOMCSSStyleDeclaration *
        (-[WebHTMLView _changeCSSColorUsingSelector:]):
        new method, sets a color-related style attribute on the selection
        (-[WebHTMLView changeDocumentBackgroundColor:]):
        call _changeCSSColorUsingSelector: with @selector(setBackgroundColor:)
        (-[WebHTMLView changeColor:]):
        call _changeCSSColorUsingSelector: with @selector(setColor:); also added
        comments explaining why changeDocumentBackgroundColor: will never actually
        be called until an AppKit code-incest mess is straighted out.

2004-06-01  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _fontManagerOperationAsStyle]): Fixed typo in family-name code that caused
        family names to match when they should not.

2004-06-01  Chris Blumenberg  <cblu@apple.com>

        Made paste and drop ask the delegate before making any replacements.

        Reviewed by kocienda.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): renamed, now calls _shouldInsertFragment:replacingDOMRange:givenAction:
        (-[WebHTMLView _shouldInsertFragment:replacingDOMRange:givenAction:]): new, asks delegate
        (-[WebHTMLView concludeDragForDraggingInfo:]): now calls _shouldInsertFragment:replacingDOMRange:givenAction:
        (-[WebHTMLView paste:]): call renamed _pasteWithPasteboard:allowPlainText:
        (-[WebHTMLView pasteAsRichText:]): ditto

2004-05-28  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _fontManagerOperationAsStyle]):
        First cut at figuring out what operation the font manager is doing without
        digging into its private data structures.

2004-05-28  Darin Adler  <darin@apple.com>

        Reviewed by Ken.

        - various editing-related improvements
        - fixed <rdar://problem/3655366>: (Editing: -selectParagraph: method unimplemented (WebKit editing API))
        - fixed <rdar://problem/3655367>: (Editing: -selectLine: method unimplemented (WebKit editing API))
        - fixed <rdar://problem/3655369>: (Editing: -selectWord: method unimplemented (WebKit editing API))
        - fixed <rdar://problem/3655392>: (Editing: -uppercaseWord: method unimplemented (WebKit editing API))
        - fixed <rdar://problem/3655393>: (Editing: -lowercaseWord: method unimplemented (WebKit editing API))
        - fixed <rdar://problem/3655394>: (Editing: -capitalizeWord: method unimplemented (WebKit editing API))

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _alterCurrentSelection:direction:granularity:]): Removed the call to
        ensureCaretVisible. This is now handled on the other side of the bridge.
        (-[WebHTMLView moveDown:]): Changed to use WebSelectByLine granularity instead of
        WebSelectDown direction.
        (-[WebHTMLView moveDownAndModifySelection:]): Ditto.
        (-[WebHTMLView moveUp:]): Ditto.
        (-[WebHTMLView moveUpAndModifySelection:]): Ditto.
        (-[WebHTMLView _expandSelectionToGranularity:]): Added.
        (-[WebHTMLView selectParagraph:]): Implemented by calling _expandSelectionToGranularity.
        (-[WebHTMLView selectLine:]): Ditto.
        (-[WebHTMLView selectWord:]): Ditto.
        (-[WebHTMLView _fontManagerOperationAsStyle]): Added. Placeholder for the job of figuring
        out what style change to make based on NSFontManager.
        (-[WebHTMLView changeFont:]): Implemented, but not really tested because guts are still
        missing due to lack of above method.
        (-[WebHTMLView insertTab:]): Removed the call to ensureCaretVisible.
        (-[WebHTMLView insertNewline:]): Removed the call to ensureCaretVisible.
        (-[WebHTMLView insertParagraphSeparator:]): Made this insert a newline for now.
        (-[WebHTMLView _changeWordCaseWithSelector:]): Added.
        (-[WebHTMLView uppercaseWord:]): Implemented by calling _changeWordCaseWithSelector.
        (-[WebHTMLView lowercaseWord:]): Ditto.
        (-[WebHTMLView capitalizeWord:]): Ditto.
        (-[WebHTMLView deleteBackward:]): Removed the call to ensureCaretVisible.
        (-[WebHTMLView checkSpelling:]): Put a pile of AppKit code in here as a placeholder.
        (-[WebHTMLView startSpeaking:]): Use the new stringForRange: method instead of outerText.
        That way we can handle cases where the entire document is selected.
        (-[WebHTMLView insertText:]): Removed the call to ensureCaretVisible.

2004-05-28  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3672129>: (selection deselects when clicking editable WebView in background window)

        Fixed this problem by using NSTextView's approach of only allowing dragging on first mouse down.

        Reviewed by john.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView acceptsFirstMouse:]): store the first mouse down
        (-[WebHTMLView mouseDown:]): Don't tell WebCore about the first mouse down event since only dragging can occur on the first mouse down.
        (-[WebHTMLView mouseDragged:]): Don't tell WebCore about the drags that occur after the first mouse down since only dragging can occur after the first mouse down.
        * WebView.subproj/WebHTMLViewInternal.h:

2004-05-28  Darin Adler  <darin@apple.com>

        * WebView.subproj/WebView.m: At Ken's suggestion, for better efficiency and safety,
        use _cmd rather than explicit selector names in the forwarding methods.

2004-05-28  Darin Adler  <darin@apple.com>

        Reviewed by Ken.

        - implemented a few more editing operations, moved code from WebView to WebHTMLView

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge respondToChangedContents]): Call _updateFontPanel on the WebHTMLView, not the WebView.
        (-[WebBridge respondToChangedSelection]): Ditto.

        * WebView.subproj/WebHTMLView.m: Moved WebElementOrTextFilter class here from WebView and
        gave it a prefix so it won't conflict with developers' class names.
        (-[WebHTMLView _updateFontPanel]): Moved here from WebView.

        * WebView.subproj/WebView.m:
        (-[WebView toggleSmartInsertDelete:]): Added.
        (-[WebView toggleContinuousSpellChecking:]): Added.
        (-[WebView isContinuousGrammarCheckingEnabled]): Added.
        (-[WebView setContinuousGrammarCheckingEnabled:]): Added.
        (-[WebView toggleContinuousGrammarChecking:]): Added.
        (-[WebView setSmartInsertDeleteEnabled:]): Implemented. We have the flag now, although we
        still don't actually have smart insert and delete implemented.
        (-[WebView smartInsertDeleteEnabled]): Ditto.
        (-[WebView setContinuousSpellCheckingEnabled:]): Implemented.
        (-[WebView isContinuousSpellCheckingEnabled]): Implemented.
        (-[WebView spellCheckerDocumentTag]): Implemented.
        (-[WebView _preflightSpellCheckerNow:]): Added.
        (-[WebView _preflightSpellChecker]): Added.
        (-[WebView _continuousCheckingAllowed]): Added.

        * WebView.subproj/WebHTMLViewInternal.h: Added. We'll things here from WebHTMLViewPrivate so
        they are internal to the framework, rather than SPI.
        * WebKit.pbproj/project.pbxproj: Added WebHTMLViewInternal.h.
        * WebView.subproj/WebHTMLViewPrivate.h: Moved WebHTMLViewPrivate into the internal header.
        Despite its name, it's internal, not SPI.

        * WebView.subproj/WebViewPrivate.h: Moved WebViewPrivate into the internal header.
        Despite its name, it's internal, not SPI. Added a number of new operations which should
        be public API. We'll have to figure out what to do about API review and the WWDC deadline.
        * WebView.subproj/WebViewInternal.h: Removed _updateFontPanel method.

        * English.lproj/StringsNotToBeLocalized.txt: Update.

2004-05-27  Ken Kocienda  <kocienda@apple.com>

        Reviewed by John

        The font panel now updates correctly, reflecting the current selection. There may
        still be some bugs and corner cases to handle, but this will work for a general
        implementation of the feature.

        * WebView.subproj/WebView.m:
        (+[ElementOrTextFilter filter]): Added. This filter will accept DOM elements and
        text nodes and skip everything else. This filter is used when walking a selection
        to determine the fonts in use.
        (-[ElementOrTextFilter acceptNode:]): DOM node filter implementation method.
        (-[WebView _fontFromStyle]): Removed, in lieu of new fontForCurrentPosition call on the bridge.
        (-[WebView _updateFontPanel]): Reworked to use a TreeWalker instead of a NodeIterator. This
        was done since the iterator must be rooted at the document root, but start iterating 
        at the start of the selection. TreeWalker's setCurrentNode allows this to be done.

2004-05-27  Kevin Decker  <kdecker@apple.com>

        * Plugins.subproj/WebScriptObject.h:

2004-05-27  Kevin Decker  <kdecker@apple.com>

        Reviewed by Ken.
        
        - error messages (eg. from JavaScriptCore) sent to the bridge now 
          get delievered to a new delegate method.  
    
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge addMessageToConsole:]):
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebUIDelegatePrivate.h:

=== Safari-142 ===

2004-05-27  Trey Matteson  <trey@apple.com>

        First cut at DHTML dragging, destination side.  Dragging text, files and URLs onto
        elements works.  Type conversion from NSPasteboard to MIME types is hardwired.
        No JS access yet to modifier keys, or operations mask.

        Reviewed by Chris.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView draggingUpdatedWithDraggingInfo:]): Call DHTML dragging via bridge.
        (-[WebHTMLView draggingCancelledWithDraggingInfo:]): Ditto.
        (-[WebHTMLView concludeDragForDraggingInfo:]): Ditto.
        * WebView.subproj/WebHTMLViewPrivate.h:
        * WebView.subproj/WebView.m:
        (-[WebView _setWebKitDragRespondsToDragging:]):  New SPI for finer grained control than the
        delegate currently has.
        (-[WebView _webKitDragRespondsToDragging]): Ditto.
        (-[WebView _commonInitializationWithFrameName:groupName:]):  Init new flag.
        (-[WebView _dragOperationForDraggingInfo:]):  Comment.
        * WebView.subproj/WebViewPrivate.h:

2004-05-27  Darin Adler  <darin@apple.com>

        * WebView.subproj/WebFrameView.m: (-[WebFrameView _scrollVerticallyBy:]): Added comment.

2004-05-27  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed <rdar://problem/3667948>: (REGRESSION: Page Down key goes down two pages when smooth scrolling is on)

        * WebView.subproj/WebFrameView.m:
        (-[WebFrameView _scrollVerticallyBy:]): Added return value to indicate if any scrolling was done.
        This requires using secret AppKit methods; the public methods don't have a return value.
        (-[WebFrameView _pageVertically:]): Added return value to indicate if any scrolling was done.
        (-[WebFrameView scrollPageUp:]): Base call through to next responder on whether any scrolling was done,
        using return value, rather than looking at new scroll position. This was the cause of the bug,
        since with smooth scrolling no scrolling has happened yet when the function returns.
        (-[WebFrameView scrollPageDown:]): Ditto.

        - removed temporary DOMDocument method from WebView

        * WebView.subproj/WebView.m:
        (-[WebView computedStyleForElement:pseudoElement:]): Call getComputedStyle on the document that owns the
        element rather than on the document that currently contains the selection.
        (-[WebView _updateFontPanel]): Get the document from the DOM range rather than using the DOMDocument method.
        (-[WebView styleDeclarationWithText:]): Change this method to not use the DOMDocument method, but do the same
        job with inline code.

        * WebView.subproj/WebViewPrivate.h: Moved a recently-added category that is not SPI out of here.
        * WebView.subproj/WebViewInternal.h: Moved the category in here. And removed the DOMDocument method from it.

        - other changes

        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.

        * copy-webcore-files-to-webkit: Change tabs to spaces. Quiet the script down by
        making it no longer echo each command or print messages about what it's doing by default.

2004-05-27  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - moved to new symlink technique for embedding frameworks

        * WebKit.pbproj/project.pbxproj: Get rid of embed-frameworks build step
        because we don't need it any more.

2004-05-27  Darin Adler  <darin@apple.com>

        - fixed Deployment build

        * WebView.subproj/WebView.m: (-[WebView concludeDragOperation:]):
        Got rid of ASSERT-only local variable.

2004-05-26  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Dave.

        - fix further problems with Emerson feed: redirection for RSS feeds

        This is done by removing removing the calls to defer callbacks
        while waiting for [... Maciej stopped typing here ...]

        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient continueAfterNavigationPolicy:formState:]):
        (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]):
        (-[WebMainResourceClient continueAfterContentPolicy:response:]):
        (-[WebMainResourceClient checkContentPolicyForResponse:]):

2004-05-26  Chris Blumenberg  <cblu@apple.com>

        Added and implemented proposed dragging API changes. These changes are necessary to make JS dragging work properly.

        Reviewed by trey.

        * WebView.subproj/WebDefaultUIDelegate.m:
        (-[WebDefaultUIDelegate webView:shouldDetermineDragOperationForDraggingInfo:dragOperation:]): instead of calling back to the WebView to get the default drag operation, return YES. Return NO in order to return a custom drag operation. Removed element parameter since another new API provides a way to get that.
        (-[WebDefaultUIDelegate webView:shouldProcessDragWithDraggingInfo:]): Removed element parameter since another new API provides a way to get that.
        * WebView.subproj/WebDocumentInternal.h:
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView draggingUpdatedWithDraggingInfo:]): now returns a drag operation
        (-[WebHTMLView draggingCancelledWithDraggingInfo:]): moved
        * WebView.subproj/WebUIDelegatePrivate.h:
        * WebView.subproj/WebView.m:
        (-[WebView elementAtPoint:]): new proposed API
        (-[WebView dragOperationForDraggingInfo:]): removed code from this API that should be removed
        (-[WebView _dragOperationForDraggingInfo:]): call new API
        (-[WebView concludeDragOperation:]): call new API

2004-05-26  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - moved HTML editing operations from WebView to WebHTMLView, leaving only forwarding machinery
          at the WebView level

        - fixed <rdar://problem/3655412>: (Editing: -startSpeaking: method unimplemented (WebKit editing API))
        - fixed <rdar://problem/3655414>: (Editing: -stopSpeaking: method unimplemented (WebKit editing API))
        - fixed <rdar://problem/3655375>: (Editing: -pasteAsRichText: method unimplemented (WebKit editing API))

        * WebView.subproj/WebView.h: Added missing declaration of selectionAffinity. I think this
        omission was an editorial mistake.

        * WebView.subproj/WebView.m:
        (-[WebView searchFor:direction:caseSensitive:wrap:]): Use _frameForCurrentSelection directly,
        since it no longer returns nil.
        (-[WebView pasteboardTypesForSelection]): Use _frameForCurrentSelection instead of going through the bridge.
        (-[WebView _frameForCurrentSelection]): Renamed from _currentFrame and changed to return main frame
        rather than nil when called on WebView that has no current selection.
        (-[WebView _bridgeForCurrentSelection]): Moved in file.
        (-[WebView _updateFontPanel]): Removed the one call to _currentSelectionIsEditable here, since
        it was the only one left in this file. Eventually this code will move to WebHTMLView.
        (-[WebView _performResponderOperation:with:]): Name change.

        * WebView.subproj/WebDataSource.m: (-[WebDataSource _documentFragmentWithImageResource:]):
        Build document fragment using DOM instead of composing HTML text.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): Added allowPlainText boolean,
        moved method into new location in file so it can be in the right category, changed link pasting
        to use DOM instead of composing HTML text.
        (-[WebHTMLView _replaceSelectionWithPasteboard:selectReplacement:allowPlainText:]): Added allowPlainText
        boolean, moved method into new location in file so it can be in the right category.
        (-[WebHTMLView concludeDragForDraggingInfo:]): Pass YES for allowPlainText.
        (-[WebHTMLView keyDown:]): Set keyDownEvent field for use by workaround below.
        (-[WebHTMLView centerSelectionInVisibleArea:]): Moved here from WebView.
        (-[WebHTMLView _alterCurrentSelection:direction:granularity:]): Ditto.
        (-[WebHTMLView moveBackward:]): Ditto.
        (-[WebHTMLView moveBackwardAndModifySelection:]): Ditto.
        (-[WebHTMLView moveDown:]): Ditto.
        (-[WebHTMLView moveDownAndModifySelection:]): Ditto.
        (-[WebHTMLView moveForward:]): Ditto.
        (-[WebHTMLView moveForwardAndModifySelection:]): Ditto.
        (-[WebHTMLView moveLeft:]): Ditto.
        (-[WebHTMLView moveLeftAndModifySelection:]): Ditto.
        (-[WebHTMLView moveRight:]): Ditto.
        (-[WebHTMLView moveRightAndModifySelection:]): Ditto.
        (-[WebHTMLView moveToBeginningOfDocument:]): Ditto.
        (-[WebHTMLView moveToBeginningOfLine:]): Ditto.
        (-[WebHTMLView moveToBeginningOfParagraph:]): Ditto.
        (-[WebHTMLView moveToEndOfDocument:]): Ditto.
        (-[WebHTMLView moveToEndOfLine:]): Ditto.
        (-[WebHTMLView moveToEndOfParagraph:]): Ditto.
        (-[WebHTMLView moveUp:]): Ditto.
        (-[WebHTMLView moveUpAndModifySelection:]): Ditto.
        (-[WebHTMLView moveWordBackward:]): Ditto.
        (-[WebHTMLView moveWordBackwardAndModifySelection:]): Ditto.
        (-[WebHTMLView moveWordForward:]): Ditto.
        (-[WebHTMLView moveWordForwardAndModifySelection:]): Ditto.
        (-[WebHTMLView moveWordLeft:]): Ditto.
        (-[WebHTMLView moveWordLeftAndModifySelection:]): Ditto.
        (-[WebHTMLView moveWordRight:]): Ditto.
        (-[WebHTMLView moveWordRightAndModifySelection:]): Ditto.
        (-[WebHTMLView pageDown:]): Ditto.
        (-[WebHTMLView pageUp:]): Ditto.
        (-[WebHTMLView selectParagraph:]): Ditto.
        (-[WebHTMLView selectLine:]): Ditto.
        (-[WebHTMLView selectWord:]): Ditto.
        (-[WebHTMLView copy:]): Moved down in file so it's in the right category.
        (-[WebHTMLView cut:]): Ditto.
        (-[WebHTMLView delete:]): Ditto.
        (-[WebHTMLView paste:]): Ditto.
        (-[WebHTMLView copyFont:]): Moved here from WebView.
        (-[WebHTMLView pasteFont:]): Ditto.
        (-[WebHTMLView pasteAsPlainText:]): Ditto.
        (-[WebHTMLView pasteAsRichText:]): Implemented this by calling the paste code with
        allowPlainText:NO; believe it or not, that's what this means in NSTextView.
        (-[WebHTMLView changeFont:]): Moved here from WebView.
        (-[WebHTMLView changeAttributes:]): Ditto.
        (-[WebHTMLView changeDocumentBackgroundColor:]): Ditto.
        (-[WebHTMLView changeColor:]): Ditto.
        (-[WebHTMLView alignCenter:]): Ditto.
        (-[WebHTMLView alignJustified:]): Ditto.
        (-[WebHTMLView alignLeft:]): Ditto.
        (-[WebHTMLView alignRight:]): Ditto.
        (-[WebHTMLView indent:]): Ditto.
        (-[WebHTMLView insertTab:]): Moved here from WebView, also call insertText rather than
        replaceSelectionWithText so it's undoable like a typed character.
        (-[WebHTMLView insertBacktab:]): Moved here from WebView.
        (-[WebHTMLView insertNewline:]): Moved here from WebView, also call insertText rather than
        replaceSelectionWithText so it's undoable like a typed character.
        (-[WebHTMLView insertParagraphSeparator:]): Moved here from WebView.
        (-[WebHTMLView changeCaseOfLetter:]): Ditto.
        (-[WebHTMLView uppercaseWord:]): Ditto.
        (-[WebHTMLView lowercaseWord:]): Ditto.
        (-[WebHTMLView capitalizeWord:]): Ditto.
        (-[WebHTMLView deleteForward:]): Ditto.
        (-[WebHTMLView deleteBackward:]): Ditto.
        (-[WebHTMLView deleteBackwardByDecomposingPreviousCharacter:]): Ditto.
        (-[WebHTMLView deleteWordForward:]): Ditto.
        (-[WebHTMLView deleteWordBackward:]): Ditto.
        (-[WebHTMLView deleteToBeginningOfLine:]): Ditto.
        (-[WebHTMLView deleteToEndOfLine:]): Ditto.
        (-[WebHTMLView deleteToBeginningOfParagraph:]): Ditto.
        (-[WebHTMLView deleteToEndOfParagraph:]): Ditto.
        (-[WebHTMLView complete:]): Ditto.
        (-[WebHTMLView checkSpelling:]): Ditto.
        (-[WebHTMLView showGuessPanel:]): Ditto.
        (-[WebHTMLView performFindPanelAction:]): Ditto.
        (-[WebHTMLView startSpeaking:]): Implemented this.
        (-[WebHTMLView stopSpeaking:]): Implemented this.
        (-[WebHTMLView insertText:]): Moved here from WebView.

        * WebView.subproj/WebHTMLViewPrivate.h: Removed declarations of methods that are neither
        SPI nor needed outside WebHTMLView.m.

        * WebView.subproj/WebViewInternal.h: Removed _currentFrame, and added _frameForCurrentSelection and
        _bridgeForCurrentSelection.

2004-05-25  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Richard.

        <rdar://problem/3652498>: new sniffing support is crashing
        
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient checkContentPolicyForResponse:]): Retain
        listener around call, in case delegate does something that ends up
        invalidating it, like navigating to a new URL.

2004-05-25  Chris Blumenberg  <cblu@apple.com>

        Fixed regression where undoing typing would undo character-by-character.

        Reviewed by kocienda.

        * WebView.subproj/WebView.m:
        (-[WebView insertText:]): call insertText: rather than replaceSelectionWithText:: since text insertion via insertText: is coalesced and this is the behavior we want here

2004-05-25  Ken Kocienda  <kocienda@apple.com>

        Reviewed by John

        Change postDidChangeSelectionNotification and postDidChangeNotification tp
        respondToChangedSelection and respondToChangedContents, respectively, to
        account for the fact that we do work in these calls other than post a
        notification. The need to clear the typing style on both kinds of changes
        inspired the name change.

        Add in support to set and access typing style. We don't do anything with it yet
        except store and return it. Using the typing style is still to come.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge respondToChangedContents]): Change name of functions as described.
        (-[WebBridge respondToChangedSelection]): Change name of functions as described.
        * WebView.subproj/WebView.m:
        (-[WebView dealloc:]): Dealloc typing style ivar.
        (-[WebView setTypingStyle:]): Change to set typing style ivar.
        (-[WebView typingStyle]): Return new typing style ivar.
        * WebView.subproj/WebViewPrivate.h: Add ivar for typing style.

2004-05-25  Ken Kocienda  <kocienda@apple.com>

        Reviewed by John
        
        Improve _bridgeForCurrentSelection so that it is frame-savvy.
        Fixup setSelectedDOMRange:affinity: so that it uses the right bridge.

        * WebView.subproj/WebView.m:
        (-[WebView _bridgeForCurrentSelection]): Use _currentFrame not mainFrame. 
        (-[WebView _currentFrame]): Moved to WebView (WebInternal) category so _bridgeForCurrentSelection can use it.
        (-[WebView setSelectedDOMRange:affinity:]): Derive the bridge to use from the range passed in; _bridgeForCurrentSelection
        is not the right way to get at the document for the range.
        * WebView.subproj/WebViewInternal.h: Add _currentFrame declaration.

2004-05-24  Darin Adler  <darin@apple.com>

        Reviewed by Ken.

        - fixed <rdar://problem/3666022>: (REGRESSION: crash from infinite regress in -[WebFrameView(WebPrivate) scrollPageDown:])

        * WebView.subproj/WebView.m:
        (-[WebView _performResponderOperation:sender:]): Helper method that knows how to pass on operations
        to the responder chain, allowing us to implement operations that will get passed to views inside
        us as necessary. Moved a few methods to this, and soon will move even more.
        (-[WebView scrollLineDown:]): Use the above method.
        (-[WebView scrollLineUp:]): Ditto.
        (-[WebView scrollPageDown:]): Ditto.
        (-[WebView scrollPageUp:]): Ditto.
        (-[WebView copy:]): Ditto.
        (-[WebView cut:]): Ditto.
        (-[WebView paste:]): Ditto.
        (-[WebView delete:]): Ditto.
        (-[WebView insertBacktab:]): Ditto.

2004-05-24  Chris Blumenberg  <cblu@apple.com>

        Improved editing via drag
 
        Reviewed by kocienda.

        * WebView.subproj/WebDataSource.m: 
        (-[WebDataSource _documentFragmentWithImageResource:]): made this method return a fragment instead of replace the selection so that the caller do other things with the fragment
        (-[WebDataSource _documentFragmentWithArchive:]): ditto
        (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]): call renamed methods
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebDocumentInternal.h:
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _documentFragmentFromPasteboard:]): made this method return a fragment instead of replace the selection so that the caller do other things with the fragment
        (-[WebHTMLView _replaceSelectionWithPasteboard:selectReplacement:]): new
        (-[WebHTMLView paste:]): call _replaceSelectionWithPasteboard:selectReplacement:
        (-[WebHTMLView dragOperationForDraggingInfo:]): handle the case where the destination is editable, but the source is not
        (-[WebHTMLView draggingCancelledWithDraggingInfo:]): new, removes drag caret
        (-[WebHTMLView draggingUpdatedWithDraggingInfo:]): remove drag caret when we can't handle the drag
        (-[WebHTMLView concludeDragForDraggingInfo:]): instead of calling paste, move the selection when doing a move and replace the drag caret when doing a copy
        * WebView.subproj/WebHTMLViewPrivate.h:
        * WebView.subproj/WebView.m:
        (-[WebViewPrivate dealloc]):
        (-[WebView _setDraggingDocumentView:]): new
        (-[WebView _dragOperationForDraggingInfo:]): if the current dragging document view changes, tell the previous dragging document view that dragging cancelled 
        (-[WebView draggingExited:]): new, tell the previous dragging document view that dragging cancelled
        (-[WebView concludeDragOperation:]): release the dragging document view
        (-[WebView replaceSelectionWithNode:]): pass the selectReplacement BOOL to the bridge
        (-[WebView replaceSelectionWithText:]): ditto
        (-[WebView replaceSelectionWithMarkupString:]): ditto
        (-[WebView replaceSelectionWithArchive:]): ditto
        (-[WebView pasteAsPlainText:]): ditto
        (-[WebView insertTab:]): ditto
        (-[WebView insertText:]): ditto
        * WebView.subproj/WebViewPrivate.h: 

2004-05-24  John Sullivan  <sullivan@apple.com>

        Reviewed by Dave.
        
        - added private RSSFeedReferrer field to WebHistoryItem so RSS feeds in the
        back/forward list can remember what page (if any) they were initiated from.

        * History.subproj/WebHistoryItem.m:
        new RSSFeedReferrer ivar in private structure
        (-[WebHistoryItemPrivate dealloc]):
        release RSSFeedReferrer
        (-[WebHistoryItem copyWithZone:]):
        copy RSSFeedReferrer
        (-[WebHistoryItem RSSFeedReferrer]):
        return RSSFeedReferrer
        (-[WebHistoryItem setRSSFeedReferrer:]):
        set RSSFeedReferrer

        * History.subproj/WebHistoryItemPrivate.h:
        declare -RSSFeedReferrer and -setRSSFeedReferrer:

2004-05-22  Darin Adler  <darin@apple.com>

        Reviewed by Ken.

        - implemented some of the trivial WebView editing operations; some had bug reports, to wit:
        - fixed <rdar://problem/3655342>: (Editing: -centerSelectionInVisibleArea: method unimplemented (WebKit editing API))
        - fixed <rdar://problem/3655398>: (Editing: -deleteWordBackward: method unimplemented (WebKit editing API))
        - fixed <rdar://problem/3655397>: (Editing: -deleteWordForward: method unimplemented (WebKit editing API))
        - fixed <rdar://problem/3655387>: (Editing: -insertBacktab: method unimplemented (WebKit editing API))
        - fixed <rdar://problem/3655386>: (Editing: -insertTab: method unimplemented (WebKit editing API))
        - fixed <rdar://problem/3655351>: (Editing: -moveWordBackward: method unimplemented (WebKit editing API))
        - fixed <rdar://problem/3655352>: (Editing: -moveWordBackwardAndModifySelection: method unimplemented (WebKit editing API))
        - fixed <rdar://problem/3655353>: (Editing: -moveWordForward: method unimplemented (WebKit editing API))
        - fixed <rdar://problem/3655354>: (Editing: -moveWordForwardAndModifySelection: method unimplemented (WebKit editing API))
        - fixed <rdar://problem/3655374>: (Editing: -pasteAsPlainText: method unimplemented (WebKit editing API))
        - fixed <rdar://problem/3655362>: (Editing: -scrollLineDown: method unimplemented (WebKit editing API))
        - fixed <rdar://problem/3655363>: (Editing: -scrollLineUp: method unimplemented (WebKit editing API))

        * WebView.subproj/WebView.m:
        (-[WebView centerSelectionInVisibleArea:]): Implemented. The implementation isn't perfect, but it's hooked
        up. It simply calls ensureCaretVisible for now.
        (-[WebView moveBackward:]): Implemented. The WebCore API already has a way to specify backward as opposed
        to left. A separate issue is the fact that these operations don't have bi-di-savvy implementations, but
        now this method is hooked up and will work at least for left-to-right text.
        (-[WebView moveBackwardAndModifySelection:]): Ditto.
        (-[WebView moveForward:]): Ditto.
        (-[WebView moveForwardAndModifySelection:]): Ditto.
        (-[WebView moveWordBackward:]): Ditto.
        (-[WebView moveWordBackwardAndModifySelection:]): Ditto.
        (-[WebView moveWordForward:]): Ditto.
        (-[WebView moveWordForwardAndModifySelection:]): Ditto.
        (-[WebView scrollLineDown:]): Forward to WebFrameView.
        (-[WebView scrollLineUp:]): Ditto.
        (-[WebView scrollPageDown:]): Ditto.
        (-[WebView scrollPageUp:]): Ditto.
        (-[WebView delete:]): Implemented. Follows pattern used in cut, copy, and paste.
        (-[WebView pasteAsPlainText:]): Implemented. Calls delegate, then replaceSelectionWithText: on the bridge.
        (-[WebView insertTab:]): Implemented. Calls delegate, then replaceSelectionWithText: on the bridge.
        (-[WebView insertBacktab:]): Implemented. Does nothing. If we ever change so that you can use a WebView as
        a field editor, then we might have to add code here.
        (-[WebView deleteWordForward:]): Implement by calling moveForwardAndModifySelection: and then delete:.
        Might not be a perfect implementation in the presence of delegates who refuse to delete because it will
        change the selection even if the delete is disallowed.
        (-[WebView deleteWordBackward:]): Implement by calling moveBackwardAndModifySelection: and then delete:.
        Same issue about about delegates as deleteWordForward:.

        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _pasteFromPasteboard:]): Added a FIXME.

        * DOM.subproj/DOMViews.h: Updated from recent change to WebCore.

2004-05-21  Richard Williamson   <rjw@apple.com>

        Removed _bindObject:forFrame: SPI.

        Reviewed by Chris.

        * WebView.subproj/WebView.m:
        * WebView.subproj/WebViewPrivate.h:

=== Safari-141 ===

2004-05-21  Darin Adler  <darin@apple.com>

        Reviewed by Ken and Chris.

        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _pasteFromPasteboard:]): Call replaceSelectionWithText:
        instead of replaceSelectionWithMarkupString: when pasting plain text.

        * WebView.subproj/WebDataSource.m: (-[WebDataSource _replaceSelectionWithMarkupString:baseURL:]):
        Remove bogus check for empty markup. There's nothing wrong with an empty string, and no reason
        that replacing with empty string should be a no-op instead of a delete.

2004-05-20  Darin Adler  <darin@apple.com>

        Reviewed by Chris.

        - fixed <rdar://problem/3662383>: (REGRESSION: drag slide-back sometimes causes link to load)

        * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge handleMouseDragged:]):
        Added BOOL result to handleMouseDragged:.
        * WebView.subproj/WebHTMLViewPrivate.h: Added BOOL result to _handleMouseDragged:.

        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _handleMouseDragged:]): Added BOOL result,
        returning YES when the drag started, and no when the hysteresis has not yet been overcome.

2004-05-20  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Hyatt

        Provide the methods to glue the WebView's editing delegate so that these methods work:
        
        <rdar://problem/3655316>: "Editing: -webViewShouldBeginEditing:inDOMRange: method unimplemented (WebKit editing API)"
        <rdar://problem/3655317>: "Editing: -webViewShouldEndEditing:inDOMRange: method unimplemented (WebKit editing API)"

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge shouldBeginEditing:]): New method used to glue delegate to focus shifts.
        (-[WebBridge shouldEndEditing:]): Ditto.
        * WebView.subproj/WebView.m:
        (-[WebView _shouldBeginEditingInDOMRange:]): Ditto.
        (-[WebView _shouldEndEditingInDOMRange:]): Ditto.
        * WebView.subproj/WebViewPrivate.h: Ditto.

2004-05-20  Richard Williamson   <rjw@apple.com>

        Fixed typo in header comment.

        Reviewed by Ken.

        * Plugins.subproj/WebScriptObject.h:

2004-05-19  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3462627>: (API: Need a way to disable/customize dragging)

        Reviewed by john.

        * Misc.subproj/WebNSPasteboardExtras.m:
        (-[NSPasteboard _web_writeImage:URL:title:archive:types:]): fixed bug that caused exception
        * WebView.subproj/WebDefaultUIDelegate.m:
        (-[WebDefaultUIDelegate webView:shouldBeginDragForElement:dragImage:mouseDownEvent:mouseDraggedEvent:]): new, returns YES
        (-[WebDefaultUIDelegate webView:dragOperationForDraggingInfo:overElement:]): new, returns [WebView dragOperationForDraggingInfo:]
        (-[WebDefaultUIDelegate webView:shouldProcessDragWithDraggingInfo:overElement:]): new, returns YES
        * WebView.subproj/WebDocumentInternal.h: added WebDocumentDragging and WebDocumentElement for document dragging
        * WebView.subproj/WebDocumentPrivate.h: moved WebDocumentSelection to WebDocumentInternal.h
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _actionInformationForNavigationType:event:originalURL:]): 
        * WebView.subproj/WebHTMLView.h:
        * WebView.subproj/WebHTMLView.m:
        (+[WebHTMLView _insertablePasteboardTypes]): new 
        (-[WebHTMLView _handleMouseDragged:]): call shouldBeginDragForElement:::: delegate API
        (-[WebHTMLView _mayStartDragWithMouseDragged:]): call renamed elementAtPoint SPI
        (-[WebHTMLView initWithFrame:]): don't register for drag types since this is handled at the WebView
        (-[WebHTMLView menuForEvent:]): call renamed elementAtPoint SPI
        (-[WebHTMLView _isSelectionEvent:]): call renamed elementAtPoint SPI
        (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]): rather than unregistering drag types on the WebView, just tell it that we're dragging
        (-[WebHTMLView draggedImage:endedAt:operation:]): ditto
        (-[WebHTMLView _canProcessDragWithDraggingInfo:]): new
        (-[WebHTMLView dragOperationForDraggingInfo:]): new WebDocumentDragging SPI
        (-[WebHTMLView draggingUpdatedWithDraggingInfo:]): ditto
        (-[WebHTMLView concludeDragForDraggingInfo:]): ditto
        (-[WebHTMLView elementAtPoint:]): renamed from _elementAtPoint since this is part of the WebDocumentElement SPI
        * WebView.subproj/WebHTMLViewPrivate.h:
        * WebView.subproj/WebImageView.h:
        * WebView.subproj/WebImageView.m:
        (-[WebImageView elementAtPoint:]): new
        (-[WebImageView menuForEvent:]): call elementAtPoint
        (-[WebImageView mouseDragged:]): rather than unregistering drag types on the WebView, just tell it that we're dragging
        (-[WebImageView draggedImage:endedAt:operation:]): ditto
        * WebView.subproj/WebTextView.h:
        * WebView.subproj/WebTextView.m:
        (-[WebTextView _elementAtWindowPoint:]): new
        (-[WebTextView elementAtPoint:]): new
        (-[WebTextView menuForEvent:]): call _elementAtWindowPoint
        * WebView.subproj/WebView.h:
        * WebView.subproj/WebView.m:
        (-[WebViewPrivate dealloc]): removed draggedTypes ivar
        (+[WebView URLFromPasteboard:]): implemented
        (+[WebView URLTitleFromPasteboard:]): implemented
        (-[WebView _registerDraggedTypes]): moved
        (-[WebView _frameViewAtWindowPoint:]): new
        (-[WebView _draggingDocumentViewAtWindowPoint:]): new
        (-[WebView _elementAtWindowPoint:]): new
        (-[WebView dragOperationForDraggingInfo:]): updated this API to handle subviews that may want to handle drags
        (-[WebView _dragOperationForDraggingInfo:]): new, handles UI delegate for drag control
        (-[WebView draggingEntered:]): call _dragOperationForDraggingInfo:
        (-[WebView draggingUpdated:]): ditto
        (-[WebView concludeDragOperation:]): work with the UI delegate and the subview to handle what happens
        * WebView.subproj/WebViewPrivate.h:

2004-05-19  Richard Williamson   <rjw@apple.com>

        Removed extraneous tabs that were added (by XCode?).
        
        * DOM.subproj/DOM-compat.h:
        * Plugins.subproj/WebScriptObject.h:

2004-05-19  Richard Williamson   <rjw@apple.com>

        Updated header copy script to only copy if modified headers
        are different.

        * copy-webcore-files-to-webkit:

2004-05-19  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Hyatt and Darin

        Fix for this bug:
        
        <rdar://problem/3643230>: "can't tab out of contentEditable Elements"

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge interceptEditingKeyEvent:]): Renamed from _editingKeyDown. Also now returns
        a BOOL to report whether the event was handled or not.
        * WebView.subproj/WebView.m:
        (-[WebView _interceptEditingKeyEvent:]): Also renamed from _editingKeyDown. Now includes
        a check if the web view is editable and whether the event is a tab key event. If the former
        is not true and the latter is, the key is not intercepted. This causes the tab to shift once
        the key is processed by other non-editing key-handling mechanisms.
        * WebView.subproj/WebViewPrivate.h: Changed declaration due to name change.

2004-05-19  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Hyatt

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge isEditable]): Return the isEditable value for the
        WebView which contains this bridge's frame.

2004-05-19  Darin Adler  <darin@apple.com>

        - fixed headers with licenses mangled by Xcode auto-indenting

        * DOM.subproj/DOMExtensions.h:
        * WebCoreSupport.subproj/WebGraphicsBridge.h:
        * WebCoreSupport.subproj/WebGraphicsBridge.m:

2004-05-18  David Hyatt  <hyatt@apple.com>

        Improve layout scheduling.
        Reviewed by kocienda

        * WebView.subproj/WebFrame.m:
        (-[WebFrame _transitionToLayoutAcceptable]):
        (-[WebFrame _checkLoadCompleteForThisFrame]):
        * WebView.subproj/WebHTMLRepresentation.m:
        (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):

2004-05-18  Richard Williamson   <rjw@apple.com>

        Finished implementation of windowScriptObject.
                Reviewed by Maciej.

        * WebView.subproj/WebView.m:
        (-[WebView windowScriptObject]):

2004-05-18  Richard Williamson   <rjw@apple.com>

        Added WebKit portion of webView:windowScriptObjectAvailable:
        implementation.  Still need to implement creating the WebScriptObject
        wrapper on the WebCore side.
        
        Reviewed by Maciej.

        Removed "_" from _setPageWidthForPrinting:.  This method facilitates
        a work-around for carbon printing.  At some point we may make this
        method public API.
                Reviewed by Chris.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge overrideMediaType]):
        (-[WebBridge windowObjectCleared]):
        * WebView.subproj/WebDefaultFrameLoadDelegate.m:
        (-[WebDefaultFrameLoadDelegate webView:windowScriptObjectAvailable:]):
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView setPageWidthForPrinting:]):

2004-05-18  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed <rdar://problem/3520322>: "can't use <WebKit/HIWebView.h> or <WebKit/CarbonUtils.h> from non-Objective C"

        * Carbon.subproj/CarbonUtils.h: Added ifdefs so file compiles when included from non-Objective-C.
        Changed style to match other Carbon headers a bit more closely. Also remove unnecessary includes.
        * Carbon.subproj/HIWebView.h: Ditto.

        - fixed <rdar://problem/3648505>: "this text file scrolls to the second line instead of first when pressing home"

        * WebView.subproj/WebFrameView.m:
        (-[WebFrameView _scrollToTopLeft]): Scroll to origin.y instead of assuming that top is 0; can be non-0 for text view.
        (-[WebFrameView _scrollToBottomLeft]): Use NSMaxY instead of height for the same reason.

2004-05-17  David Hyatt  <hyatt@apple.com>

        Fix for performance regression in PLT caused by not setting _timeOfLastCompletedLoad, causing
        page cache to release during the benchmark.
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _setState:]):

2004-05-17  Chris Blumenberg  <cblu@apple.com>

        Implemented new WebView pasteboard methods. Made a lot of factoring changes related to pasteboard management.

        Reviewed by john.

        * Misc.subproj/WebNSPasteboardExtras.h:
        * Misc.subproj/WebNSPasteboardExtras.m:
        (+[NSPasteboard _web_writableTypesForURL]): renamed to not include "drag" these types are also used for copying
        (+[NSPasteboard _web_writableTypesForImage]): new
        (-[NSPasteboard _web_bestURL]): tweak
        (-[NSPasteboard _web_writeURL:andTitle:types:]): take an array of types that this method should write, don't declare the types since this complicates things for the caller
        (-[NSPasteboard _web_writeImage:URL:title:archive:types:]): ditto
        * Misc.subproj/WebNSViewExtras.m:
        (-[NSView _web_dragImage:archive:rect:URL:title:event:]): call renamed methods
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultUIDelegate copyLinkToClipboard:]): call code factored out to WebView
        (-[WebDefaultUIDelegate copyImageToClipboard:]): ditto
        * WebView.subproj/WebDocumentPrivate.h:
        * WebView.subproj/WebHTMLView.h:
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _selectedRTFData]): new factored out method
        (-[WebHTMLView _writeSelectionToPasteboard:]): factored code out to writeSelectionWithPasteboardTypes:toPasteboard:
        (-[WebHTMLView _dragImageForLinkElement:]): tweak
        (-[WebHTMLView _handleMouseDragged:]): call renamed methods
        (-[WebHTMLView pasteboardTypesForSelection]): new
        (-[WebTextView writeSelectionWithPasteboardTypes:toPasteboard:]): new, code moved from _writeSelectionToPasteboard:
        * WebView.subproj/WebHTMLViewPrivate.h:
        * WebView.subproj/WebImageView.h:
        * WebView.subproj/WebImageView.m:
        (-[WebImageView writeImageToPasteboard:types:]): call renamed methods
        (-[WebImageView copy:]):
        (-[WebImageView writeSelectionToPasteboard:types:]): call renamed methods
        * WebView.subproj/WebTextView.h:
        * WebView.subproj/WebTextView.m:
        (-[WebTextView pasteboardTypesForSelection]): new
        (-[WebTextView writeSelectionWithPasteboardTypes:toPasteboard:]): new
        * WebView.subproj/WebView.m:
        (-[WebView _writeImageElement:withPasteboardTypes:toPasteboard:]): new
        (-[WebView _writeLinkElement:withPasteboardTypes:toPasteboard:]): mew
        (-[WebView dragOperationForDraggingInfo:]): implemented API
        (-[WebView draggingEntered:]): call API
        (-[WebView draggingUpdated:]): ditto
        (-[WebView concludeDragOperation:]): ditto
        (-[WebView pasteboardTypesForSelection]): implemented API
        (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]): ditto
        (-[WebView pasteboardTypesForElement:]): ditto
        (-[WebView writeElement:withPasteboardTypes:toPasteboard:]): ditto
        * WebView.subproj/WebViewPrivate.h:

2004-05-17  Ken Kocienda  <kocienda@apple.com>

        Reviewed by John

        Remove overrides in WebView for scrollPageDown and scrollPageUp.
        NSView behavior gives us just what we want, and there is no
        special behavior required for editing.

        <rdar://problem/3655364>: "Editing: -scrollPageDown: method unimplemented (WebKit editing API)"
        <rdar://problem/3655365>: "Editing: -scrollPageUp: method unimplemented (WebKit editing API)"

        * WebView.subproj/WebView.h: Comment methods out and add a note about why.
        * WebView.subproj/WebView.m: Remove stubbed out implementation.

2004-05-14  Vicki Murley  <vicki@apple.com>

        Reviewed by mjs.
 
        <rdar://problem/3642427>: framework marketing number should be 2.0 for DoubleBarrel release

        * WebKit.pbproj/project.pbxproj: change CFBundleShortVersionString to 2.0

2004-05-14  David Hyatt  <hyatt@apple.com>

        Eliminate timedLayout.
        Reviewed by darin

        * WebView.subproj/WebFrame.m:
        (-[WebFramePrivate dealloc]):
        (-[WebFrame _detachFromParent]):
        (-[WebFrame _transitionToLayoutAcceptable]):
        (-[WebFrame _setState:]):
        (-[WebFrame _checkLoadCompleteForThisFrame]):
        (-[WebFrame stopLoading]):
        * WebView.subproj/WebFramePrivate.h:

=== Safari-140 ===

2004-05-14  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3655495>: (exception loading applets)

        Reviewed by kocienda.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge pluginViewWithPackage:attributes:baseURL:]): when calling old cocoa plug-ins, use old keys

2004-05-14  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3655204>: (repro assertion failure and crash loading java applets)

        Reviewed by kocienda.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge pluginViewWithPackage:attributes:baseURL:]): call pluginViewWithArguments: for old Cocoa plug-ins

2004-05-14  Chris Blumenberg  <cblu@apple.com>

        Copied headers from WebCore.

        * DOM.subproj/DOMCore.h:
        * DOM.subproj/DOMEvents.h:

2004-05-14  Ken Kocienda  <kocienda@apple.com>

        Reviewed by me

        * Plugins.subproj/WebPluginController.m:
        (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]): Fixed a compile error: undeclared identifier. 
        Looked like a typo.

2004-05-13  Richard Williamson   <rjw@apple.com>

        Backed out mistaken change that I didn't mean to checkin.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):

2004-05-13  Richard Williamson   <rjw@apple.com>

        Updated to reflect new API.

        Reviewed by Chris.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge setIsSelected:forView:]):
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _reloadForPluginChanges]):

2004-05-13  Chris Blumenberg  <cblu@apple.com>

        Fixed some indenting issues in public headers.

        * Plugins.subproj/WebJavaPlugIn.h:
        * Plugins.subproj/WebPlugin.h:
        * Plugins.subproj/WebScriptObject.h:
        * WebView.subproj/WebEditingDelegate.h:
        * WebView.subproj/WebFrameView.h:
        * WebView.subproj/WebPolicyDelegate.h:
        * WebView.subproj/WebResourceLoadDelegate.h:
        * WebView.subproj/WebView.h:

2004-05-13  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Chris

        Moved -DOMDocument convenience back to private header.
        I mistakenly moved it to the public header earlier today.

        * WebView.subproj/WebView.h: Removed
        * WebView.subproj/WebViewPrivate.h: Re-added

2004-05-13  Richard Williamson   <rjw@apple.com>

        Updated to implementation to reflect new API.  Left old SPI
        in place for compatibility.  Can remove when the Java plug-in
        updates.

        Reviewed by Chris.

        * Plugins.subproj/WebPlugin.h:
        * Plugins.subproj/WebPluginContainer.h:
        * Plugins.subproj/WebPluginController.h:
        * Plugins.subproj/WebPluginController.m:
        (-[WebPluginController startAllPlugins]):
        (-[WebPluginController stopAllPlugins]):
        (-[WebPluginController addPlugin:]):
        (-[WebPluginController destroyAllPlugins]):
        (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
        (-[WebPluginController showURL:inFrame:]):
        (-[WebPluginController webPlugInContainerShowStatus:]):
        (-[WebPluginController showStatus:]):
        (-[WebPluginController webPlugInContainerSelectionColor]):
        (-[WebPluginController selectionColor]):
        (-[WebPluginController webFrame]):

2004-05-13  Chris Blumenberg  <cblu@apple.com>

        - Added stubs for WebView action and drag & drop customization API's
        - Fixed: <rdar://problem/3616555>: (API: Make DOM extensions and WebKit DOM operations public)

        Reviewed by rjw.

        * DOM.subproj/WebDOMOperations.h: added remaining DOM operations
        * DOM.subproj/WebDOMOperationsPrivate.h:
        * Misc.subproj/WebKit.h: added new public headers
        * WebKit.pbproj/project.pbxproj:
        * WebKit.exp: added symbol for WebElementDOMNodeKey
        * WebView.subproj/WebUIDelegate.h: added new UI delegate methods
        * WebView.subproj/WebView.h: added new pasteboard related methods
        * WebView.subproj/WebView.m:
        (+[WebView URLFromPasteboard:]): new stub
        (+[WebView URLTitleFromPasteboard:]): new stub
        (-[WebView dragOperationForDraggingInfo:]): new stub
        (-[WebView pasteboardTypesForSelection]): new stub
        (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]): new stub
        (-[WebView pasteboardTypesForElement:]): new stub
        (-[WebView writeElement:withPasteboardTypes:toPasteboard:]): new stub
        * WebView.subproj/WebViewPrivate.h:

2004-05-13  Richard Williamson   <rjw@apple.com>

        Changed imports of all DOM headers.  DOM headers
        should be imported using the normal #import <WebCore/foo.h>,
        they import is modified when copied to WebKit.

        Other approved API changes.  Currently unimplemented.

        Reviewed by Chris.

        * ChangeLog:
        * DOM.subproj/DOM.h:
        * DOM.subproj/DOMCSS.h:
        * DOM.subproj/DOMCore.h:
        * DOM.subproj/DOMEvents.h:
        * DOM.subproj/DOMExtensions.h:
        * DOM.subproj/DOMHTML.h:
        * DOM.subproj/DOMRange.h:
        * DOM.subproj/DOMStylesheets.h:
        * DOM.subproj/DOMTraversal.h:
        * DOM.subproj/DOMViews.h:
        * Plugins.subproj/WebPlugin.h:
        * Plugins.subproj/WebPluginContainer.h:
        * Plugins.subproj/WebPluginPackage.m:
        * Plugins.subproj/WebPluginViewFactory.h:
        * Plugins.subproj/WebScriptObject.h:
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
        (-[WebBridge pluginViewWithPackage:attributes:baseURL:]):
        * WebKit.exp:
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebFrameLoadDelegate.h:
        * WebView.subproj/WebView.h:
        * WebView.subproj/WebView.m:
        (-[WebView windowScriptObject]):
        * copy-webcore-files-to-webkit:

2004-05-13  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Kevin

        Move WebKit editing APIs to public API files.

        * WebCoreSupport.subproj/WebBridge.m: Add WebEditingDelegate include.
        * WebKit.pbproj/project.pbxproj: Go Xcode!
        * WebView.subproj/WebDefaultEditingDelegate.m: Remove WebViewPrivate include; add WebEditingDelegate include.
        * WebView.subproj/WebEditingDelegate.h: Added. New file.
        * WebView.subproj/WebView.h: Move API-approved interfaces to this file.
        * WebView.subproj/WebView.m: Add WebEditingDelegate include.
        * WebView.subproj/WebViewPrivate.h: Move API-approved interfaces from this file.

2004-05-12  Chris Blumenberg  <cblu@apple.com>

        Fixed: 
        <rdar://problem/3633296>: (Japanese input is not working properly in Carbon Web Kit applications (including CarbonWeb))
        <rdar://problem/3631390>: (can't toggle between Input Methods (IMEs) using cmd-space in Carbon Web Kit applications)

        Reviewed by rjw.

        * Carbon.subproj/CarbonWindowAdapter.m:
        (-[CarbonWindowAdapter sendSuperEvent:]): call [NSInputContext processInputKeyBindings:inEvent] just as NSApp does
        * Carbon.subproj/HIWebView.m:
        (HIWebViewEventHandler): [NSApp setWindowsNeedUpdate:YES] must be called before events so that ActivateTSMDocument is called to set an active document. Without an active document, TSM will use a default document which uses a bottom-line input window which we don't want.

2004-05-11  Chris Blumenberg  <cblu@apple.com>

        Fixed:
        <rdar://problem/3616537>: (API: Make WebResource, WebArchive and related API's public)
        <rdar://problem/3616471>: (API: provide way to get from WebFrame to DOMDocument and vice versa)

        Reviewed by rjw.

        * DOM.subproj/WebDOMOperations.h:
        * DOM.subproj/WebDOMOperations.m:
        (-[DOMHTMLFrameElement contentFrame]): new
        (-[DOMHTMLIFrameElement contentFrame]): new
        (-[DOMHTMLObjectElement contentFrame]): new
        * DOM.subproj/WebDOMOperationsPrivate.h:
        * Misc.subproj/WebNSImageExtras.m:
        (-[NSImage _web_saveAndOpen]): fixed leak
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebDataSource.h:
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _addSubresources:]): made private
        (-[WebDataSource _archiveWithMarkupString:nodes:]): handle object tags with frame content
        (-[WebDataSource _archiveWithCurrentState:]): renamed from _archive, now takes flag
        (-[WebDataSource _replaceSelectionWithArchive:]): call renamed _addSubresources
        (-[WebDataSource webArchive]): new
        (-[WebDataSource mainResource]): new
        (-[WebDataSource subresources]): made public
        (-[WebDataSource subresourceForURL:]): made public
        (-[WebDataSource addSubresource:]): made public
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebDocumentPrivate.h:
        * WebView.subproj/WebFrame.h:
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _loadRequest:subresources:subframeArchives:]): call renamed _addSubresources
        (-[WebFrame DOMDocument]): new
        (-[WebFrame frameElement]): new
        (-[WebFrame loadArchive:]): made public
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebHTMLRepresentation.m:
        (-[WebHTMLRepresentation loadArchive]): call renamed _addSubresources
        * WebView.subproj/WebImageRepresentation.m:
        (-[WebImageRepresentation archive]): call webArchive on WebDataSource

2004-05-10  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        - avoid redecoding animated images that are only used once for
        ~2.5% iBench speedup (WebCore part of fix)

        * WebCoreSupport.subproj/WebImageRenderer.h:
        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer increaseUseCount]):
        (-[WebImageRenderer decreaseUseCount]):
        (-[WebImageRenderer retainOrCopyIfNeeded]):

2004-05-10  Maciej Stachowiak  <mjs@apple.com>

        Fix build.

        * WebView.subproj/WebFrame.m:

2004-05-09  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Ken.

        - avoid messing with undo manager needlessly for ~1% HTML iBench speedup

        * WebCoreSupport.subproj/WebBridge.h:
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge registerCommandForUndo:]): mark undo/redo item flag
        (-[WebBridge registerCommandForRedo:]): ditto
        (-[WebBridge clearUndoRedoOperations]): check flag before removing items,
        and clear it after removing them

2004-05-08  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        - -[WebFrame childFrames] is so hot that a special internal
        version which avoids the copy and autorelease results in a .75%
        performance improvement on HTML iBench.

        * WebView.subproj/WebFramePrivate.h: Prototype new method.
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _internalChildFrames]): New method, just returns
        internal value instead of copying.

        (-[WebFrame _descendantFrameNamed:]): Use it
        (-[WebFrame _textSizeMultiplierChanged]): likewise
        (-[WebFrame _viewWillMoveToHostWindow:]): likewise
        (-[WebFrame _viewDidMoveToHostWindow]): likewise
        (-[WebFrame _saveDocumentAndScrollState]): likewise
        (-[WebFrame _numPendingOrLoadingRequests:]): likewise
        (-[WebFrame _checkLoadComplete]): Refactored this and it's two
        helpers a little so we could get away with using
        _internalChildFrames.
        (-[WebFrame _checkLoadCompleteForThisFrame]): Renamed from
        _isLoadComplete
        (-[WebFrame _recursiveCheckLoadComplete]): renamed from (class
        method) _recursiveCheckCompleteFromFrame:
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _defersCallbacksChanged]): Use it
        (-[WebDataSource isLoading]): likewise
        * WebView.subproj/WebView.m:
        (-[WebView _frameForDataSource:fromFrame:]): likewise
        (-[WebView _frameForView:fromFrame:]): likewise

2004-05-10  Chris Blumenberg  <cblu@apple.com>

        Forgot to commit this copied header.

        * DOM.subproj/DOMExtensions.h:

=== Safari-139 ===

2004-05-06  Chris Blumenberg  <cblu@apple.com>

        * DOM.subproj/WebDOMOperations.h: improved a header doc comment

2004-05-05  Chris Blumenberg  <cblu@apple.com>

        - DOM Extensions API tweaks

        Reviewed by kocienda.

        * DOM.subproj/DOMExtensions.h: copied from WebCore
        * DOM.subproj/WebDOMOperations.h: added header doc comments
        * DOM.subproj/WebDOMOperations.m:
        (-[DOMNode _URLsFromSelectors:]): use renamed URLWithAttributeString
        (-[DOMDocument URLWithAttributeString:]): renamed
        (-[DOMHTMLTableElement _web_background]): new private method
        (-[DOMHTMLTableElement _subresourceURLs]): use new private method
        (-[DOMHTMLTableCellElement _web_background]): new private method
        (-[DOMHTMLTableCellElement _subresourceURLs]): use new private method

2004-05-04  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Hyatt

        * DOM.subproj/DOMTraversal.h: File coppied from WebCore

2004-05-02  Darin Adler  <darin@apple.com>

        Reviewed by Ken.

        - fixed <rdar://problem/3640419>: "_webkit_stringByReplacingValidPercentEscapes does not handle %00 properly"

        * Misc.subproj/WebNSURLExtras.m: (-[NSString _webkit_stringByReplacingValidPercentEscapes]):
        Use the function in NSURL instead of implementing our own here.

2004-04-30  John Sullivan  <sullivan@apple.com>

        * WebView.subproj/WebView.m:
        fixed deployment build breakage
        
2004-04-30  John Sullivan  <sullivan@apple.com>

        - more work on getting the font panel to work with editable HTML.
        The font panel in Blot now correctly reflects the first selected font when the
        selection is at least one character long.

        Reviewed by Ken.

        * WebView.subproj/WebView.m:
        removed unfinished plumbing to support reflecting selected attributes (e.g. text color,
        underline) in font panel, since this doesn't work in Mail or TextEdit either.
        (_fontFromStyle):
        removed assertion for now
        (-[WebView _updateFontPanel]):
        now uses new bridge method to get the NSFont from the node, instead of trying
        to create an NSFont from a DOMCSSStyleDeclaration

2004-04-29  John Sullivan  <sullivan@apple.com>

        - more work on getting the font panel to work with editable HTML

        Reviewed by Ken.

        * WebView.subproj/WebView.m:
        (-[WebView computedStyleForElement:pseudoElement:]):
        convert nil pseudoElement to empty string because lower level chokes on nil
        (_fontFromStyle):
        I tried to implement this, but was thwarted by missing API, so I added a
        bunch of FIXMEs instead
        (_stylesRepresentSameFont):
        new function, not yet implementable
        (_stylesRepresentSameAttributes):
        new function, not yet implementable
        (-[WebView _updateFontPanel]):
        added code to get first and last element in selection, and to use
        NodeIterator to walk through the entire selection to see if more than one
        font or set of attributes is in use. However, createNodeIterator is declared
        in DOMTraversal.h but not actually defined anywhere, so I had to prevent this
        code from actually being called.

2004-04-28  Chris Blumenberg  <cblu@apple.com>

        - Made WebArchive and WebResource conform to NSCoding and NSCopying.

        Reviewed by rjw.

        * DOM.subproj/WebDOMOperations.h: added header doc comment for WebArchive methods
        * WebView.subproj/WebArchive.h:
        * WebView.subproj/WebArchive.m:
        (-[WebArchive initWithCoder:]): new
        (-[WebArchive encodeWithCoder:]): new
        (-[WebArchive copyWithZone:]): new
        * WebView.subproj/WebResource.h:
        * WebView.subproj/WebResource.m:
        (-[WebResource init]): new
        (-[WebResource initWithData:URL:MIMEType:textEncodingName:frameName:]): call [self init]
        (-[WebResource initWithCoder:]): new
        (-[WebResource encodeWithCoder:]): new
        (-[WebResource copyWithZone:]): new

2004-04-28  John Sullivan  <sullivan@apple.com>

        A little bit more progress in wiring up the font panel.

        Reviewed by Ken.

        * WebView.subproj/WebViewInternal.h:
        put _updateFontPanel here. Also moved _isLoading here, since it was
        already in a category named WebInternal

        * WebView.subproj/WebView.m:
        (-[WebView _isLoading]):
        moved into WebInternal category implementation
        (_textAttributesFromStyle):
        changed from method to function
        (_fontFromStyle):
        added, guts not filled in yet
        (-[WebView _updateFontPanel]):
        now calls these two functions (but results are always nil)
        (-[WebView setSelectedDOMRange:affinity:]):
        remove call to _updateFontPanel here since it's now called in
        the proper bottleneck

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge postDidChangeNotification]):
        call -[WebView _updateFontPanel] in addition to sending notification
        (-[WebBridge postDidChangeSelectionNotification]):
        ditto

2004-04-28  John Sullivan  <sullivan@apple.com>

        - fixed these bugs:
        <rdar://problem/3636570>: "API: [WebPreferences tabsToLinks] should be public API"        
        <rdar://problem/3610597>: "API: could turn "stealth browsing" preference into API"

        Reviewed by Darin.
        
        I just moved the declarations and implementations from one place to another.
        (No clients in WebKit needed their #imports updated.) This confused cvs diff quite a bit.

        * WebView.subproj/WebPreferences.h:
        * WebView.subproj/WebPreferences.m:
        (-[WebPreferences setTabsToLinks:]):
        (-[WebPreferences tabsToLinks]):
        (-[WebPreferences setPrivateBrowsingEnabled:]):
        (-[WebPreferences privateBrowsingEnabled]):
        (-[WebPreferences _pageCacheSize]):
        (-[WebPreferences _objectCacheSize]):
        (-[WebPreferences _backForwardCacheExpirationInterval]):
        * WebView.subproj/WebPreferencesPrivate.h:

2004-04-27  David Hyatt  <hyatt@apple.com>

        Cut the time spent on an operation inside widthForNextCharacter from 17% of the function time down to less than 
        5% merely by adding a check for non-zero letter-spacing (thus avoiding double precision math in the 
        common case where we just add 0 between letters).
        Reviewed by rjw

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (widthForNextCharacter):

2004-04-28  John Sullivan  <sullivan@apple.com>

        Initial plumbing to get the font panel to be updated from an editable
        WebView.

        Reviewed by Ken.

        * WebView.subproj/WebView.m:
        (-[WebView _textAttributesFromStyle:]):
        new dummy method, will need implementation
        (-[WebView _updateFontPanel]):
        new method, sets the font shown in the font panel from the current
        selection. Lots of placeholder stuff.
        (-[WebView setSelectedDOMRange:affinity:]):
        call _updateFontPanel here for now.

2004-04-28  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge postDidChangeNotification]): Posts Cocoa notification when the document changes
        due to editing.
        (-[WebBridge postDidChangeSelectionNotification]): Posts Cocoa notification when the document selection
        changes.
        * WebKit.exp: Export editing notification string constants.
        * WebView.subproj/WebView.m: Define editing notification string constants.
        (-[WebView computedStyleForElement:pseudoElement:]): Add implementation.
        (-[WebView setEditingDelegate:]): Do work to set up delegate to receive notification callbacks.
        (-[WebView DOMDocument]): Simplify to just call the bridge DOMDocument. No need to jump through hoops here.
        (-[WebView insertNewline:]): Consult delegate before taking action.
        (-[WebView deleteBackward:]): Ditto.
        (-[WebView insertText:]): Ditto.

2004-04-27  John Sullivan  <sullivan@apple.com>

        Fixed broken development build.

        * WebView.subproj/WebFrame.m:
        (-[WebFrame _transitionToLayoutAcceptable]):
        updated bad variable name used only in LOG statement to match
        recent change.

2004-04-27  Richard Williamson   <rjw@apple.com>

        Fixes for:

        <rdar://problem/3279301>: API: WebKitErrorCannotFindPlugin and WebKitErrorCannotLoadPlugin should use PlugIn
        <rdar://problem/3278513>: API: Need API to control the size of WebHistory
        <rdar://problem/3564519>: API: please add a way to set the media type for a WebView
        <rdar://problem/3565642>: API: allow a way to extend the MIME types that a WebView will display
        <rdar://problem/3577693>: API: add ability to subclass WebView but still use it with Carbon
        
        Reviewed by Chris.

        * Carbon.subproj/HIWebView.h:
        * Carbon.subproj/HIWebView.m:
        (HIWebViewCreate):
        (HIWebViewCreateWithClass):
        (HIWebViewConstructor):
        * History.subproj/WebHistory.h:
        * History.subproj/WebHistory.m:
        (-[WebHistoryPrivate setHistoryAgeInDaysLimit:]):
        (-[WebHistoryPrivate historyAgeInDaysLimit]):
        (-[WebHistoryPrivate setHistoryItemLimit:]):
        (-[WebHistoryPrivate historyItemLimit]):
        (-[WebHistoryPrivate _ageLimitDate]):
        (-[WebHistoryPrivate arrayRepresentation]):
        (-[WebHistory setHistoryItemLimit:]):
        (-[WebHistory historyItemLimit]):
        (-[WebHistory setHistoryAgeInDaysLimit:]):
        (-[WebHistory historyAgeInDaysLimit]):
        * History.subproj/WebHistoryPrivate.h:
        * Misc.subproj/WebKitErrors.h:
        * Misc.subproj/WebKitErrors.m:
        (registerErrors):
        * Plugins.subproj/WebNetscapePluginDocumentView.m:
        (-[WebNetscapePluginDocumentView setDataSource:]):
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge isViewSelected:]):
        (-[WebBridge overrideMediaType]):
        * WebView.subproj/WebView.h:
        * WebView.subproj/WebView.m:
        (-[WebViewPrivate dealloc]):
        (+[WebView MIMETypesShownAsHTML]):
        (+[WebView setMIMETypesShownAsHTML:]):
        (-[WebView customUserAgent]):
        (-[WebView setMediaStyle:]):
        (-[WebView mediaStyle]):
        * WebView.subproj/WebViewPrivate.h:

2004-04-27  David Hyatt  <hyatt@apple.com>

        Eliminate the preferences for timed/resource layouts.  Accessing them is now taking 0.5% on the cvs-base
        test, so we're just going to hardcode the values instead.
        Reviewed by mjs

        * WebView.subproj/WebFrame.m:
        (-[WebFrame _transitionToLayoutAcceptable]):
        (-[WebFrame _isLoadComplete]):
        * WebView.subproj/WebPreferences.m:
        (+[WebPreferences initialize]):
        (-[WebPreferences _objectCacheSize]):
        * WebView.subproj/WebPreferencesPrivate.h:
        * WebView.subproj/WebView.m:
        (-[WebView _mainReceivedBytesSoFar:fromDataSource:complete:]):

2004-04-27  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Hyatt
        
        Make selections draw in a more Cocoa-like way, where
        fully-selected lines draw out to the ends of lines, and
        spaces between lines are drawn with the selection color as well.

        * Misc.subproj/WebKitNSStringExtras.m: Use new WebCoreTextGeometry struct. No change in functionality.
        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer drawRun:style:geometry:]): Use new WebCoreTextGeometry struct. No change in functionality.
        (-[WebTextRenderer drawHighlightForRun:style:geometry:]): Ditto.
        (-[WebTextRenderer _CG_drawHighlightForRun:style:geometry:]): Many changes to add the new selection drawing behavior.
        (-[WebTextRenderer _CG_drawRun:style:geometry:]):  Use new WebCoreTextGeometry struct. No change in functionality.
        (-[WebTextRenderer _ATSU_drawHighlightForRun:style:geometry:]): Many changes to add the new selection drawing behavior.
        (-[WebTextRenderer _ATSU_drawRun:style:geometry:]):  Use new WebCoreTextGeometry struct. No change in functionality.

2004-04-26  Richard Williamson   <rjw@apple.com>

        Added support for specifying composite operation on an
        image element, i.e.:

        <img composite="source-over" src="triangle.png">
        <img style="position:relative; left:-200px;" composite="destination-in" src="circle.png">

        This feature was requested by the dashboard guys.  They can use it to apply
        transparency masks to widgies.


        Reviewed by Ken.

        * WebCoreSupport.subproj/WebImageRenderer.h:
        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer initWithMIMEType:]):
        (-[WebImageRenderer initWithData:MIMEType:]):
        (-[WebImageRenderer initWithContentsOfFile:]):
        (-[WebImageRenderer copyWithZone:]):
        (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
        (-[WebImageRenderer drawImageInRect:fromRect:]):
        (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:]):

2004-04-26  Chris Blumenberg  <cblu@apple.com>

        More header doc changes after John's review.
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebResource.h:

2004-04-26  Chris Blumenberg  <cblu@apple.com>

        * WebView.subproj/WebDataSourcePrivate.h: added some header doc comments
        * WebView.subproj/WebFramePrivate.h: fixed header doc typo

2004-04-24  Darin Adler  <darin@apple.com>

        Reviewed by Dave.

        * Misc.subproj/WebNSURLExtras.m: (hexDigit): Use capitalized hex, not lowercase, for consistency
        with similar functions in WebCore and what other web browsers do.

2004-04-23  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed <rdar://problem/3627362>: "bad access with libgmalloc in -[_WebCoreHistoryProvider containsItemForURLUnicode:length:]"

        * History.subproj/WebHistory.m:
        (-[_WebCoreHistoryProvider containsItemForURLUnicode:length:]): Add range checks so we
        don't overrun the buffer while looking for slashes.

2004-04-23  Chris Blumenberg  <cblu@apple.com>

        Reviewed by John

        Added header doc comments to proposed API's.

        * WebView.subproj/WebArchive.h:
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebResource.h:

=== Safari-138 ===

2004-04-23  Ken Kocienda  <kocienda@apple.com>

        Reviewed by John

        Added some plumbing for applying styles.

        * DOM.subproj/DOMExtensions.h: Copied from WebCore.
        * WebView.subproj/WebView.m:
        (-[WebView DOMDocument]): Added new helper.
        (-[WebView styleDeclarationWithText:]): Added new helper.
        * WebView.subproj/WebViewPrivate.h: Declare above methods.

2004-04-22  Richard Williamson   <rjw@apple.com>

        Updates to plugin binding APIs.
        Updates to Java plugin APIs.
        Transparency fix for Dashboard.
        Reviewed by John and Greg Bolsinga.

        * Plugins.subproj/WebPluginJava.h: Added.
        New API for Java plugin.        

        * Plugins.subproj/npfunctions.h:
        * Plugins.subproj/npruntime.h:
        (_NPString::):
        (_NPString::_NPVariant::):
        * Plugins.subproj/npsap.h: Added.
        New API for plugin bindings.        

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView drawRect:]):
        Update for Dashboard.  View must fill with transparency when not
        drawing background.        

        * copy-webcore-files-to-webkit:

2004-04-22  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Hyatt

        More work to bring code up to date with the latest API proposal. Note that
        all of the replaceXXX methods below now operate on the current selection, so
        the method implementations have been simplifed accordingly.

        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _replaceSelectionWithArchive:]): New name for _replaceSelectionWithWebArchive.
        * WebView.subproj/WebDataSourcePrivate.h: Ditto.
        * WebView.subproj/WebDefaultEditingDelegate.m:
        (-[WebDefaultEditingDelegate webViewShouldBeginEditing:inDOMRange:]): Added inDOMRange: parameter.
        (-[WebDefaultEditingDelegate webViewShouldEndEditing:inDOMRange:]): Ditto.
        (-[WebDefaultEditingDelegate webView shouldChangeSelectedDOMRange:toDOMRange:proposedRange affinity:stillSelecting:]):
        Missed adding affinity in last patch.
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _pasteFromPasteboard:]): Call old method with new name: _replaceSelectionWithArchive
        * WebView.subproj/WebView.m:
        (-[WebView replaceSelectionWithNode:]): New version of insertNode:replacingDOMRange:
        (-[WebView replaceSelectionWithText:]): New version of insertText:replacingDOMRange:
        (-[WebView replaceSelectionWithMarkupString:]): New version of insertMarkupString:replacingDOMRange:
        (-[WebView replaceSelectionWithArchive:]): New version of insertWebArchive:replacingDOMRange:
        (-[WebView deleteSelection]): New version of deleteDOMRange:
        (-[WebView applyStyle:]): New version of applyStyle:toElementsInDOMRange:
        * WebView.subproj/WebViewPrivate.h:

2004-04-22  Ken Kocienda  <kocienda@apple.com>

        Reviewed by John

        Adds the notion of selection affinity to the editing API, bringing it up to
        date with the latest proposal.

        * WebView.subproj/WebView.m:
        (-[WebView _alterCurrentSelection:direction:granularity:]): Pass selection affinity
        to the delegate. We can just pass the current one since this does not change with arrow keys.
        (-[WebView setSelectedDOMRange:affinity:]): Set the affinity on the selection.
        (-[WebView selectionAffinity]): New accessor.
        (-[WebView insertNode:replacingDOMRange:]): Change to pass selection affinity to call
        to set selection. This is just to get the code to compile for now, since this method
        will soon be removed in place of a similar one from the latest proposal that always
        works on the current selection.
        (-[WebView insertText:replacingDOMRange:]): Ditto.
        (-[WebView insertMarkupString:replacingDOMRange:]): Ditto.
        (-[WebView insertWebArchive:replacingDOMRange:]): Ditto.
        (-[WebView deleteDOMRange:]): Ditto.
        (-[WebView applyStyle:toElementsInDOMRange:]): Ditto.
        * WebView.subproj/WebViewPrivate.h: Add selection affinity to API declarations as needed.

2004-04-22  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        Work around this bug:
        <rdar://problem/3630640>: "Calling interpretKeyEvents: in a custom text view can fail to process keys right after app startup"

        * WebView.subproj/WebView.m:
        (-[WebView _editingKeyDown:]): The issue is with a message to nil in AppKit
        key binding manager code. Add call to [NSKeyBindingManager sharedKeyBindingManager] to make
        sure the not-supposed-to-be-nil object is created before calling interpretKeyEvents:.

2004-04-22  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Hyatt

        Added calls to ensure caret visibility after the editing action is done.

        * WebView.subproj/WebView.m:
        (-[WebView _alterCurrentSelection:direction:granularity:]):
        (-[WebView insertNewline:]):
        (-[WebView deleteBackward:]):
        (-[WebView insertText:]):

2004-04-20  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3605209>: "HITLIST: REGRESSION (131-132): iframes/frames no longer dump on layout tests"

        Reviewed by hyatt.

        * WebView.subproj/WebHTMLRepresentation.m:
        (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): the encoding was not being set in the about:blank case. Call receivedData:textEncodingName: as we did in the past to set it.

2004-04-20  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Hyatt

         Added implementations for these methods.

        * WebView.subproj/WebView.m:
        (-[WebView moveUpAndModifySelection:]):
        (-[WebView moveWordLeft:]):
        (-[WebView moveWordLeftAndModifySelection:]):
        (-[WebView moveWordRight:]):
        (-[WebView moveWordRightAndModifySelection:]):

2004-04-20  John Sullivan  <sullivan@apple.com>

        - fixed <rdar://problem/3622393>: When in stealth mode, visited webpage 
        contents should not be cached to disk

        Reviewed by Ken.

        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate willCacheResponse:]):
        if will cache to disk and in stealth mode, replace cache response with
        an identical one that won't cache to disk.

2004-04-19  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Hyatt

        * WebView.subproj/WebView.m:
        (-[WebView moveDown:]): Added implementation.
        (-[WebView moveUp:]): Added implementation.

2004-04-19  Chris Blumenberg  <cblu@apple.com>

        Added support for pasting frames via WebArchives.

        Reviewed by kocienda.

        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _addSubframeArchives:]): renamed, now allows subframe archives to be added at anytime
        (-[WebDataSource _popSubframeArchiveWithName:]): renamed, now deletes the returned subframe to consume less memory
        (-[WebDataSource _replaceSelectionWithWebArchive:]): added support for subframes
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _loadRequest:subresources:subframeArchives:]): call renamed methods
        (-[WebFrame _loadURL:intoChild:]): ditto
        * WebView.subproj/WebHTMLRepresentation.m:
        (-[WebHTMLRepresentation loadArchive]): ditto

=== Safari-137 ===

2004-04-16  Richard Williamson   <rjw@apple.com>

        Added an SPI to allow ObjC instances to be easily bound to 
        JS.  This is needed by the dashboard guys for their prototyping.
        Eventually they will use new API.

        Reviewed by Chris.

        * WebView.subproj/WebView.m:
        (-[WebView _bindObject:withName:toFrame:]):
        * WebView.subproj/WebViewPrivate.h:

2004-04-16  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3587599>: Mail Page, Web Archives don't preserve subframes
        Moved code that assembled subresource URLs from DOM nodes from WebCore to WebKit.

        Reviewed by rjw.

        * DOM.subproj/DOMExtensions.h: copied from WebCore
        * DOM.subproj/WebDOMOperations.h:
        * DOM.subproj/WebDOMOperations.m:
        (-[DOMNode webArchive]): call renamed methods
        (-[DOMNode markupString]): ditto
        (-[DOMNode _URLsFromSelectors:]): new, returns array of URLs given selectors
        (-[DOMNode _subresourceURLs]): new, base class does nothing, subclasses call _URLsFromSelectors with URL selectors
        (-[DOMDocument webFrame]): new
        (-[DOMRange webArchive]): call renamed methods
        (-[DOMRange markupString]): ditto
        (-[DOMHTMLBodyElement _subresourceURLs]): new
        (-[DOMHTMLInputElement _subresourceURLs]): new
        (-[DOMHTMLLinkElement _subresourceURLs]): new
        (-[DOMHTMLScriptElement _subresourceURLs]): new
        (-[DOMHTMLImageElement _subresourceURLs]): new
        (-[DOMHTMLEmbedElement _subresourceURLs]): new
        (-[DOMHTMLObjectElement _subresourceURLs]): new
        (-[DOMHTMLParamElement _subresourceURLs]): new
        (-[DOMHTMLTableElement _subresourceURLs]): new
        (-[DOMHTMLTableCellElement _subresourceURLs]): new
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebArchive.h:
        * WebView.subproj/WebArchive.m:
        (-[WebArchivePrivate dealloc]): release new subframeArchives ivar
        (-[WebArchive initWithMainResource:subresources:subframeArchives:]): take subframeArchives
        (-[WebArchive _initWithPropertyList:]): new, recursively creates WebArchives
        (-[WebArchive initWithData:]): call _initWithPropertyList
        (-[WebArchive subframeArchives]): new
        (-[WebArchive _propertyListRepresentation]): new, recursively creates property lists of WebArchives
        (-[WebArchive data]): call _propertyListRepresentation
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate saveResource]): call renamed methods
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSourcePrivate dealloc]): release new pendingSubframeArchives ivar
        (-[WebDataSource _archiveWithMarkupString:nodes:]): renamed and reimplemented, handles subframes
        (-[WebDataSource _archive]): new
        (-[WebDataSource _setPendingSubframeArchives:]): new
        (-[WebDataSource _archiveForFrameName:]): new
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebFrame.m:
        (-[WebFrame loadArchive:]): handle subframes
        (-[WebFrame _loadRequest:subresources:subframeArchives:]): ditto
        (-[WebFrame _loadURL:intoChild:]): use the subframe archive if we have it
        (-[WebFrame loadRequest:]): call renamed methods
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebHTMLRepresentation.m:
        (-[WebHTMLRepresentation loadWebArchive]): call renamed methods and handle subframes
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _selectedArchive:]): call renamed methods
        (-[WebHTMLView _pasteFromPasteboard:]): call renamed methods
        * WebView.subproj/WebHTMLViewPrivate.h:
        * WebView.subproj/WebImageRepresentation.h:
        * WebView.subproj/WebImageRepresentation.m: instead of storing some items from the data source, just store the data source
        (-[WebImageRepresentation dealloc]): removed use of deleted ivars
        (-[WebImageRepresentation URL]): use dataSource instead of ivar
        (-[WebImageRepresentation doneLoading]): use new boolean ivar
        (-[WebImageRepresentation setDataSource:]): store the data source
        (-[WebImageRepresentation receivedData:withDataSource:]): use dataSource instead of ivar
        (-[WebImageRepresentation receivedError:withDataSource:]): ditto
        (-[WebImageRepresentation finishedLoadingWithDataSource:]): ditto
        (-[WebImageRepresentation title]): ditto
        (-[WebImageRepresentation data]): ditto
        (-[WebImageRepresentation filename]): ditto
        (-[WebImageRepresentation archive]): ditto
        * WebView.subproj/WebResource.h:
        * WebView.subproj/WebResource.m:
        (-[WebResourcePrivate dealloc]): release new frame name ivar
        (-[WebResource initWithData:URL:MIMEType:textEncodingName:frameName:]): take a frame name
        (-[WebResource frameName]): new
        (-[WebResource _initWithPropertyList:]): handle frame name
        (-[WebResource _initWithCachedResponse:originalURL:]): call renamed methods
        (-[WebResource _propertyListRepresentation]):
        * WebView.subproj/WebResourcePrivate.h: handle frame name

2004-04-15  David Hyatt  <hyatt@apple.com>

        Make sure isOpaque returns NO when the WebHTMLVIew doesn't draw its background.
        Reviewed by darin

        * WebView.subproj/WebFrameView.m:
        (-[WebFrameView isOpaque]):
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView isOpaque]):

2004-04-15  John Sullivan  <sullivan@apple.com>

        * WebView.subproj/WebPreferencesPrivate.h:
        added comments

2004-04-14  Richard Williamson   <rjw@apple.com>

        Updated fix for 3576315.  Don't hardcode 22 as the titlebar
        height.  (Note, other places in CarbonWindowFrame DO hardcode
        window geometry information, yuck!).

        Reviewed by Hyatt.

        * Carbon.subproj/CarbonWindowFrame.m:

2004-04-14  John Sullivan  <sullivan@apple.com>

        - changed stealth mode preference name from "historyIsFrozen"
        to "privateBrowsingEnabled"

        Reviewed by Darin.

        * WebView.subproj/WebFrame.m:
        (-[WebFrame _transitionToCommitted:]):
        updated for method name change
        
        * WebView.subproj/WebPreferences.m:
        changed preference key name
        (+[WebPreferences initialize]):
        updated for preference key name change
        (-[WebPreferences setPrivateBrowsingEnabled:]):
        changed name from setHistoryIsFrozen:
        (-[WebPreferences privateBrowsingEnabled]):
        changed name from historyIsFrozen:
        
        * WebView.subproj/WebPreferencesPrivate.h:
        changed declared method names

        * English.lproj/StringsNotToBeLocalized.txt:
        updated for this and other recent changes

2004-04-13  Chris Blumenberg  <cblu@apple.com>

        - Added WebElementDOMNodeKey as a potential API so that clients can get the node from an element dictionary.
        - Removed WebElementIsEditableKey. This functionality is available via [DOMNode isContentEditable].

        Reviewed by rjw.

        * DOM.subproj/WebDOMOperations.h:
        * DOM.subproj/WebDOMOperations.m:
        (-[DOMDocument URLWithRelativeString:]): new potential API
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): indenting tweak
        (-[WebDefaultUIDelegate copyImageToClipboard:]): use WebElementDOMNodeKey
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _handleMouseDragged:]): use WebElementDOMNodeKey
        (-[WebHTMLView _dragOperationForDraggingInfo:]): use isContentEditable
        * WebView.subproj/WebView.h:
        * WebView.subproj/WebView.m:
        * WebView.subproj/WebViewPrivate.h:

2004-04-13  Chris Blumenberg  <cblu@apple.com>

        Fixed deployment build failure.

        Reviewed by john.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _handleMouseDragged:]): removed use of fileWrapper variable

2004-04-12  Chris Blumenberg  <cblu@apple.com>

        Factored out WebArchive to DOM code so that it could be used by both [WebHTMLView _pasteFromPasteboard:] and [WebView insertWebArchive:replacingDOMRange:].

        Reviewed by kocienda.

        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _replaceSelectionWithMarkupString:baseURL:]): moved from WebHTMLView
        (-[WebDataSource _replaceSelectionWithImageResource:]): ditto
        (-[WebDataSource _replaceSelectionWithWebArchive:]): ditto
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _replaceSelectionWithMarkupString:]): renamed
        (-[WebHTMLView _pasteFromPasteboard:]): call renamed methods
        * WebView.subproj/WebView.m:
        (-[WebView insertMarkupString:replacingDOMRange:]): call renamed methods
        (-[WebView insertWebArchive:replacingDOMRange:]): have data source handle the archive instead of the bridge

2004-04-12  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Dave
        
        Added execCommand support for cut/copy/paste.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge issueCutCommand]): Glue for calling from WebCore to do a cut in Cocoa.
        (-[WebBridge issueCopyCommand]): Same as above, but for copy.
        (-[WebBridge issuePasteCommand]): Same as above, but for paste.
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView copy:]): Move this to private implementation category so the bridge can see it.
        (-[WebHTMLView cut:]): Ditto.
        (-[WebHTMLView paste:]): Ditto.
        * WebView.subproj/WebHTMLViewPrivate.h: Move copy;, cut:, and paste: to private implementation 
        category so the bridge can see it.
        * WebView.subproj/WebView.m:
        (-[WebView copy:]): Implemented by calling WebHTMLView to do the work.
        (-[WebView cut:]): Ditto.
        (-[WebView paste:]): Ditto.
        * WebView.subproj/WebViewPrivate.h: Added all the NSReponder methods we plan to implement as
        part of the WebKit editing API.

2004-04-09  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        Stubbed in the entire WebKit editing API, improving some
        methods already present in minor ways, and adding those 
        methods not yet present.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge editingKeyDown:]):
        * WebView.subproj/WebDefaultEditingDelegate.m:
        (-[WebDefaultEditingDelegate webView:shouldChangeSelectedDOMRange:toDOMRange:stillSelecting:]):
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _pasteMarkupString:]):
        * WebView.subproj/WebView.m:
        (-[WebView _alterCurrentSelection:direction:granularity:]):
        (-[WebView _currentSelectionIsEditable]):
        (-[WebView computedStyleForElement:pseudoElement:]):
        (-[WebView _editingKeyDown:]):
        (-[WebView setEditable:]):
        (-[WebView isEditable]):
        (-[WebView setTypingStyle:]):
        (-[WebView typingStyle]):
        (-[WebView setSmartInsertDeleteEnabled:]):
        (-[WebView smartInsertDeleteEnabled]):
        (-[WebView setContinuousSpellCheckingEnabled:]):
        (-[WebView isContinuousSpellCheckingEnabled]):
        (-[WebView spellCheckerDocumentTag]):
        (-[WebView undoManager]):
        (-[WebView insertNode:replacingDOMRange:]):
        (-[WebView insertText:replacingDOMRange:]):
        (-[WebView insertMarkupString:replacingDOMRange:]):
        (-[WebView insertWebArchive:replacingDOMRange:]):
        (-[WebView deleteDOMRange:]):
        (-[WebView applyStyle:toElementsInDOMRange:]):
        (-[WebView centerSelectionInVisibleArea:]):
        (-[WebView moveBackward:]):
        (-[WebView moveBackwardAndModifySelection:]):
        (-[WebView moveDown:]):
        (-[WebView moveDownAndModifySelection:]):
        (-[WebView moveForward:]):
        (-[WebView moveForwardAndModifySelection:]):
        (-[WebView moveLeft:]):
        (-[WebView moveLeftAndModifySelection:]):
        (-[WebView moveRight:]):
        (-[WebView moveRightAndModifySelection:]):
        (-[WebView moveToBeginningOfDocument:]):
        (-[WebView moveToBeginningOfLine:]):
        (-[WebView moveToBeginningOfParagraph:]):
        (-[WebView moveToEndOfDocument:]):
        (-[WebView moveToEndOfLine:]):
        (-[WebView moveToEndOfParagraph:]):
        (-[WebView moveUp:]):
        (-[WebView moveUpAndModifySelection:]):
        (-[WebView moveWordBackward:]):
        (-[WebView moveWordBackwardAndModifySelection:]):
        (-[WebView moveWordForward:]):
        (-[WebView moveWordForwardAndModifySelection:]):
        (-[WebView moveWordLeft:]):
        (-[WebView moveWordLeftAndModifySelection:]):
        (-[WebView moveWordRight:]):
        (-[WebView moveWordRightAndModifySelection:]):
        (-[WebView pageDown:]):
        (-[WebView pageUp:]):
        (-[WebView scrollLineDown:]):
        (-[WebView scrollLineUp:]):
        (-[WebView scrollPageDown:]):
        (-[WebView scrollPageUp:]):
        (-[WebView selectAll:]):
        (-[WebView selectParagraph:]):
        (-[WebView selectLine:]):
        (-[WebView selectWord:]):
        (-[WebView copy:]):
        (-[WebView cut:]):
        (-[WebView paste:]):
        (-[WebView copyFont:]):
        (-[WebView pasteFont:]):
        (-[WebView delete:]):
        (-[WebView pasteAsPlainText:]):
        (-[WebView pasteAsRichText:]):
        (-[WebView changeFont:]):
        (-[WebView changeAttributes:]):
        (-[WebView changeDocumentBackgroundColor:]):
        (-[WebView changeColor:]):
        (-[WebView alignCenter:]):
        (-[WebView alignJustified:]):
        (-[WebView alignLeft:]):
        (-[WebView alignRight:]):
        (-[WebView indent:]):
        (-[WebView insertTab:]):
        (-[WebView insertBacktab:]):
        (-[WebView insertNewline:]):
        (-[WebView insertParagraphSeparator:]):
        (-[WebView changeCaseOfLetter:]):
        (-[WebView uppercaseWord:]):
        (-[WebView lowercaseWord:]):
        (-[WebView capitalizeWord:]):
        (-[WebView deleteForward:]):
        (-[WebView deleteBackward:]):
        (-[WebView deleteBackwardByDecomposingPreviousCharacter:]):
        (-[WebView deleteWordForward:]):
        (-[WebView deleteWordBackward:]):
        (-[WebView deleteToBeginningOfLine:]):
        (-[WebView deleteToEndOfLine:]):
        (-[WebView deleteToBeginningOfParagraph:]):
        (-[WebView deleteToEndOfParagraph:]):
        (-[WebView complete:]):
        (-[WebView checkSpelling:]):
        (-[WebView showGuessPanel:]):
        (-[WebView performFindPanelAction:]):
        (-[WebView startSpeaking:]):
        (-[WebView stopSpeaking:]):
        (-[WebView insertText:]):
        * WebView.subproj/WebViewPrivate.h:

2004-04-09  Darin Adler  <darin@apple.com>

        Reviewed by Ken.

        - added "transparent mode"

        * WebView.subproj/WebFrameInternal.h: Added. Contains _updateDrawsBackground.
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _makeDocumentView]): Call _updateDrawsBackground to tell the newly created
        KHTMLView whether to draw a background or not.
        (-[WebFrame _setState:]): Don't tell the scroll view to start drawing background if the
        WebView is not supposed to draw a background.
        (-[WebFrame _updateDrawsBackground]): Call setDrawsBackground: on the bridge, and do the
        same for all subframes.

        * WebView.subproj/WebFrameView.m: (-[WebFrameView setFrameSize:]): Only call setDrawsBackground:YES
        on the scroll view if the WebView has drawsBackground set to YES.

        * WebView.subproj/WebViewPrivate.h: Added new proposed API, setDrawsBackground and drawsBackground.
        Also added drawsBackground boolean to private structure.
        * WebView.subproj/WebView.m:
        (-[WebView _commonInitializationWithFrameName:groupName:]): Set drawsBackground to YES by default.
        (-[WebView setDrawsBackground:]): Added. Sets boolean and calls _updateDrawsBackground to update
        the flag for each frame.
        (-[WebView drawsBackground]): Added. Returns value of boolean.
        (-[WebView _bridgeForCurrentSelection]): Tweaked comment for no good reason.

        * WebView.subproj/WebViewInternal.h: Added, but empty for the moment.
        * WebView.subproj/WebFramePrivate.h: Tweaked a bit.

2004-04-08  Chris Blumenberg  <cblu@apple.com>

        Fixed:
        <rdar://problem/3616873>: support for pasting and drag and dropping of URLS to editable WebViews
        <rdar://problem/3546417>: support for pasting and drag and dropping of images to editable WebViews

        Reviewed by rjw.

        * DOM.subproj/WebDOMOperations.h:
        * DOM.subproj/WebDOMOperations.m:
        (-[DOMNode webArchive]): renamed from "archive" because "archive" collides with DOMHTMLObjectElement's method
        (-[DOMRange webArchive]): ditto
        * Misc.subproj/WebNSPasteboardExtras.h:
        * Misc.subproj/WebNSPasteboardExtras.m:
        (-[NSPasteboard _web_writeImage:URL:title:archive:]): take just an archive instead of an HTML string and file wrapper
        * Misc.subproj/WebNSViewExtras.h:
        * Misc.subproj/WebNSViewExtras.m:
        (-[NSView _web_dragImage:archive:rect:URL:title:event:]): take just an archive instead of an HTML string and file wrapper
        * WebView.subproj/WebDataProtocol.h:
        * WebView.subproj/WebDataProtocol.m:
        (+[NSURL _web_uniqueWebDataURL]): new
        (+[NSURL _web_uniqueWebDataURLWithRelativeString:]): new
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultUIDelegate copyImageToClipboard:]): call renamed _web_writeImage
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _webDataRequestForData:MIMEType:textEncodingName:baseURL:unreachableURL:]): use _web_uniqueWebDataURL for creating a URL
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _pasteImageResource:]): new
        (-[WebHTMLView _pasteFromPasteboard:]): renamed, now handles images and URLs
        (-[WebHTMLView _handleMouseDragged:]): call renamed _web_dragImage
        (-[WebHTMLView paste:]): call renamed _pasteFromPasteboard
        (-[WebHTMLView concludeDragOperation:]): call renamed _pasteFromPasteboard
        * WebView.subproj/WebHTMLViewPrivate.h:
        * WebView.subproj/WebImageRepresentation.h:
        * WebView.subproj/WebImageRepresentation.m:
        (-[WebImageRepresentation archive]): new
        * WebView.subproj/WebImageView.m:
        (-[WebImageView writeImageToPasteboard:]): call renamed _web_writeImage
        (-[WebImageView mouseDragged:]): call renamed _web_dragImage

=== Safari-136 ===

2004-04-08  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3548274>: API: DOM API for WebKit clients

        Reviewed by kocienda.

        * DOM.subproj/DOM.h: copied from WebCore
        * WebKit.pbproj/project.pbxproj: made our DOM headers public!

2004-04-08  Chris Blumenberg  <cblu@apple.com>

        Moved WebArchive to its own file.

        Reviewed by kocienda.

        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebArchive.h: Added.
        * WebView.subproj/WebArchive.m: Added.
        (-[WebArchive data]): renamed from dataRepresentation
        * WebView.subproj/WebDataSource.m:
        * WebView.subproj/WebFrame.m:
        * WebView.subproj/WebHTMLRepresentation.m:
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _writeSelectionToPasteboard:]): call renamed [WebArchive data]
        * WebView.subproj/WebResource.h:
        * WebView.subproj/WebResource.m:

2004-04-07  Chris Blumenberg  <cblu@apple.com>

        Created WebDOMOperations which are WebKit-specific categories on DOM objects.

        Reviewed by rjw.

        * DOM.subproj/DOMExtensions.h:
        * DOM.subproj/WebDOMOperations.h: Added.
        * DOM.subproj/WebDOMOperations.m: Added.
        (-[DOMNode _bridge]): new
        (-[DOMNode archive]): new
        (-[DOMNode markupString]): new
        (-[DOMRange _bridge]): new
        (-[DOMRange archive]): new
        (-[DOMRange markupString]): new
        (-[DOMHTMLImageElement image]):
        * WebCoreSupport.subproj/WebBridge.h:
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge webFrame]): new
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _archiveWithMarkupString:subresourceURLStrings:]): moved from WebHTMLRepresentation
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultUIDelegate copyImageToClipboard:]): call markupString on the node
        * WebView.subproj/WebDocumentPrivate.h:
        * WebView.subproj/WebFrame.m:
        (+[WebFrame frameForDOMDocument:]): new
        (-[WebFrame loadArchive:]): renamed
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebHTMLRepresentation.h:
        * WebView.subproj/WebHTMLRepresentation.m:
        * WebView.subproj/WebHTMLRepresentationPrivate.h:
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _selectedArchive:]): renamed
        (-[WebHTMLView _handleMouseDragged:]): called renamed methods

2004-04-07  Darin Adler  <darin@apple.com>

        Reviewed by Chris.

        * DOM.subproj/DOMCSS.h: Updated from WebCore.

2004-04-07  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin and Dave (many weeks ago....I am so ashamed for not landing)

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge expiresTimeForResponse:]): Now adds in the difference between
        the Mac OS X epoch and the "standard" unix epoch when passing back a time
        that WebCore will use for its cache expiration determinations. 

2004-04-07  Richard Williamson   <rjw@apple.com>

        Fix for 3604388.  The runtime version check (_CFExecutableLinkedOnOrAfter) used by many of
        our frameworks doesn't work for CFM apps.  So, conditional panther bugs fixes aren't
        being pickup by CFM apps that use WebKit, specifically Contribute.  This particular radar
        describes a problem that was conditionally fixed in the AppKit for panther.  The work-around
        is to force NSBitmapImageRep to execute to conditional code.

        Reviewed by Maciej.

        * Carbon.subproj/CarbonUtils.m:
        (WebInitForCarbon):

2004-04-06  Richard Williamson   <rjw@apple.com>

        Fixed 3510805.  Only release pool in timer if the current nesting level of the
        pool matches the nesting level when the pool was created.

        Reviewed by Chris.

        * Carbon.subproj/CarbonUtils.m:
        (getNumPools):
        (WebInitForCarbon):
        (PoolCleaner):

2004-04-06  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3613974>: remove "to Clipboard" from context menus because it is redundant

        Reviewed by john.

        * English.lproj/Localizable.strings:
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultUIDelegate menuItemWithTag:]):

2004-04-06  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Dave

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge issueUndoCommand]): New method. Forwards call to the undo manager. Added
        to support undo called via Javascript execCommand.
        (-[WebBridge issueRedoCommand]): Ditto.

2004-04-05  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3612580>: SPI: WebPlugin selection

        Reviewed by kocienda.

        * Plugins.subproj/WebPlugin.h: extended SPI for selection
        * Plugins.subproj/WebPluginContainer.h: ditto
        * Plugins.subproj/WebPluginController.m:
        (-[WebPluginController selectionColor]): new, calls [WebCoreBridge selectionColor]
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge setIsSelected:forView:]): new, calls [WebPlugin setIsSelected:]
        (-[WebBridge isViewSelected:]): new, calls [WebPlugin isSelected]

2004-04-02  Chris Blumenberg  <cblu@apple.com>

        Forgot to add the WebKit copy of DOMExtensions.h.

        * DOM.subproj/DOMExtensions.h: Added.

2004-04-02  John Sullivan  <sullivan@apple.com>

        Reviewed by Dave.
        
        * WebView.subproj/WebPreferences.m:
        (-[WebPreferences historyIsFrozen]):
        take out OMIT_TIGER_FEATURES ifdeffing, since if we turn this into API
        then we'll probably want it to work in Panther also. To protect Safari users,
        Safari now explicitly sets historyIsFrozen to NO when starting up in Panther.

        * English.lproj/StringsNotToBeLocalized.txt:
        updated for recent changes

2004-04-02  Chris Blumenberg  <cblu@apple.com>

        Moved the DOM extensions to their own headers

        Reviewed by kocienda.

        * DOM.subproj/DOM.h: changed from WebCore
        * DOM.subproj/DOMHTML.h: ditto
        * WebKit.pbproj/project.pbxproj: added DOMExtensions.h
        * copy-webcore-files-to-webkit: copy DOMExtensions.h

=== Safari-135 ===

2004-04-01  Richard Williamson   <rjw@apple.com>

        Fixed 3609493.  Don't remove the plugin's view until after
        sending pluginDestroy.  This change was requested by Greg
        and is needed in the Lavender update.

        Reviewed by Greg Bolsinga.

        * Plugins.subproj/WebPluginController.m:
        (-[WebPluginController destroyAllPlugins]):
        * Plugins.subproj/npruntime.h:

2004-03-31  John Sullivan  <sullivan@apple.com>

        - fixed <rdar://problem/3577917>: API: mechanism for displaying error 
        page for failed page load
        
        This was not commented on for a week in macosx-api-reviewers, so it
        has the silent rubber stamp of approval.
        
        Note that it isn't guarded by "Tiger only" availability macros because
        we (probably) want to use it in Panther for Safari. Maybe what we should
        do is guard the API with "Tiger only" macros but add an SPI version
        that Safari uses?

        Reviewed by Dave.

        * WebView.subproj/WebDataSource.h:
        moved unreachableURL to here
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource unreachableURL]):
        moved this from private category to main section
        
        * WebView.subproj/WebDataSourcePrivate.h:
        removed unreachableURL from here
        
        * WebView.subproj/WebFrame.h:
        moved loadAlternateHTMLString... to here
        * WebView.subproj/WebFrame.m:
        (-[WebFrame loadAlternateHTMLString:baseURL:forUnreachableURL:]):
        moved this from private category to main section
        
        * WebView.subproj/WebFramePrivate.h:
        removed unreachableURL from here

2004-03-31  Richard Williamson   <rjw@apple.com>

        Changed to reflect NP_runtime.h to npruntime.h.

        * copy-webcore-files-to-webkit:

2004-03-31  John Sullivan  <sullivan@apple.com>

        Reviewed by Darin.

        * WebView.subproj/WebPreferences.m:
        (-[WebPreferences historyIsFrozen]):
        always return NO on Panther and older, so you can't get into a state
        where the WebKit pref is invisibly set and affecting Safari.

2004-03-31  Darin Adler  <darin@apple.com>

        * WebView.subproj/WebHTMLView.m: Whitespace tweaks.

2004-03-30  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3604391>: Plug-in context menus (Flash) don't work in Carbon WebKit applications (e.g., CarbonWeb)

        Reviewed by rjw.

        * Carbon.subproj/HIWebView.m:
        (ContextMenuClick): instead of calling menuForEvent (which is not implemented on our plug-in view) call rightMouseDown and let AppKit handle the rest

2004-03-29  John Sullivan  <sullivan@apple.com>

        - some support for "Stealth Browsing"; add a preference that
        controls whether a history item is added when a page is visited.
        This is called "historyIsFrozen" for now, but I wouldn't be
        surprised to see this name change.

        Reviewed by Dave.

        * WebView.subproj/WebPreferencesPrivate.h:
        new historyIsFrozen, setHistoryIsFrozen: methods
        
        * WebView.subproj/WebPreferences.m:
        new WebKitHistoryIsFrozenPreferenceKey
        (+[WebPreferences initialize]):
        set initial value of WebKitHistoryIsFrozenPreferenceKey
        (-[WebPreferences setHistoryIsFrozen:]):
        set value of WebKitHistoryIsFrozenPreferenceKey
        (-[WebPreferences historyIsFrozen]):
        read value of WebKitHistoryIsFrozenPreferenceKey

        * WebView.subproj/WebFrame.m:
        (-[WebFrame _transitionToCommitted:]):
        don't add item to history if history is frozen

2004-03-29  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed <rdar://problem/3559178>: navigator.language always returns "en"

        * WebCoreSupport.subproj/WebViewFactory.m: (-[WebViewFactory defaultLanguageCode]):
        Call +[NSUserDefaults _web_preferredLanguageCode] rather than returning "en".

        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.

2004-03-26  John Sullivan  <sullivan@apple.com>

        - fixed <rdar://problem/3576334>: Printing "empty" page gives print error, 
        leaves browser window UI broken

        Reviewed by Dave.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView knowsPageRange:]):
        AppKit printing mechanism can't handle the case where you tell it there is
        nothing at all to print, so when we hit that case we give it a degenerate
        1-pixel rect to print. This prints a blank page (with correctly-placed
        header & footer if so configured), which matches other browsers' behavior for
        this page.

        * Plugins.subproj/npruntime.h:
        cvs keeps thinking I've removed a blank line from this auto-copied file.
        Richard said to just check it in to see if it stops doing this.
        
=== Safari-134 ===

2004-03-26  John Sullivan  <sullivan@apple.com>

        - fixed the following bugs:
        
        <rdar://problem/3601630>: command-modified keypresses that would activate links are ignored by WebKit
        <rdar://problem/3601604>: WebActionModifierFlagsKey not set correctly for modified keypresses that activate links
        <rdar://problem/3544946>: cmd-return should open a link in a new tab

        Reviewed by Darin.

        * WebView.subproj/WebFrame.m:
        (-[WebFrame _actionInformationForNavigationType:event:originalURL:]):
        Pass modifier flags always, not just for mouse events. This fixes 3601604.
        
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView performKeyEquivalent:]):
        Give the bridge a chance to intercept command-modified keypresses. This fixes 3601630.
        
        Together these two changes fix 3544946.

2004-03-25  David Hyatt  <hyatt@apple.com>

        Implement the rest of the search field.

        Implement onscroll at the document level.
        Reviewed by darin

        * English.lproj/Localizable.strings:
        * WebCoreSupport.subproj/WebBridge.m:
        * WebCoreSupport.subproj/WebViewFactory.m:
        (-[NSMenu addItemWithTitle:action:tag:]):
        (-[WebViewFactory submitButtonDefaultLabel]):
        (-[WebViewFactory cellMenuForSearchField]):
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _frameOrBoundsChanged]):
        (-[WebHTMLView viewDidMoveToWindow]):
        * WebView.subproj/WebHTMLViewPrivate.h:

2004-03-25  Richard Williamson   <rjw@apple.com>

        Netscape plugin API header cleanup.

        Replaced our hacked up version of npapi.h with the
        "official SDK"  npapi.h.  Moved our changes to the new
        npfunctions.h.  npfunctions.h really replaces what was defined in
        the Netscape npupp.h header.  However, rather than use the "official SDK"
        npupp.h I think the cleaner npfunctions.h is better. npupp.h actually
        has a bunch of Mac classic specific stuff that is no longer needed.

        Copied npruntime.h to WebKit using Ken's copy-o-matic mechanism.

        Made npapi.h, npruntime.h, and npfunctions.h SPI.  With a bit
        more consideration they will become API.  They will also eventually be made
        available for other platforms/vendors are mozilla.org.

        Reviewed by Ken.

        * Plugins.subproj/WebBaseNetscapePluginStream.h:
        * Plugins.subproj/WebBaseNetscapePluginStream.m:
        (-[WebBaseNetscapePluginStream dealloc]):
        (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]):
        * Plugins.subproj/WebBaseNetscapePluginView.h:
        * Plugins.subproj/WebNetscapePluginPackage.h:
        * Plugins.subproj/WebNetscapePluginPackage.m:
        (-[WebNetscapePluginPackage load]):
        * Plugins.subproj/npapi.h:
        * Plugins.subproj/npruntime.h: Added.
        * WebKit.pbproj/project.pbxproj:
        * copy-webcore-files-to-webkit:

2004-03-24  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed <rdar://problem/3566805>: REGRESSION: When the subject of mailto is 2 byte Safari failed to send mail address and subject to Mail.app

        * Misc.subproj/WebNSURLExtras.m: (applyHostNameFunctionToMailToURLString): Update to handle hostnames
        that end just before a '?' since a '?' ends the entire part of the URL that can contain hostnames.
        Also change the logic so that the '?' will successfully end the search.

2004-03-24  Ken Kocienda  <kocienda@apple.com>

        Reviewed by me

        * DOM.subproj/DOMHTML.h: Checking in copied over version of
        modified file.

2004-03-23  David Hyatt  <hyatt@apple.com>

        Fix for 3513627, HTML mail prints upside down occasionally.  Change printing so that it never resizes the
        WebHTMLView when formatting for printing.  When computing page rects, instead of using the view's bounds,
        use the root layer's width instead.
        Reviewed by darin

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView knowsPageRange:]):

=== Safari-133 ===

2004-03-17  David Hyatt  <hyatt@apple.com>

        Expose ageLimitDate so that the autocomplete code can access it.
        Reviewed by john

        * History.subproj/WebHistory.m:
        (-[WebHistory ageLimitDate]):
        * History.subproj/WebHistoryPrivate.h:

2004-03-17  Richard Williamson   <rjw@apple.com>

        Fixed 3591667.  Plugin view is added to view hierarchy before calling init.

        Reviewed by Ken.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView addSubview:]):

2004-03-16  Darin Adler  <darin@apple.com>

        * DOM.subproj/DOMHTML.h: Updated from WebCore.
        * DOM.subproj/DOMRange.h: Ditto.

2004-03-16  Darin Adler  <darin@apple.com>

        Reviewed by Ken.

        - update for new DOM namespacing and header organization

        * DOM.subproj/DOM.h: Changed to include the other DOM headers.
        * DOM.subproj/DOMCSS.h: Added.
        * DOM.subproj/DOMCore.h: Added.
        * DOM.subproj/DOMEvents.h: Added.
        * DOM.subproj/DOMHTML.h: Added.
        * DOM.subproj/DOMRange.h: Added.
        * DOM.subproj/DOMStylesheets.h: Added.
        * DOM.subproj/DOMTraversal.h: Added.
        * DOM.subproj/DOMViews.h: Added.        
        * WebKit.pbproj/project.pbxproj: Added new files.

        * WebView.subproj/WebDefaultEditingDelegate.m:
        (-[WebDefaultEditingDelegate webView:shouldApplyStyle:toElementsInDOMRange:]):
        (-[WebDefaultEditingDelegate webView:shouldChangeTypingStyle:toStyle:]):
        Change class names from CSS to DOMCSS.
        * WebView.subproj/WebViewPrivate.h: Ditto.

        * copy-webcore-files-to-webkit: Add new files.

2004-03-15  Ken Kocienda  <kocienda@apple.com>

        Reviewed by John

        Fix for this bug:
        
        <rdar://problem/3588717>: REGRESSION (125-131u): Tabbing to links and tabbing in bookmarks view no longer works

        WebView can't lay claim to -keyDown: just for editing events, as
        this gets in the way of tab processing. The solution is to give
        WebView a private method for processing editing key events fed to
        it from over the bridge, and leave -keyDown: unimplemented. 

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge editingKeyDown:]): Changed from -keyDown: to keep 
        terminology consistent with renamed WebView -editingKeyDown: method.
        * WebView.subproj/WebView.m:
        (-[WebView editingKeyDown:]): Give WebView a method to handle
        editing key events in a way that does not interfere with other key down
        events it processes.
        * WebView.subproj/WebViewPrivate.h: Declare -editingKeyDown: method.

=== Safari-132 ===

2004-03-15  Darin Adler  <darin@apple.com>

        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.

2004-03-12  Darin Adler  <darin@apple.com>

        Reviewed by Ken.

        - fixed <rdar://problem/3433887>: copied &nbsp; characters remain non-breaking spaces; other browsers give normal spaces

        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _writeSelectionToPasteboard:]):
        Convert non-breaking spaces to the normal kind in the plain text part of the pasteboard.

2004-03-12  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Chris

        * WebView.subproj/WebView.m:
        (-[WebView _alterCurrentSelection:direction:granularity:]): Changed name from
        _alterSelection:direction:granularity: to give a little extra clarity. Also, the
        body calls through to renamed rangeByAlteringCurrentSelection:direction:granularity:
        in WebCore.
        (-[WebView moveRight:]): Now calls renamed _alterCurrentSelection:direction:granularity:.
        (-[WebView moveRightAndModifySelection:]): Ditto.
        (-[WebView moveLeft:]): Ditto.
        (-[WebView moveLeftAndModifySelection:]): Ditto.

2004-03-11  Richard Williamson   <rjw@apple.com>

        Workaround for 3585644.  Force the window number of the
        mouse moved event to be correct.

        Reviewed by Chris.

        * Carbon.subproj/CarbonWindowFrame.m:
        * Carbon.subproj/HIWebView.m:
        (MouseMoved):
        (MouseDragged):

2004-03-11  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Dave

        Various changes to begin implementing the draft API proposal. 

        * DOM.subproj/DOM.h: Checking in generated file.
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge registerCommandForUndo:]): Now takes an id, a wrapped
        WebCore EditCommand implementation object.
        (-[WebBridge registerCommandForRedo:]): Ditto.
        (-[WebBridge clearUndoRedoOperations]): Use the web view's undo manager.
        (-[WebBridge keyDown:]): Pass keyDown events through to the web view.
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebDefaultEditingDelegate.h: Added.
        * WebView.subproj/WebDefaultEditingDelegate.m: Added. Stubbed in default
        implementations declared in the draft editing API.
        * WebView.subproj/WebFrame.m:
        (-[WebFramePrivate dealloc]): WebFrame no longer has an undo manager.
        * WebView.subproj/WebFramePrivate.h: Ditto.
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _selectedWebArchive:]): selectedRange method 
        is now selectedDOMRange.
        * WebView.subproj/WebView.m:
        (-[WebViewPrivate dealloc]): Dealloc new editingDelegateForwarder.
        (-[WebView _editingDelegateForwarder]): Added. 
        (-[WebView keyDown:]): Added. 
        (-[WebView _bridgeForCurrentSelection]): Added. 
        (-[WebView setSelectedDOMRange:]): Added. 
        (-[WebView selectedDOMRange]): Added. 
        (-[WebView insertText:]): Added. 
        (-[WebView _alterSelection:direction:granularity:]): Added. 
        (-[WebView selectWord:]): Added. 
        (-[WebView moveRight:]): Added. 
        (-[WebView moveRightAndModifySelection:]): Added. 
        (-[WebView moveLeft:]): Added. 
        (-[WebView moveLeftAndModifySelection:]): Added. 
        (-[WebView deleteBackward:]): Added. 
        (-[WebView insertNewline:]): Added. 
        (-[WebView insertParagraphSeparator:]): Added. 
        (-[WebView setEditingDelegate:]): Added. 
        (-[WebView editingDelegate]): Added. 
        (-[WebView undoManager]): Added. 
        (-[WebView insertText:replacingDOMRange:]): Added. 
        * WebView.subproj/WebViewPrivate.h: Added a collection of editing API 
        declarations that will be public some day, but are still under review.

2004-03-11  John Sullivan  <sullivan@apple.com>

        - fixed <rdar://problem/3585056>: Assertion failure if error page is loaded from 
        webView:unableToImplementPolicyWithError:
        - also added HeaderDoc comments to could-be-API-soon methods and fixed a
        conceptual problem with said methods

        Reviewed by Darin.

        * WebView.subproj/WebDataSourcePrivate.h:
        added HeaderDoc comment for -unreachableURL
        
        * WebView.subproj/WebFramePrivate.h:
        added HeaderDoc comment for -loadAlternateHTMLString:baseURL:forUnreachableURL:;
        also added boolean delegateIsHandlingUnimplementablePolicy ivar to WebFramePrivate
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _shouldReloadToHandleUnreachableURLFromRequest:]):
        treat delegateIsHandlingUnimplementablePolicy like delegateIsDecidingNavigationPolicy.
        Safari serves up error pages during the latter but clients are equally or more likely
        to do so during the former.
        (-[WebFrame _handleUnimplementablePolicyWithErrorCode:forURL:]):
        set delegateIsHandlingUnimplementablePolicy during delegate callback
        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
        tweaked assertion so it doesn't erroneously fire for clients that call
        loadAlternateHTML:baseURL:forUnreachableURL: while processing
        webView:unableToImplementPolicyWithError:

2004-03-11  Chris Blumenberg  <cblu@apple.com>

        Made WebArchive a class instead of a data object. This allows clients to easily get the main resource and subresources from a WebArchive.

        Reviewed by kocienda.

        * WebKit.exp:
        * WebView.subproj/WebDocumentPrivate.h:
        * WebView.subproj/WebFrame.m:
        (-[WebFrame loadWebArchive:]):
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebHTMLRepresentation.m:
        (-[WebHTMLRepresentation loadWebArchive]):
        (-[WebHTMLRepresentation _webArchiveWithMarkupString:subresourceURLStrings:]):
        (-[WebHTMLRepresentation webArchiveFromNode:]):
        (-[WebHTMLRepresentation webArchiveFromRange:]):
        * WebView.subproj/WebHTMLRepresentationPrivate.h:
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _selectedWebArchive:]):
        (-[WebHTMLView _writeSelectionToPasteboard:]):
        (-[WebHTMLView _pasteMarkupFromPasteboard:]):
        * WebView.subproj/WebResource.h:
        * WebView.subproj/WebResource.m:
        (-[WebArchivePrivate dealloc]):
        (-[WebResource _response]):
        (-[WebArchive init]):
        (-[WebArchive initWithMainResource:subresources:]):
        (-[WebArchive initWithData:]):
        (-[WebArchive dealloc]):
        (-[WebArchive mainResource]):
        (-[WebArchive subresources]):
        (-[WebArchive dataRepresentation]):
        * WebView.subproj/WebResourcePrivate.h:

2004-03-10  Chris Blumenberg  <cblu@apple.com>

        Made dragging of web archives work.

        Reviewed by rjw.

        * English.lproj/StringsNotToBeLocalized.txt: updated
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient connection:didReceiveResponse:]): added a FIXME about working around old Foundations that don't know about web archive files
        * WebView.subproj/WebView.m:
        (+[WebView canShowFile:]): tweak
        (+[WebView suggestedFileExtensionForMIMEType:]): tweak
        (+[WebView _MIMETypeForFile:]): handle web archive files since Foundation may be too old to know about them

2004-03-09  Chris Blumenberg  <cblu@apple.com>

        Made web archives use NSPropertyListBinaryFormat_v1_0 instead of NSPropertyListXMLFormat_v1_0 because NSPropertyListBinaryFormat_v1_0 is 3-5 times faster to serialize and parse.

        Reviewed by rjw.

        * WebView.subproj/WebResource.m:
        (+[WebResource _parseWebArchive:mainResource:subresources:]): add timing code
        (+[WebResource _webArchiveWithMainResource:subresources:]): add timing code, use NSPropertyListBinaryFormat_v1_0

2004-03-09  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3577508>: API: web archive related API's
        Implemented WebKit side of: <rdar://problem/3144033>: ability to save web sites (images and all)

        Reviewed by rjw.

        * WebCoreSupport.subproj/WebBridge.h:
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge receivedData:textEncodingName:]): renamed to take a textEncodingName instead of data source. The data source argument is only needed for the textEncodingName.
        * WebKit.exp:
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _subresourcesDictionary]): new
        (+[WebDataSource _repTypesAllowImageTypeOmission:]): include "application/x-webarchive"
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebDocumentInternal.h:
        * WebView.subproj/WebDocumentPrivate.h:
        * WebView.subproj/WebFrame.m:
        (-[WebFrame loadWebArchive:]): renamed, code factored out to [WebResource _parseWebArchive:mainResource:subresources:]
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebFrameView.m:
        (+[WebFrameView _viewTypesAllowImageTypeOmission:]): include "application/x-webarchive"
        * WebView.subproj/WebHTMLRepresentation.h:
        * WebView.subproj/WebHTMLRepresentation.m:
        (-[WebHTMLRepresentationPrivate dealloc]):
        (-[WebHTMLRepresentation _isDisplayingWebArchive]): new
        (-[WebHTMLRepresentation receivedData:withDataSource:]): don't feed data to WebCore if we're displaying a web archive since web archive can't be progressively loaded
        (-[WebHTMLRepresentation loadWebArchive]): new, feeds web archive data to WebCore
        (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): call loadWebArchive if necessary
        (-[WebHTMLRepresentation documentSource]): if displaying a web archive, return the HTML source from within the archive
        (-[WebHTMLRepresentation _webArchiveWithMarkupString:subresourceURLStrings:]): new
        (-[WebHTMLRepresentation markupStringFromNode:]): implementation of new API
        (-[WebHTMLRepresentation markupStringFromRange:]): ditto
        (-[WebHTMLRepresentation webArchiveFromNode:]): ditto
        (-[WebHTMLRepresentation webArchiveFromRange:]): ditto
        * WebView.subproj/WebHTMLRepresentationPrivate.h:
        * WebView.subproj/WebHTMLView.m:
        (+[WebHTMLView _selectionPasteboardTypes]): use renamed WebArchivePboardType
        (-[WebHTMLView _selectedWebArchive:]): renamed, call renamed methods
        (-[WebHTMLView _writeSelectionToPasteboard:]): call renamed methods
        (-[WebHTMLView _haveSelection]): indentation tweak
        (-[WebHTMLView _canDelete]): ditto
        (-[WebHTMLView _canPaste]): ditto
        (-[WebHTMLView _pasteMarkupFromPasteboard:]): renamed, call [WebResource _webArchiveWithMainResource:subresources:]
        (-[WebHTMLView initWithFrame:]): use renamed WebArchivePboardType
        (-[WebHTMLView paste:]): call renamed _pasteMarkupFromPasteboard
        (-[WebHTMLView concludeDragOperation:]): call renamed _pasteMarkupFromPasteboard
        * WebView.subproj/WebHTMLViewPrivate.h:
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient connection:didReceiveResponse:]): modify the MIME type for web archives since Foundation is not yet web archive aware. This is ifdef'd pre-Tiger code.
        * WebView.subproj/WebResource.h:
        * WebView.subproj/WebResource.m:
        (+[WebResource _parseWebArchive:mainResource:subresources:]): new
        (+[WebResource _webArchiveWithMainResource:subresources:]): new
        * WebView.subproj/WebResourcePrivate.h:

2004-03-09  John Sullivan  <sullivan@apple.com>

        - fixed the following bugs:
        <rdar://problem/3579715>: Going to an error page in back/forward list doesn't work 
        correctly in some cases
        <rdar://problem/3581031>: REGRESSION (130+): World Leak of WebFrame after trying 
        to load page with unknown scheme

        Reviewed by Darin.

        * WebView.subproj/WebDataSourcePrivate.h:
        renamed __setRequest -> __adoptRequest
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _URLForHistory]): 
        updated comment
        (-[WebDataSource __adoptRequest:]):
        Renamed from __setRequest; now takes an NSMutableURLRequest and uses it as-is.
        (-[WebDataSource _setRequest:]):
        now saves a mutable copy, instead of relying on the caller to do so. The
        (only) caller wasn't doing so in all cases, leading to trouble in River City.
        Also, special-case unreachable URL handling to allow alternate content to 
        replace a URL in a redirect-like way without sending a redirect callback.
        
        * WebView.subproj/WebFrame.m:
        (-[WebFrame loadAlternateHTMLString:baseURL:forUnreachableURL:]):
        renamed after discussion with Richard (was loadPlaceholderHTMLString:baseURL:unreachableURL:)
        (-[WebFrame _shouldReloadToHandleUnreachableURLFromRequest:]):
        new helper method, returns YES only if we receive a load request for alternate
        content from a delegate for an unreachable URL while we are going back or forward.
        That's a lot of prepositions!
        (-[WebFrame _loadRequest:subresources:]):
        if _shouldReloadToHandleUnreachableURLFromRequest: returns YES, change load type
        to WebFrameLoadTypeReload so b/f list is preserved appropriately.
        (-[WebFrame _transitionToCommitted:]):
        Update currentItem in the unreachableURL case.
        (-[WebFrame _isLoadComplete]):
        Don't reset b/f list before calling provisionalLoadDidFail delegate; instead, determine 
        where to reset b/f list beforehand, and then actually reset list afterwards only if we 
        didn't start an alternate content load in the delegate. Also, set new boolean ivar so we
        know when we're processing a provisionalLoadDidFail delegate callback.
        (-[WebFrame _loadItem:withLoadType:]):
        don't make extra copy before calling __adoptRequest; just pass it the one we made here.
        (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]):
        If we're loading alternate content for an unreachableURL, don't ask the decision listener,
        just do it. (This avoids problem with nested calls to checking the navigation policy that
        led to a WebFrame leak, and is conceptually the right thing to do also.) Also added some
        asserts that helped me track down the WebFrame leak. Set new boolean ivar so we know
        when we're processing a navigation policy delegate decision.
        (-[WebFrame _currentBackForwardListItemToResetTo]):
        new method, replaces _resetBackForwardListToCurrent. Does the same test as the
        latter but returns a boolean rather than actually resetting.
        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
        save dataSource in a local var before calling stopLoading, and use it for
        _setProvisionalDataSource, because otherwise stopLoading was clobbering the dataSource
        for an unreachable URL handling case.
        
        * WebView.subproj/WebFramePrivate.h:
        two new boolean ivars
        
        * WebView.subproj/WebView.m:
        (+[WebView _canHandleRequest:]):
        return YES when we're loading alternate content for an unreachable URL

=== Safari-131 ===

2004-03-08  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        * WebKit.pbproj/project.pbxproj: Added CFBundleName to Info.plist

2004-03-05  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3560132>: REGRESSION: Safari crashed in -[NSPasteboard setData:forType:] dragging a map out of Mapquest.com

        Reviewed by john.

        * Misc.subproj/WebNSPasteboardExtras.m:
        (-[NSPasteboard _web_writeImage:URL:title:fileWrapper:HTMLString:]): declare the pboard types by calling _web_writeURL:::: before calling setData::

2004-03-05  John Sullivan  <sullivan@apple.com>

        First cut at WebKit support for showing error pages for unreachable URLs.
        This doesn't work quite right with the back/forward list yet, but is
        good enough for demos.

        Reviewed by Darin.

        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate didReceiveResponse:]):
        use new _webDataRequextExternalURL to share code
        
        * WebView.subproj/WebDataProtocol.h:
        Three new methods (all internal to WebKit):
        -[NSURLRequest _webDataRequestUnreachableURL], -[NSURLRequest _webDataRequestExternalURL],
        -[NSURLRequest _webDataRequestSetUnreachableURL]
        * WebView.subproj/WebDataProtocol.m:
        new unreachableURL field of WebDataRequestParameters
        (-[WebDataRequestParameters copyWithZone:]):
        copy new field
        (-[WebDataRequestParameters dealloc]):
        release new field
        (-[NSURLRequest _webDataRequestUnreachableURL]):
        read new field
        (-[NSURLRequest _webDataRequestExternalURL]):
        new method, returns baseURL or "about:blank" for webdata protocol requests. This
        was done in multiple places previously.
        (-[NSURLRequest _webDataRequestExternalRequest]):
        now calls _webDataRequestExternalURL to share code
        (-[NSMutableURLRequest _webDataRequestSetUnreachableURL:]):
        write new field
        
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource unreachableURL]):
        new method, might become API; returns the unreachable URL, if any, for which this datasource
        holds placeholder content
        (-[WebDataSource _URLForHistory]):
        new method, returns the URL to be stored in History for this dataSource. This returns nil
        for run-of-the-mill WebDataProtocol URLs (replacing code elsewhere that checked for this
        case) but returns the unreachableURL for the case where this datasource holds placeholder
        content.
        (-[WebDataSource _setTitle:]):
        now calls _URLForHistory
        
        * WebView.subproj/WebDataSourcePrivate.h:
        added unreachableURL in the should-become-API section, and _URLForHistory elsewhere
        
        * WebView.subproj/WebFrame.m:
        (-[WebFrame loadPlaceholderHTMLString:baseURL:unreachableURL:]):
        new should-become-API method for displaying an error page for an unreachable URL
        (-[WebFrame loadPropertyList:]):
        updated to pass nil for unreachableURL
        (-[WebFrame _webDataRequestForData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
        added unreachableURL parameter, which gets set on the data request
        (-[WebFrame _addBackForwardItemClippedAtTarget:]):
        use _URLForHistory instead of just checking for WebDataProtocol
        (-[WebFrame _createItem:]):
        use unreachableURL if there is one
        (-[WebFrame _transitionToCommitted:]):
        use _URLForHistory instead of just checking for WebDataProtocol
        (-[WebFrame _isLoadComplete]):
        check whether a new load has started in the delegate callback and if so, don't
        reset the loading state here
        (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
        added unreachableURL parameter, which gets passed through
        (-[WebFrame loadData:MIMEType:textEncodingName:baseURL:]):
        send nil unreachableURL parameter
        (-[WebFrame _loadHTMLString:baseURL:unreachableURL:]):
        new bottleneck method for loadHTMLString:baseURL: and loadPlaceholderHTMLString:baseURL:unreachableURL:;
        this is the guts of loadHTMLString:baseURL: with the new unreachableURL parameter passed through
        (-[WebFrame loadHTMLString:baseURL:]):
        now calls new bottleneck method
        
        * WebView.subproj/WebFramePrivate.h:
        added loadPlaceholderString:baseURL:unreachableURL: to should-be-API section; added unreachableURL
        parameter to _webDataRequestForData:MIMEType:textEncodingName:baseURL:

2004-03-04  Chris Blumenberg  <cblu@apple.com>

        - Made image dragging and copying always work without needing to re-download by using the data source's WebResource of the image instead of relying on the Foundation cache.
        - Fixed a "drag to self" problem I introduced in my last check-in. You could drag a URL from a WebHTMLView and drop it on its own WebView which we shouldn't allow.

        Reviewed by rjw.

        * ChangeLog:
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge fileWrapperForURL:]): call _fileWrapperForURL on WebDataSource
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _fileWrapperForURL:]): moved from WebView, creates a wrapper from a WebResource
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultUIDelegate copyImageToClipboard:]): call [WebDataSource _fileWrapperForURL:]
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _handleMouseDragged:]): call [WebDataSource _fileWrapperForURL:]
        (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): call [WebDataSource _fileWrapperForURL:]
        (-[WebHTMLView _dragOperationForDraggingInfo:]): new, factored out from draggingUpdated:
        (-[WebHTMLView draggingEntered:]): call _dragOperationForDraggingInfo:, if NSDragOperationNone, forward to WebView to it can handle the drag
        (-[WebHTMLView draggingUpdated:]): ditto
        (-[WebHTMLView concludeDragOperation:]): ditto
        * WebView.subproj/WebResource.m:
        (-[WebResource _fileWrapperRepresentation]): new
        * WebView.subproj/WebResourcePrivate.h:
        * WebView.subproj/WebView.m:
        (-[WebViewPrivate dealloc]): release draggedTypes, a new ivar that keeps track of drag types that we're currently registered for
        (-[WebView _setDraggedTypes:]): new
        (-[WebView unregisterDraggedTypes]): new, calls _setDraggedTypes then super
        (-[WebView registerForDraggedTypes:]): ditto 
        (-[WebView _dragOperationForDraggingInfo:]): new, compares the types on the pasteboard against the types we are currently registered for. Normally the AppKit handles this for us, but since these messages can be forwarded from WebHTMLView, we need to do this comparison ourselves. 
        (-[WebView draggingEntered:]): calls _dragOperationForDraggingInfo:
        (-[WebView draggingUpdated:]): ditto
        (-[WebView concludeDragOperation:]): ditto
        * WebView.subproj/WebViewPrivate.h: define new draggedTypes ivar

2004-03-03  Chris Blumenberg  <cblu@apple.com>

        Fixed a typo.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView concludeDragOperation:]):

2004-03-03  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3576070>: REGRESSION: web view won't accept drag of webloc file

        Reviewed by rjw.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView draggingUpdated:]): if we're not handling the drag, forward this message to the WebView since it may want to handle it
        (-[WebHTMLView concludeDragOperation:]): if we're not handling the drag, forward this message to the WebView since it may want to handle it

2004-03-03  Darin Adler  <darin@apple.com>

        Reviewed by Vicki.

        * English.lproj/InfoPlist.strings: Removed. No need to localize the version and
        copyright string, and that's all that was in here.
        * WebKit.pbproj/project.pbxproj: Removed InfoPlist.strings from build.

2004-03-03  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Chris

        * copy-webcore-files-to-webkit: Fixed up this script so that
        it does not fail if it is running "non-locally", like for
        B&I. The idiom is to check these files into WebKit after
        copying them from WebCore, hence this script is merely
        a convenience to keep the files in sync.

2004-03-02  Ken Kocienda  <kocienda@apple.com>

        Reviewed by me

        * DOM.subproj/DOM.h: Checked in header copied over
        from WebCore.

2004-03-02  Richard Williamson   <rjw@apple.com>

        Added WebJavaScriptObject API.  The location of this file may
        change.

        Reviewed by Chris.

        * Plugins.subproj/NP_objc.h: Added.
        * WebKit.pbproj/project.pbxproj:

2004-03-02  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3575598>: REGRESSION: Safari crashes at IS&T website

        Reviewed by darin.

        * WebView.subproj/WebDataSource.m:
        (-[WebDataSourcePrivate dealloc]): don't stop the icon loader here because that can cause an infinite loop
        (-[WebDataSource _stopLoadingInternal]): always stop the icon loader here instead of just when the data source is loading as well.

=== Safari-130 ===

2004-03-02  Ken Kocienda  <kocienda@apple.com>

        Reviewed by me

        * DOM.subproj/DOM.h: Rollout last night's checkin.
        The tree was closed.

2004-03-01  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3574979>: REGRESSION (129-TOT): crash loading macromedia.com

        deliverResource was being called after it had already been called in setDefersCallbacks:.

        Reviewed by rjw.

        * WebView.subproj/WebBaseResourceHandleDelegate.h:
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate deliverResource]): set deliveredResource to YES
        (-[WebBaseResourceHandleDelegate deliverResourceAfterDelay]): new, calls deliverResource after a delay
        (-[WebBaseResourceHandleDelegate loadWithRequest:]): call deliverResourceAfterDelay
        (-[WebBaseResourceHandleDelegate setDefersCallbacks:]): call deliverResourceAfterDelay

2004-03-01  Ken Kocienda  <kocienda@apple.com>

        Reviewed by me

        * DOM.subproj/DOM.h: Checked in header copied over
        from WebCore.

2004-03-01  Ken Kocienda  <kocienda@apple.com>

        Reviewed by me

        * DOM.subproj/DOM.h: Oh, it's like the Keystone Cops this afternoon...
        Backed out an unintended change to thsi file.

2004-03-01  Ken Kocienda  <kocienda@apple.com>

        Reviewed by me

        * copy-webcore-files-to-webkit: Dumb typing error on my part in making
        my previous quick fix. This quick fix works. 

2004-03-01  Chris Blumenberg  <cblu@apple.com>

        Updated the WebKit project file to 1.1 because a previous check-in reverted to 1.01.

        * WebKit.pbproj/project.pbxproj:

2004-03-01  Ken Kocienda  <kocienda@apple.com>

        Reviewed by me

        * copy-webcore-files-to-webkit: Made this file buildit-compliant

2004-03-01  Chris Blumenberg  <cblu@apple.com>

        Found a bug in my last check-in. If a load that originates from a WebResource is cancelled before the data from the WebResource is delivered, callbacks are sent anyway. 

        Reviewed by rjw.

        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate cancelWithError:]): cancel the perform request for deliverResource

2004-03-01  Chris Blumenberg  <cblu@apple.com>

        Reviewed by darin.

        * Misc.subproj/WebIconLoader.m:
        (-[WebIconLoader didFinishLoading]): rejigger handle code to avoid Deployment failure
        * WebKit.pbproj/project.pbxproj:

2004-03-01  Chris Blumenberg  <cblu@apple.com>

        - Made WebResource loading not use Foundation at all. This allows "Mail Page" and paste to more directly load subresources without any indirection involving NSURLConnection and the Foundation cache.
        - Made WebIconLoader a subclass of WebBaseResourceHandleDelegate. This makes favicons appear in the activity window among other things.

        Reviewed by kocienda.

        * Misc.subproj/WebIconLoader.h:
        * Misc.subproj/WebIconLoader.m: removed connection and data ivars since WebBaseResourceHandleDelegate holds these 
        (-[WebIconLoaderPrivate dealloc]): removed calls to deleted ivars
        (-[WebIconLoader URL]): call renamed request ivar
        (-[WebIconLoader startLoading]): call loadWithRequest
        (-[WebIconLoader stopLoading]): call cancel
        (-[WebIconLoader didFinishLoading]):
        * Plugins.subproj/WebNetscapePluginStream.m:
        (-[WebNetscapePluginConnectionDelegate didReceiveResponse:]): renamed to be connection-less since callbacks may came from a WebResource and not an NSURLConnection
        (-[WebNetscapePluginConnectionDelegate didReceiveData:lengthReceived:]): ditto
        (-[WebNetscapePluginConnectionDelegate didFinishLoading]): ditto
        (-[WebNetscapePluginConnectionDelegate didFailWithError:]): ditto
        * WebCoreSupport.subproj/WebSubresourceClient.m:
        (-[WebSubresourceClient didReceiveResponse:]): ditto
        (-[WebSubresourceClient didReceiveData:lengthReceived:]): ditto
        (-[WebSubresourceClient didFinishLoading]): ditto
        (-[WebSubresourceClient didFailWithError:]): ditto
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebBaseResourceHandleDelegate.h:
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate loadWithRequest:]): instead of storing the resource in the Foundation cache in order to later load it from the cache, deliver the callbacks ourselves after a delay
        (-[WebBaseResourceHandleDelegate setDefersCallbacks:]): call deliverResource if callbacks are turned back on
        (-[WebBaseResourceHandleDelegate deliverResource]): new, calls didReceiveResponse:, didReceiveData:lengthReceived:, and didFinishLoading
        (-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]): renamed to be connection-less since callbacks may came from a WebResource and not an NSURLConnection
        (-[WebBaseResourceHandleDelegate didReceiveAuthenticationChallenge:]): ditto
        (-[WebBaseResourceHandleDelegate didCancelAuthenticationChallenge:]): ditto
        (-[WebBaseResourceHandleDelegate didReceiveResponse:]): ditto
        (-[WebBaseResourceHandleDelegate didReceiveData:lengthReceived:]): ditto
        (-[WebBaseResourceHandleDelegate didFinishLoading]): ditto
        (-[WebBaseResourceHandleDelegate didFailWithError:]): ditto
        (-[WebBaseResourceHandleDelegate willCacheResponse:]): ditto
        (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]): calls connection-less version of this method
        (-[WebBaseResourceHandleDelegate connection:didReceiveAuthenticationChallenge:]): ditto
        (-[WebBaseResourceHandleDelegate connection:didCancelAuthenticationChallenge:]): ditto
        (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]): ditto
        (-[WebBaseResourceHandleDelegate connection:didReceiveData:lengthReceived:]): ditto
        (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]): ditto
        (-[WebBaseResourceHandleDelegate connection:didFailWithError:]): ditto
        (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]): ditto
        (-[WebBaseResourceHandleDelegate cancelWithError:]): call renamed _completeProgressForConnectionDelegate on WebView
        (-[WebBaseResourceHandleDelegate cancelledError]): tweak
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _loadIcon]): set the data source on the icon loader so it can callback
        * WebView.subproj/WebResource.m:
        (-[WebResource _response]): new, factored out from _cachedResponseRepresentation
        (-[WebResource _cachedResponseRepresentation]): call _response
        * WebView.subproj/WebResourcePrivate.h:
        * WebView.subproj/WebView.m:
        (-[WebView _incrementProgressForConnectionDelegate:response:]): renamed to be connection-less
        (-[WebView _incrementProgressForConnectionDelegate:data:]): ditto
        (-[WebView _completeProgressForConnectionDelegate:]): ditto
        * WebView.subproj/WebViewPrivate.h:

2004-03-01  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin
        
        Changed all Objective-C DOM classes from protocols to classes. 

        * DOM.subproj/DOM-compat.h:
        * DOM.subproj/DOM.h:
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge loadURL:referrer:reload:onLoadEvent:target:triggeringEvent:form:formValues:]):
        (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
        * WebView.subproj/WebFormDelegate.h:
        * WebView.subproj/WebFormDelegate.m:
        (-[WebFormDelegate frame:sourceFrame:willSubmitForm:withValues:submissionListener:]):
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
        (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
        (-[WebFormState initWithForm:values:sourceFrame:]):
        (-[WebFormState form]):
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebHTMLRepresentation.h:
        * WebView.subproj/WebHTMLRepresentation.m:
        (-[WebHTMLRepresentation DOMDocument]):
        (-[WebHTMLRepresentation setSelectionFrom:startOffset:to:endOffset:]):
        (-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]):
        (-[WebHTMLRepresentation elementWithName:inForm:]):
        (-[WebHTMLRepresentation elementForView:]):
        (-[WebHTMLRepresentation elementDoesAutoComplete:]):
        (-[WebHTMLRepresentation elementIsPassword:]):
        (-[WebHTMLRepresentation formForElement:]):
        (-[WebHTMLRepresentation controlsInForm:]):
        (-[WebHTMLRepresentation searchForLabels:beforeElement:]):
        (-[WebHTMLRepresentation matchLabels:againstElement:]):

2004-02-27  John Sullivan  <sullivan@apple.com>

        - WebKit changes to allow performance improvements to bookmarks 

        Reviewed by Darin.

        * History.subproj/WebHistoryItemPrivate.h:
        added notificationsSuppressed/setNotificationsSuppressed, and setURLString
        * History.subproj/WebHistoryItem.m:
        (-[WebHistoryItem setNotificationsSuppressed:]):
        setter for new flag. When this flag is set, making changes to the WebHistoryItem
        will not cause WebHistoryChanged notifications to be sent. This is a big speedup
        for reading bookmarks from disk, since currently each WebBookmarkLeaf object
        keeps around a WebHistoryItem object that isn't really part of history and thus
        doesn't need to send notifications about history changing.
        (-[WebHistoryItem notificationsSuppressed]):
        getter for new flag
        (-[WebHistoryItem setURLString:]):
        new method, extracted from guts of setURL:; this allows callers (though
        currently only callers at Apple) that have a URL string in hand to set
        it directly on the WebHistoryItem rather than converting to a URL and
        back, both relatively slow operations. Also, doesn't sent a notification
        if notifications are suppressed.
        (-[WebHistoryItem setURL:]):
        now calls extracted method
        (-[WebHistoryItem setAlternateTitle:]):
        doesn't send notification if notifications are suppressed
        (-[WebHistoryItem setOriginalURLString:]):
        ditto
        (-[WebHistoryItem setTitle:]):
        ditto
        (-[WebHistoryItem _setLastVisitedTimeInterval:]):
        ditto

2004-02-26  Chris Blumenberg  <cblu@apple.com>

        WebKit side of:
        <rdar://problem/3056566>: mail a link to this page
        <rdar://problem/2961206>: implement ability to e-mail entire page

        Reviewed by john.

        * English.lproj/StringsNotToBeLocalized.txt:
        * Misc.subproj/WebIconDatabase.m:
        (-[WebIconDatabase _createFileDatabase]): tweaks
        (-[WebIconDatabase _loadIconDictionaries]): fixed an assertion failure I found in Blot. Keep the original list of icon URLs as a separate list when doing the initial clean-up so we don't over release any icons.
        (-[WebIconDatabase _updateFileDatabase]): tweaks
        (-[WebIconDatabase _setIcon:forIconURL:]): tweaks
        (-[WebIconDatabase _releaseIconForIconURLString:]): tweaks
        (-[WebIconDatabase _retainOriginalIconsOnDisk]): use the original list of icons on disk instead of the current list
        (-[WebIconDatabase _releaseOriginalIconsOnDisk]): use the original list of icons on disk instead of the current list
        * Misc.subproj/WebIconDatabasePrivate.h:
        * WebKit.exp:
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _propertyListWithData:subresourceURLStrings:]): new, code moved from [WebHTMLView _selectedPropertyList:], creates property list rep of data and subresources
        (-[WebDataSource propertyList]): does the above with all the data source data, this is what "Mail Page" uses
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebFrame.m:
        (-[WebFrame loadPropertyList:]): renamed from loadHTMLPropertyList because the property list may contain non-HTML data
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _selectedPropertyList:]): renamed, code moved to [WebDataSource _propertyListWithData:subresourceURLStrings:]
        (-[WebHTMLView _writeSelectionToPasteboard:]): call renamed _selectedPropertyList

2004-02-26  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Chris

        Updated usage of DOM SPI to use new names and conventions. 

        Unless indicated otherwise, the changes were to update protocol names for, which
        changed from using a "WebDOM" prefix to a "DOM" prefix, and changing now need 
        only include the DOM.h header from WebKit to get everything.

        * DOM.subproj/DOM-compat.h: Added. This header contains some compatibility declarations
        to work with older clients of our DOM SPI. Though this file is checked into WebKit, 
        it really lives and should be updated in WebCore. It is copied into WebKit by the build 
        system as needed.
        * DOM.subproj/DOM.h: Added. This file includes the new "guts" of the DOM SPI. As above,
        this file is checked into WebKit, it really lives and should be updated in WebCore.
        It is copied into WebKit by the build system as needed.
        * DOM.subproj/WebDOMDocument.h: Removed declarations. Now just includes DOM.h and DOM-compat.h
        * DOM.subproj/WebDOMDocument.m: Removed.
        * DOM.subproj/WebDOMElement.h: Removed declarations. Now just includes DOM.h and DOM-compat.h
        * DOM.subproj/WebDOMElement.m: Removed.
        * DOM.subproj/WebDOMNode.h: Removed declarations. Now just includes DOM.h and DOM-compat.h
        * DOM.subproj/WebDOMNode.m: Removed.
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge loadURL:referrer:reload:onLoadEvent:target:triggeringEvent:form:formValues:])
        (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:])
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        * WebView.subproj/WebFormDelegate.h:
        * WebView.subproj/WebFormDelegate.m:
        (-[WebFormDelegate frame:sourceFrame:willSubmitForm:withValues:submissionListener:])
        * WebView.subproj/WebFrame.h: Unrelated change. Removed -undoManager accessor from public header. Moved to private header.
        * WebView.subproj/WebFrame.m: 
        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:])
        (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:])
        (-[WebFrame undoManager]): Moved -undoManager accessor to private category implementation.
        (-[WebFormState initWithForm:values:sourceFrame:])
        (-[WebFormState form])
        (-[WebFrame childFrames])
        * WebView.subproj/WebFramePrivate.h: Moved in -undoManager accessor.
        * WebView.subproj/WebHTMLRepresentation.h:
        * WebView.subproj/WebHTMLRepresentation.m:
        (-[WebHTMLRepresentation DOMDocument])
        (-[WebHTMLRepresentation setSelectionFrom:startOffset:to:endOffset:])
        (-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:])
        (-[WebHTMLRepresentation elementWithName:inForm:])
        (-[WebHTMLRepresentation elementForView:])
        (-[WebHTMLRepresentation elementDoesAutoComplete:])
        (-[WebHTMLRepresentation elementIsPassword:])
        (-[WebHTMLRepresentation formForElement:])
        (-[WebHTMLRepresentation controlsInForm:])
        (-[WebHTMLRepresentation searchForLabels:beforeElement:])
        (-[WebHTMLRepresentation matchLabels:againstElement:])
        * WebView.subproj/WebHTMLView.m:
        * copy-webcore-files-to-webkit: Added. Copies DOM.h and DOM-compat.h from WebCore when they
        have been updated there.

2004-02-25  John Sullivan  <sullivan@apple.com>

        WebKit part of fix for <rdar://problem/3546370>: add a way to tab to menus, 
        checkmarks, and buttons without turning on Full Keyboard Acceess

        Reviewed by Ken.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]):
        turn on WebCoreKeyboardAccessFull bit whenever we turn on
        WebCoreKeyboardAccessTabsToLinks bit

2004-02-24  Chris Blumenberg  <cblu@apple.com>

        I forgot to add these files in my last check-in.

        * WebView.subproj/WebResource.h: Added.
        * WebView.subproj/WebResource.m: Added.
        (-[WebResourcePrivate dealloc]):
        (-[WebResource initWithData:URL:MIMEType:textEncodingName:]):
        (-[WebResource dealloc]):
        (-[WebResource data]):
        (-[WebResource URL]):
        (-[WebResource MIMEType]):
        (-[WebResource textEncodingName]):
        (+[WebResource _resourcesFromPropertyLists:]):
        (+[WebResource _propertyListsFromResources:]):
        (-[WebResource _initWithPropertyList:]):
        (-[WebResource _initWithCachedResponse:originalURL:]):
        (-[WebResource _propertyListRepresentation]):
        (-[WebResource _cachedResponseRepresentation]):
        * WebView.subproj/WebResourcePrivate.h: Added.

2004-02-24  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3565476>: design/implement new pasteboard type for HTML that includes subresources

        Reviewed by rjw.

        * Plugins.subproj/WebNetscapePluginStream.m:
        (-[WebNetscapePluginConnectionDelegate initWithStream:view:]): don't manage buffer, WebBaseResourceHandleDelegate does this now
        (-[WebNetscapePluginConnectionDelegate releaseResources]): ditto
        (-[WebNetscapePluginConnectionDelegate connection:didReceiveData:lengthReceived:]): ditto
        (-[WebNetscapePluginConnectionDelegate connectionDidFinishLoading:]): ditto
        * WebKit.exp:
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebBaseResourceHandleDelegate.h:
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate releaseResources]): release resourceData and resource
        (-[WebBaseResourceHandleDelegate loadWithRequest:]): check the dataSource for a resource, load that if we have one
        (-[WebBaseResourceHandleDelegate addData:]): new, adds data to resourceData
        (-[WebBaseResourceHandleDelegate saveResource]): new, saves data as a resource on the dataSource
        (-[WebBaseResourceHandleDelegate saveResourceWithCachedResponse:]): new, replaces the resource on the dataSource to save memory
        (-[WebBaseResourceHandleDelegate resourceData]): new
        (-[WebBaseResourceHandleDelegate connection:didReceiveData:lengthReceived:]): call addData:
        (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]): call saveResource
        (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]): new, calls saveResourceWithCachedResponse:
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSourcePrivate dealloc]): release subresources
        (-[WebDataSource subresources]): new, returns the subresources of the data source
        (-[WebDataSource subresourceForURL:]): new, returns a resource for a URL
        (-[WebDataSource addSubresource:]): new
        (-[WebDataSource addSubresources:]): new
        (-[WebDataSource _receivedData:]): added an assert
        (-[WebDataSource _setData:]): replaces the data of the data source
        (-[WebDataSource initWithRequest:]): create subresources
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebFrame.m:
        (-[WebFrame loadHTMLPropertyList:]): new, loads a frame from an HTML plist
        (-[WebFrame _webDataRequestForData:MIMEType:textEncodingName:baseURL:]): new, factored out from loadData:MIMEType:textEncodingName:baseURL:
        (-[WebFrame _loadRequest:subresources:]): new, factored out from loadRequest:, handles subresources
        (-[WebFrame loadRequest:]): now just calls _loadRequest:subresources:
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _dataSource]): new internal convenience
        (+[WebHTMLView _selectionPasteboardTypes]): renamed from _pasteboardTypes to be more precise
        (-[WebHTMLView _selectedHTMLPropertyList:]): new, constructs an HTML plist from the selection
        (-[WebHTMLView _writeSelectionToPasteboard:]): calls _selectedHTMLPropertyList to support WebHTMLPboardType
        (-[WebHTMLView _pasteHTMLFromPasteboard:]): added support for pasting WebHTMLPboardType
        (+[WebHTMLView initialize]): call renamed _selectionPasteboardTypes 
        (-[WebHTMLView initWithFrame:]): allow WebHTMLPboardType to be dragged in
        (-[WebHTMLView validRequestorForSendType:returnType:]): call renamed _selectionPasteboardTypes 
        * WebView.subproj/WebHTMLViewPrivate.h:
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient addData:]): override since the main resource does it's own buffering
        (-[WebMainResourceClient saveResource]): override to do nothing since the main resource is not saved as a subresource
        (-[WebMainResourceClient saveResourceWithCachedResponse:]): override, calls _setData on the data source to 
        (-[WebMainResourceClient connection:didReceiveData:lengthReceived:]):
        * WebView.subproj/WebResource.h: Added.
        * WebView.subproj/WebResource.m: Added. New class the represents the data, URL, MIME type and textEncodingName of a resource.
        (-[WebResourcePrivate dealloc]):
        (-[WebResource initWithData:URL:MIMEType:textEncodingName:]):
        (-[WebResource dealloc]):
        (-[WebResource data]):
        (-[WebResource URL]):
        (-[WebResource MIMEType]):
        (-[WebResource textEncodingName]):
        (-[WebResource description]):
        (+[WebResource _resourcesFromPropertyLists:]):
        (+[WebResource _propertyListsFromResources:]):
        (-[WebResource _initWithPropertyList:]):
        (-[WebResource _propertyListRepresentation]):
        (-[WebResource _initWithCachedResponse:originalURL:]):
        (-[WebResource _cachedResponseRepresentation]):
        * WebView.subproj/WebResourcePrivate.h: Added.
        * WebView.subproj/WebView.m:

=== Safari-129 ===

2004-02-20  Darin Adler <darin@apple.com>

        Reviewed by mjs.

        - fix build breakage caused by removal of kWindowNoBufferingAttribute.  

        * Carbon.subproj/CarbonWindowAdapter.m:
        (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:disableOrdering:carbon:]):
        always used a retained backing store type

2004-02-20  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3563402>: when copying HTML, relative URLs should be made absolute

        Reviewed by dave.

        * WebView.subproj/WebHTMLRepresentation.h:
        * WebView.subproj/WebHTMLRepresentation.m:
        (-[WebHTMLRepresentation HTMLString]): renamed from reconstructed source to be more analogous with other data get methods
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _writeSelectionToPasteboard:]): call renamed selectedHTML on the bridge

2004-02-19  John Sullivan  <sullivan@apple.com>

        - WebKit part of fix for <rdar://problem/3292380>: Cycle Tabs keyboard shortcut 
        (cmd-shift-arrows) conflicts with text editing

        Reviewed by Chris.

        * WebView.subproj/WebFrameView.m:
        (-[WebFrameView keyDown:]):
        If shift key is down along with an arrow key, call super rather than eating
        event since we don't handle any shifted events here.

2004-02-15  Darin Adler  <darin@apple.com>

        Reviewed by John and Don.

        - discovered that jaguar.com doesn't need spoofing any more, so removed
          the spoofing machinery entirely; if we ever have to bring it back we
          can, but I doubt we will

        * WebView.subproj/WebView.m: Removed include of WebUserAgentSpoofTable.c.
        (-[WebViewPrivate dealloc]): Release the new single userAgent rather than
        the array and userAgentOverride we used to.
        (-[WebView _preferencesChangedNotification:]): Release the single user agent,
        rather than the entire cache. Also only do it when the user agent is not
        overridden.
        (-[WebView setApplicationNameForUserAgent:]): Ditto.
        (-[WebView setCustomUserAgent:]): Set the new userAgentOverridden boolean,
        and also set userAgent itself.
        (-[WebView customUserAgent]): Return userAgent, but only if userAgentOverridden
        is true.
        (-[WebView userAgentForURL:]): Simplify, now that there's no automatic spoofing
        to do. Made even simpler by the fact that custom and computed user agents both
        share the same field now.

        * WebView.subproj/WebViewPrivate.h: Got rid of UserAgentStringType, turned the
        userAgent field into a single item instead of an array, and replaced the
        userAgentOverride field with a boolean userAgentOverridden field.

        * Makefile.am: Removed the rule to build WebUserAgentSpoofTable.c.
        * WebView.subproj/WebUserAgentSpoofTable.c: Removed.
        * WebView.subproj/WebUserAgentSpoofTable.gperf: Removed.

2004-02-15  Darin Adler  <darin@apple.com>

        Reviewed by Dave.

        * WebKit.pbproj/project.pbxproj: Tweak build styles a bit, fixing OptimizedWithSymbols,
        and removing redundant settings of things that match defaults in other build styles.

2004-02-12  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by John.

        - redo visited link history checking for a 2% speed improvement

        * History.subproj/WebHistory.m:
        (-[_WebCoreHistoryProvider containsItemForURLString:]): Removed.
        (-[_WebCoreHistoryProvider containsItemForURLLatin1:length:]): Implemented.
        For https and http URLs with empty path, add a slash. Make a CFString
        using the passed-in latin1 buffer without copying.
        (-[_WebCoreHistoryProvider containsItemForURLUnicode:length:]): Ditto
        for unicode.
        (matchLetter): New static helper function.
        (matchUnicodeLetter): Ditto.

=== Safari-128 ===

2004-02-10  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Hyatt

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge registerCommandForUndo]): Some cleanup. Cookie for events no longer needed.
        (-[WebBridge registerCommandForRedo]): Ditto.
        (-[WebBridge clearUndoRedoOperations]): Tells the Cocoa undo manager to clear
        steps targeted at the bridge.
        * WebView.subproj/WebFrame.h: Declare undo manager accessor.
        * WebView.subproj/WebFrame.m:
        (-[WebFramePrivate dealloc]): Release undo manager
        (-[WebFrame undoManager]): Allocate and return an undo manager. This helps
        undo in a browser to be per tab.
        * WebView.subproj/WebFramePrivate.h: Declare undo manager ivar.

2004-02-08  Darin Adler  <darin@apple.com>

        Reviewed by Dave.

        - fixed things seen in the profile, for a total speedup of 4% on cvs-base
        - fixed some layout regressions from my last speedup due to text measurement inconsistencies by adding
          a flag to control whether word rounding is done or not
        - fixed text measurement to be used with AppKit to match AppKit again, as it did at some point in the past

        * WebCoreSupport.subproj/WebTextRenderer.h: Remove some unused fields, and added a field to say whether we
        treat this font as fixed pitch.
        * WebCoreSupport.subproj/WebTextRenderer.m:
        (getUncachedWidth): Remove space width hack from this level. There was already a width hack up at the higher
        level for space itself, so there's not a significant speed benefit, and the higher level can make a more
        intelligent choice based on the current rounding setting since it's not cached.
        (-[WebTextRenderer _computeWidthForSpace]): Don't store so many widths; just the adjusted width we will
        actually use.
        (widthForNextCharacter): Use two different rules for when to adjust space widths, based on whether this is
        a fixed pitch font or not. Also, don't do any adjusting of space widths if applyWordRounding is false.

        * Misc.subproj/WebKitNSStringExtras.m:
        (-[NSString _web_drawAtPoint:font:textColor:]): Turn off rounding, so we get the kind of spacing AppKit would normally give.
        (-[NSString _web_widthWithFont:]): Ditto.
        * Misc.subproj/WebStringTruncator.m: (stringWidth): Ditto.

2004-02-08  Darin Adler  <darin@apple.com>

        - fixed things seen in the profile, for a total speedup of 3.7% on cvs-base

        * Misc.subproj/WebNSURLExtras.m: (-[NSURL _web_userVisibleString]): Check for "xn--" as we
        walk the string instead of in a separate call to strcasestr. Faster this way.

2004-02-07  Darin Adler  <darin@apple.com>

        * WebKit.pbproj/project.pbxproj: Get rid of the DEPLOYMENT_LOCATION and DEPLOYMENT_POSTPROCESSING
        flags that were in the Deployment build style. These were causing the need to chmod all the time
        after building WebCore successfully, and were doing us no good.

2004-02-06  Darin Adler  <darin@apple.com>

        * Resources/missing_image.tiff: Compressed with compress-tiffs; saved 15890 bytes.

=== Safari-127 ===

2004-02-05  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Hyatt

        Added so that editing can hook into Cocoa undo architecture. 

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge registerCommandForUndo:]):

2004-02-04  David Hyatt  <hyatt@apple.com>

        Fix deployment build bustage.
        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (ConsoleConnectionChangeNotifyProc):

2004-02-04  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3546028>: Safari should not give plug-ins any time, thus use 0% CPU, when not in the currently active session


        Reviewed by john.

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (+[WebBaseNetscapePluginView initialize]): observe CG changes
        (-[WebBaseNetscapePluginView addWindowObservers]): observe user switch notifications
        (-[WebBaseNetscapePluginView removeWindowObservers]): stop observing user switch notifications
        (-[WebBaseNetscapePluginView viewHasMoved:]): tweak
        (-[WebBaseNetscapePluginView windowWillClose:]): tweak 
        (-[WebBaseNetscapePluginView windowBecameKey:]): tweak
        (-[WebBaseNetscapePluginView windowResignedKey:]): tweak
        (-[WebBaseNetscapePluginView windowDidMiniaturize:]): tweak
        (-[WebBaseNetscapePluginView windowDidDeminiaturize:]): tweak
        (-[WebBaseNetscapePluginView loginWindowDidSwitchFromUser:]): new, stop null events
        (-[WebBaseNetscapePluginView loginWindowDidSwitchToUser:]): new, restart null events
        (ConsoleConnectionChangeNotifyProc): new, post user switch notifications

2004-02-02  John Sullivan  <sullivan@apple.com>

        Reviewed by Darin.

        * Misc.subproj/WebNSURLExtras.h:
        * Misc.subproj/WebNSURLExtras.m:
        (-[NSURL _web_URLWithLowercasedScheme]):
        new method, returns a URL whose scheme has been tolower'ed

        * English.lproj/StringsNotToBeLocalized.txt:
        Updated for recent changes.

2004-02-02  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3546924>: REGRESSION: dragging text or images over a WebView is jerky

        Reviewed by mjs.

        * DOM.subproj/WebDOMNode.h: added HTMLString to the protocol
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultUIDelegate copyImageToClipboard:]): get the HTML representation via the DOM node
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _handleMouseDragged:]): get the HTML representation via the DOM node
        * WebView.subproj/WebView.h: removed the HTML string element key constant
        * WebView.subproj/WebView.m: removed the HTML string element key constant

2004-02-02  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3546426>: when copying images via context menus, only some data is added to the pasteboard

        Reviewed by john.

        * Misc.subproj/WebNSPasteboardExtras.h:
        * Misc.subproj/WebNSPasteboardExtras.m:
        (-[NSPasteboard _web_writeImage:URL:title:fileWrapper:HTMLString:]): new, writes and image, URL and other optional arguments to the pasteboard
        * Misc.subproj/WebNSViewExtras.m:
        (-[NSView _web_dragImage:fileWrapper:rect:URL:title:HTMLString:event:]): factored code out to _web_writeImage, call _web_writeImage
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultUIDelegate copyImageToClipboard:]): call _web_writeImage
        * WebView.subproj/WebImageView.m:
        (-[WebImageView writeImageToPasteboard:]): call _web_writeImage

2004-02-02  Darin Adler  <darin@apple.com>

        - fixed build failure on Merlot

        * Misc.subproj/WebNSPasteboardExtras.m: Import just CoreTranslationFlavorTypeNames.h rather than all of
        ApplicationServicesPriv.h; should compile faster and avoid build failure.

2004-02-02  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3546379>: support for editing via drag & drop

        Reviewed by kocienda.

        * Misc.subproj/WebNSViewExtras.h:
        * Misc.subproj/WebNSViewExtras.m:
        (-[NSView _web_dragImage:fileWrapper:rect:URL:title:HTMLString:event:]): added a HTMLString argument so that we retain all attributes when dragging images
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _canDelete]): call renamed isSelectionEditable
        (-[WebHTMLView _canPaste]): call renamed isSelectionEditable
        (-[WebHTMLView _pasteHTMLFromPasteboard:]): new, factored out from paste:
        (-[WebHTMLView _handleMouseDragged:]): removed code that returned early if we were loading, this kind of protection is no longer needed since we now retain the view while dragging, call renamed _web_dragImage
        (-[WebHTMLView initWithFrame:]): register for drop types
        (-[WebHTMLView paste:]): call _pasteHTMLFromPasteboard
        (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]): set new isDragging BOOL to YES
        (-[WebHTMLView draggedImage:endedAt:operation:]): set new isDragging BOOL to NO
        (-[WebHTMLView draggingEntered:]): new
        (-[WebHTMLView draggingUpdated:]): new, handle caret movement during the drag
        (-[WebHTMLView prepareForDragOperation:]): new
        (-[WebHTMLView performDragOperation:]): new
        (-[WebHTMLView concludeDragOperation:]): new, paste in the drag
        * WebView.subproj/WebHTMLViewPrivate.h:
        * WebView.subproj/WebImageView.m:
        (-[WebImageView mouseDragged:]): call renamed _web_dragImage
        * WebView.subproj/WebView.h:
        * WebView.subproj/WebView.m:

=== Safari-126 ===

2004-01-30  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3536126>: REGRESSION (Merlot): WebKit dragging is in strange location

        Reviewed by kocienda.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _handleMouseDragged:]): use the proper offset when dragging text

2004-01-28  John Sullivan  <sullivan@apple.com>

        More header/footer work: refactored the header/footer code so it could
        be easily reused by other WebDocument classes; used it from WebImageView
        and WebTextView; removed the page count parameters because it's possible
        (though currently nasty, see 3543078) to determine this in the client.

        Reviewed by Dave.

        * Misc.subproj/WebNSPrintOperationExtras.h Added.
        * Misc.subproj/WebNSPrintOperationExtras.m Added.
        (-[NSPrintOperation _web_pageSetupScaleFactor]):
        new convenience method.
                
        * WebView.subproj/WebUIDelegatePrivate.h:
        Removed page index and page count parameters from delegate methods.
        
        * WebView.subproj/WebViewPrivate.h:
        New private category for header/footer printing methods so that different
        WebDocument methods can share almost all of the code.
        
        * WebView.subproj/WebView.m:
        (-[WebView _headerHeight]):
        (-[WebView _footerHeight]):
        (-[WebView _drawHeaderInRect:]):
        (-[WebView _drawFooterInRect:]):
        (-[WebView _adjustPrintingMarginsForHeaderAndFooter]):
        (-[WebView _drawHeaderAndFooter]):
        Moved all of these methods here, formerly in WebHTMLView. Removed the
        page index and page count parameters.

        * WebView.subproj/WebHTMLView.m:
        Removed all the header/footer code that's now in WebView.m, and the
        method that's now -[NSPrintOperation _web_pageSetupScaleFactor]
        (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
        call methods differently that have now been moved
        (-[WebHTMLView _scaleFactorForPrintOperation:]):
        ditto
        (-[WebHTMLView knowsPageRange:]):
        ditto
        (-[WebHTMLView drawPageBorderWithSize:]):
        now just turns around and calls -[WebView _drawHeaderAndFooter]
        
        * WebView.subproj/WebImageView.m:
        (-[WebImageView drawPageBorderWithSize:]):
        new method, just calls -[WebView _drawHeaderAndFooter]
        (-[WebImageView beginDocument]):
        now calls -[WebView _adjustPrintMarginsForHeaderAndFooter], also moved in file.
        (-[WebImageView endDocument]):
        just moved in file.

        * WebView.subproj/WebTextView.m:
        (-[WebTextView drawPageBorderWithSize:]):
        new method, just calls -[WebView _drawHeaderAndFooter]        
        (-[WebTextView knowsPageRange:]):
        overridden to call -[WebView _adjustPrintMarginsForHeaderAndFooter]
        
        * WebKit.pbproj/project.pbxproj:
        updated for added files


2004-01-28  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3197222>: need context menu items for back, forward, refresh.

        Reviewed by rjw.

        * English.lproj/Localizable.strings:
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultUIDelegate menuItemWithTag:]): added support for WebMenuItemTagGoBack, WebMenuItemTagGoForward, WebMenuItemTagStop and WebMenuItemTagReload tags
        (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): added support for Back, Forward, Stop and Reload
        * WebView.subproj/WebUIDelegate.h: added WebMenuItemTagGoBack, WebMenuItemTagGoForward, WebMenuItemTagStop and WebMenuItemTagReload tags

2004-01-27  John Sullivan  <sullivan@apple.com>

        WebKit part of fixes for:
        <rdar://problem/3123975>: ER: please list the source URL in the header 
        or footer when printing the contents of a page
        <rdar://problem/3184091>: Safari - Configurable printing header/footer
        <rdar://problem/3306826>: Please allow printing the date (as well as URL) 
        in the header or footer

        Reviewed by Dave.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _headerHeight]):
        new method, gets result from WebView's UI delegate or returns 0
        (-[WebHTMLView _footerHeight]):
        new method, gets result from WebView's UI delegate or returns 0
        (-[WebHTMLView _drawHeaderInRect:]):
        new method, gives WebView's UI delegate a chance to draw header
        (-[WebHTMLView _drawFooterInRect:]):
        new method, gives WebView's UI delegate a chance to draw footer
        (-[WebHTMLView _adjustPrintingMarginsForHeaderAndFooter]):
        new method, adds header and footer heights into page margins so
        AppKit printing code will compute and use the right area
        (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
        now calls _adjustPrintingMarginsForHeaderAndFooter if starting to print
        (-[WebHTMLView drawPageBorderWithSize:]):
        new method, computes rects for header and footer and calls new drawing methods
        
        * WebView.subproj/WebUIDelegatePrivate.h:
        add header and footer-related delegate methods

2004-01-27  Chris Blumenberg  <cblu@apple.com>

        Fixed:
        <rdar://problem/3541812>: Implement Paste menu item
        <rdar://problem/3541814>: Implement Delete menu item
        <rdar://problem/3541811>: Implement Cut menu item

        Reviewed by dave.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _haveSelection]): new, renamed from hasSelection, calls haveSelection on the bridge, quicker than generating string rep of selection
        (-[WebHTMLView _canDelete]): new
        (-[WebHTMLView _canPaste]): new
        (-[WebHTMLView takeFindStringFromSelection:]): call renamed _haveSelection
        (-[WebHTMLView cut:]): new
        (-[WebHTMLView delete:]): new
        (-[WebHTMLView paste:]): new
        (-[WebHTMLView validateUserInterfaceItem:]): updated for new methods
        (-[WebHTMLView validRequestorForSendType:returnType:]): call renamed _haveSelection
        * WebView.subproj/WebHTMLViewPrivate.h:

2004-01-27  Chris Blumenberg  <cblu@apple.com>

        Fixed build breakage.

        Reviewed by darin.

        * WebKit.pbproj/project.pbxproj: Use full path instead of -L to get at WebKitSecurity.a

2004-01-27  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3536624>: Webkit 1.2 links against SecurityNssAsn1.framework

        Reviewed by Darin.

        * WebCoreSupport.subproj/WebKeyGeneration.h: Set DISABLE_WEB_KEY_GENERATION on Merlot for now.
        Then don't include anything if that's set.
        * WebCoreSupport.subproj/WebKeyGeneration.cpp: Don't compile anything if DISABLE_WEB_KEY_GENERATION
        is set.
        * WebCoreSupport.subproj/WebKeyGenerator.m:
        (-[WebKeyGenerator signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:pageURL:]):
        Always return nil if DISABLE_WEB_KEY_GENERATION is set.
        (-[WebKeyGenerator addCertificatesToKeychainFromData:]): Always return failure if
        DISABLE_WEB_KEY_GENERATION is set.

        * WebKit.pbproj/project.pbxproj: Added shell build step to make library with security
        libraries in it. On Merlot, makes empty library. Also added library to link options.
        * WebKitSecurityDummy.c: Added. Used to make empty version of library for build on Merlot.

2004-01-26  Darin Adler  <darin@apple.com>

        * Makefile.am: Switch from pbxbuild to xcodebuild.

2004-01-26  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed <rdar://problem/3521379>: image dimensions uses lowercase x instead of multiplication sign

        * WebView.subproj/WebImageRepresentation.m: (-[WebImageRepresentation title]):
        Change string to use multiplication sign instead of x.
        * English.lproj/Localizable.strings: Updated.

2004-01-23  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Richard

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView updateShowsFirstResponder]): Renamed from updateFocusRing:
        since it is now used to kill caret blink timer.
        (-[WebHTMLView windowDidBecomeKey:]): Now calls new updateShowsFirstResponder
        method.
        (-[WebHTMLView windowDidResignKey:]): Ditto.

2004-01-22  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3537542>: support for copying HTML

        Reviewed by dave.

        * WebView.subproj/WebHTMLRepresentation.h:
        * WebView.subproj/WebHTMLRepresentation.m:
        (-[WebHTMLRepresentation reconstructedSource]): for BLOT's eventual use
        * WebView.subproj/WebHTMLView.m:
        (+[WebHTMLView _pasteboardTypes]): provide NSHTMLPboardType 
        (-[WebHTMLView _writeSelectionToPasteboard:]): add HTML to the pasteboard

2004-01-22  John Sullivan  <sullivan@apple.com>

        Reviewed by Chris.

        * English.lproj/StringsNotToBeLocalized.txt:
        brought this file back up to date

2004-01-22  Darin Adler  <darin@apple.com>

        - fixed 3536624: Webkit 1.2 links against SecurityNssAsn1.framework

        * WebKit.pbproj/project.pbxproj: Remove SecurityNssAsn1.framework from the list we link against.
        It's still included in the list for places to find headers.

=== Safari-125 ===

=== Safari-124 ===

2004-01-15  Vicki Murley  <vicki@apple.com>

        Reviewed by Darin.

        * WebKit.pbproj/project.pbxproj: Update copyright date to 2004.
        * English.lproj/InfoPlist.strings: Update copyright date to 2004.

=== Safari-122 ===

=== Safari-121 ===

2004-01-10  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed 3524906: REGRESSION (114-115): page with plug-in content never stops loading (travelking.com.tw)

        Put the plug-in streams clients into their own separate set. Now a plug-in client is not considered part
        of "loading", but it does participate in the callback deferral mechanism, which was the real goal of the
        change I made that introduced this regression. Also remove the plug-in client in one case I had missed
        before (cancel).

        * WebView.subproj/WebDataSourcePrivate.h: Added a new set of plugInStreamClients.
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSourcePrivate dealloc]): Release the set.
        (-[WebDataSource _addPlugInStreamClient:]): Added. Adds to the set.
        (-[WebDataSource _removePlugInStreamClient:]): Added. Removes from the set.
        (-[WebDataSource _defersCallbacksChanged]): Added code to loop through plugInStreamClients too.

        * Plugins.subproj/WebNetscapePluginStream.m:
        (-[WebNetscapePluginStream start]): Use _add/removePlugInStreamClient instead of _add/removeSubresourceClient.
        (-[WebNetscapePluginConnectionDelegate connectionDidFinishLoading:]): Ditto.
        (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): Ditto.
        (-[WebNetscapePluginConnectionDelegate cancelWithError:]): Override to call _removePlugInStreamClient and
        then call super.

2004-01-09  Darin Adler  <darin@apple.com>

        - rolled out most of Dave's change for 3510669 and 3515442; it is not working yet

        * WebView.subproj/WebHTMLViewPrivate.h:
        * WebView.subproj/WebHTMLView.m:

2004-01-09  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Chris.

        <rdar://problem/3514446>: cert downloaded from BofA or MIT is rejected (ACL issue on private key?)
        
        * WebCoreSupport.subproj/WebKeyGeneration.cpp:
        (createPair): Cut & paste hunk of code from Security framework.
        (Safari_SecKeyCreatePair): Ditto.
        (signedPublicKeyAndChallengeString): Instead of creating a normal ACL,
        use our hacked version of the SecKeyCreatePair call that doesn't put in
        any kind of ACL. This works around a SecureTransport bug.

2004-01-09  David Hyatt  <hyatt@apple.com>

        Fixes for 3510669 and 3515442, blank frame problems caused by WebKit's resizing not scheduling actual
        layouts via WebCore.
        Reviewed by darin

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _web_layoutIfNeededRecursive:testDirtyRect:]):
        (-[WebHTMLView initWithFrame:]):
        (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
        (-[WebHTMLView setNeedsLayout:]):
        * WebView.subproj/WebHTMLViewPrivate.h:

2004-01-09  Darin Adler  <darin@apple.com>

        Reviewed by Chris.

        - fixed 3510805: "PoolCleaner" in Carbon WebKit leads to overrelease and crash using color picker in BBEdit

        * Carbon.subproj/CarbonUtils.m: (PoolCleaner): Only do the autorelease
        pool stuff in the default run loop mode. If we're in another run loop
        mode that means we are in some Cocoa code that sets up its own autorelease
        pool; it's important that we don't release ours in that case.

2004-01-08  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by John.

        <rdar://problem/3522298>: Error on MIT's x509 certificate site

        * WebCoreSupport.subproj/WebKeyGeneration.cpp:
        (addCertificatesToKeychainFromData): Sign the freshly minted public key
        using RSA/MD5 instead of RSA/SHA-1, because MIT only supports MD5.

2004-01-08  Richard Williamson   <rjw@apple.com>

        Fixed 3524430.  This was a regression introduced when we added '-' and '?' to the word boundary detection.

        Also backed out workaround for 3521759 as it's no longer needed with correct argument passing to ATSUPositionToOffset.

        Reviewed by Hyatt.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:]):
        (widthForNextCharacter):

2004-01-08  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3522900>: REGRESSION (100-117): Java plug-in description is garbled when displaying Plug-ins.html

        Reviewed by darin.

        * Misc.subproj/WebKitNSStringExtras.h:
        * Misc.subproj/WebKitNSStringExtras.m:
        (+[NSString _web_encodingForResource:]): new method, returns the encoding for a resource handle given its file system path
        * Plugins.subproj/WebNetscapePluginPackage.m:
        (-[WebNetscapePluginPackage stringForStringListID:andIndex:]): call _web_encodingForResource when creating the NSString

=== Safari-120 ===

2004-01-06  Richard Williamson   <rjw@apple.com>

        Fixed 3513660.  Make ATSU layout and draw with integer glyph boundaries.  This fix should be removed if/when we convert WebCore to use floats for measuring/positioning (3521781).

        Reviewed by John.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer _createATSUTextLayoutForRun:]):

2004-01-05  Richard Williamson   <rjw@apple.com>

        Fix for 3514454.  Work-around added for 3521759.

        Filed 3521781 to cover deeper problem.

        Reviewed by Kocienda.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer _ATSU_drawHighlightForRun:style:atPoint:]):
        (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:]):

2003-12-22  John Sullivan  <sullivan@apple.com>

        - WebKit part of fix for <rdar://problem/3515706>: 
        REGRESSION (100-118): Web Kit printing does not honor Page Setup scale factor

        Reviewed by Darin.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _userScaleFactorForPrintOperation:]):
        new method, extracts the scale factor provided by the user in
        the Page Setup dialog
        (-[WebHTMLView _scaleFactorForPrintOperation:]):
        take user scale factor into account
        (-[WebHTMLView knowsPageRange:]):
        renamed local var scaleFactor -> totalScaleFactor for clarity;
        take user scale factor into account for print width; now assumes
        computePageRects returns autoreleased result.

        * WebKit.pbproj/project.pbxproj:
        Xcode version wars; Darin says these don't affect the build.

2003-12-21  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed a storage leak

        * WebView.subproj/WebFrame.m:
        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
        Move the release of the request out of an if statement, since it's always needed.

2003-12-19  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3515255>: Standalone image drag makes ocassionally makes 2 copies

        Reviewed by john.

        * WebKit.pbproj/project.pbxproj: Xcode 1.1 file format change
        * WebView.subproj/WebImageView.h:
        * WebView.subproj/WebImageView.m: copied double-drag protection code from WebHTMLView
        (-[WebImageView mouseDown:]): set ignoringMouseDraggedEvents to NO
        (-[WebImageView mouseDragged:]): if ignoringMouseDraggedEvents, return
        (-[WebImageView draggedImage:endedAt:operation:]): set ignoringMouseDraggedEvents to YES

=== Safari-119 ===

2003-12-18  Richard Williamson   <rjw@apple.com>

        Fixed 3511415.  We have to un-visually order visually ordered text
        before passing to ATSU.

        Reviewed by John.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (reverseCharactersInRun):
        (-[WebTextRenderer _ATSU_drawHighlightForRun:style:atPoint:]):
        (-[WebTextRenderer _ATSU_drawRun:style:atPoint:]):
        (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:]):

2003-12-17  Richard Williamson   <rjw@apple.com>

        Fixed 3503011 (really, this time).  Always use integer width for '-' and '?', as we do for spaces, to ensure
        that 'words' (as defined by out rounding hack) start on integer boundaries.

        Reviewed by John.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (widthForNextCharacter):

2003-12-17  Chris Blumenberg  <cblu@apple.com>

        Fixed:
        <rdar://problem/3393758>: REGRESSION (85-100): Flash onKeyUp event non-functional
        <rdar://problem/3479020>: REGRESSION (85-100): Safari sends plug-in key events to wrong instance of plug-in

        Reviewed by darin.

        * Plugins.subproj/WebBaseNetscapePluginView.h:
        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView sendEvent:]): set suspendKeyUpEvents to NO
        (-[WebBaseNetscapePluginView keyMessageForEvent:]): copied from CVS
        (-[WebBaseNetscapePluginView keyUp:]): if !suspendKeyUpEvents, send the keyUp event
        (-[WebBaseNetscapePluginView keyDown:]): set suspendKeyUpEvents to YES
        (-[WebBaseNetscapePluginView windowBecameKey:]): call SetUserFocusWindow

2003-12-17  Darin Adler  <darin@apple.com>

        Reviewed by Richard.

        - fixed 3513274: REGRESSION: anchor navigation within frames with "Back" is broken at tivofaq.com

        * WebView.subproj/WebDataSource.m: (-[WebDataSource _setURL:]):
        Since this method is only used when you do a fragment scroll, we need to update
        the original request as well as the request. This ensure that the fragment gets
        recorded in the history item (which goes in the back/forward history).

=== Safari-118 ===

2003-12-17  John Sullivan  <sullivan@apple.com>

        - fixed <rdar://problem/3512801>: REGRESSION (Safari 100-116): 
        Mike Hay's Magic 8-ball game ignores slow clicks

        Reviewed by Darin.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _handleAutoscrollForMouseDragged:]):
        start the autoscroll timer here, so the timer only runs when KHTML is
        handling the event.
        (-[WebHTMLView mouseDown:]):
        don't start the autoscroll timer here.

2003-12-16  Ken Kocienda  <kocienda@apple.com>

        * WebCoreSupport.subproj/WebBridge.m: ObjC runtime needs a declaration for new
        _calculatedExpiration SPI in NSURLResponse in Foundation

2003-12-16  Richard Williamson   <rjw@apple.com>

        Fixed 3512348:  Rewrote _CG_drawHighlightForRun:style:atPoint: to use width
        iterators.  Much faster, better cheaper, etc.

        Reviewed by Dave.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer _CG_drawHighlightForRun:style:atPoint:]):

2003-12-16  Richard Williamson   <rjw@apple.com>

        Fixed 3503011.  Added '-' and '?' to rounding hack.

        Reviewed by John.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (isRoundingHackCharacter):
        (widthForNextCharacter):

2003-12-16  Darin Adler  <darin@apple.com>

        Reviewed by Richard.

        - finished fix to 3109132: can't open movie file via open panel

        * WebView.subproj/WebView.m: (+[WebView _supportedFileExtensions]):
        Include all the extensions for each MIME type, not jus the preferred one.

2003-12-16  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        Fix for this bug:

        <rdar://problem/3512199>: WebBridge expiresTimeForResponse can be 
        improved to use better expiration calculations

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge expiresTimeForResponse:]): Switch to use new 
        _calculatedExpiration SPI method on NSURLResponse.

2003-12-15  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3505546>: always get keychain prompt when sending mail using cert downloaded with Safari

        Reviewed by john.

        * WebCoreSupport.subproj/WebKeyGeneration.cpp:
        (signedPublicKeyAndChallengeString): set up the SecAccessRef with "everything goes" restrictions

2003-12-14  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed 3311205: click() on a file input type form element does not work bring up the file chooser as it does in IE

        * WebCoreSupport.subproj/WebFileButton.m: (-[WebFileButton performClick]):
        Add method for clicking, now part of the WebCoreFileButton protocol.
        The rest of the fix is in WebCore.

2003-12-13  Darin Adler  <darin@apple.com>

        Fixed by Ed Voas, reviewed by me.

        - fixed 3278443: CARBON: grow box obscures scroll bar knob

        * Carbon.subproj/CarbonWindowAdapter.m: (-[CarbonWindowAdapter _growBoxRect]):
        Return the grow box so AppKit's scroll bar code will know where it is.

2003-12-12  Ken Kocienda  <kocienda@apple.com>

        * WebCoreSupport.subproj/WebKeyGeneration.cpp:
        (signedPublicKeyAndChallengeString): Fix build-bustin' typo.

2003-12-12  Chris Blumenberg  <cblu@apple.com>

        Fixed:
        <rdar://problem/3396936>: can't obtain a digital ID from Verisign, form submission fails
        <rdar://problem/3505208>: keys added to keychain from KEYGEN need better UI names

        Reviewed by rjw.

        * English.lproj/Localizable.strings:
        * WebCoreSupport.subproj/WebKeyGeneration.cpp:
        (signedPublicKeyAndChallengeString): take a key description arg and use it, take and return CFStrings, handle the empty string case
        (addCertificatesToKeychainFromData): return a WebCertificateParseResult so WB knows how to handle the cert
        * WebCoreSupport.subproj/WebKeyGeneration.h:
        * WebCoreSupport.subproj/WebKeyGenerator.h:
        * WebCoreSupport.subproj/WebKeyGenerator.m:
        (-[WebKeyGenerator signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:pageURL:]): take a page URL so we can use its host name in the key description
        * WebKit.pbproj/project.pbxproj:

2003-12-12  Vicki Murley  <vicki@apple.com>

        * WebKit.pbproj/project.pbxproj:

2003-12-12  Vicki Murley  <vicki@apple.com>

        * WebKit.pbproj/project.pbxproj:

2003-12-12  Vicki Murley  <vicki@apple.com>

        * WebKit.pbproj/project.pbxproj:

2003-12-11  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        Fix for this bug:

        <rdar://problem/3489280>: redirect via post blows cache, causing everything to get reloaded

        Now POST requests reload the main document by default, but will not reload 
        all subresources.

        * WebCoreSupport.subproj/WebSubresourceClient.m:
        (+[WebSubresourceClient startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]):
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
        Take the cache policy for subresources from the original request, rather than
        the data source's current request. 
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient _isPostOrRedirectAfterPost:redirectResponse:]): New helper.
        (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]):
        Call new helper to set the cache policy on the main resource load.

=== Safari-117 ===

2003-12-11  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        * WebCoreSupport.subproj/WebBridge.m: time_t is a signed type, so
        casting -1 to a time_t does not work to make a max value.
        We'll go with INT_MAX.

2003-12-11  Ken Kocienda  <kocienda@apple.com>

        Reviewed and C++ heavy-lifting by Darin

        Fix warnings in C++ files.

        * WebCoreSupport.subproj/WebKeyGeneration.cpp:
        (signedPublicKeyAndChallengeString): Add cast to remove warning.
        (addCertificatesToKeychainFromData): Add cast to remove warning.
        * WebKit.pbproj/project.pbxproj: Add back warnings to C++ files.
        * WebKitPrefix.h: Add define for NULL that works for C++.

2003-12-09  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin
        
        <rdar://problem/3505444>: WebCore cache does not use expiration dates on cache items
        
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge expiresTimeForResponse:]): New method. Call response
        freshness lifetime method and add it to the current time to yield
        an expiration time.

2003-12-10  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Richard.

        WebKit part of fix for:

        <rdar://problem/3487160>: Implement synchronous loading for XMLHttpRequest

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):

2003-12-10  Richard Williamson   <rjw@apple.com>

        Added method to get to the bridge from a view.  This is
        used to ultimately get the part and KJS::Window for a
        particular applet.

        Reviewed by Hyatt.

        * WebCoreSupport.subproj/WebViewFactory.m:
        (-[WebViewFactory refreshPlugins:]):
        (-[WebViewFactory bridgeForView:]):

2003-12-10  John Sullivan  <sullivan@apple.com>

        - WebKit part of fix for:
        <rdar://problem/3505231>: REGRESSION (100-114): Some sites autoscroll to bottom of page when loading

        Reviewed by Darin

        * Misc.subproj/WebNSViewExtras.h:
        * Misc.subproj/WebNSViewExtras.m:
        removed _web_scrollPointToVisible:fromView:
        
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView scrollPoint:]):
        removed call to _web_scrollPointToVisible:fromView:

2003-12-10  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3505537>: certificates downloaded from Verisign are multipart/mixed, must be parsed out

        Reviewed by kocienda.

        * WebCoreSupport.subproj/WebKeyGeneration.cpp:
        (signedPublicKeyAndChallengeString): tweak
        (addCertificateToKeychainFromData): renamed to use lowercase "c" in "keychain"
        (addCertificatesToKeychainFromData): take data instead of a path to a file
        * WebCoreSupport.subproj/WebKeyGeneration.h:
        * WebCoreSupport.subproj/WebKeyGenerator.h:
        * WebCoreSupport.subproj/WebKeyGenerator.m:
        (-[WebKeyGenerator signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:]): added temporary workaround for 3396936

2003-12-09  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3504237>: add downloaded certificates to keychain

        Reviewed by darin.

        * WebCoreSupport.subproj/WebKeyGeneration.cpp:
        (signedPublicKeyAndChallengeString):
        (addCertificateToKeyChainFromData): new
        (addCertificateToKeyChainFromFile): new
        * WebCoreSupport.subproj/WebKeyGeneration.h:
        * WebCoreSupport.subproj/WebKeyGenerator.h:
        * WebCoreSupport.subproj/WebKeyGenerator.m:
        (-[WebKeyGenerator addCertificateToKeyChainFromFileAtPath:]): new
        * WebKit.exp:
        * WebKit.pbproj/project.pbxproj: made WebKeyGenerator.h private

2003-12-09  John Sullivan  <sullivan@apple.com>

        - fixed <rdar://problem/3504907>: REGRESSION (100-116): 
        Clicking QuickTime-requiring link twice crashes (wholenote.com)

        I found the bug; Darin wrote the fix; I reviewed and tested.

        * Plugins.subproj/WebNetscapePluginPackage.m:
        (-[WebNetscapePluginPackage stringForStringListID:andIndex:]):
        Rewrote this method to not use GetIndString, because GetIndString looks
        at all open resource files and in this case was reading information from
        the wrong plugin file.

2003-12-08  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3234676>: Support for KEYGEN tag (ie 509 email certificates from www.thawte.com)

        Reviewed by mjs.

        * WebCoreSupport.subproj/WebKeyGeneration.cpp: Added.
        (gnrAddContextAttribute): new
        (gnrGetSubjPubKey): new
        (gnrNullAlgParams): new
        (gnrSign): new
        (gnrFreeCssmData): new
        (signedPublicKeyAndChallengeString): new
        * WebCoreSupport.subproj/WebKeyGeneration.h: Added.
        * WebCoreSupport.subproj/WebKeyGenerationFactory.h: Added. Renamed from WebLocalizedStringFactory.
        * WebCoreSupport.subproj/WebKeyGenerationFactory.m: Added.
        (+[WebKeyGenerationFactory createSharedFactory]): no change
        (-[WebKeyGenerationFactory dealloc]): no change
        (-[WebKeyGenerationFactory strengthMenuItemTitles]): new
        (-[WebKeyGenerationFactory signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:]): new
        * WebCoreSupport.subproj/WebLocalizedStringFactory.h: Removed.
        * WebCoreSupport.subproj/WebLocalizedStringFactory.m: Removed.
        * WebCoreSupport.subproj/WebNetscapeTemplates.cpp: Added.
        * WebCoreSupport.subproj/WebNetscapeTemplates.h: Added.
        * WebKit.pbproj/project.pbxproj:
        * WebKitPrefix.h:
        * WebView.subproj/WebFrameView.m:

2003-12-05  John Sullivan  <sullivan@apple.com>

        - fixed <rdar://problem/3491427>: REGRESSION (100-114): multi-page HTML 
        content in Mail is blank when printed

        Darin and I figured this one out.

        Reviewed by Ken.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
        Don't call setNeedsDisplay:NO when we're turning printing on, as doing so prevents
        anything from drawing in the case where this is called from 
        adjustPageHeightsNew:top:bottom:limit

2003-12-05  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed regression in small caps with substituted fonts my patch from yesterday caused
        - fixed 3463599: if Lucida font is installed, you see bad glyphs on pages that use it (advogato.org)
        - fixed storage leak if a renderer is ever deallocated (I don't think we ever do that)
        - fixed some small leaks in various error cases by adding appropriate free and dispose calls

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer dealloc]): Free the Unicode glyph map too.
        (fontContainsString): Moved inline function up here so it will be inlined.
        (-[WebTextRenderer _setupFont]): Free the glyph map and set it back to zero if we fail after
        extending the glyph map to include space. This fixes the "wrong glyph codes" bug with Lucida above.
        (-[WebTextRenderer _extendUnicodeCharacterToGlyphMapToInclude:]): Add free calls needed to avoid
        storage leaks in failure cases.
        (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]): Ditto.
        (-[WebTextRenderer _initializeATSUStyle]): Add ATSUDisposeStyle to fix storage leak.
        (freeWidthMap): Use a loop instead of recursion.
        (freeGlyphMap): Use a loop instead of recursion.
        (freeUnicodeGlyphMap): Added.
        (widthForNextCharacter): Don't use the original characters or cluster length, because the
        character may have been capitalized for use in small caps rendering. So check the character
        for <= 0xFFFF instead of looking at clusterLength, and break the character into a local array
        instead of using the original character pointer.

2003-12-04  Darin Adler  <darin@apple.com>

        Reviewed by Richard.

        - fixed 3497879: REGRESSION (100-115): all non-BMP characters (including Deseret) are broken

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:]): Bump offset by getting it from
        the iterator; don't assume we can just bump it by one each time. It would be even nicer to have
        a bit more abstraction.
        (initializeCharacterWidthIterator): Remove call to initializeCharacterShapeIterator.
        (widthForNextCharacter): Move handling of surrogate pairs (non-BMP) in here and unify it with
        the handling of BMP characters; this removes the broken code that was returning the wrong font,
        and changes us to use the code that was already doing the right thing for the surrogate pair case.
        Also get rid of the use of 0 width to mean "no glyph", which fixes the doubled glyph problem.
        Also got rid of remnants of use of the shape iterator.

        * Misc.subproj/WebUnicode.h: Remove obsolete shape iterator.
        * Misc.subproj/WebUnicode.m: Ditto.

=== Safari-116 ===

2003-12-04  Darin Adler  <darin@apple.com>

        Reviewed by Ken.

        - fixed 3498426: assertion failure in tooltip code at macosx.apple.com

        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _setToolTip:]): Work around
        the apparent bug in AppKit (3500217) that causes it to return 0 for the tool tip
        tag by using removeAllToolTips and not storing the tag at all. Besides the assertion
        failure there may also be a symptom of a "stuck" tool tip and a small memory
        leak until the window is closed.
        * WebView.subproj/WebHTMLViewPrivate.h: Remove unused toolTipTag.

2003-12-02  Chris Blumenberg  <cblu@apple.com>

        Fixed:
        <rdar://problem/3439222>: always hangs opening plain text file on a particular machine due to missing font, no UI to detect
        <rdar://problem/3492983>: Certain fonts cause Safari to hang on text/plain pages

        Reviewed by rjw.

        * WebView.subproj/WebTextView.m:
        (-[WebTextView setFixedWidthFont]): Use [[WebTextRendererFactory sharedFactory] fontWithFamilies:traits:size:] to get the font since it takes the font family which is what we store in WebPreferences and it does fallback work. Only set the font if 


non-nil is returned.

2003-11-21  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Richard.

        <rdar://problem/3487185>: implement security checks for XMLHttpRequest
        
        * WebCoreSupport.subproj/WebSubresourceClient.m:
        (-[WebSubresourceClient connection:willSendRequest:redirectResponse:]): Let
        WebCore know about redirects.

2003-12-01  Richard Williamson   <rjw@apple.com>

        Moved grungy polling code from WebKit to the JavaPlugin.

        Reviewed by Chris.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge pollForAppletInView:]):

2003-12-01  Ken Kocienda  <kocienda@apple.com>

        Reviewed by John

        Fix for this bug:

        <rdar://problem/3496873>: Move key event helper functions to WebKit

        * Misc.subproj/WebNSEventExtras.h: Add declarations for new key event
        helpers.
        * Misc.subproj/WebNSEventExtras.m:
        (-[NSEvent _web_isKeyEvent:]): Added.
        (-[NSEvent _web_isDeleteKeyEvent]): Added.
        (-[NSEvent _web_isEscapeKeyEvent]): Added.
        (-[NSEvent _web_isOptionTabKeyEvent]): Added.
        (-[NSEvent _web_isReturnOrEnterKeyEvent]): Added.
        (-[NSEvent _web_isTabKeyEvent]): Added.
        * WebKit.pbproj/project.pbxproj: Made WebNSEventExtras.h a private header
        so WebBrowser can use the new helpers.

=== Safari-115 ===

2003-11-21  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Ken.

        WebKit part of fix for:
        <rdar://problem/3487134>: Implement http request/response status and headers for XMLHttpRequest
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge startLoadingResource:withURL:customHeaders:]): Added customHeaders
        parameter.
        (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]): Ditto.
        * WebCoreSupport.subproj/WebSubresourceClient.h:
        * WebCoreSupport.subproj/WebSubresourceClient.m:
        (+[WebSubresourceClient startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]): Add the custom headers.
        (+[WebSubresourceClient startLoadingResource:withURL:customHeaders:referrer:forDataSource:]): Pass along the custom headers.
        (+[WebSubresourceClient startLoadingResource:withURL:customHeaders:postData:referrer:forDataSource:]): Pass along the custom headers.

2003-11-21  John Sullivan  <sullivan@apple.com>

        - WebKit part of fix for <rdar://problem/3333744>: Safari prints page with 
        very, very long line very, very small

        Reviewed by Ken.

        * WebView.subproj/WebHTMLView.m:
        renamed PrintingExtraWidthFactor to PrintingMinimumShrinkFactor, added
        PrintingMaximumShrinkFactor of 2.0, which matches IE
        (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
        now takes a min and max page width; passes them along to bridge
        (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
        now takes a min and max page width; passes them along to layoutTo...
        (-[WebHTMLView _scaleFactorForPrintOperation:]):
        now takes PrintingMaximumScaleFactor into account
        (-[WebHTMLView knowsPageRange:]):
        now takes PrintingMaximumScaleFactor into account

        (-[WebHTMLView layout]):
        pass 0 for maximumPageWidth when passing 0 for minimumPageWidth
        (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
        ditto
        (-[WebHTMLView _web_setPrintingModeRecursive]):
        ditto
        (-[WebHTMLView _web_clearPrintingModeRecursive]):
        ditto
        (-[WebHTMLView endDocument]):
        ditto

2003-11-20  John Sullivan  <sullivan@apple.com>

        - WebKit part of <rdar://problem/3183124>: Support page-break-before/after with a value of "always"

        Dave and I wrote and reviewed this.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _setPrinting:pageWidth:adjustViewSize:]):
        reset page rects when printing status changes
        (-[WebHTMLView _availablePaperWidthForPrintOperation:]):
        new helper method to compute paper width taking margins into account
        (-[WebHTMLView _scaleFactorForPrintOperation:]):
        new helper method to compute how much we need to shrink to fit one page across
        (-[WebHTMLView _provideTotalScaleFactorForPrintOperation:]):
        we overrode this secret internal AppKit method to make shrink-to-fit work;
        we wrote bug 3491344 about the need for this to be public.
        (-[WebHTMLView knowsPageRange:]):
        new method, computes rects and returns YES
        (-[WebHTMLView rectForPage:]):
        new method, returns rect computed above
        (-[WebHTMLView _calculatePrintHeight]):
        new method, used by knowsPageRange
        
        * WebView.subproj/WebHTMLViewPrivate.h:
        new pageRects ivar

2003-11-20  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Ken.

        - fixed 3490086 - support http post for XMLHttpRequest
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge startLoadingResource:withURL:postData:]):
        * WebCoreSupport.subproj/WebSubresourceClient.h:
        * WebCoreSupport.subproj/WebSubresourceClient.m:
        (+[WebSubresourceClient startLoadingResource:withRequest:referrer:forDataSource:]):
        (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
        (+[WebSubresourceClient startLoadingResource:withURL:postData:referrer:forDataSource:]):

2003-11-20  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3491229>: Need UI and localized strings for <KEYGEN> support

        Reviewed by john.

        * ChangeLog:
        * English.lproj/Localizable.strings:
        * WebCoreSupport.subproj/WebLocalizedStringFactory.h: Added.
        * WebCoreSupport.subproj/WebLocalizedStringFactory.m: Added.
        (+[WebLocalizedStringFactory createSharedFactory]): new
        (-[WebLocalizedStringFactory dealloc]): new
        (-[WebLocalizedStringFactory keyGenerationMenuItemTitles]): new
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebFrameView.m: call [WebLocalizedStringFactory createSharedFactory]

2003-11-20  Richard Williamson   <rjw@apple.com>

        Added spin of event loop during applet lookup poll.  This
        is necessary to allow timers and performOnMainThread: methods
        a chance to fire.  The plugin depends on these mechanisms during
        initialization.

        Reviewed by Chris.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge pollForAppletInView:]):

2003-11-20  Ken Kocienda  <kocienda@apple.com>

        John and I decided to apply the _web_ prefix to the tab key 
        event method in the extras file, but I neglected to do this
        before checking in. Fixed now.

        * Misc.subproj/WebNSEventExtras.h:
        * Misc.subproj/WebNSEventExtras.m:
        (-[NSEvent _web_isTabKeyEvent])
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView keyDown:])

2003-11-20  Ken Kocienda  <kocienda@apple.com>

        Reviewed by John

        Fix for this bug:

        <rdar://problem/3482159>: Tabbing to links gets "stuck" in "style switcher" on zeldman.com

        * Misc.subproj/WebNSEventExtras.h: Added.
        * Misc.subproj/WebNSEventExtras.m: Added.
        (-[NSEvent _isTabKeyEvent]): New helper.
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebHTMLView.m: 
        (-[WebHTMLView keyDown:]): Pass the key event to super unconditionally
        if it is a tab key. This fixes the bug.

2003-11-19  John Sullivan  <sullivan@apple.com>

        - WebKit part of fix for:
        <rdar://problem/3305671>: Web pages print with 1.25" border without regard to Page 
        Setup margin settings

        Reviewed by Dave.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView beginDocument]):
        Lay out the page into a width 25% wider than there's room for on the printed page.
        This will make pages that can fit into a thin area be scaled down a little when printed,
        which lets them fit on fewer pages. This closely matches what IE and Camino (at least)
        do; I used Google as my test page, and the Google logo is now precisely the same size
        when printed from Safari as when printed from IE. Pages that don't fit into a thin
        area are already causing the printed page to be scaled horizontally to fit, and this
        won't affect them.

2003-11-19  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3489935>: Mentioning "to Disk" in context menus such as "Download Linked File To Disk..." is redundant

        Reviewed by john.

        * English.lproj/Localizable.strings:
        * English.lproj/StringsNotToBeLocalized.txt:
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultUIDelegate menuItemWithTag:]): use "Download Linked File" and "Download Image"

2003-11-19  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3488783>: Flash at http://www.sjwilson.net/reef/ does not load photos
        Reviewed by rjw.

        * Misc.subproj/WebKitNSStringExtras.h:
        * Misc.subproj/WebKitNSStringExtras.m:
        (-[NSString _web_stringByStrippingReturnCharacters]): new
        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView requestWithURLCString:]): call _web_stringByStrippingReturnCharacters on the relative string

2003-11-19  Richard Williamson   <rjw@apple.com>

        More LiveConnect stuff.  Horrible polling hack that
        blocks main thread waiting for applet to fully initialize.

        Reviewed by Ken.

        * Plugins.subproj/WebPluginController.m:
        (-[WebPluginController addPlugin:]):
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge pollForAppletInView:]):

2003-11-19  David Hyatt  <hyatt@apple.com>

        Make updateScrollers guard non-static, so that it applies only to the view whose scrollers are being
        updated.
        Reviewed by darin

        * WebView.subproj/WebDynamicScrollBarsView.h:
        * WebView.subproj/WebDynamicScrollBarsView.m:
        (-[WebDynamicScrollBarsView reflectScrolledClipView:]):

2003-11-18  Richard Williamson   <rjw@apple.com>

        More live connect stubs.  We're getting close.

        Reviewed by Chris.

        * Plugins.subproj/WebPluginController.m:
        (-[WebPluginController addPlugin:]):
        (-[WebPluginController _delayedGetApplet:]):
        * WebView.subproj/WebView.m:
        (-[WebView _goToItem:withLoadType:]):

2003-11-17  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed 3487335: REGRESSION (112-113): "a:b" error message does not cite the URL properly

        * Misc.subproj/WebKitErrors.m:
        (+[NSError _webKitErrorWithCode:failingURL:]): Call _webKitErrorWithDomain:code:URL:.
        (+[NSError _webKitErrorWithDomain:code:URL:]): Call _web_errorWithDomain:code:URL:, instead of using
        the deprecated failingURL: flavor.
        (-[NSError _initWithPluginErrorCode:contentURLString:pluginPageURLString:pluginName:MIMEType:]):
        Change this method to call the other one.
        (-[NSError _initWithPluginErrorCode:contentURL:pluginPageURL:pluginName:MIMEType:]): Implement this one,
        and put in the NSErrorFailingURLKey, as well as the NSErrorFailingURLStringKey, to match what Foundation
        now does for other errors.

        * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]):
        Change to use the non-deprecated flavor of the NSError call above.

        * English.lproj/StringsNotToBeLocalized.txt: Updated for above changes and other recent changes.

2003-11-16  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Dave.

        WebKit part of fix for:

        <rdar://problem/3131664>: add support for the window.print() command used for "print this page" buttons
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge print]): Call delegate.
        * WebView.subproj/WebDefaultUIDelegate.m:
        (-[WebDefaultUIDelegate webViewPrint:]): Implemented (do nothing).
        * WebView.subproj/WebUIDelegatePrivate.h: Added. Add extra SPI method webViewPrint:
        for UI delegate.
        * WebKit.pbproj/project.pbxproj: Install WebUIDelegatePrivate.h as private header

2003-11-15  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixes 3457162 -- selecting text during a page load that blows the text field away causes a crash
        - fixes 3160035 -- crash or hang if you hold down a button while "go to about:blank soon" test runs
        - without causing 3484608 -- REGRESSION: Flash broken at http://www.macromedia.com/

        The WebKit part of this fix is making setDefersCallbacks: work. It had succumbed to bit rot.
        This has a side effect of not considering a page load done until all the plug-in streams are loaded.
        If that's not a good idea, we'll have to keep two separate lists in WebDataSource.

        * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate setDataSource:]):
        Set the defersCallbacks state from the WebView here so that clients don't have to do it.

        * WebView.subproj/WebDataSource.m: (-[WebDataSource _addSubresourceClient:]): Remove call to
        set the defersCallbacks state on the subresource client, because the above change obviates it.
        (the client/delegate terminology makes it confusing, but it's a subclass). Also loosen the type
        so we can call this on clients for plug-in streams too.
        (-[WebDataSource _removeSubresourceClient:]): Loosen type here too.
        (-[WebDataSource _defersCallbacksChanged]): And here.
        * WebView.subproj/WebDataSourcePrivate.h: Loosen type of subresource client so we can pass in the
        delegates for plug-in streams too.

        * WebView.subproj/WebMainResourceClient.h: Added an _initialRequest field so we can defer the very
        first callback, which does not rely on NSURLConnection.
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient dealloc]): Release the initial request.
        (-[WebMainResourceClient loadWithRequestNow:]): Moved the guts of loadWithRequest in here; to be
        used when the request is no longer deferred. Also removed the code to call setDefersCallbacks:
        on the connection, and assert that we are only called when callbacks are not deferred. Because
        the very first callback was not deferred, we would end up calling setDefersCallbacks:NO on the
        WebView, so nothing would be deferred.
        (-[WebMainResourceClient loadWithRequest:]): If callbacks are not deferred, then call the
        loadWithRequestNow: method, otherwise simply store the request in _initialRequest.
        (-[WebMainResourceClient setDefersCallbacks:]): If there is an _initialRequest and we are
        ceasing deferral of callbacks, then call the loadWithRequestNow: method.

        * Plugins.subproj/WebNetscapePluginStream.m:
        (-[WebNetscapePluginStream start]): Call _addSubresourceClient, and then _removeSubresourceClient
        if the load fails to even start.
        (-[WebNetscapePluginConnectionDelegate connectionDidFinishLoading:]): Call _removeSubresourceClient.
        (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): Call _removeSubresourceClient.

        * Plugins.subproj/WebBaseNetscapePluginStream.h: Removed unneeded import.
        * Plugins.subproj/WebPluginDatabase.m: Add import needed now that WebBaseNetscapePluginStream.h
        imports less than before.

2003-11-16  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by John.

        - fixed 3362841 - javascript History Object length property is always 0
        
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge historyLength]): Add one to the length to match other browsers.

2003-11-14  John Sullivan  <sullivan@apple.com>
        
        - WebKit part of fix for <rdar://problem/3474757>: Safari on-screen text needs review

        Reviewed by Ken.

        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultUIDelegate menuItemWithTag:]):
        change "Download Link to Disk" to "Download Linked File to Disk"

        * English.lproj/Localizable.strings:
        updated for these changes

2003-11-14  Ken Kocienda  <kocienda@apple.com>

        Reviewed by John

        Fix for this bug:

        <rdar://problem/3481701>: Crashes before loading page/no error msg
        (forums.pelicanparts.com) Works in IE and Netscape

        This fix is really a workaround for this bug:

        <rdar://problem/3484937>: Horribly malformed URL crashes when call
        is made to CFURLCopyHostName

        The fix is to avoid all usages of [NSURL host] by replacing all
        such calls with a private URL method added to WebNSURLExtras.

        I copied a number of URL methods from the private NSURL
        extras file in Foundation to the WebKit URL extras file.

        * Misc.subproj/WebNSDataExtras.h: Added. Helper for new URL extras.
        * Misc.subproj/WebNSDataExtras.m: Ditto.
        (-[NSData _web_isCaseInsensitiveEqualToCString:]): New helper.
        * Misc.subproj/WebNSURLExtras.h:
        * Misc.subproj/WebNSURLExtras.m:
        (-[NSURL _web_hasQuestionMarkOnlyQueryString]): Added.
        (-[NSURL _web_schemeSeparatorWithoutColon]): Added.
        (-[NSURL _web_dataForURLComponentType:]): Added.
        (-[NSURL _web_schemeData]): Added.
        (-[NSURL _web_hostData]): Added.
        (-[NSURL _web_hostString]): Added.
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebView.m:
        (-[WebView userAgentForURL:]): Replace call to [NSURL host] with new
        extras _web_hostString method.

=== Safari-114 ===

2003-11-14  Vicki Murley <vicki@apple.com>

        - rolled out Darin's fixes for 3457162 and 3160035, since these changes broke plugins on macromedia.com and disney.go.com

        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate setDataSource:]):
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _addSubresourceClient:]):
        * WebView.subproj/WebMainResourceClient.h:
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient dealloc]):
        (-[WebMainResourceClient loadWithRequest:]):
        (-[WebMainResourceClient setDefersCallbacks:]):

2003-11-14  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixes 3457162 -- selecting text during a page load that blows the text field away causes a crash
        - fixes 3160035 -- crash or hang if you hold down a button while "go to about:blank soon" test runs

        The WebKit part of this fix is making setDefersCallbacks: work. It had succumbed to bit rot.

        * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate setDataSource:]):
        Set the defersCallbacks state from the WebView here so that clients don't have to do it.
        * WebView.subproj/WebDataSource.m: (-[WebDataSource _addSubresourceClient:]): Remove call to
        set the defersCallbacks state on the subresource client, because the above change obviates it.
        (the client/delegate terminology makes it confusing, but it's a subclass).

        * WebView.subproj/WebMainResourceClient.h: Added an _initialRequest field so we can defer the very
        first callback, which does not rely on NSURLConnection.
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient dealloc]): Release the initial request.
        (-[WebMainResourceClient loadWithRequestNow:]): Moved the guts of loadWithRequest in here; to be
        used when the request is no longer deferred. Also removed the code to call setDefersCallbacks:
        on the connection, and assert that we are only called when callbacks are not deferred. Because
        the very first callback was not deferred, we would end up calling setDefersCallbacks:NO on the
        WebView, so nothing would be deferred.
        (-[WebMainResourceClient loadWithRequest:]): If callbacks are not deferred, then call the
        loadWithRequestNow: method, otherwise simply store the request in _initialRequest.
        (-[WebMainResourceClient setDefersCallbacks:]): If there is an _initialRequest and we are
        ceasing deferral of callbacks, then call the loadWithRequestNow: method.

2003-11-13  Ken Kocienda  <kocienda@apple.com>

        Reviewed by John

        Fix for this bug:

        <rdar://problem/3483284>: Tabbing to links needs to honor new 
        WebKit tab-to-links preference

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge dealloc]): Remove self from notification center.
        (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]): Now
        checks for WebCoreKeyboardAccessTabsToLinks preference.
        (-[WebBridge keyboardUIMode]): Adds self to notification center
        to pick up changes to WebPreferences.

2003-11-13  Ken Kocienda  <kocienda@apple.com>

        Reviewed by John

        Fix for this bug:

        <rdar://problem/3481719>: WebKit needs preference for tabbing to links

        * WebView.subproj/WebPreferences.m:
        (+[WebPreferences initialize]): Add initialization of new 
        WebKitTabToLinksPreferenceKey.
        (-[WebPreferences setTabsToLinks:]): Added preference setter.
        (-[WebPreferences tabsToLinks]): Added preference getter.
        * WebView.subproj/WebPreferencesPrivate.h: Declared new methods as
        SPI on WebPreferences.

2003-11-12  Richard Williamson   <rjw@apple.com>

        Fixed 3475082.  Remove unnecessary orderKey before showKey.

        Written by Ed Voas.

        Reviewed by Richard.

        * Carbon.subproj/CarbonWindowAdapter.m:
        (-[CarbonWindowAdapter makeKeyWindow]):

2003-11-12  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3482147>: replace _releaseFutureIconForURL assertion with a log statement

        Reviewed by rjw.

        * Misc.subproj/WebIconDatabase.m:
        (-[WebIconDatabase _releaseFutureIconForURL:]):

2003-11-10  Richard Williamson   <rjw@apple.com>

        Fixed 3478765.  Use ICU to access unicode properties.
        Fixed 3478831.  Unicode property/conversion functions should be 32 bit savvy.
        Fixed 3478885.  Remove dead arabic shaping code

        Reviewed by Darin.

        * Misc.subproj/WebUnicode.h:
        * Misc.subproj/WebUnicode.m:
        (_unicodeDigitValue):
        (_unicodeDirection):
        (_unicodeMirrored):
        (_unicodeMirroredChar):
        (_unicodeLower):
        (_unicodeUpper):
        (WebKitInitializeUnicode):
        (shapeForNextCharacter):
        (initializeCharacterShapeIterator):
        * Misc.subproj/WebUnicodeTables.m:
        * WebCoreSupport.subproj/WebTextRenderer.m:
        (widthForNextCharacter):
        (fontContainsString):

2003-11-10  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3478351>: Safari: URL Alias on Dock failed to open the 2byte URL

        Reviewed by dave.

        * Misc.subproj/WebNSURLExtras.m:
        (-[NSString _web_mapHostNameWithRange:encode:makeString:]): if the host name is percent-escaped, use CFURLCreateStringByReplacingPercentEscapes

2003-11-10  Richard Williamson   <rjw@apple.com>

        Use ICU for upper/lower conversion.  Fixed 3477157, 3478455, 3478456, 3478457, 3478486.
        Remaining issues with surrogates (3477159) and Turkish I (3478482).

        Reviewed by Ken.

        * Misc.subproj/WebUnicode.m:
        (_unicodeLower):
        (_unicodeUpper):

2003-11-07  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3240778>: add "save" menu item to contextual menu for text pages

        Reviewed by darin.

        * WebView.subproj/WebTextView.m:
        (-[WebTextView menuForEvent:]): Made WebTextView's context menu behavior like WebHTMLView's context menu behavior with regards to selection. If the control-click was on a selection, show menu options for the selection like copy. If it was not on a


 selection, show menu options such as save and print. Don't select anything when control-clicking.

2003-11-08  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3478022>: assertion failure while loading WMP content

        Reviewed by darin.

        * ChangeLog:
        * Plugins.subproj/WebNetscapePluginStream.m:
        (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): Don't continue if the stream is cancelled in startStreamWithResponse.

2003-11-07  Richard Williamson   <rjw@apple.com>

        Fixed 3477067.  Use our case unicode conversion routines.

        Reviewed by Ken.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (toUpper):

2003-11-06  Richard Williamson   <rjw@apple.com>

        Fixed 3476393.  Call scrollPoint: recursively up the view hierarchy to ensure point is visible.

        Reviewed by Ken.

        * Misc.subproj/WebNSViewExtras.h:
        * Misc.subproj/WebNSViewExtras.m:
        (-[NSView _web_scrollPointToVisible:fromView:]):
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView scrollPoint:]):

=== Safari-113 ===

2003-11-05  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed 3473913 -- host names in simple mailto URLs are not getting encoded/decoded correctly yet

        * Misc.subproj/WebNSURLExtras.m:
        (applyHostNameFunctionToMailToURLString): Handle case where host name is at the end of the string.
        (applyHostNameFunctionToURLString): Add the # character to the set of characters that can end
        a domain name.

2003-11-05  Richard Williamson   <rjw@apple.com>

        Fixed 3413067, 3405797, 3456877
        Use ATSUI to render Arabic and Hebrew.

        Reviewed by John.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (shouldUseATSU):

2003-11-05  John Sullivan  <sullivan@apple.com>

        - fixed <rdar://problem/3469791>: Bigger/Smaller commands are 
        disabled for HTML Mail in separate window (w/WebKit-111)

        Reviewed by Darin.

        * WebView.subproj/WebFrameView.m:
        (-[WebFrameView acceptsFirstResponder]):
        always be willing to become first responder, even if no page
        has yet been loaded.
        (-[WebFrameView becomeFirstResponder]):
        if no page has yet been loaded (so our scrollview refuses
        first responder-ness), don't do any special becoming-first-
        responder shenanigans.

        Also removed obsolete overrides for nextKeyView, nextValidKeyView,
        previousKeyView, and previousValidKeyView that are no longer
        required now that we handle the key loop more like NSScrollView.

        * WebView.subproj/WebFrameViewPrivate.h:
        removed now-unused ivar inNextValidKeyView

2003-11-05  Richard Williamson   <rjw@apple.com>

        Fixed 3029966.  Animated backgrounds specified in <BODY> don't animate
        Fixed 3474824.  Tiled animated GIFs don't animate.
        Fixed 3029966.  Animated backgrounds specified with CSS don't animate.

        Reviewed by Chris.

        * WebCoreSupport.subproj/WebImageRenderer.h:
        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer nextFrame:]):
        (-[WebImageRenderer drawImageInRect:fromRect:]):
        (-[WebImageRenderer startAnimationIfNecessary]):
        (-[WebImageRenderer tileInRect:fromPoint:]):
        * WebView.subproj/WebImageView.m:
        (-[WebImageView drawRect:]):

2003-11-05  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3201364>: Safari crashes when hosting carbon plug-in using drag and drop

        Reviewed by rjw.

        * WebView.subproj/WebView.m:
        (-[WebView draggingUpdated:]): return NSDragOperationNone if we're over a plug-in view so the plug-in can handle the drag

2003-11-05  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3474360>: should attempt to resolve symbolic links when choosing "Save Link As..."

        Reviewed by kocienda.

        * WebView.subproj/WebView.m:
        (-[WebView _fileWrapperForURL:]): follow sym links

2003-11-05  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        Fix for this bug:

        <rdar://problem/3455910>: hitting up or down arrows when focus 
        is on a pop-up menu should pop the menu

        * WebView.subproj/WebFrameView.m:
        (-[WebFrameView keyDown:]): Call super with the event if focus 
        is on a pop up button.

2003-11-05  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Maciej

        Fix for these bugs:

        <rdar://problem/3467558>: Cannot tab to form file input widgets
        <rdar://problem/3473631>: WebFileButton sends notifications to communicate with WebCore

        Tabbing now works for these widgets. While I was in the neighborhood,
        I improved the communication mechanism between the WebKit and WebCore
        sides of the file button implementation, replacing notifications
        with a callback object.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge fileButtonWithDelegate:]): Method now takes a 
        delegate object.
        * WebCoreSupport.subproj/WebFileButton.h:
        * WebCoreSupport.subproj/WebFileButton.m:
        (-[WebFileButton initWithBridge:delegate:]):
        (-[WebFileButton initWithFrame:]):
        (-[WebFileButton dealloc]):
        (-[WebFileButton chooseFilename:]): Sends callback rather than posting
        a notification.
        (-[WebFileButton chooseButtonPressed:]): Ditto.
        (-[WebFileButton mouseDown:]):
        (-[WebFileButton acceptsFirstResponder]):
        (-[WebFileButton becomeFirstResponder]): Make the button subview
        first responder.
        (-[WebFileButton nextKeyView]): Hook up to WebBridge key view machinery.
        (-[WebFileButton previousKeyView]): Ditto.
        (-[WebFileButton nextValidKeyView]): Ditto.
        (-[WebFileButton previousValidKeyView]): Ditto.
        (-[WebFileChooserButton initWithDelegate:]):
        (-[WebFileChooserButton nextValidKeyView]): Ditto.
        (-[WebFileChooserButton previousValidKeyView]): Ditto.
        (-[WebFileChooserButton resignFirstResponder]): Sends a focus change 
        callback.

2003-11-04  Darin Adler  <darin@apple.com>

        Reviewed by John, except for one bit reviewed by Maciej.

        - first step for IDNA support; helper functions for Safari

        * Misc.subproj/WebNSURLExtras.h: Add six new methods to manipulate host names directly.
        * Misc.subproj/WebNSURLExtras.m:
        (applyHostNameFunctionToMailToURLString): Added. Finds host names within a mailto URL.
        (applyHostNameFunctionToURLString): Added. Finds host names within a URL.
        (collectRangesThatNeedMapping): Added. Builds a list of host name ranges that need mapping.
        (collectRangesThatNeedEncoding): Added. Calls the above for encoding.
        (collectRangesThatNeedDecoding): Added. Calls the above for decoding.
        (mapHostNames): Added. Helper function that does the entire mapping process for a URL.
        (+[NSURL _web_URLWithUserTypedString:]): Call mapHostNames to encode after trimming whitespace.
        (-[NSURL _web_userVisibleString]): Call mapHostNames to decode after decoding escape sequences.
        (-[NSURL _webkit_URLByRemovingFragment]): Removed unneeded redundant NULL check.
        (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Added. Workhorse function to call
        the IDN functions in the Unicode library.
        (-[NSString _web_hostNameNeedsDecodingWithRange:]): Added.
        (-[NSString _web_hostNameNeedsEncodingWithRange:]): Added.
        (-[NSString _web_decodeHostNameWithRange:]): Added.
        (-[NSString _web_encodeHostNameWithRange:]): Added.
        (-[NSString _web_decodeHostName]): Added.
        (-[NSString _web_encodeHostName]): Added.

        * WebKit.pbproj/project.pbxproj: Added libicucore.dylib.
        * English.lproj/StringsNotToBeLocalized.txt: Updated for above changes.

2003-11-04  John Sullivan  <sullivan@apple.com>

        - a little optimization I noticed when looking at 3125137

        Reviewed by Chris.

        * Misc.subproj/WebStringTruncator.m:
        (truncateString):
        if incoming string has length 0, bail out right away

2003-11-04  Chris Blumenberg  <cblu@apple.com>

        Fixed:
        <rdar://problem/3472403>: RTFD of copied text and images should use original image data not tiffs
        <rdar://problem/3472435>: dragging local image file downloads it instead of copies it
        <rdar://problem/3472450>: copied and dragged local image files are TIFF, not original image data
        Reviewed by john.

        * Misc.subproj/WebNSPasteboardExtras.h:
        * Misc.subproj/WebNSPasteboardExtras.m:
        (-[NSPasteboard _web_writeFileWrapperAsRTFDAttachment:]): new
        * Misc.subproj/WebNSViewExtras.h:
        * Misc.subproj/WebNSViewExtras.m:
        (-[NSView _web_dragImage:fileWrapper:rect:URL:title:event:]): take a file wrapper instead of data so [NSPasteboard _web_writeFileWrapperAsRTFDAttachment:] can be called
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge fileWrapperForURL:]): call fileWrapperForURL on the WebView
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultUIDelegate copyImageToClipboard:]): call [NSPasteboard _web_writeFileWrapperAsRTFDAttachment:]
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _handleMouseDragged:]): when calling _web_dragImage, pass a file wrapper from fileWrapperForURL
        (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): call fileWrapperForURL
        * WebView.subproj/WebImageRepresentation.h:
        * WebView.subproj/WebImageRepresentation.m:
        (-[WebImageRepresentation fileWrapper]): new
        * WebView.subproj/WebImageView.m:
        (-[WebImageView writeImageToPasteboard:]): call [NSPasteboard _web_writeFileWrapperAsRTFDAttachment:]
        (-[WebImageView mouseDragged:]): pass the file wrapper to _web_dragImage
        * WebView.subproj/WebView.m:
        (-[WebView _fileWrapperForURL:]): new, returns a file wrapper from a local file or from the cache
        * WebView.subproj/WebViewPrivate.h:

2003-11-04  John Sullivan  <sullivan@apple.com>

        - fixed <rdar://problem/3472813>: REGRESSION (100-111): Some tabs start 
        out scrolled down to focused text field

        Reviewed by Ken.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView acceptsFirstResponder]):
        The logic to avoid accepting first responder on clicks was too broad;
        it was rejecting first-responder-ness even for clicks outside of this
        view. Clicking a tab item was going through some logic in NSTabView
        looking for the first valid key view starting with the web view, but the
        web view was returning NO due to this faulty click logic. Thus the
        first subview text field was becoming first responder, and causing scroll.

2003-11-03  Chris Blumenberg  <cblu@apple.com>

        Fixed:
        <rdar://problem/3472377>: Provide NSRTFDPboardType on pasteboard when copying or dragging images
        <rdar://problem/3470809>: REGRESSION (111-112): Can't copy & paste image into Photoshop 7

        Reviewed by hyatt.

        * Misc.subproj/WebNSPasteboardExtras.h:
        * Misc.subproj/WebNSPasteboardExtras.m:
        (-[NSPasteboard _web_writeFileDataAsRTFDAttachment:withFilename:]): renamed, now writes file data as an RTF attachment
        * Misc.subproj/WebNSViewExtras.m:
        (-[NSView _web_dragImage:originalData:rect:URL:title:event:]): call renamed _web_writeFileDataAsRTFDAttachment
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultUIDelegate copyImageToClipboard:]): call renamed _web_writeFileDataAsRTFDAttachment
        * WebView.subproj/WebImageView.m:
        (-[WebImageView writeImageToPasteboard:]): call renamed _web_writeFileDataAsRTFDAttachment

2003-11-03  Vicki Murley <vicki@apple.com>

        Reviewed by kocienda.

        - fixed <rdar://problem/3471096>: non-B&I builds should not use order files, because they cause false "regressions" in perf.

        * WebKit.pbproj/project.pbxproj: added empty SECTORDER_FLAGS variables to the Development and Deployment build styles

2003-11-03  Ken Kocienda  <kocienda@apple.com>

        Reviewed by John
        
        Fix for this bug:
        
        <rdar://problem/3470342>: focus rings are shown for links in         
        web pages even in non-frontmost windows

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView updateFocusRing]): New method. Uses the "keyness"
        of the view's window to toggle focus ring drawing.
        (-[WebHTMLView windowDidBecomeKey:]): Calls updateFocusRing.
        (-[WebHTMLView windowDidResignKey:]): Ditto.

2003-11-01  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        - remove use of obsolete HTTLCookiePolicyBaseURL SPI
        
        * WebCoreSupport.subproj/WebSubresourceClient.m:
        startLoadingResource:withURL:referrer:forDataSource:]): Use
        setMainDocumentURL, not setHTTPCookiePolicyBaseURL.
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]): Likewise.
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]): Likewise.

2003-11-01  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed 3470882 -- storage leaks in WebDownload code
        - fixed 3470884 -- download is always nil in downloadWindowForAuthenticationSheet: call from WebDownload

        * Misc.subproj/WebDownload.m:
        (-[WebDownloadInternal initWithDownload:]): Removed this method, which was never called.
        (-[WebDownloadInternal dealloc]): Added missing call to [super dealloc] to fix one cause
        of a leak of the WebDownloadInternal object itself. Removed the release of webDownload,
        which was always nil, and if it wasn't would end up causing a leak due to a reference cycle.
        (-[WebDownloadInternal download:didReceiveAuthenticationChallenge:]): Remove the use of
        webDownload, which was always nil, and instead use the download parameter passed to us,
        casting it to WebDownload, since it's guaranteed to be one.
        (-[WebDownload _setRealDelegate:]): Added. Shared by the methods below to set up the real
        delegate before calling init. The old code called init twice, causing an second call to the
        superclass's init method, which caused it to create an extra copy of its internal structure,
        as well as causing us to create two WebDownloadInternal objects.
        (-[WebDownload init]): Don't allocate a second WebDownloadInternal if _setRealDelegate already
        allocated it for us. Before we would allocate and leak an extra one each time.
        (-[WebDownload dealloc]): Added. Releases the WebDownloadInternal. This is the second cause
        of the leak of the WebDownloadInternal object.
        (-[WebDownload initWithRequest:delegate:]): Call [self _setRealDelegate:] instead of calling
        [self init] and then [_webInternal setRealDelegate:], avoiding the leaks caused by doing it
        the other way.
        (-[WebDownload _initWithLoadingConnection:request:response:delegate:proxy:]): Ditto.
        (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]): Ditto.
        (-[WebDownload _initWithRequest:delegate:directory:]): Ditto.

2003-10-31  David Hyatt  <hyatt@apple.com>

        Fix for 3466542, add a real minimum font size setting.
        Reviewed by john

        * WebView.subproj/WebPreferences.h:
        * WebView.subproj/WebPreferences.m:
        (+[WebPreferences initialize]):
        (-[WebPreferences setMinimumFontSize:]):
        (-[WebPreferences minimumLogicalFontSize]):
        (-[WebPreferences setMinimumLogicalFontSize:]):
        * WebView.subproj/WebView.m:
        (-[WebView _updateWebCoreSettingsFromPreferences:]):

2003-10-31  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        Fix for this bug:

        <rdar://problem/3469088>: focus not removed from text link         
        when user hits cmd-L or clicks in window chrome

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView deselectText]): Added new method just to deselect text.
        (-[WebHTMLView resignFirstResponder]): Just deseclect text if we
        are doing a programmatic setting of focus. Deselect all otherwise.

2003-10-30  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3458368>: drawing to the screen while window hidden: http://www.bhphotovideo.com/

        Reviewed by john.

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): clip out the plug-in when the window is miniaturized or hidden
        (-[WebBaseNetscapePluginView restartNullEvents]): don't restart null events if the window is miniaturized, this allows restartNullEvents to be called in start and viewDidMoveToWindow without needing to make the check
        (-[WebBaseNetscapePluginView start]): just call restartNullEvents instead of checking if the window is miniaturized

2003-10-30  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Hyatt

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge documentView]): Added.
        * WebCoreSupport.subproj/WebGraphicsBridge.h: Added.
        * WebCoreSupport.subproj/WebGraphicsBridge.m: Added.
        (+[WebGraphicsBridge createSharedBridge]): Added.
        (-[WebGraphicsBridge setFocusRingStyle:radius:color:]): Added.
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebFrameView.m: Create a WebGraphicsBridge
        when creating a WebFrameView.

=== Safari-112 ===

2003-10-29  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        - fixed 3467632 - Leak of plugin info visiting http://www.ebay.com
        * Plugins.subproj/WebBasePluginPackage.m:
        (-[WebBasePluginPackage dealloc]): Release lastModifiedDate.

2003-10-29  Chris Blumenberg  <cblu@apple.com>

        WebKit part of fix for:
        <rdar://problem/3467744>: Photoshop files (.psd) don't show up in Open dialog in Safari, but can be viewed
        <rdar://problem/3109132>: Can't open movie file via open panel even though it can be dropped in browser window

        Reviewed by john.

        * WebView.subproj/WebView.m:
        (+[WebView _supportedMIMETypes]): new
        (+[WebView _supportedFileExtensions]): new
        * WebView.subproj/WebViewPrivate.h:

2003-10-29  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3438716>: jpg and gif images copied from Safari and placed in mail are sent as tiff

        Reviewed by john.

        * Misc.subproj/WebNSPasteboardExtras.h:
        * Misc.subproj/WebNSPasteboardExtras.m:
        (-[NSPasteboard _web_writeFileContents:withFilename:]): new
        * Misc.subproj/WebNSViewExtras.h:
        * Misc.subproj/WebNSViewExtras.m:
        (-[NSView _web_dragImage:originalData:rect:URL:title:event:]): now takes originalData and calls _web_fileContents:withFilename:
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultUIDelegate copyImageToClipboard:]): call _web_writeFileContents:withFilename:
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _handleMouseDragged:]): call renamed _web_dragImage and [WebView _cachedResponseForURL:]
        (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): call [WebView _cachedResponseForURL:]
        * WebView.subproj/WebImageView.m:
        (-[WebImageView writeImageToPasteboard:]): call _web_writeFileContents:withFilename:
        (-[WebImageView mouseDragged:]): call renamed _web_dragImage
        * WebView.subproj/WebView.m:
        (-[WebView _cachedResponseForURL:]): new
        * WebView.subproj/WebViewPrivate.h:

2003-10-28  John Sullivan  <sullivan@apple.com>

        - fixed <rdar://problem/3466082>: 7B85/111: Crash viewing web page ([WebView setNextKeyView:])

        Reviewed by Chris.

        * WebView.subproj/WebView.m:
        (-[WebView dealloc]):
        set _private to nil after releasing, because [super dealloc] can dispatch to it
        (-[WebView mainFrame]):
        fixed spelling error in comment

2003-10-28  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3465383>: REGRESSION: Text field progress bar goes to 100% after error or stop
        Reviewed by john.

        * WebView.subproj/WebFrame.m:
        (-[WebFrame _isLoadComplete]): call _progressCompleted after we deliver the didFailLoadWithError or didFinishLoadForFrame message as we do in other places. This allows to be aware of the error (if there is one), when they get the WebViewProgressFi


nishedNotification notification.

2003-10-27  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        - fixed 3083264 - frame names changed by JavaScript are not reflected in WebFrame at the WebKit level

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge didSetName:]): Tell the WebFrame about its new name.

2003-10-28  John Sullivan  <sullivan@apple.com>

        - fixed 3465613 -- REGRESSION (111): Crash creating nib that 
        contains WebView

        Reviewed by Chris.

        * WebView.subproj/WebView.m:
        (-[WebView mainFrame]):
        check for nil _private before dereferencing.

2003-10-28  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3465591>: Security: Netscape plug-ins can execute JavaScript in other frames

        Reviewed by mjs.

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): renamed, no need to pass the target frame since the target is either the plug-in itself or the frame that contains the plug-in
        (-[WebBaseNetscapePluginView loadPluginRequest:]): call renamed evaluateJavaScriptPluginRequest
        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): if this is a JS request that is targeted at a frame, return NPERR_INVALID_PARAM if the frame is not the frame that contains the plugin

2003-10-28  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3437959>: javascript: URLs don't work from Java (and other Cocoa plugins, if any)

        Reviewed by mjs.

        * Plugins.subproj/WebPluginController.m:
        (-[WebPluginController showURL:inFrame:]): support JS requests targeted only to the plug-in's frame.

2003-10-27  John Sullivan  <sullivan@apple.com>

        - fixed 3441258 -- hysteresis to start dragging a link is too small; too easy to start drag

        Reviewed by Chris.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _handleMouseDragged:]):
        Split DragHysteresis into two values, one for links and one for images. Make
        the link one much larger than the image one (since dragging an image doesn't
        occur accidentally in the ways that dragging a link does).

2003-10-27  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3462523>: Safari Sometimes Destroys Applets When Going "Back"

        Reviewed by darin.

        * History.subproj/WebHistoryItem.m:
        (+[WebHistoryItem _destroyAllPluginsInPendingPageCaches]): Don't destroy plug-ins that are currently being viewed.

2003-10-27  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3463144>: assertion failure when viewing jpeg with SoundPix installed

        Reviewed by john.

        * WebView.subproj/WebDataSource.m:
        (+[WebDataSource _repTypesAllowImageTypeOmission:]): don't allow image types to override types that are already registered as we do in [WebFrameView _viewTypesAllowImageTypeOmission:]

2003-10-24  Chris Blumenberg  <cblu@apple.com>

        Fixed:
        <rdar://problem/3462977>: ER: Nice if images dragged from web pages didn't redownload
        <rdar://problem/3031582>: Dragging an image to the desktop doesn't leave the file where I dropped it
        <rdar://problem/3061371>: "CFURLGetFSRef failed" log when dragging image to Finder

        Reviewed by john.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): attempt to fetch the image data from the cache, if that works, write out the file

2003-10-26  Darin Adler  <darin@apple.com>

        * WebKitPrefix.h: Add a definition of NULL here so we get the stricter type checking
        even on pre-Merlot systems.

=== Safari-111 ===

2003-10-24  Richard Williamson   <rjw@apple.com>

        Fixed 3425358.  Don't try to create page cache for pages that
        have a nil view().

        Reviewed by Hyatt.

        * WebView.subproj/WebFrame.m:
        (-[WebFrame _createPageCacheForItem:]):
        (-[WebFrame _setState:]):

2003-10-24  Chris Blumenberg  <cblu@apple.com>
        Fixed: <rdar://problem/3424039>: standalone plug-in content occasionaly redirects to blank page

        Reviewed by john.

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): don't honor JS requests from standalone plug-ins to workaround 3462628 which is a deeper issue.

2003-10-24  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3462256>: REGRESSION: Plain text is downloaded

        Reviewed by john.

        * WebView.subproj/WebView.m:
        (+[WebView _viewClass:andRepresentationClass:forMIMEType:]): use _web_objectForMIMEType when getting an object for a MIME. Removed unnecessary code that checked for the document classes after loading the plug-in DB since it is not an optimization because


 the plug-in DB calls _viewTypesAllowImageTypeOmission:NO.

2003-10-23  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3364036>: ER: Allow plug-ins to override built-in types such as image/jpeg

        Reviewed by john.

        * Plugins.subproj/WebPluginDatabase.m:
        (-[WebPluginDatabase refresh]): Allow plug-ins to override built-in types except for our core HTML types and don't allow the QT plug-in to override any types because it handles many types that we already handle
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:): instead of asserting, handle the case where we ask a plug-in to map from an extension to a MIME type, but nil is returned 
        (-[WebBridge frameRequiredForMIMEType:URL:]): no need to start up the plug-in DB because this is now handled by [WebView _viewClass:andRepresentationClass:forMIMEType:]
        * WebView.subproj/WebDataSource.m:
        (+[WebDataSource _representationClassForMIMEType:]): call [WebView _viewClass:andRepresentationClass:forMIMEType:]
        (-[WebDataSource _makeRepresentation]): call _representationClassForMIMEType
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebFrameView.m:
        (-[WebFrameView _makeDocumentViewForDataSource:]): tweak
        (+[WebFrameView _viewClassForMIMEType:]): call [WebView _viewClass:andRepresentationClass:forMIMEType:]
        * WebView.subproj/WebView.m:
        (+[WebView _viewClass:andRepresentationClass:forMIMEType:]): new, central place for mapping from a MIME to the document classes. We now load the plug-in DB when a non-HTML MIME type is encountered instead of loading the plug-in DB when the class for the 


MIME type is not found. This is required to fully fix 3364036.
        (+[WebView canShowMIMEType:]): call [WebView _viewClass:andRepresentationClass:forMIMEType:]
        (+[WebView registerViewClass:representationClass:forMIMEType:]): tweak
        * WebView.subproj/WebViewPrivate.h:

2003-10-23  John Sullivan  <sullivan@apple.com>

        - fixed 3459272 -- Can't set up keyboard loop inside a 
        WebDocumentView without subclassing views
        - fixed 3179062 -- can't tab back to address bar from image-only 
        page
        - fixed 3252009 -- tabbing from address bar to content area does 
        not work with WebTextView
        - fixed 3461398 -- Can't click on a standalone image to focus it 
        (for later keyboard scrolling)

        I redid the way WebView and WebFrameView splice themselves into
        the keyview loop in a way very similar to what NSScrollView and
        NSClipView do. This means that contained and sibling views won't 
        need to do anything special to put themselves into the key loop.

        Reviewed by Chris.

        * WebView.subproj/WebFrameView.m:
        (-[WebFrameView _scrollView]):
        check for nil pointer before dereferencing; this can happen
        during [super dealloc]'s keyview-loop-fixup code
        (-[WebFrameView initWithFrame:]):
        wire our nextKeyView link to the contained scrollview (so
        previousKeyView will work correctly from scrollview)
        (-[WebFrameView acceptsFirstResponder]):
        return what the contained scrollview says
        (-[WebFrameView becomeFirstResponder]):
        in previous direction, use previousValidKeyView (follows normal
        NSView keyview links); in forward direction, hand first
        responder-ness to contained scrollview (which will in turn hand
        it down to clipview, which will in turn hand it down to document)
        (-[WebFrameView setNextKeyView:]):
        wire up scrollview instead of self, if it exists

        * WebView.subproj/WebImageView.m:
        (-[WebImageView acceptsFirstResponder]):
        overridden to return YES; this fixes 3461398 and puts the finishing
        touches on 3179062

        * WebView.subproj/WebView.m:
        (-[WebView _commonInitializationWithFrameName:groupName:]):
        wire our nextKeyView link to the contained webframeview (so
        previousKeyView will work correctly from webframeview). Also,
        if there's a nextKeyView already set (in a nib, e.g.), wire
        it to our contained webframeview.
        (-[WebView acceptsFirstResponder]):
        return what the contained webframeview says
        (-[WebView becomeFirstResponder]):
        in previous direction, use previousValidKeyView (follows normal
        NSView keyview links); in forward direction, hand first
        responder-ness to contained webframeview (which will in turn hand
        it down to scrollview, etc.)
        (-[WebView setNextKeyView:]):
        wire up webframeview instead of self, if it exists

2003-10-22  Richard Williamson   <rjw@apple.com>

        Match WebCore's notion of distributing linegap between top and bottom of 
        line.  WebKit used to put it all at the bottom of the line.

        Reviewed by Hyatt.

        * WebCoreSupport.subproj/WebTextRenderer.h:
        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer initWithFont:usingPrinterFont:]):
        (-[WebTextRenderer _CG_drawHighlightForRun:style:atPoint:]):

2003-10-21  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Dave.

        Finished exception blocking changes, so now I can finally say:

        - fixed 3137084 - Many non-reproducible crashers in ContextImp::mark / ScopeChain::mark
        - fixed 3308848 - nil-deref in KHTMLView::topLevelWidget
        - fixed 3311511 - nil deref inside KJS::Screen
        - fixed 3397422 - 7B51: Safari crashed in KJS::ObjectImp::mark()
        - fixed 3408373 - Panther7B58 : Safari Crashed in KJS::ObjectImp::mark
        - fixed 3409307 - 7B55: safari crashed in KJS::Interpreter::globalExec() (idle, nothing particular going on)
        - fixed 3410160 - 7B60 Safari crashed in KHTMLPart::parentPart called from JS while in the background
        - fixed 3413224 - unrepro crash in KJS::Window::mark
        - fixed 3419940 - unrepro crash in KJS::Collector::allocate trying to access http://www.lindyinthepalms.com
        - fixed 3420123 - Panther7B66: Safari crashed while going to http://www.tangents.co.uk/index2.html
        - fixed 3423225 - Safari crash in vtable for KWQMapImpl (vtable for KWQMapImpl + 8).
        - fixed 3437190 - nil-deref on quit in calling marked() from ScopeChain::mark()

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer ascent]):
        (-[WebTextRenderer descent]):
        (-[WebTextRenderer lineSpacing]):
        (-[WebTextRenderer xHeight]):
        (-[WebTextRenderer drawLineForCharacters:yOffset:withWidth:withColor:]):
        (-[WebTextRenderer _smallCapsRenderer]):
        (-[WebTextRenderer _initializeATSUStyle]):
        (-[WebTextRenderer _createATSUTextLayoutForRun:]):
        (-[WebTextRenderer _trapezoidForRun:style:atPoint:]):
        (-[WebTextRenderer _ATSU_drawHighlightForRun:style:atPoint:]):
        (-[WebTextRenderer _ATSU_drawRun:style:atPoint:]):
        (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:]):

2003-10-22  Richard Williamson   <rjw@apple.com>

        Fixed 3458715.  Reset to 0, not .1 when done.

        Reviewed by Chris.

        * WebView.subproj/WebView.m:
        (-[WebView _resetProgress]):
        (-[WebView _progressStarted:]):

2003-10-21  Richard Williamson   <rjw@apple.com>

        Don't use small caps font for characters that don't have an
        uppercase counterpart (i.e. punctuation marks).

        Reviewed by Hyatt.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (widthForNextCharacter):

2003-10-21  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3176170>: OBJECT tag with no or empty TYPE is mishandled
        Reviewed by rjw.

        * Plugins.subproj/WebPluginDatabase.m:
        (-[WebPluginDatabase pluginForExtension:]): If no plug-in is found from the extension, attempt to map from the extension to a MIME type using our mappings and find a plug-in from the MIME type. This improves our chances of finding a plug-in when n


o MIME type is specified.
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]): If the passed MIME is empty, nil it out so that clients only need to check for nil. This avoids error sheets complaining about "" MIME types.
        (-[WebBridge frameRequiredForMIMEType:URL:]): Renamed to include URL. If no MIME is specified, only create a plug-in view if we can map from the extension.

2003-10-20  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3457627>: empty Flash plugin at tvguide.com
        Fixed issues with plug-in stream error handling.
        Improved plug-in logging.

        Reviewed by kocienda.

        * Misc.subproj/WebKitLogging.h: added WebKitLogPluginEvents
        * Misc.subproj/WebKitLogging.m:
        * Plugins.subproj/WebBaseNetscapePluginStream.h:
        * Plugins.subproj/WebBaseNetscapePluginStream.m:
        (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): improved logging
        (-[WebBaseNetscapePluginStream destroyStream]): improved logging
        (-[WebBaseNetscapePluginStream destroyStreamWithFailingReason:]): renamed from cancelWithReason to avoid confusion
        (-[WebBaseNetscapePluginStream receivedError:]): calls destroyStreamWithFailingReason after determining a reason from the NSError
        (-[WebBaseNetscapePluginStream cancelWithReason:]): calls destroyStreamWithFailingReason, this method is overriden by subclasses to cancel the actual load
        (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): call destroyStreamWithFailingReason, not cancelWithReason because the loaded has already ended here
        (-[WebBaseNetscapePluginStream deliverData]): improved logging
        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView sendActivateEvent:]): use even logging
        (-[WebBaseNetscapePluginView sendUpdateEvent]): ditto
        (-[WebBaseNetscapePluginView becomeFirstResponder]): ditto
        (-[WebBaseNetscapePluginView resignFirstResponder]): ditto
        (-[WebBaseNetscapePluginView mouseDown:]): ditto
        (-[WebBaseNetscapePluginView mouseUp:]): ditto
        (-[WebBaseNetscapePluginView mouseEntered:]): ditto
        (-[WebBaseNetscapePluginView mouseExited:]): ditto
        (TSMEventHandler): ditto
        (-[WebBaseNetscapePluginView destroyStream:reason:]): call cancelWithReason so the reason is passed back to the plug-in
        * Plugins.subproj/WebNetscapePluginDocumentView.m:
        (-[WebNetscapePluginDocumentView setDataSource:]): tweak
        * Plugins.subproj/WebNetscapePluginRepresentation.m:
        (-[WebNetscapePluginRepresentation receivedError:withDataSource:]): call receivedError
        (-[WebNetscapePluginRepresentation cancelWithReason:]): override, cancel the load, call super
        * Plugins.subproj/WebNetscapePluginStream.m:
        (-[WebNetscapePluginStream cancelWithReason:]): override, cancel the load, call super
        (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): be sure to call the stream before calling super because the stream can be cleared out when calling super 
        (-[WebNetscapePluginConnectionDelegate connection:didReceiveData:lengthReceived:]): ditto
        (-[WebNetscapePluginConnectionDelegate connectionDidFinishLoading:]): ditto
        (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): ditto

2003-10-20  Richard Williamson   <rjw@apple.com>

        Conditionally excluded fix for 3446192.  We'll enable the fix once 3446669
        has been fixed.  This patch switches to the new UTI typing API for pasteboard types.
 
        Reviewed by Ken.

        * Misc.subproj/WebNSPasteboardExtras.m:
        (+[NSPasteboard initialize]):

2003-10-20  Richard Williamson   <rjw@apple.com>

        Fixed 3456103.  Don't assert, just check for inappropriate state.
        Reviewed by Hyatt

        Add a debug menu item to always use ATSU text drawing.  This will be helpful
        to the ATSU folks in performance tuning there API.  Right now I see approx.
        2X slowdown using ATSU.

        Also did some shuffling around of inline related stuff.

              Reviewed by Chris.

        * WebCoreSupport.subproj/WebTextRenderer.h:
        * WebCoreSupport.subproj/WebTextRenderer.m:
        (isControlCharacter):
        (isAlternateSpace):
        (isSpace):
        (getUncachedWidth):
        (widthFromMap):
        (widthForGlyph):
        (+[WebTextRenderer _setAlwaysUseATSU:]):
        (glyphForCharacter):
        (glyphForUnicodeCharacter):
        (shouldUseATSU):
        * WebView.subproj/WebView.m:
        (+[WebView _setAlwaysUseATSU:]):
        (-[WebView _progressCompleted:]):
        * WebView.subproj/WebViewPrivate.h:

2003-10-19  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3442218>: crash due to infinite recursion trying to load standalone plug-in content

        Reviewed by darin.

        * WebView.subproj/WebFrame.m:
        (-[WebFrame stopLoading]): manage the isStoppingLoad ivar, return if isStoppingLoad is YES
        * WebView.subproj/WebFramePrivate.h: added the isStoppingLoad ivar

2003-10-19  Darin Adler  <darin@apple.com>

        Reviewed by Dave and Ken.

        - fixed 3457066 -- REGRESSION (91-92): command-left-arrow causes a scroll to the left before going back

        * WebView.subproj/WebFrameView.m: (-[WebFrameView keyDown:]): Add an else so that we don't fall into the
        scrolling code when the command key is down for right and left arrow.

2003-10-18  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3229530>: Dragging standalone image to desktop should save it, not re-download it

        Reviewed by darin.

        * English.lproj/Localizable.strings:
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebDocumentPrivate.h: Added.
        * WebView.subproj/WebImageRepresentation.h:
        * WebView.subproj/WebImageRepresentation.m:
        (-[WebImageRepresentation dealloc]): release new filename and data ivars
        (-[WebImageRepresentation doneLoading]): return YES if data is non-nil
        (-[WebImageRepresentation setDataSource:]): store the filename
        (-[WebImageRepresentation receivedError:withDataSource:]): store the data
        (-[WebImageRepresentation finishedLoadingWithDataSource:]): store the data
        (-[WebImageRepresentation data]): new
        (-[WebImageRepresentation filename]): new
        * WebView.subproj/WebImageView.m:
        (-[WebImageView namesOfPromisedFilesDroppedAtDestination:]): just save the image, don't download it
        (-[WebImageView image]): new

2003-10-17  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3456176>: Assertion failure when loading atomfilms.com

        Reviewed by kocienda.

        * Plugins.subproj/WebNetscapePluginStream.m:
        (-[WebNetscapePluginConnectionDelegate connection:didReceiveData:lengthReceived:]): call super before calling plug-in code as we do in other callbacks
        (-[WebNetscapePluginConnectionDelegate connectionDidFinishLoading:]): ditto
        (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): ditto

2003-10-16  Richard Williamson   <rjw@apple.com>

        Fixed 3455306.  Ensure that progress is correctly ended when a load is interupted (i.e. becomes a download).

        Reviewed by mjs.

        * WebView.subproj/WebFrame.m:
        (-[WebFrame _isLoadComplete]):

2003-10-16  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3455176>: Assertion failure when loading non-existant plug-in content

        Reviewed by rjw.

        * Misc.subproj/WebDownload.m: fixed build failure when using new Foundation. We are overriding and calling a renamed method. Continue to override the old method, override the new method and declare their interfaces to avoid build failures. 
        * Plugins.subproj/WebNetscapePluginStream.m:
        (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): cancel the load before telling the plug-in about the error so plug-in code doesn't attempt to cancel the load twice

2003-10-16  Richard Williamson   <rjw@apple.com>

        Fixed 3453991.  We weren't setting the array cursor correctly after changing
        capacity.

        Reviewed by John.

        * ChangeLog:
        * History.subproj/WebBackForwardList.m:
        (-[WebBackForwardList setCapacity:]):

=== Safari-110 ===

2003-10-16  Richard Williamson   <rjw@apple.com>

        Tweaked the progress behavior and factored cleanup of progress
        related ivars.

        Reviewed by Hyatt.

        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _startLoading:]):
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _isLoadComplete]):
        * WebView.subproj/WebView.m:
        (-[WebView _resetProgress]):
        (-[WebView _progressStarted:]):
        (-[WebView _finalProgressComplete]):
        (-[WebView _progressCompleted:]):
        (-[WebView _incrementProgressForConnection:data:]):
        * WebView.subproj/WebViewPrivate.h:

2003-10-14  Richard Williamson   <rjw@apple.com>

        Added logging for estimated progress.
        
        Added a time delta to the throttler, so we now send notifications
        if a delta amount has been exceeded OR a delta between notifications
        has been exceeded.

        Reviewed by Chris.

        * Misc.subproj/WebKitLogging.h:
        * Misc.subproj/WebKitLogging.m:
        * WebView.subproj/WebView.m:
        (-[WebViewPrivate init]):
        (-[WebView _progressStarted]):
        (-[WebView _progressCompleted]):
        (-[WebView _incrementProgressForConnection:data:]):
        * WebView.subproj/WebViewPrivate.h:

2003-10-14  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        Fix for this bug:

        <rdar://problem/3450449>: assertion failure in WebBridge 
        _retrieveKeyboardUIModeFromPreferences

        Can't assert that the preference always exists and is valid as I
        thought you could. This could just mean that the a preference for full
        keyboard access has not been specified by the user yet. If this is so,
        just return the default keyboard access mode.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge _retrieveKeyboardUIModeFromPreferences:])

2003-10-13  Richard Williamson  <rjw@apple.com>

        Added support for small-caps.

        Reworked drawing and measuring to use new iterators.  Position checking was already using
        the new iterator code, but I was reluctant to switch the mainline drawing and measuring
        code over to the new approach until now.

        Lots of other code cleanup.

        Reviewed by John.

        * Misc.subproj/WebUnicode.m:
        (initializeCharacterShapeIterator):
        * WebCoreSupport.subproj/WebTextRenderer.h:
        * WebCoreSupport.subproj/WebTextRenderer.m:
        (+[WebTextRenderer shouldBufferTextDrawing]):
        (+[WebTextRenderer initialize]):
        (-[WebTextRenderer initWithFont:usingPrinterFont:]):
        (-[WebTextRenderer dealloc]):
        (-[WebTextRenderer widthForCharacters:length:]):
        (-[WebTextRenderer widthForString:]):
        (-[WebTextRenderer ascent]):
        (-[WebTextRenderer descent]):
        (-[WebTextRenderer lineSpacing]):
        (-[WebTextRenderer xHeight]):
        (-[WebTextRenderer drawRun:style:atPoint:]):
        (-[WebTextRenderer floatWidthForRun:style:widths:]):
        (-[WebTextRenderer drawLineForCharacters:yOffset:withWidth:withColor:]):
        (-[WebTextRenderer drawHighlightForRun:style:atPoint:]):
        (-[WebTextRenderer pointToOffset:style:position:reversed:]):
        (-[WebTextRenderer _setIsSmallCapsRenderer:]):
        (-[WebTextRenderer _isSmallCapsRenderer]):
        (-[WebTextRenderer _smallCapsRenderer]):
        (-[WebTextRenderer _smallCapsFont]):
        (-[WebTextRenderer _substituteFontForString:families:]):
        (-[WebTextRenderer _substituteFontForCharacters:length:families:]):
        (-[WebTextRenderer _convertCharacters:length:toGlyphs:skipControlCharacters:]):
        (-[WebTextRenderer _convertUnicodeCharacters:length:toGlyphs:]):
        (-[WebTextRenderer _computeWidthForSpace]):
        (-[WebTextRenderer _setupFont]):
        (_drawGlyphs):
        (-[WebTextRenderer _CG_drawHighlightForRun:style:atPoint:]):
        (-[WebTextRenderer _CG_drawRun:style:atPoint:]):
        (-[WebTextRenderer _floatWidthForRun:style:widths:fonts:glyphs:startPosition:numGlyphs:]):
        (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startPosition:numGlyphs:]):
        (-[WebTextRenderer _extendUnicodeCharacterToGlyphMapToInclude:]):
        (-[WebTextRenderer _updateGlyphEntryForCharacter:glyphID:font:]):
        (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]):
        (-[WebTextRenderer _extendGlyphToWidthMapToInclude:font:]):
        (-[WebTextRenderer _trapezoidForRun:style:atPoint:]):
        (-[WebTextRenderer _ATSU_floatWidthForRun:style:]):
        (-[WebTextRenderer _ATSU_drawHighlightForRun:style:atPoint:]):
        (-[WebTextRenderer _ATSU_drawRun:style:atPoint:]):
        (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:]):
        (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:]):
        (freeWidthMap):
        (freeGlyphMap):
        (glyphForCharacter):
        (glyphForUnicodeCharacter):
        (mapForSubstituteFont):
        (widthFromMap):
        (widthForGlyph):
        (initializeCharacterWidthIterator):
        (widthAndGlyphForSurrogate):
        (ceilCurrentWidth):
        (widthForNextCharacter):
        (fillStyleWithAttributes):
        (findLengthOfCharacterCluster):
        (shouldUseATSU):
        (isControlCharacter):
        (isAlternateSpace):
        (isSpace):
        (fontContainsString):
        (GetScratchUniCharString):
        (toUpper):
        (isUpper):

2003-10-10  Maciej Stachowiak  <mjs@apple.com>

        * English.lproj/StringsNotToBeLocalized.txt: Fixed for Private
        change from a while back.

2003-10-10  David Hyatt  <hyatt@apple.com>

        Patch to move widgets during layout instead of waiting until paint time.
        Reviewed by darin

        * WebView.subproj/WebDataSource.m:
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _isLoadComplete]):
        * WebView.subproj/WebHTMLView.m:
        * WebView.subproj/WebHTMLViewPrivate.h:

2003-10-09  Richard Williamson   <rjw@apple.com>

        Ensure that the autoscroll timer is always stopped if a mouse up event is lost.

        Reviewed by John.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLViewPrivate dealloc]):
        (-[WebHTMLView _startAutoscrollTimer:]):
        (-[WebHTMLView _stopAutoscrollTimer]):
        (-[WebHTMLView _autoscroll]):
        (-[WebHTMLView mouseDown:]):
        * WebView.subproj/WebHTMLViewPrivate.h:

2003-10-09  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3333897>: should support navigator.plugins.refresh as a way to add a plugin without restarting Safari

        Reviewed by rjw.

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView dealloc]): release the plug-in object
        * Plugins.subproj/WebBasePluginPackage.h:
        * Plugins.subproj/WebBasePluginPackage.m:
        (-[WebBasePluginPackage initWithPath:]): store the last mod date
        (-[WebBasePluginPackage dealloc]): release the last mod date
        (-[WebBasePluginPackage lastModifiedDate]): new
        (-[WebBasePluginPackage isEqual:]): new
        (-[WebBasePluginPackage hash]): new
        * Plugins.subproj/WebNetscapePluginPackage.m:
        (-[WebNetscapePluginPackage load]): convert the NPP_Shutdown proc pointer so that we can use it later
        (-[WebNetscapePluginPackage unload]): added log message
        * Plugins.subproj/WebPluginDatabase.h:
        * Plugins.subproj/WebPluginDatabase.m:
        (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): tweak
        (-[WebPluginDatabase plugins]): tweak
        (-[WebPluginDatabase init]): call refresh
        (-[WebPluginDatabase refresh]): new
        (-[WebPluginDatabase loadPluginIfNeededForMIMEType:]): tweak
        * WebCoreSupport.subproj/WebViewFactory.m:
        (-[WebViewFactory refreshPlugins:]): new
        * WebView.subproj/WebControllerSets.h:
        * WebView.subproj/WebControllerSets.m:
        (+[WebViewSets makeWebViewsPerformSelector:]): new
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _reloadForPluginChanges]): new
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebView.m:
        (-[WebView _reloadForPluginChanges]): new
        * WebView.subproj/WebViewPrivate.h:

=== Safari-109 ===

2003-10-03  Richard Williamson <rjw@apple.com>

        Fix part of 3438071.  Creating an instance of WebPreferences using init
        will do the expected thing:  that is, create a new instance!  We used to
        always return standardPreferences.

        Reviewed by Chris.

        * WebView.subproj/WebPreferences.m:
        (-[WebPreferences init]):
        (+[WebPreferences standardPreferences]):

2003-10-03  David Hyatt  <hyatt@apple.com>

        Fix for numerous regressions caused by an inadvertent renaming of the recursiveDisplay
        override method.
        Reviewed by darin

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):

2003-10-03  Richard Williamson (Home0  <rjw@apple.com>

        Fixed some edge case issue (control characters after end of word) with our rounding hack.

        Reviewed by Darin.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):

2003-10-03  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin, with much help from Maciej and Hyatt

        Fix for this bug:

        <rdar://problem/3441321>: Form buttons do not respond to key events when focused

        * WebView.subproj/WebFrameView.m:
        (-[WebFrameView _firstResponderIsControl]): Added to tell if the focus
        is on a form control.
        (-[WebFrameView keyDown:]): Call new _firstResponderIsControl method to see
        whether space bar key events should propagate. Adding this check keeps us
        from blocking the event here and allows AppKit to handle it.
        * WebView.subproj/WebFrameViewPrivate.h: Add new _firstResponderIsControl 
        method.

2003-10-02  Maciej Stachowiak  <mjs@apple.com>

        Folded Private implementation files into the regular ones as the
        first step towards pulling in our SPI exposure and other code
        cleanup.

        * History.subproj/WebHistory.m:
        * History.subproj/WebHistoryPrivate.m: Removed.
        * Misc.subproj/WebIconDatabasePrivate.h:
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebDataSource.m:
        * WebView.subproj/WebDataSourcePrivate.m: Removed.
        * WebView.subproj/WebFrame.m:
        * WebView.subproj/WebFramePrivate.m: Removed.
        * WebView.subproj/WebFrameView.m:
        * WebView.subproj/WebFrameViewPrivate.m: Removed.
        * WebView.subproj/WebHTMLView.m:
        * WebView.subproj/WebHTMLViewPrivate.m: Removed.
        * WebView.subproj/WebView.m:
        * WebView.subproj/WebViewPrivate.m: Removed.

2003-10-02  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3440063>: Safari 1.1 won't load new pages after visiting adultswim.com, assertion failure on debug build

        Reviewed by rjw.

        * Plugins.subproj/WebBaseNetscapePluginStream.m:
        (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): if not data was received for a stream, create the temp file anyway. Plug-ins expect this.

=== Safari-108 ===

2003-10-02  Darin Adler  <darin@apple.com>

        * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.

2003-10-01  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        - fixed 3441466 - REGRESSION: http://www.meyerweb.com/eric/css/edge/complexspiral/glassy.html broken on scroll
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _setState:]): Don't turn on scroll-blitting here when the page is done...
        (-[WebFrame _transitionToCommitted:]): Instead do it here, when the page is committed.

2003-10-02  Darin Adler  <darin@apple.com>

        Reviewed by Ken.

        - in preparation for a WebCore whitespace-handling change, made WebTextRenderer draw and measure
          newline characters as if they are spaces (just as we already do with non-breaking spaces)
        - removed some unused stuff from WebTextRenderer
        - other unimportant tweaks (e.g. unsigned int -> unsigned)

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (kFixedOne), (fixed1), (FixToFloat), (FloatToFixed): Removed these. We can use the standard ones
        from <FixMath.h> instead of defining our own.
        (isControlCharacter): Added. Inline function that we can use instead of the macro we had before.
        (isAlternateSpace): Added. Returns YES for newlines and non-breaking spaces.
        (isSpace): Added. Returns YES for real spaces and the two alternate spaces as well.
        (initializeCharacterWidthIterator): Use isSpace.
        (-[WebTextRenderer convertCharacters:length:toGlyphs:skipControlCharacters:]): Use isAlternateSpace
        and isControlCharacter.
        (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
        Use isControlCharacter, isAlternateSpace, and isSpace. Also fix a small bug where numGlyphs would
        not get set up properly when the run length is 0, and used local variables when possible instead
        of going back at the run structure.
        (-[WebTextRenderer _ATSU_floatWidthForRun:style:]): Use the standard FixedToFloat instead of our
        own FixToFloat.
        (-[WebTextRenderer _ATSU_drawHighlightForRun:style:atPoint:]): Ditto.

2003-10-02  David Hyatt  <hyatt@apple.com>

        Work on exposing elements to the Acc API.  This patch gets us to the point where text
        under the mouse is voiced.
        Reviewed by darin

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView accessibilityAttributeValue:]):
        (-[WebHTMLView accessibilityHitTest:]):

2003-10-01  John Sullivan  <sullivan@apple.com>

        Reviewed by Darin

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView viewDidMoveToSuperview]):
        skip some work when when we've been removed. This wasn't
        causing any trouble before, but was at least conceptually
        inefficient.

2003-10-01  John Sullivan  <sullivan@apple.com>

        - fixed 3441372: REGRESSION (107+): Plain text document is 
        initially drawn with proportional font

        Reviewed by Hyatt

        * WebView.subproj/WebTextView.m:
        (-[WebTextView setDataSource:]):
        Changed a != to an ==

2003-10-01  Richard Williamson   <rjw@apple.com>

        Fixed 3438441.  If a load is triggered by a onload handling, don't add an entry for it into the b/f or history.  The new Google ads use this technique.

        Reviewed by Ken.

        * Misc.subproj/WebKitLogging.h:
        * Misc.subproj/WebKitLogging.m:
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge loadURL:referrer:reload:onLoadEvent:target:triggeringEvent:form:formValues:]):
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _addBackForwardItemClippedAtTarget:]):
        (-[WebFrame _transitionToCommitted:]):
        (-[WebFrame _isLoadComplete]):
        (-[WebFrame _loadItem:withLoadType:]):
        (-[WebFrame _itemForRestoringDocState]):

2003-10-01  Darin Adler  <darin@apple.com>

        Reviewed by John.

        * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _webView]):
        Fixed problem where we'd get a nil WebView and pass crazy values for subframe
        text multipliers.

2003-10-01  David Hyatt  <hyatt@apple.com>

        Fix for 3440804, broken scrollbars in downloads window.  Make Auto be the default
        value in the enum, so that all scrollviews will be automatically initialized to be
        auto.
        Reviewed by cblu

        * WebView.subproj/WebDynamicScrollBarsView.m:

2003-09-30  Richard Williamson   <rjw@apple.com>

        Attempt to find a reasonable font using a simple string matching heuristic if 
        none of the fonts actually specified are found.  In particular we will use
        Geeza Pro if "arabic", "urdu", or "pashto" is contained (case-insensitive) in
        any of the requested font family names.  Geeza Pro is a much better fallback
        font for Arabic (and variant languages) than Helvetica.

        Reviewed by Chris.

        * WebCoreSupport.subproj/WebTextRendererFactory.m:
        (-[WebTextRendererFactory fontWithFamilies:traits:size:]):

2003-09-30  John Sullivan  <sullivan@apple.com>

        - fixed 3045617 -- Make Text Bigger/Smaller doesn't affect non-html documents.
        
        I added an internal protocol inside WebKit to make this work, and implemented
        it for plain text and RTF. I also slightly shuffled the existing code to
        handle this for HTML so that it goes through the new protocol in that case
        also.

        * WebView.subproj/WebDocumentInternal.h: Added.
               New header file, holds definition of 
        _web_WebDocumentTextSizing protocol.

        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _textSizeMultiplierChanged]):
        if the document view conforms to the new protocol,
        tell it that the multiplier has changed. Also, don't
        tell the bridge here anymore; let WebHTMLView do that.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _updateTextSizeMultiplier]):
        tell the bridge here instead of having WebFrame do so
        (-[WebHTMLView viewDidMoveToSuperview]):
        call _updateTextSizeMultiplier (in case it changed while we were switched out)
        (-[WebHTMLView _web_textSizeMultiplierChanged]):
        call _updateTextSizeMultiplier
        
        * WebView.subproj/WebTextRepresentation.m:
        (-[WebTextRepresentation receivedData:withDataSource:]):
        
        * WebView.subproj/WebTextView.h:
        now implements _web_WebDocumentTextSizing protocol;
        new ivar for holding local copy of text size multiplier;
        new public method appendReceivedData:fromDataSource:
        
        * WebView.subproj/WebTextView.m:
        (-[WebTextView initWithFrame:]):
        set local copy of text size multiplier to 1.0
        (-[WebTextView _textSizeMultiplierFromWebView]):
        new method, asks the webview's opinion of the text size multiplier
        (-[WebTextView setFixedWidthFont]):
        use the text size multiplier when setting font size
        (-[WebTextView _adjustRichTextFontSizeByRatio:]):
        new method, borrowed from Mail and tweaked, that walks through
        the rich text and adjusts the font sizes
        (-[WebTextView _updateTextSizeMultiplier]):
        new method, updates local copy of text size multiplier to
        match webview's opinion
        (-[WebTextView setDataSource:]):
        set the text size multiplier appropriately before setting the
        fixed-width font; this is too early for the RTF case though
        since the fonts are embedded in the data
        (-[WebTextView appendReceivedData:fromDataSource:]):
        new method. Most of this logic was in WebTextRepresentation, but
        it's a little better encapsulated here, plus now it handles the
        text multiplier for RTF.
        (-[WebTextView defaultsChanged:]):
        added comment
        (-[WebTextView _web_textSizeMultiplierChanged]):
        call updateTextSizeMultiplier
        
        * WebView.subproj/WebView.m:
        (-[WebView canMakeTextSmaller]):
        (-[WebView canMakeTextLarger]):
        return NO if the main frame doesn't support the text sizing protocol. This means
        that if the main frame doesn't support it but a subframe does, you can't adjust
        the text size. This seems fine for now since the only case with subframes is
        HTML, where the main frame does support changing text size.
        
        * WebKit.pbproj/project.pbxproj:
        updated for new file

2003-09-30  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3428262>: Plugin loads for static files, but not PHP scripts

        Reviewed by rjw.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge frameRequiredForMIMEType:]): load the plug-in DB so this method returns reliable results.

2003-09-30  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3006869>: show image dimensions in title bar when single image is loaded

        Reviewed by rjw.

        * English.lproj/Localizable.strings:
        * WebView.subproj/WebImageRepresentation.m:
        (-[WebImageRepresentation title]): return "foo.jpg 50x50 pixels"

2003-09-30  Richard Williamson   <rjw@apple.com>

        Fixed 3420396.  If a frame targets _top and a URL that contains a fragment (very unusual, it's meaningless for a frameset to contain a named anchor point) the frameset won't be reloaded.  Our normal path is to just scroll to the anchor point.  This is on


ly important because our Help folks oddly depend on the behavior.

        Reviewed by Chris.

        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):

2003-09-30  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Maciej
        
        Fix for this bug:
        
        <rdar://problem/3439688>: WebKit needs to retrieve full keyboard access preference
        
        * WebCoreSupport.subproj/WebBridge.h: Add two ivars: one to track the keyboard
        UI mode, the other a flag we use to register for notifications.
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge dealloc]): Remove the notification observer to keyboard UI mode changes.
        (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]): New method. Accesses the
        preferences to get the current keyboard UI mode.
        (-[WebBridge keyboardUIMode]): Returns the current keyboard UI mode. Registers for
        notifications of keyboard UI mode changes when called the first time.
        
2003-09-30  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Ken.

        - fixed 3375281 - Keyboard event handlers not fired if focus not in form field
        - fixed 3242927 - KeyPressed Event in Javascript don't work
        - fixed 3375353 - keyboard event.target not updated when blurring from form items
        - fixed 3183754 - returning false from key press handlers does not prevent typing or form submission

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView keyDown:]): Ask the bridge before passing the event along.
        (-[WebHTMLView keyUp:]): Likewise.
        * WebView.subproj/WebHTMLViewPrivate.h:
        * WebView.subproj/WebHTMLViewPrivate.m: Remove dead code.

2003-09-30  Richard Williamson   <rjw@apple.com>

        Fixed 3422138.  We weren't sending a didChange call for isLoading until the load was complete!  Also [WebView isLoading] wasn't accounting for provisional datasources.

        Reviewed by Chris.

        * WebView.subproj/WebView.m:
        (-[WebView isLoading]):
        * WebView.subproj/WebViewPrivate.h:
        * WebView.subproj/WebViewPrivate.m:
        (-[WebView _didStartProvisionalLoadForFrame:]):
        (-[WebView _didCommitLoadForFrame:]):
        (-[WebView _didFinishLoadForFrame:]):
        (-[WebView _didFailLoadWithError:forFrame:]):
        (-[WebView _didFailProvisionalLoadWithError:forFrame:]):

2003-09-30  David Hyatt  <hyatt@apple.com>

        Improvements to scrolling and layout.  Also fixing 3264346, body overflow should
        apply to document's scrollbars.
        Reviewed by darin

        * WebView.subproj/WebDynamicScrollBarsView.h:
        * WebView.subproj/WebDynamicScrollBarsView.m:
        (-[WebDynamicScrollBarsView initWithFrame:]):
        (-[WebDynamicScrollBarsView setScrollBarsSuppressed:repaintOnUnsuppress:]):
        (-[WebDynamicScrollBarsView updateScrollers]):
        (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
        (-[WebDynamicScrollBarsView setAllowsScrolling:]):
        (-[WebDynamicScrollBarsView allowsScrolling]):
        (-[WebDynamicScrollBarsView setAllowsHorizontalScrolling:]):
        (-[WebDynamicScrollBarsView setAllowsVerticalScrolling:]):
        (-[WebDynamicScrollBarsView allowsHorizontalScrolling]):
        (-[WebDynamicScrollBarsView allowsVerticalScrolling]):
        (-[WebDynamicScrollBarsView horizontalScrollingMode]):
        (-[WebDynamicScrollBarsView verticalScrollingMode]):
        (-[WebDynamicScrollBarsView setHorizontalScrollingMode:]):
        (-[WebDynamicScrollBarsView setVerticalScrollingMode:]):
        (-[WebDynamicScrollBarsView setScrollingMode:]):

2003-09-29  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3422739>: Plug-in streams not cancelled when plug-in returns error from NPP_NewStream

        Reviewed by mjs.

        * Plugins.subproj/WebBaseNetscapePluginStream.h: renamed receivedError to cancelWithReason
        * Plugins.subproj/WebBaseNetscapePluginStream.m:
        (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): call cancelWithReason if NPP_NewStream returns an error
        (-[WebBaseNetscapePluginStream cancelWithReason:]): renamed
        (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): tweak
        * Plugins.subproj/WebNetscapePluginRepresentation.m:
        (-[WebNetscapePluginRepresentation receivedError:withDataSource:]): call renamed cancelWithReason
        (-[WebNetscapePluginRepresentation cancelWithReason:]): new override, stop load then call super
        * Plugins.subproj/WebNetscapePluginStream.m:
        (-[WebNetscapePluginStream cancelWithReason:]): new override, stop load then call super
        (-[WebNetscapePluginStream stop]): call cancelWithReason
        (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): call renamed cancelWithReason
        (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): call renamed cancelWithReason

2003-09-25  Maciej Stachowiak  <mjs@apple.com>

        Roll out build system change since it did not actually work. :-(
        * WebKit.pbproj/project.pbxproj:

2003-09-25  David Hyatt  <hyatt@apple.com>

        Change layout so that it is called from the private _recursive functions instead of
        inside drawRect.
        Reviewed by kocienda

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView layoutToPageWidth:adjustingViewSize:]):
        (-[WebHTMLView drawRect:]):
        * WebView.subproj/WebHTMLViewPrivate.m:
        (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:testDirtyRect:]):
        (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]):
        (-[WebHTMLView _web_setPrintingModeRecursive]):
        (-[WebHTMLView _web_clearPrintingModeRecursive]):
        (-[WebHTMLView _web_layoutIfNeededRecursive:testDirtyRect:]):
        (-[NSView _web_setPrintingModeRecursive]):
        (-[NSView _web_clearPrintingModeRecursive]):
        (-[NSView _web_layoutIfNeededRecursive:testDirtyRect:]):

2003-09-25  Richard Williamson   <rjw@apple.com>

        Fixed 3433802.  Written by Ed.  Carbon WebView doesn't detach native view when removed.

        Reviewed by Richard.

        * Carbon.subproj/HIWebView.m:
        (OwningWindowChanged):

2003-09-25  Richard Williamson   <rjw@apple.com>

        Fixed 3433488.  Written by Ed.  WebKit doesn't sync window visibility when new webview added to visible window.

        Reviewed by Richard.

        * Carbon.subproj/CarbonWindowAdapter.m:
        (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:disableOrdering:carbon:]):

2003-09-25  Richard Williamson   <rjw@apple.com>

        Fixed 3434854.  Written by Ed.  Correctly handle window modality in carbon.

        Reviewed by Richard.

        * Carbon.subproj/CarbonWindowAdapter.m:
        (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:disableOrdering:carbon:]):

2003-09-25  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        Updated setup for engineering builds. Don't embed the framework
        into Safari or hack the install name. However, do copy WebCore and
        JavaScriptCore into the proper sub-umbrella locations.
        * WebKit.pbproj/project.pbxproj:
        * embed-frameworks.sh: Added.

=== Safari-107 ===

2003-09-25  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        Fix for this bug:
        
        <rdar://problem/3341222>: WebView doesn't follow AppKit default nextKeyView pattern
        
        * WebCoreSupport.subproj/WebBridge.h: Added a variable to guard against recursion
        in -[WebBridge inNextKeyViewOutsideWebFrameViews].
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge inNextKeyViewOutsideWebFrameViews]): Accessor for recursion guard.
        (-[WebBridge nextKeyViewOutsideWebFrameViews]): Do not ask webView for its
        next key view, but rather, ask it for the next key view of the last view in
        its key view loop. This is what will get us to the next view outside of the
        webView.
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView nextKeyView]): Ask AppKit, rather than khtml, for the next key
        key view if -[WebBridge inNextKeyViewOutsideWebFrameViews] returns YES. Doing
        so gives us the correct answer as calculated by AppKit, and makes HTML views
        behave like other views. This check also heads off an infinite recursion 
        through -[WebBridge nextKeyViewOutsideWebFrameViews].

        Also did some cleanup of some code that was marked for removal "some day".
        That "some day" is today.
        
2003-09-25  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed 3176853 -- can't attach files that have no extensions with Yahoo mail (bad Content-Type headers)

        * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge MIMETypeForPath:]):
        Return @"application/octet-stream" rather than nil or empty string when the type is not known.

2003-09-24  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]):
        Added one more call to _stopAutoscrollTimer for when drags begin.

2003-09-24  Richard Williamson   <rjw@apple.com>

        Fixed 3420736.  Clear renderer caches when get an ATS font changed notification.  This fix may be moot depending on progress toward fixing 2695906.  Also 3428451 needs to should be resolved.

        Also added code to get and log entry point for the function used to get a Java class from plugins.  That class is used for LiveConnect support.

        Reviewed by John.

        * Misc.subproj/WebKitLogging.h:
        * Misc.subproj/WebKitLogging.m:
        * Plugins.subproj/WebNetscapePluginPackage.h:
        * Plugins.subproj/WebNetscapePluginPackage.m:
        (-[WebNetscapePluginPackage load]):
        * Plugins.subproj/npapi.h:
        * WebCoreSupport.subproj/WebTextRenderer.m:
        (FillStyleWithAttributes):
        * WebCoreSupport.subproj/WebTextRendererFactory.m:
        (-[WebTextRendererFactory clearCaches]):
        (fontsChanged):
        (+[WebTextRendererFactory createSharedFactory]):
        (-[WebTextRendererFactory fontWithFamily:traits:size:]):
        (-[WebTextRendererFactory cachedFontFromFamily:traits:size:]):

2003-09-23  Darin Adler  <darin@apple.com>

        Reviewed by John and Richard.

        - fixed 3127833 -- autoscroll only works when mouse is moving

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView viewDidMoveToWindow]): Stop the auto-scroll timer. This covers
        the case where a view is removed from the view hierarchy while the mouse is down.
        (-[WebHTMLView mouseDown:]): Start the auto-scroll timer.
        (-[WebHTMLView mouseUp:]): Stop the auto-scroll timer.
        * WebView.subproj/WebHTMLViewPrivate.h: Add an auto-scroll timer, and methods
        to start and stop it.
        * WebView.subproj/WebHTMLViewPrivate.m:
        (-[WebHTMLView _startAutoscrollTimer]): Create and schedule a timer. It uses the
        same 1/10 second interval that NSTextView uses for its scrolling timer.
        (-[WebHTMLView _stopAutoscrollTimer]): Invalidate and release the timer.
        (-[WebHTMLView _autoscroll]): Check for a mouse up event in the queue; if one is
        there, then no autoscrlling. But if not, then create a fake mouse dragged event
        and dispatch it; that will lead to autoscrolling.

2003-09-22  Darin Adler  <darin@apple.com>

        Reviewed by Dave.

        - worked around 3429631 -- window stops getting mouse moved events after first tooltip appears

        * WebView.subproj/WebHTMLViewPrivate.m: (-[NSToolTipPanel setAcceptsMouseMovedEvents:]):
        Do nothing, preventing the real setAcceptsMouseMovedEvents: (in class NSWindow) from being called.

2003-09-22  Darin Adler  <darin@apple.com>

        Reviewed by Dave.

        - fixed 3431033 -- crash in -[NSToolTipManager _shouldInstallToolTip:]

        * WebView.subproj/WebHTMLViewPrivate.m:
        (-[WebHTMLView _addTrackingRect:owner:userData:assumeInside:useTrackingNum:]):
        Override this alternate version of addTrackingRect. If I don't do this, we might
        create a real tracking rect, which we would then never remove.
        (-[WebHTMLView removeTrackingRect:]): Added assertions.

2003-09-22  Darin Adler  <darin@apple.com>

        * WebKit.pbproj/project.pbxproj: Rename Mixed build style to OptimizedWithSymbols.

2003-09-21  Darin Adler  <darin@apple.com>

        * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView removeTrackingRect:]): Remove bogus assert.

2003-09-21  Darin Adler  <darin@apple.com>

        Reviewed by Dave.

        - fixed 3106411 -- show title attribute for page elements in tooltip on mouseover (important for PeopleSoft)

        * WebView.subproj/WebHTMLViewPrivate.h: Added fields needed for tool tip implementation.
        * WebView.subproj/WebHTMLViewPrivate.m:
        (-[WebHTMLViewPrivate dealloc]): Release the tool tip string.
        (-[WebHTMLView addTrackingRect:owner:userData:assumeInside:]): Override the default NSView
        tracking rectangle implementation so we can trick the tool tip manager into trusting us about
        when you leave and enter the rectangle for each element.
        (-[WebHTMLView removeTrackingRect:]): The other half of the above stuff.
        (-[WebHTMLView _sendToolTipMouseExited]): Added. Makes an event just good enough to fool the tool tip
        manager, and send it on.
        (-[WebHTMLView _sendToolTipMouseEntered]): Ditto.
        (-[WebHTMLView _setToolTip:]): Added. Manages the new and old tool tips in a way that fools the tool
        tip manager into working even though we don't know the rectangles of the tool tips beforehand. The
        advantage of using AppKit tool tips is that they have all sorts of nice little features, like wrapping
        to a nice rectangular shape and fading out when you move away.
        (-[WebHTMLView view:stringForToolTip:point:userData:]): This is how the tool tip manager gets the actual
        tool tip text.
        (-[WebHTMLView _updateMouseoverWithEvent:]): Call _setToolTip method, using the value passed along with the
        WebCoreElementTitleKey in the dictionary.

        - unrelated code cleanup

        * WebView.subproj/WebFramePrivate.h: Don't define WebCorePageCacheStateKey here; instead use
        a definition exported from WebCore.
        * WebView.subproj/WebFramePrivate.m: Ditto.
        * English.lproj/StringsNotToBeLocalized.txt: Update for above changes.

2003-09-19  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        Roll out old fix for 3410980.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge goBackOrForward:]):

2003-09-19  Darin Adler  <darin@apple.com>

        Reviewed by Dave.

        - do the prep work for the mini controls feature; Dave will finish this

        * WebCoreSupport.subproj/WebFileButton.m:
        (-[WebFileButton isFlipped]): Make this flipped, easier to understand coordinates that way.
        (-[WebFileButton drawRect:]): Update for flipped-ness.
        (-[WebFileButton visualFrame]): Update for flipped-ness.
        (-[WebFileButton setVisualFrame:]): Update for flipped-ness.
        (-[WebFileButton baseline]): Update for flipped-ness.

2003-09-19  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        - fixed 3410980 - FileMaker: going forward with an empty forward list makes a frame come out blank sometimes

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge backOrForwardItemWithDistance:]): Factored out from goBackOrForward.
        (-[WebBridge canGoBackOrForward:]): Use the new method.
        (-[WebBridge goBackOrForward:]): Likewise.

2003-09-17  John Sullivan  <sullivan@apple.com>

        - WebKit part of fix for 3157018 -- Would like option to
        not print backgrounds
        Reviewed by Darin

        * WebView.subproj/WebPreferences.h:
        new accessor methods for new shouldPrintBackgrounds preference
        * WebView.subproj/WebPreferences.m:
        (+[WebPreferences initialize]):
        set initial value for WebKitShouldPrintBackgroundsPreferenceKey
        to NO
        (-[WebPreferences shouldPrintBackgrounds]):
        new method, read NSUserDefaults value
        (-[WebPreferences setShouldPrintBackgrounds:]):
        new method, write NSUserDefault value

        * WebView.subproj/WebViewPrivate.m:
        (-[WebView _updateWebCoreSettingsFromPreferences:]):
        tell WebCore about value of shouldPrintBackgrounds

        * English.lproj/StringsNotToBeLocalized.txt:
        Updated for these and other recent changes

2003-09-17  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        * Plugins.subproj/WebBasePluginPackage.m:
        (-[WebBasePluginPackage pathByResolvingSymlinksAndAliasesInPath:]): Pass the
        "no UI" flag, so we don't prompt the user when we're trying to load plug-ins.
        Also use OSStatus rather than OSErr so we don't miss error codes that just
        happen to have zeroes in the low 16 bits.

2003-09-17  Darin Adler  <darin@apple.com>

        Reviewed by John.

        * WebCoreSupport.subproj/WebFileButton.m: (-[WebFileButton setFilename:]):
        Don't call -[NSWorkspace iconForFile:] on a path that does not start with a '/'.
        This can happen if JavaScript or the web page sets the path explicitly, and
        adding this check avoids an unpleasant warning on the console.

=== WebKit-106 ===

2003-09-16  Richard Williamson   <rjw@apple.com>

        Backed out fix to 3412062 to resolve 3424197.

        Many sites use a technique of posting forms the same URL to generate content server side.  The fix to 3412062 broke those sites.

        Reviewed by Darin.

        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _transitionToCommitted:]):

=== WebKit-105 ===

=== WebKit-104 ===

2003-09-12  Richard Williamson   <rjw@apple.com>

        Fixed 3420097.  If redirects are cancelled during a pending load don't reset the quickRedirect flag.

        Reviewed by Darin.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge reportClientRedirectCancelled:]):
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]):
        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
        (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
        (-[WebFrame _clientRedirectCancelled:]):

=== WebKit-103 ===

2003-09-12  Richard Williamson   <rjw@apple.com>

        Fixed 3412062.  Don't allow pages with the same URL as the current URL to enter b/f or history.

        Reviewed by Maciej.

        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _transitionToCommitted:]):

2003-09-11  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        - fixed 3413463 - QuickTime plug-in content doesn't load in Safari (NPP_Write not called)
        * Plugins.subproj/npapi.h: Fix erroneous function pointer
        declarations that led to an int16/int32 mismatch.

2003-09-12  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3420112>: Reproducible Safari crash in in -[WebBaseNetscapePluginView sendEvent:]

        Reviewed by darin.

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView sendEvent:]): temporarily retain self in case the plug-in view is released while sending an event. 
        (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:targetFrame:]): don't deliver the return value of the JS evaluation if stringByEvaluatingJavaScriptFromString caused the plug-in to stop.

=== WebKit-102 ===

2003-09-11  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Ken.

        - fixed 3417486 - after logging off from secure Etrade website, going back returns you to secure page

        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _loadItem:withLoadType:]): Don't request stale data
        for https pages, as this could be a security risk.

2003-09-11  Richard Williamson   <rjw@apple.com>

        Fixed 3406671.  Added a private method for Mail to get selection
        rect.

        Reviewed by Darin Adler.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView updateTextBackgroundColor]):
        * WebView.subproj/WebHTMLViewPrivate.h:
        * WebView.subproj/WebHTMLViewPrivate.m:
        (-[WebHTMLView _handleMouseDragged:]):
        (-[WebHTMLView _pluginController]):
        (-[WebHTMLView _selectionRect]):

2003-09-10  Richard Williamson   <rjw@apple.com>

        Fixed 3231031.  Use the normal methodology for displaying each frame of a GIF.  That is,
        just call setNeedsDisplayInRect, rather than drawing directly.  Drawing directly violates
        layering/clipping.

        Reviewed by Dave Hyatt.

        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer nextFrame:]):

=== Safari-100 ===

2003-09-09  Richard Williamson   <rjw@apple.com>

        Fixed 3414988.  Don't store absolute path to home directory.
        Reviewed by Chris Blumenberg.

        Fixed 3414319.  Send correct WebView back as parameter to webViewShow:
        Review by Darin.

        Fixed 3095029.  Draw a frame's border in WebFrameView, instead of WebHTMLView, and correctly inset the frame's scrollview to account for the border.  Mostly written by Darin.
        Reviewed by Darin (and Richard).

        * Misc.subproj/WebIconDatabase.m:
        (-[WebIconDatabase _createFileDatabase]):
        Store @"~/Library/Icon" instead of absolute path, and always try to tilde expand stored path.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge setHasBorder:]):
        * WebView.subproj/WebFrameView.m:
        (-[WebFrameView drawRect:]):
        (-[WebFrameView setFrameSize:]):
        * WebView.subproj/WebFrameViewPrivate.h:
        * WebView.subproj/WebFrameViewPrivate.m:
        (-[WebFrameView _isMainFrame]):
        (-[WebFrameView _tile]):
        (-[WebFrameView _drawBorder]):
        (-[WebFrameView _shouldDrawBorder]):
        (-[WebFrameView _setHasBorder:]):
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView drawRect:]):
        Changes to correct draw border in WebFrameView instead of WebHTMLView.

        * WebView.subproj/WebViewPrivate.m:
        (-[WebView _openNewWindowWithRequest:]):
        Send correct parameter (returned from webView:createWebViewWithRequest:), rather than self, to webViewShow:.

2003-09-09  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3412380>: REGRESSION (85-98): www.minoltan.com is decoded incorrectly on Japanese system

        The default encoding that Safari uses is latin1 regardless of the current system encoding. This is how it's always been. The problem is that the UI is displaying shift JIS for the default text encoding instead of latin1. This is happening because WebKit 


is using "latin1" instead of "ISO-8859-1" for the default text encoding name. "ISO-8859-1" is the IANA character set name for latin1 and this is what the  WebKitDefaultTextEncodingNamePreferenceKey preference expects. This ends up confusing Safari, so Saf


ari just ends up displaying the first item in the pop-up menu which is shift JIS.

        Reviewed by rjw.

        * WebView.subproj/WebPreferences.m:
        (+[WebPreferences initialize]): The WebKitDefaultTextEncodingNamePreferenceKey should be "ISO-8859-1" not "latin1" since "ISO-8859-1" is the IANA character set name for latin1.

=== Safari-99 ===

2003-09-08  Darin Adler  <darin@apple.com>

        Reviewed by Chris.

        - fixed 3412726 -- some HTML messages in Mail lose a line at page breaks when printed (multipart/alternative)

        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
        Go into printing mode when asked to adjust page height, if not already in it.
        We already have code in drawRect that does this when actually printing, but it's
        also important to lay out the same way when deciding where to break pages, otherwise
        the difference between printer and screen fonts can lead to page breaks that split a line
        of text across two pages, and that can lead to missing lines of text as well.

2003-09-07  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed 3410939 -- disabling Geneva and Helvetica (by removing them, or by using Font Book) makes Safari crash

        * WebCoreSupport.subproj/WebTextRendererFactory.m: (-[WebTextRendererFactory fallbackFontWithTraits:size:]):
        Fall back on Lucida Grande (plain, not bothering with traits) if Helvetica is not present.

        * English.lproj/StringsNotToBeLocalized.txt: Update for this and other recent changes.

2003-09-07  Darin Adler  <darin@apple.com>

        Reviewed by Ken.

        - fixed 3406660 -- screen fonts are not being used for substitute fonts (Japanese text, Roman font)

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer substituteFontForString:families:]): Get a printer or screen font,
        based on the renderer's mode. The old code didn't do anything explicit.
        (-[WebTextRenderer _setupFont]): Remove ignored parameter for clarity.
        (-[WebTextRenderer initWithFont:usingPrinterFont:]): Fixed code paths that would not
        explicitly get a printer or screen font, and code paths that would get data from the
        original "before mapping to printer or screen font" NSFont object.

=== Safari-98 ===

2003-09-05  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        Incorporate releaseGState fix that Darin developed for 
        textareas and list boxes in WebCore. It turns out that 
        we this workaround in WebClipView as well to get proper 
        drawing of subframes.

        In addition, removed some tests that which performed 
        runtime checks for code in AppKit. AppKit will have
        the checked-for code in all versions that will be used
        with the version of WebKit.

        * WebView.subproj/WebClipView.m:
        (-[WebClipView initWithFrame:])
        (-[WebClipView resetAdditionalClip])
        (-[WebClipView setAdditionalClip:])

2003-09-04  John Sullivan  <sullivan@apple.com>

        - fixed 3409011 -- the graphics views palette does not open

        Reviewed by Maciej

        * WebView.subproj/WebPreferences.m:
        (+[WebPreferences _removeReferenceForIdentifier:]):
        special-case nil, which is a magic initial identifier already
        special-cased in the other mutator

2003-09-05  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        - fixed 3406140 - REGRESSION (7B52-7B55): time spent in NSFont makes Safari 50% slower in Five Apps test
        * WebCoreSupport.subproj/WebTextRendererFactory.m:
        (-[WebTextRendererFactory fontWithFamily:traits:size:]): Make font
        using the font name we found, not the one we were looking
        for. Since the compare is case-insensitive, it makes a
        difference. Also, don't make the font twice.

2003-09-04  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3316704>: Shockwave: getnetText steam is not functioning correctly

        Reviewed by mjs.

        * Plugins.subproj/WebBaseNetscapePluginStream.m:
        (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): if the content length is unknown, use 0 instead of -1

2003-09-04  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3286922>: Shockwave: Using HTTP to stream .mp3 or .swa files fails at ~50%

        Reviewed by mjs.

        * Plugins.subproj/WebBaseNetscapePluginStream.h: new deliveryData and reason ivars
        * Plugins.subproj/WebBaseNetscapePluginStream.m:
        (-[WebBaseNetscapePluginStream dealloc]): release deliveryData ivar
        (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): set new reason ivar
        (-[WebBaseNetscapePluginStream destroyStream]): new, calls NPP_StreamAsFile, NPP_DestroyStream and NPP_URLNotify
        (-[WebBaseNetscapePluginStream destroyStreamWithReason:]): set the reason, call destroyStream
        (-[WebBaseNetscapePluginStream receivedError:]): set deliveryData length to 0 so no more data is streamed, call destroyStreamWithReason
        (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): don't call NPP_StreamAsFile because this has to be called right before NPP_DestroyStream in destroyStream
        (-[WebBaseNetscapePluginStream deliverData]): new, call NPP_WriteReady and NPP_Write and properly obey their returned values
        (-[WebBaseNetscapePluginStream receivedData:]): call deliverData
        * Plugins.subproj/WebNetscapePluginStream.m:
        (-[WebNetscapePluginStream stop]): call receivedError here
        (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): don't call receivedError here because after the load is complete, stream is set to nil and receivedError can be called after the completed load

2003-09-04  Chris Blumenberg  <cblu@apple.com>

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView postURL:target:len:buf:file:]): Fixed typo in newly added comment.

2003-09-04  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3407328>: request headers at the start of the file passed to NPN_PostURL don't work for Acrobat plug-in?

        Reviewed by john.

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView postURL:target:len:buf:file:]): As documented, allow headers to be specified via NPP_PostURL when using a file.

=== Safari-97 ===

2003-09-03  John Sullivan  <sullivan@apple.com>

        - fixed 3406411 -- infoseek.co.jp: many console errors about 
        attempting to set non-screen font (HiraMinPro-W3)

        Reviewed by Ken

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (_drawGlyphs):
        use ERROR instead of NSLog for the printing-font-used-on-screen
        case, so it doesn't flood the world's console logs. We need to
        investigate why this is happening also, but that can probably
        be post-Panther.

2003-09-01  John Sullivan  <sullivan@apple.com>

        - WebKit part of fix for 3402489 -- REGRESSION (7B48-7B55): Some         printed web pages are too small (width is half a page)

        This was a regression caused by the fix for 3378810.

        Reviewed by Maciej

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView layoutToPageWidth:adjustingViewSize:]):
        now takes adjustViewSize flag, and passes it down to
        one of bridge's forceLayout calls.
        (-[WebHTMLView layout]):
        pass NO for adjustViewSize flag in this case
        (-[WebHTMLView _setPrinting:pageWidth:adjustViewSize:]):
        pass adjustViewSize flag down to layoutToPageWidth instead
        of using it directly here; this is the wrong level to use
        it directly since the bridge is no longer set up for
        printing after the layoutToPageWidth call completes.

2003-08-30  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by John.

        - fixed 3401709 - [WebView searchFor:] with wrap:NO hangs if the search fails
        * WebView.subproj/WebView.m:
        (-[WebView searchFor:direction:caseSensitive:wrap:]): Fix for
        wrap:NO case as suggested by Darin.

=== Safari-96 ===

2003-08-29  Richard Williamson   <rjw@apple.com>

        Fixed 3401334.  Use IB document key when checking for reference removal on instances of WebPreferences.

        Also removed _userDefaultsKeysForIB, no longer needed by IB.

        Reviewed by John.

        * WebView.subproj/WebPreferences.m:
        (+[WebPreferences _removeReferenceForIdentifier:]):
        (-[WebPreferences _postPreferencesChangesNotification]):
        * WebView.subproj/WebPreferencesPrivate.h:

2003-08-29  Richard Williamson   <rjw@apple.com>

        Fixed 3400807.  Don't release state associated with the current b/f item.  We shouldn't normally have page cache state associated with the current item (3401376).  This fix guarantees that we won't prematurely release the page cache state for the current


 item.

        Reviewed byJohn Sullivan.

        * History.subproj/WebBackForwardList.m:
        (-[WebBackForwardList _clearPageCache]):

2003-08-28  Richard Williamson   <rjw@apple.com>

        Fixed 3399736.  Fixed several problems with WebView/WebPreferences
        interaction.

        Reviewed by Eric Seymour.

        * Misc.subproj/WebKitLogging.h:
        * Misc.subproj/WebKitLogging.m:
        Added debug logging.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (_drawGlyphs): Checkin for 3398229 below.

        * WebView.subproj/WebPreferences.m:
        (-[WebPreferences initWithIdentifier:]):
        (-[WebPreferences initWithCoder:]):
        (-[WebPreferences encodeWithCoder:]):
        (+[WebPreferences standardPreferences]):
        (+[WebPreferences _getInstanceForIdentifier:]):
        (+[WebPreferences _setInstance:forIdentifier:]):
        (+[WebPreferences _concatenateKeyWithIBCreatorID:]):
        * WebView.subproj/WebView.m:
        (-[WebView _commonInitializationWithFrameName:groupName:]):
        (-[WebView initWithCoder:]):
        (-[WebView encodeWithCoder:]):

2003-08-27  Richard Williamson   <rjw@apple.com>

        Fixed 3398229.  When we request a font from NSFont by name we should use a case specific name.  We do case insensitve comparsion, but once a match is found we should use the actual font name, not the requested name.  Two layout tests are still failing, b


ut I don't think the failures are font related.

        Reviewed by Hyatt.

        * WebCoreSupport.subproj/WebTextRendererFactory.m:
        (-[WebTextRendererFactory fontWithFamily:traits:size:]):

=== Safari-95 ===

2003-08-27  Richard Williamson   <rjw@apple.com>

        Fixed 3397235.  WebView wasn't archiving useBackForwardList.

        Reviewed by Eric Seymour.

        * WebView.subproj/WebView.m:
        (-[WebView initWithCoder:]):
        (-[WebView encodeWithCoder:]):

2003-08-26  Richard Williamson   <rjw@apple.com>

        Fixed 3385478.  Look for an exact match for font names (using PS names)        before matching on family names.

        Also added logging to help debug now resolved binding problem.

        Reviewed by Maciej.

        * Misc.subproj/WebKitLogging.h:
        * Misc.subproj/WebKitLogging.m:
        * WebCoreSupport.subproj/WebTextRendererFactory.m:
        (-[WebTextRendererFactory fontWithFamily:traits:size:]):
        * WebView.subproj/WebView.m:
        (-[WebView addObserver:forKeyPath:options:context:]):
        (-[WebView removeObserver:forKeyPath:]):

2003-08-26  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed 3310943 -- REGRESSION (Panther): textareas in forms sometimes draw blank (bugreporter)

        There are two fixes here. The more elegant and slightly faster one that requires a new AppKit,
        and the less elegant one that works without AppKit support. By including both we don't have to
        worry about timing of submission of WebKit vs. AppKit but we get the good, elegant fix. Later,
        we can delete the less elegant fix.

        * WebView.subproj/WebClipView.m:
        (+[WebClipView initialize]): Set up a boolean global so we only hav to do the "does AppKit support
        _focusRingVisibleRect" check one time.
        (-[WebClipView resetAdditionalClip]): Only do the renewGState thing if we don't have the
        _focusRingVisibleRect method, but if we do the renewGState thing, do it to self and all descendants
        using _web_renewGStateDeep.
        (-[WebClipView setAdditionalClip:]): Ditto.
        (-[WebClipView visibleRect]): Only limit this based on the additional clip if we don't have the
        _focusRingVisibleRect method.
        (-[WebClipView _focusRingVisibleRect]): Override the new method. Harmless if it's an old AppKit
        that doesn't have the method yet.
        (-[NSView _web_renewGStateDeep]): Implemented this helper method. We can get rid of it once we
        are entirely on the new AppKit.

2003-08-26  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed 3321247 -- window size box disappears from Help window (caused by WebKit NSView hackery)

        * WebView.subproj/WebHTMLViewPrivate.m:
        (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]),
        (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]):
        Don't propagate dirty rects at all. This was causing problems because now the AppKit uses
        dirty regions, not dirty rects. In AppKit-722 and newer, _setDrawsDescendants: takes care of this
        for us so we don't have to do anything at all.

2003-08-26  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed 3392650 -- REGRESSION?: assertion fails trying Apple-hosted page load test while not on Apple network

        * WebView.subproj/WebFramePrivate.m: (-[WebFrame _isLoadComplete]):
        Stop loading the provisional data source before blowing it away, in case
        there are some callbacks that haven't occurred yet. It's a waste of time to
        try to handle those additional callbacks, and can lead to failed assertions
        since the data source won't be hooked up to any frame any more.

2003-08-25  Richard Williamson   <rjw@apple.com>

        Fix for 3391609.  Our rounding hack wasn't correctly reflected in the selection point
        code.  Piggy-backed on this fix are fixes for selection of letter-spacing, word-spacing
        and justified text.

        Reviewed by Hyatt.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (initializeCharacterWidthIterator):
        (widthAndGlyphForSurrogate):
        (widthForNextCharacter):
        (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):

2003-08-25  John Sullivan  <sullivan@apple.com>

        - fixed 3391264 -- REGRESSION (Panther): Back/Forward buttons not
         updating immediately after page load

        The buttons are updated in response to window update notifications.
        Jaguar was sending so many extra bogus notifications that it
        masked the fact that we weren't ensuring that these notifications
        were sent at all in the case of non-event-based interesting
        changes that might affect menu items/toolbar items/etc.

        Reviewed by Richard

        * WebView.subproj/WebViewPrivate.m:
        (-[WebView _didStartProvisionalLoadForFrame:]):
        call -[NSApp setWindowsNeedUpdate:YES] so window update notices
        will be sent
        (-[WebView _didCommitLoadForFrame:]):
        ditto
        (-[WebView _didFinishLoadForFrame:]):
        ditto
        (-[WebView _didFailLoadWithError:forFrame:]):
        ditto
        (-[WebView _didFailProvisionalLoadWithError:forFrame:]):
        ditto

2003-08-24  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed 3382179 -- REGRESSION: many images scroll down while loading (e.g., homepage.mac.com slide show)

        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer drawClippedToValidInRect:fromRect:]): While loading, always draw one less line than
        the number NSImage says we have, since that last line is a partial line and draws unwanted white. This
        is not what the bug report complains about, but is a longstanding and very minor issue. Remove the code
        that adjust the Y origin. This is what the bug report is about. That adjustment is incorrect and was
        unknowingly compensating for some kind of NSImage bug that is now fixed.
        (-[WebImageRenderer tileInRect:fromPoint:]): Added an assertion that the WebImageRenderer is flipped.
        The code does assume that it's flipped.

2003-08-22  John Sullivan  <sullivan@apple.com>
        - fixed 3385837 -- REGRESSION: can't paste link from Safari into 
        Keynote (paste at top level, not into text)

        Reviewed by Darin

        The problem was that we were using a single list of pasteboard
        types for both "types we can read" and "types we can write", but
        NSFilenamesPBoardType wasn't being written to, creating a bad
        pasteboard. The fix is to split this list in two. We could do
        this a little more elegantly if we weren't paranoid about 
        last-minute SPI changes breaking compatibility with Sherlock or
        some other internal client.

        * Misc.subproj/WebNSPasteboardExtras.h:
        add new _web_writableDragTypesForURL, commented various methods
        better.

        * Misc.subproj/WebNSPasteboardExtras.m:
        (+[NSPasteboard _web_writableDragTypesForURL]):
        implement _web_writableDragTypesForURL; it's just like
        _web_dragTypesForURL but without the NSFilenamesPBoardType
        (-[NSPasteboard _web_writeURL:andTitle:withOwner:]):
        use _web_writableDragTypesForURL

        * Misc.subproj/WebNSViewExtras.m:
        (-[NSView _web_dragPromisedImage:rect:URL:title:event:]):
        use _web_writableDragTypesForURL

2003-08-22  Darin Adler  <darin@apple.com>

        Reviewed by Dave.

        - fixed 3386051 -- REGRESSION: text "too dark" after the page is deactivated and reactivated (bugweb)

        Cached clips were causing us to draw nothing for the top frames of framesets, resulting in darkened
        text because we draw anti-aliased text twice without drawing a background.

        * WebView.subproj/WebClipView.m:
        (-[WebClipView resetAdditionalClip]): Invalidate cached graphics state when changing the visible rect.
        (-[WebClipView setAdditionalClip:]): Ditto.

2003-08-21  Darin Adler  <darin@apple.com>

        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _setPrinting:pageWidth:adjustViewSize:]):
        Tweak to printing fix: Be sure to call adjustViewSize after applying styles and doing layout.

2003-08-21  Richard Williamson   <rjw@apple.com>

        Fixed 3378810.  Avoid resizing frame from drawRect: when printing.  This will corrupt the graphics context.

        Reviewed by Hyatt.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView layoutToPageWidth:]):
        (-[WebHTMLView drawRect:]):
        (-[WebHTMLView _setPrinting:pageWidth:adjustViewSize:]):
        (-[WebHTMLView beginDocument]):
        (-[WebHTMLView endDocument]):

=== Safari-94 ===

2003-08-21  John Sullivan  <sullivan@apple.com>

        - fixed 3387950 -- REGRESSION (85-89): Standalone image in Safari prints much 
        smaller than in Jaguar

        Reviewed by Chris.

        * WebView.subproj/WebImageView.m:
        (-[WebImageView adjustFrameSize]):
        renamed from setFrameSizeUsingImage; now sets the frame size to exactly
        the image size (as it did in Jaguar always) when we're not drawing to
        the screen.
        (-[WebImageView setFrameSize:]):
        updated for name change
        (-[WebImageView layout]):
        ditto
        (-[WebImageView beginDocument]):
        adjust frame size (before printing)
        (-[WebImageView endDocument]):
        adjust frame size (after printing)

2003-08-19  Richard Williamson   <rjw@apple.com>

        Fixed 3383623 (and 3384896).  Remove our unbeknownst work-around for an NSImage bug that incorrectly flipped y coordinate when drawing a partial rect within the image.  This has been fixed in Panther, making our work-around no longer necessary.

        Reviewed by Darin.

        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer tileInRect:fromPoint:]):
        * WebKit.pbproj/project.pbxproj:

2003-08-18  Richard Williamson  <rjw@apple.com>

        Fixed 3140065.  Bidi neutrals in RTL runs are now handled correctly.  Still have
        problem with bidi neutrals at directional boundaries 3382926.

        Reviewed by Maciej.

        * Misc.subproj/WebUnicode.h:
        * Misc.subproj/WebUnicode.m:
        (shapedString):
        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):

2003-08-18  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed 3299893 -- oncontextmenu support

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView menuForEvent:]): Call sendContextMenuEvent: on the bridge, and
        don't show a menu if the event is handled over in WebCore.
        (-[WebHTMLView mouseDown:]): Don't send a mouse down event in the case where we
        already sent a context menu event and decided not to put up a real context menu.

2003-08-18  Richard Williamson  <rjw@apple.com>

        Fix build problem from last checkin.

        Reviewed by Darin.

        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer initWithData:MIMEType:]):
        (-[WebImageRenderer initWithContentsOfFile:]):

2003-08-17  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed 3376522 -- REGRESSION: uncaught exception from bad .ico causes crash (login window at 34sp.com)

        I added exception handling in all the places we load images with NSImage.

        * Misc.subproj/WebIconDatabase.m:
        (-[WebIconDatabase _iconsForIconURLString:]): Add exception handler.
        * Misc.subproj/WebIconLoader.m:
        (-[WebIconLoader connectionDidFinishLoading:]): Add exception handler.
        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer initWithData:MIMEType:]): Add exception handler.
        (-[WebImageRenderer initWithContentsOfFile:]): Add exception handler.
        (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): Add exception handler.

2003-08-15  Richard Williamson  <rjw@apple.com>

        Fixed 3378530.  Ensure that line is always drawn within bounds
        of element.

        Reviewed by Chris.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer drawLineForCharacters:yOffset:withWidth:withColor:]):

2003-08-15  Richard Williamson  <rjw@apple.com>

        Fixed 3379439.  Remove checks for CG symbols.  No longer needed.

        Reviewed by Darin.

        * WebCoreSupport.subproj/WebTextRendererFactory.m:
        (+[WebTextRendererFactory createSharedFactory]):

=== Safari-93 ===

2003-08-14  Vicki Murley  <vicki@apple.com>

        Reviewed by John. 

        * WebKit.pbproj/project.pbxproj: deleted WebKit.order from the project.

2003-08-14  Vicki Murley  <vicki@apple.com>

        Reviewed by John. 

        * WebKit.order: Removed. We now point to the WebKit order file in /AppleInternal/OrderFiles.
        * WebKit.pbproj/project.pbxproj: set sectorder flag to point to /AppleInternal/OrderFiles/WebKit.order

2003-08-14  Darin Adler  <darin@apple.com>

        Reviewed by Chris.

        - fixed 3344259 -- flipped image when copying from Safari in 1000s of colors mode

        The workaround is to turn off the NSImage cache. Andrew says this won't have any
        practical repercussions other than making the bug go away.
        
        Seems to have a side effect of speeding up the cvs-base page load test!

        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer initWithMIMEType:]): Set mode to NSImageCacheNever.
        (-[WebImageRenderer initWithData:MIMEType:]): Ditto.
        (-[WebImageRenderer initWithContentsOfFile:]): Ditto.
        (-[WebImageRenderer _adjustSizeToPixelDimensions]): Don't set mode to NSImageCacheDefault.

2003-08-14  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        Fix for this bug:

        <rdar://problem/3375042>: Change usages of NSURL absoluteString in WebKit 
        to use improved variants

        * History.subproj/WebHistoryItem.m:
        (-[WebHistoryItem initWithURL:title:]): Use data-as-string.
        (-[WebHistoryItem initWithURL:target:parent:title:]): Use data-as-string.
        (-[WebHistoryItem setURL:]): Use data-as-string.
        * History.subproj/WebHistoryPrivate.m:
        (-[WebHistoryPrivate addItem:]): Remove FIX_VISITED ifdef
        (-[WebHistoryPrivate removeItem:]): Ditto
        (-[WebHistoryPrivate containsURL:]): Ditto. Use data-as-string.
        (-[WebHistoryPrivate itemForURL:]): Ditto. Ditto.
        (-[WebHistoryPrivate loadFromURL:error:]): Fix log message to URL.
        (-[WebHistoryPrivate _saveHistoryGuts:URL:error:]): Ditto.
        (-[WebHistoryPrivate saveToURL:error:]): Ditto.
        * History.subproj/WebURLsWithTitles.m:
        (+[WebURLsWithTitles writeURLs:andTitles:toPasteboard:]): Use visible-string.
        * Misc.subproj/WebIconLoader.m:
        (-[WebIconLoader connectionDidFinishLoading:]): Use data-as-string.
        * Misc.subproj/WebKitErrors.m:
        (+[NSError _webKitErrorWithDomain:code:URL:]): Added new convenience that takes
        a URL instead of a URL string.
        (-[NSError _initWithPluginErrorCode:contentURL:pluginPageURL:pluginName:MIMEType:]):
        Added new convenience that takes URLs instead of a URL stringis.
        * Misc.subproj/WebKitErrorsPrivate.h: Declared new conveniences.
        * Misc.subproj/WebNSPasteboardExtras.m:
        (-[NSPasteboard _web_writeURL:andTitle:withOwner:types:]): Use visible-string.
        * Misc.subproj/WebNSURLExtras.h:
        * Misc.subproj/WebNSURLExtras.m:
        (-[NSURL _web_originalDataAsString]): Added.
        (-[NSURL _webkit_isJavaScriptURL]): Use data-as-string.
        (-[NSURL _webkit_scriptIfJavaScriptURL]): Ditto
        (-[NSURL _webkit_isFTPDirectoryURL]): Ditto
        (-[NSURL _webkit_shouldLoadAsEmptyDocument]): Ditto. Also use _web_isEmpty.
        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Use data-as-string.
        * Plugins.subproj/WebNetscapePluginDocumentView.m:
        (-[WebNetscapePluginDocumentView setDataSource:]): Use new error convenience.
        * Plugins.subproj/WebNetscapePluginStream.m:
        (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): Ditto.
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge requestedURLString]): Use data-as-string.
        * WebCoreSupport.subproj/WebSubresourceClient.m:
        (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): Use new error convenience.
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate cancelledError]): Ditto.
        * WebView.subproj/WebDataProtocol.m:
        (-[WebDataProtocol startLoading]): Ditto.
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _stopLoadingInternal]): Ditto.
        (-[WebDataSource _updateIconDatabaseWithURL:]): Use data-as-string.
        (-[WebDataSource _loadIcon]): Ditto.
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _createItem:]): Use data-as-string.
        (-[WebFrame _transitionToCommitted:]): Fix log message to use URL.
        (-[WebFrame _purgePageCache]): Use _web_isEmpty
        (-[WebFrame _setState:]): Fix log message to use URL.
        (-[WebFrame _handleUnimplementablePolicyWithErrorCode:forURL:]): Use new error convenience.
        (-[WebFrame _loadItem:withLoadType:]): Fix log message to use URL.
        (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]):
        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): Fix log messages to use URL.
        (-[WebFrame _shouldTreatURLAsSameAsCurrent:]): Use data-as-string.
        * WebView.subproj/WebHTMLViewPrivate.m:
        (-[WebHTMLView _dragImageForLinkElement:]): Use visible-string.
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient interruptForPolicyChangeError]): Use new error convenience.
        * WebView.subproj/WebPreferences.m:
        (-[WebPreferences setUserStyleSheetLocation:]): Use data-as-string.
        * WebView.subproj/WebView.m:
        (-[WebView mainFrameURL]): Use data-as-string.
        (-[WebView mainFrameIcon]): Use data-as-string.
        * WebView.subproj/WebViewPrivate.m:
        (-[WebView _updateWebCoreSettingsFromPreferences:]): Use data-as-string.

2003-08-12  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Ken.

        - fixed 3365242 - non-repro abort in HTMLTokenizer at ajc.com
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _receivedData:]): ref the data source around
        processing the data and afterwards, to avoid crashing if a script
        in this chunk of data made the frame go away.

2003-08-13  Richard Williamson   <rjw@apple.com>

        Fixed 3376077.  Override automaticallyNotifiesObserversForKey: to
        prevent unnecessary additional notifications from being sent.  Also
        added development-only logging (bulk of the change).

        Reviewed by Chris.

        * Misc.subproj/WebKitLogging.h:
        * Misc.subproj/WebKitLogging.m:
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _setTitle:]):
        (-[WebDataSource _updateIconDatabaseWithURL:]):
        * WebView.subproj/WebViewPrivate.h:
        * WebView.subproj/WebViewPrivate.m:
        (-[WebView _didChangeValueForKey:]):
        (-[WebView _willChangeValueForKey:]):
        (-[WebView _progressStarted]):
        (-[WebView _progressCompleted]):
        (-[WebView _incrementProgressForConnection:data:]):
        (+[WebView automaticallyNotifiesObserversForKey:]):
        (-[WebView _willChangeBackForwardKeys]):
        (-[WebView _didChangeBackForwardKeys]):
        (-[WebView _didStartProvisionalLoadForFrame:]):
        (-[WebView _didCommitLoadForFrame:]):
        (-[WebView _didFinishLoadForFrame:]):
        (-[WebView _didFailLoadWithError:forFrame:]):
        (-[WebView _didFailProvisionalLoadWithError:forFrame:]):

2003-08-13  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3347134>: After first successful POST in Flash, Safari does not repeat POST and gives cached reply

        Reviewed by kocienda.

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]): call [request setCachePolicy:NSURLRequestReloadIgnoringCacheData]

2003-08-13  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        Fix for this bug:

        <rdar://problem/3366441>: URL strings with UTF-8 characters 
        processed improperly for display by WebKit

        * Misc.subproj/WebNSURLExtras.h:
        * Misc.subproj/WebNSURLExtras.m:
        (isHexDigit): Added
        (hexDigitValue): Added
        (-[NSURL _web_userVisibleString]): Added. Produces a string that
        is suitable for display to a user in the UI.
        (-[NSURL _web_isEmpty]): Convenience to check for an empty URL
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge requestedURLString]): Now calls _web_userVisibleString

2003-08-13  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        Fix for this bug:

        <rdar://problem/3374458>: Choose UTF-8 for encoding when calling 
        CFURLCreateAbsoluteURLWithBytes in WebKit

        Calling CFURLCreateAbsoluteURLWithBytes with ISO Latin 1 string
        encoding results in some issues when trying to decode a URL path in
        preparation for doing file I/O. Instead of doing a redecoding step
        whenever a path is needed to perform I/O, use UTF-8 as the encoding
        right from the start. This will mean that illegal UTF-8 sequences will
        be rejected by CFURLCreateAbsoluteURLWithBytes. However, we can work
        around this by falling back on ISO Latin1 in this case. The end result
        is that existing code throughout the URL loading system can remain
        unchanged and simply call the path method on NSURL as it does now and
        get the right result for its I/O requirements.

        * Misc.subproj/WebNSURLExtras.m:
        (+[NSURL _web_URLWithData:relativeToURL:])

2003-08-13  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        Fix for this bug:

        <rdar://problem/3374487>: URLs with UTF-8 escape sequences can't be accessed         
        when typed in the Safari location bar

        * Misc.subproj/WebNSPasteboardExtras.m:
        (-[NSPasteboard _web_bestURL]): Call _web_URLWithUserTypedString: to make a
        URL from this type of string.
        * Misc.subproj/WebNSURLExtras.h:
        * Misc.subproj/WebNSURLExtras.m:
        (hexDigit): Added.
        (+[NSURL _web_URLWithUserTypedString:]): Added. Creates a URL from a string
        that is typed in a user, for example, in the Safari location bar.

2003-08-12  John Sullivan  <sullivan@apple.com>

        - fixed 3369505 -- leaks of NSCFTimer after running through the 
        cvs-base test suite

        Reviewed by Richard

        * WebView.subproj/WebFrame.m:
        (-[WebFrame stopLoading]):
        release timer before nil'ing it out

2003-08-12  Ed Voas  <voas@apple.com>

        Reviewed by Richard.

                Make sure to override the standard behavior for ordering windows to do nothing for Carbon stuff.

        * Carbon.subproj/CarbonWindowAdapter.m:
        (-[CarbonWindowAdapter _reallyDoOrderWindow:relativeTo:findKey:forCounter:force:isModal:]):

2003-08-11  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3163589>: Macromedia Flash 6 cannot take Asian text entry in Safari

        Revidewed by darin.

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView installKeyEventHandler]): new
        (-[WebBaseNetscapePluginView removeKeyEventHandler]): new
        (-[WebBaseNetscapePluginView becomeFirstResponder]): call installKeyEventHandler
        (-[WebBaseNetscapePluginView resignFirstResponder]): call removeKeyEventHandler
        (-[WebBaseNetscapePluginView keyUp:]): call TSMProcessRawKeyEvent so key events go through the machinery and UI that plug-ins expect
        (-[WebBaseNetscapePluginView keyDown:]): call TSMProcessRawKeyEvent so key events go through the machinery and UI that plug-ins expect
        (TSMEventHandler): turn the TSM event into a series of EventRecords and pass them to the plug-in
        (-[WebBaseNetscapePluginView stop]): call removeKeyEventHandler because resignFirstResponder may not get called

2003-08-08  Richard Williamson  <rjw@apple.com>
        Lots of healthy cleanup.  Introduced width and shaping iterators
        to simplify code and remove allocations for large text runs.  Should
        go further and make more use of these in the future (post panther).

        Fixed 3369608.  Crash in -[WebTextRenderer _CG_drawRun:style:atPoint:] at lovepucca.net
        Fixed 3118050.  Crash selecting text at http://www.faqs.org/rfcs/rfc2849.html (SELECTION)
        Fixed 3371115.  Can't correctly select text that contains surrogate pairs

        Reviewed by darin.

        * Misc.subproj/WebUnicode.h:
        * Misc.subproj/WebUnicode.m:
        (prevChar):
        (nextChar):
        (prevLogicalCharJoins):
        (nextLogicalCharJoins):
        (glyphVariantLogical):
        (hasShapeForNextCharacter):
        (shapeForNextCharacter):
        (initializeCharacterShapeIterator):
        (shapedString):
        * WebCoreSupport.subproj/WebTextRenderer.h:
        * WebCoreSupport.subproj/WebTextRenderer.m:
        (initializeCharacterWidthIterator):
        (widthAndGlyphForSurrogate):
        (widthForNextCharacter):
        (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
        (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:]):

        Just formatting changed here
        * WebView.subproj/WebHTMLViewPrivate.m:
        (-[WebHTMLView _dragImageForLinkElement:]):

2003-08-08  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed 3368236 -- NSURL exception going back at http://derstandard.at/

        * WebView.subproj/WebFramePrivate.m: (-[WebFrame _createItem:]): Put "about:blank" in
        the back/forward item if there is no URL (which happens because there is no data source
        because the frame has never successfully loaded anything). Perhaps we can do better
        some day, but this avoids all the major bad effects in a safe way.

        * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.

=== Safari-92 ===

2003-08-07  Richard Williamson   <rjw@apple.com>

        Fixed 3362939.  Checked flippyness of view and adjust y coord accordingly.

        Reviewed by John.

        * Misc.subproj/WebKitNSStringExtras.m:

2003-08-07  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3330742>: 1.0 Safari fails to send NPP_URLNotify with the error of NPRES_NETWORK_ERR to Flash

        Reviewed by darin.

        * Plugins.subproj/WebBaseNetscapePluginStream.m:
        (-[WebBaseNetscapePluginStream destroyStreamWithReason:]): call NPP_URLNotify so we cover both the failure and successful cases
        (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): have destroyStreamWithReason call NPP_URLNotify

2003-08-07  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin
        Fix for this bug:

        <rdar://problem/3368552>: Fix inappropriate use of NSURL creation methods in WebKit

        Change calls to URLWithString: or URLWithString:relativeToURL to
        _web_URLWithDataAsString: and _web_URLWithDataAsString:relativeToURL,
        respectively.

        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _loadItem:withLoadType:]):
        (-[WebFrame _loadURL:intoChild:]):
        * WebView.subproj/WebPreferences.m:
        (-[WebPreferences userStyleSheetLocation]):
        * WebView.subproj/WebView.m:
        (-[WebView takeStringURLFrom:]):
        (-[WebView setMainFrameURL:]):

2003-08-06  Darin Adler  <darin@apple.com>

        Reviewed by Richard.

        - fixed 3347114 -- remove vestiges of posing, including init routine, from WebKit

        * WebView.subproj/WebHTMLViewPrivate.m: Removed WebNSTextView, WebNSView, and WebNSWindow,
        removed the code to have them pose as NSTextView, NSView, and NSWindow, and removed excess
        imports that are no longer needed.

2003-08-06  Richard Williamson   <rjw@apple.com>

        Fixed 3365378.  Edge case text run > 1024 hit by JS generated string.  We weren't correctly checking size of string length.  Used /2 instead of *2.

        Reviewed by Vicki (and Dan!).

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer _CG_drawHighlightForRun:style:atPoint:]):
        (-[WebTextRenderer _CG_drawRun:style:atPoint:]):

2003-08-06  Richard Williamson   <rjw@apple.com>

        Fixed 3348630.  Pick up about 1% by moving implementation of _unicodeDirection to WebCore and inlining.

        Reviewed by Ken.

        * Misc.subproj/WebUnicode.h:
        * Misc.subproj/WebUnicode.m:
        (_unicodeDirection):
        (_unicodeJoining):
        (_unicodeMirrored):
        (WebKitInitializeUnicode):
        * Misc.subproj/WebUnicodeTables.m:

2003-08-06  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3161102>: Avoid retain cycles by destroying plug-ins in the page cache before dealloc

        Reviewed by rjw.

        * History.subproj/WebHistoryItemPrivate.h: added declaration for [WebBackForwardList _clearPageCache]
        * WebView.subproj/WebViewPrivate.m:
        (-[WebView _close]): clear the page cache when we are closing the web view so we call destroy on all the plug-ins on the page cache to break any retain cycles.

2003-08-04  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3106525>: Results of JavaScript requests are not returned to plug-ins

        Reviewed by darin.

        * Plugins.subproj/WebBaseNetscapePluginStream.h:
        * Plugins.subproj/WebBaseNetscapePluginStream.m:
        (-[WebBaseNetscapePluginStream setNotifyData:]): new
        (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): renamed from setResponse
        (-[WebBaseNetscapePluginStream startStreamWithResponse:]): new
        (-[WebBaseNetscapePluginStream receivedData:]): tweak
        (-[WebBaseNetscapePluginStream destroyStreamWithReason:]): tweak
        (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): tweak
        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:targetFrame:]): new
        (-[WebBaseNetscapePluginView loadPluginRequest:]): call evaluateJavaScriptPluginRequest::
        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): call loadPluginRequest for JS requests
        * Plugins.subproj/WebNetscapePluginRepresentation.m:
        (-[WebNetscapePluginRepresentation receivedData:withDataSource:]): call renamed startStreamWithResponse
        * Plugins.subproj/WebNetscapePluginStream.m:
        (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]): call setNotifyData
        (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): call renamed startStreamWithResponse

2003-08-05  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Richard

        Plugins in WebKit need to store URLs in the form of "C-style" strings. 
        Create and use a new, improved method to make these strings, and do 
        not traverse through the NSURL absoluteString method, since that can i
        introduce errors.

        * Misc.subproj/WebNSURLExtras.h: Added _web_URLCString method.
        * Misc.subproj/WebNSURLExtras.m:
        (-[NSURL _web_URLCString]): Added.
        * Plugins.subproj/WebBaseNetscapePluginStream.m:
        (-[WebBaseNetscapePluginStream setResponse:]): Call new _web_URLCString method.
        (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): Ditto.
        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView frameStateChanged:]): Ditto.
        (-[WebBaseNetscapePluginView loadPluginRequest:]): Ditto.

2003-08-05  Ken Kocienda  <kocienda@apple.com>

        Reviewed by John

        Fix for this bug:

        <rdar://problem/3365035>: Modify WebNSURLExtras to call improved NSURL creation API

        * Misc.subproj/WebNSURLExtras.m:
        (+[NSURL _web_URLWithDataAsString:]): Call through to _web_URLWithDataAsString:relativeToURL:.
        (+[NSURL _web_URLWithDataAsString:relativeToURL:]): Call through to _web_URLWithData:relativeToURL:.
        (+[NSURL _web_URLWithData:]): Ditto.
        (+[NSURL _web_URLWithData:relativeToURL:]): Call CFURLCreateAbsoluteURLWithBytes API in
        CoreFoundation.
        (-[NSURL _web_originalData]): Use CFURLGetBytes API in CoreFoundation. Also make sure
        that a relative URL is resolved against its base.
        (-[NSURL _web_displayableString]): Call _web_originalData to get bytes to use
        to create the string.
        (-[NSURL _web_URLStringLength]): Use CFURLGetBytes API in CoreFoundation.

2003-08-04  Richard Williamson  <rjw@apple.com>

        Fixed 3363011.  Pass b/f related key down events to super if b/f is disabled.

        Reviewed by Chris.

        * WebView.subproj/WebFrameView.m:
        (-[WebFrameView keyDown:]):


        Fixed 3363345.  Retain static array used by IB to present WebView's bindable keys.

        Review by Maciej

        * WebView.subproj/WebViewPrivate.m:
        (-[WebView _declaredKeys]):

2003-08-04  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        Fix for this bug:

        <rdar://problem/3363318>: REGRESSION: Plug-in content doesn't show up, animate etc

        WebNetscapePluginConnectionDelegate must implement this method:

        - (void)connection:(NSURLConnection *)con didReceiveData:(NSData *)data lengthReceived:(long long)lengthReceived

        * Plugins.subproj/WebNetscapePluginStream.m:
        (-[WebNetscapePluginConnectionDelegate connection:didReceiveData:lengthReceived:])

2003-08-04  Darin Adler  <darin@apple.com>

        Reviewed by Richard.

        - fixed 3298153 -- get "screen font while printing" error, bad stuff happens after that (Sherlock, Safari)

        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]):
        If we find ourselves in drawRect with the wrong printing mode, that usually
        means we're being printed as part of some larger print process, so do the
        layout in printing mode.

2003-08-04  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3360977>: REGRESSION (7B28-7B29): main webview rejects drop of doc icon from BBEdit

        Reviewed by darin.

        * Misc.subproj/WebNSPasteboardExtras.m:
        (+[NSPasteboard _web_dragTypesForURL]): we handle NSFilenamesPboardType
        * WebKit.pbproj/project.pbxproj:

2003-08-04  Richard Williamson   <rjw@apple.com>

        Fixed 3223989.  Pass key down events to super if scrolling is disabled.

        Reviewed by Chris (Welcome back!).

        * WebView.subproj/WebFrameView.m:
        (-[WebFrameView keyDown:]):

2003-08-01  Richard Williamson   <rjw@apple.com>

        Fixed 3095376.  Implemented correct selection behavior for rtl scripts.
        We still use our Arabic and Hebrew layout scheme.

        Fixed 3360487.  Implemented selection of ATSU rendered code.

        Fixed 3360242.        Return nil from _bodyBackgroundColor when no 
        background color specified.  This was requested by Doug D.

        Reviewed by Maciej.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer drawHighlightForRun:style:atPoint:]):
        (-[WebTextRenderer _CG_drawHighlightForRun:style:atPoint:]):
        (-[WebTextRenderer drawRun:style:atPoint:]):
        (-[WebTextRenderer _CG_drawRun:style:atPoint:]):
        (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
        (-[WebTextRenderer _ATSU_drawHighlightForRun:style:atPoint:]):
        (-[WebTextRenderer _ATSU_drawRun:style:atPoint:]):
        (-[WebTextRenderer pointToOffset:style:position:reversed:]):
        (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:]):
        (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:]):

2003-08-01  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        - fixed 3339255 - REGRESSION (73-85): javascript failure at gia.apple.com

        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _setState:]): When going to provisional state, tell the bridge that
        a provisional load started, so it can cancel any pending redirects.

=== Safari-91 ===

2003-07-31  Richard Williamson   <rjw@apple.com>

        Make sure width is initialized for monospace optimizations.
        Reviewed by Vicki.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer checkSelectionPoint:style:position:reversed:]):

2003-07-31  Richard Williamson   <rjw@apple.com>

        Fixed 3359152.  SPI to get the background color for a frame.

        Reviewed by hyatt.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer checkSelectionPoint:style:position:reversed:]):
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _bodyBackgroundColor]):

2003-07-31  Richard Williamson   <rjw@apple.com>

        Fixed 3358870.  Fall back on 'user defaults' values when a value
        in a custom instance of WebPreferences hasn't been overriden.

        Reviewed by Eric Seymour.

        * WebView.subproj/WebPreferences.m:
        (-[WebPreferences _stringValueForKey:]):
        (-[WebPreferences _integerValueForKey:]):
        (-[WebPreferences _boolValueForKey:]):

2003-07-30  Richard Williamson   <rjw@apple.com>

        Preparation for 3095376.

        Reviewed by Maciej.

        * Misc.subproj/WebKitNSStringExtras.m:
        (-[NSString _web_widthWithFont:]):
        * Misc.subproj/WebStringTruncator.m:
        (stringWidth):
        * WebCoreSupport.subproj/WebTextRenderer.m:
        (shouldUseATSU):
        (-[WebTextRenderer widthForCharacters:length:]):
        (-[WebTextRenderer drawRun:style:atPoint:]):
        (-[WebTextRenderer _CG_drawRun:style:atPoint:]):
        (-[WebTextRenderer floatWidthForCharacters:stringLength:characterPosition:]):
        (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:]):
        (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:widths:letterSpacing:wordSpacing:smallCaps:fontFamilies:]):
        (-[WebTextRenderer floatWidthForRun:style:widths:]):
        (-[WebTextRenderer _floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
        (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
        (-[WebTextRenderer _createATSUTextLayoutForRun:]):
        (-[WebTextRenderer _trapezoidForRun:style:atPoint:]):
        (-[WebTextRenderer _ATSU_floatWidthForRun:style:]):
        (-[WebTextRenderer _ATSU_drawRun:style:atPoint:]):
        (-[WebTextRenderer checkSelectionPoint:style:position:reversed:]):

2003-07-30  Richard Williamson   <rjw@apple.com>

        Fixed 3356518.  Added private method called by IB to ensure
        that autoresizeSubviews flag is turned on correctly.

        Reviewed by mjs.

        * WebView.subproj/WebViewPrivate.m:
        (-[WebView _finishedMakingConnections]):

2003-07-28  Richard Williamson   <rjw@apple.com>

        Fixed 3323866.  Provide SPI to IB to enable scoping of preferences
        values on a document-by-document basis.

        Reviewed by Maciej.

        * WebView.subproj/WebPreferences.m:
        (-[WebPreferencesPrivate dealloc]):
        (-[WebPreferences initWithIdentifier:]):
        (-[WebPreferences initWithCoder:]):
        (+[WebPreferences _userDefaultsKeysForIB]):
        (+[WebPreferences _setIBCreatorID:]):
        (+[WebPreferences _IBCreatorID]):
        (-[WebPreferences _concatenateKeyWithIBCreatorID:]):
        * WebView.subproj/WebPreferencesPrivate.h:

2003-07-28  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed 3344647 -- reachedTerminalState assertion in WebBaseResourceHandleDelegate.m

        * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient cancelWithError:]):
        Use [super cancelWithError:] rather than [self receivedError:]. I checked carefully to
        see that this code now does everything the old code did (and a bit more).

2003-07-28  Richard Williamson   <rjw@apple.com>

        Fixed 3341859. 
            Check that the WebHTMLView is initialized in viewWillMoveToWindow: and
        viewDidMoveToWindow.  Don't do anything if we aren't initialized.  This
        happens when decoding a WebView.  When WebViews are decoded their subviews
            are created by initWithCoder: and so won't be normally initialized.  The 
        stub views are discarded by WebView.

        Reviewed by John.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView viewWillMoveToWindow:]):
        (-[WebHTMLView viewDidMoveToWindow]):

2003-07-28  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed 3279864 -- remove class_poseAs calls from WebKit

        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView initWithFrame:]):
        Call _setDrawsOwnDescendants, if we have a new enough AppKit.
        * WebView.subproj/WebHTMLViewPrivate.m: (+[WebHTMLView load]):
        Don't pose as NSView, if we have a new enough AppKit.

2003-07-28  Ken Kocienda  <kocienda@apple.com>

        Reviewed by John

        Fix for this bug:

        <rdar://problem/3336933>: REGRESSION (Panther): Mozilla build downloaded
        with wrong extension, bad file size (gzip)

        Use new delegate methods that allow for the correct reporting
        of progress in cases where Foundation-level content decoding         has been performed on data received

        * WebCoreSupport.subproj/WebSubresourceClient.m:
        (-[WebSubresourceClient connection:didReceiveData:lengthReceived:]):
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate connection:didReceiveData:]):
        (-[WebBaseResourceHandleDelegate connection:didReceiveData:lengthReceived:]):
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient connection:didReceiveData:lengthReceived:]):

2003-07-28  Darin Adler  <darin@apple.com>

        Reviewed by Richard.

        - fixed leak of WebDataRequestParameters objects

        * WebView.subproj/WebDataProtocol.m:
        (-[NSMutableURLRequest _webDataRequestParametersForWriting]):
        Release the WebDataRequestParameters object after putting it in the dictionary.

2003-07-28  John Sullivan  <sullivan@apple.com>

        - fixed 3236815 -- bitmap TIFFs at > 72 dpi are scaled incorrectly 
        in Safari when viewed standalone (uspto.gov)

        Reviewed by Darin

        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer _adjustSizeToPixelDimensions]):
        call setScalesWhenResized:YES

2003-07-25  Richard Williamson   <rjw@apple.com>

        Fixed 3344519.  Prevent infinite recursion attempting font substitution.

        Reviewed by Darin.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer _floatWidthForRun:style:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):

2003-07-25  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by John.

        - fixed 3280582 - REGRESSION (74-85): authentication sheet doesn't state that previous login was incorrect

        * Panels.subproj/WebAuthenticationPanel.m:
        (-[WebAuthenticationPanel setUpForChallenge:]): Use chall, the
        parameter, not challenge, the not-yet-set ivar so we get the right
        failure count &c.

2003-07-25  Richard Williamson   <rjw@apple.com>

        Use 11 point bold, instead of 12 point bold to draw dragged link
        labels.  This matches the text drawn in the bookmarks bar.

        Reviewed by John.

        * WebView.subproj/WebHTMLViewPrivate.m:
        (-[WebHTMLView _dragImageForLinkElement:]):

2003-07-24  Richard Williamson   <rjw@apple.com>

        Fixed 3279910.  Change the way we draw dragged link to use
        WebKit's measurement and drawing.  Also made the look match
        the bookmarks bar text.

        Reviewed by Maciej.

        * Misc.subproj/WebKitNSStringExtras.h:
        * Misc.subproj/WebKitNSStringExtras.m:
        (-[NSString _web_drawDoubledAtPoint:withTopColor:bottomColor:font:]):
        * WebView.subproj/WebHTMLViewPrivate.h:
        * WebView.subproj/WebHTMLViewPrivate.m:
        (-[WebHTMLView _dragImageForLinkElement:]):
        (-[WebHTMLView _handleMouseDragged:]):

2003-07-24  Richard Williamson   <rjw@apple.com>

        Removed unnecessary log.

        Reviewed by John.

        * WebCoreSupport.subproj/WebImageRendererFactory.m:
        (-[WebImageRendererFactory imageRendererWithData:MIMEType:]):
        Add another check to use ATSU for Limbu (Unicode 4.0) script.
        Also made shouldUseATSU inline.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (shouldUseATSU):

=== Safari-90 ===

2003-07-23  Maciej Stachowiak  <mjs@apple.com>

        Build breakage fix:
        Fix WebKit to build with the latest Foundation.
        * Misc.subproj/WebNSURLExtras.h:
        * Misc.subproj/WebNSURLExtras.m:
        (-[NSURL _webkit_isJavaScriptURL]):
        (-[NSURL _webkit_scriptIfJavaScriptURL]):
        (-[NSURL _webkit_isFTPDirectoryURL]):
        (-[NSString _webkit_isFTPDirectoryURL]):

2003-07-23  Richard Williamson   <rjw@apple.com>

        Fixed 3311725:  Added support for key/value binding. 
        (As a side effect also made icon loading work!  In 1.0
        it doesn't work unless a secret preference value is set.)

        Reviewed by Ken.

        * Misc.subproj/WebIconDatabase.m:
        (-[WebIconDatabase _createFileDatabase]):
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _startLoading:]):
        (-[WebDataSource _setTitle:]):
        (-[WebDataSource _updateIconDatabaseWithURL:]):
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _transitionToCommitted:]):
        (-[WebFrame _isLoadComplete]):
        * WebView.subproj/WebView.m:
        (-[WebView setMainFrameURL:]):
        (-[WebView mainFrameURL]):
        (-[WebView isLoading]):
        (-[WebView mainFrameTitle]):
        (-[WebView mainFrameIcon]):
        * WebView.subproj/WebViewPrivate.h:
        * WebView.subproj/WebViewPrivate.m:
        (-[WebView _progressStarted]):
        (-[WebView _progressCompleted]):
        (-[WebView _incrementProgressForConnection:data:]):
        (-[WebView _completeProgressForConnection:]):
        (-[WebView _declaredKeys]):
        (-[WebView setObservationInfo:]):
        (-[WebView observationInfo]):
        (-[WebView _willChangeBackForwardKeys]):
        (-[WebView _didChangeBackForwardKeys]):
        (-[WebView _didStartProvisionalLoadForFrame:]):
        (-[WebView _didCommitLoadForFrame:]):
        (-[WebView _didFinishLoadForFrame:]):
        (-[WebView _didFailLoadWithError:forFrame:]):
        (-[WebView _didFailProvisionalLoadWithError:forFrame:]):

2003-07-23  Richard Williamson   <rjw@apple.com>

        Fixed 3341119:  Crash when content contains nil (0x0) characters.

        Reviewed by Ken.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer _CG_drawRun:style:atPoint:]):

2003-07-23  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed 2/3 of 3279864 -- remove class_poseAs calls from WebKit (will also remove init routine)

        * WebView.subproj/WebHTMLViewPrivate.m: (+[WebHTMLView load]):
        Only pose as NSTextView and NSWindow if we have an older AppKit.
        If we have a new enough AppKit, the code in WebCore now takes care of things.

2003-07-23  Richard Williamson   <rjw@apple.com>

        Fixed for 3259840.  Use ATSU for scripts we don't handle internally,
        i.e.:  Syriac, Thaana, Devanagari, Bengali, Gurmukhi, Gujarati, Oriya, Tamil, Telugu, Kannada, Malayalam, Sinhala, Thai, Lao, Tibetan, Myanmar, Hangul Jamo, Khmer, Mongolian

        Also fixed issues with our rendering of Arabic.

        Changed the internal API to take WebCoreTextRun and WebCoreTextStyle
        parameters instead of scads on individual parameters.  Much cleaner.

        Reviewed by Maciej.

        * Misc.subproj/WebKitNSStringExtras.m:
        (-[NSString _web_widthWithFont:]):
        * Misc.subproj/WebStringTruncator.m:
        (stringWidth):
        * WebCoreSupport.subproj/WebTextRenderer.h:
        * WebCoreSupport.subproj/WebTextRenderer.m:
        (shouldUseATSU):
        (-[WebTextRenderer _setupFont:]):
        (-[WebTextRenderer dealloc]):
        (-[WebTextRenderer widthForCharacters:length:]):
        (-[WebTextRenderer drawRun:style:atPoint:]):
        (-[WebTextRenderer _CG_drawRun:style:atPoint:]):
        (-[WebTextRenderer floatWidthForCharacters:stringLength:characterPosition:]):
        (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:]):
        (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:letterSpacing:wordSpacing:smallCaps:fontFamilies:]):
        (-[WebTextRenderer floatWidthForRun:style:applyRounding:attemptFontSubstitution:widths:]):
        (-[WebTextRenderer _floatWidthForRun:style:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
        (-[WebTextRenderer _CG_floatWidthForRun:style:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
        (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]):
        (-[WebTextRenderer _initializeATSUStyle]):
        (-[WebTextRenderer _createATSUTextLayoutForRun:]):
        (-[WebTextRenderer _trapezoidForRun:style:atPoint:]):
        (-[WebTextRenderer _ATSU_floatWidthForRun:style:]):
        (-[WebTextRenderer _ATSU_drawRun:style:atPoint:]):

2003-07-23  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin
        Removed dependency on Foundation NSURL_NSURLExtras file.
        Copied the required methods from that file to WebNSURLExtras,
        temporarily renaming the methods that are now in both
        places to have a _webkit_ prefix. The names will be changed
        back once every one is living on a Foundation version that
        no longer contains these methods.

        The files below were changed in one of three ways:
        1. Rename _web_URLWithString: to _web_URLWithDataAsString:
        2. Tweak headers to depend on WebNSURLExtras instead of NSURL_NSURLExtras.
        3. At call sites, tweak names of methods that moved to WebKit (_web_ -> _webkit_).

        * History.subproj/WebHistory.m:
        * History.subproj/WebHistoryItem.m:
        (-[WebHistoryItem URL]):
        * History.subproj/WebHistoryPrivate.m:
        * History.subproj/WebURLsWithTitles.m:
        (+[WebURLsWithTitles URLsFromPasteboard:]):
        * Misc.subproj/WebIconDatabase.m:
        (-[WebIconDatabase _iconForFileURL:withSize:]):
        * Misc.subproj/WebIconLoader.m:
        * Misc.subproj/WebNSPasteboardExtras.m:
        (-[NSPasteboard _web_bestURL]):
        * Misc.subproj/WebNSURLExtras.h:
        * Misc.subproj/WebNSURLExtras.m:
        (ReleaseIfNotNULL):
        (+[NSURL _web_URLWithDataAsString:]):
        (+[NSURL _web_URLWithDataAsString:relativeToURL:]):
        (+[NSURL _web_URLWithData:]):
        (+[NSURL _web_URLWithData:relativeToURL:]):
        (-[NSURL _web_originalData]):
        (-[NSURL _web_displayableString]):
        (-[NSURL _web_URLStringLength]):
        (-[NSURL _webkit_canonicalize]):
        (-[NSURL _webkit_URLByRemovingFragment]):
        (-[NSURL _webkit_isJavaScriptURL]):
        (-[NSURL _webkit_scriptIfJavaScriptURL]):
        (-[NSURL _webkit_isFTPDirectoryURL]):
        (-[NSURL _webkit_shouldLoadAsEmptyDocument]):
        (isHexDigit):
        (hexDigitValue):
        (-[NSString _webkit_isJavaScriptURL]):
        (-[NSString _webkit_stringByReplacingValidPercentEscapes]):
        (-[NSString _webkit_scriptIfJavaScriptURL]):
        * Misc.subproj/WebNSViewExtras.m:
        * Panels.subproj/WebAuthenticationPanel.m:
        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView requestWithURLCString:]):
        (-[WebBaseNetscapePluginView loadPluginRequest:]):
        (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]):
        * Plugins.subproj/WebNullPluginView.m:
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge requestedURLString]):
        * WebCoreSupport.subproj/WebCookieAdapter.m:
        (-[WebCookieAdapter cookiesForURL:]):
        (-[WebCookieAdapter setCookies:forURL:policyBaseURL:]):
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _setTitle:]):
        (-[WebDataSource _loadIcon]):
        * WebView.subproj/WebFrame.m:
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _transitionToCommitted:]):
        (-[WebFrame _shouldReloadForCurrent:andDestination:]):
        (-[WebFrame _URLsMatchItem:]):
        * WebView.subproj/WebFrameView.m:
        * WebView.subproj/WebHTMLViewPrivate.m:
        (-[WebHTMLView _elementAtPoint:]):
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient continueAfterContentPolicy:response:]):
        (-[WebMainResourceClient loadWithRequest:]):
        (-[WebMainResourceClient setDefersCallbacks:]):

2003-07-22  Darin Adler  <darin@apple.com>

        * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.

2003-07-21  Ken Kocienda  <kocienda@apple.com>

        Fixed build breaker.

        Removed glyphCountFromFont function. It was used only in an
        ERROR function, which does not compile in on deployment
        builds, causing a "defined, but not used warning".

        As this function is only a one-liner call into ATS, I 
        replaced the usage in the ERROR call with a call to the 
        ATS function directly.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer initWithFont:usingPrinterFont:])

2003-07-18  Richard Williamson   <rjw@apple.com>

        Fixed 3283594.  "Times RO" appears to have a corrupt regular variant.  Added
        additional bullet proofing to catch corrupt fonts.  Also added a special case
        hack to map "Times RO" to "Time New Roman" if the variant doesn't have valid
        glyphs.

        Fixed 3319846.  The page mentioned in this bug required > 10 substitute fonts for
        the same base font.  This triggered some buggy code that hasn't been exercise before.
        Specifically the code that resizes the substitute fonts array was incorrect.

        Reviewed by mjs.

        * Misc.subproj/WebAssertions.h:  Added FATAL_ALWAYS macro that logs and CRASHES
        even in deployment builds.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (mapForSubstituteFont):
        (widthFromMap):
        (FillStyleWithAttributes):
        (-[WebTextRenderer convertCharacters:length:toGlyphs:skipControlCharacters:]):
        (-[WebTextRenderer convertUnicodeCharacters:length:toGlyphs:]):
        (-[WebTextRenderer _computeWidthForSpace]):
        (-[WebTextRenderer _setupFont:]):
        (pathFromFont):
        (glyphCountFromFont):
        (-[WebTextRenderer initWithFont:usingPrinterFont:]):
        (-[WebTextRenderer extendUnicodeCharacterToGlyphMapToInclude:]):
        (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]):

2003-07-17  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed 3250608 -- REGRESSION (74-85): reproducible Safari crash in blinkCaretTimerAction

        * WebView.subproj/WebHTMLViewPrivate.m:
        (-[WebNSTextView drawInsertionPointInRect:color:turnedOn:]):
        Use NSView's setNeedsDisplayInRect: instead of the one in NSTextView.
        This avoids the layout that the NSTextView version of the call might do.
        By definition, we don't need layout to draw the insertion point, because we did
        the layout to find where the insertion point should display. If we do the layout
        we can end up recursing into the insertion point drawing code, which wreaks major
        havoc. Still no idea why this happened less in version 74.

2003-07-17  Ken Kocienda  <kocienda@apple.com>

        Reviewed by John

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge startLoadingResource:withURL:]): Now uses NSURL instead of NSString
        (-[WebBridge objectLoadedFromCacheWithURL:response:size:]): Ditto
        (-[WebBridge reportClientRedirectToURL:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
        Ditto
        (-[WebBridge setIconURL:]): Ditto
        (-[WebBridge setIconURL:withType:]): Ditto
        (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]): Ditto
        (-[WebBridge userAgentForURL:]): Ditto
        (-[WebBridge requestedURL]): Now returns string using _web_absoluteString
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _receivedError:complete:]): Now uses NSURL instead of NSString
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _opened]): Ditto
        (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]): Ditto
        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): Ditto

2003-07-17  Ken Kocienda  <kocienda@apple.com>

        * Misc.subproj/WebNSURLExtras.m:
        (-[NSURL _web_URLStringLength]): Fix premature use of new CFURL API.
        New code is ifdef'ed out for now until everyone has revved.

2003-07-17  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge createWindowWithURL:frameName:]): Now uses NSURL in API instead of NSString
        (-[WebBridge loadURL:referrer:reload:target:triggeringEvent:form:formValues:]): Ditto
        (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): Ditto
        * WebKit.pbproj/project.pbxproj: Added WebNSURLExtras file
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _commitIfReady:]): Now uses NSURL in API instead of NSString

2003-07-15  Richard Williamson   <rjw@apple.com>

        Fixed 3315952:  Add support for <IMG> in attributed string conversion.
        Added RTFD pasteboard type.

        Reviewed by John.

        * WebView.subproj/WebHTMLViewPrivate.m:
        (+[WebHTMLView _pasteboardTypes]):
        (-[WebHTMLView _writeSelectionToPasteboard:]):

2003-07-14  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - make some improvements to handling of the timer, inspired by some bug reports

        * WebView.subproj/WebFramePrivate.m:
        (-[WebFramePrivate dealloc]): Instead of releasing the timer, assert it is nil.
        (-[WebFrame _detachFromParent]): Invalidate and release the timer after finishing
        dealing with self, in case the reference from the timer is the last one.
        (-[WebFrame _timedLayout:]): Release the timer after doing all the other work,
        in case the reference from the timer is the last one.
        (-[WebFrame _setState:]): Release the timer after doing all the other work,
        in case the reference from the timer is the last one.

2003-07-14  Darin Adler  <darin@apple.com>

        Rolled out workaround to bug 3298153 -- get "screen font while printing"
        error, bad stuff happens after that (Sherlock, Safari). It turns out the
        real fix was on the WebCore side. Now that we have that fix we don't need
        these extra calls to printerFont, which is a relatively slow call that
        may need to look up a font by name each time it's called.

        * WebCoreSupport.subproj/WebTextRenderer.m: (_drawGlyphs):
        Remove code to look up the printer font.

2003-07-14  Maciej Stachowiak  <mjs@apple.com>

        Rolled in fix from Safari-89-branch
    2003-07-12  Maciej Stachowiak  <mjs@apple.com>

        Try to fix OS build by making the Frameworks link in both SYMROOT
        and DSTROOT, and at both build time and install time.

        * WebKit.pbproj/project.pbxproj:

2003-07-14  Dave Hyatt  <hyatt@apple.com>

        Roll this change out.  It was a bad change that I only made
        because I was using the opacity APIs wrong.
        Reviewed by (nobody, just a straight backout of a previous checkin)

        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):

2003-07-13  Darin Adler  <darin@apple.com>

        * WebKit.pbproj/project.pbxproj: Add command to prevent build from failing if symlink
        creation fails.

2003-07-13  Darin Adler  <darin@apple.com>

        Fixed symbolic link path as Matt Reda suggested.

        * WebKit.pbproj/project.pbxproj: Changed paths in both of Maciej's new build phases
        to use Versions/Current instead of Versions/A.

2003-07-13  Darin Adler  <darin@apple.com>

        Fixed DSTROOT path as Eric Weiss suggested.

        * WebKit.pbproj/project.pbxproj: Changed paths in both of Maciej's new build phases.

2003-07-12  Maciej Stachowiak  <mjs@apple.com>

        Try to fix OS build by making the Frameworks link in both SYMROOT
        and DSTROOT, and at both build time and install time.

        * WebKit.pbproj/project.pbxproj:

2003-07-11  Dave Hyatt  <hyatt@apple.com>

        Make sure image compositing obeys the current global alpha that
        is in effect, e.g., if someone has set an opacity within the
        current layer.

        It's worth noting that I'm not even sure *why* this patch works,
        but it does, even with nested opacity layers.
        Reviewed by darin

        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):

=== Safari-89 ===

2003-07-10  Richard Williamson   <rjw@apple.com>

        Fixed 3298153.  Force use of printer font when printing.

        Reviewed by Chris.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (_drawGlyphs):

2003-07-10  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3161102>: Avoid retain cycles by destroying plug-ins in the page cache before dealloc
        Fixed: <rdar://problem/3320624>: WebElementImageAltStringKey is not exported :-(
        Unspoof freebsd since we now handle gzip'd content.

        Reviewed by rjw.

        * History.subproj/WebHistoryItem.m:
        (+[WebHistoryItem _destroyAllPluginsInPendingPageCaches]): new, destroys all plug-ins
        (+[WebHistoryItem _releaseAllPendingPageCaches]): call _destroyAllPluginsInPendingPageCaches
        * WebKit.exp: export WebElementImageAltStringKey
        * WebView.subproj/WebUserAgentSpoofTable.c: unspoof freebsd
        (hash):
        (_web_findSpoofTableEntry):
        * WebView.subproj/WebUserAgentSpoofTable.gperf: unspoof freebsd

2003-07-10  John Sullivan  <sullivan@apple.com>

        Reviewed by Chris

        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
        fixed copy/paste error in comment that I stumbled across

2003-07-09  Richard Williamson   <rjw@apple.com>

        Fixed 3141257.  Animate multiple copies of the same
        image on the same page.

        Reviewed by hyatt.

        * WebCoreSupport.subproj/WebImageRenderer.h:
        * WebCoreSupport.subproj/WebImageRenderer.m:
        (+[WebImageRenderer stopAnimationsInView:]):
        (-[WebImageRenderer retainOrCopyIfNeeded]):
        (-[WebImageRenderer copyWithZone:]):
        (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
        (-[WebImageRenderer dealloc]):
        (-[WebImageRenderer repetitionCount]):
        (-[WebImageRenderer scheduleFrame]):
        (-[WebImageRenderer beginAnimationInRect:fromRect:]):
        * WebCoreSupport.subproj/WebImageRendererFactory.h:
        * WebCoreSupport.subproj/WebImageRendererFactory.m:
        (-[WebImageRendererFactory imageRendererWithMIMEType:]):
        (-[WebImageRendererFactory imageRendererWithData:MIMEType:]):
        (-[WebImageRendererFactory imageRendererWithBytes:length:MIMEType:]):

2003-07-09  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3229364>: user stylesheet path should be stored relative to home directory

        Reviewed by john.

        * Misc.subproj/WebKitNSStringExtras.h:
        * Misc.subproj/WebKitNSStringExtras.m:
        (-[NSString _web_stringByAbbreviatingWithTildeInPath]): new, handles home directories that have symlinks in path
        * WebView.subproj/WebPreferences.m:
        (-[WebPreferences userStyleSheetLocation]): converts path string or URL string to URL
        (-[WebPreferences setUserStyleSheetLocation:]): converts URL to path string or URL string

2003-07-08  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed 3125264 -- nuke NSImage workaround when we drop Jaguar support

        * Misc.subproj/WebNSImageExtras.m: Removed the workaround.

        - removed other Jaguar-specific code

        * WebCoreSupport.subproj/WebImageRenderer.m: Remove workaround for improper
        handling of GIF animation loops with no loop counting, bug 3090341.

        * WebView.subproj/WebHTMLViewPrivate.m: Remove workaround for problem extracting
        scroll wheel events without also getting all others, which caused jumping around
        if you used the scroll wheel while moving the mouse, bug 3245425.

        * Misc.subproj/WebKitErrorsPrivate.h: Remove Jaguar-only import of <NSError.h>.
        * Plugins.subproj/WebNetscapePluginPackage.m: Remove Jaguar-only side of #if.
        * Plugins.subproj/WebNetscapePluginRepresentation.m: Remove Jaguar-only import
        of <NSError.h>.
        * WebKit/Plugins.subproj/WebPluginPackage.m: Remove unnecessary import of <NSError.h>.
        * Plugins.subproj/WebPluginPackage.m: Remove Jaguar-only side of #if.
        * WebCoreSupport.subproj/WebSubresourceClient.m: Remove Jaguar-only import
        of <NSError.h>.
        * WebView.subproj/WebDefaultFrameLoadDelegate.m: Remove Jaguar-only import
        of <NSError.h>.
        * WebView.subproj/WebImageRepresentation.m: Remove Jaguar-only import
        of <NSError.h>.

        * WebKit/English.lproj/StringsNotToBeLocalized.txt: Updated for this and other recent changes.

2003-07-08  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3134494>: no progressive loading for standalone images
        Fixed: <rdar://problem/3280633>: exception raised (attempt to create array with nil element) when dragging image out of HTML

        Reviewed by rjw.

        * Misc.subproj/WebNSViewExtras.h:
        * Misc.subproj/WebNSViewExtras.m:
        (-[NSView _web_dragPromisedImage:rect:URL:title:event:]): don't take a file type since this can now be gotten from the image
        * WebCoreSupport.subproj/WebImageRenderer.h:
        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer _adjustSizeToPixelDimensions]): new method that rjw factored from incrementalLoadWithBytes::: 
        (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): call _adjustSizeToPixelDimensions so we have the correct image size as the image loads
        (-[WebImageRenderer MIMEType]): new accessor
        * WebView.subproj/WebHTMLViewPrivate.m:
        (-[WebHTMLView _handleMouseDragged:]): use renamed _web_dragPromisedImage
        * WebView.subproj/WebImageRepresentation.h:
        * WebView.subproj/WebImageRepresentation.m:
        (-[WebImageRepresentation doneLoading]): new
        (-[WebImageRepresentation setDataSource:]): create the image here
        (-[WebImageRepresentation receivedData:withDataSource:]): pass data to image
        (-[WebImageRepresentation receivedError:withDataSource:]): complete image loading
        (-[WebImageRepresentation finishedLoadingWithDataSource:]): complete image loading
        * WebView.subproj/WebImageView.h:
        * WebView.subproj/WebImageView.m:
        (-[WebImageView initWithFrame:]): call setAutoresizingMask so setFrameSize is called often enough
        (-[WebImageView dealloc]): tweak
        (-[WebImageView haveCompleteImage]): new
        (-[WebImageView drawingRect]): new
        (-[WebImageView drawRect:]): fill white then draw the image so we never show the previous page
        (-[WebImageView setFrameSizeUsingImage]): new, ensures that the view always fills the content area (so we draw over the previous page) and that the view is at least as large as the image.
        (-[WebImageView setFrameSize:]): call setFrameSizeUsingImage
        (-[WebImageView layout]): call setFrameSizeUsingImage
        (-[WebImageView setDataSource:]): store the rep
        (-[WebImageView dataSourceUpdated:]): call setNeedsLayout and setNeedsDisplay
        (-[WebImageView viewDidMoveToWindow]): tweak
        (-[WebImageView validateUserInterfaceItem:]): only allow copy if haveCompleteImage
        (-[WebImageView writeImageToPasteboard:]): only writeImageToPasteboard if haveCompleteImage
        (-[WebImageView writeSelectionToPasteboard:types:]): tweak
        (-[WebImageView menuForEvent:]): tweak
        (-[WebImageView mouseDragged:]): only allow drag if haveCompleteImage
        (-[WebImageView namesOfPromisedFilesDroppedAtDestination:]): tweak

2003-07-08  Dave Hyatt  <hyatt@apple.com>

        Change minimum font size pref value back to 9. This change
        has been made in conjunction with associated WebCore changes
        that allow us to institute a minimum font size safely without
        the need for a visible GUI pref.
        Reviewed by darin

        * WebView.subproj/WebPreferences.m:
        (+[WebPreferences initialize]):

2003-07-07  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by John.

        - fixed 3295916 - b/c JavaScriptCore and WebCore are installing in wrong location, private headers are public

        * WebKit.pbproj/project.pbxproj: Make a link from Frameworks to Versions/A/Frameworks.

=== Safari-88 ===

2003-07-07  Darin Adler  <darin@apple.com>

        Reviewed by Dave.

        - fix compile error from B&I Panther build; really, this time

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer extendUnicodeCharacterToGlyphMapToInclude:]): Use unsigned, not int.
        (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]): Ditto.

2003-07-06  Darin Adler  <darin@apple.com>

        - fix compile error from B&I Panther build

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer extendUnicodeCharacterToGlyphMapToInclude:]): Rearrange code so that we won't get
        a warning if numGlyphs type is either signed or unsigned. We don't want to depend on the new ATS
        headers or the old ones; this is compatible with both.
        (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]): Ditto.

2003-07-03  Darin Adler  <darin@apple.com>

        * WebCoreSupport.subproj/WebImageRenderer.m: Remove obsolete comment.

2003-07-03  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3206011>: Don't accepts drags when showing dialogs or sheets

        Reviewed by john.

        * Misc.subproj/WebNSViewExtras.m:
        (-[NSView _web_dragOperationForDraggingInfo:]):

2003-07-03  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3291566>: Aborting standalone image load makes image directory page unusable

        Reviewed by john.

        * WebKit.pbproj/project.pbxproj: Xcode-ified WebKit.pbproj
        * WebView.subproj/WebImageView.h:
        * WebView.subproj/WebImageView.m:
        (-[WebImageView drawRect:]): layout if we need to, fill with white if we don't have an image yet
        (-[WebImageView setNeedsLayout:]): set the bit
        (-[WebImageView layout]): if we don't have an image, the frame size is the visible area so we draw white over the previous web page

2003-07-02  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Ken.

        - fixed 3304992 - REGRESSION: Every GET on an authenticated site requires a login (genentech)

        I fixed this by adding a per-window queue of waiting
        authentication requests. Before going to a later item in the
        queue, the auth handler checks if there's already a credential
        available to handle it, and if so uses that as the answer instead of
        prompting.

        * Panels.subproj/WebPanelAuthenticationHandler.h:
        * Panels.subproj/WebPanelAuthenticationHandler.m:
        (-[NSMutableDictionary _web_setObject:forUncopiedKey:]):
        (-[WebPanelAuthenticationHandler init]):
        (-[WebPanelAuthenticationHandler dealloc]):
        (-[WebPanelAuthenticationHandler enqueueChallenge:forWindow:]):
        (-[WebPanelAuthenticationHandler tryNextChallengeForWindow:]):
        (-[WebPanelAuthenticationHandler startAuthentication:window:]):
        (-[WebPanelAuthenticationHandler _authenticationDoneWithChallenge:result:]):

2003-06-30  John Sullivan  <sullivan@apple.com>

        - fixed 3310716 -- Authentication dialog could be tweaked to 
        better match guidelines

        Reviewed by Chris

        * Panels.subproj/English.lproj/WebAuthenticationPanel.nib:
        left-aligned "Name:" and "Password:" labels; slightly tweaked
        layout at right edge of sheet

2003-06-26  Chris Blumenberg  <cblu@apple.com>

        Changes to make WebKit compile with gcc 3.3.

        Reviewed by darin.

        * Carbon.subproj/HIWebView.m:
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge setScrollbarsVisible:]):
        (-[WebBridge loadURL:referrer:reload:target:triggeringEvent:form:formValues:]):
        (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
        (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
        * WebView.subproj/WebPreferences.m:
        (-[WebPreferences setDefaultFontSize:]):
        (-[WebPreferences setDefaultFixedFontSize:]):
        (-[WebPreferences setMinimumFontSize:]):
        * WebView.subproj/WebView.m:
        (-[WebView searchFor:direction:caseSensitive:wrap:]):

2003-06-24  Chris Blumenberg  <cblu@apple.com>

        Renamed the context menu item Download Image To Disk" to "Download Image to Disk".

        Reviewed by john.

        * English.lproj/Localizable.strings:
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultUIDelegate menuItemWithTag:]):

2003-06-19  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3294803>: HTTP error sent as content instead of error to plug-ins


        Reviewed by john.

        * Plugins.subproj/WebNetscapePluginStream.m:
        (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): if the response is an error, cancel the load, return a network error

=== Safari-85.1 ===

2003-06-15  Vicki Murley  <vicki@apple.com>

        Reviewed by darin.

        * WebKit.pbproj/project.pbxproj: remove SECTORDER_FLAGS variable, so that we don't use order file for our Panther submission

=== Safari-85 ===

2003-06-13  Darin Adler  <darin@apple.com>

        Reviewed by Darin (Richard wrote the first cut), then Don and Dave.

        - fixed 3291467 -- CARBON: context menus are broken when using WebKit from Carbon

        * Carbon.subproj/HIWebView.m: (ContextMenuClick): Rewrite method to create a fake
        right mouse up event, and pass that to menuForEvent: and _popUpMenuWithEvent.

2003-06-13  Darin Adler  <darin@apple.com>

        Reviewed by Chris.

        - fixed 3291778 -- REGRESSION (51-52): QT controller never shows up for mp3 in frame

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]):
        Handle the "invisible" plug-in cases in a more complete way.
        Detect the various ways of being invisible (big negative X value, 0 size,
        not really in a window) and in all those cases, use a clip rect to guarantee
        we won't be seen, and make sure the size passed to the plug-in is *not* 0.

        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.

2003-06-13  David Hyatt  <hyatt@apple.com>

        Fix for 3291319, scrolling is much worse since 79.  The problem
        was a fix for resize events that needed to use the scrollview size
        and not the document view size inside the scrollview.
        Reviewed by darin

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView layoutToPageWidth:]):
        * WebView.subproj/WebHTMLViewPrivate.h:

2003-06-13  Chris Blumenberg  <cblu@apple.com>

        Fixed previous " Reviewed by" string.

        * ChangeLog:

2003-06-13  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3291502>: REGRESSION (80-81): freebsd.org is giving us gzipped content (because we stopped spoofing)

        Reviewed by john.

        * WebView.subproj/WebUserAgentSpoofTable.c:
        (hash):
        (_web_findSpoofTableEntry):
        * WebView.subproj/WebUserAgentSpoofTable.gperf:

2003-06-12  Richard Williamson  <rjw@apple.com>

        Restoring fix for 3221078 that I earlier backed out in a
        panic about performance.  In careful performance testing
        I now see no performance regression, and maybe a tiny improvement.
        The earlier performance regression Vicki saw was entirely
        due to the incorrect checkin for the fix to 3288532.

        Reviewed by Chris & Gramps.

        * WebCoreSupport.subproj/WebTextRenderer.h:
        * WebCoreSupport.subproj/WebTextRenderer.m:

2003-06-12  Richard Williamson  <rjw@apple.com>

        Correct fix for 3288532 again.  This time will feeling!

        Reviewed by Gramps.

        * History.subproj/WebBackForwardList.m:
        (-[WebBackForwardList setCapacity:]):

2003-06-12  Don Melton  <gramps@apple.com>

        Since Richard didn't actually correct the fix for 3288532 in
        WebBackForwardList.m, I've backed out out his original fix entirely.

        * History.subproj/WebBackForwardList.m:
        (-[WebBackForwardList setCapacity:]):

2003-06-12  Richard Williamson   <rjw@apple.com>

        Correct fix for 3288532.

        * History.subproj/WebBackForwardList.m:

2003-06-12  Richard Williamson   <rjw@apple.com>

        Fixed 3288532.  When setCapacity: shrinks capacity, trim
        the back/forward list.  Setting to zero will effectively
        flush the list.

        Reviewed by John.

        * History.subproj/WebBackForwardList.m:

2003-06-12  Richard Williamson   <rjw@apple.com>

        Fixed 3221078.  Maintain a seperate width map
        for substitute fonts to avoid collision of glyph
        codes.

        Reviewed by Chris & Gramps.

        * WebCoreSupport.subproj/WebTextRenderer.h:
        * WebCoreSupport.subproj/WebTextRenderer.m:

=== Safari-84 ===

2003-06-12  Darin Adler  <darin@apple.com>

        Fixed by Richard, reviewed by me.

        - fixed 3289047 -- REGRESSION: can't go back after using form at attwireless.com

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge reportClientRedirectToURL:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
        Added isJavaScriptFormAction parameter, passed on to frame.

        * WebView.subproj/WebFramePrivate.h: Added isJavaScriptFormAction parameter.
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
        If isJavaScriptFormAction is YES, then don't treat this is a "quick redirect" which is
        merged with the previous page for purposes of back/forward.

2003-06-11  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3289577>: Reenable Carbon Java plug-ins when in Carbon app

        Reviewed by gramps.

        * Plugins.subproj/WebPluginDatabase.m:
        (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): only call canUsePlugin: for web plug-ins

2003-06-11  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3289380>: REGRESSION: policyDataSource == nil assertion failure after closing particular window


        Reviewed by john.

        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _continueAfterNavigationPolicy:]): don't clear policyDataSource here because this method may not be called during navigation
        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): clear policyDataSource here 

2003-06-11  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3288097>: REGRESSION: assertion failure after hitting back while loading page after fragment scroll

        Fixed by darin, reviewed by me.

        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _URLsMatchItem:]): ignore the URL fragment so we scroll back at the current page instead of attempt to load the current page 
        
2003-06-11  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed 3285808 -- repro world leak when replacing div that contains iframe (at www.kbs.co.kr)

        * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge frameDetached]):
        Add a call to _detachFromParent.
        * WebView.subproj/WebFramePrivate.m: (-[WebFrame _removeChild:]):
        Nil out the parent pointer in the removed child.

2003-06-10  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3288076>: REGRESSION: Fragment scroll stops page load

        We do policy navigation checks for the regular load case, fragment scroll and redirects.
        We only want to stop the load, change the provisional data source etc in the regular load case. 

        Reviewed by darin.

        * WebView.subproj/WebFramePrivate.m: got rid of _prepareForProvisionalLoadWithDataSource:: since the work done in this method only needs to be done in _continueLoadRequestAfterNavigationPolicy:: (which covers the regular load case).
        (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]): don't clear policyDataSource because it needs to be called in _continueLoadRequestAfterNavigationPolicy::
        (-[WebFrame _setPolicyDataSource:]): new
        (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]): don't call _prepareForProvisionalLoadWithDataSource::, don't muck with policyDataSource because it is only needed in the regular load case
        (-[WebFrame _continueAfterNavigationPolicy:]): don't call _prepareForProvisionalLoadWithDataSource::, call _setPolicyDataSource:nil after _continueLoadRequestAfterNavigationPolicy:: has used policyDataSource
        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): this method covers the regular load case. This is where we need to stop the load, set the load type and the provisional data source. Code was in _prepareForProvisionalLoadWithData




Source::
        (-[WebFrame _loadDataSource:withLoadType:formState:]): set the policyLoadType and policyDataSource (the beginning of the regular load case)

2003-06-10  Richard Williamson   <rjw@apple.com>

        Back out incorrect fix to 3287862.

2003-06-10  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3156169>: cmd-click opens new win but stops loading in prev win

        Reviewed by rjw.

        * WebView.subproj/WebFrame.m:
        (-[WebFrame stopLoading]): set the provisional data source to nil to avoid a newly added assert in [WebFramePrivate setProvisionalDataSource:] 
        and since it is wasteful to retain it in this case
        * WebView.subproj/WebFramePrivate.h: added policyDataSource and policyLoadType ivars
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFramePrivate dealloc]): added an assert
        (-[WebFramePrivate setProvisionalDataSource:]): added an assert
        (-[WebFrame _isLoadComplete]): formatting tweak
        (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]): reset policyDataSource
        (-[WebFrame _checkNewWindowPolicyForRequest:action:frameName:formState:andCall:withSelector:]): formatting tweak
        (-[WebFrame _prepareForProvisionalLoadWithDataSource:loadType:]): new, calls stopLoading, _setLoadType and _setProvisionalDataSource
        (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]): call _prepareForProvisionalLoadWithDataSource:loadType: only in the "use" policy case
        (-[WebFrame _continueAfterNavigationPolicy:]): call _setProvisionalDataSource:andLoadType:
        (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]): formatting tweak
        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): formatting tweak
        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): if there is no request to continue with, don't reset things like the provisional data source since it was never unset in this case
        (-[WebFrame _loadDataSource:withLoadType:formState:]): don't call stopLoading, _setLoadType and _setProvisionalDataSource, since that stops the frame even for command-click and option-click. Do this work in _prepareForProvisionalLoadWithDataSource




:loadType: instead.

2003-06-10  Richard Williamson   <rjw@apple.com>

        Fixed 3287862.  Don't override resize flags
        when decoding WebView.

        Reviewed by Chris.

        * WebView.subproj/WebView.m:
        (-[WebView _commonInitializationFrameName:groupName:]):

2003-06-10  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3286006>: Carbon Java plug-in problems may require workaround in WebKit

        Reviewed by john.

        * Plugins.subproj/WebPluginDatabase.m:
        (-[WebPluginDatabase canUsePlugin:]): if in a carbon app, only use the mach-o java plug-in when its version is anything but 1.0.0
        (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): call canUsePlugin on all the plug-ins


2003-06-10  Vicki Murley  <vicki@apple.com>

        Reviewed by john. 

        * WebKit.order: new order file for 1.0

2003-06-09  Chris Blumenberg  <cblu@apple.com>

        * WebView.subproj/WebDataSource.h: Removed FIXME related to pageTitle.

2003-06-09  Chris Blumenberg  <cblu@apple.com>

        <rdar://problem/3283359>: don't load Cocoa Java plug-in if in Carbon app


        Reviewed by darin.

        * Plugins.subproj/WebPluginDatabase.h: removed pluginForFilename, wasn't being used
        * Plugins.subproj/WebPluginDatabase.m:
        (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): don't use the plug-in if ![self isCocoa] && [[[webPlugin bundle] bundleIdentifier] isEqualToString:JavaCocoaPluginIdentifier]

2003-06-09  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3284848>: REGRESSION: repro crash in Flash handling null event, going back to Japanese Disney page

        When restarting plug-ins from the BF cache, we were not calling NPP_SetWindow.

        Reviewed by darin.

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView stop]): set the window type to 0 to force the calling of NPP_SetWindow 

=== Safari-83 ===

2003-06-07  Darin Adler  <darin@apple.com>

        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.

2003-06-07  Darin Adler  <darin@apple.com>

        Rolled out Chris's fix for 3156169 because it was causing a lot of crashes
        and problems with basic behavior. We can try again later.
        
        One of the problems was that Back wasn't working. Another was that you could
        not follow the link at the top of the page at kbb.com. More testing seemed to
        reveal still more problems.
        
        * WebView.subproj/WebFramePrivate.h: Rolled back to previous version.
        * WebView.subproj/WebFramePrivate.m: Ditto.

2003-06-06  Richard Williamson  <rjw@apple.com>

        Fixed 3283236.  Remove use of forward declarations in public header because
        CodeWarrior pukes on 'em.

        Reviewed by Chris.

        * WebView.subproj/WebDataSource.h:

2003-06-06  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3156169>: cmd-click opens new win but stops loading in prev win

        Reviewed by darin.

        * WebView.subproj/WebFramePrivate.h: added policyDataSource and policyLoadType as ivars
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFramePrivate dealloc]): added ASSERT
        (-[WebFramePrivate setProvisionalDataSource:]): added ASSERT
        (-[WebFrame _isLoadComplete]): formatting tweak
        (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]): clear policyDataSource
        (-[WebFrame _checkNewWindowPolicyForRequest:action:frameName:formState:andCall:withSelector:]): formatting tweak
        (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]): retain policyDataSource
        (-[WebFrame _continueAfterNavigationPolicy:]): stop the load, set the load type, set the provisional data source in the "use" case
        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): formatting tweak
        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): don't reset things if something other than "use" has been chosen
        (-[WebFrame _loadDataSource:withLoadType:formState:]): DON'T stop the load, set the load type, set the provisional data source

2003-06-06  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3282881>: Java plugin fails in carbon WebKit apps

        Fixed by Mike Hay, reviewed by me.

        * Plugins.subproj/WebPluginDatabase.m:
        (-[WebPluginDatabase initIsCocoa]):
        (-[WebPluginDatabase isCocoa]):
        (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): don't load cocoa plug-ins if isCocoa.

2003-06-05  John Sullivan  <sullivan@apple.com>

        - fixed 3266216 -- repro crash in 
        -[WebBaseResourceHandleDelegate connection:didReceiveData:] 
        in GIA Application

        The problem was that an NSURLConnection delegate object (in this 
        case a WebMainResourceClient) was being dealloc'ed during one of
        its connection delegate methods. To prevent this kind of problem,
        I added [self retain]/[self release] guards around the meat of
        all of the connection delegate methods in which arbitrary code
        could be run. Another approach would be to do this retain/release
        pair in NSURLConnection, but Darin deemed it wiser not to muck with
        Foundation at this point for this issue.

        Reviewed by Darin

        * Plugins.subproj/WebNetscapePluginStream.m:
        (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]):
        guard with [self retain]/[self release]
        (-[WebNetscapePluginConnectionDelegate connection:didReceiveData:]):
        ditto
        (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]):
        ditto

        * WebCoreSupport.subproj/WebSubresourceClient.m:
        (-[WebSubresourceClient connection:didReceiveResponse:]):
        ditto
        (-[WebSubresourceClient connection:didReceiveData:]):
        ditto

        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]):
        ditto
        (-[WebBaseResourceHandleDelegate connection:didReceiveAuthenticationChallenge:]):
        ditto
        (-[WebBaseResourceHandleDelegate connection:didCancelAuthenticationChallenge:]):
        ditto
        (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]):
        ditto
        (-[WebBaseResourceHandleDelegate connection:didReceiveData:]):
        ditto. Also, commented out two assertions that fire illegitimately in the steps in
        this bug report.
        (-[WebBaseResourceHandleDelegate connection:didFailWithError:]):
        ditto

        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]):
        ditto
        (-[WebMainResourceClient connection:didReceiveResponse:]):
        ditto
        (-[WebMainResourceClient connection:didReceiveData:]):
        ditto

2003-06-04  Richard Williamson   <rjw@apple.com>

        Fixed 3277775.  Send less notifications.  Notifcations suck!

        Reviewed by David.

        * WebView.subproj/WebViewPrivate.h:
        * WebView.subproj/WebViewPrivate.m:
        (-[WebViewPrivate init]):
        (-[WebView _progressStarted]):
        (-[WebView _progressCompleted]):
        (-[WebView _incrementProgressForConnection:data:]):

2003-06-04  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed 3277675 -- REGRESSION: mouse wheel events not coalesced

        * WebView.subproj/WebHTMLViewPrivate.m: (-[WebNSWindow nextEventMatchingMask:untilDate:inMode:dequeue:]):
        When the mask is scroll wheel mask, instead of getting no events, do some tricks to get the next
        event if it is a scroll wheel event, and nothing otherwise. Also ifdef the fix so we don't compile
        it on Panther, since the underlying bug was fixed on Panther.
    
        - other changes

        * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer copyWithZone:]):
        Remove unneeded line of code. The super function copies all simple fields for us.

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView setMIMEType:]): Use copy instead of retain, do it in the right order
        to avoid "same object release/retain" disease.
        (-[WebBaseNetscapePluginView setBaseURL:]): Do retain before release (same reason as above).

2003-06-03  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3278496 - <rdar://problem/3278496>:        NSURLDownload: initWithSource and source should be renamed to initWithRequest and request

        Reviewed by rjw.

        * Misc.subproj/WebDownload.m:
        (-[WebDownload initWithRequest:delegate:]):
        (-[WebDownload _initWithRequest:delegate:directory:]):
        * WebView.subproj/WebImageView.m:
        (-[WebImageView setNeedsDisplay:]):
        * WebView.subproj/WebViewPrivate.m:
        (-[WebView _downloadURL:toDirectory:]):

2003-06-03  Richard Williamson   <rjw@apple.com>
        Fixed 3263188, 3274636.
        Written by Ed Voas.  Reviewed by Richard.

        * Carbon.subproj/CarbonUtils.m:
        (WebInitForCarbon):
        Ensure the process info is correctly initialized so the correct
        "flavour" (carbon) is detected.

        * Carbon.subproj/HIWebView.m:
        (Draw):
        Always draw the growbox after drawing the web view,
        assuming overlap.

=== Safari-82 ===

2003-06-03  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3167792>: hang in _web_dragPromisedImage dragging 4 MB image

        Reviewed by john.

        * Misc.subproj/WebNSViewExtras.m:
        (-[NSView _web_dragPromisedImage:rect:URL:fileType:title:event:]): if the original image is greater than 1500x1500, use a file icon for the drag image to avoid hanging

2003-06-02  Richard Williamson  <rjw@apple.com>

        Fix for 3250352.

        Reviewed by Chris.

        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _startLoading:]):
        Check respondsToSelector: before calling.

        * WebView.subproj/WebResourceLoadDelegate.h:
        * WebView.subproj/WebUIDelegate.h:
        Headerdoc tweaks.

=== Safari-81 ===

2003-06-02  Chris Blumenberg  <cblu@apple.com>

        Fixed: <rdar://problem/3154910>: No video when viewing QT plug-in content at some pages but audio works

        This fix works around QT plug-in bug 3275755, but I think the fix is logical and worth keeping even after 3275755 is fixed.


        Eric Carlson:
        The problem happens when you call NPP_SetWindow with a 0 width or height more than once. The first call to NPP_SetWindow always seems to have width and height set to 0, but the next call sometimes has it set to the correct values (those in the EMBED tag)




. This is when it draws successfully. It seems to me that the fix is to always pass the correct width and height to NPP_SetWindow. You always position the plug-in far offscreen (1000000, -52) and set the clip region to an empty rect (48576, 52, 48576, 52)




 so there isn't really any danger of the plug-in drawing anyway. Additionally, you pass the correct width and height in the call to NPP_New before the first call to NPP_SetWindow.

        Reviewed by john, darin.

        * Plugins.subproj/WebBaseNetscapePluginView.h:
        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): use the NSView width and height if greater than 0, else use the tag specified width and height
        (-[WebBaseNetscapePluginView isNewWindowEqualToOldWindow]): new
        (-[WebBaseNetscapePluginView setWindow]): NPP_SetWindow may be expensive, only call it if it has changed
        * Plugins.subproj/WebNetscapePluginPackage.m:
        (-[WebNetscapePluginPackage launchRealPlayer]): tweak, no need to store error code since it is ignored

2003-05-30  Richard Williamson  <rjw@apple.com>

        Fixed 3272516.  Items are now expired from the
        b/f cache if they are older than 30 minutes.  This
        number was pulled out of our #!$es.  Also did
        some cleanup of the b/f cache code.

        Reviewed by Ken.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge saveDocumentToPageCache:]):
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _transitionToCommitted:]):
        (-[WebFrame _createPageCacheForItem:]):
        (-[WebFrame _setState:]):
        (-[WebFrame _loadItem:withLoadType:]):
        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
        * WebView.subproj/WebPreferences.m:
        (+[WebPreferences initialize]):
        (-[WebPreferences _resourceTimedLayoutEnabled]):
        (-[WebPreferences _backForwardCacheExpirationInterval]):
        * WebView.subproj/WebPreferencesPrivate.h:
        * WebView.subproj/WebView.h:

        * WebView.subproj/WebPreferences.h: Cleaned up some headerdoc
        comments.
2003-05-29  Richard Williamson   <rjw@apple.com>

        Implemented 'estimatedProgress' method on WebView.  This should
        eventually replace the broken algorithm on WebBrowser.  Maybe
        for panther.

        Reviewed by Chris.

        * WebKit.exp:
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]):
        (-[WebBaseResourceHandleDelegate connection:didReceiveData:]):
        (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]):
        (-[WebBaseResourceHandleDelegate connection:didFailWithError:]):
        (-[WebBaseResourceHandleDelegate cancelWithError:]):
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _startLoading:]):
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _isLoadComplete]):
        (-[WebFrame _numPendingOrLoadingRequests:]):
        * WebView.subproj/WebView.h:
        * WebView.subproj/WebView.m:
        (-[WebView estimatedProgress]):
        * WebView.subproj/WebViewPrivate.h:
        * WebView.subproj/WebViewPrivate.m:
        (-[WebViewPrivate dealloc]):
        (-[WebView _isPerformingProgrammaticFocus]):
        (-[WebView _progressStarted]):
        (-[WebView _progressCompleted]):
        (-[WebView _incrementProgressForConnection:data:]):
        (-[WebView _completeProgressForConnection:]):

        Code cleanup.  Moved variable initialization into block that
        check for non-nil self.

        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer initWithMIMEType:]):
        (-[WebImageRenderer initWithData:MIMEType:]):
        (-[WebImageRenderer initWithContentsOfFile:]):

2003-05-29  Richard Williamson   <rjw@apple.com>

        Fixed 3272226.  The shared image factory was being released
        when any renderer had 0 reps!

        Reviewed by John.

        * WebCoreSupport.subproj/WebImageRendererFactory.m:
        (-[WebImageRendererFactory imageRendererWithMIMEType:]):

2003-05-29  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3151216 - Safari crashes on Drag&Drop if plugin dialog is open
        Reviewed by rjw.

        * Misc.subproj/WebNSViewExtras.m:
        (-[NSView _web_dragOperationForDraggingInfo:]): return NSDragOperationNone is the app has a modal window so the current page can't be changed with a drag
        * WebView.subproj/WebView.m:
        (-[WebView draggingEntered:]): return _web_dragOperationForDraggingInfo

2003-05-29  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3273109 - leak from functionPointerForTVector in -[WebNetscapePluginPackage load]

        * Plugins.subproj/WebNetscapePluginPackage.m:
        (-[WebNetscapePluginPackage load]): free the main function after using it

2003-05-29  Richard Williamson   <rjw@apple.com>
        Fixed 3273115.  Always use pixel dimensions,
        not absolute dimensions.

        Reviewed by Ken.

        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):

2003-05-29  Richard Williamson   <rjw@apple.com>

        Fix 3272292.  Ensure that loadStatus is always
        initialized to NSImageRepLoadStatusUnknownType.

        Reviewed by Chris.

        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer initWithMIMEType:]):
        (-[WebImageRenderer initWithData:MIMEType:]):
        (-[WebImageRenderer initWithContentsOfFile:]):

2003-05-28  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Richard

        Fix for this bug:

        Radar 3260323 (Some links at nike.com cause assertion failure 
        (connectionDidFinishLoading sent after cancel))

        Added a flag which is set when a load is cancelled. This flag prevents
        bad behvior when loads that finish cause the load itself to be
        cancelled (which could happen with a javascript that changes the
        window location). This is used to prevent both the body of
        cancelWithError: and the body of connectionDidFinishLoading: running
        for a single delegate. Cancelling wins.

        * WebView.subproj/WebBaseResourceHandleDelegate.h:
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]):
        (-[WebBaseResourceHandleDelegate cancelWithError:]):

2003-05-28  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3270576 - RealPlayer plug-in fails to load

        Reviewed by darin.

        * Plugins.subproj/WebNetscapePluginPackage.m:
        (-[WebNetscapePluginPackage launchRealPlayer]): new
        (-[WebNetscapePluginPackage load]): call launchRealPlayer to regenerate its broken plist file

2003-05-28  Richard Williamson   <rjw@apple.com>

        Fixed 3165631 (and other similar).
        Fixed 3262592.

        We now set NSImage's cache mode to NSImageCacheNever during
        progressive loads.  It gets reset to NSImageCacheDefault when
        loads complete.

        If an image is scaled, NSImage appears to create a NSCacheImageRep
        with the wrong size during progessive image loading.  Specifically
        it appears to create a cached rep with the original size.

        Reviewed by Chris.

        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
        (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
        * WebCoreSupport.subproj/WebImageRendererFactory.m:
        (-[WebImageRendererFactory imageRendererWithMIMEType:]):

        * WebView.subproj/WebPreferences.h:
        Updated headerdoc comments.

2003-05-27  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3233442 - Crash in -[WebNetscapePluginPackage load] at http://www.adultswim.com/

        Reviewed by mjs.

        * Plugins.subproj/WebNetscapePluginPackage.m:
        (-[WebNetscapePluginPackage load]): don't call NPP_Shutdown if the plug-in fails to load

2003-05-27  Chris Blumenberg  <cblu@apple.com>

                Don't load and save icons if the icon DB directory default is not set.

        Reviewed by darin.

        * Misc.subproj/WebIconDatabase.m:
        (-[WebIconDatabase _createFileDatabase]): don't create the DB if the default is not set
        (-[WebIconDatabase _loadIconDictionaries]): don't load the dictionaries if the DB doesn't exist
        (-[WebIconDatabase _updateFileDatabase]): don't update the DB if it doesn't exist
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _loadIcon]): don't load icons if the icon DB directory default is not set

2003-05-27  Maciej Stachowiak  <mjs@apple.com>

        Rolled in fix from Safari-80~1-branch
    2003-05-27  Maciej Stachowiak  <mjs@apple.com>
        
        Reviewed by Darin.

        * WebKit.pbproj/project.pbxproj: Removed no longer needed and harmful flag.

2003-05-27  Richard Williamson   <rjw@apple.com>

        Fix for IB.

        Reviewed by Eric Seymour.

        * WebView.subproj/WebPreferences.m:
        (-[WebPreferences initWithIdentifier:]):
        Added retain to uniqued instance.  (As we did recently
        for initWithCoder:). 

2003-05-27  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3270013 - Exception raised when visiting http://www.shutterfly.com/favicon.ico

        Reviewed by john.

        * WebCoreSupport.subproj/WebImageRendererFactory.m:
        (-[WebImageRendererFactory imageRendererWithBytes:length:MIMEType:]): return nil if the image has no representations

2003-05-27  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3242864 - repro assertion failure in WebIconDatabase.m for www.shutterfly.com

        Reviewed by john.

        * Misc.subproj/WebIconLoader.m:
        (-[WebIconLoader connectionDidFinishLoading:]): don't set the icon on the DB if it has no representations

2003-05-27  Richard Williamson   <rjw@apple.com>

        Fixes for IB.

        Reviewed by Eric Seymour.

        * WebView.subproj/WebPreferences.m:
        (-[WebPreferences initWithCoder:]):
        Added retain to uniqued instance 

        * WebView.subproj/WebView.m:
        (-[WebView initWithCoder:]):
        (-[WebView setPreferences:]):
        Added release check to global uniquing dictionary.

2003-05-23  Richard Williamson   <rjw@apple.com>

        Tweaks for IB.
        Updated WebView and WebPreferences to use
        keyed archiving.
        Added private method to export settable user
        defaults keys.

        Reviewed by Ken.

        * WebView.subproj/WebPreferences.m:
        (-[WebPreferences initWithCoder:]):
        (+[WebPreferences _userDefaultsKeysForIB]):
        * WebView.subproj/WebPreferencesPrivate.h:
        * WebView.subproj/WebView.m:
        (-[WebView initWithCoder:]):

2003-05-23  Richard Williamson   <rjw@apple.com>

        Added export of _WebHistoryItemChangedNotification.

        * WebKit.exp:

2003-05-23  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3259426 - Can't copy mailto links to clipboard

        Reviewed by john.

        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): offer "Copy Link to Clipboard" for all links

2003-05-22  Richard Williamson   <rjw@apple.com>

        *** Public API change ***
        100% compatible.  Added notification when history items
        change values.

        Fixed 3265672
        Reviewed by John.

        * History.subproj/WebHistoryItem.h:
        * History.subproj/WebHistoryItem.m:
        (-[WebHistoryItem setAlternateTitle:]):
        (-[WebHistoryItem setURL:]):
        (-[WebHistoryItem setOriginalURLString:]):
        (-[WebHistoryItem setTitle:]):
        (-[WebHistoryItem _setLastVisitedTimeInterval:]):

2003-05-22  Richard Williamson   <rjw@apple.com>

        Fixed 3266464.  Build problem on panther caused by overly
        pedantic gcc.

        Reviewed by John.

        * WebView.subproj/WebPreferences.m:
        (-[WebPreferences initWithCoder:]):
        * WebView.subproj/WebView.m:
        (-[WebView initWithCoder:]):

2003-05-22  Richard Williamson   <rjw@apple.com>

        Add _web to method in category name.

        Fixed 3266102.  @selector missing ":".

        Reviewed by Darin.

        * WebView.subproj/WebPreferences.m:
        (+[WebPreferences _removeReferenceForIdentifier:]):
        (-[NSMutableDictionary _web_checkLastReferenceForIdentifier:]):

2003-05-22  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - removed all entries except for jaguar.com because:
            a) most of these sites now work fine without the spoofing or have gone away
            b) nj.com and oregonlive.com do not work, but the spoofing committee (Mark,
               Don, Dave, and me) decided we should stop spoofing and get them to fix
               the sites instead
          If we can resolve jaguar.com in a similar way, we can remove the spoofing
          feature altogether.

        * WebView.subproj/WebUserAgentSpoofTable.gperf: Removed all but jaguar.com.
        * WebView.subproj/WebUserAgentSpoofTable.c: Regenerated.

2003-05-21  Richard Williamson   <rjw@apple.com>

        *** Public API Change ***
        The fix for 3265442 requires new API.  This API is an addition
        that is 100% compatible with the existing API.
        
        Provide support for IB to palettize WebView.
        
        Fixed 3265442.
        Fixed 3263106.
        
        Reviewed by Chris.

        * WebView.subproj/WebPreferences.h:
        * WebView.subproj/WebPreferences.m:
        (-[WebPreferencesPrivate dealloc]):
        (-[WebPreferences init]):
        (-[WebPreferences initWithIdentifier:]):
        (-[WebPreferences initWithCoder:]):
        (-[WebPreferences encodeWithCoder:]):
        (+[WebPreferences standardPreferences]):
        (-[WebPreferences dealloc]):
        (-[WebPreferences identifier]):
        (-[WebPreferences _stringValueForKey:]):
        (-[WebPreferences _setStringValue:forKey:]):
        (-[WebPreferences _integerValueForKey:]):
        (-[WebPreferences _setIntegerValue:forKey:]):
        (-[WebPreferences _boolValueForKey:]):
        (-[WebPreferences _setBoolValue:forKey:]):
        (-[WebPreferences autosaves]):
        (+[WebPreferences _getInstanceForIdentifier:]):
        (+[WebPreferences _setInstance:forIdentifier:]):
        (+[WebPreferences _removeReferenceForIdentifier:]):
        (-[WebPreferences _postPreferencesChangesNotification]):
        (-[NSMutableDictionary _checkLastReferenceForIdentifier:]):
        * WebView.subproj/WebPreferencesPrivate.h:
        * WebView.subproj/WebView.h:
        * WebView.subproj/WebView.m:
        (-[WebView _commonInitializationFrameName:groupName:]):
        (-[WebView initWithCoder:]):
        (-[WebView encodeWithCoder:]):
        (-[WebView dealloc]):
        (-[WebView setPreferencesIdentifier:]):
        (-[WebView preferencesIdentifier]):

2003-05-21  Chris Blumenberg  <cblu@apple.com>

        Fixed data source leak when viewing standalone plug-in content.

        Reviewed by rjw.

        * Plugins.subproj/WebBaseNetscapePluginStream.h: don't inherit from WebBaseResourceHandleDelegate
        * Plugins.subproj/WebBaseNetscapePluginStream.m:
        (-[WebBaseNetscapePluginStream transferMode]): new
        * Plugins.subproj/WebNetscapePluginRepresentation.m:
        (-[WebNetscapePluginRepresentation dealloc]): don't release the data source
        (-[WebNetscapePluginRepresentation setDataSource:]): don't retain the data source
        * Plugins.subproj/WebNetscapePluginStream.h:
        * Plugins.subproj/WebNetscapePluginStream.m:
        (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]): create a WebNetscapePluginConnectionDelegate
        (-[WebNetscapePluginStream dealloc]): release the WebNetscapePluginConnectionDelegate
        (-[WebNetscapePluginStream start]): start the load on the WebNetscapePluginConnectionDelegate
        (-[WebNetscapePluginStream stop]): start the load on the WebNetscapePluginConnectionDelegate
        (-[WebNetscapePluginConnectionDelegate initWithStream:view:]): new class, inherits from WebBaseResourceHandleDelegate
        (-[WebNetscapePluginConnectionDelegate _releaseResources]):
        (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]):
        (-[WebNetscapePluginConnectionDelegate connection:didReceiveData:]):
        (-[WebNetscapePluginConnectionDelegate connectionDidFinishLoading:]):
        (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]):
        (-[WebNetscapePluginConnectionDelegate cancel]):
        * WebView.subproj/WebBaseResourceHandleDelegate.h:
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate response]): new

2003-05-21  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by John.

        - fixed 3254473 - REGRESSION: nike help page reloads on mouseovers, triggered by onresize function

        REGRESSION: reload loop due to onresize handler (fortune.com, flipdog.com, stanford.edu)

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView layoutToPageWidth:]): Go back to checking for at least one
        layout instead of last layout event time. Measure size in a way that ignores
        whether the scrollbares are there or not.
        * WebView.subproj/WebHTMLViewPrivate.h: Remove last layout event time and
        add back laid out at least once boolean.

2003-05-21  Chris Blumenberg  <cblu@apple.com>

        These problems:
        3184359 - icon exception closing window while typing
        3245476 - Safari-78 crashes or hangs after IMDB Find and using the history menu to go back ...
        are not or are no longer reproducible. They were caused by an exception raised in WebKit.
        Since we don't use exceptions in WebKit, I've replaced the exception with an assert.
                Reviewed by john.

        * Misc.subproj/WebIconDatabase.m:
        (-[WebIconDatabase _releaseFutureIconForURL:]): assert instead of exception if failure

2003-05-21  Ed Voas <voas@apple.com> 

        - fixed 3262868: Update Carbon WebKit API prefixes
        - fixed 3264980: Carbon support in WebKit needs to route mouse events properly
        Reviewed by Richard.

        * Carbon.subproj/CarbonUtils.h:
        * Carbon.subproj/CarbonUtils.m:
        (WebInitForCarbon):
        (WebConvertNSImageToCGImageRef):
        * Carbon.subproj/HIWebView.h:
        * Carbon.subproj/HIWebView.m:
        (HIWebViewGetWebView):
        (OwningWindowChanged):
        (WindowHandler):
        (HIWebViewEventHandler):
        * WebKit.exp:

2003-05-21  Vicki Murley  <vicki@apple.com>

        Reviewed by john 
        - fixed 3234553: Safari and its frameworks should link using order files

        * WebKit.order: Added.
        * WebKit.pbproj/project.pbxproj: set SECTORDER_FLAGS = -sectorder __TEXT __text WebKit.order;

2003-05-20  Richard Williamson   <rjw@apple.com>

        Fixed 3262825.
        Fixed 3245625.
        Fixed 3262547.

        Recursively check items when going back/forward to ensure all
        frame URLs are correct.

        Added some logging to help diagnose back/forward problems.

        Reviewed by John.

        * History.subproj/WebHistory.m:
        (-[WebHistory addItem:]):
        * Misc.subproj/WebKitLogging.h:
        * Misc.subproj/WebKitLogging.m:
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource initWithRequest:]):
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _createItem:]):
        (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]):
        (-[WebFrame _transitionToCommitted:]):
        (-[WebFrame _URLsMatchItem:]):
        (-[WebFrame _loadItem:withLoadType:]):

=== Safari-80 ===

2003-05-20  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        Due to some header file changes in Foundation on Panther, 
        Tweaked some includes so that WebKit builds on Jaguar 
        and Panther.

        * Carbon.subproj/CarbonWindowFrame.m:
        * Plugins.subproj/WebNetscapePluginPackage.m:
        * Plugins.subproj/WebPluginPackage.m:

2003-05-19  Maciej Stachowiak  <mjs@apple.com>

        - fixed 3261096 - Make WebKit an umbrella framework

        * WebKit.pbproj/project.pbxproj: Build WebKit as a public umbrella
        framework when doing a B&I build.

2003-05-19  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        * Panels.subproj/WebAuthenticationPanel.m: Now imports Foundation/NSURLCredential.h
        * WebCoreSupport.subproj/WebCookieAdapter.m: Now imports Foundation/NSHTTPCookie.h

2003-05-19  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        Changed imports to include headers from Foundation                   
        instead of WebFoundation. 

        Removed WebFoundation.framework as a dependency in
        the project file.

        * History.subproj/WebHistory.m:
        * History.subproj/WebHistoryItem.m:
        * History.subproj/WebHistoryPrivate.m:
        * History.subproj/WebURLsWithTitles.m:
        * Misc.subproj/WebDownload.h:
        * Misc.subproj/WebDownload.m:
        * Misc.subproj/WebFileDatabase.m:
        * Misc.subproj/WebIconDatabase.m:
        * Misc.subproj/WebIconLoader.m:
        * Misc.subproj/WebKitErrors.m:
        * Misc.subproj/WebKitErrorsPrivate.h:
        * Misc.subproj/WebNSPasteboardExtras.m:
        * Misc.subproj/WebNSViewExtras.m:
        * Panels.subproj/WebAuthenticationPanel.h:
        * Panels.subproj/WebAuthenticationPanel.m:
        * Panels.subproj/WebPanelAuthenticationHandler.h:
        * Panels.subproj/WebPanelAuthenticationHandler.m:
        * Plugins.subproj/WebBaseNetscapePluginStream.m:
        * Plugins.subproj/WebBaseNetscapePluginView.m:
        * Plugins.subproj/WebNetscapePluginDocumentView.m:
        * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
        * Plugins.subproj/WebNetscapePluginRepresentation.m:
        * Plugins.subproj/WebNetscapePluginStream.m:
        * Plugins.subproj/WebNullPluginView.m:
        * Plugins.subproj/WebPluginController.m:
        * WebCoreSupport.subproj/WebBridge.m:
        * WebCoreSupport.subproj/WebCookieAdapter.m:
        * WebCoreSupport.subproj/WebImageRendererFactory.m:
        * WebCoreSupport.subproj/WebSubresourceClient.m:
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        * WebView.subproj/WebDataProtocol.h:
        * WebView.subproj/WebDataProtocol.m:
        * WebView.subproj/WebDataSource.m:
        * WebView.subproj/WebDataSourcePrivate.m:
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        * WebView.subproj/WebDefaultFrameLoadDelegate.m:
        * WebView.subproj/WebDefaultPolicyDelegate.m:
        * WebView.subproj/WebDefaultResourceLoadDelegate.m:
        * WebView.subproj/WebDefaultUIDelegate.m:
        * WebView.subproj/WebFrame.m:
        * WebView.subproj/WebFramePrivate.m:
        * WebView.subproj/WebFrameView.m:
        * WebView.subproj/WebFrameViewPrivate.m:
        * WebView.subproj/WebHTMLRepresentation.m:
        * WebView.subproj/WebHTMLViewPrivate.m:
        * WebView.subproj/WebImageRepresentation.m:
        * WebView.subproj/WebMainResourceClient.m:
        * WebView.subproj/WebPreferences.m:
        * WebView.subproj/WebTextRepresentation.m:
        * WebView.subproj/WebTextView.m:
        * WebView.subproj/WebUIDelegate.h:
        * WebView.subproj/WebView.m:
        * WebView.subproj/WebViewPrivate.m:

2003-05-16  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by John.

        - fixed 3255088 - repro crash in WebCredentialStorage remembering password from onlinetrafficsafety.com

        * WebView.subproj/WebFormDelegate.h:
        * WebView.subproj/WebFormDelegate.m:
        (-[WebFormDelegate frame:sourceFrame:willSubmitForm:withValues:submissionListener:]): Expect sourceFrame
        argument.
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): Include
        source frame in form state.
        (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
        Include source frame in form state. Post directly to the target
        frame if it exists, since we want the form state to contain the
        right source frame.
        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): Pass source frame to form
        delegate.
        (-[WebFormState initWithForm:values:sourceFrame:]): New sourceFrame argument.
        (-[WebFormState dealloc]): release sourceFrame.
        (-[WebFormState sourceFrame]): New method.

2003-05-16  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Gramps

        Moved in WebDatabase and WebFileDatabase files from WebFoundation.

        Copied NSLRUFileList from WebFoundation and renamed to WebLRUFileList.

        Updated StringsNotToBeLocalized.txt.

        * English.lproj/StringsNotToBeLocalized.txt:
        * Misc.subproj/WebDatabase.h:
        * Misc.subproj/WebDatabase.m:
        * Misc.subproj/WebFileDatabase.h:
        * Misc.subproj/WebFileDatabase.m:
        (-[WebFileDatabaseOp initWithCode:key:object:]):
        (-[WebFileDatabaseOp perform:]):
        (SetThreadPriority):
        (-[WebFileDatabase _createLRUList:]):
        (-[WebFileDatabase _truncateToSizeLimit:]):
        (+[WebFileDatabase _syncLoop:]):
        (-[WebFileDatabase setObject:forKey:]):
        (-[WebFileDatabase removeObjectForKey:]):
        (-[WebFileDatabase removeAllObjects]):
        (-[WebFileDatabase objectForKey:]):
        (-[WebFileDatabase performSetObject:forKey:]):
        (-[WebFileDatabase performRemoveObjectForKey:]):
        (-[WebFileDatabase close]):
        (-[WebFileDatabase lazySync:]):
        (-[WebFileDatabase sync]):
        (-[WebFileDatabase count]):
        (-[WebFileDatabase usage]):
        * Misc.subproj/WebIconDatabase.m:
        * Misc.subproj/WebKitLogging.h:
        * Misc.subproj/WebKitLogging.m:
        * Misc.subproj/WebLRUFileList.h: Added.
        * Misc.subproj/WebLRUFileList.m: Added.
        (WebLRUFileListCreate):
        (WebLRUFileListRelease):
        (WebLRUFileListRebuildFileDataUsingRootDirectory):
        (WebLRUFileListRemoveFileWithPath):
        (WebLRUFileListTouchFileWithPath):
        (WebLRUFileListSetFileData):
        (WebLRUFileListGetPathOfOldestFile):
        (WebLRUFileListRemoveOldestFileFromList):
        (WebLRUFileListContainsItem):
        (WebLRUFileListGetFileSize):
        (WebLRUFileListCountItems):
        (WebLRUFileListGetTotalSize):
        (WebLRUFileListRemoveAllFilesFromList):
        (compareTimes):
        (cStringEqual):
        (cStringHash):
        (NSLRUFileDataEqual):
        (WebLRUFileListGetOldestFileData):
        (NSLRUFileDataReleaseApplierFunction):
        (NSLRUFileDataRelease):
        (NSLRUFileDataBinaryHeapDumpApplierFunction):
        (NSLRUFileDataDictDumpApplierFunction):
        (WebLRUFileListDescription):
        * WebKit.pbproj/project.pbxproj:

2003-05-15  Chris Blumenberg  <cblu@apple.com>

                Fixed: 3199310 - No user agent included in favicon.ico requests

        Reviewed by kocienda.

        * Misc.subproj/WebIconLoader.h:
        * Misc.subproj/WebIconLoader.m:
        (-[WebIconLoaderPrivate dealloc]): use the request ivar
        (-[WebIconLoader URL]): ditto
        (-[WebIconLoader startLoading]): ditto
        (-[WebIconLoader connection:didReceiveData:]): ditto
        (-[WebIconLoader connectionDidFinishLoading:]): ditto
        * WebView.subproj/WebDataSourcePrivate.m: 
        (-[WebDataSource _loadIcon]): create a icon loader with a request with the extra fields set

2003-05-15  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3155760 - Plug-in MIME and extension mapping should be case-insensitive

        Reviewed by john.

        * Plugins.subproj/WebBasePluginPackage.m:
        (-[WebBasePluginPackage getPluginInfoFromBundleAndMIMEDictionary:]): store the extensions and MIMEs as lowercase strings
        (-[NSArray _web_lowercaseStrings]): new, returns array of lowercase strings
        * Plugins.subproj/WebNetscapePluginPackage.m:
        (-[WebNetscapePluginPackage getPluginInfoFromResources]): store the extensions and MIMEs as lowercase strings
        * Plugins.subproj/WebPluginDatabase.m:
        (-[WebPluginDatabase pluginForMIMEType:]): lowercase the passed MIME type
        (-[WebPluginDatabase pluginForExtension:]): lowercase the passed extension

=== Safari-79 ===

2003-05-15  Ken Kocienda  <kocienda@apple.com>

        Reviewed by John

        Updated for recent changes.

        * English.lproj/StringsNotToBeLocalized.txt:

2003-05-15  Ken Kocienda  <kocienda@apple.com>

        Reviewed by John

        Changed the names of some extras files in WebFoundation:
        Updated imports and usages in this project.

        WebNSCalendarDateExtras -> NSCalendarDate_NSURLExtras
        WebNSDataExtras -> NSData_NSURLExtras
        WebNSDictionaryExtras -> NSDictionary_NSURLExtras
        WebNSErrorExtras -> NSError_NSURLExtras
        WebNSFileManagerExtras -> NSFileManager_NSURLExtras
        WebNSObjectExtras -> NSObject_NSURLExtras
        WebNSStringExtras -> NSString_NSURLExtras
        WebNSURLExtras -> NSURL_NSURLExtras
        WebNSUserDefaultsExtras -> NSUserDefaults_NSURLExtras

        * History.subproj/WebHistory.m:
        * History.subproj/WebHistoryItem.m:
        * History.subproj/WebHistoryPrivate.m:
        * History.subproj/WebURLsWithTitles.m:
        * Misc.subproj/WebIconDatabase.m:
        * Misc.subproj/WebIconLoader.m:
        * Misc.subproj/WebKitErrors.m:
        * Misc.subproj/WebNSPasteboardExtras.m:
        * Misc.subproj/WebNSViewExtras.m:
        * Panels.subproj/WebAuthenticationPanel.m:
        * Panels.subproj/WebPanelAuthenticationHandler.m:
        * Plugins.subproj/WebBaseNetscapePluginStream.m:
        * Plugins.subproj/WebBaseNetscapePluginView.m:
        * Plugins.subproj/WebNetscapePluginRepresentation.m:
        * Plugins.subproj/WebNullPluginView.m:
        * WebCoreSupport.subproj/WebBridge.m:
        * WebCoreSupport.subproj/WebCookieAdapter.m:
        * WebCoreSupport.subproj/WebSubresourceClient.m:
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        * WebView.subproj/WebDataProtocol.m:
        * WebView.subproj/WebDataSource.m:
        * WebView.subproj/WebDataSourcePrivate.m:
        * WebView.subproj/WebDefaultResourceLoadDelegate.m:
        * WebView.subproj/WebFrame.m:
        * WebView.subproj/WebFramePrivate.m:
        * WebView.subproj/WebFrameView.m:
        * WebView.subproj/WebFrameViewPrivate.m:
        * WebView.subproj/WebHTMLViewPrivate.m:
        * WebView.subproj/WebMainResourceClient.m:
        * WebView.subproj/WebPreferences.m:
        * WebView.subproj/WebView.m:
        * WebView.subproj/WebViewPrivate.m:

2003-05-14  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Chris

        WebKitSystemBits files that contain a system memory size
        getter. This function is used in a few of places in WebKit.

        * History.subproj/WebBackForwardList.m:
        * Misc.subproj/WebKitSystemBits.h: Added.
        * Misc.subproj/WebKitSystemBits.m: Added.
        (initCapabilities):
        (WebSystemMainMemory):
        * WebCoreSupport.subproj/WebBridge.m:
        * WebCoreSupport.subproj/WebTextRendererFactory.m:
        * WebKit.pbproj/project.pbxproj:

2003-05-14  Ken Kocienda  <kocienda@apple.com>

        Reviewed by David

        File and class renaming in WebFoundation:

        WebFileTypeMappings -> NSURLFileTypeMappings

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge MIMETypeForPath:]):
        * WebCoreSupport.subproj/WebImageRendererFactory.m:
        (-[WebImageRendererFactory supportedMIMETypes]):
        * WebView.subproj/WebDataSource.m:
        * WebView.subproj/WebMainResourceClient.m:
        * WebView.subproj/WebViewPrivate.m:
        (+[WebView suggestedFileExtensionForMIMEType:]):
        (+[WebView _MIMETypeForFile:]):

2003-05-14  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Maciej

        Copied WebLocalizableStrings.[hm] from WebFoundation to WebKit

        Updated all imports.

        Added logging exported symbols to exports file.

        * Misc.subproj/WebKitErrors.m:
        * Misc.subproj/WebLocalizableStrings.h: Added.
        * Misc.subproj/WebLocalizableStrings.m: Added.
        * Panels.subproj/WebAuthenticationPanel.m:
        * WebCoreSupport.subproj/WebBridge.m:
        * WebCoreSupport.subproj/WebFileButton.m:
        * WebCoreSupport.subproj/WebViewFactory.m:
        * WebKit.exp:
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebDefaultContextMenuDelegate.m:

2003-05-14  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Don.

        - fixed 3257307 - REGRESSION: crash using onFocus="this.blur()"
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge makeFirstResponder:]): Let the WebView know that
        this is a programmatic focus.
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView becomeFirstResponder]): Check if this is a programmatic
        focus from WebCore - if so, treat it like a direct focus, even if there
        is a selection direction set.
        * WebView.subproj/WebViewPrivate.h:
        * WebView.subproj/WebViewPrivate.m:
        (-[WebView _pushPerformingProgrammaticFocus]): New method to indicate
        upcoming programmatic focus.
        (-[WebView _popPerformingProgrammaticFocus]): New method to indicate
        end of programmatic focus. Needs to nest with the previous.
        (-[WebView _isPerformingProgrammaticFocus]): Check if we are handling
        a programmatic focus from WebCore. 

2003-05-14  Ken Kocienda  <kocienda@apple.com>

        Reviewed by John

        Copied WebAssertions.[hm] from WebFoundation to WebKit

        Updated all imports.

        Added logging exported symbols to exports file.

        * History.subproj/WebBackForwardList.m:
        * History.subproj/WebHistory.m:
        * History.subproj/WebHistoryItem.m:
        * Misc.subproj/WebAssertions.h: Added.
        * Misc.subproj/WebAssertions.m: Added.
        (vprintf_stderr_objc):
        (WebReportAssertionFailure):
        (WebReportAssertionFailureWithMessage):
        (WebReportArgumentAssertionFailure):
        (WebReportFatalError):
        (WebReportError):
        (WebLog):
        * Misc.subproj/WebKitLogging.h:
        * Misc.subproj/WebNSPasteboardExtras.m:
        * Misc.subproj/WebStringTruncator.m:
        * Panels.subproj/WebAuthenticationPanel.m:
        * Panels.subproj/WebPanelAuthenticationHandler.m:
        * Plugins.subproj/WebBaseNetscapePluginView.m:
        * Plugins.subproj/WebNetscapePluginDocumentView.m:
        * Plugins.subproj/WebNetscapePluginRepresentation.m:
        * WebCoreSupport.subproj/WebBridge.m:
        * WebCoreSupport.subproj/WebCookieAdapter.m:
        * WebCoreSupport.subproj/WebFileButton.m:
        * WebCoreSupport.subproj/WebImageRenderer.m:
        * WebCoreSupport.subproj/WebImageRendererFactory.m:
        * WebCoreSupport.subproj/WebJavaScriptTextInputPanel.m:
        * WebCoreSupport.subproj/WebSubresourceClient.m:
        * WebCoreSupport.subproj/WebTextRendererFactory.m:
        * WebCoreSupport.subproj/WebViewFactory.m:
        * WebKit.exp:
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        * WebView.subproj/WebClipView.m:
        * WebView.subproj/WebDataProtocol.m:
        * WebView.subproj/WebDataSource.m:
        * WebView.subproj/WebDefaultPolicyDelegate.m:
        * WebView.subproj/WebFrameViewPrivate.m:
        * WebView.subproj/WebHTMLViewPrivate.m:
        * WebView.subproj/WebImageView.m:
        * WebView.subproj/WebTextRepresentation.m:
        * WebView.subproj/WebTextView.m:
        * WebView.subproj/WebView.m:
        * WebView.subproj/WebViewPrivate.m:

2003-05-13  Richard Williamson   <rjw@apple.com>

        Fixed 3014661.  We now display (a lame Lemay) image
        when an image fails to load.  We also display the 
        alt text if it fits within the image container
        above the missing image icon.  Alt text is also
        now shown if image loading is disabled.

        Reviewed by John.

        * Resources/missing_image.tiff: Added.
        * WebCoreSupport.subproj/WebImageRenderer.h:
        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer initWithMIMEType:]):
        (-[WebImageRenderer initWithData:MIMEType:]):
        (-[WebImageRenderer initWithContentsOfFile:]):
        (-[WebImageRenderer copyWithZone:]):
        (-[WebImageRenderer isNull]):
        (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
        * WebCoreSupport.subproj/WebImageRendererFactory.m:
        (-[WebImageRendererFactory imageRendererWithName:]):
        * WebKit.pbproj/project.pbxproj:

2003-05-13  Darin Adler  <darin@apple.com>

        Reviewed by Chris and Richard.

        - fixed 3257296 -- REGRESSION: crash in WebImageRendererFactory (movietickets.com)

        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer initWithMIMEType:]): Check for nil.
        (-[WebImageRenderer initWithData:MIMEType:]): Check for nil, also don't check for GIF signature
        until after the object is allocated.

2003-05-12  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        - fixed 3254484 - Add a way to print JavaScript exceptions to the console via the debug menu

        * Misc.subproj/WebCoreStatistics.h:
        * Misc.subproj/WebCoreStatistics.m:
        (+[WebCoreStatistics shouldPrintExceptions]): Call through to WebCore.
        (+[WebCoreStatistics setShouldPrintExceptions:]): Call through to WebCore.

2003-05-13  Darin Adler  <darin@apple.com>

        Reviewed by Ken.

        - fixed 3120355 -- importing IE favorites garbles non-ASCII characters (esp. bad for non-Roman languages)

        * WebView.subproj/WebViewPrivate.h: Added _decodeData:.
        * WebView.subproj/WebViewPrivate.m: (+[WebView _decodeData:]): Added. Calls through to WebCore.

2003-05-13  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        - renamed NSErrorFailingURLKey to NSErrorFailingURLStringKey

        * Misc.subproj/WebKitErrors.m:
        (-[NSError _initWithPluginErrorCode:contentURLString:pluginPageURLString:pluginName:MIMEType:]):

2003-05-13  John Sullivan  <sullivan@apple.com>

        fixed build break

        Reviewed by Darin

        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer initWithData:MIMEType:]):
        move #ifdefs; two required methods were being #ifdeffed
        out on Panther

2003-05-12  Richard Williamson  <rjw@apple.com>

        Fixed 3251316.  *** Public API Change ***

        Added -(void)setGroupName:(NSString *) and -(NSString *)groupName;
        
        Reviewed by mjs.

        * WebView.subproj/WebView.h:
        * WebView.subproj/WebView.m:

2003-05-12  Richard Williamson  <rjw@apple.com>

        Fixed 3194614 and 3194751.  Add SPI to set 'renderless' mode
        for a frame.
        
        Reviewed by darin.  

        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebFramePrivate.m:
        
        WebImageRenderers now get a MIME type that can be used to faciliate
        selection of an appropriate decoder.
        
        Reviewed by darin.

        * WebCoreSupport.subproj/WebImageRenderer.h:
        * WebCoreSupport.subproj/WebImageRenderer.m:
        * WebCoreSupport.subproj/WebImageRendererFactory.m:
        * WebKit.pbproj/project.pbxproj:

2003-05-12  John Sullivan  <sullivan@apple.com>

        - addition to Darin's previous patch; when checking whether a request can
        be handled, take into account the schemes that were registered without
        an NSURLProtocol getting involved.

        Reviewed by Darin

        * WebView.subproj/WebViewPrivate.h:
        * WebView.subproj/WebViewPrivate.m:
        (+[WebView _canHandleRequest:]):
        like NSURLConnection canHandleRequest, but also takes into account the
        schemes that were registered without an NSURLProtocol
        * Plugins.subproj/WebNetscapePluginStream.m:
        (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]):
        use +[WebView _canHandleRequest] instead of +[NSURLConnection canHandleRequest]
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
        ditto
        * WebView.subproj/WebDefaultPolicyDelegate.m:
        (-[WebDefaultPolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]):
        ditto
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _continueAfterNavigationPolicy:]):
        ditto

2003-05-12  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed 3254576 -- REGRESSION: visiting bookmarks view sometimes waits for other tabs to load first

        * WebView.subproj/WebViewPrivate.h: Added new SPI for registering view and represenation classes by
        scheme rather than MIME type.
        * WebView.subproj/WebViewPrivate.m:
        (+[WebView _registerViewClass:representationClass:forURLScheme:]]): Added.
        (+[WebView _generatedMIMETypeForURLScheme:]): Added. Makes a special MIME type for us only by the
        special "register scheme" mechanism.
        (+[WebView _representationExistsForURLScheme:]): Added.

        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient continueAfterContentPolicy:response:]): Check for schemes that have their
        own representation, and handle them just like empty documents, loading no data, and doing it synchronously.
        (-[WebMainResourceClient loadWithRequest:]): Same thing here, only also arrange to get the appropriate
        MIME type.
        (-[WebMainResourceClient setDefersCallbacks:]): Same check here.

        * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.

2003-05-11  Darin Adler  <darin@apple.com>

        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView layoutToPageWidth:]): Added a check for nil that I forgot.

2003-05-10  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed 3254473 - REGRESSION: reload loop due to onresize handler (fortune.com, flipdog.com, stanford.edu)

        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView layoutToPageWidth:]): Don't send out a resize event any
        time during the first event that results in a layout. The old check was merely for the first layout,
        but we need to ignore any number of layouts that are all part of handling a first event. Some day we
        may need to refine this rule even further, but this fixes the present bug.
        
        * WebView.subproj/WebHTMLViewPrivate.h: Goodbye laidOutAtLeastOnce, hello firstLayoutEventTime.

2003-05-10  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed 3250119 -- REGRESSION: WebFrame leaked after showing pop-up menu

        The leak was caused by various code storing the "element" dictionary that describes where
        a click took place.

        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
        Don't store the element in a retained global. Instead attach it as the represented
        object to each menu item.
        (-[WebDefaultUIDelegate openNewWindowWithURL:element:]): Pass in an element.
        (-[WebDefaultUIDelegate downloadURL:element:]): Ditto.
        (-[WebDefaultUIDelegate openLinkInNewWindow:]): Get element from represented object.
        (-[WebDefaultUIDelegate downloadLinkToDisk:]): Ditto.
        (-[WebDefaultUIDelegate copyLinkToClipboard:]): Ditto.
        (-[WebDefaultUIDelegate openImageInNewWindow:]): Ditto.
        (-[WebDefaultUIDelegate downloadImageToDisk:]): Ditto.
        (-[WebDefaultUIDelegate copyImageToClipboard:]): Ditto.
        (-[WebDefaultUIDelegate openFrameInNewWindow:]): Ditto.

        * WebView.subproj/WebDefaultUIDelegate.h: Remove element field.
        * WebView.subproj/WebDefaultUIDelegate.m: (-[WebDefaultUIDelegate dealloc]): No need
        to release element any more.

        * WebView.subproj/WebHTMLViewPrivate.h: Remove dragElement instance variable.
        * WebView.subproj/WebHTMLViewPrivate.m:
        (-[WebHTMLViewPrivate dealloc]): No need to release dragElement any more. 
        (-[WebHTMLView _handleMouseDragged:]): Get element again here. The old code used to
        get it from an instance variable, but that is unnecessary.
        (-[WebHTMLView _mayStartDragWithMouseDragged:]): Don't store the element.

2003-05-09  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        Updated for NSURLResponse API changes.

        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]):
        * WebView.subproj/WebDataProtocol.m:
        (-[WebDataProtocol startLoading]):
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient loadWithRequest:]):

2003-05-09  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        - removed WebAuthenticationChallenge
        - adjusted everything for removal of NSURLAuthenticationChallenge subclasses.
        * Misc.subproj/WebDownload.m:
        (-[WebDownloadInternal download:didReceiveAuthenticationChallenge:]):
        (-[WebDownloadInternal download:didCancelAuthenticationChallenge:]):
        * Panels.subproj/WebPanelAuthenticationHandler.m:
        (-[WebPanelAuthenticationHandler startAuthentication:window:]):
        (-[WebPanelAuthenticationHandler _authenticationDoneWithChallenge:result:]):
        * WebView.subproj/WebAuthenticationChallenge.h: Removed.
        * WebView.subproj/WebAuthenticationChallenge.m: Removed.
        * WebView.subproj/WebAuthenticationChallengeInternal.h: Removed.
        * WebView.subproj/WebBaseResourceHandleDelegate.h:
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate useCredential:forAuthenticationChallenge:]):
        (-[WebBaseResourceHandleDelegate continueWithoutCredentialForAuthenticationChallenge:]):
        (-[WebBaseResourceHandleDelegate cancelAuthenticationChallenge:]):
        (-[WebBaseResourceHandleDelegate connection:didReceiveAuthenticationChallenge:]):
        (-[WebBaseResourceHandleDelegate connection:didCancelAuthenticationChallenge:]):
        (-[WebBaseResourceHandleDelegate setIdentifier:]):
        * WebView.subproj/WebDefaultResourceLoadDelegate.m:
        (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveAuthenticationChallenge:fromDataSource:]):
        (-[WebDefaultResourceLoadDelegate webView:resource:didCancelAuthenticationChallenge:fromDataSource:]):
        * WebView.subproj/WebResourceLoadDelegate.h:
        * Misc.subproj/WebKit.h: Remove headers that are gone.
        * WebKit.exp: Remove classes that are gone.
        * WebKit.pbproj/project.pbxproj: Remove files that are gone.

2003-05-09  David Hyatt  <hyatt@apple.com>

        Change the minfontsize to 1, i.e., to have no minimum.  This
        matches other browsers while still retaining the pref control
        in WebKit.

        Fixes www.gamespot.com.  The bug is 3254489.
        Reviewed by darin

        * WebView.subproj/WebPreferences.m:
        (+[WebPreferences initialize]):

2003-05-09  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by John.

        Rename connection:didFailLoadingWithError: to
        connection:didFailWithError: to match NSURLDownload and
        NSURLProtocol.

        * Misc.subproj/WebIconLoader.m:
        (-[WebIconLoader connection:didFailWithError:]):
        * Plugins.subproj/WebNetscapePluginStream.m:
        (-[WebNetscapePluginStream connection:didFailWithError:]):
        * WebCoreSupport.subproj/WebSubresourceClient.m:
        (-[WebSubresourceClient connection:didFailWithError:]):
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate connection:didFailWithError:]):
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient receivedError:]):
        (-[WebMainResourceClient connection:didFailWithError:]):

2003-05-09  Richard Williamson  <rjw@apple.com>

        Apply the same check used to by-pass fast rendering
        in the fix to 3146161 to measurement.
        
        Reviewed by Ken.

        * Misc.subproj/WebKitNSStringExtras.m:

2003-05-09  Ken Kocienda  <kocienda@apple.com>

        Reviewed by John

        Removed unneeded import of WebFoundation/WebQueue.h.

        * WebCoreSupport.subproj/WebTextRendererFactory.h

2003-05-08  Richard Williamson  <rjw@apple.com>

        Fixed 3146161.  Use the AppKit to render complex
        text in the simple string drawing method.

        Reviewed by John.

        * Misc.subproj/WebKitNSStringExtras.m:

2003-05-08  Richard Williamson  <rjw@apple.com>

        Make representations without intrinsic titles return nil.
        
        Reviewed by John.

        * Plugins.subproj/WebNetscapePluginRepresentation.m:
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebDataSourcePrivate.m:
        * WebView.subproj/WebImageRepresentation.m:
        * WebView.subproj/WebTextRepresentation.m:

2003-05-08  Richard Williamson   <rjw@apple.com>

        Fixed 3252460.  *** Public API Change ***
        Added title method to WebDocumentRepresentation.
        
        Fixed 3250352.  Check that delegate implements method.
        
        Reviewed by hyatt.

        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource pageTitle]):
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _startLoading:]):
        (-[WebDataSource _title]):
        * WebView.subproj/WebDocument.h:
        * WebView.subproj/WebHTMLRepresentation.m:
        (-[WebHTMLRepresentation title]):
        * WebView.subproj/WebImageRepresentation.m:
        (-[WebImageRepresentation title]):
        * WebView.subproj/WebNetscapePluginRepresentation.m:
        (-[WebNetscapePluginRepresentation title]):
        * WebView.subproj/WebTextRepresentation.h:
        * WebView.subproj/WebTextRepresentation.m:
        (-[WebTextRepresentation dealloc]):
        (-[WebTextRepresentation setDataSource:]):
        (-[WebTextRepresentation title]):

2003-05-08  Darin Adler  <darin@apple.com>

        * WebKit.pbproj/project.pbxproj: Fixed paths for non-Panther builds.

2003-05-08  John Sullivan  <sullivan@apple.com>

        Closed up all gaps in WebKit between "ASSERT" and "(" to
        make Darin's day a little brighter.

        Reviewed by Darin

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge pluginViewWithPackage:attributes:baseURL:]):
        (-[WebBridge handleMouseDragged:]):
        (-[WebBridge mayStartDragWithMouseDragged:]):
        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate _releaseResources]):
        (-[WebBaseResourceHandleDelegate dealloc]):
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _transitionToCommitted:]):
        * WebView.subproj/WebViewPrivate.m:
        (-[WebView _preferencesChangedNotification:]):

2003-05-08  John Sullivan  <sullivan@apple.com>

        - fixed 3252632 -- Registering a WebDocumentView too 
        early breaks built-in image viewing

        A startup-performance optimization was breaking the case
        where clients registered WebDocumentView types before the
        first WebFrameView had been created. The fix is to allow
        registering WebDocumentView types without retrieving the
        built-in image types.

        Reviewed by Darin

        * WebView.subproj/WebFrameViewPrivate.h:
        remove _viewTypes; expose _viewTypesAllowImageTypeOmission.
        All callers have to specify the boolean now.

        * WebView.subproj/WebFrameViewPrivate.m:
        (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
        assert that the list of image types isn't nil before inserting
        them; insert each image type only if not already present.
        (+[WebFrameView _viewClassForMIMEType:]):
        replace _viewTypes with _viewTypesAllowImageTypeOmission

        * Plugins.subproj/WebPluginDatabase.m:
        (-[WebPluginDatabase init]):
        replace _viewTypes with _viewTypesAllowImageTypeOmission

        * WebView.subproj/WebDataSourcePrivate.h:
        remove _repTypes; expose _repTypesAllowImageTypeOmission.
        All callers have to specify the boolean now.
        * WebView.subproj/WebDataSourcePrivate.m:
        (+[WebDataSource _representationClassForMIMEType:]):
        replace _repTypes with _repTypesAllowImageTypeOmission

        * WebView.subproj/WebView.m:
        (+[WebView registerViewClass:representationClass:forMIMEType:]):
        replace _viewTypes with _viewTypesAllowImageTypeOmission, and
        replace _repTypes with _repTypesAllowImageTypeOmission

2003-05-08  Darin Adler  <darin@apple.com>

        Reviewed by Richard.

        - fixed 3242414 -- REGRESSION: PLT times reported 10% slower after emptying cache with B/F cache enabled
        - made it only compute the page cache size once

        * History.subproj/WebBackForwardList.m:
        (-[WebBackForwardList init]): Set initial page cache size to special value, COMPUTE_DEFAULT_PAGE_CACHE_SIZE.
        (-[WebBackForwardList setPageCacheSize:]): Remove code to set pageCacheSizeModified and call to
        _setUsesPageCache:, not needed any more.
        (-[WebBackForwardList pageCacheSize]): If cache size is COMPUTE_DEFAULT_PAGE_CACHE_SIZE, then compute it.
        The old code would compute the cache size each time this method was called until pageCacheSizeModified was set.
        (-[WebBackForwardList _usesPageCache]): Just check pageCacheSize for 0 to see if we use a page cache.
        No need for a separate boolean any more.
        
        * History.subproj/WebHistoryItemPrivate.h: Remove _setUsesPageCache (gone altogether) and _clearPageCache
        (now only used internally).

=== Safari-78 ===

2003-05-07  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed 3127927 -- web view should not use primary selection color when it's not first responder

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView updateTextBackgroundColor]): Added. Sets the usesInactiveTextBackgroundColor flag
        on the bridge, and does setNeedsDisplayInRect: of the selectionRect if the state changes.
        (-[WebHTMLView viewDidMoveToWindow]): Call updateTextBackgroundColor.
        (-[WebHTMLView windowDidBecomeKey:]): Call updateTextBackgroundColor.
        (-[WebHTMLView windowDidResignKey:]): Call updateTextBackgroundColor.
        (-[WebHTMLView becomeFirstResponder]): Call updateTextBackgroundColor.
        (-[WebHTMLView resignFirstResponder]): Call updateTextBackgroundColor.

        - fixed up WebHistoryItem initializers so there is a designated initializer

        * History.subproj/WebHistoryItem.m:
        (-[WebHistoryItem init]): Call initWithURLString:title:lastVisitedTimeInterval:,
        which is the designated initializer.
        (-[WebHistoryItem initWithURL:title:]): Ditto.
        (-[WebHistoryItem initWithURL:target:parent:title:]): Ditto.

        - other changes

        * History.subproj/WebHistoryPrivate.m: (-[WebHistoryPrivate addItem:]): Fixed assertion
        to not use _lastVisitedDate; we're trying to get rid of calls to that method.

2003-05-07  Vicki Murley  <vicki@apple.com>

        Reviewed by darin.

        - modify the Mixed build style to build optimized with symbols

        * WebKit.pbproj/project.pbxproj: removed OPTIMIZATION_CGLAGS

2003-05-06  Richard Williamson   <rjw@apple.com>

        Fixed problem for HelpViewer.  HV calls stopLoading in 
        a webView:resource:didReceiveResponse.  This causes
        the premature release of the connection delegate.
        
        Reviewed by Ken.

        * WebCoreSupport.subproj/WebSubresourceClient.m:
        (-[WebSubresourceClient connectionDidFinishLoading:]):
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate _releaseResources]):
        (-[WebBaseResourceHandleDelegate dealloc]):
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient stopLoadingForPolicyChange]):
        (-[WebMainResourceClient continueAfterContentPolicy:response:]):
        (-[WebMainResourceClient continueAfterContentPolicy:]):
        (-[WebMainResourceClient connection:didReceiveResponse:]):
        (-[WebMainResourceClient connectionDidFinishLoading:]):

2003-05-06  Darin Adler  <darin@apple.com>

        - removed obsolete file that's still around for some reason

        * Downloads.subproj/WebDownload.m: Removed.

2003-05-06  Darin Adler  <darin@apple.com>

        - fixed crash on startup

        * History.subproj/WebHistoryItem.m:
        (-[WebHistoryItem initWithURLString:title:lastVisitedTimeInterval:]):
        Allocate WebHistoryItemPrivate.

2003-05-06  Darin Adler  <darin@apple.com>

        - fixed 3249211 -- WebTextRenderer.h should not use "AttributeGroup" type for styleGroup

        * WebCoreSupport.subproj/WebTextRenderer.h: Update to use ATSStyleGroupPtr.

2003-05-06  Darin Adler  <darin@apple.com>

        Reviewed by Ken.

        - used ObjectAlloc to find large numbers of allocations on startup and get rid of some

        * History.subproj/WebHistoryItem.m:
        (-[WebHistoryItem initFromDictionaryRepresentation:]):
        Use the init method that takes a URL string so we don't have to create and then
        destroy a URL for each item we decode.
        * History.subproj/WebHistoryPrivate.m:
        (-[WebHistoryPrivate addItem:]): Use URLString instead of making and destroying
        a URL each time this is called.
        (-[WebHistoryPrivate removeItem:]): Ditto.
        (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]): Check URLString for nil; no reason
        to construct and then destroy a URL just to check validity.
        
        * WebCoreSupport.subproj/WebTextRendererFactory.m:
        (FontCacheKeyCopy): Added.
        (FontCacheKeyFree): Added.
        (FontCacheKeyEqual): Added.
        (FontCacheKeyHash): Added.
        (FontCacheValueRetain): Added.
        (FontCacheValueRelease): Added.
        (-[WebTextRendererFactory cachedFontFromFamily:traits:size:]): Use a C struct for the
        font cache key instead of using an Objective-C object. This saves us an object
        allocation and deallocation when doing a lookup. Also took advantage of the CFDictionary
        ability to store NULL and distinguish it from "not found" so we don't need a separate set
        for cache misses.

2003-05-05  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Richard.

        Fix build by separating mutating data protocol methods into
        category on NSMutableURLRequest. Also, formatting fixes.

        * WebView.subproj/WebDataProtocol.h:
        * WebView.subproj/WebDataProtocol.m:
        (+[NSURLRequest _webDataRequestURLForData:]):
        (-[NSURLRequest _webDataRequestData]):
        (-[NSURLRequest _webDataRequestEncoding]):
        (-[NSURLRequest _webDataRequestMIMEType]):
        (-[NSURLRequest _webDataRequestBaseURL]):
        (-[NSURLRequest _webDataRequestExternalRequest]):
        (-[NSMutableURLRequest _webDataRequestSetData:]):
        * WebView.subproj/WebFrame.m:

2003-05-04  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed a storage leak

        * WebView.subproj/WebFramePrivate.m: (-[WebFrame _setState:]): Release the timer before setting to nil.

2003-05-03  David Hyatt  <hyatt@apple.com>

        Add smallCaps boolean to the string measuring and drawing
        methods.  Not actually supported yet.
        Reviewed by darin

        * Misc.subproj/WebKitNSStringExtras.m:
        (-[NSString _web_widthWithFont:]):
        * Misc.subproj/WebStringTruncator.m:
        (stringWidth):
        * WebCoreSupport.subproj/WebTextRenderer.h:
        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer widthForCharacters:length:]):
        (-[WebTextRenderer drawCharacters:stringLength:fromCharacterPosition:toCharacterPosition:atPoint:withPadding:withTextColor:backgroundColor:rightToLeft:letterSpacing:wordSpacing:smallCaps:fontFamilies:]):
        (-[WebTextRenderer floatWidthForCharacters:stringLength:characterPosition:]):
        (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:]):
        (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:letterSpacing:wordSpacing:smallCaps:fontFamilies:]):
        (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:smallCaps:fontFamilies:]):

2003-05-04  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - added validation to "Interface Builder" methods on WebView

        * WebView.subproj/WebView.h: Add NSUserInterfaceValidations protocol so that subclassers
        know that they can call [super validateUserInterfaceItem:].
        * WebView.subproj/WebView.m:
        (-[WebView canMakeTextSmaller]): Simplify.
        (-[WebView canMakeTextLarger]): Simplify.
        (-[WebView _isLoading]): Added.
        (-[WebView validateUserInterfaceItem:]): Added. Checks for the six actions we implement,
        and returns NO if they are not valid.

2003-05-02  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Richard.

        - reformatted method prototypes to match AppKit style
        - remove "Public header file" from headers that are not public
        - fix header doc @method names to match actual method names

        * Carbon.subproj/CarbonWindowAdapter.h:
        * Carbon.subproj/HIViewAdapter.h:
        * DOM.subproj/WebDOMDocument.h:
        * DOM.subproj/WebDOMNode.h:
        * History.subproj/WebBackForwardList.h:
        * History.subproj/WebHistoryItemPrivate.h:
        * History.subproj/WebHistoryPrivate.h:
        * History.subproj/WebURLsWithTitles.h:
        * Misc.subproj/WebIconDatabase.h:
        * Misc.subproj/WebIconLoader.h:
        * Misc.subproj/WebKitNSStringExtras.h:
        * Misc.subproj/WebUnicode.h:
        * Panels.subproj/WebPanelAuthenticationHandler.h:
        * Plugins.subproj/WebBasePluginPackage.h:
        * Plugins.subproj/WebNetscapePluginStream.h:
        * Plugins.subproj/WebNullPluginView.h:
        * Plugins.subproj/WebPluginViewFactory.h:
        * WebCoreSupport.subproj/WebGlyphBuffer.h:
        * WebCoreSupport.subproj/WebTextRenderer.h:
        * WebCoreSupport.subproj/WebTextRendererFactory.h:
        * WebView.subproj/WebBaseResourceHandleDelegate.h:
        * WebView.subproj/WebControllerSets.h:
        * WebView.subproj/WebDataProtocol.h:
        * WebView.subproj/WebDataSource.h:
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebDebugDOMNode.h:
        * WebView.subproj/WebDocument.h:
        * WebView.subproj/WebFrame.h:
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebFrameView.h:
        * WebView.subproj/WebHTMLRepresentation.h:
        * WebView.subproj/WebHTMLView.h:
        * WebView.subproj/WebMainResourceClient.h:
        * WebView.subproj/WebPolicyDelegate.h:
        * WebView.subproj/WebPolicyDelegatePrivate.h:
        * WebView.subproj/WebPreferencesPrivate.h:
        * WebView.subproj/WebRenderNode.h:
        * WebView.subproj/WebResourceLoadDelegate.h:
        * WebView.subproj/WebUIDelegate.h:
        * WebView.subproj/WebView.h:
        * WebView.subproj/WebViewPrivate.h:

2003-05-02  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        - fixed 2936175 - MALLORY: please implement onResize

        * WebView.subproj/WebHTMLViewPrivate.h:
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView layoutToPageWidth:]): If we just resized and we're
        not printing, make sure to send a resize event after the layout.

2003-05-02  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed 3236383 -- http://www.xy.com/ exception, crash loading main page

        * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge closeWindowSoon]): Replaces
        closeWindow. Schedule a closeWindow operation in the WebView. Important to not have
        the call's execution depend on whether this WebBridge or WebFrame is still around
        after the delay.
        
        * WebView.subproj/WebViewPrivate.h: Added _closeWindow.
        * WebView.subproj/WebViewPrivate.m: (-[WebView _closeWindow]): Make a webViewClose:
        call on the UI delegate.

2003-05-02  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - first step in fixing 3236383 -- http://www.xy.com/ exception, crash loading main page
        
        Changed WebFrame to explicitly detach from the bridge so we don't have a stale pointer;
        also cleaned up WebBridge initialization.

        * WebCoreSupport.subproj/WebBridge.h: Added initWithWebFrame: and close methods, removed
        setWebFrame: method.
        * WebView.subproj/WebFrame.m:
        (-[WebFrame initWithName:webFrameView:webView:]): Use the new initWithWebFrame:.
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _detachFromParent]): Call close on the bridge.

        - fixed many places that call a WebView a "controller"

        * Misc.subproj/WebKitStatistics.h:
        * Misc.subproj/WebKitStatistics.m:
        * Misc.subproj/WebKitStatisticsPrivate.h:
        * Misc.subproj/WebNSViewExtras.m:
        * Plugins.subproj/WebBaseNetscapePluginView.h:
        * Plugins.subproj/WebBaseNetscapePluginView.m:
        * Plugins.subproj/WebNetscapePluginStream.m:
        * WebCoreSupport.subproj/WebBridge.m:
        * WebCoreSupport.subproj/WebSubresourceClient.m:
        * WebView.subproj/WebBaseResourceHandleDelegate.h:
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        * WebView.subproj/WebControllerSets.h:
        * WebView.subproj/WebControllerSets.m:
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebDataSourcePrivate.m:
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        * WebView.subproj/WebFrame.m:
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebFrameView.m:
        * WebView.subproj/WebFrameViewPrivate.h:
        * WebView.subproj/WebFrameViewPrivate.m:
        * WebView.subproj/WebImageView.m:
        * WebView.subproj/WebMainResourceClient.m:
        * WebView.subproj/WebTextView.m:
        * WebView.subproj/WebView.m:
        * WebView.subproj/WebViewPrivate.h:
        * WebView.subproj/WebViewPrivate.m:

2003-05-01  John Sullivan  <sullivan@apple.com>

        - fixed 3246045 -- History items without a valid date in 
        History.plist show up with unexpected dates in UI

        Reviewed by Darin.

        * History.subproj/WebHistoryItem.m:
        (-[WebHistoryItem initFromDictionaryRepresentation:]):
        don't set lastVisitedTimeInterval to [nil doubleValue],
        since this is random

        * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.

2003-05-01  Richard Williamson   <rjw@apple.com>

        Added missing header and alphabetized.
        
        Reviewed by Ken.

        * Misc.subproj/WebKit.h:

2003-05-01  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3234888 - REGRESSION: "can't add a plug-in to a defunct WebPluginController" error, then crash
        Fixed: 3226392 - REGRESSION: Safari crashed while loading Java applet at PopCap.com
        
        Reviewed by darin.

        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame setController:]): fixed comment
        * WebView.subproj/WebView.m:
        (-[WebView dealloc]): call [self _close]
        * WebView.subproj/WebViewPrivate.h:
        * WebView.subproj/WebViewPrivate.m:
        (-[WebViewPrivate dealloc]): let the WebView class clear the frames
        (-[WebView _close]): remove self from controller set and detach and release frame

=== Safari-77 ===

2003-05-01  John Sullivan  <sullivan@apple.com>

        - fixed 3245793 -- Launching Safari-75 after tip of tree 
        erases all history

        Reviewed by Chris, Don

        * History.subproj/WebHistoryItem.m:
        keep using "lastVisitedDate" as the dictionary key, since old
        Safaris otherwise can't read the History file.
        (-[WebHistoryItem dictionaryRepresentation]):
        keep storing the time interval as a string, since old Safaris
        otherwise can't read the History file
        (-[WebHistoryItem initFromDictionaryRepresentation:]):
        read the stored date as a string and convert to a double,
        as we did before.

2003-05-01  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed 3169117 -- dragging while using a scroll wheel affects scroll movement

        * WebView.subproj/WebHTMLViewPrivate.m:
        (-[WebNSWindow nextEventMatchingMask:untilDate:inMode:dequeue:]):
        Just return nil when called with NSScrollWheelMask to work around the bug where any
        kind of event can be returned when this mask is passed. This will prevent scroll wheel
        events from being coalesced, but it's better than extracting events of all different
        types. Mouse moved events are particularly bad because they have deltaX/Y/Z and the
        scroll wheel code in NSScrollView treats them as if they were scroll wheel events.

2003-05-01  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        Updated to use approved NSHTTPCookieStorage API.

        +sharedCookieManager -> +sharedHTTPCookieStorage
        -acceptPolicy -> -cookieAcceptPolicy
        -cookieRequestHeaderFieldsForURL: -> -cookiesForURL:
        -setCookiesFromResponseHeader:forURL:policyBaseURL: -> -setCookies:forURL:mainDocumentURL:

        * WebCoreSupport.subproj/WebCookieAdapter.m:
        (-[WebCookieAdapter cookiesEnabled]):
        (-[WebCookieAdapter cookiesForURL:]):
        (-[WebCookieAdapter setCookies:forURL:policyBaseURL:]):

2003-05-01  Darin Adler  <darin@apple.com>

        * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.

2003-04-30  Kenneth Kocienda  <kocienda@apple.com>

        Reviewed by Richard

        Modified WebFoundation error constant names. Names
        now begin with NSURLError prefix.

        * Plugins.subproj/WebNetscapePluginRepresentation.m:
        (-[WebNetscapePluginRepresentation receivedError:withDataSource:]):
        * WebCoreSupport.subproj/WebSubresourceClient.m:
        (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate cancelledError]):
        * WebView.subproj/WebDataProtocol.m:
        (-[WebDataProtocol startLoading]):
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _stopLoadingInternal]):

2003-04-30  Kenneth Kocienda  <kocienda@apple.com>

        Reviewed by Richard

        Use NSURLResponse new SPI methods to set instance variables.

        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]):
        * WebView.subproj/WebDataProtocol.m:
        (-[WebDataProtocol startLoading]):
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient loadWithRequest:]):

2003-04-30  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Richard.

        Moved NSURLProtectionSpace over to officially blessed API.
        * Panels.subproj/WebAuthenticationPanel.m:
        (-[WebAuthenticationPanel setUpForChallenge:]):

2003-04-30  Richard Williamson   <rjw@apple.com>

        Copy MIME type when copying WebDataProtocol's parameters.
        
        Reviewed by Ken.

        * WebView.subproj/WebDataProtocol.m:
        (-[WebDataRequestParameters copyWithZone:]):

2003-04-30  Richard Williamson   <rjw@apple.com>

        Documentation fixes.
        Added "ADVISORY NOTE" about possible API change after beta SDK.
        
        * History.subproj/WebHistory.h:
        * WebView.subproj/WebUIDelegate.h:

2003-04-30  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Maciej

        Tweaked some HTTP-specific NSURLRequest method names as specified
        in the API errata list.

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
        (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]):
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge createWindowWithURL:frameName:]):
        * WebCoreSupport.subproj/WebSubresourceClient.m:
        (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]):
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultUIDelegate openNewWindowWithURL:]):
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _loadItem:withLoadType:]):
        (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]):
        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
        (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]):

2003-04-30  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Ken.

        Minor header tweaks.

        * Misc.subproj/WebDownload.h: Fix copyright notice.
        * Panels.subproj/WebAuthenticationPanel.h: Added 2003 to copyright.
        * WebView.subproj/WebAuthenticationChallenge.h: Fix copyright notice, add docs.
        * WebView.subproj/WebAuthenticationChallengeInternal.h: Fix copyright notice.

2003-04-30  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Ken.

        Minor header tweaks.

        * Misc.subproj/WebDownload.h: Fix copyright notice.
        * Panels.subproj/WebAuthenticationPanel.h: Added 2003 to copyright.
        * WebView.subproj/WebAuthenticationChallenge.h: Fix copyright notice, add docs.
        * WebView.subproj/WebAuthenticationChallengeInternal.h: Fix copyright notice.

2003-04-30  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        Fixed imports and @class directives for WebFoundation changes.

        * Panels.subproj/WebAuthenticationPanel.h:
        * Panels.subproj/WebAuthenticationPanel.m:

2003-04-30  Richard Williamson   <rjw@apple.com>

        Fixed doc errors.
        
        * History.subproj/WebHistory.h:

2003-04-30  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        Some simple renames:

        sharedURLCredentialStorage --> sharedCredentialStorage
        URLCredentialWithUser:password:persistence: --> credentialWithUser:password:persistence:

        * Panels.subproj/WebAuthenticationPanel.m:
        (-[WebAuthenticationPanel runAsModalDialogWithChallenge:]):
        (-[WebAuthenticationPanel sheetDidEnd:returnCode:contextInfo:]):

2003-04-30  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        Changed things to use WebAuthenticationChallenge for
        WebResoureceLoadDelegate auth callbacks.

        * Panels.subproj/WebPanelAuthenticationHandler.m:
        (-[WebPanelAuthenticationHandler startAuthentication:window:]):
        (-[WebPanelAuthenticationHandler _authenticationDoneWithChallenge:result:]):
        * WebKit.exp:
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebAuthenticationChallenge.h: Added.
        * WebView.subproj/WebAuthenticationChallenge.m: Added.
        (-[WebAuthenticationChallengeInternal initWithDelegate:]):
        (-[WebAuthenticationChallengeInternal dealloc]):
        (-[WebAuthenticationChallenge _initWithAuthenticationChallenge:delegate:]):
        (-[WebAuthenticationChallenge dealloc]):
        (-[WebAuthenticationChallenge useCredential:]):
        (-[WebAuthenticationChallenge cancel]):
        (-[WebAuthenticationChallenge continueWithoutCredential]):
        * WebView.subproj/WebAuthenticationChallengeInternal.h: Added.
        * WebView.subproj/WebBaseResourceHandleDelegate.h:
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate connection:didReceiveAuthenticationChallenge:]):
        (-[WebBaseResourceHandleDelegate connection:didCancelAuthenticationChallenge:]):
        (-[WebBaseResourceHandleDelegate useCredential:forAuthenticationChallenge:]):
        (-[WebBaseResourceHandleDelegate continueWithoutCredentialForAuthenticationChallenge:]):
        (-[WebBaseResourceHandleDelegate cancelWithError:]):
        * WebView.subproj/WebDefaultResourceLoadDelegate.m:
        (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveAuthenticationChallenge:fromDataSource:]):
        (-[WebDefaultResourceLoadDelegate webView:resource:didCancelAuthenticationChallenge:fromDataSource:]):
        * WebView.subproj/WebResourceLoadDelegate.h:

2003-04-30  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.
        Converted download code to use an
        NSURLDownloadAuthenticationChallenge rather than a vanilla
        NSURLAuthenticationChallenge.

        * Misc.subproj/WebDownload.m:
        (-[WebDownloadInternal download:didReceiveAuthenticationChallenge:]):
        (-[WebDownloadInternal download:didCancelAuthenticationChallenge:]):
        * Panels.subproj/WebPanelAuthenticationHandler.h:
        * Panels.subproj/WebPanelAuthenticationHandler.m:
        (-[WebPanelAuthenticationHandler startAuthentication:window:]):
        (-[WebPanelAuthenticationHandler _authenticationDoneWithChallenge:result:]):

2003-04-30  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Richard

        Changed cookie-related constants and enums to 
        the API-approved names. Also did some text
        search and replace in comments to catch usages
        of now-obsolete names.

        * WebCoreSupport.subproj/WebCookieAdapter.m:
        (-[WebCookieAdapter cookiesEnabled]):

2003-04-30  Chris Blumenberg  <cblu@apple.com>

        FIXED: Clients of WebKit should have separate icon DB's

        Reviewed by rjw.

        * English.lproj/StringsNotToBeLocalized.txt:
        * Misc.subproj/WebIconDatabase.h:
        * Misc.subproj/WebIconDatabase.m:
        (-[WebIconDatabase _createFileDatabase]): If the icon db hasn't been set using the defaults, create o directory using the bundle id. 
        * WebKit.exp:

2003-04-30  Richard Williamson   <rjw@apple.com>

        API changes from final review meeting.
        
        Moved view registry to WebView.
        Changed WebHistoryItem to use NSTimeInterval (at least for public API).
        Still creates a NSCalendarDate for compatibility.  We should wean Safari
        off it's use of NSCalendarDate.
        Added public init method for WebHistoryItem.
        Removed anchor from WebHistoryItem.
        Added WebHistorySavedNotification.
        
        Reviewed by Darin.

        * History.subproj/WebHistory.m:
        (-[WebHistory addItemForURL:]):
        * History.subproj/WebHistoryItem.h:
        * History.subproj/WebHistoryItem.m:
        (-[WebHistoryItem initWithURLString:title:lastVisitedTimeInterval:]):
        (-[WebHistoryItem copyWithZone:]):
        (-[WebHistoryItem lastVisitedTimeInterval]):
        (-[WebHistoryItem anchor]):
        (-[WebHistoryItem _setLastVisitedTimeInterval:]):
        (-[WebHistoryItem _lastVisitedDate]):
        (-[WebHistoryItem dictionaryRepresentation]):
        (-[WebHistoryItem initFromDictionaryRepresentation:]):
        * History.subproj/WebHistoryItemPrivate.h:
        * History.subproj/WebHistoryPrivate.m:
        (-[WebHistoryPrivate insertItem:atDateIndex:]):
        (-[WebHistoryPrivate removeItemForURLString:]):
        (-[WebHistoryPrivate addItem:]):
        (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]):
        * Plugins.subproj/WebPluginDatabase.m:
        (-[WebPluginDatabase init]):
        * WebView.subproj/WebFrame.h:
        * WebView.subproj/WebFrame.m:
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _transitionToCommitted:]):
        * WebView.subproj/WebView.h:
        * WebView.subproj/WebView.m:
        (+[WebView registerViewClass:representationClass:forMIMEType:]):

2003-04-29  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        - Adjusted for authentication API change - now we expect
        authentication via the connection delegate, not a separate global
        authentication handler

        * Misc.subproj/WebKit.h: Include WebDownload.h
        * Misc.subproj/WebDownload.h: Added.
        * Misc.subproj/WebDownload.m: Added - this new class is just like NSURLDownload
        but if the standard auth delegate methods are not implemented, it prompts using
        the standard AppKit sheet.
        * Panels.subproj/WebPanelAuthenticationHandler.h:
        * Panels.subproj/WebPanelAuthenticationHandler.m:
        (+[WebPanelAuthenticationHandler sharedHandler]): New method to get a shared
        handler, since we no logner register an instance with WebFoundation.
        (-[WebPanelAuthenticationHandler startAuthentication:window:]): Do things
        using the new API.
        (-[WebPanelAuthenticationHandler _authenticationDoneWithChallenge:result:]):
        Likewise.
        * WebKit.exp: Export WebDownload.
        * WebKit.pbproj/project.pbxproj: Add new files to  build.

        - Removed WebStandardPanels - this is removed from the API.
        
        * Panels.subproj/WebStandardPanels.h: Removed.
        * Panels.subproj/WebStandardPanels.m: Removed.
        * Panels.subproj/WebStandardPanelsPrivate.h: Removed.
        * Panels.subproj/WebAuthenticationPanel.m: Remove WebStandardPanels.h import.

        - Added new resource load delegate auth methods:
        * WebView.subproj/WebResourceLoadDelegate.h:

        - Use WebDownload where appropriate, and remove use of WebStandardPanels:
        * WebView.subproj/WebBaseResourceHandleDelegate.h:
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate connection:didReceiveAuthenticationChallenge:]):
        Pass to resource load delegate.
        (-[WebBaseResourceHandleDelegate connection:didCancelAuthenticationChallenge:]):
        Likewise.
        (-[WebBaseResourceHandleDelegate dealloc]): Don't track currentURL any more.
        (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]): Likewise.
        (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]): Likewise.
        (-[WebBaseResourceHandleDelegate connection:didFailLoadingWithError:]): Likewise.
        (-[WebBaseResourceHandleDelegate cancelWithError:]): Likewise.
        * WebView.subproj/WebDefaultResourceLoadDelegate.m:
        (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveAuthenticationChallenge:fromDataSource:]): 
        Prompt using the standard panel.

        (-[WebDefaultResourceLoadDelegate webView:resource:didCancelAuthenticationChallenge:fromDataSource:]):
        Cancel prompting using the standard panel.
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient continueAfterContentPolicy:response:]): Use WebDownload instead
        of NSURLDownload.
        * WebView.subproj/WebView.h: Remove unneeded @class directives,
        and mention WebDownload instead of NSURLDownload.
        * WebView.subproj/WebViewPrivate.h:
        * WebView.subproj/WebViewPrivate.m:
        (-[WebView _downloadURL:toDirectory:]): Use WebDownload instead of NSURLDownload.
        (-[WebView _cacheResourceLoadDelegateImplementations]): Track auth methods too.

2003-04-30  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        Changed cookie-related class names:

        WebCookie -> NSHTTPCookie
        WebCookiePrivate -> NSHTTPCookieInternal     
        WebCookieManager -> NSHTTPCookieStorage      
        WebCookieManagerPrivate -> NSHTTPCookieStorageInternal     

        * WebCoreSupport.subproj/WebCookieAdapter.m:
        (-[WebCookieAdapter cookiesEnabled]):
        (-[WebCookieAdapter cookiesForURL:]):
        (-[WebCookieAdapter setCookies:forURL:policyBaseURL:]):

2003-04-30  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        Changed file names for these classes. The contents
        of the files themselves remain unchanged.

        WebCookie -> NSHTTPCookie.
        WebCookieManager -> NSHTTPCookieStorage.

        * WebCoreSupport.subproj/WebCookieAdapter.m:
        * WebView.subproj/WebMainResourceClient.m:

2003-04-30  Darin Adler  <darin@apple.com>

        Reviewed by Ken.

        - make change to avoid misunderstanding that led to bug report 3179394
          "Safari: Request that temp files use actual file extensions"

        * Plugins.subproj/WebBaseNetscapePluginStream.m:
        (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
        Don't put a dot between "SafariPlugInStream" and the the 6-digit unique number, so the number
        does not look like an extension. Also make it "WebKitPlugInStream" since this is used for
        other WebKit clients, and not just Safari.

        * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.

2003-04-29  Richard Williamson   <rjw@apple.com>

        API changes from final review meeting.
        Added textEncodingName method to WebDataSource.
        
        Reviewed by Chris.

        * WebView.subproj/WebDataSource.h:
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource textEncodingName]):

2003-04-29  Chris Blumenberg  <cblu@apple.com>

        Updated to use the new NSURLDownload API.
        Reviewed by rjw.

        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSourcePrivate dealloc]):
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient continueAfterContentPolicy:response:]):
        * WebView.subproj/WebViewPrivate.m:
        (-[WebView _downloadURL:toDirectory:]):

2003-04-29  Richard Williamson   <rjw@apple.com>

        Added "Copyright (C) 2003 Apple Computer, Inc. All rights reserved."
        to all public headers.  Also made formatting consistent.
    
        Reviewed by darin.

        * Carbon.subproj/CarbonUtils.h:
        * Carbon.subproj/HIWebView.h:
        * History.subproj/WebBackForwardList.h:
        * History.subproj/WebHistory.h:
        * History.subproj/WebHistoryItem.h:
        * Misc.subproj/WebKit.h:
        * Misc.subproj/WebKitErrors.h:
        * WebView.subproj/WebDataSource.h:
        * WebView.subproj/WebDocument.h:
        * WebView.subproj/WebFrame.h:
        * WebView.subproj/WebFrameLoadDelegate.h:
        * WebView.subproj/WebFrameView.h:
        * WebView.subproj/WebPolicyDelegate.h:
        * WebView.subproj/WebPreferences.h:
        * WebView.subproj/WebResourceLoadDelegate.h:
        * WebView.subproj/WebUIDelegate.h:
        * WebView.subproj/WebView.h:

2003-04-28  Don Melton  <gramps@apple.com>

        Fixed 3225050 -- Default font size should be 16px
        Fixed 3241813 -- No longer spoof as WinIE for abcnews.go.com when
        default font size becomes 16px

        Reviewed by Darin and Maciej.

        * English.lproj/StringsNotToBeLocalized.txt:

        Updated.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer initWithFont:usingPrinterFont:]):

        We need to adjust Times, Helvetica, and Courier to closely match the
        vertical metrics of their Microsoft counterparts that are the de facto
        web standard.  The AppKit adjustment of 20% is too big and is
        incorrectly added to line spacing, so we use a 15% adjustment instead
        and add it to the ascent.

        * WebView.subproj/WebPreferences.m:
        (+[WebPreferences initialize]):

        Changed default font size from 14 to 16 pixels and default fixed font
        size from 14 to 13 pixels.  Changed standard font from Lucida Grande to
        Times, serif font from Times New Roman to Times, and sans serif font
        from Lucida Grande to Helvetica.  Also replaced some stray tabs with
        spaces and made a few other anal-retentive formatting changes.

        * WebView.subproj/WebUserAgentSpoofTable.c:
        (hash):
        (_web_findSpoofTableEntry):
        * WebView.subproj/WebUserAgentSpoofTable.gperf:

        No longer spoof as Windows MSIE for abcnews.go.com since we've also
        changed the default font size.

2003-04-28  Richard Williamson  <rjw@apple.com>

        API changes from final review meeting.
        
        goBackOrForwardToItem: -> goToBackForwardItem:
        drop "Window" from WebUIDelegate method names.
        WebElementIsSelectedTextKey -> WebElementIsSelectedKey
        Cross-frame searchFor on WebView now public.
        
        Reviewed by Chris.

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        * WebCoreSupport.subproj/WebBridge.m:
        * WebKit.exp:
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        * WebView.subproj/WebDefaultUIDelegate.m:
        * WebView.subproj/WebFrame.h:
        * WebView.subproj/WebFramePrivate.m:
        * WebView.subproj/WebHTMLView.m:
        * WebView.subproj/WebHTMLViewPrivate.m:
        * WebView.subproj/WebImageView.m:
        * WebView.subproj/WebPolicyDelegate.h:
        * WebView.subproj/WebTextView.m:
        * WebView.subproj/WebUIDelegate.h:
        * WebView.subproj/WebView.h:
        * WebView.subproj/WebView.m:
        * WebView.subproj/WebViewPrivate.h:
        * WebView.subproj/WebViewPrivate.m:

2003-04-28  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Chris

        * Plugins.subproj/WebBaseNetscapePluginStream.m:
        (-[WebBaseNetscapePluginStream setResponse:]): _lastModifiedDate on
        NSURLResponse is now SPI.
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _commitIfReady:]): Ditto.

2003-04-27  Chris Blumenberg  <cblu@apple.com>

        Improved headerdoc comments.
        * Misc.subproj/WebKitErrors.h:
        * WebView.subproj/WebFrameLoadDelegate.h:

2003-04-25  Don Melton  <gramps@apple.com>

        Backed out Richard's (hopefully) accidental checkin of our experiments
        from earlier today.  Otherwise many layout tests are hosed.  But this
        change, or something like it, will arrive soon.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer initWithFont:usingPrinterFont:]):

2003-04-25  Richard Williamson   <rjw@apple.com>

        API changes from final review meeting.
        
        WebView:
        Added canShowMIMETypeAsHTML:

        WebFrameView:
        Removed scrollView
        Removed isDocumentHTML
        
        WebDataSource:
        Removed isDocumentHTML
        
        Reviewed by Chris.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer initWithFont:usingPrinterFont:]):
        * WebView.subproj/WebDataSource.h:
        * WebView.subproj/WebDataSource.m:
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _layoutChildren]):
        (-[WebDataSource _mainDocumentError]):
        (-[WebDataSource _isDocumentHTML]):
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _makeDocumentView]):
        (-[WebFrame _setState:]):
        (-[WebFrame _isLoadComplete]):
        * WebView.subproj/WebFrameView.h:
        * WebView.subproj/WebFrameView.m:
        (-[WebFrameView setAllowsScrolling:]):
        (-[WebFrameView allowsScrolling]):
        (-[WebFrameView documentView]):
        (-[WebFrameView drawRect:]):
        (-[WebFrameView setFrameSize:]):
        * WebView.subproj/WebFrameViewPrivate.h:
        * WebView.subproj/WebFrameViewPrivate.m:
        (-[WebFrameView _setDocumentView:]):
        (-[WebFrameView _scrollView]):
        (-[WebFrameView _contentView]):
        (-[WebFrameView _verticalKeyboardScrollAmount]):
        (-[WebFrameView _horizontalKeyboardScrollAmount]):
        (-[WebFrameView _scrollToBottomLeft]):
        (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
        (+[WebFrameView _canShowMIMETypeAsHTML:]):
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _setPrinting:pageWidth:]):
        * WebView.subproj/WebHTMLViewPrivate.m:
        (-[WebHTMLView _updateMouseoverWithEvent:]):
        * WebView.subproj/WebView.h:
        * WebView.subproj/WebView.m:
        (+[WebView canShowMIMETypeAsHTML:]):

2003-04-25  Chris Blumenberg  <cblu@apple.com>

        Renamed WebDownload to NSURLDownload and moved it to WebFoundation.

        Reviewed by rjw.

        * Downloads.subproj/WebBinHexDecoder.h: Removed.
        * Downloads.subproj/WebBinHexDecoder.m: Removed.
        * Downloads.subproj/WebDownload.h: Removed.
        * Downloads.subproj/WebDownload.m: Removed.
        * Downloads.subproj/WebDownloadDecoder.h: Removed.
        * Downloads.subproj/WebDownloadPrivate.h: Removed.
        * Downloads.subproj/WebGZipDecoder.h: Removed.
        * Downloads.subproj/WebGZipDecoder.m: Removed.
        * Downloads.subproj/WebMacBinaryDecoder.h: Removed.
        * Downloads.subproj/WebMacBinaryDecoder.m: Removed.
        * Downloads.subproj/crc16.h: Removed.
        * Downloads.subproj/crc16.m: Removed.
        * English.lproj/Localizable.strings:
        * English.lproj/StringsNotToBeLocalized.txt:
        * Misc.subproj/WebKit.h:
        * Misc.subproj/WebKitErrors.h:
        * Misc.subproj/WebKitErrors.m:
        (-[NSError _initWithPluginErrorCode:contentURLString:pluginPageURLString:pluginName:MIMEType:]):
        (registerErrors):
        * Misc.subproj/WebNSWorkspaceExtras.h: Removed.
        * Misc.subproj/WebNSWorkspaceExtras.m: Removed.
        * WebKit.exp:
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebDataSource.m:
        * WebView.subproj/WebDataSourcePrivate.m:
        * WebView.subproj/WebMainResourceClient.h:
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient initWithDataSource:]):
        (-[WebMainResourceClient continueAfterContentPolicy:response:]):
        * WebView.subproj/WebView.h:
        * WebView.subproj/WebViewPrivate.m:
        (-[WebView _downloadURL:toDirectory:]):

2003-04-25  Richard Williamson   <rjw@apple.com>

        Final API review changes.

        parent -> parentFrame
        children -> childFrames

        Reviewed by Chris.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _setPrinting:pageWidth:]):

2003-04-25  Richard Williamson   <rjw@apple.com>

        Final API review changes.

        parent -> parentFrame
        children -> childFrames

        Reviewed by Chris.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge childFrames]):
        (-[WebBridge frameDetached]):

2003-04-25  Richard Williamson   <rjw@apple.com>

        Final API review changes.
        
        WebFrame:
        parent -> parentFrame
        children -> childFrames
        loadString:baseURL: -> loadHTMLString:baseURL:
        laodData:encodingName:baseURL: -> loadData:MIMEType:textEncodingName:baseURL:
        
        Reviewed by Chris.

        * WebView.subproj/WebDataProtocol.h:
        * WebView.subproj/WebDataProtocol.m:
        (-[WebDataRequestParameters dealloc]):
        (-[NSURLRequest _webDataRequestMIMEType]):
        (-[NSURLRequest _webDataRequestSetMIMEType:]):
        (-[WebDataProtocol startLoading]):
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource isLoading]):
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _recursiveStopLoading]):
        (-[WebDataSource _layoutChildren]):
        (-[WebDataSource _defersCallbacksChanged]):
        * WebView.subproj/WebFrame.h:
        * WebView.subproj/WebFrame.m:
        (-[WebFrame loadHTMLString:baseURL:]):
        (-[WebFrame findFrameNamed:]):
        (-[WebFrame parentFrame]):
        (-[WebFrame childFrames]):
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _createItem]):
        (-[WebFrame _descendantFrameNamed:]):
        (-[WebFrame _transitionToCommitted:]):
        (-[WebFrame _isLoadComplete]):
        (+[WebFrame _recursiveCheckCompleteFromFrame:]):
        (-[WebFrame _textSizeMultiplierChanged]):
        (-[WebFrame _viewWillMoveToHostWindow:]):
        (-[WebFrame _viewDidMoveToHostWindow]):
        (-[WebFrame _saveDocumentAndScrollState]):
        (-[WebFrame _loadDataSource:withLoadType:formState:]):
        * WebView.subproj/WebViewPrivate.m:
        (-[WebViewPrivate _clearControllerReferences:]):
        (-[WebView _frameForDataSource:fromFrame:]):
        (-[WebView _frameForView:fromFrame:]):

2003-04-25  Chris Blumenberg  <cblu@apple.com>

        Don't do "@class WebDataSource" as that class isn't mentioned in this file.

        * WebView.subproj/WebFrameLoadDelegate.h:

2003-04-25  Chris Blumenberg  <cblu@apple.com>

        Turned WebLocationChangeDelegate into WebFrameLoadDelegate. Renamed WebFrameLoadDelegate all methods to pass a frame instead of the data source.

        Reviewed by rjw.

        * English.lproj/Localizable.strings:
        * Misc.subproj/WebKit.h:
        * Misc.subproj/WebKitErrors.h:
        * Misc.subproj/WebKitErrors.m:
        (registerErrors):
        * WebCoreSupport.subproj/WebBridge.m:
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _startLoading:]):
        (-[WebDataSource _setTitle:]):
        (-[WebDataSource _setRequest:]):
        (-[WebDataSource _updateIconDatabaseWithURL:]):
        * WebView.subproj/WebDefaultFrameLoadDelegate.h: Added.
        * WebView.subproj/WebDefaultFrameLoadDelegate.m: Added.
        (+[WebDefaultFrameLoadDelegate sharedFrameLoadDelegate]):
        (-[WebDefaultFrameLoadDelegate webView:didStartProvisionalLoadForFrame:]):
        (-[WebDefaultFrameLoadDelegate webView:didReceiveServerRedirectForProvisionalLoadForFrame:]):
        (-[WebDefaultFrameLoadDelegate webView:didFailProvisionalLoadWithError:forFrame:]):
        (-[WebDefaultFrameLoadDelegate webView:didCommitLoadForFrame:]):
        (-[WebDefaultFrameLoadDelegate webView:didReceiveTitle:forFrame:]):
        (-[WebDefaultFrameLoadDelegate webView:didReceiveIcon:forFrame:]):
        (-[WebDefaultFrameLoadDelegate webView:didFinishLoadForFrame:]):
        (-[WebDefaultFrameLoadDelegate webView:didFailLoadWithError:forFrame:]):
        (-[WebDefaultFrameLoadDelegate webView:didChangeLocationWithinPageForFrame:]):
        (-[WebDefaultFrameLoadDelegate webView:willPerformClientRedirectToURL:delay:fireDate:forFrame:]):
        (-[WebDefaultFrameLoadDelegate webView:didCancelClientRedirectForFrame:]):
        (-[WebDefaultFrameLoadDelegate webView:willCloseFrame:]):
        * WebView.subproj/WebDefaultLocationChangeDelegate.h: Removed.
        * WebView.subproj/WebDefaultLocationChangeDelegate.m: Removed.
        * WebView.subproj/WebFrame.m:
        * WebView.subproj/WebFrameLoadDelegate.h: Added.
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _closeOldDataSources]):
        (-[WebFrame _transitionToCommitted:]):
        (-[WebFrame _isLoadComplete]):
        (-[WebFrame _loadItem:withLoadType:]):
        (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]):
        (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:]):
        (-[WebFrame _clientRedirectCancelled]):
        * WebView.subproj/WebLocationChangeDelegate.h: Removed.
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient interruptForPolicyChangeError]):
        * WebView.subproj/WebPolicyDelegate.h:
        * WebView.subproj/WebView.h:
        * WebView.subproj/WebView.m:
        (-[WebView setFrameLoadDelegate:]):
        (-[WebView frameLoadDelegate]):
        * WebView.subproj/WebViewPrivate.h:
        * WebView.subproj/WebViewPrivate.m:
        (-[WebViewPrivate dealloc]):
        (-[WebView _frameLoadDelegateForwarder]):

2003-04-25  John Sullivan  <sullivan@apple.com>

        - fixed 3240676 -- REGRESSION: Using old Safari then new one 
        erases history

        Reviewed by Darin.

        * History.subproj/WebHistoryPrivate.m:
        (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]):
        The new code to use a synchronous NSURLConnection to read the
        property list file did not take into account the two possible
        formats of the file (NSArray or NSDictionary), so reading
        old-style history files was completely broken. While in here,
        I distributed the variable declarations to first use.

2003-04-24  Maciej Stachowiak  <mjs@apple.com>

        Fixed build.
        * Panels.subproj/WebStandardPanels.m:
        (-[WebStandardPanels setUsesStandardAuthenticationPanel:]):

2003-04-24  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Ken.

        Updated for auth API changes.
        * Panels.subproj/WebStandardPanels.m:
        (-[WebStandardPanels setUsesStandardAuthenticationPanel:]): 

2003-04-24  Richard Williamson   <rjw@apple.com>

        Final API review changes.
        
        Renamed WebWindowOperationsDelegate to WebUIDelegate.
        Merged WebContextMenuDelegate into WebUIDelegate.
        Fixed crasher if history file doesn't exist.
        
        Reviewed by Ken.

        * History.subproj/WebHistory.h:
        * History.subproj/WebHistoryPrivate.m:
        (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]):
        * Misc.subproj/WebKit.h:
        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView loadPluginRequest:]):
        (-[WebBaseNetscapePluginView status:]):
        * Plugins.subproj/WebPluginController.m:
        (-[WebPluginController showStatus:]):
        * WebCoreSupport.subproj/WebBridge.h:
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge createWindowWithURL:frameName:]):
        (-[WebBridge showWindow]):
        (-[WebBridge areToolbarsVisible]):
        (-[WebBridge setToolbarsVisible:]):
        (-[WebBridge isStatusBarVisible]):
        (-[WebBridge setStatusBarVisible:]):
        (-[WebBridge setWindowFrame:]):
        (-[WebBridge windowFrame]):
        (-[WebBridge setWindowContentRect:]):
        (-[WebBridge windowContentRect]):
        (-[WebBridge setWindowIsResizable:]):
        (-[WebBridge windowIsResizable]):
        (-[WebBridge firstResponder]):
        (-[WebBridge makeFirstResponder:]):
        (-[WebBridge closeWindow]):
        (-[WebBridge runJavaScriptAlertPanelWithMessage:]):
        (-[WebBridge runJavaScriptConfirmPanelWithMessage:]):
        (-[WebBridge runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]):
        (-[WebBridge runOpenPanelForFileButtonWithResultListener:]):
        (-[WebBridge setStatusText:]):
        (-[WebBridge focusWindow]):
        * WebKit.exp:
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebContextMenuDelegate.h: Removed.
        * WebView.subproj/WebDefaultContextMenuDelegate.h:
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        * WebView.subproj/WebDefaultUIDelegate.h:
        * WebView.subproj/WebDefaultUIDelegate.m:
        (+[WebDefaultUIDelegate sharedUIDelegate]):
        (-[WebDefaultUIDelegate dealloc]):
        * WebView.subproj/WebDefaultWindowOperationsDelegate.h: Removed.
        * WebView.subproj/WebDefaultWindowOperationsDelegate.m: Removed.
        * WebView.subproj/WebFrame.m:
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
        * WebView.subproj/WebFrameView.m:
        * WebView.subproj/WebHTMLViewPrivate.m:
        * WebView.subproj/WebUIDelegate.h:
        * WebView.subproj/WebView.h:
        * WebView.subproj/WebView.m:
        (-[WebView setUIDelegate:]):
        (-[WebView UIDelegate]):
        (-[WebView downloadDelegate]):
        * WebView.subproj/WebViewPrivate.h:
        * WebView.subproj/WebViewPrivate.m:
        (-[WebViewPrivate init]):
        (-[WebViewPrivate dealloc]):
        (-[WebView _openNewWindowWithRequest:]):
        (-[WebView _menuForElement:]):
        (-[WebView _mouseDidMoveOverElement:modifierFlags:]):
        (-[WebView _UIDelegateForwarder]):
        * WebView.subproj/WebWindowOperationsDelegate.h: Removed.

2003-04-24  Richard Williamson   <rjw@apple.com>

        Final API review changes.

        * History.subproj/WebHistoryItem.h:
        * History.subproj/WebHistoryItem.m:
        (-[WebHistoryItem setAlternateTitle:]):
        (-[WebHistoryItem initFromDictionaryRepresentation:]):

2003-04-24  Richard Williamson   <rjw@apple.com>

        Final API review changes.
        
        Reviewed by Chris.

        * History.subproj/WebBackForwardList.h:
        * History.subproj/WebBackForwardList.m:
        (-[WebBackForwardList containsItem:]):
        (-[WebBackForwardList capacity]):
        (-[WebBackForwardList setCapacity:]):
        (-[WebBackForwardList _clearPageCache]):
        (-[WebBackForwardList setPageCacheSize:]):
        (-[WebBackForwardList _setUsesPageCache:]):
        (-[WebBackForwardList _usesPageCache]):
        * History.subproj/WebHistory.h:
        * History.subproj/WebHistory.m:
        (+[WebHistory optionalSharedHistory]):
        (+[WebHistory setOptionalSharedHistory:]):
        (-[WebHistory init]):
        (-[WebHistory loadFromURL:error:]):
        (-[WebHistory saveToURL:error:]):
        * History.subproj/WebHistoryItemPrivate.h:
        * History.subproj/WebHistoryPrivate.h:
        * History.subproj/WebHistoryPrivate.m:
        (-[WebHistoryPrivate init]):
        (-[WebHistoryPrivate dealloc]):
        (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]):
        (-[WebHistoryPrivate loadFromURL:error:]):
        (-[WebHistoryPrivate _saveHistoryGuts:URL:error:]):
        (-[WebHistoryPrivate saveToURL:error:]):
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _setTitle:]):
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _transitionToCommitted:]):
        (-[WebFrame _canCachePage]):
        (-[WebFrame _purgePageCache]):

2003-04-24  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Chris.

        * Panels.subproj/WebAuthenticationPanel.m:
        (-[WebAuthenticationPanel setUpForChallenge:]): Update for new Challenge API.

2003-04-24  Chris Blumenberg  <cblu@apple.com>

        Renamed - [NSURLResponse suggestedFilenameForSaving] to suggestedFilename and moved it to WebFoundation.

        Reviewed by mjs.

        * Downloads.subproj/WebDownload.m:
        (-[WebDownload _createFileIfNecessary]):
        * English.lproj/Localizable.strings:
        * English.lproj/StringsNotToBeLocalized.txt:
        * Misc.subproj/WebNSURLResponseExtras.h: Removed.
        * Misc.subproj/WebNSURLResponseExtras.m: Removed.
        * Plugins.subproj/WebNullPluginView.m: include NSError to unbreak build.
        * WebKit.pbproj/project.pbxproj:

2003-04-24  Chris Blumenberg  <cblu@apple.com>

        Removed WebPluginError and instead added fields to the userInfo of NSError for plug-in specific errors.

        Reviewed by rjw.

        * Misc.subproj/WebKitErrors.h:
        * Misc.subproj/WebKitErrors.m:
        (+[NSError _webKitErrorWithCode:failingURL:]):
        (-[NSError _initWithPluginErrorCode:contentURLString:pluginPageURLString:pluginName:MIMEType:]):
        * Misc.subproj/WebKitErrorsPrivate.h:
        * Plugins.subproj/WebNetscapePluginDocumentView.m:
        (-[WebNetscapePluginDocumentView setDataSource:]):
        * Plugins.subproj/WebNullPluginView.h:
        * Plugins.subproj/WebNullPluginView.m:
        * Plugins.subproj/WebPlugInError.h: Removed.
        * Plugins.subproj/WebPlugInError.m: Removed.
        * Plugins.subproj/WebPluginErrorPrivate.h: Removed.
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge viewForPluginWithURLString:attributes:baseURLString:MIMEType:]):
        (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURLString:]):
        * WebKit.exp:
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebDefaultResourceLoadDelegate.m:
        (-[WebDefaultResourceLoadDelegate webView:plugInFailedWithError:dataSource:]):
        * WebView.subproj/WebResourceLoadDelegate.h:

2003-04-24  Darin Adler  <darin@apple.com>

        Reviewed by Chris.

        - fixed 3210096 -- server identifies page as UTF-8, page identifies itself as windows-1252, server must win

        * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge receivedData:withDataSource:]):
        Change for new WebCore API. Pass the encoding in a separate setEncoding call rather than
        as a parameter in addData. Also don't handle default encoding here any more. Default encoding
        is now handled the same way all the other preferences are, in a way that works better on the
        WebCore side anyway; nil or empty string means use the default encoding.

2003-04-24  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        Changed WebError to NSError

        * Downloads.subproj/WebDownload.h:
        * Downloads.subproj/WebDownload.m:
        (-[WebDownload connection:didReceiveData:]):
        (-[WebDownload connectionDidFinishLoading:]):
        (-[WebDownload connection:didFailLoadingWithError:]):
        (-[WebDownload _decodeData:]):
        (-[WebDownload _writeDataForkData:resourceForkData:]):
        (-[WebDownload _didCloseFile:]):
        (-[WebDownload _cancelWithError:]):
        (-[WebDownload _errorWithCode:]):
        (CloseCompletionCallback):
        * English.lproj/StringsNotToBeLocalized.txt:
        * Misc.subproj/WebIconLoader.m:
        (-[WebIconLoader connection:didFailLoadingWithError:]):
        * Misc.subproj/WebKitErrors.h:
        * Misc.subproj/WebKitErrors.m:
        (+[NSError _webKitErrorWithCode:failingURL:]):
        (registerErrors):
        * Misc.subproj/WebKitErrorsPrivate.h:
        * Plugins.subproj/WebNetscapePluginRepresentation.h:
        * Plugins.subproj/WebNetscapePluginRepresentation.m:
        (-[WebNetscapePluginRepresentation receivedError:withDataSource:]):
        * Plugins.subproj/WebNetscapePluginStream.m:
        (-[WebNetscapePluginStream connection:didFailLoadingWithError:]):
        * Plugins.subproj/WebPlugInError.h:
        * Plugins.subproj/WebPlugInError.m:
        * WebCoreSupport.subproj/WebBridge.m:
        * WebCoreSupport.subproj/WebSubresourceClient.m:
        (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
        (-[WebSubresourceClient receivedError:]):
        (-[WebSubresourceClient connection:didFailLoadingWithError:]):
        * WebKit.exp:
        * WebView.subproj/WebBaseResourceHandleDelegate.h:
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate connection:didFailLoadingWithError:]):
        (-[WebBaseResourceHandleDelegate cancelWithError:]):
        (-[WebBaseResourceHandleDelegate cancelledError]):
        * WebView.subproj/WebDataProtocol.m:
        (-[WebDataProtocol startLoading]):
        * WebView.subproj/WebDataSource.h:
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _stopLoadingInternal]):
        (-[WebDataSource _setMainDocumentError:]):
        (-[WebDataSource _receivedError:complete:]):
        (-[WebDataSource _stopLoadingWithError:]):
        (-[WebDataSource _mainDocumentError]):
        * WebView.subproj/WebDefaultLocationChangeDelegate.m:
        (-[WebDefaultLocationChangeDelegate webView:locationChangeDone:forDataSource:]):
        * WebView.subproj/WebDefaultPolicyDelegate.m:
        (-[WebDefaultPolicyDelegate webView:unableToImplementPolicyWithError:frame:]):
        * WebView.subproj/WebDefaultResourceLoadDelegate.m:
        (-[WebDefaultResourceLoadDelegate webView:resource:didFailLoadingWithError:fromDataSource:]):
        * WebView.subproj/WebDocument.h:
        * WebView.subproj/WebFrame.h:
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _handleUnimplementablePolicyWithErrorCode:forURL:]):
        * WebView.subproj/WebFrameView.m:
        * WebView.subproj/WebHTMLRepresentation.m:
        (-[WebHTMLRepresentation receivedError:withDataSource:]):
        * WebView.subproj/WebImageRepresentation.m:
        (-[WebImageRepresentation receivedError:withDataSource:]):
        * WebView.subproj/WebLocationChangeDelegate.h:
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient receivedError:]):
        (-[WebMainResourceClient cancelWithError:]):
        (-[WebMainResourceClient interruptForPolicyChangeError]):
        (-[WebMainResourceClient connection:didFailLoadingWithError:]):
        (-[WebResourceDelegateProxy connection:didFailLoadingWithError:]):
        * WebView.subproj/WebPolicyDelegate.h:
        * WebView.subproj/WebResourceLoadDelegate.h:
        * WebView.subproj/WebTextRepresentation.m:
        (-[WebTextRepresentation receivedError:withDataSource:]):
        * WebView.subproj/WebView.h:
        * WebView.subproj/WebViewPrivate.h:
        * WebView.subproj/WebViewPrivate.m:
        (-[WebView _receivedError:fromDataSource:]):
        (-[WebView _mainReceivedError:fromDataSource:complete:]):

2003-04-24  Darin Adler  <darin@apple.com>

        Reviewed by John.

        * WebView.subproj/WebViewPrivate.m: (-[WebView _updateWebCoreSettingsFromPreferences:]):
        Added a call to the new setDefaultTextEncoding: method in WebCore. A preparation
        step for some encoding bug fixes.

        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView addSuperviewObservers]): Improved a comment.
        
=== Safari-75 ===

2003-04-24  Maciej Stachowiak  <mjs@apple.com> (checked in by Darin)

        Reviewed by Ken and Darin.

        Fixed an authentication crashing bug that crept into the last few
        changes, plus a typo.
        * Panels.subproj/WebAuthenticationPanel.m:
        (-[WebAuthenticationPanel setUpForChallenge:]): Remove extra space.
        (-[WebAuthenticationPanel runAsSheetOnWindow:withChallenge:]): Store
        the challenge properly.

2003-04-22  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        Adjusted for NSURLCredential changes.

        * Panels.subproj/WebAuthenticationPanel.m:
        (-[WebAuthenticationPanel runAsModalDialogWithChallenge:]):
        (-[WebAuthenticationPanel sheetDidEnd:returnCode:contextInfo:]):

2003-04-23  Chris Blumenberg  <cblu@apple.com>

        Reviewed by darin.

        * English.lproj/StringsNotToBeLocalized.txt: updated

2003-04-23  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3161374 - safari windows don't allow text/URL dragging on the first click

        Reviewed by john.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _isSelectionEvent:]): new, determines if the event occurred over the selection
        (-[WebHTMLView acceptsFirstMouse:]): newly implemented, return result of _isSelectionEvent:
        (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): newly implemented, return result of _isSelectionEvent:

2003-04-23  Chris Blumenberg  <cblu@apple.com>

        Renamed the policy delegate methods.

        Reviewed by john.

        * WebView.subproj/WebDefaultPolicyDelegate.m:
        (-[WebDefaultPolicyDelegate webView:unableToImplementPolicyWithError:frame:]):
        (-[WebDefaultPolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]):
        (-[WebDefaultPolicyDelegate webView:decidePolicyForNewWindowAction:request:newFrameName:decisionListener:]):
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _handleUnimplementablePolicyWithErrorCode:forURL:]):
        (-[WebFrame _checkNewWindowPolicyForRequest:action:frameName:formState:andCall:withSelector:]):
        (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]):
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient checkContentPolicyForResponse:]):
        * WebView.subproj/WebPolicyDelegate.h:

2003-04-22  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        Updated to use API-approved methods for accessing 
        protocol-specific URL request data.

        * WebView.subproj/WebDataProtocol.m:
        (-[NSURLRequest _webDataRequestParametersForReading]):
        (-[NSURLRequest _webDataRequestParametersForWriting]):

2003-04-22  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        Renamed classes to match API document.
        * Panels.subproj/WebAuthenticationPanel.h:
        * Panels.subproj/WebAuthenticationPanel.m:
        (-[WebAuthenticationPanel setUpForChallenge:]):
        (-[WebAuthenticationPanel runAsModalDialogWithChallenge:]):
        (-[WebAuthenticationPanel runAsSheetOnWindow:withChallenge:]):
        (-[WebAuthenticationPanel sheetDidEnd:returnCode:contextInfo:]):
        * Panels.subproj/WebPanelAuthenticationHandler.h:
        * Panels.subproj/WebPanelAuthenticationHandler.m:
        (-[WebPanelAuthenticationHandler init]):
        (-[WebPanelAuthenticationHandler dealloc]):
        (-[WebPanelAuthenticationHandler isReadyToStartAuthentication:]):
        (-[WebPanelAuthenticationHandler startAuthentication:]):
        (-[WebPanelAuthenticationHandler cancelAuthentication:]):
        (-[WebPanelAuthenticationHandler _authenticationDoneWithChallenge:result:]):
        * Panels.subproj/WebStandardPanels.m:
        (-[WebStandardPanels setUsesStandardAuthenticationPanel:]):

2003-04-21  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        API changes in NSURLProtocol and its subclasses:

        +canHandleURL: becomes +canInitWithRequest:
        +canonicalURLForURL: becomes +canonicalRequestForRequest:

        Added new _webIsDataProtocolURL: helper method.

        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]):
        * WebView.subproj/WebDataProtocol.h:
        * WebView.subproj/WebDataProtocol.m:
        (+[WebDataProtocol _webIsDataProtocolURL:]):
        (+[WebDataProtocol canInitWithRequest:]):
        (+[WebDataProtocol canonicalRequestForRequest:]):
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _addBackForwardItemClippedAtTarget:]):
        (-[WebFrame _transitionToCommitted:]):

2003-04-21  Darin Adler  <darin@apple.com>

        * Plugins.subproj/WebNetscapePluginStream.m: Removed unnecessary #import of <WebFoundation/WebFoundation.h>.

2003-04-21  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Richard.

        Updated for file renames.

        * Panels.subproj/WebAuthenticationPanel.h:
        * Panels.subproj/WebPanelAuthenticationHandler.h:
        * Panels.subproj/WebStandardPanels.m:

2003-04-21  Chris Blumenberg  <cblu@apple.com>
        Fixed previous "Reviewed by".

        * ChangeLog:

2003-04-21  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3140990 - Safari: Error attempting to load movie from Rhino records
        Renamed plug-in view methods to mention that they take URL strings.
        
        Reviewed by john.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge viewForPluginWithURLString:attributes:baseURLString:MIMEType:]): renamed, try to find the plug-in using the extension of the SRC URL if the plug-in isn't found using the MIME type.
        (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURLString:]): renamed

2003-04-18  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3139385 - don't accept drags from other frames in the same WebView

        Reviewed by john.

        * WebView.subproj/WebFrameView.m: moved drag destination code from WebFrameView to WebView
        (-[WebFrameView initWithFrame:]): removed drag registration code
        * WebView.subproj/WebFrameViewPrivate.h:
        * WebView.subproj/WebFrameViewPrivate.m:
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]): unregister drag types on the WebView
        (-[WebHTMLView draggedImage:endedAt:operation:]): reregister drag types on the WebView
        * WebView.subproj/WebImageView.m:
        (-[WebImageView mouseDragged:]): unregister drag types on the WebView
        (-[WebImageView draggedImage:endedAt:operation:]): reregister drag types on the WebView
        * WebView.subproj/WebView.m: moved drag destination code from WebFrameView to WebView
        (-[WebView draggingEntered:]): moved from WebFrameView
        (-[WebView prepareForDragOperation:]): ditto
        (-[WebView performDragOperation:]): ditto
        (-[WebView concludeDragOperation:]): ditto
        * WebView.subproj/WebViewPrivate.h:
        * WebView.subproj/WebViewPrivate.m:
        (-[WebView _registerDraggedTypes]): ditto

2003-04-17  John Sullivan  <sullivan@apple.com>

        Reviewed by Maciej.

        * History.subproj/WebHistoryPrivate.m:
        (-[WebHistoryPrivate _loadHistoryGuts:]):
        if we can't load the file as a dictionary, try loading it
        the old-fashioned array way. This makes the history file
        format change forward-compatible.

2003-04-17  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3160751 - Can't use non-'.txt' file extension for text files?

        Reviewed by mjs.

        * English.lproj/StringsNotToBeLocalized.txt:
        * Misc.subproj/WebNSURLResponseExtras.m:
        (-[NSURL _web_suggestedFilenameForSavingWithMIMEType:]): don't correct the file extension for plain text files

2003-04-17  John Sullivan  <sullivan@apple.com>

        - fixed 3232332 -- History file should be versioned since 
        we might change it in the future
        - fixed 3220355 -- Console error message at launch when 
        there's no history file

        Note: a downside of this change is that the history formats
        before and after this change are not compatible. You will
        get no history each time you cross that boundary by running
        different Safaris.

        Reviewed by Maciej.

        * History.subproj/WebHistoryPrivate.m:
        (-[WebHistoryPrivate _loadHistoryGuts:]):
        check for file-doesn't-exist case before complaining about
        being unable to read existing file; expect to read dictionary
        rather than array, and check version in dictionary.
        (-[WebHistoryPrivate _saveHistoryGuts:]):
        save dictionary that includes version as well as array of
        items by date.

2003-04-17  Richard Williamson   <rjw@apple.com>

        Fixed typos in headerdoc comments.

        * WebView.subproj/WebFrame.h:

2003-04-17  Richard Williamson   <rjw@apple.com>

        Drop down yet one more level to avoid intialization horkage.
        Call objc_getClass() instead of NSClassFromString().
        
        Reviewed by darin.

        * WebView.subproj/WebHTMLViewPrivate.m:
        (+[WebHTMLView load]):

2003-04-17  Darin Adler  <darin@apple.com>

        Reviewed by John.

        * WebView.subproj/WebDataProtocol.m: (+[NSURLRequest _webDataRequestURLForData:]):
        Register the WebDataProtocol here instead of doing it with a load method, since this
        is the bottleneck that must be used before that protocol is needed. It's good to have
        one less load method, and this may fix a problem reported by a Panther WebKit client
        on intrigue-dev too.

2003-04-16  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        Fixed call to load synchronous URL. Now conforms to new API
        which allows callers to access error object associated with 
        the load.

        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _loadItem:withLoadType:]):

2003-04-16  Chris Blumenberg  <cblu@apple.com>

        - Progressively load plain text in our text view.
        - Fixed: 3177603 - vCards appear in browser, not downloaded

        Reviewed by darin.

        * WebView.subproj/WebTextRepresentation.m:
        (-[WebTextRepresentation setDataSource:]): added FIXME about document source of RTF not working
        (-[WebTextRepresentation receivedData:withDataSource:]): feed data to the text view, progressively for plain text
        * WebView.subproj/WebTextView.m:
        (+[WebTextView unsupportedTextMIMETypes]): include text/directory, another vcard MIME type
        (-[WebTextView setDataSource:]): do 1-time attribute settings
        (-[WebTextView dataSourceUpdated:]): do nothing

2003-04-16  Ken Kocienda  <kocienda@apple.com>

        Reviewed by David

        Moved this NSURLProtocolClient implementor to API-approved
        interface.

        * WebView.subproj/WebDataProtocol.m:
        (-[WebDataProtocol startLoading]):

2003-04-16  Ken Kocienda  <kocienda@apple.com>

        Fix deployment build breaker caused by uninitialized variable.

        * WebView.subproj/WebViewPrivate.m:
        (-[WebView _loadBackForwardListFromOtherView:]):

2003-04-16  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed 3226281 -- REGRESSION: crash in WebHTMLView removeMouseMovedObserver closing gist.com

        * Plugins.subproj/WebPluginController.m: (-[WebPluginController showStatus:]):
        Use _webView instead of _controller.
        
        * WebCoreSupport.subproj/WebTextRendererFactory.m: Remove stray semicolon.
        
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView removeMouseMovedObserver]): Use _webView instead of _controller.
        (-[WebHTMLView menuForEvent:]): Ditto.
        (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Ditto.
        * WebView.subproj/WebHTMLViewPrivate.h: Rename _controller to _webView.
        * WebView.subproj/WebHTMLViewPrivate.m:
        (-[WebHTMLView _webView]): Use _web_superviewOfClass to find the WebView. This dodges possible
        stale unretained pointer issues with getting the WebView through the WebFrame, which is what
        fixes the bug.
        (-[WebHTMLView _updateMouseoverWithEvent:]): Use _webView instead of _controller.
        (+[WebHTMLView _pasteboardTypes]): Put the types in order from most preferred to least.
        (-[WebHTMLView _writeSelectionToPasteboard:]): Ditto.

2003-04-15  Richard Williamson   <rjw@apple.com>

        Create the dictionary for volatile values.  Without this fix
        values were never volatile!
        
        Reviewed by mjs.

        * WebView.subproj/WebPreferences.m:
        (-[WebPreferences _init]):
        (-[WebPreferences init]):
        (+[WebPreferences standardPreferences]):
        (-[WebPreferences dealloc]):

2003-04-15  Richard Williamson   <rjw@apple.com>

        Fix for 3226746.  Remove some ancient and apparantly invalid cruft.
        
        Reviewed by trey.

        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _setDataSource:]):

2003-04-15  Richard Williamson   <rjw@apple.com>

        Fixed clipping of progressive images to correctly clip.
        
        Reviewed by darin.

        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):

2003-04-15  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        Name change from WebCacheObject to NSCachedURLResponse.    
        No functional changes.

        * WebView.subproj/WebDataProtocol.m:
        (-[WebDataProtocol startLoadingWithCacheObject:]):

2003-04-15  Trey Matteson  <trey@apple.com>

        3227514 Open window in "Same Page" should copy entire back/forward list

        New support to load a new view by copying the whole backforward
        list and driving the new view to the current item.

        Reviewed by John.

        * WebView.subproj/WebViewPrivate.h:
        * WebView.subproj/WebViewPrivate.m:
        (-[WebView _loadItem:]):  Old routine, which only loaded an item.
        (-[WebView _loadItemsFromOtherView:]):  New routine that does the works.

2003-04-15  Ken Kocienda  <kocienda@apple.com>

        Reviewed by John

        Name change from WebProtocolClient to NSURLProtocolClient.
        No functional changes.

        * WebView.subproj/WebDataProtocol.m:
        (-[WebDataProtocol startLoadingWithCacheObject:]):

2003-04-15  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        Name change from WebProtocol to NSURLProtocol.
        No functional changes.

        * WebView.subproj/WebDataProtocol.h:
        * WebView.subproj/WebDataProtocol.m:
        (-[NSURLRequest _webDataRequestParametersForReading]):
        (-[NSURLRequest _webDataRequestParametersForWriting]):
        (+[WebDataProtocol load]):
        * WebView.subproj/WebFrame.m:

2003-04-14  Trey Matteson  <trey@apple.com>

        3009051 - Find on Page stops (once) at end of page, should wrap automatically        WebKit
        3051546 - Find on Page doesn't work for frameset pages
        3058437 - can have a selection in two frames at the same time (problem for finding in frames)
        3097498 - Find Previous continues to "Find Next" until end of paragraph        3097507 - Find Next searches from previous find hit instead of current selection        Primary changes here:  I added a wrap flag to the searchFor method, which is needed to
        control how we search as we traverse the frame tree.  A new method is added to WebView
        that knows about traversing the frame tree as we search.  HTMLView and TextView both
        clear their selections when they lose first responder (see 3228554 for possible
        improvements to that change).

        Reviewed by Maciej.

        * Misc.subproj/WebSearchableTextView.m:
        Added wrap flag, pass on to TextView.
        Ensure we do some searching when we would previous get a zero range to search in.
        * WebView.subproj/WebDocument.h:
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebFramePrivate.m:
        These are all basic methods to support forwards and backwards traversal of
        the frame tree.  Modeled after same methods we have for traversing the DOM.
        (-[WebFrame _nextSibling]):
        (-[WebFrame _previousSibling]):
        (-[WebFrame _lastChild]):
        (-[WebFrame _nextFrameWithWrap:]):
        (-[WebFrame _previousFrameWithWrap:]):
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView searchFor:direction:caseSensitive:wrap:]):  Added wrap flag,
        pass it to bridge.
        (-[WebHTMLView resignFirstResponder]):  Clear selection when we lose firstResp.
        * WebView.subproj/WebTextView.m:
        (-[WebTextView resignFirstResponder]):  Clear selection when we lose firstResp.
        * WebView.subproj/WebView.m:
        (-[WebView _currentFrame]):  Return the frame holding the first responder.
        (-[WebView _searchFor:direction:caseSensitive:wrap:]):  Main work:  traverse the
        frame tree and drive the overall find.
        * WebView.subproj/WebViewPrivate.h:

2003-04-14  Chris Blumenberg  <cblu@apple.com>

        Log time spent loading each plug-in.

        Reviewed by mjs.

        * Misc.subproj/WebIconDatabase.m:
        (-[WebIconDatabase _iconsForIconURLString:]): fixed logging code
        (-[WebIconDatabase _scaleIcon:toSize:]): fixed logging code
        * Plugins.subproj/WebNetscapePluginPackage.m:
        (-[WebNetscapePluginPackage load]): log time spent loading a plug-in
        * Plugins.subproj/WebPluginController.m:
        (-[WebPluginController startAllPlugins]): only log if there are plug-ins to start
        (-[WebPluginController stopAllPlugins]): only log if there are plug-ins to stop
        (-[WebPluginController destroyAllPlugins]): only log if there are plug-ins to destroy

2003-04-13  Trey Matteson  <trey@apple.com>

        3150693 - open new window on "same page" doesn't give me the same frame content

        The core is a new support method that loads a WebView given a HistoryItem, which
        thus restores all frames of that item, and optionally the form and scroll state.

        * History.subproj/WebHistoryItem.m:
        (-[WebHistoryItem copyWithZone:]):  Copy the docState, scrollPosition, isTargetItem.
        No good        reason to have left these out when I wrote this method.
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _saveDocumentAndScrollState]):  New method to run the frame tree and
        save all form/scroll state to the current item.
        * WebView.subproj/WebView.m:
        _goToItem:withLoadType: moved to WebViewPrivate.m
        * WebView.subproj/WebViewPrivate.h:
        * WebView.subproj/WebViewPrivate.m:
        (-[WebView _goToItem:withLoadType:]):  Moved from WebView.m, no change.
        (-[WebView _loadItem:showingInView:]):  New method to load the view with the item.

2003-04-12  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3162338 - Embedding SVG with <object type="image/svg+xml"> doesn't work

        Reviewed by dave.

        * WebCoreSupport.subproj/WebImageRendererFactory.m:
        (-[WebImageRendererFactory supportedMIMETypes]): code moved from +[WebImageView supportedImageMIMETypes]
        * WebView.subproj/WebImageView.m:
        (+[WebImageView supportedImageMIMETypes]): return -[WebImageRendererFactory supportedMIMETypes]

2003-04-13  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Trey.

        * WebView.subproj/WebDefaultWindowOperationsDelegate.m:
        (-[WebDefaultWindowOperationsDelegate webView:setContentRect:]):
        Implemented in terms of webView:setFrame: to save clients work.

2003-04-11  Chris Blumenberg  <cblu@apple.com>

        Removed WebKitErrorResourceLoadInterruptedByPolicyChange error because it isn't used. 

        Reviewed by john.

        * Misc.subproj/WebKitErrors.h:
        * Misc.subproj/WebKitErrors.m:
        (registerErrors):
        * WebKit.pbproj/project.pbxproj:

2003-04-11  Trey Matteson  <trey@apple.com>

        3148002 - printing shouldn't depend on the size of the window

        The basic strategy is copied from khtmlview's print method:  We reset the width
        of the document to the paper width minus margins, and relayout before paginating
        and printing.

        Reviewed by Richard.

        * WebKit.pbproj/project.pbxproj:  Someone is using an old version...
        * WebView.subproj/WebDynamicScrollBarsView.m:
        (-[WebDynamicScrollBarsView reflectScrolledClipView:]):  Don't do the dynamic
        scrollbar update magic when printing.
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView layoutToPageWidth:]):  New routine, basically the old layout
        method with a new parameter.  If we're given an width, we call a different
        bridge method.
        (-[WebHTMLView layout]):  Just call above method with width==0
        (-[WebHTMLView drawRect:]):  Protect setting/resetting of graphics context and
        additional clip with a DURING/HANDLER.  I saw an assertion failure that could
        be explained by this, so this is mostly a beartrap for that problem.
        (-[WebHTMLView _setPrinting:pageWidth:]):  Pass page width through to others.
        (-[WebHTMLView beginDocument]):  If we are not in a frame set, do a layout
        using the page width.
        (-[WebHTMLView endDocument]):  Pass 0 to new pageWidth: arg.

2003-04-08  Trey Matteson  <trey@apple.com>

        3220349 - assertion failure in [WebFrame _recursiveGoToItem:...] hitting Back while loading movie

        The problem was that when we go back we call stopLoading on the top frame, but
        that has a bogus optimization to not do any work if state=Completed.  That is a
        bogus test if a subframe is doing a load.  The fix is to just always tell the
        dataSources to stopLoading.  They already bail quickly when they are not loading,
        so there is no significant additional cost.

        Reviewed by Richard.

        * WebView.subproj/WebFrame.m:
        (-[WebFrame stopLoading]):

=== Safari-73 ===

2003-04-10  Richard Williamson   <rjw@apple.com>

        Fixed 3219525
        
        Our work-around for the CG pattern cache bogosity was always bypassed,
        consequently we'd unnecessarily burn lots of memory filling that cache.
        
        Reviewed by mjs & gramps.

        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
        (-[WebImageRenderer tileInRect:fromPoint:]):

2003-04-10  Darin Adler (Maciej committing for Darin)  <darin@apple.com>

        Reviewed by Maciej.

        - fixed 3225042 - MallocDebug shows "access after deallocated" problem in WebFrameView

        * WebView.subproj/WebFrameView.m:
        (-[WebFrameView dealloc]): Nil out _private.
        (-[WebFrameView nextKeyView]): Check _private for nil.
        (-[WebFrameView previousKeyView]): Check _private for nil.
 
2003-04-10  Richard Williamson   <rjw@apple.com>

        Fix performance regression with iBench (post 71).  The iBench cheat was being defeated.
        
        Ensure that the layout timer is always invalidated when a frame completes 
        or is cancelled.
        
        Reviewed by mjs & gramps.

        * WebView.subproj/WebFrame.m:
        (-[WebFrame stopLoading]):
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _setState:]):

2003-04-10  Trey Matteson  <trey@apple.com>

        3224973 - Safari sometimes stores data for AUTOCOMPLETE=OFF fields and password fields

        Just glue for calling a new WC function.

        Reviewed by Darin.

        * WebView.subproj/WebHTMLRepresentation.h:
        * WebView.subproj/WebHTMLRepresentation.m:
        (-[WebHTMLRepresentation elementWithName:inForm:]):

=== Safari-72 ===

2003-04-10  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Chris.

        - fixed 3224690 - REGRESSION: Download related errors aren't preserved across launches

        * WebKit.pbproj/project.pbxproj: Install WebKitErrorsPrivate.h as SPI.

2003-04-10  Darin Adler  <darin@apple.com>

        Reviewed by Trey.

        - fixed 3224622 -- REGRESSION: in an empty window, repeated tabs don't cycle back to location field

        Added logic to WebFrameView's next/previous that matches the logic in WebHTMLView.
        Looking for a better solution some day to the whole nextKeyView thing.

        * WebView.subproj/WebFrameView.m:
        (-[WebFrameView nextKeyView]): If being called from nextValidKeyView, return the nextKeyView
        of the WebView rather than of self.
        (-[WebFrameView previousKeyView]): Ditto.
        (-[WebFrameView nextValidKeyView]): Set the inNextValidKeyView flag.
        (-[WebFrameView previousValidKeyView]): Ditto.
        
        * WebView.subproj/WebFrameViewPrivate.h: Add the inNextValidKeyView flag.

2003-04-10  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        Another launch time speedup - don't load the WebKit WebError
        strings until we actually make a WebKit error. This prevents the
        WebKit localized strings file from being loaded during normal startup.

        * Downloads.subproj/WebDownload.m:
        (+[WebDownloadPrivate initialize]): Don't register WebKit errors.
        (-[WebDownload _errorWithCode:]): Use _webKitErrorWithCode:failingURL:
        * Misc.subproj/WebKitErrors.m:
        (+[WebError _webKitErrorWithCode:failingURL:]): Wrapper that registers the
        WebKit error codes first.
        * Misc.subproj/WebKitErrorsPrivate.h:
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _handleUnimplementablePolicyWithErrorCode:forURL:]):  Use 
        _webKitErrorWithCode:failingURL:
        (-[WebFrame _loadItem:withLoadType:]):  Use _webKitErrorWithCode:failingURL:
        * WebView.subproj/WebFrameView.m:
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient interruptForPolicyChangeError]):  Use _webKitErrorWithCode:failingURL:

2003-04-10  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3222896 - REGRESSION: sound plays after closing a window with a RealPlayer plug-in in it

        Reviewed by darin.

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView viewDidMoveToHostWindow]): We were starting plug-in on window close because that's when the host window is set to nil. Just check if we now have a host window before we start. 

2003-04-10  Darin Adler  <darin@apple.com>

        Reviewed by Trey.

        - speed up startup by not calling [NSImage imageFileTypes] until we need to

        * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge frameRequiredForMIMEType:]):
        Call _viewClassForMIMEType instead of _viewTypes, since _viewClassForMIMEType is now optimized
        by not loading the image types unless needed.

        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _representationClass]): Call _representationClassForMIMEType instead of
        _repTypes, since _representationClassForMIMEType is now optimized by not loading the image
        types unless needed.
        (+[WebDataSource _repTypesAllowImageTypeOmission:]): Added. Moved the guts of _repTypes
        in here. If you pass YES, doesn't bother adding the image types yet.
        (+[WebDataSource _repTypes]): Now calls _repTypesAllowImageTypeOmission:NO.
        (+[WebDataSource _representationClassForMIMEType:]): First try the dictionary without
        requiring the image types, then only in the case where we get nil, try with the image types.
        
        * WebView.subproj/WebFrameViewPrivate.m:
        (-[WebFrameView _makeDocumentViewForDataSource:]): Call _viewClassForMIMEType instead of
        _viewTypes, since _viewClassForMIMEType is now optimized by not loading the image types
        unless needed.
        (+[WebFrameView _viewTypesAllowImageTypeOmission:]): Added. Moved the guts of _viewTypes
        in here. If you pass YES, doesn't bother adding the image types yet.
        (+[WebFrameView _viewTypes]): Now calls _viewTypesAllowImageTypeOmission:NO.
        (+[WebFrameView _viewClassForMIMEType:]): First try the dictionary without requiring
        the image types, then only in the case where we get nil, try with the image types.

2003-04-09  Trey Matteson  <trey@apple.com>

        3223413 - crash in [CompletionController controlTextDidChange] at travelocity.com

        This was a great one to get steps for repro - it has shown up at least twice before.

        The problem is that when there is a focused TextField within a frame, the proper
        FormDelegate messages were not being sent on refresh or b/f.  The cause was that
        the FirstResponder would be reset in the middle of detaching the frame, at which point
        our object graph was already half taken apart.  Fix is to detect that case before
        doing the detach work, and endEditing explicitly.

        Reviewed by Darin.

        * ChangeLog:
        * Misc.subproj/WebKitLogging.h:
        * Misc.subproj/WebKitLogging.m:   New FormDelegate logging category.
        * WebCoreSupport.subproj/WebBridge.m:
        All changes in here are just calling LOG for the new category.
        (-[WebBridge controlTextDidBeginEditing:]):
        (-[WebBridge controlTextDidEndEditing:]):
        (-[WebBridge controlTextDidChange:]):
        (-[WebBridge control:textShouldBeginEditing:]):
        (-[WebBridge control:textShouldEndEditing:]):
        (-[WebBridge control:didFailToFormatString:errorDescription:]):
        (-[WebBridge control:didFailToValidatePartialString:errorDescription:]):
        (-[WebBridge control:isValidObject:]):
        (-[WebBridge control:textView:doCommandBySelector:]):
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _setDataSource:]):  The fix, as described above.

2003-04-09  Richard Williamson   <rjw@apple.com>

        Fix for 3222904.  This change fixes the immediate symptoms of the bug,
        but we need to come back to this issue after beta 2.  Bug 3223929 captures
        the other problems.
        
        Reviewed by gramps.

        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource __setRequest:]):
        (-[WebDataSource _setRequest:]):
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _shouldReloadForCurrent:andDestination:]):
        (-[WebFrame _loadItem:withLoadType:]):
        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):

2003-04-09  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Chris, Trey, Darin and Don.

        - fixed 3223568 - site icons lost when moving from older Safari to 71

        * Misc.subproj/WebIconDatabase.m:
        (-[WebIconDatabase _createFileDatabase]): Rename old database containing directory to
        new, so we carry over old databases. The format is forward but not backward compatible.
        (-[WebIconDatabase _loadIconDictionaries]): Treat no version at all as version 1, so we
        can load old-style databases.

        Reviewed by Trey.

        * English.lproj/StringsNotToBeLocalized.txt: Updated.
2003-04-09  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3223022 - Plug-in content bleeds onto frontmost tab

        Reviewed by darin.

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView viewDidMoveToWindow]): Explicitly call setWindow when the plug-in view is moved out of the window so it is clipped out of sight.

2003-04-08  Trey Matteson  <trey@apple.com>

        3221355 document is numb to clicks after going back

        The layoutTimer now does a layout if the doc is in state Completed,
        in addition to LayoutAcceptable.

        Reviewed by Richard.

        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _timedLayout:]):

2003-04-08  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3221128 - Double grey lines on macromedia.com home page

        Flash relies on the ordering of attributes in the EMBED tag (which is really stupid). salign must come after scale.
        Changed our plug-in API's to preserve orderings using arrays rather than lose orderings when using dictionaries. 

        Reviewed by trey.

        * Plugins.subproj/WebBaseNetscapePluginView.h:
        * Plugins.subproj/WebBaseNetscapePluginView.m:
        * Plugins.subproj/WebNetscapePluginEmbeddedView.h:
        * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
        (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:MIMEType:attributeKeys:attributeValues:]): take attributeKeys and attributeValues instead of a dictionary
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]): create attributeKeys and attributeValues to pass to the above method
        (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]): create attributeKeys and attributeValues to pass to the above method

2003-04-08  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3220463 - REGRESSION: PDF viewer plug-in does not display (worked in 69 and previous)

        Reviewed by darin.

        * Plugins.subproj/WebNetscapePluginDocumentView.m:
        (-[WebNetscapePluginDocumentView didStart]): always call redeliverStream. Have WebNetscapePluginRepresentation determine if it actually needs to do that.
        * Plugins.subproj/WebNetscapePluginRepresentation.h:
        * Plugins.subproj/WebNetscapePluginRepresentation.m:
        (-[WebNetscapePluginRepresentation receivedData:withDataSource:]): keep track of _dataLengthReceived which is independent of the data received by the data source
        (-[WebNetscapePluginRepresentation redeliverStream]): only redeliver the stream if _dataLengthReceived is greater than 0

2003-04-07  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3206018 - REGRESSION: Clicks on the BBC news ticker applet don't open story in new window

        MSIE and Netscape for Windows treat a nil target as _top. Since this is usually the target audience of applet developers, we will mimic this. This makes 3206018 behave as expected.

        Reviewed by gramps.

        * Plugins.subproj/WebPluginController.m:
        (-[WebPluginController showURL:inFrame:]): treat nil as _top.

2003-04-07  Richard Williamson  <rjw@apple.com>

        API conveniences for IB.
        
        Reviewed by Maciej.

        * WebView.subproj/WebView.h:
        * WebView.subproj/WebView.m:
        (-[WebView canGoBack]):
        (-[WebView canGoForward]):
        (-[WebView reload:]):
        (-[WebView canMakeTextSmaller]):
        (-[WebView canMakeTextLarger]):
        (-[WebView makeTextSmaller:]):
        (-[WebView makeTextLarger:]):

2003-04-07  Richard Williamson  <rjw@apple.com>

        Fix for 3220988.  Cancel frame load if it's detached before
        finished loading.

        Reviewed by Maciej.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge frameDetached]):
        * WebView.subproj/WebFrame.h:
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _removeChild:]):

2003-04-07  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Richard.

        - fixed 3219584 - REGRESSION: launch times appear slower in v71

        * WebView.subproj/WebView.m:
        (+[WebView canShowMIMEType:]): Avoid loading plugin database if we
        can find a view without doing so.

2003-04-07  Darin Adler  <darin@apple.com>

        * WebView.subproj/WebUserAgentSpoofTable.c: Regenerated.
        When I landed my last change to the .gperf file I forgot to land this.

=== Safari-71 ===

2003-04-04  Darin Adler  <darin@apple.com>

        Reviewed by Ken.

        - fixed 3217687 -- REGRESSION: printing uses widths from screen fonts, messing up layout

        * WebCoreSupport.subproj/WebTextRendererFactory.m: Removed now-unused rendererWithFont:
        which called, the now-removed usingPrinterFonts method. WebCore now calls the one with
        the usingPrinterFont parameter.
        
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView drawRect:]): Remove setUsingPrinterFonts: calls. This is now handled by the
        document on the WebCore side. 
        (-[WebHTMLView _setPrinting:]): Ditto.

2003-04-04  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Trey.

        - fixed 3188914 - loop checking for Flash at http://www.scottsmind.com/celebrity_defacer/index.php
        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Take a mutable request,
        and make sure to set referrer to the frame URL (as other browsers do).
        (-[WebBaseNetscapePluginView getURLNotify:target:notifyData:]): pass an NSMutableURLRequest.
        (-[WebBaseNetscapePluginView getURL:target:]): Likewise.
        (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]):
        If the plug-in passes a Content-Length header, take it out of the
        headers and truncate the content appropriately to make
        WebFoundation happy.

2003-04-03  Richard Williamson  <rjw@apple.com>

        Fix checks for about: to avoid using our 'fake' request when
        using WebDataProtocol.  This fixes the assertion in the Snippet
        Editor.
        
        Reviewed by mjs.

        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient continueAfterContentPolicy:response:]):

2003-04-03  Trey Matteson  <trey@apple.com>

        3218212 REGRESSION: page on screen draws ugly while printing is happening

        Turn autodisplay of the window off while we print.

        Reviewed by Darin.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView beginDocument]):  Turn it off.
        (-[WebHTMLView endDocument]):  and back on.

2003-04-03  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Trey.

        - removed no-longer forwarding of become/resignFirstResponder
        * WebView.subproj/WebHTMLViewPrivate.m: Removed
        become/resignFirstResponder poses for WebNSTextView.

2003-04-03  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Richard and Don.

        - fixed 3218262 - REGRESSION: Page address becomes about:blank when command-clicking bookmark to load tab

        * WebView.subproj/WebDataProtocol.m:
        (-[NSURLRequest _webDataRequestParametersForWriting]): Renamed
        from _webDataRequestParameters.
        (-[NSURLRequest _webDataRequestParametersForReading]): Like the
        above, but make sure nto to create the part if it does not exist.
        (-[NSURLRequest _webDataRequestData]): Use _webDataRequestParametersForReading.
        (-[NSURLRequest _webDataRequestEncoding]): Likewise.
        (-[NSURLRequest _webDataRequestBaseURL]): Likewise.
        (-[NSURLRequest _webDataRequestSetData:]):Use _webDataRequestParametersForWriting.
        (-[NSURLRequest _webDataRequestSetEncoding:]): Likewise.
        (-[NSURLRequest _webDataRequestSetBaseURL:]): Likewise.
        (-[NSURLRequest _webDataRequestExternalRequest]): Use _webDataRequestParametersForReading.

2003-04-03  Richard Williamson   <rjw@apple.com>

        Tweaks to minimize access to the parts of a WebDataRequest
        that turn out to be slow.  Although we've changed NSURLRequest
        to be faster, it's still good to keep these tweaks.
        
        Reviewed by ken.

        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]):
        (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]):
        * WebView.subproj/WebDataProtocol.h:
        * WebView.subproj/WebDataProtocol.m:
        (-[NSURLRequest _webDataRequestExternalRequest]):
        (+[WebDataProtocol canHandleURL:]):
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource request]):

2003-04-03  Trey Matteson  <trey@apple.com>

        3067928 - printing should not break lines in half

        This is just glue to call the right piece in WebCore.

        Reviewed by Darin.

        (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
        Defer to WebCore to set pagination boundary.

2003-04-03  Richard Williamson   <rjw@apple.com>

        As requested by Nancy, drop "Is" and "Are" from setters,
        but leave them in place on the getters.
        
        Reviewed by cblu.

        * WebView.subproj/WebPreferences.h:
        * WebView.subproj/WebPreferences.m:
        (-[WebPreferences setJavaEnabled:]):
        (-[WebPreferences setJavaScriptEnabled:]):
        (-[WebPreferences setPlugInsEnabled:]):

2003-04-03  Darin Adler  <darin@apple.com>

        Reviewed by Ken.

        - remove spoof entries as decided in meeting with Don, Dave, Mark Malone

        * WebView.subproj/WebUserAgentSpoofTable.gperf: Remove battle.net because it's only there to
        make Darin happy, and the site works fine without it. Remove pier1.com and disney.go.com because
        we want to try evangelism first in both those cases, and having a released version where the
        site works weakens our evangelism efforts.
        
        * WebView.subproj/WebUserAgentSpoofTable.c: Regenerated.

        - disable workaround for Panther bug in Panther builds

        * Misc.subproj/WebNSImageExtras.m: (-[NSImage _web_dissolveToFraction:]): Add ifdefs.
        
2003-04-02  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Trey.

        - fixed 3213556 - VIP: parent.mainFrameWidth=undefined on page refresh results in missing content

        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _loadItem:withLoadType:]): When reload or going back/forward,
        make sure to load the original URL of the item, not it's most recent URL.
        (-[WebFrame _loadURL:intoChild:]): Likewise.

2003-04-02  Richard Williamson  <rjw@apple.com>

        Raise exceptions when these methods are called inappropriately.
        
        Reviewed by Trey.

        * History.subproj/WebBackForwardList.m:
        (-[WebBackForwardList goBack]):
        (-[WebBackForwardList goForward]):
        (-[WebBackForwardList goToItem:]):

2003-04-02  Richard Williamson  <rjw@apple.com>

        Added new API on WebFrame, loadData: and loadString:
        
        Reviewed by Maciej.

        Fixed loading of cocoa plugins.
        
        Reviewed by Chris.
        
        * History.subproj/WebBackForwardList.m:
        (-[WebBackForwardList _entries]):
        * Plugins.subproj/WebBasePluginPackage.h:
        * Plugins.subproj/WebBasePluginPackage.m:
        (-[WebBasePluginPackage bundle]):
        * Plugins.subproj/WebPluginDatabase.h:
        * Plugins.subproj/WebPluginDatabase.m:
        (-[WebPluginDatabase init]):
        (-[WebPluginDatabase loadPluginIfNeededForMIMEType:]):
        (-[WebPluginDatabase dealloc]):
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]):
        (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]):
        * WebView.subproj/WebDataProtocol.h: Added.
        * WebView.subproj/WebDataProtocol.m: Added.
        (-[WebDataRequestParameters copyWithZone:]):
        (-[WebDataRequestParameters mutableCopyWithZone:]):
        (-[WebDataRequestParameters dealloc]):
        (+[NSURLRequest _webDataRequestURLForData:]):
        (-[NSURLRequest _webDataRequestParameters]):
        (-[NSURLRequest _webDataRequestData]):
        (-[NSURLRequest _webDataRequestSetData:]):
        (-[NSURLRequest _webDataRequestEncoding]):
        (-[NSURLRequest _webDataRequestSetEncoding:]):
        (-[NSURLRequest _webDataRequestBaseURL]):
        (-[NSURLRequest _webDataRequestSetBaseURL:]):
        (-[NSURLRequest _webDataRequestExternalRequest]):
        (+[WebDataProtocol load]):
        (+[WebDataProtocol doesURLHaveInternalDataScheme:]):
        (+[WebDataProtocol canHandleURL:]):
        (+[WebDataProtocol canonicalURLForURL:]):
        (-[WebDataProtocol startLoadingWithCacheObject:]):
        (-[WebDataProtocol stopLoading]):
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource initialRequest]):
        (-[WebDataSource request]):
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _commitIfReady:]):
        * WebView.subproj/WebFrame.h:
        * WebView.subproj/WebFrame.m:
        (-[WebFrame loadRequest:]):
        (-[WebFrame loadString:baseURL:]):
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _addBackForwardItemClippedAtTarget:]):
        (-[WebFrame _transitionToCommitted:]):
        * WebView.subproj/WebFrameViewPrivate.m:
        (-[WebFrameView _makeDocumentViewForDataSource:]):
        * WebView.subproj/WebView.m:
        (+[WebView canShowMIMEType:]):

2003-04-02  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Ken.

        - fixed 3177183 - disneyland.com says "500 Internal Server Error"

        * WebView.subproj/WebUserAgentSpoofTable.gperf: Spoof as Mac IE
        for disney.go.com
        * WebView.subproj/WebUserAgentSpoofTable.c: Regenerated.

2003-04-02  Richard Williamson  <rjw@apple.com>

        Reviewed by john.

        * WebView.subproj/WebPreferences.h:
        (-[WebPreferences setUserStyleSheetLocation:]): Cleaned up arg and comment.

2003-04-02  Richard Williamson  <rjw@apple.com>

        Fix for 3200447.  Use class_pose to pose so as to avoid
        indirect invocation of appkit class initializers.
        
        Reviewed by darin.

        * WebView.subproj/WebHTMLViewPrivate.m:
        (+[WebHTMLView load]):

2003-04-02  Richard Williamson  <rjw@apple.com>

        Removed private headers.
        
        Reviewed by john.

        * Misc.subproj/WebKit.h:

2003-04-01  Trey Matteson  <trey@apple.com>

        3174227 - aggressive caching of generated pages causes problems with WIKI

        We decided to fix half the observed behavior, as all the bad behavior is
        arguably due to a mis-configured server (that sets a max-age=60 on
        all its pages).

        The fix is that when a redirect comes in response to a POST we force a
        load from origin, since this is a common technique sites do to prevent
        a post from ending up in the b/f list, and it is very likely you are
        on your way back to look at data that you believe you just edited. 

        Reviewed by Ken.

        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _loadItem:withLoadType:]):  Nit cleanup.  Remove unused arg.
        (-[WebFrame _recursiveGoToItem:fromItem:withLoadType:]):
        Same nit cleanup.
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]):
        Force loadFromOrigin if we have a redirect in response to a POST.
        * WebView.subproj/WebResourceLoadDelegate.h:
        Add headerdoc comment for redirectResponse param.

2003-04-01  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Richard.

        - fixed 3214748 - REGRESSION: After using latest Safari for awhile, can't launch older Safaris (icon db problem)

        * Misc.subproj/WebIconDatabase.m:
        Changed icon cache path, since we are breaking compatibility and the old version
        does not support versioning.
        (-[WebIconDatabase _loadIconDictionaries]): Check version.
        (-[WebIconDatabase _updateFileDatabase]): Save version.

2003-04-01  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        NSURLConnectionDelegate is no longer a formal protocol.

        NSURLConnection no longer has a loadWithDelegate: method. Loads
        start implicitly at init time. Some clients have been updated
        to call the willSendRequest:redirectResponse: callback manually
        since this callback is no longer sent for initial loads.

        * Downloads.subproj/WebDownload.m:
        (-[WebDownload initWithRequest:]):
        (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]):
        (-[WebDownload loadWithDelegate:]):
        * Misc.subproj/WebIconLoader.h:
        * Misc.subproj/WebIconLoader.m:
        (-[WebIconLoader startLoading]):
        * WebView.subproj/WebBaseResourceHandleDelegate.h:
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate loadWithRequest:]):
        * WebView.subproj/WebMainResourceClient.h:
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient loadWithRequest:]):
        (-[WebResourceDelegateProxy setDelegate:]):

2003-04-01  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed 3213918 -- REGRESSION: printing Mapquest directions, screen font is used, causing exception, crashes
        - fixed 3144287 -- CSS with media=print not used when printing

        * WebView.subproj/WebFramePrivate.m: (-[WebFrame _opened]): Don't call the reapplyStyles
        method directly here, use setNeedsToApplyStyles instead.
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView reapplyStyles]): Pass the appropriate device type here.
        (-[WebHTMLView drawRect:]): Don't call setUsingPrinterFonts:NO at the end of this method
        if we were already using printer fonts at the start. This was the bug fix.
        (-[WebHTMLView _setPrinting:]): Renamed from _setUsingPrinterFonts since this now controls
        the styles used too, not just the fonts.
        (-[WebHTMLView beginDocument]): Updated for _setPrinting name change.
        (-[WebHTMLView endDocument]): Ditto.
        * WebView.subproj/WebHTMLViewPrivate.h: Renamed "usingPrinterFonts" field to "printing".

2003-04-01  Richard Williamson  <rjw@apple.com>

        Fixed ~2% performance regression problem.  The regression
        was caused by the allocation of a forwarder on every 
        delegate callback.  Modified code to only create forwarders once,
        and reset when delegates change.
        
        Reviewed by Ken.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge objectLoadedFromCacheWithURL:response:size:]):
        * WebView.subproj/WebBaseResourceHandleDelegate.h:
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate setDataSource:]):
        (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]):
        (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]):
        (-[WebBaseResourceHandleDelegate connection:didReceiveData:]):
        (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]):
        * WebView.subproj/WebView.m:
        (-[WebView setWindowOperationsDelegate:]):
        (-[WebView setResourceLoadDelegate:]):
        (-[WebView setContextMenuDelegate:]):
        (-[WebView setPolicyDelegate:]):
        (-[WebView setLocationChangeDelegate:]):
        * WebView.subproj/WebViewPrivate.h:
        * WebView.subproj/WebViewPrivate.m:
        (-[WebViewPrivate dealloc]):
        (-[WebView _locationChangeDelegateForwarder]):
        (-[WebView _resourceLoadDelegateForwarder]):
        (-[WebView _cacheResourceLoadDelegateImplementations]):
        (-[WebView _resourceLoadDelegateImplementations]):
        (-[WebView _policyDelegateForwarder]):
        (-[WebView _contextMenuDelegateForwarder]):
        (-[WebView _windowOperationsDelegateForwarder]):
        (-[_WebSafeForwarder forwardInvocation:]):

        * API-Issues.rtf:
        Notes to self.
        
2003-04-01  Darin Adler  <darin@apple.com>

        * English.lproj/StringsNotToBeLocalized.txt: Allowed update-alex-localizable-strings
        to sort this file.

2003-03-31  Trey Matteson  <trey@apple.com>

        3212724 - bookmarks and history items have screwed up designated inits

        and support code for:
        3116315 - autocomplete needs some prioritization magic

        The main changes are adding and maintaining a visitCount to the HistoryItem,
        cleaning up the init methods of HistoryItem.  Also lastVisitedDate is now
        set explicitly instead of automatically getting the current date.

        Reviewed by John.

        * History.subproj/WebHistory.m:
        (-[WebHistory addItemForURL:]):  Set lastVisitedDate of new item.
        (-[WebHistory _itemForURLString:]):  New helper routine.
        * History.subproj/WebHistoryItem.h:  Conform to NSCopying.
        * History.subproj/WebHistoryItem.m:
        (-[WebHistoryItem init]):  Behave like a designated initializer.
        (-[WebHistoryItem copyWithZone:]):  New.
        (-[WebHistoryItem initWithURL:title:]):  Call the designated initializer.
        (-[WebHistoryItem initWithURL:target:parent:title:]):    Call the designated initializer.
        Don't blindly init lastVisitedDate.
        (-[WebHistoryItem setLastVisitedDate:]):  Update visitCount too.
        (-[WebHistoryItem visitCount]):  New getter.
        (-[WebHistoryItem setVisitCount:]):  New setter.
        (-[WebHistoryItem _mergeAutoCompleteHints:]):  Combine autocomplete info
        of two items.  Used when one item replaces another in the history.
        (-[WebHistoryItem dictionaryRepresentation]):  Write visitCount.
        (-[WebHistoryItem initFromDictionaryRepresentation:]):  Read visitCount.
        * History.subproj/WebHistoryItemPrivate.h:
        * History.subproj/WebHistoryPrivate.h:
        * History.subproj/WebHistoryPrivate.m:
        (-[WebHistoryPrivate addItem:]):  Merge autocomplete date from old item to new.
        (-[WebHistoryPrivate itemForURLString:]):   s/entry/item/
        (-[WebHistoryPrivate containsItemForURLString:]):   s/entry/item/
        (-[WebHistoryPrivate containsURL:]):   s/entry/item/
        (-[WebHistoryPrivate itemForURL:]):   s/entry/item/
        (-[WebHistoryPrivate _loadHistoryGuts:]):  Skip history items without visitDate.
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _transitionToCommitted:]):  Update last visitTime when we revisit
        the same URL (since no new history item is created).

2003-03-31  Richard Williamson  <rjw@apple.com>

        Fixed 3213637.  We weren't calling the correct delegate method,
        setStatus: instead of webView:setStatus:
        
        Reviewed by darin.

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView status:]):

2003-03-31  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Chris.

        - fixed 3210813 - REGRESSION: full size stock chart on etrade shows up empty after viewing mini stock chart

        I fixed this by adding a "negative cache" of icon URLs that loaded
        something but failed to yield an icon. This prevents us from
        asking for the site icon over and over, which was messing up the
        session cookie.
        * Misc.subproj/WebIconDatabase.m:
        (-[WebIconDatabase init]):
        (-[WebIconDatabase iconForURL:withSize:cache:]):
        (-[WebIconDatabase _updateFileDatabase]):
        (-[WebIconDatabase _iconsForIconURLString:]):
        (-[WebIconDatabase _setHaveNoIconForIconURL:]):
        (-[WebIconDatabase _releaseIconForIconURLString:]):
        * Misc.subproj/WebIconDatabasePrivate.h:
        * Misc.subproj/WebIconLoader.h:
        * Misc.subproj/WebIconLoader.m:
        (-[WebIconLoader startLoading]):
        (-[WebIconLoader connectionDidFinishLoading:]):
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _iconLoaderReceivedPageIcon:]):

2003-03-31  Darin Adler  <darin@apple.com>

        * English.lproj/InfoPlist.strings: Changed "1.0 Beta" to "1.0 Beta 2".
        * WebKit.pbproj/project.pbxproj: Changed "1.0 Beta" to "1.0 Beta 2".

        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.

        * English.lproj/Localizable.strings: Regenerated (new script, "1.0 Beta 2").

2003-03-31  Richard Williamson  <rjw@apple.com>

        Reviewed by darin.

        * History.subproj/WebHistory.h:
        Added use of WebHistoryItemsKey instead of @"Entries".
        
        * History.subproj/WebHistory.m:(-[WebHistory _sendNotification:entries:]):
        Use WebHistoryItemsKey as key instead of @"Entries".
        
        * History.subproj/WebHistoryItem.m: (-[WebHistoryItem init]):
        Fix double allocation of WebHistoryPrivate.

        * WebKit/WebKit.exp
        Added export for WebHistoryItemsKey
        
        * WebKit/API-Issues.rtf
        Notes.
        
2003-03-31  Darin Adler  <darin@apple.com>

        Reviewed by Chris.

        - improved default behaviors in window operations delegate

        * WebView.subproj/WebDefaultWindowOperationsDelegate.m:
        (-[WebDefaultWindowOperationsDelegate webViewShowWindowBehindFrontmost:]): Removed unused method.
        (-[WebDefaultWindowOperationsDelegate webViewCloseWindow:]): Added default implementation, calls close on window.
        (-[WebDefaultWindowOperationsDelegate webViewFocusWindow:]): Added default implementation, makeKeyAndOrderFront.
        (-[WebDefaultWindowOperationsDelegate webViewUnfocusWindow:]): Added default implementation, uses _cycleWindowsReversed as needed.
        (-[WebDefaultWindowOperationsDelegate webViewFirstResponderInWindow:]): Added default implementation, calls firstResponder.
        (-[WebDefaultWindowOperationsDelegate webView:makeFirstResponderInWindow:]): Added default implementation, calls makeFirstResponder.
        (-[WebDefaultWindowOperationsDelegate webViewIsResizable:]): Added default implementation, calls showsResizeIndicator.
        (-[WebDefaultWindowOperationsDelegate webView:setResizable:]): Added default implementation, calls setShowsResizeIndicator.
        (-[WebDefaultWindowOperationsDelegate webView:setFrame:]): Use display:YES, not display:NO.
        (-[WebDefaultWindowOperationsDelegate webViewFrame:]): Return NSZeroRect if window is nil instead of random garbage.
        (-[WebDefaultWindowOperationsDelegate webView:setContentRect:]): Use display:YES, not display:NO.
        (-[WebDefaultWindowOperationsDelegate webViewContentRect:]): Return NSZeroRect if window is nil instead of random garbage.
        (-[WebDefaultWindowOperationsDelegate webView: runJavaScriptAlertPanelWithMessage:]): Added a FIXME because we should have a default implementation here.
        (-[WebDefaultWindowOperationsDelegate webView:runJavaScriptConfirmPanelWithMessage:]): Ditto.
        (-[WebDefaultWindowOperationsDelegate webView:runJavaScriptTextInputPanelWithPrompt:defaultText:]): Put a default implementation here.
        (-[WebDefaultWindowOperationsDelegate webView:runOpenPanelForFileButtonWithResultListener:]): Added a FIXME because we should have a default implementation here.

2003-03-29  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3178058 - Plug-ins are stopped/reloaded when switching tabs
        Made the "Enable plug-ins" preference toggle in real-time again.

        No events including null events are sent when a plug-in is in a non-frontmost tab. This causes Flash movies to pause (which is nice) and QT movies to continue to play.

        Reviewed by darin.

        * Plugins.subproj/WebBaseNetscapePluginView.h:
        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): use the current window, clip out the plug-in when not in an actual window
        (-[WebBaseNetscapePluginView restorePortState:]): use the current window
        (-[WebBaseNetscapePluginView sendEvent:]): added asserts
        (-[WebBaseNetscapePluginView sendActivateEvent:]): tweak
        (-[WebBaseNetscapePluginView sendNullEvent]): tweak
        (-[WebBaseNetscapePluginView restartNullEvents]): tweak
        (-[WebBaseNetscapePluginView isInResponderChain]): tweak
        (-[WebBaseNetscapePluginView performKeyEquivalent:]): tweak
        (-[WebBaseNetscapePluginView canStart]): new, implemented by subclasses
        (-[WebBaseNetscapePluginView didStart]): new, implemented by subclasses
        (-[WebBaseNetscapePluginView addWindowObservers]): new
        (-[WebBaseNetscapePluginView removeWindowObservers]): new
        (-[WebBaseNetscapePluginView start]): check pref, call canStart, addWindowObservers and didStart
        (-[WebBaseNetscapePluginView stop]): call removeWindowObservers
        (-[WebBaseNetscapePluginView currentWindow]): new, returns the actual window else the host window
        (-[WebBaseNetscapePluginView initWithFrame:]): observer pref change notifications
        (-[WebBaseNetscapePluginView dealloc]): call removeObserver
        (-[WebBaseNetscapePluginView viewWillMoveToWindow:]): stop if there is no host window
        (-[WebBaseNetscapePluginView viewDidMoveToWindow]): start if we moved to a window
        (-[WebBaseNetscapePluginView viewWillMoveToHostWindow:]): stop if there will be no windows
        (-[WebBaseNetscapePluginView viewDidMoveToHostWindow]): start if there is a window
        (-[WebBaseNetscapePluginView preferencesHaveChanged:]): renamed, start or stop
        (-[WebBaseNetscapePluginView destroyStream:reason:]): tweak
        (-[NSData _web_locationAfterFirstBlankLine]): tweak
        * Plugins.subproj/WebNetscapePluginDocumentView.m:
        (-[WebNetscapePluginDocumentView initWithFrame:]): call setAutoresizingMask here
        (-[WebNetscapePluginDocumentView canStart]): new, return YES if there is a data source
        (-[WebNetscapePluginDocumentView didStart]): redeliver the stream if there is any data
        (-[WebNetscapePluginDocumentView setDataSource:]): start if there is a current window
        (-[WebNetscapePluginDocumentView layout]): no need to call setWindow, this is done in the superclass
        (-[WebNetscapePluginDocumentView viewWillMoveToHostWindow:]): forward to super to make compiler happy
        (-[WebNetscapePluginDocumentView viewDidMoveToHostWindow]): forward to super to make compiler happy
        * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
        (-[WebNetscapePluginEmbeddedView didStart]): start the load
        (-[WebNetscapePluginEmbeddedView dataSource]): tweak
        * WebView.subproj/WebDocument.h: added viewWillMoveToHostWindow: and viewDidMoveToHostWindow
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _viewWillMoveToHostWindow:]): forward to document view and subframes
        (-[WebFrame _viewDidMoveToHostWindow]): forward to document view and subframes
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView viewWillMoveToHostWindow:]): forward to plug-in views
        (-[WebHTMLView viewDidMoveToHostWindow]): forward to plug-in views
        (-[NSArray _web_makePluginViewsPerformSelector:withObject:]): new
        * WebView.subproj/WebHTMLViewPrivate.m:
        (-[WebHTMLView _reset]): don't stop plug-ins here. WebBaseNetscapePluginView can handle that
        * WebView.subproj/WebImageView.m:
        (-[WebImageView viewWillMoveToHostWindow:]): implement new WebDocumentView methods
        (-[WebImageView viewDidMoveToHostWindow]): implement new WebDocumentView methods
        * WebView.subproj/WebTextView.m:
        (-[WebTextView viewWillMoveToHostWindow:]): implement new WebDocumentView methods
        (-[WebTextView viewDidMoveToHostWindow]): implement new WebDocumentView methods
        * WebView.subproj/WebView.h:
        * WebView.subproj/WebView.m:
        (-[WebView setHostWindow:]): new
        (-[WebView hostWindow]): new
        * WebView.subproj/WebViewPrivate.h:
        * WebView.subproj/WebViewPrivate.m:
        (-[WebViewPrivate dealloc]): release the host window

2003-03-31  Darin Adler  <darin@apple.com>

        Reviewed by John.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge nextKeyViewOutsideWebFrameViews]): Get next key view from WebView, only using
        the top level WebFrameView if the WebView doesn't have one set (for compatibility in case
        some of our current WebKit clients are using this).
        (-[WebBridge previousKeyViewOutsideWebFrameViews]): Ditto.

2003-03-31  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed 3211730 -- REGRESSION: Flash spawns blank page then loads new page inside banner itself

        * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView loadPluginRequest:]):
        Load the request in the frame we found or created, not always in our own frame (oops!).

        - other changes

        * History.subproj/WebHistory.h: Update comments to all say "Item" instead of "Entry".
        They didn't match the method names any more.
        
        * WebView.subproj/WebView.m:
        (-[WebView acceptsFirstResponder]): Return YES.
        (-[WebView becomeFirstResponder]): Pass first responder on to the WebFrameView in the same way
        the WebFrameView passes it on to the document view.

2003-03-30  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        - fixed 3204257 - CNN's 'war on iraq' ticker stops on mouseover

        * WebView.subproj/WebHTMLViewPrivate.h:
        * WebView.subproj/WebHTMLViewPrivate.m:
        (-[WebHTMLView _updateMouseoverWithEvent:]): When leaving an HTML
        view, tell it that the mouse moved outside everything in the view,
        even accounting for scrolled off portions (otherwise khtml gets
        confused). This makes cross-frame mouse enter/leave work properly.
        (-[WebHTMLView _clearLastHitViewIfSelf]): Method to clear last hit view,
        so we don't need to retain it.
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView dealloc]): Call _clearLastHitViewIfSelf.

2003-03-28  Richard Williamson  <rjw@apple.com>

        Fix typo in comments that broke headerdoc.
        
        * WebView.subproj/WebWindowOperationsDelegate.h:

2003-03-28  Ken Kocienda  <kocienda@apple.com>

        Reviewed by John

        Imports NSURLConnection private header to access NSURLConnection code 
        that did not make the API cut.

        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        * WebView.subproj/WebMainResourceClient.m:

2003-03-28  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Trey

        NSURLConnection class method changed name:
            canInitWithRequest: -> canHandleRequest:

        Moved to API-approved model for synchronous loads.
        Removed fixme I put in yesterday having to do with
        reposting form data. The feature is fully functional
        again.

        * Plugins.subproj/WebNetscapePluginStream.m:
        (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]):
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultContextMenuDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
        * WebView.subproj/WebDefaultPolicyDelegate.m:
        (-[WebDefaultPolicyDelegate webView:decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]):
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _loadItem:fromItem:withLoadType:]):
        (-[WebFrame _continueAfterNavigationPolicy:]):

2003-03-28  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        Cosmetic change. Instances of 'resource' as a local variable
        name have been changed to 'connection'. Some other changes
        related to this cosmetic cleanup were done as well.

        As part of this change, I needed to change some 'connection'
        method arguments to 'con' to avoid the name conflict now
        that instance variables are named .connection'.

        * Downloads.subproj/WebDownload.m:
        (-[WebDownloadPrivate dealloc]):
        (-[WebDownload initWithRequest:]):
        (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]):
        (+[WebDownload _downloadWithLoadingResource:request:response:delegate:proxy:]):
        (-[WebDownload loadWithDelegate:]):
        (-[WebDownload _downloadEnded]):
        (-[WebDownload _cancelWithError:]):
        * Downloads.subproj/WebDownloadPrivate.h:
        * Plugins.subproj/WebNetscapePluginStream.m:
        (-[WebNetscapePluginStream connection:didReceiveResponse:]):
        (-[WebNetscapePluginStream connection:didReceiveData:]):
        (-[WebNetscapePluginStream connectionDidFinishLoading:]):
        (-[WebNetscapePluginStream connection:didFailLoadingWithError:]):
        * WebCoreSupport.subproj/WebSubresourceClient.m:
        (-[WebSubresourceClient connection:willSendRequest:redirectResponse:]):
        (-[WebSubresourceClient connection:didReceiveResponse:]):
        (-[WebSubresourceClient connection:didReceiveData:]):
        (-[WebSubresourceClient connectionDidFinishLoading:]):
        (-[WebSubresourceClient connection:didFailLoadingWithError:]):
        * WebView.subproj/WebBaseResourceHandleDelegate.h:
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate _releaseResources]):
        (-[WebBaseResourceHandleDelegate startLoading:]):
        (-[WebBaseResourceHandleDelegate loadWithRequest:]):
        (-[WebBaseResourceHandleDelegate setDefersCallbacks:]):
        (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]):
        (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]):
        (-[WebBaseResourceHandleDelegate connection:didReceiveData:]):
        (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]):
        (-[WebBaseResourceHandleDelegate connection:didFailLoadingWithError:]):
        (-[WebBaseResourceHandleDelegate cancelWithError:]):
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient receivedError:]):
        (-[WebMainResourceClient cancelWithError:]):
        (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]):
        (-[WebMainResourceClient continueAfterContentPolicy:response:]):
        (-[WebMainResourceClient connection:didReceiveResponse:]):
        (-[WebMainResourceClient connection:didReceiveData:]):
        (-[WebMainResourceClient connectionDidFinishLoading:]):
        (-[WebMainResourceClient connection:didFailLoadingWithError:]):
        (-[WebMainResourceClient startLoading:]):

2003-03-28  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        Changed names for URL connection callback methods to       
        use the API-approved names. No functional changes.

        * Downloads.subproj/WebDownload.h:
        * Downloads.subproj/WebDownload.m:
        (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]):
        (-[WebDownload connection:willSendRequest:redirectResponse:]):
        (-[WebDownload connection:didReceiveResponse:]):
        (-[WebDownload connection:didReceiveData:]):
        (-[WebDownload connectionDidFinishLoading:]):
        (-[WebDownload connection:didFailLoadingWithError:]):
        * Misc.subproj/WebIconLoader.m:
        (-[WebIconLoader connectionDidFinishLoading:]):
        (-[WebIconLoader connection:willSendRequest:redirectResponse:]):
        (-[WebIconLoader connection:didReceiveResponse:]):
        (-[WebIconLoader connection:didReceiveData:]):
        (-[WebIconLoader connection:didFailLoadingWithError:]):
        * Plugins.subproj/WebNetscapePluginStream.m:
        (-[WebNetscapePluginStream connection:didReceiveResponse:]):
        (-[WebNetscapePluginStream connection:didReceiveData:]):
        (-[WebNetscapePluginStream connectionDidFinishLoading:]):
        (-[WebNetscapePluginStream connection:didFailLoadingWithError:]):
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge objectLoadedFromCacheWithURL:response:size:]):
        * WebCoreSupport.subproj/WebSubresourceClient.m:
        (-[WebSubresourceClient connection:willSendRequest:redirectResponse:]):
        (-[WebSubresourceClient connection:didReceiveResponse:]):
        (-[WebSubresourceClient connection:didReceiveData:]):
        (-[WebSubresourceClient connectionDidFinishLoading:]):
        (-[WebSubresourceClient connection:didFailLoadingWithError:]):
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]):
        (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]):
        (-[WebBaseResourceHandleDelegate connection:didReceiveData:]):
        (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]):
        (-[WebBaseResourceHandleDelegate connection:didFailLoadingWithError:]):
        * WebView.subproj/WebDefaultResourceLoadDelegate.m:
        (-[WebDefaultResourceLoadDelegate webView:resource:willSendRequest:redirectResponse:fromDataSource:]):
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient receivedError:]):
        (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]):
        (-[WebMainResourceClient continueAfterContentPolicy:response:]):
        (-[WebMainResourceClient connection:didReceiveResponse:]):
        (-[WebMainResourceClient connection:didReceiveData:]):
        (-[WebMainResourceClient connectionDidFinishLoading:]):
        (-[WebMainResourceClient connection:didFailLoadingWithError:]):
        (-[WebMainResourceClient startLoading:]):
        (-[WebResourceDelegateProxy connection:willSendRequest:redirectResponse:]):
        (-[WebResourceDelegateProxy connection:didReceiveResponse:]):
        (-[WebResourceDelegateProxy connection:didReceiveData:]):
        (-[WebResourceDelegateProxy connectionDidFinishLoading:]):
        (-[WebResourceDelegateProxy connection:didFailLoadingWithError:]):
        * WebView.subproj/WebResourceLoadDelegate.h:

2003-03-27  Chris Blumenberg  <cblu@apple.com>

        Left out a "!" in my last check-in.

        * Plugins.subproj/WebNetscapePluginPackage.m:
        (-[WebNetscapePluginPackage load]):


2003-03-27  Chris Blumenberg  <cblu@apple.com>

        - Allow Netscape plug-ins that don't have resource files to load in Safari.
        - Added more error handling when loading plug-ins.

        Reviewed by darin.

        * Plugins.subproj/WebNetscapePluginPackage.m:
        (-[WebNetscapePluginPackage load]):

2003-03-27  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        - fixed 3192344 - nil-deref in KWin::info scrolling amazon while other shopping tabs load
        - fixed 3098365 - Default window size changes as a result of popup windows
        - fixed 3189291 - javascript window.close() closes window, not just originating tab

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge setWindowIsResizable:]): New bridge method, implemented
        by calling window operations delegate.
        (-[WebBridge windowIsResizable]): Likewise.
        (-[WebBridge firstResponder]): Likewise.
        (-[WebBridge makeFirstResponder:]): Likewise.
        (-[WebBridge closeWindow]): Likewise.

2003-03-27  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        Changed WebResource to NSURLConnection. Some other "supporting" names
        changed as well. Note that there are no functional modifications,
        only name changes.

        * Downloads.subproj/WebDownload.m:
        (-[WebDownload initWithRequest:]):
        (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]):
        (+[WebDownload _downloadWithLoadingResource:request:response:delegate:proxy:]):
        (-[WebDownload loadWithDelegate:]):
        (-[WebDownload resource:willSendRequest:]):
        (-[WebDownload resource:didReceiveResponse:]):
        (-[WebDownload resource:didReceiveData:]):
        (-[WebDownload resourceDidFinishLoading:]):
        (-[WebDownload resource:didFailLoadingWithError:]):
        * Downloads.subproj/WebDownloadPrivate.h:
        * Misc.subproj/WebIconLoader.h:
        * Misc.subproj/WebIconLoader.m:
        (-[WebIconLoader startLoading]):
        (-[WebIconLoader resourceDidFinishLoading:]):
        (-[WebIconLoader resource:willSendRequest:]):
        (-[WebIconLoader resource:didReceiveResponse:]):
        (-[WebIconLoader resource:didReceiveData:]):
        (-[WebIconLoader resource:didFailLoadingWithError:]):
        * Plugins.subproj/WebNetscapePluginStream.h:
        * Plugins.subproj/WebNetscapePluginStream.m:
        (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]):
        (-[WebNetscapePluginStream resource:didReceiveResponse:]):
        (-[WebNetscapePluginStream resource:didReceiveData:]):
        (-[WebNetscapePluginStream resourceDidFinishLoading:]):
        (-[WebNetscapePluginStream resource:didFailLoadingWithError:]):
        * WebCoreSupport.subproj/WebBridge.m:
        * WebCoreSupport.subproj/WebSubresourceClient.m:
        (-[WebSubresourceClient resource:willSendRequest:]):
        (-[WebSubresourceClient resource:didReceiveResponse:]):
        (-[WebSubresourceClient resource:didReceiveData:]):
        (-[WebSubresourceClient resourceDidFinishLoading:]):
        (-[WebSubresourceClient resource:didFailLoadingWithError:]):
        * WebView.subproj/WebBaseResourceHandleDelegate.h:
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate loadWithRequest:]):
        (-[WebBaseResourceHandleDelegate resource:willSendRequest:]):
        (-[WebBaseResourceHandleDelegate resource:didReceiveResponse:]):
        (-[WebBaseResourceHandleDelegate resource:didReceiveData:]):
        (-[WebBaseResourceHandleDelegate resourceDidFinishLoading:]):
        (-[WebBaseResourceHandleDelegate resource:didFailLoadingWithError:]):
        * WebView.subproj/WebDataSource.h:
        * WebView.subproj/WebDataSource.m:
        * WebView.subproj/WebDataSourcePrivate.m:
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultContextMenuDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
        * WebView.subproj/WebDefaultPolicyDelegate.m:
        (-[WebDefaultPolicyDelegate webView:decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]):
        * WebView.subproj/WebDefaultResourceLoadDelegate.m:
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _continueAfterNavigationPolicy:]):
        (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
        * WebView.subproj/WebMainResourceClient.h:
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient resource:willSendRequest:]):
        (-[WebMainResourceClient resource:didReceiveResponse:]):
        (-[WebMainResourceClient resource:didReceiveData:]):
        (-[WebMainResourceClient resourceDidFinishLoading:]):
        (-[WebMainResourceClient resource:didFailLoadingWithError:]):
        (-[WebResourceDelegateProxy setDelegate:]):
        (-[WebResourceDelegateProxy resource:willSendRequest:]):
        (-[WebResourceDelegateProxy resource:didReceiveResponse:]):
        (-[WebResourceDelegateProxy resource:didReceiveData:]):
        (-[WebResourceDelegateProxy resourceDidFinishLoading:]):
        (-[WebResourceDelegateProxy resource:didFailLoadingWithError:]):
        * WebView.subproj/WebPolicyDelegate.h:
        * WebView.subproj/WebView.h:
        * WebView.subproj/WebView.m:
        * WebView.subproj/WebViewPrivate.m:

2003-03-27  Richard Williamson   <rjw@apple.com>

        API change: WebHistory initWithFile: -> initWithContentsOfURL:
        
        Reviewed by Ken.

        * History.subproj/WebHistory.h:
        * History.subproj/WebHistory.m:
        (-[WebHistory initWithContentsOfURL:]):
        (-[WebHistory URL]):
        * History.subproj/WebHistoryPrivate.h:
        * History.subproj/WebHistoryPrivate.m:
        (-[WebHistoryPrivate initWithContentsOfURL:]):
        (-[WebHistoryPrivate dealloc]):
        (-[WebHistoryPrivate _loadHistoryGuts:]):
        (-[WebHistoryPrivate loadHistory]):
        (-[WebHistoryPrivate _saveHistoryGuts:]):
        (-[WebHistoryPrivate URL]):
        (-[WebHistoryPrivate saveHistory]):

2003-03-27  Darin Adler  <darin@apple.com>

        Reviewed by Shelley.

        - fixed 3157067 -- Pier1.com doesn't load; Microsoft VBScript runtime error in user-agent checking code
        
        Besides this fix, I also filed an evangelism bug, bug 3210612.

        * WebView.subproj/WebUserAgentSpoofTable.gperf: Added pier1.com.
        * WebView.subproj/WebUserAgentSpoofTable.c: Regenerated.

2003-03-27  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Trey

        Moved to final NSURLResponse and NSHTTPURLResponse API.

        * Downloads.subproj/WebDownload.m:
        * Misc.subproj/WebNSURLResponseExtras.m:
        (-[NSURLResponse suggestedFilenameForSaving]):
        (-[NSHTTPURLResponse suggestedFilenameForSaving]):
        * Plugins.subproj/WebBaseNetscapePluginStream.m:
        (-[WebBaseNetscapePluginStream setResponse:]):
        * Plugins.subproj/WebNetscapePluginDocumentView.m:
        (-[WebNetscapePluginDocumentView setDataSource:]):
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _representationClass]):
        (-[WebDataSource _commitIfReady:]):
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _opened]):
        (-[WebFrame _loadItem:fromItem:withLoadType:]):
        * WebView.subproj/WebFrameViewPrivate.m:
        (-[WebFrameView _makeDocumentViewForDataSource:]):
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient continueAfterContentPolicy:response:]):
        (-[WebMainResourceClient checkContentPolicyForResponse:]):
        (-[WebMainResourceClient resource:didReceiveResponse:]):
        (-[WebMainResourceClient startLoading:]):
        * WebView.subproj/WebTextRepresentation.m:
        (-[WebTextRepresentation setDataSource:]):
        * WebView.subproj/WebTextView.m:
        (-[WebTextView dataSourceUpdated:]):

=== Safari-69 ===

2003-03-26  Richard Williamson   <rjw@apple.com>

        File name change WebPluginError.[hm] -> WebPlugInError.[hm]

        * Misc.subproj/WebKit.h:
        * Plugins.subproj/WebNullPluginView.m:
        * Plugins.subproj/WebPlugInError.h:
        * Plugins.subproj/WebPluginError.h: Removed.
        * Plugins.subproj/WebPluginError.m: Removed.
        * Plugins.subproj/WebPluginErrorPrivate.h:
        * WebKit.pbproj/project.pbxproj:

2003-03-26  Richard Williamson   <rjw@apple.com>

        WebPreferences API changes:
        
        JavaScriptCanOpenWindowsAutomatically -> javaScriptCanOpenWindowsAutomatically
        setJavaScriptCanOpenWindowsAutomatically -> setJavaScriptCanOpenWindowsAutomatically
        willLoadImagesAutomatically -> loadsImagesAutomatically
        setWillLoadImagesAutomatically -> setLoadsImagesAutomatically
        JavaEnabled -> isJavaEnabled
        setJavaEnabled -> setIsJavaEnabled
        JavaScriptEnabled -> isJavaScriptEnabled
        setJavaScriptEnabled -> setIsJavaScriptEnabled
        pluginsEnabled -> arePlugInsEnabled
        setPluginsEnabled -> setArePlugInsEnabled
        allowAnimatedImageLooping -> allowsAnimatedImageLooping
        setAllowAnimatedImageLooping -> setAllowsAnimatedImageLooping
        allowAnimatedImages -> allowsAnimatedImages
        setAllowAnimatedImages -> setAllowsAnimatedImages
        
        Made WebHistoryItem's ivars private.

        WebPluginError API changes:
        
        pluginPageURL -> plugInPageURLString
        contentURL -> contentURLString
       
        Reviewed by cblu.

        * API-Issues.rtf:
        * History.subproj/WebHistoryItem.h:
        * History.subproj/WebHistoryItem.m:
        (-[WebHistoryItemPrivate dealloc]):
        (-[WebHistoryItem init]):
        (-[WebHistoryItem dealloc]):
        (-[WebHistoryItem URLString]):
        (-[WebHistoryItem originalURLString]):
        (-[WebHistoryItem title]):
        (-[WebHistoryItem setDisplayTitle:]):
        (-[WebHistoryItem icon]):
        (-[WebHistoryItem lastVisitedDate]):
        (-[WebHistoryItem hash]):
        (-[WebHistoryItem anchor]):
        (-[WebHistoryItem isEqual:]):
        (-[WebHistoryItem description]):
        (-[WebHistoryItem _retainIconInDatabase:]):
        (-[WebHistoryItem initWithURL:target:parent:title:]):
        (-[WebHistoryItem URL]):
        (-[WebHistoryItem target]):
        (-[WebHistoryItem parent]):
        (-[WebHistoryItem setURL:]):
        (-[WebHistoryItem setOriginalURLString:]):
        (-[WebHistoryItem setTitle:]):
        (-[WebHistoryItem setTarget:]):
        (-[WebHistoryItem setParent:]):
        (-[WebHistoryItem setLastVisitedDate:]):
        (-[WebHistoryItem documentState]):
        (-[WebHistoryItem scrollPoint]):
        (-[WebHistoryItem setScrollPoint:]):
        (-[WebHistoryItem setAnchor:]):
        (-[WebHistoryItem isTargetItem]):
        (-[WebHistoryItem setIsTargetItem:]):
        (-[WebHistoryItem _recurseToFindTargetItem]):
        (-[WebHistoryItem targetItem]):
        (-[WebHistoryItem formData]):
        (-[WebHistoryItem setFormData:]):
        (-[WebHistoryItem formContentType]):
        (-[WebHistoryItem setFormContentType:]):
        (-[WebHistoryItem formReferrer]):
        (-[WebHistoryItem setFormReferrer:]):
        (-[WebHistoryItem children]):
        (-[WebHistoryItem addChildItem:]):
        (-[WebHistoryItem childItemWithName:]):
        (-[WebHistoryItem dictionaryRepresentation]):
        (-[WebHistoryItem initFromDictionaryRepresentation:]):
        (-[WebHistoryItem setAlwaysAttemptToUsePageCache:]):
        (-[WebHistoryItem alwaysAttemptToUsePageCache]):
        (-[WebHistoryItem _scheduleRelease]):
        (-[WebHistoryItem setHasPageCache:]):
        (-[WebHistoryItem pageCache]):
        * Plugins.subproj/WebPluginError.h:
        * Plugins.subproj/WebPluginError.m:
        (-[WebPlugInError plugInPageURLString]):
        * WebView.subproj/WebPreferences.h:
        * WebView.subproj/WebPreferences.m:
        (-[WebPreferences isJavaEnabled]):
        (-[WebPreferences setIsJavaEnabled:]):
        (-[WebPreferences isJavaScriptEnabled]):
        (-[WebPreferences setIsJavaScriptEnabled:]):
        (-[WebPreferences javaScriptCanOpenWindowsAutomatically]):
        (-[WebPreferences arePlugInsEnabled]):
        (-[WebPreferences setArePlugInsEnabled:]):
        (-[WebPreferences allowsAnimatedImages]):
        (-[WebPreferences allowsAnimatedImageLooping]):
        (-[WebPreferences setAllowsAnimatedImageLooping:]):
        (-[WebPreferences setLoadsImagesAutomatically:]):
        (-[WebPreferences loadsImagesAutomatically]):
        * WebView.subproj/WebViewPrivate.m:
        (-[WebView _updateWebCoreSettingsFromPreferences:]):

2003-03-26  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        Changed WebResponse to NSURLResponse. Some other "supporting" names
        changed as well. Note that there are no functional modifications,
        only name changes.

        * Downloads.subproj/WebDownload.h:
        * Downloads.subproj/WebDownload.m:
        (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]):
        (+[WebDownload _downloadWithLoadingResource:request:response:delegate:proxy:]):
        (-[WebDownload _setResponse:]):
        (-[WebDownload resource:didReceiveResponse:]):
        * Downloads.subproj/WebDownloadPrivate.h:
        * Misc.subproj/WebIconLoader.m:
        (-[WebIconLoader resource:didReceiveResponse:]):
        * Misc.subproj/WebKit.h:
        * Plugins.subproj/WebBaseNetscapePluginStream.h:
        * Plugins.subproj/WebBaseNetscapePluginStream.m:
        (-[WebBaseNetscapePluginStream setResponse:]):
        * Plugins.subproj/WebNetscapePluginDocumentView.m:
        * Plugins.subproj/WebNetscapePluginStream.m:
        (-[WebNetscapePluginStream resource:didReceiveResponse:]):
        * WebCoreSupport.subproj/WebBridge.m:
        * WebCoreSupport.subproj/WebSubresourceClient.h:
        * WebCoreSupport.subproj/WebSubresourceClient.m:
        (-[WebSubresourceClient resource:didReceiveResponse:]):
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebBaseResourceHandleDelegate.h:
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate resource:didReceiveResponse:]):
        * WebView.subproj/WebDataSource.h:
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource response]):
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _setResponse:]):
        (-[WebDataSource _commitIfReady:]):
        (-[WebDataSource _addResponse:]):
        * WebView.subproj/WebDefaultPolicyDelegate.m:
        * WebView.subproj/WebDefaultResourceLoadDelegate.m:
        (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveResponse:fromDataSource:]):
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _opened]):
        * WebView.subproj/WebFrameViewPrivate.m:
        * WebView.subproj/WebHTMLRepresentation.m:
        * WebView.subproj/WebMainResourceClient.h:
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient continueAfterContentPolicy:response:]):
        (-[WebMainResourceClient continueAfterContentPolicy:]):
        (-[WebMainResourceClient checkContentPolicyForResponse:]):
        (-[WebMainResourceClient resource:didReceiveResponse:]):
        (-[WebMainResourceClient startLoading:]):
        (-[WebResourceDelegateProxy resource:didReceiveResponse:]):
        * WebView.subproj/WebPolicyDelegate.h:
        * WebView.subproj/WebResourceLoadDelegate.h:
        * WebView.subproj/WebTextRepresentation.m:
        * WebView.subproj/WebTextView.m:

2003-03-26  Darin Adler  <darin@apple.com>

        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.

2003-03-26  Darin Adler  <darin@apple.com>

        Reviewed by Trey.

        - fixed 3209091 -- REGRESSION: WebFrameView leak (world leak)

        * WebView.subproj/WebView.m:
        (-[WebView _commonInitialization:frameName:groupName:]): Use copy, not retain,
        on an incoming NSString parameter.
        (-[WebView initWithFrame:frameName:groupName:]): Release the WebFrameView after
        setting it up.

        - other changes

        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
        Put the bug workaround here inside an ifdef so we don't compile it in on Panther.

2003-03-26  Chris Blumenberg  <cblu@apple.com>

        Use the private _cfBundle method on NSBundle so we only create 1 bundle per plug-in package class.

        Reviewed by trey.

        * Plugins.subproj/WebBasePluginPackage.h:
        * Plugins.subproj/WebBasePluginPackage.m:
        (-[WebBasePluginPackage initWithPath:]):
        (-[WebBasePluginPackage getPluginInfoFromBundleAndMIMEDictionary:]):
        (-[WebBasePluginPackage dealloc]):
        * Plugins.subproj/WebNetscapePluginPackage.h:
        * Plugins.subproj/WebNetscapePluginPackage.m:
        (-[WebNetscapePluginPackage openResourceFile]):
        (-[WebNetscapePluginPackage closeResourceFile:]):
        (-[WebNetscapePluginPackage getPluginInfoFromPLists]):
        (-[WebNetscapePluginPackage initWithPath:]):
        (-[WebNetscapePluginPackage load]):
        (-[WebNetscapePluginPackage unload]):
        * Plugins.subproj/WebPluginPackage.m:
        (-[WebPluginPackage initWithPath:]):
        (-[WebPluginPackage viewFactory]):
        (-[WebPluginPackage load]):
        (-[WebPluginPackage isLoaded]):

2003-03-26  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Maciej

        Finished conversion to NSMutableURLRequest. HTTP-specific
        mutator methods are now properly placed on an HTTP
        category of NSMutableURLRequest. All client code has
        been updated to use NSMutableURLRequest where appropriate.

        * Misc.subproj/WebIconLoader.m:
        (-[WebIconLoader startLoading]):
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge createWindowWithURL:frameName:]):
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate resource:willSendRequest:]):
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultContextMenuDelegate openNewWindowWithURL:]):
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]):
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient resource:willSendRequest:]):

2003-03-25  Richard Williamson   <rjw@apple.com>

        Changed use of plugin to plugIn in our public API
        as instructed by those that must be obeyed.
        
        Reviewed by Trey.

        Changed userStyleSheetLocation to take/pass an NSURL.
        
        Reviewed by Chris
        
        * Plugins.subproj/WebNetscapePluginDocumentView.m:
        (-[WebNetscapePluginDocumentView setDataSource:]):
        * Plugins.subproj/WebNullPluginView.h:
        * Plugins.subproj/WebNullPluginView.m:
        (-[WebNullPluginView viewDidMoveToWindow]):
        * Plugins.subproj/WebPluginError.h:
        * Plugins.subproj/WebPluginError.m:
        (-[WebPlugInError plugInPageURL]):
        (-[WebPlugInError plugInName]):
        * Plugins.subproj/WebPluginErrorPrivate.h:
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]):
        (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]):
        * WebView.subproj/WebDefaultResourceLoadDelegate.m:
        (-[WebDefaultResourceLoadDelegate webView:plugInFailedWithError:dataSource:]):
        * WebView.subproj/WebPreferences.h:
        * WebView.subproj/WebPreferences.m:
        (-[WebPreferences userStyleSheetLocation]):
        (-[WebPreferences setUserStyleSheetLocation:]):
        * WebView.subproj/WebResourceLoadDelegate.h:
        * WebView.subproj/WebViewPrivate.m:
        (-[WebView _updateWebCoreSettingsFromPreferences:]):

        * API-Issues.rtf:  notes to self

2003-03-25  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3135385 - many file types don't work with the QuickTime plugin in Safari

        Reviewed by trey.

        * Plugins.subproj/WebBasePluginPackage.h:
        * Plugins.subproj/WebBasePluginPackage.m:
        (+[WebBasePluginPackage pluginWithPath:]): tweak
        (-[WebBasePluginPackage pathByResolvingSymlinksAndAliasesInPath:]): moved up from WebNetscapePluginPackage
        (-[WebBasePluginPackage initWithPath:]): retain path, create bundle so subclasses don't have to do this work
        (-[WebBasePluginPackage getPluginInfoFromBundleAndMIMEDictionary:]): was getMIMEInformation from WebPluginPackage
        (-[WebBasePluginPackage dealloc]): release the bundle
        (-[WebBasePluginPackage setMIMEToExtensionsDictionary:]): tweak
        * Plugins.subproj/WebNetscapePluginPackage.h:
        * Plugins.subproj/WebNetscapePluginPackage.m:
        (+[WebNetscapePluginPackage preferredLocalizationName]): new
        (-[WebNetscapePluginPackage openResourceFile]): tweak
        (-[WebNetscapePluginPackage closeResourceFile:]): tweak
        (-[WebNetscapePluginPackage stringForStringListID:andIndex:]): tweak
        (-[WebNetscapePluginPackage getPluginInfoFromResources]): was getMIMEInformation
        (-[WebNetscapePluginPackage pListForPath:createFile:]): new, calls BP_CreatePluginMIMETypesPreferences if createFile==YES
        (-[WebNetscapePluginPackage getPluginInfoFromPLists]): calls getPluginInfoFromBundleAndMIMEDictionary with the MIME dictionary from the user's home dir.
        (-[WebNetscapePluginPackage initWithPath:]): have the superclass do some initialization, call getPluginInfoFromPLists and/or getPluginInfoFromResources
        (-[WebNetscapePluginPackage executableType]): tweak
        (-[WebNetscapePluginPackage load]): get the BP_CreatePluginMIMETypesPreferences symbol
        (-[WebNetscapePluginPackage unload]): tweak
        (-[WebNetscapePluginPackage dealloc]): tweak
        * Plugins.subproj/WebPluginPackage.h:
        * Plugins.subproj/WebPluginPackage.m:
        (-[WebPluginPackage initWithPath:]): have the superclass do some initialization, call getPluginInfoFromBundleAndMIMEDictionary
        (-[WebPluginPackage viewFactory]): tweak
        (-[WebPluginPackage load]): call principalClass
        (-[WebPluginPackage isLoaded]): tweak
        * Plugins.subproj/npapi.h: added declaration for the BP_CreatePluginMIMETypesPreferences function pointer. 

2003-03-25  John Sullivan  <sullivan@apple.com>

        - WebKit part of fix for 3141794 -- No scroll bar for the 
        "collections" column of the bookmarks window

        Reviewed by Darin.

        * WebView.subproj/WebDynamicScrollBarsView.h:
        replaced disallowsScrolling boolean ivar with separate booleans for
        disallowHorizontalScrolling and disallowVerticalScrolling

        * WebView.subproj/WebDynamicScrollBarsView.m:
        (-[WebDynamicScrollBarsView updateScrollers]):
        take the two disallow booleans into account separately
        (-[WebDynamicScrollBarsView setAllowsHorizontalScrolling:]),
        (-[WebDynamicScrollBarsView allowsHorizontalScrolling]),
        (-[WebDynamicScrollBarsView setAllowsVerticalScrolling:]),
        (-[WebDynamicScrollBarsView allowsVerticalScrolling]):
        new methods, do the obvious
        (-[WebDynamicScrollBarsView setAllowsScrolling:]):
        changed to set both ivars
        (-[WebDynamicScrollBarsView allowsScrolling]):
        changed to return YES if scrolling is allowed in either direction

        * WebKit.exp: exported symbol for WebDynamicScrollBarsView class name

2003-03-25  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Richard

        Fixed a bug that could occur in the new immutable/mutable
        request scheme. When opening a javascript window, it was
        possible for a request passed as a method argument to be
        released during the course of a method, particularly
        after that request was passed to willSendRequest:.
        The solution is to ask the data source for its current
        request rather than using the one stored in the method
        argument.

        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient startLoading:]):

2003-03-24  Trey Matteson  <trey@apple.com>

        Pass -seg_addr_table_filename <FILENAME> to ld.  This makes our frameworks in
        SYMROOT actually work for symbol resolution because they will have the correct
        prebinding address.  It also fixes obscure B&I problems with prebinding
        reported by Matt Reda.

        Note the reason all this is tricky for our projects is that we have a different
        install location for Jaguar and Panther.  The purpose of this arg is to declare
        at link time our eventual location, which allows the prebinding address to be
        found in /AppleInternal/Developer/seg_addr_table.  We use a funky back-tick
        expression within OTHER_LDFLAGS to get a conditional value depending on the
        build train we are in.

        This can all go away once we only build on Panther and don't embed the
        frameworks inside the Safari.app wrapper.

        In addition I fixed the OTHER_LDFLAGS settings in our build styles to be
        additive instead of overriding, so we have the args we used for B&I in force
        when building outside of B&I.

        Reviewed by Maciej.

        * WebKit.pbproj/project.pbxproj:

2003-03-25  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        Updated to use NSMutableURLRequest where appropriate.

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView requestWithURLCString:]):
        (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]):
        * WebCoreSupport.subproj/WebSubresourceClient.m:
        (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
        * WebView.subproj/WebDataSource.h:
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource initWithRequest:]):
        (-[WebDataSource request]):
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _setURL:]):
        * WebView.subproj/WebFrame.m:
        (-[WebFrame loadRequest:]):
        (-[WebFrame reload]):
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _loadItem:fromItem:withLoadType:]):
        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
        (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
        (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]):

2003-03-25  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed 3205745 -- WebKit.framework's Localizable.strings file contains high ASCII in the Key definition.

        * English.lproj/Localizable.strings: Regenerated with the new version of the
        extract-localizable-strings tool that uses \U syntax instead of "high ASCII".

        - changed cursive font back to "Apple Chancery" for now
        
        * WebView.subproj/WebPreferences.m: (+[WebPreferences initialize]): Change to "Apple Chancery".
        * English.lproj/StringsNotToBeLocalized.txt: Update for above change.

2003-03-24  Darin Adler  <darin@apple.com>

        Reviewed by Dave.

        - fixed 3206803 -- REGRESSION: Lucida Handwriting font doesn't work

        * WebCoreSupport.subproj/WebTextRendererFactory.m:
        (acceptableChoice): Added. Returns NO if the weight/traits are no good.
        (betterChoice): Added. Returns YES if the new weight/traits are better than the old.
        (-[WebTextRendererFactory fontWithFamily:traits:size:]): Use the new functions to judge which
        font is good enough. Now it will accept an italic font if that's all we have.

        - fixed 3206904 -- use "Lucida Handwriting" for "cursive" so it works on systems without Classic

        * WebView.subproj/WebPreferences.m: (+[WebPreferences initialize]):
        Change default from "Apple Chancery" to "Lucida Handwriting".

        * English.lproj/StringsNotToBeLocalized.txt: Updated for this change.

2003-03-24  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Richard.

        - made API (actually doc-only) changes needed for 3087535 -
        bugzilla queries come back as downloaded files

        * Downloads.subproj/WebDownload.h: Documented that
        download:didReceiveResponse: may be sent more than once.
        * WebView.subproj/WebLocationChangeDelegate.h: Documented that
        locationChangeCommittedForDataSource: may be sent more than once.
        * WebView.subproj/WebPolicyDelegate.h: Documented that
        decideContentPolicyForMIMEType:andRequest:inFrame: may be sent
        more than once.
        * WebView.subproj/WebResourceLoadDelegate.h: Documented that
        resource:didReceiveResponse:fromDataSource: may be sent more than
        once.

2003-03-24  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Richard.

        - fixed 3083339 - significant top and side margin appended to new windows

        Part of the fix involves adding new window operation delegate methods.
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge setWindowFrame:]): Tweaked code a bit.
        (-[WebBridge windowFrame]): Added. 
        (-[WebBridge setWindowContentRect:]): Added.
        (-[WebBridge windowContentRect]): Added.
        * WebView.subproj/WebDefaultWindowOperationsDelegate.m:
        (-[WebDefaultWindowOperationsDelegate webView:setContentRect:]): Implemented.
        (-[WebDefaultWindowOperationsDelegate webViewContentRect:]): Likewise.
        * WebView.subproj/WebWindowOperationsDelegate.h:

2003-03-24  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3155489 - Seed: PostScript files display instead of downloading, often as a blank page
        Fixed: 3106251 - quicken file not downloaded, can't save manually

        Reviewed by trey.

        * WebView.subproj/WebDataSourcePrivate.m:
        (+[WebDataSource _repTypes]): call [WebImageView supportedImageMIMETypes]
        * WebView.subproj/WebFrameViewPrivate.m:
        (+[WebFrameView _viewTypes]): call [WebImageView supportedImageMIMETypes]
        * WebView.subproj/WebImageView.h:
        * WebView.subproj/WebImageView.m:
        (+[WebImageView initialize]): was -initialize (oops)
        (+[WebImageView unsupportedImageMIMETypes]): new, AppKit images that we shouldn't display inline, includes ps and pdf
        (+[WebImageView supportedImageMIMETypes]): new, was in WebViewPrivate
        * WebView.subproj/WebTextView.h:
        * WebView.subproj/WebTextView.m:
        (+[WebTextView unsupportedTextMIMETypes]): renamed, added text/qif (quicken)
        * WebView.subproj/WebView.m:
        (+[WebView canShowMIMEType:]): call [WebTextView unsupportedTextMIMETypes]
        * WebView.subproj/WebViewPrivate.h: removed _supportedImageMIMETypes
        * WebView.subproj/WebViewPrivate.m: removed _supportedImageMIMETypes

2003-03-24  Ken Kocienda  <kocienda@apple.com>

        Reviewed by hyatt.

        Moved closer to target API for NSURLRequest. Merged in
        final names for immutable and mutable versions of this
        class and its HTTP category. The next step will be to
        actually make the split between immutable/mutable
        variants of NSURLRequest.

        In WebKit, this amounts to name changes only.

        * Misc.subproj/WebIconLoader.m:
        (-[WebIconLoader startLoading]):
        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]):
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge createWindowWithURL:frameName:]):
        (-[WebBridge incomingReferrer]):
        * WebCoreSupport.subproj/WebSubresourceClient.m:
        (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate resource:willSendRequest:]):
        * WebView.subproj/WebDataSourcePrivate.m:
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultContextMenuDelegate openNewWindowWithURL:]):
        * WebView.subproj/WebFrame.m:
        (-[WebFrame reload]):
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _createItem]):
        (-[WebFrame _loadItem:fromItem:withLoadType:]):
        (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]):
        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
        (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient resource:willSendRequest:]):

2003-03-22  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed 3203869 -- Monaco 9 looks different in Safari than in TextEdit (uses outline instead of bitmap)

        * Misc.subproj/WebKitNSStringExtras.m: (-[NSString _web_widthWithFont:]):
        Pass usingPrinterFont:NO, since this is used exclusively for on-screen text, not printing.
        * Misc.subproj/WebStringTruncator.m: (truncateString): Ditto.

        * WebCoreSupport.subproj/WebTextRenderer.h: Add usingPrinterFont boolean field and parameter to init.
        * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer initWithFont:forScreen:]):
        Add usingPrinterFont parameter, and get the screen font if it's NO, also store the boolean
        for later use.
        (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding: attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:fontFamilies:]):
        Pass the usingPrinterFont parameter through when getting a substitute font.

        * WebCoreSupport.subproj/WebTextRendererFactory.h: Add separate caches for screen and printing text
        renderers. Add usingPrinterFont parameter to our rendererWithFont: method (the one inherited from WebCore
        still has no parameter).
        * WebCoreSupport.subproj/WebTextRendererFactory.m:
        (-[WebTextRendererFactory init]): Create both caches.
        (-[WebTextRendererFactory dealloc]): Release both caches.
        (-[WebTextRendererFactory rendererWithFont:]): Call the new rendererWithFont:usingPrinterFont: method,
        passing usingPrinterFonts from the WebCore side. Thus any fonts fetched by WebCore during printing
        are printing fonts, and otherwise they are screen fonts.
        (-[WebTextRendererFactory rendererWithFont:usingPrinterFont:]): Added. Has the code from the old
        rendererWithFont: method, but passes the usingPrinterFont parameter through to the WebTextRenderer
        init method.
        
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView initWithFrame:]): Don't set unused canDragTo and canDragFrom fields.
        (-[WebHTMLView drawRect:]): Call -[WebTextRendererFactory setUsingPrinterFonts:] here if we are printing,
        as indicated by the usingPrinterFonts field. The reason we do this only inside drawRect is so we don't
        affect redraws of other HTML views that are not being printed that might be in "needs display" state when
        printing began. 
        (-[WebHTMLView _setUsingPrinterFonts:]): Added. Calls _setUsingPrinterFonts on all WebHTMLViews inside
        this one, then does the work for this one. Uses the frame hierarchy rather than the view hierarchy, but
        either would work. If printer font state is changing, then sets the WebTextRendererFactory mode, then
        forces a layout and application of styles, but without triggering display.
        (-[WebHTMLView beginDocument]): Do an explicit display so this view does not have to be displayed while
        it is in "use printer fonts" mode. Then call _setUsingPrinterFonts:YES so that drawRect will use printer
        fonts, and also that the WebCore data structures and layout will be updated to reflect printer fonts as
        opposed to screen fonts.
        (-[WebHTMLView endDocument]): Call _setUsingPrinterFonts:NO to restore things to normal after printing.
        * WebView.subproj/WebHTMLViewPrivate.h: Removed unused canDragTo, canDragFrom, and liveAllowsScrolling
        fields. Added usingPrinterFonts field.

        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.

2003-03-24  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        Removed now-obsolete WebResponseCachePolicy enum.
        Once the new cache API is ready, there will be new features
        to replace what this enum provided. Seeing as how this
        enum was largely unused, there is no impact associated with         
        removing it now.

        * WebCoreSupport.subproj/WebSubresourceClient.m:
        (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):

2003-03-24  Ken Kocienda  <kocienda@apple.com>

        Reviewed by John

        Cleaned up some missed WebRequest -> NSURLRequest  
        name conversions.

        * WebView.subproj/WebFramePrivate.m

2003-03-24  Ken Kocienda  <kocienda@apple.com>

        Reviewed by John

        Changed WebRequest to NSURLRequest. Several other names,        
        like some constants whose names were based on WebRequest,
        changed as well.

        * Downloads.subproj/WebDownload.h:
        * Downloads.subproj/WebDownload.m:
        (-[WebDownload initWithRequest:]):
        (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]):
        (+[WebDownload _downloadWithLoadingResource:request:response:delegate:proxy:]):
        (-[WebDownload _setRequest:]):
        (-[WebDownload resource:willSendRequest:]):
        * Downloads.subproj/WebDownloadPrivate.h:
        * Misc.subproj/WebIconLoader.m:
        (-[WebIconLoader startLoading]):
        (-[WebIconLoader resource:willSendRequest:]):
        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView requestWithURLCString:]):
        (-[WebBaseNetscapePluginView loadPluginRequest:]):
        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
        (-[WebBaseNetscapePluginView getURLNotify:target:notifyData:]):
        (-[WebBaseNetscapePluginView getURL:target:]):
        (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]):
        (-[WebPluginRequest initWithRequest:frameName:notifyData:]):
        (-[WebPluginRequest request]):
        * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h:
        * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
        (-[WebNetscapePluginEmbeddedView viewDidMoveToWindow]):
        * Plugins.subproj/WebNetscapePluginStream.h:
        * Plugins.subproj/WebNetscapePluginStream.m:
        (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]):
        * Plugins.subproj/WebPluginController.m:
        (-[WebPluginController showURL:inFrame:]):
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge createWindowWithURL:frameName:]):
        (-[WebBridge objectLoadedFromCacheWithURL:response:size:]):
        (-[WebBridge isReloading]):
        (-[WebBridge loadEmptyDocumentSynchronously]):
        * WebCoreSupport.subproj/WebSubresourceClient.m:
        (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
        (-[WebSubresourceClient resource:willSendRequest:]):
        * WebView.subproj/WebBaseResourceHandleDelegate.h:
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate startLoading:]):
        (-[WebBaseResourceHandleDelegate loadWithRequest:]):
        (-[WebBaseResourceHandleDelegate resource:willSendRequest:]):
        * WebView.subproj/WebDataSource.h:
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource initWithRequest:]):
        (-[WebDataSource initialRequest]):
        (-[WebDataSource request]):
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _setURL:]):
        (-[WebDataSource _setRequest:]):
        (-[WebDataSource _originalRequest]):
        (-[WebDataSource _lastCheckedRequest]):
        (-[WebDataSource _setLastCheckedRequest:]):
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultContextMenuDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
        (-[WebDefaultContextMenuDelegate openNewWindowWithURL:]):
        * WebView.subproj/WebDefaultPolicyDelegate.m:
        (-[WebDefaultPolicyDelegate webView:decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]):
        (-[WebDefaultPolicyDelegate webView:decideNewWindowPolicyForAction:andRequest:newFrameName:decisionListener:]):
        * WebView.subproj/WebDefaultResourceLoadDelegate.m:
        (-[WebDefaultResourceLoadDelegate webView:identifierForInitialRequest:fromDataSource:]):
        (-[WebDefaultResourceLoadDelegate webView:resource:willSendRequest:fromDataSource:]):
        * WebView.subproj/WebDefaultWindowOperationsDelegate.m:
        * WebView.subproj/WebFrame.h:
        * WebView.subproj/WebFrame.m:
        (-[WebFrame loadRequest:]):
        (-[WebFrame reload]):
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _createItem]):
        (-[WebFrame _loadItem:fromItem:withLoadType:]):
        (-[WebFrame _loadRequest:triggeringAction:loadType:formState:]):
        (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]):
        (-[WebFrame _checkNewWindowPolicyForRequest:action:frameName:formState:andCall:withSelector:]):
        (-[WebFrame _continueAfterNewWindowPolicy:]):
        (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]):
        (-[WebFrame _continueAfterNavigationPolicy:]):
        (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]):
        (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]):
        (-[WebFrame _continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
        (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
        (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]):
        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
        (-[WebFrame _loadRequest:inFrameNamed:]):
        * WebView.subproj/WebFrameView.m:
        (-[WebFrameView concludeDragOperation:]):
        * WebView.subproj/WebImageRepresentation.m:
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient continueAfterNavigationPolicy:formState:]):
        (-[WebMainResourceClient resource:willSendRequest:]):
        (-[WebMainResourceClient continueAfterContentPolicy:response:]):
        (-[WebMainResourceClient startLoading:]):
        (-[WebResourceDelegateProxy resource:willSendRequest:]):
        * WebView.subproj/WebPolicyDelegate.h:
        * WebView.subproj/WebResourceLoadDelegate.h:
        * WebView.subproj/WebView.m:
        (-[WebView takeStringURLFrom:]):
        * WebView.subproj/WebViewPrivate.h:
        * WebView.subproj/WebViewPrivate.m:
        (-[WebView _downloadURL:toDirectory:]):
        (-[WebView _openNewWindowWithRequest:]):
        * WebView.subproj/WebWindowOperationsDelegate.h:

2003-03-21  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3081681 - text/calendar should be downloaded instead of displayed
        Fixed: 3177603 - vCards appear in browser, not downloaded

        Reviewed by darin.

        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebDataSourcePrivate.m:
        (+[WebDataSource _representationClassForMIMEType:]): was _canShowMIMEType
        * WebView.subproj/WebFrameViewPrivate.h:
        * WebView.subproj/WebFrameViewPrivate.m:
        (+[WebFrameView _viewClassForMIMEType:]): was _canShowMIMEType
        * WebView.subproj/WebTextView.h:
        * WebView.subproj/WebTextView.m:
        (+[WebTextView unshowableMIMETypes]): new, returns text types that shouldn't be shown
        * WebView.subproj/WebView.m:
        (+[WebView canShowMIMEType:]): call unshowableMIMETypes

2003-03-20  Richard Williamson   <rjw@apple.com>

        Use "Item" consistently in the WebHistory and WebBackForwardList.
        Change createSharedHistoryWithFile: to setSharedHistory:
        Make the various page cache methods per WebBackForwardList instead of global.
        
        Reviewed by gramps.

        * History.subproj/WebBackForwardList.h:
        * History.subproj/WebBackForwardList.m:
        (-[WebBackForwardListPrivate dealloc]):
        (-[WebBackForwardList init]):
        (-[WebBackForwardList dealloc]):
        (-[WebBackForwardList goBack]):
        (-[WebBackForwardList goForward]):
        (-[WebBackForwardList goToItem:]):
        (-[WebBackForwardList backItem]):
        (-[WebBackForwardList currentItem]):
        (-[WebBackForwardList forwardItem]):
        (-[WebBackForwardList containsItem:]):
        (-[WebBackForwardList maximumSize]):
        (-[WebBackForwardList setMaximumSize:]):
        (-[WebBackForwardList description]):
        (-[WebBackForwardList clearPageCache]):
        (-[WebBackForwardList setPageCacheSize:]):
        (-[WebBackForwardList pageCacheSize]):
        (-[WebBackForwardList setUsesPageCache:]):
        (-[WebBackForwardList usesPageCache]):
        (-[WebBackForwardList backListCount]):
        (-[WebBackForwardList forwardListCount]):
        (-[WebBackForwardList itemAtIndex:]):
        * History.subproj/WebHistory.h:
        * History.subproj/WebHistory.m:
        (-[_WebCoreHistoryProvider containsItemForURLString:]):
        (+[WebHistory setSharedHistory:]):
        (-[WebHistory addItemForURL:]):
        (-[WebHistory addItem:]):
        (-[WebHistory removeItem:]):
        (-[WebHistory removeItems:]):
        (-[WebHistory removeAllItems]):
        (-[WebHistory addItems:]):
        (-[WebHistory orderedItemsLastVisitedOnDay:]):
        (-[WebHistory containsItemForURLString:]):
        (-[WebHistory itemForURL:]):
        * History.subproj/WebHistoryItem.h:
        * History.subproj/WebHistoryPrivate.h:
        * History.subproj/WebHistoryPrivate.m:
        (-[WebHistoryPrivate insertItem:atDateIndex:]):
        (-[WebHistoryPrivate removeItemForURLString:]):
        (-[WebHistoryPrivate addItem:]):
        (-[WebHistoryPrivate removeItem:]):
        (-[WebHistoryPrivate removeItems:]):
        (-[WebHistoryPrivate removeAllItems]):
        (-[WebHistoryPrivate addItems:]):
        (-[WebHistoryPrivate orderedItemsLastVisitedOnDay:]):
        (-[WebHistoryPrivate containsItemForURLString:]):
        (-[WebHistoryPrivate itemForURL:]):
        (-[WebHistoryPrivate _loadHistoryGuts:]):
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge goBackOrForward:]):
        * WebKit.exp:
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _setTitle:]):
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _addBackForwardItemClippedAtTarget:]):
        (-[WebFrame _transitionToCommitted:]):
        (-[WebFrame _canCachePage]):
        (-[WebFrame _purgePageCache]):
        (-[WebFrame _goToItem:withLoadType:]):
        (-[WebFrame _resetBackForwardListToCurrent]):
        * WebView.subproj/WebLocationChangeDelegate.h:
        * WebView.subproj/WebResourceLoadDelegate.h:
        * WebView.subproj/WebView.h:
        * WebView.subproj/WebView.m:
        (-[WebView _commonInitialization:frameName:groupName:]):
        (-[WebView setMaintainsBackForwardList:]):
        (-[WebView goBack]):
        (-[WebView goForward]):

2003-03-20  Chris Blumenberg  <cblu@apple.com>

        Properly handle file URL directory errors.

        Reviewed by trey.

        * Misc.subproj/WebIconDatabase.m:
        (-[WebIconDatabase _iconForFileURL:withSize:]): when file URL has no path, return generic file icon
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient interruptForPolicyChangeError]): set the URL, don't set it to nil!

2003-03-20  Vicki Murley  <vicki@apple.com>

        don't include WebFoundation.h

        Reviewed by cblu.

        * Plugins.subproj/WebBaseNetscapePluginStream.m:
        * Plugins.subproj/WebNetscapePluginRepresentation.m:
        * Plugins.subproj/WebNetscapePluginStream.m:

=== Safari-68 ===

2003-03-20  Darin Adler  <darin@apple.com>

        * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.

2003-03-19  Ed Voas  voas@apple.com

        Reviewed by Richard.

        React to WebView API changes. Redo HIWebView API.

        * Carbon.subproj/HIWebView.h:
        * Carbon.subproj/HIWebView.m:
        (if):
        (switch):
        * Carbon.subproj/HIWebViewPriv.h: Removed.
        * WebKit.exp:
        * WebKit.pbproj/project.pbxproj:

2003-03-19  Richard Williamson   <rjw@apple.com>

        Removed initWithView:* constructors from WebView.
        New designated initializer for WebView is initWithFrame:frameName:groupName:
        
        Reviewed by cblu & ed.

        * Carbon.subproj/HIWebView.m:
        * WebView.subproj/WebView.h:
        * WebView.subproj/WebView.m:
        (-[WebView init]):
        (-[WebView initWithFrame:]):

2003-03-19  Richard Williamson   <rjw@apple.com>

        Rename WebControllerPolicyDelegate*.[hm] to WebPolicyDelegate*.[hm]
        
        Reviewed by trey.

        * API-Issues.rtf:
        * Misc.subproj/WebKit.h:
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebControllerPolicyDelegate.h: Removed.
        * WebView.subproj/WebControllerPolicyDelegate.m: Removed.
        * WebView.subproj/WebControllerPolicyDelegatePrivate.h: Removed.
        * WebView.subproj/WebDataSourcePrivate.m:
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebFramePrivate.m:
        * WebView.subproj/WebFrameView.h:
        * WebView.subproj/WebHTMLViewPrivate.m:
        * WebView.subproj/WebMainResourceClient.m:
        * WebView.subproj/WebPolicyDelegate.m:
        * WebView.subproj/WebPolicyDelegatePrivate.h:
        * WebView.subproj/WebView.m:
        * WebView.subproj/WebViewPrivate.h:

2003-03-19  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed 3202780 -- REGRESSION: progress bar, stop button, both get stuck in "loading" state (bartsoft.com)

        * WebView.subproj/WebDataSource.m: (-[WebDataSource isLoading]):
        Add back the "is this page complete" check, so that subresource loads don't make us
        think we're loading again, once the page is complete. On the other hand, frames
        must still be checked independent of the "is this page complete" flag to avoid
        reintroducing bug 3200611.

2003-03-19  Ed Voas  voas@apple.com

        Reviewed by Richard.

        Got it working in non-compositing mode as well, so in theory it
        can work inside a PowerPlant application as well. It's a bit of what
        I'd consider a hack, but it's pretty straightforward.

        * Carbon.subproj/CarbonWindowAdapter.m:
        (-[CarbonWindowAdapter setViewsNeedDisplay:]):
        * Carbon.subproj/HIViewAdapter.h:
        * Carbon.subproj/HIViewAdapter.m:
        (+[HIViewAdapter bindHIViewToNSView:nsView:]):
        (-[HIViewAdapter setNeedsDisplay:]):
        (-[HIViewAdapter setNeedsDisplayInRect:]):
        (SetViewNeedsDisplay):
        * Carbon.subproj/HIWebView.m:
        (if):

2003-03-18  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Trey.

        - fixed 3127431 - bring the window with the named frame to the front

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge focusWindow]): Tell the window operations delegate to focus.
        (-[WebBridge loadURL:referrer:reload:target:triggeringEvent:form:formValues:]):
        If this navigation is meant for a different frame, focus its window.
        (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
        Likewise.

2003-03-18  Trey Matteson  <trey@apple.com>

        3077223 full keyboard UI navigation fails in authentication sheet

        Hook up the views in this panel into a useful nextKeyView cycle.

        Reviewed by Maciej.

        * Panels.subproj/English.lproj/WebAuthenticationPanel.nib:

2003-03-17  Trey Matteson  <trey@apple.com>

        Support for saving passwords on forms-based logins.  Biggest change is that
        the willSubmitForm: message is async to allow a sheet to be presented.

        Also fixed @interface.*{ so prepare-change-log can swallow WebFramePrivate.m.

        Reviewed by Maciej.

        * WebView.subproj/WebControllerPolicyDelegate.m:
        (-[WebPolicyDecisionListener continue]):  The decision listener also
        implements WebFormSubmissionListener, to share some other impl.
        * WebView.subproj/WebControllerPolicyDelegatePrivate.h:
        * WebView.subproj/WebFormDelegate.h:
        * WebView.subproj/WebFormDelegate.m:
        (-[WebFormDelegate frame:willSubmitForm:withValues:submissionListener:]):
        Take listener param for async API.
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
        Latent bug.  Don't call willSubmitForm if no values are being submitted.
        (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
        Latent bug.  Don't call willSubmitForm if no values are being submitted.
        (-[WebFrame _continueAfterWillSubmitForm:]):
        Continuation code for after FormDelegate is done with willSubmitForm.
        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
        Pass new listener arg to willSubmitForm.
        * WebView.subproj/WebHTMLRepresentation.h:
        * WebView.subproj/WebHTMLRepresentation.m:
        Nuke deadwood formIsLoginForm.
        (-[WebHTMLRepresentation elementIsPassword:]):  Just pass through glue
        over the bridge.

2003-03-18  Richard Williamson   <rjw@apple.com>

        Another rename WebController*.[hm] to WebView*.[hm]
        
        Reviewed by darin.

        * Carbon.subproj/HIWebView.h:
        * Misc.subproj/WebKit.h:
        * Misc.subproj/WebNSPasteboardExtras.m:
        * Panels.subproj/WebStandardPanelsPrivate.h:
        * Plugins.subproj/WebBaseNetscapePluginView.m:
        * Plugins.subproj/WebNetscapePluginDocumentView.m:
        * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
        * Plugins.subproj/WebNetscapePluginStream.m:
        * Plugins.subproj/WebNullPluginView.m:
        * Plugins.subproj/WebPluginController.m:
        * WebCoreSupport.subproj/WebBridge.m:
        * WebCoreSupport.subproj/WebSubresourceClient.m:
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        * WebView.subproj/WebController.h: Removed.
        * WebView.subproj/WebController.m: Removed.
        * WebView.subproj/WebControllerPrivate.h: Removed.
        * WebView.subproj/WebControllerPrivate.m: Removed.
        * WebView.subproj/WebDataSource.m:
        * WebView.subproj/WebDataSourcePrivate.m:
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        * WebView.subproj/WebDefaultPolicyDelegate.m:
        * WebView.subproj/WebDefaultResourceLoadDelegate.m:
        * WebView.subproj/WebDefaultWindowOperationsDelegate.m:
        * WebView.subproj/WebFrame.m:
        * WebView.subproj/WebFramePrivate.m:
        * WebView.subproj/WebFrameView.m:
        * WebView.subproj/WebFrameViewPrivate.m:
        * WebView.subproj/WebHTMLView.m:
        * WebView.subproj/WebHTMLViewPrivate.m:
        * WebView.subproj/WebImageView.m:
        * WebView.subproj/WebMainResourceClient.m:
        * WebView.subproj/WebTextView.m:
        * WebView.subproj/WebView.h:
        * WebView.subproj/WebView.m:
        * WebView.subproj/WebViewPrivate.h:
        * WebView.subproj/WebViewPrivate.m:

2003-03-18  Richard Williamson   <rjw@apple.com>

        Renamed WebView*.[hm] to WebFrameView*.[hm]
        
        * Misc.subproj/WebKit.h:
        * Misc.subproj/WebNSViewExtras.m:
        * Panels.subproj/WebStandardPanels.m:
        * Plugins.subproj/WebBaseNetscapePluginView.m:
        * Plugins.subproj/WebNetscapePluginDocumentView.m:
        * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
        * Plugins.subproj/WebNetscapePluginRepresentation.m:
        * Plugins.subproj/WebNullPluginView.m:
        * Plugins.subproj/WebPluginController.m:
        * Plugins.subproj/WebPluginDatabase.m:
        * WebCoreSupport.subproj/WebBridge.m:
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebController.m:
        * WebView.subproj/WebControllerPrivate.m:
        * WebView.subproj/WebDataSourcePrivate.m:
        * WebView.subproj/WebDebugDOMNode.m:
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        * WebView.subproj/WebFrame.m:
        * WebView.subproj/WebFramePrivate.m:
        * WebView.subproj/WebFrameView.m:
        * WebView.subproj/WebFrameViewPrivate.h:
        * WebView.subproj/WebFrameViewPrivate.m:
        * WebView.subproj/WebHTMLView.m:
        * WebView.subproj/WebHTMLViewPrivate.m:
        * WebView.subproj/WebImageView.m:
        * WebView.subproj/WebMainResourceClient.m:
        * WebView.subproj/WebRenderNode.m:
        * WebView.subproj/WebTextView.m:
        * WebView.subproj/WebView.h: Removed.
        * WebView.subproj/WebView.m: Removed.
        * WebView.subproj/WebViewPrivate.h: Removed.
        * WebView.subproj/WebViewPrivate.m: Removed.

2003-03-18  Richard Williamson   <rjw@apple.com>

        Stage 2 of WebController to WebView renaming.
        
        Reviewed by hyatt.

        * API-Issues.rtf:
        * Carbon.subproj/HIWebView.h:
        * Carbon.subproj/HIWebView.m:
        * Misc.subproj/WebNSPasteboardExtras.m:
        (-[NSPasteboard _web_bestURL]):
        * Panels.subproj/WebStandardPanels.m:
        (-[WebStandardPanels _didStartLoadingURL:inController:]):
        (-[WebStandardPanels _didStopLoadingURL:inController:]):
        (-[WebStandardPanels frontmostWindowLoadingURL:]):
        * Panels.subproj/WebStandardPanelsPrivate.h:
        * Plugins.subproj/WebBaseNetscapePluginView.h:
        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView controller]):
        (-[WebBaseNetscapePluginView loadPluginRequest:]):
        * Plugins.subproj/WebNetscapePluginDocumentView.m:
        (-[WebNetscapePluginDocumentView setDataSource:]):
        * Plugins.subproj/WebNetscapePluginRepresentation.m:
        (-[WebNetscapePluginRepresentation isPluginViewStarted]):
        (-[WebNetscapePluginRepresentation receivedData:withDataSource:]):
        * Plugins.subproj/WebNullPluginView.m:
        (-[WebNullPluginView viewDidMoveToWindow]):
        * Plugins.subproj/WebPluginController.m:
        (-[WebPluginController showStatus:]):
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge mainFrame]):
        (-[WebBridge createWindowWithURL:frameName:]):
        (-[WebBridge showWindow]):
        (-[WebBridge areToolbarsVisible]):
        (-[WebBridge setToolbarsVisible:]):
        (-[WebBridge areScrollbarsVisible]):
        (-[WebBridge setScrollbarsVisible:]):
        (-[WebBridge isStatusBarVisible]):
        (-[WebBridge setStatusBarVisible:]):
        (-[WebBridge setWindowFrame:]):
        (-[WebBridge window]):
        (-[WebBridge runJavaScriptAlertPanelWithMessage:]):
        (-[WebBridge runJavaScriptConfirmPanelWithMessage:]):
        (-[WebBridge runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]):
        (-[WebBridge runOpenPanelForFileButtonWithResultListener:]):
        (-[WebBridge setStatusText:]):
        (-[WebBridge objectLoadedFromCacheWithURL:response:size:]):
        (-[WebBridge setWebFrame:]):
        (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]):
        (-[WebBridge userAgentForURL:]):
        (-[WebBridge nextKeyViewOutsideWebFrameViews]):
        (-[WebBridge previousKeyViewOutsideWebFrameViews]):
        (-[WebBridge defersLoading]):
        (-[WebBridge setDefersLoading:]):
        (-[WebBridge setNeedsReapplyStyles]):
        (-[WebBridge setNeedsLayout]):
        (-[WebBridge pluginViewWithPackage:attributes:baseURL:]):
        (-[WebBridge handleMouseDragged:]):
        (-[WebBridge mayStartDragWithMouseDragged:]):
        (-[WebBridge historyLength]):
        (-[WebBridge goBackOrForward:]):
        (formDelegate):
        * WebCoreSupport.subproj/WebSubresourceClient.m:
        (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
        * WebKit.exp:
        * WebView.subproj/WebBaseResourceHandleDelegate.h:
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate resource:willSendRequest:]):
        (-[WebBaseResourceHandleDelegate resource:didReceiveResponse:]):
        (-[WebBaseResourceHandleDelegate resource:didReceiveData:]):
        (-[WebBaseResourceHandleDelegate resourceDidFinishLoading:]):
        (-[WebBaseResourceHandleDelegate resource:didFailLoadingWithError:]):
        (-[WebBaseResourceHandleDelegate cancelWithError:]):
        * WebView.subproj/WebContextMenuDelegate.h:
        * WebView.subproj/WebController.h:
        * WebView.subproj/WebController.m:
        (-[WebView _commonInitialization:frameName:groupName:]):
        (-[WebView initWithFrame:]):
        (-[WebView supportsTextEncoding]):
        (-[WebView userAgentForURL:]):
        * WebView.subproj/WebControllerPolicyDelegate.h:
        * WebView.subproj/WebControllerPrivate.h:
        * WebView.subproj/WebControllerPrivate.m:
        (-[WebViewPrivate _clearControllerReferences:]):
        (+[WebView canShowFile:]):
        (+[WebView suggestedFileExtensionForMIMEType:]):
        (-[WebView _createFrameNamed:inParent:allowsScrolling:]):
        (-[WebView _findFrameNamed:]):
        (-[WebView _openNewWindowWithRequest:]):
        (-[WebView _menuForElement:]):
        (-[WebView _mouseDidMoveOverElement:modifierFlags:]):
        (-[WebView _frameForView:fromFrame:]):
        * WebView.subproj/WebControllerSets.h:
        * WebView.subproj/WebControllerSets.m:
        (+[WebControllerSets addController:toSetNamed:]):
        (+[WebControllerSets removeController:fromSetNamed:]):
        * WebView.subproj/WebDataSource.h:
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _controller]):
        (-[WebDataSource _setController:]):
        (-[WebDataSource _startLoading:]):
        (-[WebDataSource _setTitle:]):
        (-[WebDataSource _setRequest:]):
        (-[WebDataSource _layoutChildren]):
        (+[WebDataSource _repTypes]):
        (-[WebDataSource _receivedData:]):
        (-[WebDataSource _updateIconDatabaseWithURL:]):
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultContextMenuDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
        (-[WebDefaultContextMenuDelegate openNewWindowWithURL:]):
        (-[WebDefaultContextMenuDelegate downloadURL:]):
        * WebView.subproj/WebDefaultLocationChangeDelegate.m:
        (-[WebDefaultLocationChangeDelegate webView:locationChangeStartedForDataSource:]):
        (-[WebDefaultLocationChangeDelegate webView:serverRedirectedForDataSource:]):
        (-[WebDefaultLocationChangeDelegate webView:locationChangeCommittedForDataSource:]):
        (-[WebDefaultLocationChangeDelegate webView:receivedPageTitle:forDataSource:]):
        (-[WebDefaultLocationChangeDelegate webView:receivedPageIcon:forDataSource:]):
        (-[WebDefaultLocationChangeDelegate webView:locationChangeDone:forDataSource:]):
        (-[WebDefaultLocationChangeDelegate webView:willCloseLocationForDataSource:]):
        (-[WebDefaultLocationChangeDelegate webView:locationChangedWithinPageForDataSource:]):
        (-[WebDefaultLocationChangeDelegate webView:clientWillRedirectTo:delay:fireDate:forFrame:]):
        (-[WebDefaultLocationChangeDelegate webView:clientRedirectCancelledForFrame:]):
        * WebView.subproj/WebDefaultPolicyDelegate.m:
        (-[WebDefaultPolicyDelegate webView:unableToImplementPolicyWithError:inFrame:]):
        (-[WebDefaultPolicyDelegate webView:decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]):
        (-[WebDefaultPolicyDelegate webView:decideNewWindowPolicyForAction:andRequest:newFrameName:decisionListener:]):
        * WebView.subproj/WebDefaultResourceLoadDelegate.m:
        (-[WebDefaultResourceLoadDelegate webView:identifierForInitialRequest:fromDataSource:]):
        (-[WebDefaultResourceLoadDelegate webView:resource:willSendRequest:fromDataSource:]):
        (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveResponse:fromDataSource:]):
        (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveContentLength:fromDataSource:]):
        (-[WebDefaultResourceLoadDelegate webView:resource:didFinishLoadingFromDataSource:]):
        (-[WebDefaultResourceLoadDelegate webView:resource:didFailLoadingWithError:fromDataSource:]):
        (-[WebDefaultResourceLoadDelegate webView:pluginFailedWithError:dataSource:]):
        * WebView.subproj/WebDefaultWindowOperationsDelegate.m:
        (-[WebDefaultWindowOperationsDelegate webView:runJavaScriptConfirmPanelWithMessage:]):
        (-[WebDefaultWindowOperationsDelegate webView:runJavaScriptTextInputPanelWithPrompt:defaultText:]):
        (-[WebDefaultWindowOperationsDelegate webView:runOpenPanelForFileButtonWithResultListener:]):
        * WebView.subproj/WebFrame.h:
        * WebView.subproj/WebFrame.m:
        (-[WebFrame init]):
        (-[WebFrame initWithName:webFrameView:webView:]):
        (-[WebFrame frameView]):
        (-[WebFrame webView]):
        (-[WebFrame findFrameNamed:]):
        (+[WebFrame registerViewClass:representationClass:forMIMEType:]):
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebFramePrivate.m:
        (if):
        (switch):
        * WebView.subproj/WebHTMLView.h:
        * WebView.subproj/WebHTMLViewPrivate.h:
        * WebView.subproj/WebHTMLViewPrivate.m:
        (-[WebHTMLView _controller]):
        * WebView.subproj/WebImageView.m:
        (-[WebImageView controller]):
        (-[WebImageView menuForEvent:]):
        * WebView.subproj/WebLocationChangeDelegate.h:
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient continueAfterContentPolicy:response:]):
        (-[WebMainResourceClient checkContentPolicyForResponse:]):
        * WebView.subproj/WebResourceLoadDelegate.h:
        * WebView.subproj/WebTextView.m:
        (-[WebTextView menuForEvent:]):
        * WebView.subproj/WebView.h:
        * WebView.subproj/WebView.m:
        (-[WebFrameView setAllowsScrolling:]):
        (-[WebFrameView allowsScrolling]):
        (-[WebFrameView scrollView]):
        (-[WebFrameView documentView]):
        (-[WebFrameView drawRect:]):
        (-[WebFrameView setFrameSize:]):
        * WebView.subproj/WebViewPrivate.h:
        * WebView.subproj/WebViewPrivate.m:
        (-[WebFrameView _controller]):
        (-[WebFrameView _setDocumentView:]):
        (-[WebFrameView _setController:]):
        (-[WebFrameView _contentView]):
        (-[WebFrameView _verticalKeyboardScrollAmount]):
        (-[WebFrameView _horizontalKeyboardScrollAmount]):
        (-[WebFrameView _scrollToBottomLeft]):
        (+[WebFrameView _viewTypes]):
        * WebView.subproj/WebWindowOperationsDelegate.h:

2003-03-18  Darin Adler  <darin@apple.com>

        Reviewed by Richard.

        - fixed 3187143 -- when a font-family has many variants, Safari chooses the wrong one

        * WebCoreSupport.subproj/WebTextRendererFactory.m:
        (-[WebTextRendererFactory fontWithFamily:traits:size:]):
        Changed the algorithm here in two ways. 1) Pick the family member with matching traits that has
        a weight closest to 5, the standard weight; the old code picked the first family member with
        matching traits. 2) Match traits based on a mask of which traits are the important ones. The old
        code matched traits based on a rule of "if the trait bit is 1 it matters, otherwise don't care".

2003-03-18  Darin Adler  <darin@apple.com>

        Reviewed by Richard.

        - fixed 3194756 -- REGRESSION: Geneva bold yields Geneva plain, used to yield Helvetica bold (apple.com)

        * WebCoreSupport.subproj/WebTextRendererFactory.m:
        (-[WebTextRendererFactory fontWithFamily:traits:size:]):
        Remove the first call to NSFontManager before we do our searching algorithm.
        We always need to do the searching, because NSFontManager uses a different set of rules.

2003-03-17  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3200647 - File I/O related download errors just says "error"
        Reviewed by darin.

        * Downloads.subproj/WebDownload.m:
        (+[WebDownloadPrivate initialize]): call _registerWebKitErrors
        * English.lproj/Localizable.strings:
        * Misc.subproj/WebKitErrors.h: cleaned-up, removed unused errors
        * Misc.subproj/WebKitErrors.m:
        (+[WebError _registerWebKitErrors]):
        (registerErrors):
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebView.m:
        (+[WebFrameView initialize]): call _registerWebKitErrors

2003-03-17  Darin Adler  <darin@apple.com>

        Reviewed by Chris and Richard.

        - fixed 3200611 -- Progress indicator in tabs not shown for subframe loads

        * WebView.subproj/WebDataSource.m: (-[WebDataSource isLoading]):
        Remove the early out for when we're in the WebFrameStateComplete state.
        The top frame being complete does not really tell us anything about whether subframes
        are complete, especially since they can have their locations changed without affecting
        the top level frame at all.

        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.

2003-03-17  Chris Blumenberg  <cblu@apple.com>

        Made data categories use the "_web_" prefix.

        Reviewed by darin.

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]):
        (-[NSData _web_startsWithBlankLine]):
        (-[NSData _web_locationAfterFirstBlankLine]):

2003-03-17  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3199105 - Accept carbon-style file URLs from plug-in POST requests
        Fixed: 3148767 - POST (aka Flash Remoting) doesn't work from Flash

        Reviewed by kocienda.

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]): parse headers, handle carbon POSIX paths
        (-[WebBaseNetscapePluginView postURLNotify:target:len:buf:file:notifyData:]): call _postURLNotify
        (-[WebBaseNetscapePluginView postURL:target:len:buf:file:]): call _postURLNotify
        (-[NSData startsWithBlankLine]): new
        (-[NSData locationAfterFirstBlankLine]): new

2003-03-17  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        - fixed 3200259 - REGRESSION: Clicking on Flash links at homestarrunner.com creates blank windows

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView loadPluginRequest:]): Don't always
        make the window, only do it if the frame doesn't already
        exist. Duh.

2003-03-17  Darin Adler  <darin@apple.com>

        Reviewed by Trey and Maciej.

        - fixed 3199154 -- REGRESSION: world leaks on any page load test

        * WebView.subproj/WebController.m: (-[WebController initWithView:frameName:groupName:]):
        Call through to initWithFrame, the designated initializer, not init. Calling [super init] results
        in calling our initWithFrame method, resulting in two calls to the _commonInitialization method.

2003-03-17  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Trey.

        Adjusted for WebFoundation API changes.
        * Panels.subproj/WebAuthenticationPanel.m:
        (-[WebAuthenticationPanel setUpForRequest:]):

2003-03-17  Darin Adler  <darin@apple.com>

        * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.

2003-03-17  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3199951 - Standalone plug-in content that is cancelled doesn't restart when switching tabs

        Instead of creating and managing resourceData in WebMainResourceClient then passing the ownership to WebDataSource, just manage it in WebDataSource. We had the prior behavior because we didn't buffer downloads. Now, we always buffer. The fix for the bug 






is to retain the incomplete data even though the load ends in error.

        Reviewed by darin.

        * WebView.subproj/WebDataSource.h: updated headerdoc for the data method
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource data]): just return resourceData
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _receivedData:]): create resourceData if necessary, append data to it.
        * WebView.subproj/WebMainResourceClient.h:
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient initWithDataSource:]): don't work with resourceData
        (-[WebMainResourceClient dealloc]): don't work with resourceData
        (-[WebMainResourceClient resource:didReceiveData:]): don't work with resourceData
        (-[WebMainResourceClient resourceDidFinishLoading:]): don't work with resourceData

2003-03-16  Trey Matteson  <trey@apple.com>

        3198135 - need to fix our projects so SYMROOT is not stripped

        Tweaked stripping options:  B&I build does not COPY_PHASE_STRIP.
        Deployment build still does.
        We strip manually as part of the install that we do ourselves.

        Reviewed by Maciej.

        * WebKit.pbproj/project.pbxproj:

2003-03-14  Chris Blumenberg  <cblu@apple.com>

        Backed out changes to WebBaseNetscapePluginView. Unintentional commit.

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView postURLNotify:target:len:buf:file:notifyData:]):
        (-[WebBaseNetscapePluginView postURL:target:len:buf:file:]):

2003-03-14  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3198961 - REGRESSION: Stopping load of plug-in content is not reflected in UI

        Reviewed by mjs.

        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient cancelWithError:]): call receivedError so [dataSource _receivedError:error complete:YES] is called

2003-03-14  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Don.

        - revert premature controller --> webView renaming, it's causing
        problems with window opening and such.
        * WebView.subproj/WebDefaultWindowOperationsDelegate.m:

2003-03-14  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3197872 - Standalone plug-in content isn't restarted when switching tabs
        Fixed: 3189675 - assertion in plug-in code fails (nil window) with .swf page displaying standalone in a tab

        We start plug-ins when they are added to the window and stop them when they are removed. To restart a plug-in, the data stream must be redelivered. This works in the embedded plug-in case, but in the standalone plug-in case, the stream is delivered by th






e machinery in WebKit. The stream is only delivered once. This fix addresses that.

        Reviewed by trey.

        * Plugins.subproj/WebBaseNetscapePluginStream.m:
        (-[WebBaseNetscapePluginStream setResponse:]): reset the offset ivar
        (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): If we create a file for the plug-in, handle the case where the file is already created.
        * Plugins.subproj/WebBaseNetscapePluginView.h:
        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView isStarted]): added so the stream knows the state of the view
        * Plugins.subproj/WebNetscapePluginDocumentView.m:
        (-[WebNetscapePluginDocumentView initWithFrame:]): tweak
        (-[WebNetscapePluginDocumentView viewDidMoveToWindow]): call redeliverStream if we are added back to the window
        (-[WebNetscapePluginDocumentView setDataSource:]): only start the plug-in if we are in a window, don't assert
        * Plugins.subproj/WebNetscapePluginRepresentation.h:
        * Plugins.subproj/WebNetscapePluginRepresentation.m:
        (-[WebNetscapePluginRepresentation dealloc]): release the retained data source and error
        (-[WebNetscapePluginRepresentation setDataSource:]): retain the data source
        (-[WebNetscapePluginRepresentation isPluginViewStarted]): new 
        (-[WebNetscapePluginRepresentation receivedData:withDataSource:]): only do work if isPluginViewStarted
        (-[WebNetscapePluginRepresentation receivedError:withDataSource:]): retain the error, only do work if isPluginViewStarted
        (-[WebNetscapePluginRepresentation finishedLoadingWithDataSource:]): only do work if isPluginViewStarted
        (-[WebNetscapePluginRepresentation redeliverStream]): call receivedData:: with all the received data up to this point. Call receivedError:: or finishedLoadingWithDataSource: if the load is already complete.

2003-03-13  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Trey.

        - fixed 3188209 - REGRESSION: onmouseup handlers not running for most form elements

        * WebCoreSupport.subproj/WebFileButton.m:
        (-[WebFileButton chooseButtonPressed:]): Send appropriate NSNotification. 
        * WebView.subproj/WebHTMLViewPrivate.m:
        (-[WebNSTextView mouseDown:]): Call fieldEditorDidMouseDown: on
        delegate, if implemented, after calling super.

2003-03-13  Richard Williamson   <rjw@apple.com>

        First stage of the WebController -> WebView, WebView -> WebFrameView.
        This change does the WebView -> WebFrameView part of the change.  Also
        changes WebController's inheritance.  It now inherits from NSView.  Also
        added some simple action methods to WebController (soon to be WebView)
        to facilitate IB hookup.
        
        Reviewed by Maciej.

        * Carbon.subproj/CarbonWindowAdapter.m:
        * Carbon.subproj/HIWebView.h:
        * Carbon.subproj/HIWebView.m:
        (if):
        (switch):
        * Carbon.subproj/HIWebViewPriv.h:
        * Misc.subproj/WebKitStatistics.m:
        (+[WebKitStatistics viewCount]):
        * Misc.subproj/WebKitStatisticsPrivate.h:
        * Misc.subproj/WebNSViewExtras.h:
        * Misc.subproj/WebNSViewExtras.m:
        (-[NSView _web_parentWebFrameView]):
        * Panels.subproj/WebStandardPanels.m:
        (-[WebStandardPanels frontmostWindowLoadingURL:]):
        * Plugins.subproj/WebNetscapePluginDocumentView.m:
        (-[WebNetscapePluginDocumentView layout]):
        * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
        (-[WebNetscapePluginEmbeddedView dataSource]):
        * Plugins.subproj/WebNetscapePluginRepresentation.m:
        (-[WebNetscapePluginRepresentation receivedData:withDataSource:]):
        * Plugins.subproj/WebNullPluginView.m:
        (-[WebNullPluginView viewDidMoveToWindow]):
        * Plugins.subproj/WebPluginDatabase.m:
        (-[WebPluginDatabase init]):
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge areScrollbarsVisible]):
        (-[WebBridge setScrollbarsVisible:]):
        (-[WebBridge window]):
        (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]):
        (-[WebBridge nextKeyViewOutsideWebFrameViews]):
        (-[WebBridge previousKeyViewOutsideWebFrameViews]):
        (-[WebBridge setNeedsReapplyStyles]):
        (-[WebBridge setNeedsLayout]):
        (-[WebBridge pluginViewWithPackage:attributes:baseURL:]):
        (-[WebBridge frameRequiredForMIMEType:]):
        (-[WebBridge handleMouseDragged:]):
        (-[WebBridge mayStartDragWithMouseDragged:]):
        * WebKit.exp:
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebController.h:
        * WebView.subproj/WebController.m:
        (+[WebContentTypes canShowMIMEType:]):
        (-[WebController _commonInitialization:frameName:groupName:]):
        (-[WebController init]):
        (-[WebController initWithFrame:]):
        (-[WebController initWithView:]):
        (-[WebController supportsTextEncoding]):
        (-[WebController takeStringURLFrom:]):
        (-[WebController goBack:]):
        (-[WebController goForward:]):
        (-[WebController stopLoading:]):
        * WebView.subproj/WebControllerPrivate.h:
        * WebView.subproj/WebControllerPrivate.m:
        (-[WebControllerPrivate _clearControllerReferences:]):
        (-[WebController _createFrameNamed:inParent:allowsScrolling:]):
        (-[WebController _frameForView:fromFrame:]):
        (-[WebController _frameForView:]):
        * WebView.subproj/WebDataSource.m:
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _layoutChildren]):
        (-[WebDataSource _receivedData:]):
        * WebView.subproj/WebDebugDOMNode.h:
        * WebView.subproj/WebDebugDOMNode.m:
        (-[WebDebugDOMNode initWithWebFrameView:]):
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultContextMenuDelegate controller:contextMenuItemsForElement:defaultMenuItems:]):
        * WebView.subproj/WebDefaultLocationChangeDelegate.m:
        (-[WebDefaultLocationChangeDelegate controller:locationChangeStartedForDataSource:]):
        (-[WebDefaultLocationChangeDelegate controller:serverRedirectedForDataSource:]):
        (-[WebDefaultLocationChangeDelegate controller:locationChangeCommittedForDataSource:]):
        (-[WebDefaultLocationChangeDelegate controller:receivedPageTitle:forDataSource:]):
        (-[WebDefaultLocationChangeDelegate controller:receivedPageIcon:forDataSource:]):
        (-[WebDefaultLocationChangeDelegate controller:locationChangeDone:forDataSource:]):
        (-[WebDefaultLocationChangeDelegate controller:willCloseLocationForDataSource:]):
        (-[WebDefaultLocationChangeDelegate controller:locationChangedWithinPageForDataSource:]):
        (-[WebDefaultLocationChangeDelegate controller:clientWillRedirectTo:delay:fireDate:forFrame:]):
        (-[WebDefaultLocationChangeDelegate controller:clientRedirectCancelledForFrame:]):
        * WebView.subproj/WebDefaultPolicyDelegate.m:
        (-[WebDefaultPolicyDelegate controller:unableToImplementPolicyWithError:inFrame:]):
        (-[WebDefaultPolicyDelegate controller:decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]):
        (-[WebDefaultPolicyDelegate controller:decideNewWindowPolicyForAction:andRequest:newFrameName:decisionListener:]):
        * WebView.subproj/WebDefaultResourceLoadDelegate.m:
        (-[WebDefaultResourceLoadDelegate controller:identifierForInitialRequest:fromDataSource:]):
        (-[WebDefaultResourceLoadDelegate controller:resource:willSendRequest:fromDataSource:]):
        (-[WebDefaultResourceLoadDelegate controller:resource:didReceiveResponse:fromDataSource:]):
        (-[WebDefaultResourceLoadDelegate controller:resource:didReceiveContentLength:fromDataSource:]):
        (-[WebDefaultResourceLoadDelegate controller:resource:didFinishLoadingFromDataSource:]):
        (-[WebDefaultResourceLoadDelegate controller:resource:didFailLoadingWithError:fromDataSource:]):
        (-[WebDefaultResourceLoadDelegate controller:pluginFailedWithError:dataSource:]):
        * WebView.subproj/WebDefaultWindowOperationsDelegate.m:
        (-[WebDefaultWindowOperationsDelegate controller:runJavaScriptConfirmPanelWithMessage:]):
        (-[WebDefaultWindowOperationsDelegate controller:runJavaScriptTextInputPanelWithPrompt:defaultText:]):
        (-[WebDefaultWindowOperationsDelegate controller:runOpenPanelForFileButtonWithResultListener:]):
        * WebView.subproj/WebDocument.h:
        * WebView.subproj/WebDynamicScrollBarsView.m:
        * WebView.subproj/WebFrame.h:
        * WebView.subproj/WebFrame.m:
        (-[WebFrame init]):
        (-[WebFrame initWithName:webFrameView:controller:]):
        (-[WebFrame view]):
        (+[WebFrame registerViewClass:representationClass:forMIMEType:]):
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebFramePrivate.m:
        (if):
        (switch):
        * WebView.subproj/WebHTMLView.h:
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]):
        (-[WebHTMLView draggedImage:endedAt:operation:]):
        (-[WebHTMLView becomeFirstResponder]):
        * WebView.subproj/WebHTMLViewPrivate.m:
        (-[WebHTMLView _controller]):
        (-[WebHTMLView _frame]):
        (-[WebHTMLView _elementAtPoint:]):
        * WebView.subproj/WebImageView.m:
        (-[WebImageView controller]):
        (-[WebImageView menuForEvent:]):
        (-[WebImageView mouseDragged:]):
        (-[WebImageView draggedImage:endedAt:operation:]):
        * WebView.subproj/WebLocationChangeDelegate.h:
        * WebView.subproj/WebRenderNode.h:
        * WebView.subproj/WebRenderNode.m:
        (-[WebRenderNode initWithName:position:rect:view:children:]):
        (-[WebRenderNode initWithWebFrameView:]):
        * WebView.subproj/WebResourceLoadDelegate.h:
        * WebView.subproj/WebTextView.m:
        (-[WebTextView menuForEvent:]):
        * WebView.subproj/WebView.h:
        * WebView.subproj/WebView.m:
        (-[WebFrameView initWithFrame:]):
        (-[WebFrameView dealloc]):
        * WebView.subproj/WebViewPrivate.h:
        * WebView.subproj/WebViewPrivate.m:
        * WebView.subproj/WebWindowOperationsDelegate.h:

2003-03-13  John Sullivan  <sullivan@apple.com>

        Reviewed by Trey.

        * English.lproj/StringsNotToBeLocalized.txt:
        Removed all the bookmarks-related strings that I forgot
        to remove in my previous checkin.

2003-03-13  John Sullivan  <sullivan@apple.com>

        Removed all the bookmarks code from WebKit; put it
        in WebBrowser instead.

        Reviewed by Darin

        * Bookmarks.subproj/WebBookmark.h: Removed.
        * Bookmarks.subproj/WebBookmark.m: Removed.
        * Bookmarks.subproj/WebBookmarkGroup.h: Removed.
        * Bookmarks.subproj/WebBookmarkGroup.m: Removed.
        * Bookmarks.subproj/WebBookmarkGroupPrivate.h: Removed.
        * Bookmarks.subproj/WebBookmarkImporter.h: Removed.
        * Bookmarks.subproj/WebBookmarkImporter.m: Removed.
        * Bookmarks.subproj/WebBookmarkLeaf.h: Removed.
        * Bookmarks.subproj/WebBookmarkLeaf.m: Removed.
        * Bookmarks.subproj/WebBookmarkList.h: Removed.
        * Bookmarks.subproj/WebBookmarkList.m: Removed.
        * Bookmarks.subproj/WebBookmarkPrivate.h: Removed.
        * Bookmarks.subproj/WebBookmarkProxy.h: Removed.
        * Bookmarks.subproj/WebBookmarkProxy.m: Removed.
        * WebKit.exp:
        removed all bookmark-related symbols
        * WebKit.pbproj/project.pbxproj:
        updated for removed files

=== Safari-67 ===

2003-03-12  Chris Blumenberg  <cblu@apple.com>

        3196673 - REGRESSION: Assertion failure when download fails to create file
        - Retain the download delegate because it will live longer than the WebController which it is an instance of.

        Reviewed by rjw.

        * Downloads.subproj/WebDownload.m:
        (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]): call _downloadStarted
        (-[WebDownload loadWithDelegate:]): call _downloadStarted
        (-[WebDownload _downloadStarted]): renamed from _loadStarted
        (-[WebDownload _downloadEnded]): release delegate
        (-[WebDownload resource:willSendRequest:]): reordered so if we are released in this method, we never call self
        (-[WebDownload resourceDidFinishLoading:]): don't call _loadEnded because _downloadEnded gets called in _didCloseFile and _cancelWithError
        (-[WebDownload resource:didFailLoadingWithError:]):  don't call _loadEnded because _downloadEnded gets called in _didCloseFile and _cancelWithError
        (-[WebDownload _didCloseFile:]): call _downloadEnded
        (-[WebDownload _cancelWithError:]): call _downloadEnded
        * WebView.subproj/WebController.h: mention that the download delegate gets retained.

2003-03-12  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed 3193552 -- REGRESSION: crash loading ftp directory URL
        - fixed minor problems with setDefersCallbacks handling and object lifetime

        * WebView.subproj/WebBaseResourceHandleDelegate.h: Removed now-unused cancelQuietly.
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate cancel]): Changed cancel to tolerate being called
        when we have already cancelled. It's an error to call cancelWithError once we
        have cancelled.
        
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient interruptForPolicyChangeError]): Added. New function to
        create the WebError object for policy change.
        (-[WebMainResourceClient stopLoadingForPolicyChange]): Changed to just be a call
        to cancelWithError:.
        (-[WebMainResourceClient resource:willSendRequest:]): Call setDefersCallbacks:YES
        here; continueAfterNavigationPolicy already takes care of setDefersCallbacks:NO,
        but we lost this one somewhere along the way.
        (-[WebMainResourceClient continueAfterContentPolicy:response:]): Changed to call
        receivedError: on interruptForPolicyChangeError directly. It wasn't clearer to call
        a method named interruptForPolicyChange.
        (-[WebMainResourceClient resource:didReceiveResponse:]): Don't bother calling
        setDefersCallbacks:YES here any more; checkContentPolicyForResponse: takes care
        of that so there's no need to do it here. Initialize _contentLength before calling
        checkContentPolicyForResponse:, since that method can result in deallocating self.

2003-03-12  John Sullivan  <sullivan@apple.com>

        Reviewed by Trey

        * English.lproj/StringsNotToBeLocalized.txt:
        updated for recent changes

2003-03-11  Chris Blumenberg  <cblu@apple.com>

        Fixed deployment build failure.

        * WebView.subproj/WebFramePrivate.m:

2003-03-11  Richard Williamson   <rjw@apple.com>

        Added controller: parameter to all WebControllers delegates.
        
        Reviewed by chris.

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView loadPluginRequest:]):
        * Plugins.subproj/WebNetscapePluginDocumentView.m:
        (-[WebNetscapePluginDocumentView setDataSource:]):
        * Plugins.subproj/WebNullPluginView.m:
        (-[WebNullPluginView viewDidMoveToWindow]):
        * Plugins.subproj/WebPluginController.m:
        (-[WebPluginController showStatus:]):
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge createWindowWithURL:frameName:]):
        (-[WebBridge showWindow]):
        (-[WebBridge areToolbarsVisible]):
        (-[WebBridge setToolbarsVisible:]):
        (-[WebBridge isStatusBarVisible]):
        (-[WebBridge setStatusBarVisible:]):
        (-[WebBridge setWindowFrame:]):
        (-[WebBridge runJavaScriptAlertPanelWithMessage:]):
        (-[WebBridge runJavaScriptConfirmPanelWithMessage:]):
        (-[WebBridge runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]):
        (-[WebBridge runOpenPanelForFileButtonWithResultListener:]):
        (-[WebBridge setStatusText:]):
        (-[WebBridge objectLoadedFromCacheWithURL:response:size:]):
        * WebCoreSupport.subproj/WebSubresourceClient.m:
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate resource:willSendRequest:]):
        (-[WebBaseResourceHandleDelegate resource:didReceiveResponse:]):
        (-[WebBaseResourceHandleDelegate resource:didReceiveData:]):
        (-[WebBaseResourceHandleDelegate resourceDidFinishLoading:]):
        (-[WebBaseResourceHandleDelegate resource:didFailLoadingWithError:]):
        (-[WebBaseResourceHandleDelegate cancelWithError:]):
        * WebView.subproj/WebContextMenuDelegate.h:
        * WebView.subproj/WebControllerPolicyDelegate.h:
        * WebView.subproj/WebControllerPrivate.m:
        (-[WebController _openNewWindowWithRequest:]):
        (-[WebController _menuForElement:]):
        (-[WebController _mouseDidMoveOverElement:modifierFlags:]):
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _startLoading:]):
        (-[WebDataSource _setTitle:]):
        (-[WebDataSource _setRequest:]):
        (-[WebDataSource _updateIconDatabaseWithURL:]):
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultContextMenuDelegate controller:contextMenuItemsForElement:defaultMenuItems:]):
        * WebView.subproj/WebDefaultLocationChangeDelegate.m:
        (-[WebDefaultLocationChangeDelegate controller:locationChangeStartedForDataSource:]):
        (-[WebDefaultLocationChangeDelegate controller:serverRedirectedForDataSource:]):
        (-[WebDefaultLocationChangeDelegate controller:locationChangeCommittedForDataSource:]):
        (-[WebDefaultLocationChangeDelegate controller:receivedPageTitle:forDataSource:]):
        (-[WebDefaultLocationChangeDelegate controller:receivedPageIcon:forDataSource:]):
        (-[WebDefaultLocationChangeDelegate controller:locationChangeDone:forDataSource:]):
        (-[WebDefaultLocationChangeDelegate controller:willCloseLocationForDataSource:]):
        (-[WebDefaultLocationChangeDelegate controller:locationChangedWithinPageForDataSource:]):
        (-[WebDefaultLocationChangeDelegate controller:clientWillRedirectTo:delay:fireDate:forFrame:]):
        (-[WebDefaultLocationChangeDelegate controller:clientRedirectCancelledForFrame:]):
        * WebView.subproj/WebDefaultPolicyDelegate.m:
        (-[WebDefaultPolicyDelegate controller:unableToImplementPolicy:error:forURL:inFrame:]):
        (-[WebDefaultPolicyDelegate controller:decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]):
        (-[WebDefaultPolicyDelegate controller:decideNewWindowPolicyForAction:andRequest:newFrameName:decisionListener:]):
        * WebView.subproj/WebDefaultResourceLoadDelegate.m:
        (-[WebDefaultResourceLoadDelegate controller:identifierForInitialRequest:fromDataSource:]):
        (-[WebDefaultResourceLoadDelegate controller:resource:willSendRequest:fromDataSource:]):
        (-[WebDefaultResourceLoadDelegate controller:resource:didReceiveResponse:fromDataSource:]):
        (-[WebDefaultResourceLoadDelegate controller:resource:didReceiveContentLength:fromDataSource:]):
        (-[WebDefaultResourceLoadDelegate controller:resource:didFinishLoadingFromDataSource:]):
        (-[WebDefaultResourceLoadDelegate controller:resource:didFailLoadingWithError:fromDataSource:]):
        (-[WebDefaultResourceLoadDelegate controller:pluginFailedWithError:dataSource:]):
        * WebView.subproj/WebDefaultWindowOperationsDelegate.m:
        (-[WebDefaultWindowOperationsDelegate controller:runJavaScriptConfirmPanelWithMessage:]):
        (-[WebDefaultWindowOperationsDelegate controller:runJavaScriptTextInputPanelWithPrompt:defaultText:]):
        (-[WebDefaultWindowOperationsDelegate controller:runOpenPanelForFileButtonWithResultListener:]):
        * WebView.subproj/WebFramePrivate.m:
        (if):
        (switch):
        * WebView.subproj/WebLocationChangeDelegate.h:
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient checkContentPolicyForResponse:andCallSelector:]):
        * WebView.subproj/WebResourceLoadDelegate.h:
        * WebView.subproj/WebWindowOperationsDelegate.h:

2003-03-11  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Richard.

        Final policy API changes:

        - changed WebPolicyDecisionListener to protocol in public API
        - replaced policy enum with separate methods
        - made content policy handling async
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebControllerPolicyDelegate.h:
        * WebView.subproj/WebControllerPolicyDelegate.m:
        (-[WebPolicyDecisionListener _usePolicy:]):
        (-[WebPolicyDecisionListener use]):
        (-[WebPolicyDecisionListener ignore]):
        (-[WebPolicyDecisionListener download]):
        * WebView.subproj/WebControllerPolicyDelegatePrivate.h:
        * WebView.subproj/WebDefaultPolicyDelegate.m:
        (-[WebDefaultPolicyDelegate unableToImplementPolicyWithError:inFrame:]):
        (-[WebDefaultPolicyDelegate decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]):
        (-[WebDefaultPolicyDelegate decideNewWindowPolicyForAction:andRequest:newFrameName:decisionListener:]):
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebFramePrivate.m:
        (switch):
        * WebView.subproj/WebMainResourceClient.h:
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient cancelContentPolicy]):
        (-[WebMainResourceClient cancel]):
        (-[WebMainResourceClient cancelQuietly]):
        (-[WebMainResourceClient cancelWithError:]):
        (-[WebMainResourceClient continueAfterContentPolicy:response:]):
        (-[WebMainResourceClient continueAfterContentPolicy:]):
        (-[WebMainResourceClient checkContentPolicyForResponse:]):
        (-[WebMainResourceClient resource:didReceiveResponse:]):

2003-03-11  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed mistake in that last check-in that made Safari assert on startup with Chris's bookmarks bar

        * Misc.subproj/WebStringTruncator.m: (centerTruncateToBuffer):
        Fix logic here to not use an uninitialized variable.

2003-03-11  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed 3193213 -- assert truncatedLength+1 < STRING_BUFFER_SIZE creating tab label for firstyearibs.com
        - fixed 3194935 -- WebStringTruncator rightTruncateString: will break between composed characters
        - fixed right truncator to use interpolation algorithm rather than linear search

        * Misc.subproj/WebStringTruncator.m:
        (centerTruncateToBuffer): Changed from a class method to a plain function, and tweaked the code a bit.
        (rightTruncateToBuffer): Added. Like centerTruncateToBuffer, but does it on the right end instead.
        (stringWidth): Added. Helper function that calls the TextRenderer method with the right parameters.
        (truncateString): Moved all the code from centerTruncateString here, adding one new parameter, the
        truncate to buffer function.
        (+[WebStringTruncator centerTruncateString:toWidth:]): Call truncateString with the appropriate parameters.
        (+[WebStringTruncator centerTruncateString:toWidth:withFont:]): Ditto.
        (+[WebStringTruncator rightTruncateString:toWidth:withFont:]): Ditto.

=== Safari-66 ===

2003-03-10  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Dave.

        - fixed 3194221 - REGRESSION: search results loaded in wrong frame at directory.apple.com

        * WebView.subproj/WebFramePrivate.m:
        (_postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:):
        Deliver targetted form posts correctly.
2003-03-10  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed 3010915 -- mouse wheel won't scroll the main document when you are over [i]frame

        * WebView.subproj/WebDynamicScrollBarsView.h: Made WebDynamicScrollBarsView a subclass of
        WebCoreScrollView instead of NSScrollView.
        
        - other changes
        
        * WebView.subproj/WebFramePrivate.m: (-[WebFrame _actionInformationForNavigationType:event:originalURL:):
        Fix problem where you would not get any information if the click was on a subview of the
        WebHTMLView, like a form control.

2003-03-10  Chris Blumenberg  <cblu@apple.com>

        Fixed some download-related leaks. Primarily, we were leaking the data source that started the download. The data source is now immediately released when it becomes a download.

        Reviewed by darin.

        * Downloads.subproj/WebDownload.m:
        (-[WebDownloadPrivate dealloc]): release the WebResourceDelegateProxy
        (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]): renamed, don't pass a datasource so WebDownload is completely disconnected from the that. Pass the proxy so it transfers ownership from WebMainResourceClient and it doesn'






t leak when we cancel a download.
        (-[WebDownload _setRequest:]): added
        (-[WebDownload _setResponse:]): added
        (-[WebDownload resource:willSendRequest:]): call _setRequest
        (-[WebDownload resource:didReceiveResponse:]): call _setResponse
        * Downloads.subproj/WebDownloadPrivate.h:
        * WebView.subproj/WebBaseResourceHandleDelegate.h:
        * WebView.subproj/WebBaseResourceHandleDelegate.m: removed notifyDelegatesOfInterruptionByPolicyChange, no longer called
        * WebView.subproj/WebMainResourceClient.h: made WebResourceDelegateProxy available to other classes
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient receivedError:]): moved most error handling code here
        (-[WebMainResourceClient cancel]): stop load, call receivedError
        (-[WebMainResourceClient interruptForPolicyChange]): renamed, call receivedError with the policy interrupt error
        (-[WebMainResourceClient stopLoadingForPolicyChange]): call interruptForPolicyChange
        (-[WebMainResourceClient continueAfterContentPolicy:response:]): for WebPolicySave, create the download, call interruptForPolicyChange and return so the response isn't set on the superclass.
        (-[WebMainResourceClient resource:didFailLoadingWithError:]): call receivedError
        (-[WebResourceDelegateProxy setDelegate:]): don't retain the delegate
        (-[WebResourceDelegateProxy resourceDidFinishLoading:]): don't release the delegate
        (-[WebResourceDelegateProxy resource:didFailLoadingWithError:]): don't release the delegate

2003-03-07  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Richard.

        - fixed 3127705 - don't open new window on opt-click even if the link requests it
        - fixed 3143971 - cmd-click should override the target="_blank" and target="_new" (important for tabs)

        - removed open new window and open new window behind policies
        - removed [WebFrame findOrCreateFrameNamed:] from API
        - remved showWindowBehind from window operations delegate
        - added decideNewWindowPolicyForAction:andRequest:newFrameName:decisionListener: delegate method
        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView loadPluginRequest:]):
        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
        (-[WebPluginRequest initWithRequest:frameName:notifyData:]):
        (-[WebPluginRequest dealloc]):
        (-[WebPluginRequest frameName]):
        * Plugins.subproj/WebPluginController.m:
        (-[WebPluginController showURL:inFrame:]):
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge loadURL:referrer:reload:target:triggeringEvent:form:formValues:]):
        (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
        * WebView.subproj/WebControllerPolicyDelegate.h:
        * WebView.subproj/WebControllerPrivate.h:
        * WebView.subproj/WebControllerPrivate.m:
        (-[WebController _openNewWindowWithRequest:]):
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultContextMenuDelegate openNewWindowWithURL:]):
        * WebView.subproj/WebDefaultPolicyDelegate.m:
        (-[WebDefaultPolicyDelegate decideNewWindowPolicyForAction:andRequest:newFrameName:decisionListener:]):
        * WebView.subproj/WebFrame.h:
        * WebView.subproj/WebFrame.m:
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebFramePrivate.m:
        (-[NSObject performSelector:withObject:withObject:withObject:]):
        * WebView.subproj/WebWindowOperationsDelegate.h:

2003-03-07  Chris Blumenberg  <cblu@apple.com>

        Updated header doc comments.

        * Downloads.subproj/WebDownload.h:

2003-03-07  Richard Williamson   <rjw@apple.com>

        Drop mainDocumentError from WebDataSource.
        Combine registerView: and registerRepresentation: into one method on WebFrame.
        
        Reviewed by trey.

        * Plugins.subproj/WebPluginDatabase.m:
        (-[WebPluginDatabase init]):
        * WebView.subproj/WebDataSource.h:
        * WebView.subproj/WebDataSource.m:
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _mainDocumentError]):
        * WebView.subproj/WebFrame.h:
        * WebView.subproj/WebFrame.m:
        (+[WebFrame registerViewClass:representationClass:forMIMEType:]):
        * WebView.subproj/WebFramePrivate.m:
        (switch):
        * WebView.subproj/WebView.h:
        * WebView.subproj/WebView.m:

2003-03-07  John Sullivan  <sullivan@apple.com>

        WebKit part of fixes to these two synching-related bugs:

        3190844 -- Bookmarks Bar and Menu collections need to be
        marked specially in Bookmarks file

        3192197 -- Safari should write out UUID-full Bookmarks 
        file after reading UUID-free one

        Reviewed by Trey

        * Bookmarks.subproj/WebBookmark.h:
        * Bookmarks.subproj/WebBookmark.m:
        (-[WebBookmark setUUID:]):
        Removed the leading underscore, made this method public.
        Removed unnecessary constraint that new or old UUID had
        to be nil; now short-circuits the no-change case.
        (-[WebBookmark copyWithZone:]):
        updated for name change
        (-[WebBookmark initFromDictionaryRepresentation:withGroup:]):
        ditto

        * Bookmarks.subproj/WebBookmarkGroup.h:
        * Bookmarks.subproj/WebBookmarkGroup.m:
        (-[WebBookmarkGroup bookmarkForUUID:]):
        new public method to find a bookmark from a UUID.
        (-[WebBookmarkGroup _addBookmark:]):
        updated for name change

        * Bookmarks.subproj/WebBookmarkPrivate.h:
        removed declaration for old _setUUID

2003-03-07  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed regression caused when we made the stopLoading method on WebDataSource private

        * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _recursiveStopLoading]):
        The children are frames, so we need to do stopLoading, not _stopLoading.

2003-03-07  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3191052 - Predetermined downloads should not be started from the browser window
        - Stripped the rest of WebKit of download related code.

        Reviewed by trey.

        * Downloads.subproj/WebDownload.h: Changed the download delegate method from download:didStartFromDataSource: download:didStartFromRequest:. Passing the data source wasn't that helpful. It was also quirky that the data source would sometimes be ni






l.
        * Downloads.subproj/WebDownload.m:
        (-[WebDownloadPrivate dealloc]): release directory path
        (-[WebDownload _initWithLoadingResource:dataSource:]): call _loadStarted and _loadEnded
        (-[WebDownload loadWithDelegate:]): call _loadStarted
        (-[WebDownload _loadStarted]): set flag, retain self
        (-[WebDownload _loadEnded]): set flag, release self
        (-[WebDownload resource:willSendRequest:]): call _loadEnded if the returned request is nil
        (-[WebDownload resourceDidFinishLoading:]): call _loadEnded
        (-[WebDownload resource:didFailLoadingWithError:]): call _loadEnded
        (-[WebDownload _createFileIfNecessary]): handle a predetermined download directory, not path
        (-[WebDownload _cancelWithError:]): call _loadEnded
        (-[WebDownload _setDirectoryPath:]): new private method
        * Downloads.subproj/WebDownloadPrivate.h:
        * WebView.subproj/WebControllerPrivate.m:
        (-[WebController _mainReceivedError:fromDataSource:complete:]): don't call [dataSource isDownloading]
        (-[WebController _downloadURL:toDirectory:]): create and start a self retained WebDownload
        * WebView.subproj/WebDataSource.h:
        * WebView.subproj/WebDataSource.m: removed download related methods
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebDataSourcePrivate.m: removed download related methods
        (-[WebDataSource _commitIfReady:]): don't call isDownloading
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebFramePrivate.m:
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient continueAfterContentPolicy:response:]): when handing off the load to the download, don't deal with the download path
        (-[WebMainResourceClient resource:didReceiveResponse:]): no more predetermined downloads come through here

2003-03-06  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Trey.

        Step towards policy API changes. Remove WebPolicyNone,
        WebPolicyRevealInFinder, WebPolicyOpenURL and WebPolicyShow.
        * WebView.subproj/WebControllerPolicyDelegate.h:
        * WebView.subproj/WebDefaultPolicyDelegate.m:
        (-[WebDefaultPolicyDelegate decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]):
        * WebView.subproj/WebFramePrivate.m:
        (switch):
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient continueAfterContentPolicy:response:]):

2003-03-06  Richard Williamson   <rjw@apple.com>

        Remove setWebView: from WebFrame.
        
        Reviewed by chris.

        * WebView.subproj/WebFrame.h:
        * WebView.subproj/WebFrame.m:
        (-[WebFrame initWithName:webView:controller:]):
        (-[WebFrame name]):

2003-03-06  Richard Williamson   <rjw@apple.com>

        API changes.  WebCapabilities -> WebContentTypes.
        Move fileExtension from WebDataSource to WebContentTypes
        
        Reviewed by chris.

        * Misc.subproj/WebNSPasteboardExtras.m:
        (-[NSPasteboard _web_bestURL]):
        * WebKit.exp:
        * WebView.subproj/WebController.h:
        * WebView.subproj/WebController.m:
        (+[WebContentTypes suggestedFileExtensionForMIMEType:]):
        (-[WebController supportsTextEncoding]):
        (-[WebController setCustomTextEncodingName:]):
        (-[WebController _mainFrameOverrideEncoding]):
        (-[WebController customTextEncodingName]):
        (-[WebController stringByEvaluatingJavaScriptFromString:]):
        (-[WebController userAgentForURL:]):
        * WebView.subproj/WebControllerPrivate.h:
        * WebView.subproj/WebDataSource.h:
        * WebView.subproj/WebDataSource.m:
        * WebView.subproj/WebDefaultPolicyDelegate.m:
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient continueAfterContentPolicy:response:]):

2003-03-06  Chris Blumenberg  <cblu@apple.com>

        Implemented WebDownload API.

        Fixed: 3118355 - Download mechanism that doesn't involve WebDataSource, WebFrame, WebController etc
        Fixed: 3110173 - add per-request disabling of download decoding, use to turn off when "Open Safe Files" is off

        Reviewed by trey, rjw, mjs.

        * Downloads.subproj/WebDownload.h: Tweaked comments, added new methods.
        * Downloads.subproj/WebDownload.m:
        (-[WebDownloadPrivate dealloc]): release new objects
        (-[WebDownload initWithRequest:]): was initWithRequest:delegate:, but found that starting the load from the init method made it tricky to do other set up work before the load started.
        (-[WebDownload _initWithLoadingResource:dataSource:]): private init method, "catches up" to load by sending delegate method immediately, doesn't retain the dataSource, uses it for info
        (-[WebDownload loadWithDelegate:]): new, starts load
        (-[WebDownload cancel]): cancel load with no error
        (-[WebDownload path]): simple getter
        (-[WebDownload setPath:]): implement this because WebDownload is the WebDownloadDecisionListener, call _setPath
        (-[WebDownload resource:willSendRequest:]): resource delegate method
        (-[WebDownload resource:didReceiveResponse:]): resource delegate method
        (-[WebDownload resource:didReceiveData:]): resource delegate method, decode and write data, cancel load if error
        (-[WebDownload resourceDidFinishLoading:]): resource delegate method, decode and write data if necessary, end in error if error
        (-[WebDownload resource:didFailLoadingWithError:]): resource delegate method, end in error
        (-[WebDownload _pathWithUniqueFilenameForPath:]): this work was done in _createFileIfNecessary, does what it says
        (-[WebDownload _createFSRefForPath:]): this work was done in _createFileIfNecessary as well, makes fileRefPtr point to a file
        (-[WebDownload _createFileIfNecessary]): creates file, creates temp file if path hasn't been set yet
        (-[WebDownload _decodeHeaderData:dataForkData:resourceForkData:]): call private method
        (-[WebDownload _decodeData:dataForkData:resourceForkData:]): made private, if the download is encoded, ask client if OK to decode
        (-[WebDownload _decodeData:]): hardly changed, don't cancel, just return error
        (-[WebDownload _dataIfDoneBufferingData:]): moved, not changed
        (-[WebDownload _finishDecoding]): hardly changed, don't cancel, just return error
        (-[WebDownload _writeForkData:isDataFork:]): moved, not changed
        (-[WebDownload _writeDataForkData:resourceForkData:]): moved, not changed
        (-[WebDownload _isFileClosed]): new
        (-[WebDownload _fileDidClose:]): new, called by the callback thread, delete file if deleteFile flag is set, report error or end successfully
        (-[WebDownload _closeForkAsync:]): new
        (-[WebDownload _closeForkSync:]): new
        (-[WebDownload _closeFileAsync]): new
        (-[WebDownload _closeFileSync]): new
        (-[WebDownload _deleteFileAsnyc]): new
        (-[WebDownload _closeAndDeleteFileAsync]): new
        (-[WebDownload _cancelWithError:]): kill load if there is one, report error if there is one, close and delete file is not already closed or deleted
        (-[WebDownload _cancelWithErrorCode:]): internal convenienve, calls _cancelWithError
        (-[WebDownload _setPath:]): set path, if we are already saving data to a temp path, move the file and continue downloading
        (-[WebDownload _currentPath]): new 
        (-[WebDownload _errorWithCode:]): new
        (-[WebDownload _dataForkReferenceNumber]): added underscore
        (-[WebDownload _setDataForkReferenceNumber:]): added underscore
        (-[WebDownload _resourceForkReferenceNumber]): added underscore
        (-[WebDownload _setResourceForkReferenceNumber:]): added underscore
        (-[WebDownload _areWritesCancelled]): added underscore
        (-[WebDownload _setWritesCancelled:]): added underscore
        (-[WebDownload _encounteredCloseError]): new
        (-[WebDownload _setEncounteredCloseError:]): new 
        (WriteCompletionCallback): call underscored methods
        (CloseCompletionCallback): call underscored methods, handle close error, don't delete file
        (DeleteCompletionCallback): call _currentPath
        * Downloads.subproj/WebDownloadPrivate.h:
        * WebView.subproj/WebBaseResourceHandleDelegate.h: renamed handle to resource
        * WebView.subproj/WebBaseResourceHandleDelegate.m: renamed handle to resource
        (-[WebBaseResourceHandleDelegate _releaseResources]): renamed handle to resource
        (-[WebBaseResourceHandleDelegate startLoading:]): renamed handle to resource
        (-[WebBaseResourceHandleDelegate loadWithRequest:]): renamed handle to resource
        (-[WebBaseResourceHandleDelegate setDefersCallbacks:]): renamed handle to resource
        (-[WebBaseResourceHandleDelegate resource:willSendRequest:]): renamed handle to resource
        (-[WebBaseResourceHandleDelegate resource:didReceiveResponse:]): renamed handle to resource, don't handle downloads
        (-[WebBaseResourceHandleDelegate resource:didReceiveData:]): renamed handle to resource, don't handle downloads
        (-[WebBaseResourceHandleDelegate resourceDidFinishLoading:]): renamed handle to resource, don't handle downloads
        (-[WebBaseResourceHandleDelegate resource:didFailLoadingWithError:]): renamed handle to resource, don't handle downloads
        (-[WebBaseResourceHandleDelegate cancelWithError:]): renamed handle to resource, don't handle downloads
        * WebView.subproj/WebController.h: updated comments
        * WebView.subproj/WebController.m: 
        (-[WebController setDownloadDelegate:]): call the ivar downloadDelegate, not downloadProgressDelegate
        (-[WebController downloadDelegate]): call the ivar downloadDelegate, not downloadProgressDelegate
        * WebView.subproj/WebControllerPolicyDelegate.h: removed saveFilenameForResponse:andRequest:, handle by WebDownload
        * WebView.subproj/WebControllerPrivate.h: call the ivar downloadDelegate, not downloadProgressDelegate
        * WebView.subproj/WebDefaultPolicyDelegate.m: removed saveFilenameForResponse:andRequest:, handle by WebDownload
        * WebView.subproj/WebMainResourceClient.h: added WebResourceDelegateProxy icar
        * WebView.subproj/WebMainResourceClient.m: remove most download related stuff
        (-[WebMainResourceClient initWithDataSource:]): create a WebResourceDelegateProxy which allows us to change the resource delegate
        (-[WebMainResourceClient dealloc]): release the proxy
        (-[WebMainResourceClient receivedError:complete:]): don't handle downloads
        (-[WebMainResourceClient continueAfterContentPolicy:response:]): pass the load off to the download
        (-[WebMainResourceClient resource:didReceiveResponse:]): don't handle downloads
        (-[WebMainResourceClient resource:didReceiveData:]): don't handle downloads
        (-[WebMainResourceClient resourceDidFinishLoading:]): don't handle downloads
        (-[WebMainResourceClient resource:didFailLoadingWithError:]): don't handle downloads
        (-[WebMainResourceClient startLoading:]): make the proxy the delegate
        (-[WebResourceDelegateProxy setDelegate:]): switches the resource delegate
        (-[WebResourceDelegateProxy resource:willSendRequest:]): forwards message
        (-[WebResourceDelegateProxy resource:didReceiveResponse:]): forwards message
        (-[WebResourceDelegateProxy resource:didReceiveData:]): forwards message
        (-[WebResourceDelegateProxy resourceDidFinishLoading:]): forwards message
        (-[WebResourceDelegateProxy resource:didFailLoadingWithError:]): forwards message

2003-03-06  Richard Williamson   <rjw@apple.com>

        Move tweaks to WebKit API.
        
        Removed [WebFrame setController:] from public API.
        Removed [WebDataSource stringWithData:] from public API.
         
        Reviewed by hyatt.

        * WebView.subproj/WebDataSource.h:
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource mainDocumentError]):
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _stringWithData:]):
        * WebView.subproj/WebFrame.h:
        * WebView.subproj/WebFrame.m:
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebFramePrivate.m:
        * WebView.subproj/WebHTMLRepresentation.m:
        * WebView.subproj/WebTextRepresentation.m:
        (-[WebTextRepresentation setDataSource:]):
        * WebView.subproj/WebTextView.m:
        (-[WebTextView dataSourceUpdated:]):

2003-03-06  Richard Williamson   <rjw@apple.com>

        Tweaks to WebKit API.
        Dropped URL on WebDataSource.
        Dropped start/stop loading on WebDataSource.
        Drop frameForView and frameForDataSource from WebController.
        Moved canShowXX to WebCapabilities.
        
        Reviewed by hyatt.

        * Downloads.subproj/WebDownload.m:
        (-[WebDownload errorWithCode:]):
        * Misc.subproj/WebNSPasteboardExtras.m:
        (-[NSPasteboard _web_bestURL]):
        * Misc.subproj/WebNSViewExtras.m:
        (-[NSView _web_printViewHierarchy:]):
        * Plugins.subproj/WebNetscapePluginDocumentView.m:
        (-[WebNetscapePluginDocumentView setDataSource:]):
        * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
        (-[WebNetscapePluginEmbeddedView dataSource]):
        * WebCoreSupport.subproj/WebSubresourceClient.m:
        (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
        * WebKit.exp:
        * WebView.subproj/WebController.h:
        * WebView.subproj/WebController.m:
        (+[WebCapabilities canShowMIMEType:]):
        (+[WebCapabilities canShowFile:]):
        (-[WebController mainFrame]):
        * WebView.subproj/WebControllerPrivate.h:
        * WebView.subproj/WebControllerPrivate.m:
        (-[WebController _frameForDataSource:fromFrame:]):
        (-[WebController _frameForDataSource:]):
        (-[WebController _frameForView:fromFrame:]):
        (-[WebController _frameForView:]):
        * WebView.subproj/WebDataSource.h:
        * WebView.subproj/WebDataSource.m:
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _startLoading]):
        (-[WebDataSource _stopLoading]):
        (-[WebDataSource _stopLoadingInternal]):
        (-[WebDataSource _recursiveStopLoading]):
        (-[WebDataSource _updateIconDatabaseWithURL:]):
        (-[WebDataSource _loadIcon]):
        (-[WebDataSource _URL]):
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultContextMenuDelegate openFrameInNewWindow:]):
        * WebView.subproj/WebDefaultPolicyDelegate.m:
        * WebView.subproj/WebFrame.m:
        (-[WebFrame stopLoading]):
        * WebView.subproj/WebFramePrivate.m:
        (if):
        * WebView.subproj/WebHTMLViewPrivate.m:
        (-[WebHTMLView _frame]):
        (-[WebHTMLView _elementAtPoint:]):
        * WebView.subproj/WebImageRepresentation.m:
        (-[WebImageRepresentation setDataSource:]):
        * WebView.subproj/WebImageView.m:
        (-[WebImageView menuForEvent:]):
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient cancel]):
        (-[WebMainResourceClient continueAfterContentPolicy:response:]):
        (-[WebMainResourceClient resource:didReceiveData:]):
        (-[WebMainResourceClient resourceDidFinishLoading:]):
        * WebView.subproj/WebTextView.m:
        (-[WebTextView menuForEvent:]):
        * WebView.subproj/WebView.m:
        (-[WebView webFrame]):
        * WebView.subproj/WebViewPrivate.m:
        (-[WebView _isMainFrame]):

2003-03-06  Ed Voas  voas@apple.com

        Reviewed by Richard.

        Don't use _HIViewSetNeedsDisplayInRect for now. Fixes
        Jaguar builds.

        * Carbon.subproj/HIViewAdapter.m:
        (-[HIViewAdapter setNeedsDisplay:]):
        (-[HIViewAdapter setNeedsDisplayInRect:]):

2003-03-05  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by John.

        Step towards policy API chantes - removed unneeded policy and URL
        arguments from unableToImplementPolicy:
        * WebView.subproj/WebControllerPolicyDelegate.h:
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebFramePrivate.m:
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient continueAfterContentPolicy:response:]):

2003-03-06  Ed Voas  voas@apple.com

        Reviewed by Richard.

        First cut of Carbon view support. It will need tweaking as we go,
        but I think I finally have all the assertions taken care of, and
        I also believe that I have the drawing glitches all sorted out now.

        * Carbon.subproj/CarbonUtils.h: Added.
        * Carbon.subproj/CarbonUtils.m: Added.
        (InitWebKitForCarbon):
        (PoolCleaner):
        (ConvertNSImageToCGImageRef):
        * Carbon.subproj/CarbonWindowAdapter.h: Added.
        * Carbon.subproj/CarbonWindowAdapter.m: Added.
        (+[CarbonWindowAdapter frameViewClassForStyleMask:]):
        (-[CarbonWindowAdapter initWithContentRect:styleMask:backing:defer:]):
        (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:disableOrdering:carbon:]):
        (-[CarbonWindowAdapter setViewsNeedDisplay:]):
        (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:]):
        (-[CarbonWindowAdapter dealloc]):
        (-[CarbonWindowAdapter windowRef]):
        (-[CarbonWindowAdapter _hasWindowRef]):
        (-[CarbonWindowAdapter _managesWindowRef]):
        (-[CarbonWindowAdapter _removeWindowRef]):
        (-[CarbonWindowAdapter _carbonWindowClass]):
        (-[CarbonWindowAdapter reconcileToCarbonWindowBounds]):
        (-[CarbonWindowAdapter sendSuperEvent:]):
        (-[CarbonWindowAdapter _cancelKey:]):
        (-[CarbonWindowAdapter _commonAwake]):
        (-[CarbonWindowAdapter _destroyRealWindow:]):
        (-[CarbonWindowAdapter _oldPlaceWindow:]):
        (-[CarbonWindowAdapter _termWindowIfOwner]):
        (-[CarbonWindowAdapter _windowMovedToRect:]):
        (-[CarbonWindowAdapter constrainFrameRect:toScreen:]):
        (-[CarbonWindowAdapter selectKeyViewFollowingView:]):
        (-[CarbonWindowAdapter selectKeyViewPrecedingView:]):
        (-[CarbonWindowAdapter makeKeyWindow]):
        (-[CarbonWindowAdapter canBecomeKeyWindow]):
        (-[CarbonWindowAdapter canBecomeMainWindow]):
        (-[CarbonWindowAdapter encodeWithCoder:]):
        (-[CarbonWindowAdapter initWithCoder:]):
        (-[CarbonWindowAdapter setContentView:]):
        (-[CarbonWindowAdapter worksWhenModal]):
        (-[CarbonWindowAdapter _setModalWindowLevel]):
        (-[CarbonWindowAdapter _clearModalWindowLevel]):
        (-[CarbonWindowAdapter carbonHICommandIDFromActionSelector:]):
        (-[CarbonWindowAdapter sendCarbonProcessHICommandEvent:]):
        (-[CarbonWindowAdapter sendCarbonUpdateHICommandStatusEvent:withMenuRef:andMenuItemIndex:]):
        (-[CarbonWindowAdapter _handleRootBoundsChanged]):
        (-[CarbonWindowAdapter _handleContentBoundsChanged]):
        (-[CarbonWindowAdapter _handleCarbonEvent:callRef:]):
        (NSCarbonWindowHandleEvent):
        * Carbon.subproj/CarbonWindowContentView.h: Added.
        * Carbon.subproj/CarbonWindowContentView.m: Added.
        * Carbon.subproj/CarbonWindowFrame.h: Added.
        * Carbon.subproj/CarbonWindowFrame.m: Added.
        (+[CarbonWindowFrame frameRectForContentRect:styleMask:]):
        (+[CarbonWindowFrame contentRectForFrameRect:styleMask:]):
        (+[CarbonWindowFrame minFrameSizeForMinContentSize:styleMask:]):
        (-[CarbonWindowFrame frameRectForContentRect:styleMask:]):
        (-[CarbonWindowFrame contentRectForFrameRect:styleMask:]):
        (-[CarbonWindowFrame minFrameSizeForMinContentSize:styleMask:]):
        (-[CarbonWindowFrame initWithFrame:styleMask:owner:]):
        (-[CarbonWindowFrame dealloc]):
        (-[CarbonWindowFrame _setFrameNeedsDisplay:]):
        (-[CarbonWindowFrame _setSheet:]):
        (-[CarbonWindowFrame _updateButtonState]):
        (-[CarbonWindowFrame _windowChangedKeyState]):
        (-[CarbonWindowFrame _showToolbarWithAnimation:]):
        (-[CarbonWindowFrame _hideToolbarWithAnimation:]):
        (-[CarbonWindowFrame closeButton]):
        (-[CarbonWindowFrame styleMask]):
        (-[CarbonWindowFrame dragRectForFrameRect:]):
        (-[CarbonWindowFrame isOpaque]):
        (-[CarbonWindowFrame minimizeButton]):
        (-[CarbonWindowFrame setTitle:]):
        (-[CarbonWindowFrame title]):
        (-[CarbonWindowFrame _sheetHeightAdjustment]):
        (-[CarbonWindowFrame _maxTitlebarTitleRect]):
        (-[CarbonWindowFrame _clearDragMargins]):
        (-[CarbonWindowFrame _resetDragMargins]):
        * Carbon.subproj/HIViewAdapter.h: Added.
        * Carbon.subproj/HIViewAdapter.m: Added.
        (+[HIViewAdapter bindHIViewToNSView:nsView:]):
        (+[HIViewAdapter getHIViewForNSView:]):
        (+[HIViewAdapter unbindNSView:]):
        (-[HIViewAdapter initWithFrame:view:]):
        (-[HIViewAdapter hiView]):
        (-[HIViewAdapter nextValidKeyView]):
        (-[HIViewAdapter setNeedsDisplay:]):
        (-[HIViewAdapter setNeedsDisplayInRect:]):
        (-[CarbonSheetInterceptor _orderFrontRelativeToWindow:]):
        (-[CarbonSheetInterceptor _orderOutRelativeToWindow:]):
        * Carbon.subproj/HIWebView.h: Added.
        * Carbon.subproj/HIWebView.m: Added.
        (if):
        (switch):
        * Carbon.subproj/HIWebViewPriv.h: Added.
        * WebKit.exp:
        * WebKit.pbproj/project.pbxproj:

=== Safari-65 ===

2003-03-05  Richard Williamson   <rjw@apple.com>

        API changes
        WebView and WebDataSource give up -(WebController *)controller.
        WebView gets -(WebFrame *)webFrame.
        
        Reviewed by cblu.

        * Plugins.subproj/WebNetscapePluginDocumentView.m:
        (-[WebNetscapePluginDocumentView setDataSource:]):
        * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
        (-[WebNetscapePluginEmbeddedView dataSource]):
        * Plugins.subproj/WebNullPluginView.m:
        (-[WebNullPluginView viewDidMoveToWindow]):
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge startLoadingResource:withURL:]):
        * WebCoreSupport.subproj/WebSubresourceClient.m:
        (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
        (-[WebSubresourceClient receivedError:]):
        (-[WebSubresourceClient resourceDidFinishLoading:]):
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate setDataSource:]):
        * WebView.subproj/WebController.h:
        * WebView.subproj/WebController.m:
        (-[WebController backForwardList]):
        (-[WebController setUsesBackForwardList:]):
        * WebView.subproj/WebDataSource.h:
        * WebView.subproj/WebDataSource.m:
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _controller]):
        (-[WebDataSource _receivedError:complete:]):
        (-[WebDataSource _loadIcon]):
        * WebView.subproj/WebFrame.h:
        * WebView.subproj/WebFramePrivate.m:
        (switch):
        * WebView.subproj/WebHTMLViewPrivate.m:
        (-[WebHTMLView _controller]):
        (-[WebHTMLView _frame]):
        (-[WebHTMLView _elementAtPoint:]):
        * WebView.subproj/WebImageView.m:
        (-[WebImageView controller]):
        (-[WebImageView menuForEvent:]):
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient interruptForPolicyChangeAndKeepLoading:]):
        (-[WebMainResourceClient continueAfterNavigationPolicy:formState:]):
        (-[WebMainResourceClient resource:willSendRequest:]):
        (-[WebMainResourceClient continueAfterContentPolicy:response:]):
        (-[WebMainResourceClient checkContentPolicyForResponse:andCallSelector:]):
        (-[WebMainResourceClient resource:didReceiveResponse:]):
        (-[WebMainResourceClient resource:didReceiveData:]):
        (-[WebMainResourceClient resourceDidFinishLoading:]):
        (-[WebMainResourceClient resource:didFailLoadingWithError:]):
        * WebView.subproj/WebTextView.m:
        (-[WebTextView menuForEvent:]):
        * WebView.subproj/WebView.h:
        * WebView.subproj/WebView.m:
        (-[WebView webFrame]):
        (-[WebView concludeDragOperation:]):
        * WebView.subproj/WebViewPrivate.h:
        * WebView.subproj/WebViewPrivate.m:
        (-[WebView _controller]):

2003-03-05  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Ken.

        * WebView.subproj/WebFramePrivate.m:
        (_recursiveGoToItem:fromItem:withLoadType:): Account for
        possibility of nil target.

2003-03-05  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        - fixed crash when going back due to frame name of nil since we
        don't force the name "_top" any more.
        * WebView.subproj/WebController.m:
        (-[WebController _goToItem:withLoadType:]): Handle nil target
        properly.

2003-03-05  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed 3189441 -- REGRESSION: layout tests crash building generated frame name

        * WebView.subproj/WebFramePrivate.m: (-[WebFrame _addFramePathToString:]):
        Handle a frame name of nil here, since we don't force the name "_top" any more.

2003-03-04  Trey Matteson  <trey@apple.com>

        Support for autofill.  These are just two new glue routines
        that call down through the bridge.  They allow regexp driven
        binding of AB data to form elements.

        Reviewed by Maciej.

        * WebView.subproj/WebHTMLRepresentation.h:
        * WebView.subproj/WebHTMLRepresentation.m:
        (-[WebHTMLRepresentation searchForLabels:beforeElement:]):
        Call straight to bridge.
        (-[WebHTMLRepresentation matchLabels:againstElement:]):
        Call straight to bridge.

2003-03-04  Maciej Stachowiak  <mjs@apple.com>

        Reinstate missing part of last checking.
        * WebView.subproj/WebFramePrivate.m:

2003-03-04  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Trey.

        Added the ability to set the top-level frame name via the
        WebController initializer. Also made [[controller mainFrame]
        frameName] return the true top-level frame name instead of "_top",
        since that is already special-cased anywhere it needs to be.
        * WebView.subproj/WebController.h:
        * WebView.subproj/WebController.m:
        (-[WebController init]): Update for change to designated initializer.
        (-[WebController initWithView:]): New convenience initializer.
        (-[WebController initWithView:frameName:setName:]): Added ability to set
        top-level frame name.
        * WebView.subproj/WebControllerPrivate.h:
        * WebView.subproj/WebControllerPrivate.m:
        (-[WebControllerPrivate dealloc]): Remove topLevelFrameNAme field.
        (-[WebController _setTopLevelFrameName:]): Actually set it
        on the top level frame, no point to keeping it here.
        (-[WebController _findFrameInThisWindowNamed:]): No more need to
        special-case top-level frame name.
        * WebView.subproj/WebFrame.m:
        (-[WebFrame initWithName:webView:controller:]): call [self _setName:] instead 
        of [_private setName:]
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _setName:]): Don't let the name get set to _blank.
2003-03-04  John Sullivan  <sullivan@apple.com>

        Reviewed by Darin

        * Misc.subproj/WebKitNSStringExtras.h:
        * Misc.subproj/WebKitNSStringExtras.m:
        (-[NSString _web_widthWithFont:]):
        (-[NSString _web_drawAtPoint:font:textColor:):
        removed the unnecessary string parameter from these two
        NSString methods.

2003-03-04  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - got rid of some framework initialization (working on bug 3185161)

        * WebView.subproj/WebPreferences.m:
        (-[WebPreferences _postPreferencesChangesNotification]): Moved this function up.
        (+[WebPreferences standardPreferences]): Call _postPreferencesChangesNotification when this is made,
        for consistency with the old behavior.
        (+[WebPreferences initialize]): Changed to initialize from load, and got rid of stuff we don't want
        to do from inside an initialize function.

2003-03-04  Richard Williamson   <rjw@apple.com>

        Remove initWithURL: and frameName from WebDataSource public API.
        
        Reviewed by trey.

        * WebView.subproj/WebDataSource.h:
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource webFrame]):

2003-03-04  Darin Adler  <darin@apple.com>

        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
        * English.lproj/Localizable.strings: Regenerated.

2003-03-03  Richard Williamson   <rjw@apple.com>

        Switch all WebController's delegate to use informal protocols.
        
        Reviewed by trey.

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView status:]):
        * Plugins.subproj/WebNetscapePluginDocumentView.m:
        (-[WebNetscapePluginDocumentView setDataSource:]):
        * Plugins.subproj/WebNullPluginView.m:
        (-[WebNullPluginView viewDidMoveToWindow]):
        * Plugins.subproj/WebPluginController.m:
        (-[WebPluginController showStatus:]):
        * WebCoreSupport.subproj/WebBridge.h:
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge createWindowWithURL:frameName:]):
        (-[WebBridge showWindow]):
        (-[WebBridge areToolbarsVisible]):
        (-[WebBridge setToolbarsVisible:]):
        (-[WebBridge isStatusBarVisible]):
        (-[WebBridge setStatusBarVisible:]):
        (-[WebBridge setWindowFrame:]):
        (-[WebBridge setStatusText:]):
        (-[WebBridge objectLoadedFromCacheWithURL:response:size:]):
        (-[WebBridge setWebFrame:]):
        * WebKit.exp:
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebBaseResourceHandleDelegate.h:
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate resourceLoadDelegate]):
        (-[WebBaseResourceHandleDelegate downloadDelegate]):
        (-[WebBaseResourceHandleDelegate resource:willSendRequest:]):
        (-[WebBaseResourceHandleDelegate resource:didReceiveResponse:]):
        (-[WebBaseResourceHandleDelegate resource:didReceiveData:]):
        (-[WebBaseResourceHandleDelegate resourceDidFinishLoading:]):
        (-[WebBaseResourceHandleDelegate resource:didFailLoadingWithError:]):
        (-[WebBaseResourceHandleDelegate cancelWithError:]):
        (-[WebBaseResourceHandleDelegate notifyDelegatesOfInterruptionByPolicyChange]):
        * WebView.subproj/WebContextMenuDelegate.h:
        * WebView.subproj/WebController.h:
        * WebView.subproj/WebController.m:
        (-[WebController setWindowOperationsDelegate:]):
        (-[WebController windowOperationsDelegate]):
        (-[WebController setResourceLoadDelegate:]):
        (-[WebController resourceLoadDelegate]):
        (-[WebController setDownloadDelegate:]):
        (-[WebController downloadDelegate]):
        (-[WebController setContextMenuDelegate:]):
        (-[WebController contextMenuDelegate]):
        (-[WebController setPolicyDelegate:]):
        (-[WebController policyDelegate]):
        (-[WebController setLocationChangeDelegate:]):
        (-[WebController locationChangeDelegate]):
        (-[WebController stringByEvaluatingJavaScriptFromString:]):
        * WebView.subproj/WebControllerPolicyDelegate.h:
        * WebView.subproj/WebControllerPrivate.h:
        * WebView.subproj/WebControllerPrivate.m:
        (-[WebController _openNewWindowWithRequest:behind:]):
        (-[WebController _menuForElement:]):
        (-[WebController _mouseDidMoveOverElement:modifierFlags:]):
        (-[WebController _locationChangeDelegateForwarder]):
        (-[WebController _resourceLoadDelegateForwarder]):
        (-[WebController _policyDelegateForwarder]):
        (-[WebController _contextMenuDelegateForwarder]):
        (-[WebController _windowOperationsDelegateForwarder]):
        (-[_WebSafeForwarder initWithTarget:defaultTarget:templateClass:]):
        (-[_WebSafeForwarder forwardInvocation:]):
        (-[_WebSafeForwarder methodSignatureForSelector:]):
        * WebView.subproj/WebDataSource.h:
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _startLoading:]):
        (-[WebDataSource _setTitle:]):
        (-[WebDataSource _setRequest:]):
        (-[WebDataSource _updateIconDatabaseWithURL:]):
        * WebView.subproj/WebDefaultContextMenuDelegate.h:
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (+[WebDefaultContextMenuDelegate sharedContextMenuDelegate]):
        * WebView.subproj/WebDefaultLocationChangeDelegate.h: Added.
        * WebView.subproj/WebDefaultLocationChangeDelegate.m: Added.
        (+[WebDefaultLocationChangeDelegate sharedLocationChangeDelegate]):
        (-[WebDefaultLocationChangeDelegate locationChangeStartedForDataSource:]):
        (-[WebDefaultLocationChangeDelegate serverRedirectedForDataSource:]):
        (-[WebDefaultLocationChangeDelegate locationChangeCommittedForDataSource:]):
        (-[WebDefaultLocationChangeDelegate receivedPageTitle:forDataSource:]):
        (-[WebDefaultLocationChangeDelegate receivedPageIcon:forDataSource:]):
        (-[WebDefaultLocationChangeDelegate locationChangeDone:forDataSource:]):
        (-[WebDefaultLocationChangeDelegate willCloseLocationForDataSource:]):
        (-[WebDefaultLocationChangeDelegate locationChangedWithinPageForDataSource:]):
        (-[WebDefaultLocationChangeDelegate clientWillRedirectTo:delay:fireDate:forFrame:]):
        (-[WebDefaultLocationChangeDelegate clientRedirectCancelledForFrame:]):
        * WebView.subproj/WebDefaultPolicyDelegate.h:
        * WebView.subproj/WebDefaultPolicyDelegate.m:
        (+[WebDefaultPolicyDelegate sharedPolicyDelegate]):
        * WebView.subproj/WebDefaultPolicyDelegatePrivate.h: Removed.
        * WebView.subproj/WebDefaultResourceLoadDelegate.h: Added.
        * WebView.subproj/WebDefaultResourceLoadDelegate.m: Added.
        (+[WebDefaultResourceLoadDelegate sharedResourceLoadDelegate]):
        (-[WebDefaultResourceLoadDelegate identifierForInitialRequest:fromDataSource:]):
        (-[WebDefaultResourceLoadDelegate resource:willSendRequest:fromDataSource:]):
        (-[WebDefaultResourceLoadDelegate resource:didReceiveResponse:fromDataSource:]):
        (-[WebDefaultResourceLoadDelegate resource:didReceiveContentLength:fromDataSource:]):
        (-[WebDefaultResourceLoadDelegate resource:didFinishLoadingFromDataSource:]):
        (-[WebDefaultResourceLoadDelegate resource:didFailLoadingWithError:fromDataSource:]):
        (-[WebDefaultResourceLoadDelegate pluginFailedWithError:dataSource:]):
        * WebView.subproj/WebDefaultWindowOperationsDelegate.h: Added.
        * WebView.subproj/WebDefaultWindowOperationsDelegate.m: Added.
        (+[WebDefaultWindowOperationsDelegate sharedWindowOperationsDelegate]):
        (-[WebDefaultWindowOperationsDelegate runJavaScriptConfirmPanelWithMessage:]):
        (-[WebDefaultWindowOperationsDelegate runJavaScriptTextInputPanelWithPrompt:defaultText:]):
        (-[WebDefaultWindowOperationsDelegate runOpenPanelForFileButtonWithResultListener:]):
        * WebView.subproj/WebFrame.m:
        (-[WebFrame initWithName:webView:controller:]):
        (-[WebFrame findOrCreateFrameNamed:]):
        * WebView.subproj/WebFramePrivate.m:
        (if):
        (switch):
        * WebView.subproj/WebLocationChangeDelegate.h:
        * WebView.subproj/WebLocationChangeDelegate.m: Removed.
        * WebView.subproj/WebMainResourceClient.h:
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient interruptForPolicyChangeAndKeepLoading:]):
        (-[WebMainResourceClient continueAfterContentPolicy:response:]):
        (-[WebMainResourceClient checkContentPolicyForResponse:andCallSelector:]):
        * WebView.subproj/WebResourceLoadDelegate.h:
        * WebView.subproj/WebWindowOperationsDelegate.h:

2003-03-03  Darin Adler  <darin@apple.com>

        Reviewed by Richard.

        - simplified the custom user agent and text encoding methods as per request from documentation group

        * WebView.subproj/WebController.h: Removed hasCustomUserAgent, resetUserAgent, hasCustomTextEncoding,
        and resetTextEncoding. Updated comments to indicate what nil means.
        
        * WebView.subproj/WebController.m:
        (-[WebController setCustomUserAgent:]): Remove assertion, allow nil.
        (-[WebController customUserAgent]): Remove nil check.
        (-[WebController setCustomTextEncodingName:]): Remove assertion, allow nil, and do an == check along
        with the isEqualToString: check to handle the nil case.
        (-[WebController customTextEncodingName]): Remove nil check.

2003-03-01  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        - fixed 3163855 - Need control over certain potential dialogs/sheets

        * WebCoreSupport.subproj/WebBridge.h:
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge runJavaScriptAlertPanelWithMessage:]): Moved here from
        view factory. Call the bridge instead of popping up the dialog.
        (-[WebBridge runJavaScriptConfirmPanelWithMessage:]): Likewise.
        (-[WebBridge runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]):
        Likewise.
        (-[WebBridge fileButton]): Moved here from view factory, so we can
        pass the bridge to the button.
        (-[WebBridge runOpenPanelForFileButtonWithResultListener:]): Call the delegate.
        * WebCoreSupport.subproj/WebFileButton.h:
        * WebCoreSupport.subproj/WebFileButton.m:
        (-[WebFileButton initWithBridge:]): New method so this object knows about the bridge.
        (-[WebFileButton beginSheet]): Instead of popping up the sheet directly,
        call the bridge (which will call the delegate).
        (-[WebFileButton chooseFilename:]): Update for the new filename.
        (-[WebFileButton cancel]): Do nothing.
        * WebCoreSupport.subproj/WebViewFactory.m: Removed some methods.
        * WebKit.exp: Export .objc_class_WebJavaScriptTextInputPanel (for now).
        * WebKit.pbproj/project.pbxproj: Export WebJavaScriptTextInputPanel.h (for now).
        * WebView.subproj/WebWindowOperationsDelegate.h: Added new methods.

2003-03-01  Richard Williamson   <rjw@apple.com>

        Reviewed by Chris & Darin.

        Fixed frameRequiredForMIMEType: to correctly check for BOTH
        netscape plugins and cocoa plugins.
        
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge frameRequiredForMIMEType:]):
        
        Made WebPluginViewFactory.h private (SPI) to provide access to
        plugin package keys.
        
        * WebKit.pbproj/project.pbxproj:

2003-02-28  Richard Williamson   <rjw@apple.com>

        Make WebDOM* classes private instead of public.  This change
        was made before but the project file must have been accidentally
        overwritten.  Make the WebPlugin* classes private.
        
        * WebKit.pbproj/project.pbxproj:

7003-02-28  Trey Matteson  <trey@apple.com>

        Various support for autofill/autocomplete.

        We receive a form along with the formValues from WC on submit, which we
        just pass along to the FormDelegate.  As part of this we store the values
        and the form together in a new private WebFormState class.  Lots of glue
        for passing this around instead of just the values dict.

        Send willCloseLocationForDataSource when we are finally through with a page.

        Reviewed by Darin.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge loadURL:reload:triggeringEvent:form:formValues:]):
        Pass along form along with values
        (-[WebBridge postWithURL:data:contentType:triggeringEvent:form:formValues:]):
        Pass along form along with values
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _commitIfReady:]):  Call frame to send willCloseLocationForDataSource.
        * WebView.subproj/WebFormDelegate.h:
        * WebView.subproj/WebFormDelegate.m:
        (-[WebFormDelegate frame:willSubmitForm:withValues:]):  Pass form along with values
        * WebView.subproj/WebFrame.m:
        (-[WebFrame loadRequest:]):  Pass FormState instead of just values.
        (-[WebFrame reload]):  Pass FormState instead of just values.
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebFramePrivate.m:
        <<prepare-ChangeLog flailed on this file>>
        Lots of routines were we pass FormState instead of the form values dict
        -([WebFrame _closeOldDataSources]):  New, sends willCloseLocation for whole frame tree.
        New, trivial, WebFormState class.
        * WebView.subproj/WebHTMLRepresentation.h:
        * WebView.subproj/WebHTMLRepresentation.m:
        (-[WebHTMLRepresentation formIsLoginForm:]):  Changed to take form instead of form field.
        (-[WebHTMLRepresentation formForElement:]):  New, just pass through bridge.
        (-[WebHTMLRepresentation controlsInForm:]):    New, just pass through bridge.
        * WebView.subproj/WebLocationChangeDelegate.h:  Add willCloseLocationForDataSource.
        * WebView.subproj/WebLocationChangeDelegate.m:
        (-[WebLocationChangeDelegate willCloseLocationForDataSource:]):  Default impl.
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient continueAfterNavigationPolicy:formState:]):
        Pass FormState instead of just values.
        (-[WebMainResourceClient resource:willSendRequest:]):
        Pass FormState instead of just values.

2003-02-28  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Trey.

        - fixed 3180170 - filepile.com does not work correctly

        I fixed this by making referrer work correctly for targetted
        cross-frame and cross-window links. It is still not working right
        for JavaScript window.open though.
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge createWindowWithURL:frameName:]): Set referrer.
        (-[WebBridge loadURL:referrer:reload:triggeringEvent:formValues:]): Pass referrer
        along to frame.
        (-[WebBridge postWithURL:referrer:data:contentType:triggeringEvent:formValues:]):
        Likewise.
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _loadItem:fromItem:withLoadType:]): Pass referrer.
        (-[WebFrame
        _loadURL:referrer:loadType:triggeringEvent:formValues:]): Use
        passed-in referrer (link could have been clicked in another
        frame).
        (-[WebFrame _loadURL:intoChild:]): Pass referrer.
        (-[WebFrame
        _postWithURL:referrer:data:contentType:triggeringEvent:formValues:]):
        Use passed-in referrer.

2003-02-28  Darin Adler  <darin@apple.com>

        Reviewed by Trey.

        - fixed 3183575 -- <https://sbcreg.sbcglobal.net> casuses infinite refresh & crash
        
        The page had history.forward(1) which was causing us to reload.

        * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge goBackOrForward:]):
        Handle edge cases by checking backListCount and forwardListCount at this level.
        Be sure to do nothing when we are already on the right page.

        * History.subproj/WebBackForwardList.h: Added forwardListCount, updated comment for entryAtIndex.
        * History.subproj/WebBackForwardList.m:
        (-[WebBackForwardList forwardListCount]): Added.
        (-[WebBackForwardList entryAtIndex:]): Return nil for out of range indices.
        
2003-02-27  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Richard.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge window]): Avoid calling removed call.
        * WebView.subproj/WebView.m: Remove override of window method.
        * WebView.subproj/WebWindowOperationsDelegate.h: 
        Adjust for new API.
=== Safari-64 ===

=== Safari-63 ===

2003-02-26  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Dave.

        - fixed reproducible hang at http://asp.eltonsoft.dk/cast/get.asp?cat=Quicktime

        WebKit's processing time was O(N^3) in the number of
        frames. Improved it to O(N^2) by storing frame pointer directly in
        WebDataSource instead of linear scan. Could still be improved more.
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource webFrame]):
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSourcePrivate dealloc]):
        (-[WebDataSource _stopLoadingWithError:]):
        (-[WebDataSource _setWebFrame:]):
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _detachFromParent]):
        (-[WebFrame _setDataSource:]):
        (-[WebFrame _transitionToCommitted:]):
        (-[WebFrame _isLoadComplete]):
        (-[WebFrame _clearProvisionalDataSource]):
        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formValues:]):
        (-[WebFrame _loadDataSource:withLoadType:formValues:]):
        (-[WebFrame _setProvisionalDataSource:]):

2003-02-26  Richard Williamson   <rjw@apple.com>

        Fixed 3102760.  Removed WebDocumentDragSettings from API.
        
        Reviewed by Chris.

        * WebView.subproj/WebDocument.h:
        * WebView.subproj/WebHTMLView.h:
        * WebView.subproj/WebHTMLView.m:
        * WebView.subproj/WebImageView.h:
        * WebView.subproj/WebImageView.m:
        (-[WebImageView initWithFrame:]):
        (-[WebImageView mouseDragged:]):
        * WebView.subproj/WebTextView.h:
        * WebView.subproj/WebTextView.m:
        (-[WebTextView initWithFrame:]):
        (-[WebTextView layout]):

2003-02-25  David Hyatt  <hyatt@apple.com>

        Fix for bug #3181249.  Ensure the padding argument gets passed
        through properly (instead of just passing 0).
        Reviewed by darin

        * WebCoreSupport.subproj/WebTextRenderer.m:

2003-02-25  John Sullivan  <sullivan@apple.com>

        WebKit part of fix for 3181290 -- need call to reload all bookmarks from disk, 
        for synching's sake.

        I ended up not adding a new call, but making the existing loadBookmarkGroup
        work better when called after the initial load. It wasn't doing anything wrong
        before; it just wasn't passing along enough information to clients to enable
        them to do the right thing.

        Reviewed by Trey

        * Bookmarks.subproj/WebBookmarkGroup.h:
        new extern NSStrings WebBookmarksWillBeReloadedNotification and
        WebBookmarksWereReloadedNotification

        * Bookmarks.subproj/WebBookmarkGroup.m:
        (-[WebBookmarkGroup _sendNotification:forBookmark:children:]):
        soften assert so it doesn't fire on the new cases.

        (-[WebBookmarkGroup _bookmarksWillBeReloaded]):
        send WebBookmarksWillBeReloadedNotification
        (-[WebBookmarkGroup _bookmarksWereReloaded]):
        send WebBookmarksWereReloadedNotification

        (-[WebBookmarkGroup _loadBookmarkGroupGuts]):
        bracket the load with the new notification-sending calls

        * WebKit.exp:
        add the two new extern NSStrings

2003-02-25  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed 3176962 -- add KHTML somewhere in the user agent string

        * English.lproj/StringsNotToBeLocalized.txt: Change "(like Gecko)" to "(KHTML, like Gecko)".
        * WebView.subproj/WebController.m: (-[WebController userAgentForURL:]): Ditto.

2003-02-20  Chris Blumenberg  <cblu@apple.com>

        Added _web_superviewOfClass:stoppingAtClass:. Climbs up hierarchy and returns nil when stoppingAtClass is hit.

        Reviewed by darin.

        * Misc.subproj/WebNSViewExtras.h:
        * Misc.subproj/WebNSViewExtras.m:
        (-[NSView _web_superviewOfClass:stoppingAtClass:]):
        (-[NSView _web_superviewOfClass:]):

2003-02-20  Ken Kocienda  <kocienda@apple.com>

        Reviewed by David

        Modified to use new WebFoundation API. Though there seem to be
        many changes, they are all "uninteresting" in that the changes
        only moved code to use new method and class names.

        * Downloads.subproj/WebDownload.h:
        * Downloads.subproj/WebDownload.m:
        (-[WebDownload initWithRequest:delegate:]):
        (-[WebDownload _initWithLoadingHandle:request:response:delegate:]):
        (-[WebDownload createFileIfNecessary]):
        * Downloads.subproj/WebDownloadPrivate.h:
        * Misc.subproj/WebIconLoader.h:
        * Misc.subproj/WebIconLoader.m:
        (-[WebIconLoader startLoading]):
        (-[WebIconLoader resourceDidFinishLoading:]):
        (-[WebIconLoader resource:willSendRequest:]):
        (-[WebIconLoader resource:didReceiveResponse:]):
        (-[WebIconLoader resource:didReceiveData:]):
        (-[WebIconLoader resource:didFailLoadingWithError:]):
        * Misc.subproj/WebResourceResponseExtras.h:
        * Misc.subproj/WebResourceResponseExtras.m:
        (-[WebHTTPResponse suggestedFilenameForSaving]):
        * Plugins.subproj/WebBaseNetscapePluginStream.h:
        * Plugins.subproj/WebBaseNetscapePluginStream.m:
        (-[WebBaseNetscapePluginStream setResponse:]):
        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView sendEvent:]):
        (-[WebBaseNetscapePluginView requestWithURLCString:]):
        (-[WebBaseNetscapePluginView loadPluginRequest:]):
        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
        (-[WebBaseNetscapePluginView getURLNotify:target:notifyData:]):
        (-[WebBaseNetscapePluginView getURL:target:]):
        (-[WebBaseNetscapePluginView postURLNotify:target:len:buf:file:notifyData:]):
        (-[WebPluginRequest initWithRequest:frame:notifyData:]):
        (-[WebPluginRequest request]):
        * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h:
        * Plugins.subproj/WebNetscapePluginDocumentView.m:
        * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
        (-[WebNetscapePluginEmbeddedView viewDidMoveToWindow]):
        * Plugins.subproj/WebNetscapePluginRepresentation.m:
        (-[WebNetscapePluginRepresentation receivedError:withDataSource:]):
        * Plugins.subproj/WebNetscapePluginStream.h:
        * Plugins.subproj/WebNetscapePluginStream.m:
        (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]):
        (-[WebNetscapePluginStream resource:didReceiveResponse:]):
        (-[WebNetscapePluginStream resource:didReceiveData:]):
        (-[WebNetscapePluginStream resourceDidFinishLoading:]):
        (-[WebNetscapePluginStream resource:didFailLoadingWithError:]):
        * Plugins.subproj/WebPluginController.m:
        (-[WebPluginController showURL:inFrame:]):
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge createWindowWithURL:frameName:]):
        (-[WebBridge objectLoadedFromCacheWithURL:response:size:]):
        (-[WebBridge defersLoading]):
        (-[WebBridge setDefersLoading:]):
        (-[WebBridge loadEmptyDocumentSynchronously]):
        * WebCoreSupport.subproj/WebCookieAdapter.m:
        (-[WebCookieAdapter cookiesForURL:]):
        (-[WebCookieAdapter setCookies:forURL:policyBaseURL:]):
        * WebCoreSupport.subproj/WebSubresourceClient.h:
        * WebCoreSupport.subproj/WebSubresourceClient.m:
        (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
        (-[WebSubresourceClient resource:willSendRequest:]):
        (-[WebSubresourceClient resource:didReceiveResponse:]):
        (-[WebSubresourceClient resource:didReceiveData:]):
        (-[WebSubresourceClient resourceDidFinishLoading:]):
        (-[WebSubresourceClient resource:didFailLoadingWithError:]):
        * WebView.subproj/WebBaseResourceHandleDelegate.h:
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate startLoading:]):
        (-[WebBaseResourceHandleDelegate loadWithRequest:]):
        (-[WebBaseResourceHandleDelegate setDefersCallbacks:]):
        (-[WebBaseResourceHandleDelegate resource:willSendRequest:]):
        (-[WebBaseResourceHandleDelegate resource:didReceiveResponse:]):
        (-[WebBaseResourceHandleDelegate resource:didReceiveData:]):
        (-[WebBaseResourceHandleDelegate resourceDidFinishLoading:]):
        (-[WebBaseResourceHandleDelegate resource:didFailLoadingWithError:]):
        (-[WebBaseResourceHandleDelegate cancelledError]):
        * WebView.subproj/WebController.h:
        * WebView.subproj/WebController.m:
        (-[WebResourceLoadDelegate identifierForInitialRequest:fromDataSource:]):
        (-[WebResourceLoadDelegate resource:willSendRequest:fromDataSource:]):
        (-[WebResourceLoadDelegate resource:didReceiveResponse:fromDataSource:]):
        * WebView.subproj/WebControllerPolicyDelegate.h:
        * WebView.subproj/WebControllerPrivate.h:
        * WebView.subproj/WebControllerPrivate.m:
        (-[WebController _downloadURL:toDirectory:]):
        (-[WebController defersCallbacks]):
        (-[WebController setDefersCallbacks:]):
        (-[WebController _openNewWindowWithRequest:behind:]):
        * WebView.subproj/WebDataSource.h:
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource initWithURL:]):
        (-[WebDataSource initWithRequest:]):
        (-[WebDataSource initialRequest]):
        (-[WebDataSource request]):
        (-[WebDataSource response]):
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _addSubresourceClient:]):
        (-[WebDataSource _stopLoading]):
        (-[WebDataSource _setURL:]):
        (-[WebDataSource _setRequest:]):
        (-[WebDataSource _setResponse:]):
        (-[WebDataSource _commitIfReady:]):
        (-[WebDataSource _defersCallbacksChanged]):
        (-[WebDataSource _originalRequest]):
        (-[WebDataSource _lastCheckedRequest]):
        (-[WebDataSource _setLastCheckedRequest:]):
        (-[WebDataSource _addResponse:]):
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultContextMenuDelegate contextMenuItemsForElement:defaultMenuItems:]):
        (-[WebDefaultContextMenuDelegate openNewWindowWithURL:]):
        * WebView.subproj/WebDefaultPolicyDelegate.m:
        (-[WebDefaultPolicyDelegate savePathForResponse:andRequest:]):
        (-[WebDefaultPolicyDelegate decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]):
        * WebView.subproj/WebFrame.h:
        * WebView.subproj/WebFrame.m:
        (-[WebFrame loadRequest:]):
        (-[WebFrame reload]):
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _createItem]):
        (-[WebFrame _opened]):
        (-[WebFrame _loadItem:fromItem:withLoadType:]):
        (-[WebFrame _loadRequest:triggeringAction:loadType:formValues:]):
        (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]):
        (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formValues:andCall:withSelector:]):
        (-[WebFrame _continueAfterNavigationPolicy:]):
        (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formValues:]):
        (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]):
        (-[WebFrame _loadURL:loadType:triggeringEvent:formValues:]):
        (-[WebFrame _postWithURL:data:contentType:triggeringEvent:formValues:]):
        (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]):
        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formValues:]):
        (-[WebFrame _downloadRequest:toDirectory:]):
        * WebView.subproj/WebHTMLRepresentation.m:
        * WebView.subproj/WebMainResourceClient.h:
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient continueAfterNavigationPolicy:formValues:]):
        (-[WebMainResourceClient resource:willSendRequest:]):
        (-[WebMainResourceClient continueAfterContentPolicy:response:]):
        (-[WebMainResourceClient checkContentPolicyForResponse:andCallSelector:]):
        (-[WebMainResourceClient resource:didReceiveResponse:]):
        (-[WebMainResourceClient resource:didReceiveData:]):
        (-[WebMainResourceClient resourceDidFinishLoading:]):
        (-[WebMainResourceClient resource:didFailLoadingWithError:]):
        (-[WebMainResourceClient startLoading:]):
        * WebView.subproj/WebResourceLoadDelegate.h:
        * WebView.subproj/WebTextRepresentation.m:
        * WebView.subproj/WebTextView.m:
        * WebView.subproj/WebView.m:
        (-[WebView concludeDragOperation:]):
        * WebView.subproj/WebViewPrivate.m:
        * WebView.subproj/WebWindowOperationsDelegate.h:

2003-02-18  Maciej Stachowiak  <mjs@ap0101m-dhcp138.apple.com>

        Reviewed by Chris.
        Merged changes from Safari-58-1-branch.
    2003-02-11  Richard Williamson   <rjw@apple.com>

        Add import of CGFontCache.h, which is no longer
        included by CoreGraphicsPrivate.h.
        
        Reviewed by Vicki.

        * WebCoreSupport.subproj/WebTextRendererFactory.m:

    2003-02-11  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        * WebCoreSupport.subproj/WebTextRenderer.m: Change (void **) cast
        to (void *) for compatibility with the latest Panther.
    2003-02-11  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Trey.

        * WebKit.pbproj/project.pbxproj: Add /System/Library/PrivateFrameworks

=== Safari-62 ===

2003-02-17  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Trey

        Rolled in documentation changes from Peter Kelly, our tech writer.

        * History.subproj/WebBackForwardList.h
        * History.subproj/WebHistory.h
        * Misc.subproj/WebKitErrors.h
        * Misc.subproj/WebResourceResponseExtras.h
        * Panels.subproj/WebStandardPanels.h
        * Plugins.subproj/WebPluginError.h
        * WebView.subproj/WebContextMenuDelegate.h
        * WebView.subproj/WebController.h
        * WebView.subproj/WebControllerPolicyDelegate.h
        * WebView.subproj/WebDataSource.h
        * WebView.subproj/WebDefaultPolicyDelegate.h
        * WebView.subproj/WebDocument.h
        * WebView.subproj/WebFrame.h
        * WebView.subproj/WebPreferences.h
        * WebView.subproj/WebResourceLoadDelegate.h
        * WebView.subproj/WebView.h
        * WebView.subproj/WebWindowOperationsDelegate.h

2003-02-13  Trey Matteson  <trey@apple.com>

        2943514 hide the cursor when using the arrow keys to scroll
        Reviewed by Darin

        * WebView.subproj/WebView.m:
        (-[WebView keyDown:]):  Hide that cursor.

2003-02-16  Chris Blumenberg  <cblu@apple.com>

        Added debug method that can be used inside of gdb to examine an image. Needed this many times.

        Reviewed by darin.

        * Misc.subproj/WebNSImageExtras.h:
        * Misc.subproj/WebNSImageExtras.m:
        (-[NSImage _web_saveAndOpen]):

2003-02-15  Darin Adler  <darin@apple.com>

        * English.lproj/Localizable.strings: Regenerated.

2003-02-14  David Hyatt  <hyatt@apple.com>

        Patch to the drawLine function for the inline box model landing.
        Reviewed by kocienda

        * WebCoreSupport.subproj/WebTextRenderer.m:

2003-02-13  Trey Matteson  <trey@apple.com>

        First checkin for working forms autocomplete.

        This level mostly just has glue to go from app to WC through the bridge.
        WebHTMLReo exports some new SPI to get the element of a view, and then to get
        some HTML-level properties of that element.

        Reviewed by Chris

        * Bookmarks.subproj/WebBookmarkGroup.m:
        (-[WebBookmarkGroup _saveBookmarkGroupGuts]):  Don't dump entire bookmark
        dict in the log.
        * WebKit.exp:  New class used by app, objc_class_name_WebHTMLRepresentation.
        * WebView.subproj/WebHTMLRepresentation.h:
        * WebView.subproj/WebHTMLRepresentation.m:
        (-[WebHTMLRepresentation elementForView:]):  New SPI.
        (-[WebHTMLRepresentation elementDoesAutoComplete:]):  New SPI.
        (-[WebHTMLRepresentation elementIsInLoginForm:]):  New SPI.

2003-02-13  Chris Blumenberg  <cblu@apple.com>

        Fixed WebKit typos found by Peter Wilson.

        Reviewed by darin.

        * Misc.subproj/WebKitErrors.h:
        * Misc.subproj/WebKitErrors.m:
        (categoryInitialize): Error should be WebErrorDescriptionCannotFindApplicationForURL not WebErrorDescriptionCannotNotFindApplicationForURL
        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): call findOrCreateFrameNamed
        * Plugins.subproj/WebPluginController.m:
        (-[WebPluginController showURL:inFrame:]): call findOrCreateFrameNamed
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge findOrCreateFrameNamed:]): call findOrCreateFrameNamed
        * WebView.subproj/WebFrame.h:
        * WebView.subproj/WebFrame.m:
        (-[WebFrame findOrCreateFrameNamed:]): fixed name
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _continueAfterNavigationPolicy:]): use WebErrorDescriptionCannotFindApplicationForURL
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient continueAfterContentPolicy:response:]): use WebErrorDescriptionCannotFindApplicationForURL
        * WebView.subproj/WebView.h:
        * WebView.subproj/WebView.m:
        (-[WebView setAllowsScrolling:]): cast to WebDynamicScrollBarsView
        (-[WebView allowsScrolling]): cast to WebDynamicScrollBarsView
        (-[WebView frameScrollView]): return NSScrollView
        * WebView.subproj/WebViewPrivate.m:
        (-[WebView _setDocumentView:]): cast to WebDynamicScrollBarsView

2003-02-12  Chris Blumenberg  <cblu@apple.com>

        - Moved the WebKit error registration out of WebView because apps that use WebKit but not WebView might need to use WebKit errors (like my test app for WebDownload).
        - Added file close and file move errors (needed for WebDownload).

        Reviewed by kocienda.

        * English.lproj/Localizable.strings: Localize file close and file move errors.
        * Misc.subproj/WebKitErrors.h: Added file close and file move errors.
        * Misc.subproj/WebKitErrors.m: Added.
        (+[WebError initialize]): register the errors here
        * WebKit.exp: Export the WebDownload class (forgot to do this earlier).
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebView.m: don't register the errors here

2003-02-12  Darin Adler  <darin@apple.com>

        Reviewed by Ken.

        - fixed 3158484 -- after submission failure, submitting a second time doesn't work

        * WebView.subproj/WebDataSourcePrivate.h: Added _receivedError:complete: method.
        * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _receivedError:complete:]):
        Added, parallel to _receivedData and _finishedLoading. Calls the new bridge method
        didNotOpenURL: for cases where we fail before committing (which calls openURL).
        Note that we can't use our own _bridge method because it asserts that we have committed
        to prevent accidental misuse. Also make the call on the controller that used to be done
        directly by the client.

        * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient receivedError:complete:]):
        Call the new -[WebDataSource _receivedError:complete:] rather than calling the controller directly.

2003-02-11  Darin Adler  <darin@apple.com>

        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.

2003-02-11  Darin Adler  <darin@apple.com>

        Reviewed by Ed.

        - applied a fixed version of Ed Voas's change to make plug-ins position correctly
          inside Carbon metal windows; should have no effect on Safari

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]):
        Don't assume that the Cocoa concept of the content view matches up with the Carbon
        concept of where the port is positioned. Instead, convert coordinates to border
        view coordinates, then back to Carbon content coordinates by using the delta between
        the port bounds and the port's pixmap bounds. Bug 3160710 was caused by an older version
        of this patch implicitly assuming the port bounds always had (0,0) for top left.

2003-02-11  Trey Matteson  <trey@apple.com>

        Set -seg1addr in our build styles, but not for the B&I build.
        This makes our SYMROOTS from B&I usable to determine symbols from crash
        logs from the field.
        Also nuked DeploymentFat build style.

        Reviewed by Ken.

        * WebKit.pbproj/project.pbxproj:

2003-02-10  Chris Blumenberg  <cblu@apple.com>

        Added HeaderDoc comments for WebDownload and WebPluginError.

        Reviewed by rjw.

        * Downloads.subproj/WebDownload.h:
        * Plugins.subproj/WebPluginError.h:

2003-02-10  Trey Matteson  <trey@apple.com>

        Following the recent fix for ensuring that we always have a FormDelegate,
        when we need a default policy delegate we use a shared one instead of allocing
        a new one each time, which then would leak.

        This included getting rid of the initWithWebController: method in the 
        WebDefaultPolicyDelegate API.  The arg was not used.

        Reviewed by Richard

        * WebKit.pbproj/project.pbxproj:  new private header
        * WebView.subproj/WebController.m:
        (-[WebController policyDelegate]):  use shared delegate if none set
        * WebView.subproj/WebDefaultPolicyDelegate.h:
        * WebView.subproj/WebDefaultPolicyDelegate.m:
        (+[WebDefaultPolicyDelegate _sharedWebPolicyDelegate]):  return shared instance
        * WebView.subproj/WebDefaultPolicyDelegatePrivate.h: Added.
        * WebView.subproj/WebFormDelegate.m:
        (+[WebFormDelegate _sharedWebFormDelegate]):  Trivial renaming of static.

2003-02-10  Richard Williamson   <rjw@apple.com>

        Update API issues document.
        
        * API-Issues.rtf:

2003-02-10  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3168888 - REGRESSION: many downloads fail (due to -36 error from write)

        Reviewed by darin.

        * Downloads.subproj/WebDownload.m:
        (-[WebDownload writeForkData:isDataFork:]):

2003-02-10  Trey Matteson  <trey@apple.com>

        Make sure we have a FormsDelegate installed with NOP behavior if our client
        does not set one.  Editing forms was broken for Ed by the introduction
        of the new FormDelegate.

        Reviewed by Darin.

        * WebKit.pbproj/project.pbxproj:  Added new header file.
        * WebView.subproj/WebControllerPrivate.m:
        (-[WebController _formDelegate]):  Use shared delegate if none set yet.
        * WebView.subproj/WebFormDelegatePrivate.h:  New header.
        * WebView.subproj/WebFormDelegate.h:  Nit cleanup.
        * WebView.subproj/WebFormDelegate.m:
        (+[WebFormDelegate _sharedWebFormDelegate]):  New method to return a shared
        NOP implementation.

2003-02-07  Richard Williamson   <rjw@apple.com>

        Changes to support per WebController preferences.
        
        Reviewed by Maciej and Ken.

        * WebView.subproj/WebController.m:
        (-[WebController setPreferences:]):
        * WebView.subproj/WebControllerPrivate.h:
        * WebView.subproj/WebControllerPrivate.m:
        (-[WebControllerPrivate init]):
        (-[WebControllerPrivate dealloc]):
        (-[WebController _setFormDelegate:]):
        (-[WebController _formDelegate]):
        (-[WebController _settings]):
        (-[WebController _updateWebCoreSettingsFromPreferences:]):
        (-[WebController _releaseUserAgentStrings]):
        (-[WebController _preferencesChangedNotification:]):
        * WebView.subproj/WebFrame.m:
        (-[WebFrame initWithName:webView:controller:]):
        * WebView.subproj/WebPreferences.h:
        * WebView.subproj/WebPreferences.m:
        (-[WebPreferences _postPreferencesChangesNotification]):
        (+[WebPreferences load]):
        (-[WebPreferences _stringValueForKey:]):
        (-[WebPreferences _setStringValue:forKey:]):
        (-[WebPreferences _integerValueForKey:]):
        (-[WebPreferences _setIntegerValue:forKey:]):
        (-[WebPreferences _boolValueForKey:]):
        (-[WebPreferences _setBoolValue:forKey:]):
        (-[WebPreferences standardFontFamily]):
        (-[WebPreferences setStandardFontFamily:]):
        (-[WebPreferences fixedFontFamily]):
        (-[WebPreferences setFixedFontFamily:]):
        (-[WebPreferences serifFontFamily]):
        (-[WebPreferences setSerifFontFamily:]):
        (-[WebPreferences sansSerifFontFamily]):
        (-[WebPreferences setSansSerifFontFamily:]):
        (-[WebPreferences cursiveFontFamily]):
        (-[WebPreferences setCursiveFontFamily:]):
        (-[WebPreferences fantasyFontFamily]):
        (-[WebPreferences setFantasyFontFamily:]):
        (-[WebPreferences defaultFontSize]):
        (-[WebPreferences setDefaultFontSize:]):
        (-[WebPreferences defaultFixedFontSize]):
        (-[WebPreferences setDefaultFixedFontSize:]):
        (-[WebPreferences minimumFontSize]):
        (-[WebPreferences setMinimumFontSize:]):
        (-[WebPreferences defaultTextEncodingName]):
        (-[WebPreferences setDefaultTextEncodingName:]):
        (-[WebPreferences userStyleSheetEnabled]):
        (-[WebPreferences setUserStyleSheetEnabled:]):
        (-[WebPreferences userStyleSheetLocation]):
        (-[WebPreferences setUserStyleSheetLocation:]):
        (-[WebPreferences JavaEnabled]):
        (-[WebPreferences setJavaEnabled:]):
        (-[WebPreferences JavaScriptEnabled]):
        (-[WebPreferences setJavaScriptEnabled:]):
        (-[WebPreferences JavaScriptCanOpenWindowsAutomatically]):
        (-[WebPreferences setJavaScriptCanOpenWindowsAutomatically:]):
        (-[WebPreferences pluginsEnabled]):
        (-[WebPreferences setPluginsEnabled:]):
        (-[WebPreferences allowAnimatedImages]):
        (-[WebPreferences allowAnimatedImageLooping]):
        (-[WebPreferences setAllowAnimatedImageLooping:]):
        (-[WebPreferences setWillLoadImagesAutomatically:]):
        (-[WebPreferences willLoadImagesAutomatically]):
        (-[WebPreferences _initialTimedLayoutDelay]):
        (-[WebPreferences _initialTimedLayoutSize]):
        (-[WebPreferences _pageCacheSize]):
        (-[WebPreferences _objectCacheSize]):
        (-[WebPreferences _initialTimedLayoutEnabled]):
        (-[WebPreferences _resourceTimedLayoutDelay]):
        (-[WebPreferences _resourceTimedLayoutEnabled]):
        * WebView.subproj/WebPreferencesPrivate.h:

2003-02-06  Chris Blumenberg  <cblu@apple.com>

        - Made WebDownload.h a public header.
        - Added stubs for the new methods.
        - Moved all private methods to the WebPrivate category.
        - Added FIXMEs for things that needed to be removed or implemented.

        Reviewed by rjw.

        * Downloads.subproj/WebDownload.h:
        * Downloads.subproj/WebDownload.m:
        (-[WebDownload initWithRequest:delegate:]):
        (-[WebDownload dealloc]):
        (-[WebDownload cancel]):
        (-[WebDownload _initWithLoadingHandle:request:response:delegate:]):
        (-[WebDownload initWithDataSource:]):
        (-[WebDownload receivedData:]):
        (-[WebDownload finishedLoading]):
        (-[WebDownload decodeHeaderData:dataForkData:resourceForkData:]):
        (-[WebDownload decodeData:dataForkData:resourceForkData:]):
        (-[WebDownload createFileIfNecessary]):
        (-[WebDownload writeDataForkData:resourceForkData:]):
        (-[WebDownload dataIfDoneBufferingData:]):
        (-[WebDownload decodeData:]):
        (-[WebDownload finishDecoding]):
        * Downloads.subproj/WebDownloadPrivate.h:
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebMainResourceClient.m:

2003-02-06  Chris Blumenberg  <cblu@apple.com>

        Renamed WebDownloadHandler to WebDownload.
        Made ivars of WebDownload private.

        Reviewed by kocienda.

        * Downloads.subproj/WebDownload.h: Added.
        * Downloads.subproj/WebDownload.m: Added.
        (-[WebDownloadPrivate init]):
        (-[WebDownloadPrivate dealloc]):
        (-[WebDownload initWithDataSource:]):
        (-[WebDownload dealloc]):
        (-[WebDownload decodeHeaderData:dataForkData:resourceForkData:]):
        (-[WebDownload decodeData:dataForkData:resourceForkData:]):
        (-[WebDownload closeFork:deleteFile:]):
        (-[WebDownload closeFileAndDelete:]):
        (-[WebDownload closeFile]):
        (-[WebDownload cleanUpAfterFailure]):
        (-[WebDownload createFileIfNecessary]):
        (-[WebDownload writeDataForkData:resourceForkData:]):
        (-[WebDownload dataIfDoneBufferingData:]):
        (-[WebDownload decodeData:]):
        (-[WebDownload receivedData:]):
        (-[WebDownload finishDecoding]):
        (-[WebDownload finishedLoading]):
        (-[WebDownload cancel]):
        (-[WebDownload path]):
        (-[WebDownload writeForkData:isDataFork:]):
        (-[WebDownload errorWithCode:]):
        (-[WebDownload cancelWithError:]):
        (-[WebDownload dataForkReferenceNumber]):
        (-[WebDownload setDataForkReferenceNumber:]):
        (-[WebDownload resourceForkReferenceNumber]):
        (-[WebDownload setResourceForkReferenceNumber:]):
        (-[WebDownload areWritesCancelled]):
        (-[WebDownload setWritesCancelled:]):
        (WriteCompletionCallback):
        (CloseCompletionCallback):
        (DeleteCompletionCallback):
        * Downloads.subproj/WebDownloadHandler.h: Removed.
        * Downloads.subproj/WebDownloadHandler.m: Removed.
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebController.h:
        * WebView.subproj/WebDataSource.m:
        * WebView.subproj/WebDataSourcePrivate.m:
        * WebView.subproj/WebMainResourceClient.h:
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient dealloc]):
        (-[WebMainResourceClient download]):
        (-[WebMainResourceClient isDownload]):
        (-[WebMainResourceClient receivedError:complete:]):
        (-[WebMainResourceClient continueAfterContentPolicy:response:]):
        (-[WebMainResourceClient handle:didReceiveData:]):
        (-[WebMainResourceClient handleDidFinishLoading:]):

2003-02-06  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3125067 - Investigate performance implications of writing download file data
        Reviewed by trey, rjw, darin.

        * Downloads.subproj/WebDownloadHandler.h:
        * Downloads.subproj/WebDownloadHandler.m:
        (-[WebDownloadHandler closeFileAndDelete:]): close the file asynchronously
        (-[WebDownloadHandler closeFile]): call closeFileAndDelete:NO
        (-[WebDownloadHandler cleanUpAfterFailure]): call closeFileAndDelete:YES
        (-[WebDownloadHandler writeDataForkData:resourceForkData:]): call writeForkData:isDataFork:
        (-[WebDownloadHandler path]): new
        (-[WebDownloadHandler writeForkData:isDataFork:]): writes file asynchronously
        (-[WebDownloadHandler errorWithCode:]): moved
        (-[WebDownloadHandler cancelWithError:]): new, stops load with error
        (-[WebDownloadHandler dataForkReferenceNumber]): new 
        (-[WebDownloadHandler setDataForkReferenceNumber:]): new
        (-[WebDownloadHandler resourceForkReferenceNumber]): new
        (-[WebDownloadHandler setResourceForkReferenceNumber:]): new
        (WriteCompletionCallback): new
        (CloseCompletionCallback): new, removes file if necessary
        (DeleteCompletionCallback): new,
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _stopLoadingWithError:]): new

2003-02-06  Trey Matteson  <trey@apple.com>

        3137647 - ad frames get their own history entries at channels.netscape.com        3133844 - 2 items in back list at http://www.kiup-bank.com/personal/main01.html

        Move logic for deciding on "quick redirect" down to WebCore, where we really know
        what case we're in instead of having to guess from the params we were receiving.

        Reviewed by Maciej, Darin.

        * Plugins.subproj/WebNetscapePluginDocumentView.m:
        (-[WebNetscapePluginDocumentView setDataSource:]):  Fix build error (URL vs String)
        * WebView.subproj/WebFramePrivate.h:  Nuke Completing state.
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _transitionToLayoutAcceptable]):  Nuke Completing state.
        (-[WebFrame _transitionToCommitted:]):  Nuke Completing state.
        (-[WebFrame _isLoadComplete]):  Nuke Completing state.
        (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:]):
        Just obey lockHistory param when deciding whether we are doing a "client redirect"
        instead of previous guesswork.

2003-02-06  Richard Williamson   <rjw@apple.com>

        Rename WebError to WebKitError.
        
        Reviewed by maciej.

        * API-Issues.rtf:
        * Bookmarks.subproj/WebBookmarkImporter.m:
        (-[WebBookmarkImporter initWithPath:]):
        * Downloads.subproj/WebDownloadHandler.m:
        (-[WebDownloadHandler createFileIfNecessary]):
        (-[WebDownloadHandler writeDataForkData:resourceForkData:]):
        (-[WebDownloadHandler decodeData:]):
        (-[WebDownloadHandler finishedLoading]):
        * Misc.subproj/WebKitErrors.h:
        * Plugins.subproj/WebNetscapePluginDocumentView.m:
        (-[WebNetscapePluginDocumentView setDataSource:]):
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]):
        (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]):
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate notifyDelegatesOfInterruptionByPolicyChange]):
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _continueAfterNavigationPolicy:]):
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient interruptForPolicyChangeAndKeepLoading:]):
        (-[WebMainResourceClient continueAfterContentPolicy:response:]):
        * WebView.subproj/WebView.m:
        (+[WebView initialize]):

2003-02-05  Chris Blumenberg  <cblu@apple.com>

        Comment should have been "Made WebPluginError constructors private."

        * ChangeLog:

2003-02-05  Chris Blumenberg  <cblu@apple.com>

        WebKit API clean-up:
        - Added enum to WebContextMenuDelegate that is the menu item tag of the menu items passed in the default menu item array.
        - WebPluginError should return URL strings.
        - Made WebPluginError constructors private.

        Reviewed by rjw.

        * Plugins.subproj/WebNetscapePluginDocumentView.m:
        (-[WebNetscapePluginDocumentView setDataSource:]):
        * Plugins.subproj/WebPluginError.h:
        * Plugins.subproj/WebPluginError.m:
        (-[WebPluginError pluginPageURL]):
        * Plugins.subproj/WebPluginErrorPrivate.h: Added.
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]):
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebContextMenuDelegate.h:
        * WebView.subproj/WebDefaultContextMenuDelegate.h:
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultContextMenuDelegate menuItemWithTag:]):
        (-[WebDefaultContextMenuDelegate contextMenuItemsForElement:defaultMenuItems:]):

2003-02-04  Trey Matteson  <trey@apple.com>

        WC now tells us the form values being submitted with a get/post.
        We forward this info to a new WebFormDelegate method.  Most of this
        change is just glue passing the formValues through all our layers.

        Reviewed by Maciej

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge loadURL:reload:triggeringEvent:formValues:])
        Pass along formValues.
        (-[WebBridge postWithURL:data:contentType:triggeringEvent:formValues:]):
        Pass along formValues.
        * WebKit.pbproj/project.pbxproj:  Reorder previously added files.
        * WebView.subproj/WebControllerPolicyDelegate.m:  Fix latent copy/paste error
        where two keys had the same underlying string value!
        * WebView.subproj/WebFormDelegate.h:  Declare new delegate method.
        * WebView.subproj/WebFormDelegate.m:
        (-[WebFormDelegate frame:willSubmitFormWithValues:]):   NOP impl of new method.
        * WebView.subproj/WebFrame.m:
        (-[WebFrame loadRequest:]):  Pass nil formValues.
        (-[WebFrame reload]):  Pass nil formValues.
        * WebView.subproj/WebFramePrivate.h:  New ivar to hold form values
        while waiting for the policy delegate response.
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFramePrivate dealloc]):  ASSERT new ivar is nil.
        (-[WebFrame _loadItem:fromItem:withLoadType:]):   Pass nil formValues.
        (-[WebFrame _loadRequest:triggeringAction:loadType:formValues:]):
        Pass along formValues.
        (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]):
        Pass nil formValues to continuation method.
        (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formValues:andCall:withSelector:]):
        Stash formValues before calling policy delegate.
        (-[WebFrame _continueAfterNavigationPolicy:]):
        Resurrect formValues after calling policy delegate, pass to continuation method.
        (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formValues:]):
        Bail on nil request instead of shouldContinue=NO
        (-[WebFrame _loadURL:loadType:triggeringEvent:formValues:]):
        Pass formValues along.
        (-[WebFrame _loadURL:intoChild:]): Pass nil formValues.
        (-[WebFrame _postWithURL:data:contentType:triggeringEvent:formValues:]):
        Pass formValues along.
        (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]):
        Pass nil formValues.
        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formValues:]):
        Bail on nil request instead of shouldContinue=NO.  Call new FormDelegate method.
        (-[WebFrame _loadDataSource:withLoadType:formValues:]):
        Pass formValues along.
        (-[WebFrame _downloadRequest:toDirectory:]):
        Pass nil formValues.
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient continueAfterNavigationPolicy:formValues:]):
        Bail on nil request instead of shouldContinue=NO
        (-[WebMainResourceClient handle:willSendRequest:]):
        Pass nil formValues.

2003-02-05  Richard Williamson   <rjw@apple.com>

        WebHistory* API clenaup.

        Reviewed by Chris.

        * Bookmarks.subproj/WebBookmarkLeaf.m:
        * History.subproj/WebHistory.h:
        * History.subproj/WebHistory.m:
        * History.subproj/WebHistoryItem.h:
        * History.subproj/WebHistoryItem.m:
        (-[WebHistoryItem title]):
        (-[WebHistoryItem setDisplayTitle:]):
        (-[WebHistoryItem hash]):
        (-[WebHistoryItem anchor]):
        (-[WebHistoryItem isEqual:]):
        (-[WebHistoryItem description]):
        (-[WebHistoryItem _retainIconInDatabase:]):
        (+[WebHistoryItem entryWithURL:]):
        (-[WebHistoryItem initWithURL:title:]):
        (-[WebHistoryItem initWithURL:target:parent:title:]):
        (-[WebHistoryItem URL]):
        (-[WebHistoryItem target]):
        (-[WebHistoryItem parent]):
        (-[WebHistoryItem dictionaryRepresentation]):
        (-[WebHistoryItem initFromDictionaryRepresentation:]):
        * History.subproj/WebHistoryItemPrivate.h:
        * History.subproj/WebHistoryPrivate.h:
        * History.subproj/WebHistoryPrivate.m:
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebController.h:
        * WebView.subproj/WebController.m:
        (-[WebController setPreferences:]):
        (-[WebController preferences]):
        * WebView.subproj/WebControllerPrivate.h:
        * WebView.subproj/WebControllerPrivate.m:
        (-[WebControllerPrivate dealloc]):
        * WebView.subproj/WebDataSourcePrivate.m:
        * WebView.subproj/WebFramePrivate.m:

2003-02-05  Richard Williamson   <rjw@apple.com>

        Cleanup public WebHistory API, stage 1.

        Reviewed by trey.

        * History.subproj/WebHistory.h:
        * History.subproj/WebHistory.m:
        (-[_WebCoreHistoryProvider initWithHistory:]):
        (-[_WebCoreHistoryProvider containsEntryForURLString:]):
        (-[_WebCoreHistoryProvider dealloc]):
        (+[WebHistory sharedHistory]):
        (+[WebHistory createSharedHistoryWithFile:]):
        * History.subproj/WebHistoryPrivate.h:
        * History.subproj/WebHistoryPrivate.m:

2003-02-04  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        * WebKit.pbproj/project.pbxproj: Updated to build the framework
        standalone instead of embedded when doing a B&I build for Panther.

2003-02-04  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3163879 - receivedPageIcon:forDataSource: always sends nil image

        Reviewed by rjw.

        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _updateIconDatabaseWithURL:]): 

2003-02-04  Darin Adler  <darin@apple.com>

        Reviewed by Ken.

        - fixed 3135388 -- encoding changes do not affect text in form elements

        The problem was that form data was being saved and restored, and in the case of buttons,
        the form data was the incorrectly decoded button label.

        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _transitionToLayoutAcceptable]): Remove the default: case so we get a warning if
        we omit one of the enum values from this switch statement.
        (-[WebFrame _transitionToCommitted:]): Move the WebFrameLoadTypeReloadAllowingStaleData
        case up so it's right next to the case it should be merged with.
        (-[WebFrame _isLoadComplete]): Remove the default: case so we get a warning if
        we omit one of enum values from this switch statement.
        (-[WebFrame _itemForRestoringDocState]): Replace the if statement with a switch statement.
        Include WebFrameLoadTypeReloadAllowingStaleData, which fixes the bug.

2003-02-03  Richard Williamson   <rjw@apple.com>

        Fixed headerdoc type.
        
        * WebView.subproj/WebDocument.h:

2003-02-03  Richard Williamson   <rjw@apple.com>

        Support for new canProvideDocumentSource and documentSource API.
        Updated all the representations.  Added support to show for RTF source.  
        Moved WebKitInitializeUnicode to to early class.  This was necessary
        because WebCore may use the unicode property functions before WebTextRenderer
        gets initialized.
        Ensured guarantee that identifierForInitialRequest:fromDataSource: is called with
        the first initial request.
        
        Reviewed by maciej.

        * Plugins.subproj/WebNetscapePluginRepresentation.m:
        (-[WebNetscapePluginRepresentation canProvideDocumentSource]):
        (-[WebNetscapePluginRepresentation documentSource]):
        * WebCoreSupport.subproj/WebTextRenderer.m:
        * WebView.subproj/WebBaseResourceHandleDelegate.h:
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate setIdentifier:]):
        * WebView.subproj/WebDataSource.h:
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource initWithRequest:]):
        (-[WebDataSource controller]):
        (-[WebDataSource initialRequest]):
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSourcePrivate dealloc]):
        (-[WebDataSource _startLoading:]):
        (-[WebDataSource _originalRequest]):
        * WebView.subproj/WebDocument.h:
        * WebView.subproj/WebHTMLRepresentation.h:
        * WebView.subproj/WebHTMLRepresentation.m:
        (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
        (-[WebHTMLRepresentation canProvideDocumentSource]):
        * WebView.subproj/WebHTMLView.m:
        (+[WebHTMLView initialize]):
        * WebView.subproj/WebImageRepresentation.m:
        (-[WebImageRepresentation canProvideDocumentSource]):
        (-[WebImageRepresentation documentSource]):
        * WebView.subproj/WebTextRepresentation.h:
        * WebView.subproj/WebTextRepresentation.m:
        (-[WebTextRepresentation dealloc]):
        (-[WebTextRepresentation setDataSource:]):
        (-[WebTextRepresentation finishedLoadingWithDataSource:]):
        (-[WebTextRepresentation canProvideDocumentSource]):
        (-[WebTextRepresentation documentSource]):

2003-02-03  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3163073 - SECURITY: Need to check if filename in encoded download is safe

        Reviewed by kocienda, darin, mjs.

        * Downloads.subproj/WebDownloadHandler.m:
        (-[WebDownloadHandler createFileIfNecessary]): call _web_filenameByFixingIllegalCharacters on the encoded filename

2003-02-01  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin and Ken.

        - fixed 3162581 - 56 debug: Assertion failure displaying pop-up menu while downloading
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient handle:didReceiveResponse:]): No need to assert that the controller is
        not deferred if this is a handle being used for a download.
        (-[WebMainResourceClient handle:didReceiveData:]): Likewise.
        (-[WebMainResourceClient handleDidFinishLoading:]): Likewise.
        (-[WebMainResourceClient handle:didFailLoadingWithError:]): Likewise.

2003-01-31  Trey Matteson  <trey@apple.com>

        New plumbing for autofill/autocomplete.  WebBrowser receives controlText delegate
        messages from our form widgets.  Should result in no behavior change.

        New private API is exposed for the app to set a WebFormDelegate.

        Reviewed by Richard

        * WebCoreSupport.subproj/WebBridge.m:  Pass msgs from WC on to the controller's FormDelegate.
        (formDelegate):  Little utility function.
        (-[WebBridge controlTextDidBeginEditing:]):
        (-[WebBridge controlTextDidEndEditing:]):
        (-[WebBridge controlTextDidChange:]):
        (-[WebBridge control:textShouldBeginEditing:]):
        (-[WebBridge control:textShouldEndEditing:]):
        (-[WebBridge control:didFailToFormatString:errorDescription:]):
        (-[WebBridge control:didFailToValidatePartialString:errorDescription:]):
        (-[WebBridge control:isValidObject:]):
        (-[WebBridge control:textView:doCommandBySelector:]):
        * WebKit.exp:  New class exported.
        * WebKit.pbproj/project.pbxproj:  New WebFormDelegate files.
        * WebView.subproj/WebControllerPrivate.h:  API to set/get FormDelegate.
        * WebView.subproj/WebControllerPrivate.m:
        (-[WebController _setFormDelegate:]):  simple setter
        (-[WebController _formDelegate]):  simple getter
        * WebView.subproj/WebFormDelegate.h: Added.
        * WebView.subproj/WebFormDelegate.m: Added.
        NOP impls for all these delegate methods.
        (-[WebFormDelegate controlTextDidBeginEditing:inFrame:]):
        (-[WebFormDelegate controlTextDidEndEditing:inFrame:]):
        (-[WebFormDelegate controlTextDidChange:inFrame:]):
        (-[WebFormDelegate control:textShouldBeginEditing:inFrame:]):
        (-[WebFormDelegate control:textShouldEndEditing:inFrame:]):
        (-[WebFormDelegate control:didFailToFormatString:errorDescription:inFrame:]):
        (-[WebFormDelegate control:didFailToValidatePartialString:errorDescription:inFrame:]):
        (-[WebFormDelegate control:isValidObject:inFrame:]):
        (-[WebFormDelegate control:textView:doCommandBySelector:inFrame:]):

2003-01-31  Chris Blumenberg  <cblu@apple.com>

        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
        * WebView.subproj/WebController.m: fixed key value

2003-01-31  Chris Blumenberg  <cblu@apple.com>

        Fixed : 3155148 - image shown when dragging gets size from image file, not size as used on page

        Reviewed by darin.

        * Misc.subproj/WebNSViewExtras.h:
        * Misc.subproj/WebNSViewExtras.m:
        (-[NSView _web_dragPromisedImage:rect:URL:fileType:title:event:]): take a rect so we know the original size and origin
        * WebKit.exp: added WebElementImageRectKey
        * WebView.subproj/WebController.h: WebElementImageRectKey
        * WebView.subproj/WebController.m: WebElementImageRectKey
        * WebView.subproj/WebHTMLViewPrivate.m:
        (-[WebHTMLView _handleMouseDragged:]): call _web_dragPromisedImage with WebElementImageRect
        * WebView.subproj/WebImageView.m: 
        (-[WebImageView menuForEvent:]): provide the WebElementImageRect since we do this for other image elements
        (-[WebImageView mouseDragged:]): call _web_dragPromisedImage with [self bounds]

=== Safari-55 ===

2003-01-30  Chris Blumenberg  <cblu@apple.com>

        Backed out my fix for 3161102. Richard and I found problems the fix. 3161102 turns out to not be an issue.

        Reviewed by rjw.

        * History.subproj/WebHistoryItem.m:
        (+[WebHistoryItem _releaseAllPendingPageCaches]):
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView windowWillClose:]):

2003-01-30  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3161102 - Avoid retain cycles by destroying plug-ins in the page cache before dealloc

        Reviewed by rjw.

        * History.subproj/WebHistoryItem.m:
        (+[WebHistoryItem _releaseAllPendingPageCaches]): iterate over all of the plug-ins and call destroy
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView windowWillClose:]): clear page cache

2003-01-30  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3160464 - Slideback sometimes happens twice

        Because we start drags in mouseDragged (which AppKit says we shouldn't), we get mouseDragged events
        after a drag (image, link, text etc) has ended. We also get mouseDragged events after we've sent the
        fake mouseUp to WebCore. That is probably bad for unknown reasons.

        Reviewed by darin.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView mouseDown:]): set ignoringMouseDraggedEvents to NO
        (-[WebHTMLView mouseDragged:]): check ignoringMouseDraggedEvents
        (-[WebHTMLView draggedImage:endedAt:operation:]): set ignoringMouseDraggedEvents to NO
        * WebView.subproj/WebHTMLViewPrivate.h: added ignoringMouseDraggedEvents

2003-01-30  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed 3160710 -- REGRESSION: bizrate.com front page ad in wrong position

        The new code to compute port coordinates was screwing up somehow.
        I had to roll it out and we'll have to try again to fix the problem Ed was fixing.

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]):
        Roll back changes between 1.45 and 1.47.

2003-01-29  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed 3158624 -- crash reentering WebBaseNetscapePluginView removeTrackingRect closing window

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView removeTrackingRect]):
        Set tracking tag to 0 before releasing the window to prevent reentering.

2003-01-29  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin.

        Fix for this bug:

        Radar 3142818 (Downloading many items quickly can cause future page loads to fail)

        The issue was with a mismatch between different object's idea about
        whether callbacks were being deferred. I have simplified the code in this
        area somewhat, and I have added some asserts to make sure that callbacks
        are not sent when deferalls are on. 

        More work will need to be done in callback deferral-land, however. This change
        fixes the bug, but it may not be a good long-term fix.  I will file a bug on 
        the need for this additonal work.

        * WebView.subproj/WebBaseResourceHandleDelegate.h:
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate defersCallbacks]): Added method.
        * WebView.subproj/WebMainResourceClient.h: Removed unneeded defersBeforeCheckingPolicy flag.
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient continueAfterNavigationPolicy:request:]): Unconditionally set 
        callback deferrals to NO.
        (-[WebMainResourceClient handle:willSendRequest:]): Remove all callback deferral code here.
        (-[WebMainResourceClient continueAfterContentPolicy:response:]): Unconditionally set 
        callback deferrals to NO.
        (-[WebMainResourceClient handle:didReceiveResponse:]): Assert that the handle argument
        to this method, the client (self), and the data source's controller all are not
        deferring callbacks.
        Unconditionally set callback deferrals to YES.
        (-[WebMainResourceClient handle:didReceiveData:]): Ditto
        (-[WebMainResourceClient handleDidFinishLoading:]): Ditto
        (-[WebMainResourceClient handle:didFailLoadingWithError:]): Ditto

2003-01-29  John Sullivan  <sullivan@apple.com>

        - fixed 3160116 -- REGRESSION:leak in WebBookmarkLeaf at startup

        Reviewed by Darin

        * Bookmarks.subproj/WebBookmarkLeaf.m:
        (-[WebBookmarkLeaf initFromDictionaryRepresentation:withGroup:]):
        don't leak the _entry that was created in initWithURLString:title:group:

2003-01-29  Trey Matteson  <trey@apple.com>

        3159750 - REGRESSION: cursor is I-beam when over a standalone image

        We now reset the cursor to arrow before switching doc views.

        Also, made various replacements of "id <WebDocumentView>" with "NSView < WebDocumentView> *"
        to get better compile time checking.

        Reviewed by Darin.

        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _makeDocumentView]):  Use NSView*
        (-[WebFrame _transitionToCommitted:]): Use NSView*
        * WebView.subproj/WebViewPrivate.h: Use NSView*
        * WebView.subproj/WebViewPrivate.m:
        (-[WebView _setDocumentView:]): Use NSView*.  Reset cursor.
        (-[WebView _makeDocumentViewForDataSource:]): Use NSView*

2003-01-29  Chris Blumenberg  <cblu@apple.com>

        3159529 - REGRESSION: URLs with no path are saved as "-.html"

        Reviewed by darin, trey, kocienda.

        * Misc.subproj/WebResourceResponseExtras.m:
        (-[NSURL _web_suggestedFilenameForSavingWithMIMEType:]): Don't use the lastPathComponent if it is "/".

2003-01-28  Trey Matteson  <trey@apple.com>

        Removing ERROR() that isn't an error, left over from the Safari-48 download firedrill.

        Reviewed by Chris.

        * Downloads.subproj/WebDownloadHandler.m:
        (-[WebDownloadHandler cleanUpAfterFailure]):  Don't ERROR if we are asked to cleanup
        a file and there is nothing to cleanup.  This can happen in the rare case of the
        download being canceled before the first byte arrives, and we deal properly, no ERROR.

2003-01-28  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3150856 - crash with full-size plugins in frame or iframe

        Reviewed by darin.

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView start]): added assert
        * Plugins.subproj/WebNetscapePluginDocumentView.m:
        (-[WebNetscapePluginDocumentView setDataSource:]): added assert
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _makeDocumentView]): Don't call setDataSource here because the view is not in the view hierarchy at this point.
        * WebView.subproj/WebViewPrivate.m:
        (-[WebView _makeDocumentViewForDataSource:]): Call setDataSource on the document view after it has been placed in the view hierarchy. This what we for the top-level view, so should do this for views in subframes as well.

2003-01-28  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3156172 - No filename correction when downloading images via drag & drop

        Reviewed by mjs, john, trey.

        * WebView.subproj/WebControllerPrivate.h:
        * WebView.subproj/WebControllerPrivate.m:
        (-[WebController _downloadURL:]): call _downloadURL:toDirectory:
        (-[WebController _downloadURL:toDirectory:]): call -[WebFrame _downloadRequest:toDirectory:]
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSourcePrivate dealloc]): release the download directory
        (-[WebDataSource _setDownloadDirectory:]): new
        (-[WebDataSource _downloadDirectory]): new
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _downloadRequest:toDirectory:]): renamed
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): call -[WebController _downloadURL:toDirectory:]
        * WebView.subproj/WebImageView.m:
        (-[WebImageView namesOfPromisedFilesDroppedAtDestination:]): call -[WebController _downloadURL:toDirectory:]
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient continueAfterContentPolicy:response:]): if the data source has a download directory, use it plus the filename from the response as download path

2003-01-28  Trey Matteson  <trey@apple.com>

        2940179 - Arrow cursor should change to link cursor after click of link in non-frontmost window
        3158240 - cursor does not track when switching from panels to safari windows

        Two changes here:  First, we post fake mousemoved events to get the cursor fixed up
        without checking if the mouse is down (WC deals with that now).  That fixes 2940179,
        because the button is down when we get notified of becoming key.

        Second, we observe key window instead of main window notifications everywhere, so we
        update the cursor when clicking between a panel and our doc windows.

        Reviewed by Darin.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView addMouseMovedObserver]):  s/main/key/g
        (-[WebHTMLView addWindowObservers]):    s/main/key/g
        (-[WebHTMLView removeWindowObservers]):  s/main/key/g
        (-[WebHTMLView windowDidBecomeKey:]):  s/main/key/g
        (-[WebHTMLView windowDidResignKey:]):  s/main/key/g
        * WebView.subproj/WebHTMLViewPrivate.m:
        (-[WebHTMLView _frameOrBoundsChanged]):  Always post mousemoved event.

2003-01-28  John Sullivan  <sullivan@apple.com>

        - fixed 3158304 -- Assertion failure cancelling "Add Bookmark"
        or deleting newly-created bookmarks

        Reviewed by Darin

        * Bookmarks.subproj/WebBookmarkGroup.m:
        (-[WebBookmarkGroup _bookmark:changedUUIDFrom:to:]):
        new method that notifies group when a bookmark that's already
        in a group changes its UUID -- the UUID to bookmark dictionary
        updates for this change.

        * Bookmarks.subproj/WebBookmarkGroupPrivate.h:
        private declaration for this method

        * Bookmarks.subproj/WebBookmark.m:
        (-[WebBookmark _setUUID:]):
        notify group when UUID changes
        (-[WebBookmark UUID]):
        ditto

2003-01-28  Darin Adler  <darin@apple.com>

        Reviewed by Ken.

        - fixed 3156197 -- leak in -[WebBookmarkList initFromDictionaryRepresentation:withGroup:]

        * Bookmarks.subproj/WebBookmarkList.m:
        (-[WebBookmarkList initFromDictionaryRepresentation:withGroup:]):
        Fixed storage leak by not allocating the list here, because [self init] will
        be called and that will allocate the list.

2003-01-26  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin and Ken.

        * English.lproj/StringsNotToBeLocalized.txt: Removed unused exception.

2003-01-27  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3156230 - REGRESSION: Java 141: Safari Does Not Stop Applets When Browser Window Closes

        Reviewed by dave.

        * Plugins.subproj/WebPluginController.h:
        * Plugins.subproj/WebPluginController.m:
        (-[WebPluginController destroyAllPlugins]): renamed from HTMLViewWillBeDeallocated because it may get called before the dealloc
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView addWindowObservers]): observe NSWindowWillCloseNotification
        (-[WebHTMLView removeWindowObservers]): remove observer for NSWindowWillCloseNotification
        (-[WebHTMLView windowWillClose:]): call destroyAllPlugins
        * WebView.subproj/WebHTMLViewPrivate.m:
        (-[WebHTMLViewPrivate dealloc]): call destroyAllPlugins

2003-01-27  Richard Williamson   <rjw@apple.com>

        Fixed 3139909.  Fake the resource load delegate messages (minus willSendRequest)
        when a page is loaded from a the page cache.
        
        Reviewed by john.

        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate handle:didReceiveResponse:]):
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSourcePrivate dealloc]):
        (-[WebDataSource _addResponse:]):
        (-[WebDataSource _responses]):
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _opened]):

2003-01-27  Trey Matteson  <trey@apple.com>

        3157104 - reproducible assert in _continueFragmentScrollAfterNavigationPolicy

        Remove assertion, and it turns out the existing code will handle the case.

        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]):

2003-01-27  Richard Williamson   <rjw@apple.com>

        Make emptying the page cache synchronous when "Empty Cache"
        is selected from menu.  More bulletproofing to ensure that
        3155781 doesn't happen.
        
        Reviewed by trey.

        * History.subproj/WebBackForwardList.m:
        (-[WebBackForwardList clearPageCache]):

2003-01-27  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3156235 - change throttle for plug-in null events to 50 frames per second (when frontmost)

        Reviewed by dave.

        * Plugins.subproj/WebBaseNetscapePluginView.m:

2003-01-27  Richard Williamson   <rjw@apple.com>

        Fixed 3151241.  Cleanly handle nil return from resource:willSendRequest:fromDataSource:.
        
        Reviewed by trey.

        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate handle:willSendRequest:]):
        (-[WebBaseResourceHandleDelegate handleDidFinishLoading:]):
        (-[WebBaseResourceHandleDelegate handle:didFailLoadingWithError:]):
        (-[WebBaseResourceHandleDelegate cancelWithError:]):
        * WebView.subproj/WebControllerPrivate.m:
        (-[WebController _mainReceivedError:fromDataSource:complete:]):

2003-01-27  John Sullivan  <sullivan@apple.com>

        - fixed 3156744 -- REGRESSION: Renaming bookmarks dragged 
        into bookmark bar does not work at first

        Reviewed by Darin

        * Bookmarks.subproj/WebBookmarkList.m:
        (-[WebBookmarkList insertChild:atIndex:]):
        was adding self to its own group (a no-op), instead of adding
        the new child to self's group. This was a typo from the
        refactoring to fix 3152427.

2003-01-27  Chris Blumenberg  <cblu@apple.com>

        * English.lproj/StringsNotToBeLocalized.txt: Updated for changes I previously made.

2003-01-26  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3156725 - Partially selected links show extra underlining when dragged

        Reviewed by darin.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (drawLineForCharacters...): don't ignore "from" "to" parameters

2003-01-25  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed 3126211 -- "go back" buttons that use "history.go(-1)" doesn't work (verizonwireless.com is an example)

        Implemented new bridge functions for use by the history object.

        * History.subproj/WebBackForwardList.h: Added backListCount and entryAtIndex:.
        * History.subproj/WebBackForwardList.m:
        (-[WebBackForwardList backListCount]): Added.
        (-[WebBackForwardList entryAtIndex:]): Added.
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge historyLength]): Added. Calls backListCount.
        (-[WebBridge goBackOrForward:]): Added. Calls entryAtIndex: and then goBackOrForwardToItem:.

2003-01-25  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3153605 - Drag image when dragging text should be the actual text

        Reviewed by darin.

        * Misc.subproj/WebNSImageExtras.m:
        (-[NSImage _web_dissolveToFraction:]): handle non-flipped images
        * Misc.subproj/WebNSViewExtras.h: moved some constants around
        * Misc.subproj/WebNSViewExtras.m:
        * Resources/text_clipping.tiff: Removed.
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebHTMLViewPrivate.m:
        (-[WebHTMLView _handleMouseDragged:]): cleaned-up, get text drag image from WebCore

2003-01-25  Darin Adler  <darin@apple.com>

        * Plugins.subproj/WebBaseNetscapePluginView.m: Replace some tabs with spaces.

2003-01-24  Richard Williamson   <rjw@apple.com>

        Cleaned up some stray comments.
        
        Reviewed by kocienda.

        * Misc.subproj/WebUnicode.m:
        (getShape):
        (nextChar):
        (glyphVariantLogical):
        (shapedString):

2003-01-24  Trey Matteson  <trey@apple.com>

        Chris pointed out a FIXME that led to a more contained way to make sure the cursor
        is correct during and after image/text/URL dragging.

        Reviewed by Chris.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView draggedImage:endedAt:operation:]):  No need to reset the cursor at
        the end of dragging.  WC deals with it.
        * WebView.subproj/WebHTMLViewPrivate.m:
        (-[WebHTMLView _handleMouseDragged:]):  No need to set the cursor to arrow, WC
        deals with it.

2003-01-24  Darin Adler  <darin@apple.com>

        Reviewed by Dave.

        - fixed 3142852 -- frame content repeatedly requested

        * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge incomingReferrer]):
        Added a way to get the referrer across the bridge, needed for bug fix.

2003-01-24  Ed Voas  <voas@apple.com>

        Reviewed by Darin.

        Netscape plugins were being improperly positioned. I noticed this when I
        put the web view into a window with borders around it (Carbon metal window,
        but I would imagine Cocoa metal would do it too).

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]):

2003-01-23  Trey Matteson  <trey@apple.com>

        3155162 - cursor changes to I-beam after dragging image
        3154468 - no mouseup event comes through after text snippet drag

        During AK dragging the system takes over the event stream and we never get any mouse
        move or up events.  It also changes the cursor behind out back.  When done
        cached state that thinks it knows the current cursor is wrong.

        The fix is that after the drag we reset the cursor and synthesize a mouseup event,
        which then sets the cursor based on what we're really over.

        Reviewed by Darin.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView draggedImage:endedAt:operation:]):  After the drag,
        reset the cursor, fake up a mouseup event.

2003-01-24  John Sullivan  <sullivan@apple.com>

        Reviewed by Trey

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView takeFindStringFromSelection:]):
        Now uses new _web_setFindPasteboardString:withOwner: to share code.

2003-01-24  John Sullivan  <sullivan@apple.com>

        Reviewed by Trey

        * Misc.subproj/WebNSPasteboardExtras.h:
        * Misc.subproj/WebNSPasteboardExtras.m:
        (+[NSPasteboard _web_setFindPasteboardString:withOwner:]):
        New method to put text on the Find pasteboard.

2003-01-23  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Trey.

        * WebView.subproj/WebController.h: Remove unneeded declaration in
        sample code.

2003-01-23  Chris Blumenberg  <cblu@apple.com>

        Made WebTextView use the same format for context menus as the rest of WebKit.
        Implemented "Copy" context menu.

        Reviewed by john.

        * English.lproj/Localizable.strings:
        * WebView.subproj/WebControllerPrivate.m:
        (-[WebController _menuForElement:]): tweak.
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultContextMenuDelegate contextMenuItemsForElement:defaultMenuItems:]): added "Copy" context menu.
        * WebView.subproj/WebImageView.m:
        (-[WebImageView menuForEvent:]): added asserts
        * WebView.subproj/WebTextView.m:
        (-[WebTextView menuForEvent:]): implemented

2003-01-23  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        * WebView.subproj/WebController.m: Add missing static.

2003-01-23  Darin Adler  <darin@apple.com>

        Reviewed by John.

        * Downloads.subproj/WebBinHexDecoder.m: (-[WebBinHexDecoder fileAttributes]):
        * Downloads.subproj/WebMacBinaryDecoder.m: (-[WebMacBinaryDecoder fileAttributes]):
        Use "FinderFlags" instead of "FinderInfo" as appropriate, since these are
        just the Finder flags, not all the Finder info.

        * Downloads.subproj/WebDownloadHandler.m: (-[WebDownloadHandler createFileIfNecessary]):
        * Misc.subproj/WebNSWorkspaceExtras.m: (-[NSWorkspace _web_noteFileChangedAtPath:]):
        * Plugins.subproj/WebNetscapePluginPackage.m:
        (-[WebNetscapePluginPackage openResourceFile]):
        (-[WebNetscapePluginPackage pathByResolvingSymlinksAndAliasesInPath:]):
        (-[WebNetscapePluginPackage load]):
        Use fileSystemRepresentation instead of fileSystemRepresentationWithPath:
        because it's simpler and there's no good reason to use the other one.

        * WebView.subproj/WebUserAgentSpoofTable.gperf: Improved one of the motivating comments.

        * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.

=== Safari-54 ===

2003-01-22  Chris Blumenberg  <cblu@apple.com>

        Fixed problem where we weren't stopping the Java plug-in. This problem was introduced on Jan. 1
        when the ownership of the WebPluginController was moved from WebFrame to WebDataSource. This
        change moves the WebPluginController to the WebHTMLView. Why this change?

        - The state of the plug-ins (currently only the Java plug-in) completely relies on the state of
          the WebHTMLView, not on the state of the WebDataSource.

        - WebHTMLView and WebDataSource are usually coupled via WebView and WebFrame, but not always.
          In a transitional state, the WebHTMLView may not be up to date with the WebDataSource.

        - WebPluginController controls an array of views. It makes more sense for this object to be
          owned by a view (WebHTMLView) not a model.

        Reviewed by darin.

        * Plugins.subproj/WebPluginController.h:
        * Plugins.subproj/WebPluginController.m:
        (-[WebPluginController initWithHTMLView:]): renamed, take the HTML view
        (-[WebPluginController addPlugin:]): use the HTML view
        (-[WebPluginController HTMLViewWillBeDeallocated]): renamed
        (-[WebPluginController showURL:inFrame:]): use the HTML view
        (-[WebPluginController showStatus:]): use the HTML view
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge pluginViewWithPackage:attributes:baseURL:]): get the plug-in controller from the HTML view
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSourcePrivate dealloc]): removed calls to plug-in controller 
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView initWithFrame:]): create plug-in controller
        (-[WebHTMLView viewWillMoveToWindow:]): get plug-in controller from self, data source won't be accessible here since we don't have a superview
        (-[WebHTMLView viewDidMoveToWindow]): get plug-in controller from self
        (-[WebHTMLView addSubview:]): get plug-in controller from self
        * WebView.subproj/WebHTMLViewPrivate.h:
        * WebView.subproj/WebHTMLViewPrivate.m:
        (-[WebHTMLViewPrivate dealloc]): release plug-in controller
        (-[WebHTMLView _pluginController]): added

2003-01-22  John Sullivan  <sullivan@apple.com>

        - fixed 3152427 -- Need unique IDs for bookmarks, for 
        synching's sake

        Bookmarks now have a UUID string so that each can maintain its identity
        even in the face of multi-machine synching. One known loose end is written 
        up in 3153832 (unique IDs in bookmarks aren't preserved correctly after copy/paste).
        This should be good enough now for the iSynch folks to start implementing
        the bookmarks-synching conduit.

        I also did some cleanup in this area to share more code and handle
        init methods more cleanly, inspired by earlier feedback from Trey and Darin.

        Reviewed by Trey and Darin

        * Bookmarks.subproj/WebBookmark.h:
        new _UUID ivar, UUID declaration
        * Bookmarks.subproj/WebBookmarkPrivate.h:
        new _setUUID and _hasUUID declarations

        * Bookmarks.subproj/WebBookmark.m:
        (-[WebBookmark dealloc]):
        assert that group is nil here; release _UUID
        (-[WebBookmark copyWithZone:]):
        implement the code shared by each subclass; formerly had no implementation.
        (-[WebBookmark _setUUID:]):
        private method to set the UUID
        (-[WebBookmark UUID]):
        public method to get the UUID; this lazily creates the UUID.
        (-[WebBookmark _hasUUID]):
        private method to check whether there's a UUID without creating
        one by side effect (as calling -[WebBookmark UUID] would)
        (-[WebBookmark initFromDictionaryRepresentation:withGroup:]):
        implement the code shared by each subclass; formerly had no implementation.
        (-[WebBookmark dictionaryRepresentation]):
        implement the code shared by each subclass; formerly had no implementation.

        * Bookmarks.subproj/WebBookmarkGroup.h:
        new _bookmarksByUUID ivar
        * Bookmarks.subproj/WebBookmarkGroupPrivate.h:
        declarations for new methods _addBookmark: and _removeBookmark:

        * Bookmarks.subproj/WebBookmarkGroup.m:
        (-[WebBookmarkGroup init]):
        new method, just complains that you should have called initWithFile: instead.
        (-[WebBookmarkGroup initWithFile:]):
        create _bookmarksByUUID
        (-[WebBookmarkGroup dealloc]):
        release _bookmarksByUUID
        (-[WebBookmarkGroup _addBookmark:]):
        new method, if bookmark has UUID, adds it to table, and recursively
        processes children the same way
        (-[WebBookmarkGroup _removeBookmark:]):
        new method, if bookmark has UUID, removes it from table, and recursively
        processes children the same way
        (-[WebBookmarkGroup _setTopBookmark:]):
        replace [bookmark setGroup:group] with [group _addBookmark:bookmark]
        so it runs through the UUID code
        (-[WebBookmarkGroup _bookmarkChildren:wereRemovedFromParent:]):
        retitled this from "wereRemovedToParent"

        * Bookmarks.subproj/WebBookmarkLeaf.m:
        (-[WebBookmarkLeaf init]):
        now calls initWithURLString:title:group with nil parameters so that
        there's a designated initializer
        (-[WebBookmarkLeaf initFromDictionaryRepresentation:withGroup:]):
        rewritten to do only the subclasses' part now
        (-[WebBookmarkLeaf dictionaryRepresentation]):
        rewritten to do only the subclasses' part now
        (-[WebBookmarkLeaf copyWithZone:]):
        rewritten to do only the subclasses' part now

        * Bookmarks.subproj/WebBookmarkList.m:
        (-[WebBookmarkList init]):
        now calls initWithTitle:group with nil parameters so that
        there's a designated initializer
        (-[WebBookmarkList initWithTitle:group:]):
        replace [bookmark setGroup:group] with [group _addBookmark:bookmark]
        so it runs through the UUID code
        (-[WebBookmarkList initFromDictionaryRepresentation:withGroup:]):
        rewritten to do only the subclasses' part now
        (-[WebBookmarkList dictionaryRepresentation]):
        rewritten to do only the subclasses' part now
        (-[WebBookmarkList copyWithZone:]):
        rewritten to do only the subclasses' part now
        (-[WebBookmarkList _setGroup:]):
        removed this override, which used to do the recursion to set the group
        of children; this recursion is now done by -[WebBookmarkGroup _addBookmark:]
        and _removeBookmark:
        (-[WebBookmarkList removeChild:]):
        wereRemovedToParent -> wereRemovedFromParent
        (-[WebBookmarkList insertChild:atIndex:]):
        replace [bookmark setGroup:group] with [group _addBookmark:bookmark]
        so it runs through the UUID code

        * Bookmarks.subproj/WebBookmarkProxy.m:
        (-[WebBookmarkProxy init]):
        now calls initWithTitle:group with nil parameters so that
        there's a designated initializer
        (-[WebBookmarkProxy initWithTitle:group:]):
        replace [bookmark setGroup:group] with [group _addBookmark:bookmark]
        so it runs through the UUID code
        (-[WebBookmarkProxy initFromDictionaryRepresentation:withGroup:]):
        rewritten to do only the subclasses' part now
        (-[WebBookmarkProxy dictionaryRepresentation]):
        rewritten to do only the subclasses' part now
        (-[WebBookmarkProxy copyWithZone:]):
        rewritten to do only the subclasses' part now

2003-01-22  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed 3153673 -- spoof as MacIE to get into http://www.mazdausa.com
        - fixed 3153678 -- spoof as MacIE for http://wap.sonyericsson.com/

        * WebView.subproj/WebUserAgentSpoofTable.gperf: Add the two new entries.
        Also reorganize existing entries a bit.

2003-01-22  Chris Blumenberg  <cblu@apple.com>

        Removed comment that I added by mistake.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView draggingSourceOperationMaskForLocal:]):

2003-01-22  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3153651 - text dragging does not work to Terminal

        Reviewed by trey.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView draggingSourceOperationMaskForLocal:]): Terminal only accepts the drag if one of the operations is generic. Made the operation both generic and copy.

2003-01-21  Chris Blumenberg  <cblu@apple.com>

        Added support for text dragging.

        Reviewed by dave.

        * Resources/text_clipping.tiff: Added. Temp drag image until we can create an image of the selected text.
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge mayStartDragWithMouseDraggedEvent:]): renamed, we now ask if OK to drag during the drag
        * WebKit.exp: renamed element key for selected text
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebController.h: renamed element key for selected text
        * WebView.subproj/WebController.m: renamed element key for selected text
        * WebView.subproj/WebHTMLViewPrivate.h:
        * WebView.subproj/WebHTMLViewPrivate.m:
        (-[WebHTMLView _handleMouseDragged:]): added support for text dragging
        (-[WebHTMLView _mayStartDragWithMouseDragged:]): renamed, we now ask if OK to drag during the drag

2003-01-20  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Trey.

        - fixed 3132120 - onchange handler not firing on mac.com webmail
        * WebView.subproj/WebHTMLViewPrivate.m:
        (-[WebNSTextView resignFirstResponder]): If we really resign first responder, and
        our delegate responds to filedWillBecomeFirstResponder, then call that method.
        (-[WebNSTextView becomeFirstResponder]): If we really become first responder, and
        our delegate responds to filedWillBecomeFirstResponder, then call that method.

2003-01-20  Trey Matteson  <trey@apple.com>

        Nit fix to remove a dead "cursor" ivar found while grepping.

        Reviewed by Richard.

        * WebView.subproj/WebDynamicScrollBarsView.h:
        * WebView.subproj/WebDynamicScrollBarsView.m:

2003-01-18  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by John.

        - fixed 3123041 - VIP: Spewage at bottom of oregonlive.com and other similar pages

        * WebView.subproj/WebUserAgentSpoofTable.gperf: Added nj.com to spoof list
        below oregonlive.com (which was already in there). Added comment explaining the
        need to spoof a bit more.
        * WebView.subproj/WebUserAgentSpoofTable.c:
        (hash):
        (_web_findSpoofTableEntry): Regenerated.

2003-01-17  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3143656 - crash in MIMETypeForFile when a large QT movie is dragged over window

        Reviewed by darin.

        * WebView.subproj/WebControllerPrivate.m:
        (+[WebController _MIMETypeForFile:]): rewrote, now calls _web_guessedMIMEType

2003-01-17  Darin Adler  <darin@apple.com>

        - compressed all our non-compressed TIFF files

        * Resources/nullplugin.tiff:
        * Resources/url_icon.tiff:

2003-01-16  Darin Adler  <darin@apple.com>

        * WebView.subproj/WebController.h: Fixed a comment that was out of date.

2003-01-16  Chris Blumenberg  <cblu@apple.com>

        Fixed comment.

        * Plugins.subproj/WebBaseNetscapePluginView.m:

2003-01-16  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3125743 - right-click doesn't count as ctrl-click in Flash

        AppKit doesn't call mouseDown or mouseUp on right-click. Simulate control-click mouseDown and mouseUp so plug-ins get the right-click event as they do in Carbon

        Reviewed by darin.

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView rightMouseDown:]):
        (-[WebBaseNetscapePluginView rightMouseUp:]):

2003-01-16  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - added an API for dumping the external representation of the render tree for testing

        * Misc.subproj/WebCoreStatistics.h: Added renderTreeAsExternalRepresentation.
        * Misc.subproj/WebCoreStatistics.m: (-[WebFrame renderTreeAsExternalRepresentation]): Added.

        - removed remnants of an earlier more-naive cut at this same sort of thing

        * Misc.subproj/WebTestController.h: Removed.
        * Misc.subproj/WebTestController.m: Removed.
        * WebKit.exp: Removed WebTestController.
        * WebKit.pbproj/project.pbxproj: Removed WebTestController.

        - other changes

        * WebCoreSupport.subproj/WebBridge.m: Had added new copyright date to touch a file.
        That's not needed any more, but the date should be updated anyway.

=== Safari-52 ===

2003-01-15  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        - fixed 3143418 - controller assert in WebStandardPanels _didStartLoadingURL
        - fixed 3141212 - crash in kjs garbage collection (contextimp mark)

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge startLoadingResource:withURL:]): If the data source
        doesn't have a controller, then block the load.

2003-01-15  Darin Adler  <darin@apple.com>

        Reviewed by Ken.

        - fixed problem where Content-Type was going into WebCore with suffixes like "charset"

        * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _commitIfReady:]):
        Pass in contentType from the response, rather than the "Content-Type" header.
        Also pass in the refresh header separately.

        * English.lproj/StringsNotToBeLocalized.txt: Updated for above change.

2003-01-13  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin, Dave and Trey, and given the seal of approval by Don.

        Use new safer file removal call that does not handle directories.

        * Downloads.subproj/WebDownloadHandler.m:
        (-[WebDownloadHandler cleanUpAfterFailure]): Use
        _web_removeFileOnlyAtPath:
        * Plugins.subproj/WebBaseNetscapePluginStream.m:
        (-[WebBaseNetscapePluginStream dealloc]): Use _web_removeFileOnlyAtPath:
        (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): Use _web_removeFileOnlyAtPath:

2003-01-14  Darin Adler  <darin@apple.com>

        Reviewed by Dave.

        * Plugins.subproj/WebBaseNetscapePluginStream.m:
        (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
        Fixed uninitialized variable warning so builds work again.

        * WebView.subproj/WebDataSourcePrivate.m: (+[WebDataSource _repTypes]): Added "application/xml".
        * WebView.subproj/WebViewPrivate.m: (+[WebView _viewTypes]): Added "application/xml".

        * English.lproj/Localizable.strings: Regenerated.
        * English.lproj/StringsNotToBeLocalized.txt: Updated for above change.

2003-01-13  Darin Adler  <darin@apple.com>

        Reviewed by Trey, John, and Maciej, and given the seal of approval by Don.

        - fixed 3143317 -- plug-in supplied URLs cause correspondingly named files in /tmp to be deleted
        - fixed 3143330 -- plug-in supplied URLs can overwrite files used in other windows by same plug-in

        * Plugins.subproj/WebBaseNetscapePluginStream.h: Make path be a char * rather than an NSString.
        * Plugins.subproj/WebBaseNetscapePluginStream.m:
        (-[WebBaseNetscapePluginStream dealloc]): Use unlink() to delete the temporary file we made.
        Since we created the file, we know it doesn't have any fancy stuff like a resource fork.
        (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): Create the file with mkstemp instead of
        trying to come up with our own filename. This eliminates the need to delete an old file (because we
        are guaranteed the file is new) and also mkstemp opens the file for us, so we just need to write
        the contents.

        * English.lproj/StringsNotToBeLocalized.txt: Updated for above changes.
        
        - unrelated change to help with other bug analysis
        
        * WebView.subproj/WebBaseResourceHandleDelegate.m: Added assertions.

2003-01-12  Chris Blumenberg  <cblu@apple.com>

        Fix for checking and creating proper download filenames.

        Reviewed by mjs, kocienda, trey.

        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebControllerPolicyDelegate.h: changes for renamed savePathForResponse:andRequest: method
        * WebView.subproj/WebDefaultPolicyDelegate.m: changes for renamed savePathForResponse:andRequest: method
        (-[WebDefaultPolicyDelegate savePathForResponse:andRequest:]): renamed 
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient continueAfterContentPolicy:response:]): changes for renamed savePathForResponse:andRequest: method

2003-01-12  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed 3144882 -- pretend to be WinIE for abcnews.com

        * WebView.subproj/WebControllerPrivate.h: Add an enum, UserAgentStringType, with values
        Safari, MacIE, and WinIE. Also add NumUserAgentStringTypes and turn the userAgent and
        userAgentWhenPretendingToBeMacIE strings into an array indexed by type.

        * WebView.subproj/WebController.m:
        (-[WebController setApplicationNameForUserAgent:]): Use a loop to discard the user agent
        strings, since we have an array now.
        (-[WebController userAgentForURL:]): Change user agent algorithm to check two strings rather
        than once against the spoof table, allowing two dots in the "domain name", which is needed
        for "abcnews.go.com". Get a user agent string type from the table rather than just a boolean
        "pretend to be MacIE". Store a string per type rather than one for normalcy and one for MacIE.
        Add a case for WinIE to the user agent computations.

        * English.lproj/StringsNotToBeLocalized.txt: Update for change above.

        * WebView.subproj/WebControllerPrivate.m:
        (-[WebControllerPrivate dealloc]): Use a loop to discard the user agent strings, since we have
        an array now.
        (-[WebController _defaultsDidChange]): Ditto.

        * WebView.subproj/WebUserAgentSpoofTable.gperf: Add a UserAgentStringType field to the struct.
        Add MacIE to each existing table entry, and add a new one that says WinIE for abcnews.go.com.

        * Makefile.am: Pass "-F ,0" to gperf so that we don't get warnings compiling empty entries
        in the hash table.

        * WebView.subproj/WebUserAgentSpoofTable.c: Re-generated.
        
        - other changes
        
        * WebView.subproj/WebHTMLView.m: Removed some old, dead, #if 0'd code.

2003-01-11  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed 3144479 -- put TITLE from links in status bar

        * WebKit.exp: Add _WebElementLinkTitleKey and also sort this file.

        * WebCoreSupport.subproj/WebImageRenderer.m: Need to touch a file to get the above
        to have any effect, so update the copyright date here.

2003-01-09  Darin Adler  <darin@apple.com>

        * WebKit.pbproj/project.pbxproj: Add the year 2003, remove CFBundleIconFile,
        bump marketing version to 0.8.1 and version to 52u to keep up with the branch,
        remove CFHumanReadableCopyright, remove NSPrincipalClass.

        * English.lproj/InfoPlist.strings: Updated to match above changes.

2003-01-09  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.

2003-01-09  Richard Williamson   <rjw@apple.com>

        Fixed 3143361.  This was a regression introduced with some image
        rendering optimizations.  Don't bypass the tiling code path if
        the image needs to be rendered out-of-phase.
        
        Reviewed by hyatt.

        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer tileInRect:fromPoint:]):

2003-01-09  Darin Adler  <darin@apple.com>

        Reviewed by Chris.

        - second pass on 3143332 - we still need a test case to be sure this is right

        * Plugins.subproj/WebBaseNetscapePluginStream.m:
        (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
        Check for "/". Also report the failure instead of just hanging on forever.

2003-01-09  Darin Adler  <darin@apple.com>

        Reviewed by Richard.
        
        - fixed 3143332 -- if path returned is empty string (or "." or "..") it will trash the /tmp symlink

        * Plugins.subproj/WebBaseNetscapePluginStream.m:
        (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
        Check for empty string, ".", and "..", and don't create files by those names.

2003-01-09  Trey Matteson  <trey@apple.com>

        3143294 - need short-term bulletproofing of download code against bad filenames

        We protect against a download location that is not an absolute path.

        Reviewed by Darin

        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient continueAfterContentPolicy:response:]):
        Bail on download if we don't have a abs path to write to.

2003-01-08  Trey Matteson  <trey@apple.com>

        3142201 - home directory nuked during power download session

        We add checks for various error cases that could combine to cause this problem.  While we
        never got a reproducible case, we are confident that this is the only file removal done
        in the download code, and its ability to wreak havoc has been clipped.
        Reviewed by Richard.

        * Downloads.subproj/WebDownloadHandler.m:
        (-[WebDownloadHandler cleanUpAfterFailure]):  Only nuke the partial download if in fact we created
        a new download file.  Never nuke a directory.
        (-[WebDownloadHandler createFileIfNecessary]):  Don't add "." to the foo-1 filenames we generate
        if the original filename doesn't have any extension.
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient continueAfterContentPolicy:response:]):
        If the policyDelegate gives us a nil filename, just stop the whole load, instead of trying to
        overwrite the user's home directory.

2003-01-08  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3111432 - Support OBJECT tags with type text/plain or text/html

        Reviewed by dave.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge frameRequiredForMIMEType:]): added, returns YES for non-plug-in views

2003-01-08  Chris Blumenberg  <cblu@apple.com>

        FIXED: 3128098 - flash performance weak!!!

        Reviewed by darin.

        * Plugins.subproj/WebBaseNetscapePluginView.m: Don't throttle plug-in when in an active window.

2003-01-03  Richard Williamson   <rjw@apple.com>

        Fixed 3139129.  Added application/xhtml+xml to list of supported type.

        Reviewed by gramps.

        * WebView.subproj/WebDataSourcePrivate.m:
        (+[WebDataSource _repTypes]):
        * WebView.subproj/WebViewPrivate.m:
        (+[WebView _viewTypes]):

2003-01-03  Richard Williamson   <rjw@apple.com>

        Support for fixes to 3138743, 3138678.  Added
        isFontFixedPitch used to determine if font is fixed
        pitch.  Makes use of appkit private _isFakeFixedPitch
        (detects courier and monoca).  Updated our fakey test
        to use the appkit's version.
        
        Reviewed by darin.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        * WebCoreSupport.subproj/WebTextRendererFactory.m:
        (-[WebTextRendererFactory isFontFixedPitch:]):

2003-01-03  Darin Adler  <darin@apple.com>

        Reviewed by Chris.

        - fixed leak of WebIconLoader observed using leaks tool

        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSourcePrivate dealloc]): Tell the icon loader to stop loading.
        Add a FIXME asking why we had to do this to fix the leak.
        (-[WebDataSource _loadIcon]): Add an assertion.

2003-01-03  Richard Williamson   <rjw@apple.com>

        Fix to 3131226.  Don't force a layout when the document view is set 
        on the page's scrollview.  A layout would occur indirectly as a result
        of reflectScrolledClipView: being called when the document view
        was set.  The khtmlpart/khtmlview/WebHTMLView would be out of sync
        at this point and a layout would have unintended and incorrect
        side effects.
        
        Reviewed by Darin (and tested by John).

        * WebView.subproj/WebDynamicScrollBarsView.h:
        * WebView.subproj/WebDynamicScrollBarsView.m:
        (-[WebDynamicScrollBarsView updateScrollers]):
        * WebView.subproj/WebViewPrivate.m:
        (-[WebView _setDocumentView:]):

=== Alexander-48 ===

2003-01-02  Richard Williamson   <rjw@apple.com>

        Increase the minimum font size to 9pt.  This bounds the lower
        size of the sizes array used for named sizes.  Net effect is
        to increase xx-small from 8pt to 9pt.  xx-small is used by
        www.microsoft.com.
                
        Reviewed by hyatt.

        * WebView.subproj/WebPreferences.m:
        (+[WebPreferences load]):

2003-01-02  Darin Adler  <darin@apple.com>

        Reviewed by Don.

        - at Scott and Don's request, roll out small text anti-aliasing cutoff

        Turns out this makes small text look worse, not better. We're not going to respect
        this setting, and in Panther AppKit will almost certainly be changed not to either.

        * WebCoreSupport.subproj/WebTextRenderer.m: Rolled out yesterday's change using CVS.

2003-01-02  Darin Adler  <darin@apple.com>

        Reviewed by John and Don.

        - fixed 3137661 -- REGRESSION: autoscroll selection is broken

        The new logic in WebCore is slightly pickier, and can't abide a mouse-moved event
        coming in during a drag. Unfortunately, we were sending a fake mouse-moved event
        during a drag, so lets not do that.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView mouseDown:]): Cancel any scheduled fake mouse-moved event.
        (-[WebHTMLView mouseUp:]): Send a fake mouse-moved event because we didn't update during the drag.

        * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _frameOrBoundsChanged]):
        Don't schedule a fake mouse-moved event if the mouse is down, because that means we are in the
        middle of a drag.

2003-01-02  Darin Adler  <darin@apple.com>

        Reviewed by John and Ken.

        - fixed 3135548 -- exception in Internet Explorer bookmark import code at first startup

        * Bookmarks.subproj/WebBookmarkImporter.m:
        (_breakStringIntoLines): Break lines before a <DT> or </DL>.
        (_HREFTextFromSpec): Rewrite to simplify, search in a case-insensitive manner.
        (-[WebBookmarkImporter initWithPath:]): Change prefix checks to be case-insensitive.
        Don't discard folders altogether if the name can't be parsed as that would mess up
        nesting w.r.t the next </DL>. Make the </DL> handling robust so we misparse, but don't
        crash the whole application by raising an exception.

        * English.lproj/StringsNotToBeLocalized.txt: Updated for this change and recent changes.

2003-01-01  Richard Williamson   <rjw@apple.com>

        Obey the font smoothing size preference (3137618).
        
        Reviewed by Don and Darin.

        * WebCoreSupport.subproj/WebTextRenderer.m:

2002-12-31  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        - fixed 3130831 - HOMEPAGE: JavaScript that tries to intercept onmousedown fails, image gets dragged instead
        - fixed 3125554 - while dragging to select text in a nested frame, you can start dragging a link or image

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge handleMouseDragged:]): New method; call through the WebHTMLView.
        (-[WebBridge mayStartDragWithMouseDown:]): Likewise.
        (-[WebBridge handleAutoscrollForMouseDragged:]): Likewise.
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView mouseDragged:]): Instead of doing drag handling
        here, just pass the event to WebCore.
        (-[WebHTMLView draggedImage:endedAt:operation:]): Send a fake
        mousemove event instead of sending the current event (likely a
        mouse up as if it were a mouse move).
        * WebView.subproj/WebHTMLViewPrivate.h:
        * WebView.subproj/WebHTMLViewPrivate.m:
        (-[WebHTMLViewPrivate dealloc]): Release drag element if any.
        (-[WebHTMLView _dragImageForElement:]): New method. Split out the
        code to make the special drag image for links.
        (-[WebHTMLView _handleMouseDragged:]): Move all the drag handling
        here. This method will get called only if WebCore hasn't blocked
        default drag handling.
        (-[WebHTMLView _handleAutoscrollForMouseDragged:]): Do
        autoscroll. Autoscroll is still lame, we need a timer.
        (-[WebHTMLView _mayStartDragWithMouseDown:]): Determine if the element
        is a link or image and so may be dragged; remember the drag element.

2003-01-01  Richard Williamson   <rjw@apple.com>

        Correct fix for 3137430 that doesn't always effectively disable
        the cache.
        
        Reviewed by kocienda.

        * History.subproj/WebHistoryItem.m:
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]):

2003-01-01  Richard Williamson   <rjw@apple.com>

        Don't reset the cookie policy URL if it has already been set.  Fixes to 3109590.
        
        Reviewed by Maciej.

        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]):

2003-01-01  Richard Williamson   <rjw@apple.com>

        Don't attempt to restore page from page cache if the cache
        doesn't contain valid page state.  This may happen after a
        redirect.  Fixes 3137430.
        
        Reviewed by kocienda.

        * History.subproj/WebHistoryItem.m:

2002-12-31  Darin Adler  <darin@apple.com>

        Reviewed by Trey.

        - fixed 3137287 -- REGRESSION: Java applets don't work when you go back to them (Java 1.4.1 plug-in)

        By attaching the plug-in controller to the frame, we run into trouble.
        It really needs to be attached to the data source, which has the right lifetime
        and is kept around in the page cache.

        * Plugins.subproj/WebPluginController.h: Keep a reference to a data source, not a frame.
        Add a new _started variable. Rename addPluginView: to addPlugin:, get rid of didAddPluginView:,
        replace destroyAllPlugins with dataSourceWillBeDeallocated, add startAllPlugins and stopAllPlugins.
        * Plugins.subproj/WebPluginController.m:
        (-[WebPluginController initWithDataSource:]): Store a data source reference, not a frame reference.
        Don't bother registering for the window will close notification, WebHTMLView handles that fine.
        (-[WebPluginController startAllPlugins]): Do nothing if they are already started, call pluginStart on each otherwise.
        (-[WebPluginController stopAllPlugins]): Do nothing if they are not started, call pluginStop on each otherwise.
        (-[WebPluginController addPlugin:]): Initialize the plugin if it's not already in our list. Also start
        it if we are in "started" mode.
        (-[WebPluginController dataSourceWillBeDeallocated]): Stop all the plugins, then destroy them.
        Also nil out the fields of the object. This is always called before the controller is released so we
        don't need to override dealloc.
        (-[WebPluginController showURL:inFrame:]): Added error checking and changed now that we start with a data source.
        (-[WebPluginController showStatus:]): Ditto.

        * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge pluginViewWithPackage:attributes:baseURL:]):
        Use the data source, not the view. Don't add the plugin here, wait until we are ready to start.

        * WebView.subproj/WebDataSourcePrivate.h: Store a pointer to the plug-in controller here.
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSourcePrivate dealloc]): Tell the plug-in controller to go away.
        (-[WebDataSource _makeHandleDelegates:deferCallbacks:]): Remove unused empty method.
        (-[WebDataSource _pluginController]): Create a plug-in controller if needed.

        * WebView.subproj/WebFramePrivate.h: Remove plug-in controller code.
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFramePrivate dealloc]): Remove plug-in controller code.
        (-[WebFrame _detachFromParent]): Remove plug-in controller code.
        (-[WebFrame _transitionToCommitted:]): Remove plug-in controller code.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView viewWillMoveToWindow:]): Stop plug-ins when view moves out of a window.
        This includes the case when the window is being destroyed.
        (-[WebHTMLView viewDidMoveToWindow]): Start plug-ins when view moves into a window.
        (-[WebHTMLView addSubview:]): Add plug-ins to the controller as they are added to us.

        * WebView.subproj/WebController.m: Added now-needed include due to header change.
        * WebView.subproj/WebDefaultContextMenuDelegate.m: Ditto.

=== Alexander-47 ===

2002-12-30  Darin Adler  <darin@apple.com>

        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.

2002-12-30  Trey Matteson  <trey@apple.com>

        3137110 - REGRESSION: calls from 2nd and subsequent instances of Java 1.4.1 plug-in seem to be ignored

        We had previously made changes to "numb" a plugin controller after its frame
        was tossed or changed content.  We now finish the job by making sure a new
        controller is created when we go to a new page with plugins.  To so this we
        release the old controller whenever we flush the plugins from a page.

        Reviewed by Maciej.

        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _detachFromParent]):  Call newly factored code.
        (-[WebFrame _transitionToCommitted:]):  Call newly factored code.
        (-[WebFrame _destroyPluginController]):  New method to tear down plugins.

2002-12-30  Trey Matteson  <trey@apple.com>

        3135025 - Assertion failure in _transitionToCommitted on espn nba scoreboard

        For blank pages we decided that there would be no b/f entry.  This means that
        subframes within such pages (created via doc.write()), should not try to make
        WebHistoryItems, since they have no parent items to attach them to.

        Reviewed by Darin.

        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _transitionToCommitted:]):  Don't make a history item for a subframe
        it the parent frame has no item.

2002-12-30  Trey Matteson  <trey@apple.com>

        3135779 - REGRESSION: reproducible assertion failure, going back from ~orubin to the main spies.com page        3136218 - REGRESSION: Assertion failure in _restoreScrollPosition running browser buster
        Both were caused by subtle interactions between new code for short-circuiting loading of
        blank pages, and the WebHistoryItem manipulations we do for b/f and reload of child frames.

        Reviewed by Maciej

        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _loadURL:intoChild:]):  Setup provisional or current item before jumping into
        the real work of loading the URL.
        (-[WebFrame _restoreScrollPosition]):  Tweaked to make the assertion message clearer.

2002-12-30  Darin Adler  <darin@apple.com>

        Reviewed by Don and Ken.

        - fixed 3136797 -- crash when Adobe SVG Viewer plug-in puts up modal dialog

        * Plugins.subproj/WebBaseNetscapePluginView.h: Add inSetWindow boolean.
        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView sendEvent:]): Don't send any events to a plug-in while it's
        inside NPP_SetWindow. We don't want to implement more general reentrancy protection, because
        it could cause trouble for plugins that can handle it correctly, but it's unlikely that any
        legitimate use would require reentrant calls while inside NPP_SetWindow, and that's the case
        that crashes for the SVG viewer plug-in when it presents its registration dialog.
        (-[WebBaseNetscapePluginView setWindow]): Set boolean.

2002-12-29  Darin Adler  <darin@apple.com>

        Reviewed by Don.

        - fixed 3103287 -- body of page not rendered (page uses JavaScript trick to be both a frameset and a frame)

        Our self-reference checks prevented this page from working.
        I just removed the WebKit one, since it was really just working around a problem with the WebCore
        one that I fixed (didn't ignore #xxx suffixes).

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]):
        Remove self-reference check.

2002-12-29  Darin Adler  <darin@apple.com>

        Reviewed by Don.

        - fixed 3136801 -- scrolling a page that contains a QuickTime movie leaves garbage behind

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView tellQuickTimeToChill]): Added. Calls a QuickDraw SPI
        CallDrawingNotifications to let QuickTime know it should take a nature break.
        (-[WebBaseNetscapePluginView viewWillMoveToWindow:]): Call tellQuickTimeToChill.
        (-[WebBaseNetscapePluginView viewHasMoved:]): Call tellQuickTimeToChill.

2002-12-29  Darin Adler  <darin@apple.com>

        Reviewed by Don.

        - follow-on to my fix for 3125877 that fixes a crash I observed when a plug-in fails to NPP_New
        
        I filed bug 3136870 about the fact that we don't do a good job reporting the error.

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView sendEvent:]): Return quietly if this is called when
        the plug-in is not started rather than asserting (and doing bad things on Deployment).
        (-[WebBaseNetscapePluginView setWindow]): Ditto.
        (-[WebBaseNetscapePluginView viewHasMoved:]): Just call setWindow since it now checks isStarted.

2002-12-29  Darin Adler  <darin@apple.com>

        Reviewed by Don.

        - fixed 3120630 -- spacebar scrolls the page as well as pausing the QuickTime movie

        Imitate Mozilla and OmniWeb by not propagating keyboard events after passing them to
        plug-ins regardless of what the plug-in returns, rather than imitating MacIE, which
        looks at the return value from NPP_HandleEvent.

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView keyUp:]): Remove call to super, add comment.
        (-[WebBaseNetscapePluginView keyDown:]): Ditto.

2002-12-29  Darin Adler  <darin@apple.com>

        Reviewed by Ken and Don.

        - fixed 3136120 -- much content missing at www.olympic.org

        This site gives modern CSS to "Internet Explorer" or "Netscape 6". Since we are neither of
        those, we need to pretend to be one or the other. So we add olympic.org to our MacIE spoofing list.

        * WebView.subproj/WebUserAgentSpoofTable.gperf: Add olympic.org to the list of pages that give us better
        CSS if we claim to be Internet Explorer.
        * WebView.subproj/WebUserAgentSpoofTable.c: Regenerated.

=== Alexander-46 ===

2002-12-28  Ken Kocienda  <kocienda@apple.com>

         Reviewed by Gramps and Richard

         Fix for this bug:

         Radar 3112233 (400 response when attaching files at mail.yahoo.com)

         I added the MIMETypeForPath method which accesses the WebFoundation mime
         file map we maintain. KHTML can now access this map by using the bridge.

         * WebCoreSupport.subproj/WebBridge.m:
         (-[WebBridge MIMETypeForPath:])

2002-12-28  Darin Adler  <darin@apple.com>

        Reviewed by Gramps and Ken
        Checked in by Ken

        - fixed 3125877 -- RealPlayer plug-in doesn't work in Safari

        * Plugins.subproj/WebBaseNetscapePluginView.h: Remove some methods that don't have
        any need to be public, getCarbonEvent:, sendEvent:, sendUpdateEvent, setUpWindowAndPort.
        Make setWindow public.

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): Added. This replaces the
        old setUpWindowAndPort. Besides setting up the port and the window, it also sets up the
        port's origin, clip, visible, and update regions properly, and sets the current port.
        In the case of an update event, we have extra work to do, which was formerly done in drawRect:.
        (-[WebBaseNetscapePluginView saveAndSetPortState]): Calls saveAndSetPortStateForUpdate:NO.
        (-[WebBaseNetscapePluginView restorePortState:]): Undoes the port state changes done by the
        saveAndSetPortState calls.
        (-[WebBaseNetscapePluginView sendEvent:]): Call saveAndSetPortStateForUpdate: before sending
        the event to the plug-in. This is the core of fixing the bug. We need to have the port set
        up properly. Specifically, RealPlayer depended on the port's origin being set and the update
        region being set. Also added a "draw green" debugging aid to builds without NDEBUG set.
        (-[WebBaseNetscapePluginView sendNullEvent]): Update text of a FIXME.
        (-[WebBaseNetscapePluginView setWindow]): Call the new saveAndSetPortState method instead of
        the old setUpWindowAndPort method.
        (-[WebBaseNetscapePluginView drawRect:]): Remove bug workarounds that are now inside the
        saveAndSetPortStateForUpdate: method.
        (-[WebBaseNetscapePluginView viewDidMoveToWindow]): Add missing call to super.
        (-[WebBaseNetscapePluginView windowBecameKey:]): Don't send an update event to the plugin directly.
        Instead mark this view as needing display so we'll get a drawRect later.
        (-[WebBaseNetscapePluginView windowResignedKey:]): Ditto.
        (-[WebBaseNetscapePluginView requestWithURLCString:]): Corrected handling of URLs. Absolute URLs
        are handled by the relative URL function, so there's no need to do an explicit check. Also use
        requestWithURL instead of doing a three-method dance that does the same thing.
        (-[WebBaseNetscapePluginView invalidateRect:]): Use setNeedsDisplayInRect: to schedule redrawing
        rather than forcing an update right away by doing a sendUpdateEvent directly.
        (-[WebBaseNetscapePluginView invalidateRegion:]): Ditto.
        (-[WebBaseNetscapePluginView forceRedraw]): Use setNeedsDisplay: and displayIfNeeded to do the
        drawing through the view system instead of doing a sendUpdateEvent directly.

        * Plugins.subproj/WebNetscapePluginDocumentView.m: (-[WebNetscapePluginDocumentView layout]):
        Do a setWindow rather than a setUpWindowAndPort when the size of the view changes. This matches
        what other browsers do and extends the bug fix for the Java plug-in to the resize case as well as
        the scrolling case.

        * Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage initWithPath:]):
        Remove RealPlayer antibodies.

2002-12-27  Darin Adler  <darin@apple.com>

        Reviewed by Don.

        - fixed 3136206 -- Can't display images in Ambrosia Software image viewer

        WebKit wasn't creating the frames correctly when they weren't HTML.

        * WebView.subproj/WebFramePrivate.m: (-[WebFrame _makeDocumentView]): Added. Calls the
        WebView to make the document view and then installs the new view, as WebHTMLView used to do.
        (-[WebFrame _transitionToCommitted:]): Call _makeDocumentView instead of calling WebView
        directly. These are all the calls to _makeDocumentViewForDataSource:.

        * WebView.subproj/WebViewPrivate.h: Add return value to _makeDocumentViewForDataSource:.
        * WebView.subproj/WebViewPrivate.m: (-[WebView _makeDocumentViewForDataSource:]):
        Return the newly-created view.

        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView setDataSource:]): Removed the code here
        since it's done by WebFrame now.

2002-12-25  Darin Adler  <darin@apple.com>

        Reviewed by Don.

        - fixed 3133611 -- Java "ticker" applet renders badly when scrolling page

        * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView viewHasMoved:]):
        Call setWindow so we make a call to the plugin each time it moves, rather than just adjusting
        the data structure we had passed to it earlier.

2002-12-24  Darin Adler  <darin@apple.com>

        Reviewed by Richard and Don.

        - fixed 3132192 -- HOMEPAGE: Quicktime plug in with AVI content brings Plug-ins not found panel

        * Plugins.subproj/WebPluginDatabase.m: (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
        Lower-case the key before searching for it. This is needed for both MIME types and extensions,
        since we want case insensitive comparison in both cases.

=== Alexander-45 ===

2002-12-23  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin and Gramps

        Workaround for this bug:

        Radar 3134219 (MPEG-4 files don't work with the QuickTime plugin in Safari, 
        work fine in Mozilla, IE)

        For beta 1, when getting the MIME information for the QuickTime plugin, we directly 
        insert the information to handle MP4.

        In the future, we will use the additional plugin entry points to dynamically load 
        this information from the plugin itself.

        * Plugins.subproj/WebNetscapePluginPackage.m:
        (-[WebNetscapePluginPackage getMIMEInformation])

2002-12-23  Darin Adler  <darin@apple.com>

        Reviewed by John and Don.

        - fixed 3134282 -- REGRESSION: text encoding setting reverts when you go to a new location

        * WebView.subproj/WebFrame.m: (-[WebFrame loadRequest:]): Propagate an override encoding if there
        was an existing data source and it had an override encoding.
        * WebView.subproj/WebFramePrivate.m: (-[WebFrame _loadRequest:triggeringAction:loadType:]): Ditto.

=== Alexander-44 ===

2002-12-20  Trey Matteson  <trey@apple.com>

        Do not add empty URLs to the back forward list.

        Reviewed by Richard, Darin

        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _transitionToCommitted:]):

2002-12-20  Trey Matteson  <trey@apple.com>

        3133829 - crash leaving page with a running applet

        This fixes some holes in how we teardown plugins.  An additional fix is expected
        from Mike Hay to finish the issue. (3133981)

        Reviewed by Richard

        * Plugins.subproj/WebPluginController.m:
        (-[WebPluginController destroyAllPlugins]):  frame=nil, so we don't do any more
        messaging back to WK after this step.
        (-[WebPluginController showURL:inFrame:]):  bail if !frame
        (-[WebPluginController showStatus:]):  bail if !frame
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _detachFromParent]):  destroy plugins here.  We were only doing it
        in the non-frame case.

=== Alexander-43 ===

2002-12-20  Trey Matteson  <trey@apple.com>

        3131841 - crash when switching encodings on a page with frames

        Reviewed by rjw

        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _transitionToCommitted:]):  Create a docView in the LoadStale case, like
        every other kind of load does.

2002-12-20  Richard Williamson   <rjw@apple.com>

        Fixed 3133261.  This fix really has two parts.  This first part
        is here in WebTextRenderer.  The second part adds some width
        caching to RenderText.  I was using a stack allocated array,
        this would blow out the stack for large strings.

        Reviewed by john.

        * WebCoreSupport.subproj/WebTextRenderer.m:

2002-12-20  Trey Matteson  <trey@apple.com>

        We now build with symbols the B&I.  Deployment builds are without symbols,
        so it is easy to generate a non-huge app as a one-off.

        Reviewed by Darin

        * WebKit.pbproj/project.pbxproj:

=== Alexander-42 ===

2002-12-19  John Sullivan  <sullivan@apple.com>

        - WebKit part of fix for 3124949 -- Alexander recreates the 
        default set of bookmarks every time a separate app copy is launched

        Reviewed by Darin

        * Bookmarks.subproj/WebBookmarkGroup.h:
        new _tag ivar and -tag method.

        * Bookmarks.subproj/WebBookmarkGroup.m:
        (-[WebBookmarkGroup dealloc]):
        release _tag
        (-[WebBookmarkGroup tag]):
        return _tag
        (-[WebBookmarkGroup _loadBookmarkGroupGuts]):
        read _tag from the dictionary in the file (or leave it at
        nil if there's no value in the file).

        * English.lproj/StringsNotToBeLocalized.txt:
        kept this file up to date

2002-12-19  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - corrected the name of a method that was leading to trouble elsewhere

        * WebView.subproj/WebDataSource.h: Change fileType to fileExtension for clarity.
        * WebView.subproj/WebDataSource.m: (-[WebDataSource fileExtension]): Ditto.

=== Alexander-41 ===

2002-12-19  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - probably fixed 3129395 -- Reproducible crash when running a javascript at www.scenespot.org

        * WebCoreSupport.subproj/WebViewFactory.m:
        (-[WebViewFactory runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]):
        Close the window. Before we relied on it being released which was bad. But it's not clear this
        actually was the cause of the bug.

2002-12-19  Darin Adler  <darin@apple.com>

        Reviewed by Chris.

        - fixed 31323455 -- REGRESSION: Crash in plugin code closing popup window on lordoftherings.net

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView sendEvent:]): Added an assert.
        (-[WebBaseNetscapePluginView setWindow]): Added an assert.
        (-[WebBaseNetscapePluginView stop]): Cancel perform requests, now that we are using them for
        URL navigation.
        (-[WebBaseNetscapePluginView frameStateChanged:]): Only notify if the plugin is still running.
        (-[WebBaseNetscapePluginView loadPluginRequest:]): Added. Does the actual load at idle time.
        Also fixed to only notify if plugin is loaded. Added a number of FIXMEs for other problems here.
        Also send JavaScript to the appropriate frame, not always the top level.
        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Use loadPluginRequest:
        to do the request after a delay. Also remove the special cases for special frame names; they
        were trying to avoid calling a plugin that has gone away, but we do that a better way now.
        (-[WebBaseNetscapePluginView getURLNotify:target:notifyData:]): Added logging.
        (-[WebBaseNetscapePluginView status:]): Use Windows Latin-1 rather than MacRoman for messages.
        I guess we should test later to find out which is used by MacIE and conform to that, but for now
        this seems like a better default.
        (-[WebPluginRequest initWithRequest:frame:notifyData:]): Added.
        (-[WebPluginRequest dealloc]): Added.
        (-[WebPluginRequest request]): Added.
        (-[WebPluginRequest webFrame]): Added.
        (-[WebPluginRequest notifyData]): Added.

2002-12-18  Darin Adler  <darin@apple.com>

        Reviewed by Chris.

        - fixed fix for 3132056 -- Supply Finder bits for decoded BinHex files

        * Downloads.subproj/WebBinHexDecoder.m: (-[WebBinHexDecoder decodeHeader]):
        Mask off fewer Finder flag bits. Use the same mask as for MacBinary, in fact.

2002-12-18  Darin Adler  <darin@apple.com>

        Reviewed by Richard.

        - fixed 3127490 -- pages w/frames sometimes show up blank

        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]):
        Updated the optimization where we draw the entire view if we did a layout
        so that it works properly for the case where the clip is narrower because of
        the parent WebHTMLView.

        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.

=== Alexander-40 ===

2002-12-18  Trey Matteson  <trey@apple.com>

        3098388 - Pressing the back button goes back two levels at allmusic.com

        I rewrote the logic we use to decide whether a given redirect should be
        treated as part of the previous navigation.  We make use of WebCore's
        lockHistory setting, the delay time and the frame state.

        Reviewed by Darin.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge reportClientRedirectToURL:delay:fireDate:lockHistory:]):
        Pass lockHistory up to the frame.
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:]):
        New logic.  No quick summary, best to read the code.

2002-12-18  Chris Blumenberg  <cblu@apple.com>

        Reject the RealPlayer plug-in because we know it doesn't work.

        Reviewed by sullivan.

        * English.lproj/StringsNotToBeLocalized.txt:
        * Plugins.subproj/WebNetscapePluginPackage.m:
        (-[WebNetscapePluginPackage initWithPath:]): reject the RealPlayer plug-in

2002-12-18  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by John.

        - fixed 3131171 - Change Alex versions to satisfy both marketing and B&I requirements
        * English.lproj/InfoPlist.strings:

2002-12-18  Richard Williamson   <rjw@apple.com>

        Fixed 3129951.  Don't allow pages that are stopping to enter the page cache.
        (Fixed yesterday, forgot to checkin.)
         
        Reviewed by trey.

        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _setState:]):

2002-12-18  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin and Trey.

        - fixed 3124933 - abcnews.com leads to empty window with sheet complaining about javascript: URL
        - fixed 3091248 - picture does not show up in window from epinions
        - made "about:blank" load synchronously, which I'm told is required by some sites.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge createWindowWithURL:frameName:]): If the URL is nil
        or empty, pass a nil request - otherwise WebBrowser will try to
        load it, resulting in an extra back/forward list entry.
        (-[WebBridge loadEmptyDocumentSynchronously]): Tell the frame to
        load a request with an empty URL - this will cause a synchronous
        load of an empty html document
        * WebView.subproj/WebBaseResourceHandleDelegate.h:
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate loadWithRequest:]): Split off
        startLoading: part of method to allow behavior to be subclassed.
        (-[WebBaseResourceHandleDelegate startLoading:]): 
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _commitIfReady:]): Lie and claim the URL is
        "about:blank" if it's really empty to avoid confusing WebCore.
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _transitionToCommitted:]): Don't put the empty URL in
        global history.
        (-[WebFrame
        _checkNavigationPolicyForRequest:dataSource:andCall:withSelector:]):
        Don't check policy if URL is empty - this is likely to confuse the
        client and we know what the right behavior here is.
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient startLoading:]): Try to load
        "about:blank" and the empty URL synchronously, bypassing
        WebFoundation.
        (-[WebMainResourceClient continueAfterContentPolicy:response:]): Ditto.
        (-[WebMainResourceClient setDefersCallbacks:]): Ditto.
        * English.lproj/StringsNotToBeLocalized.txt: Updated.

2002-12-18  Chris Blumenberg  <cblu@apple.com>

        Fixed: 2862385 - need to pass browser's user agent and version to plug-ins
        Added some more error checking to the plug-in code

        Reviewed by trey.

        * Plugins.subproj/WebBaseNetscapePluginView.h:
        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (+[WebBaseNetscapePluginView setCurrentPluginView:]): new, sets a global variable for the current plug-in
        (+[WebBaseNetscapePluginView currentPluginView]): new, returns the current plug-in
        (-[WebBaseNetscapePluginView start]): check if NPP_New fails, return NO if it does, set the current plug-in view. Currently, this is the only place we need to do this.
        (-[WebBaseNetscapePluginView userAgent]): made instance-specific because it depends on the plug-in view's WebController
        * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h:
        * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
        (-[WebNetscapePluginEmbeddedView viewDidMoveToWindow]): don't start the stream is start fails
        * Plugins.subproj/npapi.m: 
        (NPN_MemAlloc): tweak
        (NPN_RequestRead): tweak
        (pluginViewForInstance): returns the instance's plug-in view if it has one, if not, return the current plug-in view
        (NPN_GetURLNotify): get the instance from pluginViewForInstance  
        (NPN_GetURL):
        (NPN_PostURLNotify):
        (NPN_PostURL):
        (NPN_NewStream):
        (NPN_Write):
        (NPN_DestroyStream):
        (NPN_UserAgent):
        (NPN_Status):
        (NPN_InvalidateRect):
        (NPN_InvalidateRegion):
        (NPN_ForceRedraw):
        (NPN_GetValue):
        (NPN_SetValue):
        (NPN_GetJavaEnv):
        (NPN_GetJavaPeer):

2002-12-18  Richard Williamson   <rjw@apple.com>

        Fixed 3109590.  We now set the cookie policy URL to a frame's URL if the
        contents of the frame changes as a result of user action.  The site mentioned
        is this bug branded a service by wrapping it in their own frameset.  That frameset
        had a different domain than the service, so our cookie policy prevented cookies
        from being set.
        
        Reviewed by trey.

        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _startLoading:]):
        * WebView.subproj/WebFrame.m:
        (-[WebFrame loadRequest:]):
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _loadItem:fromItem:withLoadType:]):
        (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]):
        (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]):
        (-[WebFrame _postWithURL:data:contentType:triggeringEvent:]):

2002-12-18  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3131714 - System becomes unresponsive while downloading

        While downloading a file, Safari and the Finder take up 30%-40% of the CPU each. This is happening because for every chunk of data we write to disk, we call -[NSWorkspace noteFileSystemChanged:]. noteFileSystemChanged is inefficient. It calls 2 AppleEven









ts each with 60 timeouts. The event also cause the Finder to do a lot of work.

        We should:
        - Send 1 AppleEvent ourselves with no timeout since we don't care about the reply
        - Call the notification/event less often. The only benefit of sending the event for every chunk written is that the file size updates in the Finder. Not worth the performance impact.

        Reviewed by kocienda.

        * Downloads.subproj/WebDownloadHandler.m:
        (-[WebDownloadHandler cleanUpAfterFailure]): call _web_noteFileChangedAtPath
        (-[WebDownloadHandler createFileIfNecessary]): call _web_noteFileChangedAtPath
        (-[WebDownloadHandler writeDataForkData:resourceForkData:]): don't call noteFileSystemChanged
        (-[WebDownloadHandler finishedLoading]): call _web_noteFileChangedAtPath
        * Misc.subproj/WebNSWorkspaceExtras.h: Added.
        * Misc.subproj/WebNSWorkspaceExtras.m: Added.
        (-[NSWorkspace _web_noteFileChangedAtPath:]): Notifies the Finder (or any other app that cares) that we added, removed or changed the attributes of a file. This method is better than calling noteFileSystemChanged: because noteFileSystemChanged: se









nds 2 apple events both with a 60 second timeout. This method returns immediately.
        * WebKit.pbproj/project.pbxproj:

2002-12-18  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed 3098293 -- Shockwave plug-in doesn't work

        The problem is that the Shockwave plug-in depends on being able to do LMGetCurApRefNum
        and then do a PBGetFCBInfoSync on the result, and if it gets an error it will refuse
        to initialize.

        * Plugins.subproj/WebNetscapePluginPackage.m: (+[WebNetscapePluginPackage initialize]):
        Supply a bogus CurApRefNum. Do it only if CurApRefNum is -1, so we don't screw things
        up if we are used in a Carbon application.

2002-12-17  Darin Adler  <darin@apple.com>

        Reviewed by Trey.

        * WebKit.pbproj/project.pbxproj: Remove signature.
        * WebView.subproj/WebController.m: Turn off inlining so we can build even on the
        compiler that warns about static data in inline functions.

2002-12-17  John Sullivan  <sullivan@apple.com>

        - fixed 2895826 -- ICON: Need a "no plug-in" icon

        * Resources/nullplugin.tiff:
        new plug-in icon. Blue 3-D lego with question marks.

2002-12-17  Richard Williamson   <rjw@apple.com>

        Added support for Aki's 20% boost to line height.  This is
        done with a horrible hack and should be removed when 3129490
        is fixed.
        
        Reviewed by hyatt.

        * WebCoreSupport.subproj/WebTextRenderer.m:

=== Alexander-39 ===

=== Alexander-38 ===

2002-12-17  Richard Williamson   <rjw@apple.com>

        Fixed 3127932.  Added WebFrameLoadTypeReloadAllowingStaleData to cases that do not
        get cached in the b/f cache.
        
        Reviewed by trey.

        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _setState:]):

2002-12-17  Richard Williamson   <rjw@apple.com>

        Fixed 3128794.  Use CG directy to get font metrics rather than the appkit.  The appkit
        has a bug (3129490) that sometimes causes line height to be 20% too large.
        
        Reviewed by hyatt.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer initWithFont:]):
        (-[WebTextRenderer ascent]):
        (-[WebTextRenderer descent]):
        (-[WebTextRenderer lineSpacing]):

2002-12-17  Trey Matteson  <trey@apple.com>

        Reworking the code to update the page icon led me to roll the WebIconDB API
        for URL to NSString.  In addition, the vestigial "Site" was removed.

        Everything below is renaming, except where noted.

        Reviewed by Darin

        * English.lproj/StringsNotToBeLocalized.txt:
        * History.subproj/WebHistoryItem.m:
        (-[WebHistoryItem _retainIconInDatabase:]):
        (-[WebHistoryItem icon]):
        * Misc.subproj/WebIconDatabase.h:
        * Misc.subproj/WebIconDatabase.m:
        (-[WebIconDatabase init]):
        (-[WebIconDatabase iconForURL:withSize:cache:]):  Use _web_isFileURL.
        (-[WebIconDatabase iconForURL:withSize:]):
        (-[WebIconDatabase retainIconForURL:]):
        (-[WebIconDatabase releaseIconForURL:]):
        (-[WebIconDatabase _iconDictionariesAreGood]):
        (-[WebIconDatabase _loadIconDictionaries]):
        (-[WebIconDatabase _updateFileDatabase]):
        (-[WebIconDatabase _iconForFileURL:withSize:]):  Cons up a NSURL to get the path.
        Test explicitly for .htm and .html suffixes.
        (-[WebIconDatabase _setIcon:forIconURL:]):
        (-[WebIconDatabase _setIconURL:forURL:]):
        (-[WebIconDatabase _releaseIconForIconURLString:]):
        (-[WebIconDatabase _retainFutureIconForURL:]):
        (-[WebIconDatabase _releaseFutureIconForURL:]):
        (-[WebIconDatabase _sendNotificationForURL:]):
        * Misc.subproj/WebIconDatabasePrivate.h:
        * Misc.subproj/WebIconLoader.m:
        (-[WebIconLoader handleDidFinishLoading:]):
        * WebKit.exp:
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _updateIconDatabaseWithURL:]):
        (-[WebDataSource _loadIcon]):

2002-12-17  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3113073 - link on http://studio.adobe.com/explore/ redirects to not found page in Alex

        Reviewed by darin.

        * Misc.subproj/WebNSPasteboardExtras.m:
        (-[NSPasteboard _web_bestURL]): don't trim whitespace because _web_URLWithString does this for us
        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView pluginURLFromCString:]): tweak

2002-12-17  John Sullivan  <sullivan@apple.com>

        - to help with performance of various bookmark operations,
        added a call that returns the internal array of children,
        to complement the safer call that returns a copy.

        Reviewed by Darin

        * Bookmarks.subproj/WebBookmark.h:
        commented -children and new -rawChildren
        * Bookmarks.subproj/WebBookmark.m:
        (-[WebBookmark rawChildren]):
        new method, returns nil at this level.
        (-[WebBookmark contentMatches:]):
        use -rawChildren instead of -children

        * Bookmarks.subproj/WebBookmarkList.m:
        (-[WebBookmarkList rawChildren]):
        new method, returns internal array without copying

2002-12-16  Darin Adler  <darin@apple.com>

        Reviewed by Don and Maciej.

        * WebView.subproj/WebUserAgentSpoofTable.gperf: Added a couple of new domains to the list we
        spoof as Mac IE, and added comments.
        * WebView.subproj/WebUserAgentSpoofTable.c: Regenerated.

        * WebKit.pbproj/project.pbxproj: Set MACOSX_DEPLOYMENT_TARGET to 10.2

2002-12-16  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3129503 - Crash cancelling download after closing browser window that started download

        Reviewed by rjw.

        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _setLoading:]): Added comment about our tragic dependence on a non-retained reference to the controller.
        (-[WebDataSource _recursiveStopLoading]): Call webFrame before calling _stopLoading because we release the controller in _stopLoading and we depend on it in webFrame.

=== Alexander-37 ===

2002-12-16  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by no one but it's just a version bump.

        * WebKit.pbproj/project.pbxproj: Bump version to 37u3

2002-12-16  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed 3128858 -- Supply Finder bits for decoded BinHex files

        * Downloads.subproj/WebBinHexDecoder.h: Add a _finderFlags field.
        * Downloads.subproj/WebBinHexDecoder.m:
        (-[WebBinHexDecoder decodeHeader]): Decode Finder flags.
        (-[WebBinHexDecoder fileAttributes]): Put Finder flags in dictionary.

        * Downloads.subproj/WebMacBinaryDecoder.m: Tweaked things for no good reason.
        (It is good to always import your own header first as a check that it's self-sufficient).

        * WebKit.pbproj/project.pbxproj: Let Electron wipe the slate clean of pre-Electron iniquity.

2002-12-15  Chris Blumenberg  <cblu@apple.com>
        Fixed: 3094928 - Apply Finder bits to decoded downloads

        Reviewed by darin.

        * Downloads.subproj/WebDownloadHandler.m:
        (-[WebDownloadHandler createFileIfNecessary]): call _web_createFileAtPath:contents:attributes: so we set Finder bits
        * Downloads.subproj/WebMacBinaryDecoder.h:
        * Downloads.subproj/WebMacBinaryDecoder.m:
        (-[WebMacBinaryDecoder decodeData:dataForkData:resourceForkData:]): save Finder bits
        (-[WebMacBinaryDecoder fileAttributes]): return Finder bits

=== WebKit-37u2 ===

2002-12-15  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        - fixed likely B&I build problem.

        * WebKit.pbproj/project.pbxproj: Get at other frameworks in B&I
        build. Bump version to 37u2.

2002-12-15  Darin Adler  <darin@apple.com>

        Reviewed by Dave.

        - implemented user-agent spoofing as described in bug 3044569

        * WebView.subproj/WebController.m: (-[WebController userAgentForURL:]):
        Find the suffix of the host name that contains exactly one dot, lower-case it,
        and look it up in the user-agent spoof table. For now, anything in the table
        pretends to be MacIE. Don't fret that this table is simple. We will complicate it
        as needed. The technique is flexible, even though it may not look it now.

        * WebView.subproj/WebControllerPrivate.h: Add userAgentWhenPretendingToBeMacIE field.
        * WebView.subproj/WebControllerPrivate.m:
        (-[WebControllerPrivate dealloc]): Release userAgentWhenPretendingToBeMacIE.
        (-[WebController _defaultsDidChange]): Release and nil userAgentWhenPretendingToBeMacIE.

        * Makefile.am: Added rules to build WebUserAgentSpoofTable.c using gperf.
        * WebView.subproj/WebUserAgentSpoofTable.c: Added. Generated file.
        * WebView.subproj/WebUserAgentSpoofTable.gperf: Added. Table 

        * English.lproj/StringsNotToBeLocalized.txt: Update for above changes.

        - fixed a crash I saw in a simplistic way

        * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _elementAtPoint:]):
        Don't assert if the webFrame is nil, just return a partial dictionary.

2002-12-15  Darin Adler  <darin@apple.com>

        Reviewed by Trey.

        - fixed 3128260 -- REGRESSION: context menus in frames are always the generic page menu

        * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView hitTest:]):
        Check the control key in the mouse down event. If it's down, then do no magic.

2002-12-15  Darin Adler  <darin@apple.com>

        Reviewed by Dave.

        - fixed 3128651 -- REGRESSION: Mouse wheeling is busted on frames pages

        * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView hitTest:]):
        Only do the hitTest magic for left mouse downs; the rest of the clicks end up going
        to the correct view anyway, without our help. This makes this stop making trouble for
        the scroll wheel events.

2002-12-14  Don Melton  <gramps@apple.com>

        Fixed 3127173 -- REGRESSION: fboweb.com renders incorrectly

        Reviewed by darin

        * English.lproj/StringsNotToBeLocalized.txt:
        * WebView.subproj/WebController.m:
        (-[WebController userAgentForURL:]):

        Changed "PPC" in our user agent string to "PPC Mac OS X" in order to
        match Mozilla and make the silly server-side user agent string checking
        work at fboweb.com.  Actually, just "PPC " would work fine at
        fboweb.com.  Go figure.

2002-12-13  Darin Adler  <darin@apple.com>

        Reviewed by Don.

        * WebView.subproj/WebController.m: (-[WebController userAgentForURL:]):
        Add "(like Gecko)" string and change "WebKit" to "AppleWebKit".

        * English.lproj/StringsNotToBeLocalized.txt: Update for these changes.
        * Misc.subproj/WebUnicode.h: No need for & 0xFF since we cast to unsigned char.

2002-12-13  John Sullivan  <sullivan@apple.com>

        - WebKit part of fix for 3028061 -- visiting a bookmarked site
        that now has a site icon will not update bookmark's icon

        No longer store the icon in the WebHistoryItem, since there's no
        mechanism for keeping it fresh and telling interested clients
        when it changes. Instead, the latest icon is always returned from
        the icon database, and it's up to clients to get a fresh one when
        they notice that the icon for a URL has been updated.

        Reviewed by Darin

        * History.subproj/WebHistoryItem.h:
        remove _icon and _loadedIcon ivars

        * History.subproj/WebHistoryItem.m:
        (-[WebHistoryItem dealloc]):
        don't release _icon
        (-[WebHistoryItem icon]):
        just return fresh icon from database, don't store
        (-[WebHistoryItem setURL:]):
        don't set _loadedIcon to NO

=== Alexander-37u1 ===

2002-12-13  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.

2002-12-13  Trey Matteson  <trey@apple.com>

        3108976 - assert _private provisionalItem in -[WebFrame(WebPrivate) _transitionToCommitted
        3108865 - frames not maintained going back at directory.apple.com

        Both bugs are fixed by the same small change.  We no longer try to inherit loadType
        across redirects.  Instead we just make sure the right thing happens in _transitionToCommitted:
        for redirects in the loadType=Standard case.

        3122721 - History stores both original and redirected sites

        Easy fix while in the neighborhood.  We just don't add to History when doing a redirect.

        Reviewed by rjw

        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _transitionToCommitted:]):  On redirect, update the URL of the frame's current
        item, not the current item in the b/f list.  Also do not add to history on redirect.
        (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]):  Cut out funny business
        that tried to guess when to inherit loadtype across redirects.

2002-12-13  Richard Williamson   <rjw@apple.com>

        Fixed 3127225.  Scale page cache based on available memory.
        Also added support for setting WebCore object cache size via
        a preference.
        Fixed 3126267.  Increase CG glyph cache size if font smoothing
        is turned on.
        
        Reviewed by gramps.

        * History.subproj/WebBackForwardList.m:
        (+[WebBackForwardList pageCacheSize]):
        * Misc.subproj/WebKitLogging.h:
        * Misc.subproj/WebKitLogging.m:
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge getObjectCacheSize]):
        * WebCoreSupport.subproj/WebTextRendererFactory.m:
        (getAppDefaultValue):
        (getUserDefaultValue):
        (getLCDScaleParameters):
        * WebView.subproj/WebPreferences.m:
        (+[WebPreferences load]):
        (-[WebPreferences _pageCacheSize]):
        (-[WebPreferences _objectCacheSize]):
        * WebView.subproj/WebPreferencesPrivate.h:

2002-12-13  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3105486 - c|net news.com site seems to have lost its favicon again

        Reviewed by darin.

        * Misc.subproj/WebIconDatabase.m:
        (-[WebIconDatabase _updateFileDatabase]): Only save icons with a size of 16 x 16 since that's the only size we use.

2002-12-13  Chris Blumenberg  <cblu@apple.com>

        Catch NULL status strings passed to NPN_Status.
        Reviewed by darin.

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView status:]): check the incoming string before calling [NSString stringWithCString]

2002-12-12  Trey Matteson  <trey@apple.com>

        3117101 - PLT slows down as history fills up

        I saw a 3% sloth effect from a huge (100k) history.  This change cut that cost in half.
        I think we still have a marginally measurable cost for our worst practical case.

        Reviewed by rjw

        * History.subproj/WebHistoryPrivate.m:
        (-[WebHistoryPrivate insertEntry:atDateIndex:]):  Comment.
        (-[WebHistoryPrivate removeEntryForURLString:]):  Use removeIdentical
        instead of remove, since we don't need to do all the equals comparisons.

2002-12-12  Richard Williamson   <rjw@apple.com>

        Changes to fix 3116584.
        Reviewed by hyatt.
        
        Changes to support emptying the page cache from the
        "Empty Cache" menu.
        Reviewed by trey.

        * ChangeLog:
        * History.subproj/WebBackForwardList.h:
        * History.subproj/WebBackForwardList.m:
        (-[WebBackForwardList clearPageCache]):
        * History.subproj/WebHistoryItem.m:
        (+[WebHistoryItem _scheduleReleaseTimer]):
        (-[WebHistoryItem _scheduleRelease]):
        (+[WebHistoryItem _releasePageCache:]):
        (-[WebHistoryItem setHasPageCache:]):
        * WebCoreSupport.subproj/WebTextRenderer.m:
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _opened]):

2002-12-12  Richard Williamson   <rjw@apple.com>

        Fixed 3119693.  Restore scroll position when going back
        to item in b/f cache.
        
        Reviewed by trey.

        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _opened]):

=== Alexander-36 ===

2002-12-12  Richard Williamson   <rjw@apple.com>

        Change relating to 3083287.  This doesn't fix the problem but
        flips the geometry calcs to get most incremental images to draw
        correctly.  .mac now slideshows draw with the incorrect sliding 
        behavior while loading.
        
        3083287 has been moved to 0.9/1.
        
        Reviewed by darin.

        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
        (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):

2002-12-12  Trey Matteson  <trey@apple.com>

        Fixed 3094525 - Need to use SPI to fix flipped drag image problem

        We call the new SPI.  I also had to rework the dissolve steps to get it
        to non flip the image in Panther in millions (but leave the old code for
        the Jaguar case).

        Reviewed by cblu

        * Misc.subproj/WebNSImageExtras.m:
        (+[NSImage load]):  Call the SPI.
        (-[NSImage _web_dissolveToFraction:]):  Add new way of building the image for Panther.

2002-12-12  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed most likely cause of 3125565 -- 2% regression running the PLT for uncached loads
        
        Don't recompute the user agent when it doesn't change. It almost never changes.

        * WebView.subproj/WebController.m:
        (-[WebController initWithView:controllerSetName:]): Add observer so we know when defaults change.
        (-[WebController dealloc]): Remove observer.
        (-[WebController setApplicationNameForUserAgent:]): Clear out computed user agent to force it
        to be recomputed later.
        (-[WebController applicationNameForUserAgent]): Just retain since we copied when we stored it
        so we know it's not mutable.
        (-[WebController customUserAgent]): Ditto.
        (-[WebController userAgentForURL:]): Use the cached user agent if it's good. Otherwise compute
        and cache the user agent string. This means that we will almost never recompute it.

        * WebView.subproj/WebControllerPrivate.h: Add userAgent field to cache in.
        * WebView.subproj/WebControllerPrivate.m:
        (-[WebControllerPrivate dealloc]): Release userAgent.
        (-[WebController _defaultsDidChange]): Release and nil userAgent.

2002-12-12  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed 3125504 -- REGRESSION: Selection not working correctly for text area on http://glish.com/css/7.asp

        The problem is that the text area lost its first responder status because WebHTMLView took the click,
        and NSWindow wanted WebHTMLView to become first responder too.

        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView acceptsFirstResponder]):
        Don't allow the NSWindow to make this the first responder during the early part of mouseDown event
        handling. But do allow anyone else to make this the first responder, for example from keyboard events,
        or from calls back from WebCore once we begin mouse-down event handling.

2002-12-12  Darin Adler  <darin@apple.com>

        Reviewed by Maciej and Richard.

        - fixed reentrancy crash I ran into while debugging infinite recursion bugs

        * WebView.subproj/WebHTMLViewPrivate.m:
        (-[WebHTMLView _updateMouseoverWithFakeEvent]): Added. Does part of what _frameOrBoundsChanged did.
        (-[WebHTMLView _frameOrBoundsChanged]): Schedule the mouseover update to happen soon, rather than
        doing it right away. If we do it right away, we might reenter because sending a mouse moved event
        can result in another layout since mouse moved events are the same as mouse dragged events in KHTML.
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView viewWillMoveToWindow:]): Cancel the scheduled mouseover update.

        * WebKit.pbproj/project.pbxproj: Electron uber alles.

2002-12-12  Richard Williamson   <rjw@apple.com>

        Fixed 3125585.  One click crasher option clicking on
        any link.  Added additional check to curtail overly
        zealous ASSERT.
        
        Reviewed by mjs.

        * WebView.subproj/WebControllerPrivate.m:
        (-[WebController _mainReceivedError:fromDataSource:complete:]):

2002-12-11  Richard Williamson   <rjw@apple.com>

        Fixed 3125425.  Just call super if view isn't in view heirarchy,
        rather than asserting.  The assert was firing because NSText 
        was trying to perform a background layout on an item view that
        was moved to the page cache.
        
        Reviewed by gramps.

        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
        (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView visibleRect]):

2002-12-11  Richard Williamson   <rjw@apple.com>

        Fixed 3124121, 3124716 (and other dupes).  Regressions related to b/f crash.
        
        Reviewed by hyatt.

        * ChangeLog:
        * History.subproj/WebHistoryItem.m:
        (-[WebHistoryItem _scheduleRelease]):
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge saveDocumentToPageCache:]):
        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
        (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _setState:]):

2002-12-11  Richard Williamson   <rjw@apple.com>

        Fixed 3123375.  Provide SPI to release all pending page caches
        
        Reviewed by kocienda.

        * History.subproj/WebBackForwardList.m:
        * History.subproj/WebHistoryItem.h:
        * History.subproj/WebHistoryItem.m:
        * History.subproj/WebHistoryItemPrivate.h: Added.
        * WebCoreSupport.subproj/WebBridge.m:
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebFramePrivate.m:

2002-12-11  Darin Adler  <darin@apple.com>

        Reviewed by Richard.

        - fixed 3124837 -- Crash trying to handle weird javascript URL in page address field

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
        Use the new _web_scriptIfJavaScriptURL to simplify the check for JavaScript URLs,
        and to use a more tolerant unescaper.

        * English.lproj/StringsNotToBeLocalized.txt: Updated.

2002-12-11  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - turned on the mechanism that passes events through WebCore, now that it's working better

        * WebView.subproj/WebHTMLViewPrivate.m:
        (-[WebHTMLView hitTest:]): Moved this function in here. Rewrote it. It has a new feature where
        you can set a global and do a normal hit test, needed for the mouse-moved handling below. Also,
        for efficiency, it does the actual hit testing of itself, rather than calling super, which recurses,
        and ignoring the result. The sum total is that it always returns self for mouse-moved events, so
        we pass them all over the bridge at the topmost frame.

        (-[WebHTMLView _updateMouseoverWithEvent:]):
        * WebView.subproj/WebHTMLView.m: Moved hitTest: out of here.

2002-12-11  John Sullivan  <sullivan@apple.com>

        - fixed 3124640 -- Crash importing IE Favorites if there 
        are no IE favorites

        Reviewed by Darin

        * Bookmarks.subproj/WebBookmarkImporter.m:
        (-[WebBookmarkImporter initWithPath:]):
        use alloc/init instead of autoreleasing constructor for error since
        it's kept around until dealloc.

2002-12-11  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed 3117611 -- REGRESSION: exception in mouseoverTextForElement with accented characters in status

        * WebView.subproj/WebHTMLViewPrivate.m:
        (-[NSMutableDictionary _web_setObjectIfNotNil:forKey:]):
        Remove the object from the dictionary rather than just leaving the dictionary alone if it's nil.
        This is needed since we now are reusing an already-existing dictionary.

        * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.

2002-12-11  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3118430 - crash / loop trying to copy url of link to clipboard
        Fixed: 3122585 - REGRESSION: dragging links to the desktop or a Finder window does not do anything

        Reviewed by john.

        We were reusing the drag types from the previous drag pasteboard. For example, we would declare image types when dragging URLs. This would confuse the Finder, so location files weren't being created. This would occasional cause us to crash because we wer









en't providing the declared data. 

        * Misc.subproj/WebNSPasteboardExtras.h:
        * Misc.subproj/WebNSPasteboardExtras.m:
        (+[NSPasteboard _web_dragTypesForURL]): Added more types that we handle
        (-[NSPasteboard _web_writeURL:andTitle:withOwner:declareTypes:]): declares the provided types, writes URL and title
        (-[NSPasteboard _web_writeURL:andTitle:withOwner:]): call _web_writeURL:andTitle:withOwner:types: with _web_dragTypesForURL
        * Misc.subproj/WebNSViewExtras.h:
        * Misc.subproj/WebNSViewExtras.m:
        (-[NSView _web_dragPromisedImage:origin:URL:fileType:title:event:]): call _web_writeURL:andTitle:withOwner: types: plus images types

2002-12-10  Trey Matteson  <trey@apple.com>

        3092966 - going back goes to different page (can't go back to a POST page)
        3123450 - if the user refuses a navigation, the b/f menus is wrong

        We will rePOST data upon back/forward/refresh if our caches fail us.  The policy delegate
        gets a crack at confirming this operation.  Latent bugs where the policy delegate was double
        queried are fixed.  A bug in the b/f cursor when a page failed to load is fixed.

        Reviewed by Maciej.

        * English.lproj/StringsNotToBeLocalized.txt:  Usual suspects.
        * History.subproj/WebHistoryItem.h:  Add state for reposting forms.
        * History.subproj/WebHistoryItem.m:  Boilerplate changes for new state.
        (-[WebHistoryItem dealloc]):
        (-[WebHistoryItem setFormData:]):
        (-[WebHistoryItem setFormContentType:]):
        (-[WebHistoryItem formData]):
        (-[WebHistoryItem formContentType]):
        (-[WebHistoryItem description]):
        * WebView.subproj/WebController.m:
        (-[WebController _goToItem:withLoadType:]):  Tighten up an assert as I clarified an
        assumption as I worked through this task.
        * WebView.subproj/WebControllerPolicyDelegate.h:  New WebNavigationType's for back/forward,
        refresh, and repost.
        * WebView.subproj/WebFrame.m:
        (-[WebFrame loadRequest:]):  Eliminate extra copy of a request.
        (-[WebFrame reload]):  Eliminate extra copy of a request.  Setup triggeringAction properly
        if we're about to rePOST.
        * WebView.subproj/WebFramePrivate.h:  Started moving some private methods into the .m file.
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _createItem]):  Save form state with history items.
        (-[WebFrame _isLoadComplete]):  Fix up b/f cursor on page error before commit succeeds.
        (-[WebFrame _loadItem:fromItem:withLoadType:]):  Set up request to rePOST if that's what the
        HistoryItem demands.  Add call to _addExtraFieldsToRequest so we don't do a double
        query of the policy delegate.  Pre-flight the form post vs. WF cache to setup triggering
        action properly.
        (-[WebFrame _actionInformationForLoadType:isFormSubmission:event:originalURL:]):
        New utility method to help build action dict.
        (-[WebFrame _continueAfterNavigationPolicy:]):  Comment only.
        (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]):  Call new utility method
        instead (just code factoring).
        (-[WebFrame _postWithURL:data:contentType:triggeringEvent:]):  Call new utility method
        instead (just code factoring).  Add call to _addExtraFieldsToRequest so we don't do a double
        query of the policy delegate.
        (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]):  Whitespace only.
        (-[WebFrame _resetBackForwardListToCurrent]):  Utility routine to fix up b/f cursor on page error.
        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]):  Fix up b/f cursor on page
        error before commit succeeds.

2002-12-10  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed 3124302 -- REGRESSION: Can't use directory.apple.com because
        frame resize bar intercepts mouse clicks

        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView hitTest:]):
        Don't steal clicks for views that are inside nested WebViews.
        This isn't the real fix, but it's good enough for now. The real fix will be in WebCore.

2002-12-10  Darin Adler  <darin@apple.com>

        - fixed fix for 3124081 -- REGRESSION: partial progress is left in address field after download

        Reviewed by Chris.

        Need to move it down one line so the data source is clear before callback.

        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient interruptForPolicyChangeAndKeepLoading:]):
        Do the _clearProvisionalDataSource before the locationChangeDone: callback.

2002-12-10  John Sullivan  <sullivan@apple.com>

        Fixed more "Alexander"s that were lurking in places I forgot 
        to look before.

        Reviewed by Darin

        * Makefile.am:
        "rm -rf $(SYMROOTS)/Safari.app/Frameworks/WebKit.framework"

2002-12-10  Darin Adler  <darin@apple.com>

        - fixed 3124081 -- REGRESSION: partial progress is left in address field after download

        Reviewed by Chris.

        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient interruptForPolicyChangeAndKeepLoading:]):
        Put in code to call the locationChangeDone: method on the location change delegate if
        keepLoading is YES. Since the data source is not finished loading WebFrame won't do it.

2002-12-10  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3124079 - REGRESSION: Downloads never complete

        Reviewed by darin.

        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient handleDidFinishLoading:]): release and set to nil the download handler after calling [super handleDidFinishLoading:h]

2002-12-10  Richard Williamson   <rjw@apple.com>

        Fixed 3115427.  Page now draws instantly instead of 20 seconds.
        I added the substitution font we get from the appkit to the character to glyph
        cache.
        
        Fixed early return optimization from letter forming function.  It was too
        eager to return!
        
        Reviewed by mjs.

        * Misc.subproj/WebUnicode.m:
        (shapedString):
        * WebCoreSupport.subproj/WebTextRenderer.h:
        * WebCoreSupport.subproj/WebTextRenderer.m:
        (glyphForCharacter):
        (glyphForUnicodeCharacter):
        (widthForGlyph):
        (widthForCharacter):
        (_fontContainsString):
        (-[WebTextRenderer substituteFontForString:families:]):
        (-[WebTextRenderer _computeWidthForSpace]):
        (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:fontFamilies:]):
        (-[WebTextRenderer extendUnicodeCharacterToGlyphMapToInclude:]):
        (-[WebTextRenderer updateGlyphEntryForCharacter:glyphID:font:]):
        (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]):
        (-[WebTextRenderer extendGlyphToWidthMapToInclude:]):

2002-12-10  John Sullivan  <sullivan@apple.com>

        - tweaked the API of WebBookmarkImporter while implementing
        real "Import IE Favorites" UI

        Reviewed by Ken

        * Bookmarks.subproj/WebBookmarkImporter.h:
        fixed a typo in a constant
        * Bookmarks.subproj/WebBookmarkImporter.m:
        (-[WebBookmarkImporter initWithPath:]):
        Don't pass a group here. This method now creates the topBookmark
        (as it was doing before) but does not attempt to insert it
        anywhere. It's up to the client to fetch the topBookmark and do
        something with it. Also, don't name the new folder here; leave
        that to the caller also.

        * English.lproj/Localizable.strings:
        kept this file up to date

2002-12-10  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed 3108912 -- onclick handlers not supported on form elements

        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView hitTest:]):
        Take over hit testing so that all clicks on subviews are handled by the WebHTMLView.
        WebCore now handles getting the mouse events to the subviews after passing
        the events through the DOM.

2002-12-09  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Trey.

        - fixed 3123057 - SJ: DHTML doesn't always work on http://www.pixar.com/howwedoit/
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]):
        Treat a click on a link to the same URL with an anchor as a scroll
        to anchor, not a same URL load.
        (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]): Avoid
        adding the same anchor URL to the back/forward list many times.

2002-12-09  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed 3028664 -- change user agent string to include application name and version

        * WebView.subproj/WebController.m:
        (-[WebController setApplicationNameForUserAgent:]): Remove locking, unneeded since we changed
        how WebFoundation handles user agent.
        (-[WebController setCustomUserAgent:]): Ditto.
        (-[WebController resetUserAgent]): Ditto.
        (-[WebController userAgentForURL:]): Remove locking. Also add new algorithm for computing the
        user agent which takes the preferred language into account, and incorporates the WebKit version
        and the application name.

        * WebView.subproj/WebControllerPrivate.h: No need for a lock.
        * WebView.subproj/WebControllerPrivate.m:
        (-[WebControllerPrivate init]): Don't create a lock.
        (-[WebControllerPrivate dealloc]): Don't release a lock.

        * WebKit.pbproj/project.pbxproj: Bump versions to 0.8 and 35u.
        * English.lproj/InfoPlist.strings: In here too.

        * English.lproj/StringsNotToBeLocalized.txt: Updated for these and other recent changes.

2002-12-09  Richard Williamson   <rjw@apple.com>

        Many changes for b/f list.
        1.  Always attempt to cache snap back items.
        2.  Lazily release resources from page cache.  This garners gains on the PLT (and presumably iBench) tests, both for uncached.
        3.  Set the page cache size to 4 (+ snap back items).  After releasing resources we hover around 28MB footprint.  Closing windows releases all resources.
        4.  Turn on the back/forward cache by default.  The menu item still allows you to toggle b/f on and off.  Useful when conducting speed comparison in the PLT.
        5.  Addition of lazy update to PLT memory statistics to show footprint after lazy release of page cache resources.
        6.  Delayed to leak detector to account for lazy release of resources.
        7.  A change when saving a page to back/forward cache to clear and restore the documents root renderer.  Without this fix pages would appear to 'flicker' more when content arrived.
        8.  A change to ensure a layout when restoring a page from the b/f cache.  Without this fix scrollbars wouldn't appear correctly.
        9.  A change to ensure that khtmlview layout and paint timers are unscheduled when a page is placed in the b/f cache.
        10.  A fix to decouple of khtmlview from it's part when placed in the b/f cache.  This fixed a crash caused by inappropriate deference of the part when a page cache item was released.
        11.  A comment in KHTMLPageCache.h explaining the that our page cache is not the same as the khtml page cache.  (Their cache just cached the html source.)
        12.  Reapply styles when loading page from cache.  This ensures that visited link get the appropriate style.

        Reviewed by kocienda.

        * History.subproj/WebBackForwardList.m:
        (+[WebBackForwardList pageCacheSize]):
        (+[WebBackForwardList setUsesPageCache:]):
        (+[WebBackForwardList usesPageCache]):
        * History.subproj/WebHistoryItem.h:
        * History.subproj/WebHistoryItem.m:
        (-[WebHistoryItem setAlwaysAttemptToUsePageCache:]):
        (-[WebHistoryItem alwaysAttemptToUsePageCache]):
        (+[WebHistoryItem _invalidateReleaseTimer]):
        (-[WebHistoryItem _scheduleRelease]):
        (+[WebHistoryItem _releaseAllPendingPageCaches]):
        (-[WebHistoryItem _releasePageCache:]):
        (-[WebHistoryItem setHasPageCache:]):
        (-[WebWindowWatcher windowWillClose:]):
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _startLoading:]):
        (-[WebDataSource _commitIfReady:]):
        (-[WebDataSource _loadingFromPageCache]):
        * WebView.subproj/WebDynamicScrollBarsView.h:
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _purgePageCache]):
        (+[WebFrame _timeOfLastCompletedLoad]):
        (-[WebFrame _setState:]):
        (-[WebFrame _opened]):
        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]):
        * WebView.subproj/WebPreferences.m:
        (+[WebPreferences load]):

2002-12-09  Darin Adler  <darin@apple.com>

        Reviewed by Chris.

        - fixed 3122608 -- REGRESSION: Downloads can't be cancelled

        When I fixed the leak for other categories of policy interruption, I messed
        things up for downloads. Added new parameters to handle this right.

        * WebView.subproj/WebBaseResourceHandleDelegate.h: Remove isDownload flag.
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate isDownload]): Return NO, override in subclass.
        (-[WebBaseResourceHandleDelegate handle:didReceiveResponse:]): Call isDownload
        method instead of looking at flag directly.

        * WebView.subproj/WebControllerPrivate.h: Add complete: parameter to _mainReceivedError:.
        * WebView.subproj/WebControllerPrivate.m:
        (-[WebController _mainReceivedError:fromDataSource:complete:]): If complete is NO, then
        don't mark the primary load as complete.
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient isDownload]): Added. Returns YES if downloadHandler is non-nil.
        (-[WebMainResourceClient receivedError:complete:]): Added complete parameter. Call the
        _setPrimaryLoadComplete: method in the download case (fixes a possible leak), and pass
        the complete parameter through to the controller.
        (-[WebMainResourceClient cancel]): Pass complete:YES.
        (-[WebMainResourceClient interruptForPolicyChangeAndKeepLoading:]): Added the keepLoading
        flag, and pass complete:!keepLoading.
        (-[WebMainResourceClient stopLoadingForPolicyChange]): Pass keepLoading:NO.
        (-[WebMainResourceClient continueAfterContentPolicy:response:]): Pass keepLoading:YES,
        and remove the call to the now-obsolete setIsDownload:.
        (-[WebMainResourceClient handle:didFailLoadingWithError:]): Pass complete:YES.

2002-12-08  Darin Adler  <darin@apple.com>

        Reviewed by Don and Dave.

        - fixed 3120578 -- REGRESSION: going to about:blank creates null view

        This part of the fix makes sure that a renderer is created, even when there are no bytes
        of data passed through. This makes the empty document about:blank case work just like the
        "document with just whitespace in it case". There's another part of the fix in WebCore that
        takes care of the remaining problem. 

        * WebView.subproj/WebHTMLRepresentation.m:
        (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
        Call receivedData:withDataSource: on the bridge with nil for the data. It would be even more
        elegant to add a new call for the case where we finish, but it's not necessary, since the
        existing receivedData: call does all the right things if passed nil.

        * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _finishedLoading]):
        Call finishedLoadingWithDataSource: here, to make sure it's done after committing.
        This parallels what we already do for the didReceiveData call.
        * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient handleDidFinishLoading:]):
        Remove the call to finishedLoadingWithDataSource: because it's handled by _finishedLoading now.
        This parallels what we already do for the didReceiveData call.

        - fixed long standing problem where resizing could make you see a "null view"

        * WebView.subproj/WebView.m:
        (-[WebView drawRect:]): Add a "paint cyan" feature in development builds.
        Null view problems are particularly hard to debug without something like this,
        and we don't care if development builds are slightly slower. No change in deployment.
        (-[WebView setFrameSize:]): Tell the scroll view to draw the background if we are
        resized. We can't do our "let the old bits show through" thing any more if we have to
        redraw because of resizing.

        - other changes

        * WebKit.pbproj/project.pbxproj: Remove the old -DAPPLE_CHANGES and -DHAVE_CONFIG_H that we
        once needed when WebKit used to compile  C++ headers from the KHTML part of WebCore.
        We haven't needed those for ages. Also sort things a bit, using the new Electron feature for
        sorting lists of files alphabetically, and some by hand.

        * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.

2002-12-08  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3121627 - REGRESSION: partial progress is left in address field after download

        Reviewed by: darin

        In WebMainResourceClient, make sure to always call receivedError before _clearProvisionalDataSource so that
        receivedError works. This is done in multiple places, so I factored this out into one method interuptForPolicyChange.

        * WebView.subproj/WebControllerPrivate.m:
        (-[WebController _mainReceivedError:fromDataSource:]): added asserts for nil error, dataSource and frame
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient interruptForPolicyChange]): renamed from notifyDelegatesOfInterruptionByPolicyChange because it now also sets the provisionalDataSource on the frame to nil. 
        (-[WebMainResourceClient stopLoadingForPolicyChange]): call interruptForPolicyChange, stop load
        (-[WebMainResourceClient continueAfterContentPolicy:response:]): call interruptForPolicyChange

2002-12-06  Trey Matteson  <trey@apple.com>

        Clean up some printfs.  Use WebKitLogPageCache for page cache info.

        Reviewed by: rjw

        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _transitionToCommitted:]):
        (-[WebFrame _purgePageCache]):
        (-[WebFrame _setState:]):
        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]):

2002-12-06  Trey Matteson  <trey@apple.com>

        3118584 - implement desired behavior for load - reload - b/f
        3119241 - page cache needs to be refreshed after reload
        3118096 - isTargetItem:NO saved to disk with every bookmark

        The most noticeable changes are the addition of the "Same" loadType, and that reload
        does not restore form state.  3119241 was noticed in passing, and is related.
        3118096 is a nit with a possible small perf benefit.

        Reviewed by: rjw

        * History.subproj/WebHistoryItem.h:
        * History.subproj/WebHistoryItem.m:
        (-[WebHistoryItem dealloc]):  New originalURL field.
        (-[WebHistoryItem originalURL]):  New getter.
        (-[WebHistoryItem setOriginalURL:]):  New setter.
        (-[WebHistoryItem dictionaryRepresentation]):  Dont save isTarget.
        (-[WebHistoryItem initFromDictionaryRepresentation:]):  Dont save isTarget.
        * WebView.subproj/WebFrame.m:
        (-[WebFrame loadRequest:]):  Test for going to same URL, invoke loadTypeSame case.
        * WebView.subproj/WebFramePrivate.h:  Add loadTypeSame
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _addBackForwardItemClippedAtTarget:]):  Remove a line of dead code.
        (-[WebFrame _createItem]):  Set originalURL when item is created.
        (-[WebFrame _transitionToCommitted:]):  For loadTypeSame, clear page cache
        (-[WebFrame _purgePageCache]):  Added logging.
        (-[WebFrame _setState:]):  Don't add to page cache if doing a reload.
        (-[WebFrame _isLoadComplete]):  LoadTypeSame is a NOP.
        (-[WebFrame _loadItem:fromItem:withLoadType:]):  LoadTypeSame is an ASSERT.
        (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]):  In
        the LoadTypeSame case load from origin and never do anchor nav.  If asked to load
        the same URL, invoke LoadTypeSame case.
        (-[WebFrame _loadURL:intoChild:]):  Latent bug: WebFrameLoadTypeReloadAllowingStaleData
        should restore child frame content like reload does.
        (-[WebFrame _itemForRestoringDocState]):  Prevent form state restore on reload and loadSame.
        (-[WebFrame _shouldTreatURLAsSameAsCurrent:]):  New utility function.

2002-12-06  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by: Darin Adler

        - made framework embedding work correctly with buildit

        * WebKit.pbproj/project.pbxproj: Give framework a relative
        install path, don't install it the normal way, and copy it
        manually to /AppleInternal/Library/Frameworks if installing. Also
        look for other frameworks in
        ${DSTROOT}/AppleInternal/Library/Frameworks.

2002-12-05  Darin Adler  <darin@apple.com>

        Reviewed by Trey.

        - fixed 3103691 -- assertion in WebHTMLView addMouseMovedObserver at versiontracker

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView addMouseMovedObserver]): Instead of asserting, do the checks here to
        determine if the observer should be installed.
        (-[WebHTMLView viewDidMoveToWindow]): Remove checks, since addMouseMovedObserver now checks.
        (-[WebHTMLView windowDidBecomeMain:]): Remove checks, since addMouseMovedObserver now checks.

2002-12-05  Richard Williamson   <rjw@apple.com>

        Don't ceil spaces if not a fixed pitch font.  This make sites
        that have hard coded block widths have less wrapping beyond what the
        designer expected.  Fixes 3117225.
        
        Reviewed by: mjs

        * WebCoreSupport.subproj/WebTextRenderer.h:
        * WebCoreSupport.subproj/WebTextRenderer.m:
        (widthForGlyph):
        (-[WebTextRenderer _computeWidthForSpace]):
        (-[WebTextRenderer initWithFont:]):
        (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:fontFamilies:]):

2002-12-05  Chris Blumenberg  <cblu@apple.com>

        Added WebDocumentText protocol. Made WebHTMLView and WebTextView implement it.

        Reviewed by: rjw

        * WebView.subproj/WebController.m:
        (-[WebController supportsTextEncoding]): check if protocol is WebDocumentText
        * WebView.subproj/WebDocument.h:
        * WebView.subproj/WebHTMLView.h:
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView hasSelection]): call selectedString
        (-[WebHTMLView takeFindStringFromSelection:]): call selectedString
        (-[WebHTMLView selectAll:]): call selectAll
        (-[WebHTMLView string]): part of WebDocumentText protocol
        (-[WebHTMLView attributedString]): part of WebDocumentText protocol
        (-[WebHTMLView selectedString]): part of WebDocumentText protocol
        (-[WebHTMLView selectedAttributedString]): part of WebDocumentText protocol
        (-[WebHTMLView selectAll]): part of WebDocumentText protocol
        (-[WebHTMLView deselectAll]): part of WebDocumentText protocol
        * WebView.subproj/WebHTMLViewPrivate.m:
        (-[WebHTMLView _writeSelectionToPasteboard:]): call selectedAttributedString
        * WebView.subproj/WebTextView.h:
        * WebView.subproj/WebTextView.m:
        (-[WebTextView string]): part of WebDocumentText protocol
        (-[WebTextView attributedString]): part of WebDocumentText protocol
        (-[WebTextView selectedString]): part of WebDocumentText protocol
        (-[WebTextView selectedAttributedString]): part of WebDocumentText protocol
        (-[WebTextView selectAll]): part of WebDocumentText protocol
        (-[WebTextView deselectAll]): part of WebDocumentText protocol

2002-12-05  Darin Adler  <darin@apple.com>

        Reviewed by Richard.

        - fixed 3107240 -- world leak: reproducible, trying to open TIFF file

        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient notifyDelegatesOfInterruptionByPolicyChange]):
        Send error to the delegate using receivedError: rather than directly.
        This results in the frame properly stopping the load and fixes the leak.

2002-12-05  Darin Adler  <darin@apple.com>

        Reviewed by Chris.

        * Downloads.subproj/WebDownloadHandler.m: (-[WebDownloadHandler initWithDataSource:]):
        Add WebGZipDecoder to the list.

        * Downloads.subproj/WebGZipDecoder.h: Finished this.
        * Downloads.subproj/WebGZipDecoder.m: Finished this.

        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.

2002-12-05  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by: Darin

        * English.lproj/InfoPlist.strings: removed letters from
        CFBundleShortVersionString to make buildit happy.

=== Alexander-35 ===

2002-12-05  Darin Adler  <darin@apple.com>

        Reviewed by Ken.

        - fixed 3118647 -- REGRESSION: click policy no longer works

        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _actionInformationForNavigationType:event:originalURL:]):
        Allow mouse up events too. Those are usually the ones that trigger navigation.

2002-12-04  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed assert when you choose an item from a menu, for example, and that navigates

        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _actionInformationForNavigationType:event:originalURL:]):
        If the event is over some other element, just don't include the element info.

2002-12-04  Chris Blumenberg  <cblu@apple.com>

        Fixed: 3116294 - Need "Reload" feature in Downloads window

        Reviewed by: rjw

        * WebKit.pbproj/project.pbxproj: made WebFramePrivate.h private so that WebBrowser can call _downloadRequest:toPath:
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _loadDataSource:withLoadType:]): commented out assert that complains about lack of WebView. Long-term solution is to catch this earlier and have a lone datasource download mechanism 3118355.

2002-12-04  Trey Matteson  <trey@apple.com>

        3097585 - Crash in -[WebFrame(WebPrivate) _isLoadComplete] at result of google image search

        The root of this problem was that we would detach child frames by calling detach
        on them all, then clearing the whole array.  This would fail because detaching a
        frame might have to stop a load, which calls checkLoadComplete, which visits the
        entire frame tree.  But if a previously detached child is still sitting in that
        tree, we end up with an assertion failure.  The solution is to remove the kids as
        they are detached.

        Reviewed by: Darin Adler

        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _createItem]):   Method rename (a nit I missed from an earlier change)
        (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]):  Method rename
        (-[WebFrame _detachChildren]):   new method to do detaching right
        (-[WebFrame _detachFromParent]):  call new method
        (-[WebFrame _setDataSource:]):  call new method
        (-[WebFrame _transitionToCommitted:]):    Method rename

2002-12-04  Darin Adler  <darin@apple.com>

        Reviewed by Trey and Maciej.

        - fixed 3117558 -- Assertion failure in KWQKHTMLPart::slotData after typing "amazon.com" twice
        - update NSEvent handling in preparation for NSView mouse event handling going through WebCore

        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _loadItem:fromItem:withLoadType:]): Added FIXME comments about matching the _loadURL
        case more closely.
        (-[WebFrame _actionInformationForNavigationType:event:originalURL:]): Only use the event if it's
        a mouse down event. This prevents trouble when we have other kinds of events coming through.
        (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]): Call the new scrollToAnchorWithURL:
        instead of openURL:. This fixes the assertion failure in the bug above.
        (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): Update checks here to more closely
        match the ones in KHTMLPart::openURL that we are replacing. Add more comments.

        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView hitTest:]): Function to intercept all clicks at the
        WebHTMLView level, disabled for now because we are not yet ready.

        - started a gzip download decoder, not yet hooked up

        * Downloads.subproj/WebGZipDecoder.h: Added.
        * Downloads.subproj/WebGZipDecoder.m: Added.
        * WebKit.pbproj/project.pbxproj: Add WebGZipDecoder and zlib.

        - other changes

        * Panels.subproj/WebAuthenticationPanel.m: Fixed screwed-up indentation.

2002-12-04  Richard Williamson   <rjw@apple.com>

        Cache the fallback font in the same way we cache other
        fonts.
        
        Reviewed by: Darin

        * WebCoreSupport.subproj/WebTextRendererFactory.h:
        * WebCoreSupport.subproj/WebTextRendererFactory.m:
        (-[WebTextRendererFactory fallbackFontWithTraits:size:]):
        (-[WebTextRendererFactory fontWithFamilies:traits:size:]):
        (-[WebTextRendererFactory cachedFontFromFamily:traits:size:]):

2002-12-04  Richard Williamson   <rjw@apple.com>

        Fixed massive performance regression.
        We were leaking WebFontCacheKey.
        Added a cache of missing fonts to avoid
        expensive appkit lookup.
        
        Reviewed by: Maciej

        * WebCoreSupport.subproj/WebTextRendererFactory.m:
        (-[WebTextRendererFactory cachedFontFromFamily:traits:size:]):
        (-[WebTextRendererFactory cachedFontFromFamilies:traits:size:]):

2002-12-03  Darin Adler  <darin@apple.com>

        - fixed 3117193 -- REGRESSION: Hang on Hixie's weblog

        Reviewed by Maciej.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer substituteFontForString:families:]):
        Do the operation on the whole string at once instead of a character at a time.
        I decided to do this rather than correct the bug in the character-at-a-time version.

== Rolled over to ChangeLog-2002-12-03 ==