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