Reviewed by Eric.
[WebKit-https.git] / WebCore / ChangeLog
1 2006-09-01  Alexey Proskuryakov  <ap@nypop.com>
2
3         Reviewed by Eric.
4
5         - http://bugzilla.opendarwin.org/show_bug.cgi?id=5620
6         Should only honor encoding from <meta> in HTML
7
8         - http://bugzilla.opendarwin.org/show_bug.cgi?id=9783
9         An XML declaration without an explicit encoding incorrectly triggers
10         UTF-8 encoding in an HTML document
11
12         - http://bugzilla.opendarwin.org/show_bug.cgi?id=10155
13         CSS2: @charset is not supported
14         
15         * loader/Decoder.cpp:
16         (Decoder::Decoder): Decoder now knows what kind of content it is decoding.
17         Also, the browser default encoding can now be passed directly to the constructor,
18         to streamline the logic.
19         (Decoder::decode): Add support for @charset, differentiate between HTML and XML.
20         (Decoder::setEncodingName): Style cleanup.
21         (Decoder::encodingName): Ditto.
22         (Decoder::flush): Ditto.
23         * loader/Decoder.h:
24         (WebCore::Decoder::):
25
26         * bridge/mac/WebCoreEncodings.mm: Pass a content type of text/html to Decoder.
27
28         * loader/CachedCSSStyleSheet.cpp:
29         (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
30         (WebCore::CachedCSSStyleSheet::setCharset):
31         (WebCore::CachedCSSStyleSheet::data):
32         * loader/CachedCSSStyleSheet.h:
33         Use Decoder instead of TextEncoding::toUnicode() to enable @charset support.
34
35         * loader/CachedXBLDocument.cpp:
36         (WebCore::CachedXBLDocument::CachedXBLDocument): Pass a content type.
37         * loader/CachedXSLStyleSheet.cpp:
38         (WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet): Ditto.
39         (WebCore::CachedXSLStyleSheet::data): Flush the decoder to be safe.
40
41         * page/Frame.cpp:
42         (WebCore::Frame::write): Pass a content type and a default encoding to 
43         the Decoder.
44         * xml/XSLTProcessor.cpp:
45         (WebCore::XSLTProcessor::createDocumentFromSource): Pass the output document
46         MIME type.
47         * xml/xmlhttprequest.cpp:
48         (WebCore::XMLHttpRequest::receivedData): Ditto.
49
50 2006-09-01  Adele Peterson  <adele@apple.com>
51
52         Reviewed by John.
53
54         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=10580
55           Password: New secure text field allows non-Roman text entry
56
57         * bridge/mac/FrameMac.mm:
58         (WebCore::FrameMac::setSecureKeyboardEntry): Enable and disable Roman keyboards when switching in and out of this mode.
59         (WebCore::FrameMac::isSecureKeyboardEntry): Changed secureKeyboardEntry to isSecureKeyboardEntry.
60         * bridge/mac/FrameMac.h: ditto.
61         * page/Frame.cpp: (WebCore::Frame::setIsActive): ditto.
62         * page/Frame.h: (WebCore::Frame::isSecureKeyboardEntry): ditto.
63
64 2006-09-01  Adele Peterson  <adele@apple.com>
65
66         Reviewed by John.
67
68         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=10665
69           Password: Disable smartReplace for new password fields
70
71         * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply):
72           Don't smart replace when the selection being replaced is in a password field.
73
74 2006-08-31  Sam Weinig  <sam.weinig@gmail.com>
75
76         Reviewed by Tim H.
77
78         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10669
79           Auto-generate the remaining Objective-C HTML DOM bindings
80           
81           Auto-generates DOMHTMLAnchorElement, DOMHTMLAreaElement,
82           DOMHTMLBaseFontElement, DOMHTMLFontElement, DOMHTMLFrameElement,
83           DOMHTMLFrameSetElement, DOMHTMLHRElement, DOMHTMLIFrameElement,
84           DOMHTMLImageElement, DOMHTMLMapElement, DOMHTMLModElement,
85           DOMHTMLObjectElement, DOMHTMLParamElement, DOMHTMLScriptElement,
86           DOMHTMLTableCaptionElement, DOMHTMLTableCellElement,
87           DOMHTMLTableColElement, DOMHTMLTableElement, DOMHTMLTableRowElement,
88           and DOMHTMLTableSectionElement.  
89
90           Splits DOMHTMLAppletElement and DOMHTMLOptionElement into their own 
91           files.
92
93         * DerivedSources.make:
94         * WebCore.xcodeproj/project.pbxproj:
95         * bindings/objc/DOM.mm:
96         * bindings/objc/DOMExtensions.h:
97         * bindings/objc/DOMHTML.h:
98         * bindings/objc/DOMHTML.mm:
99         (-[DOMHTMLAnchorElement absoluteLinkURL]):
100         (-[DOMHTMLImageElement altDisplayString]):
101         (-[DOMHTMLImageElement absoluteImageURL]):
102         (-[DOMHTMLImageElement WebCore::]):
103         (-[DOMHTMLObjectElement absoluteImageURL]):
104         (-[DOMHTMLObjectElement WebCore::]):
105         (+[DOMHTMLTableCaptionElement _tableCaptionElementWith:]):
106         (-[DOMHTMLTableCaptionElement _tableCaptionElement]):
107         (+[DOMHTMLTableSectionElement _tableSectionElementWith:]):
108         (-[DOMHTMLTableSectionElement _tableSectionElement]):
109         (+[DOMHTMLTableElement _tableElementWith:]):
110         (-[DOMHTMLTableElement _tableElement]):
111         (+[DOMHTMLTableCellElement _tableCellElementWith:]):
112         (-[DOMHTMLTableCellElement _tableCellElement]):
113         * bindings/objc/DOMHTMLAppletElement.h: Added.
114         * bindings/objc/DOMHTMLAppletElement.mm: Added.
115         (-[DOMHTMLAppletElement WebCore::]):
116         (-[DOMHTMLAppletElement align]):
117         (-[DOMHTMLAppletElement setAlign:]):
118         (-[DOMHTMLAppletElement alt]):
119         (-[DOMHTMLAppletElement setAlt:]):
120         (-[DOMHTMLAppletElement archive]):
121         (-[DOMHTMLAppletElement setArchive:]):
122         (-[DOMHTMLAppletElement code]):
123         (-[DOMHTMLAppletElement setCode:]):
124         (-[DOMHTMLAppletElement codeBase]):
125         (-[DOMHTMLAppletElement setCodeBase:]):
126         (-[DOMHTMLAppletElement height]):
127         (-[DOMHTMLAppletElement setHeight:]):
128         (-[DOMHTMLAppletElement hspace]):
129         (-[DOMHTMLAppletElement setHspace:]):
130         (-[DOMHTMLAppletElement name]):
131         (-[DOMHTMLAppletElement setName:]):
132         (-[DOMHTMLAppletElement object]):
133         (-[DOMHTMLAppletElement setObject:]):
134         (-[DOMHTMLAppletElement vspace]):
135         (-[DOMHTMLAppletElement setVspace:]):
136         (-[DOMHTMLAppletElement width]):
137         (-[DOMHTMLAppletElement setWidth:]):
138         * bindings/objc/DOMHTMLInternal.h:
139         * bindings/objc/DOMHTMLOptionElement.h: Added.
140         * bindings/objc/DOMHTMLOptionElement.mm: Added.
141         (-[DOMHTMLOptionElement WebCore::]):
142         (-[DOMHTMLOptionElement form]):
143         (-[DOMHTMLOptionElement defaultSelected]):
144         (-[DOMHTMLOptionElement setDefaultSelected:]):
145         (-[DOMHTMLOptionElement text]):
146         (-[DOMHTMLOptionElement index]):
147         (-[DOMHTMLOptionElement disabled]):
148         (-[DOMHTMLOptionElement setDisabled:]):
149         (-[DOMHTMLOptionElement label]):
150         (-[DOMHTMLOptionElement setLabel:]):
151         (-[DOMHTMLOptionElement selected]):
152         (-[DOMHTMLOptionElement setSelected:]):
153         (-[DOMHTMLOptionElement value]):
154         (-[DOMHTMLOptionElement setValue:]):
155         * bindings/objc/DOMPrivate.h:
156         * bindings/scripts/CodeGeneratorObjC.pm:
157
158 2006-08-31  Alice Liu  <alice.liu@apple.com>
159
160         Reviewed by Darin.
161
162         Fixed <rdar://problem/4463870> Switch to use new text field implementation for <isindex>
163
164         * bindings/objc/DOMHTML.mm:
165         (-[DOMHTMLInputElement _isTextField]):
166         moved isindex from the list of nonTextInputTypes to the list of textInputTypes
167         * css/html4.css:
168         added isindex to certain rules that applied to input fields
169         * html/HTMLInputElement.cpp:
170         (WebCore::HTMLInputElement::canHaveSelection):
171         (WebCore::HTMLInputElement::selectionStart):
172         (WebCore::HTMLInputElement::selectionEnd):
173         (WebCore::HTMLInputElement::setSelectionStart):
174         (WebCore::HTMLInputElement::setSelectionEnd):
175         (WebCore::HTMLInputElement::select):
176         (WebCore::HTMLInputElement::setSelectionRange):
177         (WebCore::HTMLInputElement::createRenderer):
178         for the 8 methods above, moved the case for isindex to the same case as text
179         * html/HTMLInputElement.h:
180         (WebCore::HTMLInputElement::isNonWidgetTextField):
181         added isindex to this test
182         * html/HTMLIsIndexElement.idl:
183         HTMLIsIndexElement inherits from HTMLInputElement
184         * rendering/RenderLineEdit.cpp:
185         (WebCore::RenderLineEdit::RenderLineEdit):
186         removed the case for isindex since we changed the renderer type from a RenderLineEdit
187         to a RenderTextControl in WebCore::HTMLInputElement::createRenderer()
188
189 2006-08-31  David Harrison  <harrison@apple.com>
190
191         Reviewed by Adele.
192
193         <rdar://problem/4708119> REGRESSION: Cannot observe an AXTextField element directly
194
195         ... and most of
196         <rdar://problem/4708022> REGRESSION: TextRange-based attributes are missing from text fields
197         <rdar://problem/4709515> REGRESSION: Expose text areas
198
199         Remaining work for those two bugs in new bugs:
200
201         <rdar://problem/4712101> Support NSAccessibilityVisibleCharacterRangeAttribute for AXTextField and AXTextArea elements
202         <rdar://problem/4712111> Support NSAccessibilityInsertionPointLineNumberAttribute for AXTextArea elements
203         <rdar://problem/4712125> Support setting NSAccessibilitySelectedTextAttribute for AXTextField and AXTextArea elements
204
205         * bridge/AXObjectCache.h:
206         (WebCore::AXObjectCache::postNotificationToElement):
207         * bridge/mac/AXObjectCacheMac.mm:
208         (WebCore::AXObjectCache::postNotification):
209         (WebCore::AXObjectCache::postNotificationToElement):
210         Removed postNotificationToTopWebArea.
211         postNotification now posts to input element or top web area, as appropriate.
212         postNotificationToElement posts to the specified element itself.
213         
214         * bridge/mac/FrameMac.h:
215         * bridge/mac/FrameMac.mm:
216         (WebCore::FrameMac::respondToChangedContents):
217         Take a selection.  Pass the starting position's renderer to postNotification so that postNotification can post to the appropriate input element, if any.
218         
219         * bridge/mac/WebCoreAXObject.h:
220         * bridge/mac/WebCoreAXObject.mm:
221         (-[WebCoreAXObject isWebArea]):
222         (-[WebCoreAXObject isAnchor]):
223         (-[WebCoreAXObject isTextRange]):
224         New convenience methods.
225         
226         (-[WebCoreAXObject role]):
227         (-[WebCoreAXObject roleDescription])        
228         (-[WebCoreAXObject value]):
229         (-[WebCoreAXObject accessibilityDescription]):
230         Support AXTextField and AXTextArea.
231
232         (-[WebCoreAXObject accessibilityShouldUseUniqueId]):
233         Register AXTextField and AXTextArea elements so notifications to them can be observed.
234         
235         (-[WebCoreAXObject accessibilityIsIgnored]):
236         Use new convenience method isWebArea.
237
238         (-[WebCoreAXObject accessibilityAttributeNames]):
239         Simplify the array creation.
240         Add text range support.
241        
242         (-[WebCoreAXObject accessibilityAttributeValue:]):
243         Add text range support.
244        
245         (-[WebCoreAXObject canSetFocusAttribute]):
246         (-[WebCoreAXObject canSetValueAttribute]):
247         (-[WebCoreAXObject canSetTextRangeAttributes]):
248         New convenience methods.
249         
250         (-[WebCoreAXObject accessibilityIsAttributeSettable:]):
251         (-[WebCoreAXObject accessibilitySetValue:forAttribute:]):
252         Add text range support.
253
254         (-[WebCoreAXObject observableObject]):
255         New to locate text field or text area to notify.
256         
257         * dom/Document.cpp:
258         (WebCore::Document::updateSelection):
259         Post AXSelectedTextChanged notification with new selection's start node.
260         postNotification will send it to the input element, if there is one, or the top WebArea.
261         
262         (WebCore::Document::implicitClose):
263         Use postNotificationToElement now that it acts like the old postNotification.
264         
265         * page/Frame.h:
266         * page/Frame.cpp:
267         (WebCore::Frame::appliedEditing):
268         (WebCore::Frame::unappliedEditing):
269         (WebCore::Frame::reappliedEditing):
270         Pass the selection of interest to respondToChangedContents.
271         
272         * page/FrameView.cpp:
273         (WebCore::FrameView::layout):
274         Use postNotificationToElement now that it acts like the old postNotification.
275
276 2006-08-31  Adele Peterson  <adele@apple.com>
277
278         Reviewed by Darin.
279
280         WebCore part of fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=10666
281         Password: Disallow Spelling, Font, Speech, and Writing Direction context menu
282
283         * bridge/mac/WebCoreFrameBridge.h:
284         * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge isSelectionInPasswordField]): Added.
285         * page/Frame.cpp: (WebCore::Frame::isSelectionInPasswordField): Added.
286         * page/Frame.h:
287
288 2006-08-31  Anders Carlsson  <acarlsson@apple.com>
289
290         Reviewed by Tim O, Hyatt.
291
292         * WebCore.xcodeproj/project.pbxproj:
293         Add KURLCFNet.cpp
294         
295         * platform/KURL.h:
296         Get rid of include, add KURL constructor that takes a CFURLRef.
297         
298         * platform/PlatformString.h:
299         * platform/StringImpl.h:
300         Get rid of include.
301         
302         * platform/cf/KURLCFNet.cpp:
303         (WebCore::KURL::KURL):
304         Add constructor.
305         
306         * platform/cf/ResourceLoaderCFNet.cpp:
307         Fix includes.
308         
309         * platform/cf/StringCF.cpp:
310         (WebCore::String::createCFString):
311         Move this here from PlatformString.h
312         
313         * platform/cf/StringImplCF.cpp:
314         (WebCore::StringImpl::createCFString):
315         Fix cast.
316         
317         * platform/mac/KURLMac.mm:
318         Move createCFURL() to KURLCFNet.cpp
319
320 2006-08-31 Dave Hyatt <hyatt@apple.com>
321
322         Make ScrollBar.cpp suitable for compiling on Windows by removing the #import.
323
324         Reviewed by adam
325
326         * platform/ScrollBar.cpp:
327
328 2006-08-31  Brady Eidson  <beidson@apple.com>
329
330         Reviewed by John
331
332         Cleaned up my last patch after further considerations
333
334         * loader/icon/IconDatabase.cpp:
335         (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Uses the new checkForDanglingPageURLs to check
336           for and fix danglers.  Does so in all builds (changed from debug only in my last patch)
337         (WebCore::IconDatabase::syncDatabase): Uses the new checkForDanglingPageURLs to check for danglers
338         (WebCore::IconDatabase::checkForDanglingPageURLs): This checks and, if asked via an arg, prunes the dangling pageURLs
339         * loader/icon/IconDatabase.h:
340
341 2006-08-31  Anders Carlsson  <acarlsson@apple.com>
342
343         Reviewed by Maciej.
344
345         Add CString. CString is a simple, null-terminated byte buffer that supports data
346         sharing. Its main use is to be a better const char*.
347         
348         Also add latin1 and utf8 methods to String which returns CStrings.
349         
350         * platform/CString.cpp: Added.
351         (WebCore::CString::CString):
352         (WebCore::CString::init):
353         (WebCore::CString::data):
354         (WebCore::CString::length):
355         (WebCore::CString::deprecatedCString):
356         * platform/CString.h: Added.
357         (WebCore::CStringBuffer::CStringBuffer):
358         (WebCore::CStringBuffer::data):
359         (WebCore::CStringBuffer::length):
360         (WebCore::CString::CString):
361         (WebCore::CString::operator const char*):
362         (WebCore::CString::isNull):
363         * platform/PlatformString.h:
364         * platform/String.cpp:
365         (WebCore::String::latin1):
366         (WebCore::String::utf8):
367
368 2006-08-31  Brady Eidson  <beidson@apple.com>
369
370         Reviewed by Hyatt
371
372         Previously mentioned ASSERT was hit right away by folks, as we first need to bring their old icon.db into consistency
373         Changed the ASSERT to a LOG_ERROR and added a method for debug builds to bring a DB back together.
374
375         * loader/icon/IconDatabase.cpp:
376         (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Check for the danglers and prune them out
377         (WebCore::IconDatabase::syncDatabase): Check for the danglers and log the error
378         (WebCore::IconDatabase::pruneDanglingPageURLs): Prune the danglers
379         * loader/icon/IconDatabase.h:
380
381 2006-08-31  Brady Eidson  <beidson@apple.com>
382
383         Reviewed by Hyatt
384
385         Fixed an error where an Icon's IconID could change without the change being reflected in the PageURL table,
386         causing icons to be pruned before their time and pages to lose their icons.  This is because I misunderstood
387         how SQLite handles the "ON CONFLICT REPLACE" condition, which is to delete the row and re-insert instead of 
388         perform an update.  Also added an assertion to make sure this doesn't happen again.
389
390         * loader/icon/IconDataCache.cpp:
391         (WebCore::IconDataCache::writeToDatabase): Instead of one INSERT relying on SQLites conflict handling, broke
392           this into an UPDATE attempt followed by the initial INSERT
393         * loader/icon/IconDatabase.cpp:
394         (WebCore::IconDatabase::createDatabaseTables): Slight tweak to the database schema to prevent this from happening
395           in the future.  Note this change will not cause incompatibility with the current schema, therefore I didn't update
396           the official database version number
397         (WebCore::IconDatabase::syncDatabase): Added an ASSERT to look for this condition in the future
398         * loader/icon/SQLDatabase.cpp:
399         (WebCore::SQLDatabase::lastChanges): Added this SQLite accessor to see if an UPDATE command actually changed a row
400         * loader/icon/SQLDatabase.h: Ditto
401
402 2006-08-31  Sam Weinig  <sam.weinig@gmail.com>
403
404         Reviewed by Tim H.
405
406         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10653
407           Auto-generate another 20 Objective-C DOM HTML bindings
408
409           Auto-generates DOMHTMLBRElement, DOMHTMLButtonElement, DOMHTMLDListElement, 
410           DOMHTMLDirectoryElement, DOMHTMLDivElement, DOMHTMLFieldSetElement, 
411           DOMHTMLHeadingElement, DOMHTMLInputElement, DOMHTMLLIElement, DOMHTMLLabelElement,
412           DOMHTMLLegendElement, DOMHTMLMenuElement, DOMHTMLOListElement, DOMHTMLOptGroupElement,
413           DOMHTMLParagraphElement, DOMHTMLPreElement, DOMHTMLQuoteElement, DOMHTMLSelectElement,
414           DOMHTMLTextAreaElement, and DOMHTMLUListElement.
415
416         * DerivedSources.make:
417         * WebCore.xcodeproj/project.pbxproj:
418         * bindings/objc/DOM.mm:
419         * bindings/objc/DOMExtensions.h:
420         * bindings/objc/DOMHTML.h:
421         * bindings/objc/DOMHTML.mm:
422         (-[DOMHTMLInputElement altDisplayString]):
423         (-[DOMHTMLInputElement absoluteImageURL]):
424         (-[DOMHTMLInputElement WebCore::]):
425         (-[DOMHTMLInputElement _rectOnScreen]):
426         (-[DOMHTMLInputElement _replaceCharactersInRange:withString:selectingFromIndex:]):
427         (-[DOMHTMLInputElement _selectedRange]):
428         (-[DOMHTMLInputElement _setAutofilled:]):
429         * bindings/objc/DOMHTMLInternal.h:
430         * bindings/objc/DOMPrivate.h:
431         * bindings/scripts/CodeGeneratorObjC.pm:
432
433 2006-08-31  Adele Peterson  <adele@apple.com>
434
435         Reviewed by John Sullivan.
436
437         Removing use of SPI in favor of Carbon API to enable and disable secure event input.
438
439         * WebCore.exp: Removed wkSecureEventInput and wkSetSecureEventInput.
440         * platform/mac/WebCoreSystemInterface.h: ditto.
441         * platform/mac/WebCoreSystemInterface.mm: ditto.
442
443         * bridge/mac/FrameMac.mm:
444         (WebCore::FrameMac::setSecureKeyboardEntry): Uses EnableSecureEventInput and DisableSecureEventInput.
445         (WebCore::FrameMac::secureKeyboardEntry): Uses IsSecureEventInputEnabled.
446
447 2006-08-30  Brady Eidson  <beidson@apple.com>
448
449         Reviewed by "common sense" (and Maciej)
450
451         Fixed two logging typos
452
453         * loader/icon/IconDatabase.cpp:
454         (WebCore::IconDatabase::syncDatabase):
455
456 2006-08-30  Adele Peterson  <adele@apple.com>
457
458         Adding missing nil check for focus node.
459
460         * page/Frame.cpp: (WebCore::Frame::setIsActive):
461
462 2006-08-30  Adele Peterson  <adele@apple.com>
463
464         Reviewed by Hyatt.
465
466         WebCore part of fix for  http://bugzilla.opendarwin.org/show_bug.cgi?id=10575
467         Enable secure input mode for new password fields
468
469         * WebCore.exp: Added wkSetSecureEventInput and wkSecureEventInput.
470         * platform/mac/WebCoreSystemInterface.h: ditto.
471         * platform/mac/WebCoreSystemInterface.mm: ditto.
472
473         * page/Frame.cpp: (WebCore::Frame::setIsActive): Enables and disables secure keyboard entry based on whether the frame becomes active.
474         * bridge/mac/FrameMac.h:
475         * bridge/mac/FrameMac.mm:
476         (WebCore::FrameMac::setSecureKeyboardEntry): Added. Calls wkSetSecureEventInput.
477         (WebCore::FrameMac::secureKeyboardEntry): Added. Calls wkSecureEventInput.
478         * html/HTMLInputElement.cpp:
479         (WebCore::HTMLInputElement::dispatchFocusEvent): For password fields, enable secure keyboard entry.
480         (WebCore::HTMLInputElement::dispatchBlurEvent): For password fields, disable secure keyboard entry.
481         * page/Frame.h:
482         (WebCore::Frame::setSecureKeyboardEntry):
483         (WebCore::Frame::secureKeyboardEntry):
484
485 2006-08-30  Darin Adler  <darin@apple.com>
486
487         Reviewed by Tim Hatcher.
488
489         - eliminated the need for UsesPassRefPtr in IDL files
490         - got rid of the category mechanism for ObjC generated DOM headers
491           (after discussions with Tim H where we decided it's not needed)
492         - simplified use of macro inside ObjC generated code
493
494         * ForwardingHeaders/wtf/GetPtr.h: Added.
495
496         * bindings/scripts/CodeGeneratorObjC.pm: Removed code to handle
497         categories. Eliminated use of DOM_cast since that's for the protection
498         of human programmers -- the script won't make mistakes that it needs
499         to catch. Changed macro to always be named IMPL instead of incorporating
500         the class name. Use WTF::getPtr to extract the pointer, and removed the
501         code that uses .get() to extract the pointer in the PassRefPtr case.
502
503         * dom/Attr.idl: Removed all uses of UsesPassRefPtr and ObjCCatagory.
504         * dom/DOMImplementation.idl: Ditto.
505         * dom/Document.idl: Ditto.
506         * dom/Element.idl: Ditto.
507         * dom/NamedNodeMap.idl: Ditto.
508         * html/HTMLDocument.idl: Ditto.
509         * html/HTMLElement.idl: Ditto.
510         * html/HTMLFormElement.idl: Ditto.
511         * html/HTMLMapElement.idl: Ditto.
512         * html/HTMLSelectElement.idl: Ditto.
513         * html/HTMLTableElement.idl: Ditto.
514         * html/HTMLTableRowElement.idl: Ditto.
515         * html/HTMLTableSectionElement.idl: Ditto.
516
517 2006-08-30  Brady Eidson  <beidson@apple.com>
518
519         Reviewed by John
520
521         <rdar://problem/4707718> - Instead of faking the user out with an in-memory icon database if their 
522         ~/Library/Safari/Icons is unwritable, we'll actually fail to open the icon database and the app will
523         run as if it was disabled via a preference.
524         Also took the opportunity to change some ASSERTS() to reasonable behavior
525
526         * bridge/mac/WebCoreIconDatabaseBridge.mm:
527         (-[WebCoreIconDatabaseBridge openSharedDatabaseWithPath:]): NSLog on failure so the user has a chance to figure 
528           out there's a problem.
529         (-[WebCoreIconDatabaseBridge closeSharedDatabase]):
530         (-[WebCoreIconDatabaseBridge iconForPageURL:withSize:]): From here on, just replaced ASSERTS() with reasonable behavior
531         (-[WebCoreIconDatabaseBridge iconURLForPageURL:]):
532         (-[WebCoreIconDatabaseBridge defaultIconWithSize:]):
533         (-[WebCoreIconDatabaseBridge retainIconForURL:]):
534         (-[WebCoreIconDatabaseBridge releaseIconForURL:]):
535         (-[WebCoreIconDatabaseBridge _setIconData:forIconURL:]):
536         (-[WebCoreIconDatabaseBridge _setHaveNoIconForIconURL:]):
537         (-[WebCoreIconDatabaseBridge _setIconURL:forPageURL:]):
538         (-[WebCoreIconDatabaseBridge _hasEntryForIconURL:]):
539         * loader/icon/IconDatabase.cpp:
540         (WebCore::IconDatabase::open): If we fail to open, return false 
541         (WebCore::IconDatabase::~IconDatabase): cleanup better
542         * loader/icon/IconDatabase.h:
543
544 2006-08-30  David Harrison  <harrison@apple.com>
545
546         Reviewed by John Sullivan.
547
548         <rdar://problem/4708007> REGRESSION: text field inside a webpage no longer has settable AXValueAttribute
549         <rdar://problem/4707479> REGRESSION: controls inside a webpage no longer have settable AXFocusedAttribute
550
551         * bridge/mac/WebCoreAXObject.mm:
552         (-[WebCoreAXObject canSetFocusAttribute]):
553         (-[WebCoreAXObject canSetValueAttribute]):
554         New utility methods.  Text fields and buttons are focusable.
555         Text fields can have their value set. We need not make
556         popupbutton value settable because AppKit does not.
557         
558         (-[WebCoreAXObject accessibilityIsAttributeSettable:]):
559         Call new utility methods.
560         
561         (-[WebCoreAXObject accessibilitySetValue:forAttribute:]):
562         Set focus for text field or button.
563         Set value for text field.
564         
565 2006-08-30  David Hyatt  <hyatt@apple.com>
566
567         Fix for bugs 9000 and 10606.  Add code to suppress painting when
568         a FOUC situation would otherwise occur.  There will still typically be
569         a flash to white, but at least the wrong content won't show.
570
571         Reviewed by darin
572
573         * dom/Document.cpp:
574         (WebCore::Document::Document):
575         (WebCore::Document::updateLayoutIgnorePendingStylesheets):
576         (WebCore::Document::preferredStylesheetSet):
577         (WebCore::Document::selectedStylesheetSet):
578         (WebCore::Document::setSelectedStylesheetSet):
579         (WebCore::Document::stylesheetLoaded):
580         (WebCore::Document::updateStyleSelector):
581         * dom/Document.h:
582         (WebCore::Document::haveStylesheetsLoaded):
583         * rendering/RenderBlock.cpp:
584         (WebCore::RenderBlock::paintChildren):
585         * rendering/RenderLayer.cpp:
586         (WebCore::RenderLayer::paintLayer):
587         (WebCore::isSubframe):
588         (WebCore::RenderLayer::hitTest):
589         * rendering/RenderView.cpp:
590         (WebCore::RenderView::repaintViewRectangle):
591
592 2006-08-31  Nikolas Zimmermann  <zimmermann@kde.org>
593  
594          Reviewed by Eric. Landed by rwlbuis.
595  
596          Apply Rob's fixes in RenderPathQt too -> unbreak build.
597  
598          * kcanvas/RenderPath.h: Some style cleanups.
599          * kcanvas/device/qt/RenderPathQt.cpp:
600          (WebCore::RenderPathQt::strokeContains):
601          * kcanvas/device/qt/RenderPathQt.h:
602
603 2006-08-30  Sam Weinig  <sam.weinig@gmail.com>
604         Reviewed by Tim H.
605
606         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10640
607           Auto-generate 10 more Objective-C DOM HTML bindings
608
609           Auto-generates DOMHTMLBaseElement, DOMHTMLBodyElement, DOMHTMLHeadElement,
610           DOMHTMLHtmlElement, DOMHTMLIsIndexElement, DOMHTMLLinkElement,
611           DOMHTMLMetaElement, DOMHTMLStyleElement and DOMHTMLTitleElement.
612
613           Splits DOMHTMLDocument into it's own files.
614
615         * DerivedSources.make:
616         * WebCore.xcodeproj/project.pbxproj:
617         * bindings/objc/DOM.mm:
618         * bindings/objc/DOMExtensions.h:
619         * bindings/objc/DOMHTML.h:
620         * bindings/objc/DOMHTML.mm:
621         * bindings/objc/DOMHTMLDocument.h: Added.
622         * bindings/objc/DOMHTMLDocument.mm: Added.
623         (-[DOMHTMLDocument WebCore::]):
624         (-[DOMHTMLDocument title]):
625         (-[DOMHTMLDocument setTitle:]):
626         (-[DOMHTMLDocument referrer]):
627         (-[DOMHTMLDocument domain]):
628         (-[DOMHTMLDocument URL]):
629         (-[DOMHTMLDocument body]):
630         (-[DOMHTMLDocument setBody:]):
631         (-[DOMHTMLDocument images]):
632         (-[DOMHTMLDocument applets]):
633         (-[DOMHTMLDocument links]):
634         (-[DOMHTMLDocument forms]):
635         (-[DOMHTMLDocument anchors]):
636         (-[DOMHTMLDocument cookie]):
637         (-[DOMHTMLDocument setCookie:]):
638         (-[DOMHTMLDocument open]):
639         (-[DOMHTMLDocument close]):
640         (-[DOMHTMLDocument write:]):
641         (-[DOMHTMLDocument writeln:]):
642         (-[DOMHTMLDocument getElementById:]):
643         (-[DOMHTMLDocument getElementsByName:]):
644         (-[DOMHTMLDocument createDocumentFragmentWithMarkupString:baseURL:]):
645         (-[DOMHTMLDocument createDocumentFragmentWithText:]):
646         * bindings/objc/DOMHTMLInternal.h:
647         * bindings/scripts/CodeGeneratorObjC.pm:
648         * html/HTMLDocument.idl:
649
650 2006-08-30  Nikolas Zimmermann  <zimmermann@kde.org>
651
652         Reviewed by eseidel.
653
654         Use QColor <-> Color conversion operator, instead of faking it.
655
656         * platform/qt/FontQt.cpp:
657         (WebCore::Font::drawGlyphs):
658         * platform/qt/GraphicsContextQt.cpp:
659         (WebCore::GraphicsContext::fillRect):
660
661 2006-08-30  Rob Buis  <buis@kde.org>
662
663         Reviewed by Eric.
664
665         http://bugzilla.opendarwin.org/show_bug.cgi?id=10586
666         pointer-events has issues when things are not stroked/filled
667
668         Add a param to fillContains/strokeContains to indicate
669         whether we still want hit testing when there is no fill/stroke.
670
671         * kcanvas/RenderPath.cpp:
672         (WebCore::RenderPath::fillContains):
673         (WebCore::RenderPath::nodeAtPoint):
674         * kcanvas/RenderPath.h:
675         * kcanvas/device/quartz/KCanvasItemQuartz.h:
676         * kcanvas/device/quartz/KCanvasItemQuartz.mm:
677         (WebCore::KCanvasItemQuartz::strokeContains):
678
679 2006-08-29  Justin Garcia  <justin.garcia@apple.com>
680
681         Reviewed by harrison
682         
683         <rdar://problem/4700297>
684         REGRESSION: After replacing a misspelled word in a sentence, the selection extends to end of current line
685
686         * editing/ReplaceSelectionCommand.cpp:
687         (WebCore::ReplaceSelectionCommand::doApply): Rebalance whitespace
688         around insertionPos before insertion because the content might 
689         cause a collapse, e.g. inserting <div>foo</div> at hello^ world.
690         * editing/htmlediting.cpp:
691         (WebCore::rebalanceWhitespaceInTextNode): Rebalance with all nbsps
692         for simplicity, we can produce sequences of regular spaces and
693         nbsps on serialization (10636).
694
695 2006-08-30  Nikolas Zimmermann  <zimmermann@kde.org>
696
697         Reviewed by eseidel.
698
699         The old solution was slow & does not work correctly.
700         Move the QString -> DeprecatedString conversion into
701         DeprectedString.cpp, to be able to access allocateHandle().
702
703         * platform/DeprecatedString.cpp:
704         (WebCore::DeprecatedString::DeprecatedString):
705         * platform/qt/StringQt.cpp:
706
707 2006-08-30  Nikolas Zimmermann  <zimmermann@kde.org>
708
709         Reviewed/landed by Adam.
710
711         Implement containsCharacters() / determinePitch() functions.
712
713         * platform/qt/FontDataQt.cpp:
714         (WebCore::FontData::containsCharacters):
715         (WebCore::FontData::determinePitch):
716
717 2006-08-30  Brady Eidson  <beidson@apple.com>
718
719         Reviewed by Darin's rubberstamp
720
721         We apparently have a fancy delateAllValues() helper for HashMap/Sets - I'll use that instead
722
723         * WebCore.xcodeproj/project.pbxproj:
724         * loader/icon/IconDatabase.cpp:
725         (WebCore::IconDatabase::removeAllIcons):
726
727 2006-08-29  waylonis  <waylonis@google.com>
728
729         Reviewed, tweaked by ggaren.
730         
731         - Changed to use ExecState on current context rather than global.
732           Part of the fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=10114
733         * bindings/objc/WebScriptObject.mm:
734         (+[WebScriptObject throwException:]):
735         (-[WebScriptObject setException:]):
736
737 2006-08-30  Adele Peterson  <adele@apple.com>
738
739         Reviewed by Darin.
740
741         - WebCore part of fix for:
742         http://bugzilla.opendarwin.org/show_bug.cgi?id=10576
743         Disallow copy from new password fields
744
745         * page/Frame.cpp: (WebCore::Frame::mayCopy): Added. Checks to see if the selection is within a password field.
746         * page/Frame.h: Added mayCopy.
747
748         * bridge/mac/FrameMac.h:
749         * bridge/mac/FrameMac.mm:
750         (WebCore::FrameMac::handleMouseMoveEvent): Checks mayCopy before starting a drag.
751         (WebCore::FrameMac::mayDHTMLCut): Renamed to match the bridge method.  This also checks mayCopy now.
752         (WebCore::FrameMac::mayDHTMLCopy): ditto.
753         (WebCore::FrameMac::tryDHTMLCut): ditto.
754         (WebCore::FrameMac::tryDHTMLCopy): ditto.
755         (WebCore::FrameMac::mayDHTMLPaste): Renamed to match the bridge function.
756         (WebCore::FrameMac::tryDHTMLPaste): ditto.
757         * bridge/mac/WebCoreFrameBridge.h:
758         * bridge/mac/WebCoreFrameBridge.mm:
759         (-[WebCoreFrameBridge mayCopy]): Calls the renamed method on frame.
760         (-[WebCoreFrameBridge mayDHTMLCut]): ditto.
761         (-[WebCoreFrameBridge mayDHTMLCopy]): ditto.
762         (-[WebCoreFrameBridge mayDHTMLPaste]): ditto.
763         (-[WebCoreFrameBridge tryDHTMLCut]): ditto.
764         (-[WebCoreFrameBridge tryDHTMLCopy]): ditto.
765         (-[WebCoreFrameBridge tryDHTMLPaste]): ditto.
766
767         * css/html4.css: Added !important to the -webkit-text-security property for password fields.
768
769 2006-08-30  Nikolas Zimmermann  <zimmermann@kde.org>
770
771         Reviewed by Tim H.
772
773         Commit KDE related tweaks, to be able to
774         differentiate between a Qt-only or a KDE build.
775
776         * CMakeLists.txt: Move global variables up to trunk/CMakeLists.txt.
777                           Also rename USE_WEBKIT_SVG_SUPPORT to WEBKIT_USE_SVG_SUPPORT.
778
779 2006-08-30  Timothy Hatcher  <timothy@apple.com>
780
781         Rubber-stamped by Brady.
782
783         Fix for the generated headers to make the build work
784         during "installhdrs" builds. Also export DOM headers
785         using the #import <WebCore/DOM*.h> syntax.
786
787         * WebCore.xcodeproj/project.pbxproj:
788         * bindings/scripts/CodeGeneratorObjC.pm:
789
790 2006-08-29  Brady Eidson  <beidson@apple.com>
791
792         Reviewed by Kevin Decker (Sarge)
793
794         <rdar://problem/4678414> - New IconDB needs to delete icons when asked
795         <rdar://problem/4707718> - If user's Icon directory is unwritable, Safari will crash at startup
796
797         * bridge/mac/WebCoreIconDatabaseBridge.h:
798         * bridge/mac/WebCoreIconDatabaseBridge.mm:
799         (-[WebCoreIconDatabaseBridge removeAllIcons]):  Added
800         * loader/icon/IconDatabase.cpp:
801         (WebCore::IconDatabase::open): If DB file is not writeable, create an in-memory DB for this session
802         (WebCore::IconDatabase::close): Use new deleteAllPreparedStatements()
803         (WebCore::IconDatabase::removeAllIcons): Actually implemented
804         (WebCore::IconDatabase::deleteAllPreparedStatements): Added for convinience/consistency
805         (WebCore::IconDatabase::setPrivateBrowsingEnabled): Use new SQLDatabase::clearAllTables()
806         * loader/icon/IconDatabase.h:
807         * loader/icon/SQLDatabase.cpp:
808         (WebCore::SQLDatabase::clearAllTables): Moved this from IconDatabase as it actually belongs here
809         (WebCore::SQLDatabase::vacuum): Added
810         * loader/icon/SQLDatabase.h:
811         (WebCore::SQLDatabase::path): changed name from getPath()
812
813 2006-08-29  Brady Eidson  <beidson@apple.com>
814
815         Reviewed by Alice
816
817         Added a truth value to setIconURLForPageURL so WebKit can avoid sending a notification
818         This is a win on the iBench
819
820         * bridge/mac/WebCoreIconDatabaseBridge.h:
821         * bridge/mac/WebCoreIconDatabaseBridge.mm:
822         (-[WebCoreIconDatabaseBridge _setIconURL:forPageURL:]):
823         * loader/icon/IconDatabase.cpp:
824         (WebCore::IconDatabase::setIconURLForPageURL):
825         * loader/icon/IconDatabase.h:
826
827 2006-08-29  Alice Liu  <alice.liu@apple.com>
828
829         Reviewed by Brady.
830
831         Fixed <rdar://problem/4702021> REGRESSION: WebClip and Weather widgets shift downward vertically on screen after I drag them out from dashboard configure bar
832
833         * platform/mac/ScreenMac.mm:
834         (WebCore::flipScreenRect):
835         reverted the one line in this method back to what it was before r15765.  This changed caused window.screenY to be incorrect.  
836
837 2006-08-29  Darin Adler  <darin@apple.com>
838
839         Reviewed by Hyatt.
840
841         - fix <rdar://problem/4701494> REGRESSION: Scrollbar on EPSN widget doesn't scroll (also affects Widgets widget, web inspector)
842
843         The bug was that we would return "none" for computed style properties when they were
844         exactly "-1px".
845
846         Test: fast/css/computed-style-negative-top.html
847
848         * css/CSSComputedStyleDeclaration.cpp:
849         (WebCore::valueForLength): Moved special case for "undefined length" out of here.
850         (WebCore::valueForMaxLength): Moved it into here.
851         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Use valueForMaxLength
852         only for max-height and max-width.
853
854 2006-08-29  Nikolas Zimmermann  <zimmermann@kde.org>
855
856         Reviewed by eseidel.
857
858         Add path-related SVG JavaScript bindings to generation.
859
860         * CMakeLists.txt:
861
862 2006-08-29  Eric Seidel  <eric@eseidel.com>
863
864         Reviewed by kevin.
865
866         Re-enable path-related SVG JavaScript bindings.
867         http://bugzilla.opendarwin.org/show_bug.cgi?id=10623
868         Split all SVGPathSeg*.idl files into Abs and Rel pieces.
869         Move all SVGPath*.idl files into ksvg2/svg
870
871         * DerivedSources.make:
872         * WebCore.xcodeproj/project.pbxproj:
873         * bindings/scripts/CodeGeneratorJS.pm: Special case Abs and Rel header includes
874         * ksvg2/bindings/idl/svg/SVGAnimatedNumber.idl: Removed.
875         * ksvg2/bindings/idl/svg/SVGPathElement.idl: Removed.
876         * ksvg2/bindings/idl/svg/SVGPathSeg.idl: Removed.
877         * ksvg2/bindings/idl/svg/SVGPathSegArc.idl: Removed.
878         * ksvg2/bindings/idl/svg/SVGPathSegClosePath.idl: Removed.
879         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubic.idl: Removed.
880         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubicSmooth.idl: Removed.
881         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadratic.idl: Removed.
882         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadraticSmooth.idl: Removed.
883         * ksvg2/bindings/idl/svg/SVGPathSegLineto.idl: Removed.
884         * ksvg2/bindings/idl/svg/SVGPathSegLinetoHorizontal.idl: Removed.
885         * ksvg2/bindings/idl/svg/SVGPathSegLinetoVertical.idl: Removed.
886         * ksvg2/bindings/idl/svg/SVGPathSegList.idl: Removed.
887         * ksvg2/bindings/idl/svg/SVGPathSegMoveto.idl: Removed.
888         * ksvg2/ksvg.h: move SVGPathSegment enum
889         * ksvg2/svg/SVGPathElement.cpp: move SVGPathSegment enum
890         (WebCore::SVGPathElement::toPathData):
891         * ksvg2/svg/SVGPathSeg.cpp:
892         (WebCore::SVGPathSeg::SVGPathSeg):
893         * ksvg2/svg/SVGPathSeg.h:
894         (WebCore::SVGPathSeg::):
895         * ksvg2/svg/SVGPathSegArcAbs.idl: Added.
896         * ksvg2/svg/SVGPathSegArcRel.idl: Added.
897         * ksvg2/svg/SVGPathSegCurvetoCubicAbs.idl: Added.
898         * ksvg2/svg/SVGPathSegCurvetoCubicRel.idl: Added.
899         * ksvg2/svg/SVGPathSegCurvetoCubicSmoothAbs.idl: Added.
900         * ksvg2/svg/SVGPathSegCurvetoCubicSmoothRel.idl: Added.
901         * ksvg2/svg/SVGPathSegCurvetoQuadraticAbs.idl: Added.
902         * ksvg2/svg/SVGPathSegCurvetoQuadraticRel.idl: Added.
903         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: Added.
904         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: Added.
905         * ksvg2/svg/SVGPathSegLinetoAbs.idl: Added.
906         * ksvg2/svg/SVGPathSegLinetoHorizontalAbs.idl: Added.
907         * ksvg2/svg/SVGPathSegLinetoHorizontalRel.idl: Added.
908         * ksvg2/svg/SVGPathSegLinetoRel.idl: Added.
909         * ksvg2/svg/SVGPathSegLinetoVerticalAbs.idl: Added.
910         * ksvg2/svg/SVGPathSegLinetoVerticalRel.idl: Added.
911         * ksvg2/svg/SVGPathSegMovetoAbs.idl: Added.
912         * ksvg2/svg/SVGPathSegMovetoRel.idl: Added.
913
914 2006-08-28  Nikolas Zimmermann  <zimmermann@kde.org>
915
916         Reviewed by Eric, landed by Anders.
917
918         Fixes one chunk of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10604
919
920         Finish Unity merging. Remove libcurl usage, in favour of KIO.
921         This makes the regression testing fly! IO processing is way faster now.
922
923         * CMakeLists.txt:
924         * platform/ResourceLoaderInternal.h:
925         (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
926         * platform/qt/FrameQt.cpp:
927         (WebCore::FrameQt::openURL):
928         (WebCore::FrameQt::submitForm):
929         (WebCore::FrameQt::urlSelected):
930         (WebCore::FrameQt::createEmptyDocument):
931         (WebCore::FrameQt::receivedData):
932         (WebCore::FrameQt::receivedAllData):
933         * platform/qt/FrameQt.h:
934         * platform/qt/ResourceLoaderCurl.cpp: Removed.
935         * platform/qt/ResourceLoaderManager.cpp:
936         (WebCore::ResourceLoaderManager::ResourceLoaderManager):
937         (WebCore::ResourceLoaderManager::~ResourceLoaderManager):
938         (WebCore::ResourceLoaderManager::self):
939         (WebCore::ResourceLoaderManager::slotData):
940         (WebCore::ResourceLoaderManager::slotMimetype):
941         (WebCore::ResourceLoaderManager::slotResult):
942         (WebCore::ResourceLoaderManager::remove):
943         (WebCore::ResourceLoaderManager::add):
944         * platform/qt/ResourceLoaderManager.h:
945         * platform/qt/ResourceLoaderQt.cpp: Added.
946         (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
947         (WebCore::ResourceLoader::~ResourceLoader):
948         (WebCore::ResourceLoader::start):
949         (WebCore::ResourceLoader::cancel):
950         (WebCore::ResourceLoader::assembleResponseHeaders):
951         (WebCore::ResourceLoader::retrieveCharset):
952         (WebCore::ResourceLoader::receivedResponse):
953
954 2006-08-29  Timothy Hatcher  <timothy@apple.com>
955
956         Reviewed by Eric.
957
958         Bug 10632: Objective-C DOM should use the @property syntax for DOM attributes
959         http://bugzilla.opendarwin.org/show_bug.cgi?id=10632
960
961         Generate @property when MACOSX_DEPLOYMENT_TARGET is >= 10.5.
962         This is backwards compatible with the getter/setter methods.
963         Generate setter arguments with a "new" prefix to avoid the property
964         name conflict warning. Also removes some whitespace and the comments
965         that we added to the headers. This makes the headers look like what we ship now.
966
967         * bindings/objc/DOMCSS.mm:
968         (-[DOMDocument getComputedStyle::]): renamed a local variable to avoid the property name conflict.
969         (-[DOMDocument getMatchedCSSRules::]): ditto.
970         * bindings/scripts/CodeGeneratorObjC.pm: generate @property in the headers.
971
972 2006-08-30  Nikolas Zimmermann  <zimmermann@kde.org>
973
974         Reviewed and landed by Anders.
975
976         Fix time calculation, by using a correct calculation. Calling time()
977         returns a number of seconds, aka. an integer. Fix it by using gettimeofday().
978         Patch originally proposed by Ronan Meneu <rmeneu@origyn.fr>
979
980         * platform/qt/SystemTimeQt.cpp:
981         (WebCore::currentTime):
982
983 2006-08-29  Sam Weinig  <sam.weinig@gmail.com>
984
985         Reviewed by Tim H.
986
987         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10628
988           Auto-generate the remaining Objective-C DOM bindings
989
990           Auto-generates DOMHTMLCollection, DOMHTMLElement, DOMHTMLFormElement,
991           and DOMHTMLOptionsCollection, and lays groundwork for the rest of the 
992           HTML DOM bindings by adding/fixing the appropriate IDL's and updating
993           the CodeGeneratorObjC.pm build script.
994
995         * DerivedSources.make:
996         * WebCore.xcodeproj/project.pbxproj:
997         * bindings/objc/DOM.mm:
998         * bindings/objc/DOMExtensions.h:
999         * bindings/objc/DOMHTML.h:
1000         * bindings/objc/DOMHTML.mm:
1001         * bindings/objc/DOMHTMLInternal.h:
1002         * bindings/scripts/CodeGeneratorObjC.pm:
1003         * html/HTMLAnchorElement.idl:
1004         * html/HTMLAreaElement.idl:
1005         * html/HTMLBaseFontElement.idl:
1006         * html/HTMLBodyElement.idl:
1007         * html/HTMLButtonElement.idl:
1008         * html/HTMLCollection.idl: Added.
1009         * html/HTMLDocument.idl:
1010         * html/HTMLElement.idl:
1011         * html/HTMLFormElement.idl:
1012         * html/HTMLFrameElement.idl: Added.
1013         * html/HTMLFrameSetElement.idl: Added.
1014         * html/HTMLIFrameElement.idl: Added.
1015         * html/HTMLImageElement.idl:
1016         * html/HTMLInputElement.idl:
1017         * html/HTMLLabelElement.idl:
1018         * html/HTMLLegendElement.idl:
1019         * html/HTMLLinkElement.idl:
1020         * html/HTMLMapElement.idl:
1021         * html/HTMLObjectElement.idl: Added.
1022         * html/HTMLOptionsCollection.idl:
1023         * html/HTMLPreElement.idl:
1024         * html/HTMLSelectElement.idl: Added.
1025         * html/HTMLStyleElement.idl:
1026         * html/HTMLTableCaptionElement.idl: Added.
1027         * html/HTMLTableCellElement.idl: Added.
1028         * html/HTMLTableColElement.idl: Added.
1029         * html/HTMLTableElement.idl: Added.
1030         * html/HTMLTableRowElement.idl: Added.
1031         * html/HTMLTableSectionElement.idl: Added.
1032         * html/HTMLTextAreaElement.idl:
1033
1034 2006-08-29  Nikolas Zimmermann  <zimmermann@kde.org>
1035
1036         Reviewed and landed by ap.
1037
1038         Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10629.
1039         Drawing convex polygons is broken in the Qt platform.
1040
1041         * platform/qt/GraphicsContextQt.cpp:
1042         (WebCore::GraphicsContext::drawConvexPolygon):
1043
1044 2006-08-29  Nikolas Zimmermann  <zimmermann@kde.org>
1045
1046         Reviewed by Eric.
1047
1048         Implementing font hashing properly, fixes weird crashes in HashMap.
1049
1050         * platform/qt/FontPlatformData.h:
1051         * platform/qt/FontPlatformDataQt.cpp:
1052         (WebCore::FontPlatformData::FontPlatformData):
1053         (WebCore::FontPlatformData::hash):
1054
1055 2006-08-29  Nikolas Zimmermann  <zimmermann@kde.org>
1056
1057         Reviewed by ggaren.
1058
1059         Fix scrollbars to reappear after the first layouting.
1060
1061         * platform/qt/ScrollViewQt.cpp:
1062         (WebCore::ScrollView::suppressScrollBars):
1063
1064 2006-08-29  Anders Carlsson  <acarlsson@apple.com>
1065
1066         Reviewed by Darin and Geoff.
1067
1068         Move the CF String functions to separate files in platform/cf.
1069         Also, move the files in platform/cfnet to platform/cf.
1070
1071         * WebCore.xcodeproj/project.pbxproj:
1072         * platform/PlatformString.h:
1073         * platform/StringImpl.h:
1074         * platform/cf/StringCF.cpp: Added.
1075         (WebCore::String::String):
1076         * platform/cf/StringImplCF.cpp: Added.
1077         (WebCore::StringImpl::createCFString):
1078         * platform/cfnet/KURLCFNet.cpp: Removed.
1079         * platform/cfnet/ResourceLoaderCFNet.cpp: Removed.
1080         * platform/mac/StringImplMac.mm:
1081         * platform/mac/StringMac.mm:
1082
1083 2006-08-29  Geoffrey Garen  <ggaren@apple.com>
1084
1085         Rolling out a change I included by accident in my last commit.
1086         
1087         * bridge/mac/FrameMac.mm:
1088         (WebCore::FrameMac::passMouseDownEventToWidget):
1089         * platform/mac/SharedTimerMac.cpp:
1090         (WebCore::setSharedTimerFireTime):
1091
1092 2006-08-28  Geoffrey Garen  <ggaren@apple.com>
1093
1094         Reviewed by Maciej.
1095         
1096         Added support for experimental CFNetwork-based loader (not turned on yet).
1097         
1098         While I was there, I did the following platform cleanup:
1099         - Windows now uses USE(WININET) instead of PLATFORM(WIN_OS), to match the
1100           USE(CFNETWORK) idiom.
1101         - Removed some #includes of windows.h in platform-independent headers.
1102         - Changed #ifdef __APPLE__ to PLATFORM(MAC)
1103         - Fixed some build bustage, including case-sensitive filesystem bustage.
1104
1105         * loader/loader.cpp:
1106         (WebCore::Loader::receivedAllData):
1107         * platform/Cursor.h:
1108         * platform/KURL.h:
1109         * platform/ResourceLoader.h:
1110         * platform/ResourceLoaderClient.h:
1111         * platform/ResourceLoaderInternal.h:
1112         (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
1113         * platform/cfnet/KURLCFNet.cpp: Added.
1114         (WebCore::KURL::createCFURL):
1115         * platform/cfnet/ResourceLoaderCFNet.cpp: Added.
1116         (WebCore::willSendRequest):
1117         (WebCore::didReceiveChallenge):
1118         (WebCore::didCancelChallenge):
1119         (WebCore::didReceiveResponse):
1120         (WebCore::didReceiveData):
1121         (WebCore::didFinishLoading):
1122         (WebCore::didFail):
1123         (WebCore::willCacheResponse):
1124         (WebCore::addHeadersFromString):
1125         (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
1126         (WebCore::ResourceLoader::~ResourceLoader):
1127         (WebCore::arrayFromFormData):
1128         (WebCore::emptyPerform):
1129         (WebCore::runLoaderThread):
1130         (WebCore::ResourceLoader::start):
1131         (WebCore::ResourceLoader::cancel):
1132         * platform/win/CursorWin.cpp:
1133
1134 2006-08-28  Justin Garcia  <justin.garcia@apple.com>
1135
1136         Reviewed by harrison
1137         
1138         <rdar://problem/4700341>
1139         REGRESSION: In new mail message, caret isn't placed at end of line after redoing typing
1140
1141         * editing/ReplaceSelectionCommand.cpp:
1142         (WebCore::ReplaceSelectionCommand::doApply): Added a FIXME.
1143         * page/Frame.cpp:
1144         (WebCore::Frame::reappliedEditing): Restore the endingSelection(), not the startingSelection().
1145
1146 2006-08-28  Tim Omernick  <timo@apple.com>
1147
1148         Reviewed by John Sullivan.
1149
1150         Part of <rdar://problem/4481553> NetscapeMoviePlugIn example code scripting doesn't work in Firefox (4319)
1151         <http://bugzilla.opendarwin.org/show_bug.cgi?id=4319>: NetscapeMoviePlugIn example code scripting doesn't work
1152         in Firefox
1153
1154         No test cases added, since this is essentially a leak fix.
1155
1156         A brief history of NPP_GetValue(), NPObjects, and reference counting.
1157
1158         Earlier versions of WebKit incorrectly interpreted the NPRuntime reference counting rules.  We failed to take
1159         into account the fact that plug-ins are required to retain NPObjects before returning them.  This creates several
1160         classes of interesting plug-ins:
1161
1162         1) Plug-ins tested in WebKit and other browsers.  These plug-ins may have WebKit-specific workarounds to not retain
1163            the returned NPObject, thus avoiding the memory leak in WebKit.
1164
1165         2) Plug-ins tested only in other browsers.  These plug-ins must already retain their NPObjects, since other browsers
1166            implemented the NPRuntime retain/release rules correctly.  These plug-ins likely work in WebKit, but probably leak
1167            NPObjects since WebKit adds its own retain in addition to the plug-in's retain.
1168
1169         3) Plug-ins tested only in WebKit, that fail to retain their NPObjects before returning them.
1170            Such plug-ins are guaranteed to crash in other browsers due to the missing expected retain.  These plug-ins
1171            work in older WebKits because WebKit did not expect the plug-in to retain the NPObject.  Now that our retain
1172            rules match other browsers, these plug-ins may crash due to the difference in retain/release behavior.  We could
1173            potentially detect that situation and correct it here, but I consider it a bug that the plug-in did not follow the
1174            documented NPRuntime reference counting rules.  Furthermore, it is extremely unlikely that someone would develop
1175            a Netscape plug-in and test it *only* in WebKit.  The entire purpose of creating a Netscape plugin is so that it
1176            works in all browsers!
1177
1178         4) Plug-ins tested only in WebKit, that properly retain their NPObjects before returning them.
1179            These plug-ins probably work in other browsers, and leak their NPObjects in older WebKits because of WebKit's
1180            extra retain.  A developer of this type of plug-in is probably unaware of the NPObject leak.  A more savvy developer
1181            would create a plug-in that fits into category #1.
1182         
1183         I am changing our NPP_GetValue() behavior to match Firefox and other browsers -- the plug-in is now expected to retain the
1184         returned NPObject, and the browser is expected to release it when done.  This means that plug-ins in category #3 need to be
1185         changed so that they don't crash in Safari.  However, such plug-ins already crash in every other browser, so I do not feel that
1186         this needs to be handled specifically by WebKit.
1187
1188         * bridge/mac/FrameMac.mm:
1189         Changed -pluginScriptableObject to -createPluginScriptableObject to make clearer the contract that the method must return a
1190         retained NPObject.  Also changed it to return an actual NPObject* instead of a void*.  There is only one caller of this method,
1191         and only one implementor.  Using void* here is a needless abstraction.  It's an NPObject*!  Admit it!
1192         (WebCore::getInstanceForView):
1193         Release the NPObject after creating the bindings instance.  This is the actual bug fix.
1194
1195 2006-08-28  Alice Liu  <alice.liu@apple.com>
1196
1197         Reviewed by Geoff.
1198
1199         Fixed <rdar://problem/4548537> Document.domain and other attributes are blank for an iframe created with document.write
1200
1201         * dom/Document.cpp:
1202         (WebCore::Document::open):
1203         set the document's url to the parent's url and re-located the code that does this to occur before calling the frame's didExplicitOpen()
1204         * page/Frame.cpp:
1205         (WebCore::Frame::didExplicitOpen):
1206         set the frame's url to the document's url
1207
1208 2006-08-28  Brady Eidson  <beidson@apple.com>
1209
1210         Reviewed by Adele and Adam
1211
1212         Added an optimization to return early if there's no replacements to be made
1213
1214         * platform/StringImpl.cpp:
1215         (WebCore::StringImpl::replace):
1216
1217 2006-08-28  Nikolas Zimmermann  <zimmermann@kde.org>
1218
1219         Reviewed and landed by ap.
1220
1221         Fixes one chunk of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10604
1222         Provide stub implementation of RenderPopupMenuQt.
1223
1224         * CMakeLists.txt:
1225         * platform/qt/RenderPopupMenuQt.cpp: Added.
1226         (WebCore::RenderPopupMenuQt::RenderPopupMenuQt):
1227         (WebCore::RenderPopupMenuQt::~RenderPopupMenuQt):
1228         (WebCore::RenderPopupMenuQt::clear):
1229         (WebCore::RenderPopupMenuQt::populate):
1230         (WebCore::RenderPopupMenuQt::showPopup):
1231         (WebCore::RenderPopupMenuQt::hidePopup):
1232         (WebCore::RenderPopupMenuQt::addSeparator):
1233         (WebCore::RenderPopupMenuQt::addGroupLabel):
1234         (WebCore::RenderPopupMenuQt::addOption):
1235         * platform/qt/RenderPopupMenuQt.h: Added.
1236         * platform/qt/RenderThemeQt.cpp:
1237         (WebCore::RenderThemeQt::systemFont):
1238         (WebCore::RenderThemeQt::createPopupMenu):
1239
1240 2006-08-28  Nikolas Zimmermann  <zimmermann@kde.org>
1241
1242         Reviewed and landed by ap.
1243
1244         Fixes one chunk of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10604
1245         Offer QString -> DeprecatedString conversion.
1246
1247         * platform/DeprecatedString.h:
1248         * platform/qt/StringQt.cpp:
1249         (WebCore::DeprecatedString::DeprecatedString):
1250
1251 2006-08-28  Nikolas Zimmermann  <zimmermann@kde.org>
1252
1253         Reviewed by Tim Hatcher.
1254         
1255         Fixes one chunk of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10604
1256
1257         * platform/qt/RenderThemeQt.cpp:
1258         (WebCore::RenderThemeQt::systemFont):
1259         Remove annoying notImplemented() usage in systemFont()
1260
1261 2006-08-28  David Harrison  <harrison@apple.com>
1262
1263         Reviewed by Darin.
1264
1265         <rdar://problem/3942647> Support AXStyleTextMarkerRangeForTextMarker parameterized attribute
1266
1267         * bridge/mac/WebCoreAXObject.mm:
1268         (-[WebCoreAXObject accessibilityParameterizedAttributeNames]):
1269         Add AXStyleTextMarkerRangeForTextMarker.
1270         
1271         (startOfStyleRange):
1272         (endOfStyleRange):
1273         Return first/last VisiblePosition in range having the same style has the specified VisiblePosition.
1274
1275         (-[WebCoreAXObject doAXStyleTextMarkerRangeForTextMarker:]):
1276         Return AXTextMarkerRange for startOfStyleRange/endOfStyleRange of the specified AXTextMarker.
1277         
1278         (-[WebCoreAXObject accessibilityAttributeValue:forParameter:]):
1279         Call doAXStyleTextMarkerRangeForTextMarker for AXStyleTextMarkerRangeForTextMarker.
1280
1281 2006-08-28  David Harrison  <harrison@apple.com>
1282
1283         Reviewed by Darin.
1284
1285         <rdar://problem/4517383> Hide all images used for spacing purpose in AX
1286
1287         * bridge/mac/WebCoreAXObject.mm:
1288         (-[WebCoreAXObject accessibilityIsIgnored]):
1289         Check for one-dimensional image
1290         Check whether rendered image was stretched from one-dimensional file image
1291
1292 2006-08-27  Brady Eidson  <beidson@apple.com>
1293
1294         Reviewed by Maciej
1295
1296         Rewrote StringImpl::replace(UChar, StringImpl*)
1297
1298         * platform/StringImpl.cpp:
1299         (WebCore::StringImpl::replace):
1300
1301 2006-08-27  Sam Weinig  <sam.weinig@gmail.com>
1302
1303         Reviewed by Tim H.
1304
1305         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=4624
1306           WebCore needs autogenerated Obj-C DOM bindings
1307
1308           First round of auto-generated Objective C DOM bindings, starting
1309           with the DOM Core.
1310
1311         * DerivedSources.make:
1312         * WebCore.xcodeproj/project.pbxproj:
1313         * bindings/objc/DOM.mm:
1314         (-[DOMNode description]):
1315         (-[DOMNode KJS::Bindings::]):
1316         (-[DOMNode dispatchEvent:]):
1317         (-[DOMNamedNodeMap _initWithNamedNodeMap:]):
1318         (+[DOMNamedNodeMap _namedNodeMapWith:]):
1319         (-[DOMNodeList _initWithNodeList:]):
1320         (+[DOMNodeList _nodeListWith:]):
1321         (-[DOMImplementation _initWithDOMImplementation:]):
1322         (+[DOMImplementation _DOMImplementationWith:]):
1323         (-[DOMImplementation _DOMImplementation]):
1324         (+[DOMDocumentFragment _documentFragmentWith:]):
1325         (-[DOMDocumentFragment _fragment]):
1326         (-[DOMDocument createCSSStyleDeclaration]):
1327         (+[DOMDocument _documentWith:]):
1328         (-[DOMDocument _document]):
1329         (-[DOMDocument _ownerElement]):
1330         (+[DOMAttr _attrWith:]):
1331         (-[DOMAttr _attr]):
1332         (+[DOMDocumentType _documentTypeWith:WebCore::]):
1333         (-[DOMDocumentType WebCore::]):
1334         (+[DOMText _textWith:WebCore::]):
1335         (+[DOMComment _commentWith:WebCore::]):
1336         (+[DOMCDATASection _CDATASectionWith:WebCore::]):
1337         (+[DOMProcessingInstruction _processingInstructionWith:WebCore::]):
1338         (+[DOMEntityReference _entityReferenceWith:WebCore::]):
1339         * bindings/objc/DOMCSS.h:
1340         * bindings/objc/DOMCSS.mm:
1341         * bindings/objc/DOMCore.h:
1342         * bindings/objc/DOMEvents.h:
1343         * bindings/objc/DOMEvents.mm:
1344         * bindings/objc/DOMExtensions.h:
1345         * bindings/objc/DOMHTML.mm:
1346         (+[DOMHTMLDocument _HTMLDocumentWith:WebCore::]):
1347         * bindings/objc/DOMHTMLInternal.h:
1348         * bindings/objc/DOMImplementationFront.h:
1349         * bindings/objc/DOMInternal.h:
1350         * bindings/objc/DOMNode.h: Added.
1351         * bindings/objc/DOMNode.mm: Added.
1352         (-[DOMNode dealloc]):
1353         (-[DOMNode finalize]):
1354         (-[DOMNode nodeName]):
1355         (-[DOMNode nodeValue]):
1356         (-[DOMNode setNodeValue:]):
1357         (-[DOMNode nodeType]):
1358         (-[DOMNode parentNode]):
1359         (-[DOMNode childNodes]):
1360         (-[DOMNode firstChild]):
1361         (-[DOMNode lastChild]):
1362         (-[DOMNode previousSibling]):
1363         (-[DOMNode nextSibling]):
1364         (-[DOMNode attributes]):
1365         (-[DOMNode ownerDocument]):
1366         (-[DOMNode insertBefore::]):
1367         (-[DOMNode replaceChild::]):
1368         (-[DOMNode removeChild:]):
1369         (-[DOMNode appendChild:]):
1370         (-[DOMNode hasChildNodes]):
1371         (-[DOMNode cloneNode:]):
1372         (-[DOMNode normalize]):
1373         (-[DOMNode isSupported::]):
1374         (-[DOMNode namespaceURI]):
1375         (-[DOMNode prefix]):
1376         (-[DOMNode setPrefix:]):
1377         (-[DOMNode localName]):
1378         (-[DOMNode hasAttributes]):
1379         (-[DOMNode isSameNode:]):
1380         (-[DOMNode isEqualNode:]):
1381         (-[DOMNode isDefaultNamespace:]):
1382         (-[DOMNode lookupPrefix:]):
1383         (-[DOMNode lookupNamespaceURI:]):
1384         (-[DOMNode textContent]):
1385         (-[DOMNode setTextContent:]):
1386         (-[DOMNode boundingBox]):
1387         (-[DOMNode lineBoxRects]):
1388         * bindings/objc/DOMObject.h: Added.
1389         * bindings/objc/DOMObject.mm: Added.
1390         (-[DOMObject init]):
1391         (-[DOMObject dealloc]):
1392         (-[DOMObject finalize]):
1393         (-[DOMObject copyWithZone:]):
1394         (-[DOMObject sheet]):
1395         * bindings/objc/DOMPrivate.h:
1396         * bindings/objc/DOMRange.h:
1397         * bindings/objc/DOMStylesheets.h:
1398         * bindings/objc/DOMTraversal.h:
1399         * bindings/objc/DOMViews.h:
1400         * bindings/objc/DOMViews.mm:
1401         * bindings/objc/DOMXPath.h:
1402         * bindings/objc/DOMXPath.mm:
1403         * bindings/scripts/CodeGenerator.pm:
1404         * bindings/scripts/CodeGeneratorJS.pm:
1405         * bindings/scripts/CodeGeneratorObjC.pm: Added.
1406         * dom/Attr.idl:
1407         * dom/CDATASection.idl: Added.
1408         * dom/Comment.idl: Added.
1409         * dom/DOMImplementation.idl:
1410         * dom/Document.idl:
1411         * dom/Element.idl:
1412         * dom/EntityReference.idl: Added.
1413         * dom/NamedNodeMap.idl: Added.
1414         * dom/NodeList.idl: Added.
1415         * dom/ProcessingInstruction.idl:
1416
1417 2006-08-27  Nikolas Zimmermann  <zimmermann@kde.org>
1418
1419         Reviewed by Tim H.
1420
1421         Fix crash in LayoutTests/css1/font_properties/font.html,
1422         by implementing FontData::smallCapsFontData.
1423
1424         * platform/qt/FontDataQt.cpp:
1425         (WebCore::FontData::platformDestroy):
1426         (WebCore::FontData::smallCapsFontData):
1427
1428 2006-08-27  Brady Eidson  <beidson@apple.com>
1429
1430         Reviewed by Maciej
1431
1432         Plugged a leak in StringImpl::replace()
1433
1434         * platform/StringImpl.cpp:
1435         (WebCore::StringImpl::replace):
1436
1437 2006-08-27  Nikolas Zimmermann  <zimmermann@kde.org>
1438
1439         Reviewed and landed by Anders.
1440
1441         Remove most annoying notImplemented() usages and
1442         implement some missing ScrollViewQt functions.
1443         Much nicer output when invoking run-webkit-tests.
1444
1445         * platform/qt/FrameQt.cpp:
1446         (WebCore::FrameQt::saveDocumentState):
1447         (WebCore::FrameQt::restoreDocumentState):
1448         (WebCore::FrameQt::clearUndoRedoOperations):
1449         (WebCore::FrameQt::partClearedInBegin):
1450         * platform/qt/ResourceLoaderManager.cpp:
1451         (WebCore::headerCallback):
1452         (WebCore::ResourceLoaderManager::downloadTimerCallback):
1453         * platform/qt/ScrollViewQt.cpp:
1454         (WebCore::ScrollView::updateContents):
1455         (WebCore::ScrollView::suppressScrollBars):
1456         (WebCore::ScrollView::setStaticBackground):
1457         (WebCore::ScrollView::addChild):
1458         (WebCore::ScrollView::removeChild):
1459         * platform/qt/TemporaryLinkStubs.cpp:
1460         (WebCore::historyContains):
1461         (WebCore::CheckCacheObjectStatus):
1462         (WebCore::CheckIfReloading):
1463         (loadResourceIntoArray):
1464         (WebCore::PlugInInfoStore::supportsMIMEType):
1465
1466 2006-08-27  Nikolas Zimmermann  <zimmermann@kde.org>
1467
1468         Reviewed and landed by Anders.
1469
1470         Fix Qt build (add SVGMetaDataElement.cpp to build system)
1471
1472         * CMakeLists.txt:
1473
1474 2006-08-27  Eric Seidel  <eric@eseidel.com>
1475
1476         Reviewed by andersca.
1477
1478         No logic changes.  Just cleanup.
1479
1480         * ksvg2/svg/SVGAngle.cpp:
1481         (SVGAngle::SVGAngle):
1482         (SVGAngle::unitType):
1483         (SVGAngle::valueAsString):
1484         (SVGAngle::newValueSpecifiedUnits):
1485         (SVGAngle::convertToSpecifiedUnits):
1486         * ksvg2/svg/SVGAngle.h:
1487         * ksvg2/svg/SVGLength.cpp:
1488         (WebCore::SVGLength::unitType):
1489         (WebCore::SVGLength::newValueSpecifiedUnits):
1490         (WebCore::SVGLength::convertToSpecifiedUnits):
1491         (WebCore::SVGLength::updateValue):
1492         (WebCore::SVGLength::updateValueInSpecifiedUnits):
1493         * ksvg2/svg/SVGLength.h:
1494         * platform/BitmapImage.cpp: Removed.
1495         * platform/BitmapImage.h: Removed.
1496
1497 2006-08-27  Brady Eidson  <beidson@apple.com>
1498
1499         Reviewed by Anders
1500
1501         -Changed all of the commonly used queries to keep around pre-prepared statements and bind
1502         their arguments instead of constructing a new, messy, string appended statement each time
1503         -Changed some code in pruneUnretainedIconsOnStartup regarding transactions
1504
1505         * loader/icon/IconDatabase.cpp:
1506         (WebCore::IconDatabase::IconDatabase): Initializers
1507         (WebCore::IconDatabase::close): Wipe all the preprepared statements
1508         (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Better handling of transactions
1509         (WebCore::readySQLStatement): Make sure a preprepared statement is ready to go for a fooQuery()
1510         (WebCore::IconDatabase::pageURLTableIsEmptyQuery): Added a comment
1511         (WebCore::IconDatabase::imageDataForIconURLQuery): Use preprepared statement + binding
1512         (WebCore::IconDatabase::timeStampForIconURLQuery): ditto
1513         (WebCore::IconDatabase::iconURLForPageURLQuery): ditto
1514         (WebCore::IconDatabase::forgetPageURLQuery): ditto
1515         (WebCore::IconDatabase::setIconIDForPageURLQuery): ditto
1516         (WebCore::IconDatabase::getIconIDForIconURLQuery): ditto
1517         (WebCore::IconDatabase::addIconForIconURLQuery): ditto
1518         (WebCore::IconDatabase::hasIconForIconURLQuery): ditto
1519         * loader/icon/IconDatabase.h: Added fooQuery() and *m_fooStatements
1520         * loader/icon/SQLStatement.h:
1521         (WebCore::SQLStatement::database): Added
1522
1523 2006-08-27  Nikolas Zimmermann  <zimmermann@kde.org>
1524
1525         Reviewed by Eric.
1526
1527         Fix switch logic.
1528
1529         * platform/qt/ScrollViewQt.cpp:
1530         (WebCore::ScrollView::setHScrollBarMode):
1531         (WebCore::ScrollView::setVScrollBarMode):
1532
1533 2006-08-27  Rob Buis  <buis@kde.org>
1534
1535         Reviewed by Eric.
1536
1537         http://bugzilla.opendarwin.org/show_bug.cgi?id=10557
1538         KCanvasPath should be replace by platform/Path
1539
1540         Refactoring out the KCanvasPath class.
1541
1542         * CMakeLists.txt:
1543         * WebCore.xcodeproj/project.pbxproj:
1544         * kcanvas/KCanvasCreator.cpp:
1545         (WebCore::KCanvasCreator::createRoundedRectangle):
1546         (WebCore::KCanvasCreator::createRectangle):
1547         (WebCore::KCanvasCreator::createEllipse):
1548         (WebCore::KCanvasCreator::createCircle):
1549         (WebCore::KCanvasCreator::createLine):
1550         * kcanvas/KCanvasCreator.h:
1551         * kcanvas/KCanvasPath.cpp: Removed.
1552         * kcanvas/KCanvasPath.h: Removed.
1553         * kcanvas/KCanvasResources.cpp:
1554         (WebCore::operator<<):
1555         (WebCore::KCanvasResource::clients):
1556         (WebCore::KCanvasResource::invalidate):
1557         (WebCore::KCanvasClipper::addClipData):
1558         * kcanvas/KCanvasResources.h:
1559         (WebCore::KCClipData::windRule):
1560         (WebCore::KCClipDataList::KCClipDataList):
1561         (WebCore::KCClipDataList::addPath):
1562         * kcanvas/KCanvasTreeDebug.cpp:
1563         (WebCore::operator<<):
1564         * kcanvas/RenderPath.cpp:
1565         (WebCore::RenderPath::fillContains):
1566         (WebCore::RenderPath::relativeBBox):
1567         (WebCore::RenderPath::setPath):
1568         (WebCore::RenderPath::path):
1569         (WebCore::RenderPath::paint):
1570         (WebCore::RenderPath::nodeAtPoint):
1571         * kcanvas/RenderPath.h:
1572         * kcanvas/device/KRenderingDevice.h:
1573         * kcanvas/device/KRenderingFillPainter.cpp:
1574         (WebCore::KRenderingFillPainter::fillRule):
1575         (WebCore::KRenderingFillPainter::setFillRule):
1576         * kcanvas/device/KRenderingFillPainter.h:
1577         * kcanvas/device/qt/KCanvasClipperQt.cpp:
1578         (WebCore::KCanvasClipperQt::applyClip):
1579         * kcanvas/device/qt/KCanvasPathQt.cpp: Removed.
1580         * kcanvas/device/qt/KCanvasPathQt.h: Removed.
1581         * kcanvas/device/qt/KRenderingDeviceQt.cpp:
1582         (WebCore::KRenderingDeviceContextQt::addPath):
1583         (WebCore::KRenderingDeviceContextQt::setFillRule):
1584         (WebCore::KRenderingDeviceQt::createItem):
1585         * kcanvas/device/qt/KRenderingDeviceQt.h:
1586         * kcanvas/device/qt/RenderPathQt.cpp:
1587         (WebCore::RenderPathQt::drawMarkersIfNeeded):
1588         (WebCore::RenderPathQt::strokeContains):
1589         (WebCore::getPathStroke):
1590         (WebCore::RenderPathQt::strokeBBox):
1591         * kcanvas/device/qt/RenderPathQt.h:
1592         * kcanvas/device/quartz/KCanvasItemQuartz.h:
1593         * kcanvas/device/quartz/KCanvasItemQuartz.mm:
1594         (WebCore::KCanvasItemQuartz::drawMarkersIfNeeded):
1595         (WebCore::KCanvasItemQuartz::strokeBBox):
1596         (WebCore::KCanvasItemQuartz::strokeContains):
1597         * kcanvas/device/quartz/KCanvasPathQuartz.h: Removed.
1598         * kcanvas/device/quartz/KCanvasPathQuartz.mm: Removed.
1599         * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
1600         (WebCore::KCanvasClipperQuartz::applyClip):
1601         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
1602         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
1603         (WebCore::KRenderingDeviceContextQuartz::addPath):
1604         (WebCore::KRenderingDeviceQuartz::createItem):
1605         * kcanvas/device/quartz/QuartzSupport.h:
1606         * kcanvas/device/quartz/QuartzSupport.mm:
1607         (WebCore::scratchContext):
1608         (WebCore::strokeBoundingBox):
1609         (WebCore::pathContainsPoint):
1610         * ksvg2/css/SVGCSSParser.cpp:
1611         (WebCore::CSSParser::parseSVGValue):
1612         * ksvg2/css/SVGCSSStyleSelector.cpp:
1613         (WebCore::CSSStyleSelector::applySVGProperty):
1614         * ksvg2/css/SVGRenderStyle.h:
1615         (WebCore::SVGRenderStyle::InheritedFlags::):
1616         * ksvg2/css/SVGRenderStyleDefs.h:
1617         * ksvg2/misc/KCanvasRenderingStyle.cpp:
1618         (WebCore::KSVGPainterFactory::fillPainter):
1619         * ksvg2/svg/SVGCircleElement.cpp:
1620         (SVGCircleElement::toPathData):
1621         * ksvg2/svg/SVGCircleElement.h:
1622         * ksvg2/svg/SVGClipPathElement.cpp:
1623         (SVGClipPathElement::canvasResource):
1624         * ksvg2/svg/SVGEllipseElement.cpp:
1625         (WebCore::SVGEllipseElement::toPathData):
1626         * ksvg2/svg/SVGEllipseElement.h:
1627         * ksvg2/svg/SVGGradientElement.cpp:
1628         (SVGGradientElement::notifyAttributeChange):
1629         * ksvg2/svg/SVGImageElement.cpp:
1630         * ksvg2/svg/SVGLineElement.cpp:
1631         (SVGLineElement::toPathData):
1632         * ksvg2/svg/SVGLineElement.h:
1633         * ksvg2/svg/SVGMaskElement.cpp:
1634         * ksvg2/svg/SVGPathElement.cpp:
1635         (WebCore::SVGPathElement::toPathData):
1636         * ksvg2/svg/SVGPathElement.h:
1637         * ksvg2/svg/SVGPatternElement.cpp:
1638         (WebCore::SVGPatternElement::notifyClientsToRepaint):
1639         * ksvg2/svg/SVGPolygonElement.cpp:
1640         (SVGPolygonElement::toPathData):
1641         * ksvg2/svg/SVGPolygonElement.h:
1642         * ksvg2/svg/SVGPolylineElement.cpp:
1643         (SVGPolylineElement::toPathData):
1644         * ksvg2/svg/SVGPolylineElement.h:
1645         * ksvg2/svg/SVGRectElement.cpp:
1646         (WebCore::SVGRectElement::toPathData):
1647         * ksvg2/svg/SVGRectElement.h:
1648         * ksvg2/svg/SVGStyledElement.cpp:
1649         (WebCore::SVGStyledElement::createRenderer):
1650         * ksvg2/svg/SVGStyledElement.h:
1651         (WebCore::SVGStyledElement::toPathData):
1652         * ksvg2/svg/SVGTextContentElement.cpp:
1653         * ksvg2/svg/SVGTextElement.cpp:
1654         * platform/Path.h:
1655         (WebCore::):
1656         (WebCore::Path::setWindingRule):
1657         (WebCore::Path::windingRule):
1658         * platform/cg/PathCG.cpp:
1659         (WebCore::Path::contains):
1660         (WebCore::Path::isEmpty):
1661         (WebCore::CGPathToCFStringApplierFunction):
1662         (WebCore::CFStringFromCGPath):
1663         (WebCore::Path::debugString):
1664         * platform/qt/FrameQt.cpp:
1665         (WebCore::FrameQt::openURL):
1666         * platform/qt/PathQt.cpp:
1667         (WebCore::Path::contains):
1668         (WebCore::Path::isEmpty):
1669         (WebCore::Path::debugString):
1670
1671 2006-08-26  Eric Seidel  <eric@eseidel.com>
1672
1673         Reviewed by hyatt.
1674
1675         pointer-events attribute does not work.
1676         http://bugzilla.opendarwin.org/show_bug.cgi?id=10415
1677
1678         * kcanvas/RenderPath.cpp:
1679         (WebCore::RenderPath::pointerEventsHitRules): new function to contain pointer-events hit logic
1680         (WebCore::RenderPath::nodeAtPoint): respect pointer-events property
1681         * kcanvas/RenderPath.h:
1682         (WebCore::RenderPath::PointerEventsHitRules::PointerEventsHitRules):
1683         * ksvg2/css/SVGCSSParser.cpp:
1684         (WebCore::CSSParser::parseSVGValue):
1685         * ksvg2/svg/SVGPaint.cpp: Fix this to use a real enum value
1686         (WebCore::SVGPaint::SVGPaint):
1687         (WebCore::SVGPaint::paintType):
1688         (WebCore::SVGPaint::uri):
1689         (WebCore::SVGPaint::setUri):
1690         (WebCore::SVGPaint::setPaint):
1691         * ksvg2/svg/SVGPaint.h:
1692
1693 2006-08-27  Rob Buis  <buis@kde.org>
1694
1695         Reviewed by Eric.
1696
1697         http://bugzilla.opendarwin.org/show_bug.cgi?id=10558
1698         SVG should have support for <metadata> element
1699
1700         Add support for metadata tag.
1701
1702         * DerivedSources.make:
1703         * WebCore.xcodeproj/project.pbxproj:
1704         * ksvg2/bindings/js/JSSVGElementWrapperFactory.cpp:
1705         * ksvg2/svg/SVGMetadataElement.cpp: Added.
1706         (SVGMetadataElement::SVGMetadataElement):
1707         (SVGMetadataElement::~SVGMetadataElement):
1708         * ksvg2/svg/SVGMetadataElement.h: Added.
1709         * ksvg2/svg/SVGMetadataElement.idl: Added.
1710         * ksvg2/svg/svgtags.in:
1711
1712 2006-08-26  Nikolas Zimmermann  <zimmermann@kde.org>
1713
1714         Reviewed by Eric.
1715
1716         Daily Qt build fixes :-)
1717
1718         * platform/qt/GraphicsContextQt.cpp:
1719         (WebCore::GraphicsContext::drawConvexPolygon):
1720         * platform/qt/ImageQt.cpp:
1721         (WebCore::Image::initPlatformData):
1722         (WebCore::Image::invalidatePlatformData):
1723         (WebCore::Image::loadPlatformResource):
1724
1725 2006-08-26  David Hyatt  <hyatt@apple.com>
1726
1727         Fix the ifdef in Path.h to be CG.
1728
1729         * platform/Path.h:
1730
1731 2006-08-26  David Hyatt  <hyatt@apple.com>
1732
1733         Fix Mac build bustage (lots of float/int confusion).  I am not sure
1734         whether rounding was desired or not... this is just a band-aid to get
1735         the build working again.
1736
1737         * rendering/RenderThemeMac.mm:
1738         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
1739         (WebCore::RenderThemeMac::paintMenuListButton):
1740         (WebCore::RenderThemeMac::adjustMenuListButtonStyle):
1741
1742 2006-08-25  David Hyatt  <hyatt@apple.com>
1743
1744         More refactoring of image to disentangle graphics (e.g., Cairo) from
1745         platform (e.g., Windows).
1746
1747         * WebCore.vcproj/WebCore/WebCore.vcproj:
1748         Add ImageWin to project.
1749
1750         * loader/Cache.cpp:
1751         (WebCore::Cache::init):
1752         * loader/icon/IconDataCache.cpp:
1753         (WebCore::IconDataCache::loadImageFromResource):
1754         Renamed loadResource to loadPlatformResource to try to make it more clear
1755         that this call is implemented on each OS (and not by graphics libraries).
1756
1757         * platform/Image.cpp:
1758         (WebCore::Image::Image):
1759         (WebCore::Image::~Image):
1760         (WebCore::Image::invalidateData):
1761         (WebCore::Image::size):
1762         (WebCore::Image::setData):
1763         (WebCore::Image::setNativeData):
1764         Fix up the PDF code to not be considered platform data any more, since
1765         PDF rendering is not for a specific OS.
1766
1767         Renamed the methods that set OS-specific data (like NSImage) to PlatformData
1768         instead of NativeData.
1769
1770         * platform/Image.h:
1771         Shifted the PDF members into CG defines.  Made CGImageRef a CG define.
1772         Renamed methods to reflect that they are OS-specific and not
1773         graphics-library-specific.
1774        
1775         * platform/cairo/ImageCairo.cpp:
1776         Removed the platform data methods.  Other platforms besides Windows that
1777         use Cairo will need to account for this change by adding these methods
1778         to their OS Image***.cpp file.
1779
1780         * platform/cg/ImageCG.cpp:
1781         (WebCore::Image::drawTiled):
1782         Add FIXMEs to the wkpattern stuff.
1783
1784         * platform/cg/PDFDocumentImage.cpp:
1785         Shouldn't have #imports in .cpp.
1786
1787         * platform/mac/ImageMac.mm:
1788         (WebCore::Image::initPlatformData):
1789         (WebCore::Image::invalidatePlatformData):
1790         (WebCore::Image::loadPlatformResource):
1791         (WebCore::Image::getTIFFRepresentation):
1792         Add the platform data initializers to the Mac Image file.   Move the
1793         TIFF representation there as well, since this is only used by Mac code.
1794
1795         * platform/win/ImageWin.cpp: Added.
1796         (WebCore::Image::initPlatformData):
1797         (WebCore::Image::invalidatePlatformData):
1798         (WebCore::Image::loadPlatformResource):
1799         (WebCore::Image::supportsType):
1800         Similar work for Windows.  Add stubs for possible future HBITMAP returns
1801         in the platform data methods.
1802
1803         * rendering/RenderLayer.cpp:
1804         (WebCore::RenderLayer::paintResizeControl):
1805         * rendering/RenderThemeMac.mm:
1806         (WebCore::RenderThemeMac::paintResizeControl):
1807         loadResource -> loadPlatformResource
1808
1809 2006-08-26  Adam Roben  <aroben@apple.com>
1810
1811         Rubber-stamped by Adele.
1812
1813         Fixed build.
1814
1815         * platform/cairo/GraphicsContextCairo.cpp:
1816         (WebCore::GraphicsContext::drawConvexPolygon):
1817
1818 2006-08-25  Adele Peterson  <adele@apple.com>
1819
1820         Patch by Francisco, Reviewed by me.
1821
1822         Preparation for switch to new text field implementation of password field.
1823
1824         Added -webkit-text-security property.
1825
1826         Tests: updated fast/css/computed-style-expected.txt
1827
1828         * css/CSSPropertyNames.in: Added -webkit-text-security.
1829         * css/CSSComputedStyleDeclaration.cpp:
1830         (WebCore::):
1831         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added cases for textSecurity.
1832         * css/cssparser.cpp: (WebCore::CSSParser::parseValue): ditto.
1833         * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::applyProperty): ditto.
1834         * css/html4.css: Added style for password field to use -webkit-text-security.
1835
1836         * html/HTMLInputElement.cpp: Check appearance property to decide which renderer to use.
1837         (WebCore::HTMLInputElement::selectionStart):
1838         (WebCore::HTMLInputElement::selectionEnd):
1839         (WebCore::HTMLInputElement::setSelectionStart):
1840         (WebCore::HTMLInputElement::setSelectionEnd):
1841         (WebCore::HTMLInputElement::select):
1842         (WebCore::HTMLInputElement::setSelectionRange):
1843         (WebCore::HTMLInputElement::createRenderer):
1844         * html/HTMLInputElement.h: (WebCore::HTMLInputElement::isNonWidgetTextField): Added check for password.
1845
1846         * platform/StringImpl.cpp: (WebCore::StringImpl::secure): Added. Converts a string to replace 
1847          characters with one character, like a bullet.
1848         * platform/StringImpl.h:
1849
1850         * rendering/RenderStyle.cpp:
1851         (WebCore::StyleCSS3InheritedData::StyleCSS3InheritedData): Initialize textSecurity.
1852         (WebCore::RenderStyle::diff): Added case for textSecurity.
1853         * rendering/RenderStyle.h:
1854         (WebCore::):
1855         (WebCore::RenderStyle::textSecurity): Added.
1856         (WebCore::RenderStyle::setTextSecurity): Added.
1857         (WebCore::RenderStyle::initialTextSecurity): Added.
1858         * rendering/RenderText.cpp:
1859         (WebCore::RenderText::setStyle): Added case for textSecurity.
1860         (WebCore::RenderText::setText): ditto.
1861
1862 2006-08-25  Adele Peterson  <adele@apple.com>
1863
1864         Reviewed by Hyatt.
1865
1866         Enable styling for popup menus. Also fixed baseline calculation for buttons and selects.
1867
1868         Tests:   fast/forms/select-baseline.html
1869                  fast/borders/borderRadiusInvalidColor.html
1870         updated: fast/forms/select-style-expected.txt and more...
1871
1872         * css/html4.css: Added style rules for styled select elements.
1873
1874         * platform/GraphicsContext.h: Added argument for antialiasing.
1875         * platform/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::drawConvexPolygon): ditto.
1876         * platform/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::drawConvexPolygon): ditto.
1877
1878         * rendering/RenderObject.cpp:
1879         (WebCore::RenderObject::drawBorderArc): Added textColor argument so this can be used when the border color is invalid.
1880         (WebCore::RenderObject::drawBorder): Removed invalidisInvert since its dead code 
1881          (any callers that set this to true were already ensuring that their color was valid).
1882          Updated drawConvexPolygon call to use FloatPoints instead of IntPoints.
1883         (WebCore::RenderObject::paintBorder): Updated to remove invalidisInvert argument from drawBorder call.
1884         (WebCore::RenderObject::paintOutline): ditto.
1885         * rendering/RenderFlow.cpp: (WebCore::RenderFlow::paintOutlineForLine): ditto.
1886         * rendering/RenderObject.h: Updated arguments for drawBorder and drawBorderArc.
1887
1888         * rendering/RenderBlock.cpp: (WebCore::RenderBlock::getBaselineOfLastLineBox): Changed isRootLineBox argument to true when setting line height.
1889           Added case for when there's no children to check for hasLineIfEmpty.
1890         * rendering/RenderBlock.h:
1891         * rendering/bidi.cpp: (WebCore::RenderBlock::layoutInlineChildren): Changed isRootLineBox argument to true when setting line height.
1892         * rendering/RenderButton.h: (WebCore::RenderButton::hasLineIfEmpty): Added so buttons always get a line height.
1893         * rendering/RenderMenuList.h: (WebCore::RenderMenuList::hasLineIfEmpty): ditto.
1894         * rendering/RenderFlexibleBox.cpp:
1895         (WebCore::RenderFlexibleBox::layoutHorizontalBox): Added code to check hasLineIfEmpty to give flex boxes line height.
1896         (WebCore::RenderFlexibleBox::layoutVerticalBox): ditto.
1897
1898         * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::adjustRenderStyle): Moved the appearance adjustment code into adjust style.
1899         * rendering/RenderBox.cpp: (WebCore::RenderBox::paintBoxDecorations): Lets the theme paint "decorations", like the arrow control and gradients
1900          immediately after painting the background.
1901
1902         * rendering/RenderTheme.cpp:
1903         (WebCore::RenderTheme::adjustStyle): This now checks whether the control is styled, and adjusts the appearance property appropriately.
1904         For styled selects, instead of setting the appearance to none, which is what we do for other styled controls, we set the appearance
1905         to MenulistButtonAppearance, which indicates that we will draw the arrow controls and button appearance in the engine.
1906         (WebCore::RenderTheme::paintDecorations): Added. Paints MenulistButtonAppearance in a different function, 
1907          so the arrow control will draw at the right time (after the background).
1908         (WebCore::RenderTheme::paint): Added case for MenulistButtonAppearance.
1909         (WebCore::RenderTheme::paintBorderOnly): ditto.
1910         (WebCore::RenderTheme::isControlContainer): Removed cases for MenuListAppearance and MenulistButtonAppearance since the baseline is no longer provided by the theme.
1911         (WebCore::RenderTheme::adjustMenuListButtonStyle): Added.
1912         * rendering/RenderTheme.h: (WebCore::RenderTheme::paintMenuListButton): Added.
1913
1914         * rendering/RenderThemeMac.h:
1915         * rendering/RenderThemeMac.mm:
1916         (WebCore::RenderThemeMac::isControlStyled): Removed code that made selects unstyle-able.
1917         (WebCore::RenderThemeMac::baselinePosition): Removed cases for MenuListAppearance and MenulistButtonAppearance.
1918         (WebCore::RenderThemeMac::popupButtonPadding): Added top and bottom padding so empty popups have the right baseline.
1919         (WebCore::TopGradientInterpolate): Added.
1920         (WebCore::BottomGradientInterpolate): Added.
1921         (WebCore::MainGradientInterpolate): Added.
1922         (WebCore::RenderThemeMac::paintMenuListButtonGradients): Added.  Draws gradients for styled popup menu button appearance.
1923         (WebCore::RenderThemeMac::paintMenuListButton): Calls paintMenuListButtonGradients, and draws arrow control.
1924         (WebCore::RenderThemeMac::adjustMenuListButtonStyle): Added to set padding and border radius to account for the arrow control size and font size.
1925
1926 2006-08-25  Brady Eidson  <beidson@apple.com>
1927
1928         Reviewed by Adam
1929
1930         Changed some time()-related code to be more platform independent
1931
1932         * loader/icon/IconDatabase.cpp:
1933         (WebCore::IconDatabase::isIconExpiredForIconURL):
1934         (WebCore::IconDatabase::getOrCreateIconDataCache):
1935         (WebCore::IconDatabase::setIconDataForIconURL):
1936
1937 2006-08-25  David Harrison  <harrison@apple.com>
1938
1939         Reviewed by Geoff.
1940
1941         <rdar://problem/4416432> Radio buttons and Checkboxes in AXWebAreas don't fill in their AXTitle attribute
1942
1943         * bridge/mac/WebCoreAXObject.mm:
1944         (labelForElement):
1945         New. Returns the HTMLLabelElement, if any, for the specified Element.
1946         
1947         (-[WebCoreAXObject title]):
1948         For input elements, return the innerHTML() of the labelForElement().
1949
1950 2006-08-25  Brady Eidson  <beidson@apple.com>
1951
1952         Reviewed by Tim Hatcher
1953
1954         Changed some debugging-only code to be more platform independent
1955
1956         * WebCore.xcodeproj/project.pbxproj:
1957         * loader/icon/IconDatabase.cpp:
1958         (WebCore::IconDatabase::pruneUnretainedIconsOnStartup):
1959         (WebCore::IconDatabase::syncDatabase):
1960
1961 2006-08-25  Nikolas Zimmermann  <zimmermann@kde.org>
1962
1963         Reviewed/landed by Adam.
1964
1965         Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10561
1966         Qt platform build fixes.
1967
1968         * platform/qt/FrameQt.h:
1969         * platform/qt/ScreenQt.cpp:
1970         (WebCore::qwidgetForPage):
1971         (WebCore::screenRect):
1972         (WebCore::screenDepth):
1973         (WebCore::usableScreenRect):
1974         * platform/qt/TemporaryLinkStubs.cpp:
1975         (WebCore::screenDepthPerComponent):
1976         (WebCore::screenIsMonochrome):
1977         * platform/qt/WidgetQt.cpp:
1978
1979 2006-08-25  Nikolas Zimmermann  <zimmermann@kde.org>
1980
1981         Reviewed/landed by Adam.
1982
1983         Finally fix font caching. WebKit+Qt now works
1984         out of the box without any further patches :-)
1985
1986         * platform/qt/FontDataQt.cpp:
1987         (WebCore::FontData::platformDestroy):
1988         * platform/qt/FontPlatformData.h:
1989         * platform/qt/FontPlatformDataQt.cpp:
1990         (WebCore::FontPlatformData::FontPlatformData):
1991         (WebCore::FontPlatformData::isFixedPitch):
1992         (WebCore::FontPlatformData::font):
1993         (WebCore::FontPlatformData::fontPtr):
1994         (WebCore::FontPlatformData::hash):
1995         (WebCore::FontPlatformData::operator==):
1996
1997 2006-08-25  Nikolas Zimmermann  <zimmermann@kde.org>
1998
1999         Reviewed/landed by Adam.
2000
2001         Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10559
2002         Confirm to WebKit style guide - last fixes :-)
2003
2004         * platform/ResourceLoaderClient.h:
2005         * platform/qt/ComboBoxQt.cpp:
2006         * platform/qt/FrameQt.cpp:
2007         (WebCore::doScroll):
2008         (WebCore::FrameQt::FrameQt):
2009         (WebCore::FrameQt::openURL):
2010         (WebCore::FrameQt::submitForm):
2011         (WebCore::FrameQt::setTitle):
2012         (WebCore::FrameQt::passSubframeEventToSubframe):
2013         (WebCore::FrameQt::registerCommandForUndo):
2014         (WebCore::FrameQt::registerCommandForRedo):
2015         (WebCore::FrameQt::keyEvent):
2016         (WebCore::FrameQt::setFrameGeometry):
2017         * platform/qt/GlyphMapQt.cpp:
2018         (WebCore::GlyphMap::fillPage):
2019         * platform/qt/GraphicsContextQt.cpp:
2020         (WebCore::toQtCompositionMode):
2021         (WebCore::toQtLineCap):
2022         (WebCore::toQtLineJoin):
2023         (WebCore::TextShadow::TextShadow):
2024         (WebCore::GraphicsContextPlatformPrivate::p):
2025         * platform/qt/ImageQt.cpp:
2026         (WebCore::FrameData::clear):
2027         (WebCore::Image::supportsType):
2028         * platform/qt/IntSizeQt.cpp:
2029         * platform/qt/LineEditQt.cpp:
2030         * platform/qt/ListBoxQt.cpp:
2031         * platform/qt/PageQt.cpp:
2032         (WebCore::Page::windowRect):
2033         * platform/qt/PathQt.cpp:
2034         (WebCore::Path::~Path):
2035         * platform/qt/ResourceLoaderCurl.cpp:
2036         (WebCore::ResourceLoader::assembleResponseHeaders):
2037         (WebCore::ResourceLoader::retrieveCharset):
2038         (WebCore::ResourceLoader::receivedResponse):
2039         * platform/qt/ResourceLoaderManager.cpp:
2040         (WebCore::headerCallback):
2041         (WebCore::ResourceLoaderManager::downloadTimerCallback):
2042         (WebCore::ResourceLoaderManager::add):
2043         * platform/qt/ScreenQt.cpp:
2044         (WebCore::screenRect):
2045         (WebCore::usableScreenRect):
2046         * platform/qt/ScrollViewQt.cpp:
2047         (WebCore::ScrollView::ScrollView):
2048         (WebCore::ScrollView::~ScrollView):
2049         (WebCore::ScrollView::setParentWidget):
2050         (WebCore::ScrollView::addChild):
2051         * platform/qt/SharedTimerQt.cpp:
2052         (WebCore::setSharedTimerFiredFunction):
2053         * platform/qt/SharedTimerQt.h:
2054         (WebCore::SharedTimerQt::SharedTimerQt):
2055         (WebCore::SharedTimerQt::fire):
2056         * platform/qt/SystemTimeQt.cpp:
2057         (WebCore::currentTime):
2058         * platform/qt/TextEditQt.cpp:
2059         (WebCore::PlatformTextEdit::setParentWidget):
2060         (WebCore::PlatformTextEdit::text):
2061         (WebCore::PlatformTextEdit::sizeWithColumnsAndRows):
2062
2063 2006-08-24  David Harrison  <harrison@apple.com>
2064
2065         Reviewed by Justin.
2066
2067         Follow up for...
2068         <rdar://problem/4471481> Represent misspellings in AXAttributedStringForTextMarkerRange
2069
2070         Fix bug I introduced in r15959.
2071         
2072         * bridge/mac/WebCoreAXObject.mm:
2073         (-[WebCoreAXObject accessibilityAttributeValue:]):
2074         Use topDocument in case we are in a subframe (we want the start/end of the overall page).
2075
2076 2006-08-24  Brady Eidson  <beidson@apple.com>
2077
2078         Reviewed by Alice
2079
2080         Fixed my previous checkin, which was pruning the users entire icon db on startup everytime
2081
2082         * loader/icon/IconDatabase.cpp:
2083         (WebCore::IconDatabase::retainIconForPageURL): Bind the PageURL to argument 1, as SQL bindings
2084           are indexed to 1, not 0
2085
2086 2006-08-24  Geoffrey Garen  <ggaren@apple.com>
2087
2088         Reviewed by Darin.
2089
2090         Frame refactoring: changed FrameView clients so they no longer assume that
2091         FrameViews are Widgets that can tell you things about the platform, in 
2092         preparation for divorcing FrameViews from heavy-weight Widgets altogether.
2093
2094         This patch makes Page, rather than Widget, responsible for answering
2095         questions about the screen (scale factor, color depth, etc.). Refactoring 
2096         aside, I think this makes more sense, since (a) the screen has nothing to do 
2097         with any particular widget and (b) Page was already half-responsible for
2098         answering those questions, anyway.
2099
2100         Plus some random Windows build fix goodness.
2101
2102         Layout tests still pass.
2103
2104 2006-08-24  Timothy Hatcher  <timothy@apple.com>
2105
2106         Reviewed by Hyatt.
2107
2108         Allow changing the background color WebCore draws under transparent page backgrounds.
2109         No automated way to test. All tests pass, no performance regression.
2110
2111         * bridge/mac/WebCoreFrameBridge.h:
2112         * bridge/mac/WebCoreFrameBridge.mm:
2113         (-[WebCoreFrameBridge setBaseBackgroundColor:]):
2114         * page/FrameView.cpp:
2115         (WebCore::FrameViewPrivate::FrameViewPrivate):
2116         (WebCore::FrameView::baseBackgroundColor):
2117         (WebCore::FrameView::setBaseBackgroundColor):
2118         * page/FrameView.h:
2119         * rendering/RenderBox.cpp:
2120         (WebCore::RenderBox::paintBackgroundExtended):
2121         * rendering/RenderView.cpp:
2122         (WebCore::RenderView::paintBoxDecorations):
2123
2124 2006-08-24  Darin Adler  <darin@apple.com>
2125
2126         Reviewed by Justin.
2127
2128         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10169
2129           REGRESSION: NativeTextArea: Text dragged from <input type=text> to textarea disappears
2130         - eliminate the EditCommandPtr class from editing; use PassRefPtr and RefPtr instead
2131         - other editing-related cleanup
2132
2133         Test: fast/forms/drag-into-textarea.html
2134
2135         * bridge/mac/FrameMac.h: Changed EditCommandPtr parameters to use PassRefPtr<EditCommand> instead.
2136         * bridge/win/FrameWin.h: Ditto.
2137         * bridge/mac/FrameMac.mm:
2138         (WebCore::FrameMac::registerCommandForUndoOrRedo): Ditto.
2139         (WebCore::FrameMac::registerCommandForUndo): Ditto.
2140         (WebCore::FrameMac::registerCommandForRedo): Ditto.
2141
2142         * bridge/mac/WebCoreFrameBridge.mm:
2143         (-[WebCoreFrameBridge replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
2144         Use applyCommand instead of EditCommandPtr. Also remove now-unneeded document parameter.
2145         (-[WebCoreFrameBridge moveSelectionToDragCaret:smartMove:]): Ditto.
2146         (-[WebCoreFrameBridge deleteSelectionWithSmartDelete:]): Ditto.
2147
2148         * editing/AppendNodeCommand.h: Removed document parameter from constructor. Changed new child
2149         parameter to be a PassRefPtr. Reversed order of child and parent parameters.
2150         * editing/AppendNodeCommand.cpp:
2151         (WebCore::AppendNodeCommand::AppendNodeCommand): Ditto.
2152         (WebCore::AppendNodeCommand::doApply): Ditto.
2153         (WebCore::AppendNodeCommand::doUnapply): Ditto.
2154
2155         * editing/ApplyStyleCommand.h: Removed document parameter from constructor.
2156         * editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::ApplyStyleCommand): Ditto.
2157
2158         * editing/BreakBlockquoteCommand.h: Removed unneeded include of DeprecatedPtrList.h.
2159         * editing/BreakBlockquoteCommand.cpp: Moved the include of DeprecatedPtrList.h here.
2160         (WebCore::BreakBlockquoteCommand::doApply): Changed code to construct a Selection explicitly
2161         since setEndingSelection is no longer overloaded for Position.
2162
2163         * editing/CompositeEditCommand.h: Added isFirstCommand function. Changed m_cmds from
2164         a DeprecatedValueList<EditCommandPtr> to a Vector<RefPtr<EditCommand>> and renamed it
2165         m_commands and made both doUnapply and doReapply private.
2166         * editing/CompositeEditCommand.cpp:
2167         (WebCore::CompositeEditCommand::doUnapply): Rewrote to use m_commands.
2168         (WebCore::CompositeEditCommand::doReapply): Ditto.
2169         (WebCore::CompositeEditCommand::applyCommandToComposite): Removed code to explicitly set up
2170         starting and ending selection -- now done inside setParent. Rewrote to use m_commands.
2171         (WebCore::CompositeEditCommand::applyStyle): Changed to not use EditCommandPtr.
2172         (WebCore::CompositeEditCommand::applyStyledElement): Ditto.
2173         (WebCore::CompositeEditCommand::removeStyledElement): Ditto.
2174         (WebCore::CompositeEditCommand::insertParagraphSeparator): Ditto.
2175         (WebCore::CompositeEditCommand::insertNodeBefore): Ditto.
2176         (WebCore::CompositeEditCommand::appendNode): Ditto.
2177         (WebCore::CompositeEditCommand::removeNode): Ditto.
2178         (WebCore::CompositeEditCommand::removeNodePreservingChildren): Ditto.
2179         (WebCore::CompositeEditCommand::splitTextNode): Ditto.
2180         (WebCore::CompositeEditCommand::splitElement): Ditto.
2181         (WebCore::CompositeEditCommand::mergeIdenticalElements): Ditto.
2182         (WebCore::CompositeEditCommand::wrapContentsInDummySpan): Ditto.
2183         (WebCore::CompositeEditCommand::splitTextNodeContainingElement): Ditto.
2184         (WebCore::CompositeEditCommand::joinTextNodes): Ditto.
2185         (WebCore::CompositeEditCommand::inputText): Ditto.
2186         (WebCore::CompositeEditCommand::insertTextIntoNode): Ditto.
2187         (WebCore::CompositeEditCommand::deleteTextFromNode): Ditto.
2188         (WebCore::CompositeEditCommand::replaceTextInNode): Ditto.
2189         (WebCore::CompositeEditCommand::deleteSelection): Ditto.
2190         (WebCore::CompositeEditCommand::removeCSSProperty): Ditto.
2191         (WebCore::CompositeEditCommand::removeNodeAttribute): Ditto. Also fixed a bug where the code
2192         would not remove an empty attribute -- will not come up in practice, but wrong in theory.
2193         (WebCore::CompositeEditCommand::setNodeAttribute): Changed to not use EditCommandPtr.
2194         (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): Ditto.
2195         (WebCore::CompositeEditCommand::deleteInsignificantText): Rewrote to use a for loop.
2196         (WebCore::CompositeEditCommand::moveParagraphs): Changed to not use EditCommandPtr.
2197         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Changed code to construct a
2198         Selection explicitly since setEndingSelection is no longer overloaded for Position.
2199         (WebCore::createBlockPlaceholderElement): Collapsed this code so that the
2200         block placeholder class string is no longer spread across multiple functions.
2201         Perhaps we can get rid of this altogether at some point.
2202
2203         * editing/DeleteFromTextNodeCommand.h: Removed unneeded document parameter from one constructor.
2204         Also removed unneeded destructor.
2205         * editing/DeleteFromTextNodeCommand.cpp:
2206         (WebCore::DeleteFromTextNodeCommand::DeleteFromTextNodeCommand): Ditto.
2207
2208         * editing/DeleteSelectionCommand.h: Removed unneeded document parameter from one constructor.
2209         * editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::DeleteSelectionCommand): Ditto.
2210
2211         * editing/EditCommand.h: Removed ECommandState, isCompositeStep(), parent(), state(), setState(),
2212         and most overloads of setStartingSelection() and setEndingSelection(). Made document() protected
2213         and non-virtual. Made setStartingSelection() setEndingSelection(), and styleAtPosition() protected.
2214         Made doApply(), doUnapply(), and doReapply() private. Added startingRootEditableElement(),
2215         endingRootEditableElement(), m_startingRootEditableElement, and m_endingRootEditableElement, which
2216         are needed so we can determine which editable elements an editing operation affects. Changed setParent()
2217         and m_parent to use CompositeEditCommand instead of EditCommand. Removed EditCommandPtr. Added
2218         applyCommand() function that's convenient to use on a newly-created command.
2219         * editing/EditCommand.cpp:
2220         (WebCore::EditCommand::EditCommand): Removed initialization for m_state, and added it for starting
2221         and ending root editable elements.
2222         (WebCore::EditCommand::apply): Simplified check for top level by just checking m_parent. Removed
2223         code to assert and set m_start. Eliminated use of EditCommandPtr.
2224         (WebCore::EditCommand::unapply): Ditto.
2225         (WebCore::EditCommand::reapply): Ditto.
2226         (WebCore::EditCommand::setStartingSelection): Changed to set root editable element too. Also made this
2227         not change the starting selection of the parent unless this is the first command in the parent -- didn't
2228         make sense the way it was.
2229         (WebCore::EditCommand::setEndingSelection): Changed to set root editable element too.
2230         (WebCore::EditCommand::setParent): Added code to set the starting and ending selection on the child
2231         based on the ending selection of the parent, formerly done by callers.
2232         (WebCore::applyCommand): Added.
2233
2234         * editing/FormatBlockCommand.h: Tweaked formatting.
2235         * editing/FormatBlockCommand.cpp: (WebCore::FormatBlockCommand::FormatBlockCommand): Ditto.
2236         * editing/InsertLineBreakCommand.h: Ditto.
2237         * editing/InsertLineBreakCommand.cpp: (WebCore::InsertLineBreakCommand::doApply):
2238
2239         * editing/IndentOutdentCommand.cpp:
2240         (WebCore::IndentOutdentCommand::splitTreeToNode): Removed use of EditCommandPtr.
2241         (WebCore::IndentOutdentCommand::outdentParagraph): Updated for change to list type enum.
2242         (WebCore::IndentOutdentCommand::outdentRegion): Removed use of EditCommandPtr.
2243
2244         * editing/InsertIntoTextNodeCommand.h: Removed unneeded document parameter to constructor.
2245         * editing/InsertIntoTextNodeCommand.cpp:
2246         (WebCore::InsertIntoTextNodeCommand::InsertIntoTextNodeCommand): Ditto.
2247
2248         * editing/InsertListCommand.h: Renamed EListType to EList, and took the "Type" suffix off
2249         the constants.
2250         * editing/InsertListCommand.cpp:
2251         (WebCore::InsertListCommand::InsertListCommand): Ditto.
2252         (WebCore::InsertListCommand::doApply): Ditto.
2253
2254         * editing/InsertNodeBeforeCommand.h: Removed unneeded document parameter from constructor
2255         and changed the parameter of the node to insert to a PassRefPtr.
2256         * editing/InsertNodeBeforeCommand.cpp:
2257         (WebCore::InsertNodeBeforeCommand::InsertNodeBeforeCommand): Ditto.
2258
2259         * editing/InsertParagraphSeparatorCommand.cpp:
2260         (WebCore::InsertParagraphSeparatorCommand::doApply): Remvoed use of EditCommandPtr.
2261
2262         * editing/InsertTextCommand.h: Changed insertTab to take const Position&.
2263         * editing/InsertTextCommand.cpp:
2264         (WebCore::InsertTextCommand::input): Ditto.
2265         (WebCore::InsertTextCommand::insertTab): Ditto.
2266
2267         * editing/JSEditor.h: Tweaked formatting and names.
2268         * editing/JSEditor.cpp: Ditto. Also changed places that use EditCommandPtr.
2269
2270         * editing/JoinTextNodesCommand.h: Removed unneeeded document pointer
2271         * editing/JoinTextNodesCommand.cpp:
2272         (WebCore::JoinTextNodesCommand::JoinTextNodesCommand): Ditto.
2273         * editing/MergeIdenticalElementsCommand.h: Ditto.
2274         * editing/MergeIdenticalElementsCommand.cpp:
2275         (WebCore::MergeIdenticalElementsCommand::MergeIdenticalElementsCommand): Ditto.
2276
2277         * editing/ModifySelectionListLevel.h: Changed EListType to be named Type and be a member of
2278         IncreaseSelectionListLevelCommand. Also changed m_listElement to be a RefPtr<Node>.
2279         * editing/ModifySelectionListLevel.cpp:
2280         (WebCore::getStartEndListChildren): Changed parameters to be references instead of pointers.
2281         (WebCore::IncreaseSelectionListLevelCommand::IncreaseSelectionListLevelCommand):
2282         Changed to use Type instead of EListType.
2283         (WebCore::canIncreaseListLevel): Changed parameters to be references instead of pointers.
2284         (WebCore::IncreaseSelectionListLevelCommand::doApply): Updated for change to canIncreaseListLevel.
2285         (WebCore::IncreaseSelectionListLevelCommand::canIncreaseSelectionListLevel): Ditto.
2286         (WebCore::IncreaseSelectionListLevelCommand::increaseSelectionListLevelWithType):
2287         Changed to not use EditCommandPtr.
2288         (WebCore::canDecreaseListLevel): Changed parameters to be references instead of pointers.
2289         (WebCore::DecreaseSelectionListLevelCommand::doApply): Updated for change to canDecreaseListLevel.
2290         (WebCore::DecreaseSelectionListLevelCommand::canDecreaseSelectionListLevel): Ditto.
2291         (WebCore::DecreaseSelectionListLevelCommand::decreaseSelectionListLevel): Changed to not use
2292         EditCommandPtr.
2293
2294         * editing/MoveSelectionCommand.h: Removed unnecessary document parameter and changed the fragment
2295         parameter to be a PassRefPtr.
2296         * editing/MoveSelectionCommand.cpp:
2297         (WebCore::MoveSelectionCommand::MoveSelectionCommand): Ditto.
2298         (WebCore::MoveSelectionCommand::doApply): Got rid of use of EditCommandPtr.
2299
2300         * editing/RebalanceWhitespaceCommand.h: Removed unnecessary document parameter.
2301         * editing/RebalanceWhitespaceCommand.cpp:
2302         (WebCore::RebalanceWhitespaceCommand::RebalanceWhitespaceCommand): Ditto.
2303         (WebCore::RebalanceWhitespaceCommand::doApply): Got rid of use of EditCommandPtr.
2304
2305         * editing/RemoveCSSPropertyCommand.h: Tweaked formatting.
2306
2307         * editing/RemoveNodeAttributeCommand.h: Removed unnecessary document parameter.
2308         * editing/RemoveNodeAttributeCommand.cpp:
2309         (WebCore::RemoveNodeAttributeCommand::RemoveNodeAttributeCommand): Ditto.
2310
2311         * editing/RemoveNodeCommand.h: Removed unnecessary document parameter.
2312         * editing/RemoveNodeCommand.cpp:
2313         (WebCore::RemoveNodeCommand::RemoveNodeCommand): Ditto.
2314
2315         * editing/RemoveNodePreservingChildrenCommand.h: Removed unnecessary document parameter.
2316         * editing/RemoveNodePreservingChildrenCommand.cpp:
2317         (WebCore::RemoveNodePreservingChildrenCommand::RemoveNodePreservingChildrenCommand): Ditto.
2318
2319         * editing/ReplaceSelectionCommand.h: Change fragment parameter to a PassRefPtr.
2320         * editing/ReplaceSelectionCommand.cpp:
2321         (WebCore::ReplacementFragment::ReplacementFragment): Ditto.
2322         (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand): Ditto.
2323         (WebCore::ReplaceSelectionCommand::doApply): Ditto.
2324         (WebCore::ReplaceSelectionCommand::completeHTMLReplacement): Ditto.
2325
2326         * editing/Selection.h: Changed SEL_DEFAULT_AFFINITY to be a constant rather than
2327         a macro. Added constructors that take visible positions. Changed setBase and
2328         setExtent to take const Position& for better efficiency.
2329         * editing/Selection.cpp:
2330         (WebCore::Selection::Selection): Removed unnecessary double initialization of m_state
2331         and m_baseIsFirst in existing constructors. Added VisiblePosition-based constructors.
2332
2333         * editing/SetNodeAttributeCommand.h: Removed unnneeded document parameter.
2334         * editing/SetNodeAttributeCommand.cpp:
2335         (WebCore::SetNodeAttributeCommand::SetNodeAttributeCommand): Ditto.
2336
2337         * editing/SplitElementCommand.h: Removed unnneeded document parameter.
2338         * editing/SplitElementCommand.cpp:
2339         (WebCore::SplitElementCommand::SplitElementCommand): Ditto.
2340
2341         * editing/SplitTextNodeCommand.h: Removed unnneeded document parameter.
2342         * editing/SplitTextNodeCommand.cpp:
2343         (WebCore::SplitTextNodeCommand::SplitTextNodeCommand): Ditto.
2344
2345         * editing/SplitTextNodeContainingElementCommand.h: Removed unnneeded document parameter.
2346         * editing/SplitTextNodeContainingElementCommand.cpp:
2347         (WebCore::SplitTextNodeContainingElementCommand::SplitTextNodeContainingElementCommand): Ditto.
2348
2349         * editing/TypingCommand.h: Replaced uses of EditCommandPtr with EditCommand*.
2350         Renamed openForMoveTyping() with isOpenForMoreTyping().
2351         * editing/TypingCommand.cpp:
2352         (WebCore::TypingCommand::deleteKeyPressed): Updated to remove use of EditCommandPtr.
2353         (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
2354         (WebCore::TypingCommand::insertText): Ditto.
2355         (WebCore::TypingCommand::insertLineBreak): Ditto.
2356         (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent): Ditto.
2357         (WebCore::TypingCommand::insertParagraphSeparator): Ditto.
2358         (WebCore::TypingCommand::isOpenForMoreTypingCommand): Ditto.
2359         (WebCore::TypingCommand::closeTyping): Ditto.
2360         (WebCore::TypingCommand::typingAddedToOpenCommand): Ditto.
2361         (WebCore::TypingCommand::insertTextRunWithoutNewlines): Ditto.
2362
2363         * editing/WrapContentsInDummySpanCommand.h: Removed unnneeded document parameter.
2364         * editing/WrapContentsInDummySpanCommand.cpp:
2365         (WebCore::WrapContentsInDummySpanCommand::WrapContentsInDummySpanCommand): Ditto.
2366
2367         * editing/htmlediting.h: Changed type of NON_BREAKING_SPACE to UChar instead of
2368         unsigned short.
2369
2370         * page/Frame.h: Changed lastEditCommand() to return an EditCommand* and changed
2371         appliedEditing(), unappliedEditing(), reappliedEditing(), registerCommandForUndo(),
2372         and registerCommandForRedo() to take PassRefPtr<EditCommand>.
2373         * page/FramePrivate.h: Changed m_lastEditCommand to be a RefPtr<EditCommand>.
2374         * page/Frame.cpp:
2375         (WebCore::Frame::didOpenURL): Fixed for change to m_lastEditCommand.
2376         (WebCore::Frame::setFocusNodeIfNeeded): Call the rootEditableElement function
2377         from Selection to simplify the code.
2378         (WebCore::Frame::selectAll): Ditto.
2379         (WebCore::Frame::lastEditCommand): Updated for change to m_lastEditCommand.
2380         (WebCore::dispatchEditableContentChangedEvents): Added. This sends an event to
2381         both of the root editable elements involved in a change -- the start selection
2382         might be in a different element than the end selection.
2383         (WebCore::Frame::appliedEditing): Changed to call dispatchEditableContentChangedEvents,
2384         and to do it before setting the ending selection. Also update to use PassRefPtr instead
2385         of EditCommandPtr and change the order of setting m_lastEditCommand since passing it
2386         to registerCommandForUndo will take ownership and set it to 0.
2387         (WebCore::Frame::unappliedEditing): Ditto.
2388         (WebCore::Frame::reappliedEditing): Ditto.
2389         (WebCore::Frame::computeAndSetTypingStyle): Updated for removal of EditCommandPtr.
2390         (WebCore::Frame::applyStyle): Ditto.
2391         (WebCore::Frame::applyParagraphStyle): Ditto.
2392
2393         * platform/gdk/FrameGdk.h: Updated for above changes.
2394         * platform/gdk/TemporaryLinkStubs.cpp: Updated for above changes.
2395         * platform/win/TemporaryLinkStubs.cpp: Updated for above changes.
2396
2397 2006-08-24  Brady Eidson  <beidson@apple.com>
2398
2399         Reviewed by Alice
2400
2401         <rdar://problem/4697973> - Unacceptable delay on startup
2402         <rdar://problem/4690949> - Need to correctly prune unretained pageurls and icons on startup
2403
2404         This patch was started by me and finished by Mark Rowe - we now special case all retains during
2405         startup into one huge sql transaction.  Also we track PageURL retains instead of IconURLs so pruning works right.
2406         Testing with reasonable sets of bookmarks/history (3000), startup time is neglibile.  Testing with a huge set of 
2407         bookmarks (40,000), startup has a noticable delay, but reasonable, and is inline with shipping safari which also 
2408         has a noticeable delay.
2409
2410         * loader/icon/IconDatabase.cpp:
2411         (WebCore::IconDatabase::IconDatabase):
2412         (WebCore::IconDatabase::open): adding an initialStartupTransaction and pageRetainStatement
2413         (WebCore::IconDatabase::close): do cleanup on the initialStartupSQL stuff
2414         (WebCore::IconDatabase::retainIconForPageURL): Track initial PageURL retains in the temporary table
2415         (WebCore::IconDatabase::releaseIconForPageURL): Ditto
2416         (WebCore::IconDatabase::retainIconURL): We no longer special case this on startup
2417         (WebCore::IconDatabase::releaseIconURL): We no longer special case this on startup
2418         (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Handle the big transaction correctly and quickly
2419         (WebCore::IconDatabase::syncDatabase): Change the timing log message
2420         * loader/icon/IconDatabase.h:
2421         * loader/icon/SQLStatement.cpp:
2422         (WebCore::SQLStatement::bindText16): Added this - for reusing commonly used statements by just rebinding parameters.
2423         * loader/icon/SQLStatement.h:
2424
2425 2006-08-24  Nikolas Zimmermann  <zimmermann@kde.org>
2426
2427         Reviewed/landed by Adam.
2428
2429         Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
2430         WebKit should have Qt platform support
2431
2432         * CMakeLists.txt:
2433             Remove KCanvasMatrix.cpp because it no longer exists
2434             Remove platform/qt/test
2435         * platform/FloatSize.h:
2436         * platform/image-decoders/bmp/BMPImageDecoder.cpp:
2437         * platform/image-decoders/gif/GIFImageDecoder.cpp:
2438         * platform/image-decoders/gif/GIFImageReader.cpp:
2439         * platform/image-decoders/ico/ICOImageDecoder.cpp:
2440         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2441         * platform/image-decoders/png/PNGImageDecoder.cpp:
2442         * platform/image-decoders/xbm/XBMImageDecoder.cpp:
2443             Added PLATFORM(QT) hooks in the image-decoders/, as they also need
2444             to work for Qt, not only for Cairo.
2445         * platform/qt/qt-encodings.txt: Added (required for build).
2446
2447 2006-08-24  Adam Roben  <aroben@apple.com>
2448
2449         Fixing a typo from last patch.
2450
2451         * kcanvas/device/qt/KRenderingPaintServerQt.cpp:
2452         (WebCore::KRenderingPaintServerQt::setPenProperties):
2453
2454 2006-08-24  Nikolas Zimmermann  <zimmermann@kde.org>
2455
2456         Reviewed/landed by Adam.
2457
2458         Final cleanup to conform to WebKit coding style!
2459
2460         * kcanvas/device/qt/KCanvasClipperQt.cpp:
2461         (WebCore::KCanvasClipperQt::applyClip):
2462         * kcanvas/device/qt/KCanvasClipperQt.h:
2463         * kcanvas/device/qt/KCanvasPathQt.cpp:
2464         * kcanvas/device/qt/KCanvasPathQt.h:
2465         * kcanvas/device/qt/KRenderingDeviceQt.cpp:
2466         * kcanvas/device/qt/KRenderingDeviceQt.h:
2467         * kcanvas/device/qt/KRenderingPaintServerGradientQt.cpp:
2468         (WebCore::KRenderingPaintServerLinearGradientQt::KRenderingPaintServerLinearGradientQt):
2469         (WebCore::KRenderingPaintServerRadialGradientQt::KRenderingPaintServerRadialGradientQt):
2470         * kcanvas/device/qt/KRenderingPaintServerGradientQt.h:
2471         * kcanvas/device/qt/KRenderingPaintServerPatternQt.cpp:
2472         (WebCore::KRenderingPaintServerPatternQt::KRenderingPaintServerPatternQt):
2473         * kcanvas/device/qt/KRenderingPaintServerPatternQt.h:
2474         * kcanvas/device/qt/KRenderingPaintServerQt.cpp:
2475         (WebCore::KRenderingPaintServerQt::setPenProperties):
2476         * kcanvas/device/qt/KRenderingPaintServerQt.h:
2477         * kcanvas/device/qt/KRenderingPaintServerSolidQt.cpp:
2478         (WebCore::KRenderingPaintServerSolidQt::KRenderingPaintServerSolidQt):
2479         (WebCore::KRenderingPaintServerSolidQt::renderPath):
2480         * kcanvas/device/qt/KRenderingPaintServerSolidQt.h:
2481         * kcanvas/device/qt/RenderPathQt.cpp:
2482         * kcanvas/device/qt/RenderPathQt.h:
2483         * platform/qt/AffineTransformQt.cpp:
2484         * platform/qt/BrowserExtensionQt.cpp:
2485         * platform/qt/BrowserExtensionQt.h:
2486         * platform/qt/ColorQt.cpp:
2487         (WebCore::Color::Color):
2488         * platform/qt/ComboBoxQt.cpp:
2489         (WebCore::PlatformComboBox::PlatformComboBox):
2490         (WebCore::PlatformComboBox::~PlatformComboBox):
2491         (WebCore::PlatformComboBox::setParentWidget):
2492         (WebCore::PlatformComboBox::appendGroupLabel):
2493         * platform/qt/CookieJarQt.cpp:
2494         * platform/qt/CursorQt.cpp:
2495         (WebCore::Cursors::Cursors::self):
2496         * platform/qt/FloatPointQt.cpp:
2497         * platform/qt/FloatRectQt.cpp:
2498         * platform/qt/FontCacheQt.cpp:
2499         (WebCore::FontCache::getSimilarFontPlatformData):
2500         (WebCore::FontCache::createFontPlatformData):
2501         * platform/qt/FontDataQt.cpp:
2502         * platform/qt/FontPlatformData.h:
2503         * platform/qt/FontPlatformDataQt.cpp:
2504         * platform/qt/FontQt.cpp:
2505         (WebCore::Font::operator QFont):
2506         (WebCore::Font::drawComplexText):
2507         (WebCore::Font::floatWidthForComplexText):
2508         * platform/qt/FrameQt.cpp:
2509         (WebCore::FrameQt::openURL):
2510         (WebCore::FrameQt::submitForm):
2511         (WebCore::FrameQt::urlSelected):
2512         (WebCore::FrameQt::keyEvent):
2513         * platform/qt/FrameQt.h:
2514         * platform/qt/GlyphMapQt.cpp:
2515         * platform/qt/GraphicsContextQt.cpp:
2516         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
2517         (WebCore::GraphicsContext::GraphicsContext):
2518         (WebCore::GraphicsContext::drawConvexPolygon):
2519         (WebCore::GraphicsContext::setFocusRingClip):
2520         (WebCore::GraphicsContext::clip):
2521         * platform/qt/ImageQt.cpp:
2522         (WebCore::Image::draw):
2523         (WebCore::Image::drawTiled):
2524         * platform/qt/ImageSourceQt.cpp:
2525         * platform/qt/IntPointQt.cpp:
2526         * platform/qt/IntRectQt.cpp:
2527         * platform/qt/IntSizeQt.cpp:
2528         * platform/qt/LineEditQt.cpp:
2529         (WebCore::PlatformLineEdit::PlatformLineEdit):
2530         (WebCore::PlatformLineEdit::~PlatformLineEdit):
2531         (WebCore::PlatformLineEdit::setParentWidget):
2532         (WebCore::PlatformLineEdit::addSearchResult):
2533         * platform/qt/ListBoxQt.cpp:
2534         (WebCore::ListBox::ListBox):
2535         (WebCore::ListBox::~ListBox):
2536         (WebCore::ListBox::setParentWidget):
2537         * platform/qt/PageQt.cpp:
2538         (WebCore::Page::windowRect):
2539         (WebCore::Page::setWindowRect):
2540         * platform/qt/PathQt.cpp:
2541         (WebCore::Path::addArc):
2542         * platform/qt/PlatformKeyboardEventQt.cpp:
2543         (WebCore::windowsKeyCodeForKeyEvent):
2544         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2545         * platform/qt/PlatformMouseEventQt.cpp:
2546         * platform/qt/RenderThemeQt.cpp:
2547         (WebCore::RenderThemeQt::getStylePainterAndWidgetFromPaintInfo):
2548         (WebCore::RenderThemeQt::applyTheme):
2549         (WebCore::RenderThemeQt::paintButton):
2550         (WebCore::RenderThemeQt::paintTextField):
2551         * platform/qt/ResourceLoaderCurl.cpp:
2552         (WebCore::ResourceLoader::assembleResponseHeaders):
2553         (WebCore::ResourceLoader::retrieveCharset):
2554         (WebCore::ResourceLoader::receivedResponse):
2555         * platform/qt/ResourceLoaderManager.cpp:
2556         (WebCore::ResourceLoaderManager::add):
2557         * platform/qt/ResourceLoaderManager.h:
2558         * platform/qt/ScreenQt.cpp:
2559         * platform/qt/ScrollViewCanvasQt.cpp:
2560         (WebCore::ScrollViewCanvasQt::handleKeyEvent):
2561         * platform/qt/ScrollViewCanvasQt.h:
2562         * platform/qt/ScrollViewQt.cpp:
2563         * platform/qt/SharedTimerQt.cpp:
2564         * platform/qt/SharedTimerQt.h:
2565         (WebCore::SharedTimerQt::inst):
2566         * platform/qt/StringQt.cpp:
2567         * platform/qt/SystemTimeQt.cpp:
2568         * platform/qt/TemporaryLinkStubs.cpp:
2569         * platform/qt/TextEditQt.cpp:
2570         (WebCore::PlatformTextEdit::PlatformTextEdit):
2571         (WebCore::PlatformTextEdit::~PlatformTextEdit):
2572         (WebCore::PlatformTextEdit::setParentWidget):
2573         * platform/qt/WidgetQt.cpp:
2574         (WebCore::Widget::setQWidget):
2575
2576 2006-08-24  Nikolas Zimmermann  <zimmermann@kde.org>
2577
2578         Reviewed and landed by Anders.
2579
2580         Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
2581         WebKit should have Qt platform support
2582
2583         * CMakeLists.txt:
2584         * platform/qt/FrameQt.cpp: Added.
2585         (WebCore::doScroll):
2586         (WebCore::FrameView::isFrameView):
2587         (WebCore::FrameQt::FrameQt):
2588         (WebCore::FrameQt::init):
2589         (WebCore::FrameQt::~FrameQt):
2590         (WebCore::FrameQt::openURL):
2591         (WebCore::FrameQt::submitForm):
2592         (WebCore::FrameQt::urlSelected):
2593         (WebCore::FrameQt::userAgent):
2594         (WebCore::FrameQt::runJavaScriptAlert):
2595         (WebCore::FrameQt::runJavaScriptConfirm):
2596         (WebCore::FrameQt::locationbarVisible):
2597         (WebCore::FrameQt::setTitle):
2598         (WebCore::FrameQt::createFrame):
2599         (WebCore::FrameQt::passWheelEventToChildWidget):
2600         (WebCore::FrameQt::passSubframeEventToSubframe):
2601         (WebCore::FrameQt::objectContentType):
2602         (WebCore::FrameQt::createPlugin):
2603         (WebCore::FrameQt::passMouseDownEventToWidget):
2604         (WebCore::FrameQt::menubarVisible):
2605         (WebCore::FrameQt::personalbarVisible):
2606         (WebCore::FrameQt::statusbarVisible):
2607         (WebCore::FrameQt::toolbarVisible):
2608         (WebCore::FrameQt::createEmptyDocument):
2609         (WebCore::FrameQt::markedTextRange):
2610         (WebCore::FrameQt::incomingReferrer):
2611         (WebCore::FrameQt::mimeTypeForFileName):
2612         (WebCore::FrameQt::markMisspellingsInAdjacentWords):
2613         (WebCore::FrameQt::markMisspellings):
2614         (WebCore::FrameQt::lastEventIsMouseUp):
2615         (WebCore::FrameQt::saveDocumentState):
2616         (WebCore::FrameQt::restoreDocumentState):
2617         (WebCore::FrameQt::openURLRequest):
2618         (WebCore::FrameQt::scheduleClose):
2619         (WebCore::FrameQt::unfocusWindow):
2620         (WebCore::FrameQt::focusWindow):
2621         (WebCore::FrameQt::overrideMediaType):
2622         (WebCore::FrameQt::addMessageToConsole):
2623         (WebCore::FrameQt::runJavaScriptPrompt):
2624         (WebCore::FrameQt::getEmbedInstanceForWidget):
2625         (WebCore::FrameQt::getObjectInstanceForWidget):
2626         (WebCore::FrameQt::getAppletInstanceForWidget):
2627         (WebCore::FrameQt::registerCommandForUndo):
2628         (WebCore::FrameQt::registerCommandForRedo):
2629         (WebCore::FrameQt::clearUndoRedoOperations):
2630         (WebCore::FrameQt::issueUndoCommand):
2631         (WebCore::FrameQt::issueRedoCommand):
2632         (WebCore::FrameQt::issueCutCommand):
2633         (WebCore::FrameQt::issueCopyCommand):
2634         (WebCore::FrameQt::issuePasteCommand):
2635         (WebCore::FrameQt::issuePasteAndMatchStyleCommand):
2636         (WebCore::FrameQt::issueTransposeCommand):
2637         (WebCore::FrameQt::respondToChangedSelection):
2638         (WebCore::FrameQt::respondToChangedContents):
2639         (WebCore::FrameQt::shouldChangeSelection):
2640         (WebCore::FrameQt::partClearedInBegin):
2641         (WebCore::FrameQt::canGoBackOrForward):
2642         (WebCore::FrameQt::handledOnloadEvents):
2643         (WebCore::FrameQt::canPaste):
2644         (WebCore::FrameQt::canRedo):
2645         (WebCore::FrameQt::canUndo):
2646         (WebCore::FrameQt::print):
2647         (WebCore::FrameQt::shouldInterruptJavaScript):
2648         (WebCore::FrameQt::keyEvent):
2649         (WebCore::FrameQt::receivedResponse):
2650         (WebCore::FrameQt::receivedData):
2651         (WebCore::FrameQt::receivedAllData):
2652         (WebCore::FrameQt::setFrameGeometry):
2653         * platform/qt/FrameQt.h: Added.
2654         * platform/qt/ScrollViewCanvasQt.cpp: Added.
2655         (WebCore::ScrollViewCanvasQt::ScrollViewCanvasQt):
2656         (WebCore::ScrollViewCanvasQt::paintEvent):
2657         (WebCore::ScrollViewCanvasQt::sizeHint):
2658         (WebCore::ScrollViewCanvasQt::mouseMoveEvent):
2659         (WebCore::ScrollViewCanvasQt::mousePressEvent):
2660         (WebCore::ScrollViewCanvasQt::mouseReleaseEvent):
2661         (WebCore::ScrollViewCanvasQt::keyPressEvent):
2662         (WebCore::ScrollViewCanvasQt::keyReleaseEvent):
2663         (WebCore::ScrollViewCanvasQt::handleKeyEvent):
2664         * platform/qt/ScrollViewCanvasQt.h: Added.
2665         * platform/qt/ScrollViewQt.cpp:
2666         (WebCore::ScrollView::setParentWidget):
2667
2668 2006-08-24  Nikolas Zimmermann  <zimmermann@kde.org>
2669
2670         Reviewed by ap.
2671
2672         Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
2673         WebKit should have Qt platform support
2674
2675         * platform/qt/FontCacheQt.cpp: Added.
2676         (WebCore::FontCache::platformInit):
2677         (WebCore::FontCache::getFontDataForCharacters):
2678         (WebCore::FontCache::getSimilarFontPlatformData):
2679         (WebCore::FontCache::getLastResortFallbackFont):
2680         (WebCore::FontCache::createFontPlatformData):
2681         * platform/qt/FontDataQt.cpp: Added.
2682         (WebCore::FontData::platformInit):
2683         (WebCore::FontData::platformDestroy):
2684         (WebCore::FontData::smallCapsFontData):
2685         (WebCore::FontData::containsCharacters):
2686         (WebCore::FontData::determinePitch):
2687         (WebCore::FontData::platformWidthForGlyph):
2688         * platform/qt/FontPlatformData.h: Added.
2689         * platform/qt/FontPlatformDataQt.cpp: Added.
2690         (WebCore::FontPlatformData::FontPlatformData):
2691         (WebCore::FontPlatformData::operator=):
2692         (WebCore::FontPlatformData::~FontPlatformData):
2693         (WebCore::FontPlatformData::isFixedPitch):
2694         (WebCore::FontPlatformData::setFont):
2695         (WebCore::FontPlatformData::font):
2696         (WebCore::FontPlatformData::hash):
2697         (WebCore::FontPlatformData::operator==):
2698         * platform/qt/FontQt.cpp: Added.
2699         (WebCore::Font::operator QFont):
2700         (WebCore::Font::drawGlyphs):
2701         (WebCore::Font::drawComplexText):
2702         (WebCore::Font::floatWidthForComplexText):
2703         * platform/qt/GlyphMapQt.cpp: Added.
2704         (WebCore::GlyphMap::fillPage):
2705
2706 2006-08-24  David Harrison  <harrison@apple.com>
2707
2708         Reinstate r15966 because layout test changes are correct.
2709
2710         <rdar://problem/4522205> Represent controls in AXAttributedStringForTextMarkerRange
2711
2712         * editing/TextIterator.cpp:
2713         (WebCore::TextIterator::advance):
2714
2715 2006-08-24  Nikolas Zimmermann  <zimmermann@kde.org>
2716
2717         Reviewed by ap.
2718
2719         http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
2720         WebKit should have Qt platform support (Part II)
2721
2722         Adapt the KCanvas Qt device to Rob's KCanvasMatrix removal.
2723         Use AffineTransform everywhere instead.
2724
2725         * kcanvas/device/qt/KRenderingDeviceQt.cpp:
2726         (WebCore::KRenderingDeviceContextQt::KRenderingDeviceContextQt):
2727         (WebCore::KRenderingDeviceContextQt::concatCTM):
2728         (WebCore::KRenderingDeviceContextQt::ctm):
2729         * kcanvas/device/qt/KRenderingDeviceQt.h:
2730         * kcanvas/device/qt/KRenderingPaintServerGradientQt.cpp:
2731         (WebCore::KRenderingPaintServerLinearGradientQt::setup):
2732         (WebCore::KRenderingPaintServerRadialGradientQt::setup):
2733
2734 2006-08-24  Rob Buis  <buis@kde.org>
2735
2736         Reviewed by Darin.
2737
2738         http://bugzilla.opendarwin.org/show_bug.cgi?id=10524
2739         svg transform: comma delimiting breaks display
2740
2741         Properly parse transforms which use ',' as seperators.
2742
2743         * ksvg2/svg/SVGTransformable.cpp:
2744         (SVGTransformable::parseTransformAttribute):
2745
2746 2006-08-23  Darin Adler  <darin@apple.com>
2747
2748         Reviewed by Maciej.
2749
2750         - added an assert to make it slightly easier to debug the common case of
2751           calling document() on a node of 0
2752
2753         * dom/Node.h: (WebCore::Node::document): ASSERT(this).
2754
2755 2006-08-23  David Hyatt  <hyatt@apple.com>
2756
2757         Refactor Cairo and CoreGraphics to use platform ifdefs.  This patch
2758         separates the graphics engines from their respective platforms and replaces
2759         #ifdef PLATFORM(MAC) and PLATFORM(WIN) with PLATFORM(CG) and PLATFORM(CAIRO).
2760
2761         Reviewed by darin
2762
2763         * WebCore.xcodeproj/project.pbxproj:
2764         * platform/AffineTransform.h:
2765         * platform/Color.h:
2766         * platform/Cursor.h:
2767         * platform/FloatPoint.h:
2768         * platform/FloatRect.h:
2769         * platform/FloatSize.h:
2770         * platform/Font.h:
2771         * platform/FontData.h:
2772         * platform/GlyphBuffer.h:
2773         (WebCore::GlyphBuffer::glyphAt):
2774         (WebCore::GlyphBuffer::advanceAt):
2775         (WebCore::GlyphBuffer::add):
2776         * platform/GraphicsContext.h:
2777         * platform/Image.h:
2778         * platform/ImageSource.h:
2779         * platform/IntPoint.h:
2780         * platform/IntRect.h:
2781         * platform/IntSize.h:
2782         * platform/ResourceLoader.h:
2783         * platform/ResourceLoaderClient.h:
2784         * platform/Widget.h:
2785         * platform/cairo/GraphicsContextCairo.cpp:
2786         * platform/cairo/ImageCairo.cpp:
2787         * platform/cairo/ImageSourceCairo.cpp:
2788         * platform/cg/AffineTransformCG.cpp:
2789         * platform/cg/FloatPointCG.cpp: Added.
2790         * platform/cg/FloatRectCG.cpp: Added.
2791         * platform/cg/FloatSizeCG.cpp: Added.
2792         * platform/cg/GraphicsContextCG.cpp:
2793         (WebCore::GraphicsContext::GraphicsContext):
2794         (WebCore::GraphicsContext::~GraphicsContext):
2795         (WebCore::GraphicsContext::setFocusRingClip):
2796         (WebCore::GraphicsContext::clearFocusRingClip):
2797         (WebCore::GraphicsContext::platformContext):
2798         (WebCore::GraphicsContext::drawRect):
2799         (WebCore::GraphicsContext::drawLine):
2800         * platform/cg/GraphicsContextPlatformPrivate.h: Added.
2801         (WebCore::GraphicsContextPlatformPrivate:::m_cgContext):
2802         (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
2803         * platform/cg/ImageCG.cpp: Added.
2804         (WebCore::Image::drawTiled):
2805         * platform/cg/ImageSourceCG.cpp: Added.
2806         * platform/cg/IntPointCG.cpp: Added.
2807         * platform/cg/IntRectCG.cpp: Added.
2808         * platform/cg/IntSizeCG.cpp: Added.
2809         * platform/cg/PDFDocumentImage.cpp: Added.
2810         (WebCore::PDFDocumentImage::adjustCTM):
2811         * platform/cg/PDFDocumentImage.h: Added.
2812         * platform/cg/PathCG.cpp:
2813         * platform/image-decoders/bmp/BMPImageDecoder.cpp:
2814         * platform/image-decoders/gif/GIFImageDecoder.cpp:
2815         * platform/image-decoders/gif/GIFImageReader.cpp:
2816         * platform/image-decoders/ico/ICOImageDecoder.cpp:
2817         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2818         * platform/image-decoders/png/PNGImageDecoder.cpp:
2819         * platform/image-decoders/xbm/XBMImageDecoder.cpp:
2820         * platform/mac/FloatPointMac.mm:
2821         * platform/mac/FloatRectMac.mm:
2822         * platform/mac/FloatSizeMac.mm:
2823         * platform/mac/GraphicsContextMac.mm:
2824         * platform/mac/ImageMac.mm:
2825         * platform/mac/ImageSourceMac.cpp: Removed.
2826         * platform/mac/IntPointMac.mm:
2827         * platform/mac/IntRectMac.mm:
2828         * platform/mac/IntSizeMac.mm:
2829         * platform/mac/PDFDocumentImage.h: Removed.
2830         * platform/mac/PDFDocumentImage.mm: Removed.
2831
2832 2006-08-23  David Hyatt  <hyatt@apple.com>
2833
2834         Remove the ifdef for platform scrollbars vs. engine scrollbars until
2835         engine scrollbars actually exist.
2836
2837         * platform/ScrollBar.h:
2838         (WebCore::ScrollBar::hasPlatformScrollBars):
2839
2840 2006-08-23  Justin Garcia  <justin.garcia@apple.com>
2841
2842         Reviewed by harrison
2843         
2844         Removed the poorly named next/previousVisiblePosition
2845         and use next/previousCandidate and next/previousVisuallyDistinctCandidate.
2846         Removed the unused VisiblePosition::maxOffset()
2847
2848         * editing/VisiblePosition.cpp:
2849         (WebCore::VisiblePosition::next):
2850         (WebCore::VisiblePosition::previous):
2851         (WebCore::VisiblePosition::canonicalPosition):
2852         * editing/VisiblePosition.h: 
2853
2854 2006-08-23  Nikolas Zimmermann  <zimmermann@kde.org>
2855
2856         Reviewed by Alexey. Landed by rwlbuis.
2857
2858         Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
2859         WebKit should have Qt platform support (Part II)
2860
2861         * platform/qt/GraphicsContextQt.cpp: Added.
2862         (WebCore::toQtCompositionMode):
2863         (WebCore::toQtLineCap):
2864         (WebCore::toQtLineJoin):
2865         (WebCore::TransparencyLayer::TransparencyLayer):
2866         (WebCore::TransparencyLayer::cleanup):
2867         (WebCore::TextShadow::TextShadow):
2868         (WebCore::TextShadow::isNull):
2869         (WebCore::GraphicsContextPlatformPrivate::p):
2870         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
2871         (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
2872         (WebCore::GraphicsContext::GraphicsContext):
2873         (WebCore::GraphicsContext::~GraphicsContext):
2874         (WebCore::GraphicsContext::platformContext):
2875         (WebCore::GraphicsContext::savePlatformState):
2876         (WebCore::GraphicsContext::restorePlatformState):
2877         (WebCore::GraphicsContext::drawRect):
2878         (WebCore::adjustLineToPixelBounderies):
2879         (WebCore::GraphicsContext::drawLine):
2880         (WebCore::GraphicsContext::drawEllipse):
2881         (WebCore::GraphicsContext::drawArc):
2882         (WebCore::GraphicsContext::drawConvexPolygon):
2883         (WebCore::GraphicsContext::fillRect):
2884         (WebCore::GraphicsContext::addClip):
2885         (WebCore::GraphicsContext::drawFocusRing):
2886         (WebCore::GraphicsContext::setFocusRingClip):
2887         (WebCore::GraphicsContext::clearFocusRingClip):
2888         (WebCore::GraphicsContext::drawLineForText):
2889         (WebCore::GraphicsContext::drawLineForMisspelling):
2890         (WebCore::GraphicsContext::roundToDevicePixels):
2891         (WebCore::GraphicsContext::setShadow):
2892         (WebCore::GraphicsContext::clearShadow):
2893         (WebCore::GraphicsContext::beginTransparencyLayer):
2894         (WebCore::GraphicsContext::endTransparencyLayer):
2895         (WebCore::GraphicsContext::clearRect):
2896         (WebCore::GraphicsContext::strokeRect):
2897         (WebCore::GraphicsContext::setLineWidth):
2898         (WebCore::GraphicsContext::setLineCap):
2899         (WebCore::GraphicsContext::setLineJoin):
2900         (WebCore::GraphicsContext::setMiterLimit):
2901         (WebCore::GraphicsContext::setAlpha):
2902         (WebCore::GraphicsContext::setCompositeOperation):
2903         (WebCore::GraphicsContext::clip):
2904         (WebCore::GraphicsContext::translate):
2905         (WebCore::GraphicsContext::rotate):
2906         (WebCore::GraphicsContext::scale):
2907         (WebCore::GraphicsContext::addInnerRoundedRectClip):
2908         (WebCore::GraphicsContext::addRoundedRectClip):
2909         (WebCore::GraphicsContext::createRenderingDeviceContext):
2910         * platform/qt/ImageQt.cpp: Added.
2911         (WebCore::FrameData::clear):
2912         (WebCore::Image::initNativeData):
2913         (WebCore::Image::destroyNativeData):
2914         (WebCore::Image::invalidateNativeData):
2915         (WebCore::Image::loadResource):
2916         (WebCore::Image::supportsType):
2917         (WebCore::Image::draw):
2918         (WebCore::Image::drawTiled):
2919         (WebCore::Image::checkForSolidColor):
2920         * platform/qt/ImageSourceQt.cpp: Added.
2921         (WebCore::createDecoder):
2922         (WebCore::ImageSource::ImageSource):
2923         (WebCore::ImageSource::~ImageSource):
2924         (WebCore::ImageSource::initialized):
2925         (WebCore::ImageSource::setData):
2926         (WebCore::ImageSource::isSizeAvailable):
2927         (WebCore::ImageSource::size):
2928         (WebCore::ImageSource::repetitionCount):
2929         (WebCore::ImageSource::frameCount):
2930         (WebCore::ImageSource::createFrameAtIndex):
2931         (WebCore::ImageSource::frameDurationAtIndex):
2932         (WebCore::ImageSource::frameHasAlphaAtIndex):
2933
2934 2006-08-23  Brady Eidson  <beidson@apple.com>
2935
2936         Reviewed by Adele
2937
2938         Moved default URL icon from WebKit to WebCore
2939
2940         * Resources/urlIcon.tiff: Added.
2941         * WebCore.xcodeproj/project.pbxproj:
2942         * loader/icon/IconDataCache.cpp:
2943         (WebCore::IconDataCache::loadImageFromResource):
2944         * loader/icon/IconDataCache.h:
2945         * loader/icon/IconDatabase.cpp:
2946         (WebCore::IconDatabase::IconDatabase):
2947         (WebCore::IconDatabase::defaultIcon):
2948         * loader/icon/IconDatabase.h:
2949
2950 2006-08-23  Adam Roben  <aroben@apple.com>
2951
2952         Reviewed by Darin, Adele.
2953
2954         Some popup refactoring/cleanup.
2955
2956         * html/HTMLSelectElement.cpp:
2957         (WebCore::HTMLSelectElement::defaultEventHandler):
2958         * rendering/RenderMenuList.cpp:
2959         (WebCore::RenderMenuList::RenderMenuList):
2960         (WebCore::RenderMenuList::~RenderMenuList):
2961         (WebCore::RenderMenuList::showPopup):
2962         (WebCore::RenderMenuList::hidePopup):
2963         * rendering/RenderMenuList.h:
2964         (WebCore::RenderMenuList::popup):
2965         (WebCore::RenderMenuList::popupIsVisible):
2966         * rendering/RenderPopupMenu.h:
2967         * rendering/RenderPopupMenuMac.h:
2968         (WebCore::RenderPopupMenuMac::hidePopup):
2969
2970 2006-08-23  Nikolas Zimmermann  <zimmermann@kde.org>
2971
2972         Reviewed by Anders. Landed by rwlbuis.
2973
2974         Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
2975         WebKit should have Qt platform support
2976
2977         * platform/qt/ResourceLoaderCurl.cpp: Added.
2978         (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
2979         (WebCore::ResourceLoader::~ResourceLoader):
2980         (WebCore::ResourceLoader::start):
2981         (WebCore::ResourceLoader::cancel):
2982         (WebCore::ResourceLoader::assembleResponseHeaders):
2983         (WebCore::ResourceLoader::retrieveCharset):
2984         (WebCore::ResourceLoader::receivedResponse):
2985         * platform/qt/ResourceLoaderManager.cpp: Added.
2986         (WebCore::ResourceLoaderManager::ResourceLoaderManager):
2987         (WebCore::ResourceLoaderManager::get):
2988         (WebCore::ResourceLoaderManager::useSimpleTransfer):
2989         (WebCore::writeCallback):
2990         (WebCore::headerCallback):
2991         (WebCore::ResourceLoaderManager::downloadTimerCallback):
2992         (WebCore::ResourceLoaderManager::remove):
2993         (WebCore::ResourceLoaderManager::add):
2994         (WebCore::ResourceLoaderManager::cancel):
2995         * platform/qt/ResourceLoaderManager.h: Added.
2996         * platform/qt/StringQt.cpp: Added.
2997         (WebCore::String::String):
2998         (WebCore::String::operator QString):
2999         (WebCore::DeprecatedString::operator QString):
3000
3001 2006-08-23  Brady Eidson  <beidson@apple.com>
3002
3003         Reviewed by Maciej
3004
3005         Added escapeSQLString() - a helper to escape strings to be used in textual SQL queries
3006
3007         * WebCore.xcodeproj/project.pbxproj: Reordered some files
3008         * loader/icon/IconDataCache.cpp: Use the new escapeSQLString()
3009         (WebCore::IconDataCache::writeToDatabase):
3010         * loader/icon/IconDatabase.cpp: Use the new escapeSQLString() throughout
3011         (WebCore::IconDatabase::retainIconURL):
3012         (WebCore::IconDatabase::releaseIconURL):
3013         (WebCore::IconDatabase::forgetIconForIconURLFromDatabase):
3014         (WebCore::IconDatabase::establishIconIDForIconURL):
3015         (WebCore::imageDataForIconURLQuery):
3016         (WebCore::timeStampForIconURLQuery):
3017         (WebCore::iconURLForPageURLQuery):
3018         (WebCore::forgetPageURLQuery):
3019         (WebCore::setIconIDForPageURLQuery):
3020         (WebCore::getIconIDForIconURLQuery):
3021         (WebCore::addIconForIconURLQuery):
3022         (WebCore::hasIconForIconURLQuery):
3023         * loader/icon/SQLDatabase.h:
3024         (WebCore::escapeSQLString): Added
3025
3026 2006-08-22  Maciej Stachowiak  <mjs@apple.com>
3027
3028         Reviewed by Brady.
3029
3030         - assorted style cleanup of icon loader code:
3031         
3032         - wrapped all implementation files in namespace WebCore {} instead of "using namespace WebCore;" at top
3033         - split headers to be one per class, to match impl files
3034         - made files that are purely local in IconDatabase.cpp static
3035         - make each impl file include config.h as first header (and no config.h includes in other headers)
3036         - avoid multiple copies of Vector<unsigned char> for image data
3037
3038         * WebCore.xcodeproj/project.pbxproj:
3039         * loader/icon/IconDataCache.cpp:
3040         * loader/icon/IconDataCache.h: Added.
3041         (WebCore::):
3042         (WebCore::IconDataCache::getTimestamp):
3043         (WebCore::IconDataCache::setTimestamp):
3044         (WebCore::IconDataCache::getIconURL):
3045         * loader/icon/IconDatabase.cpp:
3046         (WebCore::IconDatabase::imageDataForIconURL):
3047         (WebCore::IconDatabase::iconForPageURL):
3048         (WebCore::pageURLTableIsEmptyQuery):
3049         (WebCore::imageDataForIconURLQuery):
3050         (WebCore::timeStampForIconURLQuery):
3051         (WebCore::iconURLForPageURLQuery):
3052         (WebCore::forgetPageURLQuery):
3053         (WebCore::setIconIDForPageURLQuery):
3054         (WebCore::getIconIDForIconURLQuery):
3055         (WebCore::addIconForIconURLQuery):
3056         (WebCore::hasIconForIconURLQuery):
3057         * loader/icon/IconDatabase.h:
3058         * loader/icon/SQLDatabase.cpp:
3059         * loader/icon/SQLDatabase.h:
3060         * loader/icon/SQLStatement.cpp:
3061         (WebCore::SQLStatement::getColumnBlobAsVector):
3062         * loader/icon/SQLStatement.h: Added.
3063         (WebCore::SQLStatement::isPrepared):
3064         (WebCore::SQLStatement::prepareAndStep):
3065         (WebCore::SQLStatement::lastError):
3066         (WebCore::SQLStatement::lastErrorMsg):
3067         * loader/icon/SQLTransaction.cpp:
3068         * loader/icon/SQLTransaction.h: Added.
3069
3070 2006-08-22  Brady Eidson  <beidson@apple.com>
3071
3072         Reviewed by Maciej
3073
3074         The role of the SiteIcon is now the original intention - to be a cache of data relating to an Icon
3075         As such, I'm renaming it to IconDataCache.
3076         Also, the IconDatabase has to manually set the image data on the IconDataCache and also sets the 
3077         TimeStamp when an icon is created or the data is changed.
3078         IconDataCache now has a method to write itself *to* a given database, instead of read itself from one.
3079         IconDatabase schema changes to have the timestamp set manually instead of via a trigger.
3080         The overall purpose of this change is to cache the timestamp, killing off a very common SQL query.
3081
3082         * WebCore.xcodeproj/project.pbxproj: Renamed a file
3083         * loader/icon/IconDataCache.cpp: Added.
3084         (IconDataCache::IconDataCache):
3085         (IconDataCache::getImage): Now either returns the stored image, or 0 - no attempt to grab data
3086         (IconDataCache::manuallySetImageData): Delete the old image and create the new one
3087         (IconDataCache::writeToDatabase): Write the current iconURL, data, and timestamp to the given DB
3088         (IconDataCache::imageDataStatus): Determine if an IconDataCache is new without data versus actually having null data
3089         * loader/icon/IconDatabase.cpp:
3090         (WebCore::IconDatabase::createDatabaseTables): Changed DB schema to version 5 (hopefully the final version)
3091         (WebCore::IconDatabase::iconForPageURL): 
3092         (WebCore::IconDatabase::isIconExpiredForIconURL): Uses the timestamp in the IconDataCache object instead of always querying
3093         (WebCore::IconDatabase::getOrCreateIconDataCache): Added, to handle creation of new IconDataCache when appropriate
3094         (WebCore::IconDatabase::setIconDataForIconURL): Puts data in SiteIcon then marks it for a future write
3095         (WebCore::IconDatabase::syncDatabase): Now syncs SiteIconsPendingUpdate
3096         * loader/icon/IconDatabase.h:
3097         (WebCore::IconDataCache::getTimestamp):
3098         (WebCore::IconDataCache::setTimestamp):
3099         * loader/icon/SiteIcon.cpp: Removed.
3100
3101
3102 2006-08-22  Justin Garcia  <justin.garcia@apple.com>
3103
3104         Reviewed by harrison
3105         
3106         <http://bugzilla.opendarwin.org/show_bug.cgi?id=10449>
3107         REGRESSION(r15918): drag-into-marker.html failing
3108
3109         * editing/ReplaceSelectionCommand.cpp:
3110         (WebCore::ReplaceSelectionCommand::doApply): Don't avoid nesting
3111         in a list item.
3112
3113 2006-08-22  Brady Eidson  <beidson@apple.com>
3114
3115         Reviewed by Kevin
3116
3117         Added a check in getTIFFRepresentation to not proceed if the frame count is zero
3118         This is an error condition that was handled gracefully before - in certain circumstances
3119         the call to CGImageDestinationCreateWithData will spam the Console if it is passed null/empty data
3120         or invalid data.  This small change bails out before that call if that call will definitely fail
3121
3122         * platform/mac/ImageMac.mm:
3123         (WebCore::Image::getTIFFRepresentation):
3124
3125 2006-08-22  David Harrison  <harrison@apple.com>
3126
3127         Backed out my last change (r15966) because it broke lots of layout tests.
3128
3129         * editing/TextIterator.cpp:
3130         (WebCore::TextIterator::advance):
3131
3132 2006-08-22  Maciej Stachowiak  <mjs@apple.com>
3133
3134         Reviewed by Anders.
3135
3136         - added some SPI indirections to support the following in WebKit/Loader:
3137             - pull more WebDataSource code into WebFrameLoader
3138             - make WebMainResourceLoader not depend on WebKit or on SPI
3139
3140         * WebCore.exp:
3141         * WebCore.xcodeproj/project.pbxproj:
3142         * platform/mac/WebCoreSystemInterface.h:
3143         * platform/mac/WebCoreSystemInterface.mm:
3144
3145 2006-08-22  Justin Garcia  <justin.garcia@apple.com>
3146
3147         Reviewed by harrison
3148
3149         <rdar://problem/4052343&4052343&4426622> Mail hung on paste text
3150         
3151         * editing/ReplaceSelectionCommand.cpp:
3152         (WebCore::isInterchangeNewlineNode):
3153         (WebCore::isInterchangeConvertedSpaceSpan):
3154         (WebCore::ReplacementFragment::ReplacementFragment):
3155         (WebCore::ReplaceSelectionCommand::removeRedundantStyles): Compute the redundant inheritable styles and
3156         remove them and remove style nodes and style spans which were only contributing redundant styles.
3157         (WebCore::ReplaceSelectionCommand::doApply):
3158         * editing/ReplaceSelectionCommand.h:
3159
3160 2006-08-22  David Harrison  <harrison@apple.com>
3161
3162         Reviewed by Darin.
3163
3164         <rdar://problem/4077676> Inline hole line adheres to the Japanese characters in inline hole
3165
3166         This happens because the underline is always 2 pixels thick, and placed 3 pixels above the bottom of the text box.
3167
3168         Test case added:
3169         * manual-tests/inline-input-marking.html: Added.
3170         Check that underlining of the inline input hole does not obscure the glyphs.
3171         
3172         * rendering/InlineTextBox.cpp:
3173         (WebCore::InlineTextBox::paintMarkedTextUnderline):
3174         Position underline at bottom of text box.
3175         Height of underline is reduced to 1 px when font's descent is less than or equal to 2 px.
3176
3177 2006-08-22  Rob Buis  <buis@kde.org>
3178
3179         Reviewed by Eric.
3180
3181         http://bugzilla.opendarwin.org/show_bug.cgi?id=10402
3182         REPRO: SVG crashes inside gradient code
3183
3184         Make sure we do not try to update the canvas resource/gradient paintserver when it is not yet built.
3185
3186         * ksvg2/svg/SVGGradientElement.cpp:
3187         (SVGGradientElement::notifyAttributeChange):
3188         (SVGGradientElement::resourceNotification):
3189
3190 2006-08-22  David Harrison  <harrison@apple.com>
3191
3192         Reviewed by John.
3193
3194         <rdar://problem/4523606> Represent heading elements in AXAttributedStringForTextMarkerRange
3195
3196         * bridge/mac/WebCoreAXObject.mm:
3197         (headingLevel):
3198         (-[WebCoreAXObject headingLevel]):
3199         (-[WebCoreAXObject isHeading]):
3200         New. Heading level is per the tag (h1 == 1, h2 == 2, etc.)
3201         
3202         (-[WebCoreAXObject role]):
3203         (-[WebCoreAXObject roleDescription]):
3204         Add role and roleDescription for headings.
3205         
3206         (-[WebCoreAXObject value]):
3207         Value is the headingLevel.
3208         
3209         (AXAttributeStringSetHeadingLevel):
3210         (AXAttributedStringAppendText):
3211         Put text's heading level (if applicable) in the attributes.
3212         
3213 2006-08-22  David Harrison  <harrison@apple.com>
3214
3215         Reviewed by John.
3216
3217         <rdar://problem/4522205> Represent controls in AXAttributedStringForTextMarkerRange
3218
3219         Treat controls as replaced elements, so that AXAttributedStringForTextMarkerRange will, too.
3220         
3221         * editing/TextIterator.cpp:
3222         (WebCore::TextIterator::advance):
3223         Include controls.
3224
3225 2006-08-22  David Harrison  <harrison@apple.com>
3226
3227         Reviewed by Maciej.
3228
3229         <rdar://problem/4407336> Some non-text elements return AXTextMarkerRangeForUIElement with equal start and end marker
3230
3231         * bridge/mac/WebCoreAXObject.mm:
3232         (-[WebCoreAXObject textMarkerRange]):
3233         Use 0 and maxDeepOffset(), instead of caretMinOffset() and caretMaxRenderedOffset().
3234         Check for VisiblePositions being equal.  If so, adjust end one to its next().
3235         That happens with, e.g., buttons.
3236
3237 2006-08-22  Rob Buis  <buis@kde.org>
3238
3239         Reviewed by Eric.
3240
3241         http://bugzilla.opendarwin.org/show_bug.cgi?id=10491
3242         KCanvasMatrix removal
3243
3244         Remove KCanvasMatrix from project, using AffineTransform instead.
3245
3246         * WebCore.xcodeproj/project.pbxproj:
3247         * kcanvas/KCanvasMatrix.cpp: Removed.
3248         * kcanvas/KCanvasMatrix.h: Removed.
3249         * kcanvas/KCanvasResources.cpp:
3250         (WebCore::KCanvasMarker::draw):
3251         * kcanvas/KCanvasResources.h:
3252         * kcanvas/RenderForeignObject.cpp:
3253         * kcanvas/RenderPath.h:
3254         * kcanvas/RenderSVGContainer.cpp:
3255         (WebCore::RenderSVGContainer::viewportTransform):
3256         (WebCore::RenderSVGContainer::getAspectRatio):
3257         * kcanvas/RenderSVGContainer.h:
3258         * kcanvas/RenderSVGText.cpp:
3259         * kcanvas/device/KRenderingDevice.h:
3260         * kcanvas/device/KRenderingPaintServerGradient.cpp:
3261         (WebCore::KRenderingPaintServerGradient::gradientTransform):
3262         (WebCore::KRenderingPaintServerGradient::setGradientTransform):
3263         (WebCore::KRenderingPaintServerGradient::externalRepresentation):
3264         * kcanvas/device/KRenderingPaintServerGradient.h:
3265         * kcanvas/device/KRenderingPaintServerPattern.cpp:
3266         (WebCore::KRenderingPaintServerPattern::patternTransform):
3267         (WebCore::KRenderingPaintServerPattern::setPatternTransform):
3268         (WebCore::KRenderingPaintServerPattern::externalRepresentation):
3269         * kcanvas/device/KRenderingPaintServerPattern.h:
3270         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
3271         * kcanvas/device/quartz/KCanvasItemQuartz.mm:
3272         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
3273         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
3274         (WebCore::KRenderingDeviceContextQuartz::concatCTM):
3275         (WebCore::KRenderingDeviceContextQuartz::ctm):
3276         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
3277         (WebCore::KRenderingPaintServerGradientQuartz::renderPath):
3278         * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
3279         (WebCore::KRenderingPaintServerPatternQuartz::setup):
3280         * kcanvas/device/quartz/QuartzSupport.mm:
3281         * ksvg2/misc/KCanvasRenderingStyle.h:
3282         * ksvg2/svg/SVGAnimateTransformElement.cpp:
3283         * ksvg2/svg/SVGAnimateTransformElement.h:
3284         * ksvg2/svg/SVGLinearGradientElement.cpp:
3285         (SVGLinearGradientElement::buildGradient):
3286         * ksvg2/svg/SVGPatternElement.cpp:
3287         (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
3288         (WebCore::SVGPatternElement::drawPatternContentIntoTile):
3289         (WebCore::SVGPatternElement::notifyAttributeChange):
3290         * ksvg2/svg/SVGPatternElement.h:
3291         * ksvg2/svg/SVGRadialGradientElement.cpp:
3292         (WebCore::SVGRadialGradientElement::buildGradient):
3293
3294 2006-08-22  Rob Buis  <buis@kde.org>
3295
3296         Reviewed by Eric.
3297
3298         http://bugzilla.opendarwin.org/show_bug.cgi?id=10405
3299         REPRO: SVG Maze crashes in RenderPath code
3300
3301         Do not render a path when it is empty so maze15.svg does not crash anymore.
3302         Also get rid of a runtime warning issued by CGContextGetPathBoundingBox.
3303
3304         * kcanvas/RenderPath.cpp:
3305         (WebCore::RenderPath::paint):
3306         * kcanvas/device/quartz/KCanvasPathQuartz.mm:
3307         (WebCore::KCanvasPathQuartz::strokeBoundingBox):
3308
3309 2006-08-21  Brady Eidson  <beidson@apple.com>
3310
3311         Reviewed by Maciej
3312
3313         <rdar://4690949> - New IconDB: Need to prune unretained icons on startup
3314
3315         Added a flag to track whether or not the initial pruning has taken place on startup
3316         If that flag is not set, IconURL retain counts will be tracked in a temporary db table
3317         in addition to the in-memory hash.  Then when the timer fires after initial retains
3318         are complete, we prune those icons not in the retain table, prune dangling PageURL
3319         references, delete the temporary table, and set the flag - and carry on as normal
3320
3321         * loader/icon/IconDatabase.cpp:
3322         (WebCore::IconDatabase::IconDatabase): initialize the flag
3323         (WebCore::IconDatabase::open): changed the schema of the temporary table
3324         (WebCore::IconDatabase::retainIconURL): store the icon retain to the temp table if starting up
3325         (WebCore::IconDatabase::releaseIconURL): ditto
3326         (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): remove all icons *not* in the retain table, then
3327           wipe all the PageURLs who no longer point to a valid IconURL
3328         * loader/icon/IconDatabase.h:
3329
3330 2006-08-21  Alexey Proskuryakov  <ap@nypop.com>
3331
3332         Reviewed by Eric.
3333
3334         http://bugzilla.opendarwin.org/show_bug.cgi?id=10419
3335         XSLTProcessor transformToFragment fails because of an XML declaration
3336
3337         Test: fast/xsl/transformToFragment-XML-declaration.html
3338
3339         * xml/XSLTProcessor.cpp:
3340         (WebCore::XSLTProcessor::transformToString): Always inhibit XML declaration printout.
3341
3342 2006-08-21  David Harrison  <harrison@apple.com>
3343
3344         Reviewed by Justin.
3345
3346         <rdar://problem/4471481> Represent misspellings in AXAttributedStringForTextMarkerRange
3347
3348         Added support for the NSAccessibilityMisspelledTextAttribute.
3349         
3350         Test cases added: None.  Manual AX testing is way too awkward, and automated testing
3351         is not possible.  See following bug...
3352             <rdar://problem/4256882> Need automated testing support for accessibility APIs
3353
3354         * bridge/mac/WebCoreAXObject.mm:
3355         Lots of trivial formatting in many methods.
3356         
3357         (-[WebCoreAXObject accessibilityAttributeValue:]):
3358         Fixed AXStartTextMarker and AXEndTextMarker to use startOfDocument and endOfDocument, instead of
3359         of positionForCoordinates. I had seen erroneous endOfDocument results while testing the spelling
3360         attribute.
3361
3362         (WebCore::AXAttributeStringSetSpelling): 
3363         New. Adds the NSAccessibilityMisspelledTextAttribute for misspelled words.
3364
3365         (-[WebCoreAXObject AXAttributedStringAppendText:]):
3366         Added call to AXAttributeStringSetSpelling.
3367         
3368         * editing/visible_units.cpp:
3369         (WebCore::startOfDocument):
3370         (WebCore::endOfDocument):
3371         Added for AXStartTextMarker/AXEndTextMarker fix, these forms of the familiar functions take a Node*,
3372         so a previously existing VisiblePosition is not required.
3373         
3374         * editing/visible_units.h:
3375         Declare new forms of startOfDocument and endOfDocument.
3376
3377 2006-08-21  Nikolas Zimmermann  <zimmermann@kde.org>
3378
3379         Reviewed by Eric.
3380
3381         Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
3382         WebKit should have Qt platform support
3383
3384         * platform/qt/TemporaryLinkStubs.cpp: Added.
3385         (JavaAppletWidget::JavaAppletWidget):
3386         (Font::selectionRectForComplexText):
3387         (Font::offsetForPositionForComplexText):
3388         (WebCore::refreshPlugins):
3389         (WebCore::focusRingColor):
3390         (Image::drawTiled):
3391         (WebCore::TextField::selectAll):
3392         (WebCore::TextField::addSearchResult):
3393         (WebCore::TextField::selectionStart):
3394         (WebCore::TextField::hasSelectedText):
3395         (WebCore::TextField::selectedText):
3396         (WebCore::TextField::setAutoSaveName):
3397         (WebCore::TextField::checksDescendantsForFocus):
3398         (WebCore::TextField::setSelection):
3399         (WebCore::TextField::setMaxResults):
3400         (WebCore::TextField::edited):
3401         (WebCore::TextField::focusPolicy):
3402         (WebCore::TextField::TextField):
3403         (WebCore::TextField::~TextField):
3404         (WebCore::TextField::setFont):
3405         (WebCore::TextField::setAlignment):
3406         (WebCore::TextField::setWritingDirection):
3407         (WebCore::TextField::maxLength):
3408         (WebCore::TextField::setMaxLength):
3409         (WebCore::TextField::text):
3410         (WebCore::TextField::setText):
3411         (WebCore::TextField::cursorPosition):
3412         (WebCore::TextField::setCursorPosition):
3413         (WebCore::TextField::setEdited):
3414         (WebCore::TextField::setReadOnly):
3415         (WebCore::TextField::setPlaceholderString):
3416         (WebCore::TextField::setColors):
3417         (WebCore::TextField::sizeForCharacterWidth):
3418         (WebCore::TextField::baselinePosition):
3419         (WebCore::TextField::setLiveSearch):
3420         (WebCore::Slider::Slider):
3421         (WebCore::Slider::sizeHint):
3422         (WebCore::Slider::~Slider):
3423         (WebCore::Slider::setValue):
3424         (WebCore::Slider::setMaxValue):
3425         (WebCore::Slider::setMinValue):
3426         (WebCore::Slider::setFont):
3427         (WebCore::Slider::value):
3428         (WebCore::Slider::focusPolicy):
3429         (WebCore::ScrollBar::ScrollBar):
3430         (WebCore::ScrollBar::setSteps):
3431         (WebCore::ScrollBar::scroll):
3432         (WebCore::ScrollBar::setValue):
3433         (WebCore::ScrollBar::setKnobProportion):
3434         (WebCore::PlatformScrollBar::PlatformScrollBar):
3435         (WebCore::PlatformScrollBar::~PlatformScrollBar):
3436         (WebCore::PlatformScrollBar::width):
3437         (WebCore::PlatformScrollBar::height):
3438         (WebCore::PlatformScrollBar::setEnabled):
3439         (WebCore::PlatformScrollBar::paint):
3440         (WebCore::PlatformScrollBar::setScrollBarValue):
3441         (WebCore::PlatformScrollBar::setKnobProportion):
3442         (WebCore::PlatformScrollBar::setRect):
3443         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
3444         (WebCore::CheckCacheObjectStatus):
3445         (WebCore::CheckIfReloading):
3446         (WebCore::ServeSynchronousRequest):
3447         (WebCore::historyContains):
3448         (WebCore::submitButtonDefaultLabel):
3449         (WebCore::inputElementAltText):
3450         (WebCore::resetButtonDefaultLabel):
3451         (WebCore::defaultLanguage):
3452         (WebCore::findNextSentenceFromIndex):
3453         (WebCore::findSentenceBoundary):
3454         (WebCore::findNextWordFromIndex):
3455         (WebCore::findWordBoundary):
3456         (Frame::setNeedsReapplyStyles):
3457         (WebCore::screenDepthPerComponent):
3458         (WebCore::screenIsMonochrome):
3459         (WebCore::searchableIndexIntroduction):
3460         (WebCore::setFocusRingColorChangeFunction):
3461         (FrameView::updateBorder):
3462         (loadResourceIntoArray):
3463         (PlugInInfoStore::createPluginInfoForPluginAtIndex):
3464         (PlugInInfoStore::pluginCount):
3465         (WebCore::PlugInInfoStore::supportsMIMEType):
3466         (FileButton::FileButton):
3467         (FileButton::click):
3468         (FileButton::sizeForCharacterWidth):
3469         (FileButton::focusPolicy):
3470         (FileButton::frameGeometry):
3471         (FileButton::setFilename):
3472         (FileButton::baselinePosition):
3473         (FileButton::setFrameGeometry):
3474         (FileButton::setDisabled):
3475         (WebCore::supportedKeySizes):
3476         (WebCore::signedPublicKeyAndChallengeString):
3477
3478 2006-08-21  Nikolas Zimmermann  <zimmermann@kde.org>
3479
3480         Reviewed by Maciej.
3481
3482         Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
3483         WebKit should have Qt platform support
3484
3485         * platform/qt/CursorQt.cpp: Added.
3486         (WebCore::Cursor::Cursor):
3487         (WebCore::Cursor::~Cursor):
3488         (WebCore::Cursor::operator=):
3489         (WebCore::Cursors::Cursors::self):
3490         (WebCore::moveCursor):
3491         (WebCore::crossCursor):
3492         (WebCore::handCursor):
3493         (WebCore::iBeamCursor):
3494         (WebCore::waitCursor):
3495         (WebCore::helpCursor):
3496         (WebCore::eastResizeCursor):
3497         (WebCore::northResizeCursor):
3498         (WebCore::northEastResizeCursor):
3499         (WebCore::northWestResizeCursor):
3500         (WebCore::southResizeCursor):
3501         (WebCore::southEastResizeCursor):
3502         (WebCore::southWestResizeCursor):
3503         (WebCore::westResizeCursor):
3504         (WebCore::northSouthResizeCursor):
3505         (WebCore::eastWestResizeCursor):
3506         (WebCore::northEastSouthWestResizeCursor):
3507         (WebCore::northWestSouthEastResizeCursor):
3508         (WebCore::columnResizeCursor):
3509         (WebCore::rowResizeCursor):
3510         * platform/qt/RenderThemeQt.cpp: Added.
3511         (WebCore::RenderThemeQt::RenderThemeQt):
3512         (WebCore::RenderThemeQt::supportsHover):
3513         (WebCore::RenderThemeQt::paintCheckbox):
3514         (WebCore::RenderThemeQt::paintRadio):
3515         (WebCore::theme):
3516         (WebCore::RenderThemeQt::isControlStyled):
3517         (WebCore::RenderThemeQt::controlSupportsTints):
3518         (WebCore::RenderThemeQt::systemFont):
3519         (WebCore::RenderThemeQt::createPopupMenu):
3520         (WebCore::RenderThemeQt::addIntrinsicMargins):
3521         (WebCore::RenderThemeQt::stylePainterAndWidgetForPaintInfo):
3522         (WebCore::RenderThemeQt::setCheckboxSize):