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