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