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