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