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