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