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