LayoutTests:
[WebKit-https.git] / WebCore / ChangeLog
1 2006-08-15  Geoffrey Garen  <ggaren@apple.com>
2
3         Reviewed by Darin.
4         
5         - This patch reworks a previous fix for <rdar://problem/3524912> repro 
6         crash in KHTMLParser::parseToken, due to parser's current element being 
7         destroyed (www.gnnetcom.dk), along with subsequent adjustments to fix
8         leaks.
9         
10         The previous solutions caused a ~2% performance regression on iBench HTML,
11         due to RefPtr churn. The optimizations here gain back that ~2% plus ~1% more,
12         for a total win of ~3% vs current TOT.
13         
14         We can merge this fix to the branch to fix <rdar://problem/4661982> 
15         (crash in KHTMLParser::popBlock).
16         
17         The solution here is:
18         (1) Don't let the parser ref document nodes -- that causes leaks.
19         (2) Handle ref/deref manually, to avoid RefPtr churn. Specifically, when 
20         moving a node between stacks or to/from 'current', rather than deref'ing
21         and then ref'ing again, simply move the node, along with its refcount, to
22         its new location, and overwrite its old location.
23  
24         * WebCore.xcodeproj/project.pbxproj:
25         * html/HTMLParser.cpp:
26         (WebCore::HTMLStackElem::HTMLStackElem):
27         (WebCore::HTMLStackElem::derefNode):
28         (WebCore::HTMLParser::HTMLParser):
29         (WebCore::HTMLParser::setCurrent):
30         (WebCore::HTMLParser::insertNode):
31         (WebCore::HTMLParser::popNestedHeaderTag):
32         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
33         (WebCore::HTMLParser::reopenResidualStyleTags):
34         (WebCore::HTMLParser::pushBlock):
35         (WebCore::HTMLParser::popBlock):
36         (WebCore::HTMLParser::popOneBlockCommon):
37         (WebCore::HTMLParser::popOneBlock):
38         (WebCore::HTMLParser::moveOneBlockToStack):
39         * html/HTMLParser.h:
40
41 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
42
43         Reviewed by Tim H.
44
45         http://bugzilla.opendarwin.org/show_bug.cgi?id=10384
46         Bug 10384: Switch to DWARF for Release configuration
47
48         * WebCore.xcodeproj/project.pbxproj:
49
50 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
51
52         Reviewed by Hyatt.
53         Tweaked and landed by Darin.
54
55         http://bugzilla.opendarwin.org/show_bug.cgi?id=10399
56         Bug 10399: RenderTextArea is unused
57
58         * WebCore.vcproj/WebCore/WebCore.vcproj:
59         * WebCore.xcodeproj/project.pbxproj:
60         * WebCoreSources.bkl:
61         Removed RenderTextArea source files.
62
63         * html/HTMLTextAreaElement.cpp: Removed include of RenderTextArea.h.
64         * html/HTMLTextAreaElement.h: Removed forward declaration of RenderTextArea.
65
66         * platform/mac/WidgetMac.mm: (WebCore::Widget::paint): Updated a comment.
67
68         * platform/TextBox.h: Removed.
69         * platform/mac/TextBoxMac.mm: Removed.
70         * platform/mac/WebCoreTextArea.h: Removed.
71         * platform/mac/WebCoreTextArea.mm: Removed.
72         * rendering/RenderTextArea.cpp: Removed.
73         * rendering/RenderTextArea.h: Removed.
74
75 2006-08-15  Brady Eidson  <beidson@apple.com>
76
77         Reviewed by THE OTHER Maciej...
78
79         Two small fixes -
80         1) Renamed retain/release methods to add PageUrl in - we're being consistent and clear in the WebCore API
81         2) Fixed a bug where a null SiteIcon reference would be added into the pageURLToSiteIcon map causing a
82         null dereference later
83
84         * bridge/mac/WebCoreIconDatabaseBridge.mm:
85         (-[WebCoreIconDatabaseBridge retainIconForURL:]):  Changed IconDatabase method name
86         (-[WebCoreIconDatabaseBridge releaseIconForURL:]):  ditto
87         * loader/icon/IconDatabase.cpp:
88         (WebCore::IconDatabase::retainIconForPageURL):  Name change
89         (WebCore::IconDatabase::releaseIconForPageURL):  ditto
90         (WebCore::IconDatabase::setIconURLForPageURL):  Added the null site-icon check when changing a PageURL's iconURL
91         * loader/icon/IconDatabase.h:  Some renames
92
93 2006-08-14  Eric Seidel  <eric@eseidel.com>
94
95         Reviewed by mjs.
96
97         <mask>, <marker>, <pattern> inside <defs> do not work
98         http://bugzilla.opendarwin.org/show_bug.cgi?id=6548
99
100         * ksvg2/svg/SVGDefsElement.cpp:
101         (WebCore::SVGDefsElement::SVGDefsElement): moved to .cpp file
102         (WebCore::SVGDefsElement::isValid): moved to .cpp file
103         (WebCore::SVGDefsElement::rendererIsNeeded): Added.
104         (WebCore::SVGDefsElement::createRenderer): Added.
105         * ksvg2/svg/SVGDefsElement.h:
106         * ksvg2/svg/SVGGElement.cpp:
107         (WebCore::SVGGElement::SVGGElement): adjusted spacing
108         (WebCore::SVGGElement::parseMappedAttribute): adjusted spacing
109         (WebCore::SVGDummyElement::SVGDummyElement): adjusted spacing
110
111 2006-08-14  Eric Seidel  <eric@eseidel.com>
112
113         Reviewed by darin and mjs.
114         
115         Add better SVGLoad event support.
116         http://bugzilla.opendarwin.org/show_bug.cgi?id=6010
117         There will still need to be additional support added for <link> and <script> elements.
118         Not all of the error -> loaded -> error transition cases work yet.
119
120         * dom/EventTargetNode.cpp:
121         (WebCore::EventTargetNode::dispatchGenericEvent):
122         * html/HTMLImageLoader.cpp:
123         (WebCore::HTMLImageLoader::dispatchLoadEvent):
124         * html/HTMLImageLoader.h:
125         (WebCore::HTMLImageLoader::haveFiredLoadEvent):
126         (WebCore::HTMLImageLoader::setHaveFiredLoadEvent):
127         * ksvg2/misc/SVGImageLoader.cpp:
128         (WebCore::SVGImageLoader::SVGImageLoader):
129         (WebCore::SVGImageLoader::dispatchLoadEvent):
130         * ksvg2/misc/SVGImageLoader.h:
131         * ksvg2/svg/SVGAElement.cpp:
132         (WebCore::SVGAElement::parseMappedAttribute):
133         * ksvg2/svg/SVGAnimatedBoolean.h:
134         * ksvg2/svg/SVGElement.cpp:
135         (WebCore::SVGElement::SVGElement):
136         (WebCore::SVGElement::parseMappedAttribute):
137         (WebCore::SVGElement::haveLoadedRequiredResources):
138         (WebCore::SVGElement::sendSVGLoadEventIfPossible):
139         (WebCore::SVGElement::closeRenderer):
140         * ksvg2/svg/SVGElement.h:
141         (WebCore::SVGElement::rendererIsNeeded):
142         (WebCore::svg_dynamic_cast):
143         * ksvg2/svg/SVGExternalResourcesRequired.h:
144         * ksvg2/svg/SVGImageElement.cpp:
145         (SVGImageElement::SVGImageElement):
146         (SVGImageElement::haveLoadedRequiredResources):
147         * ksvg2/svg/SVGImageElement.h:
148         * ksvg2/svg/SVGSVGElement.cpp:
149         (WebCore::SVGSVGElement::parseMappedAttribute):
150         * ksvg2/svg/SVGScriptElement.cpp:
151         (WebCore::SVGScriptElement::SVGScriptElement):
152         (WebCore::SVGScriptElement::parseMappedAttribute):
153         (WebCore::SVGScriptElement::executeScript):
154         * xml/xmlhttprequest.cpp:
155         (WebCore::XMLHttpRequest::callReadyStateChangeListener): use new Event() instead of createEvent
156
157 2006-08-14  Anders Carlsson  <acarlsson@apple.com>
158
159         Reviewed by Maciej.
160
161         http://bugzilla.opendarwin.org/show_bug.cgi?id=10393
162         Autogenerate NodeIterator and TreeWalker.
163         
164         * DerivedSources.make:
165         * WebCore.xcodeproj/project.pbxproj:
166         Add new files.
167         
168         * bindings/js/JSNodeIteratorCustom.cpp: Added.
169         (WebCore::JSNodeIterator::mark):
170         * bindings/js/JSTreeWalkerCustom.cpp: Added.
171         (WebCore::JSTreeWalker::mark):
172         
173         * bindings/js/kjs_traversal.cpp:
174         * bindings/js/kjs_traversal.h:
175         Remove implementations of DOMNodeIterator and DOMTreeWalker.
176
177         * bindings/scripts/CodeGeneratorJS.pm:
178         Add "CustomMarkFunction" attribute for classes where mark() needs to be overridden.
179         
180         * bindings/objc/DOM.mm:
181         (-[DOMNodeIterator detach]):
182         * dom/NodeIterator.cpp:
183         (WebCore::NodeIterator::detach):
184         * dom/NodeIterator.h:
185         Get rid of exception in detach, it isn't used at all and this function can't throw an exception according to the spec.
186         * dom/NodeIterator.idl: Added.
187         * dom/TreeWalker.idl: Added.
188
189 2006-08-14  Brady Eidson  <beidson@apple.com>
190
191         Reviewed by John
192
193         The changes are plentiful, but small, mostly to improve performance
194         1) Add a bool flag to SiteIcon to stop it from querying the database over and over
195         2) Added a pageURL->iconURL hashmap to cache database results, as an optimization
196         3) Fix a bug in setIconURLForPageURL code where the pageURL would still point to an old icon
197         4) Added isIconURLRetained() to optimize the retain count check
198         5) Prune old, unused code
199
200         * loader/icon/IconDatabase.cpp:
201         (WebCore::IconDatabase::imageDataForIconID): Removed unused code
202         (WebCore::IconDatabase::imageDataForIconURL): Removed unused code
203         (WebCore::IconDatabase::imageDataForPageURL): Removed unused code
204         (WebCore::IconDatabase::isIconExpiredForIconURL): Removed LOG msg
205         (WebCore::IconDatabase::isIconExpiredForPageURL): Removed LOG msg
206         (WebCore::IconDatabase::iconURLForPageURL): Added a hashmap cache to avoid common queries
207         (WebCore::IconDatabase::releaseIconForURL): Changed to is isRetained() instead of retainCount()
208         (WebCore::IconDatabase::isIconURLRetained): Added - we don't care about the actual retain count
209           for an icon so much as whether or not it is retained
210         (WebCore::IconDatabase::setIconURLForPageURL): If the new and old iconURLs are the same, skip the
211           SQLite code
212         * loader/icon/IconDatabase.h:  Added new methods/variables
213         * loader/icon/SiteIcon.cpp:
214         (SiteIcon::SiteIcon): Added a flag so it only queries the database for icon data once
215         (SiteIcon::getImage): Ditto
216
217 2006-08-14  David Hyatt  <hyatt@apple.com>
218
219         Fix for bug 10385, add more support for crappy pseudo-XML-in-HTML.
220
221         Reviewed by ggaren
222
223         Added fast/parser/bad-xml-slash.html
224
225         * html/HTMLTokenizer.cpp:
226         (WebCore::HTMLTokenizer::parseTag):
227
228 2006-08-14  Darin Adler  <darin@apple.com>
229
230         Reviewed by John Sullivan.
231
232         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10204
233           REGRESSION: title tag parsing problem breaks Travelocity and Google Analytics pages
234
235         Test: fast/parser/title-error-test.html
236
237         * html/HTMLParser.cpp: (WebCore::HTMLParser::handleError): Fixed an error
238         handling case that was skipping until a </style> tag in code that was shared
239         between both <title> and <style>. Also rearranged the code a tiny bit.
240
241 2006-08-14  Darin Adler  <darin@apple.com>
242
243         Reviewed by Hyatt.
244
245         - fixed some storage leaks
246           (part of http://bugzilla.opendarwin.org/show_bug.cgi?id=10259)
247
248         * platform/mac/ResourceLoaderMac.mm: (WebCore::ResourceLoader::start):
249         Rearrange code so that "delete this" is called any time the function returns
250         false -- ownership was inconsistent before.
251
252         * rendering/RenderContainer.cpp: (WebCore::RenderContainer::removeChildNode):
253         Call deleteLineBoxWrapper even when documentBeingDestroyed() is true, because
254         some of what it does has to be done during destruction. A little awkward since
255         I preserved the order of operations. Perhaps we could structure this better later.
256
257 2006-08-14  David Harrison  <harrison@apple.com>
258
259         Reviewed by John Sullivan and Geoff Garen.
260
261         <rdar://problem/3854950> AX Seed: Blackboard Learning Systems - frame names need to be put in AXDescription AXAttribute
262
263         Test cases added: None.  Manual AX testing is way too awkward, and automated testing
264         is not possible.  See following bug...
265             <rdar://problem/4256882> Need automated testing support for accessibility APIs
266
267         * bridge/mac/WebCoreAXObject.mm:
268         (-[WebCoreAXObject accessibilityDescription]):
269         For a web area, return the name of the owning frame or iframe.
270         
271         (-[WebCoreAXObject accessibilityAttributeNames]):
272         Advertize NSAccessibilityDescriptionAttribute.
273         
274         (-[WebCoreAXObject rendererForView:]):
275         Clean up some old naming.
276
277 2006-08-11  Anders Carlsson  <acarlsson@apple.com>
278
279         Reviewed by Darin.
280
281         http://bugzilla.opendarwin.org/show_bug.cgi?id=10353
282         XMLSerializer and DOMParser should have real implementations
283         
284         Make real implementation files for DOMParser and XMLSerializer and wrap them
285         using our bindings generation.
286         
287         * DerivedSources.make:
288         * WebCore.xcodeproj/project.pbxproj:
289         * bindings/js/JSDOMParser.cpp: Removed.
290         * bindings/js/JSDOMParser.h: Removed.
291         * bindings/js/JSXMLSerializer.cpp: Removed.
292         * bindings/js/JSXMLSerializer.h: Removed.
293         * bindings/js/kjs_window.cpp:
294         (KJS::Window::getValueProperty):
295         * bindings/js/kjs_window.h:
296         (KJS::Window::):
297         * page/DOMWindow.idl:
298         * xml/DOMParser.cpp: Added.
299         (WebCore::DOMParser::parseFromString):
300         * xml/DOMParser.h: Added.
301         * xml/DOMParser.idl: Added.
302         * xml/XMLSerializer.cpp: Added.
303         (WebCore::XMLSerializer::serializeToString):
304         * xml/XMLSerializer.h: Added.
305         * xml/XMLSerializer.idl: Added.
306
307 2006-08-14  Maciej Stachowiak  <mjs@apple.com>
308
309         Reviewed by Brady.
310
311         - removed WebKit-level dependencies from WebFormDataStream. Use WebCore version of system interface
312
313         * WebCore.exp: export new functions
314         * platform/mac/WebCoreSystemInterface.h: Added CFReadStream related functions
315         * platform/mac/WebCoreSystemInterface.mm: ditto
316
317 2006-08-13  Maks Orlovich  <maksim@kde.org>
318
319         Reviewed (and tweaked a little) by Maciej.
320         
321         - shrank the size of JSObject by 8 bytes and made the corresponding reduction to the cell size, resulting
322         in a 1.2% speed improvement on JS iBench (and probably overall memory savings).
323
324         The WebCore part of this is to expect only FunctionImp to have a scope, not all JSObjects.
325         
326         * bindings/js/kjs_events.cpp:
327         (KJS::JSLazyEventListener::parseCode):
328
329 2006-08-12  Eric Seidel  <eric@eseidel.com>
330
331         Reviewed by hyatt and mjs.
332
333         Fix two missing null checks causing layout test crashes.
334
335         * css/cssstyleselector.cpp:
336         (WebCore::CSSStyleSelector::adjustRenderStyle): check e for null (null for pseudo styles)
337         * kcanvas/RenderSVGContainer.cpp:
338         (WebCore::RenderSVGContainer::requiresLayer): check parent()->element() for null
339
340
341 2006-08-11  Eric Seidel  <eric@eseidel.com>
342
343         Reviewed by andersca.
344
345         The outermost <svg> element needs to clip itself
346         http://bugzilla.opendarwin.org/show_bug.cgi?id=5358
347
348         * css/cssstyleselector.cpp:
349         (WebCore::CSSStyleSelector::adjustRenderStyle): adjust for SVG overflow rules
350         * kcanvas/RenderSVGContainer.cpp:
351         (WebCore::RenderSVGContainer::requiresLayer): only require layers for absolute/relative positioning of outermost SVG
352         (WebCore::RenderSVGContainer::paint):
353         * kcanvas/device/KRenderingDevice.h:
354         * kcanvas/device/quartz/KRenderingDeviceQuartz.h: remove dead methods
355         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm: remove dead methods
356         (WebCore::KRenderingDeviceContextQuartz::KRenderingDeviceContextQuartz):
357         * ksvg2/svg/SVGPaint.cpp: spacing changes
358         (WebCore::SVGPaint::SVGPaint): spacing cleanup
359         * ksvg2/svg/SVGSVGElement.cpp:
360         (WebCore::SVGSVGElement::parseMappedAttribute): spacing cleanup
361         * platform/GraphicsContext.h: Added concatCTM
362         * platform/cg/GraphicsContextCG.cpp:
363         (WebCore::GraphicsContext::concatCTM): Added.
364
365 2006-08-11  Brady Eidson  <beidson@apple.com>
366
367         Reviewed by Maciej
368
369         Renamed a method/parameter for clarity and consistency, as well as some style
370         cleanups and removing some ridiculously verbose log messages.
371         Also added an _isEmpty method to the database and bridge for WebKit's use.
372         Finally, added a central way for both WebKit and WebCore to get the icon database filename
373
374         * bridge/mac/WebCoreIconDatabaseBridge.h:  Added _isEmpty and defaultDatabaseFilename
375         * bridge/mac/WebCoreIconDatabaseBridge.mm:  Removed an unnecessary semicolon off most of these methods
376         (-[WebCoreIconDatabaseBridge openSharedDatabaseWithPath:]):
377         (-[WebCoreIconDatabaseBridge closeSharedDatabase]):
378         (-[WebCoreIconDatabaseBridge isOpen]):
379         (-[WebCoreIconDatabaseBridge _isEmpty]):  Added
380         (-[WebCoreIconDatabaseBridge setPrivateBrowsingEnabled:]):
381         (-[WebCoreIconDatabaseBridge privateBrowsingEnabled]):
382         (-[WebCoreIconDatabaseBridge iconForPageURL:withSize:]):
383         (-[WebCoreIconDatabaseBridge iconURLForPageURL:]):
384         (-[WebCoreIconDatabaseBridge defaultIconWithSize:]):
385         (-[WebCoreIconDatabaseBridge retainIconForURL:]):
386         (-[WebCoreIconDatabaseBridge releaseIconForURL:]):
387         (-[WebCoreIconDatabaseBridge _setIconData:forIconURL:]):
388         (-[WebCoreIconDatabaseBridge _setHaveNoIconForIconURL:]):
389         (-[WebCoreIconDatabaseBridge _setIconURL:forPageURL:]):
390         (-[WebCoreIconDatabaseBridge _hasIconForIconURL:]):
391         (-[WebCoreIconDatabaseBridge defaultDatabaseFilename]):  Added
392
393         * loader/icon/IconDatabase.cpp:
394         (WebCore::IconDatabase::defaultDatabaseFilename):  Added
395         (WebCore::IconDatabase::open):  
396         (WebCore::IconDatabase::isEmpty):  Added
397         (WebCore::IconDatabase::retainIconForURL):  Removed log message
398         (WebCore::IconDatabase::releaseIconForURL):  Removed log message
399         * loader/icon/IconDatabase.h: 
400
401 2006-08-11  David Hyatt  <hyatt@apple.com>
402
403         Eliminate RenderImageButton.
404
405         Reviewed by darin
406
407         * WebCore.xcodeproj/project.pbxproj:
408         * bridge/mac/WebCoreAXObject.mm:
409         (-[WebCoreAXObject isImageButton]):
410         * html/HTMLInputElement.cpp:
411         (WebCore::HTMLInputElement::createRenderer):
412         * rendering/RenderImage.h:
413         (WebCore::RenderImage::isImage):
414
415 2006-08-11  Adele Peterson  <adele@apple.com>
416
417         Reviewed by Brady.
418
419         - Fix for <rdar://problem/4656274> 
420         REGRESSION: option elements are selected when added regardless of "selected" property
421
422         Test: fast/forms/option-constructor-selected.html
423
424         * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::setOption):
425         When adding an option element, check that the option element is selected before calling setSelectedIndex.
426
427 2006-08-11  David Hyatt  <hyatt@apple.com>
428
429         Fix for bug 10349, make sure to call setChanged when an anchor changes
430         from not being a link to being a link (and vice versa).
431
432         Test is in fast/dynamic/link-href-change.html
433
434         Reviewed by darin
435
436         * html/HTMLAnchorElement.cpp:
437         (WebCore::HTMLAnchorElement::HTMLAnchorElement):
438         (WebCore::HTMLAnchorElement::parseMappedAttribute):
439         * html/HTMLAnchorElement.h:
440         * html/HTMLAreaElement.cpp:
441         (WebCore::HTMLAreaElement::parseMappedAttribute):
442
443 2006-08-09  Rob Buis  <buis@kde.org>
444
445         Reviewed by Darin.
446
447         Revert an over-optimization step that messed up the HashSet lookup.
448
449         * dom/DOMImplementation.cpp:
450
451 2006-08-12  Oliver  <ojh16@student.canterbury.ac.nz>
452
453         Rubber stamped by tim
454
455         Removed commented out code
456
457         * kcanvas/RenderSVGImage.cpp:
458         (WebCore::RenderSVGImage::paint):
459
460 2006-08-12  Oliver  <ojh16@student.canterbury.ac.nz>
461
462         Reviewed by geoff
463
464         Fixed regression in SVG image layout
465         (see bug #10346)
466
467         * kcanvas/RenderSVGImage.cpp:
468         (WebCore::RenderSVGImage::paint):
469
470 2006-08-10  Anders Carlsson  <acarlsson@apple.com>
471
472         Rubber-stamped by Maciej.
473
474         Move xpath to xml.
475         
476         * DerivedSources.make:
477         * WebCore.vcproj/WebCore/WebCore.vcproj:
478         * WebCore.xcodeproj/project.pbxproj:
479         * xpath/XPathEvaluator.cpp: Removed.
480         * xpath/XPathEvaluator.h: Removed.
481         * xpath/XPathEvaluator.idl: Removed.
482         * xpath/XPathExpression.cpp: Removed.
483         * xpath/XPathExpression.h: Removed.
484         * xpath/XPathExpression.idl: Removed.
485         * xpath/XPathNSResolver.cpp: Removed.
486         * xpath/XPathNSResolver.h: Removed.
487         * xpath/XPathNSResolver.idl: Removed.
488         * xpath/XPathNamespace.cpp: Removed.
489         * xpath/XPathNamespace.h: Removed.
490         * xpath/XPathResult.cpp: Removed.
491         * xpath/XPathResult.h: Removed.
492         * xpath/XPathResult.idl: Removed.
493         * xpath/impl/XPathExpressionNode.cpp: Removed.
494         * xpath/impl/XPathExpressionNode.h: Removed.
495         * xpath/impl/XPathFunctions.cpp: Removed.
496         * xpath/impl/XPathFunctions.h: Removed.
497         * xpath/impl/XPathGrammar.y: Removed.
498         * xpath/impl/XPathParser.cpp: Removed.
499         * xpath/impl/XPathParser.h: Removed.
500         * xpath/impl/XPathPath.cpp: Removed.
501         * xpath/impl/XPathPath.h: Removed.
502         * xpath/impl/XPathPredicate.cpp: Removed.
503         * xpath/impl/XPathPredicate.h: Removed.
504         * xpath/impl/XPathStep.cpp: Removed.
505         * xpath/impl/XPathStep.h: Removed.
506         * xpath/impl/XPathUtil.cpp: Removed.
507         * xpath/impl/XPathUtil.h: Removed.
508         * xpath/impl/XPathValue.cpp: Removed.
509         * xpath/impl/XPathValue.h: Removed.
510         * xpath/impl/XPathVariableReference.cpp: Removed.
511         * xpath/impl/XPathVariableReference.h: Removed.
512
513 2006-08-10  David Harrison  <harrison@apple.com>
514
515         Reviewed by John Sullivan.
516
517         <rdar://problem/4600112> REGRESSION: VO no longer able to review text within an edit field on web pages
518
519         Test cases added: None.  Manual AX testing is way too awkward, and automated testing
520         is not possible.  See following bug...
521             <rdar://problem/4256882> Need automated testing support for accessibility APIs
522
523         * bridge/mac/WebCoreAXObject.mm:
524         (-[WebCoreAXObject value]):
525         Add handling for text input fields.
526
527 2006-08-09  Graham Dennis  <graham.dennis@gmail.com>
528
529         Reviewed by Darin.
530
531         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10247
532         REGRESSION: Unable to build webkit without SVG/XPATH
533
534         * bindings/js/kjs_binding.cpp:
535         (KJS::setDOMException):
536         * bindings/js/kjs_dom.cpp:
537         (KJS::toJS):
538         * bindings/js/kjs_html.cpp:
539         (KJS::HTMLElementFunction::callAsFunction):
540         * bindings/js/kjs_proxy.cpp:
541         * bindings/js/kjs_proxy.h:
542         * bindings/objc/DOMInternal.h:
543         * bindings/objc/DOMInternal.mm:
544         (raiseDOMException):
545         * bindings/objc/DOMXPath.mm:
546         * bindings/objc/DOMXPathInternal.h:
547         * bindings/scripts/CodeGeneratorJS.pm:
548         * bridge/mac/WebCoreFrameBridge.mm:
549         (+[WebCoreFrameBridge supportedNonImageMIMETypes]):
550         * css/CSSGrammar.y:
551         * css/CSSStyleDeclaration.cpp:
552         (WebCore::propertyID):
553         * css/cssparser.cpp:
554         (WebCore::CSSParser::parseValue):
555         * css/cssparser.h:
556         * css/cssstyleselector.cpp:
557         (WebCore::CSSStyleSelector::loadDefaultStyle):
558         (WebCore::CSSStyleSelector::applyProperty):
559         * css/cssstyleselector.h:
560         * dom/Document.cpp:
561         (WebCore::Document::Document):
562         (WebCore::Document::~Document):
563         (WebCore::Document::createElementNS):
564         (WebCore::Document::implicitClose):
565         (WebCore::Document::recalcStyleSelector):
566         (WebCore::Document::createEvent):
567         * dom/Document.h:
568         * dom/Document.idl:
569         * dom/Node.cpp:
570         (WebCore::Node::createRendererIfNeeded):
571         * dom/Node.h:
572         * dom/XMLTokenizer.cpp:
573         (WebCore::XMLTokenizer::endElementNs):
574         (WebCore::XMLTokenizer::insertErrorMessageBlock):
575         * html/HTMLEmbedElement.cpp:
576         * html/HTMLEmbedElement.h:
577         * html/HTMLObjectElement.cpp:
578         * html/HTMLObjectElement.h:
579         * kcanvas/KCanvasCreator.cpp:
580         * kcanvas/KCanvasCreator.h:
581         * kcanvas/KCanvasFilters.cpp:
582         * kcanvas/KCanvasFilters.h:
583         * kcanvas/KCanvasImage.h:
584         * kcanvas/KCanvasMatrix.cpp:
585         * kcanvas/KCanvasMatrix.h:
586         * kcanvas/KCanvasPath.cpp:
587         * kcanvas/KCanvasPath.h:
588         * kcanvas/KCanvasResourceListener.h:
589         * kcanvas/KCanvasResources.cpp:
590         * kcanvas/KCanvasResources.h:
591         * kcanvas/KCanvasTreeDebug.cpp:
592         * kcanvas/RenderForeignObject.cpp:
593         * kcanvas/RenderForeignObject.h:
594         * kcanvas/RenderPath.cpp:
595         * kcanvas/RenderPath.h:
596         * kcanvas/RenderSVGContainer.cpp:
597         * kcanvas/RenderSVGContainer.h:
598         * kcanvas/RenderSVGImage.cpp:
599         * kcanvas/RenderSVGImage.h:
600         * kcanvas/RenderSVGText.cpp:
601         * kcanvas/RenderSVGText.h:
602         * kcanvas/device/KRenderingDevice.cpp:
603         * kcanvas/device/KRenderingDevice.h:
604         * kcanvas/device/KRenderingFillPainter.cpp:
605         * kcanvas/device/KRenderingFillPainter.h:
606         * kcanvas/device/KRenderingPaintServer.h:
607         * kcanvas/device/KRenderingPaintServerGradient.cpp:
608         * kcanvas/device/KRenderingPaintServerGradient.h:
609         * kcanvas/device/KRenderingPaintServerPattern.cpp:
610         * kcanvas/device/KRenderingPaintServerPattern.h:
611         * kcanvas/device/KRenderingPaintServerSolid.cpp:
612         * kcanvas/device/KRenderingPaintServerSolid.h:
613         * kcanvas/device/KRenderingStrokePainter.cpp:
614         * kcanvas/device/KRenderingStrokePainter.h:
615         * kcanvas/device/quartz/KCanvasFilterQuartz.h:
616         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
617         * kcanvas/device/quartz/KCanvasItemQuartz.mm:
618         * kcanvas/device/quartz/KCanvasMaskerQuartz.mm:
619         * kcanvas/device/quartz/KCanvasPathQuartz.mm:
620         * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
621         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
622         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
623         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
624         * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
625         * kcanvas/device/quartz/QuartzSupport.h:
626         * kcanvas/device/quartz/QuartzSupport.mm:
627         * ksvg2/bindings/js/JSSVGElementWrapperFactory.cpp:
628         * ksvg2/bindings/js/JSSVGElementWrapperFactory.h:
629         * ksvg2/css/SVGCSSParser.cpp:
630         * ksvg2/css/SVGCSSStyleSelector.cpp:
631         * ksvg2/css/SVGRenderStyle.cpp:
632         * ksvg2/css/SVGRenderStyle.h:
633         * ksvg2/css/SVGRenderStyleDefs.cpp:
634         * ksvg2/css/SVGRenderStyleDefs.h:
635         * ksvg2/ecma/GlobalObject.cpp:
636         * ksvg2/ecma/GlobalObject.h:
637         * ksvg2/events/JSSVGLazyEventListener.cpp:
638         * ksvg2/events/JSSVGLazyEventListener.h:
639         * ksvg2/events/SVGZoomEvent.cpp:
640         * ksvg2/events/SVGZoomEvent.h:
641         * ksvg2/ksvg.h:
642         * ksvg2/misc/KCanvasRenderingStyle.cpp:
643         * ksvg2/misc/KCanvasRenderingStyle.h:
644         * ksvg2/misc/KSVGTimeScheduler.cpp:
645         * ksvg2/misc/KSVGTimeScheduler.h:
646         * ksvg2/misc/SVGDocumentExtensions.cpp:
647         * ksvg2/misc/SVGDocumentExtensions.h:
648         * ksvg2/misc/SVGImageLoader.cpp:
649         * ksvg2/misc/SVGImageLoader.h:
650         * ksvg2/svg/DOMList.h:
651         * ksvg2/svg/SVGAElement.cpp:
652         * ksvg2/svg/SVGAElement.h:
653         * ksvg2/svg/SVGAngle.cpp:
654         * ksvg2/svg/SVGAngle.h:
655         * ksvg2/svg/SVGAnimateColorElement.cpp:
656         * ksvg2/svg/SVGAnimateColorElement.h:
657         * ksvg2/svg/SVGAnimateElement.cpp:
658         * ksvg2/svg/SVGAnimateElement.h:
659         * ksvg2/svg/SVGAnimateTransformElement.cpp:
660         * ksvg2/svg/SVGAnimateTransformElement.h:
661         * ksvg2/svg/SVGAnimatedAngle.cpp:
662         * ksvg2/svg/SVGAnimatedAngle.h:
663         * ksvg2/svg/SVGAnimatedBoolean.cpp:
664         * ksvg2/svg/SVGAnimatedBoolean.h:
665         * ksvg2/svg/SVGAnimatedColor.cpp:
666         * ksvg2/svg/SVGAnimatedColor.h:
667         * ksvg2/svg/SVGAnimatedEnumeration.cpp:
668         * ksvg2/svg/SVGAnimatedEnumeration.h:
669         * ksvg2/svg/SVGAnimatedInteger.cpp:
670         * ksvg2/svg/SVGAnimatedInteger.h:
671         * ksvg2/svg/SVGAnimatedLength.cpp:
672         * ksvg2/svg/SVGAnimatedLength.h:
673         * ksvg2/svg/SVGAnimatedLengthList.cpp:
674         * ksvg2/svg/SVGAnimatedLengthList.h:
675         * ksvg2/svg/SVGAnimatedNumber.cpp:
676         * ksvg2/svg/SVGAnimatedNumber.h:
677         * ksvg2/svg/SVGAnimatedNumberList.cpp:
678         * ksvg2/svg/SVGAnimatedNumberList.h:
679         * ksvg2/svg/SVGAnimatedPathData.cpp:
680         * ksvg2/svg/SVGAnimatedPathData.h:
681         * ksvg2/svg/SVGAnimatedPoints.cpp:
682         * ksvg2/svg/SVGAnimatedPoints.h:
683         * ksvg2/svg/SVGAnimatedPreserveAspectRatio.cpp:
684         * ksvg2/svg/SVGAnimatedPreserveAspectRatio.h:
685         * ksvg2/svg/SVGAnimatedRect.cpp:
686         * ksvg2/svg/SVGAnimatedRect.h:
687         * ksvg2/svg/SVGAnimatedString.cpp:
688         * ksvg2/svg/SVGAnimatedString.h:
689         * ksvg2/svg/SVGAnimatedTemplate.h:
690         * ksvg2/svg/SVGAnimatedTransformList.cpp:
691         * ksvg2/svg/SVGAnimatedTransformList.h:
692         * ksvg2/svg/SVGAnimationElement.cpp:
693         * ksvg2/svg/SVGAnimationElement.h:
694         * ksvg2/svg/SVGCircleElement.cpp:
695         * ksvg2/svg/SVGCircleElement.h:
696         * ksvg2/svg/SVGClipPathElement.cpp:
697         * ksvg2/svg/SVGClipPathElement.h:
698         * ksvg2/svg/SVGColor.cpp:
699         * ksvg2/svg/SVGColor.h:
700         * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
701         * ksvg2/svg/SVGComponentTransferFunctionElement.h:
702         * ksvg2/svg/SVGCursorElement.cpp:
703         * ksvg2/svg/SVGCursorElement.h:
704         * ksvg2/svg/SVGDOMImplementation.cpp:
705         * ksvg2/svg/SVGDOMImplementation.h:
706         * ksvg2/svg/SVGDefsElement.cpp:
707         * ksvg2/svg/SVGDefsElement.h:
708         * ksvg2/svg/SVGDescElement.cpp:
709         * ksvg2/svg/SVGDescElement.h:
710         * ksvg2/svg/SVGDocument.cpp:
711         * ksvg2/svg/SVGDocument.h:
712         * ksvg2/svg/SVGElement.cpp:
713         * ksvg2/svg/SVGElement.h:
714         * ksvg2/svg/SVGElementInstance.cpp:
715         * ksvg2/svg/SVGElementInstance.h:
716         * ksvg2/svg/SVGElementInstanceList.cpp:
717         * ksvg2/svg/SVGElementInstanceList.h:
718         * ksvg2/svg/SVGEllipseElement.cpp:
719         * ksvg2/svg/SVGEllipseElement.h:
720         * ksvg2/svg/SVGExternalResourcesRequired.cpp:
721         * ksvg2/svg/SVGExternalResourcesRequired.h:
722         * ksvg2/svg/SVGFEBlendElement.cpp:
723         * ksvg2/svg/SVGFEBlendElement.h:
724         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
725         * ksvg2/svg/SVGFEColorMatrixElement.h:
726         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
727         * ksvg2/svg/SVGFEComponentTransferElement.h:
728         * ksvg2/svg/SVGFECompositeElement.cpp:
729         * ksvg2/svg/SVGFECompositeElement.h:
730         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
731         * ksvg2/svg/SVGFEDiffuseLightingElement.h:
732         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
733         * ksvg2/svg/SVGFEDisplacementMapElement.h:
734         * ksvg2/svg/SVGFEDistantLightElement.cpp:
735         * ksvg2/svg/SVGFEDistantLightElement.h:
736         * ksvg2/svg/SVGFEFloodElement.cpp:
737         * ksvg2/svg/SVGFEFloodElement.h:
738         * ksvg2/svg/SVGFEFuncAElement.cpp:
739         * ksvg2/svg/SVGFEFuncAElement.h:
740         * ksvg2/svg/SVGFEFuncBElement.cpp:
741         * ksvg2/svg/SVGFEFuncBElement.h:
742         * ksvg2/svg/SVGFEFuncGElement.cpp:
743         * ksvg2/svg/SVGFEFuncGElement.h:
744         * ksvg2/svg/SVGFEFuncRElement.cpp:
745         * ksvg2/svg/SVGFEFuncRElement.h:
746         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
747         * ksvg2/svg/SVGFEGaussianBlurElement.h:
748         * ksvg2/svg/SVGFEImageElement.cpp:
749         * ksvg2/svg/SVGFEImageElement.h:
750         * ksvg2/svg/SVGFELightElement.cpp:
751         * ksvg2/svg/SVGFELightElement.h:
752         * ksvg2/svg/SVGFEMergeElement.cpp:
753         * ksvg2/svg/SVGFEMergeElement.h:
754         * ksvg2/svg/SVGFEMergeNodeElement.cpp:
755         * ksvg2/svg/SVGFEMergeNodeElement.h:
756         * ksvg2/svg/SVGFEOffsetElement.cpp:
757         * ksvg2/svg/SVGFEOffsetElement.h:
758         * ksvg2/svg/SVGFEPointLightElement.cpp:
759         * ksvg2/svg/SVGFEPointLightElement.h:
760         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
761         * ksvg2/svg/SVGFESpecularLightingElement.h:
762         * ksvg2/svg/SVGFESpotLightElement.cpp:
763         * ksvg2/svg/SVGFESpotLightElement.h:
764         * ksvg2/svg/SVGFETileElement.cpp:
765         * ksvg2/svg/SVGFETileElement.h:
766         * ksvg2/svg/SVGFETurbulenceElement.cpp:
767         * ksvg2/svg/SVGFETurbulenceElement.h:
768         * ksvg2/svg/SVGFilterElement.cpp:
769         * ksvg2/svg/SVGFilterElement.h:
770         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
771         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
772         * ksvg2/svg/SVGFitToViewBox.cpp:
773         * ksvg2/svg/SVGFitToViewBox.h:
774         * ksvg2/svg/SVGForeignObjectElement.cpp:
775         * ksvg2/svg/SVGForeignObjectElement.h:
776         * ksvg2/svg/SVGGElement.cpp:
777         * ksvg2/svg/SVGGElement.h:
778         * ksvg2/svg/SVGGradientElement.cpp:
779         * ksvg2/svg/SVGGradientElement.h:
780         * ksvg2/svg/SVGHelper.cpp:
781         * ksvg2/svg/SVGHelper.h:
782         * ksvg2/svg/SVGImageElement.cpp:
783         * ksvg2/svg/SVGImageElement.h:
784         * ksvg2/svg/SVGLangSpace.cpp:
785         * ksvg2/svg/SVGLangSpace.h:
786         * ksvg2/svg/SVGLength.cpp:
787         * ksvg2/svg/SVGLength.h:
788         * ksvg2/svg/SVGLengthList.cpp:
789         * ksvg2/svg/SVGLengthList.h:
790         * ksvg2/svg/SVGLineElement.cpp:
791         * ksvg2/svg/SVGLineElement.h:
792         * ksvg2/svg/SVGLinearGradientElement.cpp:
793         * ksvg2/svg/SVGLinearGradientElement.h:
794         * ksvg2/svg/SVGList.h:
795         * ksvg2/svg/SVGLocatable.cpp:
796         * ksvg2/svg/SVGLocatable.h:
797         * ksvg2/svg/SVGMarkerElement.cpp:
798         * ksvg2/svg/SVGMarkerElement.h:
799         * ksvg2/svg/SVGMaskElement.cpp:
800         * ksvg2/svg/SVGMaskElement.h:
801         * ksvg2/svg/SVGMatrix.cpp:
802         * ksvg2/svg/SVGMatrix.h:
803         * ksvg2/svg/SVGNumber.cpp:
804         * ksvg2/svg/SVGNumber.h:
805         * ksvg2/svg/SVGNumberList.cpp:
806         * ksvg2/svg/SVGNumberList.h:
807         * ksvg2/svg/SVGPaint.cpp:
808         * ksvg2/svg/SVGPaint.h:
809         * ksvg2/svg/SVGPathElement.cpp:
810         * ksvg2/svg/SVGPathElement.h:
811         * ksvg2/svg/SVGPathSeg.cpp:
812         * ksvg2/svg/SVGPathSeg.h:
813         * ksvg2/svg/SVGPathSegArc.cpp:
814         * ksvg2/svg/SVGPathSegArc.h:
815         * ksvg2/svg/SVGPathSegClosePath.cpp:
816         * ksvg2/svg/SVGPathSegClosePath.h:
817         * ksvg2/svg/SVGPathSegCurvetoCubic.cpp:
818         * ksvg2/svg/SVGPathSegCurvetoCubic.h:
819         * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.cpp:
820         * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
821         * ksvg2/svg/SVGPathSegCurvetoQuadratic.cpp:
822         * ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
823         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.cpp:
824         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
825         * ksvg2/svg/SVGPathSegLineto.cpp:
826         * ksvg2/svg/SVGPathSegLineto.h:
827         * ksvg2/svg/SVGPathSegLinetoHorizontal.cpp:
828         * ksvg2/svg/SVGPathSegLinetoHorizontal.h:
829         * ksvg2/svg/SVGPathSegLinetoVertical.cpp:
830         * ksvg2/svg/SVGPathSegLinetoVertical.h:
831         * ksvg2/svg/SVGPathSegList.cpp:
832         * ksvg2/svg/SVGPathSegList.h:
833         * ksvg2/svg/SVGPathSegMoveto.cpp:
834         * ksvg2/svg/SVGPathSegMoveto.h:
835         * ksvg2/svg/SVGPatternElement.cpp:
836         * ksvg2/svg/SVGPatternElement.h:
837         * ksvg2/svg/SVGPoint.cpp:
838         * ksvg2/svg/SVGPoint.h:
839         * ksvg2/svg/SVGPointList.cpp:
840         * ksvg2/svg/SVGPointList.h:
841         * ksvg2/svg/SVGPolyElement.cpp:
842         * ksvg2/svg/SVGPolyElement.h:
843         * ksvg2/svg/SVGPolygonElement.cpp:
844         * ksvg2/svg/SVGPolygonElement.h:
845         * ksvg2/svg/SVGPolylineElement.cpp:
846         * ksvg2/svg/SVGPolylineElement.h:
847         * ksvg2/svg/SVGPreserveAspectRatio.cpp:
848         * ksvg2/svg/SVGPreserveAspectRatio.h:
849         * ksvg2/svg/SVGRadialGradientElement.cpp:
850         * ksvg2/svg/SVGRadialGradientElement.h:
851         * ksvg2/svg/SVGRect.cpp:
852         * ksvg2/svg/SVGRect.h:
853         * ksvg2/svg/SVGRectElement.cpp:
854         * ksvg2/svg/SVGRectElement.h:
855         * ksvg2/svg/SVGSVGElement.cpp:
856         * ksvg2/svg/SVGSVGElement.h:
857         * ksvg2/svg/SVGScriptElement.cpp:
858         * ksvg2/svg/SVGScriptElement.h:
859         * ksvg2/svg/SVGSetElement.cpp:
860         * ksvg2/svg/SVGSetElement.h:
861         * ksvg2/svg/SVGStopElement.cpp:
862         * ksvg2/svg/SVGStopElement.h:
863         * ksvg2/svg/SVGStringList.cpp:
864         * ksvg2/svg/SVGStringList.h:
865         * ksvg2/svg/SVGStylable.cpp:
866         * ksvg2/svg/SVGStylable.h:
867         * ksvg2/svg/SVGStyleElement.cpp:
868         * ksvg2/svg/SVGStyleElement.h:
869         * ksvg2/svg/SVGStyledElement.cpp:
870         * ksvg2/svg/SVGStyledElement.h:
871         * ksvg2/svg/SVGStyledLocatableElement.cpp:
872         * ksvg2/svg/SVGStyledLocatableElement.h:
873         * ksvg2/svg/SVGStyledTransformableElement.cpp:
874         * ksvg2/svg/SVGStyledTransformableElement.h:
875         * ksvg2/svg/SVGSwitchElement.cpp:
876         * ksvg2/svg/SVGSwitchElement.h:
877         * ksvg2/svg/SVGSymbolElement.cpp:
878         * ksvg2/svg/SVGSymbolElement.h:
879         * ksvg2/svg/SVGTRefElement.cpp:
880         * ksvg2/svg/SVGTRefElement.h:
881         * ksvg2/svg/SVGTSpanElement.cpp:
882         * ksvg2/svg/SVGTSpanElement.h:
883         * ksvg2/svg/SVGTests.cpp:
884         * ksvg2/svg/SVGTests.h:
885         * ksvg2/svg/SVGTextContentElement.cpp:
886         * ksvg2/svg/SVGTextContentElement.h:
887         * ksvg2/svg/SVGTextElement.cpp:
888         * ksvg2/svg/SVGTextElement.h:
889         * ksvg2/svg/SVGTextPositioningElement.cpp:
890         * ksvg2/svg/SVGTextPositioningElement.h:
891         * ksvg2/svg/SVGTitleElement.cpp:
892         * ksvg2/svg/SVGTitleElement.h:
893         * ksvg2/svg/SVGTransform.cpp:
894         * ksvg2/svg/SVGTransform.h:
895         * ksvg2/svg/SVGTransformList.cpp:
896         * ksvg2/svg/SVGTransformList.h:
897         * ksvg2/svg/SVGTransformable.cpp:
898         * ksvg2/svg/SVGTransformable.h:
899         * ksvg2/svg/SVGURIReference.cpp:
900         * ksvg2/svg/SVGURIReference.h:
901         * ksvg2/svg/SVGUseElement.cpp:
902         * ksvg2/svg/SVGUseElement.h:
903         * ksvg2/svg/SVGViewElement.cpp:
904         * ksvg2/svg/SVGViewElement.h:
905         * ksvg2/svg/SVGZoomAndPan.cpp:
906         * ksvg2/svg/SVGZoomAndPan.h:
907         * ksvg2/svg/svgpathparser.cpp:
908         * ksvg2/svg/svgpathparser.h:
909         * page/DOMWindow.idl:
910         * page/Frame.cpp:
911         (WebCore::Frame::Frame):
912         (WebCore::Frame::begin):
913         (WebCore::Frame::pauseTimeouts):
914         (WebCore::Frame::resumeTimeouts):
915         * platform/GraphicsContext.h:
916         * platform/cg/GraphicsContextCG.cpp:
917         * rendering/RenderLayer.cpp:
918         (WebCore::RenderLayer::isTransparent):
919         * rendering/RenderObject.cpp:
920         (WebCore::RenderObject::containingBlock):
921         * rendering/RenderObject.h:
922         * rendering/RenderStyle.cpp:
923         (WebCore::RenderStyle::RenderStyle):
924         (WebCore::RenderStyle::inheritFrom):
925         (WebCore::RenderStyle::operator==):
926         (WebCore::RenderStyle::inheritedNotEqual):
927         (WebCore::RenderStyle::diff):
928         * rendering/RenderStyle.h:
929         * rendering/RenderTreeAsText.cpp:
930         (WebCore::write):
931         (WebCore::externalRepresentation):
932         * xpath/XPathEvaluator.cpp:
933         * xpath/XPathEvaluator.h:
934         * xpath/XPathExpression.cpp:
935         * xpath/XPathExpression.h:
936         * xpath/XPathNSResolver.cpp:
937         * xpath/XPathNSResolver.h:
938         * xpath/XPathNamespace.cpp:
939         * xpath/XPathNamespace.h:
940         * xpath/XPathResult.cpp:
941         * xpath/XPathResult.h:
942         * xpath/impl/XPathExpressionNode.cpp:
943         * xpath/impl/XPathExpressionNode.h:
944         * xpath/impl/XPathFunctions.cpp:
945         * xpath/impl/XPathFunctions.h:
946         * xpath/impl/XPathGrammar.y:
947         * xpath/impl/XPathParser.cpp:
948         * xpath/impl/XPathParser.h:
949         * xpath/impl/XPathPath.cpp:
950         * xpath/impl/XPathPath.h:
951         * xpath/impl/XPathPredicate.cpp:
952         * xpath/impl/XPathPredicate.h:
953         * xpath/impl/XPathStep.cpp:
954         * xpath/impl/XPathStep.h:
955         * xpath/impl/XPathUtil.cpp:
956         * xpath/impl/XPathUtil.h:
957         * xpath/impl/XPathValue.cpp:
958         * xpath/impl/XPathValue.h:
959         * xpath/impl/XPathVariableReference.cpp:
960         * xpath/impl/XPathVariableReference.h:
961
962         Change all #if SVG_SUPPORT to #ifdef SVG_SUPPORT and
963         #if XPATH_SUPPORT to #ifdef XPATH_SUPPORT
964         (except for one #if !SVG_SUPPORT to a #ifndef SVG_SUPPORT
965         in RenderTreeAsText.cpp)
966
967 2006-08-08  Rob Buis  <buis@kde.org>
968
969         Reviewed by Darin.
970
971         http://bugzilla.opendarwin.org/show_bug.cgi?id=10230
972         SVGDOMImplementation should die (and be rolled into DOMImplementation)
973
974         Delete SVGDOMImplementation and references to it. The
975         svg specific functionality is now in DOMImplementation.
976
977         * WebCore.xcodeproj/project.pbxproj:
978         * dom/DOMImplementation.cpp:
979         (WebCore::svgFeatureSet):
980         (WebCore::DOMImplementation::hasFeature):
981         (WebCore::DOMImplementation::createDocument):
982         (WebCore::DOMImplementation::createSVGDocument):
983         * dom/DOMImplementation.h:
984         * ksvg2/bindings/idl/svg/SVGDOMImplementation.idl: Removed.
985         * ksvg2/misc/KSVGTimeScheduler.cpp:
986         * ksvg2/svg/SVGColor.cpp:
987         * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
988         * ksvg2/svg/SVGDocument.cpp:
989         (WebCore::SVGDocument::SVGDocument):
990         * ksvg2/svg/SVGDocument.h:
991         * ksvg2/svg/SVGElement.cpp:
992         (WebCore::SVGElement::isSupported):
993         * ksvg2/svg/SVGFEBlendElement.cpp:
994         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
995         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
996         * ksvg2/svg/SVGFECompositeElement.cpp:
997         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
998         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
999         * ksvg2/svg/SVGFEFloodElement.cpp:
1000         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
1001         * ksvg2/svg/SVGFELightElement.cpp:
1002         * ksvg2/svg/SVGFEMergeElement.cpp:
1003         * ksvg2/svg/SVGFEOffsetElement.cpp:
1004         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
1005         * ksvg2/svg/SVGFETileElement.cpp:
1006         * ksvg2/svg/SVGFETurbulenceElement.cpp:
1007         * ksvg2/svg/SVGGradientElement.cpp:
1008         * ksvg2/svg/SVGPatternElement.cpp:
1009         * ksvg2/svg/SVGPolyElement.cpp:
1010         * ksvg2/svg/SVGStopElement.cpp:
1011         * ksvg2/svg/SVGStyledElement.cpp:
1012         * ksvg2/svg/SVGStyledTransformableElement.cpp:
1013         * ksvg2/svg/SVGTests.cpp:
1014         (WebCore::SVGTests::isValid):
1015         * ksvg2/svg/SVGTransformable.cpp:
1016         * page/Frame.cpp:
1017         (WebCore::Frame::begin):
1018
1019 2006-08-07  Brady Eidson  <beidson@apple.com>
1020
1021         Reviewed by Anders and John
1022
1023         Icons can now refresh when new data is sent from WebKit, both on disk and in memory
1024
1025         * bridge/mac/WebCoreIconDatabaseBridge.h:
1026         * bridge/mac/WebCoreIconDatabaseBridge.mm:
1027         (WebCore::IconDatabase::loadIconFromURL):  Allows WebCore/Kit to kick off a load
1028         outside of any greater context
1029         (-[WebCoreIconDatabaseBridge isIconExpiredForIconURL:]):
1030         (-[WebCoreIconDatabaseBridge isIconExpiredForPageURL:]): Allows WebKit
1031         to get whether or not an icon has expired
1032
1033         * loader/icon/IconDatabase.cpp:
1034         (WebCore::IconDatabase::recreateDatabase): Changed database schema slightly
1035         (WebCore::IconDatabase::createPrivateTables): Changed database schema slightly
1036         (WebCore::IconDatabase::iconForPageURL): 
1037         (WebCore::IconDatabase::isIconExpiredForIconURL): Get if an icon has expired
1038         (WebCore::IconDatabase::isIconExpiredForPageURL): Get if an icon has expired
1039         (WebCore::IconDatabase::setIconDataForIconURL): Force a refresh of the in memory
1040         image when new icon data is loaded
1041         (WebCore::IconDatabase::setIconURLForPageURL): added a check for null iconID
1042
1043         * loader/icon/IconDatabase.h: added/changed some methods
1044         * loader/icon/SiteIcon.cpp:
1045         (SiteIcon::getImage): simplified/removed debugging code
1046         (SiteIcon::manuallySetImageData): allow the image data to be changed when new icon
1047         data is loaded
1048
1049 2006-08-05  Darin Adler  <darin@apple.com>
1050
1051         Reviewed by Eric Seidel.
1052
1053         - fix a storage leak
1054
1055         * rendering/RenderView.cpp: (WebCore::RenderView::setSelection):
1056         Delete the values if we are going to exit without using the maps.
1057         Otherwise all the values leak.
1058
1059 2006-08-05  Darin Adler  <darin@apple.com>
1060
1061         Reviewed by Hyatt.
1062
1063         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10213
1064           REGRESSION: Crash in WebCore::RenderLayer::isTransparent involving <iframe> and <select>
1065
1066         Test: fast/frames/iframe-option-crash.xhtml
1067
1068         * rendering/RenderView.cpp: (WebCore::RenderView::paintBoxDecorations):
1069         Check for a nil renderer.
1070
1071 2006-08-04  David Hyatt  <hyatt@apple.com>
1072
1073         Fix for Radar bug #4644045, regression where dragging selection no longer
1074         works for floats contained inside layers.  I added an optimization to
1075         refine dirty rect checking for layers, and it incorrectly excluded floats
1076         from the paint bounds since PaintPhaseSelection was not considered when
1077         analyzing the floatRect().
1078
1079         Reviewed by beth
1080
1081         * rendering/RenderBlock.cpp:
1082         (WebCore::RenderBlock::paint):
1083
1084 2006-08-04  David Hyatt  <hyatt@apple.com>
1085
1086         Fix remove() so that it is equivalent to calling removeChild on the
1087         parent.  This involved moving three operations that remove did.
1088
1089         (1) Move the accessibility object cache removal into the destroy methods,
1090         since this really should just happen when a render object is going away.
1091
1092         (2) removeFromObjectLists shifted into removeChild, which means it will
1093         now be called more often (this is a correct change).  Note that there is
1094         also now a new guard on removeFromObjectLists so that it won't do any
1095         work unless the document is not being destroyed.
1096
1097         (3) The big one.  deleteLineBoxWrapper was not getting called to clean up
1098         the line box tree.  This moved right into RenderContainer's removeChildNode so
1099         that it is now done even in the lowest level RenderContainer removal primitive.
1100
1101         Reviewed by beth
1102
1103         * rendering/RenderContainer.cpp:
1104         (WebCore::RenderContainer::removeChildNode):
1105         (WebCore::RenderContainer::removeChild):
1106         * rendering/RenderObject.cpp:
1107         (WebCore::RenderObject::removeFromObjectLists):
1108         (WebCore::RenderObject::destroy):
1109         * rendering/RenderObject.h:
1110         (WebCore::RenderObject::remove):
1111         * rendering/RenderWidget.cpp:
1112         (WebCore::RenderWidget::destroy):
1113
1114 2006-08-04  David Hyatt  <hyatt@apple.com>
1115
1116         Back out the fix for list marker crashes.  The actual bug here is that
1117         there is a confusing mismatch between remove() and removeChild() in the
1118         render tree.  remove() does a little bit of extra work that removeChild
1119         should be doing instead (so that remove() can just be a shorthand for
1120         removeChild).
1121
1122         This conservative fix does not solve the remove/removeChild mismatch
1123         but instead just changes the list marker updating code to use remove
1124         instead.
1125
1126         Reviewed by beth
1127
1128         Test Case: fast/lists/dynamic-marker-crash.html
1129
1130         * rendering/ListMarkerBox.cpp:
1131         * rendering/ListMarkerBox.h:
1132         * rendering/RenderListItem.cpp:
1133         (WebCore::RenderListItem::updateMarkerLocation):
1134
1135 2006-08-04  Sam Weinig  <sam.weinig@gmail.com>
1136
1137         Reviewed by Darin.
1138
1139         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10192
1140           Make WebCore (and friends) compile with -Wshorten-64-to-32
1141
1142           * Adds -Wshorten-64-to-32 flag to Xcode project.
1143           * Adds 'f' to float literals where expecting a float.
1144           * Use cosf() instead of cos() when assigning to a float.
1145
1146         * WebCore.xcodeproj/project.pbxproj:
1147         * kcanvas/device/quartz/filters/WKDiffuseLightingFilter.m:
1148         (+[WKDiffuseLightingFilter initialize]):
1149         * kcanvas/device/quartz/filters/WKDiscreteTransferFilter.m:
1150         (-[WKDiscreteTransferFilter outputImage]):
1151         * kcanvas/device/quartz/filters/WKDisplacementMapFilter.m:
1152         (+[WKDisplacementMapFilter initialize]):
1153         * kcanvas/device/quartz/filters/WKSpecularLightingFilter.m:
1154         (+[WKSpecularLightingFilter initialize]):
1155         * kcanvas/device/quartz/filters/WKSpotLightFilter.m:
1156         (-[WKSpotLightFilter outputImage]):
1157         * kcanvas/device/quartz/filters/WKTableTransferFilter.m:
1158         (-[WKTableTransferFilter outputImage]):
1159
1160 2006-08-03  David Hyatt  <hyatt@apple.com>
1161
1162         Fix for bug 10229, don't bother trying to clear when no floats are
1163         present.  I suspect there's still a bug in the math that follows, but
1164         this fix is safer in that it just does the obvious thing (and doesn't
1165         compute any clearance if no floats are even around).
1166
1167         Reviewed by maciej
1168
1169         * ChangeLog:
1170         * rendering/RenderBlock.cpp:
1171         (WebCore::RenderBlock::getClearDelta):
1172
1173 2006-08-03  Justin Garcia  <justin.garcia@apple.com>
1174
1175         Reviewed by harrison
1176         
1177         <rdar://problem/4641033/4515463/4052426/4046570/4053718/4053724/4060115/4062858>
1178         Copy/Paste fidelity was bad.
1179
1180         * editing/ApplyStyleCommand.cpp:
1181         (WebCore::ApplyStyleCommand::applyInlineStyle):
1182         * editing/markup.cpp:
1183         (WebCore::startMarkup): We were not adding non-inheritable styles
1184         to the markup for an element unless they were in the elements inline
1185         style declaration.
1186
1187 2006-08-03  Sam Weinig  <sam.weinig@gmail.com>
1188
1189         Reviewed by Darin.
1190
1191         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10176
1192           Make WebCore compile with -Wundef
1193
1194           * Adds -Wundef flag to Xcode project
1195           * Converts #ifs to #ifdef and #ifndefs where needed.
1196           * Replaces #ifdef WIN32 with #if PLATFORM(WIN_OS) or PLATFORM(WIN)
1197             (and in one instance in config.h with #if !COMPILER(MSVC))
1198           * Added #define YYMAXDEPTH 10000 in XPathGrammar.y and CSSGrammar.y
1199             to fix a warning from within Bison.
1200           * Cleaned up style a little in surrounding code.
1201
1202         * WebCore.xcodeproj/project.pbxproj:
1203         * bridge/mac/WebCoreAXObject.mm:
1204         (-[WebCoreAXObject doAXTextMarkerRangeForUnorderedTextMarkers:]):
1205         * config.h:
1206         * css/CSSGrammar.y:
1207         * css/MediaFeatureNames.cpp:
1208         * css/MediaFeatureNames.h:
1209         * css/cssparser.cpp:
1210         * dom/ContainerNode.cpp:
1211         (WebCore::ContainerNode::setActive):
1212         * dom/Element.cpp:
1213         (WebCore::Element::attach):
1214         * dom/Element.h:
1215         * dom/EventNames.cpp:
1216         * dom/EventNames.h:
1217         * dom/NamedAttrMap.h:
1218         * dom/Position.cpp:
1219         * dom/QualifiedName.cpp:
1220         * dom/QualifiedName.h:
1221         * dom/Range.h:
1222         * dom/XMLTokenizer.cpp:
1223         (WebCore::XMLTokenizer::error):
1224         * html/HTMLTokenizer.cpp:
1225         (WebCore::HTMLTokenizer::scriptHandler):
1226         (WebCore::HTMLTokenizer::scriptExecution):
1227         (WebCore::HTMLTokenizer::parseTag):
1228         (WebCore::HTMLTokenizer::continueProcessing):
1229         (WebCore::HTMLTokenizer::write):
1230         (WebCore::HTMLTokenizer::timerFired):
1231         (WebCore::HTMLTokenizer::notifyFinished):
1232         * kcanvas/device/quartz/KCanvasFilterQuartz.h:
1233         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
1234         * ksvg2/css/SVGRenderStyle.h:
1235         * ksvg2/css/SVGRenderStyleDefs.h:
1236         * ksvg2/scripts/make_names.pl:
1237         * loader/CachedResource.h:
1238         * loader/LoaderFunctions.h:
1239         * loader/loader.h:
1240         * page/Frame.cpp:
1241         * page/FrameTree.cpp:
1242         * page/FrameView.cpp:
1243         (WebCore::FrameView::clear):
1244         (WebCore::FrameView::layout):
1245         (WebCore::FrameView::layoutTimerFired):
1246         (WebCore::FrameView::scheduleRelayout):
1247         (WebCore::FrameView::unscheduleRelayout):
1248         * platform/AtomicString.cpp:
1249         * platform/AtomicString.h:
1250         * platform/Cursor.h:
1251         * platform/DeprecatedArray.h:
1252         * platform/DeprecatedString.cpp:
1253         (WebCore::allocateHandle):
1254         (WebCore::initializeHandleNodeBlock):
1255         (WebCore::freeHandle):
1256         * platform/FloatPoint.h:
1257         * platform/FloatRect.h:
1258         * platform/FloatSize.h:
1259         * platform/GraphicsContext.h:
1260         * platform/Image.h:
1261         * platform/IntPoint.h:
1262         * platform/IntRect.h:
1263         (WebCore::IntRect::inflateX):
1264         (WebCore::IntRect::inflateY):
1265         * platform/IntSize.h:
1266         * platform/PlatformKeyboardEvent.h:
1267         * platform/PlatformMouseEvent.h:
1268         * platform/PlatformString.h:
1269         * platform/ResourceLoader.h:
1270         * platform/ResourceLoaderInternal.h:
1271         (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
1272         * platform/ScrollView.h:
1273         * platform/StaticConstructors.h:
1274         * platform/StreamingTextDecoderICU.cpp:
1275         (WebCore::StreamingTextDecoderICU::convert):
1276         * platform/StringImpl.h:
1277         * platform/Widget.h:
1278         * platform/mac/BlockExceptions.mm:
1279         * platform/mac/ColorMac.mm:
1280         (+[WebCoreControlTintObserver WebCore]):
1281         * platform/mac/FloatPointMac.mm:
1282         * platform/mac/FloatRectMac.mm:
1283         * platform/mac/FloatSizeMac.mm:
1284         * platform/mac/FontMac.mm:
1285         * platform/mac/GraphicsContextMac.mm:
1286         (WebCore::GraphicsContext::drawFocusRing):
1287         * platform/mac/IntPointMac.mm:
1288         * platform/mac/IntRectMac.mm:
1289         * platform/mac/IntSizeMac.mm:
1290         * platform/mac/WebCoreSystemInterface.h:
1291         * rendering/RenderBlock.h:
1292         * rendering/RenderTableCell.h:
1293         * rendering/bidi.cpp:
1294         (WebCore::appendRun):
1295         (WebCore::RenderBlock::layoutInlineChildren):
1296         * xml/XSLTProcessor.cpp:
1297         (WebCore::parseErrorFunc):
1298         * xpath/impl/XPathGrammar.y:
1299
1300 2006-08-03  Adam Roben  <aroben@apple.com>
1301
1302         Reviewed by Maciej and Beth.
1303
1304         Fix use-after-dispose heap corruption bug.
1305
1306         * rendering/ListMarkerBox.cpp:
1307         (WebCore::ListMarkerBox::destroy): Only call removeChild if we're not
1308         destroying the document
1309
1310 2006-08-03  Adam Roben  <aroben@apple.com>
1311
1312         Reviewed by Anders.
1313
1314         - Fixed Windows build.
1315
1316         * platform/Color.cpp:
1317         (WebCore::makeRGBAFromHSLA): Whitespace change
1318         * platform/win/TemporaryLinkStubs.cpp: Add new method stubs
1319         (PlatformScrollBar::PlatformScrollBar):
1320         (PlatformScrollBar::~PlatformScrollBar):
1321         (PlatformScrollBar::width):
1322         (PlatformScrollBar::height):
1323         (PlatformScrollBar::setEnabled):
1324         (PlatformScrollBar::paint):
1325         (PlatformScrollBar::setScrollBarValue):
1326         (PlatformScrollBar::setKnobProportion):
1327         (PlatformScrollBar::setRect):
1328         (ScrollBar::ScrollBar):
1329         (ScrollBar::scroll):
1330         (ScrollBar::setValue):
1331
1332 2006-08-02  Justin Garcia  <justin.garcia@apple.com>
1333
1334         Reviewed by mjs
1335         
1336         <http://bugzilla.opendarwin.org/show_bug.cgi?id=10225>
1337         GMail Editor: Change Hilite Color doesn't work
1338
1339         * editing/JSEditor.cpp: Added support for execCommand("HiliteColor", ...).
1340         It's what GMail uses to implement text hiliting.  It's just a synonym for BackColor.
1341         * editing/SelectionController.cpp:
1342         (WebCore::SelectionController::nodeWillBeRemoved): Moved a comment
1343         a more appropriate place.
1344
1345 2006-08-03  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1346
1347         Reviewed by Adele and Darin.
1348
1349         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10177
1350           REGRESSION: Successfully dragging text into a disabled field
1351
1352         Test: fast/forms/textfield-drag-into-disabled.html
1353
1354         * rendering/RenderTextControl.cpp:
1355         (WebCore::RenderTextControl::createDivStyle): Changed to set -webkit-user-modify
1356         to read-only on the inner div if the control is disabled.       
1357         (WebCore::RenderTextControl::updateFromElement): Ditto.
1358
1359 2006-08-03  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1360
1361         Reviewed by Darin.
1362
1363         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10198
1364           REGRESSION: WebKit r15750 crashes while loading anthem.com
1365
1366         Test: fast/overflow/generated-content-crash.html
1367
1368         * rendering/RenderLayer.cpp:
1369         (WebCore::RenderLayer::updateScrollInfoAfterLayout): Added a null check for
1370         the renderer's element. Generated content does not have an element and
1371         therefore does not need to maintain overflow status.
1372
1373 2006-08-03  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1374
1375         Reviewed by Anders.
1376
1377         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10202
1378           REGRESSION: Repro crash when loading an empty image document
1379
1380         Test: fast/tokenizer/image-empty-crash.html
1381
1382         * loader/ImageDocument.cpp:
1383         (WebCore::ImageTokenizer::stopParsing): Added null check for m_imageElement.
1384         (WebCore::ImageTokenizer::finish): Ditto.
1385
1386 2006-08-03  Darin Adler  <darin@apple.com>
1387
1388         Reviewed by Anders.
1389
1390         - clean up "flip"-related code a tiny bit
1391
1392         * platform/Screen.h: Removed redundant parameter names.
1393         * platform/mac/ScreenMac.mm:
1394         (WebCore::flipScreenRect): Changed to call flipScreenPoint so we only have one
1395         copy of the flipping code.
1396         (WebCore::flipScreenPoint): Fixed indentation.
1397
1398         * bridge/mac/WebCoreFrameBridge.mm: (globalPoint): Removed type casts and
1399         simplified a bit.
1400
1401         * platform/mac/PlatformMouseEventMac.mm: (WebCore::globalPositionForEvent):
1402         * platform/mac/WheelEventMac.mm: (WebCore::globalPositionForEvent):
1403         Removed unneeded local variable.
1404
1405 2006-08-02  David Hyatt  <hyatt@apple.com>
1406
1407         Abstract RenderLayer scrollbar creation and destruction so that there
1408         is a clean spot in which to drop in engine scrollbar stuff.
1409
1410         Reviewed by timo
1411
1412         * platform/ScrollBar.h:
1413         (WebCore::ScrollBar::hasPlatformScrollBars):
1414         * rendering/RenderLayer.cpp:
1415         (WebCore::RenderLayer::createScrollbar):
1416         (WebCore::RenderLayer::destroyScrollbar):
1417         (WebCore::RenderLayer::setHasHorizontalScrollbar):
1418         (WebCore::RenderLayer::setHasVerticalScrollbar):
1419         * rendering/RenderLayer.h:
1420
1421 2006-08-02  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1422
1423         Reviewed by Darin.
1424
1425         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=3438
1426           incorrect display of transparent 1x1 PNGs
1427
1428         Test: fast/replaced/image-solid-color-with-alpha.html
1429
1430         * platform/mac/ImageMac.mm:
1431         (WebCore::Image::checkForSolidColor): Changed to divide each color component
1432         by the alpha component. You need to do that since the bitmap context has
1433         premultiplied alpha but m_solidColor should be non-premultiplied.
1434
1435 2006-08-02  Adam Roben  <aroben@apple.com>
1436
1437         Reviewed by Brady.
1438
1439         - Remove redundant #include
1440
1441         * loader/loader.cpp:
1442
1443 2006-07-31  Sam Weinig  <sam.weinig@gmail.com>
1444
1445         Reviewed by Darin.
1446
1447         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=9955
1448         Colors scaled from [0, 1] range to [0, 255] incorrectly
1449         
1450         Fixes scaling issue and fixes Color to follow style guidelines.
1451
1452         * css/cssstyleselector.cpp:
1453         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
1454         * platform/Color.cpp:
1455         (WebCore::calcHue):
1456         (WebCore::makeRGBAFromHSLA):
1457         (WebCore::Color::Color):
1458         (WebCore::Color::name):
1459         (WebCore::Color::setNamedColor):
1460         (WebCore::Color::light):
1461         (WebCore::Color::dark):
1462         (WebCore::blend):
1463         * platform/Color.h:
1464         (WebCore::Color::Color):
1465         (WebCore::Color::isValid):
1466         (WebCore::Color::red):
1467         (WebCore::Color::green):
1468         (WebCore::Color::blue):
1469         (WebCore::Color::alpha):
1470         (WebCore::Color::rgb):
1471         (WebCore::Color::setRGB):
1472         (WebCore::operator==):
1473         (WebCore::operator!=):
1474         * rendering/RenderObject.cpp:
1475         (WebCore::RenderObject::drawBorder):
1476
1477 2006-07-31  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1478
1479         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10158
1480           REGRESSION: Selection highlight is dark and opaque when solid-color images are used
1481
1482         Reviewed by Darin.
1483
1484         Pixel test: fast/backgrounds/solid-color-context-restore.html
1485
1486         * platform/mac/ImageMac.mm:
1487         (WebCore::Image::draw): Added calls to preserve the graphics context
1488         around the painting of a solid color image.
1489         (WebCore::Image::drawTiled): Ditto.
1490
1491 2006-07-31  Maciej Stachowiak  <mjs@apple.com>
1492
1493         Rubber-stamped by Tim Hatcher.
1494
1495         - renamed TransferJob to ResourceLoader
1496
1497         * Projects/gdk/webcore-gdk.bkl:
1498         * WebCore.vcproj/WebCore/WebCore.vcproj:
1499         * WebCore.xcodeproj/project.pbxproj:
1500         * WebCoreSources.bkl:
1501         * bridge/mac/FrameMac.mm:
1502         * bridge/mac/WebCoreResourceLoaderImp.h:
1503         * bridge/mac/WebCoreResourceLoaderImp.mm:
1504         (-[WebCoreResourceLoaderImp redirectedToURL:]):
1505         (-[WebCoreResourceLoaderImp addData:]):
1506         (-[WebCoreResourceLoaderImp finishJobAndHandle:]):
1507         * bridge/win/FrameWin.cpp:
1508         * dom/XMLTokenizer.cpp:
1509         (WebCore::openFunc):
1510         * loader/Cache.cpp:
1511         * loader/LoaderFunctions.h:
1512         * loader/loader.cpp:
1513         (WebCore::Loader::servePendingRequests):
1514         (WebCore::Loader::receivedAllData):
1515         (WebCore::Loader::receivedResponse):
1516         (WebCore::Loader::receivedData):
1517         (WebCore::Loader::cancelRequests):
1518         (WebCore::Loader::jobForRequest):
1519         * loader/loader.h:
1520         * loader/mac/LoaderFunctionsMac.mm:
1521         (WebCore::ServeSynchronousRequest):
1522         * platform/ResourceLoader.cpp: Added.
1523         (WebCore::ResourceLoader::ResourceLoader):
1524         (WebCore::ResourceLoader::isErrorPage):
1525         (WebCore::ResourceLoader::error):
1526         (WebCore::ResourceLoader::setError):
1527         (WebCore::ResourceLoader::queryMetaData):
1528         (WebCore::ResourceLoader::addMetaData):
1529         (WebCore::ResourceLoader::kill):
1530         (WebCore::ResourceLoader::url):
1531         (WebCore::ResourceLoader::postData):
1532         (WebCore::ResourceLoader::method):
1533         (WebCore::ResourceLoader::client):
1534         * platform/ResourceLoader.h: Added.
1535         (WebCore::ResourceLoader::getInternal):
1536         * platform/ResourceLoaderClient.h: Added.
1537         (WebCore::ResourceLoaderClient::~ResourceLoaderClient):
1538         (WebCore::ResourceLoaderClient::receivedRedirect):
1539         (WebCore::ResourceLoaderClient::receivedResponse):
1540         (WebCore::ResourceLoaderClient::receivedData):
1541         (WebCore::ResourceLoaderClient::receivedAllData):
1542         * platform/ResourceLoaderInternal.h: Added.
1543         (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
1544         * platform/TransferJob.cpp: Removed.
1545         * platform/TransferJob.h: Removed.
1546         * platform/TransferJobClient.h: Removed.
1547         * platform/TransferJobInternal.h: Removed.
1548         * platform/gdk/FrameGdk.cpp:
1549         (WebCore::FrameGdk::openURL):
1550         (WebCore::FrameGdk::urlSelected):
1551         (WebCore::FrameGdk::receivedData):
1552         (WebCore::FrameGdk::receivedAllData):
1553         * platform/gdk/FrameGdk.h:
1554         * platform/gdk/ResourceLoaderCurl.cpp: Added.
1555         (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
1556         (WebCore::ResourceLoader::~ResourceLoader):
1557         (WebCore::ResourceLoader::start):
1558         (WebCore::ResourceLoader::cancel):
1559         * platform/gdk/ResourceLoaderManager.cpp: Added.
1560         (WebCore::ResourceLoaderManager::ResourceLoaderManager):
1561         (WebCore::ResourceLoaderManager::get):
1562         (WebCore::ResourceLoaderManager::useSimpleTransfer):
1563         (WebCore::writeCallback):
1564         (WebCore::ResourceLoaderManager::downloadTimerCallback):
1565         (WebCore::ResourceLoaderManager::remove):
1566         (WebCore::ResourceLoaderManager::add):
1567         (WebCore::ResourceLoaderManager::cancel):
1568         * platform/gdk/ResourceLoaderManager.h: Added.
1569         * platform/gdk/TemporaryLinkStubs.cpp:
1570         (WebCore::ServeSynchronousRequest):
1571         (WebCore::ResourceLoader::assembleResponseHeaders):
1572         (WebCore::ResourceLoader::retrieveCharset):
1573         * platform/gdk/TransferJobCurl.cpp: Removed.
1574         * platform/gdk/TransferJobManager.cpp: Removed.
1575         * platform/gdk/TransferJobManager.h: Removed.
1576         * platform/mac/ResourceLoaderMac.mm: Added.
1577         (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
1578         (WebCore::ResourceLoader::~ResourceLoader):
1579         (WebCore::ResourceLoader::start):
1580         (WebCore::ResourceLoader::assembleResponseHeaders):
1581         (WebCore::ResourceLoader::retrieveCharset):
1582         (WebCore::ResourceLoader::setLoader):
1583         (WebCore::ResourceLoader::receivedResponse):
1584         (WebCore::ResourceLoader::cancel):
1585         * platform/mac/TransferJobMac.mm: Removed.
1586         * platform/win/ResourceLoaderWin.cpp: Added.
1587         (WebCore::addToOutstandingJobs):
1588         (WebCore::lookupResourceLoader):
1589         (WebCore::ResourceLoaderWndProc):
1590         (WebCore::initializeOffScreenResourceLoaderWindow):
1591         (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
1592         (WebCore::ResourceLoader::~ResourceLoader):
1593         (WebCore::ResourceLoader::start):
1594         (WebCore::ResourceLoader::fileLoadTimer):
1595         (WebCore::ResourceLoader::cancel):
1596         * platform/win/ResourceLoaderWin.h: Added.
1597         * platform/win/TemporaryLinkStubs.cpp:
1598         (WebCore::ServeSynchronousRequest):
1599         (WebCore::ResourceLoader::assembleResponseHeaders):
1600         (WebCore::ResourceLoader::retrieveCharset):
1601         * platform/win/TransferJobWin.cpp: Removed.
1602         * platform/win/TransferJobWin.h: Removed.
1603         * xml/XSLTProcessor.cpp:
1604         (WebCore::docLoaderFunc):
1605         * xml/xmlhttprequest.cpp:
1606         (WebCore::XMLHttpRequest::send):
1607         (WebCore::XMLHttpRequest::receivedAllData):
1608         (WebCore::XMLHttpRequest::receivedRedirect):
1609         (WebCore::XMLHttpRequest::receivedData):
1610         * xml/xmlhttprequest.h:
1611
1612 2006-07-31  Darin Adler  <darin@apple.com>
1613
1614         Reviewed by Hyatt.
1615
1616         - removed obsolete cell margin hack
1617
1618         * rendering/RenderBox.cpp: (WebCore::RenderBox::calcVerticalMargins):
1619         Set top and bottom margins to 0 for table cells instead of -16384.
1620         No effect on layout (including layout tests).
1621
1622         * css/CSSComputedStyleDeclaration.cpp:
1623         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1624         Added a few comments about differences between this class and the
1625         what the CSS specification says about computed style.
1626
1627 2006-07-31  Mark Rowe  <opendarwin.org@bdash.net.nz>
1628
1629         Reviewed by Maciej.
1630
1631         http://bugzilla.opendarwin.org/show_bug.cgi?id=9738
1632         Bug 9738: Unqualified :hover selector ignored in strict parsing mode
1633
1634         * css/cssstyleselector.cpp:
1635         (WebCore::CSSStyleSelector::checkSelector): Restrict the :hover and :active
1636         exclusion based on onlyHoverActive to quirks mode.
1637
1638 2006-07-31  David Hyatt  <hyatt@apple.com>
1639
1640         Fix for bug 10179, digg.com scrolls slowly.  Improve fixed positioning
1641         and fixed backgrounds so that a count of them is kept on the FrameView.
1642         This allows us to switch slow scrolling on and off as these objects come
1643         and go.
1644
1645         * css/cssstyleselector.cpp:
1646         (WebCore::CSSStyleSelector::adjustRenderStyle):
1647         (WebCore::CSSStyleSelector::applyProperty):
1648         * page/FrameView.cpp:
1649         (WebCore::FrameViewPrivate::reset):
1650         (WebCore::FrameView::layout):
1651         (WebCore::FrameView::useSlowRepaints):
1652         (WebCore::FrameView::setUseSlowRepaints):
1653         (WebCore::FrameView::addSlowRepaintObject):
1654         (WebCore::FrameView::removeSlowRepaintObject):
1655         * page/FrameView.h:
1656         * rendering/RenderBox.cpp:
1657         (WebCore::RenderBox::paintBackgroundExtended):
1658         * rendering/RenderObject.cpp:
1659         (WebCore::RenderObject::setStyle):
1660         * rendering/RenderView.cpp:
1661         (WebCore::RenderView::paintBoxDecorations):
1662
1663 2006-07-31  David Hyatt  <hyatt@apple.com>
1664
1665         Begin disentangling of scrollbar logic in preparation for engine-implemented
1666         scrollbars.  Split ScrollBar into two classes, an abstract base (still named
1667         ScrollBar) and a new PlatformScrollBar subclass.  This subclass is used only
1668         by platforms that want to continue to use a platform scrollbar (rather than
1669         the engine one).
1670
1671         Reviewed by darin
1672
1673         * WebCore.xcodeproj/project.pbxproj:
1674         * html/HTMLCanvasElement.h:
1675         * page/Frame.cpp:
1676         * platform/PlatformScrollBar.h: Added.
1677         (WebCore::PlatformScrollBar::isWidget):
1678         * platform/ScrollBar.h:
1679         (WebCore::ScrollBarClient::~ScrollBarClient):
1680         (WebCore::ScrollBar::~ScrollBar):
1681         (WebCore::ScrollBar::orientation):
1682         (WebCore::ScrollBar::value):
1683         (WebCore::ScrollBar::client):
1684         * platform/mac/PlatformScrollBarMac.mm: Added.
1685         (-[WebCoreScrollBar initWithPlatformScrollBar:]):
1686         (-[WebCoreScrollBar detachPlatformScrollBar]):
1687         (-[WebCoreScrollBar scroll:]):
1688         (-[WebCoreScrollBar widget]):
1689         (-[WebCoreScrollBar mouseDown:]):
1690         (WebCore::PlatformScrollBar::PlatformScrollBar):
1691         (WebCore::PlatformScrollBar::~PlatformScrollBar):
1692         (WebCore::PlatformScrollBar::setScrollBarValue):
1693         (WebCore::PlatformScrollBar::setKnobProportion):
1694         (WebCore::PlatformScrollBar::scrollbarHit):
1695         (WebCore::PlatformScrollBar::width):
1696         (WebCore::PlatformScrollBar::height):
1697         (WebCore::PlatformScrollBar::setRect):
1698         (WebCore::PlatformScrollBar::setEnabled):
1699         (WebCore::PlatformScrollBar::paint):
1700         * platform/mac/ScrollBarMac.mm: Removed.
1701         * platform/mac/WebCoreTextArea.mm:
1702         * rendering/RenderBlock.cpp:
1703         (WebCore::RenderBlock::isPointInScrollbar):
1704         * rendering/RenderFormElement.cpp:
1705         * rendering/RenderLayer.cpp:
1706         (WebCore::RenderLayer::horizontalScrollbarWidget):
1707         (WebCore::RenderLayer::verticalScrollbarWidget):
1708         (WebCore::RenderLayer::valueChanged):
1709         (WebCore::RenderLayer::setHasHorizontalScrollbar):
1710         (WebCore::RenderLayer::setHasVerticalScrollbar):
1711         (WebCore::RenderLayer::positionScrollbars):
1712         * rendering/RenderLayer.h:
1713         * rendering/RenderWidget.h:
1714
1715 2006-07-31  Adele Peterson  <adele@apple.com>
1716
1717         Reviewed by John and Anders.
1718
1719         - Fix for <rdar://problem/4380576> onChange does not get called when field changed by return key
1720
1721         Test: fast/forms/onchange-enter-submit.html
1722
1723         Blur (which will fire onChange appropriately) before submitting a form when pressing Enter.
1724         This matches the sequence of events fired in WinIE.
1725
1726         * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler):
1727         * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::defaultEventHandler):
1728
1729 2006-07-31  Geoffrey Garen  <ggaren@apple.com>
1730
1731         Reviewed by Kevin.
1732
1733         Moved string debug function outside of the WebCore namespace so that it's
1734         easier to call in the debugger. I will never doubt Darin again (x100).
1735
1736         * platform/String.cpp:
1737         (string):
1738
1739 2006-07-31  David Hyatt  <hyatt@apple.com>
1740
1741         Partial fix for 5453.  Improve overflow so that when it changes
1742         dynamically from scroll/auto to hidden that we properly hide the
1743         scrollbars.  Also refine the dirty dashboard region updating so that
1744         it only happens if the scrollbars genuinely come and go.
1745
1746         Also eliminate the extra repaint of the entire block.  This should not be
1747         necessary, since the scrollbars repaint themselves already and children
1748         will repaint already if they move.
1749
1750         Reviewed by darin
1751
1752         Adding test case from bug into fast/overflow/dynamic-hidden.html
1753
1754         * rendering/RenderLayer.cpp:
1755         (WebCore::RenderLayer::setHasHorizontalScrollbar):
1756         (WebCore::RenderLayer::setHasVerticalScrollbar):
1757         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
1758
1759 2006-07-31  Graham Dennis  <graham.dennis@gmail.com>
1760
1761         Reviewed by justin
1762         
1763         <http://bugzilla.opendarwin.org/show_bug.cgi?id=9507>
1764         Empty style spans created in applyInlineStyle
1765         
1766         Improves paste fidelity because some of these empty font/style spans had a non-zero
1767         size and were messing up the layout of pasted content:
1768         <rdar://problem/4515463>
1769         REGRESSION: Blot and Mail both do a very poor job of pasting the main www.apple.com page   
1770
1771         * editing/ApplyStyleCommand.cpp:
1772         (WebCore::ApplyStyleCommand::applyInlineStyle): Use the adjusted start node instead 
1773         of start.node().  Don't do any application if the endpoints are swapped.  Adjust
1774         endNode if the start node is a descendant of it, so that the pre-order traversal will
1775         terminate properly.
1776
1777 2006-07-31  Geoffrey Garen  <ggaren@apple.com>
1778
1779         Reviewed by Darin.
1780
1781         * platform/String.cpp:
1782         (WebCore::string): Added a debugging function to create a String from a
1783         const char*.
1784
1785 2006-07-31  Anders Carlsson  <acarlsson@apple.com>
1786
1787         * css/CSSPrimitiveValue.cpp:
1788         Fix windows build.
1789
1790 2006-07-31  Geoffrey Garen  <ggaren@apple.com>
1791
1792         Reinstating my last change. Everything builds now.
1793         
1794 2006-07-31  Geoffrey Garen  <ggaren@apple.com>
1795
1796         Backing out my last change because it causes a build failure in some
1797         configurations. This seems to be the cleanest way to get svn to cooperate.
1798
1799 2006-07-31  Geoffrey Garen  <ggaren@apple.com>
1800
1801         Reviewed by Maciej.
1802
1803         Moved files around to make WebCore's structure clearer
1804         and easier to explain.
1805
1806         DerivedSources/JS* -> bindings/js/DerivedSources/ (so JS* files
1807         show up when you search inside bindings/js/, but are marked, at
1808         the same time, as files that you should not edit manually)
1809
1810         WebCore+SVG/DOMList.h -> ksvg2/svg/ (only files inside ksvg2/svg/
1811         use DOMList.h)
1812
1813         icon -> loader/icon
1814
1815         I tested that everything still builds.
1816
1817 2006-07-30  Darin Adler  <darin@apple.com>
1818
1819         Reviewed by Tim Hatcher.
1820
1821         - some improvements for the benefit of the style pane of the inspector
1822
1823         * css/CSSComputedStyleDeclaration.cpp: Removed background-position
1824         and border-spacing from the list of properties that show up in
1825         computed style, because of background-position-x, background-position-y,
1826         -webkit-border-horizontal-spacing and -webkit-border-vertical-spacing.
1827         (WebCore::valueForLength): Added handling for undefinedLength, intrinsic,
1828         and min-intrinsic.
1829         (WebCore::primitiveValueFromLength): Removed code that would add a
1830         space to the string for no good reason.
1831         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added a
1832         special case for a line clamp of -1, which should come back as "none"
1833         rather than an actual "-1".
1834         (WebCore::CSSComputedStyleDeclaration::length): Return 0 if the
1835         declaration has no corresponding node or no renderer.
1836         (WebCore::CSSComputedStyleDeclaration::item): Check against length()
1837         so that the two stay consistent rather than using a constant.
1838
1839         * css/CSSPrimitiveValue.cpp:
1840         (WebCore::isCSSTokenizerIdentifier): Added.
1841         (WebCore::isCSSTokenizerURL): Added.
1842         (WebCore::quoteString): Added.
1843         (WebCore::quoteStringIfNeeded): Changed to quote strings in many more
1844         cases -- any cases where they would not parse in the CSS parser otherwise.
1845         The main case this affects is font names with spaces in them.
1846         (WebCore::quoteURLIfNeeded): Added.
1847         (WebCore::CSSPrimitiveValue::cssText): Use quoteURLIfNeeded in the case
1848         where we're making the text form of a URI.
1849
1850         * css/tokenizer.flex: Whitespace tweaks to line things up better.
1851
1852 2006-07-30  Eric Seidel  <eric@eseidel.com>
1853
1854         Reviewed by gramps!
1855
1856         Remove some unused SVG code.
1857
1858         * ksvg2/ecma/Ecma.cpp: Removed.
1859         * ksvg2/ecma/Ecma.h: Removed.
1860         * ksvg2/ecma/GlobalObject.cpp: remove a couple dead functions.
1861         * ksvg2/ecma/GlobalObject.h: add a comment about this dead code.
1862         * ksvg2/ecma/SVGLookup.h: Removed.
1863
1864 2006-07-29  Darin Adler  <darin@apple.com>
1865
1866         - Removed tabs from these source files that still had them.
1867           We don't use them; that way source files look fine in editors
1868           that have tabs set to 8 spaces or to 4 spaces.
1869         - Removed allow-tabs Subversion property from the files too.
1870
1871         * bindings/objc/WebScriptObject.h:
1872         * bindings/objc/WebScriptObject.mm:
1873         * platform/FontData.cpp:
1874
1875 2006-07-29  Sam Weinig  <sam.weinig@gmail.com>
1876
1877         Reviewed by Darin.
1878
1879         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10080
1880           Adopt pedantic changes from the Unity project to improve 
1881           cross-compiler compatibility
1882
1883           Changes include:
1884           * Removing trailing semicolon from namespace braces.
1885           * Removing trailing comma from last enum declaration.
1886           * Updating to match style guidelines.
1887           * Adding missing newline to the end of the file.
1888           * Turning on gcc warning for missing newline at the end of a source file
1889             (GCC_WARN_ABOUT_MISSING_NEWLINE in Xcode, -Wnewline in gcc).
1890           * Alphabetical sorting of Xcode source list files.
1891           * Use abs() function from <math.h> instead of ABS() macro.
1892           * Use C-style comments instead of C++ comments in files that might
1893             be included by either C or C++ files.
1894           * Use -numeric_limits<double>::infinity() instead of -HUGE_VAL.
1895
1896         * WebCore+SVG/DOMList.h:
1897         * WebCore.xcodeproj/project.pbxproj:
1898         * WebCorePrefix.h:
1899         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
1900         * bindings/js/JSXSLTProcessor.h:
1901         * bindings/js/kjs_domnode.h:
1902         (KJS::DOMNode::):
1903         * bindings/objc/DOMCSS.h:
1904         (-[DOMCSSValue enum]):
1905         * bindings/objc/DOMCore.h:
1906         (-[DOMImplementation createDocument:::]):
1907         * bindings/objc/DOMEvents.h:
1908         (-[DOMOverflowEvent enum]):
1909         * bindings/objc/DOMRange.h:
1910         * bindings/objc/DOMTraversal.h:
1911         * bindings/objc/DOMXPath.h:
1912         (-[DOMXPathNSResolver lookupNamespaceURI:]):
1913         * bridge/mac/WebCoreFrameBridge.h:
1914         * bridge/mac/WebCoreKeyboardAccess.h:
1915         * css/makeprop:
1916         * css/makevalues:
1917         * dom/ChildNodeList.h:
1918         * dom/DocPtr.h:
1919         * dom/Document.h:
1920         (WebCore::Document::):
1921         * dom/DocumentMarker.h:
1922         (WebCore::DocumentMarker::):
1923         (WebCore::DocumentMarker::operator==):
1924         (WebCore::DocumentMarker::operator!=):
1925         * dom/EventTargetNode.h:
1926         * dom/KeyboardEvent.h:
1927         (WebCore::KeyboardEvent::):
1928         * dom/NameNodeList.h:
1929         (WebCore::NameNodeList::rootNodeChildrenChanged):
1930         * dom/QualifiedName.cpp:
1931         * editing/TypingCommand.h:
1932         (WebCore::TypingCommand::):
1933         * editing/UnlinkCommand.h:
1934         (WebCore::UnlinkCommand::editingAction):
1935         * html/FormDataList.h:
1936         (WebCore::FormDataListItem::FormDataListItem):
1937         (WebCore::FormDataList::appendData):
1938         * html/HTMLBlockquoteElement.h:
1939         * html/HTMLDivElement.h:
1940         * html/HTMLFormElement.h:
1941         * html/HTMLHRElement.h:
1942         * html/HTMLHeadingElement.h:
1943         * html/HTMLMarqueeElement.h:
1944         * html/HTMLParagraphElement.h:
1945         * html/HTMLPlugInElement.h:
1946         * html/HTMLPreElement.h:
1947         * html/HTMLTokenizer.h:
1948         (WebCore::HTMLTokenizer::State::):
1949         * icon/IconDatabase.cpp:
1950         * icon/SQLStatement.cpp:
1951         * kcanvas/KCanvasFilters.h:
1952         (WebCore::):
1953         (WebCore::KCanvasPoint3F::KCanvasPoint3F):
1954         (WebCore::KCanvasFilter::KCanvasFilter):
1955         (WebCore::KCanvasFilter::~KCanvasFilter):
1956         (WebCore::KCanvasFilterEffect::~KCanvasFilterEffect):
1957         (WebCore::KCComponentTransferFunction::KCComponentTransferFunction):
1958         (WebCore::KCanvasFEConvolveMatrix::KCanvasFEConvolveMatrix):
1959         (WebCore::KCLightSource::KCLightSource):
1960         (WebCore::KCDistantLightSource::KCDistantLightSource):
1961         (WebCore::KCPointLightSource::KCPointLightSource):
1962         (WebCore::KCSpotLightSource::KCSpotLightSource):
1963         (WebCore::KCanvasFEDiffuseLighting::KCanvasFEDiffuseLighting):
1964         (WebCore::KCanvasFEDisplacementMap::KCanvasFEDisplacementMap):
1965         (WebCore::KCanvasFEImage::KCanvasFEImage):
1966         (WebCore::KCanvasFESpecularLighting::KCanvasFESpecularLighting):
1967         * kcanvas/RenderSVGImage.h:
1968         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
1969         * ksvg2/css/SVGRenderStyle.h:
1970         (WebCore::SVGRenderStyle::InheritedFlags::):
1971         (WebCore::SVGRenderStyle::NonInheritedFlags::):
1972         * ksvg2/css/SVGRenderStyleDefs.h:
1973         (WebCore::):
1974         * ksvg2/events/SVGZoomEvent.h:
1975         * ksvg2/ksvg.h:
1976         (WebCore::):
1977         * ksvg2/misc/KCanvasRenderingStyle.h:
1978         * ksvg2/misc/SVGImageLoader.h:
1979         * ksvg2/scripts/make_names.pl:
1980         * ksvg2/svg/SVGAElement.h:
1981         * ksvg2/svg/SVGAngle.h:
1982         * ksvg2/svg/SVGAnimateColorElement.h:
1983         * ksvg2/svg/SVGAnimateElement.h:
1984         * ksvg2/svg/SVGAnimateTransformElement.h:
1985         * ksvg2/svg/SVGAnimatedAngle.h:
1986         * ksvg2/svg/SVGAnimatedBoolean.h:
1987         * ksvg2/svg/SVGAnimatedColor.h:
1988         * ksvg2/svg/SVGAnimatedEnumeration.h:
1989         * ksvg2/svg/SVGAnimatedInteger.h:
1990         * ksvg2/svg/SVGAnimatedLength.h:
1991         * ksvg2/svg/SVGAnimatedLengthList.h:
1992         * ksvg2/svg/SVGAnimatedNumber.h:
1993         * ksvg2/svg/SVGAnimatedNumberList.h:
1994         * ksvg2/svg/SVGAnimatedPathData.h:
1995         * ksvg2/svg/SVGAnimatedPoints.h:
1996         * ksvg2/svg/SVGAnimatedPreserveAspectRatio.h:
1997         * ksvg2/svg/SVGAnimatedRect.h:
1998         * ksvg2/svg/SVGAnimatedString.h:
1999         * ksvg2/svg/SVGAnimatedTemplate.h:
2000         * ksvg2/svg/SVGAnimatedTransformList.h:
2001         * ksvg2/svg/SVGAnimationElement.cpp:
2002         (SVGAnimationElement::calculateCurrentValueItem):
2003         (SVGAnimationElement::calculateRelativeTimePercentage):
2004         * ksvg2/svg/SVGAnimationElement.h:
2005         (WebCore::):
2006         * ksvg2/svg/SVGCircleElement.h:
2007         * ksvg2/svg/SVGClipPathElement.h:
2008         * ksvg2/svg/SVGColor.h:
2009         * ksvg2/svg/SVGComponentTransferFunctionElement.h:
2010         * ksvg2/svg/SVGCursorElement.h:
2011         * ksvg2/svg/SVGDOMImplementation.h:
2012         * ksvg2/svg/SVGDefsElement.h:
2013         * ksvg2/svg/SVGDescElement.h:
2014         * ksvg2/svg/SVGDocument.h:
2015         * ksvg2/svg/SVGElement.h:
2016         (WebCore::SVGElement::rendererIsNeeded):
2017         (WebCore::svg_dynamic_cast):
2018         * ksvg2/svg/SVGElementInstance.h:
2019         * ksvg2/svg/SVGElementInstanceList.h:
2020         * ksvg2/svg/SVGEllipseElement.h:
2021         * ksvg2/svg/SVGExternalResourcesRequired.h:
2022         * ksvg2/svg/SVGFEBlendElement.h:
2023         * ksvg2/svg/SVGFEColorMatrixElement.h:
2024         * ksvg2/svg/SVGFEComponentTransferElement.h:
2025         * ksvg2/svg/SVGFECompositeElement.h:
2026         * ksvg2/svg/SVGFEDiffuseLightingElement.h:
2027         * ksvg2/svg/SVGFEDisplacementMapElement.h:
2028         * ksvg2/svg/SVGFEDistantLightElement.h:
2029         * ksvg2/svg/SVGFEFloodElement.h:
2030         * ksvg2/svg/SVGFEFuncAElement.h:
2031         * ksvg2/svg/SVGFEFuncBElement.h:
2032         * ksvg2/svg/SVGFEFuncGElement.h:
2033         * ksvg2/svg/SVGFEFuncRElement.h:
2034         * ksvg2/svg/SVGFEGaussianBlurElement.h:
2035         * ksvg2/svg/SVGFEImageElement.h:
2036         * ksvg2/svg/SVGFELightElement.h:
2037         * ksvg2/svg/SVGFEMergeElement.h:
2038         * ksvg2/svg/SVGFEMergeNodeElement.h:
2039         * ksvg2/svg/SVGFEOffsetElement.h:
2040         * ksvg2/svg/SVGFEPointLightElement.h:
2041         * ksvg2/svg/SVGFESpecularLightingElement.h:
2042         * ksvg2/svg/SVGFESpotLightElement.h:
2043         * ksvg2/svg/SVGFETileElement.h:
2044         * ksvg2/svg/SVGFETurbulenceElement.h:
2045         * ksvg2/svg/SVGFilterElement.h:
2046         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
2047         * ksvg2/svg/SVGFitToViewBox.h:
2048         * ksvg2/svg/SVGForeignObjectElement.cpp:
2049         * ksvg2/svg/SVGForeignObjectElement.h:
2050         * ksvg2/svg/SVGGElement.h:
2051         * ksvg2/svg/SVGGradientElement.h:
2052         * ksvg2/svg/SVGHelper.h:
2053         (WebCore::):
2054         * ksvg2/svg/SVGImageElement.h:
2055         * ksvg2/svg/SVGLangSpace.h:
2056         * ksvg2/svg/SVGLength.h:
2057         * ksvg2/svg/SVGLengthList.h:
2058         * ksvg2/svg/SVGLineElement.h:
2059         * ksvg2/svg/SVGLinearGradientElement.h:
2060         * ksvg2/svg/SVGList.h:
2061         * ksvg2/svg/SVGLocatable.h:
2062         * ksvg2/svg/SVGMarkerElement.h:
2063         * ksvg2/svg/SVGMaskElement.h:
2064         * ksvg2/svg/SVGMatrix.h:
2065         * ksvg2/svg/SVGNumber.h:
2066         * ksvg2/svg/SVGNumberList.h:
2067         * ksvg2/svg/SVGPaint.h:
2068         * ksvg2/svg/SVGPathElement.h:
2069         * ksvg2/svg/SVGPathSeg.h:
2070         * ksvg2/svg/SVGPathSegArc.h:
2071         * ksvg2/svg/SVGPathSegClosePath.h:
2072         * ksvg2/svg/SVGPathSegCurvetoCubic.h:
2073         * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
2074         * ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
2075         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
2076         * ksvg2/svg/SVGPathSegLineto.h:
2077         * ksvg2/svg/SVGPathSegLinetoHorizontal.h:
2078         * ksvg2/svg/SVGPathSegLinetoVertical.h:
2079         * ksvg2/svg/SVGPathSegList.h:
2080         * ksvg2/svg/SVGPathSegMoveto.h:
2081         * ksvg2/svg/SVGPatternElement.h:
2082         * ksvg2/svg/SVGPoint.h:
2083         * ksvg2/svg/SVGPointList.h:
2084         * ksvg2/svg/SVGPolyElement.h:
2085         * ksvg2/svg/SVGPolygonElement.h:
2086         * ksvg2/svg/SVGPolylineElement.h:
2087         * ksvg2/svg/SVGPreserveAspectRatio.h:
2088         * ksvg2/svg/SVGRadialGradientElement.h:
2089         * ksvg2/svg/SVGRect.h:
2090         * ksvg2/svg/SVGRectElement.h:
2091         * ksvg2/svg/SVGSVGElement.h:
2092         * ksvg2/svg/SVGScriptElement.h:
2093         * ksvg2/svg/SVGSetElement.h:
2094         * ksvg2/svg/SVGStopElement.h:
2095         * ksvg2/svg/SVGStringList.h:
2096         * ksvg2/svg/SVGStylable.h:
2097         * ksvg2/svg/SVGStyleElement.h:
2098         * ksvg2/svg/SVGStyledElement.h:
2099         (WebCore::SVGStyledElement::rendererIsNeeded):
2100         (WebCore::SVGStyledElement::canvasResource):
2101         * ksvg2/svg/SVGStyledLocatableElement.h:
2102         * ksvg2/svg/SVGStyledTransformableElement.h:
2103         * ksvg2/svg/SVGSwitchElement.h:
2104         * ksvg2/svg/SVGSymbolElement.h:
2105         * ksvg2/svg/SVGTRefElement.h:
2106         * ksvg2/svg/SVGTSpanElement.h:
2107         * ksvg2/svg/SVGTests.h:
2108         * ksvg2/svg/SVGTextContentElement.h:
2109         * ksvg2/svg/SVGTextElement.h:
2110         * ksvg2/svg/SVGTextPositioningElement.h:
2111         * ksvg2/svg/SVGTitleElement.h:
2112         * ksvg2/svg/SVGTransform.h:
2113         * ksvg2/svg/SVGTransformList.h:
2114         * ksvg2/svg/SVGTransformable.h:
2115         * ksvg2/svg/SVGURIReference.h:
2116         * ksvg2/svg/SVGUseElement.h:
2117         * ksvg2/svg/SVGViewElement.h:
2118         * ksvg2/svg/SVGZoomAndPan.h:
2119         * ksvg2/svg/svgpathparser.h:
2120         * page/Frame.h:
2121         (WebCore::):
2122         * platform/AffineTransform.h:
2123         * platform/FontCache.cpp:
2124         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
2125         * platform/FontData.cpp:
2126         (WebCore::FontData::FontData):
2127         * platform/FontData.h:
2128         * platform/TextBox.h:
2129         (WebCore::TextBox::):
2130         * platform/Timer.cpp:
2131         (WebCore::TimerBase::heapPop):
2132         * platform/mac/FontCacheMac.mm:
2133         * platform/mac/GlyphMapMac.cpp:
2134         * platform/mac/WebFontCache.mm:
2135         (betterChoice):
2136         * rendering/DeprecatedRenderSelect.cpp:
2137         (WebCore::DeprecatedRenderSelect::setWidgetWritingDirection):
2138         * rendering/EllipsisBox.h:
2139         * rendering/RenderBR.h:
2140         (WebCore::RenderBR::renderName):
2141         (WebCore::RenderBR::width):
2142         * rendering/RenderBlock.h:
2143         (WebCore::):
2144         * rendering/RenderFlexibleBox.h:
2145         * rendering/RenderFlow.h:
2146         (WebCore::RenderFlow::RenderFlow):
2147         * rendering/RenderFrame.cpp:
2148         * rendering/bidi.h:
2149         * rendering/break_lines.cpp:
2150
2151 2006-07-29  Rob Buis  <buis@kde.org>
2152
2153         Reviewed by Geoff.
2154
2155         http://bugzilla.opendarwin.org/show_bug.cgi?id=10151
2156         ghostmap XHTML + SVG fails due to javascript undefined exception
2157
2158         Make sure document.URL works when called from a non-HTML document.
2159
2160         * bindings/js/kjs_html.cpp:
2161         (KJS::JSHTMLDocument::getValueProperty):
2162         * bindings/js/kjs_html.h:
2163         (KJS::JSHTMLDocument::):
2164         * dom/Document.idl:
2165
2166 2006-07-29  Mike Emmel  <mike.emmel@gmail.com>
2167
2168         Reviewed and tweaked by Darin.
2169
2170         - fixes for Linux build
2171           (still might not compile, since Darin tweaked but was unable to test).
2172
2173         * WebCoreSources.bkl: Added some new sources, removed some obsolete ones.
2174         * Projects/gdk/webcore-gdk.bkl: Added RenderPopupMenuGdk.cpp
2175
2176         * html/HTMLPlugInElement.h: Removed incorrect syntax with class name
2177         before ::.
2178
2179         * platform/gdk/FrameGdk.h:
2180         * platform/gdk/FrameGdk.cpp: Updated parameters of constructor. Moved a couple stubs
2181         out of this file.
2182         * platform/gdk/RenderPopupMenuGdk.h: Added.
2183         * platform/gdk/RenderPopupMenuGdk.cpp: Added. Just a file full of empty stubs.
2184         * platform/gdk/RenderThemeGdk.h:
2185         * platform/gdk/RenderThemeGdk.cpp: (WebCore::RenderThemeGdk::createPopupMenu): Added.
2186
2187         * platform/gdk/TemporaryLinkStubs.cpp: Add some new stubs.
2188
2189 2006-07-29  Mark Rowe  <opendarwin.org@bdash.net.nz>
2190
2191         Reviewed by Darin.
2192
2193         http://bugzilla.opendarwin.org/show_bug.cgi?id=10022
2194         Bug 10022: REGRESSION: Crash in WebCore::XMLTokenizer::characters
2195
2196         * dom/XMLTokenizer.cpp:
2197         (WebCore::XMLTokenizer::resumeParsing): If the write() call resulted in new callbacks being
2198         added, don't call through to end() just yet.
2199
2200 2006-07-29  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2201
2202         Reviewed by John Sullivan.
2203
2204         - manual test for http://bugzilla.opendarwin.org/show_bug.cgi?id=9984
2205           ASSERTION FAILURE: _private->mouseDownEvent != nil
2206           (WebKit/WebView/WebHTMLView.m:4863 -[WebHTMLView(WebInternal) _delegateDragSourceActionMask])
2207
2208         * manual-tests/subview-click-assertion.html: Added.
2209
2210 2006-07-29  Andrew Wellington  <proton@wiretapped.net>
2211
2212         Reviewed by Darin.
2213
2214         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8587 / <rdar://problem/4631844>
2215         REGRESSION: {display:list-item} items outside an ol or ul element don't number correctly
2216
2217         * rendering/RenderListItem.cpp:
2218         (WebCore::enclosingList): If no real list element is found, use parent instead.
2219         (WebCore::previousListItem): Check list elements to see if they are list items -- the
2220         old code assumed that a list would never be a list item but this is entirely possible
2221         with CSS and especially with the new rule that means any DOM element could act as a list.
2222
2223 2006-07-29  Alexey Proskuryakov  <ap@nypop.com>
2224
2225         Reviewed by Darin.
2226
2227         Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10147
2228         REGRESSION: custom attribute values set via javascript are not persistent
2229
2230         Test: fast/dom/Element/setAttribute-case-insensitivity.html
2231
2232         * dom/Element.cpp:
2233         (WebCore::Element::setAttribute): Use the lowercased localName for retrieving the old value, too.
2234
2235 2006-07-28  Timothy Hatcher  <timothy@apple.com>
2236
2237         Suggested by Darin.
2238
2239         Moving the implementation of isContentEditable to the
2240         the WebPrivate category.
2241
2242         * bindings/objc/DOM.mm:
2243         (-[DOMNode isContentEditable]):
2244
2245 2006-07-28  Justin Garcia  <justin.garcia@apple.com>
2246
2247         Reviewed by levi
2248         
2249         First part of:
2250         <rdar://problem/4515463>
2251         REGRESSION: Blot and Mail both do a very poor job of pasting the main www.apple.com page
2252         
2253         Migrate to isBlock and enclosingBlock.
2254         Changed RendereringInfo::isBlock and ReplacementFragment::isBlock
2255         to wasBlock so that they don't conflict with isBlock and because
2256         it's more descriptive.
2257
2258         * editing/ReplaceSelectionCommand.cpp:
2259         (WebCore::ReplacementFragment::mergeStartNode):
2260         (WebCore::ReplacementFragment::wasBlock):
2261         (WebCore::ReplacementFragment::saveRenderingInfo):
2262         (WebCore::ReplacementFragment::renderedBlocks):
2263         (WebCore::RenderingInfo::RenderingInfo):
2264         (WebCore::ReplaceSelectionCommand::shouldMergeStart):
2265         (WebCore::ReplaceSelectionCommand::doApply):
2266         * editing/ReplaceSelectionCommand.h:
2267         (WebCore::RenderingInfo::wasBlock):
2268
2269 2006-07-27  Justin Garcia  <justin.garcia@apple.com>
2270
2271         Reviewed by levi
2272         
2273         More changes for:
2274         <rdar://problem/4242293>
2275         Poor paste fidelity of http://www.google.com/
2276
2277         * editing/markup.cpp:
2278         (WebCore::needInterchangeNewlineAfter): Added.
2279         (WebCore::createMarkup): 
2280         Only add an interchangeNewline if we're annotating for interchange.  Can't test 
2281         this until we expose createMarkup in non-annotate mode (I'd expose Range::toHTML).
2282         Remove the FIXME about prepending the interchangeNewline before creating the rest 
2283         of the markup.  Its correct to surround the interchangeNewline in ancestors of the
2284         adjusted startNode.
2285         Fixed the check to see if an interchangeNewline is needed (!inSameBlock).  This would
2286         add an interchangeNewline for a selection that started before a table.
2287         Removed the workaround for the bug where markup for a table was not included when 
2288         selecting the contents of a table, since this change fixes the general problem of 
2289         markup for ancestors of the startNode being left out.
2290         Don't leave out ancestors of the startNode as we leave their subtrees.  Execute the
2291         code to include them even if we closed ancestors in the ancestorsToClose list.
2292
2293 2006-07-28  Timothy Hatcher  <timothy@apple.com>
2294
2295         Reviewed by John.
2296
2297         Adding isContentEditable to DOMNode's private category. 
2298
2299         * bindings/objc/DOMPrivate.h:
2300
2301 2006-07-28  Alexey Proskuryakov  <ap@nypop.com>
2302
2303         Rolling out http://bugzilla.opendarwin.org/show_bug.cgi?id=6010 because of failing layout tests.
2304         Add better SVGLoad event support.
2305
2306         * dom/EventTargetNode.cpp:
2307         (WebCore::EventTargetNode::dispatchGenericEvent):
2308         * html/HTMLImageLoader.cpp:
2309         (WebCore::HTMLImageLoader::dispatchLoadEvent):
2310         * html/HTMLImageLoader.h:
2311         * ksvg2/misc/SVGImageLoader.cpp:
2312         (WebCore::SVGImageLoader::SVGImageLoader):
2313         * ksvg2/misc/SVGImageLoader.h:
2314         * ksvg2/svg/SVGAElement.cpp:
2315         (WebCore::SVGAElement::parseMappedAttribute):
2316         * ksvg2/svg/SVGAnimatedBoolean.h:
2317         * ksvg2/svg/SVGElement.cpp:
2318         (WebCore::SVGElement::SVGElement):
2319         (WebCore::SVGElement::parseMappedAttribute):
2320         * ksvg2/svg/SVGElement.h:
2321         (WebCore::SVGElement::adjustViewportClipping):
2322         (WebCore::SVGElement::closeRenderer):
2323         (WebCore::SVGElement::rendererIsNeeded):
2324         (WebCore::SVGElement::isClosed):
2325         (WebCore::svg_dynamic_cast):
2326         * ksvg2/svg/SVGExternalResourcesRequired.h:
2327         * ksvg2/svg/SVGImageElement.cpp:
2328         (SVGImageElement::SVGImageElement):
2329         * ksvg2/svg/SVGImageElement.h:
2330         * ksvg2/svg/SVGSVGElement.cpp:
2331         (WebCore::SVGSVGElement::parseMappedAttribute):
2332         * ksvg2/svg/SVGScriptElement.cpp:
2333         (SVGScriptElement::SVGScriptElement):
2334         (SVGScriptElement::parseMappedAttribute):
2335         (SVGScriptElement::executeScript):
2336         * xml/xmlhttprequest.cpp:
2337         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
2338
2339 2006-07-28  Adele Peterson  <adele@apple.com>
2340
2341         Rolling out http://bugzilla.opendarwin.org/show_bug.cgi?id=9753 because of failing layout tests.
2342         SVG with width and height 100% leaves room for scrollbar on the right.
2343
2344         * kcanvas/RenderPath.cpp:
2345         * kcanvas/RenderPath.h:
2346         * kcanvas/RenderSVGContainer.cpp:
2347         (WebCore::RenderSVGContainer::layout):
2348         * ksvg2/svg/SVGCircleElement.cpp:
2349         * ksvg2/svg/SVGCircleElement.h:
2350         * ksvg2/svg/SVGEllipseElement.cpp:
2351         * ksvg2/svg/SVGEllipseElement.h:
2352         * ksvg2/svg/SVGLineElement.cpp:
2353         * ksvg2/svg/SVGLineElement.h:
2354         * ksvg2/svg/SVGRectElement.cpp:
2355         * ksvg2/svg/SVGRectElement.h:
2356         * ksvg2/svg/SVGStyledElement.h:
2357
2358 2006-07-27  Eric Seidel  <eric@eseidel.com>
2359
2360         Reviewed by darin.
2361         
2362         Add better SVGLoad event support.
2363         http://bugzilla.opendarwin.org/show_bug.cgi?id=6010
2364         There will still need to be additional support added for <link> and <script> elements.
2365         Not all of the error -> loaded -> error transition cases work yet.
2366
2367         * dom/EventTargetNode.cpp:
2368         (WebCore::EventTargetNode::dispatchGenericEvent):
2369         * html/HTMLImageLoader.cpp:
2370         (WebCore::HTMLImageLoader::dispatchLoadEvent):
2371         * html/HTMLImageLoader.h:
2372         (WebCore::HTMLImageLoader::haveFiredLoadEvent):
2373         (WebCore::HTMLImageLoader::setHaveFiredLoadEvent):
2374         * ksvg2/misc/SVGImageLoader.cpp:
2375         (WebCore::SVGImageLoader::SVGImageLoader):
2376         (WebCore::SVGImageLoader::dispatchLoadEvent):
2377         * ksvg2/misc/SVGImageLoader.h:
2378         * ksvg2/svg/SVGAElement.cpp:
2379         (WebCore::SVGAElement::parseMappedAttribute):
2380         * ksvg2/svg/SVGAnimatedBoolean.h:
2381         * ksvg2/svg/SVGElement.cpp:
2382         (WebCore::SVGElement::SVGElement):
2383         (WebCore::SVGElement::parseMappedAttribute):
2384         (WebCore::SVGElement::haveLoadedRequiredResources):
2385         (WebCore::SVGElement::sendSVGLoadEventIfPossible):
2386         (WebCore::SVGElement::closeRenderer):
2387         * ksvg2/svg/SVGElement.h:
2388         (WebCore::SVGElement::rendererIsNeeded):
2389         (WebCore::svg_dynamic_cast):
2390         * ksvg2/svg/SVGExternalResourcesRequired.h:
2391         * ksvg2/svg/SVGImageElement.cpp:
2392         (SVGImageElement::SVGImageElement):
2393         (SVGImageElement::haveLoadedRequiredResources):
2394         * ksvg2/svg/SVGImageElement.h:
2395         * ksvg2/svg/SVGSVGElement.cpp:
2396         (WebCore::SVGSVGElement::parseMappedAttribute):
2397         * ksvg2/svg/SVGScriptElement.cpp:
2398         (WebCore::SVGScriptElement::SVGScriptElement):
2399         (WebCore::SVGScriptElement::parseMappedAttribute):
2400         (WebCore::SVGScriptElement::executeScript):
2401         * xml/xmlhttprequest.cpp:
2402         (WebCore::XMLHttpRequest::callReadyStateChangeListener): use new Event() instead of createEvent
2403
2404 2006-07-27  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2405
2406         Reviewed by Anders.
2407
2408         - http://bugzilla.opendarwin.org/show_bug.cgi?id=10135
2409           Cleanup: remove useless parameters from RenderObject::position()
2410
2411         No test possible (no functionality change)
2412
2413         * rendering/RenderBox.cpp:
2414         (WebCore::RenderBox::position):
2415         * rendering/RenderBox.h:
2416         * rendering/RenderObject.h:
2417         (WebCore::RenderObject::position):
2418         * rendering/RenderTableRow.h:
2419         (WebCore::RenderTableRow::position):
2420         * rendering/RenderTableSection.h:
2421         (WebCore::RenderTableSection::position):
2422         * rendering/RenderText.cpp:
2423         (WebCore::RenderText::position):
2424         * rendering/RenderText.h:
2425         * rendering/bidi.cpp:
2426         (WebCore::RenderBlock::constructLine):
2427         (WebCore::RenderBlock::computeVerticalPositionsForLine):
2428
2429 2006-07-27  Rob Buis  <buis@kde.org>
2430
2431         Reviewed by Maciej.
2432
2433         http://bugzilla.opendarwin.org/show_bug.cgi?id=9753
2434         SVG with width and height 100% leaves room for scrollbar on the right.
2435
2436         Relayout children of svg containers, except svg shapes that do not depend on percentages.
2437
2438         * kcanvas/RenderPath.cpp: (WebCore::RenderPath::hasPercentageValues):
2439         * kcanvas/RenderPath.h:
2440         * kcanvas/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::layout):
2441         * ksvg2/svg/SVGCircleElement.cpp: (SVGCircleElement::hasPercentageValues):
2442         * ksvg2/svg/SVGCircleElement.h:
2443         * ksvg2/svg/SVGEllipseElement.cpp: (WebCore::SVGEllipseElement::hasPercentageValues):
2444         * ksvg2/svg/SVGEllipseElement.h:
2445         * ksvg2/svg/SVGLineElement.cpp: (SVGLineElement::hasPercentageValues):
2446         * ksvg2/svg/SVGLineElement.h:
2447         * ksvg2/svg/SVGRectElement.cpp: (WebCore::SVGRectElement::hasPercentageValues):
2448         * ksvg2/svg/SVGRectElement.h:
2449         * ksvg2/svg/SVGStyledElement.h: (WebCore::SVGStyledElement::hasPercentageValues):
2450
2451 2006-07-27  Justin Garcia  <justin.garcia@apple.com>
2452
2453         Reviewed by levi
2454         
2455         <rdar://problem/4242293>
2456         Poor paste fidelity of http://www.google.com/
2457
2458         * editing/ApplyStyleCommand.cpp:
2459         (WebCore::ApplyStyleCommand::applyInlineStyle):  Fixed crasher with nil-check.
2460         * editing/markup.cpp:
2461         (WebCore::startMarkup): Style information wasn't added to an element if it had
2462         attributes but no style attribute.
2463
2464 2006-07-27  Alexander Kellett  <lypanov@kde.org>
2465
2466         Reviewed by Darin.
2467
2468         - fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9867
2469           REGRESSION: code that modifies form element in Firefox modifies form attribute in WebKit
2470
2471         * bindings/scripts/CodeGeneratorJS.pm: add new attribute - HasOverridingNameGetter
2472         * html/HTMLFormElement.idl:
2473
2474 2006-07-27  Rob Buis  <buis@kde.org>
2475
2476         Reviewed by Anders.
2477
2478         http://bugzilla.opendarwin.org/show_bug.cgi?id=8992
2479         Some HTML DOM attributes have incorrect types
2480
2481         Adjust idl and dom source code for HTMLImageElement and
2482         HTMLBaseFontElement to choose correct type for
2483         HTMLImageElement::border and HTMLBaseFontElement::size
2484         attributes.
2485
2486         * html/HTMLBaseFontElement.cpp:
2487         (WebCore::HTMLBaseFontElement::size):
2488         (WebCore::HTMLBaseFontElement::setSize):
2489         * html/HTMLBaseFontElement.h:
2490         * html/HTMLBaseFontElement.idl:
2491         * html/HTMLImageElement.cpp:
2492         (WebCore::HTMLImageElement::border):
2493         (WebCore::HTMLImageElement::setBorder):
2494         * html/HTMLImageElement.h:
2495         * html/HTMLImageElement.idl:
2496
2497 2006-07-27  Justin Garcia  <justin.garcia@apple.com>
2498
2499         Reviewed by levi
2500         
2501         <rdar://problem/4628409>
2502         Safari crashes in CompositeEditCommand::removeBlockPlaceholder entering text in a web page form
2503
2504         * editing/CompositeEditCommand.cpp:
2505         (WebCore::CompositeEditCommand::removeBlockPlaceholder): 
2506         A script on the page shrinks the textarea down to zero rows just
2507         before insertion.  That gives the shadow div a zero height, removing
2508         [div, 0] as a candidate for a VisiblePosition.  Then 
2509         InsertTextCommand::input() tries to create a VisiblePosition from 
2510         [div, 0] and fails.  A nil check is a quick fix.  Another might
2511         be to make positions where there is a caret selection candidates.
2512         Another might be to make any [div, 0] where div is a shadow div inside
2513         a form element a candidate.
2514
2515 2006-07-27  Graham Dennis  <graham.dennis@gmail.com>
2516
2517         Reviewed by Darin.
2518
2519         - fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=10094
2520           Japanese characters improperly rendering in TOT
2521           
2522         Test: fast/encoding/denormalised-voiced-japanese-chars.html
2523
2524         * platform/Font.cpp:
2525         (WebCore::WidthIterator::advance): pass currentCharacter to normalizeVoicingMarks
2526         (WebCore::WidthIterator::normalizeVoicingMarks): turn the currentCharacter variable
2527         into an argument as WidthIterator::advance doesn't update m_currentCharacter while
2528         looping
2529
2530 2006-07-27  Eric Seidel  <eric@eseidel.com>
2531
2532         Reviewed by ap.
2533
2534         Complex entities seem to fail on TOT
2535         http://bugzilla.opendarwin.org/show_bug.cgi?id=6390
2536         Use an alternative work-around to an XML Entity parsing bug.
2537
2538         * dom/XMLTokenizer.cpp:
2539         (WebCore::XMLTokenizer::write):
2540         (WebCore::hackAroundLibXMLEntityBug): added.
2541         (WebCore::startElementNsHandler):
2542         (WebCore::endElementNsHandler):
2543         (WebCore::charactersHandler):
2544         (WebCore::processingInstructionHandler):
2545         (WebCore::cdataBlockHandler):
2546         (WebCore::commentHandler):
2547         (WebCore::getEntityHandler):
2548
2549 2006-07-27  Rob Buis  <buis@kde.org>
2550
2551         Reviewed by Darin.
2552
2553         http://bugzilla.opendarwin.org/show_bug.cgi?id=9938
2554         Fix viewBox issues in Hixie's test
2555
2556         Do a more accurate and quicker job of parsing the viewBox
2557         attribute. Handle properly on negative width/height and
2558         invalid syntax in general.
2559
2560         * ksvg2/svg/SVGFitToViewBox.cpp:
2561         (SVGFitToViewBox::parseViewBox):
2562
2563 2006-07-27  Eric Seidel  <eric@eseidel.com>
2564
2565         Reviewed by ap.
2566
2567         Enables getSVGDocument() support for HTMLObjectElement and HTMLEmbedElement
2568         http://bugzilla.opendarwin.org/show_bug.cgi?id=9237
2569         This patch does not try to autogenerate anything, but enables the SVG functionality.
2570         Also fix HTMLObjectElement vspace and hspace to be numbers instead of strings to match IE & Firefox.
2571
2572         * bindings/js/kjs_dom.cpp:
2573         (KJS::toJS):
2574         * bindings/js/kjs_html.cpp:
2575         (KJS::JSHTMLElement::objectGetter):
2576         (KJS::HTMLElementFunction::callAsFunction):
2577         (KJS::JSHTMLElement::objectSetter):
2578         * bindings/js/kjs_html.h:
2579         (KJS::JSHTMLElement::):
2580         * dom/Document.h:
2581         (WebCore::Document::isSVGDocument):
2582         * html/HTMLEmbedElement.cpp:
2583         (WebCore::HTMLEmbedElement::contentDocument):
2584         (WebCore::HTMLEmbedElement::getSVGDocument):
2585         * html/HTMLEmbedElement.h:
2586         * html/HTMLObjectElement.cpp:
2587         (WebCore::HTMLObjectElement::HTMLObjectElement):
2588         (WebCore::HTMLObjectElement::getInstance):
2589         (WebCore::HTMLObjectElement::parseMappedAttribute):
2590         (WebCore::HTMLObjectElement::contentDocument):
2591         (WebCore::HTMLObjectElement::rendererIsNeeded):
2592         (WebCore::HTMLObjectElement::createRenderer):
2593         (WebCore::HTMLObjectElement::setCode):
2594         (WebCore::HTMLObjectElement::setArchive):
2595         (WebCore::HTMLObjectElement::setBorder):
2596         (WebCore::HTMLObjectElement::setCodeBase):
2597         (WebCore::HTMLObjectElement::setCodeType):
2598         (WebCore::HTMLObjectElement::setData):
2599         (WebCore::HTMLObjectElement::hspace):
2600         (WebCore::HTMLObjectElement::setHspace):
2601         (WebCore::HTMLObjectElement::setStandby):
2602         (WebCore::HTMLObjectElement::setType):
2603         (WebCore::HTMLObjectElement::setUseMap):
2604         (WebCore::HTMLObjectElement::vspace):
2605         (WebCore::HTMLObjectElement::setVspace):
2606         (WebCore::HTMLObjectElement::getSVGDocument):
2607         * html/HTMLObjectElement.h:
2608         * ksvg2/svg/SVGDocument.h:
2609         (WebCore::SVGDocument::isSVGDocument):
2610         * rendering/RenderWidget.h:
2611         (WebCore::RenderWidget::frameView):
2612
2613 2006-07-26  Alexey Proskuryakov  <ap@nypop.com>
2614
2615         Reviewed by Darin.
2616
2617         Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9901
2618         XSLTProcessor cannot parse text nodes for INPUT ELEMENTS in an XSLT stylesheet
2619
2620         Test: fast/js/xhtml-serialize.html
2621
2622         * editing/markup.cpp:
2623         (WebCore::endMarkup): If the element has child nodes, write a closing tag even if it 
2624         is not permitted in HTML, to make it valid XML.
2625
2626 2006-07-26  Alice Liu  <alice.liu@apple.com>
2627
2628         Reviewed by John Sullivan (and Kevin and Timo).
2629
2630         landing this patch for John et al.  
2631         Fixed <rdar://problem/4651380> REGRESSION (9A232->9A234): existing web clips don't render if you restart Dashboard
2632
2633         * page/FrameView.cpp:
2634         (WebCore::FrameView::layout):
2635         moved the call to didFirstLayout to above the check for needsLayout
2636         because we need to call didFirstLayout for every webview, not just
2637         ones we think need layout.  
2638
2639 2006-07-26  Justin Garcia  <justin.garcia@apple.com>
2640
2641         Reviewed by darin
2642         
2643         <rdar://problem/4652788>
2644         REGRESSION: Can't change size or style of any text in message body
2645
2646         * dom/Node.cpp:
2647         (WebCore::Node::isContentRichlyEditable): Mimic Node::isContentEditable.
2648         * html/HTMLElement.cpp:
2649         (WebCore::HTMLElement::isContentRichlyEditable): First check
2650         the frame for editability, then userModify, like what
2651         HTMLElement::isContentEditable() does.
2652         * html/HTMLElement.h:
2653
2654 2006-07-26  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2655
2656         Reviewed by ap.
2657
2658         - fix debug-only information() string for table cells
2659
2660         * rendering/RenderObject.cpp:
2661         (WebCore::RenderObject::information):
2662
2663 2006-07-25  David Harrison  <harrison@apple.com>
2664
2665         Reviewed by timo and Darin.
2666
2667         <rdar://problem/4618584> "Paste and Match Style" is not working in Mail (add SPI)
2668         
2669         * WebCore.xcodeproj/project.pbxproj:
2670         * bridge/mac/WebCoreFrameBridge.h:
2671         * bridge/mac/WebCoreFrameBridge.mm:
2672         (-[WebCoreFrameBridge replaceSelectionWithNode:selectReplacement:smartReplace:matchStyle:]):
2673         Add matchStyle parameter for use by WebKit.
2674
2675 2006-07-25  Justin Garcia  <justin.garcia@apple.com>
2676
2677         Reviewed by adele
2678         
2679         <rdar://problem/4649560>
2680         REGRESSION: Can't Select All when the body is contentEditable="true"
2681
2682         * editing/VisiblePosition.cpp:
2683         (WebCore::VisiblePosition::canonicalPosition): Allow descent from a non-editable html
2684         element into an editable body as a convenience.
2685
2686 2006-07-25  Justin Garcia  <justin.garcia@apple.com>
2687
2688         Reviewed by darin
2689         
2690         <rdar://problem/4468458> Incoming HTML message is editable <body contenteditable="true">
2691
2692         * dom/Document.cpp:
2693         (WebCore::Document::inDesignMode): Removed some spaces.
2694         * page/Frame.cpp:
2695         (WebCore::Frame::applyEditingStyleToElement): Just add CSS properties needed for editing.
2696         (WebCore::Frame::removeEditingStyleFromElement): Made this a no-op, we'll remove
2697         it eventually.
2698
2699 2006-07-25  David Kilzer  <ddkilzer@kilzer.net>
2700
2701         Reviewed by Darin.
2702
2703         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9717
2704           Replace IDL ConvertUndefinedToTrue parameter attribute with Optional attribute
2705
2706         No test added because there is no change in functionality.
2707
2708         * bindings/js/kjs_binding.cpp: Removed valueToBooleanTreatUndefinedAsTrue() method.
2709         * bindings/js/kjs_binding.h: Ditto.
2710         * bindings/scripts/CodeGeneratorJS.pm: Removed support for ConvertUndefinedToTrue parameter attribute.
2711         * dom/Element.h: Set default value to true for scrollIntoView() and scrollIntoViewIfNeeded() arguments.
2712         * dom/Element.idl: Replaced ConvertUndefinedToTrue attribute with Optional attribute.
2713           Fixed name of scrollIntoViewIfNeeded() argument to match implementation.
2714         * page/DOMWindow.idl: Replaced ConvertUndefinedToTrue attribute with Optional attribute.
2715
2716 2006-07-24  Dan Waylonis  <waylonis@google.com>
2717
2718         Reviewed and tweaked a bunch by Darin.
2719
2720         Test: plugins/bindings-test.html
2721
2722         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9902
2723           jsNull and NSNull not properly converted between JS and ObjC
2724
2725         * bindings/objc/WebScriptObject.mm:
2726         (+[WebScriptObject _convertValueToObjcValue:originExecutionContext:executionContext:]):
2727         Added case that converts jsNull to NSNull.
2728
2729 2006-07-24  Darin Adler  <darin@apple.com>
2730
2731         Reviewed by Adele and Justin.
2732
2733         - fix <rdar://problem/4613616> REGRESSION: some spaces typed in <textarea> are posted as non-breaking spaces (9630)
2734           http://bugzilla.opendarwin.org/show_bug.cgi?id=9630
2735         - also fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=9939
2736           REGRESSION: Pasting text into native text area with newline at end does not preserve newline
2737         - removed some uses of DeprecatedPtrList in the markup code
2738
2739         Test: fast/forms/textarea-type-spaces.html
2740         Test: fast/forms/textarea-paste-newline.html
2741
2742         * bindings/objc/DOMHTML.mm: (-[DOMHTMLDocument createDocumentFragmentWithText:]):
2743         Updated call to pass a range -- in this case it is the range of the entire document,
2744         so this will not handle the whitespace properly.
2745
2746         * bridge/mac/WebCoreFrameBridge.h: Added range context parameter to the
2747         documentFragmentWithText: method, so we can handle whitespace properly.
2748         * bridge/mac/WebCoreFrameBridge.mm:
2749         (-[WebCoreFrameBridge nodesFromList:]): Changed from DeprecatedPtrList to Vector.
2750         (-[WebCoreFrameBridge markupStringFromNode:nodes:]): Ditto.
2751         (-[WebCoreFrameBridge markupStringFromRange:nodes:]): Ditto.
2752         (-[WebCoreFrameBridge documentFragmentWithText:inContext:]): Added range context
2753         parameter -- pass it on to createFragmentFromText.
2754         (-[WebCoreFrameBridge documentFragmentWithNodesAsParagraphs:]): Changed from
2755         DeprecatedPtrList to Vector.
2756         (-[WebCoreFrameBridge replaceSelectionWithText:selectReplacement:smartReplace:]):
2757         Pass the range of the current selection as context when creating the fragment.
2758
2759         * dom/Position.cpp: (WebCore::Position::inRenderedText): Replace range check with
2760         a call to the new containsCaretOffset function -- helps make the caret work right when
2761         it is past the end of the last line in a textarea.
2762
2763         * editing/CompositeEditCommand.cpp:
2764         (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): Don't do anything if the
2765         style does not call for collapsing whitespace.
2766         (WebCore::CompositeEditCommand::rebalanceWhitespace): Call replaceWhitespaceAt
2767         to share code, including the new logic mentioned above.
2768
2769         * editing/InsertLineBreakCommand.cpp: (WebCore::InsertLineBreakCommand::doApply):
2770         Use a text node instead of a break element when inserting and the style is preserveNewline.
2771
2772         * editing/JSEditor.cpp: (WebCore::execRemoveFormat): Pass the selection range
2773         to createFragmentFromText.
2774
2775         * editing/RebalanceWhitespaceCommand.cpp: (WebCore::RebalanceWhitespaceCommand::doApply):
2776         Assert that we're in a style that collapses whitespace. It's the caller's responsibility
2777         not to call otherwise.
2778
2779         * editing/ReplaceSelectionCommand.h: Removed unused destructor, type, isSingleTextNode,
2780         isTreeFragment, m_type, and added a context parameter to inertFragmentForTestRendering.
2781         Also changed the constructor to take a selection rather than a pointer to the root
2782         editable element, replaced removeEndBRIfNeeded with shouldRemoveEndBR and removed an
2783         unused parameter from shouldMergeEnd.
2784         * editing/ReplaceSelectionCommand.cpp:
2785         (WebCore::ReplacementFragment::ReplacementFragment): Removed code to set up m_type.
2786         Compute root editable element from passed-in selection. Used the start of the selection
2787         as a base node for style purposes for the test rendering. Removed the special case
2788         "single text node" alternative to createFragmentFromText in the plain text case, since
2789         createFragmentFromText now handles that correctly.
2790         (WebCore::ReplacementFragment::insertFragmentForTestRendering): Copy the whitespace
2791         property from the source location when creating a temporary element for test rendering.
2792         (WebCore::ReplacementFragment::shouldMergeEnd): Removed unneeded boolean
2793         parameter fragmentHadInterchangeNewlineAtEnd, which is always false.
2794         (WebCore::ReplaceSelectionCommand::doApply): Update for ReplacementFragment changes,
2795         change code to not remove end BR when it can be re-used instead, don't call the
2796         paragraph separator insertion when the position is at the start of a paragraph already,
2797         removed redundant computation of identical "next" value, removed unneeded boolean
2798         parameter to shouldMergeEnd, add case for merging when all we need to do is to delete
2799         a newline character, removed unneeded code to set insertionPos after all code that uses
2800         it, and  use spaces instead of non-breaking spaces when doing smart paste if the
2801         context is one where we do not collapse white space.
2802         (WebCore::ReplaceSelectionCommand::shouldRemoveEndBR): Renamed and changed to return
2803         a boolean instead of doing the removal.
2804
2805         * editing/markup.h: Use Vector instead of DeprecatedPtrList. Change the
2806         createFragmentFromText function to take a range for context instead of a document.
2807         * editing/markup.cpp:
2808         (WebCore::markup): Use Vector instead of DeprecatedPtrList.
2809         (WebCore::createMarkup): Ditto.
2810         (WebCore::createParagraphContentsFromString): Remove unneeded document parameter
2811         and changed a couple places to use isEmpty instead of comparing with "".
2812         (WebCore::createFragmentFromText): Given the new context parameter, if the context
2813         is one that preserves newlines, then use "\n" instead of <br> elements.
2814         (WebCore::createFragmentFromNodes): Use Vector instead of DeprecatedPtrList.
2815
2816         * html/HTMLElement.cpp: (WebCore::HTMLElement::setInnerText): Do not use <br>
2817         elements if the context of this node is one where we preserve newlines.
2818
2819         * rendering/InlineTextBox.h:
2820         * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::containsCaretOffset):
2821         Added. Implements the appropriate rule for determining if a caret position is
2822         in this line or not. Returns true for both one line and the next in cases where
2823         affinity must be considered to determine which line the caret is on.
2824
2825         * rendering/RenderText.h: Make atLineWrap no longer be a member function.
2826         * rendering/RenderText.cpp:
2827         (WebCore::atLineWrap): Remove special rule about preserveNewline and isLineBreak,
2828         which will no longer apply due to the new containsCaretOffset function logic.
2829         (WebCore::RenderText::caretRect): Use containsCaretOffset.
2830         (WebCore::RenderText::inlineBox): Ditto.
2831
2832         * rendering/RenderTextControl.cpp:
2833         (WebCore::RenderTextControl::updateFromElement): Make a placeholder <br> element
2834         after calling setInnerText so that the last newline in the string has the effect
2835         we expect outside the HTML world (an additional line).
2836         (WebCore::RenderTextControl::setSelectionRange): Set granularity of the selection
2837         too. The layout tests caught this problem, which needs a better solution long term.
2838         (WebCore::RenderTextControl::text): Call textContent with the parameter false
2839         so it will not include newlines for <br> elements. Now the only <br> element
2840         that will ever be in the shadow DOM tree is the one to prevent collapsing, and
2841         that one should not show up in the text value.
2842
2843         * rendering/bidi.cpp: (WebCore::RenderBlock::findNextLineBreak): Took a rule
2844         that specifically called out the pre whitespace mode and made it work for all
2845         the modes that preserve newlines. This makes sure we get a last line box for
2846         text after the last "\n" even in cases where there is no <br> afterward.
2847
2848         * editing/DeleteSelectionCommand.cpp:
2849         (WebCore::DeleteSelectionCommand::fixupWhitespace):
2850         * editing/InsertParagraphSeparatorCommand.cpp:
2851         (WebCore::InsertParagraphSeparatorCommand::doApply):
2852         Added assertions to make sure we don't do anything when we're not collapsing
2853         whitespace.
2854
2855         * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::setDefaultValue):
2856         Changed to use Vector instead of DeprecatedPtrList.
2857
2858         * editing/HTMLInterchange.cpp: Removed obsolete comment.
2859
2860         * loader/Cache.h: Removed a stray include.
2861
2862 2006-07-24  Adele Peterson  <adele@apple.com>
2863
2864         Reviewed by Justin.
2865
2866         - Fix for <rdar://problem/4632132> Changing style of content with mixed editability fails
2867
2868         Test: * editing/style/apple-style-editable-mix.html
2869
2870         * dom/Node.cpp: (WebCore::Node::isContentRichlyEditable): Doesn't need to check the editable root.  It now just
2871           checks the user modify property of its own renderer, since that is inherited.
2872         * editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::applyInlineStyle): If the end position is in a table,
2873         Adjust the end node to the last descendant of the table, so we don't skip over any runs.
2874
2875 2006-07-24  Darin Adler  <darin@apple.com>
2876
2877         Reviewed by Hyatt.
2878
2879         - implement String::createCFString
2880
2881         * WebCore.xcodeproj/project.pbxproj: Added StringImplMac.mm and StringMac.mm.
2882
2883         * bindings/objc/DOMInternal.mm: Moved NSString conversion functions out of here.
2884
2885         * platform/mac/StringImplMac.mm: Added. Moved NSString conversion members here
2886         and added the CFStringRef ones.
2887         * platform/mac/StringMac.mm: Added. Ditto.
2888
2889 2006-07-24  David Hyatt  <hyatt@apple.com>
2890
2891         Two bug fixes.
2892
2893         (1) Make sure to mark positioned objects that depend on line position to
2894         mark themselves as needing layout when their line box placeholder gets
2895         repositioned.
2896
2897         * rendering/RenderBox.cpp:
2898         (WebCore::RenderBox::position):
2899        
2900         (2) Improve highlighting to factor the inflation into overflow so that
2901         invalidation and repainting will work properly.
2902
2903         * rendering/RootInlineBox.cpp:
2904         (WebCore::RootInlineBox::addHighlightOverflow):
2905         * rendering/RootInlineBox.h:
2906         * rendering/bidi.cpp:
2907         (WebCore::RenderBlock::layoutInlineChildren):
2908
2909 2006-07-24  Anders Carlsson  <acarlsson@apple.com>
2910
2911         Reviewed by Adele.
2912
2913         <rdar://problem/4641824> REGRESSION: Wikipedia widget fails to complete a search after pressing return key
2914         
2915         * html/HTMLInputElement.cpp:
2916         (WebCore::HTMLInputElement::defaultEventHandler):
2917         Don't eat enter events for search fields that have no enclosing form; they need to be passed to AppKit so
2918         that onsearch can be invoked.
2919         
2920         * manual-tests/onsearch-enter.html: Added.
2921
2922 2006-07-24  Dave MacLachlan  <dmaclach@mac.com>
2923
2924         Reviewed by Darin and Alexey.
2925         
2926         Fix for: <http://bugzilla.opendarwin.org/show_bug.cgi?id=8425> 
2927         and <http://bugzilla.opendarwin.org/show_bug.cgi?id=6947>
2928
2929         Test: svg/custom/non-opaque-filters.svg
2930
2931         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
2932         (WebCore::KCanvasFilterQuartz::prepareFilter):
2933         We create an autorelease pool so we can control the deallocation of the
2934         CIContext that we're creating. The CIContext retains the CGContext that 
2935         you pass it internally so when the CIContext is released, the 
2936         CGContext is released as well.
2937         This is all fine and dandy unless you wrap the creation of the CIFilter
2938         with a pair of CGBegin/EndTransparencyLayer calls which swap the context
2939         out from underneath you. So if you start with context A, 
2940         CGBeginTransparencyLayer swaps it out and gives you B. You create a CIFilter
2941         with it and add a reference to B. CGEndTransparencyLayer swaps out B and
2942         gives you back A. Autorelease pool comes and cleans up the Filter, and calls
2943         release on A, but A never got the refcount in the first place. B did. BOOM!
2944         So we create a pool, then do a retain, then release the pool so that we 
2945         don't have to worry about the pool releasing it at a later time.
2946         See <rdar://problem/4647735> for reduction of CGEndTransparencyLayer case
2947
2948 2006-07-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2949
2950         Reviewed by Hyatt.
2951
2952         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9669
2953           Incomplete repaint when changing an inline's border
2954
2955         Test: fast/repaint/line-overflow.html
2956
2957         * rendering/RenderBlock.h:
2958         * rendering/bidi.cpp:
2959         (WebCore::RenderBlock::layoutInlineChildren): Added repaintTop and repaintBottom
2960         variables to track the vertical edges of the area that changed, accounting for
2961         lines that were deleted, inserted or moved. Removed unnecessary updating of
2962         m_overflowHeight.
2963         (WebCore::RenderBlock::determineStartPosition): Removed unnecessary updating of
2964         m_overflowHeight.
2965         (WebCore::RenderBlock::determineEndPosition):
2966         (WebCore::RenderBlock::matchedEndLine): Added repaintTop and repaintBottom
2967         arguments, which this method updates to account for deleted lines.
2968         (WebCore::RenderBlock::checkLinesForOverflow): Removed outdated FIXME.
2969
2970 2006-07-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2971
2972         Reviewed by Darin.
2973
2974         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10075
2975           REGRESSION: Reversed pop-up text in visually-ordered Hebrew pages
2976
2977         Test: fast/forms/select-visual-hebrew.html
2978
2979         * css/html4.css: Set "-webkit-rtl-ordering: logical" on select elements.
2980
2981 2006-07-24  Alexey Proskuryakov  <ap@nypop.com>
2982
2983         Reviewed by Darin.
2984
2985         Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10009
2986         REGRESSION: Schubert-IT PDF Plug-in not working for full page (works in frames)
2987
2988         * page/Frame.cpp:
2989         (WebCore::Frame::begin): Give PDF plugins a chance to handle frame content, before ImageDocument
2990         claims it.
2991
2992 2006-07-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2993
2994         Reviewed by Darin.
2995
2996         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10083
2997           REGRESSION (r15584): editing/selection/select-from-textfield-outwards failing
2998
2999         * rendering/RenderBlock.cpp:
3000         (WebCore::RenderBlock::positionForCoordinates): Added back change from the fix
3001         for bug 9312: For coordinates outside a replaced object, return the position
3002         just before (after) the element if the coordinates are above or to the left (below
3003         or to the right).
3004
3005 2006-07-23  Mark Rowe  <opendarwin.org@bdash.net.nz>
3006
3007         Reviewed by maciej.
3008
3009         Bug 9686: [Drosera] Need the ability to break into Drosera on Javascript exceptions
3010         http://bugzilla.opendarwin.org/show_bug.cgi?id=9686
3011
3012         WebCore portion of the fix.
3013
3014         * bridge/mac/WebCoreScriptDebugger.h:
3015         (-[WebScriptDebugger exceptionRaised:sourceId:line::]): Add delegate method.
3016         * bridge/mac/WebCoreScriptDebugger.mm:
3017         (WebCoreScriptDebuggerImp::exception): Call delegate method when an exception is raised.
3018
3019 2006-07-23  Alice Liu  <alice.liu@apple.com>
3020
3021         Reviewed by Adele.
3022         Actually Adele figured out how to fix the layout test failures.  Landing this patch for her.  Layout test failures exposed but not caused by  r15584 (my patch earlier today).
3023
3024         * editing/visible_units.cpp:
3025         (WebCore::previousLinePosition):
3026         When setting selection endpoints, don't traverse down into nodes where editing would ignore its contents. Use the parent node instead.  
3027         (WebCore::nextLinePosition):
3028         same as above
3029
3030 2006-07-23  David Harrison  <harrison@apple.com>
3031
3032         Reviewed by timo.
3033
3034         <rdar://problem/4646759> Mail crash editing To Do - WebCore::InsertTextCommand::prepareForTextInsertion
3035         
3036         * Test: editing/deleting/delete-mixed-editable-content-001.html
3037
3038         * editing/visible_units.cpp:
3039         (WebCore::startOfParagraph):
3040         Respect editable boundary the same way endOfParagraph does.
3041
3042 2006-07-23  Beth Dakin  <bdakin@apple.com>
3043
3044         Reviewed by Maciej. (Patch by me, Maciej, and Harrison.)
3045
3046         Fix for <rdar://problem/4529398> WebCore crashes when pasting rich 
3047         text - WebCore::InlineBox::root()
3048
3049         The initial rendering crash was due to a render object having a 
3050         stale reference to an inline box that had already been deleted and 
3051         then recreated in the exact same location in memory. (Crazy, I 
3052         know.) The situation seemed pretty specific to list markers 
3053         according to Hyatt according to Maciej, so that is what I patched 
3054         specifically. Fixing this crash unearthed a separate editing crash 
3055         where we were trying to insert a block into itself. I worked on 
3056         that with Maciej and Harrison, and Harrison came up with a fix.
3057
3058         * editing/CompositeEditCommand.cpp:
3059         (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): This is the fix for the editing crash. If paragraphStart is an atomic 
3060         node, insert the new block into the parent instead.
3061         * rendering/InlineBox.cpp:
3062         (WebCore::InlineBox::isChildOfParent): This function is for 
3063         posterity. It will help keep the linebox tree in check.
3064         * rendering/InlineBox.h:
3065         * rendering/InlineFlowBox.cpp:
3066         (WebCore::InlineFlowBox::addToLine): Added assert.
3067         (WebCore::InlineFlowBox::deleteLine): Added assert.
3068         * rendering/ListMarkerBox.cpp:
3069         (WebCore::ListMarkerBox::destroy): If this has a parent, call 
3070         removeChild on this.
3071         (WebCore::ListMarkerBox::operator delete):
3072         * rendering/ListMarkerBox.h:
3073
3074 2006-07-23  Alice Liu  <alice.liu@apple.com>
3075
3076         Reviewed by Darin.
3077
3078         fixed <rdar://problem/4617841> REGRESSION (NativeTextField): You can move keyboard focus to a field without getting insertion point
3079
3080         * rendering/RenderBlock.cpp:
3081         (WebCore::RenderBlock::positionForCoordinates):
3082         removed some unnecessary vertical position checks and added a fudge factor to be more forgiving for clicks near lines.
3083         * rendering/RenderTextControl.cpp:
3084         (WebCore::RenderTextControl::nodeAtPoint):
3085         added implementation
3086         * rendering/RenderTextControl.h:
3087         added function protocol
3088
3089 2006-07-23  Adele Peterson  <adele@apple.com>
3090
3091         Reviewed by Darin.
3092
3093         Updating fix from last checkin.
3094
3095         * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutVerticalBox):
3096         Only tell the view about this flexbox if there isn't another flexbox already cached.
3097
3098 2006-07-23  Adele Peterson  <adele@apple.com>
3099
3100         Reviewed by Maciej.
3101
3102         - Fix for <rdar://problem/4644614> REGRESSION: Typing, pasting or dragging in new text areas causes unnecessary scrolling
3103
3104         * rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlock): Don't updateScrollInfoAfterLayout if an ancestor flexible box is just on
3105         its first layout.
3106         * rendering/RenderFlexibleBox.cpp:
3107         (WebCore::RenderFlexibleBox::layoutBlock): ditto.
3108         (WebCore::RenderFlexibleBox::layoutVerticalBox): Let the view know if this flex box is doing its first pass at layout.
3109
3110         * rendering/RenderView.cpp: (WebCore::RenderView::RenderView): Caches a flexible box that's doing its first layout.
3111         * rendering/RenderView.h:
3112         (WebCore::RenderView::setFlexBoxInFirstLayout):
3113         (WebCore::RenderView::flexBoxInFirstLayout):
3114
3115 2006-07-22  Alexey Proskuryakov  <ap@nypop.com>
3116
3117         Reviewed by Darin.
3118
3119         Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10038
3120         REGRESSION: Length of navigator.mimeTypes collection returns number of installed plugins, not number 
3121         of registered mime types
3122
3123         * bindings/js/kjs_navigator.cpp:
3124         (KJS::MimeTypes::getValueProperty): Return the length of the mime types vector, not the plugins one.
3125         (KJS::MimeTypes::getOwnPropertySlot): Fixed another typo, which prevented MimeTypes::getValueProperty()
3126         from even being called.
3127
3128 2006-07-21  Maciej Stachowiak  <mjs@apple.com>
3129
3130         Reviewed by Adele and Tim Omernick.
3131
3132         <rdar://problem/4641004> 9A224: Safari crashes in WebCore::RenderMenuList::showPopup when changing a input select field to input text field
3133
3134         Couldn't figure out how to make layout test, here's a manual test:
3135         * manual-tests/remove-select-onchange.html: Added.
3136         
3137         * rendering/RenderMenuList.cpp:
3138         (WebCore::RenderMenuList::showPopup): Don't add the RenderPopupMenu to the render
3139         tree so it doesn't get destroyed if we do.
3140         
3141         The remaining changes are to let the RenderPopupMenu know its menu list w/o having
3142         to be in the render tree:
3143         
3144         * rendering/RenderPopupMenu.cpp:
3145         (WebCore::RenderPopupMenu::RenderPopupMenu):
3146         * rendering/RenderPopupMenu.h:
3147         (WebCore::RenderPopupMenu::menuList):
3148         * rendering/RenderPopupMenuMac.h:
3149         * rendering/RenderPopupMenuMac.mm:
3150         (WebCore::RenderPopupMenuMac::RenderPopupMenuMac):
3151         * rendering/RenderPopupMenuWin.h:
3152         (WebCore::RenderPopupMenuWin::RenderPopupMenuWin):
3153         * rendering/RenderTheme.h:
3154         * rendering/RenderThemeMac.h:
3155         * rendering/RenderThemeMac.mm:
3156         (WebCore::RenderThemeMac::createPopupMenu):
3157         * rendering/RenderThemeWin.cpp:
3158         (WebCore::RenderThemeWin::createPopupMenu):
3159         * rendering/RenderThemeWin.h:
3160
3161 2006-07-21  Adele Peterson  <adele@apple.com>
3162
3163         Reviewed by Darin.
3164
3165         Fix for: <rdar://problem/4643238> REGRESSION: Can't set insertion point at the end of a line of text
3166
3167         Test: fast/forms/textarea-scrolled-endline-caret.html
3168
3169         * rendering/RenderBlock.cpp: (WebCore::RenderBlock::positionForCoordinates):
3170         When looking for the closest line box, take the scroll offset into account.
3171
3172 2006-07-21  Tim Omernick  <timo@apple.com>
3173
3174         Reviewed by Geoff & Maciej.
3175
3176         <rdar://problem/4632505> REGRESSION: Crash at WebCore::Widget::getView() const + 6
3177
3178         Geoff is working on a layout test for this.
3179
3180         * bridge/mac/FrameMac.mm:
3181         (WebCore::FrameMac::focusWindow):
3182         (WebCore::FrameMac::unfocusWindow):
3183         Check for a NULL view.  The view can be NULL if the frame has not yet loaded any data.  This fixes the crash, but the behavior is still
3184         wrong -- we should focus the frame once it gets a view.  I've filed <rdar://problem/4645685> to track that.  It's not as urgent as this
3185         crasher.
3186         
3187 2006-07-21  Maciej Stachowiak  <mjs@apple.com>
3188
3189         Reviewed by Darin.
3190
3191         <rdar://problem/4523976> REGRESSION (NativeTextField): Crash occurs when choosing "Undo Typing" after typing and setting the value
3192
3193         * rendering/RenderTextControl.cpp:
3194         (WebCore::RenderTextControl::updateFromElement): Clear the undo
3195         chain when the text control contents have been set
3196         programmatically.
3197         * bridge/mac/FrameMac.mm:
3198         (WebCore::FrameMac::clearUndoRedoOperations): Before clearing undo
3199         stack, close all open undo groups and then open an equal number,
3200         since otherwise NSUndoManager ends up in an inconsistent state
3201         leading to uncaught ObjC exceptions.
3202
3203 2006-07-21  Beth Dakin  <bdakin@apple.com>
3204         
3205         Reviewed by Darin.
3206
3207         Just moving this assertion down a couple of lines. It was hitting 
3208         every time you try to print a page because we put it too early in 
3209         the function.
3210
3211         * bridge/mac/WebCoreFrameBridge.mm:
3212         (-[WebCoreFrameBridge drawRect:]):
3213
3214 2006-07-21  Justin Garcia  <justin.garcia@apple.com>
3215
3216         Reviewed by levi
3217         
3218         <rdar://problem/4548238>
3219         REGRESSION: Can't remove the first OL/UL list item in a Mail's compose window
3220
3221         * editing/CompositeEditCommand.cpp:
3222         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): 
3223         Moved from InsertParagraphSeparator.  Does its own typing style restoration.
3224         * editing/CompositeEditCommand.h:
3225         * editing/InsertParagraphSeparatorCommand.cpp:
3226         (WebCore::InsertParagraphSeparatorCommand::doApply): Call breakOutOfEmptyListItem.
3227         * editing/TypingCommand.cpp:
3228         (WebCore::TypingCommand::deleteKeyPressed): Call breakOutOfEmptyListItem if
3229         the endingSelection is at the start of an editable region.
3230         * editing/htmlediting.cpp:
3231         (WebCore::embeddedSublist): Moved from InsertParagraphSeparator.
3232         (WebCore::appendedSublist): Ditto.
3233         (WebCore::enclosingEmptyListItem): Ditto.
3234         * editing/htmlediting.h:
3235
3236 === Safari-521.20 ===
3237
3238 2006-07-21  Tim Omernick  <timo@apple.com>
3239
3240         Reviewed by Beth Dakin & John Sullivan.
3241
3242         <rdar://problem/4633717> 9A218: Reproducible crash in -[NSScroller mouseDown:]
3243
3244         Beth is in the middle of making a layout test for this; she will land it soon.
3245
3246         * platform/mac/ScrollBarMac.mm:
3247         (ScrollBar::~ScrollBar):
3248         Call Widget::removeFromSuperview() rather than -removeFromSuperview directly on the scroll bar view.
3249         Widget::removeFromSuperview() obeys the "mustStayInWindow" flag, which is set while tracking the mouse
3250         in view-based widgets to prevent their destruction while the tracking is in progress.
3251         I searched around WebCore and this is the only Widget subclass that directly removes its view rather
3252         than using removeFromSuperview().
3253
3254 2006-07-21  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3255
3256         Reviewed by Darin.
3257
3258         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9312
3259           REGRESSION: Selection bug in new text fields when selecting past the first letter
3260
3261         Test: editing/selection/select-from-textfield-outwards.html
3262
3263         * editing/Selection.cpp:
3264         (WebCore::Selection::adjustForEditableContent): Added code to handle the case
3265         where the selection starts (resp. ends) in the last (resp. first) visual position
3266         inside an editable root.
3267         * editing/htmlediting.cpp:
3268         (WebCore::comparePositions): Fixed the case of comparing a position inside a shadow
3269         tree with a position in the shadow ancestor.
3270         * rendering/RenderBlock.cpp:
3271         (WebCore::RenderBlock::positionForCoordinates): For coordinates outside a replaced
3272         object, return the position just before (after) the element if the coordinates are above or
3273         to the left (below or to the right).
3274         * rendering/RenderObject.cpp:
3275         (WebCore::RenderObject::caretMaxOffset): Changed to return 1 for replaced objects.
3276         * rendering/RenderText.cpp:
3277         (WebCore::RenderText::positionForCoordinates): Changed to return the last position
3278         in the lowest text box if the y coordinate is below all text boxes.
3279
3280 2006-07-21  Geoffrey Garen  <ggaren@apple.com>
3281
3282         Reviewed by Darin.
3283         
3284         - Fixed <rdar://problem/4507265> REGRESSION: overlays don't work on 
3285         HousingMaps.com (Google Maps-based site)
3286         
3287         - Made style.filter undetectable, like document.all.
3288         
3289         Unfortunately, the SVG spec-makers invented a CSS attribute named 'filter',
3290         which conflicts with IE's custom CSS attribute by the same name. Web programs 
3291         like the Google maps API test for style.filter, and assume it's the IE 
3292         style.filter if they find it, so we need to make style.filter undetectable 
3293         to avoid breaking them.
3294         
3295         An alternative solution would be to hotwire a delorean, go back in time,
3296         and beg the web standards makers to make standards that work on the web.
3297
3298         * bindings/js/kjs_css.cpp:
3299         (KJS::DOMCSSStyleDeclaration::cssPropertyGetter):
3300
3301 2006-07-20  Justin Garcia  <justin.garcia@apple.com>
3302
3303         Reviewed by john
3304         
3305         <rdar://problem/4641033>
3306         REGRESSION: Pasting from web pages into Mail (or Blot) often loses most of the content
3307         
3308         * editing/markup.cpp:
3309         (WebCore::createMarkup): We surround the currently accumulated markup with markup 
3310         for ancestors of the startNode when the pre-order traversal leaves the trees rooted 
3311         at those ancestors.  We assumed that any ancestors of the current node not in the 
3312         ancestorsToClose list were those kind of ancestors.  But we don't add renderer-less 
3313         containers to the ancestorsToClose list.  So, we were incorrectly surrounding the 
3314         currently accumulated markup with markup for render-less containers.  Most of the
3315         content at apple.com was being put inside an <optgroup> inside a <select> element.  
3316         Then on Paste createContextualFragment would drop it.
3317
3318 2006-07-21  Anders Carlsson  <acarlsson@apple.com>
3319
3320         Reviewed by Geoff.
3321
3322         * dom/Document.h:
3323         (WebCore::Document::):
3324         * dom/EventTargetNode.cpp:
3325         (WebCore::EventTargetNode::addEventListener):
3326         * page/FrameView.cpp:
3327         (WebCore::FrameView::layout):
3328         * rendering/RenderLayer.cpp:
3329         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
3330         Only dispatch overflowchanged events if overflowchanged event listeners have been registered on the document.
3331
3332 2006-07-20  Anders Carlsson  <acarlsson@apple.com>
3333
3334         Reviewed by Geoff.
3335
3336         <rdar://problem/4637807> REGRESSION: "Features & Options" page at volvocars.us fails
3337
3338         * xml/XSLTProcessor.cpp:
3339         (WebCore::xsltParamArrayFromParameterMap):
3340         Turns out parameters never worked. String parameters need to be escaped so we create a transform context,
3341         add the parameters to it quoted and then use xsltApplyStylesheetUser which lets us pass the transform context to it.
3342         This also works around a bug in libxslt where a hash table isn't allocated.
3343
3344 2006-07-20  Alice Liu  <alice.liu@apple.com>
3345
3346         Reviewed by Tim Omernick.
3347
3348         Fixed <rdar://problem/4621649> repro crash: Upload link causes crash on pages.google.com in Frame::nodeForWidget
3349         added manual test because there is no way to change the value of an <input type=file> via the DOM.  It's not supported because it's a security risk. 
3350
3351         * manual-tests/remove-input-file-onchange.html: Added.
3352         * platform/mac/FileButtonMac.mm:
3353         (-[WebFileChooserButton chooseFilename:]):
3354         swapped the calls to changeFilename and bridgeForWidget because changeFilename will destroy the widget that is accessed in bridgeForWidget 
3355
3356 2006-07-20  Alice Liu  <alice.liu@apple.com>
3357
3358         Reviewed by Adele.
3359
3360         Fixed <rdar://problem/4532113> REGRESSION (NativeTextField): Crash occurs after modifying field then reloading page -[FormDelegate frameLayoutHasChanged:]
3361         added a manual test because of the need to use AutoFill.
3362
3363         * dom/Node.h:
3364         (WebCore::Node::aboutToUnload):
3365         added virtual function prototype
3366         * html/HTMLInputElement.cpp:
3367         (WebCore::HTMLInputElement::aboutToUnload):
3368         added implementation that sends textFieldDidEndEditing notification
3369         * html/HTMLInputElement.h:
3370         added virtual function prototype
3371         * manual-tests/input-type-file-autocomplete-frame-1.html: Added.
3372         * manual-tests/input-type-file-autocomplete-frame-2.html: Added.
3373         * manual-tests/input-type-file-autocomplete-refresh.html: Added.
3374         * page/Frame.cpp:
3375         (WebCore::Frame::stopLoading):
3376         before unloading, call aboutToUnload on the current focused node
3377
3378 2006-07-20  Brady Eidson  <beidson@apple.com>
3379
3380         Reviewed by Maciej
3381
3382         fixed <rdar://problem/4611303> REGRESSION: repro crash in WebCore::EventTargetNode::dispatchWindowEvent at aeropostale.com
3383         There was an attempt to deref an EventListener that got cleaned up in GC.  Changing Document's EventListener list from 
3384         vanilla ptrs to refptrs to prevent GC, following EventTargetNode's proven example.
3385
3386         * dom/Document.cpp:
3387         (WebCore::Document::Document):
3388         (WebCore::Document::clear):
3389         (WebCore::Document::handleWindowEvent):
3390         (WebCore::Document::getHTMLWindowEventListener):
3391         (WebCore::Document::removeHTMLWindowEventListener):
3392         (WebCore::Document::removeWindowEventListener):
3393         (WebCore::Document::hasWindowEventListener):
3394         Changed all of the list iterators to work with RefPtrs instead of vanilla ptrs
3395
3396         * dom/Document.h:
3397         Changed the EventListener list to be a vanilla pointer list to a refptr list
3398
3399 2006-07-20  John Sullivan  <sullivan@apple.com>
3400
3401         Reviewed by Maciej
3402
3403         - WebCore part of fix for:
3404         <rdar://problem/4557386> REGRESSION (419.3-521.19): repro Safari world leak involving 
3405         closing tabs after clicking in a web page
3406         
3407         * bridge/mac/WebCoreFrameBridge.h:
3408         (-[WebCoreFrameBridge textViewWasFirstResponderAtMouseDownTime:])
3409         renamed to be more specific (formerly wasFirstResponderAtMouseDownTime:)
3410         * bridge/mac/FrameMac.mm:
3411         (WebCore::FrameMac::passMouseDownEventToWidget):
3412         updated for name change
3413
3414 2006-07-19  Alexey Proskuryakov  <ap@nypop.com>
3415
3416         Reviewed by Darin.
3417
3418         Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8272
3419         Use of window.open & window.close can cause crash
3420
3421         * platform/PlatformMouseEvent.h:
3422         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
3423         * platform/mac/PlatformMouseEventMac.mm:
3424         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
3425         The default constructor now creates a "zero" event, and a new one was added to create the "current" one.
3426
3427         * bridge/mac/FrameMac.mm:
3428         (WebCore::FrameMac::handleMouseMoveEvent):
3429         * rendering/RenderFormElement.cpp:
3430         (WebCore::RenderFormElement::clicked): 
3431         Updated for the above changes.
3432
3433         * platform/gdk/MouseEventGdk.cpp:
3434         * platform/gdk/TemporaryLinkStubs.cpp:
3435         (PlatformMouseEvent::PlatformMouseEvent):
3436         * platform/win/MouseEventWin.cpp:
3437         * platform/win/TemporaryLinkStubs.cpp:
3438         (PlatformMouseEvent::PlatformMouseEvent):
3439         Trying not to break other platforms.
3440
3441         * manual-tests/invalid-mouse-event.html: Added.
3442
3443 2006-07-20  Maciej Stachowiak  <mjs@apple.com>
3444         
3445         Reviewed by Anders.
3446
3447         - delete line that I only commented in the last patch - meant to do this before landing
3448
3449         * html/HTMLFrameElement.cpp:
3450         (WebCore::HTMLFrameElement::close): 
3451
3452 2006-07-19  Maciej Stachowiak  <mjs@apple.com>
3453
3454         Reviewed by Geoff.
3455
3456         - fixed <rdar://problem/4634484> REGRESSION: Project Change Request form should have vertical scroll bar, but doesn't
3457         
3458         I couldn't figure out how to make an automated test case for this,
3459         or even a manual one. It seems to be timing-related in some way.
3460
3461         * html/HTMLFrameElement.cpp:
3462         (WebCore::HTMLFrameElement::close): detach the child frame from
3463         its element, not the frame containing this element.
3464
3465 2006-07-20  Anders Carlsson  <acarlsson@apple.com>
3466
3467         Reviewed by Darin.
3468
3469         * bridge/mac/FrameMac.mm:
3470         (WebCore::FrameMac::nextKeyViewInFrame):
3471         Hold a ref to the node in case it gets destroyed by an event handler.
3472
3473 2006-07-19  Mark Rowe  <opendarwin.org@bdash.net.nz>
3474
3475         Reviewed by Darin.
3476
3477         http://bugzilla.opendarwin.org/show_bug.cgi?id=10021
3478         Bug 10021: REGRESSION: Stack overflow due to infinite recursion in 
3479         Image::checkForSolidColor
3480
3481         * platform/Image.cpp:
3482         (WebCore::Image::cacheFrame): Don't call checkForSolidColor unless 
3483         the frame was decoded successfully.
3484
3485 2006-07-19  Adele Peterson  <adele@apple.com>
3486
3487         Reviewed by Maciej.
3488
3489         - Fix for: 
3490         <rdar://problem/4422657> REGRESSION: member name field or password field should have focus after loading webmail.mac.com (7405)
3491         http://bugzilla.opendarwin.org/show_bug.cgi?id=7405
3492
3493         <rdar://problem/4614181> REGRESSION: Crash in WebCore::RenderTextField::text() when quoting post at the Ars Technica forum (9707)
3494         http://bugzilla.opendarwin.org/show_bug.cgi?id=9707
3495
3496         Needs an http test. (http://bugzilla.opendarwin.org/show_bug.cgi?id=10020)
3497
3498         These bugs were both cases where focus() was called on an element which didn't have a renderer yet because stylesheets hadn't finished loading yet.
3499         Now, we detect this case and let setFocusNode be called.  And when the stylesheet finishes loading, and the element attaches, a timer will fire, 
3500         which will cause the correct selection & scrolling behavior to occur. 
3501
3502         This fix removes selection and scrolling behavior from the focus method.  This code is now in a new method, updateFocusAppearance.
3503         updateFocusAppearance can now be called directly from focus(), but it can also be called when a timer fires.  This timer gets set
3504         up when an element attaches, and its already been focused by the focus method.  We have to use a timer, because updateFocusAppearance can cause
3505         a layout to happen, and we don't want that to happen in the middle of attach().
3506
3507         * bindings/objc/DOM.mm: (-[DOMElement isFocused]): Added SPI for autofill.
3508         * bindings/objc/DOMPrivate.h:
3509
3510         * dom/Element.cpp:
3511         (WebCore::Element::Element): Initializes timer and needFocusAppearanceUpdate bool.
3512         (WebCore::Element::attach): Checks needsFocusAppearanceUpdate, and if the node is focused, then starts the timer.
3513         (WebCore::Element::focus): Updated to check supportsFocus before calling setFocusNode, 
3514         and only requiring the element to be focusable now before updating focus appearance.
3515         (WebCore::Element::updateFocusAppearance): Added. Separates the selection, and the scrolling from focusing the node.
3516         (WebCore::Element::updateFocusAppearanceTimerFired): Stops the timer, and if the element is focusable, calls updateFocusAppearance.
3517         (WebCore::Element::stopUpdateFocusAppearanceTimer):  Cancels timer, and setsNeedsFocusAppearanceUpdate(false).
3518         (WebCore::Element::detach): Calls stopUpdateFocusAppearanceTimer.
3519         (WebCore::Element::blur): ditto.
3520         * dom/Element.h:
3521         (WebCore::Element::needsFocusAppearanceUpdate): Added so the timer only fires when focus() methods have caused an element to be focused.
3522         (WebCore::Element::setNeedsFocusAppearanceUpdate): Added so focus methods can set this flag.
3523
3524         * dom/Node.h: (WebCore::Node::supportsFocus): Added.  Base class just calls isFocusable.
3525         * html/HTMLAnchorElement.h: Added supportsFocus.
3526         * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::supportsFocus): Added. Checks for the case where stylesheets haven't loaded yet,
3527         so we can still focus the node without a renderer, and when it gets a renderer, we'll update the focus appearance.
3528         * html/HTMLGenericFormElement.h: (WebCore::HTMLGenericFormElement::supportsFocus): ditto.
3529         * html/HTMLGenericFormElement.cpp: Removed include of Document.h since this is now in the header.
3530
3531