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