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