Reviewed by Darin, landed by ap.
[WebKit-https.git] / WebCore / ChangeLog
1 2006-06-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2
3         Reviewed by Darin, landed by ap.
4
5         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9316
6           REGRESSION: text field width shrinks on first keystroke
7
8         Test: fast/forms/floating-textfield-relayout.html
9
10         * page/FrameView.cpp:
11         (WebCore::FrameView::layoutRoot): Added. During subtree relayout, returns
12         the subtree root. Otherwise returns 0.
13         (WebCore::FrameView::layoutPending): Made const.
14         * page/FrameView.h:
15         * rendering/RenderBox.cpp:
16         (WebCore::RenderBox::calcWidth): Added early return if this is the root
17         of a subtree being laid out. 
18
19 2006-06-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
20
21         Reviewed by Hyatt.
22
23         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9531
24           Pages that need only a horizontal scroll bar get a vertical one as well
25
26         The change affects many existing tests.
27
28         * page/FrameView.cpp:
29         (WebCore::FrameView::layout): Mark the body renderer as needing layout if
30         the view's height has changed and the body stretches to the view's height.
31         * rendering/RenderBox.cpp:
32         (WebCore::RenderBox::calcHeight):
33         * rendering/RenderBox.h:
34         (WebCore::RenderBox::stretchesToViewHeight): Added. Moved the logic for when
35         the HTML block needs to stretch to the view's height from calcHeight() here.
36
37 2006-06-24  Alexey Proskuryakov  <ap@nypop.com>
38
39         Reviewed by Darin.
40
41         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7461
42           Always encode the path part of an URI as UTF-8
43
44         Test: http/tests/uri/utf8-path.html
45
46         * platform/KURL.cpp:
47         (encodeRelativeString): Always set pathEncoding to UTF-8.
48
49 2006-06-24  Graham Dennis  <Graham.Dennis@gmail.com>
50
51         Reviewed by Darin, landed by ap.
52         
53         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9467
54           TreeWalker/NodeIterator do not restrict the traversal
55         
56         Test: traversal/stay-within-root.html
57
58         * dom/Node.cpp:
59         (WebCore::Node::traversePreviousNode):
60         * dom/Node.h:
61         Add a stayWithin argument to traversePreviousNode just like the other
62         traversal functions
63         * dom/NodeIterator.cpp:
64         (WebCore::NodeIterator::findNextNode):
65         (WebCore::NodeIterator::findPreviousNode):
66         Ensure that when moving forward or backward that the root node is not
67         exited
68         * dom/TreeWalker.cpp:
69         (WebCore::TreeWalker::previousNode):
70         (WebCore::TreeWalker::nextNode):
71         Ditto
72         (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
73
74 2006-06-24  Jonas Witt <jonas.witt@gmail.com>
75
76         Reviewed by ggaren, landed by ap.
77
78         - http://bugzilla.opendarwin.org/show_bug.cgi?id=9181
79           Complete DOMUIEvent Obj-C API to reflect UIEvent
80
81         * WebCore.exp: add new classes DOMKeyboardEvent and DOMWheelEvent to the exported 
82           symbols list of WebCore.framework
83
84         Updated DOMUIEvent to include all DOM Level 2 properties
85         Added DOMKeyboardEvent (DOM Level 3)
86         Added two non-W3C accessors (keyCode, charCode) of DOMKeyboardEvent to a separate file (DOMEventsNonstandard)
87         Added DOMWheelEvent (non-W3C) in separate file (DOMEventsNonstandard)
88         Added this file (DOMEventsNonstandard) to the build process
89
90         * WebCore.xcodeproj/project.pbxproj:
91         * bindings/objc/DOM.h:
92         * bindings/objc/DOMEvents.h:
93         * bindings/objc/DOMEvents.mm:
94         (+[DOMEvent _eventWith:]):
95         (-[DOMUIEvent _UIEvent]):
96         (-[DOMUIEvent view]):
97         (-[DOMUIEvent detail]):
98         (-[DOMUIEvent initUIEvent:::::]):
99         (-[DOMKeyboardEvent _keyboardEvent]):
100         (-[DOMKeyboardEvent keyIdentifier]):
101         (-[DOMKeyboardEvent keyLocation]):
102         (-[DOMKeyboardEvent ctrlKey]):
103         (-[DOMKeyboardEvent shiftKey]):
104         (-[DOMKeyboardEvent altKey]):
105         (-[DOMKeyboardEvent metaKey]):
106         (-[DOMKeyboardEvent getModifierState:]):
107         (-[DOMMouseEvent button]):
108         * bindings/objc/DOMEventsNonstandard.mm: Added.
109         (-[DOMWheelEvent _wheelEvent]):
110         (-[DOMWheelEvent screenX]):
111         (-[DOMWheelEvent screenY]):
112         (-[DOMWheelEvent clientX]):
113         (-[DOMWheelEvent clientY]):
114         (-[DOMWheelEvent ctrlKey]):
115         (-[DOMWheelEvent shiftKey]):
116         (-[DOMWheelEvent altKey]):
117         (-[DOMWheelEvent metaKey]):
118         (-[DOMWheelEvent isHorizontal]):
119         (-[DOMWheelEvent wheelDelta]):
120         (-[DOMKeyboardEvent _keyboardEvent]):
121         (-[DOMKeyboardEvent keyCode]):
122         (-[DOMKeyboardEvent charCode]):
123         * bindings/objc/DOMPrivate.h:
124
125 2006-06-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
126
127         Reviewed and landed by ap.
128
129         - http://bugzilla.opendarwin.org/show_bug.cgi?id=9563
130           Remove unused layoutSuppressed field and inLayout() method
131
132         No test added because there is no change in functionality.
133
134         * page/FrameView.cpp:
135         (WebCore::FrameViewPrivate::reset):
136         (WebCore::FrameView::layout):
137         * page/FrameView.h:
138         * rendering/RenderView.cpp:
139         (WebCore::RenderView::layout):
140
141 2006-06-24  Alexey Proskuryakov  <ap@nypop.com>
142
143         Reviewed by Darin.
144
145         - http://bugzilla.opendarwin.org/show_bug.cgi?id=8177
146         Javascript search incredibly slow
147
148         No change in functionality, thus no test.
149
150         Use info sharing for named collections, too. Moved shared HTMLCollection infos from HTMLDocument 
151         to Document.  Renamed collection types to use the preferred WebKit style. Replaced direct
152         HTMLCollection creation with using accessors from Document in a few places.
153
154         * bindings/objc/DOMHTML.mm:
155         (-[DOMHTMLElement children]):
156         (-[DOMHTMLDocument images]):
157         (-[DOMHTMLDocument applets]):
158         (-[DOMHTMLDocument links]):
159         (-[DOMHTMLDocument forms]):
160         (-[DOMHTMLDocument anchors]):
161         (-[DOMHTMLMapElement areas]):
162         (-[DOMHTMLTableSectionElement rows]):
163         (-[DOMHTMLTableElement rows]):
164         (-[DOMHTMLTableElement tBodies]):
165         (-[DOMHTMLTableRowElement cells]):
166         * dom/Document.cpp:
167         (WebCore::Document::images):
168         (WebCore::Document::applets):
169         (WebCore::Document::embeds):
170         (WebCore::Document::objects):
171         (WebCore::Document::scripts):
172         (WebCore::Document::links):
173         (WebCore::Document::forms):
174         (WebCore::Document::anchors):
175         (WebCore::Document::all):
176         (WebCore::Document::windowNamedItems):
177         (WebCore::Document::documentNamedItems):
178         (WebCore::Document::nameCollectionInfo):
179         * dom/Document.h:
180         (WebCore::Document::collectionInfo):
181         * html/HTMLCollection.cpp:
182         (WebCore::HTMLCollection::HTMLCollection):
183         (WebCore::HTMLCollection::traverseNextItem):
184         (WebCore::HTMLCollection::checkForNameMatch):
185         (WebCore::HTMLCollection::updateNameCache):
186         * html/HTMLCollection.h:
187         (WebCore::HTMLCollection::):
188         * html/HTMLDocument.h:
189         * html/HTMLElement.cpp:
190         (WebCore::HTMLElement::children):
191         * html/HTMLMapElement.cpp:
192         (WebCore::HTMLMapElement::areas):
193         * html/HTMLNameCollection.h:
194         * html/HTMLNameCollection.cpp:
195         (WebCore::HTMLNameCollection::HTMLNameCollection):
196         (WebCore::HTMLNameCollection::traverseNextItem):
197         * html/HTMLFormCollection.cpp:
198         * html/HTMLOptionsCollection.cpp:
199         (WebCore::HTMLOptionsCollection::HTMLOptionsCollection):
200         * html/HTMLSelectElement.h:
201         (WebCore::HTMLSelectElement::collectionInfo):
202         * html/HTMLTableElement.cpp:
203         (WebCore::HTMLTableElement::rows):
204         (WebCore::HTMLTableElement::tBodies):
205         * html/HTMLTableRowElement.cpp:
206         (WebCore::HTMLTableRowElement::cells):
207         * html/HTMLTableSectionElement.cpp:
208         (WebCore::HTMLTableSectionElement::rows):
209         * kwq/WebCoreAXObject.mm:
210         (-[WebCoreAXObject accessibilityAttributeValue:]):
211         * page/Frame.cpp:
212         (WebCore::Frame::gotoAnchor):
213
214 2006-06-24  Alexey Proskuryakov  <ap@nypop.com>
215
216         Reviewed by Darin.
217
218         - http://bugzilla.opendarwin.org/show_bug.cgi?id=9418
219         WebKit will not build when Space exists in path
220
221         * WebCore.xcodeproj/project.pbxproj: Enclose search paths in quotes; create symlinks to 
222         avoid passing paths with spaces to make.
223
224 2006-06-23  Tim Omernick  <timo@apple.com>
225
226         Reviewed by Tim Hatcher.
227
228         <rdar://problem/4560947> Leopard REGRESSION: Dragging to TileGame Widget is broken
229
230         * page/FrameView.cpp:
231         (WebCore::FrameView::updateDragAndDrop):
232         Use the passed mouse event, instead of the "current" event.  There is no such thing as
233         a "drag event".  Asking for the current event during a drag returns a weird system-
234         internal event with an invalid mouse location.
235
236 2006-06-23  Timothy Hatcher  <timothy@apple.com>
237
238         Reviewed by Eric.
239
240         Manual test added: cursor.html
241
242         Bug 9560: should support new CSS3 cursor types to get more resizing directions
243         http://bugzilla.opendarwin.org/show_bug.cgi?id=9560
244
245         Adds support for ew-resize, ns-resize, nesw-resize, nwse-resize,
246         col-resize and row-resize CSS3 cursor values.
247
248         Also converted some of the cursor images to grayscale tiffs,
249         some were RGB but had no color data.
250
251         * Resources/eastResizeCursor.tiff:
252         * Resources/eastWestResizeCursor.tiff: Added.
253         * Resources/helpCursor.tiff:
254         * Resources/moveCursor.tiff:
255         * Resources/northEastResizeCursor.tiff:
256         * Resources/northEastSouthWestResizeCursor.tiff: Added.
257         * Resources/northResizeCursor.tiff:
258         * Resources/northSouthResizeCursor.tiff: Added.
259         * Resources/northWestResizeCursor.tiff:
260         * Resources/northWestSouthEastResizeCursor.tiff: Added.
261         * Resources/southEastResizeCursor.tiff:
262         * Resources/southResizeCursor.tiff:
263         * Resources/southWestResizeCursor.tiff:
264         * Resources/textAreaResizeCorner.tiff:
265         * Resources/waitCursor.tiff:
266         * Resources/westResizeCursor.tiff:
267         * WebCore.xcodeproj/project.pbxproj:
268         * css/CSSComputedStyleDeclaration.cpp:
269         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
270         * css/CSSValueKeywords.in:
271         * css/cssparser.cpp:
272         (WebCore::CSSParser::parseValue):
273         * manual-tests/cursor.html: Added.
274         * page/FrameView.cpp:
275         (WebCore::selectCursor):
276         * platform/Cursor.h:
277         * platform/mac/CursorMac.mm:
278         (WebCore::northSouthResizeCursor):
279         (WebCore::eastWestResizeCursor):
280         (WebCore::northEastSouthWestResizeCursor):
281         (WebCore::northWestSouthEastResizeCursor):
282         (WebCore::columnResizeCursor):
283         (WebCore::rowResizeCursor):
284         * platform/win/CursorWin.cpp:
285         (WebCore::northSouthResizeCursor):
286         (WebCore::eastWestResizeCursor):
287         (WebCore::northEastSouthWestResizeCursor):
288         (WebCore::northWestSouthEastResizeCursor):
289         (WebCore::columnResizeCursor):
290         (WebCore::rowResizeCursor):
291         * rendering/render_style.h: cursor needs 5 bits now
292
293 2006-06-23  John Sullivan  <sullivan@apple.com>
294
295         Reviewed by Tim Omernick
296         
297         - fixed <rdar://problem/4597685> stale rects for document markers can be left behind in certain cases
298
299         * dom/Document.h:
300         * dom/Document.cpp:
301         (WebCore::Document::setRenderedRectForMarker):
302         changed parameter from IntRect to const IntRect& at Darin's request
303         (WebCore::Document::invalidateRenderedRectsForMarkersInRect):
304         new method, tests whether the rendered rect for each marker intersects the
305         passed rect. If so, sets the rendered rect back to the placeholder rect that
306         means that the rect for this marker isn't known.
307         
308         * page/Frame.cpp:
309         (WebCore::Frame::paint):
310         call invalidateRenderedRectsForMarkersInRect on the rect we're about to paint.
311         This ensures that old stale rects won't be preserved if the associated marker
312         has moved such that it is out of the painted area.
313
314 2006-06-23  Justin Garcia  <justin.garcia@apple.com>
315
316         Reviewed by levi
317
318         <rdar://problem/4527702>
319         REGRESSION: Quote bars go away on first paragraph when I delete reply text
320
321         * editing/DeleteSelectionCommand.cpp:
322         (WebCore::DeleteSelectionCommand::mergeParagraphs):
323         Add a rule for when to merge into empty blocks.
324
325 === WebCore-521.13 ===
326
327 2006-06-23  Patrick Beard  <beard@apple.com>
328
329         Reviewed by Tim Hatcher.
330
331         <rdar://problem/4223619> Safari crashed in -[NSFont __isSystemFont]
332         CFRetain and CFRelease NSFont's when FontPlatformData has a reference.
333         We only do this when GC is enabled for performance reasons.
334         No tests possible.
335
336         * platform/mac/FontPlatformData.h:
337         (WebCore::FontPlatformData::FontPlatformData):
338         (WebCore::FontPlatformData::~FontPlatformData):
339
340 2006-06-23  Justin Garcia  <justin.garcia@apple.com>
341
342         Reviewed by levi
343         
344         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8074>
345         Caret before/after block tables is too small
346         <rdar://problem/4598331>
347         right arrow out of a table shows cursor in a weird place
348
349         * rendering/RenderBox.cpp:
350         (WebCore::RenderBox::caretRect): Don't propagate to children, 
351         VisiblePositions inside containers don't refer to children.
352         Don't use the font height for tables.
353
354 2006-06-23  Brady Eidson  <beidson@apple.com>
355
356         Reviewed by Kevin.
357
358         Added 64-bit String::number() functions
359
360         * platform/PlatformString.h:
361         * platform/String.cpp:
362         (WebCore::String::number):
363
364 2006-06-22  Mitz Pettel  <opendarwin.org@mitzpettel.com>
365
366         Reviewed by Hyatt.
367
368         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9497
369           REGRESSION: Incomplete repainting when scrolling thumbnails on Flickr
370
371         Test: fast/repaint/clipped-relative.html
372
373         * page/FrameView.cpp:
374         (WebCore::FrameView::layout):
375         * rendering/RenderBlock.cpp:
376         (WebCore::RenderBlock::removePositionedObjects): Removed call to computeRepaintRects().
377         Previously, it was needed to update the cached rects before RenderBox::setStyle()
378         called updateLayerPositions().
379         * rendering/RenderBox.cpp:
380         (WebCore::RenderBox::setStyle): Changed to call updateLayerPositions() for a newly-
381         created layer only if it does not need layout. Otherwise,  updateLayerPositions() will
382         be called after layout. This saves a repaint in some cases.
383         * rendering/RenderLayer.cpp:
384         (WebCore::RenderLayer::checkForRepaintOnResize): Renamed computeRepaintRects() to
385         this and deleted the code that cached the absolute position and repaint rects.
386         (WebCore::RenderLayer::updateLayerPositions): Added code to cache the absolute
387         position and repaint rects right after updating the layer's position.
388         * rendering/RenderLayer.h:
389
390 2006-06-22  Beth Dakin  <bdakin@apple.com>
391
392         Reviewed by Maciej.
393
394         Fix for <rdar://problem/4599015> REGRESSION: Hand on clock widget 
395         don't appear at all
396
397         This regression was caused by <rdar://problem/4567520> HIDPI: pixel 
398         cracks in weather widget at 1.83 scaling
399
400         * html/CanvasRenderingContext2D.cpp:
401         (WebCore::CanvasRenderingContext2D::drawImage): Do the contains 
402         check before rounding to integral device pixels.
403
404 2006-06-22  Anders Carlsson  <acarlsson@apple.com>
405
406         Reviewed by John.
407
408         <rdar://problem/4529334> REGRESSION: Can't configure RadarInMotion widget for U.S. locations on Leopard (Javascript errors)
409         
410         * dom/Document.cpp:
411         (WebCore::Document::completeURL):
412         Check if both the URL and base URL are empty instead of using URL() which returns "about:blank" if the URL is empty.
413         
414 2006-06-22  Anders Carlsson  <acarlsson@apple.com>
415
416         Reviewed by Maciej.
417
418         <rdar://problem/4499675> Package Tracker widget always crashes in WebCore::Frame::jScriptEnabled() const + 0
419
420         * html/HTMLParser.cpp:
421         (WebCore::HTMLParser::noscriptCreateErrorCheck):
422         (WebCore::HTMLParser::canvasCreateErrorCheck):
423         (WebCore::HTMLParser::isInline):
424         Add null-checks for document->frame() since it can be 0 for documents created using createHTMLDocument.
425
426 2006-06-22  Anders Carlsson  <acarlsson@apple.com>
427
428         Reviewed by Maciej.
429
430         <rdar://problem/4524840> Entities contained in DOCTYPE referenced DTD in XSLT source document are unknown
431         
432         * dom/xml_tokenizer.cpp:
433         (WebCore::shouldAllowExternalLoad):
434         Use correct path for the catalog.
435         
436         (WebCore::errorFunc):
437         Add error function to keep parser errors from going to the console.
438         
439         (WebCore::XMLTokenizer::write):
440         Remove if (0 &&)
441         
442         (WebCore::XMLTokenizer::end):
443         Pass DocLoader to xmlDocPtrForString.
444         
445         (WebCore::xmlDocPtrForString):        
446         * dom/xml_tokenizer.h:
447         Add DocLoader argument to xmlDocPtrForString so external DTDs and entities can be loaded.
448         
449         * xml/XSLTProcessor.cpp:
450         (WebCore::xmlDocPtrFromNode):
451         Pass DocLoader to xmlDocPtrForString
452         
453 2006-06-21  David Hyatt  <hyatt@apple.com>
454
455         Back out -webkit-overlay and just rename it back to overlay.
456
457         Reviewed by darin
458
459         * css/CSSComputedStyleDeclaration.cpp:
460         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
461         * css/CSSValueKeywords.in:
462         * css/cssparser.cpp:
463         (WebCore::CSSParser::parseValue):
464         * css/cssstyleselector.cpp:
465         (WebCore::CSSStyleSelector::applyProperty):
466
467 2006-06-21  Justin Garcia  <justin.garcia@apple.com>
468
469         Reviewed by levi
470
471         * editing/DeleteSelectionCommand.cpp:
472         (WebCore::DeleteSelectionCommand::initializePositionData): Fix a bug in the code
473         to stop merges across table cells.
474         (WebCore::DeleteSelectionCommand::mergeParagraphs): Move the code to stop merges
475         across table cells to initializePositionData so that its changes to 
476         m_mergeBlocksAfterDelete can take effect on the endingPosition.
477         * editing/InsertParagraphSeparatorCommand.cpp:
478         (WebCore::InsertParagraphSeparatorCommand::doApply): Turn into an InsertLineBreak
479         instead of splitting/cloning a table cell.
480
481 2006-06-21  Beth Dakin  <bdakin@apple.com>
482
483         Reviewed by John.
484
485         Fix for <rdar://problem/3914965> Misspelled text underline doesn't 
486         look right at non-standard scale factors
487
488         * platform/mac/GraphicsContextMac.mm:
489         (WebCore::GraphicsContext::drawLineForMisspelling): We need to call  
490         into our previously-created SPI for pattern-drawing so that the 
491         phase is right at all scale factors.
492
493 2006-06-21  David Hyatt  <hyatt@apple.com>
494
495         Fix for 7362, implement the CSS3 overflow-x and overflow-y properties.
496
497         Reviewed by adele
498
499         * WebCore.xcodeproj/project.pbxproj:
500         * css/CSSComputedStyleDeclaration.cpp:
501         (WebCore::):
502         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
503         * css/CSSPropertyNames.in:
504         * css/cssparser.cpp:
505         (WebCore::CSSParser::parseValue):
506         * css/cssstyleselector.cpp:
507         (WebCore::CSSStyleSelector::adjustRenderStyle):
508         (WebCore::CSSStyleSelector::applyProperty):
509         * page/FrameView.cpp:
510         (WebCore::FrameView::applyOverflowToViewport):
511         (WebCore::FrameView::layout):
512         * rendering/RenderBlock.cpp:
513         (WebCore::RenderBlock::layoutBlock):
514         (WebCore::RenderBlock::determineHorizontalPosition):
515         (WebCore::RenderBlock::layoutBlockChildren):
516         (WebCore::RenderBlock::rightOffset):
517         (WebCore::RenderBlock::rightmostPosition):
518         (WebCore::RenderBlock::calcMinMaxWidth):
519         * rendering/RenderBox.cpp:
520         (WebCore::RenderBox::setStyle):
521         (WebCore::RenderBox::contentWidth):
522         (WebCore::RenderBox::contentHeight):
523         (WebCore::RenderBox::sizesToIntrinsicWidth):
524         (WebCore::RenderBox::calcHeight):
525         (WebCore::RenderBox::calcPercentageHeight):
526         * rendering/RenderFlexibleBox.cpp:
527         (WebCore::RenderFlexibleBox::layoutBlock):
528         * rendering/RenderLayer.cpp:
529         (WebCore::RenderLayer::scrollToOffset):
530         (WebCore::RenderLayer::shouldAutoscroll):
531         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
532         (WebCore::RenderLayer::styleChanged):
533         * rendering/RenderLayer.h:
534         * rendering/RenderObject.cpp:
535         (WebCore::RenderObject::clientWidth):
536         (WebCore::RenderObject::clientHeight):
537         * rendering/RenderObject.h:
538         (WebCore::RenderObject::hasAutoVerticalScrollbar):
539         (WebCore::RenderObject::hasAutoHorizontalScrollbar):
540         (WebCore::RenderObject::scrollsOverflow):
541         (WebCore::RenderObject::scrollsOverflowX):
542         (WebCore::RenderObject::scrollsOverflowY):
543         (WebCore::RenderObject::includeVerticalScrollbarSize):
544         (WebCore::RenderObject::includeHorizontalScrollbarSize):
545         * rendering/RenderTextArea.cpp:
546         (WebCore::RenderTextArea::setStyle):
547         * rendering/RenderTextField.cpp:
548         (WebCore::RenderTextField::createDivStyle):
549         (WebCore::RenderTextField::calcHeight):
550         (WebCore::RenderTextField::calcMinMaxWidth):
551         * rendering/bidi.cpp:
552         (WebCore::RenderBlock::layoutInlineChildren):
553         * rendering/render_style.cpp:
554         (WebCore::RenderStyle::diff):
555         * rendering/render_style.h:
556         (WebCore::):
557         (WebCore::RenderStyle::NonInheritedFlags::operator==):
558         (WebCore::RenderStyle::setBitDefaults):
559         (WebCore::RenderStyle::overflowX):
560         (WebCore::RenderStyle::overflowY):
561         (WebCore::RenderStyle::setOverflowX):
562         (WebCore::RenderStyle::setOverflowY):
563         (WebCore::RenderStyle::initialOverflowX):
564         (WebCore::RenderStyle::initialOverflowY):
565
566 2006-06-21  Justin Garcia  <justin.garcia@apple.com>
567
568         Reviewed by levi
569         
570         <rdar://problem/4590366>
571         REGRESSION: Selection incorrectly paints gaps on TOT
572
573         * dom/Document.cpp:
574         (WebCore::Document::updateSelection): Use the leftmost candidate for the end of the
575         selection and the rightmost candidate for the start of the selection.
576         * dom/Position.cpp:
577         (WebCore::Position::upstream): Cross line wraps so that we can use upstream/downstream
578         to get to candidates before/after linewraps.
579         (WebCore::Position::downstream):
580         (WebCore::Position::inRenderedContent):
581         * editing/DeleteSelectionCommand.cpp:
582         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
583         (WebCore::DeleteSelectionCommand::mergeParagraphs):
584         * editing/InsertParagraphSeparatorCommand.cpp:
585         (WebCore::InsertParagraphSeparatorCommand::doApply): 
586         Ensure that the leftmost candidate is used.  We should sample the style from that one.
587         When the block to insert is after a br, a br should be inserted even in strict mode.
588         * editing/InsertTextCommand.cpp:
589         (WebCore::InsertTextCommand::input): 
590         Insert at the leftmost candidate, get rid of a use of trailingWhitespacePosition.
591         Don't apply a style if its unnecessary.
592         * editing/ReplaceSelectionCommand.cpp:
593         (WebCore::ReplaceSelectionCommand::doApply): "pos" can be invalidated, don't use it.
594         * editing/VisiblePosition.cpp:
595         Renamed initDeepPosition and made it return the canonical position.
596         (WebCore::VisiblePosition::init):
597         (WebCore::VisiblePosition::canonicalPosition):
598         * editing/VisiblePosition.h: 
599         (WebCore::VisiblePosition::characterBefore): Added.
600         * editing/visible_units.cpp:
601         (WebCore::startOfParagraph):
602         * rendering/InlineTextBox.cpp:
603         (WebCore::InlineTextBox::selectionState): When a selection ends at a line wrap, it shouldn't extend
604         onto the next line.
605
606 2006-06-21  David Hyatt  <hyatt@apple.com>
607
608         Reviewed and committed by Beth.
609
610         Fix for <rdar://problem/4595337> Resizing a containing block 
611         strictly vertically does not cause contained height:100% element to 
612         also be resized.
613
614         * rendering/RenderBlock.cpp:
615         (WebCore::RenderBlock::layoutBlockChildren): Also layout if the 
616         child's min or max height is a percent.
617
618 2006-06-21  Anders Carlsson  <acarlsson@apple.com>
619
620         Reviewed by Geoff.
621
622         http://bugzilla.opendarwin.org/show_bug.cgi?id=6058
623         XMLTokenizer runs all <script> tags at once instead of as they're encountered
624         
625         * dom/xml_tokenizer.cpp:
626         (WebCore::XMLTokenizer::XMLTokenizer):
627         Initialize new members.
628         
629         (WebCore::XMLTokenizer::endElementNs):
630         If we've encountered a script tag, execute the script here. If the script
631         tag refers to an external resource, pause the parser while loading it.
632         
633         (WebCore::XMLTokenizer::end):
634         Move code from finish() to here
635         
636         (WebCore::XMLTokenizer::finish):
637         Only call end() if the parser isn't paused.
638         
639         (WebCore::XMLTokenizer::notifyFinished):
640         Evaluate the script here and resume the parser.
641         
642         (WebCore::XMLTokenizer::resumeParsing):
643         If finish() was called, call end() after writing all data.
644
645 2006-06-21  Steve Falkenburg  <sfalken@apple.com>
646
647         Fix build break
648
649         * platform/win/TemporaryLinkStubs.cpp:
650         (FrameWin::shouldInterruptJavaScript):
651
652 2006-06-21  Anders Carlsson  <acarlsson@apple.com>
653
654         Move FrameWin::shouldInterruptJavaScript to TemporaryLinkStubs.cpp
655         
656         * bridge/win/FrameWin.cpp:
657         * platform/win/TemporaryLinkStubs.cpp:
658         (FrameWin::shouldInterruptJavaScript):
659
660 2006-06-21  Ben Goodger <bengoodger@gmail.com>
661
662         Reviewed by Maciej. 
663
664         Fix for: http://bugzilla.opendarwin.org/show_bug.cgi?id=9523
665         More Win32 build bustage.
666  
667         * WebCore.vcproj/WebCore/WebCore.vcproj:
668         * bridge/win/FrameWin.cpp:
669         (WebCore::FrameWin::shouldInterruptJavaScript):
670         * bridge/win/FrameWin.h:
671
672 2006-06-20  Adele Peterson  <adele@apple.com>
673
674         Reviewed by Anders.
675
676         Fix for: http://bugzilla.opendarwin.org/show_bug.cgi?id=8948
677         Switch to use new text field implementation for <textarea>
678
679         * css/html4.css:
680         * html/HTMLTextAreaElement.cpp:
681         (WebCore::HTMLTextAreaElement::selectionStart):
682         (WebCore::HTMLTextAreaElement::selectionEnd):
683         (WebCore::HTMLTextAreaElement::setSelectionStart):
684         (WebCore::HTMLTextAreaElement::setSelectionEnd):
685         (WebCore::HTMLTextAreaElement::select):
686         (WebCore::HTMLTextAreaElement::setSelectionRange):
687         (WebCore::HTMLTextAreaElement::createRenderer):
688         (WebCore::HTMLTextAreaElement::appendFormData):
689         (WebCore::HTMLTextAreaElement::isKeyboardFocusable):
690         (WebCore::HTMLTextAreaElement::isMouseFocusable):
691         (WebCore::HTMLTextAreaElement::focus):
692         (WebCore::HTMLTextAreaElement::defaultEventHandler):
693         (WebCore::HTMLTextAreaElement::updateValue):
694         (WebCore::HTMLTextAreaElement::setValue):
695
696 2006-06-20  Brady Eidson  <beidson@apple.com>
697
698         Reviewed by Maciej
699
700         Fixed capitalization mistake that I made, someone else fixed, then I accidentally made it go back to the old way
701
702         * icon/SQLStatement.cpp:
703
704 2006-06-20  Brady Eidson  <beidson@apple.com>
705
706         Reviewed by Maciej.
707
708         More changes/additions setting the stage for the major IconDatabase hookup.
709
710         * WebCore.xcodeproj/project.pbxproj:  Added SQLTransaction.cpp
711
712         * bridge/mac/WebCoreIconDatabaseBridge.h: Added call-throughs and translations to pass WebKit DB to WebCore DB
713         * bridge/mac/WebCoreIconDatabaseBridge.mm:
714         (+[WebCoreIconDatabaseBridge sharedBridgeInstance]):
715         (-[WebCoreIconDatabaseBridge setPrivateBrowsingEnabled:]):
716         (-[WebCoreIconDatabaseBridge iconForURL:withSize:]):
717         (-[WebCoreIconDatabaseBridge iconURLForURL:]):
718         (-[WebCoreIconDatabaseBridge defaultIconWithSize:]):
719         (-[WebCoreIconDatabaseBridge retainIconForURL:]):
720         (-[WebCoreIconDatabaseBridge releaseIconForURL:]):
721         (-[WebCoreIconDatabaseBridge _setIconData:forIconURL:]):
722         (-[WebCoreIconDatabaseBridge _setHaveNoIconForIconURL:]):
723         (-[WebCoreIconDatabaseBridge _setIconURL:forURL:]):
724         (-[WebCoreIconDatabaseBridge _hasIconForIconURL:]):
725
726         * bridge/mac/WebCorePageBridge.mm: Added WebCore's IconDatabase logging channel to the user-prefs check
727         (initializeLoggingChannelsIfNecessary):
728
729         * icon/IconDatabase.cpp:  Added stubs and basic SQL usage to create the sqlite DB and respond to WebKit calls
730         (WebCore::IconDatabase::IconDatabase):
731         (WebCore::IconDatabase::open):
732         (WebCore::IconDatabase::close):
733         (WebCore::IconDatabase::isValidDatabase):
734         (WebCore::IconDatabase::recreateDatabase):
735         (WebCore::IconDatabase::setPrivateBrowsingEnabled):
736         (WebCore::IconDatabase::iconForURL):
737         (WebCore::IconDatabase::iconURLForURL):
738         (WebCore::IconDatabase::defaultIcon):
739         (WebCore::IconDatabase::retainIconForURL):
740         (WebCore::IconDatabase::releaseIconForURL):
741         (WebCore::IconDatabase::setIconForIconURL):
742         (WebCore::IconDatabase::setHaveNoIconForIconURL):
743         (WebCore::IconDatabase::setIconURLForPageURL):
744         (WebCore::IconDatabase::hasIconForIconURL):
745
746         * icon/IconDatabase.h:  WebIcon will be an internal class used in IconDatabase but is not complete yet
747         (WebCore::WebIcon::getExpiration):
748         (WebCore::WebIcon::getTouch):
749
750         * icon/SQLDatabase.cpp:  Added more SQLite convenience methods
751         (SQLDatabase::setFullsync):
752         (SQLDatabase::setBusyTimeout):
753         (SQLDatabase::setBusyHandler):
754         * icon/SQLDatabase.h:
755         * icon/SQLStatement.cpp:
756         (WebCore::SQLStatement::returnsAtLeastOneResult):
757
758         * icon/SQLTransaction.cpp: Added basic commit/rollback support with this simple class
759         (SQLTransaction::SQLTransaction):
760         (SQLTransaction::~SQLTransaction):
761         (SQLTransaction::begin):
762         (SQLTransaction::commit):
763         (SQLTransaction::rollback):
764
765 2006-06-20  Adele Peterson  <adele@apple.com>
766
767         Reviewed by Maciej.
768
769         Fixes for:
770         http://bugzilla.opendarwin.org/show_bug.cgi?id=8724
771         REGRESSION: onSelect handler doesn't work for text fields
772
773         http://bugzilla.opendarwin.org/show_bug.cgi?id=7676
774         REGRESSION: Selection methods on new text fields don't work if text field is hidden
775
776         http://bugzilla.opendarwin.org/show_bug.cgi?id=8867
777         REGRESSION: selectionStart/End return 0 for input element once it no longer has focus
778
779         Implemented onSelect for new text fields and textareas.  Also fixed selection restore
780         behavior to better match other browsers and Safari 2.0 behavior.
781
782         Tests:
783         * fast/forms/input-selection-restore.html
784         * fast/forms/input-selection-hidden.html
785         * fast/forms/onselect-textarea.html
786         * fast/forms/onselect-textfield.html
787
788         * html/HTMLInputElement.h: (WebCore::HTMLInputElement::cacheSelection): Added.
789         * html/HTMLInputElement.cpp:
790         (WebCore::HTMLInputElement::init): Initializes cached selection.
791         (WebCore::HTMLInputElement::selectionStart): If this element doesn't have focus, return the cached selection value.
792         (WebCore::HTMLInputElement::selectionEnd): ditto.
793         (WebCore::HTMLInputElement::setValue): Restore a caret at the starting point of the old selection.  Matches Safari 2.0 behavior.
794
795         * html/HTMLTextAreaElement.h: (WebCore::HTMLTextAreaElement::cacheSelection): Added.
796         * html/HTMLTextAreaElement.cpp:
797         (WebCore::HTMLTextAreaElement::HTMLTextAreaElement): Initializes cached selection.
798         (WebCore::HTMLTextAreaElement::selectionStart): If this element doesn't have focus, return the cached selection value.
799         (WebCore::HTMLTextAreaElement::selectionEnd): ditto.
800         (WebCore::HTMLTextAreaElement::focus): If this is the first focus, set a caret at the end of the text.  Otherwise,
801         restore the cached selection.  This matches other browsers' behavior.
802         (WebCore::HTMLTextAreaElement::setValue): Restore a caret at the starting point of the old selection.  Matches Safari 2.0 behavior.
803
804         * page/Frame.h: Added notifyRendererOfSelectionChange method. 
805         * page/Frame.cpp:
806         (WebCore::Frame::notifyRendererOfSelectionChange): Added.  Calls selectionChanged for text fields and textareas.  Forwards a userTriggered
807         argument so selectionChanged knows whether or not to fire onSelect.
808         (WebCore::Frame::setSelection): Calls notifyRendererOfSelectionChange(false).  This gets called for all selection changes, so the renderer
809         can always update its cached selection values.
810         (WebCore::Frame::handleMouseReleaseEvent): Calls notifyRendererOfSelectionChange(true) so onSelect will get fired when the user is done
811         making a selection with the mouse.
812         * bridge/mac/WebCoreFrameBridge.mm:
813         (-[WebCoreFrameBridge alterCurrentSelection:direction:granularity:]): Calls notifyRendererOfSelectionChange(true) so onSelect gets
814         fired when the user makes a selection with the keyboard.
815         (-[WebCoreFrameBridge alterCurrentSelection:verticalDistance:]): ditto.
816
817         * rendering/RenderTextField.h: Add userTriggered parameter to selectionChanged.
818         * rendering/RenderTextField.cpp:
819         (WebCore::RenderTextField::setSelectionRange): For visibility:hidden, cache the selection and 
820         return early since we won't be able to actually set the selection.
821         (WebCore::RenderTextField::selectionChanged): Caches the selection.  
822         If the selection is a range, and its triggered by user action, then fire the onSelect event.
823
824 2006-06-21  Anders Carlsson  <acarlsson@apple.com>
825
826         * bridge/win/FrameWin.cpp:
827         (WebCore::shouldInterruptJavaScript):
828         * bridge/win/FrameWin.h:
829         Try fixing the Windows build.
830
831 2006-06-20  Adele Peterson  <adele@apple.com>
832
833         RS by Tim Hatcher.
834
835         Renamed RenderSelect to DeprecatedRenderSelect to prepare for new popup menu and list menu implementations.
836        
837         * WebCore.xcodeproj/project.pbxproj:
838         * html/HTMLOptionElement.h:
839         * html/HTMLSelectElement.cpp:
840         (WebCore::HTMLSelectElement::recalcStyle):
841         (WebCore::HTMLSelectElement::createRenderer):
842         (WebCore::HTMLSelectElement::setRecalcListItems):
843         (WebCore::HTMLSelectElement::reset):
844         (WebCore::HTMLSelectElement::notifyOptionSelected):
845         * html/HTMLSelectElement.h:
846         * rendering/DeprecatedRenderSelect.cpp: Added.
847         (WebCore::DeprecatedRenderSelect::DeprecatedRenderSelect):
848         (WebCore::DeprecatedRenderSelect::setWidgetWritingDirection):
849         (WebCore::DeprecatedRenderSelect::setStyle):
850         (WebCore::DeprecatedRenderSelect::updateFromElement):
851         (WebCore::DeprecatedRenderSelect::baselinePosition):
852         (WebCore::DeprecatedRenderSelect::calcMinMaxWidth):
853         (WebCore::DeprecatedRenderSelect::layout):
854         (WebCore::DeprecatedRenderSelect::valueChanged):
855         (WebCore::DeprecatedRenderSelect::selectionChanged):
856         (WebCore::DeprecatedRenderSelect::setOptionsChanged):
857         (WebCore::DeprecatedRenderSelect::createListBox):
858         (WebCore::DeprecatedRenderSelect::updateSelection):
859         * rendering/DeprecatedRenderSelect.h: Added.
860         (WebCore::DeprecatedRenderSelect::renderName):
861         * rendering/RenderSelect.cpp: Removed.
862         * rendering/RenderSelect.h: Removed.
863
864 2006-06-20  Anders Carlsson  <acarlsson@apple.com>
865
866         Reviewed by Geoff.
867
868         http://bugzilla.opendarwin.org/show_bug.cgi?id=9509
869         Would like a way to pause/resume XML parsing
870
871         * dom/xml_tokenizer.cpp:
872         (WebCore::PendingCallbacks::PendingCallbacks):
873         (WebCore::PendingCallbacks::appendStartElementNSCallback):
874         (WebCore::PendingCallbacks::appendEndElementNSCallback):
875         (WebCore::PendingCallbacks::appendCharactersCallback):
876         (WebCore::PendingCallbacks::appendProcessingInstructionCallback):
877         (WebCore::PendingCallbacks::appendCDATABlockCallback):
878         (WebCore::PendingCallbacks::appendCommentCallback):
879         (WebCore::PendingCallbacks::appendInternalSubsetCallback):
880         (WebCore::PendingCallbacks::appendErrorCallback):
881         (WebCore::PendingCallbacks::callAndRemoveFirstCallback):
882         (WebCore::PendingCallbacks::isEmpty):
883         (WebCore::PendingCallbacks::PendingCallback::~PendingCallback):
884         (WebCore::PendingCallbacks::PendingStartElementNSCallback::~PendingStartElementNSCallback):
885         (WebCore::PendingCallbacks::PendingStartElementNSCallback::call):
886         (WebCore::PendingCallbacks::PendingEndElementNSCallback::call):
887         (WebCore::PendingCallbacks::PendingCharactersCallback::~PendingCharactersCallback):
888         (WebCore::PendingCallbacks::PendingCharactersCallback::call):
889         (WebCore::PendingCallbacks::PendingProcessingInstructionCallback::~PendingProcessingInstructionCallback):
890         (WebCore::PendingCallbacks::PendingProcessingInstructionCallback::call):
891         (WebCore::PendingCallbacks::PendingCDATABlockCallback::~PendingCDATABlockCallback):
892         (WebCore::PendingCallbacks::PendingCDATABlockCallback::call):
893         (WebCore::PendingCallbacks::PendingCommentCallback::~PendingCommentCallback):
894         (WebCore::PendingCallbacks::PendingCommentCallback::call):
895         (WebCore::PendingCallbacks::PendingInternalSubsetCallback::~PendingInternalSubsetCallback):
896         (WebCore::PendingCallbacks::PendingInternalSubsetCallback::call):
897         (WebCore::PendingCallbacks::):
898         New classes which manage a list of pending SAX callbacks that have not yet
899         been sent to the tokenizer.
900         
901         (WebCore::XMLTokenizer::XMLTokenizer):
902         Initialize new member variables.
903         
904         (WebCore::XMLTokenizer::~XMLTokenizer):
905         Delete PendingCallbacks object.
906         
907         (WebCore::XMLTokenizer::write):
908         If the parser is paused, queue the data to be written.
909         
910         (WebCore::XMLTokenizer::startElementNs):
911         (WebCore::XMLTokenizer::endElementNs):
912         (WebCore::XMLTokenizer::characters):
913         (WebCore::XMLTokenizer::error):
914         (WebCore::XMLTokenizer::processingInstruction):
915         (WebCore::XMLTokenizer::cdataBlock):
916         (WebCore::XMLTokenizer::comment):
917         (WebCore::XMLTokenizer::internalSubset):
918         If the parser has been paused, queue the callbacks instead.
919
920         (WebCore::XMLTokenizer::handleError):
921         New function, called by both ::error and :PendingCallbacks::callAndRemoveFirstCallback
922         
923         (WebCore::XMLTokenizer::finish):
924         (WebCore::XMLTokenizer::pauseParsing):
925          Set m_parserPaused to true.
926         
927         (WebCore::XMLTokenizer::resumeParsing):
928         Call the pending callbacks and then parse the pending source.
929         
930 2006-06-20  David Hyatt  <hyatt@apple.com>
931
932         Don't send the custom highlighter callback when painting is disabled.
933
934         Reviewed by harrison
935
936         * WebCore.xcodeproj/project.pbxproj:
937         * rendering/InlineTextBox.cpp:
938         (WebCore::InlineTextBox::paint):
939
940 2006-06-20  Anders Carlsson  <acarlsson@apple.com>
941
942         Reviewed by John
943
944         <rdar://problem/4592244> REGRESSION (417.9.3 - 420+): (some?) plain text files have all lines concatenated into one line
945         
946         * loader/TextDocument.cpp:
947         (WebCore::TextTokenizer::checkBuffer):
948         (WebCore::TextTokenizer::TextTokenizer):
949         (WebCore::TextTokenizer::write):        
950         (WebCore::TextTokenizer::finish):
951         Add a text buffer which is used for translation of CR and CRLF to plain LF, 
952         like the HTML tokenizer does.
953
954 2006-06-20  Maciej Stachowiak  <mjs@apple.com>
955
956         Reviewed by Eric.
957
958         - fix crasher on one of the layout tests caused by my recent checkin
959
960         * kcanvas/RenderSVGText.cpp:
961         (WebCore::RenderSVGText::paint):
962
963 2006-06-19  Alexey Proskuryakov  <ap@nypop.com>
964
965         Reviewed by Darin.
966
967         - http://bugzilla.opendarwin.org/show_bug.cgi?id=5499
968         Page reload does not send any cache control headers
969
970         Test: http/tests/misc/refresh-headers.php
971
972         * bindings/js/kjs_window.cpp:
973         (KJS::LocationFunc::callAsFunction): Call scheduleRefresh() for Location::Reload.
974
975         * page/Frame.h: Add scheduleRefresh(). Don't derive from TransferJob or implement its methods - that was
976         used only for storing response HTTP headers, which was an overkill.
977
978         * page/FramePrivate.h: Replace TransferJob with a HashMap for storing response headers.
979
980         * page/Frame.cpp:
981         (WebCore::Frame::didOpenURL): Don't needlessly change d->m_cachePolicy. Don't create a TransferJob.
982         (WebCore::Frame::stopLoading): Directly access the metadata map, instead of going through a TransferJob.
983         (WebCore::Frame::receivedFirstData): Ditto.
984         (WebCore::Frame::addMetaData): Ditto.
985         (WebCore::Frame::scheduleRefresh): A new function that schedules a refresh, similarly to what
986         scheduleRedirection() does.
987         (WebCore::Frame::changeLocation): Set request.reload attribute based on the current cache policy.
988
989 2006-06-19  Ben Goodger  <bengoodger@gmail.com>
990
991         Reviewed by Darin.
992
993         http://bugzilla.opendarwin.org/show_bug.cgi?id=9501
994         Windows build fails with link error CharsetTable not defined
995
996         * platform/make-charset-table.pl:
997         (process_iana_charsets): Move test for equality to alias "None" until after
998         normalization steps to ensure escape characters in the input data don't
999         interfere with processing.  Convert nearby tabs to 4 spaces in this function.
1000
1001 2006-06-18  Maciej Stachowiak  <mjs@apple.com>
1002
1003         Reviewed by Darin.
1004
1005         - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=9488
1006         "Animated GIFs do not respect transforms in SVG"
1007         
1008         http://bugzilla.opendarwin.org/show_bug.cgi?id=6946
1009         "SVG shows invalidation issues in WebKit"
1010         
1011         http://www.treebuilder.de/default.asp?file=441875.xml
1012         "Invalidation issues with "SVG 3d" demo"
1013         
1014         http://code.google.com/webstats/2005-12/pages.html
1015         "SVG text doesn't repaint correctly"
1016
1017         * kcanvas/KCanvasContainer.cpp:
1018         (WebCore::KCanvasContainer::computeAbsoluteRepaintRect): Override base class, and apply
1019         appropriate transforms, so damage rects in transformed SVG content get propagated up properly.
1020         (WebCore::KCanvasContainer::getAbsoluteRepaintRect): note a FIXME; this method
1021         seems wrong.
1022         * kcanvas/KCanvasContainer.h: Prototype new method.
1023
1024         * css/svg.css: Don't apply overflow:hidden to foreignObject, since that makes it a RenderLayer
1025         so it paints twice.
1026         * kcanvas/RenderForeignObject.cpp:
1027         (WebCore::RenderForeignObject::paint): Transform the damage rect before passing it down to HTML content,
1028         so everything paints that is supposed to. Also handle opacity here since we won't get layers.
1029         (WebCore::RenderForeignObject::computeAbsoluteRepaintRect): Override base class, and apply
1030         appropriate transforms, so damage rects in HTML embedded in SVG get propagated up properly.
1031         (WebCore::RenderForeignObject::requiresLayer): Never use a RenderLayer.
1032         (WebCore::RenderForeignObject::layout): Make sure to dirty our previous bounds when layout
1033         changes, as by transform.
1034         * kcanvas/RenderForeignObject.h:
1035
1036         * kcanvas/RenderSVGImage.cpp:
1037         (WebCore::RenderSVGImage::paint): Transform the damage rect when painting. Also handle opacity 
1038         here since we won't get layers.
1039         (WebCore::RenderForeignObject::computeAbsoluteRepaintRect): Override base class, and apply
1040         appropriate transforms, so damage rects in SVG images  get propagated up properly.
1041         (WebCore::RenderSVGImage::translationForAttributes): New helper method, factored out of below.
1042         (WebCore::RenderSVGImage::translateForAttributes): Use above.
1043         (WebCore::RenderSVGImage::requiresLayer): Never use a RenderLayer.
1044         (WebCore::RenderSVGImage::layout): Make sure to properly dirty the old bounds, accounting
1045         for transforms.
1046         (WebCore::RenderSVGImage::relativeBBox): Correct bbox computation.
1047         * kcanvas/RenderSVGImage.h:
1048
1049         * kcanvas/RenderSVGText.cpp:
1050         (WebCore::RenderSVGText::paint): Transform incoming damage rect. Handle opacity here since we
1051         won't get a layer.
1052         (WebCore::RenderSVGText::computeAbsoluteRepaintRect): Apply transforms.
1053         (WebCore::RenderSVGText::requiresLayer): Never use a RenderLayer.
1054         (WebCore::RenderSVGText::layout): Make sure to dirty the old bounds.
1055
1056         * platform/cg/GraphicsContextCG.cpp:
1057         (WebCore::GraphicsContext::roundToDevicePixels): Instead of transforming rect to device space
1058         and back to user space, do this for the origin and lower right corner of the rect. Otherwise the
1059         rect will get inflated if user space is rotated or skewed.
1060
1061         * kcanvas/RenderPath.cpp:
1062         (WebCore::RenderPath::layout): Make sure to dirty the old bounds.
1063         (WebCore::RenderPath::paint): Hhandle opacity here.
1064         
1065         Bonus fix:
1066         
1067         * kcanvas/RenderSVGImage.cpp:
1068         (WebCore::RenderSVGImage::nodeAtPoint): Fix hit testing. Wasn't applying the x/y
1069         attribute transform.
1070
1071 2006-06-19  Sam Weinig  <sam.weinig@gmail.com>
1072
1073         Reviewed by Darin.
1074
1075         - fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9500
1076           Split dom2_eventsimpl.* into separate files (one class per file).
1077
1078         * WebCore.xcodeproj/project.pbxproj:
1079         * bindings/js/kjs_binding.cpp:
1080         * bindings/js/kjs_dom.cpp:
1081         * bindings/js/kjs_events.cpp:
1082         * bindings/js/kjs_html.cpp:
1083         * bindings/js/kjs_window.cpp:
1084         * bindings/objc/DOM.mm:
1085         * bindings/objc/DOMEvents.mm:
1086         * bindings/objc/DOMInternal.mm:
1087         * bindings/scripts/CodeGeneratorJS.pm:
1088         * bridge/mac/FrameMac.mm:
1089         * dom/BeforeTextInsertedEvent.h:
1090         * dom/BeforeUnloadEvent.cpp: Added.
1091         * dom/BeforeUnloadEvent.h: Added.
1092         (WebCore::BeforeUnloadEvent::result):
1093         * dom/CharacterData.cpp:
1094         * dom/Clipboard.h: Added.
1095         (WebCore::Clipboard::~Clipboard):
1096         * dom/ClipboardEvent.cpp: Added.
1097         (WebCore::ClipboardEvent::ClipboardEvent):
1098         * dom/ClipboardEvent.h: Added.
1099         (WebCore::ClipboardEvent::clipboard):
1100         * dom/ContainerNode.cpp:
1101         * dom/Document.cpp:
1102         * dom/Event.cpp: Added.
1103         (WebCore::Event::Event):
1104         (WebCore::Event::initEvent):
1105         * dom/Event.h: Added.
1106         (WebCore::):
1107         (WebCore::Event::):
1108         (WebCore::Event::type):
1109         (WebCore::Event::target):
1110         (WebCore::Event::currentTarget):
1111         (WebCore::Event::setCurrentTarget):
1112         (WebCore::Event::eventPhase):
1113         (WebCore::Event::setEventPhase):
1114         (WebCore::Event::bubbles):
1115         (WebCore::Event::cancelable):
1116         (WebCore::Event::timeStamp):
1117         (WebCore::Event::stopPropagation):
1118         (WebCore::Event::propagationStopped):
1119         (WebCore::Event::defaultPrevented):
1120         (WebCore::Event::setDefaultHandled):
1121         (WebCore::Event::defaultHandled):
1122         (WebCore::Event::preventDefault):
1123         (WebCore::Event::setDefaultPrevented):
1124         (WebCore::Event::setCancelBubble):
1125         (WebCore::Event::getCancelBubble):
1126         (WebCore::Event::dispatched):
1127         * dom/EventTargetNode.cpp:
1128         * dom/KeyboardEvent.cpp: Added.
1129         (WebCore::KeyboardEvent::KeyboardEvent):
1130         (WebCore::KeyboardEvent::initKeyboardEvent):
1131         * dom/KeyboardEvent.h: Added.
1132         (WebCore::KeyboardEvent::):
1133         (WebCore::KeyboardEvent::keyIdentifier):
1134         (WebCore::KeyboardEvent::keyLocation):
1135         (WebCore::KeyboardEvent::altGraphKey):
1136         (WebCore::KeyboardEvent::keyEvent):
1137         * dom/MouseEvent.cpp: Added.
1138         (WebCore::MouseEvent::MouseEvent):
1139         (WebCore::MouseEvent::initMouseEvent):
1140         (WebCore::MouseEvent::isDragEvent):
1141         (WebCore::MouseEvent::toElement):
1142         (WebCore::MouseEvent::fromElement):
1143         * dom/MouseEvent.h: Added.
1144         (WebCore::MouseEvent::button):
1145         (WebCore::MouseEvent::relatedTarget):
1146         (WebCore::MouseEvent::clipboard):
1147         * dom/MouseRelatedEvent.cpp: Added.
1148         (WebCore::MouseRelatedEvent::MouseRelatedEvent):
1149         * dom/MouseRelatedEvent.h: Added.
1150         (WebCore::MouseRelatedEvent::screenX):
1151         (WebCore::MouseRelatedEvent::screenY):
1152         (WebCore::MouseRelatedEvent::clientX):
1153         (WebCore::MouseRelatedEvent::clientY):
1154         (WebCore::MouseRelatedEvent::layerX):
1155         (WebCore::MouseRelatedEvent::layerY):
1156         (WebCore::MouseRelatedEvent::offsetX):
1157         (WebCore::MouseRelatedEvent::offsetY):
1158         (WebCore::MouseRelatedEvent::isSimulated):
1159         * dom/MutationEvent.cpp: Added.
1160         (WebCore::MutationEvent::MutationEvent):
1161         (WebCore::MutationEvent::initMutationEvent):
1162         * dom/MutationEvent.h: Added.
1163         (WebCore::MutationEvent::):
1164         (WebCore::MutationEvent::relatedNode):
1165         (WebCore::MutationEvent::prevValue):
1166         (WebCore::MutationEvent::newValue):
1167         (WebCore::MutationEvent::attrName):
1168         (WebCore::MutationEvent::attrChange):
1169         * dom/RegisteredEventListener.cpp: Added.
1170         (WebCore::RegisteredEventListener::RegisteredEventListener):
1171         (WebCore::operator==):
1172         * dom/RegisteredEventListener.h: Added.
1173         (WebCore::RegisteredEventListener::eventType):
1174         (WebCore::RegisteredEventListener::listener):
1175         (WebCore::RegisteredEventListener::useCapture):
1176         (WebCore::RegisteredEventListener::removed):
1177         (WebCore::RegisteredEventListener::setRemoved):
1178         (WebCore::operator!=):
1179         * dom/UIEvent.cpp: Added.
1180         (WebCore::UIEvent::UIEvent):
1181         (WebCore::UIEvent::initUIEvent):
1182         * dom/UIEvent.h: Added.
1183         (WebCore::UIEvent::view):
1184         (WebCore::UIEvent::detail):
1185         * dom/UIEventWithKeyState.h: Added.
1186         (WebCore::UIEventWithKeyState::UIEventWithKeyState):
1187         (WebCore::UIEventWithKeyState::ctrlKey):
1188         (WebCore::UIEventWithKeyState::shiftKey):
1189         (WebCore::UIEventWithKeyState::altKey):
1190         (WebCore::UIEventWithKeyState::metaKey):
1191         * dom/WheelEvent.cpp: Added.
1192         (WebCore::WheelEvent::WheelEvent):
1193         * dom/WheelEvent.h: Added.
1194         (WebCore::WheelEvent::isHorizontal):
1195         (WebCore::WheelEvent::wheelDelta):
1196         * dom/dom2_eventsimpl.cpp: Removed.
1197         * dom/dom2_eventsimpl.h: Removed.
1198         * editing/EditCommand.cpp:
1199         * editing/SelectionController.cpp:
1200         * html/HTMLAnchorElement.cpp:
1201         * html/HTMLButtonElement.cpp:
1202         * html/HTMLDocument.cpp:
1203         * html/HTMLElement.cpp:
1204         * html/HTMLFrameSetElement.cpp:
1205         * html/HTMLInputElement.cpp:
1206         * html/HTMLSelectElement.cpp:
1207         * html/HTMLTextAreaElement.cpp:
1208         * ksvg2/events/SVGZoomEvent.h:
1209         * ksvg2/svg/SVGAElement.cpp:
1210         * page/Frame.cpp:
1211         * page/FrameView.cpp:
1212         * platform/PlatformKeyboardEvent.h:
1213         * platform/PlatformMouseEvent.h:
1214         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
1215         * platform/PlatformWheelEvent.h:
1216         * platform/mac/ClipboardMac.h:
1217         * rendering/RenderFrameSet.cpp:
1218         * rendering/RenderLayer.cpp:
1219         * rendering/RenderObject.cpp:
1220         * rendering/RenderTextField.cpp:
1221         * xml/xmlhttprequest.cpp:
1222
1223 2006-06-19  Darin Adler  <darin@apple.com>
1224
1225         Reviewed by Brady.
1226
1227         - removed a few empty/unused files Brady found by tracking down the nm error message
1228
1229         * editing/VisibleRange.cpp: Removed.
1230         * editing/VisibleRange.h: Removed.
1231         * kcanvas/KCanvasImage.cpp: Removed.
1232
1233         * WebCore.vcproj/WebCore/WebCore.vcproj: Removed VisibleRange.cpp/h.
1234         * WebCore.xcodeproj/project.pbxproj: Removed VisibleRange.cpp/h and KCanvasImage.cpp.
1235         * WebCoreSources.bkl: Removed VisibleRange.cpp.
1236
1237 2006-06-19  Alexey Proskuryakov  <ap@nypop.com>
1238
1239         Reviewed by Darin.
1240
1241         - http://bugzilla.opendarwin.org/show_bug.cgi?id=9492
1242         Fix or remove window.debug.
1243
1244         It was only available in newly created windows, and became undefined after changing the URL
1245         or reloading. Let's try removing it; hopefully, no-one will notice.
1246
1247         * bindings/js/kjs_proxy.cpp:
1248         (WebCore::KJSProxy::initScriptIfNeeded): Don't add window.debug.
1249
1250 2006-06-19  Alexey Proskuryakov  <ap@nypop.com>
1251
1252         Reviewed by Darin.
1253
1254         - http://bugzilla.opendarwin.org/show_bug.cgi?id=8972
1255         REGRESSION: invalid UTF-8 sequences are not displayed
1256
1257         Test: LayoutTests/fast/encoding/invalid-UTF-8.html
1258
1259         * dom/xml_tokenizer.cpp:
1260         (WebCore::getXHTMLEntity): Properly null-terminate the result. This didn't matter
1261         before, because the garbage at the end was guaranteed to be invalid UTF-8, and was 
1262         omitted in appendOmittingUnwanted();
1263
1264         * platform/StreamingTextDecoder.cpp:
1265         (WebCore::StreamingTextDecoder::appendOmittingBOM): Only omit BOM characters.
1266         Renamed back from appendOmittingUnwanted();
1267
1268         (WebCore::StreamingTextDecoder::convertUsingICU):
1269         * platform/StreamingTextDecoder.h:
1270         Update for the above function renaming.
1271
1272 2006-06-18  David Kilzer  <ddkilzer@kilzer.net>
1273
1274         Reviewed by darin.
1275
1276         http://bugzilla.opendarwin.org/show_bug.cgi?id=9498
1277         Remove dead code left in JSHTMLDocument::getOwnPropertySlot() from r14298 (Bug 7838)
1278
1279         * bindings/js/kjs_html.cpp:
1280         (KJS::JSHTMLDocument::getOwnPropertySlot): Remove dead code.
1281
1282 2006-06-18  David Kilzer  <ddkilzer@kilzer.net>
1283
1284         Reviewed by ggaren.
1285
1286         * manual-tests/redraw-page-cache-visited-links.html: Changed to use DOM mouse event.
1287
1288 2006-06-18  David Kilzer  <ddkilzer@kilzer.net>
1289
1290         Reviewed by ggaren.
1291
1292         - Update a manual test for http://bugzilla.opendarwin.org/show_bug.cgi?id=9150
1293           DumpRenderTree should be able to keep URL history during runs
1294
1295         * manual-tests/redraw-page-cache-visited-links.html: Added note about window.history hack.
1296         Fixed coordinates for mouse events.  Added call to keepWebHistory().
1297         * manual-tests/resources/redraw-page-cache-visited-links-2.html: Added note about
1298         window.history hack.
1299
1300 2006-06-17  Anders Carlsson  <acarlsson@apple.com>
1301
1302         Reviewed by Geoff.
1303
1304         * bindings/js/kjs_binding.cpp:
1305         (KJS::ScriptInterpreter::ScriptInterpreter):
1306         Set the default script timeout.
1307         
1308         (KJS::ScriptInterpreter::shouldInterruptScript):
1309         New function which asks the frame if the script should be interrupted.
1310         
1311         * bindings/js/kjs_binding.h:
1312                 
1313         * bindings/js/kjs_events.cpp:
1314         (KJS::JSAbstractEventListener::handleEvent):
1315         * bindings/js/kjs_proxy.cpp:
1316         (WebCore::KJSProxy::evaluate):
1317         Add calls to startTimeoutCheck/stopTimeoutCheck
1318         
1319         * bindings/js/kjs_window.cpp:
1320         (KJS::WindowFunc::callAsFunction):
1321         Add calls to pauseTimeoutCheck/unpauseTimeoutCheck 
1322         
1323         (KJS::ScheduledAction::execute):
1324         Add calls to startTimeoutCheck/stopTimeoutCheck
1325         
1326         * bridge/mac/FrameMac.h:
1327         * bridge/mac/FrameMac.mm:
1328         (WebCore::FrameMac::shouldInterruptJavaScript):
1329         New function which asks the bridge if the script should be interrupted.
1330         
1331         * bridge/mac/WebCoreFrameBridge.h:
1332         * page/Frame.h:
1333         Add function declarations.
1334         
1335 2006-06-17  Alexey Proskuryakov  <ap@nypop.com>
1336
1337         Reviewed by ggaren.
1338
1339         - http://bugzilla.opendarwin.org/show_bug.cgi?id=8131
1340         Some properties and methods of window and document objects cannot be converted to a string
1341
1342         Most of the properties were already fixed, this just adds adds a prototype to window.debug.
1343
1344         Test: fast/dom/everything-to-string.html
1345
1346         * bindings/js/kjs_proxy.cpp:
1347         (WebCore::TestFunctionImp::TestFunctionImp): 
1348         (WebCore::KJSProxy::initScriptIfNeeded):
1349
1350 2006-06-17  David Kilzer  <ddkilzer@kilzer.net>
1351
1352         Reviewed by Maciej.
1353
1354         - Fix capitalization issue for case-sensitive filesystems.
1355
1356         * icon/SQLStatement.cpp: Change assertions.h to Assertions.h.
1357
1358 2006-06-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1359
1360         Reviewed by Hyatt.
1361
1362         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7395
1363           Table not properly re-flowed when floated div removed from layout
1364
1365         Test: fast/block/float/table-relayout.html
1366
1367         * rendering/RenderBlock.cpp:
1368         (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout): Added marking
1369         of children that use lineWidth.
1370         * rendering/RenderBlock.h: Added a FIXME.
1371
1372 2006-06-17  Rob Buis  <buis@kde.org>
1373
1374         Reviewed by Darin.
1375
1376         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6282:
1377         Adding new Option with new Option(text, value, defaultSelected, selected) fails to update selectedIndex
1378
1379         Update selectedIndex when a new option is added using javascript.
1380
1381         * bindings/js/kjs_html.cpp:
1382         (KJS::JSHTMLSelectCollection::put):
1383         * html/HTMLSelectElement.cpp:
1384         (WebCore::HTMLSelectElement::setSelectedIndex):
1385         (WebCore::HTMLSelectElement::setOption):
1386         (WebCore::HTMLSelectElement::setLength):
1387         * html/HTMLSelectElement.h:
1388
1389 2006-06-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1390
1391         Reviewed by Darin.
1392
1393         - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=9466
1394           Assertion failure when dragging an image from the document into Safari's address bar
1395
1396         * manual-tests/reset-initiatedDrag.html: Added.
1397
1398 2006-06-16  David Kilzer  <ddkilzer@kilzer.net>
1399
1400         Reviewed by darin.
1401
1402         http://bugzilla.opendarwin.org/show_bug.cgi?id=9463
1403         REGRESSION (r14879): Assertion failure in CSSParser::sinkFloatingSelector()
1404         (m_floatingSelectors.contains(selector)) in some CSS tests
1405
1406         * css/CSSGrammar.y: Create CSSSelector for FUNCTION using CSSParser::createFloatingSelector()
1407         instead of the bare constructor.
1408
1409 2006-06-16  David Harrison  <harrison@apple.com>
1410
1411         Reviewed by Hatcher.
1412
1413         <rdar://problem/4565312> Mail has a weird drawing artifact with dotted red lines running across the window
1414
1415         Problem was that revision lost a check to not draw the markers
1416         when paintingDisabled().   This led the markers to be drawn when
1417         the window deactivated, at which time the view happens to be flipped.
1418
1419         It is similar but not the same as the Mail ToDo highlighting
1420         issue, which is due to the custom highlight method
1421         drawing when the focusView is nil.  Mail team knows this
1422         and has tested the fix.
1423
1424         * platform/mac/GraphicsContextMac.mm:
1425         (WebCore::GraphicsContext::drawLineForMisspelling):
1426         Early return if paintingDisabled().
1427
1428 2006-06-16  Adele Peterson  <adele@apple.com>
1429
1430         Reviewed by Hyatt.
1431
1432         Adjust padding of inner div so text lines up with text fields.
1433         Adjust height of textarea so it only leaves room for the horizontal
1434         scrollbar if overflow is set to scroll, or if overflow is set to
1435         auto and there's no word wrap.
1436
1437         These changes will be tested by current layout tests when the
1438         new textarea implementation takes effect.
1439
1440         * rendering/RenderTextField.cpp:
1441         (WebCore::RenderTextField::createDivStyle):
1442         (WebCore::RenderTextField::calcHeight):
1443
1444 2006-06-16  John Sullivan  <sullivan@apple.com>
1445
1446         Reviewed by Darin
1447         
1448         - fixed <rdar://problem/4590062> crash in marker code with particular set of steps on daringfireball.net
1449
1450         * dom/Document.cpp:
1451         (WebCore::Document::addMarker):
1452         Store [it - markers.begin()] in a local variable before modifying markers, since modifying markers can
1453         change value of [it - markers.begin()].
1454
1455 2006-06-16  Adele Peterson  <adele@apple.com>
1456
1457         Reviewed by Alice.
1458
1459         Added code to draw Cocoa-like border for textareas instead of just using CSS.
1460
1461         * WebCore.exp:
1462         * css/html4.css: Sets a 1px solid border.
1463         * platform/mac/WebCoreSystemInterface.h:
1464         * platform/mac/WebCoreSystemInterface.mm:
1465         * rendering/RenderThemeMac.h: Formatting changes.
1466         * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::paintTextArea):
1467         Uses new wkDrawBezeledTextArea to draw border.
1468
1469 2006-06-16  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1470
1471         Reviewed by hyatt.
1472
1473         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9432
1474           REGRESSION: crash in capitalization code due to empty-string generated content
1475
1476         Test: fast/text/capitalize-empty-generated-string.html
1477
1478         * rendering/RenderText.cpp:
1479         (WebCore::RenderText::setText): Skip empty-string text renderers when
1480         looking for the previous character.
1481
1482 2006-06-15  Justin Garcia  <justin.garcia@apple.com>
1483
1484         Reviewed by levi
1485
1486         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8637>
1487         REGRESSION (11-16-05): Selection gaps left behind after delete
1488
1489         * editing/SelectionController.cpp:
1490         (WebCore::SelectionController::nodeWillBeRemoved): Invalidate the selection so that 
1491         selection gaps are invalidated.
1492
1493 2006-06-15  Timothy Hatcher  <timothy@apple.com>
1494
1495         Reviewed by Geoff and Darin.
1496         
1497         Prefer the DWARF debugging symbols format for use in Xcode 2.3.
1498
1499         * WebCore.xcodeproj/project.pbxproj:
1500
1501 2006-06-15  Justin Garcia  <justin.garcia@apple.com>
1502
1503         Reviewed by harrison
1504         
1505         * editing/CompositeEditCommand.cpp:
1506         (WebCore::hasARenderedDescendant):
1507         (WebCore::CompositeEditCommand::prune): Ascend using the DOM
1508         (WebCore::CompositeEditCommand::moveParagraphs): Placeholder insertion
1509         during deletion is fixed, removing the fall back.
1510
1511 2006-06-15  Nicholas Shanks  <contact@nickshanks.com>
1512
1513         Reviewed by Hyatt, landed by Joost de Valk.
1514
1515         Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=3233
1516
1517         Add support for the :lang pseudo-class.
1518
1519         * css/CSSGrammar.y:
1520         * css/CSSSelector.cpp:
1521         (WebCore::CSSSelector::operator == ):
1522         * css/CSSSelector.h:
1523         (WebCore::CSSSelector::CSSSelector):
1524         * css/cssparser.cpp:
1525         (WebCore::CSSParser::lex):
1526         * css/cssstyleselector.cpp:
1527         (WebCore::CSSStyleSelector::checkOneSelector):
1528         * css/tokenizer.flex:
1529
1530 2006-06-15  Justin Garcia  <justin.garcia@apple.com>
1531
1532         Reviewed by harrison
1533         
1534         <http://bugzilla.opendarwin.org/show_bug.cgi?id=9456>
1535         REGRESSION (417.9.2-420+): Cmd-G doesn't work in Safari after double-click and Cmd-E
1536         
1537         * page/Frame.cpp:
1538         (WebCore::Frame::findString): When comparing the found range with
1539         what's currently selected a) build a selection with the found
1540         range to remove collapsed whitespace and b) compare ranges 
1541         instead of selection objects to ignore the way that the 
1542         current selection was made (to ignore the base and extent).
1543
1544 2006-06-15  David Kilzer  <ddkilzer@kilzer.net>
1545
1546         Reviewed by mjs.
1547
1548         http://bugzilla.opendarwin.org/show_bug.cgi?id=9382
1549         IDL files missing copyright/license headers
1550
1551         Add Apple BSD license and copyright to IDL files.
1552
1553         * ksvg2/bindings/idl/svg/GetSVGDocument.idl:
1554         * ksvg2/bindings/idl/svg/SVGAElement.idl:
1555         * ksvg2/bindings/idl/svg/SVGAnimateColorElement.idl:
1556         * ksvg2/bindings/idl/svg/SVGAnimateElement.idl:
1557         * ksvg2/bindings/idl/svg/SVGAnimateTransformElement.idl:
1558         * ksvg2/bindings/idl/svg/SVGAnimatedAngle.idl:
1559         * ksvg2/bindings/idl/svg/SVGAnimatedBoolean.idl:
1560         * ksvg2/bindings/idl/svg/SVGAnimatedEnumeration.idl:
1561         * ksvg2/bindings/idl/svg/SVGAnimatedInteger.idl:
1562         * ksvg2/bindings/idl/svg/SVGAnimatedLengthList.idl:
1563         * ksvg2/bindings/idl/svg/SVGAnimatedNumber.idl:
1564         * ksvg2/bindings/idl/svg/SVGAnimatedNumberList.idl:
1565         * ksvg2/bindings/idl/svg/SVGAnimatedPathData.idl:
1566         * ksvg2/bindings/idl/svg/SVGAnimatedPoints.idl:
1567         * ksvg2/bindings/idl/svg/SVGAnimatedPreserveAspectRatio.idl:
1568         * ksvg2/bindings/idl/svg/SVGAnimatedRect.idl:
1569         * ksvg2/bindings/idl/svg/SVGAnimatedString.idl:
1570         * ksvg2/bindings/idl/svg/SVGAnimatedTransformList.idl:
1571         * ksvg2/bindings/idl/svg/SVGAnimationElement.idl:
1572         * ksvg2/bindings/idl/svg/SVGCircleElement.idl:
1573         * ksvg2/bindings/idl/svg/SVGClipPathElement.idl:
1574         * ksvg2/bindings/idl/svg/SVGComponentTransferFunctionElement.idl:
1575         * ksvg2/bindings/idl/svg/SVGCursorElement.idl:
1576         * ksvg2/bindings/idl/svg/SVGDOMImplementation.idl:
1577         * ksvg2/bindings/idl/svg/SVGDefsElement.idl:
1578         * ksvg2/bindings/idl/svg/SVGDescElement.idl:
1579         * ksvg2/bindings/idl/svg/SVGElementInstance.idl:
1580         * ksvg2/bindings/idl/svg/SVGElementInstanceList.idl:
1581         * ksvg2/bindings/idl/svg/SVGEllipseElement.idl:
1582         * ksvg2/bindings/idl/svg/SVGEvent.idl:
1583         * ksvg2/bindings/idl/svg/SVGException.idl:
1584         * ksvg2/bindings/idl/svg/SVGExternalResourcesRequired.idl:
1585         * ksvg2/bindings/idl/svg/SVGFEBlendElement.idl:
1586         * ksvg2/bindings/idl/svg/SVGFEColorMatrixElement.idl:
1587         * ksvg2/bindings/idl/svg/SVGFEComponentTransferElement.idl:
1588         * ksvg2/bindings/idl/svg/SVGFECompositeElement.idl:
1589         * ksvg2/bindings/idl/svg/SVGFEFloodElement.idl:
1590         * ksvg2/bindings/idl/svg/SVGFEFuncAElement.idl:
1591         * ksvg2/bindings/idl/svg/SVGFEFuncBElement.idl:
1592         * ksvg2/bindings/idl/svg/SVGFEFuncGElement.idl:
1593         * ksvg2/bindings/idl/svg/SVGFEFuncRElement.idl:
1594         * ksvg2/bindings/idl/svg/SVGFEGaussianBlurElement.idl:
1595         * ksvg2/bindings/idl/svg/SVGFEImageElement.idl:
1596         * ksvg2/bindings/idl/svg/SVGFEMergeElement.idl:
1597         * ksvg2/bindings/idl/svg/SVGFEMergeNodeElement.idl:
1598         * ksvg2/bindings/idl/svg/SVGFEOffsetElement.idl:
1599         * ksvg2/bindings/idl/svg/SVGFETileElement.idl:
1600         * ksvg2/bindings/idl/svg/SVGFETurbulenceElement.idl:
1601         * ksvg2/bindings/idl/svg/SVGFilterElement.idl:
1602         * ksvg2/bindings/idl/svg/SVGFilterPrimitiveStandardAttributes.idl:
1603         * ksvg2/bindings/idl/svg/SVGFitToViewBox.idl:
1604         * ksvg2/bindings/idl/svg/SVGGElement.idl:
1605         * ksvg2/bindings/idl/svg/SVGGradientElement.idl:
1606         * ksvg2/bindings/idl/svg/SVGICCColor.idl:
1607         * ksvg2/bindings/idl/svg/SVGImageElement.idl:
1608         * ksvg2/bindings/idl/svg/SVGLangSpace.idl:
1609         * ksvg2/bindings/idl/svg/SVGLengthList.idl:
1610         * ksvg2/bindings/idl/svg/SVGLineElement.idl:
1611         * ksvg2/bindings/idl/svg/SVGLinearGradientElement.idl:
1612         * ksvg2/bindings/idl/svg/SVGLocatable.idl:
1613         * ksvg2/bindings/idl/svg/SVGMarkerElement.idl:
1614         * ksvg2/bindings/idl/svg/SVGNumberList.idl:
1615         * ksvg2/bindings/idl/svg/SVGPaint.idl:
1616         * ksvg2/bindings/idl/svg/SVGPathElement.idl:
1617         * ksvg2/bindings/idl/svg/SVGPathSeg.idl:
1618         * ksvg2/bindings/idl/svg/SVGPathSegArc.idl:
1619         * ksvg2/bindings/idl/svg/SVGPathSegClosePath.idl:
1620         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubic.idl:
1621         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubicSmooth.idl:
1622         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadratic.idl:
1623         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadraticSmooth.idl:
1624         * ksvg2/bindings/idl/svg/SVGPathSegLineto.idl:
1625         * ksvg2/bindings/idl/svg/SVGPathSegLinetoHorizontal.idl:
1626         * ksvg2/bindings/idl/svg/SVGPathSegLinetoVertical.idl:
1627         * ksvg2/bindings/idl/svg/SVGPathSegList.idl:
1628         * ksvg2/bindings/idl/svg/SVGPathSegMoveto.idl:
1629         * ksvg2/bindings/idl/svg/SVGPatternElement.idl:
1630         * ksvg2/bindings/idl/svg/SVGPointList.idl:
1631         * ksvg2/bindings/idl/svg/SVGPolygonElement.idl:
1632         * ksvg2/bindings/idl/svg/SVGPolylineElement.idl:
1633         * ksvg2/bindings/idl/svg/SVGPreserveAspectRatio.idl:
1634         * ksvg2/bindings/idl/svg/SVGRadialGradientElement.idl:
1635         * ksvg2/bindings/idl/svg/SVGRectElement.idl:
1636         * ksvg2/bindings/idl/svg/SVGRenderingIntent.idl:
1637         * ksvg2/bindings/idl/svg/SVGScriptElement.idl:
1638         * ksvg2/bindings/idl/svg/SVGSetElement.idl:
1639         * ksvg2/bindings/idl/svg/SVGStopElement.idl:
1640         * ksvg2/bindings/idl/svg/SVGStringList.idl:
1641         * ksvg2/bindings/idl/svg/SVGStylable.idl:
1642         * ksvg2/bindings/idl/svg/SVGStyleElement.idl:
1643         * ksvg2/bindings/idl/svg/SVGSwitchElement.idl:
1644         * ksvg2/bindings/idl/svg/SVGSymbolElement.idl:
1645         * ksvg2/bindings/idl/svg/SVGTSpanElement.idl:
1646         * ksvg2/bindings/idl/svg/SVGTests.idl:
1647         * ksvg2/bindings/idl/svg/SVGTextContentElement.idl:
1648         * ksvg2/bindings/idl/svg/SVGTextElement.idl:
1649         * ksvg2/bindings/idl/svg/SVGTextPositioningElement.idl:
1650         * ksvg2/bindings/idl/svg/SVGTitleElement.idl:
1651         * ksvg2/bindings/idl/svg/SVGTransformList.idl:
1652         * ksvg2/bindings/idl/svg/SVGTransformable.idl:
1653         * ksvg2/bindings/idl/svg/SVGURIReference.idl:
1654         * ksvg2/bindings/idl/svg/SVGUnitTypes.idl:
1655         * ksvg2/bindings/idl/svg/SVGUseElement.idl:
1656         * ksvg2/bindings/idl/svg/SVGViewElement.idl:
1657         * ksvg2/bindings/idl/svg/SVGZoomAndPan.idl:
1658         * ksvg2/bindings/idl/svg/SVGZoomEvent.idl:
1659         * ksvg2/svg/SVGAnimatedLength.idl:
1660
1661 2006-06-14  Justin Garcia  <justin.garcia@apple.com>
1662
1663         Reviewed by levi
1664
1665         <rdar://problem/4439248>
1666         REGRESSION(412-417): [RTL] Serious problem with RTL signatures in Mail.app in 10.4.4 (7766)
1667
1668         * editing/markup.cpp:
1669         (WebCore::renderedText): Use plainText so that we'll pull rendered text but in DOM order.
1670
1671 2006-06-14  Levi Weintraub  <lweintraub@apple.com>
1672
1673         Reviewed by justin
1674
1675         <http://bugzilla.opendarwin.org/show_bug.cgi?id=7580>
1676         TinyMCE: Implement execCommand(formatBlock, ...)
1677
1678         * WebCore.xcodeproj/project.pbxproj: Added FormatBlock.{h,cpp} to the project.
1679         * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
1680         * bridge/mac/WebCoreFrameBridge.h: Added WebUndoActions
1681         * editing/CompositeEditCommand.cpp:
1682         (WebCore::CompositeEditCommand::moveParagraph): Added a preserveStyle bool.
1683         (WebCore::CompositeEditCommand::moveParagraphs): Ditto.  downstream() the start
1684         or else we'll move collapsed whitespace and uncollapse it.
1685         * editing/CompositeEditCommand.h:
1686         * editing/DeleteSelectionCommand.cpp:
1687         (WebCore::DeleteSelectionCommand::initializePositionData):
1688         (WebCore::DeleteSelectionCommand::handleSpecialCaseBRDelete): Don't update m_endingPosition
1689         because that's removeNode's responsibility.
1690         (WebCore::updatePositionForNodeRemoval): Added.
1691         (WebCore::DeleteSelectionCommand::removeNode): Turned removeFullySelectedNode into a virtual
1692         overload of removeNode so that we can update positions as we remove nodes.
1693         (WebCore::updatePositionForTextRemoval): Added.
1694         (WebCore::DeleteSelectionCommand::deleteTextFromNode):
1695         (WebCore::DeleteSelectionCommand::handleGeneralDelete): 
1696         (WebCore::DeleteSelectionCommand::fixupWhitespace): Got rid of m_trailingWhitespaceValid
1697         since m_trailingWhitespace is always valid (we update it as we remove nodes).
1698         (WebCore::DeleteSelectionCommand::mergeParagraphs):
1699         (WebCore::DeleteSelectionCommand::doApply): Leading and trailing spaces should
1700         be fixed if they have collapsed before merging paragraphs.
1701         * editing/DeleteSelectionCommand.h:
1702         * editing/EditAction.h:
1703         (WebCore::):
1704         * editing/FormatBlockCommand.cpp: Added.
1705         (WebCore::FormatBlockCommand::FormatBlockCommand):
1706         (WebCore::FormatBlockCommand::modifyRange): Similar to InsertListCommand::modifyRange().
1707         (WebCore::FormatBlockCommand::doApply):
1708         * editing/FormatBlockCommand.h: Added.
1709         (WebCore::FormatBlockCommand::editingAction):
1710         * editing/InsertListCommand.h:
1711         (WebCore::InsertListCommand::editingAction):
1712         * editing/JSEditor.cpp:
1713         * editing/MergeIdenticalElementsCommand.cpp:
1714         (WebCore::MergeIdenticalElementsCommand::doApply):
1715         * editing/htmlediting.cpp:
1716         (WebCore::validBlockTag):
1717         (WebCore::createElement):
1718         * editing/htmlediting.h:
1719
1720 2006-06-14  Maciej Stachowiak  <mjs@apple.com>
1721
1722         Reviewed by Anders.
1723
1724         - fixed <rdar://problem/4586051> 10.4.7 regression: 'Saved and recent' button on mapquest.com does not work
1725
1726         * dom/EventTargetNode.cpp:
1727         (WebCore::EventTargetNode::dispatchWindowEvent):
1728
1729 2006-06-14  David Hyatt  <hyatt@apple.com>
1730
1731         Rename RenderSlider to DeprecatedSlider, so that I can start work on
1732         the new NSView-less slider.
1733
1734         Reviewed by john
1735
1736         * WebCore.vcproj/WebCore/WebCore.vcproj:
1737         * WebCore.xcodeproj/project.pbxproj:
1738         * html/HTMLInputElement.cpp:
1739         (WebCore::HTMLInputElement::createRenderer):
1740         * rendering/DeprecatedSlider.cpp: Added.
1741         (WebCore::DeprecatedSlider::DeprecatedSlider):
1742         (WebCore::DeprecatedSlider::calcMinMaxWidth):
1743         (WebCore::DeprecatedSlider::updateFromElement):
1744         (WebCore::DeprecatedSlider::valueChanged):
1745         * rendering/DeprecatedSlider.h: Added.
1746         (WebCore::DeprecatedSlider::renderName):
1747         * rendering/RenderSlider.cpp: Removed.
1748         * rendering/RenderSlider.h: Removed.
1749
1750 2006-06-13  Geoffrey Garen  <ggaren@apple.com>
1751
1752         Reviewed by Maciej.
1753         
1754         - Fixed <rdar://problem/4562192> Creating a new DOMHTMLDocument 
1755         appears challenging.
1756         
1757         - Added createHTMLDocument to Objc bindings, fixed up implementation
1758         to comply with the DOM 2 Candidate Recommendation in which is was defined.
1759         (It never made the final spec.) Also removed use of deprecatedString,
1760         to avoid unnecessary killing of puppies.
1761
1762         * WebCore.xcodeproj/project.pbxproj:
1763         * bindings/objc/DOM.mm:
1764         (-[DOMImplementation createHTMLDocument:]):
1765         * bindings/objc/DOMPrivate.h:
1766         * dom/DOMImplementation.cpp:
1767         (WebCore::DOMImplementation::createDocument):
1768         (WebCore::DOMImplementation::createHTMLDocument):
1769
1770 2006-06-13  Alice Liu  <alice.liu@apple.com>
1771
1772         Reviewed by Adele.
1773
1774         fixed <rdar://problem/4457902> HTMLSelectElement.remove() can't handle an option obj being passed to it, results in hang on http://www.ibc-solar.de/www_ibc/fst_solarmonitoring.jsp
1775
1776         * bindings/js/kjs_html.cpp:
1777         (KJS::HTMLElementFunction::callAsFunction):
1778         support this by converting the argument to an options object
1779         before passing to remove()
1780
1781 2006-06-13  Darin Adler  <darin@apple.com>
1782
1783         Reviewed by Geoff.
1784
1785         - fix <rdar://problem/4585333> Changing location for weather on yahoo.com home page redirects to another page
1786
1787         This patch fixes a bug where the event listener cache does not distinguish
1788         HTML and non-HTML listeners. Incorrect behavior where stopPropagation also
1789         prevented default masked a case of this bug on the yahoo.com home page until
1790         we fixed bug 5180 on 2005-10-03.
1791
1792         Test: fast/events/event-listener-html-non-html-confusion.html
1793
1794         * bindings/js/kjs_window.h: Add additional listener maps for HTML event listeners.
1795
1796         * bindings/js/kjs_window.cpp:
1797         (KJS::Window::~Window): Go through the additional maps when clearing the window object
1798         pointer in event listeners.
1799         (KJS::Window::getJSEventListener): Look in the HTML or non-HTML map depending on the
1800         argument passed.
1801         (KJS::Window::getJSUnprotectedEventListener): Ditto.
1802
1803         * bindings/js/kjs_events.cpp:
1804         (KJS::JSUnprotectedEventListener::JSUnprotectedEventListener): Add to either the HTML
1805         or non-HTML map depending on the argument passed.
1806         (KJS::JSUnprotectedEventListener::~JSUnprotectedEventListener): Remove from either the
1807         HTML or non-HTML map depending on whether the HTML flag is set.
1808         (KJS::JSEventListener::JSEventListener): More of the same.
1809         (KJS::JSEventListener::~JSEventListener): Ditto.
1810         (KJS::JSLazyEventListener::parseCode): Same thing here. In a lazy event listener there
1811         is not a listener at construction time, thus the code here to put the listener into a
1812         map needs the HTML vs. non-HTML logic.
1813
1814 2006-06-13  Maciej Stachowiak  <mjs@apple.com>
1815
1816         Reviewed by Darin.
1817         
1818         <rdar://problem/4583892> 10.4.7 regression: Hang occurs when attempting to load search results at mapquest.com
1819
1820         * dom/EventTargetNode.cpp:
1821         (WebCore::EventTargetNode::dispatchGenericEvent): Don't allow
1822         "load" events to propagate up to the window. We need this quirk to
1823         avoid site hangs, because they depend on an old Mozilla bug.
1824
1825 2006-06-13  Antti Koivisto  <koivisto@iki.fi>
1826
1827         Reviewed by Hyatt.
1828
1829         http://bugzilla.opendarwin.org/show_bug.cgi?id=9314
1830         Relative positioned block size doesnt update root layer size
1831
1832         - take relative positioning into account in leftmost/rightmost/lowestPosition()
1833         - ignore zero width/height boxes in leftmost/rightmost/lowestPosition()
1834         - split relativePositionOffset() to x and y functions
1835         
1836         * rendering/RenderBox.cpp:
1837         (WebCore::RenderBox::absolutePosition):
1838         (WebCore::RenderBox::relativePositionOffsetX):
1839         (WebCore::RenderBox::relativePositionOffsetY):
1840         (WebCore::RenderBox::lowestPosition):
1841         (WebCore::RenderBox::rightmostPosition):
1842         (WebCore::RenderBox::leftmostPosition):
1843         * rendering/RenderBox.h:
1844         * rendering/RenderFlow.cpp:
1845         (WebCore::RenderFlow::lowestPosition):
1846         (WebCore::RenderFlow::rightmostPosition):
1847         (WebCore::RenderFlow::leftmostPosition):
1848         * rendering/RenderLayer.cpp:
1849         (WebCore::RenderLayer::updateLayerPosition):
1850         * rendering/RenderObject.cpp:
1851         (WebCore::RenderObject::offsetLeft):
1852         (WebCore::RenderObject::offsetTop):
1853
1854 2006-06-13  Anders Carlsson  <acarlsson@apple.com>
1855
1856         Reviewed by Dave Hyatt.
1857
1858         http://bugzilla.opendarwin.org/show_bug.cgi?id=9427
1859         xml-stylesheet processing instructions outside of the prolog should have no effect.
1860
1861         * dom/ProcessingInstruction.cpp:
1862         (WebCore::ProcessingInstruction::checkStyleSheet):
1863         Remove todo comment.
1864         
1865         * dom/xml_tokenizer.cpp:
1866         (WebCore::XMLTokenizer::processingInstruction):
1867         Only check for style sheet if the root element hasn't yet been encountered.
1868
1869 2006-06-13  Anders Carlsson  <acarlsson@apple.com>
1870
1871         Reviewed by Geoff.
1872
1873         http://bugzilla.opendarwin.org/show_bug.cgi?id=9406
1874         REGRESSION: fix for bug 9390 broke two layout tests
1875         
1876         * loader/PluginDocument.cpp:
1877         (WebCore::PluginTokenizer::writeRawData):
1878         Call finished() after setting up the document structure so we'll emit onload events.
1879
1880 2006-06-12  Geoffrey Garen  <ggaren@apple.com>
1881
1882         build fix -- forgot to svn add this file
1883         
1884         * ForwardingHeaders/kjs/SavedBuiltins.h: Added.
1885
1886 2006-06-12  Brady Eidson  <beidson@apple.com>
1887
1888         Reviewed by Maciej.
1889
1890         Fixed a bug in append(char) and append(UChar) where our intended copy-on-write semantics was ignored!
1891
1892         * platform/String.cpp:
1893         (WebCore::String::append):
1894
1895 2006-06-12  Geoffrey Garen  <ggaren@apple.com>
1896
1897         Reviewed by TimO, Maciej.
1898
1899         - WebCore part of merging InterpreterImp into Interpreter. No test
1900         because there's no behavior change.
1901         
1902         A substantive change here is that ScriptInterpreter::mark must now chain to
1903         Interpreter::mark, since Interpreter needs to mark the things that
1904         InterpreterImp used to mark.
1905         
1906         * WebCore.xcodeproj/project.pbxproj:
1907         * bindings/js/kjs_binding.cpp:
1908         * bindings/js/kjs_window.cpp:
1909         (KJS::Window::put):
1910         * bridge/mac/WebCoreFrameBridge.mm:
1911         * bridge/mac/WebCoreScriptDebugger.mm:
1912         (-[WebCoreScriptCallFrame evaluateWebScript:]):
1913         * kwq/KWQPageState.mm:
1914
1915 2006-06-12  Brady Eidson <beidson@apple.com>
1916
1917         Reviewed by Maciej.
1918
1919         Changed String::ascii() to return a Vector<char> instead of const char*
1920         This allows us to use it "regularly" as the returned vector will destruct
1921         and not leak memory like the previous approach.
1922         We can now do a String.ascii().data() to get a char* buffer instead of 
1923         String.deprecatedString().ascii().  It doesn't improve the style much but
1924         dumping the memory-leak issue is a plus.
1925
1926         * icon/IconDatabase.cpp:
1927         (WebCore::IconDatabase::open):
1928         (WebCore::IconDatabase::clearDatabase):
1929         * icon/SQLDatabase.cpp:
1930         (SQLDatabase::open):
1931         * icon/SQLStatement.cpp:
1932         (WebCore::SQLStatement::prepare):
1933         (WebCore::SQLStatement::step):
1934         (WebCore::SQLStatement::returnTextResults):
1935         (WebCore::SQLStatement::returnTextResults16):
1936         (WebCore::SQLStatement::returnIntResults):
1937         (WebCore::SQLStatement::returnInt64Results):
1938         (WebCore::SQLStatement::returnDoubleResults):
1939         In addition to the changes to the string classes, changed my database code over to the new
1940         preferred method.
1941
1942         * platform/PlatformString.h:
1943         * platform/String.cpp:
1944         (WebCore::String::ascii):
1945         * platform/StringImpl.cpp:
1946         (WebCore::StringImpl::ascii):
1947         * platform/StringImpl.h:
1948
1949 2006-06-12  Dave Hyatt <hyatt@apple.com>
1950
1951         Add the notion of a selection foreground color to the engine for
1952         Win32.  Rename existing selectionColor methods to be
1953         selectionBackgroundColor instead.
1954
1955         Change the 60% alpha blend rule for transparent selection to
1956         instead be a range from 60-80%, with less transparency being
1957         used as needed to ensure the transformed color more closely
1958         approximates the original operating system color when blended
1959         with a white background.
1960
1961         Reviewed by mjs
1962
1963         * platform/Color.cpp:
1964         (WebCore::blend):
1965         (WebCore::Color::blendWithWhite):
1966         * platform/Color.h:
1967         * rendering/InlineTextBox.cpp:
1968         (WebCore::InlineTextBox::paint):
1969         (WebCore::InlineTextBox::paintSelection):
1970         * rendering/RenderBlock.cpp:
1971         (WebCore::RenderBlock::fillHorizontalSelectionGap):
1972         (WebCore::RenderBlock::fillVerticalSelectionGap):
1973         (WebCore::RenderBlock::fillLeftSelectionGap):
1974         (WebCore::RenderBlock::fillRightSelectionGap):
1975         * rendering/RenderHTMLCanvas.cpp:
1976         (WebCore::RenderHTMLCanvas::paint):
1977         * rendering/RenderImage.cpp:
1978         (WebCore::RenderImage::paint):
1979         * rendering/RenderListMarker.cpp:
1980         (WebCore::RenderListMarker::paint):
1981         * rendering/RenderObject.cpp:
1982         (WebCore::RenderObject::selectionBackgroundColor):
1983         (WebCore::RenderObject::selectionForegroundColor):
1984         * rendering/RenderObject.h:
1985         * rendering/RenderTheme.cpp:
1986         (WebCore::RenderTheme::activeSelectionBackgroundColor):
1987         (WebCore::RenderTheme::inactiveSelectionBackgroundColor):
1988         (WebCore::RenderTheme::platformActiveSelectionBackgroundColor):
1989         (WebCore::RenderTheme::platformInactiveSelectionBackgroundColor):
1990         (WebCore::RenderTheme::platformActiveSelectionForegroundColor):
1991         (WebCore::RenderTheme::platformInactiveSelectionForegroundColor):
1992         * rendering/RenderTheme.h:
1993         * rendering/RenderThemeMac.h:
1994         * rendering/RenderThemeMac.mm:
1995         (WebCore::RenderThemeMac::platformActiveSelectionBackgroundColor):
1996         (WebCore::RenderThemeMac::platformInactiveSelectionBackgroundColor):
1997         * rendering/RenderThemeWin.cpp:
1998         (WebCore::RenderThemeWin::platformActiveSelectionBackgroundColor):
1999         (WebCore::RenderThemeWin::platformInactiveSelectionBackgroundColor):
2000         (WebCore::RenderThemeWin::platformActiveSelectionForegroundColor):
2001         (WebCore::RenderThemeWin::platformInactiveSelectionForegroundColor):
2002         * rendering/RenderThemeWin.h:
2003         * rendering/RenderWidget.cpp:
2004         (WebCore::RenderWidget::paint):
2005
2006 2006-06-12  John Sullivan  <sullivan@apple.com>
2007
2008         Reviewed by Darin Adler.
2009         
2010         * page/Frame.cpp:
2011         (WebCore::Frame::markAllMatchesForText):
2012         Do a "fake" paint here so that the rectangles for the text matches will have been
2013         computed by the time this method returns.
2014
2015 2006-06-12  Brady Eidson  <beidson@apple.com>
2016
2017         Reviewed by Levi and Tim Omernick.
2018
2019         -Added a skeleton sqlite3 icon database file to IconDatabase
2020         -Added functionality to validate and recreate this icon.db file
2021         -Fixed some buggys in SQLDatabase.cpp
2022
2023         * icon/IconDatabase.cpp:
2024         (WebCore::IconDatabase::open):
2025         (WebCore::IconDatabase::isValidDatabase):
2026         (WebCore::IconDatabase::clearDatabase):
2027         (WebCore::IconDatabase::recreateDatabase):
2028         * icon/IconDatabase.h:
2029
2030         * icon/SQLStatement.cpp:
2031         (WebCore::SQLStatement::columnCount):
2032         (WebCore::SQLStatement::getColumnName):
2033         (WebCore::SQLStatement::getColumnName16):
2034         (WebCore::SQLStatement::getColumnText):
2035         (WebCore::SQLStatement::getColumnText16):
2036         (WebCore::SQLStatement::getColumnDouble):
2037         (WebCore::SQLStatement::getColumnInt):
2038         (WebCore::SQLStatement::getColumnInt64):
2039         (WebCore::SQLStatement::getColumnBlob):
2040         -Added checks to make sure we had a valid working sqlite3_statement as the sqlite3_*
2041         function calls weren't as error-tolerant as documentation advertised
2042         (maybe differences between the 3.3 docs I looked at and the 3.1.3 version installed on OSX)
2043
2044 2006-06-12  Brady Eidson  <beidson@apple.com>
2045
2046         Reviewed by Levi.
2047
2048         -Added SQLite helper wrappers to ease use of SQLite in the IconDatabase.  
2049         -Changed the base IconDatabase over to this new framework.
2050
2051         * WebCore.xcodeproj/project.pbxproj:
2052         * bridge/mac/WebCoreIconDatabaseBridge.mm:
2053         (-[WebCoreIconDatabaseBridge closeSharedDatabase]):
2054             -By popular request, removed an annoying log message I'd accidentally left in
2055
2056         * icon/IconDatabase.cpp:
2057         (WebCore::IconDatabase::IconDatabase):
2058         (WebCore::IconDatabase::open):
2059         (WebCore::IconDatabase::close):
2060         (WebCore::IconDatabase::~IconDatabase):
2061         * icon/IconDatabase.h:
2062         (WebCore::IconDatabase::isOpen):
2063             -Changed over IconDatabase from direct sqlite3_* calls to the new SQLDatabase calls
2064
2065         * icon/SQLDatabase.cpp: Added.
2066         (SQLDatabase::SQLDatabase):
2067         (SQLDatabase::open):
2068         (SQLDatabase::close):
2069         (SQLDatabase::executeCommand):
2070         (SQLDatabase::tableExists):
2071         * icon/SQLDatabase.h: Added.
2072         (WebCore::SQLDatabase::isOpen):
2073         (WebCore::SQLDatabase::getPath):
2074         (WebCore::SQLDatabase::lastError):
2075         (WebCore::SQLDatabase::lastErrorMsg):
2076         (WebCore::SQLStatement::isPrepared):
2077         (WebCore::SQLStatement::lastError):
2078         (WebCore::SQLStatement::lastErrorMsg):
2079         * icon/SQLStatement.cpp: Added.
2080         (WebCore::SQLStatement::SQLStatement):
2081         (WebCore::SQLStatement::~SQLStatement):
2082         (WebCore::SQLStatement::prepare):
2083         (WebCore::SQLStatement::step):
2084         (WebCore::SQLStatement::finalize):
2085         (WebCore::SQLStatement::reset):
2086         (WebCore::SQLStatement::executeCommand):
2087         (WebCore::SQLStatement::bindBlob):
2088         (WebCore::SQLStatement::bindText):
2089         (WebCore::SQLStatement::columnCount):
2090         (WebCore::SQLStatement::getColumnName):
2091         (WebCore::SQLStatement::getColumnName16):
2092         (WebCore::SQLStatement::getColumnText):
2093         (WebCore::SQLStatement::getColumnText16):
2094         (WebCore::SQLStatement::getColumnDouble):
2095         (WebCore::SQLStatement::getColumnInt):
2096         (WebCore::SQLStatement::getColumnInt64):
2097         (WebCore::SQLStatement::getColumnBlob):
2098         (WebCore::SQLStatement::returnTextResults):
2099         (WebCore::SQLStatement::returnTextResults16):
2100         (WebCore::SQLStatement::returnIntResults):
2101         (WebCore::SQLStatement::returnInt64Results):
2102         (WebCore::SQLStatement::returnDoubleResults):
2103             -Initial checking of SQLDatabase framework
2104
2105         * platform/PlatformString.h:
2106         * platform/String.cpp:
2107         (WebCore::String::String):
2108             -Added an explicit UChar* constructor to our string class as much of sqlite3's UTF16 handling is based on 
2109             null-terminated UTF16 which we didn't yet support.
2110
2111 2006-06-11  David Kilzer  <ddkilzer@kilzer.net>
2112
2113         Reviewed by Maciej.
2114
2115         http://bugzilla.opendarwin.org/show_bug.cgi?id=9408
2116         Clean build fails with "make: *** No rule to make target `SVGElementFactory.cpp', needed by `all'. Stop"
2117
2118         * DerivedSources.make: Fix clean builds.
2119
2120 2006-06-11  Darin Adler  <darin@apple.com>
2121
2122         - another try at fixing Windows
2123
2124         * loader/CachedResource.h:
2125         * platform/cairo/GraphicsContextCairo.cpp:
2126         * platform/image-decoders/ImageDecoder.h:
2127         (WebCore::ImageDecoder::setData):
2128         * platform/image-decoders/gif/GIFImageDecoder.cpp:
2129         (WebCore::GIFImageDecoderPrivate::decode):
2130         (WebCore::GIFImageDecoder::setData):
2131         * platform/image-decoders/gif/GIFImageDecoder.h:
2132         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2133         (WebCore::JPEGImageReader::decode):
2134         (WebCore::JPEGImageDecoder::setData):
2135         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
2136         * platform/image-decoders/png/PNGImageDecoder.cpp:
2137         (WebCore::PNGImageReader::decode):
2138         (WebCore::PNGImageDecoder::setData):
2139         * platform/image-decoders/png/PNGImageDecoder.h:
2140         s/DeprecatedByteArray/Vector<char>/
2141
2142 2006-06-11  Darin Adler  <darin@apple.com>
2143
2144         - try to fix Windows build
2145
2146         * platform/cairo/ImageCairo.cpp: (WebCore::Image::loadResource):
2147         Use Vector<char> instead of DeprecatedByteArray.
2148
2149         * platform/win/TemporaryLinkStubs.cpp: (KWQServeSynchronousRequest):
2150         Don't try to return 0 from a function that returns a Vector<char>.
2151
2152 2006-06-11  Sam Weinig  <sam.weinig@gmail.com>
2153
2154         Reviewed by Hyatt, tweaked quite a bit and landed by Darin.
2155
2156         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8039
2157           Remove use of DeprecatedArray in favor of new Vector class
2158
2159         This removes most of the uses of DeprecatedArray and 
2160         DeprecatedByteArray, with the exception of DeprecatedCString.
2161
2162         No test cases added because there is no change in
2163         functionality.
2164
2165         * loader/CachedCSSStyleSheet.cpp:
2166         (WebCore::CachedCSSStyleSheet::data):
2167         * loader/CachedCSSStyleSheet.h:
2168         * loader/CachedImage.cpp:
2169         (WebCore::CachedImage::bufferData):
2170         (WebCore::CachedImage::data):
2171         (WebCore::CachedImage::checkNotify):
2172         (WebCore::CachedImage::shouldStopAnimation):
2173         * loader/CachedImage.h:
2174         * loader/CachedObject.cpp:
2175         (WebCore::CachedObject::bufferData):
2176         (WebCore::CachedObject::setExpireDate):
2177         * loader/CachedObject.h:
2178         (WebCore::CachedObject::setCharset):
2179         * loader/CachedScript.cpp:
2180         (WebCore::CachedScript::data):
2181         * loader/CachedScript.h:
2182         * loader/CachedXBLDocument.cpp:
2183         (WebCore::CachedXBLDocument::data):
2184         (WebCore::CachedXBLDocument::checkNotify):
2185         * loader/CachedXBLDocument.h:
2186         * loader/CachedXSLStyleSheet.cpp:
2187         (WebCore::CachedXSLStyleSheet::data):
2188         * loader/CachedXSLStyleSheet.h:
2189         * loader/Request.cpp:
2190         (WebCore::Request::Request):
2191         (WebCore::Request::~Request):
2192         * loader/Request.h:
2193         (WebCore::Request::buffer):
2194         (WebCore::Request::cachedObject):
2195         (WebCore::Request::docLoader):
2196         (WebCore::Request::isIncremental):
2197         (WebCore::Request::setIsIncremental):
2198         (WebCore::Request::isMultipart):
2199         (WebCore::Request::setIsMultipart):
2200         * loader/loader.cpp:
2201         (WebCore::crossDomain):
2202         (WebCore::Loader::Loader):
2203         (WebCore::Loader::load):
2204         (WebCore::Loader::servePendingRequests):
2205         (WebCore::Loader::receivedAllData):
2206         (WebCore::Loader::receivedResponse):
2207         (WebCore::Loader::receivedData):
2208         (WebCore::Loader::numRequests):
2209         (WebCore::Loader::cancelRequests):
2210         (WebCore::Loader::removeBackgroundDecodingRequest):
2211         (WebCore::Loader::jobForRequest):
2212         * platform/Image.cpp:
2213         (WebCore::Image::setData):
2214         * platform/Image.h:
2215         (WebCore::Image::dataBuffer):
2216
2217         * css/cssstyleselector.cpp:
2218         (WebCore::CSSStyleSelector::init):
2219         (WebCore::CSSStyleSelector::matchRules):
2220         (WebCore::CSSStyleSelector::matchRulesForList):
2221         (WebCore::CSSStyleSelector::sortMatchedRules):
2222         (WebCore::CSSStyleSelector::initForStyleResolve):
2223         (WebCore::CSSStyleSelector::createStyleForElement):
2224         (WebCore::CSSStyleSelector::createPseudoStyleForElement):
2225         * css/cssstyleselector.h:
2226         (WebCore::CSSStyleSelector::addMatchedRule):
2227         (WebCore::CSSStyleSelector::addMatchedDeclaration):
2228         * dom/xml_tokenizer.cpp:
2229         (WebCore::OffsetBuffer::OffsetBuffer):
2230         (WebCore::openFunc):
2231         * html/HTMLOptionElement.cpp:
2232         (WebCore::HTMLOptionElement::index):
2233         * html/HTMLSelectElement.cpp:
2234         (WebCore::HTMLSelectElement::selectedIndex):
2235         (WebCore::HTMLSelectElement::setSelectedIndex):
2236         (WebCore::HTMLSelectElement::length):
2237         (WebCore::HTMLSelectElement::remove):
2238         (WebCore::HTMLSelectElement::value):
2239         (WebCore::HTMLSelectElement::setValue):
2240         (WebCore::HTMLSelectElement::state):
2241         (WebCore::HTMLSelectElement::restoreState):
2242         (WebCore::HTMLSelectElement::appendFormData):
2243         (WebCore::HTMLSelectElement::optionToListIndex):
2244         (WebCore::HTMLSelectElement::listToOptionIndex):
2245         (WebCore::HTMLSelectElement::recalcListItems):
2246         (WebCore::HTMLSelectElement::reset):
2247         (WebCore::HTMLSelectElement::notifyOptionSelected):
2248         * html/HTMLSelectElement.h:
2249         (WebCore::HTMLSelectElement::listItems):
2250         * kwq/KWQLoader.h:
2251         * kwq/KWQLoader.mm:
2252         (KWQServeSynchronousRequest):
2253         * kwq/KWQTextStream.cpp:
2254         (QTextStream::operator<<):
2255         * kwq/KWQTextStream.h:
2256         * loader/FormData.cpp:
2257         (WebCore::FormData::flatten):
2258         (WebCore::FormData::flattenToString):
2259         * loader/FormData.h:
2260         (WebCore::FormDataElement::FormDataElement):
2261         * platform/DeprecatedString.cpp:
2262         * platform/DeprecatedString.h:
2263         * platform/IntPointArray.cpp: Removed.
2264         * platform/IntPointArray.h: Removed.
2265         * platform/TextEncoding.cpp:
2266         (WebCore::TextEncoding::toUnicode):
2267         * platform/TextEncoding.h:
2268         * platform/cairo/pixman/src/pixregion.c:
2269         * platform/cg/PathCG.cpp:
2270         (WebCore::Path::Path):
2271         * rendering/RenderObject.cpp:
2272         (WebCore::RenderObject::drawBorder):
2273         * rendering/RenderTable.h:
2274         (WebCore::RenderTable::colToEffCol):
2275         (WebCore::RenderTable::effColToCol):
2276         * rendering/RenderTableSection.cpp:
2277         (WebCore::RenderTableSection::ensureRows):
2278         (WebCore::RenderTableSection::addCell):
2279         (WebCore::RenderTableSection::setCellWidths):
2280         * rendering/RenderTableSection.h:
2281         * rendering/bidi.cpp:
2282         (WebCore::addMidpoint):
2283         (WebCore::RenderBlock::layoutInlineChildren):
2284         * rendering/render_form.cpp:
2285         (WebCore::RenderSelect::updateFromElement):
2286         (WebCore::RenderSelect::layout):
2287         (WebCore::RenderSelect::valueChanged):
2288         (WebCore::RenderSelect::selectionChanged):
2289         (WebCore::RenderSelect::updateSelection):
2290         * rendering/table_layout.cpp:
2291         (WebCore::FixedTableLayout::layout):
2292         * rendering/table_layout.h:
2293         * xml/XSLTProcessor.cpp:
2294         (WebCore::docLoaderFunc):
2295         * xml/xmlhttprequest.cpp:
2296         (WebCore::XMLHttpRequest::send):
2297         (WebCore::XMLHttpRequest::processSyncLoadResults):
2298         * xml/xmlhttprequest.h:
2299
2300 2006-06-11  David Kilzer  <ddkilzer@kilzer.net>
2301
2302         Reviewed by darin.
2303
2304         http://bugzilla.opendarwin.org/show_bug.cgi?id=9394
2305         Fix no-SVG build
2306
2307         * DerivedSources.make: Removed tabs. Create empty SVGElementFactory.cpp on no-svg build.
2308         * ksvg2/bindings/js/JSSVGElementWrapperFactory.cpp: Added #if SVG_SUPPORT/#endif.
2309         * ksvg2/bindings/js/JSSVGElementWrapperFactory.h: Ditto.
2310         * ksvg2/bindings/idl/svg/SVGAElement.idl: Add "Conditional=SVG" to all interfaces.
2311         * ksvg2/bindings/idl/svg/SVGAnimateColorElement.idl: Ditto.
2312         * ksvg2/bindings/idl/svg/SVGAnimateElement.idl: Ditto.
2313         * ksvg2/bindings/idl/svg/SVGAnimateTransformElement.idl: Ditto.
2314         * ksvg2/bindings/idl/svg/SVGAnimatedAngle.idl: Ditto.
2315         * ksvg2/bindings/idl/svg/SVGAnimatedBoolean.idl: Ditto.
2316         * ksvg2/bindings/idl/svg/SVGAnimatedEnumeration.idl: Ditto.
2317         * ksvg2/bindings/idl/svg/SVGAnimatedInteger.idl: Ditto.
2318         * ksvg2/bindings/idl/svg/SVGAnimatedLengthList.idl: Ditto.
2319         * ksvg2/bindings/idl/svg/SVGAnimatedNumber.idl: Ditto.
2320         * ksvg2/bindings/idl/svg/SVGAnimatedNumberList.idl: Ditto.
2321         * ksvg2/bindings/idl/svg/SVGAnimatedPathData.idl: Ditto.
2322         * ksvg2/bindings/idl/svg/SVGAnimatedPoints.idl: Ditto.
2323         * ksvg2/bindings/idl/svg/SVGAnimatedPreserveAspectRatio.idl: Ditto.
2324         * ksvg2/bindings/idl/svg/SVGAnimatedRect.idl: Ditto.
2325         * ksvg2/bindings/idl/svg/SVGAnimatedString.idl: Ditto.
2326         * ksvg2/bindings/idl/svg/SVGAnimatedTransformList.idl: Ditto.
2327         * ksvg2/bindings/idl/svg/SVGAnimationElement.idl: Ditto.
2328         * ksvg2/bindings/idl/svg/SVGCircleElement.idl: Ditto.
2329         * ksvg2/bindings/idl/svg/SVGClipPathElement.idl: Ditto.
2330         * ksvg2/bindings/idl/svg/SVGComponentTransferFunctionElement.idl: Ditto.
2331         * ksvg2/bindings/idl/svg/SVGCursorElement.idl: Ditto.
2332         * ksvg2/bindings/idl/svg/SVGDOMImplementation.idl: Ditto.
2333         * ksvg2/bindings/idl/svg/SVGDefsElement.idl: Ditto.
2334         * ksvg2/bindings/idl/svg/SVGDescElement.idl: Ditto.
2335         * ksvg2/bindings/idl/svg/SVGElementInstance.idl: Ditto.
2336         * ksvg2/bindings/idl/svg/SVGElementInstanceList.idl: Ditto.
2337         * ksvg2/bindings/idl/svg/SVGEllipseElement.idl: Ditto.
2338         * ksvg2/bindings/idl/svg/SVGEvent.idl: Ditto.
2339         * ksvg2/bindings/idl/svg/SVGException.idl: Ditto.
2340         * ksvg2/bindings/idl/svg/SVGExternalResourcesRequired.idl: Ditto.
2341         * ksvg2/bindings/idl/svg/SVGFEBlendElement.idl: Ditto.
2342         * ksvg2/bindings/idl/svg/SVGFEColorMatrixElement.idl: Ditto.
2343         * ksvg2/bindings/idl/svg/SVGFEComponentTransferElement.idl: Ditto.
2344         * ksvg2/bindings/idl/svg/SVGFECompositeElement.idl: Ditto.
2345         * ksvg2/bindings/idl/svg/SVGFEFloodElement.idl: Ditto.
2346         * ksvg2/bindings/idl/svg/SVGFEFuncAElement.idl: Ditto.
2347         * ksvg2/bindings/idl/svg/SVGFEFuncBElement.idl: Ditto.
2348         * ksvg2/bindings/idl/svg/SVGFEFuncGElement.idl: Ditto.
2349         * ksvg2/bindings/idl/svg/SVGFEFuncRElement.idl: Ditto.
2350         * ksvg2/bindings/idl/svg/SVGFEGaussianBlurElement.idl: Ditto.
2351         * ksvg2/bindings/idl/svg/SVGFEImageElement.idl: Ditto.
2352         * ksvg2/bindings/idl/svg/SVGFEMergeElement.idl: Ditto.
2353         * ksvg2/bindings/idl/svg/SVGFEMergeNodeElement.idl: Ditto.
2354         * ksvg2/bindings/idl/svg/SVGFEOffsetElement.idl: Ditto.
2355         * ksvg2/bindings/idl/svg/SVGFETileElement.idl: Ditto.
2356         * ksvg2/bindings/idl/svg/SVGFETurbulenceElement.idl: Ditto.
2357         * ksvg2/bindings/idl/svg/SVGFilterElement.idl: Ditto.
2358         * ksvg2/bindings/idl/svg/SVGFilterPrimitiveStandardAttributes.idl: Ditto.
2359         * ksvg2/bindings/idl/svg/SVGFitToViewBox.idl: Ditto.
2360         * ksvg2/bindings/idl/svg/SVGGElement.idl: Ditto.
2361         * ksvg2/bindings/idl/svg/SVGGradientElement.idl: Ditto.
2362         * ksvg2/bindings/idl/svg/SVGICCColor.idl: Ditto.
2363         * ksvg2/bindings/idl/svg/SVGImageElement.idl: Ditto.
2364         * ksvg2/bindings/idl/svg/SVGLangSpace.idl: Ditto.
2365         * ksvg2/bindings/idl/svg/SVGLengthList.idl: Ditto.
2366         * ksvg2/bindings/idl/svg/SVGLineElement.idl: Ditto.
2367         * ksvg2/bindings/idl/svg/SVGLinearGradientElement.idl: Ditto.
2368         * ksvg2/bindings/idl/svg/SVGLocatable.idl: Ditto.
2369         * ksvg2/bindings/idl/svg/SVGMarkerElement.idl: Ditto.
2370         * ksvg2/bindings/idl/svg/SVGNumberList.idl: Ditto.
2371         * ksvg2/bindings/idl/svg/SVGPaint.idl: Ditto.
2372         * ksvg2/bindings/idl/svg/SVGPathElement.idl: Ditto.
2373         * ksvg2/bindings/idl/svg/SVGPathSeg.idl: Ditto.
2374         * ksvg2/bindings/idl/svg/SVGPathSegArc.idl: Ditto.
2375         * ksvg2/bindings/idl/svg/SVGPathSegClosePath.idl: Ditto.
2376         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubic.idl: Ditto.
2377         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubicSmooth.idl: Ditto.
2378         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadratic.idl: Ditto.
2379         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadraticSmooth.idl: Ditto.
2380         * ksvg2/bindings/idl/svg/SVGPathSegLineto.idl: Ditto.
2381         * ksvg2/bindings/idl/svg/SVGPathSegLinetoHorizontal.idl: Ditto.
2382         * ksvg2/bindings/idl/svg/SVGPathSegLinetoVertical.idl: Ditto.
2383         * ksvg2/bindings/idl/svg/SVGPathSegList.idl: Ditto.
2384         * ksvg2/bindings/idl/svg/SVGPathSegMoveto.idl: Ditto.
2385         * ksvg2/bindings/idl/svg/SVGPatternElement.idl: Ditto.
2386         * ksvg2/bindings/idl/svg/SVGPointList.idl: Ditto.
2387         * ksvg2/bindings/idl/svg/SVGPolygonElement.idl: Ditto.
2388         * ksvg2/bindings/idl/svg/SVGPolylineElement.idl: Ditto.
2389         * ksvg2/bindings/idl/svg/SVGPreserveAspectRatio.idl: Ditto.
2390         * ksvg2/bindings/idl/svg/SVGRadialGradientElement.idl: Ditto.
2391         * ksvg2/bindings/idl/svg/SVGRectElement.idl: Ditto.
2392         * ksvg2/bindings/idl/svg/SVGRenderingIntent.idl: Ditto.
2393         * ksvg2/bindings/idl/svg/SVGScriptElement.idl: Ditto.
2394         * ksvg2/bindings/idl/svg/SVGSetElement.idl: Ditto.
2395         * ksvg2/bindings/idl/svg/SVGStopElement.idl: Ditto.
2396         * ksvg2/bindings/idl/svg/SVGStringList.idl: Ditto.
2397         * ksvg2/bindings/idl/svg/SVGStylable.idl: Ditto.
2398         * ksvg2/bindings/idl/svg/SVGStyleElement.idl: Ditto.
2399         * ksvg2/bindings/idl/svg/SVGSwitchElement.idl: Ditto.
2400         * ksvg2/bindings/idl/svg/SVGSymbolElement.idl: Ditto.
2401         * ksvg2/bindings/idl/svg/SVGTSpanElement.idl: Ditto.
2402         * ksvg2/bindings/idl/svg/SVGTests.idl: Ditto.
2403         * ksvg2/bindings/idl/svg/SVGTextContentElement.idl: Ditto.
2404         * ksvg2/bindings/idl/svg/SVGTextElement.idl: Ditto.
2405         * ksvg2/bindings/idl/svg/SVGTextPositioningElement.idl: Ditto.
2406         * ksvg2/bindings/idl/svg/SVGTitleElement.idl: Ditto.
2407         * ksvg2/bindings/idl/svg/SVGTransformList.idl: Ditto.
2408         * ksvg2/bindings/idl/svg/SVGTransformable.idl: Ditto.
2409         * ksvg2/bindings/idl/svg/SVGURIReference.idl: Ditto.
2410         * ksvg2/bindings/idl/svg/SVGUnitTypes.idl: Ditto.
2411         * ksvg2/bindings/idl/svg/SVGUseElement.idl: Ditto.
2412         * ksvg2/bindings/idl/svg/SVGViewElement.idl: Ditto.
2413         * ksvg2/bindings/idl/svg/SVGZoomAndPan.idl: Ditto.
2414         * ksvg2/bindings/idl/svg/SVGZoomEvent.idl: Ditto.
2415         * ksvg2/svg/SVGAngle.idl: Ditto.
2416         * ksvg2/svg/SVGAnimatedLength.idl: Ditto.
2417         * ksvg2/svg/SVGColor.idl: Ditto.
2418         * ksvg2/svg/SVGDocument.idl: Ditto.
2419         * ksvg2/svg/SVGElement.idl: Ditto.
2420         * ksvg2/svg/SVGEvent.idl: Ditto.
2421         * ksvg2/svg/SVGLength.idl: Ditto.
2422         * ksvg2/svg/SVGMatrix.idl: Ditto.
2423         * ksvg2/svg/SVGNumber.idl: Ditto.
2424         * ksvg2/svg/SVGPoint.idl: Ditto.
2425         * ksvg2/svg/SVGRect.idl: Ditto.
2426         * ksvg2/svg/SVGSVGElement.idl: Ditto.
2427         * ksvg2/svg/SVGTransform.idl: Ditto.
2428
2429 2006-06-11  Anders Carlsson  <acarlsson@apple.com>
2430
2431         Reviewed by Geoff.
2432
2433         http://bugzilla.opendarwin.org/show_bug.cgi?id=9390
2434         Move full-frame plugins to WebCore
2435         
2436         * WebCore.vcproj/WebCore/WebCore.vcproj:
2437         * WebCore.xcodeproj/project.pbxproj:
2438         Add PluginDocument
2439         
2440         * bridge/mac/FrameMac.h:
2441         * bridge/mac/FrameMac.mm:
2442         (WebCore::FrameMac::redirectDataToPlugin):
2443         Call the bridge.
2444         
2445         * bridge/mac/WebCoreFrameBridge.h:
2446         * bridge/mac/WebCoreFrameBridge.mm:
2447         Add redirectDataToPlugin which is used to redirect incoming data
2448         to a plugin.
2449         
2450         * bridge/mac/WebCoreViewFactory.h:
2451         Add pluginSupportsMIMEType which returns whether any plugins support a given MIME type.
2452         
2453         * dom/DOMImplementation.cpp:
2454         * dom/DOMImplementation.h:
2455         Get rid of createTextDocument and just create a text document explicitly when needed.
2456         
2457         * dom/Document.h:
2458         (WebCore::Document::isPluginDocument):
2459         * loader/PluginDocument.cpp: Added.
2460         (WebCore::PluginTokenizer::PluginTokenizer):
2461         (WebCore::PluginTokenizer::wantsRawData):
2462         (WebCore::PluginTokenizer::write):
2463         (WebCore::PluginTokenizer::createDocumentStructure):
2464         (WebCore::PluginTokenizer::writeRawData):
2465         (WebCore::PluginTokenizer::stopParsing):
2466         (WebCore::PluginTokenizer::finish):
2467         (WebCore::PluginTokenizer::isWaitingForScripts):
2468         (WebCore::PluginDocument::PluginDocument):
2469         (WebCore::PluginDocument::createTokenizer):
2470         * loader/PluginDocument.h: Added.
2471         (WebCore::PluginDocument::isPluginDocument):
2472         Add PluginDocument.
2473         
2474         * page/Frame.cpp:
2475         (WebCore::Frame::begin):
2476         Possibly create a plugin document.
2477         
2478         * page/Frame.h:
2479         (WebCore::Frame::redirectDataToPlugin):
2480         Add declaration.
2481         
2482         * platform/PlugInInfoStore.h:
2483         * platform/mac/PlugInInfoStoreMac.mm:
2484         (WebCore::PlugInInfoStore::supportsMIMEType):
2485         Ask WebCoreViewFactory if the MIME type is supported.
2486
2487 2006-06-10  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2488
2489         Reviewed by hyatt.
2490
2491         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9334
2492           Incomplete repaint when changing block from non-positioned to positioned
2493
2494         Test: fast/repaint/static-to-positioned.html
2495
2496         * rendering/RenderObject.cpp:
2497         (WebCore::RenderObject::setStyle): If changing from static to positioned, repaint
2498         as static.
2499
2500 2006-06-10  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2501
2502         Reviewed by hyatt.
2503
2504         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9193
2505           REGRESSION: setting an opacity on an element with an outline causes the outline to disappear completely
2506
2507         Test: fast/layers/opacity-outline.html
2508
2509         - fix repainting of layer children's outlines that extend beyond the layer
2510
2511         Test: fast/repaint/layer-child-outline.html
2512
2513         * rendering/RenderLayer.cpp:
2514         (WebCore::RenderLayer::intersectsDamageRect): Account for outlines.
2515         (WebCore::RenderLayer::absoluteBoundingBox): Ditto.
2516         * rendering/RenderObject.cpp:
2517         (WebCore::RenderObject::maximalOutlineSize): Changed to return the view's maximal
2518         outline size rather than 0 for PaintPhaseChildOutlines.
2519
2520 2006-06-10  Steve Falkenburg  <sfalken@apple.com>
2521
2522         Fix build break
2523
2524         * platform/cairo/GraphicsContextCairo.cpp:
2525         * platform/win/TemporaryLinkStubs.cpp:
2526         (GraphicsContext::scale):
2527
2528 2006-06-10  Geoffrey Garen  <ggaren@apple.com>
2529
2530         - http://bugzilla.opendarwin.org/show_bug.cgi?id=8515
2531         Linux porting compile bug
2532         
2533         Fix by Mike Emmel, Reviewed by Darin.
2534
2535         * Projects/gdk/webcore-gdk.bkl:
2536         * WebCoreSources.bkl:
2537         * css/maketokenizer:
2538         * html/HTMLCanvasElement.cpp:
2539         * html/HTMLImageElement.h:
2540         * icon/IconDatabase.cpp:
2541         * make-generated-sources.sh:
2542         * page/Frame.h:
2543         * page/FramePrivate.h:
2544         * platform/Cursor.h:
2545         * platform/FontData.h:
2546         (WebCore::FontData::getGlyphIndex):
2547         * platform/GlyphBuffer.h:
2548         (WebCore::GlyphBuffer::glyphAt):
2549         (WebCore::GlyphBuffer::advanceAt):
2550         (WebCore::GlyphBuffer::add):
2551         * platform/GraphicsContext.h:
2552         * platform/PlatformKeyboardEvent.h:
2553         * platform/PlatformMouseEvent.h:
2554         * platform/PlatformWheelEvent.h:
2555         * platform/ScrollView.h:
2556         * platform/TransferJob.h:
2557         (WebCore::TransferJob::getInternal):
2558         * platform/TransferJobInternal.h:
2559         (WebCore::TransferJobInternal::TransferJobInternal):
2560         * platform/Widget.h:
2561         * platform/cairo/GraphicsContextCairo.cpp:
2562         (WebCore::GraphicsContext::GraphicsContext):
2563         (WebCore::GraphicsContext::roundToDevicePixels):
2564         * webcore-base.bkl:
2565         * xpath/impl/XPathValue.cpp:
2566
2567 2006-06-09  John Sullivan  <sullivan@apple.com>
2568
2569         Reviewed by Tim Omernick and Dave Hyatt.
2570
2571         WebCore support for computing but not highlighting rects for text matches.
2572
2573         * dom/Document.h:
2574         added setRenderedRectForMarker() and renderedRectsForMarkers(), and redefined
2575         MarkerMap to be a hashtable of node -> (pair of vectors), one vector of markers
2576         and one vector of rects
2577         
2578         * dom/Document.cpp:
2579         (placeholderRectForMarker()):
2580         new function, returns a recognizable degenerate rect used until a real rect has been set
2581         (WebCore::Document::addMarker):
2582         Reworked for new MarkerMap data structure; now adds parallel placeholder rect
2583         along with marker
2584         (WebCore::Document::copyMarkers):
2585         Reworked for new MarkerMap data structure
2586         (WebCore::Document::removeMarkers):
2587         Reworked for new MarkerMap data structure; now removed corresponding rect along
2588         with marker
2589         (WebCore::Document::markersForNode):
2590         Reworked for new MarkerMap data structure
2591         (WebCore::Document::renderedRectsForMarkers):
2592         New method, returns an array of all non-placeholder rects for the given marker type
2593         (WebCore::Document::repaintMarkers):
2594         Reworked for new MarkerMap data structure
2595         (WebCore::Document::setRenderedRectForMarker):
2596         New method, sets the rendered rect for a given marker
2597         (WebCore::Document::shiftMarkers):
2598         Reworked for new MarkerMap data structure; resets rendered rects to placeholders.
2599         
2600         * rendering/InlineTextBox.cpp:
2601         (WebCore::InlineTextBox::paint):
2602         removed markedTextMatchesAreHighlighted guard; we always want to call paintTextMatchMarker
2603         now, but sometimes we will end up only computing the rect, not actually highlighting it.
2604         (Maybe some names should be improved here?)
2605         (WebCore::InlineTextBox::paintTextMatchMarker):
2606         Reorganized to move all the code that actually draws into a block that's guarded by
2607         markedTextMatchesAreHighlighted. The rest of the code computes where the highlight will
2608         go, and now we always use that computation in order to call setRenderedRectForMarker.
2609
2610         * bridge/mac/WebCoreFrameBridge.h:
2611         * bridge/mac/WebCoreFrameBridge.mm:
2612         (-[WebCoreFrameBridge rectsForTextMatches]):
2613         New method, returns an array of NSValues representing NSRects. Gets them
2614         from Document::renderedRectsForMarkers
2615         
2616 2006-06-10  Anders Carlsson  <acarlsson@apple.com>
2617
2618         Reviewed by Eric.
2619
2620         * bindings/js/kjs_html.cpp:
2621         (KJS::JSHTMLElement::put):
2622         Call WebCore::JSHTMLElement::put so that autogenerated setters will work 
2623         for HTMLElement.
2624
2625 2006-06-09  Geoffrey Garen  <ggaren@apple.com>
2626
2627         - Build fix after last JSC check-in (oops!)
2628         
2629         * bridge/mac/WebCoreScriptDebugger.mm:
2630         (-[WebCoreScriptCallFrame scopeChain]):
2631         (-[WebCoreScriptCallFrame functionName]):
2632         (-[WebCoreScriptCallFrame evaluateWebScript:]):
2633
2634 2006-06-09  David Hyatt  <hyatt@apple.com>
2635
2636         Rename m_isFocused on the frame to m_isActive, since it isn't really
2637         about focus but is instead about whether or not the top-level window is
2638         active.
2639
2640         Pull code that was incorrectly factored into Mac-only code out of FrameMac
2641         and back up into Frame.
2642
2643         Reviewed by andersca
2644
2645         * bridge/mac/FrameMac.h:
2646         * bridge/mac/FrameMac.mm:
2647         * page/Frame.cpp:
2648         (WebCore::Frame::setFocusNodeIfNeeded):
2649         (WebCore::Frame::isActive):
2650         (WebCore::Frame::setIsActive):
2651         * page/FramePrivate.h:
2652         (WebCore::FramePrivate::FramePrivate):
2653
2654 2006-06-09  David Hyatt  <hyatt@apple.com>
2655
2656         Rework selection coloring.  Rename displaysWithFocusAttributes
2657         to isActive.  Move the white-blending code onto the Color API to make
2658         it more convenient to mutate colors for selection blending.  Eliminate all
2659         the selection state from the GraphicsContext and move it to the RenderTheme.
2660         Implement both Win32 and Mac theme selection colors.
2661
2662         Reviewed by sfalken
2663
2664         * bridge/mac/FrameMac.h:
2665         * bridge/mac/FrameMac.mm:
2666         (WebCore::FrameMac::setIsActive):
2667         * bridge/mac/WebCoreFrameBridge.h:
2668         * bridge/mac/WebCoreFrameBridge.mm:
2669         (-[WebCoreFrameBridge drawRect:]):
2670         (-[WebCoreFrameBridge setIsActive:]):
2671         (-[WebCoreFrameBridge selectionColor]):
2672         * css/cssstyleselector.cpp:
2673         (WebCore::CSSStyleSelector::checkOneSelector):
2674         * page/Frame.cpp:
2675         (WebCore::Frame::isActive):
2676         (WebCore::Frame::setIsActive):
2677         * page/Frame.h:
2678         * platform/Color.cpp:
2679         (WebCore::blend):
2680         (WebCore::Color::blendWithWhite):
2681         * platform/Color.h:
2682         (WebCore::Color::hasAlpha):
2683         * platform/GraphicsContext.cpp:
2684         (WebCore::GraphicsContextPrivate::GraphicsContextPrivate):
2685         * platform/GraphicsContext.h:
2686         * platform/mac/GraphicsContextMac.mm:
2687         * platform/win/TemporaryLinkStubs.cpp:
2688         (GraphicsContext::endTransparencyLayer):
2689         * rendering/InlineTextBox.cpp:
2690         (WebCore::InlineTextBox::paintSelection):
2691         * rendering/RenderBlock.cpp:
2692         (WebCore::RenderBlock::fillHorizontalSelectionGap):
2693         (WebCore::RenderBlock::fillVerticalSelectionGap):
2694         (WebCore::RenderBlock::fillLeftSelectionGap):
2695         (WebCore::RenderBlock::fillRightSelectionGap):
2696         * rendering/RenderHTMLCanvas.cpp:
2697         (WebCore::RenderHTMLCanvas::paint):
2698         * rendering/RenderImage.cpp:
2699         (WebCore::RenderImage::paint):
2700         * rendering/RenderListMarker.cpp:
2701         (WebCore::RenderListMarker::paint):
2702         * rendering/RenderListMarker.h:
2703         * rendering/RenderObject.cpp:
2704         (WebCore::RenderObject::selectionColor):
2705         * rendering/RenderObject.h:
2706         * rendering/RenderReplaced.cpp:
2707         * rendering/RenderReplaced.h:
2708         * rendering/RenderTheme.cpp:
2709         (WebCore::RenderTheme::activeSelectionColor):
2710         (WebCore::RenderTheme::inactiveSelectionColor):
2711         (WebCore::RenderTheme::platformActiveSelectionColor):
2712         (WebCore::RenderTheme::platformInactiveSelectionColor):
2713         * rendering/RenderTheme.h:
2714         * rendering/RenderThemeMac.h:
2715         * rendering/RenderThemeMac.mm:
2716         (WebCore::RenderThemeMac::platformActiveSelectionColor):
2717         (WebCore::RenderThemeMac::platformInactiveSelectionColor):
2718         * rendering/RenderThemeWin.cpp:
2719         (WebCore::RenderThemeWin::platformActiveSelectionColor):
2720         (WebCore::RenderThemeWin::platformInactiveSelectionColor):
2721         * rendering/RenderThemeWin.h:
2722         * rendering/RenderWidget.cpp:
2723         (WebCore::RenderWidget::paint):
2724
2725 2006-06-09  Justin Garcia  <justin.garcia@apple.com>
2726
2727         Reviewed by levi
2728         
2729         <rdar://problem/4549980>
2730         REGRESSION: "Find Again" can get stuck when searching for string with a trailing space
2731
2732         * bridge/mac/FrameMac.h: Moved findString to Frame.
2733         * bridge/mac/FrameMac.mm: Ditto.
2734         * bridge/mac/WebCoreFrameBridge.mm:
2735         (-[WebCoreFrameBridge searchFor:direction:caseSensitive:wrap:]): 
2736         Convert the NSString to a String.
2737         * editing/JSEditor.cpp: Added execCommand(FindString, ...)
2738         * editing/Selection.cpp: Added a constructor for Ranges
2739         (WebCore::Selection::Selection): 
2740         * editing/Selection.h:
2741         * page/Frame.cpp:
2742         (WebCore::Frame::findString): Moved from FrameMac.  Compare a selection created 
2743         using the found range with the current selection in case the current selection is
2744         the found range minus some collapsed whitespace on the edges.
2745         * page/Frame.h:
2746
2747 2006-06-09  Steve Falkenburg  <sfalken@apple.com>
2748
2749         Fix build break
2750
2751         * WebCore.vcproj/WebCore/WebCore.vcproj:
2752         * css/MediaQueryEvaluator.cpp:
2753         * platform/win/TemporaryLinkStubs.cpp:
2754         (GraphicsContext::addRoundedRectClip):
2755         (GraphicsContext::addInnerRoundedRectClip):
2756         (WebCore::screenDepthPerComponent):
2757         (WebCore::screenIsMonochrome):
2758
2759 2006-06-09  Kimmo Kinnunen  <kimmo.t.kinnunen@nokia.com>
2760
2761         Reviewed by Hyatt. Tweaked by Maciej. Tweaks reviewed by Beth. 
2762         Landed by Beth.
2763
2764         CSS3 Media Queries implementation.
2765         <http://bugzilla.opendarwin.org/show_bug.cgi?id=4127>
2766
2767         * WebCore.xcodeproj/project.pbxproj:
2768         * bindings/js/kjs_css.cpp:
2769         (KJS::DOMMediaList::put):
2770         (KJS::KJS::DOMMediaListProtoFunc::callAsFunction):
2771         * bindings/objc/DOMCSS.mm:
2772         (-[DOMMediaList setMediaText:]):
2773         (-[DOMMediaList deleteMedium:]):
2774         (-[DOMMediaList appendMedium:]):
2775         * css/CSSGrammar.y:
2776         * css/MediaFeatureNames.cpp: Added.
2777         (WebCore::MediaFeatureNames::init):
2778         * css/MediaFeatureNames.h: Added.
2779         * css/MediaList.cpp:
2780         (WebCore::MediaList::MediaList):
2781         (WebCore::MediaList::~MediaList):
2782         (WebCore::parseMediaDescriptor):
2783         (WebCore::MediaList::deleteMedium):
2784         (WebCore::MediaList::mediaText):
2785         (WebCore::MediaList::setMediaText):
2786         (WebCore::MediaList::item):
2787         (WebCore::MediaList::appendMedium):
2788         (WebCore::MediaList::appendMediaQuery):
2789         * css/MediaList.h:
2790         (WebCore::MediaList::MediaList):
2791         (WebCore::MediaList::length):
2792         (WebCore::MediaList::mediaQueries):
2793         * css/MediaQuery.cpp: Added.
2794         (WebCore::MediaQuery::MediaQuery):
2795         (WebCore::MediaQuery::~MediaQuery):
2796         (WebCore::MediaQuery::operator==):
2797         (WebCore::MediaQuery::cssText):
2798         * css/MediaQuery.h: Added.
2799         (WebCore::MediaQuery::):
2800         (WebCore::MediaQuery::restrictor):
2801         (WebCore::MediaQuery::expressions):
2802         (WebCore::MediaQuery::mediaType):
2803         (WebCore::MediaQuery::append):
2804         * css/MediaQueryEvaluator.cpp: Added.
2805         (WebCore::):
2806         (WebCore::MediaQueryEvaluator):
2807         (WebCore::MediaQueryEvaluator::~MediaQueryEvaluator):
2808         (WebCore::MediaQueryEvaluator::mediaTypeMatch):
2809         (WebCore::applyRestrictor):
2810         (WebCore::MediaQueryEvaluator::eval):
2811         (WebCore::parseAspectRatio):
2812         (WebCore::cmpvalue):
2813         (WebCore::numberValue):
2814         (WebCore::colorMediaFeatureEval):
2815         (WebCore::monochromeMediaFeatureEval):
2816         (WebCore::device_aspect_ratioMediaFeatureEval):
2817         (WebCore::gridMediaFeatureEval):
2818         (WebCore::device_heightMediaFeatureEval):
2819         (WebCore::device_widthMediaFeatureEval):
2820         (WebCore::heightMediaFeatureEval):
2821         (WebCore::widthMediaFeatureEval):
2822         (WebCore::min_colorMediaFeatureEval):
2823         (WebCore::max_colorMediaFeatureEval):
2824         (WebCore::min_monochromeMediaFeatureEval):
2825         (WebCore::max_monochromeMediaFeatureEval):
2826         (WebCore::min_device_aspect_ratioMediaFeatureEval):
2827         (WebCore::max_device_aspect_ratioMediaFeatureEval):
2828         (WebCore::min_heightMediaFeatureEval):
2829         (WebCore::max_heightMediaFeatureEval):
2830         (WebCore::min_widthMediaFeatureEval):
2831         (WebCore::max_widthMediaFeatureEval):
2832         (WebCore::min_device_heightMediaFeatureEval):
2833         (WebCore::max_device_heightMediaFeatureEval):
2834         (WebCore::min_device_widthMediaFeatureEval):
2835         (WebCore::max_device_widthMediaFeatureEval):
2836         (WebCore::createFunctionMap):
2837         * css/MediaQueryEvaluator.h: Added.
2838         * css/MediaQueryExp.cpp: Added.
2839         (WebCore::MediaQueryExp::MediaQueryExp):
2840         (WebCore::MediaQueryExp::~MediaQueryExp):
2841         * css/MediaQueryExp.h: Added.
2842         (WebCore::MediaQueryExp::mediaFeature):
2843         (WebCore::MediaQueryExp::value):
2844         (WebCore::MediaQueryExp::operator==):
2845         * css/StyleSheet.cpp:
2846         (WebCore::StyleSheet::setMedia):
2847         * css/cssparser.cpp:
2848         (WebCore::CSSParser::CSSParser):
2849         (WebCore::CSSParser::~CSSParser):
2850         (WebCore::CSSParser::setupParser):
2851         (WebCore::CSSParser::parseMediaQuery):
2852         (WebCore::CSSParser::createFloatingMediaQueryExp):
2853         (WebCore::CSSParser::sinkFloatingMediaQueryExp):
2854         (WebCore::CSSParser::createFloatingMediaQueryExpList):
2855         (WebCore::CSSParser::sinkFloatingMediaQueryExpList):
2856         (WebCore::CSSParser::createFloatingMediaQuery):
2857         (WebCore::CSSParser::sinkFloatingMediaQuery):
2858         * css/cssparser.h:
2859         * css/cssstyleselector.cpp:
2860         (WebCore::CSSStyleSelector::CSSStyleSelector):
2861         (WebCore::CSSStyleSelector::init):
2862         (WebCore::CSSStyleSelector::~CSSStyleSelector):
2863         (WebCore::CSSStyleSelector::loadDefaultStyle):
2864         (WebCore::CSSStyleSelector::matchUARules):
2865         (WebCore::CSSStyleSelector::styleForElement):
2866         (WebCore::CSSStyleSelector::pseudoStyleForElement):
2867         (WebCore::CSSStyleSelector::updateFont):
2868         (WebCore::CSSStyleSelector::cacheBorderAndBackground):
2869         (WebCore::CSSStyleSelector::styleRulesForElement):
2870         (WebCore::CSSRuleSet::addRulesFromSheet):
2871         * css/cssstyleselector.h:
2872         * css/maketokenizer:
2873         * css/tokenizer.flex:
2874         * dom/DOMImplementation.cpp:
2875         (WebCore::DOMImplementation::createCSSStyleSheet):
2876         * html/HTMLLinkElement.cpp:
2877         (WebCore::HTMLLinkElement::process):
2878         (WebCore::HTMLLinkElement::setStyleSheet):
2879         * html/HTMLStyleElement.cpp:
2880         (WebCore::HTMLStyleElement::childrenChanged):
2881         * ksvg2/svg/SVGDOMImplementation.cpp:
2882         (SVGDOMImplementation::createCSSStyleSheet):
2883         * ksvg2/svg/SVGStyleElement.cpp:
2884         (WebCore::SVGStyleElement::childrenChanged):
2885         * page/Frame.cpp:
2886         (WebCore::Frame::Frame):
2887         * platform/Screen.h:
2888         * platform/mac/ScreenMac.mm:
2889         (WebCore::screenDepthPerComponent):
2890         (WebCore::screenIsMonochrome):
2891
2892 2006-06-08  Levi Weintraub  <lweintraub@apple.com>
2893
2894         Reviewed by justin
2895         
2896         <http://bugzilla.opendarwin.org/show_bug.cgi?id=4468>
2897         Implement execCommand(Insert{Un}OrderedList)
2898
2899         * WebCore.xcodeproj/project.pbxproj: Added InsertListCommand.{h,cpp} to the project.
2900         * dom/Position.cpp:
2901         (WebCore::hasRenderedNonAnonymousDescendantsWithHeight): 
2902         Added. A block with height is only a candidate if this is false.  This should fix the problems
2903         getting carets into empty blocks.
2904         (WebCore::Position::inRenderedContent):
2905         * editing/AppendNodeCommand.cpp:
2906         (WebCore::AppendNodeCommand::doApply):
2907         * editing/CompositeEditCommand.cpp:
2908         (WebCore::hasARenderedDescendant):
2909         (WebCore::CompositeEditCommand::prune): A node can have DOM descendants that are rendered, yet
2910         have a renderer with no descendants.  Fixed the pruning rule to avoid removing a node like this.
2911         (WebCore::CompositeEditCommand::mergeIdenticalElements): Put the two elements next to
2912         each other if they aren't already, as a convenience.
2913         (WebCore::CompositeEditCommand::moveParagraph): Added code to preserve the current selection.
2914         (WebCore::CompositeEditCommand::moveParagraphs): Ditto. 
2915         * editing/CompositeEditCommand.h:
2916         * editing/DeleteSelectionCommand.cpp:
2917         (WebCore::DeleteSelectionCommand::initializeStartEnd): Expansion for special elements should
2918         continue to happen until it is no longer possible.
2919         (WebCore::DeleteSelectionCommand::handleGeneralDelete): The code to adjust the start node
2920         wouldn't always avoid removing the start block.
2921         * editing/InsertListCommand.cpp: Added.
2922         (WebCore::InsertListCommand::fixOrphanedListChild): Puts a list item that isn't inside a list
2923         into a list.
2924         (WebCore::InsertListCommand::InsertListCommand):
2925         (WebCore::InsertListCommand::modifyRange):
2926         (WebCore::InsertListCommand::doApply):
2927         * editing/InsertListCommand.h: Added.
2928         (WebCore::InsertListCommand::):
2929         * editing/InsertNodeBeforeCommand.cpp:
2930         (WebCore::InsertNodeBeforeCommand::doApply):
2931         * editing/InsertParagraphSeparatorCommand.cpp:
2932         * editing/JSEditor.cpp:
2933         * editing/TextIterator.cpp:
2934         (WebCore::TextIterator::advance): Don't handle a node if the end of the range used to create the 
2935         iterator ends at the start of that node.
2936         * editing/VisiblePosition.cpp:
2937         (WebCore::VisiblePosition::next):
2938         (WebCore::VisiblePosition::previous):
2939         * editing/VisiblePosition.h: 
2940         Added a parameter to next/previous that can prevent them from leaving the current editable region.
2941         * editing/htmlediting.cpp:
2942         (WebCore::highestAncestor):
2943         (WebCore::enclosingList):
2944         (WebCore::enclosingListChild):
2945         (WebCore::outermostEnclosingList):
2946         (WebCore::createListItemElement):
2947         * editing/htmlediting.h:
2948         * page/Frame.cpp:
2949         (WebCore::Frame::selectionListState): Added.
2950         * page/Frame.h:
2951
2952 2006-06-08  David Harrison  <harrison@apple.com>
2953
2954         Reviewed by Geoff and John.
2955
2956         <rdar://problem/4558879> -[DOMCSSPrimitiveValue setStringValue:] throws an exception (12)
2957         
2958         Problem was the primitive value was getting reset to a generic state before the parameter
2959         check that relies on that state.
2960
2961         Test: fast/dom/setPrimitiveValue.html
2962
2963         * css/CSSPrimitiveValue.cpp:
2964         (WebCore::CSSPrimitiveValue::setFloatValue):
2965         (WebCore::CSSPrimitiveValue::setStringValue):
2966         Move parameter checks ahead of call to cleanup().
2967
2968 2006-06-08  Alice Liu  <alice.liu@apple.com>
2969
2970         Reviewed by justin.
2971
2972         - fixed <rdar://problem/4578115> support Range.isPointInRange
2973         - fixed <rdar://problem/4578123> support Range.comparePoint
2974
2975         * dom/Range.cpp:
2976         (WebCore::Range::isPointInRange):
2977         added implementation
2978         (WebCore::Range::comparePoint):
2979         added implementation
2980         * dom/Range.h:
2981         added prototypes
2982         * dom/Range.idl:
2983         added bindings
2984
2985 2006-06-08  Darin Adler  <darin@apple.com>
2986
2987         Reviewed by justin.
2988
2989         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8616
2990           REGRESSION: TinyMCE: Crash on Undo
2991
2992         * bridge/mac/WebCoreFrameBridge.mm:
2993         (-[WebCoreFrameBridge getInnerNonSharedNode:innerNode:URLElement:atPoint:allowShadowContent:]):
2994         Changed to call nodeInfoAtPoint directly.
2995         (-[WebCoreFrameBridge _visiblePositionForPoint:]): Changed to call nodeInfoAtPoint directly.
2996         Also added code to convert coordinates so it works for points that are in nodes in subframes.
2997
2998         * page/Frame.cpp:
2999         (WebCore::Frame::setMark): Added assertions to catch if we attempt to set selection
3000         endpoints in another document.
3001         (WebCore::Frame::setSelection): Ditto.
3002
3003 2006-06-07  Justin Garcia  <justin.garcia@apple.com>
3004
3005         Reviewed by levi
3006         
3007         Fixed some comments and removed an unused variable.
3008
3009         * editing/CompositeEditCommand.cpp:
3010         (WebCore::CompositeEditCommand::removeBlockPlaceholder):
3011         Don't remove a br if it isn't at the start of a block, since
3012         it isn't really a "block placeholder".
3013         * editing/DeleteSelectionCommand.cpp:
3014         (WebCore::DeleteSelectionCommand::initializePositionData):
3015         (WebCore::DeleteSelectionCommand::mergeParagraphs):
3016         (WebCore::DeleteSelectionCommand::doApply):
3017         * editing/InsertLineBreakCommand.cpp:
3018         (WebCore::InsertLineBreakCommand::doApply):
3019         * editing/ReplaceSelectionCommand.cpp:
3020         (WebCore::ReplaceSelectionCommand::doApply):
3021         (WebCore::ReplaceSelectionCommand::completeHTMLReplacement):
3022         * editing/htmlediting.cpp:
3023
3024 2006-06-07  David Hyatt  <hyatt@apple.com>
3025
3026         Add support for custom highlighting.  This is all ifdefed to be Mac-only.
3027
3028         Reviewed by justin
3029
3030         * WebCore.xcodeproj/project.pbxproj:
3031         * bridge/mac/FrameMac.h:
3032         * bridge/mac/FrameMac.mm:
3033         (WebCore::FrameMac::paintCustomHighlight):
3034         * bridge/mac/WebCoreFrameBridge.h:
3035         * platform/mac/ClipboardMac.h:
3036         * rendering/InlineTextBox.cpp:
3037         (WebCore::InlineTextBox::paint):
3038         (WebCore::InlineTextBox::paintCustomHighlight):
3039         * rendering/InlineTextBox.h:
3040
3041 2006-06-07  Adele Peterson  <adele@apple.com>
3042
3043         Reviewed by Hyatt 
3044
3045         Added support for cross-platform resize property.
3046
3047         * platform/PlatformMouseEvent.h: Removed isMouseButtonDown, since we
3048         already cache this info when we handle mouse down and mouse up.
3049         * platform/mac/MouseEventMac.mm: ditto.
3050         * platform/win/TemporaryLinkStubs.cpp: ditto.
3051
3052         * page/Frame.cpp:
3053         (WebCore::Frame::autoscrollTimerFired): Use d->m_bMousePressed instead of isMouseButtonDown.
3054         * page/FrameView.cpp:
3055         (WebCore::FrameView::handleMouseMoveEvent): Passes event to layer resize method.
3056         (WebCore::FrameView::mousePressed): Added.
3057         * page/FrameView.h: Added mousePressed.
3058
3059         * rendering/RenderTheme.h: Removed paintResizeControl.
3060         Since its not dependent on the theme, the layer can just paint this.
3061         * rendering/RenderTheme.cpp: ditto.
3062         * rendering/RenderLayer.cpp:
3063         (WebCore::RenderLayer::RenderLayer): Initializes m_resizeCornerImage.
3064         (WebCore::RenderLayer::~RenderLayer): Deletes m_resizeCornerImage.
3065         (WebCore::RenderLayer::resize): Uses passed in event instead of creating a new one.
3066         (WebCore::RenderLayer::paintResizeControl): Now loads and paints the resize image.
3067         * rendering/RenderLayer.h: Added m_resizeCornerImage.  Important to have one per-layer for when we allow
3068         more customization.
3069
3070         * platform/cairo/ImageCairo.cpp:
3071         (WebCore::Image::loadResource): Loads image resources.
3072
3073 2006-06-07  David Hyatt  <hyatt@apple.com>
3074
3075         Add support for a new property for custom highlighting.  This patch just
3076         adds support for the parsing of the property.  It doesn't do anything yet.
3077
3078         Reviewed by beth
3079
3080         * css/CSSComputedStyleDeclaration.cpp:
3081         (WebCore::):
3082         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3083         * css/CSSPropertyNames.in:
3084         * css/cssparser.cpp:
3085         (WebCore::CSSParser::parseValue):
3086         * css/cssstyleselector.cpp:
3087         (WebCore::CSSStyleSelector::applyProperty):
3088         * rendering/render_style.cpp:
3089         (WebCore::StyleCSS3InheritedData::StyleCSS3InheritedData):
3090         (WebCore::StyleCSS3InheritedData::operator==):
3091         (WebCore::RenderStyle::diff):
3092         * rendering/render_style.h:
3093         (WebCore::RenderStyle::highlight):
3094         (WebCore::RenderStyle::setHighlight):
3095         (WebCore::RenderStyle::initialHighlight):
3096
3097 2006-06-07  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3098
3099         Fix suggested by Rob Buis. Reviewed by Darin.
3100
3101         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9341
3102           REGRESSION: Repro crash caused by style="font:bold"
3103
3104         Test: fast/css/font-shorthand-weight-only.html
3105
3106         * css/cssparser.cpp: (WebCore::CSSParser::parseFont): Revert part of the change
3107         made to fix bug 5564.
3108
3109 2006-06-07  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3110
3111         Reviewed by Hyatt.
3112
3113         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9122
3114           REGRESSION: Incorrect vertical position for text fields in a "display: table" block
3115
3116         Test: fast/table/text-field-baseline.html
3117
3118         * rendering/RenderTableCell.cpp:
3119         (WebCore::RenderTableCell::baselinePosition): Do not descend into replaced objects, just
3120         use their baseline.
3121
3122 2006-06-07  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3123
3124         Reviewed by Hyatt (concept) and Darin (some coding details).
3125
3126         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=4334
3127           REGRESSION: Flickering when css-hover should change opacity on floating elements
3128
3129         Pixel test: fast/block/float/nopaint-after-layer-destruction.html
3130
3131         * rendering/RenderBlock.cpp:
3132         (WebCore::RenderBlock::setPaintsFloatingObject): Added. Changes the noPaint flag
3133         in the block's FloatingObject for the given float and calls setChildNeedsLayout.
3134         * rendering/RenderBlock.h:
3135         * rendering/RenderBox.cpp:
3136         (WebCore::blockThatPaintsFloat): Added this helper function.
3137         (WebCore::RenderBox::setStyle): Added. Calls to setPaintsFloatingObject when a float
3138         gains or loses its layer.
3139
3140 2006-06-06  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3141
3142         Reviewed by Hyatt.
3143
3144         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9121
3145           REGRESSION: [Incremental Repaint] DHTML movement test failures
3146
3147         Test (repaint): fast/repaint/containing-block-position-change.html
3148
3149         * manual-tests/containing-block-position-chage.html: Added.
3150         * rendering/RenderBlock.cpp:
3151         (WebCore::RenderBlock::layoutBlock): Unrelated change: fixed typo from
3152         the RenderCanvas to RenderView rename.
3153         (WebCore::RenderBlock::removePositionedObject): Added a return immediately
3154         after removing the object.
3155         (WebCore::RenderBlock::removePositionedObjects): Added.
3156         * rendering/RenderBlock.h:
3157         * rendering/RenderObject.cpp:
3158         (WebCore::RenderObject::setStyle): Added code to remove absolutely positioned
3159         descendants from the positioned objects list of their current containing block
3160         when they are going to have a new one as a result of this block's position
3161         property changing. 
3162         * rendering/RenderObject.h:
3163         (WebCore::RenderObject::removePositionedObjects):
3164
3165 2006-06-06  Justin Garcia  <justin.garcia@apple.com>
3166
3167         Reviewed by levi
3168
3169         * dom/Node.cpp:
3170         (WebCore::Node::firstDescendant): Added.
3171         * dom/Node.h:
3172         * dom/Range.cpp: Added a constructor that takes in Positions.
3173         (WebCore::Range::Range):
3174         * dom/Range.h:
3175         * editing/CompositeEditCommand.cpp:
3176         (WebCore::CompositeEditCommand::insertNodeAt): 
3177         Let this function insert children into empty containers.  
3178         Calls canHaveChildrenForEditing.
3179         (WebCore::CompositeEditCommand::appendNode): Assert that the parent canHaveChildrenForEditing.
3180         (WebCore::CompositeEditCommand::moveParagraph): Tell ReplaceSelectionCommand to select the 
3181         replacement so that moveParagraph's callers have a valid destination after the move.
3182         * editing/CompositeEditCommand.h: Moved removeFullySelectedNode to DeleteSelectionCommand,
3183         made deleteTextFromNode virtual so that DeleteSelectionCommand can update it's endingPosition.
3184         * editing/DeleteSelectionCommand.cpp:
3185         (WebCore::DeleteSelectionCommand::DeleteSelectionCommand): 
3186         Removed m_startNode, used a local variable.
3187         (WebCore::DeleteSelectionCommand::initializeStartEnd): Fixed special element expansion.
3188         (WebCore::DeleteSelectionCommand::initializePositionData): Compute the endingPosition up
3189         front and keep track of it as nodes and text are removed.
3190         (WebCore::DeleteSelectionCommand::handleSpecialCaseBRDelete): Removed use of m_startNode.
3191         (WebCore::DeleteSelectionCommand::removeFullySelectedNode): Moved from CompositeEditCommand.
3192         Update m_endingPosition as we remove nodes.
3193         (WebCore::DeleteSelectionCommand::deleteTextFromNode): 
3194         Update m_endingPosition as we delete text.
3195         (WebCore::DeleteSelectionCommand::handleGeneralDelete): Retain the start block.  Cleaned up.
3196         (WebCore::DeleteSelectionCommand::mergeParagraphs): Recompute m_endingPosition since moveParagraph
3197         clobbers the old one.
3198         (WebCore::DeleteSelectionCommand::doApply): Fixed the logic for placeholder insertion after 
3199         deletion. Make the placeholder decision before we do special element expansion.
3200         * editing/DeleteSelectionCommand.h:
3201         * editing/InsertLineBreakCommand.cpp:
3202         (WebCore::InsertLineBreakCommand::doApply): Fixed a bug where an extra br was inserted and cleaned 
3203         up the code.
3204         * editing/InsertParagraphSeparatorCommand.cpp:
3205         (WebCore::InsertParagraphSeparatorCommand::doApply): Deletion of the current selection should do
3206         a merge (added a testcase).
3207         * editing/RebalanceWhitespaceCommand.cpp:
3208         (WebCore::RebalanceWhitespaceCommand::doUnapply): Remove/insert in a way that will trigger a layout.
3209         * editing/ReplaceSelectionCommand.cpp:
3210         (WebCore::ReplaceSelectionCommand::doApply): Ditto.
3211         Merge even when the incoming fragment has interchange newlines (added a testcase).
3212         Merge when the selection being pasted into starts at the start of a block because not
3213         doing so would leave one or more hanging empty blocks.
3214         (WebCore::ReplaceSelectionCommand::completeHTMLReplacement):
3215         Rebalance whitespace using rebalanceWhitespaceAt because rebalanceWhitespace requires
3216         a selection, and a selection can't be created until whitespace has been rebalanced.
3217         * editing/htmlediting.cpp:
3218         (WebCore::canHaveChildrenForEditing): Added.
3219         * editing/htmlediting.h:
3220
3221 2006-06-06  Beth Dakin  <bdakin@apple.com>
3222
3223         Reviewed by Maciej.
3224
3225         Fix for <rdar://problem/4570475> Dashboard regions do not scale for 
3226         non-1.0 scale factors.
3227
3228         No test cases added since this only affects non-1.0 resolution 
3229         scale factors.
3230
3231         * platform/FloatRect.cpp:
3232         (WebCore::FloatRect::scale): Added new function that scales a 
3233         rect's origin and size by a given factor.
3234         * platform/FloatRect.h:
3235         * platform/IntRect.cpp:
3236         (WebCore::IntRect::scale): Same as above.
3237         * platform/IntRect.h:
3238         * rendering/RenderObject.cpp:
3239         (WebCore::RenderObject::addDashboardRegions): After the bounds and 
3240         clip rects on the Dashboard region have been calculated, get the 
3241         user space scale factor, and if it is not 1.0, scale the rects.
3242
3243 2006-06-06  John Sullivan  <sullivan@apple.com>
3244
3245         Reviewed by Darin Adler.
3246         
3247         - fixed <rdar://problem/4566087> REGRESSION (420+): Crash occurs while completing a find again query at 
3248         http://www.apple.com/ (RenderObject::repaint(bool))
3249         
3250         This wasn't a new problem in the code, but the recent use of DocumentMarkers for find results brought
3251         it to the surface.
3252
3253         * dom/Document.h:
3254         Use a RefPtr<Node> instead of a Node* in MarkerMap, so the node will be retained
3255
3256         * dom/Document.cpp:
3257         (WebCore::Document::removeMarkers):
3258         Add a .get() to compensate for using RefPtr. Also, only repaint if this node actually had a marker
3259         removed.
3260         (WebCore::Document::repaintMarkers):
3261         Add a .get() to compensate for using RefPtr.
3262
3263 2006-06-06  Anders Carlsson  <acarlsson@apple.com>
3264
3265         Reviewed by Darin.
3266
3267         http://bugzilla.opendarwin.org/show_bug.cgi?id=9325
3268         clientWidth/clientHeight on document element in strict mode should return visible frame size
3269         
3270         * dom/Element.cpp:
3271         (WebCore::Element::clientWidth):
3272         (WebCore::Element::clientHeight):
3273         If we're the document element, and in strict mode, return the visible size of the frame.
3274         
3275 2006-06-06  Anders Carlsson  <acarlsson@apple.com>
3276
3277         Reviewed by John.
3278
3279         * bridge/mac/WebCoreFrameBridge.h:
3280         * bridge/mac/WebCoreFrameBridge.mm:
3281         (-[WebCoreFrameBridge containsPlugins]):
3282         * page/Frame.cpp:
3283         (WebCore::Frame::containsPlugins):
3284         * page/Frame.h:
3285         Add containsPlugins function which returns whether a frame contains plugins
3286         or not.
3287
3288 2006-06-05  Rob Buis  <buis@kde.org>
3289
3290         Reviewed by mjs.
3291
3292         http://bugzilla.opendarwin.org/show_bug.cgi?id=5564
3293         'font' shorthand parsing should be more tolerant in quirks mode
3294
3295         When not in strict mode accept font property specifications
3296         lacking a font family part, like WinIE does.
3297
3298         * css/cssparser.cpp:
3299         (WebCore::CSSParser::parseFont):
3300
3301 2006-06-05  Beth Dakin  <bdakin@apple.com>
3302
3303         Reviewed by Darin.
3304
3305         Fix for <rdar://problem/4567520> Pixel cracks in weather widget at 
3306         1.83 scaling
3307
3308         To prevent pixel cracks at non-integral scaling factors, before we 
3309         call into CG to draw an image, we have to convert the rect to 
3310         device space, round the origin and size to integers in device 
3311         space, and convert back to user space. 
3312         
3313         No test cases added since this only affects non-1.0 resolution 
3314         scale factors.
3315
3316         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
3317         (WebCore::JSCanvasRenderingContext2D::drawImage): drawImage() now 
3318         takes FloatRects.
3319         * html/CanvasPattern.cpp:
3320         (WebCore::patternCallback): Call roundToDevicePixels()
3321         * html/CanvasRenderingContext2D.cpp:
3322         (WebCore::CanvasRenderingContext2D::drawImage): drawImage() now 
3323         takes FloatRects and call roundToDevicePixels()
3324         * html/CanvasRenderingContext2D.h: drawImage() now takes 
3325         FloatRects.
3326         * html/HTMLCanvasElement.cpp:
3327         (WebCore::HTMLCanvasElement::paint): Call roundToDevicePixels()
3328         * kcanvas/device/quartz/QuartzSupport.mm:
3329         (WebCore::debugDumpCGImageToFile): Same as above.
3330         * platform/GraphicsContext.h:
3331         * platform/cg/GraphicsContextCG.cpp:
3332         (WebCore::GraphicsContext::roundToDevicePixels): Takes care of 
3333         converting between coordinate spaces and rounding.
3334         (WebCore::GraphicsContext::drawLineForText):
3335         * platform/mac/ImageMac.mm: Call roundToDevicePixels()
3336         (WebCore::Image::draw): Same as above.
3337         (WebCore::drawPattern): Same as above.
3338
3339 2006-06-05  Geoffrey Garen  <ggaren@apple.com>
3340
3341         Reviewed by Darin.
3342
3343         - http://bugzilla.opendarwin.org/show_bug.cgi?id=9310
3344         Add missing DOM prototypes and other DOM cleanup
3345
3346         - Added the built-in object prototype to DOM objects that were missing it
3347         so that primitive operations like == work on them.
3348         
3349         - Removed dead EventConstructor class (it's autogenerated now)
3350         
3351         - Changed HTML collections to describe themselves as "[object Collection]",
3352         to match IE.
3353         
3354         - Made DOMCSSRule constructor private because JSCSSRule is the class
3355         to use.
3356         
3357         * bindings/js/JSHTMLOptionElementConstructor.cpp:
3358         (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
3359         * bindings/js/kjs_css.cpp:
3360         (KJS::DOMStyleSheet::DOMStyleSheet):
3361         (KJS::DOMStyleSheetList::DOMStyleSheetList):
3362         (KJS::DOMCSSRule::DOMCSSRule):
3363         (KJS::DOMCSSValue::DOMCSSValue):
3364         (KJS::toJS):
3365         (KJS::DOMRGBColor::DOMRGBColor):
3366         (KJS::getDOMRGBColor):
3367         (KJS::DOMRect::DOMRect):
3368         * bindings/js/kjs_css.h:
3369         * bindings/js/kjs_dom.cpp:
3370         (KJS::DOMNodeList::DOMNodeList):
3371         (KJS::DOMExceptionConstructor::DOMExceptionConstructor):
3372         (KJS::DOMExceptionConstructor::getOwnPropertySlot):
3373         (KJS::):
3374         (KJS::DOMNamedNodesCollection::DOMNamedNodesCollection):
3375         * bindings/js/kjs_dom.h:
3376         (KJS::DOMNamedNodesCollection::classInfo):
3377         * bindings/js/kjs_events.h:
3378         * bindings/js/kjs_html.cpp:
3379         (KJS::):
3380
3381 2006-06-04  Darin Adler  <darin@apple.com>
3382
3383         Reviewed by Maciej.
3384
3385         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9031
3386           REGRESSION: Crash when closing tabs on newegg.com
3387         - removed a no-longer-needed Win32-specific workaround (not reviewed)
3388
3389         * bindings/js/kjs_window.cpp: Added include of <wtf/MathExtras.h>.
3390         (WebCore::floatFeature): Remove WIN32 ifdef around isnan.
3391         (WebCore::toJS): Add null checks.
3392
3393 2006-06-04  Darin Adler  <darin@apple.com>
3394
3395         Reviewed by Maciej.
3396
3397         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9176
3398           REGRESSION: repro crash in WebCore::StringImpl::hash() const + 28 (StringImpl.h:67)
3399
3400         Test: fast/loader/link-no-URL.html
3401
3402         * loader/Cache.h:
3403         * loader/Cache.cpp:
3404         (WebCore::Cache::updateCacheStatus): Removed the URL parameter. Instead get the URL
3405         from the cached object itself. Callers were passing in the wrong URL. When it was a
3406         null string, it caused the crash mentioned above. But in other cases it may have
3407         caused some other minor problems as well. Added an assert to catch cases where the
3408         URL is null (should never happen).
3409         (WebCore::Cache::requestImage): Changed call site to not pass URL.
3410         (WebCore::Cache::requestStyleSheet): Ditto.
3411         (WebCore::Cache::requestScript): Ditto.
3412         (WebCore::Cache::requestXSLStyleSheet): Ditto.
3413         (WebCore::Cache::requestXBLDocument): Ditto.
3414
3415 2006-06-04  Darin Adler  <darin@apple.com>
3416
3417         Reviewed by Adele.
3418
3419         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7291
3420           REGRESSION: delete key does not work in isIndex fields
3421
3422         * platform/mac/WebCoreTextField.mm:
3423         (inputElement): Added. Helper function to get the Objective-C wrapper for an
3424         input element associated with a QTextEdit. Returns nil if the element is not
3425         an input element. The bug was caused by passing a non-input element to the
3426         delegate methods.
3427         (-[KWQTextFieldController controlTextDidBeginEditing:]): Use inputElement
3428         and don't make the delegate call at all if there is none. This happens only
3429         with isindex elements; it's not important to have auto-fill work with those.
3430         (-[KWQTextFieldController controlTextDidEndEditing:]): Ditto.
3431         (-[KWQTextFieldController controlTextDidChange:]): Ditto.
3432         (-[KWQTextFieldController control:textShouldEndEditing:]): Ditto.
3433         (-[KWQTextFieldController control:textView:doCommandBySelector:]): Ditto.
3434         (-[KWQTextFieldController textView:shouldHandleEvent:]): Ditto.
3435
3436 2006-06-04  Darin Adler  <darin@apple.com>
3437
3438         Reviewed by Anders.
3439
3440         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8995
3441           memory leak in XPath code -- seen in layout tests
3442         - fixed malloc error on exit due to SVGDOMImplementation destructor
3443         - attempted to fix the no-XPATH_SUPPORT build by adding an #if
3444         - changed around includes and header-file formatting in XPath code
3445
3446         * bindings/scripts/CodeGeneratorJS.pm: Include PlatformString.h when
3447         generating the bindings for XPathNSResolver.
3448
3449         * dom/DOMImplementation.h: Added a virtual destructor for the benefit of
3450         SVGDOMImplementation.
3451         * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::~DOMImplementation): Added.
3452
3453         * ksvg2/svg/SVGDOMImplementation.h: Reformatted a bit, removed unneeded declarations.
3454         * ksvg2/svg/SVGDOMImplementation.cpp:
3455         (SVGDOMImplementation::~SVGDOMImplementation): Remove commented-out code.
3456         (SVGDOMImplementation::createDocument): Remove a reference to KDOMView.
3457
3458         * xpath/XPathExpression.cpp:
3459         (WebCore::XPathExpression::createExpression): Called release to avoid a tiny bit of
3460         reference count churn.
3461         (WebCore::XPathExpression::evaluate): Set exception code explicitly, because the code
3462         relies on it being 0 when the function succeeds.
3463
3464         * xpath/XPathResult.cpp:
3465         (WebCore::InvalidatingEventListener::InvalidatingEventListener): Removed
3466         unneeded target node data member.
3467         (WebCore::XPathResult::XPathResult): Updated for enum name changes and
3468         InvalidatingEventListener name change. Added an assertion.
3469
3470         * xpath/impl/XPathFunctions.h: Removed the FunctionLibrary class. Changed the parameter
3471         for createFunction to be a String instead of char*.
3472         * xpath/impl/XPathFunctions.cpp: Got rid of local implementation of "round", and
3473         used <wtf/MathExtras.h> instead. Also removed unused Interval::asString. Marked all
3474         the Interval functions inline.
3475         (WebCore::XPath::FunSubstring::doEvaluate): Use lround() instead of (long)round().
3476         (WebCore::XPath::FunLang::doEvaluate): Removed some unneeded temporary String variables.
3477         Use equalIgnoringCase() instead of calling lower() on two strings.
3478         (WebCore::XPath::createFunctionMap): Changed how this works so that it's all local to
3479         this function. Also removed a duplicate entry for the "last" function.
3480         (WebCore::XPath::createFunction): Changed from a member function to a separate function.
3481         Also changed so that if the args are not used in the function they are deleted.
3482         This was one of the sources of the storage leaks.
3483
3484         * xpath/impl/XPathGrammar.y: Put XPATH_SUPPORT ifdef in. Replaced <num> with values of
3485         specific types (numop, eqop). Updated for name change from AxisType to Axis. Changed
3486         tokens that were declared as <str> but weren't actually using the string to be
3487         declared with no type (PLUS, MINUS, OR, AND, DOTDOT, SLASHSLASH). Replaced use of
3488         unregisterString, unregisterPredicateVector, and unregisterExpressionVector to
3489         call delete functions instead that both unregister and delete. Change call sites for
3490         createFunction to just use the String, removing the deprecatedString().latin1() call
3491         that is no longer needed. Added a call to unregisterParseNode that was missing in the
3492         "FilterExpr DescendantOrSelf RelativeLocationPath" production.
3493
3494         * xpath/impl/XPathParser.h: Changed Token to hold a String, Step::Axis, NumericOp::Opcode,
3495         and EqTestOp::Opcode. The token ID number tells us which to use. Rearranged to put the private
3496         part of the Parser class last. Moved a number of private things inside the cpp file.
3497         * xpath/impl/XPathParser.cpp:
3498         (WebCore::XPath::charCat): Made this a separate function, instead of a static member.
3499         (WebCore::XPath::isAxisName): Ditto. Also put the global axis map inside the function,
3500         allowing use of a map instead of a map pointer.
3501         (WebCore::XPath::isNodeTypeName): Ditto.
3502         (WebCore::XPath::Parser::isOperatorContext): Made this const.
3503         (WebCore::XPath::Parser::makeTokenAndAdvance): Got rid of the "int" version of this.
3504         By using the actual types, we can safely use overload instead.
3505         (WebCore::XPath::Parser::lexString): Use substring() instead of deprecatedString().mid().
3506         (WebCore::XPath::Parser::lexNumber): Ditto.
3507         (WebCore::XPath::Parser::lexNCName): Changed to return a bool and a String instead of a
3508         Token. This avoids the hack of using a token value of "ERROR + 1" which I found quite
3509         confusing and is also a bit more explicit.
3510         (WebCore::XPath::Parser::lexQName): Ditto.
3511         (WebCore::XPath::Parser::nextTokenInternal): Changed to adapt to the changes above and
3512         to remove some unneeded else statements.
3513         (WebCore::XPath::Parser::lex): Changed the logic that sets up yylval to use the token ID
3514         to decide what the type is. This matches what the grammar expects, and removes the need
3515         for the token object to track which part of the value is good and the need to reserve 0
3516         to have a special meaning.
3517         (WebCore::XPath::Parser::parseStatement): Added code to delete the predicates and the
3518         expressions in the predicate and expression vectors. Before, we were only deleting
3519         the vectors. This was one of the sources of the storage leaks.
3520         (WebCore::XPath::Parser::deletePredicateVector): Renamed, and changed to delete
3521         the vector. However this does not delete the predicates in the vector.
3522         (WebCore::XPath::Parser::deleteExpressionVector): Renamed, and changed to delete
3523         the vector. However this does not delete the expressions in the vector.
3524         (WebCore::XPath::Parser::deleteString): Renamed, and changed to delete the string.
3525