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