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