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