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