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