JavaScriptCore:
[WebKit-https.git] / WebKit / mac / ChangeLog
1 2007-12-10  Timothy Hatcher  <timothy@apple.com>
2
3         Reviewed by Mark Rowe.
4
5         <rdar://problem/5639463> Bundle versions on Tiger should be 4523.x not 523.x
6
7         * Configurations/Version.xcconfig: Some Tiger versions of Xcode don't set MAC_OS_X_VERSION_MAJOR,
8           so assume Tiger and use a 4 for the SYSTEM_VERSION_PREFIX.
9
10 2007-12-10  Kevin Decker  <kdecker@apple.com>
11
12         Reviewed by Darin.
13
14         Fixed: <rdar://problem/4290098> Right-mouse click on element doesn't call onmousedown handler
15         
16         * WebView/WebHTMLView.mm:
17         (-[WebHTMLView menuForEvent:]): Match behavior of other browsers by sending an onmousedown event for right clicks.
18
19 2007-12-08  Oliver Hunt  <oliver@apple.com>
20
21         Reviewed by Sam W.
22
23         Split the ENABLE_SVG_EXPERIMENTAL_FEATURES flag into separate flags.
24         
25         Fixes <rdar://problem/5620249> Must disable SVG animation
26         <rdar://problem/5612772> Disable SVG filters on Mac to match Windows behavior
27         
28         Minor updates to the feature flags used.
29
30         * Configurations/WebKit.xcconfig:
31         * DOM/WebDOMOperations.mm:
32
33 2007-12-07  Darin Adler  <darin@apple.com>
34
35         Reviewed by Kevin Decker and Tim Hatcher.
36
37         - speculative fix for <rdar://problem/5400159> CrashTracer: [USER] 726 crashes
38           in Safari at com.apple.WebKit: -[WebHTMLView(WebPrivate) _updateMouseoverWithFakeEvent] + 389
39
40         * WebView/WebHTMLView.mm:
41         (-[WebHTMLView _frameOrBoundsChanged]): Only schedule the mouseover timer if we are in a window
42         and not closed. That's because viewDidMoveToWindow and close are the entry points for cancelling.
43         (-[WebHTMLView close]): Add code to cancel both timers. Needed for the case where the entire
44         window goes away, and the view is never removed from the window.
45         (-[WebHTMLView viewDidMoveToWindow]): Don't do work if the view is closed.
46
47 2007-12-07  Darin Adler  <darin@apple.com>
48
49         Reviewed by Mitz.
50
51         - http://bugs.webkit.org/show_bug.cgi?id=15981
52           speed up visited-link code a bit
53
54         * History/WebHistory.mm: Removed unused Latin-1 code path.
55         (-[_WebCoreHistoryProvider containsURL:length:]): Updated for method name change.
56
57 2007-12-07  Geoffrey Garen  <ggaren@apple.com>
58
59         Reviewed by Sam Weinig.
60         
61         Added a forwarding header, since we now #include nodes.h through some
62         JavaScriptCore headers.
63
64         * ForwardingHeaders/wtf/ListRefPtr.h: Added.
65
66 2007-12-06  Brady Eidson  <beidson@apple.com>
67
68         Reviewed by Oliver's rubber stamp
69
70         Let's go ahead and call the correct UI Delegate method, shall we?
71
72         * WebCoreSupport/WebChromeClient.mm:
73         (WebChromeClient::requestQuotaIncreaseForDatabaseOperation): Call the correct UI delegate
74
75 2007-12-06  Adam Roben  <aroben@apple.com>
76
77         Remove some assertions we know can fire and replace them with a FIXME
78
79         Reviewed by Anders.
80
81         * WebCoreSupport/WebFrameLoaderClient.mm:
82
83 2007-12-06  Timothy Hatcher  <timothy@apple.com>
84
85         Change the ASSERT added for the previous fix. The ASSERT was firing for 10.5.0.
86         Only assert if the major version is zero, since zero is handled in the other cases.
87
88         * WebView/WebView.mm:
89         (callGestalt): Remove the ASSERT.
90         (createMacOSXVersionString): ASSERT that major is not zero.
91
92 2007-12-06  Darin Adler  <darin@apple.com>
93
94         Reviewed by Tim Hatcher.
95
96         - fix <rdar://problem/5513394> No way to detect Tiger vs Leopard from Safari's user agent string
97
98         * WebView/WebView.mm:
99         (callGestalt): Added.
100         (createMacOSXVersionString): Added.
101         (-[WebView _userAgentWithApplicationName:andWebKitVersion:]): Added Mac OS X version string,
102         right after the string "Mac OS X", but with underscores instead of dots to avoid the dreaded
103         "4." problem (old libraries that think a "4." anywhere in the user agent means Netscape 4).
104         (-[WebView _userAgentForURL:]): Fixed incorrect bug numbers.
105
106 2007-12-04  Geoffrey Garen  <ggaren@apple.com>
107
108         Reviewed by Darin Adler.
109
110         Third step in refactoring JSGlobalObject: Moved data members and data
111         member access from Interpreter to JSGlobalObject.
112         
113         * WebView/WebFrame.mm:
114         (-[WebFrame _attachScriptDebugger]):
115
116 2007-12-04  Kevin McCullough  <kmccullough@apple.com>
117
118         Reviewed by Darin.
119
120         - <rdar://5621435>
121         - Security Fix. Instead of having it off by default, WebKit now must
122         explicitly turn off local-resource restriction when needed for backwards
123         coimpatibility reasons.
124
125         * WebView/WebView.mm:
126         (-[WebView _commonInitializationWithFrameName:groupName:]):
127
128 2007-12-05  Brady Eidson  <beidson@apple.com>
129
130         Reviewed by Kevin Deckers rubberstamp
131
132         Disclose and export the Databases Directory defaults key
133
134         * Storage/WebDatabaseManager.mm:
135         * Storage/WebDatabaseManagerPrivate.h:
136         * WebKit.exp:
137
138 2007-12-04  Kevin Decker  <kdecker@apple.com>
139
140         Reviewed by Anders.
141
142         <rdar://problem/5629125> PluginInfoStore needs the ability to return the name of a plug-in for a given MIME type
143
144         * WebCoreSupport/WebViewFactory.mm:
145         (-[WebViewFactory pluginNameForMIMEType:]): Added.
146
147 2007-12-04  Brady Eidson  <beidson@apple.com>
148
149         Reviewed by Mark Rowe
150
151         Tweaked the way we typedef and cast these objc_msgSend calls
152
153         * WebView/WebView.mm:
154         (CallDelegateReturningUnsignedLongLong):
155
156 2007-12-04  John Sullivan  <sullivan@apple.com>
157
158         Reviewed by Brady Eidson (with help from Mark Rowe)
159         
160         Fixed return values for unsigned-long-long delegate methods
161
162         * WebView/WebView.mm:
163         (CallDelegateReturningUnsignedLongLong):
164         redid the change that Brady did at home over the weekend but forgot to check in
165
166 2007-11-27  Adam Roben  <aroben@apple.com>
167
168         Remove -[WebFrameBridge setNeedsReapplyStyles]
169
170         This functionality is now WebCore's responsibility.
171
172         Reviewed by Hyatt.
173
174         * WebCoreSupport/WebFrameBridge.mm:
175         * WebKit.order:
176
177 2007-12-04  John Sullivan  <sullivan@apple.com>
178
179         Reviewed by Darin
180         
181         Added deleteOrigin: SPI, which isn't fully implemented
182
183         * Storage/WebDatabaseManagerPrivate.h:
184         * Storage/WebDatabaseManager.mm:
185         (-[WebDatabaseManager deleteOrigin:]):
186         just calls deleteDatabasesWithOrigin: for now, but needs to delete origin itself too
187
188 2007-12-04  Timothy Hatcher  <timothy@apple.com>
189
190         Reviewed by Mark Rowe.
191
192         Remove a check for early versions of Leopard CFNetwork now that
193         Leopard has shipped.
194
195         * Misc/WebKitVersionChecks.h: Remove WEBKIT_FIRST_CFNETWORK_VERSION_WITH_LARGE_DISK_CACHE_FIX.
196         * WebView/WebView.mm:
197         (+[WebView _setCacheModel:]): Remove the early Leopard CFNetwork check.
198
199 2007-12-04  Kevin Decker  <kdecker@apple.com>
200
201         Reviewed by Darin.
202
203         Revised fix for: <rdar://problem/5586978> REGRESSION (Safari 2-3): WebKit sometimes doesn't invoke Flash's NPP_SetWindow function and causes a hang
204
205         This fix is exactly the same as chageset 28359 with the exception of an added early return in
206         updateAndSetWindow to cover the additional case of when a plug-in isn't drawable.
207         
208         The CG-based Flash player would sometimes hang because (for CoreGraphics-based plug-ins) our code would
209         only call into the NPP_SetWindow() function when we tell the plug-in to draw. This created havoc with 
210         Flash because Flash expects the browser to call NPP_SetWindow() and provide a valid graphics context 
211         regardless of whether or not it actually needs to draw. 
212         
213         * Plugins/WebBaseNetscapePluginView.mm:
214         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): Removed an incorrect comment and toned
215         down an ASSERT that was too strict. 
216         (-[WebBaseNetscapePluginView updateAndSetWindow]): Removed an early return for CoreGraphics-based plug-ins
217         which would sometimes altogether prevent updating the PortState and calling into a plug-ins NPP_SetWindow()
218         function. Also tweaked a comment and added an early return if the plug-in can't draw.
219
220 2007-12-04  Darin Adler  <darin@apple.com>
221
222         Reviewed by Kevin Decker.
223
224         * WebCoreSupport/WebFrameLoaderClient.h: Removed obsolete privateBrowsingEnabled.
225         * WebCoreSupport/WebFrameLoaderClient.mm: Ditto.
226         * WebKit.order: Ditto.
227
228 2007-12-03  Dan Bernstein  <mitz@apple.com>
229
230         Reviewed by Dave Hyatt.
231
232         - fix <rdar://problem/5346452> Resize event doesn't fire on body element inside a frame
233
234         * WebView/WebHTMLView.mm:
235         (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Removed the code
236         that checked if the view had resized and sent the resize event, since
237         FrameView sends resize events now.
238         * WebView/WebHTMLViewInternal.h:
239
240 2007-12-03  Timothy Hatcher  <timothy@apple.com>
241
242         Reviewed by Darin.
243
244         Change WebViewGetResourceLoadDelegateImplementations and WebViewGetFrameLoadDelegateImplementations
245         to return a pointer to the implementation struct instead of a copy of the struct. This changes
246         all of the callers to dereference the pointer to access the struct fields.
247
248         * Plugins/WebNullPluginView.mm:
249         (-[WebNullPluginView reportFailure]):
250         * WebCoreSupport/WebFrameBridge.mm:
251         * WebCoreSupport/WebFrameLoaderClient.mm:
252         (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
253         (WebFrameLoaderClient::assignIdentifierToInitialRequest):
254         (WebFrameLoaderClient::dispatchWillSendRequest):
255         (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
256         (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
257         (WebFrameLoaderClient::dispatchDidReceiveResponse):
258         (WebFrameLoaderClient::willCacheResponse):
259         (WebFrameLoaderClient::dispatchDidReceiveContentLength):
260         (WebFrameLoaderClient::dispatchDidFinishLoading):
261         (WebFrameLoaderClient::dispatchDidFailLoading):
262         (WebFrameLoaderClient::dispatchDidHandleOnloadEvents):
263         (WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
264         (WebFrameLoaderClient::dispatchDidCancelClientRedirect):
265         (WebFrameLoaderClient::dispatchWillPerformClientRedirect):
266         (WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
267         (WebFrameLoaderClient::dispatchWillClose):
268         (WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
269         (WebFrameLoaderClient::dispatchDidReceiveTitle):
270         (WebFrameLoaderClient::dispatchDidCommitLoad):
271         (WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
272         (WebFrameLoaderClient::dispatchDidFailLoad):
273         (WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
274         (WebFrameLoaderClient::dispatchDidFinishLoad):
275         (WebFrameLoaderClient::dispatchDidFirstLayout):
276         * WebView/WebView.mm:
277         (WebViewGetResourceLoadDelegateImplementations):
278         (WebViewGetFrameLoadDelegateImplementations):
279         (-[WebView _dispatchDidReceiveIconFromWebFrame:]):
280         * WebView/WebViewInternal.h:
281
282 2007-12-03  Timothy Hatcher  <timothy@apple.com>
283
284         Reviewed by Brady Eidson.
285
286         <rdar://problem/5539913> 188 crashes in WebViewGetFrameLoadDelegateImplementations
287         <rdar://problem/5586095> CrashTracer: [USER] 5000+ crashes in Safari and Dashboard in dispatchDidFailLoading
288         <rdar://problem/5607081> CrashTracer: [USER] 2150 crashes in Safari at com.apple.WebKit:
289         WebViewGetResourceLoadDelegateImplementations + 28
290
291         * WebView/WebView.mm:
292         (-[WebView _cacheResourceLoadDelegateImplementations]): If the delegate is nil, bzero the
293         implementation cache. This just prevents us from calling getMethod() multiple times just to zero.
294         (-[WebView _cacheFrameLoadDelegateImplementations]): Ditto.
295         (WebViewGetResourceLoadDelegateImplementations): Return a zeroed implementations struct
296         if the WebView is nil. This fixes the crashes.
297         (WebViewGetFrameLoadDelegateImplementations): Ditto.
298
299 2007-12-02  Geoffrey Garen  <ggaren@apple.com>
300
301         Reviewed by Eric Seidel.
302
303         Updated to match the JavaScriptCore change to move virtual methods from
304         Interpreter to JSGlobalObject.
305
306         * WebView/WebFrame.mm:
307         (-[WebFrame globalContext]): Use the toRef function instead of manually
308         casting.
309
310 2007-12-01  Brady Eidson  <beidson@apple.com>
311
312         Reviewed by Tim
313
314         Added a default database quota of 5mb to the default WebPreferences
315
316         * WebView/WebPreferences.m:
317         (+[WebPreferences initialize]):
318
319 2007-11-30  John Sullivan  <sullivan@apple.com>
320
321         Reviewed by Geoff Garen
322         
323         Added another symbol for WebDatabaseManager clients
324
325         * WebKit.exp:
326         added .objc_class_name_WebSecurityOrigin
327
328 2007-11-30  Brady Eidson  <beidson@apple.com>
329
330         Reviewed by Geoff
331
332         Add isEqual operator to WebSecurityOrigin
333
334         * Storage/WebSecurityOrigin.mm:
335         (-[WebSecurityOrigin isEqual:]):
336
337 2007-11-30  John Sullivan  <sullivan@apple.com>
338
339         Reviewed by Darin
340         
341         Tweaks to newly-declared NSString * constants to make them usable from clients
342
343         * Storage/WebDatabaseManagerPrivate.h:
344         * Storage/WebDatabaseManager.mm:
345         removed "const" from new NSNotification names and userInfo keys; these generate compiler warnings when used
346         
347         * WebKit.exp:
348         export new NSNotification names and userInfo keys so clients can use them
349
350 2007-11-29  Anders Carlsson  <andersca@apple.com>
351
352         Reviewed by John.
353
354         Rename WebKitShrinksStandaloneImagesToFitKey to WebKitShrinksStandaloneImagesToFit.
355         
356         This is safe to do because the preference is off by default and Safari 3, which is the only client that turns it on,
357         is using the setter and not messing around with NSUserDefaults.
358         
359         * WebView/WebPreferenceKeysPrivate.h:
360         * WebView/WebPreferences.m:
361         (+[WebPreferences initialize]):
362         (-[WebPreferences shrinksStandaloneImagesToFit]):
363         (-[WebPreferences setShrinksStandaloneImagesToFit:]):
364
365 2007-11-29  Brady Eidson  <beidson@apple.com>
366
367         Reviewed by Anders
368
369         Support for <rdar://problem/5556381> and <rdar://problem/5556379>
370
371         Hook up UI Delegate calls for the database engine feature and other small tweaks
372
373         * Storage/WebDatabaseManager.mm:
374         (-[WebDatabaseManager detailsForDatabase:withOrigin:]): Renamed databaseName parameter to databaseIdentifier for clarity
375         (-[WebDatabaseManager deleteDatabase:withOrigin:]): Renamed databaseName parameter to databaseIdentifier for clarity
376         * Storage/WebDatabaseManagerPrivate.h:
377
378         * Storage/WebDatabaseTrackerClient.h:
379         * Storage/WebDatabaseTrackerClient.mm:
380         (WebDatabaseTrackerClient::dispatchDidModifyDatabase): Renamed databaseName parameter to databaseIdentifier for clarity
381
382         * WebCoreSupport/WebChromeClient.h:
383         * WebCoreSupport/WebChromeClient.mm:
384         (WebChromeClient::requestQuotaIncreaseForNewDatabase): Call through to the UI Delegate
385         (WebChromeClient::requestQuotaIncreaseForDatabaseOperation): Ditto
386
387         * WebView/WebUIDelegatePrivate.h: Added the two UI Delegate methods
388
389         * WebView/WebView.mm:
390         (CallDelegateReturningUnsignedLongLong):
391         (CallUIDelegateReturningUnsignedLongLong):
392         * WebView/WebViewInternal.h:
393
394 2007-11-28  Kevin McCullough  <kmccullough@apple.com>
395
396         Reviewed by Sam.
397
398         - Added recursive runloop guards.
399
400         * DefaultDelegates/WebScriptDebugServer.m:
401         (-[WebScriptDebugServer suspendProcessIfPaused]):
402
403 2007-11-29  Mark Rowe  <mrowe@apple.com>
404
405         Reviewed by Oliver Hunt.
406
407         Fix an assertion failure seen on the layout tests, and when closing the window after
408         visiting <http://www.coudal.com/losalamos/>.
409
410         * Plugins/WebBaseNetscapePluginStream.mm:
411         (-[WebBaseNetscapePluginStream _destroyStream]): Unlink the file and close the file
412         descriptor even when the stream is being destroyed without the load completing. This
413         avoids leaking the path and file descriptor, and leaving the temporary file on disk.
414
415 2007-11-28  Adele Peterson  <adele@apple.com>
416
417         Reviewed by Darin.
418
419         Fix for <rdar://problem/5524216> CrashTracer: [USER] 496 crashes in Safari at com.apple.WebCore: WebCore::Frame::eventHandler const + 6
420
421         The CrashTracer shows a variety of crashes in different methods (including keyDown and keyUp). This change adds nil checks for the frame in 
422         WebHTMLView to prevent future problems in other methods as well.
423
424         * WebView/WebHTMLView.mm:
425         (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
426         (-[WebHTMLView keyDown:]):
427         (-[WebHTMLView keyUp:]):
428         (-[WebHTMLView flagsChanged:]):
429         (-[WebHTMLView _selectionStartFontAttributesAsRTF]):
430         (-[WebHTMLView _changeCSSColorUsingSelector:inRange:]):
431         (-[WebHTMLView checkSpelling:]):
432         (-[WebHTMLView showGuessPanel:]):
433         (-[WebHTMLView indent:]):
434         (-[WebHTMLView outdent:]):
435         (-[WebHTMLView paste:]):
436         (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
437         (-[WebHTMLView insertText:]):
438         (-[WebHTMLView selectionTextRects]):
439
440 2007-11-28  Dan Bernstein  <mitz@apple.com>
441
442         Reviewed by Maciej Stachowiak.
443
444         - fix <rdar://problem/5596160> fast/events/objc-event-api.html fails when run alone (or first)
445
446         * WebView/WebHTMLView.mm:
447         (-[WebHTMLView setDataSource:]): This method calls addMouseMovedObserver
448         because addMouseMovedObserver returns early if the dataSource
449         is not nil. But if the dataSource is already set (which happens when
450         a WebHTMLView is being reused) then addMouseMovedObserver must not
451         be called again.
452
453 2007-11-27  Anders Carlsson  <andersca@apple.com>
454
455         Reviewed by Brady.
456
457         * Storage/WebDatabaseManager.mm:
458         * Storage/WebDatabaseManagerPrivate.h:
459         * Storage/WebDatabaseTrackerClient.mm:
460         (WebDatabaseTrackerClient::dispatchDidModifyOrigin):
461         (WebDatabaseTrackerClient::dispatchDidModifyDatabase):
462         * Storage/WebSecurityOrigin.mm:
463         (-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:]):
464         * Storage/WebSecurityOriginInternal.h:
465
466 2007-11-27  Kevin Decker  <kdecker@apple.com>
467
468         Reviewed by Darin, landed by Anders.
469
470         Fixed: <rdar://problem/4610818> CrashTracer: 1533 crashes in Safari at com.macromedia.Flash Player.plugin: native_ShockwaveFlash_TCallLabel + 271131
471
472         The problem was that some Leopard users were still inadvertently using the old Flash 8 plug-in, even though Leopard
473         shipped with Flash 9. To avoid loading an older version of a plug-in when a newer version is installed, the plug-in
474         database will compare bundle versions and always load the latest version.
475
476         * Plugins/WebBasePluginPackage.h:
477         * Plugins/WebBasePluginPackage.m:
478         (-[WebBasePluginPackage versionNumber]): New method. CFBundleGetVersionNumber doesn't work with all possible versioning schemes,
479         but we think for now it's good enough for us.
480         * Plugins/WebPluginDatabase.m:
481         (considerCandidate): Added a C utility function which compares the current plug-in against a candidate plug-in's version number.
482         If both plug-ins have the same bundle ID and the candiate is newer, the current plug-in becomes the candidate.
483         (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): Calls the new considerCandidate() function.
484
485 2007-11-26  Timothy Hatcher  <timothy@apple.com>
486
487         Reviewed by Dave Hyatt.
488
489         <rdar://problem/5569233> Add the ability to disable author and user CSS styles
490
491         * WebView/WebPreferenceKeysPrivate.h: Define WebKitRespectStandardStyleKeyEquivalentsPreferenceKey.
492         * WebView/WebPreferences.m:
493         (+[WebPreferences initialize]): Default WebKitRespectStandardStyleKeyEquivalentsPreferenceKey to YES.
494         (-[WebPreferences authorAndUserStylesEnabled]): Return the setting's BOOL value.
495         (-[WebPreferences setAuthorAndUserStylesEnabled:]): Set the setting's BOOL value.
496         * WebView/WebPreferencesPrivate.h: Add authorAndUserStylesEnabled and setAuthorAndUserStylesEnabled:.
497         * WebView/WebView.mm:
498         (-[WebView _preferencesChangedNotification:]): Update WebCore::Settings::authorAndUserStylesEnabled.
499
500 2007-11-26  Brady Eidson  <beidson@apple.com>
501
502         Reviewed by Mark Rowe
503
504         Provide API for setting the default storage quota per database origin
505
506         * Misc/WebNSDictionaryExtras.h:
507         * Misc/WebNSDictionaryExtras.m:
508         (-[NSMutableDictionary _webkit_setUnsignedLongLong:forKey:]): Helper for UINT64 preferences
509
510         * WebView/WebPreferenceKeysPrivate.h:
511         * WebView/WebPreferences.m:
512         (-[WebPreferences _unsignedLongLongValueForKey:]): Helper for UINT64 prefs
513         (-[WebPreferences _setUnsignedLongLongValue:forKey:]): Ditto
514         (-[WebPreferences defaultDatabaseQuota]):
515         (-[WebPreferences setDefaultDatabaseQuota:]):
516         * WebView/WebPreferencesPrivate.h:
517
518         * WebView/WebView.mm:
519         (-[WebView _preferencesChangedNotification:]): Set the WebCore Settings version of the default storage pref
520
521 2007-11-26  Darin Adler  <darin@apple.com>
522
523         Reviewed by Adele.
524
525         - some middle-mouse-button-related fixes
526
527         These don't affect Safari since it maps the middle mouse button to the command key,
528         but that might not always be the case for future versions.
529
530         * WebView/WebHTMLView.mm:
531         (-[WebHTMLView otherMouseDown:]): Pass through middle mouse down events to WebCore.
532         (-[WebHTMLView otherMouseDragged:]): Ditto, for drag events.
533         (-[WebHTMLView otherMouseUp:]): Ditto, for up events.
534
535         * WebView/WebPolicyDelegate.h: Fixed inaccurate documentation of WebActionButtonKey.
536
537 2007-11-26  Anders Carlsson  <andersca@apple.com>
538
539         Reviewed by Brady.
540
541         Get rid of the WebSecurityOriginPrivate object and store 
542         the WebCore::SecurityOriginData pointer in the _private field of
543         the WebSecurityOrigin object instead.
544         
545         * Storage/WebDatabaseManager.mm:
546         (-[WebDatabaseManager databasesWithOrigin:]):
547         (-[WebDatabaseManager detailsForDatabase:withOrigin:]):
548         (-[WebDatabaseManager deleteDatabasesWithOrigin:]):
549         (-[WebDatabaseManager deleteDatabase:withOrigin:]):
550         * Storage/WebSecurityOrigin.mm:
551         (-[WebSecurityOrigin initWithProtocol:domain:port:]):
552         (-[WebSecurityOrigin protocol]):
553         (-[WebSecurityOrigin domain]):
554         (-[WebSecurityOrigin port]):
555         (-[WebSecurityOrigin usage]):
556         (-[WebSecurityOrigin quota]):
557         (-[WebSecurityOrigin setQuota:]):
558         (-[WebSecurityOrigin dealloc]):
559         (-[WebSecurityOrigin finalize]):
560         (-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:]):
561         (-[WebSecurityOrigin _core]):
562         * Storage/WebSecurityOriginInternal.h:
563
564 2007-11-26  Timothy Hatcher  <timothy@apple.com>
565
566         Reviewed by Adam Roben.
567
568         Bug 16137: Web Inspector window on Leopard should have a unified toolbar and window title
569         http://bugs.webkit.org/show_bug.cgi?id=16137
570
571         Create the Web Inspector window with the textured style. Set the content border
572         thickness for the top of the window or the height of the toolbar. Also make the
573         window's bottom corners square, since a normal textured window normally has
574         rounded bottom corners.
575
576         * WebCoreSupport/WebInspectorClient.mm:
577         (-[WebInspectorWindowController window]):
578
579 2007-11-24  Mark Rowe  <mrowe@apple.com>
580
581         Tiger build fix.
582
583         * Plugins/WebBaseNetscapePluginStream.mm:
584         (CarbonPathFromPOSIXPath): Use WebCFAutorelease as this also works on Tiger.
585
586 2007-11-24  Mark Rowe  <mrowe@apple.com>
587
588         Reviewed by Tim Hatcher.
589
590         Fix <rdar://problem/5432686> 333MB RPRVT seems to leak @ www.43folders.com (1hr plug-in stream).
591         http://bugs.webkit.org/show_bug.cgi?id=13705
592
593         Have NP_ASFILE and NP_ASFILEONLY streams write the data to disk as they receive it rather than
594         dumping the data to disk in a single go when the stream has completed loading.  On a test case
595         involving a 150MB Flash movie being streamed from a local web server this reduces memory consumption
596         on page load from around 400MB to 22MB.
597
598         The only plugin I have found that uses NP_ASFILE or NP_ASFILEONLY on the Mac is our NetscapeMoviePlugin
599         example code so the NP_ASFILE portion of this change has not had any testing with a real-world plugin.
600
601         * Plugins/WebBaseNetscapePluginStream.h:
602         * Plugins/WebBaseNetscapePluginStream.mm:
603         (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
604         (-[WebBaseNetscapePluginStream dealloc]):
605         (-[WebBaseNetscapePluginStream finalize]):
606         (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
607         (-[WebBaseNetscapePluginStream _destroyStream]): Update to work with paths as NSStrings.
608         (-[WebBaseNetscapePluginStream _deliverDataToFile:]): Open the file if it is not already open, and write any data
609         to disk.
610         (-[WebBaseNetscapePluginStream finishedLoading]): If the stream is NP_ASFILE or NP_ASFILEONLY we need to ensure
611         that the file exists before _destroyStream passes it to the plugin.  Simulating the arrival of an empty data block
612         ensure that the file will be created if it has not already.
613         (-[WebBaseNetscapePluginStream receivedData:]):
614         (CarbonPathFromPOSIXPath):
615         * Plugins/WebBaseNetscapePluginView.mm:
616         (-[WebBaseNetscapePluginView pluginViewFinishedLoading:]): Data is dealt with incrementally so there's no need to pass
617         it to finishedLoading.
618         (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): Ditto.
619
620 2007-11-23  Oliver Hunt  <oliver@apple.com>
621
622         Reviewed by Mark Rowe.
623         
624         Fixed <rdar://problem/3759190> allow input methods the option of processing mouse events themselves
625
626         * WebView/WebHTMLView.mm:
627         (-[WebHTMLView mouseDown:]):
628
629 2007-11-22  Dan Bernstein  <mitz@apple.com>
630
631         Reviewed by Antti Koivisto.
632
633         - http://bugs.webkit.org/show_bug.cgi?id=15811
634           WebKit plug-ins can re-enter WebKit under attach()
635           <rdar://problem/5577978>
636
637         * Plugins/WebNullPluginView.mm:
638         (-[WebNullPluginView viewDidMoveToWindow]): Removed workaround for the
639         above bug that added as part of fixing
640         <http://bugs.webkit.org/show_bug.cgi?id=15804>.
641
642 2007-11-21  Mark Rowe  <mrowe@apple.com>
643
644         Reviewed by Eric.
645
646         Fix WebKit to build without warnings under GCC 4.2.
647
648         * Configurations/Base.xcconfig:
649
650 2007-11-21  Mark Rowe  <mrowe@apple.com>
651
652         Reviewed by Tim Hatcher.
653
654         Changes due to <rdar://problem/5602936> Need to resolve new GCC 4.2 warnings
655
656         Update format strings to use format specifiers that match the argument types.
657
658         * Misc/WebGraphicsExtras.c:
659         (WebConvertBGRAToARGB):
660
661 2007-11-19  Brady Eidson <beidson@apple.com>
662
663         Reviewed by Maciej
664
665         Finished hooking up the WebKit API for database management.
666         Most of the API is actually implemented in WebCore and some of those methods might
667         only be stubs for now.
668
669         * Storage/WebDatabaseManager.mm:
670         (-[WebDatabaseManager origins]): Call through to the WebCore tracker and construct an API result
671         (-[WebDatabaseManager databasesWithOrigin:]): Ditto
672         (-[WebDatabaseManager detailsForDatabase:withOrigin:]): Ditto
673
674         * Storage/WebSecurityOrigin.mm:
675         (-[WebSecurityOrigin usage]): Call through to WebCore
676         (-[WebSecurityOrigin quota]): Ditto
677         (-[WebSecurityOrigin setQuota:]): Ditto
678         (-[WebSecurityOrigin _core]): Get WebCore version of this object
679         * Storage/WebSecurityOriginInternal.h:
680
681 2007-11-17  Timothy Hatcher  <timothy@apple.com>
682
683         Reviewed by Mark Rowe.
684
685         Bug 13470: i18n: The Web Inspector is not localizable
686         http://bugs.webkit.org/show_bug.cgi?id=13470
687
688         Implement the localizedStringsURL() client method to return the
689         localized URL of InspectorLocalizedStrings.js in WebCore.
690
691         * WebCoreSupport/WebInspectorClient.h: Added localizedStringsURL.
692         * WebCoreSupport/WebInspectorClient.mm:
693         (WebInspectorClient::localizedStringsURL): Added.
694         (WebInspectorClient::updateWindowTitle): Localized the window title.
695         (-[WebInspectorWindowController init]): Remove a FIXME that dosen't make sense anymore.
696         (-[WebInspectorWindowController initWithInspectedWebView:]): Code style cleanup.
697
698 2007-11-17  Alexey Proskuryakov  <ap@webkit.org>
699
700         Reviewed by Darin.
701
702         http://bugs.webkit.org/show_bug.cgi?id=15969
703         Eliminate Editor::deleteRange()
704
705         * WebView/WebHTMLView.mm:
706         (+[WebHTMLView initialize]):
707         (-[WebHTMLView yank:]):
708         (-[WebHTMLView yankAndSelect:]):
709         (-[WebHTMLView setMark:]):
710         (-[WebHTMLView deleteToMark:]):
711         (-[WebHTMLView selectToMark:]):
712         (-[WebHTMLView swapWithMark:]):
713         Pushed all kill ring methods to WebCore. They were guilty of using Editor::deleteRange()!
714
715 2007-11-16  Mark Rowe  <mrowe@apple.com>
716
717         Reviewed by Tim Hatcher.
718
719         Build WebCore as a sub-framework of WebKit in all configurations.
720
721         * Configurations/WebKit.xcconfig:
722
723 2007-11-16  John Sullivan  <sullivan@apple.com>
724
725         Reviewed by Brady
726
727         * WebKit.exp:
728         Exported some new database-related symbols
729
730 2007-11-16  Brady Eidson  <beidson@apple.com>
731
732         Reviewed by John
733
734         Database management API tweaks
735
736         Fleshed out "WebSecurityOrigin" to be the API object representing an origin.  This relieves some
737         burden off WebDatabaseManager and allows usage/quota operations on the SecurityOrigin object itself
738
739         Also added a new subdirectory for Storage related API - Why are we afraid to add new directories to
740         the WebKit tree?
741
742         * Misc/WebSecurityOrigin.mm: Removed.
743         * Misc/WebSecurityOriginInternal.h: Removed.
744         * Misc/WebSecurityOriginPrivate.h: Removed.
745
746         * Storage/WebDatabaseManager.mm: Work in terms of WebSecurityOrigin
747         * Storage/WebDatabaseManagerPrivate.h:
748
749         * Storage/WebSecurityOrigin.mm: Added.
750         (-[WebSecurityOriginPrivate initWithProtocol:domain:port:]):
751         (-[WebSecurityOriginPrivate initWithWebCoreSecurityOrigin:]):
752         (-[WebSecurityOriginPrivate finalize]):
753         (-[WebSecurityOriginPrivate dealloc]):
754         (-[WebSecurityOrigin initWithProtocol:domain:]):
755         (-[WebSecurityOrigin initWithProtocol:domain:port:]):
756         (-[WebSecurityOrigin protocol]):
757         (-[WebSecurityOrigin domain]):
758         (-[WebSecurityOrigin port]):
759         (-[WebSecurityOrigin usage]): 
760         (-[WebSecurityOrigin quota]):
761         (-[WebSecurityOrigin setQuota:]): Clients will set quotas on the WebSecurityOrigin object itself
762         (-[WebSecurityOrigin dealloc]):
763         (-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:]):
764         * Storage/WebSecurityOriginInternal.h: Added.
765         * Storage/WebSecurityOriginPrivate.h: Added.
766
767 2007-11-15  Brady Eidson  <beidson@apple.com>
768
769         Reviewed by John
770
771         Stubbing out everything required for a WebKit API for databases
772
773         These interfaces seem to provide everything we need for UI and management at the browser level
774
775         * Misc/WebDatabaseManager.h: Removed.
776         * Misc/WebDatabaseManager.mm: Removed.
777         * Misc/WebDatabaseManagerPrivate.h: Removed.
778
779         * Misc/WebSecurityOrigin.mm: Added. Object that acts as a container for the "SecurityOrigin tuple"
780           (protocol, domain, and port)
781         (-[WebSecurityOriginPrivate initWithProtocol:domain:port:]):
782         (-[WebSecurityOriginPrivate dealloc]):
783         (-[WebSecurityOrigin initWithProtocol:domain:]):
784         (-[WebSecurityOrigin initWithProtocol:domain:port:]):
785         (-[WebSecurityOrigin protocol]):
786         (-[WebSecurityOrigin domain]):
787         (-[WebSecurityOrigin port]):
788         (-[WebSecurityOrigin dealloc]):
789         (-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:WebCore::]):
790         * Misc/WebSecurityOriginInternal.h: Added.
791         * Misc/WebSecurityOriginPrivate.h: Added.
792
793         * Storage/WebDatabaseManager.mm: Added.
794         (+[WebDatabaseManager sharedWebDatabaseManager]):
795         (-[WebDatabaseManager origins]):  Get a list of all origins currently tracked
796         (-[WebDatabaseManager detailsForOrigin:]): Get the current usage and current quota for the given origin
797         (-[WebDatabaseManager databasesWithOrigin:]): Get all databases for a certain origin
798         (-[WebDatabaseManager detailsForDatabase:withOrigin:]): Get all details about a specific database
799         (-[WebDatabaseManager setQuota:forOrigin:]): Change origin-wide quota
800         (-[WebDatabaseManager deleteAllDatabases]):
801         (-[WebDatabaseManager deleteAllDatabasesWithOrigin:]):
802         (-[WebDatabaseManager deleteDatabase:withOrigin:]):
803         * Storage/WebDatabaseManagerPrivate.h: Added.
804         * Storage/WebDatabaseManagerInternal.h: Added.
805         (WebKitInitializeDatabasesIfNecessary): One-time initialization of database-related things
806
807         * Storage/WebDatabaseTrackerClient.h: Added. Stubbed out client for notifications
808         * Storage/WebDatabaseTrackerClient.mm: Added.
809         (WebDatabaseTrackerClient::sharedWebDatabaseTrackerClient):
810         (WebDatabaseTrackerClient::WebDatabaseTrackerClient):
811         (WebDatabaseTrackerClient::~WebDatabaseTrackerClient):
812         (WebDatabaseTrackerClient::dispatchDidModifyOrigin):
813         (WebDatabaseTrackerClient::dispatchDidModifyDatabase):
814
815         * WebView/WebView.mm:
816         (-[WebView _commonInitializationWithFrameName:groupName:]): Do one-time initialization of
817           Database-related things here
818
819 2007-11-13  Geoffrey Garen  <ggaren@apple.com>
820
821         Reviewed by Anders Carlsson.
822         
823         Renamed Shared to RefCounted.
824
825         * ForwardingHeaders/wtf/RefCounted.h: Copied from WebKit/mac/ForwardingHeaders/wtf/Shared.h.
826         * ForwardingHeaders/wtf/Shared.h: Removed.
827         * WebCoreSupport/WebContextMenuClient.h:
828
829 2007-11-13  Geoffrey Garen  <ggaren@apple.com>
830
831         Reviewed by Sam Weinig.
832
833         Moved Shared.h into wtf so it could be used in more places.
834
835         * ChangeLog:
836         * WebCoreSupport/WebContextMenuClient.h:
837
838 2007-11-13  John Sullivan  <sullivan@apple.com>
839
840         Reviewed by Darin.
841
842         removed recently-added PreferredType concept; we found a better way to do what
843         ths was accomplishing
844
845         * WebCoreSupport/WebChromeClient.mm:
846         (WebChromeClient::createWindow):
847         removed use of PreferredType
848
849 2007-11-13  John Sullivan  <sullivan@apple.com>
850
851         Reviewed by Dan Bernstein.
852         
853         - fixed <rdar://problem/5567954> REGRESSION (Safari 2-3): Autofill no longer automatically fills in 
854         form fields other than the one you're typing into
855
856         * WebCoreSupport/WebEditorClient.mm:
857         (selectorForKeyEvent):
858         correct the key identifier strings for Tab and Esc; these were updated in WebCore as part of r21445
859         but didn't get updated here.
860
861 2007-11-12  Josh Aas  <joshmoz@gmail.com>
862
863         Reviewed by Darin.
864
865         - http://bugs.webkit.org/show_bug.cgi?id=15946
866           add NPPValue NPPVpluginDrawingModel (Mozilla bug 403418 compat)
867
868         * Plugins/WebBaseNetscapePluginView.mm:
869         (-[WebBaseNetscapePluginView setVariable:value:]):
870
871 2007-11-12  Alexey Proskuryakov  <ap@webkit.org>
872
873         Reviewed by Darin.
874
875         http://bugs.webkit.org/show_bug.cgi?id=15954
876         Move DOM Selection operations out of SelectionController
877
878         * WebView/WebHTMLView.mm:
879         (-[WebHTMLView _expandSelectionToGranularity:]):
880         (-[WebHTMLView selectToMark:]):
881         (-[WebHTMLView swapWithMark:]):
882         * WebView/WebView.mm:
883         (-[WebView setSelectedDOMRange:affinity:]):
884         Adapted for SelectionController::setSelectedRange() now returning a bool.
885
886 2007-11-12  Oliver Hunt  <oliver@apple.com>
887
888         Reviewed by Darin and Geoff.
889
890         <rdar://problem/5522011> The content of the password field of 
891         Safari is displayed by reconversion.
892
893         Some input methods (notably Kotoeri) can incorrectly provide 
894         access to the raw text of a password field.  To work around 
895         this we forcefully override the inputContext whenever a password
896         field is active.
897
898         * WebView/WebHTMLView.mm:
899         (-[WebHTMLView inputContext]):
900
901 2007-11-12  John Sullivan  <sullivan@apple.com>
902
903         Reviewed by Tim Hatcher
904         
905         - speculative fix for <rdar://problem/5509989> CrashTracer: [USER] 1 crash in Safari at com.apple.WebKit: 
906         -[WebPDFView(FileInternal) _updatePreferencesSoon] + 56
907         
908         The crash is probably due to messaging a dealloc'ed dataSource ivar. The dataSource ivar isn't retained
909         by this class, but should be. (It is retained by WebHTMLView, e.g.).
910
911         * WebView/WebPDFView.mm:
912         (-[WebPDFView dealloc]):
913         release dataSource ivar
914         (-[WebPDFView setDataSource:]):
915         retain dataSource ivar
916
917 2007-11-09  Tristan O'Tierney  <tristan@apple.com>
918
919         Reviewed by Timothy Hatcher.
920         
921         This patch is for the WebKit side of <rdar://problem/5591115>.
922         We need a way to tell context menu navigations, such as "Open in New Window"
923         to override any sort of browser preference for tab based navigation.
924
925         * WebCoreSupport/WebChromeClient.mm:
926         (WebChromeClient::createWindow):
927         Pass up the new preferredType parameter as a string.
928         
929 2007-11-09  Timothy Hatcher  <timothy@apple.com>
930
931         Reviewed by John.
932
933         <rdar://problem/5103720> REGRESSION: [WebView stringByEvaluatingJavaScriptFromString:] fails if "return" is used
934
935         Extend the linked on or after check to every application when a script passed to
936         stringByEvaluatingJavaScriptFromString: has a return statement. Before the check
937         was limited to VitalSource Bookshelf, but other developers are running into this.
938
939         * Misc/WebKitVersionChecks.h: Add the WEBKIT_FIRST_VERSION_WITHOUT_JAVASCRIPT_RETURN_QUIRK define.
940         * WebView/WebDocumentLoaderMac.mm:
941         (needsDataLoadWorkaround): Use WEBKIT_FIRST_VERSION_WITHOUT_ADOBE_INSTALLER_QUIRK sicne the
942           WebKitLinkedOnOrAfter check here was about the Adobe installer, not VitalSource.
943         * WebView/WebView.mm:
944         (-[WebView stringByEvaluatingJavaScriptFromString:]): Remove the bundle ID check and use
945           WEBKIT_FIRST_VERSION_WITHOUT_JAVASCRIPT_RETURN_QUIRK for the WebKitLinkedOnOrAfter call.
946
947 2007-11-08  Kevin McCullough  <kmccullough@apple.com>
948
949         Build Fix.
950
951         * WebCoreSupport/WebFrameLoaderClient.h:
952         * WebCoreSupport/WebFrameLoaderClient.mm:
953         (WebFrameLoaderClient::windowObjectCleared):
954
955 2007-11-07  Darin Adler  <darin@apple.com>
956
957         Reviewed by Steve.
958
959         - removed some unused WebCore bridge methods
960
961         * WebCoreSupport/WebFrameBridge.mm: Removed issueTransposeCommand and overrideMediaType.
962
963         * WebCoreSupport/WebFrameLoaderClient.mm:
964         (WebFrameLoaderClient::overrideMediaType): Changed to call WebView directly instead of
965         using the bridge object.
966
967 2007-11-06  Mark Rowe  <mrowe@apple.com>
968
969         Rubber-stamped by Dave Kilzer.
970
971         Move Mac files from WebKit into WebKit/mac.
972
973         * Carbon: Copied from WebKit/Carbon.
974         * ChangeLog: Copied from WebKit/ChangeLog.
975         * ChangeLog-2002-12-03: Copied from WebKit/ChangeLog-2002-12-03.
976         * ChangeLog-2006-02-09: Copied from WebKit/ChangeLog-2006-02-09.
977         * ChangeLog-2007-10-14: Copied from WebKit/ChangeLog-2007-10-14.
978         * Configurations: Copied from WebKit/Configurations.
979         * DOM: Copied from WebKit/DOM.
980         * DefaultDelegates: Copied from WebKit/DefaultDelegates.
981         * ForwardingHeaders: Copied from WebKit/ForwardingHeaders.
982         * History: Copied from WebKit/History.
983         * Info.plist: Copied from WebKit/Info.plist.
984         * MigrateHeaders.make: Copied from WebKit/MigrateHeaders.make.
985         * Misc: Copied from WebKit/Misc.
986         * Panels: Copied from WebKit/Panels.
987         * Plugins: Copied from WebKit/Plugins.
988         * PublicHeaderChangesFromTiger.txt: Copied from WebKit/PublicHeaderChangesFromTiger.txt.
989         * Resources: Copied from WebKit/Resources.
990         * WebCoreSupport: Copied from WebKit/WebCoreSupport.
991         * WebInspector: Copied from WebKit/WebInspector.
992         * WebKit.exp: Copied from WebKit/WebKit.exp.
993         * WebKit.order: Copied from WebKit/WebKit.order.
994         * WebKitPrefix.h: Copied from WebKit/WebKitPrefix.h.
995         * WebView: Copied from WebKit/WebView.
996         * icu: Copied from WebKit/icu.
997
998 2007-11-06  Alexey Proskuryakov  <ap@webkit.org>
999
1000         Reviewed by Darin.
1001
1002         http://bugs.webkit.org/show_bug.cgi?id=15847
1003         Some editing cleanup
1004
1005         No change in functionality.
1006
1007         * WebView/WebHTMLView.mm:
1008         (-[WebHTMLView deleteToEndOfLine:]):
1009         (-[WebHTMLView deleteToEndOfParagraph:]):
1010         WebCore had a duplicate of the same logic already. We are passing a boundary value to
1011         a function that expects granularity, this may need to be straightened out in the future.
1012
1013 2007-11-05  John Sullivan  <sullivan@apple.com>
1014
1015         * WebView/WebView.mm:
1016         (-[WebView _searchWithSpotlightFromMenu:]):
1017
1018         Teeny style tweak to test svn access on other machine
1019
1020 2007-11-05  John Sullivan  <sullivan@apple.com>
1021
1022         * WebView/WebView.mm:
1023         (-[WebView computedStyleForElement:pseudoElement:]):
1024         
1025         Teeny style tweak to test svn access
1026
1027 2007-11-02  Tristan O'Tierney  <tristan@apple.com>
1028
1029         Reviewed by Darin Adler.
1030
1031         * DefaultDelegates/WebDefaultUIDelegate.m:
1032         (-[WebDefaultUIDelegate webView:createWebViewWithRequest:windowFeatures:]):
1033         Forward the UI delegate to call webView:createWebViewWithRequest: if
1034         this method doesn't exist.
1035         
1036         * WebCoreSupport/WebFrameLoaderClient.mm:
1037         (WebFrameLoaderClient::dispatchCreatePage):
1038         * Plugins/WebBaseNetscapePluginView.mm:
1039         (-[WebBaseNetscapePluginView loadPluginRequest:]):
1040         * WebView/WebView.mm:
1041         (-[WebView _openNewWindowWithRequest:]):
1042         Revised to use new webView:createWebViewWithRequest:windowFeatures: callback.
1043         
1044         * WebCoreSupport/WebChromeClient.h:
1045         * WebCoreSupport/WebChromeClient.mm:
1046         (WebChromeClient::createWindow):
1047         Added a new createWindow that accepts 3 parameters, so we can pass up windowFeatures to the chrome.
1048         Removed createModalDialog to use new createWindow function.
1049         
1050         * WebView/WebUIDelegatePrivate.h:
1051         Added new webView:createWebViewWithRequest:windowFeatures: method.
1052
1053 2007-11-05  Geoffrey Garen  <ggaren@apple.com>
1054
1055         Reviewed by Darin Adler.
1056         
1057         http://bugs.webkit.org/show_bug.cgi?id=15835
1058
1059         Small adaptations to new KJS::List class.
1060
1061         * ForwardingHeaders/kjs/value.h: Added.
1062
1063 2007-11-03  David D. Kilzer  <ddkilzer@webkit.org>
1064
1065         Sort files(...); sections of Xcode project files.
1066
1067         Rubber-stamped by Darin.
1068
1069         * WebKit.xcodeproj/project.pbxproj:
1070
1071 2007-11-02  Antti Koivisto  <antti@apple.com>
1072
1073         Reviewed by Darin.
1074         
1075         Add method to enable video composition.
1076
1077         * WebCoreSupport/WebSystemInterface.m:
1078         (InitWebCoreSystemInterface):
1079
1080 2007-11-02  Darin Adler  <darin@apple.com>
1081
1082         Reviewed by Mitz.
1083
1084         - fix problem I ran into while doing some testing on Mac for
1085           <rdar://problem/5530185> WebKit does not show <object>
1086           fallback content when both URL and MIME type is omitted
1087
1088         I don't know how to reproduce this failure in DumpRenderTree, so there is no
1089         regression test.
1090
1091         * Plugins/WebNullPluginView.h: Removed some unneeded declarations, including
1092         the didSendError local variable. Instead we just set the error to nil once
1093         we've sent it.
1094         * Plugins/WebNullPluginView.mm:
1095         (-[WebNullPluginView initWithFrame:error:DOMElement:]): Refactored so that
1096         the null plug-in image code is separate from the rest of the function and
1097         so that the whole thing is not inside an if statement. Also don't hold a
1098         reference to the DOM element if there is no error to report.
1099         (-[WebNullPluginView reportFailure]): Added. Does the actual delegate
1100         callback. Happens back at the top level of the run loop so it doesn't
1101         fire deep inside layout. Also wrote this so that it is guaranteed not to
1102         reenter and so that it can handle the case where the delegate destroys
1103         the world (including this object). NOTE: This is not a real, general
1104         solution to the problem of plug-ins that do work inside layout. We will need
1105         a more general fix that works for other plug-ins, and we'll track that with
1106         a separate bug report.
1107         (-[WebNullPluginView viewDidMoveToWindow]): Removed most of the code;
1108         changed so it just does a performSelector:afterDelay:0.
1109
1110 2007-11-02  Mark Rowe  <mrowe@apple.com>
1111
1112         Reviewed by Darin Adler.
1113
1114         Fix http://bugs.webkit.org/show_bug.cgi?id=15780
1115         Bug 15780: WebFrameLoaderClient: WebActionElementKey wrong if view is scrolled
1116
1117         * WebCoreSupport/WebFrameLoaderClient.mm:
1118         (WebFrameLoaderClient::actionDictionary): Retrieve the mouse event coordinates
1119         in the page coordinate system rather than the client area coordinate system.
1120
1121 2007-11-01  Dan Bernstein  <mitz@apple.com>
1122
1123         Reviewed by Oliver Hunt.
1124
1125         - fix an assertion failure when Command-Tabbing out of Safari
1126
1127         * WebView/WebHTMLView.mm:
1128         (-[WebHTMLView flagsChanged:]): Avoid passing key code 0 down to
1129         webCore.
1130
1131 2007-11-01  Justin Garcia  <justin.garcia@apple.com>
1132
1133         Reviewed by Oliver Hunt.
1134         
1135         <rdar://problem/5195056> Huge plain text pastes are slow, time spent in ApplyStyleCommand::doApply
1136         
1137         No need to match style when pasting plain text, since the fragment we build for plain text
1138         won't have any style information on it.
1139
1140         * WebView/WebHTMLView.mm:
1141         (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:]): There's no
1142         longer a need to know whether this function chosePlaintext.
1143         (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]):
1144         (-[WebHTMLView _documentFragmentFromPasteboard:]):
1145
1146 2007-10-31  Timothy Hatcher  <timothy@apple.com>
1147
1148         Reviewed by John Sullivan.
1149
1150         Move the developer extras preference to WebPreferences.
1151
1152         * WebView/WebPreferenceKeysPrivate.h: Add WebKitDeveloperExtrasEnabledPreferenceKey
1153         * WebView/WebPreferences.m:
1154         (+[WebPreferences initialize]): Initialize WebKitDeveloperExtrasEnabledPreferenceKey to NO.
1155         (-[WebPreferences developerExtrasEnabled]): Check DisableWebKitDeveloperExtras, WebKitDeveloperExtras
1156           and IncludeDebugMenu in addition to WebKitDeveloperExtrasEnabledPreferenceKey.
1157         (-[WebPreferences setDeveloperExtrasEnabled:]): Set WebKitDeveloperExtrasEnabledPreferenceKey.
1158         * WebView/WebPreferencesPrivate.h: Add developerExtrasEnabled and setDeveloperExtrasEnabled:.
1159         * WebView/WebView.mm:
1160         (+[WebView _developerExtrasEnabled]): Removed.
1161         (-[WebView _preferencesChangedNotification:]): Check the WebPreferences object for developerExtrasEnabled.
1162         * WebView/WebViewPrivate.h: Removed _developerExtrasEnabled.
1163
1164 2007-10-30  David D. Kilzer  <ddkilzer@webkit.org>
1165
1166         Generated files missing from WebCore's Xcode project file
1167         <http://bugs.webkit.org/show_bug.cgi?id=15406>
1168
1169         Reviewed by Darin.
1170
1171         Added the following private header files to MigrateHeaders.make:
1172
1173         - DOMCSSStyleSheetPrivate.h
1174         - DOMEventPrivate.h
1175         - DOMHTMLCollectionPrivate.h
1176         - DOMHTMLEmbedElementPrivate.h
1177         - DOMHTMLIFrameElementPrivate.h
1178         - DOMHTMLObjectElementPrivate.h
1179         - DOMHTMLSelectElementPrivate.h
1180
1181         * MigrateHeaders.make:
1182
1183 2007-10-29  Antti Koivisto  <antti@apple.com>
1184
1185         Reviewed by Maciej.
1186         
1187         Some SPIs for media support.
1188
1189         * WebCoreSupport/WebSystemInterface.m:
1190         (InitWebCoreSystemInterface):
1191
1192 2007-10-29  Timothy Hatcher  <timothy@apple.com>
1193
1194         Reviewed by John Sullivan.
1195
1196         Various semi-related changes:
1197         - A WebView can now be asked for it's WebInspector. There is one
1198           WebInspector per WebView. 
1199         - Refactor the WebInspector class and move obsolete methods to
1200           a special category.
1201         - Add new WebInspector methods to show, hide and show the
1202           console/timeline panels.
1203         - Add an isDisabled method to WebCache.
1204         - Allow WebLocalizableStrings.h to be used in C files.
1205
1206         * Misc/WebCache.h: Add isDisabled.
1207         * Misc/WebCache.mm:
1208         (+[WebCache isDisabled]): New method.
1209
1210         * Misc/WebLocalizableStrings.h: Changes to allow use in plain C files.
1211
1212         * WebCoreSupport/WebInspectorClient.mm:
1213         (-[WebInspectorWindowController showWindow:]): Call super if already visible
1214           so the window will be ordered front.
1215         (-[WebInspectorWindowController showWebInspector:]): Method used by menu items,
1216           so they are enabled and work when the Inspector window is key.
1217         (-[WebInspectorWindowController showErrorConsole:]): Ditto.
1218         (-[WebInspectorWindowController showNetworkTimeline:]): Ditto.
1219
1220         * WebInspector/WebInspector.h: Add and remove methods.
1221         * WebInspector/WebInspector.mm:
1222         (-[WebInspector webViewClosed]): Called when the WebView is closed/dealloced.
1223           Clears the _webView pointer.
1224         (-[WebInspector show:]): Calls thru to the Page's InspectorController.
1225         (-[WebInspector showConsole:]): Ditto.
1226         (-[WebInspector showTimeline:]): Ditto.
1227         (-[WebInspector close:]): Ditto.
1228         (-[WebInspector attach:]): Ditto.
1229         (-[WebInspector detach:]): Ditto.
1230         (+[WebInspector sharedWebInspector]): Moved to the obsolete category.
1231         (+[WebInspector webInspector]): Ditto.
1232         (-[WebInspector setWebFrame:]): Ditto.
1233         (-[WebInspector window]): Ditto.
1234         (-[WebInspector showWindow:]): Ditto.
1235
1236         * WebView/WebView.mm:
1237         (-[WebViewPrivate dealloc]): Release the WebInspector.
1238         (-[WebView _close]): Call webViewClosed on the WebInspector.
1239         (-[WebView inspector]): Create a WebInspector if needed and return it.
1240         * WebView/WebViewPrivate.h: Add the inspector method.
1241
1242 2007-10-30  Adele Peterson  <adele@apple.com>
1243
1244         Reviewed by Darin.
1245
1246         WebKit part of fix for http://bugs.webkit.org/show_bug.cgi?id=10577
1247         <rdar://problem/5103625> REGRESSION: Caps lock icon should show in password fields
1248
1249         * WebView/WebHTMLView.mm:
1250         (-[WebHTMLView flagsChanged:]): Call capsLockStateMayHaveChanged so WebCore knows it may have to update a password field.
1251         (+[WebHTMLView _postFlagsChangedEvent:]): Added a comment with a Radar number for why this isn't just in flagsChanged.
1252         (-[WebHTMLView scrollWheel:]): Instead of calling the next responder explicitly, we can just call super, which will take care of this.
1253
1254 2007-10-27  Mark Ambachtsheer  <mark.a@apple.com>
1255
1256         Reviewed by Darin.
1257
1258         Fix for bug 15710, When QD plugins draw to an offscreen bitmap and the plugin is not at 
1259         (0, 0) the clipping rectangle is not correct.
1260         Added the origin to the window clip rectangle coordinates to account for plugins that
1261         don't originate at (0,0); affects code for offscreen GWorlds only.
1262
1263         * Plugins/WebBaseNetscapePluginView.mm:
1264         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
1265
1266 2007-10-26  Adele Peterson  <adele@apple.com>
1267
1268         Reviewed by Oliver.
1269
1270         Adding WebKitSystemInterface support for the caps lock indicator
1271
1272         * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
1273
1274 2007-10-25  David Hyatt  <hyatt@apple.com>
1275
1276         Fix for bug 15672, backgrounds don't tile properly inside transforms.  This patch fixes tiling
1277         of backgrounds inside CSS transforms and also of HTML content with background images inside SVG
1278         transforms.
1279
1280         Reviewed by aroben and mmitz
1281
1282         * WebCoreSupport/WebSystemInterface.m:
1283         (InitWebCoreSystemInterface):
1284         * WebKit.xcodeproj/project.pbxproj:
1285
1286 2007-10-25  John Sullivan  <sullivan@apple.com>
1287
1288         Reviewed by Tim Hatcher
1289         
1290         Removed the support for toggling whether WebKit uses the 10.5 PDFKit improvements. Now it
1291         always does, when available.
1292
1293         * WebView/WebPreferencesPrivate.h:
1294         removed _usePDFPreviewView and _setUsePDFPreviewView:. Note that these were guarded with
1295         a comment that says that they can be removed when no longer needed. That time is now.
1296
1297         * WebView/WebPreferences.m:
1298         (+[WebPreferences initialize]):
1299         removed WebKitUsePDFPreviewViewPreferenceKey
1300         (-[WebPreferences _usePDFPreviewView]):
1301         removed
1302         (-[WebPreferences _setUsePDFPreviewView:]):
1303         removed
1304
1305         * WebView/WebPDFView.mm:
1306         (-[WebPDFView initWithFrame:]):
1307         don't check _usePDFPreviewView
1308         
1309         * WebView/WebPreferenceKeysPrivate.h:
1310         removed WebKitUsePDFPreviewViewPreferenceKey
1311         
1312 2007-10-24  Timothy Hatcher  <timothy@apple.com>
1313
1314         Reviewed by Mark Rowe.
1315
1316         <rdar://problem/5069711> OpenSource version of libWebKitSystemInterface.a is Tiger only, causes issues if used on Leopard
1317
1318         Use the WebKitSystemInterface that matches the system version.
1319
1320         * Configurations/DebugRelease.xcconfig:
1321         * WebKit.xcodeproj/project.pbxproj:
1322
1323 2007-10-24  Brady Eidson  <beidson@apple.com>
1324
1325         Reviewed by Anders
1326
1327         <rdar://problem/5554130> DatabaseTracker.o has a global initializer
1328
1329         * Misc/WebDatabaseManager.mm:
1330         (WebKitSetWebDatabasesPathIfNecessary): Call the member function instead of a static one
1331
1332 2007-10-23  Mark Rowe  <mrowe@apple.com>
1333
1334         Build fix for Eric's build fix in r26916.
1335
1336         * MigrateHeaders.make:
1337
1338 2007-10-22  Eric Seidel  <eric@webkit.org>
1339
1340         Reviewed by Maciej.
1341
1342         * MigrateHeaders.make: copy over font-face related DOM headers
1343
1344 2007-10-22  Andrew Wellington  <proton@wiretapped.net>
1345
1346         Reviewed by Mark Rowe.
1347         
1348         Fix for local database support after r26879
1349         Ensure that ENABLE_DATABASE and ENABLE_ICONDATABASE are correctly set
1350
1351         * Configurations/WebKit.xcconfig:
1352
1353 2007-10-19  Brady Eidson <beidson@apple.com>
1354
1355         Reviewed by Tim Hatcher
1356
1357         Added support for Chrome prompts required by the Storage API
1358         Added support API for future managing of databases from the WebKit client
1359         Added preference and initialization for the databases path
1360
1361         * Misc/WebDatabaseManager.h: Added.  WebDatabaseManager is how a WebKit application can list and
1362           remove the current available databases
1363         * Misc/WebDatabaseManager.mm: Added.
1364         (+[WebDatabaseManager origins]):
1365         (+[WebDatabaseManager databasesWithOrigin:]):
1366         (+[WebDatabaseManager deleteAllDatabases]):
1367         (+[WebDatabaseManager deleteAllDatabasesWithOrigin:]):
1368         (+[WebDatabaseManager deleteDatabaseWithOrigin:named:]):
1369         (WebKitSetWebDatabasesPathIfNecessary): Setup the database path
1370         * Misc/WebDatabaseManagerPrivate.h: Added.
1371
1372         * WebCoreSupport/WebChromeClient.h: Support for calling the delegate to run the prompt for 
1373           an origin exceeding its size limit
1374         * WebCoreSupport/WebChromeClient.mm:
1375         (WebChromeClient::runDatabaseSizeLimitPrompt):
1376         * WebKit.xcodeproj/project.pbxproj:
1377         * WebView/WebUIDelegate.h:
1378
1379         * WebView/WebView.mm:
1380         (-[WebView _commonInitializationWithFrameName:groupName:]): Setup the database path
1381         * WebView/WebViewInternal.h:
1382
1383 2007-10-19  John Sullivan  <sullivan@apple.com>
1384
1385         Reviewed by Tim Hatcher
1386         
1387         - fixed <rdar://problem/5540325> REGRESSION (2.0.4-3): History menu looks odd after clearing history
1388
1389         * History/WebHistory.mm:
1390         (-[WebHistoryPrivate removeAllItems]):
1391         This was fallout from r25275. We need to clear the orderedLastVisitedDays cache here, in addition
1392         to the other places where it's cleared.
1393
1394 2007-10-18  Dan Bernstein  <mitz@apple.com>
1395
1396         Tiger build fix.
1397
1398         * WebView/WebDataSource.mm:
1399         (-[WebDataSource _MIMETypeOfResponse:]):
1400
1401 2007-10-18  Dan Bernstein  <mitz@apple.com>
1402
1403         Reviewed by Adam Roben.
1404
1405         - fix <rdar://problem/5313523>
1406         REGRESSION(Leopard): http/tests/incremental/slow-utf8-text.pl fails on Leopard
1407
1408         * WebCoreSupport/WebFrameLoaderClient.mm:
1409         (WebFrameLoaderClient::makeDocumentView): Changed to use _responseMIMEType.
1410         * WebView/WebDataSource.mm:
1411         (-[WebDataSource _MIMETypeOfResponse:]): Added. Works around
1412         <rdar://problem/5321972> by testing for the case of an NSHTTPURLResponse
1413         with a MIMEType of application/octet-stream and a Content-Type header
1414         starting with text/plain and returning text/plain as the MIME type in
1415         that case.
1416         (-[WebDataSource _responseMIMEType]): Added. Used to get the correct
1417         response MIME type.
1418         (-[WebDataSource _isDocumentHTML]): Changed to use _responseMIMEType.
1419         (-[WebDataSource _makeRepresentation]): Ditto.
1420         (-[WebDataSource mainResource]): Ditto.
1421         (-[WebDataSource subresources]): Changed to use _MIMETypeOfResponse and
1422         pass the MIME type explicitly.
1423         (-[WebDataSource subresourceForURL:]): Ditto.
1424         * WebView/WebDataSourcePrivate.h:
1425         * WebView/WebFrameView.mm:
1426         (-[WebFrameView _makeDocumentViewForDataSource:]): Changed to use
1427         _responseMIMEType.
1428         * WebView/WebResource.mm:
1429         (-[WebResource _initWithData:URL:response:MIMEType:]): Changed this
1430         method to take a MIME type instead of extracting it from the response,
1431         so that WebDataSource could pass the correct MIME type.
1432         * WebView/WebResourcePrivate.h:
1433
1434 2007-10-17  Darin Adler  <darin@apple.com>
1435
1436         Reviewed by Mark Rowe.
1437
1438         - fix <rdar://problem/5183775> Uninitialized memory in -[WebDynamicScrollBarsView updateScrollers]
1439
1440         * WebView/WebDynamicScrollBarsView.m: (-[WebDynamicScrollBarsView updateScrollers]):
1441         Change code path so it doesn't dispatch a method that returns an NSSize passing a nil object.
1442         It's safe to do that for functions that return integers or pointers, but not structures.
1443
1444 2007-10-16  David Kilzer  <ddkilzer@apple.com>
1445
1446         Reviewed by Timothy.
1447
1448         <rdar://problem/5544354> Wrong delegate method called in
1449         WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad()
1450
1451         * WebCoreSupport/WebFrameLoaderClient.mm:
1452         (WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad): Fixed selector name.
1453
1454 2007-10-16  Darin Adler  <darin@apple.com>
1455
1456         Reviewed by Adele.
1457
1458         - moved transpose command implementation into WebCore
1459
1460         * WebView/WebHTMLView.mm: Removed transpose: and replaced it with standard WebCore forwarding.
1461
1462 2007-10-16  Darin Adler  <darin@apple.com>
1463
1464         Reviewed by Maciej and Geoff (and looked over by Eric).
1465
1466         - http://bugs.webkit.org/show_bug.cgi?id=15519
1467           eliminate use of <ctype.h> for processing ASCII
1468
1469         * ForwardingHeaders/wtf/ASCIICType.h: Added.
1470         * ForwardingHeaders/wtf/DisallowCType.h: Added.
1471
1472         * WebKitPrefix.h: Include DisallowCType.h.
1473
1474         * Misc/WebNSURLExtras.mm: (-[NSURL _web_URLWithLowercasedScheme]): Use toASCIILower.
1475         * WebView/WebHTMLView.mm:
1476         (-[WebHTMLView callWebCoreCommand:]): Use toASCIIUpper.
1477         (-[WebTextCompleteController filterKeyDown:]): Add a list of specific character codes,
1478         instead of using ispunct.
1479
1480 2007-10-16  John Sullivan  <sullivan@apple.com>
1481
1482         Reviewed by Adam Roben
1483         
1484         Cleaned up localizable strings
1485
1486         * English.lproj/Localizable.strings:
1487         updated
1488         * StringsNotToBeLocalized.txt:
1489         updated
1490         * WebKit.xcodeproj/project.pbxproj:
1491         StringsNotToBeLocalized.txt recently moved but project file wasn't updated to match; now it is
1492
1493 2007-10-15  Kevin Decker  <kdecker@apple.com>
1494
1495         Reviewed by Darin Adler.
1496         
1497         Fixed: <rdar://problem/5520541> REGRESSION: Broken image when forwarding certain email on Tiger
1498         
1499         * WebCoreSupport/WebFrameBridge.mm: The problem was that we were loading Mail's WebKit plug-in
1500         too soon, which borked some necessary housekeeping on behalf of Mail. The fix is to add a quirk
1501         that treats Tiger Mail's WebKit plug-in like a Netscape plug-in, thus ensuring the plug-in will
1502         load during first layout and not attach time. For this plug-in, loading at first layout is 
1503         expected and is consistent with Safari 2 behavior.
1504
1505 2007-10-15  John Sullivan  <sullivan@apple.com>
1506
1507         Reviewed by Geoff Garen
1508         
1509         Replaced NS_DURING/NS_HANDLER with @try/@catch throughout WebKit
1510
1511         I made the following changes:
1512         - replaced NS_DURING with @try, and added opening brace if there wasn't one
1513         - replaced NS_HANDLER with @catch (NSException *localException), and added braces if there weren't any
1514         - removed NS_ENDHANDLER, and added a closing brace if there wasn't one
1515         - in a couple of places, fixed indentation therein
1516
1517         * Misc/WebIconDatabase.mm:
1518         (objectFromPathForKey):
1519         * WebView/WebHTMLView.mm:
1520         (-[WebHTMLView drawSingleRect:]):
1521         (-[WebHTMLView beginDocument]):
1522         (-[WebHTMLView deleteToMark:]):
1523         * WebView/WebView.mm:
1524         (-[WebView initWithCoder:]):
1525
1526 == Rolled over to ChangeLog-2007-10-14 ==