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