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