Reviewed by Darin, landed by Anders.
[WebKit-https.git] / WebKit / mac / ChangeLog
1 2007-11-27  Kevin Decker  <kdecker@apple.com>
2
3         Reviewed by Darin, landed by Anders.
4
5         Fixed: <rdar://problem/4610818> CrashTracer: 1533 crashes in Safari at com.macromedia.Flash Player.plugin: native_ShockwaveFlash_TCallLabel + 271131
6
7         The problem was that some Leopard users were still inadvertently using the old Flash 8 plug-in, even though Leopard
8         shipped with Flash 9. To avoid loading an older version of a plug-in when a newer version is installed, the plug-in
9         database will compare bundle versions and always load the latest version.
10
11         * Plugins/WebBasePluginPackage.h:
12         * Plugins/WebBasePluginPackage.m:
13         (-[WebBasePluginPackage versionNumber]): New method. CFBundleGetVersionNumber doesn't work with all possible versioning schemes,
14         but we think for now it's good enough for us.
15         * Plugins/WebPluginDatabase.m:
16         (considerCandidate): Added a C utility function which compares the current plug-in against a candidate plug-in's version number.
17         If both plug-ins have the same bundle ID and the candiate is newer, the current plug-in becomes the candidate.
18         (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): Calls the new considerCandidate() function.
19
20 2007-11-26  Timothy Hatcher  <timothy@apple.com>
21
22         Reviewed by Dave Hyatt.
23
24         <rdar://problem/5569233> Add the ability to disable author and user CSS styles
25
26         * WebView/WebPreferenceKeysPrivate.h: Define WebKitRespectStandardStyleKeyEquivalentsPreferenceKey.
27         * WebView/WebPreferences.m:
28         (+[WebPreferences initialize]): Default WebKitRespectStandardStyleKeyEquivalentsPreferenceKey to YES.
29         (-[WebPreferences authorAndUserStylesEnabled]): Return the setting's BOOL value.
30         (-[WebPreferences setAuthorAndUserStylesEnabled:]): Set the setting's BOOL value.
31         * WebView/WebPreferencesPrivate.h: Add authorAndUserStylesEnabled and setAuthorAndUserStylesEnabled:.
32         * WebView/WebView.mm:
33         (-[WebView _preferencesChangedNotification:]): Update WebCore::Settings::authorAndUserStylesEnabled.
34
35 2007-11-26  Brady Eidson  <beidson@apple.com>
36
37         Reviewed by Mark Rowe
38
39         Provide API for setting the default storage quota per database origin
40
41         * Misc/WebNSDictionaryExtras.h:
42         * Misc/WebNSDictionaryExtras.m:
43         (-[NSMutableDictionary _webkit_setUnsignedLongLong:forKey:]): Helper for UINT64 preferences
44
45         * WebView/WebPreferenceKeysPrivate.h:
46         * WebView/WebPreferences.m:
47         (-[WebPreferences _unsignedLongLongValueForKey:]): Helper for UINT64 prefs
48         (-[WebPreferences _setUnsignedLongLongValue:forKey:]): Ditto
49         (-[WebPreferences defaultDatabaseQuota]):
50         (-[WebPreferences setDefaultDatabaseQuota:]):
51         * WebView/WebPreferencesPrivate.h:
52
53         * WebView/WebView.mm:
54         (-[WebView _preferencesChangedNotification:]): Set the WebCore Settings version of the default storage pref
55
56 2007-11-26  Darin Adler  <darin@apple.com>
57
58         Reviewed by Adele.
59
60         - some middle-mouse-button-related fixes
61
62         These don't affect Safari since it maps the middle mouse button to the command key,
63         but that might not always be the case for future versions.
64
65         * WebView/WebHTMLView.mm:
66         (-[WebHTMLView otherMouseDown:]): Pass through middle mouse down events to WebCore.
67         (-[WebHTMLView otherMouseDragged:]): Ditto, for drag events.
68         (-[WebHTMLView otherMouseUp:]): Ditto, for up events.
69
70         * WebView/WebPolicyDelegate.h: Fixed inaccurate documentation of WebActionButtonKey.
71
72 2007-11-26  Anders Carlsson  <andersca@apple.com>
73
74         Reviewed by Brady.
75
76         Get rid of the WebSecurityOriginPrivate object and store 
77         the WebCore::SecurityOriginData pointer in the _private field of
78         the WebSecurityOrigin object instead.
79         
80         * Storage/WebDatabaseManager.mm:
81         (-[WebDatabaseManager databasesWithOrigin:]):
82         (-[WebDatabaseManager detailsForDatabase:withOrigin:]):
83         (-[WebDatabaseManager deleteDatabasesWithOrigin:]):
84         (-[WebDatabaseManager deleteDatabase:withOrigin:]):
85         * Storage/WebSecurityOrigin.mm:
86         (-[WebSecurityOrigin initWithProtocol:domain:port:]):
87         (-[WebSecurityOrigin protocol]):
88         (-[WebSecurityOrigin domain]):
89         (-[WebSecurityOrigin port]):
90         (-[WebSecurityOrigin usage]):
91         (-[WebSecurityOrigin quota]):
92         (-[WebSecurityOrigin setQuota:]):
93         (-[WebSecurityOrigin dealloc]):
94         (-[WebSecurityOrigin finalize]):
95         (-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:]):
96         (-[WebSecurityOrigin _core]):
97         * Storage/WebSecurityOriginInternal.h:
98
99 2007-11-26  Timothy Hatcher  <timothy@apple.com>
100
101         Reviewed by Adam Roben.
102
103         Bug 16137: Web Inspector window on Leopard should have a unified toolbar and window title
104         http://bugs.webkit.org/show_bug.cgi?id=16137
105
106         Create the Web Inspector window with the textured style. Set the content border
107         thickness for the top of the window or the height of the toolbar. Also make the
108         window's bottom corners square, since a normal textured window normally has
109         rounded bottom corners.
110
111         * WebCoreSupport/WebInspectorClient.mm:
112         (-[WebInspectorWindowController window]):
113
114 2007-11-24  Mark Rowe  <mrowe@apple.com>
115
116         Tiger build fix.
117
118         * Plugins/WebBaseNetscapePluginStream.mm:
119         (CarbonPathFromPOSIXPath): Use WebCFAutorelease as this also works on Tiger.
120
121 2007-11-24  Mark Rowe  <mrowe@apple.com>
122
123         Reviewed by Tim Hatcher.
124
125         Fix <rdar://problem/5432686> 333MB RPRVT seems to leak @ www.43folders.com (1hr plug-in stream).
126         http://bugs.webkit.org/show_bug.cgi?id=13705
127
128         Have NP_ASFILE and NP_ASFILEONLY streams write the data to disk as they receive it rather than
129         dumping the data to disk in a single go when the stream has completed loading.  On a test case
130         involving a 150MB Flash movie being streamed from a local web server this reduces memory consumption
131         on page load from around 400MB to 22MB.
132
133         The only plugin I have found that uses NP_ASFILE or NP_ASFILEONLY on the Mac is our NetscapeMoviePlugin
134         example code so the NP_ASFILE portion of this change has not had any testing with a real-world plugin.
135
136         * Plugins/WebBaseNetscapePluginStream.h:
137         * Plugins/WebBaseNetscapePluginStream.mm:
138         (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
139         (-[WebBaseNetscapePluginStream dealloc]):
140         (-[WebBaseNetscapePluginStream finalize]):
141         (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
142         (-[WebBaseNetscapePluginStream _destroyStream]): Update to work with paths as NSStrings.
143         (-[WebBaseNetscapePluginStream _deliverDataToFile:]): Open the file if it is not already open, and write any data
144         to disk.
145         (-[WebBaseNetscapePluginStream finishedLoading]): If the stream is NP_ASFILE or NP_ASFILEONLY we need to ensure
146         that the file exists before _destroyStream passes it to the plugin.  Simulating the arrival of an empty data block
147         ensure that the file will be created if it has not already.
148         (-[WebBaseNetscapePluginStream receivedData:]):
149         (CarbonPathFromPOSIXPath):
150         * Plugins/WebBaseNetscapePluginView.mm:
151         (-[WebBaseNetscapePluginView pluginViewFinishedLoading:]): Data is dealt with incrementally so there's no need to pass
152         it to finishedLoading.
153         (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): Ditto.
154
155 2007-11-23  Oliver Hunt  <oliver@apple.com>
156
157         Reviewed by Mark Rowe.
158         
159         Fixed <rdar://problem/3759190> allow input methods the option of processing mouse events themselves
160
161         * WebView/WebHTMLView.mm:
162         (-[WebHTMLView mouseDown:]):
163
164 2007-11-22  Dan Bernstein  <mitz@apple.com>
165
166         Reviewed by Antti Koivisto.
167
168         - http://bugs.webkit.org/show_bug.cgi?id=15811
169           WebKit plug-ins can re-enter WebKit under attach()
170           <rdar://problem/5577978>
171
172         * Plugins/WebNullPluginView.mm:
173         (-[WebNullPluginView viewDidMoveToWindow]): Removed workaround for the
174         above bug that added as part of fixing
175         <http://bugs.webkit.org/show_bug.cgi?id=15804>.
176
177 2007-11-21  Mark Rowe  <mrowe@apple.com>
178
179         Reviewed by Eric.
180
181         Fix WebKit to build without warnings under GCC 4.2.
182
183         * Configurations/Base.xcconfig:
184
185 2007-11-21  Mark Rowe  <mrowe@apple.com>
186
187         Reviewed by Tim Hatcher.
188
189         Changes due to <rdar://problem/5602936> Need to resolve new GCC 4.2 warnings
190
191         Update format strings to use format specifiers that match the argument types.
192
193         * Misc/WebGraphicsExtras.c:
194         (WebConvertBGRAToARGB):
195
196 2007-11-19  Brady Eidson <beidson@apple.com>
197
198         Reviewed by Maciej
199
200         Finished hooking up the WebKit API for database management.
201         Most of the API is actually implemented in WebCore and some of those methods might
202         only be stubs for now.
203
204         * Storage/WebDatabaseManager.mm:
205         (-[WebDatabaseManager origins]): Call through to the WebCore tracker and construct an API result
206         (-[WebDatabaseManager databasesWithOrigin:]): Ditto
207         (-[WebDatabaseManager detailsForDatabase:withOrigin:]): Ditto
208
209         * Storage/WebSecurityOrigin.mm:
210         (-[WebSecurityOrigin usage]): Call through to WebCore
211         (-[WebSecurityOrigin quota]): Ditto
212         (-[WebSecurityOrigin setQuota:]): Ditto
213         (-[WebSecurityOrigin _core]): Get WebCore version of this object
214         * Storage/WebSecurityOriginInternal.h:
215
216 2007-11-17  Timothy Hatcher  <timothy@apple.com>
217
218         Reviewed by Mark Rowe.
219
220         Bug 13470: i18n: The Web Inspector is not localizable
221         http://bugs.webkit.org/show_bug.cgi?id=13470
222
223         Implement the localizedStringsURL() client method to return the
224         localized URL of InspectorLocalizedStrings.js in WebCore.
225
226         * WebCoreSupport/WebInspectorClient.h: Added localizedStringsURL.
227         * WebCoreSupport/WebInspectorClient.mm:
228         (WebInspectorClient::localizedStringsURL): Added.
229         (WebInspectorClient::updateWindowTitle): Localized the window title.
230         (-[WebInspectorWindowController init]): Remove a FIXME that dosen't make sense anymore.
231         (-[WebInspectorWindowController initWithInspectedWebView:]): Code style cleanup.
232
233 2007-11-17  Alexey Proskuryakov  <ap@webkit.org>
234
235         Reviewed by Darin.
236
237         http://bugs.webkit.org/show_bug.cgi?id=15969
238         Eliminate Editor::deleteRange()
239
240         * WebView/WebHTMLView.mm:
241         (+[WebHTMLView initialize]):
242         (-[WebHTMLView yank:]):
243         (-[WebHTMLView yankAndSelect:]):
244         (-[WebHTMLView setMark:]):
245         (-[WebHTMLView deleteToMark:]):
246         (-[WebHTMLView selectToMark:]):
247         (-[WebHTMLView swapWithMark:]):
248         Pushed all kill ring methods to WebCore. They were guilty of using Editor::deleteRange()!
249
250 2007-11-16  Mark Rowe  <mrowe@apple.com>
251
252         Reviewed by Tim Hatcher.
253
254         Build WebCore as a sub-framework of WebKit in all configurations.
255
256         * Configurations/WebKit.xcconfig:
257
258 2007-11-16  John Sullivan  <sullivan@apple.com>
259
260         Reviewed by Brady
261
262         * WebKit.exp:
263         Exported some new database-related symbols
264
265 2007-11-16  Brady Eidson  <beidson@apple.com>
266
267         Reviewed by John
268
269         Database management API tweaks
270
271         Fleshed out "WebSecurityOrigin" to be the API object representing an origin.  This relieves some
272         burden off WebDatabaseManager and allows usage/quota operations on the SecurityOrigin object itself
273
274         Also added a new subdirectory for Storage related API - Why are we afraid to add new directories to
275         the WebKit tree?
276
277         * Misc/WebSecurityOrigin.mm: Removed.
278         * Misc/WebSecurityOriginInternal.h: Removed.
279         * Misc/WebSecurityOriginPrivate.h: Removed.
280
281         * Storage/WebDatabaseManager.mm: Work in terms of WebSecurityOrigin
282         * Storage/WebDatabaseManagerPrivate.h:
283
284         * Storage/WebSecurityOrigin.mm: Added.
285         (-[WebSecurityOriginPrivate initWithProtocol:domain:port:]):
286         (-[WebSecurityOriginPrivate initWithWebCoreSecurityOrigin:]):
287         (-[WebSecurityOriginPrivate finalize]):
288         (-[WebSecurityOriginPrivate dealloc]):
289         (-[WebSecurityOrigin initWithProtocol:domain:]):
290         (-[WebSecurityOrigin initWithProtocol:domain:port:]):
291         (-[WebSecurityOrigin protocol]):
292         (-[WebSecurityOrigin domain]):
293         (-[WebSecurityOrigin port]):
294         (-[WebSecurityOrigin usage]): 
295         (-[WebSecurityOrigin quota]):
296         (-[WebSecurityOrigin setQuota:]): Clients will set quotas on the WebSecurityOrigin object itself
297         (-[WebSecurityOrigin dealloc]):
298         (-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:]):
299         * Storage/WebSecurityOriginInternal.h: Added.
300         * Storage/WebSecurityOriginPrivate.h: Added.
301
302 2007-11-15  Brady Eidson  <beidson@apple.com>
303
304         Reviewed by John
305
306         Stubbing out everything required for a WebKit API for databases
307
308         These interfaces seem to provide everything we need for UI and management at the browser level
309
310         * Misc/WebDatabaseManager.h: Removed.
311         * Misc/WebDatabaseManager.mm: Removed.
312         * Misc/WebDatabaseManagerPrivate.h: Removed.
313
314         * Misc/WebSecurityOrigin.mm: Added. Object that acts as a container for the "SecurityOrigin tuple"
315           (protocol, domain, and port)
316         (-[WebSecurityOriginPrivate initWithProtocol:domain:port:]):
317         (-[WebSecurityOriginPrivate dealloc]):
318         (-[WebSecurityOrigin initWithProtocol:domain:]):
319         (-[WebSecurityOrigin initWithProtocol:domain:port:]):
320         (-[WebSecurityOrigin protocol]):
321         (-[WebSecurityOrigin domain]):
322         (-[WebSecurityOrigin port]):
323         (-[WebSecurityOrigin dealloc]):
324         (-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:WebCore::]):
325         * Misc/WebSecurityOriginInternal.h: Added.
326         * Misc/WebSecurityOriginPrivate.h: Added.
327
328         * Storage/WebDatabaseManager.mm: Added.
329         (+[WebDatabaseManager sharedWebDatabaseManager]):
330         (-[WebDatabaseManager origins]):  Get a list of all origins currently tracked
331         (-[WebDatabaseManager detailsForOrigin:]): Get the current usage and current quota for the given origin
332         (-[WebDatabaseManager databasesWithOrigin:]): Get all databases for a certain origin
333         (-[WebDatabaseManager detailsForDatabase:withOrigin:]): Get all details about a specific database
334         (-[WebDatabaseManager setQuota:forOrigin:]): Change origin-wide quota
335         (-[WebDatabaseManager deleteAllDatabases]):
336         (-[WebDatabaseManager deleteAllDatabasesWithOrigin:]):
337         (-[WebDatabaseManager deleteDatabase:withOrigin:]):
338         * Storage/WebDatabaseManagerPrivate.h: Added.
339         * Storage/WebDatabaseManagerInternal.h: Added.
340         (WebKitInitializeDatabasesIfNecessary): One-time initialization of database-related things
341
342         * Storage/WebDatabaseTrackerClient.h: Added. Stubbed out client for notifications
343         * Storage/WebDatabaseTrackerClient.mm: Added.
344         (WebDatabaseTrackerClient::sharedWebDatabaseTrackerClient):
345         (WebDatabaseTrackerClient::WebDatabaseTrackerClient):
346         (WebDatabaseTrackerClient::~WebDatabaseTrackerClient):
347         (WebDatabaseTrackerClient::dispatchDidModifyOrigin):
348         (WebDatabaseTrackerClient::dispatchDidModifyDatabase):
349
350         * WebView/WebView.mm:
351         (-[WebView _commonInitializationWithFrameName:groupName:]): Do one-time initialization of
352           Database-related things here
353
354 2007-11-13  Geoffrey Garen  <ggaren@apple.com>
355
356         Reviewed by Anders Carlsson.
357         
358         Renamed Shared to RefCounted.
359
360         * ForwardingHeaders/wtf/RefCounted.h: Copied from WebKit/mac/ForwardingHeaders/wtf/Shared.h.
361         * ForwardingHeaders/wtf/Shared.h: Removed.
362         * WebCoreSupport/WebContextMenuClient.h:
363
364 2007-11-13  Geoffrey Garen  <ggaren@apple.com>
365
366         Reviewed by Sam Weinig.
367
368         Moved Shared.h into wtf so it could be used in more places.
369
370         * ChangeLog:
371         * WebCoreSupport/WebContextMenuClient.h:
372
373 2007-11-13  John Sullivan  <sullivan@apple.com>
374
375         Reviewed by Darin.
376
377         removed recently-added PreferredType concept; we found a better way to do what
378         ths was accomplishing
379
380         * WebCoreSupport/WebChromeClient.mm:
381         (WebChromeClient::createWindow):
382         removed use of PreferredType
383
384 2007-11-13  John Sullivan  <sullivan@apple.com>
385
386         Reviewed by Dan Bernstein.
387         
388         - fixed <rdar://problem/5567954> REGRESSION (Safari 2-3): Autofill no longer automatically fills in 
389         form fields other than the one you're typing into
390
391         * WebCoreSupport/WebEditorClient.mm:
392         (selectorForKeyEvent):
393         correct the key identifier strings for Tab and Esc; these were updated in WebCore as part of r21445
394         but didn't get updated here.
395
396 2007-11-12  Josh Aas  <joshmoz@gmail.com>
397
398         Reviewed by Darin.
399
400         - http://bugs.webkit.org/show_bug.cgi?id=15946
401           add NPPValue NPPVpluginDrawingModel (Mozilla bug 403418 compat)
402
403         * Plugins/WebBaseNetscapePluginView.mm:
404         (-[WebBaseNetscapePluginView setVariable:value:]):
405
406 2007-11-12  Alexey Proskuryakov  <ap@webkit.org>
407
408         Reviewed by Darin.
409
410         http://bugs.webkit.org/show_bug.cgi?id=15954
411         Move DOM Selection operations out of SelectionController
412
413         * WebView/WebHTMLView.mm:
414         (-[WebHTMLView _expandSelectionToGranularity:]):
415         (-[WebHTMLView selectToMark:]):
416         (-[WebHTMLView swapWithMark:]):
417         * WebView/WebView.mm:
418         (-[WebView setSelectedDOMRange:affinity:]):
419         Adapted for SelectionController::setSelectedRange() now returning a bool.
420
421 2007-11-12  Oliver Hunt  <oliver@apple.com>
422
423         Reviewed by Darin and Geoff.
424
425         <rdar://problem/5522011> The content of the password field of 
426         Safari is displayed by reconversion.
427
428         Some input methods (notably Kotoeri) can incorrectly provide 
429         access to the raw text of a password field.  To work around 
430         this we forcefully override the inputContext whenever a password
431         field is active.
432
433         * WebView/WebHTMLView.mm:
434         (-[WebHTMLView inputContext]):
435
436 2007-11-12  John Sullivan  <sullivan@apple.com>
437
438         Reviewed by Tim Hatcher
439         
440         - speculative fix for <rdar://problem/5509989> CrashTracer: [USER] 1 crash in Safari at com.apple.WebKit: 
441         -[WebPDFView(FileInternal) _updatePreferencesSoon] + 56
442         
443         The crash is probably due to messaging a dealloc'ed dataSource ivar. The dataSource ivar isn't retained
444         by this class, but should be. (It is retained by WebHTMLView, e.g.).
445
446         * WebView/WebPDFView.mm:
447         (-[WebPDFView dealloc]):
448         release dataSource ivar
449         (-[WebPDFView setDataSource:]):
450         retain dataSource ivar
451
452 2007-11-09  Tristan O'Tierney  <tristan@apple.com>
453
454         Reviewed by Timothy Hatcher.
455         
456         This patch is for the WebKit side of <rdar://problem/5591115>.
457         We need a way to tell context menu navigations, such as "Open in New Window"
458         to override any sort of browser preference for tab based navigation.
459
460         * WebCoreSupport/WebChromeClient.mm:
461         (WebChromeClient::createWindow):
462         Pass up the new preferredType parameter as a string.
463         
464 2007-11-09  Timothy Hatcher  <timothy@apple.com>
465
466         Reviewed by John.
467
468         <rdar://problem/5103720> REGRESSION: [WebView stringByEvaluatingJavaScriptFromString:] fails if "return" is used
469
470         Extend the linked on or after check to every application when a script passed to
471         stringByEvaluatingJavaScriptFromString: has a return statement. Before the check
472         was limited to VitalSource Bookshelf, but other developers are running into this.
473
474         * Misc/WebKitVersionChecks.h: Add the WEBKIT_FIRST_VERSION_WITHOUT_JAVASCRIPT_RETURN_QUIRK define.
475         * WebView/WebDocumentLoaderMac.mm:
476         (needsDataLoadWorkaround): Use WEBKIT_FIRST_VERSION_WITHOUT_ADOBE_INSTALLER_QUIRK sicne the
477           WebKitLinkedOnOrAfter check here was about the Adobe installer, not VitalSource.
478         * WebView/WebView.mm:
479         (-[WebView stringByEvaluatingJavaScriptFromString:]): Remove the bundle ID check and use
480           WEBKIT_FIRST_VERSION_WITHOUT_JAVASCRIPT_RETURN_QUIRK for the WebKitLinkedOnOrAfter call.
481
482 2007-11-08  Kevin McCullough  <kmccullough@apple.com>
483
484         Build Fix.
485
486         * WebCoreSupport/WebFrameLoaderClient.h:
487         * WebCoreSupport/WebFrameLoaderClient.mm:
488         (WebFrameLoaderClient::windowObjectCleared):
489
490 2007-11-07  Darin Adler  <darin@apple.com>
491
492         Reviewed by Steve.
493
494         - removed some unused WebCore bridge methods
495
496         * WebCoreSupport/WebFrameBridge.mm: Removed issueTransposeCommand and overrideMediaType.
497
498         * WebCoreSupport/WebFrameLoaderClient.mm:
499         (WebFrameLoaderClient::overrideMediaType): Changed to call WebView directly instead of
500         using the bridge object.
501
502 2007-11-06  Mark Rowe  <mrowe@apple.com>
503
504         Rubber-stamped by Dave Kilzer.
505
506         Move Mac files from WebKit into WebKit/mac.
507
508         * Carbon: Copied from WebKit/Carbon.
509         * ChangeLog: Copied from WebKit/ChangeLog.
510         * ChangeLog-2002-12-03: Copied from WebKit/ChangeLog-2002-12-03.
511         * ChangeLog-2006-02-09: Copied from WebKit/ChangeLog-2006-02-09.
512         * ChangeLog-2007-10-14: Copied from WebKit/ChangeLog-2007-10-14.
513         * Configurations: Copied from WebKit/Configurations.
514         * DOM: Copied from WebKit/DOM.
515         * DefaultDelegates: Copied from WebKit/DefaultDelegates.
516         * ForwardingHeaders: Copied from WebKit/ForwardingHeaders.
517         * History: Copied from WebKit/History.
518         * Info.plist: Copied from WebKit/Info.plist.
519         * MigrateHeaders.make: Copied from WebKit/MigrateHeaders.make.
520         * Misc: Copied from WebKit/Misc.
521         * Panels: Copied from WebKit/Panels.
522         * Plugins: Copied from WebKit/Plugins.
523         * PublicHeaderChangesFromTiger.txt: Copied from WebKit/PublicHeaderChangesFromTiger.txt.
524         * Resources: Copied from WebKit/Resources.
525         * WebCoreSupport: Copied from WebKit/WebCoreSupport.
526         * WebInspector: Copied from WebKit/WebInspector.
527         * WebKit.exp: Copied from WebKit/WebKit.exp.
528         * WebKit.order: Copied from WebKit/WebKit.order.
529         * WebKitPrefix.h: Copied from WebKit/WebKitPrefix.h.
530         * WebView: Copied from WebKit/WebView.
531         * icu: Copied from WebKit/icu.
532
533 2007-11-06  Alexey Proskuryakov  <ap@webkit.org>
534
535         Reviewed by Darin.
536
537         http://bugs.webkit.org/show_bug.cgi?id=15847
538         Some editing cleanup
539
540         No change in functionality.
541
542         * WebView/WebHTMLView.mm:
543         (-[WebHTMLView deleteToEndOfLine:]):
544         (-[WebHTMLView deleteToEndOfParagraph:]):
545         WebCore had a duplicate of the same logic already. We are passing a boundary value to
546         a function that expects granularity, this may need to be straightened out in the future.
547
548 2007-11-05  John Sullivan  <sullivan@apple.com>
549
550         * WebView/WebView.mm:
551         (-[WebView _searchWithSpotlightFromMenu:]):
552
553         Teeny style tweak to test svn access on other machine
554
555 2007-11-05  John Sullivan  <sullivan@apple.com>
556
557         * WebView/WebView.mm:
558         (-[WebView computedStyleForElement:pseudoElement:]):
559         
560         Teeny style tweak to test svn access
561
562 2007-11-02  Tristan O'Tierney  <tristan@apple.com>
563
564         Reviewed by Darin Adler.
565
566         * DefaultDelegates/WebDefaultUIDelegate.m:
567         (-[WebDefaultUIDelegate webView:createWebViewWithRequest:windowFeatures:]):
568         Forward the UI delegate to call webView:createWebViewWithRequest: if
569         this method doesn't exist.
570         
571         * WebCoreSupport/WebFrameLoaderClient.mm:
572         (WebFrameLoaderClient::dispatchCreatePage):
573         * Plugins/WebBaseNetscapePluginView.mm:
574         (-[WebBaseNetscapePluginView loadPluginRequest:]):
575         * WebView/WebView.mm:
576         (-[WebView _openNewWindowWithRequest:]):
577         Revised to use new webView:createWebViewWithRequest:windowFeatures: callback.
578         
579         * WebCoreSupport/WebChromeClient.h:
580         * WebCoreSupport/WebChromeClient.mm:
581         (WebChromeClient::createWindow):
582         Added a new createWindow that accepts 3 parameters, so we can pass up windowFeatures to the chrome.
583         Removed createModalDialog to use new createWindow function.
584         
585         * WebView/WebUIDelegatePrivate.h:
586         Added new webView:createWebViewWithRequest:windowFeatures: method.
587
588 2007-11-05  Geoffrey Garen  <ggaren@apple.com>
589
590         Reviewed by Darin Adler.
591         
592         http://bugs.webkit.org/show_bug.cgi?id=15835
593
594         Small adaptations to new KJS::List class.
595
596         * ForwardingHeaders/kjs/value.h: Added.
597
598 2007-11-03  David D. Kilzer  <ddkilzer@webkit.org>
599
600         Sort files(...); sections of Xcode project files.
601
602         Rubber-stamped by Darin.
603
604         * WebKit.xcodeproj/project.pbxproj:
605
606 2007-11-02  Antti Koivisto  <antti@apple.com>
607
608         Reviewed by Darin.
609         
610         Add method to enable video composition.
611
612         * WebCoreSupport/WebSystemInterface.m:
613         (InitWebCoreSystemInterface):
614
615 2007-11-02  Darin Adler  <darin@apple.com>
616
617         Reviewed by Mitz.
618
619         - fix problem I ran into while doing some testing on Mac for
620           <rdar://problem/5530185> WebKit does not show <object>
621           fallback content when both URL and MIME type is omitted
622
623         I don't know how to reproduce this failure in DumpRenderTree, so there is no
624         regression test.
625
626         * Plugins/WebNullPluginView.h: Removed some unneeded declarations, including
627         the didSendError local variable. Instead we just set the error to nil once
628         we've sent it.
629         * Plugins/WebNullPluginView.mm:
630         (-[WebNullPluginView initWithFrame:error:DOMElement:]): Refactored so that
631         the null plug-in image code is separate from the rest of the function and
632         so that the whole thing is not inside an if statement. Also don't hold a
633         reference to the DOM element if there is no error to report.
634         (-[WebNullPluginView reportFailure]): Added. Does the actual delegate
635         callback. Happens back at the top level of the run loop so it doesn't
636         fire deep inside layout. Also wrote this so that it is guaranteed not to
637         reenter and so that it can handle the case where the delegate destroys
638         the world (including this object). NOTE: This is not a real, general
639         solution to the problem of plug-ins that do work inside layout. We will need
640         a more general fix that works for other plug-ins, and we'll track that with
641         a separate bug report.
642         (-[WebNullPluginView viewDidMoveToWindow]): Removed most of the code;
643         changed so it just does a performSelector:afterDelay:0.
644
645 2007-11-02  Mark Rowe  <mrowe@apple.com>
646
647         Reviewed by Darin Adler.
648
649         Fix http://bugs.webkit.org/show_bug.cgi?id=15780
650         Bug 15780: WebFrameLoaderClient: WebActionElementKey wrong if view is scrolled
651
652         * WebCoreSupport/WebFrameLoaderClient.mm:
653         (WebFrameLoaderClient::actionDictionary): Retrieve the mouse event coordinates
654         in the page coordinate system rather than the client area coordinate system.
655
656 2007-11-01  Dan Bernstein  <mitz@apple.com>
657
658         Reviewed by Oliver Hunt.
659
660         - fix an assertion failure when Command-Tabbing out of Safari
661
662         * WebView/WebHTMLView.mm:
663         (-[WebHTMLView flagsChanged:]): Avoid passing key code 0 down to
664         webCore.
665
666 2007-11-01  Justin Garcia  <justin.garcia@apple.com>
667
668         Reviewed by Oliver Hunt.
669         
670         <rdar://problem/5195056> Huge plain text pastes are slow, time spent in ApplyStyleCommand::doApply
671         
672         No need to match style when pasting plain text, since the fragment we build for plain text
673         won't have any style information on it.
674
675         * WebView/WebHTMLView.mm:
676         (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:]): There's no
677         longer a need to know whether this function chosePlaintext.
678         (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]):
679         (-[WebHTMLView _documentFragmentFromPasteboard:]):
680
681 2007-10-31  Timothy Hatcher  <timothy@apple.com>
682
683         Reviewed by John Sullivan.
684
685         Move the developer extras preference to WebPreferences.
686
687         * WebView/WebPreferenceKeysPrivate.h: Add WebKitDeveloperExtrasEnabledPreferenceKey
688         * WebView/WebPreferences.m:
689         (+[WebPreferences initialize]): Initialize WebKitDeveloperExtrasEnabledPreferenceKey to NO.
690         (-[WebPreferences developerExtrasEnabled]): Check DisableWebKitDeveloperExtras, WebKitDeveloperExtras
691           and IncludeDebugMenu in addition to WebKitDeveloperExtrasEnabledPreferenceKey.
692         (-[WebPreferences setDeveloperExtrasEnabled:]): Set WebKitDeveloperExtrasEnabledPreferenceKey.
693         * WebView/WebPreferencesPrivate.h: Add developerExtrasEnabled and setDeveloperExtrasEnabled:.
694         * WebView/WebView.mm:
695         (+[WebView _developerExtrasEnabled]): Removed.
696         (-[WebView _preferencesChangedNotification:]): Check the WebPreferences object for developerExtrasEnabled.
697         * WebView/WebViewPrivate.h: Removed _developerExtrasEnabled.
698
699 2007-10-30  David D. Kilzer  <ddkilzer@webkit.org>
700
701         Generated files missing from WebCore's Xcode project file
702         <http://bugs.webkit.org/show_bug.cgi?id=15406>
703
704         Reviewed by Darin.
705
706         Added the following private header files to MigrateHeaders.make:
707
708         - DOMCSSStyleSheetPrivate.h
709         - DOMEventPrivate.h
710         - DOMHTMLCollectionPrivate.h
711         - DOMHTMLEmbedElementPrivate.h
712         - DOMHTMLIFrameElementPrivate.h
713         - DOMHTMLObjectElementPrivate.h
714         - DOMHTMLSelectElementPrivate.h
715
716         * MigrateHeaders.make:
717
718 2007-10-29  Antti Koivisto  <antti@apple.com>
719
720         Reviewed by Maciej.
721         
722         Some SPIs for media support.
723
724         * WebCoreSupport/WebSystemInterface.m:
725         (InitWebCoreSystemInterface):
726
727 2007-10-29  Timothy Hatcher  <timothy@apple.com>
728
729         Reviewed by John Sullivan.
730
731         Various semi-related changes:
732         - A WebView can now be asked for it's WebInspector. There is one
733           WebInspector per WebView. 
734         - Refactor the WebInspector class and move obsolete methods to
735           a special category.
736         - Add new WebInspector methods to show, hide and show the
737           console/timeline panels.
738         - Add an isDisabled method to WebCache.
739         - Allow WebLocalizableStrings.h to be used in C files.
740
741         * Misc/WebCache.h: Add isDisabled.
742         * Misc/WebCache.mm:
743         (+[WebCache isDisabled]): New method.
744
745         * Misc/WebLocalizableStrings.h: Changes to allow use in plain C files.
746
747         * WebCoreSupport/WebInspectorClient.mm:
748         (-[WebInspectorWindowController showWindow:]): Call super if already visible
749           so the window will be ordered front.
750         (-[WebInspectorWindowController showWebInspector:]): Method used by menu items,
751           so they are enabled and work when the Inspector window is key.
752         (-[WebInspectorWindowController showErrorConsole:]): Ditto.
753         (-[WebInspectorWindowController showNetworkTimeline:]): Ditto.
754
755         * WebInspector/WebInspector.h: Add and remove methods.
756         * WebInspector/WebInspector.mm:
757         (-[WebInspector webViewClosed]): Called when the WebView is closed/dealloced.
758           Clears the _webView pointer.
759         (-[WebInspector show:]): Calls thru to the Page's InspectorController.
760         (-[WebInspector showConsole:]): Ditto.
761         (-[WebInspector showTimeline:]): Ditto.
762         (-[WebInspector close:]): Ditto.
763         (-[WebInspector attach:]): Ditto.
764         (-[WebInspector detach:]): Ditto.
765         (+[WebInspector sharedWebInspector]): Moved to the obsolete category.
766         (+[WebInspector webInspector]): Ditto.
767         (-[WebInspector setWebFrame:]): Ditto.
768         (-[WebInspector window]): Ditto.
769         (-[WebInspector showWindow:]): Ditto.
770
771         * WebView/WebView.mm:
772         (-[WebViewPrivate dealloc]): Release the WebInspector.
773         (-[WebView _close]): Call webViewClosed on the WebInspector.
774         (-[WebView inspector]): Create a WebInspector if needed and return it.
775         * WebView/WebViewPrivate.h: Add the inspector method.
776
777 2007-10-30  Adele Peterson  <adele@apple.com>
778
779         Reviewed by Darin.
780
781         WebKit part of fix for http://bugs.webkit.org/show_bug.cgi?id=10577
782         <rdar://problem/5103625> REGRESSION: Caps lock icon should show in password fields
783
784         * WebView/WebHTMLView.mm:
785         (-[WebHTMLView flagsChanged:]): Call capsLockStateMayHaveChanged so WebCore knows it may have to update a password field.
786         (+[WebHTMLView _postFlagsChangedEvent:]): Added a comment with a Radar number for why this isn't just in flagsChanged.
787         (-[WebHTMLView scrollWheel:]): Instead of calling the next responder explicitly, we can just call super, which will take care of this.
788
789 2007-10-27  Mark Ambachtsheer  <mark.a@apple.com>
790
791         Reviewed by Darin.
792
793         Fix for bug 15710, When QD plugins draw to an offscreen bitmap and the plugin is not at 
794         (0, 0) the clipping rectangle is not correct.
795         Added the origin to the window clip rectangle coordinates to account for plugins that
796         don't originate at (0,0); affects code for offscreen GWorlds only.
797
798         * Plugins/WebBaseNetscapePluginView.mm:
799         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
800
801 2007-10-26  Adele Peterson  <adele@apple.com>
802
803         Reviewed by Oliver.
804
805         Adding WebKitSystemInterface support for the caps lock indicator
806
807         * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
808
809 2007-10-25  David Hyatt  <hyatt@apple.com>
810
811         Fix for bug 15672, backgrounds don't tile properly inside transforms.  This patch fixes tiling
812         of backgrounds inside CSS transforms and also of HTML content with background images inside SVG
813         transforms.
814
815         Reviewed by aroben and mmitz
816
817         * WebCoreSupport/WebSystemInterface.m:
818         (InitWebCoreSystemInterface):
819         * WebKit.xcodeproj/project.pbxproj:
820
821 2007-10-25  John Sullivan  <sullivan@apple.com>
822
823         Reviewed by Tim Hatcher
824         
825         Removed the support for toggling whether WebKit uses the 10.5 PDFKit improvements. Now it
826         always does, when available.
827
828         * WebView/WebPreferencesPrivate.h:
829         removed _usePDFPreviewView and _setUsePDFPreviewView:. Note that these were guarded with
830         a comment that says that they can be removed when no longer needed. That time is now.
831
832         * WebView/WebPreferences.m:
833         (+[WebPreferences initialize]):
834         removed WebKitUsePDFPreviewViewPreferenceKey
835         (-[WebPreferences _usePDFPreviewView]):
836         removed
837         (-[WebPreferences _setUsePDFPreviewView:]):
838         removed
839
840         * WebView/WebPDFView.mm:
841         (-[WebPDFView initWithFrame:]):
842         don't check _usePDFPreviewView
843         
844         * WebView/WebPreferenceKeysPrivate.h:
845         removed WebKitUsePDFPreviewViewPreferenceKey
846         
847 2007-10-24  Timothy Hatcher  <timothy@apple.com>
848
849         Reviewed by Mark Rowe.
850
851         <rdar://problem/5069711> OpenSource version of libWebKitSystemInterface.a is Tiger only, causes issues if used on Leopard
852
853         Use the WebKitSystemInterface that matches the system version.
854
855         * Configurations/DebugRelease.xcconfig:
856         * WebKit.xcodeproj/project.pbxproj:
857
858 2007-10-24  Brady Eidson  <beidson@apple.com>
859
860         Reviewed by Anders
861
862         <rdar://problem/5554130> DatabaseTracker.o has a global initializer
863
864         * Misc/WebDatabaseManager.mm:
865         (WebKitSetWebDatabasesPathIfNecessary): Call the member function instead of a static one
866
867 2007-10-23  Mark Rowe  <mrowe@apple.com>
868
869         Build fix for Eric's build fix in r26916.
870
871         * MigrateHeaders.make:
872
873 2007-10-22  Eric Seidel  <eric@webkit.org>
874
875         Reviewed by Maciej.
876
877         * MigrateHeaders.make: copy over font-face related DOM headers
878
879 2007-10-22  Andrew Wellington  <proton@wiretapped.net>
880
881         Reviewed by Mark Rowe.
882         
883         Fix for local database support after r26879
884         Ensure that ENABLE_DATABASE and ENABLE_ICONDATABASE are correctly set
885
886         * Configurations/WebKit.xcconfig:
887
888 2007-10-19  Brady Eidson <beidson@apple.com>
889
890         Reviewed by Tim Hatcher
891
892         Added support for Chrome prompts required by the Storage API
893         Added support API for future managing of databases from the WebKit client
894         Added preference and initialization for the databases path
895
896         * Misc/WebDatabaseManager.h: Added.  WebDatabaseManager is how a WebKit application can list and
897           remove the current available databases
898         * Misc/WebDatabaseManager.mm: Added.
899         (+[WebDatabaseManager origins]):
900         (+[WebDatabaseManager databasesWithOrigin:]):
901         (+[WebDatabaseManager deleteAllDatabases]):
902         (+[WebDatabaseManager deleteAllDatabasesWithOrigin:]):
903         (+[WebDatabaseManager deleteDatabaseWithOrigin:named:]):
904         (WebKitSetWebDatabasesPathIfNecessary): Setup the database path
905         * Misc/WebDatabaseManagerPrivate.h: Added.
906
907         * WebCoreSupport/WebChromeClient.h: Support for calling the delegate to run the prompt for 
908           an origin exceeding its size limit
909         * WebCoreSupport/WebChromeClient.mm:
910         (WebChromeClient::runDatabaseSizeLimitPrompt):
911         * WebKit.xcodeproj/project.pbxproj:
912         * WebView/WebUIDelegate.h:
913
914         * WebView/WebView.mm:
915         (-[WebView _commonInitializationWithFrameName:groupName:]): Setup the database path
916         * WebView/WebViewInternal.h:
917
918 2007-10-19  John Sullivan  <sullivan@apple.com>
919
920         Reviewed by Tim Hatcher
921         
922         - fixed <rdar://problem/5540325> REGRESSION (2.0.4-3): History menu looks odd after clearing history
923
924         * History/WebHistory.mm:
925         (-[WebHistoryPrivate removeAllItems]):
926         This was fallout from r25275. We need to clear the orderedLastVisitedDays cache here, in addition
927         to the other places where it's cleared.
928
929 2007-10-18  Dan Bernstein  <mitz@apple.com>
930
931         Tiger build fix.
932
933         * WebView/WebDataSource.mm:
934         (-[WebDataSource _MIMETypeOfResponse:]):
935
936 2007-10-18  Dan Bernstein  <mitz@apple.com>
937
938         Reviewed by Adam Roben.
939
940         - fix <rdar://problem/5313523>
941         REGRESSION(Leopard): http/tests/incremental/slow-utf8-text.pl fails on Leopard
942
943         * WebCoreSupport/WebFrameLoaderClient.mm:
944         (WebFrameLoaderClient::makeDocumentView): Changed to use _responseMIMEType.
945         * WebView/WebDataSource.mm:
946         (-[WebDataSource _MIMETypeOfResponse:]): Added. Works around
947         <rdar://problem/5321972> by testing for the case of an NSHTTPURLResponse
948         with a MIMEType of application/octet-stream and a Content-Type header
949         starting with text/plain and returning text/plain as the MIME type in
950         that case.
951         (-[WebDataSource _responseMIMEType]): Added. Used to get the correct
952         response MIME type.
953         (-[WebDataSource _isDocumentHTML]): Changed to use _responseMIMEType.
954         (-[WebDataSource _makeRepresentation]): Ditto.
955         (-[WebDataSource mainResource]): Ditto.
956         (-[WebDataSource subresources]): Changed to use _MIMETypeOfResponse and
957         pass the MIME type explicitly.
958         (-[WebDataSource subresourceForURL:]): Ditto.
959         * WebView/WebDataSourcePrivate.h:
960         * WebView/WebFrameView.mm:
961         (-[WebFrameView _makeDocumentViewForDataSource:]): Changed to use
962         _responseMIMEType.
963         * WebView/WebResource.mm:
964         (-[WebResource _initWithData:URL:response:MIMEType:]): Changed this
965         method to take a MIME type instead of extracting it from the response,
966         so that WebDataSource could pass the correct MIME type.
967         * WebView/WebResourcePrivate.h:
968
969 2007-10-17  Darin Adler  <darin@apple.com>
970
971         Reviewed by Mark Rowe.
972
973         - fix <rdar://problem/5183775> Uninitialized memory in -[WebDynamicScrollBarsView updateScrollers]
974
975         * WebView/WebDynamicScrollBarsView.m: (-[WebDynamicScrollBarsView updateScrollers]):
976         Change code path so it doesn't dispatch a method that returns an NSSize passing a nil object.
977         It's safe to do that for functions that return integers or pointers, but not structures.
978
979 2007-10-16  David Kilzer  <ddkilzer@apple.com>
980
981         Reviewed by Timothy.
982
983         <rdar://problem/5544354> Wrong delegate method called in
984         WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad()
985
986         * WebCoreSupport/WebFrameLoaderClient.mm:
987         (WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad): Fixed selector name.
988
989 2007-10-16  Darin Adler  <darin@apple.com>
990
991         Reviewed by Adele.
992
993         - moved transpose command implementation into WebCore
994
995         * WebView/WebHTMLView.mm: Removed transpose: and replaced it with standard WebCore forwarding.
996
997 2007-10-16  Darin Adler  <darin@apple.com>
998
999         Reviewed by Maciej and Geoff (and looked over by Eric).
1000
1001         - http://bugs.webkit.org/show_bug.cgi?id=15519
1002           eliminate use of <ctype.h> for processing ASCII
1003
1004         * ForwardingHeaders/wtf/ASCIICType.h: Added.
1005         * ForwardingHeaders/wtf/DisallowCType.h: Added.
1006
1007         * WebKitPrefix.h: Include DisallowCType.h.
1008
1009         * Misc/WebNSURLExtras.mm: (-[NSURL _web_URLWithLowercasedScheme]): Use toASCIILower.
1010         * WebView/WebHTMLView.mm:
1011         (-[WebHTMLView callWebCoreCommand:]): Use toASCIIUpper.
1012         (-[WebTextCompleteController filterKeyDown:]): Add a list of specific character codes,
1013         instead of using ispunct.
1014
1015 2007-10-16  John Sullivan  <sullivan@apple.com>
1016
1017         Reviewed by Adam Roben
1018         
1019         Cleaned up localizable strings
1020
1021         * English.lproj/Localizable.strings:
1022         updated
1023         * StringsNotToBeLocalized.txt:
1024         updated
1025         * WebKit.xcodeproj/project.pbxproj:
1026         StringsNotToBeLocalized.txt recently moved but project file wasn't updated to match; now it is
1027
1028 2007-10-15  Kevin Decker  <kdecker@apple.com>
1029
1030         Reviewed by Darin Adler.
1031         
1032         Fixed: <rdar://problem/5520541> REGRESSION: Broken image when forwarding certain email on Tiger
1033         
1034         * WebCoreSupport/WebFrameBridge.mm: The problem was that we were loading Mail's WebKit plug-in
1035         too soon, which borked some necessary housekeeping on behalf of Mail. The fix is to add a quirk
1036         that treats Tiger Mail's WebKit plug-in like a Netscape plug-in, thus ensuring the plug-in will
1037         load during first layout and not attach time. For this plug-in, loading at first layout is 
1038         expected and is consistent with Safari 2 behavior.
1039
1040 2007-10-15  John Sullivan  <sullivan@apple.com>
1041
1042         Reviewed by Geoff Garen
1043         
1044         Replaced NS_DURING/NS_HANDLER with @try/@catch throughout WebKit
1045
1046         I made the following changes:
1047         - replaced NS_DURING with @try, and added opening brace if there wasn't one
1048         - replaced NS_HANDLER with @catch (NSException *localException), and added braces if there weren't any
1049         - removed NS_ENDHANDLER, and added a closing brace if there wasn't one
1050         - in a couple of places, fixed indentation therein
1051
1052         * Misc/WebIconDatabase.mm:
1053         (objectFromPathForKey):
1054         * WebView/WebHTMLView.mm:
1055         (-[WebHTMLView drawSingleRect:]):
1056         (-[WebHTMLView beginDocument]):
1057         (-[WebHTMLView deleteToMark:]):
1058         * WebView/WebView.mm:
1059         (-[WebView initWithCoder:]):
1060
1061 == Rolled over to ChangeLog-2007-10-14 ==