8e8a86722a0ecf7b6ef2c669eeded905f90660ec
[WebKit-https.git] / WebCore / ChangeLog
1 2006-10-03  Alexey Proskuryakov  <ap@nypop.com>
2
3         Reviewed by Tim H.
4
5         http://bugs.webkit.org/show_bug.cgi?id=11130
6         Convert "undefined" to AE missing value
7
8         * bridge/mac/WebCoreFrameBridge.mm:
9         (aeDescFromJSValue): return missing value for UndefinedType.
10
11 2006-10-03  Dave Hyatt  <hyatt@apple.com>
12
13         Scrolling work.  Eliminate convertTo/FromContainingWindow as cross-platform functions.  Add back in
14         the windowToContents/contentsToWindow functions.
15         
16         Reviewed by anders
17
18         * bridge/mac/FrameMac.mm:
19         (WebCore::FrameMac::eventMayStartDrag):
20         (WebCore::FrameMac::dragHysteresisExceeded):
21         (WebCore::FrameMac::mouseDown):
22         (WebCore::FrameMac::shouldDragAutoNode):
23         (WebCore::FrameMac::sendContextMenuEvent):
24         * bridge/mac/FrameViewMac.mm:
25         (WebCore::FrameView::passMousePressEventToScrollbar):
26         * bridge/mac/WebCoreFrameBridge.mm:
27         (-[WebCoreFrameBridge _visiblePositionForPoint:]):
28         * dom/EventTargetNode.cpp:
29         (WebCore::EventTargetNode::dispatchMouseEvent):
30         (WebCore::EventTargetNode::dispatchWheelEvent):
31         * page/Frame.cpp:
32         (WebCore::Frame::selectClosestWordFromMouseEvent):
33         (WebCore::Frame::handleMousePressEventTripleClick):
34         (WebCore::Frame::handleMousePressEventSingleClick):
35         (WebCore::Frame::handleMouseMoveEvent):
36         (WebCore::Frame::handleMouseReleaseEvent):
37         * page/FrameView.cpp:
38         (WebCore::FrameView::handleMousePressEvent):
39         (WebCore::FrameView::handleMouseDoubleClickEvent):
40         (WebCore::selectCursor):
41         (WebCore::FrameView::handleMouseMoveEvent):
42         (WebCore::FrameView::handleMouseReleaseEvent):
43         (WebCore::FrameView::dispatchDragEvent):
44         (WebCore::FrameView::prepareMouseEvent):
45         (WebCore::FrameView::handleWheelEvent):
46         * page/FrameView.h:
47         * platform/ScrollBar.cpp:
48         (WebCore::ScrollBar::setValue):
49         * platform/ScrollView.h:
50         * platform/Widget.h:
51         (WebCore::Widget::scrolled):
52         * platform/mac/ScrollViewMac.mm:
53         (WebCore::ScrollView::contentsToWindow):
54         (WebCore::ScrollView::windowToContents):
55         (WebCore::ScrollView::scrollbarUnderMouse):
56         * platform/mac/WidgetMac.mm:
57         * rendering/RenderLayer.cpp:
58         (WebCore::RenderLayer::resize):
59         (WebCore::RenderLayer::positionScrollbars):
60         * rendering/RenderReplaced.cpp:
61         (WebCore::RenderReplaced::shouldPaint):
62         * rendering/RenderView.cpp:
63         * rendering/RenderView.h:
64         * rendering/RenderWidget.cpp:
65         (WebCore::RenderWidget::setWidget):
66
67 2006-09-26  David Smith  <catfish.man@gmail.com>
68
69         Reviewed by Timothy.
70
71         http://bugs.webkit.org/show_bug.cgi?id=3723
72         Add -scrollDOMRangeToVisible:
73
74         No automated tests are possible as this code path isn't reachable from JavaScript.
75
76         * bridge/mac/WebCoreFrameBridge.h:
77         * bridge/mac/WebCoreFrameBridge.mm:
78         (-[WebCoreFrameBridge scrollDOMRangeToVisible:]):
79
80 2006-10-03  Graham Dennis  <graham.dennis@gmail.com>
81
82         Reviewed by Timothy.
83
84         <http://bugs.webkit.org/show_bug.cgi?id=10338>
85         When contentEditable, cursor doesn't change to hand
86         
87         Allow the behaviour of editable links to be specified by a WebPreference
88         The preference WebKitEditableLinkBehavior has four options:
89          - AlwaysLive: Safari 2.0 behaviour
90          - OnlyLiveWithShiftKey: Firefox/WinIE behaviour (and prior WebKit-ToT behaviour)
91          - LiveWhenNotFocused: Editable links are live only when their editable block is not
92              focused, or when the shift key is pressed
93          - DefaultBehavior: This is the same as OnlyLiveWithShiftKey.
94          
95         No layout tests, just a modification of a manual-test as it isn't possible to test
96         this automatically.
97
98         * bridge/mac/WebCoreSettings.h:
99         * bridge/mac/WebCoreSettings.mm:
100         (-[WebCoreSettings setEditableLinkBehavior:]):
101         (-[WebCoreSettings editableLinkBehavior]):
102         * html/HTMLAnchorElement.cpp:
103         (WebCore::HTMLAnchorElement::HTMLAnchorElement):
104         (WebCore::HTMLAnchorElement::defaultEventHandler):
105         (WebCore::HTMLAnchorElement::setActive):
106         * html/HTMLAnchorElement.h:
107         * manual-tests/contenteditable-link.html:
108         * page/FrameView.cpp:
109         (WebCore::nodeIsNotBeingEdited):
110         (WebCore::selectCursor):
111         * page/Settings.h:
112         (WebCore::Settings::):
113         (WebCore::Settings::Settings):
114         (WebCore::Settings::editableLinkBehavior):
115         (WebCore::Settings::setEditableLinkBehavior):
116
117 2006-10-03  Beth Dakin  <bdakin@apple.com>
118
119         Reviewed Darin.
120
121         No test cases needed.
122
123         Implemented a version of StringImpl::append that takes a UChar* and 
124         a length.
125
126         * platform/StringImpl.cpp:
127         (WebCore::StringImpl::append):
128         (WebCore::StringImpl::insert): Call new append instead of making a 
129         new StringImpl.
130         * platform/StringImpl.h:
131
132 2006-10-03  MorganL  <morganl.webkit@yahoo.com>
133
134         Reviewed by Darin.
135
136         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11099
137         HttpSendRequestEx results in ERROR_HTTP_HEADER_NOT_FOUND
138
139         * platform/win/ResourceLoaderWin.cpp:
140         (WebCore::ResourceLoader::onHandleCreated):
141
142 2006-10-02  Geoffrey Garen  <ggaren@apple.com>
143
144         Feared, loathed, reviewed by Darin.
145
146         More frame/iframe merging. Merged IFRAME::willRemove and IFRAME::detach 
147         into FRAME, plus other cleanup.
148         
149         No new behavior, so no new test. Layout tests pass. Basic browsing and
150         Mail editing seem to work.
151         
152         * dom/Node.cpp:
153         (WebCore::Node::detach): Removed random commented-out code.
154         * html/HTMLFrameElement.cpp:
155         (WebCore::HTMLFrameElement::isURLAllowed): 
156         (1) Removed reference to FrameView, to dissociate frame loading from rendering.
157         (2) Renamed newURL to completeURL because the difference between newURL
158         and URLString is that newURL is a KURL that is the complete version of URLString,
159         not that it is new.
160         (WebCore::HTMLFrameElement::willRemove): 
161         (1) Removed close() call and moved close() code into willRemove(), also removing 
162         close() call from detach(), since willRemove is the well-defined place 
163         from DOM tear-down, not detach().
164         (2) Removed manual renderer detach code because the DOM is not responsible
165         for managing the render tree. I confirmed that this change not
166         regress <rdar://problem/4132581>.
167         (3) Removed questionable ASSERT. The ASSERT assumed that iframe elements
168         lost their content frames after being removed from the DOM. That's our 
169         current behavior, but it's going to change in future rounds of refactoring.
170         This also fixes <rdar://problem/4750835>.
171         (WebCore::HTMLFrameElement::setLocation): Removed wacky manual calls to
172         attach/detach, because the render tree should not be in charge of deciding
173         when to load.
174         * html/HTMLFrameElement.h:
175         * html/HTMLIFrameElement.cpp:
176         (WebCore::HTMLIFrameElement::attach): Renamed renderPart to renderPartObject,
177         because the renderer is a renderPartObject, not a renderPart.
178         * html/HTMLIFrameElement.h:
179
180 2006-10-03  Mark Rowe  <bdash@webkit.org>
181
182         Reviewed by Mitz.
183
184         http://bugs.webkit.org/show_bug.cgi?id=11137
185         Bug 11137: GdkLauncher dies with "pure virtual method called" if
186         window is closed while page still loading
187
188         * platform/gdk/FrameGdk.cpp:
189         (WebCore::FrameGdk::~FrameGdk): Call cancelAndClear to allow virtual
190         methods to be called before the FrameGdk portion of "this" is torn down.
191
192 2006-10-03  Adam Roben  <aroben@apple.com>
193
194         Reviewed by Darin.
195
196         Handle tab key presses in the DOM.
197
198         * dom/EventTargetNode.cpp:
199         (WebCore::EventTargetNode::defaultEventHandler): Add tab key handling.
200         * page/FrameView.cpp:
201         (WebCore::FrameView::advanceFocus): Rename and reimplement
202         focusNextPrevNode. Now we just call Element::focus().
203         * page/FrameView.h: Rename focusNextPrevNode to advanceFocus and make
204         it public.
205
206 2006-10-03  Justin Garcia  <justin.garcia@apple.com>
207
208         Reviewed by mjs
209         
210         <rdar://problem/4760612>
211         TOT REGRESSION: Repro assertion failure when forwarding draft in Range::compareBoundaryPoints
212         
213         No layout test possible, attributedStringFrom:(DOMNode*)...etc isn't available to DRT.
214         
215         * dom/Range.cpp:
216         (WebCore::Range::boundaryPointsValid): compareBoundaryPoints asserts that the incoming 
217         positions are non-null since most of it's callers would be in a bad state if the positions 
218         were null.  boundaryPointsValid, which calls compareBoundaryPoints, is an exception.  
219         Instead of removing the assert I've added nil checks in boundaryPointsValid, to keep it 
220         from entering compareBoundaryPoints and hitting the assert.
221
222 2006-10-03  Adele Peterson  <adele@apple.com>
223
224         Reviewed by Geoff.
225
226         Make code for turning off new listbox implementation mac-only, since there's no implementation on other platforms.
227
228         * html/HTMLSelectElement.cpp:
229         (WebCore::HTMLSelectElement::recalcStyle):
230         (WebCore::HTMLSelectElement::isKeyboardFocusable):
231         (WebCore::HTMLSelectElement::isMouseFocusable):
232         (WebCore::HTMLSelectElement::createRenderer):
233         (WebCore::HTMLSelectElement::setRecalcListItems):
234         (WebCore::HTMLSelectElement::notifyOptionSelected):
235         (WebCore::HTMLSelectElement::defaultEventHandler):
236
237 2006-10-04  Darin Adler  <darin@apple.com>
238
239         Reviewed by Geoff.
240
241         - fix http://bugs.webkit.org/show_bug.cgi?id=11132
242           Caret disappears when you're typing
243
244         * editing/SelectionController.cpp:
245         (WebCore::SelectionController::setSelection): Remove unnecessary call to
246         clearCaretRectIfNeeded. The recomputeCaretRect now takes care of this.
247         (WebCore::SelectionController::recomputeCaretRect): Explicitly set m_needsLayout
248         to false so we can get the old caret repaint rect. Later we need to change the
249         design so getting the rect doesn't have a side effect of causing a layout without
250         invalidation.
251
252 2006-10-03  David Harrison  <harrison@apple.com>
253
254         Reviewed by Maciej.
255
256         <rdar://problem/4671286> Candidate Window isn't displayed and only first candidate is displayed at typing location.
257
258         Updated test:
259         * fast/text/justified-text-rect.html
260
261         * bridge/mac/WebCoreFrameBridge.mm:
262         (-[WebCoreFrameBridge convertToNSRange:]):
263         (-[WebCoreFrameBridge convertToDOMRange:]):
264         Make the selection's root editable element (or the document itself) be
265         the basis for NSRange conversions. This supports "shadow DOM" like
266         that for text fields and text areas.
267         
268         * editing/CompositeEditCommand.cpp:
269         (WebCore::CompositeEditCommand::moveParagraphs):
270         Pass the document element as the scope.
271         
272         * editing/TextIterator.cpp:
273         (WebCore::TextIterator::rangeFromLocationAndLength):
274         Make the first parameter the scope.
275         
276         * editing/TextIterator.h:
277         Make the first parameter of rangeFromLocationAndLength() the scope.
278
279 2006-10-03  Nikolas Zimmermann  <zimmermann@kde.org>
280
281         Reviewed by Eric.
282
283         Fix Qt/Linux build.
284
285         * CMakeLists.txt: Add counter related files.
286
287 2006-10-03  Mark Rowe  <bdash@webkit.org>
288
289         Reviewed by Eric.
290
291         http://bugs.webkit.org/show_bug.cgi?id=10981
292         Linux/GDK build fixes
293
294         Based on a patch by Krzysztof Kowalczyk.
295
296         * WebCoreSources.bkl:
297         * platform/gdk/FrameGdk.cpp:
298         (WebCore::doScroll):
299         (WebCore::FrameGdk::handleGdkEvent):
300         * platform/gdk/PlatformScrollBar.h: Added.
301         (WebCore::PlatformScrollBar::isWidget):
302         * platform/gdk/ScrollViewGdk.cpp:
303         * platform/gdk/TemporaryLinkStubs.cpp:
304         (FrameView::passMousePressEventToScrollbar):
305         (FrameView::passMousePressEventToSubframe):
306         (FrameView::passMouseReleaseEventToSubframe):
307         (FrameView::passMouseMoveEventToSubframe):
308         (FrameView::passWheelEventToSubframe):
309         (Cursor::Cursor):
310         (Widget::invalidate):
311         (Widget::invalidateRect):
312         (ScrollView::wheelEvent):
313         (ScrollView::convertToContainingWindow):
314         (ScrollView::convertFromContainingWindow):
315         (GraphicsContext::clip):
316         (PlatformScrollBar::PlatformScrollBar):
317         (PlatformScrollBar::updateThumbPosition):
318         (PlatformScrollBar::updateThumbProportion):
319         (ScrollBar::ScrollBar):
320         (ScrollBar::setProportion):
321         (WebCore::supportedKeySizes):
322         (WebCore::signedPublicKeyAndChallengeString):
323         * platform/gdk/WheelEventGdk.cpp:
324         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
325         * platform/gdk/WidgetGdk.cpp:
326         (WebCore::Widget::convertToContainingWindow):
327         (WebCore::Widget::convertFromContainingWindow):
328
329 2006-10-02  Adam Roben  <aroben@apple.com>
330
331         Reviewed by Maciej.
332
333         Let Windows determine which mouse button is pressed.
334
335         * platform/PlatformMouseEvent.h: Add message parameter to constructor.
336         * platform/win/MouseEventWin.cpp:
337         (WebCore::PlatformMouseEvent::PlatformMouseEvent): Use message
338         parameter to determine which mouse button is pressed.
339
340 2006-10-02  Justin Garcia  <justin.garcia@apple.com>
341
342         Reviewed by anders
343         
344         Build fix
345         
346         * editing/SelectionController.cpp:
347         (WebCore::SelectionController::empty):
348         * editing/SelectionController.h:
349
350 2006-10-02  Justin Garcia  <justin.garcia@apple.com>
351
352         Reviewed by john
353         
354         <rdar://problem/4755287>
355         Writely Editor: Crash occurs at WebCore::maxDeepOffset(WebCore::Node const*) when attempting to create a OL/UL following a HR element
356
357         * editing/markup.cpp:
358         (WebCore::createMarkup): Migrate to isBlock (isBlockFlow is true for inline replaced 
359         elements).  Don't skip blocks that aren't containers (like horizontal rules).
360
361 2006-10-03  Darin Adler  <darin@apple.com>
362
363         Reviewed by Justin Garcia.
364
365         - correct mistaken code that would restart blinking every
366           time "invalidateSelection" is called even if the caret
367           has not moved
368
369         * editing/SelectionController.h:
370         * editing/SelectionController.cpp:
371         (WebCore::SelectionController::setSelection): Update for name change.
372         (WebCore::SelectionController::recomputeCaretRect): New function.
373         Computes caret rect and does any necessary invalidation if the rect
374         changes.
375         (WebCore::SelectionController::invalidateCaretRect): Renamed from
376         needsCaretRepaint. Invalidates the caret rect unconditionally. Also
377         calls recomputeCaretRect as a side effect.
378
379         * page/Frame.cpp:
380         (WebCore::Frame::invalidateSelection): Remove unneeded call to
381         clearCaretRectIfNeeded.
382         (WebCore::Frame::clearCaretRectIfNeeded): Updated for name change.
383         (WebCore::Frame::selectionLayoutChanged): Restructured to use the new
384         recomputeCaretRect function and not restart blinking if caret has
385         not changed position.
386         (WebCore::Frame::caretBlinkTimerFired): Removed some checks that
387         are not needed since selectionLayoutChanged already checks these.
388
389         * page/FramePrivate.h: Removed unused m_blinkCaret.
390
391 2006-10-02  Beth Dakin  <bdakin@apple.com>
392
393         Reviewed by Adam.
394
395         Build fix. Add counters to vcproj.
396
397         * WebCore.vcproj/WebCore/WebCore.vcproj:
398
399 2006-10-02  Brady Eidson  <beidson@apple.com>
400
401         Reviewed by Adele
402
403         If the Icon DB schema changes underneath you, the latest ToT can crash and burn when writing
404         icon data out because we don't correctly check SQL error conditions.
405
406         * loader/icon/IconDataCache.cpp:
407         (WebCore::IconDataCache::writeToDatabase):
408
409 2006-10-02  Steve Falkenburg  <sfalken@apple.com>
410
411         Reviewed by Hyatt.
412
413         Added method to find out whether a layout has occurred.
414
415         * page/FrameView.cpp:
416         (WebCore::FrameView::didFirstLayout):
417         * page/FrameView.h:
418
419 2006-10-02  Beth Dakin  <bdakin@apple.com>
420
421         Reviewed by Darin.
422
423         Initial implementation of CSS2 counters. See http://
424         bugs.webkit.org/show_bug.cgi?id=4980 for more details.
425
426         * WebCore.xcodeproj/project.pbxproj:
427         * css/CSSComputedStyleDeclaration.cpp: 
428         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Return 
429         the increment/reset list now that this is implemented.
430         * css/CSSPrimitiveValue.cpp:
431         (WebCore::CSSPrimitiveValue::cssText): 
432         * css/Counter.h:
433         (WebCore::Counter::Counter):
434         (WebCore::Counter::~Counter):
435         (WebCore::Counter::identifier):
436         (WebCore::Counter::listStyle):
437         (WebCore::Counter::separator):
438         (WebCore::Counter::listStyleNumber):
439         (WebCore::Counter::setIdentifier):
440         (WebCore::Counter::setListStyle):
441         (WebCore::Counter::setSeparator):
442         * css/cssparser.cpp:
443         (WebCore::CSSParser::addProperty): Take care of reset/increment
444         (WebCore::CSSParser::parseValue):
445         (WebCore::CSSParser::parseContent): content can now take counters
446         (WebCore::CSSParser::parseCounterContent): Parse counter() and 
447         counters()
448         (WebCore::CSSParser::parseCounter): Parse counter-reset and 
449         counter-increment
450         * css/cssparser.h:
451         * css/cssstyleselector.cpp:
452         (WebCore::CSSStyleSelector::matchUARules):
453         (WebCore::CSSStyleSelector::applyProperty):
454         * platform/PlatformString.h:
455         * platform/String.cpp:
456         (WebCore::String::insert): Implemented a version of insert that 
457         accepts a UChar* and a length.
458         * platform/StringImpl.cpp:
459         (WebCore::StringImpl::insert): Same as above.
460         * platform/StringImpl.h:
461         * rendering/CounterListItem.h: Added.
462         * rendering/CounterNode.cpp: Added.
463         (WebCore::CounterNode::CounterNode):
464         (WebCore::CounterNode::insertAfter):
465         (WebCore::CounterNode::removeChild):
466         (WebCore::CounterNode::remove):
467         (WebCore::CounterNode::setUsesSeparator):
468         (WebCore::CounterNode::recountAndGetNext):
469         (WebCore::CounterNode::recountTree):
470         (WebCore::CounterNode::setSelfDirty):
471         (WebCore::CounterNode::setParentDirty):
472         * rendering/CounterNode.h: Added.
473         (WebCore::CounterNode::~CounterNode):
474         (WebCore::CounterNode::parent):
475         (WebCore::CounterNode::previousSibling):
476         (WebCore::CounterNode::nextSibling):
477         (WebCore::CounterNode::firstChild):
478         (WebCore::CounterNode::lastChild):
479         (WebCore::CounterNode::value):
480         (WebCore::CounterNode::setValue):
481         (WebCore::CounterNode::count):
482         (WebCore::CounterNode::setCount):
483         (WebCore::CounterNode::setHasSeparator):
484         (WebCore::CounterNode::isReset):
485         (WebCore::CounterNode::hasSeparator):
486         (WebCore::CounterNode::willNeedLayout):
487         (WebCore::CounterNode::setWillNeedLayout):
488         (WebCore::CounterNode::isRoot):
489         (WebCore::CounterNode::setRenderer):
490         (WebCore::CounterNode::renderer):
491         * rendering/CounterResetNode.cpp: Added.
492         (WebCore::CounterResetNode::CounterResetNode):
493         (WebCore::CounterResetNode::insertAfter):
494         (WebCore::CounterResetNode::removeChild):
495         (WebCore::CounterResetNode::recountAndGetNext):
496         (WebCore::CounterResetNode::setParentDirty):
497         (WebCore::CounterResetNode::updateTotal):
498         * rendering/CounterResetNode.h: Added.
499         (WebCore::CounterResetNode::firstChild):
500         (WebCore::CounterResetNode::lastChild):
501         (WebCore::CounterResetNode::isReset):
502         (WebCore::CounterResetNode::total):
503         * rendering/RenderContainer.cpp:
504         (WebCore::RenderContainer::updatePseudoChildForObject): Account for 
505         counter content.
506         * rendering/RenderCounter.cpp: Added.
507         (WebCore::RenderCounter::RenderCounter):
508         (WebCore::RenderCounter::layout):
509         (WebCore::toRoman):
510         (WebCore::toLetterString):
511         (WebCore::toHebrew):
512         (WebCore::RenderCounter::convertValueToType):
513         (WebCore::RenderCounter::calcMinMaxWidth):
514         * rendering/RenderCounter.h: Added.
515         (WebCore::RenderCounter::renderName):
516         (WebCore::RenderCounter::isCounter):
517         * rendering/RenderObject.cpp:
518         (WebCore::getRenderObjectsToCounterNodeMaps): Maps RenderObjects to 
519         maps of CounterNodes
520         (WebCore::RenderObject::RenderObject):
521         (WebCore::RenderObject::destroy): Destroy the maps.
522         (WebCore::RenderObject::findCounter): Finds/creates counters.
523         * rendering/RenderObject.h:
524         (WebCore::RenderObject::isCounter):
525         * rendering/RenderStyle.cpp:
526         (WebCore::StyleVisualData::StyleVisualData):
527         (WebCore::RenderStyle::arenaDelete):
528         (WebCore::RenderStyle::RenderStyle):
529         (WebCore::RenderStyle::diff):
530         (WebCore::RenderStyle::setContent):
531         (WebCore::ContentData::clearContent):
532         (WebCore::RenderStyle::counterDataEquivalent):
533         (WebCore::hasCounter):
534         (WebCore::RenderStyle::hasCounterReset):
535         (WebCore::RenderStyle::hasCounterIncrement):
536         (WebCore::readCounter):
537         (WebCore::RenderStyle::counterReset):
538         (WebCore::RenderStyle::counterIncrement):
539         * rendering/RenderStyle.h:
540         (WebCore::StyleVisualData::operator==):
541         (WebCore::CounterData::CounterData):
542         (WebCore::CounterData::identifier):
543         (WebCore::CounterData::listStyle):
544         (WebCore::CounterData::separator):
545         (WebCore::ContentData::contentCounter):
546         (WebCore::ContentData::):
547         (WebCore::RenderStyle::counterIncrement):
548         (WebCore::RenderStyle::counterReset):
549         (WebCore::RenderStyle::setCounterIncrement):
550         (WebCore::RenderStyle::setCounterReset):
551         (WebCore::RenderStyle::setCounterResetList):
552         (WebCore::RenderStyle::setCounterIncrementList):
553         (WebCore::RenderStyle::counterResetValueList):
554         (WebCore::RenderStyle::counterIncrementValueList):
555
556 2006-10-02  Adele Peterson  <adele@apple.com>
557
558         Reviewed by Adam.
559
560         - Fix for <rdar://problem/4463841> Switch to use new list box implementation for <select multiple>
561
562         There are a few outstanding issues, so I've left the old code in for now.  So you can use the old-style listboxes
563         by using "-webkit-appearance:none".
564
565         * css/html4.css:
566
567 2006-10-02  David Harrison  <harrison@apple.com>
568
569         Reverted the code part of r16696, my patch for <rdar://problem/4641262>, because the problem was
570         addressed at a deeper level by r16696, the patch for <http://bugs.webkit.org/show_bug.cgi?id=10842>.
571         Left the layout test.
572         
573         * rendering/bidi.cpp:
574         (WebCore::checkMidpoints):
575
576 2006-10-02  Nikolas Zimmermann  <zimmermann@kde.org>
577
578         Reviewed by eseidel.  Landed by eseidel.
579
580         Fix Qt/Linux build.
581
582         * platform/qt/TemporaryLinkStubs.cpp: s/DeprecatedStringList/Vector<String>/
583         (WebCore::supportedKeySizes):
584
585 2006-10-02  Nikolas Zimmermann <zimmermann@kde.org>
586
587         Reviewed by eseidel & mjs.  Landed by eseidel.
588
589         Fix Qt/Linux build with older gcc 3.3.4.
590         http://bugs.webkit.org/show_bug.cgi?id=11116
591
592         As discussed with Maciej, the GCC_ROOT_NS_HACK
593         can be completely removed, as well as the friendship
594         between cacheGlobalObject & the JS* objects.
595
596         * bindings/scripts/CodeGeneratorJS.pm: Remove friendship.
597         * platform/image-decoders/png/pnggccrd.c: Fix comments for gcc3.
598         (png_read_filter_row_mmx_avg):
599         * platform/image-decoders/png/pngvcrd.c: Ditto.
600         (png_mmx_support):
601         (png_read_filter_row_mmx_avg):
602
603 2006-10-01  Maciej Stachowiak  <mjs@apple.com>
604
605         Rubber stamped by Alexey.
606
607         - reverted fix for http://bugs.webkit.org/show_bug.cgi?id=10893 since it led to layout test crashes
608
609         * css/CSSGrammar.y:
610
611 2006-10-01  Eric Seidel  <eric@webkit.org>
612
613         Reviewed by mjs.
614
615         Eliminate a few more hotspots in SVG drawing code.
616         
617         No test cases were harmed in the making of this patch.  (And SVG has no perf tests.)
618
619         * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
620         (WebCore::KRenderingPaintServerSolidQuartz::setup): use a single shared colorspace, avoid a few mallocs
621         * platform/mac/ColorMac.mm:
622         (+[WebCoreControlTintObserver WebCore]): store a single shared colorspace instance
623
624 2006-10-01  Geoffrey Garen  <ggaren@apple.com>
625
626         Reviewed by Maciej.
627         
628         More frame/iframe merging.
629         
630         - Removed needWidgetUpdate and related code. needWidgetUpdate is always
631         false, so this was dead code.
632         - Removed FIXME about setInViewSourceMode inside openURL(). openURL(), rather
633         than attach(), is the correct place for setInViewSourceMode, because
634         openURL() is the function that creates our frame.
635         - Moved IFRAME insertedIntoDocument() code into FRAME, and removed FRAME
636         code that did the same thing in other places.
637         - Made FRAME's attach() method suffuciently generic so that IFRAME could
638         call up to it, rather than skipping its superclass and calling up directly 
639         to ELEMENT.
640         - Changed a few IFRAME up-calls to ELEMENT into up-calls to FRAME.
641         - Replaced ad hoc frame loading code in FRAME::attach() with call to
642         openURL(), the designated frame loading function.
643
644         Layout tests pass. I added a layout test for viewsource mode, since I
645         broke it in the course of writing this patch.
646
647 2006-10-01  Anders Carlsson  <acarlsson@apple.com>
648
649         Reviewed by Geoff.
650
651         * dom/Document.cpp:
652         (WebCore::Document::recalcStyleSelector):
653         * dom/Document.h:
654         Get rid of availableStyleSheets() and remove DeprecatedStringList.h include.
655         
656         * dom/Node.h:
657         Remove DeprecatedStringList class forward declaration.
658         
659         * editing/markup.cpp:
660         Include DeprecatedStringList.h here since it's not included by Document.h anymore.
661         
662         * kcanvas/KCanvasTreeDebug.cpp:
663         * kcanvas/KCanvasTreeDebug.h:
664         Remove unused functions.
665         
666         * loader/loader.cpp:
667         * page/Frame.cpp:
668         * page/Frame.h:
669         * page/FrameView.h:
670         Fixup DeprecatedStringList.h includes.
671
672 2006-09-30  David Harrison  <harrison@apple.com>
673
674         Reviewed by John Sullivan.
675
676         <rdar://problem/4641262> REGRESSION: Japanese text corrupts on wrapping point
677
678         Problem was that the decision to trim was based only on whether the character
679         is a soft hyphen, which caused pretty much any Japanese character to go.
680         Changed to decide based on whether the character is ignorable whitespace.
681         
682         Test:
683         * fast/text/international/wrap-CJK-001.html
684
685         * rendering/bidi.cpp:
686         (WebCore::isTrimmableChar):
687         New. Checks whether character is whitespace that can be ignored
688         according to the text node's style.
689         trimmed from the end of wrapped line.
690         (WebCore::checkMidpoints):
691         Call isTrimmable() rather than checking for char != SOFT_HYPHEN.
692
693 2006-10-01  Anders Carlsson  <acarlsson@apple.com>
694
695         Reviewed by Mitz Pettel.
696
697         Convert the SVG code to use Vector<String> instead of DeprecatedStringList.
698
699         * ksvg2/svg/SVGColor.cpp:
700         (WebCore::SVGColor::setRGBColor):
701         * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
702         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
703         (WebCore::SVGFEDiffuseLightingElement::parseMappedAttribute):
704         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
705         (WebCore::SVGFEGaussianBlurElement::parseMappedAttribute):
706         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
707         (SVGFESpecularLightingElement::parseMappedAttribute):
708         * ksvg2/svg/SVGFETurbulenceElement.cpp:
709         (WebCore::SVGFETurbulenceElement::parseMappedAttribute):
710         * ksvg2/svg/SVGLengthList.cpp:
711         * ksvg2/svg/SVGNumberList.cpp:
712         (SVGNumberList::parse):
713         * ksvg2/svg/SVGNumberList.h:
714         * ksvg2/svg/SVGPreserveAspectRatio.cpp:
715         (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio):
716         * ksvg2/svg/SVGStringList.cpp:
717         (WebCore::SVGStringList::reset):
718         * ksvg2/svg/SVGStringList.h:
719         * ksvg2/svg/SVGTransformable.cpp:
720         (SVGTransformable::parseTransformAttribute):
721
722 2006-10-01  Nikolas Zimmermann  <zimmermann@kde.org>
723
724         Reviewed by Eric, tweaked and landed by ap.
725
726         Fix Qt/Linux build.
727
728         * CMakeLists.txt:
729         * platform/qt/PlatformScrollBar.h:
730         * platform/qt/TemporaryLinkStubs.cpp:
731         (WebCore::ScrollBar::ScrollBar):
732         (WebCore::PlatformScrollBar::PlatformScrollBar):
733         (FrameView::passMousePressEventToSubframe):
734         (FrameView::passMouseMoveEventToSubframe):
735         (FrameView::passMouseReleaseEventToSubframe):
736         (FrameView::passWheelEventToSubframe):
737         (FrameView::passMousePressEventToScrollbar):
738         * ksvg2/svg/SVGDocument.h:
739
740 2006-10-01  Mitz Pettel  <opendarwin.org@mitzpettel.com>
741
742         Reviewed by Darin.
743
744         Fix for http://bugs.webkit.org/show_bug.cgi?id=10190
745         REGRESSION: Repro crash when navigating away from an image document that hasn't finished loading
746
747         No test case added (probably requires new DumpRenderTree functionality)
748
749         * rendering/RenderImage.cpp:
750         (WebCore::RenderImage::imageChanged): Added early return if the document is
751         being destroyed.
752
753 2006-10-01  Graham Dennis  <graham.dennis@gmail.com>
754
755         Reviewed by Hyatt.
756
757         Fix for http://bugs.webkit.org/show_bug.cgi?id=10842
758         REGRESSION (r15418): contenteditable div truncates rightmost Japanese character
759         
760         Make sure we only break after a space (and not any other valid line-break) if
761         the style is -webkit-line-break: after-white-space (e.g. for a contentEditable div).
762         I also did a logic shuffle at Mitz's request to prevent doing an if on the same expression
763         twice in quick succession.
764
765         * rendering/bidi.cpp:
766         (WebCore::RenderBlock::findNextLineBreak): 
767
768 2006-10-01  Alexey Proskuryakov  <ap@nypop.com>
769
770         Reviewed by Maciej and Darin.
771
772         http://bugs.webkit.org/show_bug.cgi?id=4372
773         JavaScript document.write page form does not submit in Safari
774
775         Test: fast/forms/document-write.html
776
777         * page/Frame.cpp:
778         (WebCore::Frame::submitForm): Don't check for parsing().
779
780 2006-10-01  Alexey Proskuryakov  <ap@nypop.com>
781
782         Build fix.
783
784         * bridge/mac/FrameViewMac.mm: Add missing #imports.
785
786 2006-10-01  Dave Hyatt  <hyatt@apple.com>
787
788         Refactor the code that passes mouse presses to the Mac scrollbar and make it cross-platform.
789        
790         Reviewed by mitz
791
792         * bridge/mac/FrameMac.mm:
793         (WebCore::FrameMac::passWidgetMouseDownEventToWidget):
794         * bridge/mac/FrameViewMac.mm:
795         (WebCore::FrameView::passMousePressEventToScrollbar):
796         * page/FrameView.cpp:
797         (WebCore::FrameView::handleMousePressEvent):
798         (WebCore::FrameView::setMousePressed):
799         * page/FrameView.h:
800         * platform/win/TemporaryLinkStubs.cpp:
801         (FrameView::passMousePressEventToScrollbar):
802
803 2006-09-30  Sam Weinig  <sam.weinig@gmail.com>
804
805         Reviewed by Darin.
806
807         Patch for http://bugs.webkit.org/show_bug.cgi?id=11102
808         Add more SVG Objective-C DOM bindings
809
810         - Auto-generate Objective-C DOM bindings for DOMSVGAElement,
811           DOMSVGAnimateColorElement, DOMSVGAnimateElement, DOMSVGAnimateTransformElement,
812           DOMSVGAnimatedPathData, DOMSVGAnimatedPoints, DOMSVGAnimatedPreserveAspectRatio,
813           DOMSVGAnimationElement, DOMSVGCircleElement, DOMSVGClipPathElement, DOMSVGColor,
814           DOMSVGCursorElement, DOMSVGDefsElement, DOMSVGDescElement, DOMSVGDocument, 
815           DOMSVGEllipseElement, DOMSVGPreserveAspectRatio, and DOMSVGURIReference.
816
817         * DerivedSources.make:
818         * WebCore.xcodeproj/project.pbxproj:
819         * bindings/objc/DOMInternal.h:
820         * bindings/objc/DOMSVG.h:
821         * bindings/scripts/CodeGeneratorObjC.pm:
822         * ksvg2/svg/SVGAElement.idl:
823         * ksvg2/svg/SVGAnimateColorElement.idl:
824         * ksvg2/svg/SVGAnimateElement.idl:
825         * ksvg2/svg/SVGAnimateTransformElement.idl:
826         * ksvg2/svg/SVGAnimatedPathData.idl:
827         * ksvg2/svg/SVGAnimatedPoints.idl:
828         * ksvg2/svg/SVGAnimatedPreserveAspectRatio.idl:
829         * ksvg2/svg/SVGAnimationElement.idl:
830         * ksvg2/svg/SVGCircleElement.idl:
831         * ksvg2/svg/SVGClipPathElement.idl:
832         * ksvg2/svg/SVGColor.idl:
833         * ksvg2/svg/SVGCursorElement.idl:
834         * ksvg2/svg/SVGDefsElement.idl:
835         * ksvg2/svg/SVGDescElement.idl:
836         * ksvg2/svg/SVGDocument.idl:
837         * ksvg2/svg/SVGEllipseElement.idl:
838         * ksvg2/svg/SVGPointList.idl:
839         * ksvg2/svg/SVGPreserveAspectRatio.idl:
840         * ksvg2/svg/SVGRect.idl:
841         * ksvg2/svg/SVGSVGElement.idl:
842
843 2006-09-30  Maciej Stachowiak  <mjs@apple.com>
844
845         Reviewed by Adele.
846
847         - fix build
848
849         * platform/FloatRect.h:
850         (WebCore::FloatRect::contains): Added; not exactly the same semantic as IntRect containment
851         but more appropriate for path-type stuff.
852         * platform/cg/PathCG.cpp:
853         (WebCore::Path::contains): Don't use enclosingIntRect, just use FloatRect::contains.
854
855 2006-09-30  Alexey Proskuryakov  <ap@nypop.com>
856
857         Reviewed by Darin.
858
859         http://bugs.webkit.org/show_bug.cgi?id=11011
860         External CSS is parsed as iso-8859-1 even though the main document is utf-8
861
862         Test: fast/encoding/css-charset-default.xhtml
863
864         * loader/CachedResourceClient.h:
865         (WebCore::CachedResourceClient::setCSSStyleSheet):
866         (WebCore::CachedResourceClient::setXSLStyleSheet):
867         Divided setStyleSheet into setCSSStyleSheet and setXSLStyleSheet. The former
868         takes an additional charset parameter, to be passed to CSSStyleSheet constructor.
869
870         * css/CSSImportRule.cpp:
871         (WebCore::CSSImportRule::setCSSStyleSheet):
872         (WebCore::CSSImportRule::insertedIntoParent): Default to parent stylesheet's charset.
873         * css/CSSImportRule.h:
874
875         * css/CSSStyleSheet.cpp:
876         (WebCore::CSSStyleSheet::CSSStyleSheet):
877         * css/CSSStyleSheet.h:
878         Added an m_charset member to be used when loading child stylesheets. Removed an unused m_implicit
879         member. Changed some String parameters to const String&.
880
881         * css/StyleSheet.cpp:
882         (WebCore::StyleSheet::StyleSheet):
883         * css/StyleSheet.h:
884         Changed some String parameters to const String&. Removed an unused (even unimplemented) constructor.
885
886         * css/StyleSheetList.cpp:
887         (WebCore::StyleSheetList::length):
888         (WebCore::StyleSheetList::item):
889         * css/StyleSheetList.h:
890         Special-casing implicit stylesheets seemed to be dead code, removed.
891
892         * dom/Document.cpp:
893         (WebCore::Document::setCSSStyleSheet):
894         (WebCore::Document::recalcStyleSelector):
895         * dom/Document.h:
896         Renamed setStyleSheet() to setCSSStyleSheet().
897
898         * dom/ProcessingInstruction.cpp:
899         (WebCore::ProcessingInstruction::checkStyleSheet): Pass a correct charset to requestCSSStyleSheet().
900         (WebCore::ProcessingInstruction::setCSSStyleSheet):
901         (WebCore::ProcessingInstruction::setXSLStyleSheet):
902         (WebCore::ProcessingInstruction::parseStyleSheet):
903         * dom/ProcessingInstruction.h:
904
905         * html/HTMLLinkElement.cpp:
906         (WebCore::HTMLLinkElement::process): Default to document encoding if a charset attribute 
907         is not specified.
908         (WebCore::HTMLLinkElement::setCSSStyleSheet):
909         * html/HTMLLinkElement.h:
910
911         * html/HTMLStyleElement.cpp:
912         (WebCore::HTMLStyleElement::childrenChanged):
913         * ksvg2/svg/SVGStyleElement.cpp:
914         (WebCore::SVGStyleElement::childrenChanged):
915         Inherit URL and charset from the document.
916
917         * loader/Cache.cpp:
918         (WebCore::Cache::requestCSSStyleSheet):
919         * loader/Cache.h:
920         Adjust for setStyleSheet() renaming.
921
922         * loader/CachedCSSStyleSheet.h: Removed an unused constructor.
923         * loader/CachedCSSStyleSheet.cpp:
924         (WebCore::CachedCSSStyleSheet::ref):
925         (WebCore::CachedCSSStyleSheet::deref):
926         (WebCore::CachedCSSStyleSheet::checkNotify):
927         Pass the encoding to setCSSStyleSheet().
928
929         * loader/CachedXSLStyleSheet.cpp:
930         (WebCore::CachedXSLStyleSheet::ref):
931         (WebCore::CachedXSLStyleSheet::checkNotify):
932         * loader/DocLoader.cpp:
933         (WebCore::DocLoader::requestCSSStyleSheet):
934         * loader/DocLoader.h:
935         * page/Frame.cpp:
936         (WebCore::UserStyleSheetLoader::UserStyleSheetLoader):
937         (WebCore::UserStyleSheetLoader::setCSSStyleSheet):
938         * xml/XSLImportRule.cpp:
939         (WebCore::XSLImportRule::setXSLStyleSheet):
940         (WebCore::XSLImportRule::loadSheet):
941         * xml/XSLImportRule.h:
942         Adjust for setStyleSheet() renaming.
943
944 2006-09-30  Rob Buis  <buis@kde.org>
945
946         Reviewed by eseidel.
947
948         http://bugs.webkit.org/show_bug.cgi?id=11096
949         Hit testing for polylines fails
950
951         Fix Path::contains so it handles filled, non-closed paths too.
952
953         * platform/cg/PathCG.cpp:
954         (WebCore::Path::contains):
955
956 2006-09-30  Dave Hyatt  <hyatt@apple.com>
957
958         Refactor subframe event handling to hide more of the Mac-specific logic from the cross-platform code.
959         Stub out a capturing API that mimics the way Web browsers capture events and route them to specific
960         subframes while the mouse is down.
961       
962         Reviewed by mitzpettel
963
964         * bridge/mac/FrameMac.h:
965         * bridge/mac/FrameMac.mm:
966         (WebCore::FrameMac::passWidgetMouseDownEventToWidget):
967         (WebCore::FrameMac::passWheelEventToWidget):
968         * bridge/mac/FrameViewMac.mm:
969         (WebCore::FrameView::passMousePressEventToSubframe):
970         (WebCore::FrameView::passMouseMoveEventToSubframe):
971         (WebCore::FrameView::passMouseReleaseEventToSubframe):
972         (WebCore::FrameView::passWheelEventToSubframe):
973         * page/Frame.cpp:
974         * page/Frame.h:
975         * page/FrameView.cpp:
976         (WebCore::subframeForTargetNode):
977         (WebCore::FrameView::handleMousePressEvent):
978         (WebCore::FrameView::handleMouseDoubleClickEvent):
979         (WebCore::FrameView::handleMouseMoveEvent):
980         (WebCore::FrameView::handleMouseReleaseEvent):
981         (WebCore::FrameView::handleWheelEvent):
982         * page/FrameView.h:
983         * platform/ScrollBar.h:
984         (WebCore::ScrollBar::handleMouseMoveEvent):
985         (WebCore::ScrollBar::handleMouseOutEvent):
986         * platform/Widget.h:
987         (WebCore::Widget::handleMouseMoveEvent):
988         (WebCore::Widget::handleMouseReleaseEvent):
989         * platform/win/TemporaryLinkStubs.cpp:
990         (FrameView::passMousePressEventToSubframe):
991         (FrameView::passMouseMoveEventToSubframe):
992         (FrameView::passMouseReleaseEventToSubframe):
993         (FrameView::passWheelEventToSubframe):
994         (Widget::capturingMouse):
995         (Widget::setCapturingMouse):
996         (Widget::capturingTarget):
997         (Widget::capturingChild):
998         (Widget::setCapturingChild):
999         * rendering/RenderView.cpp:
1000         (WebCore::RenderView::paintBoxDecorations):
1001
1002 2006-09-29  MorganL  <morganl.webkit@yahoo.com>
1003
1004         Reviewed by Adele.
1005
1006         Fixes windows bustage:
1007         http://bugs.webkit.org/show_bug.cgi?id=11093
1008
1009         * platform/win/PlatformScrollBar.h:
1010         * platform/win/TemporaryLinkStubs.cpp:
1011         (PlatformScrollBar::PlatformScrollBar):
1012         (ScrollBar::ScrollBar):
1013
1014 2006-09-29  David Hyatt  <hyatt@apple.com>
1015
1016         Eliminate RenderLayer::gScrollBar in favor of caching the scrollbar hit
1017         in RenderObject::NodeInfo (and then propagating that Widget to
1018         MouseEventWithHitTestResults).
1019
1020         This allows RenderListBox and RenderBlock to do the same thing when the
1021         mouse is over the scrollbar.
1022
1023         Also land fix to support font-size: 0.
1024
1025         Reviewed by mjs (scrollbar), eric (font-size)
1026
1027         * dom/Document.cpp:
1028         (WebCore::Document::prepareMouseEvent):
1029         * page/Frame.cpp:
1030         (WebCore::Frame::passWidgetMouseDownEventToWidget):
1031         * page/FrameView.cpp:
1032         (WebCore::selectCursor):
1033         (WebCore::FrameView::handleMouseMoveEvent):
1034         (WebCore::FrameView::dispatchMouseEvent):
1035         * page/MouseEventWithHitTestResults.cpp:
1036         (WebCore::MouseEventWithHitTestResults::MouseEventWithHitTestResults):
1037         * page/MouseEventWithHitTestResults.h:
1038         (WebCore::MouseEventWithHitTestResults::scrollbar):
1039         * rendering/RenderBlock.cpp:
1040         (WebCore::RenderBlock::isPointInScrollbar):
1041         (WebCore::RenderBlock::nodeAtPoint):
1042         * rendering/RenderBlock.h:
1043         * rendering/RenderLayer.cpp:
1044         (WebCore::RenderLayer::hitTest):
1045         * rendering/RenderLayer.h:
1046         (WebCore::RenderLayer::getHiddenBehavior):
1047         * rendering/RenderListBox.cpp:
1048         (WebCore::RenderListBox::RenderListBox):
1049         (WebCore::RenderListBox::~RenderListBox):
1050         (WebCore::RenderListBox::isPointInScrollbar):
1051         * rendering/RenderListBox.h:
1052         * rendering/RenderObject.h:
1053         (WebCore::RenderObject::NodeInfo::NodeInfo):
1054         (WebCore::RenderObject::NodeInfo::scrollbar):
1055         (WebCore::RenderObject::NodeInfo::setScrollbar):
1056
1057 2006-09-29  MorganL  <morganl.webkit@yahoo.com>
1058
1059         Reviewed by Adele.
1060
1061         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11092
1062
1063         * platform/win/ScrollViewWin.cpp:
1064         (WebCore::ScrollView::convertToContainingWindow):
1065         (WebCore::ScrollView::convertFromContainingWindow):
1066         * platform/win/WidgetWin.cpp:
1067         (WebCore::Widget::convertToContainingWindow):
1068         (WebCore::Widget::convertFromContainingWindow):
1069
1070 2006-09-29  Adele Peterson  <adele@apple.com>
1071
1072         Updated with new argument for PlatformScrollBar.
1073
1074         * platform/win/TemporaryLinkStubs.cpp:
1075         (PlatformScrollBar::PlatformScrollBar):
1076
1077 2006-09-29  Adele Peterson  <adele@apple.com>
1078
1079         Reviewed by Hyatt.
1080
1081         Fixing build bustage with cast to int.
1082
1083         * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::lastSelectedListIndex):
1084
1085 2006-09-29  Adele Peterson  <adele@apple.com>
1086
1087         Fixing accidental include.
1088
1089         * rendering/RenderListBox.cpp:
1090
1091 2006-09-29  Adele Peterson  <adele@apple.com>
1092
1093         Adding RenderListBox files.
1094
1095         * WebCore.vcproj/WebCore/WebCore.vcproj:
1096
1097 2006-09-29  Adele Peterson  <adele@apple.com>
1098
1099         Reviewed by Adam.
1100
1101         Initial implementation of engine-based list box control.
1102
1103         * WebCore.xcodeproj/project.pbxproj: Added RenderListBox.h and RenderListBox.cpp
1104
1105         * bridge/mac/FrameMac.h: Added _mouseDownMayStartAutoscroll.
1106         * bridge/mac/FrameMac.mm: Updated autoscroll code to use renderers instead of layers, so any renderer that implements autoscroll will work.
1107         (WebCore::FrameMac::FrameMac):
1108         (WebCore::FrameMac::handleMousePressEvent):
1109         (WebCore::FrameMac::handleMouseMoveEvent):
1110         (WebCore::FrameMac::mouseDown):
1111
1112         * page/Frame.cpp:
1113         (WebCore::Frame::handleMouseMoveEvent):
1114         (WebCore::Frame::scrollOverflow): Don't scroll list box here- this would cause arrow keys to scroll instead of select.
1115         (WebCore::Frame::handleAutoscroll): Updated to use a renderer instead of a layer when setting up autoscroll.
1116         (WebCore::Frame::autoscrollTimerFired): ditto.
1117         (WebCore::Frame::stopAutoscrollTimer): ditto.
1118         (WebCore::Frame::passWidgetMouseDownEventToWidget): Updated to check for list box's scroll bar.
1119         * page/Frame.h:
1120         * page/FramePrivate.h: (WebCore::FramePrivate::FramePrivate): Updated to use renderer unstead of layer for autoscroll.
1121
1122         * page/FrameView.cpp: Keep track of current mouse position so this can be used for list box autoscroll.
1123         (WebCore::FrameViewPrivate::reset):
1124         (WebCore::FrameView::currentMousePosition):
1125         (WebCore::FrameView::handleMousePressEvent):
1126         (WebCore::FrameView::handleMouseDoubleClickEvent):
1127         (WebCore::selectCursor):
1128         (WebCore::FrameView::handleMouseMoveEvent):
1129         (WebCore::FrameView::handleMouseReleaseEvent):
1130         * page/FrameView.h:
1131
1132         * platform/ScrollBar.cpp: (WebCore::ScrollBar::ScrollBar): Added controlSize argument.  The list box will use a smaller scroll bar size.
1133         * platform/ScrollBar.h:
1134         (WebCore::):
1135         (WebCore::ScrollBar::controlSize):
1136         * platform/mac/PlatformScrollBar.h:
1137         * platform/mac/PlatformScrollBarMac.mm:
1138         (NSControlSizeForScrollBarControlSize):
1139         (-[WebCoreScrollBar initWithPlatformScrollBar:]):
1140         (WebCore::PlatformScrollBar::PlatformScrollBar):
1141
1142         * rendering/RenderBlock.h:
1143         * rendering/RenderLayer.cpp: (WebCore::RenderLayer::createScrollbar): Updated to pass regular control size to scrollbar constructor.
1144         * rendering/RenderLayer.h:
1145         * rendering/RenderObject.cpp:
1146         (WebCore::RenderObject::shouldAutoscroll):
1147         (WebCore::RenderObject::autoscroll):
1148         * rendering/RenderObject.h: (WebCore::RenderObject::isListBox):
1149
1150         * css/html4.css: Added properties for new list boxes.
1151
1152         * html/HTMLOptionElement.cpp:
1153         (WebCore::HTMLOptionElement::setSelected): Doesn't allow selection to be changed here if the option is disabled.
1154         (WebCore::HTMLOptionElement::disabled): Added. Checks the parent's disabled status.
1155         * html/HTMLOptionElement.h: Added disabled method.
1156
1157         * html/HTMLSelectElement.cpp: Added appearance switch for new list box implementation.
1158         (WebCore::HTMLSelectElement::recalcStyle):
1159         (WebCore::HTMLSelectElement::lastSelectedListIndex):
1160         (WebCore::HTMLSelectElement::deselectItems):
1161         (WebCore::HTMLSelectElement::setSelectedIndex):
1162         (WebCore::HTMLSelectElement::isKeyboardFocusable):
1163         (WebCore::HTMLSelectElement::isMouseFocusable):
1164         (WebCore::HTMLSelectElement::createRenderer):
1165         (WebCore::HTMLSelectElement::recalcListItems):
1166         (WebCore::HTMLSelectElement::setRecalcListItems):
1167         (WebCore::HTMLSelectElement::reset):
1168         (WebCore::HTMLSelectElement::notifyOptionSelected):
1169         (WebCore::HTMLSelectElement::defaultEventHandler): Added code to select options for list box when clicking and using arrow keys.
1170         (WebCore::HTMLSelectElement::nextSelectableListIndex):
1171         (WebCore::HTMLSelectElement::previousSelectableListIndex):
1172         * html/HTMLSelectElement.h:
1173
1174         * rendering/RenderTheme.cpp: Added support for ListBoxAppearance
1175         (WebCore::RenderTheme::paint):
1176         (WebCore::RenderTheme::paintBorderOnly):
1177         (WebCore::RenderTheme::paintDecorations):
1178         (WebCore::RenderTheme::activeListBoxSelectionBackgroundColor):
1179         (WebCore::RenderTheme::activeListBoxSelectionForegroundColor):
1180         (WebCore::RenderTheme::inactiveListBoxSelectionBackgroundColor):
1181         (WebCore::RenderTheme::inactiveListBoxSelectionForegroundColor):
1182         (WebCore::RenderTheme::isControlStyled):
1183         (WebCore::RenderTheme::supportsFocusRing):
1184         * rendering/RenderTheme.h:
1185         * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::isControlStyled):
1186
1187         * rendering/RenderListBox.cpp: Added.
1188         (WebCore::RenderListBox::RenderListBox):
1189         (WebCore::RenderListBox::~RenderListBox):
1190         (WebCore::RenderListBox::setStyle):
1191         (WebCore::RenderListBox::updateFromElement):
1192         (WebCore::RenderListBox::calcMinMaxWidth):
1193         (WebCore::RenderListBox::size):
1194         (WebCore::RenderListBox::numItems):
1195         (WebCore::RenderListBox::calcHeight):
1196         (WebCore::RenderListBox::baselinePosition):
1197         (WebCore::RenderListBox::itemBoundingBoxRect):
1198         (WebCore::RenderListBox::paintObject):
1199         (WebCore::RenderListBox::paintScrollbar):
1200         (WebCore::RenderListBox::paintItemForeground):
1201         (WebCore::RenderListBox::paintItemBackground):
1202         (WebCore::RenderListBox::scrollBarTarget):
1203         (WebCore::RenderListBox::isPointInScrollbar):
1204         (WebCore::RenderListBox::optionAtPoint):
1205         (WebCore::RenderListBox::autoscroll):
1206         (WebCore::RenderListBox::scrollToRevealElementAtListIndex):
1207         (WebCore::RenderListBox::scroll):
1208         (WebCore::RenderListBox::valueChanged):
1209         * rendering/RenderListBox.h: Added.
1210         (WebCore::RenderListBox::isListBox):
1211         (WebCore::RenderListBox::selectionChanged):
1212         (WebCore::RenderListBox::setSelectionChanged):
1213         (WebCore::RenderListBox::canHaveChildren):
1214         (WebCore::RenderListBox::renderName):
1215         (WebCore::RenderListBox::setOptionsChanged):
1216         (WebCore::RenderListBox::shouldAutoscroll):
1217         (WebCore::RenderListBox::listIndexIsVisible):
1218
1219 2006-09-29  Beth Dakin  <bdakin@apple.com>
1220
1221         Reviewed by Darin.
1222
1223         We had a bug where html4.css was ignoring Media Queries. In the end 
1224         the problem was that we were trying to send a char* to the 
1225         MediaQueryEvaluator constructor that expects a String, but the 
1226         char* got interpreted as a bool, the wrong constructor was called, 
1227         and the media type was never set.
1228
1229         No test case possible since this only affects html4.css
1230
1231         * css/MediaQueryEvaluator.cpp: New constructor that expects takes a 
1232         char*
1233         (WebCore::MediaQueryEvaluator):
1234         * css/MediaQueryEvaluator.h: Same.
1235
1236 2006-09-29  Geoffrey Garen  <ggaren@apple.com>
1237
1238         Reviewed by John, Maciej.
1239         
1240         Integrated some frame and iframe code. I'm trying to fix up frame ownership
1241         and loading. Reducing the number of different code paths involved
1242         seemed like a good first step.
1243         
1244         As a side effect, I fixed a bug where FRAME elements would report their
1245         src attributes as relative, rather than compelete, URLs. (IFRAME elements
1246         had the correct complete URL behavior.)
1247
1248         * html/HTMLFrameElement.cpp:
1249         (WebCore::HTMLFrameElement::isURLAllowed): Fixed comment typo
1250         (WebCore::HTMLFrameElement::openURL):
1251             (1) Removed checks that requestFrame does for us
1252             (2) Added isURLAllowed check, to have one clear bottleneck for it
1253             (3) Added viewsource check, to have one clear bottleneck for it
1254         (WebCore::HTMLFrameElement::close): Changed to use the common contentFrame()
1255         method, instead of finding our content frame in our own unique way.
1256         (WebCore::HTMLFrameElement::setLocation): Removed isURLAllowed check,
1257         since openURL does this for us now.
1258         (WebCore::HTMLFrameElement::src): Return complete URL instead of relative.
1259         This is what FF does, and it made no sense to have different behaviors
1260         for FRAME and IFRAME elements.
1261         * html/HTMLIFrameElement.cpp:
1262         (WebCore::HTMLIFrameElement::HTMLIFrameElement): Removed duplicate init
1263         code.
1264         * html/HTMLIFrameElement.h: Removed src() and openURL() methods, since
1265         HTMLFrameElement now does everything we need.
1266
1267 2006-09-30  Nikolas Zimmermann  <zimmermann@kde.org>
1268
1269         Reviewed by Hyatt.
1270
1271         Fix Qt/Linux build.
1272
1273         * CMakeLists.txt:
1274         * platform/qt/ScrollViewQt.cpp:
1275         (WebCore::ScrollView::convertToContainingWindow):
1276         (WebCore::ScrollView::convertFromContainingWindow):
1277         * platform/qt/TemporaryLinkStubs.cpp:
1278         (WebCore::signedPublicKeyAndChallengeString):
1279         * platform/qt/WidgetQt.cpp:
1280         (WebCore::Widget::convertToContainingWindow):
1281         (WebCore::Widget::convertFromContainingWindow):
1282
1283 2006-09-29  Sam Weinig  <sam.weinig@gmail.com>
1284
1285         Reviewed by Tim H.
1286
1287         Patch for http://bugs.webkit.org/show_bug.cgi?id=11082
1288         Simplify Internal methods for the auto-generated Objective-C DOM code
1289
1290         - Auto-generate the internal methods for more Objective-C classes.
1291
1292         * WebCore.xcodeproj/project.pbxproj:
1293         * bindings/objc/DOM.mm:
1294         * bindings/objc/DOMCSS.mm:
1295         (-[DOMStyleSheet WebCore::]):
1296         (+[DOMStyleSheet _styleSheetWith:WebCore::]):
1297         (-[DOMCSSRule WebCore::]):
1298         (-[DOMCSSRule _initWithCSSRule:WebCore::]):
1299         (+[DOMCSSRule _CSSRuleWith:WebCore::]):
1300         (-[DOMCSSValue WebCore::]):
1301         (-[DOMCSSValue _initWithCSSValue:WebCore::]):
1302         (+[DOMCSSValue _CSSValueWith:WebCore::]):
1303         * bindings/objc/DOMHTMLAppletElement.mm:
1304         (-[DOMHTMLAppletElement WebCore::]):
1305         (+[DOMHTMLAppletElement _HTMLOptionElementWith:WebCore::]):
1306         * bindings/objc/DOMHTMLEmbedElement.mm:
1307         (-[DOMHTMLEmbedElement WebCore::]):
1308         (+[DOMHTMLEmbedElement _HTMLEmbedElementWith:WebCore::]):
1309         * bindings/objc/DOMInternal.h:
1310         * bindings/objc/DOMInternal.mm:
1311         * bindings/scripts/CodeGeneratorObjC.pm:
1312         * css/CSSCharsetRule.idl:
1313         * css/CSSFontFaceRule.idl:
1314         * css/CSSImportRule.idl:
1315         * css/CSSMediaRule.idl:
1316         * css/CSSPageRule.idl:
1317         * css/CSSPrimitiveValue.idl:
1318         * css/CSSStyleRule.idl:
1319         * css/CSSStyleSheet.idl:
1320         * css/CSSUnknownRule.idl:
1321         * css/CSSValueList.idl:
1322         * dom/KeyboardEvent.idl:
1323         * dom/MouseEvent.idl:
1324         * dom/MutationEvent.idl:
1325         * dom/NodeIterator.idl:
1326         * dom/OverflowEvent.idl:
1327         * dom/UIEvent.idl:
1328         * dom/WheelEvent.idl:
1329
1330 2006-09-29  David Harrison  <harrison@apple.com>
1331
1332         Reviewed by John Sullivan.
1333
1334         <rdar://problem/4663772> REGRESSION: Cannot type in Japanese after replying to a particular message
1335         <rdar://problem/4673293> REGRESSION: Can't enter the Japanese characters in Mail or Blot
1336
1337         Test added
1338         * fast/text/attributed-substring-from-range-001.html
1339
1340         * bridge/mac/FrameMac.mm:
1341         (WebCore::FrameMac::attributedString):
1342         Handle non-zero offsets when start and/or end node is a container. Offset used to be ignored in this case.
1343         Also, add validation of the range.
1344
1345 2006-09-29  Rob Buis  <buis@kde.org>
1346
1347         Reviewed by Maciej.
1348
1349         http://bugs.webkit.org/show_bug.cgi?id=10893
1350         InsertRule can not handle @import statements
1351
1352         Allow @import as part of a css rule.
1353
1354         * css/CSSGrammar.y:
1355
1356 2006-09-28  David Hyatt  <hyatt@apple.com>
1357
1358         Switch over the Mac-specific uses of viewportToContents/contentsToViewport.
1359
1360         * bridge/mac/FrameMac.mm:
1361         (WebCore::FrameMac::eventMayStartDrag):
1362         (WebCore::FrameMac::dragHysteresisExceeded):
1363         (WebCore::FrameMac::mouseDown):
1364         (WebCore::FrameMac::shouldDragAutoNode):
1365         (WebCore::FrameMac::sendContextMenuEvent):
1366         * bridge/mac/WebCoreFrameBridge.mm:
1367         (-[WebCoreFrameBridge _visiblePositionForPoint:]):
1368
1369 2006-09-28  Dave Hyatt  <hyatt@apple.com>
1370
1371         This patch eliminates viewportToContents/contentsToViewport in favor of convertTo/FromContainingWindow.
1372         ScrollView now subclasses these methods to factor in its scrollOffset and to deal with the document
1373         view.
1374        
1375         Reviewed by mjs (the convertTo/From changes), (I added the elimination of viewportToContents to
1376         the patch after review, once I realized that these new functions essentially do the same thing.)
1377
1378         * dom/EventTargetNode.cpp:
1379         (WebCore::EventTargetNode::dispatchMouseEvent):
1380         (WebCore::EventTargetNode::dispatchWheelEvent):
1381         * page/Frame.cpp:
1382         (WebCore::Frame::selectClosestWordFromMouseEvent):
1383         (WebCore::Frame::handleMousePressEventTripleClick):
1384         (WebCore::Frame::handleMousePressEventSingleClick):
1385         (WebCore::Frame::handleMouseMoveEvent):
1386         (WebCore::Frame::handleMouseReleaseEvent):
1387         * page/FrameView.cpp:
1388         (WebCore::FrameView::handleMousePressEvent):
1389         (WebCore::selectCursor):
1390         (WebCore::FrameView::dispatchDragEvent):
1391         (WebCore::FrameView::prepareMouseEvent):
1392         (WebCore::FrameView::handleWheelEvent):
1393         * platform/ScrollView.h:
1394         * platform/Widget.cpp:
1395         (WebCore::Widget::convertToContainingWindow):
1396         * platform/Widget.h:
1397         * platform/mac/ScrollViewMac.mm:
1398         (WebCore::ScrollView::convertToContainingWindow):
1399         (WebCore::ScrollView::convertFromContainingWindow):
1400         * platform/mac/WidgetMac.mm:
1401         (WebCore::Widget::convertToContainingWindow):
1402         (WebCore::Widget::convertFromContainingWindow):
1403         * platform/win/ScrollViewWin.cpp:
1404         (WebCore::ScrollView::convertToContainingWindow):
1405         (WebCore::ScrollView::convertFromContainingWindow):
1406         * rendering/RenderLayer.cpp:
1407         (WebCore::RenderLayer::resize):
1408
1409 2006-09-28  Alice Liu  <alice.liu@apple.com>
1410
1411         Build fix by adding missing files for CommandByName
1412
1413         * WebCore.xcodeproj/project.pbxproj:
1414
1415 2006-09-28  Alice Liu  <alice.liu@apple.com>
1416
1417         Adding CommandByName files to the vcproj
1418
1419         * WebCore.vcproj/WebCore/WebCore.vcproj:
1420
1421 2006-09-28  Alice Liu  <alice.liu@apple.com>
1422
1423         Reviewed by Adam Roben.
1424
1425         This patch adds a command class that is attached to the frame so the frame can more easily execute commands such as copy, paste, select, etc. 
1426         This patch also exposes some UBRK-related utilities so that they can be used elsewhere.
1427         This patch also changes windows PlatformMouseEvent so that we can detect multiple-click mouse events
1428
1429         * editing/CommandByName.cpp: Added.
1430         Added a command class that hangs off the frame so the frame can call commands more easily.  
1431         (WebCore::Frame::commandImp):
1432         (WebCore::Frame::execCopy):
1433         (WebCore::Frame::execCut):
1434         (WebCore::Frame::execDelete):
1435         (WebCore::Frame::execForwardDelete):
1436         (WebCore::Frame::execPaste):
1437         (WebCore::Frame::execMoveLeft):
1438         (WebCore::Frame::execMoveRight):
1439         (WebCore::Frame::execMoveUp):
1440         (WebCore::Frame::execMoveDown):
1441         (WebCore::Frame::execSelectAll):
1442         (WebCore::Frame::execSelectLeft):
1443         (WebCore::Frame::execSelectRight):
1444         (WebCore::Frame::execSelectUp):
1445         (WebCore::Frame::execSelectDown):
1446         (WebCore::Frame::enabled):
1447         (WebCore::Frame::enabledAnySelection):
1448         (WebCore::Frame::enabledAnyEditableSelection):
1449         (WebCore::Frame::enabledPaste):
1450         (WebCore::Frame::enabledAnyRangeSelection):
1451         (WebCore::Frame::enabledAnyEditableRangeSelection):
1452         (WebCore::Frame::createCommandDictionary):
1453         (WebCore::Frame::Command::):
1454         (WebCore:::m_frame):
1455         (WebCore::CommandByName::execCommand):
1456         * editing/CommandByName.h: Added.
1457         * page/Frame.cpp:
1458         Added implementation of accessor for CommandByName member
1459         (WebCore::Frame::command):
1460         * page/Frame.h:
1461         Added accessor for CommandByName member
1462         * page/FramePrivate.h:
1463         Added a CommandByName member
1464         (WebCore::FramePrivate::FramePrivate):
1465         * platform/PlatformMouseEvent.h:
1466         Changed constructor prototype
1467         * platform/StringImpl.cpp:
1468         Exposing getWordBreakIterator to be used elsewhere
1469         (WebCore::getWordBreakIterator):
1470         * platform/StringImpl.h:
1471         Exposing getWordBreakIterator to be used elsewhere
1472         * platform/win/MouseEventWin.cpp:
1473         Changed the PlatformMouseEvent on windows so that we "roll our own" multi-click mouse events instead of relying on the system to tell us, enabling us to detect triple-clicks
1474         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
1475
1476 2006-09-28  Adam Roben  <aroben@apple.com>
1477
1478         Reviewed by Adele.
1479
1480         Remove no-longer-used PopUpButton.
1481
1482         * WebCore.vcproj/WebCore/WebCore.vcproj: Remove PopUpButton.h
1483         * WebCore.xcodeproj/project.pbxproj: Remove PopUpButton.h,
1484         PopUpButtonMac.mm
1485         * platform/PopUpButton.h: Removed.
1486         * platform/mac/PopUpButtonMac.mm: Removed.
1487         * platform/win/TemporaryLinkStubs.cpp: Remove PopUpButton:: methods
1488         * rendering/DeprecatedRenderSelect.cpp: Change #include of
1489         PopUpButton.h to ListBox.h
1490
1491 2006-09-28  Darin Adler  <darin@apple.com>
1492
1493         Reviewed by Alice.
1494
1495         - change that should fix <rdar://problem/4733044> REGRESSION: XML iBench shows
1496           10% perf. regression (copying strings while decoding)
1497
1498         Use Vector<UChar> instead of String when building up the decoded string in
1499         the ICU and Mac decoders. Using String leads to O(n^2) behavior because
1500         String grows the buffer every single time that append is called. Using
1501         Vector::append instead of String::append also avoids constructing a string
1502         each time just to append and a questionable copy that is done inside the
1503         String::append function which also contributed to the slowness.
1504
1505         * platform/PlatformString.h:
1506         * platform/String.cpp: (WebCore::String::adopt): Added. Makes a String from a
1507         Vector<UChar>, adopting the buffer from the vector to avoid copying and memory
1508         allocation.
1509         * platform/StringImpl.h:
1510         * platform/StringImpl.cpp: (WebCore::StringImpl::adopt): Ditto.
1511
1512         * platform/StreamingTextDecoder.h:
1513         * platform/StreamingTextDecoder.cpp: (WebCore::TextCodec::appendOmittingBOM):
1514         Change to use a Vector<UChar> instead of a String, since vectors have better
1515         resizing performance (they store a separate capacity).
1516
1517         * platform/StreamingTextDecoderICU.cpp: (WebCore::TextCodecICU::decode):
1518         * platform/mac/StreamingTextDecoderMac.cpp: (WebCore::TextCodecMac::decode):
1519         Change to use Vector<UChar> instead of String and then create a string at
1520         the end of the process using the new adopt function.
1521
1522 2006-09-28  Sam Weinig  <sam.weinig@gmail.com>
1523
1524         Reviewed by Tim H.
1525
1526         Patch for http://bugs.webkit.org/show_bug.cgi?id=11057
1527         Auto-generate more SVG Objective-C bindings
1528
1529         - Auto-generates DOMSVGAnimatedAngle, DOMSVGAnimatedBoolean, 
1530           DOMSVGAnimatedEnumeration, DOMSVGAnimatedInteger, DOMSVGAnimatedLength,
1531           DOMSVGAnimatedLengthList, DOMSVGAnimatedNumber, DOMSVGAnimatedString,
1532           DOMSVGAnimatedTransformList, DOMSVGExternalResourcesRequired,
1533           DOMSVGLangSpace, DOMSVGLocatable, DOMSVGMetadataElement, DOMSVGRectElement,
1534           DOMSVGStringList, DOMSVGStylable, DOMSVGStyleElement, DOMSVGTests, 
1535           and DOMSVGTransformable.
1536
1537         - Adds ability to CodeGeneratorObjC.pm to handle interfaces with mulitple
1538           parent interfaces and the SVG animated classes.
1539
1540         - Corrects CodeGenerator.pm to only skip the first parent for the main 
1541           interface.
1542
1543         * DerivedSources.make:
1544         * WebCore.xcodeproj/project.pbxproj:
1545         * bindings/objc/DOMInternal.h:
1546         * bindings/objc/DOMSVG.h:
1547         * bindings/scripts/CodeGenerator.pm:
1548         * bindings/scripts/CodeGeneratorObjC.pm:
1549         * ksvg2/svg/SVGAnimatedAngle.idl:
1550         * ksvg2/svg/SVGAnimatedBoolean.idl:
1551         * ksvg2/svg/SVGAnimatedEnumeration.idl:
1552         * ksvg2/svg/SVGAnimatedInteger.idl:
1553         * ksvg2/svg/SVGAnimatedLength.idl:
1554         * ksvg2/svg/SVGAnimatedLengthList.idl:
1555         * ksvg2/svg/SVGAnimatedNumber.idl:
1556         * ksvg2/svg/SVGAnimatedPathData.idl:
1557         * ksvg2/svg/SVGAnimatedString.idl:
1558         * ksvg2/svg/SVGAnimatedTransformList.idl:
1559         * ksvg2/svg/SVGExternalResourcesRequired.idl:
1560         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.idl:
1561         * ksvg2/svg/SVGFitToViewBox.idl:
1562         * ksvg2/svg/SVGLangSpace.idl:
1563         * ksvg2/svg/SVGLocatable.idl:
1564         * ksvg2/svg/SVGMetadataElement.idl:
1565         * ksvg2/svg/SVGStringList.idl:
1566         * ksvg2/svg/SVGStylable.idl:
1567         * ksvg2/svg/SVGStyleElement.idl:
1568         * ksvg2/svg/SVGTests.idl:
1569         * ksvg2/svg/SVGTransformable.idl:
1570         * ksvg2/svg/SVGURIReference.idl:
1571         * ksvg2/svg/SVGUnitTypes.idl:
1572         * ksvg2/svg/SVGZoomAndPan.idl:
1573
1574 2006-09-28  Brady Eidson  <beidson@apple.com>
1575
1576         Reviewed by Mitz Pettel!!!
1577
1578         Change the error code check for common functions from SQLResultOk to SQLResultDone 
1579
1580         * loader/icon/IconDatabase.cpp:
1581         (WebCore::IconDatabase::forgetPageURLQuery):
1582         (WebCore::IconDatabase::setIconIDForPageURLQuery):
1583         (WebCore::IconDatabase::addIconForIconURLQuery):
1584
1585 2006-09-28  Dave Hyatt  <hyatt@apple.com>
1586
1587         Just eliminate MapWindowPoints usage and use the HWND as
1588         the viewport.
1589
1590         * platform/win/MouseEventWin.cpp:
1591         (WebCore::positionForEvent):
1592         * platform/win/ScrollViewWin.cpp:
1593         (WebCore::ScrollView::viewportToContents):
1594         (WebCore::ScrollView::contentsToViewport):
1595
1596 2006-09-27  David Hyatt  <hyatt@apple.com>
1597
1598         Fix for bug 9222, cursor is wrong when mousing over overflow scrollbars in textareas.  Make sure
1599         selectCursor checks for whether or not a scrollbar was hit.  Also stub out a mouseMoved method for
1600         scrollbars to provide hover feedback if needed.
1601
1602         Reviewed by Eric
1603
1604         * page/FrameView.cpp:
1605         (WebCore::selectCursor):
1606         (WebCore::FrameView::handleMouseMoveEvent):
1607         * platform/ScrollBar.h:
1608         (WebCore::ScrollBar::mouseMoved):
1609
1610 2006-09-27  MorganL  <morganl.webkit@yahoo.com>
1611
1612         Reviewed by Maciej and Adam, landed by Adam
1613
1614         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11072
1615         Windows build is busted
1616
1617         * platform/win/TemporaryLinkStubs.cpp:
1618         (ScrollView::paint):
1619         (ScrollView::themeChanged):
1620
1621 2006-09-27  Eric Seidel  <eric@eseidel.com>
1622
1623         Reviewed by mitz.
1624
1625         paths with no fill specified default to black but do not recieve paint-related mouse events
1626         http://bugs.webkit.org/show_bug.cgi?id=11069
1627         The default fill was being applied at the wrong place in the rendering chain, causing this problem.
1628
1629         Test: svg/custom/hover-default-fill.svg
1630
1631         * kcanvas/RenderPath.cpp:
1632         (WebCore::RenderPath::nodeAtPoint): use isFilled and isStroked
1633         * ksvg2/css/SVGRenderStyle.h: use defaultFill() and defaultStroke()
1634         * ksvg2/misc/KCanvasRenderingStyle.cpp:
1635         (WebCore::KSVGPainterFactory::isFilled): remove null check
1636         (WebCore::KSVGPainterFactory::fillPaintServer): remove null check
1637         (WebCore::KSVGPainterFactory::isStroked): remove null check
1638         (WebCore::KSVGPainterFactory::strokePaintServer): remove null check
1639         * ksvg2/svg/SVGPaint.cpp:
1640         (WebCore::SVGPaint::defaultFill): added.
1641         (WebCore::SVGPaint::defaultStroke): added.
1642         * ksvg2/svg/SVGPaint.h:
1643
1644 2006-09-27  Rob Buis  <buis@kde.org>
1645
1646         Reviewed by eseidel.
1647
1648         http://bugs.webkit.org/show_bug.cgi?id=11015
1649         SVG handles em units incorrectly
1650
1651         Calculate viewport coordinates at layout time, since
1652         at this point the font size is known and lengths depending
1653         on font sizes can be calculated correctly.
1654
1655         * kcanvas/RenderSVGContainer.cpp:
1656         (WebCore::RenderSVGContainer::layout):
1657         (WebCore::RenderSVGContainer::viewport):
1658         (WebCore::RenderSVGContainer::calcViewport):
1659         * kcanvas/RenderSVGContainer.h:
1660         * ksvg2/svg/SVGLength.cpp:
1661         (WebCore::SVGLength::updateValue):
1662         * ksvg2/svg/SVGMarkerElement.cpp:
1663         (WebCore::SVGMarkerElement::createRenderer):
1664         * ksvg2/svg/SVGSVGElement.cpp:
1665         (WebCore::SVGSVGElement::createRenderer):
1666         (WebCore::SVGSVGElement::attributeChanged):
1667         * ksvg2/svg/SVGSVGElement.h:
1668
1669 2006-09-27  Eric Seidel  <eric@eseidel.com>
1670
1671         Reviewed by darin.
1672
1673         Change our invalid-fill error behavior to match Opera (and soon Firefox)
1674         http://bugs.webkit.org/show_bug.cgi?id=11017
1675
1676         * ksvg2/misc/KCanvasRenderingStyle.cpp:
1677         (WebCore::KSVGPainterFactory::isFilled):
1678         (WebCore::KSVGPainterFactory::fillPaintServer):
1679         (WebCore::KSVGPainterFactory::isStroked):
1680         (WebCore::KSVGPainterFactory::strokePaintServer):
1681
1682 2006-09-27  Brady Eidson  <beidson@apple.com>
1683
1684         Build fix
1685
1686         * loader/icon/IconDatabase.cpp:
1687         (WebCore::readySQLStatement):
1688
1689 2006-09-27  Brady Eidson  <beidson@apple.com>
1690
1691         Reviewed by Adam
1692
1693         In very specific circumstances, prepared SQLStatements can become invalid without
1694         any warning.  This checks for that state and re-prepares the statement and also
1695         adds more aggressive error-checking everywhere these statements are used.
1696
1697         * loader/icon/IconDatabase.cpp:
1698         (WebCore::readySQLStatement): Check if the statement is expired - reprepare it
1699         (WebCore::IconDatabase::imageDataForIconURLQuery): More thoroughly catch error cases
1700         (WebCore::IconDatabase::timeStampForIconURLQuery): Ditto
1701         (WebCore::IconDatabase::iconURLForPageURLQuery): Ditto
1702         (WebCore::IconDatabase::forgetPageURLQuery): Ditto
1703         (WebCore::IconDatabase::setIconIDForPageURLQuery): Ditto
1704         (WebCore::IconDatabase::getIconIDForIconURLQuery): Ditto
1705         (WebCore::IconDatabase::addIconForIconURLQuery): Ditto
1706         (WebCore::IconDatabase::hasIconForIconURLQuery): Ditto
1707         * loader/icon/SQLStatement.cpp:
1708         (WebCore::SQLStatement::isExpired): Added (accessor to sqlite3_expired())
1709         * loader/icon/SQLStatement.h:
1710
1711 2006-09-26  Darin Adler  <darin@apple.com>
1712
1713         Reviewed by Steve.
1714
1715         - clean up options for font code path
1716
1717         * platform/Font.h:
1718         * platform/Font.cpp:
1719         (WebCore::Font::setCodePath): Added. Replaces boolean version.
1720         (WebCore::Font::canUseGlyphCache): Update to handle "never use complex" case too.
1721
1722         * platform/mac/WebCoreTextRenderer.mm:
1723         (WebCoreSetAlwaysUseATSU): Change to call setCodePath.
1724
1725 2006-09-26  John Sullivan  <sullivan@apple.com>
1726
1727         Reviewed by Darin
1728
1729         * bridge/mac/WebCoreFrameBridge.h:
1730         * bridge/mac/WebCoreFrameBridge.mm:
1731         (-[WebCoreFrameBridge markAllMatchesForText:caseSensitive:limit:]):
1732         Added limit parameter, passed down to Frame
1733         
1734         * page/Frame.h:
1735         * page/Frame.cpp:
1736         (WebCore::Frame::markAllMatchesForText):
1737         Added limit parameter. Stop the search if it hits limit.
1738
1739 2006-09-26  Sean Gies  <seangies@apple.com>
1740
1741         Reviewed by Brady Eidson.
1742
1743         * platform/cg/ImageCG.cpp: Removed #if's -- Darin said we don't need these.
1744
1745 2006-09-26  Justin Garcia  <justin.garcia@apple.com>
1746
1747         Reviewed by john
1748         
1749         <rdar://problem/4747695> 
1750         Gmail Editor: Crash at WebCore::Range::startPosition() when decreasing a indent
1751         
1752         * editing/DeleteSelectionCommand.cpp:
1753         (WebCore::DeleteSelectionCommand::initializeStartEnd): Stop expanding
1754         to select special elements that are fully selected after expansion
1755         moves to positions that are visually distinct from the originals.
1756         * editing/InsertListCommand.cpp:
1757         (WebCore::InsertListCommand::doApply): If the content of the list 
1758         item will be moved into another list, put it in a list item.
1759
1760 2006-09-26  Geoffrey Garen <ggaren@apple.com>
1761
1762         Reviewed by Darin.
1763         
1764         Temporary work-around for frame lifetime issue.
1765
1766         * page/Frame.cpp:
1767         (WebCore::Frame::clear):
1768         (WebCore::Frame::disconnectOwnerElement):
1769
1770 2006-09-26  Sam Weinig  <sam.weinig@gmail.com>
1771
1772         Reviewed by Tim H.
1773
1774         Patch for http://bugs.webkit.org/show_bug.cgi?id=11038
1775         Auto-generate DOMSVGElement for the Objective-C bindings
1776
1777         - Auto-generates DOMSVGElement.
1778
1779         - Make SVGExceptions work like all the other ExceptionCode
1780           extensions (Range, XPath, etc.) by adding SVGExceptionOffset
1781           and SVGExceptionMax.
1782
1783         * DerivedSources.make:
1784         * WebCore.xcodeproj/project.pbxproj:
1785         * bindings/js/kjs_binding.cpp:
1786         (KJS::):
1787         (KJS::setDOMException):
1788         * bindings/objc/DOMInternal.h:
1789         * bindings/objc/DOMInternal.mm:
1790         (raiseDOMException):
1791         * bindings/objc/DOMSVG.h:
1792         * bindings/objc/DOMSVGExecption.h: Added.
1793         * ksvg2/ksvg.h:
1794         * ksvg2/svg/SVGElement.cpp:
1795         (WebCore::SVGElement::setId):
1796         (WebCore::SVGElement::setXmlbase):
1797         * ksvg2/svg/SVGElement.h:
1798         * ksvg2/svg/SVGElement.idl:
1799         * ksvg2/svg/SVGException.h: Added.
1800         (WebCore::):
1801
1802 2006-09-26  Eric Seidel  <eric@eseidel.com>
1803
1804         Reviewed by Tim H.
1805         
1806         viewbox parser does not allow <tab> as a delimiter
1807         http://bugs.webkit.org/show_bug.cgi?id=11014
1808
1809         Test: svg/hixie/viewbox/003.xml
1810
1811         * ksvg2/svg/svgpathparser.cpp:
1812         (WebCore::isWhitespace): new function
1813         (WebCore::skipOptionalSpaces):
1814         (WebCore::skipOptionalSpacesOrComma):
1815
1816 2006-09-26  Eric Seidel  <eric@eseidel.com>
1817
1818         Reviewed by Tim H.
1819
1820         SVGDocument::createElement does not create elements in the SVG namespace
1821         http://bugs.webkit.org/show_bug.cgi?id=10932
1822         
1823         Test: svg/custom/createelement.svg
1824
1825         * ksvg2/svg/SVGDocument.cpp:
1826         (WebCore::SVGDocument::createElement):
1827         * ksvg2/svg/SVGDocument.h:
1828
1829 2006-09-26  Eric Seidel  <eric@eseidel.com>
1830
1831         Reviewed by Tim H.
1832         
1833         RenderPath::nodeAtPoint does not respect stroke width
1834         http://bugs.webkit.org/show_bug.cgi?id=10829
1835
1836         Test: svg/custom/stroke-width-click.svg
1837
1838         * kcanvas/device/quartz/KCanvasItemQuartz.mm:
1839         (WebCore::RenderPath::strokeContains):
1840         * kcanvas/device/quartz/QuartzSupport.h:
1841         * kcanvas/device/quartz/QuartzSupport.mm:
1842
1843 2006-09-26  Eric Seidel  <eric@eseidel.com>
1844
1845         Reviewed by mitz.
1846
1847         Bring animation back to life
1848         http://bugs.webkit.org/show_bug.cgi?id=11021
1849         
1850         Register/unregister SVGSVGElements as time containers on insertion/removal.
1851         Replace uses of DeprecatedString with String in SVGAnimationElement
1852         Various whitespace clean-up.
1853
1854         * ksvg2/misc/KSVGTimeScheduler.cpp:
1855         (WebCore::SVGTimer::notifyAll):
1856         * ksvg2/misc/SVGDocumentExtensions.cpp:
1857         (WebCore::SVGDocumentExtensions::startAnimations):
1858         (WebCore::SVGDocumentExtensions::pauseAnimations):
1859         (WebCore::SVGDocumentExtensions::unpauseAnimations):
1860         * ksvg2/svg/SVGAnimateTransformElement.cpp:
1861         (WebCore::SVGAnimateTransformElement::handleTimerEvent):
1862         (WebCore::SVGAnimateTransformElement::parseTransformValue):
1863         * ksvg2/svg/SVGAnimateTransformElement.h:
1864         * ksvg2/svg/SVGAnimationElement.cpp:
1865         (WebCore::SVGAnimationElement::SVGAnimationElement):
1866         (WebCore::SVGAnimationElement::parseMappedAttribute):
1867         (WebCore::SVGAnimationElement::parseClockValue):
1868         (WebCore::SVGAnimationElement::targetAttribute):
1869         (WebCore::SVGAnimationElement::setTargetAttribute):
1870         (WebCore::SVGAnimationElement::attributeName):
1871         * ksvg2/svg/SVGAnimationElement.h:
1872         (WebCore::SVGAnimationElement::rendererIsNeeded):
1873         * ksvg2/svg/SVGSVGElement.cpp:
1874         (WebCore::SVGSVGElement::getScreenCTM):
1875         (WebCore::SVGSVGElement::createRenderer):
1876         (WebCore::SVGSVGElement::insertedIntoDocument): added, calls addTimeContainer(this)
1877         (WebCore::SVGSVGElement::removedFromDocument): added, calls removeTimeContainer(this)
1878         * ksvg2/svg/SVGSVGElement.h:
1879         * ksvg2/svg/SVGSetElement.cpp:
1880         (WebCore::SVGSetElement::handleTimerEvent):
1881         * ksvg2/svg/SVGURIReference.cpp:
1882         (WebCore::SVGURIReference::getTarget):
1883         * ksvg2/svg/SVGURIReference.h:
1884
1885 2006-09-26  Graham Dennis  <graham.dennis@gmail.com>
1886
1887         Reviewed by mitzpettel.
1888
1889         - fix http://bugs.webkit.org/show_bug.cgi?id=11020
1890         No-SVG build broken since r16549
1891         
1892         Change #if SVG_SUPPORT to #ifdef SVG_SUPPORT
1893
1894         * css/cssparser.cpp:
1895         (WebCore::CSSParser::parseValue):
1896         * css/cssstyleselector.cpp:
1897         (WebCore::CSSStyleSelector::applyProperty):
1898         * page/FrameView.cpp:
1899         (WebCore::selectCursor):
1900         * platform/qt/GraphicsContextQt.cpp:
1901
1902 2006-09-26  Anders Carlsson  <acarlsson@apple.com>
1903
1904         Reviewed by Maciej.
1905
1906         http://bugs.webkit.org/show_bug.cgi?id=10820
1907         Add StringImpl::toDouble() and remove uses of .deprecatedString().toDouble()
1908         
1909         (Originally written by Eric Seidel).
1910         
1911         * bindings/js/kjs_window.cpp:
1912         (KJS::floatFeature):
1913         * ksvg2/svg/SVGAngle.cpp:
1914         (SVGAngle::setValueAsString):
1915         * ksvg2/svg/SVGAnimationElement.cpp:
1916         (SVGAnimationElement::parseMappedAttribute):
1917         * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
1918         (SVGComponentTransferFunctionElement::parseMappedAttribute):
1919         * ksvg2/svg/SVGFECompositeElement.cpp:
1920         (WebCore::SVGFECompositeElement::parseMappedAttribute):
1921         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
1922         (WebCore::SVGFEDiffuseLightingElement::parseMappedAttribute):
1923         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
1924         (SVGFEDisplacementMapElement::parseMappedAttribute):
1925         * ksvg2/svg/SVGFELightElement.cpp:
1926         (SVGFELightElement::parseMappedAttribute):
1927         * ksvg2/svg/SVGFEOffsetElement.cpp:
1928         (WebCore::SVGFEOffsetElement::parseMappedAttribute):
1929         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
1930         (SVGFESpecularLightingElement::parseMappedAttribute):
1931         * ksvg2/svg/SVGFETurbulenceElement.cpp:
1932         (WebCore::SVGFETurbulenceElement::parseMappedAttribute):
1933         * ksvg2/svg/SVGStopElement.cpp:
1934         (SVGStopElement::parseMappedAttribute):
1935         * platform/AtomicString.h:
1936         (WebCore::AtomicString::toDouble):
1937         * platform/PlatformString.h:
1938         * platform/String.cpp:
1939         (WebCore::String::toDouble):
1940         * platform/StringImpl.cpp:
1941         (WebCore::StringImpl::toDouble):
1942         * platform/StringImpl.h:
1943         * rendering/DeprecatedSlider.cpp:
1944         (WebCore::DeprecatedSlider::updateFromElement):
1945         * xml/XPathGrammar.y:
1946
1947 2006-09-25  David Harrison  <harrison@apple.com>
1948
1949         Reviewed by Tim Omernick and Tim Hatcher.
1950
1951         <rdar://problem/4717965> Text Field text parameterized attributes should work
1952         <rdar://problem/4712111> Support NSAccessibilityInsertionPointLineNumberAttribute for AXTextArea elements
1953
1954         * bridge/mac/WebCoreAXObject.mm:
1955         (-[WebCoreAXObject accessibilityAttributeValue:]):
1956         Use new line number support to implement NSAccessibilityInsertionPointLineNumberAttribute.
1957         
1958         (-[WebCoreAXObject accessibilityParameterizedAttributeNames]):
1959         Cleaned up. Added text field and text area parameterzed attributes.
1960         
1961         (-[WebCoreAXObject doAXLineForTextMarker:]):
1962         Fixed to be zero-based and to deal with the first position properly.
1963         
1964         (-[WebCoreAXObject doAXTextMarkerRangeForLine:]):
1965         Minor formatting.
1966         
1967         (-[WebCoreAXObject textMarkerForIndex:lastIndexOK:]):
1968         (-[WebCoreAXObject indexForTextMarker:]):
1969         (-[WebCoreAXObject textMarkerRangeForRange:]):
1970         (-[WebCoreAXObject rangeForTextMarkerRange:]):
1971         New utility methods.
1972         
1973         (-[WebCoreAXObject doAXLineForIndex:]):
1974         (-[WebCoreAXObject doAXRangeForLine:]):
1975         (-[WebCoreAXObject doAXStringForRange:]):
1976         (-[WebCoreAXObject doAXRangeForPosition:]):
1977         (-[WebCoreAXObject doAXRangeForIndex:]):
1978         (-[WebCoreAXObject doAXBoundsForRange:]):
1979         (-[WebCoreAXObject doAXAttributedStringForRange:]):
1980         (-[WebCoreAXObject doAXRTFForRange:]):
1981         (-[WebCoreAXObject doAXStyleRangeForIndex:]):
1982         Implement text field and text area parameterized attributes.
1983          
1984         (-[WebCoreAXObject accessibilityAttributeValue:forParameter:]):
1985         Added text field and text area parameterzed attributes.
1986
1987         * rendering/RenderTextControl.h:
1988         Made indexForVisiblePosition() and visiblePositionForIndex() public.
1989
1990 2006-09-25  Adam Roben  <aroben@apple.com>
1991
1992         Reviewed by Brady.
1993
1994         Build fixes.
1995
1996         * WebCore.vcproj/WebCore/WebCore.vcproj: Fix malformed XML.
1997         * platform/ResourceLoader.h: Store whether a particular job
1998         has received a response within the ResourceLoader object itself, since
1999         it's possible that we will enter the InternetReadFileExA while loop
2000         twice for the same job.
2001         * platform/ResourceLoaderInternal.h: Add private instance variable to
2002         store whether we've received a response.
2003         (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
2004         * platform/win/GraphicsContextWin.cpp: Fix order of preprocessor
2005         directives.
2006         * platform/win/ResourceLoaderWin.cpp: 
2007         (WebCore::ResourceLoader::onRequestComplete): Ask the ResourceLoader
2008         whether it has received a response instead of assuming it hasn't.
2009         (WebCore::ResourceLoader::setHasReceivedResponse): Added.
2010         (WebCore::ResourceLoader::hasReceivedResponse): Added.
2011         * platform/win/TemporaryLinkStubs.cpp: Rename setKnobProportion to
2012         setProportion
2013         (ScrollBar::setProportion):
2014
2015 2006-09-25  Brady Eidson  <beidson@apple.com>
2016
2017         Requested by ggaren
2018
2019         Disabled IconDatabase logging by default
2020
2021         * platform/Logging.cpp:
2022         (WebCore::):
2023
2024 2006-09-25  Steve Falkenburg  <sfalken@apple.com>
2025
2026         Build fix
2027
2028         * platform/cf/ResourceLoaderCFNet.cpp:
2029         (WebCore::willCacheResponse):
2030
2031 2006-09-25  Justin Garcia  <justin.garcia@apple.com>
2032
2033         Reviewed by john
2034         
2035         <http://bugs.webkit.org/show_bug.cgi?id=11002>
2036         Gmail Editor: Crash at WebCore::SplitElementCommand::doApply() when attempting to indent in a new message
2037         
2038         * editing/IndentOutdentCommand.cpp:
2039         (WebCore::IndentOutdentCommand::indentRegion): Special case
2040         an empty root editable element.
2041
2042 2006-09-25  Brady Eidson  <beidson@apple.com>
2043
2044         Reviewed by Steve
2045
2046         Math error in SystemTimeWin
2047
2048         * platform/win/SystemTimeWin.cpp:
2049         (WebCore::currentTime):
2050
2051 2006-09-25  Alexey Proskuryakov  <ap@nypop.com>
2052
2053         Reviewed by Eric.
2054
2055         Whitespace cleanup; rename *job variables to *loader.
2056
2057         * bindings/js/JSXMLHttpRequest.cpp:
2058         (KJS::JSXMLHttpRequestConstructorImp::JSXMLHttpRequestConstructorImp):
2059         (KJS::JSXMLHttpRequestConstructorImp::implementsConstruct):
2060         (KJS::JSXMLHttpRequestConstructorImp::construct):
2061         (KJS::JSXMLHttpRequest::getOwnPropertySlot):
2062         (KJS::JSXMLHttpRequest::getValueProperty):
2063         (KJS::JSXMLHttpRequest::put):
2064         (KJS::JSXMLHttpRequest::putValueProperty):
2065         (KJS::JSXMLHttpRequest::mark):
2066         (KJS::JSXMLHttpRequest::JSXMLHttpRequest):
2067         (KJS::JSXMLHttpRequest::~JSXMLHttpRequest):
2068         (KJS::JSXMLHttpRequestProtoFunc::callAsFunction):
2069         * bindings/js/JSXMLHttpRequest.h:
2070         (KJS::JSXMLHttpRequest::toBoolean):
2071         * xml/xmlhttprequest.cpp:
2072         (WebCore::XMLHttpRequest::XMLHttpRequest):
2073         (WebCore::XMLHttpRequest::urlMatchesDocumentDomain):
2074         (WebCore::XMLHttpRequest::send):
2075         (WebCore::XMLHttpRequest::abort):
2076         (WebCore::XMLHttpRequest::receivedAllData):
2077         (WebCore::XMLHttpRequest::receivedData):
2078         * xml/xmlhttprequest.h:
2079         (WebCore::):
2080
2081 2006-09-25  Timothy Hatcher  <timothy@apple.com>
2082
2083         Reviewed by Brady.
2084
2085         - Deprecate the rest of the old-style methods that are not generated.
2086         - Add @property syntax to DOMRange.
2087
2088         * WebCore.xcodeproj/project.pbxproj:
2089         * bindings/objc/DOM.mm:
2090         (-[DOMRange setStart:offset:]):
2091         (-[DOMRange setEnd:offset:]):
2092         (-[DOMRange compareBoundaryPoints:sourceRange:]):
2093         (-[DOMRange setStart::]):
2094         (-[DOMRange setEnd::]):
2095         (-[DOMRange compareBoundaryPoints::]):
2096         (-[DOMDocument createNodeIterator:whatToShow:filter:expandEntityReferences:]):
2097         (-[DOMDocument createTreeWalker:whatToShow:filter:expandEntityReferences:]):
2098         (-[DOMDocument createNodeIterator::::]):
2099         (-[DOMDocument createTreeWalker::::]):
2100         * bindings/objc/DOMCSS.h:
2101         * bindings/objc/DOMCSS.mm:
2102         (-[DOMDocument getComputedStyle:pseudoElement:]):
2103         (-[DOMDocument getComputedStyle::]):
2104         (-[DOMDocument getMatchedCSSRules:pseudoElement:]):
2105         * bindings/objc/DOMExtensions.h:
2106         * bindings/objc/DOMHTML.h:
2107         * bindings/objc/DOMRange.h:
2108         * bindings/objc/DOMTraversal.h:
2109
2110 2006-09-25  Eric Seidel  <eric@eseidel.com>
2111
2112         Reviewed by mjs.
2113         
2114         Outermost <svg> element should clip to viewport
2115         http://bugs.webkit.org/show_bug.cgi?id=11007
2116
2117         Test: svg/custom/viewport-clip.svg
2118
2119         * css/svg.css: change svg:root overflow: from 'visible' to 'hidden'
2120
2121 2006-09-25  Anders Carlsson  <acarlsson@apple.com>
2122
2123         Reviewed by Maciej.
2124
2125         * css/MediaList.cpp:
2126         Remove unused header.
2127         
2128         * dom/Document.cpp:
2129         (WebCore::Document::clear):
2130         Use clear instead of iterating through the list of event listeners, removing each one.
2131         (Doing that causes a crash when running the layout tests with GuardMalloc turned on)
2132         
2133         * html/HTMLKeygenElement.cpp:
2134         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
2135         (WebCore::HTMLKeygenElement::appendFormData):
2136         Update due to changes in the SSL key generator.
2137         
2138         * ksvg2/svg/SVGAngle.cpp:
2139         Remove unused header.
2140         
2141         * ksvg2/svg/SVGAnimationElement.cpp:
2142         (SVGAnimationElement::parseMappedAttribute):
2143         Rename methods and pass Strings instead of DeprecatedStrings to
2144         parseSeparatedList.
2145         
2146         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
2147         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
2148         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
2149         * ksvg2/svg/SVGFEMergeElement.cpp:
2150         * ksvg2/svg/SVGFEOffsetElement.cpp:
2151         Remove unused headers.
2152         
2153         * ksvg2/svg/SVGHelper.cpp:
2154         (WebCore::SVGHelper::parseSeparatedList):
2155         * ksvg2/svg/SVGHelper.h:
2156         Rename ParseSeperatedList to parseSeparatedList, make it take a String instead of a 
2157         DeprecatedString and have it use Vector<String> instead of DeprecatedStringList.
2158         
2159         * ksvg2/svg/SVGLengthList.cpp:
2160         (WebCore::SVGLengthList::parse):
2161         * ksvg2/svg/SVGLengthList.h:
2162         Use Vector<String> instead of DeprecatedStringList.
2163         
2164         * loader/Cache.cpp:
2165         (WebCore::Cache::requestImage):
2166         (WebCore::Cache::requestStyleSheet):
2167         (WebCore::Cache::requestScript):
2168         (WebCore::Cache::requestXSLStyleSheet):
2169         (WebCore::Cache::requestXBLDocument):
2170         (WebCore::Cache::remove):
2171         (WebCore::Cache::get):
2172         Use a String as the key in the cache set instead of a RefPtr<StringImpl>.
2173         
2174         * loader/DocLoader.cpp:
2175         (WebCore::DocLoader::needReload):
2176         * loader/DocLoader.h:
2177         Use a HashSet instead of DeprecatedStringList.
2178         
2179         * page/FrameView.h:
2180         Remove declarations that have no functions.
2181         
2182         * platform/SSLKeyGenerator.h:
2183         * platform/mac/SSLKeyGeneratorMac.mm:
2184         (WebCore::supportedKeySizes):
2185         (WebCore::signedPublicKeyAndChallengeString):
2186         Convert to use Vector<String> instead of DeprecatedStringList, and String instead of
2187         DeprecatedString.
2188
2189 2006-09-25  Dave Hyatt  <hyatt@apple.com>
2190
2191         Shunt the RenderTheme world transform adoption between
2192         Cairo and Windows into getWindowsContext and move the method
2193         out of GraphicsContextCairo and into GraphicsContextWin.
2194
2195         * ChangeLog:
2196         * WebCore.vcproj/WebCore/WebCore.vcproj:
2197         * platform/cairo/GraphicsContextCairo.cpp:
2198         * platform/win/GraphicsContextWin.cpp: Added.
2199         (WebCore::GraphicsContext::getWindowsContext):
2200         (WebCore::GraphicsContext::releaseWindowsContext):
2201         * rendering/RenderThemeWin.cpp:
2202         (WebCore::prepareForDrawing):
2203
2204 2006-09-24  Eric Seidel  <eric@eseidel.com>
2205
2206         Reviewed by hyatt.
2207
2208         <svg:a> cannot be styled with a:hover
2209         http://bugs.webkit.org/show_bug.cgi?id=11005
2210         
2211         Test: svg/hixie/cascade/002.xml
2212
2213         * css/cssstyleselector.cpp:
2214         (WebCore::checkPseudoState):
2215
2216 2006-09-24  Sam Weinig  <sam.weinig@gmail.com>
2217
2218         Reviewed by Tim H.
2219
2220         Patch for http://bugs.webkit.org/show_bug.cgi?id=10882
2221         SVG needs Obj-C DOM bindings
2222
2223         - Auto-generate the first 8 Objective-C SVG DOM bindings.  The 
2224           auto-generated classes are DOMSVGAngle, DOMSVGLength, DOMSVGLengthList,
2225           DOMSVGMatrix, DOMSVGPathSeg, DOMSVGPathSegList, DOMSVGTransform, and 
2226           DOMSVGTransformList.
2227
2228         * DerivedSources.make:
2229         * WebCore.xcodeproj/project.pbxproj:
2230         * bindings/objc/DOMInternal.h:
2231         * bindings/objc/DOMSVG.h: Added.
2232         * ksvg2/svg/SVGAngle.idl:
2233         * ksvg2/svg/SVGLength.idl:
2234         * ksvg2/svg/SVGLengthList.idl:
2235         * ksvg2/svg/SVGMatrix.idl:
2236         * ksvg2/svg/SVGPathSeg.idl:
2237         * ksvg2/svg/SVGPathSegList.idl:
2238         * ksvg2/svg/SVGTransform.idl:
2239         * ksvg2/svg/SVGTransformList.idl:
2240
2241 2006-09-24  Rob Buis  <buis@kde.org>
2242
2243         Reviewed by eseidel.
2244
2245         Fix for http://bugs.webkit.org/show_bug.cgi?id=6001
2246         WebKit does not handle fallback custom cursors
2247         Fix for http://bugs.webkit.org/show_bug.cgi?id=6002
2248         WebKit does not properly handle SVG <cursor> element
2249
2250         Add support for svg cursor images. Also make sure hotspot
2251         settings are handled correctly. Add tests for handling of css3
2252         cursor syntax with hotspots in strict and quirks mode. Finally
2253         implement fallback.
2254
2255         * WebCore.xcodeproj/project.pbxproj:
2256         * css/CSSComputedStyleDeclaration.cpp:
2257         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2258         * css/CSSCursorImageValue.cpp: Added.
2259         (WebCore::CSSCursorImageValue::CSSCursorImageValue):
2260         (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
2261         * css/CSSCursorImageValue.h: Added.
2262         (WebCore::CSSCursorImageValue::hotspot):
2263         * css/cssparser.cpp:
2264         (WebCore::CSSParser::parseValue):
2265         * css/cssstyleselector.cpp:
2266         (WebCore::CSSStyleSelector::applyProperty):
2267         * ksvg2/svg/SVGCursorElement.cpp:
2268         * manual-tests/css3-cursor-fallback-quirks.html: Added.
2269         * manual-tests/css3-cursor-fallback-strict.html: Added.
2270         * manual-tests/cursorfallback.xml: Added.
2271         * page/FrameView.cpp:
2272         (WebCore::selectCursor):
2273         * platform/Cursor.h:
2274         * platform/mac/CursorMac.mm:
2275         (WebCore::createCustomCursor):
2276         (WebCore::Cursor::Cursor):
2277         * platform/qt/CursorQt.cpp:
2278         (WebCore::Cursor::Cursor):
2279         * rendering/RenderStyle.cpp:
2280         (WebCore::StyleInheritedData::StyleInheritedData):
2281         (WebCore::StyleInheritedData::operator==):
2282         (WebCore::RenderStyle::diff):
2283         (WebCore::RenderStyle::addCursor):
2284         (WebCore::RenderStyle::addSVGCursor):
2285         (WebCore::RenderStyle::setCursorList):
2286         (WebCore::RenderStyle::clearCursorList):
2287         * rendering/RenderStyle.h:
2288         (WebCore::CursorData::CursorData):
2289         (WebCore::CursorList::operator[]):
2290         (WebCore::CursorList::size):
2291         (WebCore::CursorList::append):
2292         (WebCore::RenderStyle::cursors):
2293
2294 2006-09-24  Sam Weinig  <sam.weinig@gmail.com>
2295
2296         Reviewed by Tim H.
2297
2298         Patch for http://bugs.webkit.org/show_bug.cgi?id=11009
2299         Auto-generate the internal methods interfaces for the Objective-C bindings
2300
2301         - Auto-generate the internal method declarations into their own files
2302           named in the form DOMFooBarInternal.h for class DOMFooBar.
2303
2304         - Remove all use of DOM_cast from code.
2305
2306         - Assorted cleanups.
2307
2308         * WebCore.xcodeproj/project.pbxproj:
2309         * bindings/objc/DOM.mm:
2310         (-[DOMNode _initWithNode:WebCore::]):
2311         (-[DOMNode WebCore::]):
2312         (-[DOMRange dealloc]):
2313         (-[DOMRange finalize]):
2314         (-[DOMRange _initWithRange:WebCore::]):
2315         (-[DOMRange WebCore::]):
2316         (-[DOMNodeFilter _initWithNodeFilter:WebCore::]):
2317         (-[DOMNodeFilter WebCore::]):
2318         (-[DOMNodeFilter dealloc]):
2319         (-[DOMNodeFilter finalize]):
2320         (-[DOMNodeIterator _initWithNodeIterator:WebCore::filter:]):
2321         (-[DOMNodeIterator WebCore::]):
2322         (-[DOMTreeWalker _initWithTreeWalker:WebCore::filter:]):
2323         (-[DOMTreeWalker WebCore::]):
2324         * bindings/objc/DOMAbstractView.mm:
2325         (-[DOMAbstractView _initWithAbstractView:WebCore::]):
2326         * bindings/objc/DOMCSS.mm:
2327         (-[DOMStyleSheet _initWithStyleSheet:WebCore::]):
2328         (-[DOMCSSRule _initWithRule:WebCore::]):
2329         (-[DOMCSSValue _initWithValue:WebCore::]):
2330         * bindings/objc/DOMEvents.mm:
2331         (-[DOMEvent _initWithEvent:WebCore::]):
2332         * bindings/objc/DOMHTMLAppletElement.mm:
2333         (-[DOMHTMLAppletElement align]):
2334         (-[DOMHTMLAppletElement setAlign:]):
2335         (-[DOMHTMLAppletElement alt]):
2336         (-[DOMHTMLAppletElement setAlt:]):
2337         (-[DOMHTMLAppletElement archive]):
2338         (-[DOMHTMLAppletElement setArchive:]):
2339         (-[DOMHTMLAppletElement code]):
2340         (-[DOMHTMLAppletElement setCode:]):
2341         (-[DOMHTMLAppletElement codeBase]):
2342         (-[DOMHTMLAppletElement setCodeBase:]):
2343         (-[DOMHTMLAppletElement height]):
2344         (-[DOMHTMLAppletElement setHeight:]):
2345         (-[DOMHTMLAppletElement hspace]):
2346         (-[DOMHTMLAppletElement setHspace:]):
2347         (-[DOMHTMLAppletElement name]):
2348         (-[DOMHTMLAppletElement setName:]):
2349         (-[DOMHTMLAppletElement object]):
2350         (-[DOMHTMLAppletElement setObject:]):
2351         (-[DOMHTMLAppletElement vspace]):
2352         (-[DOMHTMLAppletElement setVspace:]):
2353         (-[DOMHTMLAppletElement width]):
2354         (-[DOMHTMLAppletElement setWidth:]):
2355         * bindings/objc/DOMInternal.h:
2356         (getDOMWrapper):
2357         (addDOMWrapper):
2358         (raiseOnDOMError):
2359         * bindings/objc/DOMXPath.mm:
2360         (-[DOMNativeXPathNSResolver _initWithXPathNSResolver:WebCore::]):
2361         * bindings/scripts/CodeGeneratorObjC.pm:
2362
2363 2006-09-24  Nikolas Zimmermann  <zimmermann@kde.org>
2364
2365         Reviewed by eseidel.
2366
2367         Fix Qt/Linux build after Dave's Scrollbar changes.
2368
2369         * platform/qt/PlatformScrollBar.h: (Somehow this contained the file twice! Removed one instance!)
2370         * platform/qt/TemporaryLinkStubs.cpp:
2371         (WebCore::ScrollBar::setProportion):
2372         (WebCore::PlatformScrollBar::updateThumbPosition):
2373         (WebCore::PlatformScrollBar::updateThumbProportion):
2374
2375 2006-09-24  Nikolas Zimmermann  <zimmermann@kde.org>
2376
2377         Reviewed by eseidel.
2378
2379         Qt/Linux build system changes: enable xpath/xslt by default.
2380         Offer possibility to change all of these using 'ccmake'.
2381
2382         * CMakeLists.txt:
2383
2384 2006-09-24  Dave Hyatt  <hyatt@apple.com>
2385
2386         Cleanup of Scrollbar APIs.  Rename setKnobProportion to setProportion.  Rename setScrollbarValue to updateThumbPosition.
2387         Give setProportion a base class implementation and implement it using the same pattern as setValue/updateThumbPosition (so that
2388         the base calls a protected virtual function, updateThumbProportion, implemented by the derived class to update the actual scrollbar itself).
2389
2390         * platform/ScrollBar.cpp:
2391         (WebCore::ScrollBar::setValue):
2392         (WebCore::ScrollBar::setProportion):
2393         * platform/ScrollBar.h:
2394         (WebCore::ScrollBar::value):
2395         * platform/mac/PlatformScrollBar.h:
2396         * platform/mac/PlatformScrollBarMac.mm:
2397         (WebCore::PlatformScrollBar::updateThumbPosition):
2398         (WebCore::PlatformScrollBar::updateThumbProportion):
2399         * platform/win/PlatformScrollBar.h:
2400         * platform/win/TemporaryLinkStubs.cpp:
2401         (PlatformScrollBar::updateThumbPosition):
2402         (PlatformScrollBar::updateThumbProportion):
2403         * rendering/RenderLayer.cpp:
2404         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
2405
2406 2006-09-23  Alexey Proskuryakov  <ap@nypop.com>
2407
2408         Reviewed by Eric.
2409
2410         http://bugs.webkit.org/show_bug.cgi?id=4872
2411         XMLHttpRequest fails to throw an exception when there is a security violation
2412         (mismatching domains)
2413
2414         Raise an exception if there is a security violation, and also in cases required by
2415         the current draft of XHR specification.
2416
2417         * bindings/js/JSXMLHttpRequest.cpp:
2418         (KJS::JSXMLHttpRequest::getValueProperty): Raise an exception if a DOM method reports one.
2419         (KJS::JSXMLHttpRequestProtoFunc::callAsFunction): Raise an exception if a DOM method
2420         reports one, and also if there were too few arguments passed. 
2421
2422         * bindings/js/kjs_binding.cpp:
2423         (KJS::setDOMException): Added support for custom XHR exceptions.
2424
2425         * xml/xmlhttprequest.h: Changed state names to match the current spec. Defined an
2426         exception code range for XHR exceptions.
2427
2428         * xml/xmlhttprequest.cpp:
2429         (WebCore::XMLHttpRequest::open): Removed a check for m_aborted that could never succeed.
2430         (WebCore::XMLHttpRequest::send):
2431         (WebCore::XMLHttpRequest::setRequestHeader):
2432         (WebCore::XMLHttpRequest::getStatus):
2433         (WebCore::XMLHttpRequest::getStatusText):
2434         (WebCore::XMLHttpRequest::processSyncLoadResults):
2435         (WebCore::XMLHttpRequest::receivedAllData):
2436         (WebCore::XMLHttpRequest::receivedData):
2437
2438 2006-09-22  Steve Falkenburg  <sfalken@apple.com>
2439
2440         Reviewed by Jeff Jenkins.
2441
2442         Tweak CF types.
2443
2444         * platform/cf/ResourceLoaderCFNet.cpp:
2445         (WebCore::willCacheResponse):
2446
2447 2006-09-22  Justin Garcia  <justin.garcia@apple.com>
2448
2449         Reviewed by darin
2450
2451         <http://bugs.webkit.org/show_bug.cgi?id=8029>
2452         Rename Node::isAncestor and RenderObject::hasAncestor to isDescendantOf
2453
2454         * dom/Document.cpp:
2455         (WebCore::Document::clearSelectionIfNeeded):
2456         * dom/Element.cpp:
2457         (WebCore::Element::contains):
2458         * dom/Node.cpp:
2459         (WebCore::Node::traverseNextNode):
2460         (WebCore::Node::traverseNextSibling):
2461         (WebCore::Node::traversePreviousNodePostOrder):
2462         (WebCore::Node::checkAddChild):
2463         (WebCore::Node::isDescendantOf):
2464         * dom/Node.h:
2465         * dom/NodeIterator.cpp:
2466         (WebCore::NodeIterator::notifyBeforeNodeRemoval):
2467         * editing/ApplyStyleCommand.cpp:
2468         (WebCore::ApplyStyleCommand::applyBlockStyle):
2469         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
2470         (WebCore::ApplyStyleCommand::applyInlineStyle):
2471         (WebCore::ApplyStyleCommand::pushDownTextDecorationStyleAroundNode):
2472         * editing/CompositeEditCommand.cpp:
2473         (WebCore::CompositeEditCommand::mergeIdenticalElements):
2474         (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
2475         * editing/DeleteSelectionCommand.cpp:
2476         (WebCore::updatePositionForNodeRemoval):
2477         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
2478         (WebCore::DeleteSelectionCommand::mergeParagraphs):
2479         * editing/FormatBlockCommand.cpp:
2480         (WebCore::FormatBlockCommand::doApply):
2481         * editing/IndentOutdentCommand.cpp:
2482         (WebCore::enclosingListOrBlockquote):
2483         * editing/Selection.cpp:
2484         (WebCore::Selection::validate):
2485         * editing/SelectionController.cpp:
2486         (WebCore::SelectionController::nodeWillBeRemoved):
2487         * editing/TextIterator.cpp:
2488         (WebCore::SimplifiedBackwardsTextIterator::advance):
2489         * editing/VisiblePosition.cpp:
2490         (WebCore::VisiblePosition::next):
2491         (WebCore::VisiblePosition::previous):
2492         (WebCore::VisiblePosition::canonicalPosition):
2493         (WebCore::isFirstVisiblePositionInNode):
2494         (WebCore::isLastVisiblePositionInNode):
2495         * editing/htmlediting.cpp:
2496         (WebCore::firstEditablePositionAfterPositionInRoot):
2497         (WebCore::lastEditablePositionBeforePositionInRoot):
2498         (WebCore::enclosingNodeWithTag):
2499         (WebCore::enclosingList):
2500         (WebCore::enclosingListChild):
2501         * editing/markup.cpp:
2502         (WebCore::createMarkup):
2503
2504 2006-09-22  Timothy Hatcher  <timothy@apple.com>
2505
2506         Reviewed by Darin.
2507
2508         - Added @property syntax to non-generated headers
2509           inside #ifndef BUILDING_ON_TIGER.
2510         - Changed the DOMEventTarget protocol to have have new versions
2511           of addEventListener and removeEventListener with named parameters.
2512           These old style methods can be removed once Mail changes to use
2513           the new methods <rdar://problem/4746649>.
2514
2515         * WebCorePrefix.h: define BUILDING_ON_TIGER when Tiger is the target
2516         * bindings/objc/DOM.mm:
2517         (-[DOMNode addEventListener:listener:useCapture:]):
2518         (-[DOMNode addEventListener:::]): call the new method
2519         (-[DOMNode removeEventListener:listener:useCapture:]):
2520         (-[DOMNode removeEventListener:::]): call the new method
2521         * bindings/objc/DOMAbstractView.h:
2522         * bindings/objc/DOMEventTarget.h:
2523         * bindings/objc/DOMHTMLAppletElement.h:
2524         * bindings/objc/DOMHTMLEmbedElement.h:
2525         * bindings/objc/DOMHTMLOptionElement.h:
2526         * bindings/objc/DOMObject.h:
2527         * bindings/objc/DOMRGBColor.h:
2528
2529 2006-09-22  Nikolas Zimmermann  <zimmermann@kde.org>
2530
2531         Reviewed by Eric.
2532
2533         Fix Qt/Linux build and a really stupid mixup in GraphicsContextQt.
2534
2535         * platform/qt/FrameQt.cpp:
2536         * platform/qt/GraphicsContextQt.cpp:
2537         (WebCore::GraphicsContext::translate): Make it actually translate, not scale! :-)
2538         (WebCore::GraphicsContext::origin):
2539         * platform/qt/PlatformScrollBar.h: Added.
2540         (WebCore::PlatformScrollBar::isWidget):
2541         * platform/qt/WidgetQt.cpp:
2542         (WebCore::Widget::invalidate):
2543         (WebCore::Widget::invalidateRect):
2544
2545 2006-09-22  Dave Hyatt <hyatt@apple.com>
2546
2547         Super-minor tweaks to the systemFont function on Mac.
2548         Set the generic family to None rather than to Serif, and
2549         don't waste time setting the computed size, since that is
2550         set from the specified size over in CSSStyleSelector anyway.
2551
2552         * rendering/RenderThemeMac.mm:
2553         (WebCore::RenderThemeMac::systemFont):
2554
2555 2006-09-22  Timothy Hatcher  <timothy@apple.com>
2556
2557         Reviewed by Brady.
2558
2559         Build fix for Xcode 2.3. Convert GraphicsContext::translate() to
2560         take floats. There was already an implicit conversion to float/double
2561         when calling CGContextTranslateCTM or cairo_translate.
2562
2563         * platform/GraphicsContext.h:
2564         * platform/cairo/GraphicsContextCairo.cpp:
2565         (WebCore::GraphicsContext::translate):
2566         * platform/cg/GraphicsContextCG.cpp:
2567         (WebCore::GraphicsContext::translate):
2568
2569 2006-09-22  Brady Eidson  <beidson@apple.com>
2570
2571         Reviewed by Sfalken
2572
2573         Add redirect and other cleanup to ResourceLoaderWin.cpp
2574         Fixes bug http://bugs.webkit.org/show_bug.cgi?id=10927
2575         Fixes bug http://bugs.webkit.org/show_bug.cgi?id=10744
2576
2577         * WebCore.xcodeproj/project.pbxproj:
2578         * platform/ResourceLoader.h:
2579         * platform/win/ResourceLoaderWin.cpp:
2580         (WebCore::ResourceLoaderWndProc):
2581         (WebCore::initializeOffScreenResourceLoaderWindow):
2582         (WebCore::ResourceLoader::onHandleCreated):
2583         (WebCore::ResourceLoader::onRequestRedirected):
2584         (WebCore::ResourceLoader::onRequestComplete):
2585         (WebCore::transferJobStatusCallback):
2586
2587 2006-09-22  Alexey Proskuryakov  <ap@nypop.com>
2588
2589         Reviewed by Geoff.
2590
2591         http://bugs.webkit.org/show_bug.cgi?id=10803
2592         REGRESSION (r15536-r15544): manual-tests/bugzilla-6821.html failing
2593
2594         * page/FrameView.cpp:
2595         (WebCore::FrameView::hoverTimerFired): Use the current event.
2596
2597 2006-09-22  Nikolas Zimmermann  <zimmermann@kde.org>
2598
2599         Reviewed by Anders.
2600
2601         Fix (last) svg memory leak.
2602
2603         * ksvg2/svg/SVGTransformable.cpp: delete 't' in error case.
2604         (SVGTransformable::parseTransformAttribute):
2605
2606 2006-09-22  Eric Seidel  <eric@eseidel.com>
2607
2608         No review necessary, just removing a dead file.
2609
2610         Remove unused file (added previously by mistake) to make room for real implementation.
2611
2612         * platform/mac/BitmapImageMac.mm: Removed.
2613
2614 2006-09-22  Dave Hyatt <hyatt@apple.com>
2615
2616         Move PlatformScrollBar.h down into the platforms.
2617         
2618         Reviewed by andersca
2619
2620         * platform/PlatformScrollBar.h: Removed.
2621         * platform/win/PlatformScrollBar.h: Added.
2622         * platform/mac/PlatformScrollBar.h: Added.
2623
2624 2006-09-22   Dave Hyatt  <hyatt@apple.com>
2625
2626         Add support for invalidation of widgets.  This will be needed for the Win32 widget subsystem (and for
2627         any widget subsystems that don't have any underlying native objects backing the widgets.
2628
2629         Reviewed by anders
2630
2631         * platform/Widget.h:
2632         * platform/mac/WidgetMac.mm:
2633         (WebCore::Widget::invalidate):
2634         (WebCore::Widget::invalidateRect):
2635         * platform/win/TemporaryLinkStubs.cpp:
2636         (Widget::invalidate):
2637         (Widget::invalidateRect):
2638
2639 2006-09-22  Rob Buis  <buis@kd.org>
2640
2641         Reviewed by eseidel.
2642
2643         http://bugs.webkit.org/show_bug.cgi?id=10901
2644         Merge build fixes from unity
2645
2646         * CMakeLists.txt:
2647
2648 2006-09-21  Nikolas Zimmermann  <zimmermann@kde.org>
2649
2650         Reviewed by eseidel.
2651
2652         http://bugs.webkit.org/show_bug.cgi?id=10977
2653         SVGDocument does not expose 'rootElement' property
2654
2655         Enable 'rootElement' property.
2656
2657         * ksvg2/svg/SVGDocument.idl:
2658
2659 2006-09-21  Steve Falkenburg  <sfalken@apple.com>
2660
2661         Tweak includes.
2662
2663         * platform/ResourceLoaderInternal.h:
2664
2665 2006-09-21  Geoffrey Garen  <ggaren@apple.com>
2666
2667         build fixed. band happy.
2668         
2669         * platform/cg/GraphicsContextCG.cpp:
2670         (WebCore::GraphicsContext::translate):
2671         * platform/mac/WidgetMac.mm:
2672
2673 2006-09-21  Geoffrey Garen  <ggaren@apple.com>
2674
2675         Reviewed by Maciej.
2676         
2677         Some Widget refactoring.
2678
2679         * WebCore.vcproj/WebCore/WebCore.vcproj:
2680         * bridge/mac/FrameMac.mm:
2681         * bridge/win/FrameWin.cpp:
2682         (WebCore::FrameWin::runJavaScriptAlert):
2683         (WebCore::FrameWin::runJavaScriptConfirm):
2684         * bridge/win/PageWin.cpp:
2685         (WebCore::Page::Page):
2686         (WebCore::rootWindowForFrame):
2687         * html/CanvasRenderingContext2D.cpp:
2688         (WebCore::CanvasRenderingContext2D::translate):
2689         * page/FrameView.cpp:
2690         (WebCore::FrameView::isFrameView):
2691         * page/Page.h:
2692         (WebCore::Page::setInstanceHandle):
2693         (WebCore::Page::instanceHandle):
2694         * platform/GraphicsContext.h:
2695         * platform/ScrollView.h:
2696         * platform/Widget.h:
2697         * platform/cairo/GraphicsContextCairo.cpp:
2698         (WebCore::GraphicsContext::translate):
2699         (WebCore::GraphicsContext::origin):
2700         * platform/mac/WidgetMac.mm:
2701         (WebCore::Widget::clearFocus):
2702         * platform/win/ResourceLoaderWin.cpp:
2703         (WebCore::initializeOffScreenResourceLoaderWindow):
2704         * platform/win/ScreenWin.cpp:
2705         (WebCore::monitorInfo):
2706         * platform/win/ScrollViewWin.cpp:
2707         (WebCore::ScrollView::updateContents):
2708         (WebCore::ScrollView::visibleWidth):
2709         (WebCore::ScrollView::visibleHeight):
2710         (WebCore::ScrollView::visibleContentRect):
2711         (WebCore::ScrollView::viewportToContents):
2712         (WebCore::ScrollView::contentsToViewport):
2713         (WebCore::ScrollView::scrollBy):
2714         (WebCore::ScrollView::updateScrollInfo):
2715         (WebCore::ScrollView::updateScrollBars):
2716         * platform/win/SharedTimerWin.cpp:
2717         (WebCore::initializeOffScreenTimerWindow):
2718         * platform/win/TemporaryLinkStubs.cpp:
2719         (FrameView::updateBorder):
2720         (ScrollView::paint):
2721         (GraphicsContext::clip):
2722         * platform/win/WidgetWin.cpp:
2723         (WebCore::Widget::Widget):
2724         (WebCore::Widget::parentWindow):
2725         (WebCore::Widget::setParentWindow):
2726         (WebCore::Widget::frameGeometry):
2727         (WebCore::Widget::hasFocus):
2728         (WebCore::Widget::setFocus):
2729         (WebCore::Widget::show):
2730         (WebCore::Widget::hide):
2731         (WebCore::Widget::setFrameGeometry):
2732
2733 2006-09-22  Anders Carlsson  <acarlsson@apple.com>
2734
2735         Reviewed by Tim H.
2736
2737         * platform/TextEncoding.cpp:
2738         (WebCore::TextEncoding::backslashAsCurrencySymbol):
2739         Add comment clarifying why backslashAsCurrencySymbol is needed.
2740
2741 2006-09-21  Sean Gies  <seangies@apple.com>
2742
2743         Reviewed by Adam Roben.
2744
2745         Add utility functions to get and release HDC from GraphicsContext.
2746
2747         * platform/GraphicsContext.h: Add utilities to get and release HDC.
2748         * platform/cairo/GraphicsContextCairo.cpp: Implement new utilities.
2749         * rendering/RenderThemeWin.cpp: Switch to new utilities.
2750
2751 2006-09-21  Justin Garcia  <justin.garcia@apple.com>
2752
2753         Reviewed by anders
2754         
2755         <rdar://problem/4426622>
2756         Plain text paste slow.  Time spent mostly in WebCore::rebalanceWhitespaceInTextNode(...)
2757
2758         * editing/htmlediting.cpp:
2759         (WebCore::rebalanceWhitespaceInTextNode): We no longer need to use a RegExp replace because we
2760         aren't producing complicated sequences here.  Use multiple UChar -> UChar replaces instead for speed.
2761         Got rid of uses of DepricatedString.
2762
2763 2006-09-21  Nikolas Zimmermann  <zimmermann@kde.org>
2764
2765         Reviewed by eseidel.
2766
2767         Don't crash if no IconDatabase is available (ie. on Qt/Gdk)
2768
2769         * page/Frame.cpp:
2770         (WebCore::Frame::endIfNotLoading):
2771
2772 2006-09-21  Nikolas Zimmermann  <zimmermann@kde.org>
2773
2774         Reviewed by eseidel.
2775
2776         Fix Qt/Linux build.
2777
2778         * CMakeLists.txt:
2779         * kcanvas/device/qt/KCanvasClipperQt.h:
2780         * kcanvas/device/qt/KRenderingDeviceQt.cpp:
2781         * platform/qt/FrameQt.cpp:
2782         (WebCore::FrameQt::isLoadTypeReload):
2783         (WebCore::FrameQt::originalRequestURL):
2784         * platform/qt/FrameQt.h:
2785         * platform/qt/GraphicsContextQt.cpp:
2786         (WebCore::GraphicsContext::concatCTM):
2787         * platform/qt/ScrollViewQt.cpp:
2788         (WebCore::ScrollView::wheelEvent):
2789         * platform/qt/TemporaryLinkStubs.cpp:
2790         (WebCore::IconDatabase::setIconURLForPageURL):
2791
2792 2006-09-20  Justin Garcia  <justin.garcia@apple.com>
2793
2794         Reviewed by john
2795         
2796         <http://bugs.webkit.org/show_bug.cgi?id=7165>
2797         TinyMCE: Dragging & dropping content always leaves a copy when editing inside a subframe
2798
2799         * editing/MoveSelectionCommand.cpp:
2800         (WebCore::MoveSelectionCommand::MoveSelectionCommand): Set the document
2801         to the position-to-move-to's document, not the fragment's document.  The 
2802         fragment's document is the document used to create the fragment and is irrelavant.
2803
2804 === Safari-521.27 ===
2805
2806 2006-09-21  Brady Eidson  <beidson@apple.com>
2807
2808         Reviewed by Anders
2809
2810         When your assumption is "IconDatabase::sharedIconDatabase()" will never fail but it does, you're in trouble
2811         This fixes Spinneret so it won't crash on its first load!
2812
2813         * page/Frame.cpp:
2814         (WebCore::Frame::endIfNotLoading):
2815
2816 2006-09-21  Brady Eidson  <beidson@apple.com>
2817
2818         Build fix
2819
2820         * platform/win/TemporaryLinkStubs.cpp:
2821         (ScrollView::wheelEvent):
2822
2823 2006-09-20  Rob Buis  <buis@kde.org>
2824
2825         Reviewed by eseidel.
2826
2827         http://bugs.webkit.org/show_bug.cgi?id=10946
2828         new marker code draws end-marker in wrong place
2829
2830         Keep track of the start of the subpath so we can handle
2831         closeTo/moveTo correctly.
2832
2833         * kcanvas/RenderPath.cpp:
2834         (WebCore::DrawMarkersData::DrawMarkersData):
2835         (WebCore::updateMarkerDataForElement):
2836
2837 2006-09-21  David Hyatt <hyatt@apple.com>
2838
2839         Wheel scrolling prep for Win32.
2840
2841         WARNING: NO TEST CASES ADDED OR CHANGED
2842
2843         * platform/PlatformWheelEvent.h:
2844         * platform/ScrollBar.h:
2845         * platform/ScrollView.h:
2846         * platform/mac/ScrollViewMac.mm:
2847         (WebCore::ScrollView::wheelEvent):
2848         * rendering/RenderLayer.cpp:
2849
2850 2006-09-20  Timothy Hatcher  <timothy@apple.com>
2851
2852         Reviewed by Hyatt.
2853
2854         Bug 10917: REGRESSION (r16027): iFrame transparency broken
2855         http://bugs.webkit.org/show_bug.cgi?id=10917
2856
2857         Don't paint the base background color if we transparent.
2858
2859         * rendering/RenderBox.cpp:
2860         (WebCore::RenderBox::paintBackgroundExtended):
2861
2862 2006-09-20  Adam Roben  <aroben@apple.com>
2863
2864         Reviewed by andersca.
2865
2866         * platform/FileChooser.h: Remove no-longer-necessary namespace std
2867
2868 2006-09-20  Eric Seidel  <eric@eseidel.com>
2869
2870         Reviewed by beth.
2871
2872         Cleanup style in KCanvas.
2873         Remove extra white-space, unneeded arguments, etc.
2874
2875         * WebCore.xcodeproj/project.pbxproj:
2876         * kcanvas/KCanvasClipper.cpp:
2877         (WebCore::operator<<):
2878         (WebCore::KCanvasClipper::externalRepresentation):
2879         * kcanvas/KCanvasClipper.h:
2880         * kcanvas/KCanvasFilters.cpp:
2881         (WebCore::KCanvasFilter::externalRepresentation):
2882         (WebCore::operator<<):
2883         (WebCore::KCanvasFilterEffect::externalRepresentation):
2884         (WebCore::KCPointLightSource::externalRepresentation):
2885         (WebCore::KCSpotLightSource::externalRepresentation):
2886         (WebCore::KCDistantLightSource::externalRepresentation):
2887         (WebCore::KCanvasFEBlend::externalRepresentation):
2888         (WebCore::KCanvasFEColorMatrix::externalRepresentation):
2889         (WebCore::KCanvasFEComponentTransfer::externalRepresentation):
2890         (WebCore::KCanvasFEComposite::externalRepresentation):
2891         (WebCore::KCanvasFEConvolveMatrix::externalRepresentation):
2892         (WebCore::KCanvasFEDiffuseLighting::externalRepresentation):
2893         (WebCore::KCanvasFEDisplacementMap::externalRepresentation):
2894         (WebCore::KCanvasFEFlood::externalRepresentation):
2895         (WebCore::KCanvasFEGaussianBlur::externalRepresentation):
2896         (WebCore::KCanvasFEImage::externalRepresentation):
2897         (WebCore::KCanvasFEMerge::externalRepresentation):
2898         (WebCore::KCanvasFEMorphology::externalRepresentation):
2899         (WebCore::KCanvasFEOffset::externalRepresentation):
2900         (WebCore::KCanvasFESpecularLighting::externalRepresentation):
2901         (WebCore::KCanvasFETile::externalRepresentation):
2902         (WebCore::KCanvasFETurbulence::externalRepresentation):
2903         * kcanvas/KCanvasFilters.h:
2904         (WebCore::KCanvasFEDiffuseLighting::lightSource):
2905         (WebCore::KCanvasFESpecularLighting::lightSource):
2906         * kcanvas/KCanvasImage.h:
2907         * kcanvas/KCanvasMarker.cpp:
2908         (WebCore::KCanvasMarker::externalRepresentation):
2909         * kcanvas/KCanvasMarker.h:
2910         * kcanvas/KCanvasResource.cpp:
2911         (WebCore::operator<<):
2912         * kcanvas/KCanvasResource.h:
2913         * kcanvas/KCanvasTreeDebug.cpp:
2914         (WebCore::operator<<):
2915         (WebCore::writeIndent):
2916         (WebCore::writeStyle):
2917         (WebCore::write):
2918         (WebCore::writeRenderResources):
2919         * kcanvas/KCanvasTreeDebug.h:
2920         (WebCore::operator<<):
2921         * kcanvas/RenderForeignObject.cpp:
2922         (WebCore::RenderForeignObject::paint):
2923         * kcanvas/RenderPath.cpp:
2924         (WebCore::RenderPath::paint):
2925         (WebCore::drawStartAndMidMarkers):
2926         * kcanvas/RenderSVGContainer.cpp:
2927         (WebCore::RenderSVGContainer::paint):
2928         * kcanvas/RenderSVGImage.cpp:
2929         (WebCore::RenderSVGImage::translateForAttributes):
2930         * kcanvas/RenderSVGImage.h:
2931         * kcanvas/device/KRenderingDevice.cpp:
2932         (WebCore::KRenderingDevice::currentContext):
2933         (WebCore::KRenderingDevice::popContext):
2934         (WebCore::KRenderingDevice::pushContext):
2935         * kcanvas/device/KRenderingDevice.h:
2936         * kcanvas/device/KRenderingFillPainter.h:
2937         * kcanvas/device/KRenderingPaintServer.h:
2938         (WebCore::KRenderingPaintServer::KRenderingPaintServer):
2939         (WebCore::KRenderingPaintServer::activeClient):
2940         (WebCore::KRenderingPaintServer::setActiveClient):
2941         * kcanvas/device/KRenderingPaintServerGradient.cpp:
2942         (WebCore::operator<<):
2943         (WebCore::KRenderingPaintServerGradient::externalRepresentation):
2944         (WebCore::KRenderingPaintServerLinearGradient::externalRepresentation):
2945         (WebCore::KRenderingPaintServerGradient::listener):
2946         (WebCore::KRenderingPaintServerGradient::setListener):
2947         (WebCore::KRenderingPaintServerRadialGradient::externalRepresentation):
2948         * kcanvas/device/KRenderingPaintServerGradient.h:
2949         * kcanvas/device/KRenderingPaintServerPattern.cpp:
2950         (WebCore::KRenderingPaintServerPattern::tile):
2951         (WebCore::KRenderingPaintServerPattern::setTile):
2952         (WebCore::KRenderingPaintServerPattern::listener):
2953         (WebCore::KRenderingPaintServerPattern::setListener):
2954         (WebCore::KRenderingPaintServerPattern::externalRepresentation):
2955         * kcanvas/device/KRenderingPaintServerPattern.h:
2956         * kcanvas/device/KRenderingPaintServerSolid.cpp:
2957         (WebCore::KRenderingPaintServerSolid::externalRepresentation):
2958         * kcanvas/device/KRenderingPaintServerSolid.h:
2959         * kcanvas/device/KRenderingStrokePainter.cpp:
2960         (WebCore::KRenderingStrokePainter::strokeMiterLimit):
2961         (WebCore::KRenderingStrokePainter::setStrokeMiterLimit):
2962         * kcanvas/device/KRenderingStrokePainter.h:
2963         * kcanvas/device/quartz/KCanvasFilterQuartz.h:
2964         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
2965         (WebCore::KCanvasFilterQuartz::prepareFilter):
2966         * kcanvas/device/quartz/KCanvasItemQuartz.h: Removed.
2967         * kcanvas/device/quartz/KCanvasMaskerQuartz.mm:
2968         (WebCore::KCanvasMaskerQuartz::applyMask):
2969         * kcanvas/device/quartz/KCanvasResourcesQuartz.h:
2970         (WebCore::KCanvasImageQuartz::init):
2971         * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
2972         (WebCore::KCanvasClipperQuartz::applyClip):
2973         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
2974         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
2975         (WebCore::KRenderingDeviceQuartz::quartzContext):
2976         (WebCore::KRenderingDeviceQuartz::contextForImage):
2977         (WebCore::KRenderingDeviceQuartz::createPaintServer):
2978         (WebCore::KRenderingDeviceQuartz::createResource):
2979         (WebCore::KRenderingDeviceQuartz::createFilterEffect):
2980         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
2981         (WebCore::CGShadingRefForLinearGradient):
2982         (WebCore::CGShadingRefForRadialGradient):
2983         (WebCore::KRenderingPaintServerGradientQuartz::updateQuartzGradientCache):
2984         (WebCore::KRenderingPaintServerGradientQuartz::teardown):
2985         * kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
2986         * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
2987         (WebCore::KRenderingPaintServerQuartzHelper::strokePath):
2988         (WebCore::KRenderingPaintServerQuartzHelper::clipToStrokePath):
2989         (WebCore::KRenderingPaintServerQuartzHelper::fillPath):
2990         (WebCore::KRenderingPaintServerQuartzHelper::clipToFillPath):
2991         (WebCore::KRenderingPaintServerSolidQuartz::draw):
2992         (WebCore::KRenderingPaintServerSolidQuartz::setup):
2993         (WebCore::KRenderingPaintServerSolidQuartz::renderPath):
2994         (WebCore::KRenderingPaintServerPatternQuartz::setup):
2995         (WebCore::KRenderingPaintServerPatternQuartz::renderPath):
2996         (WebCore::KRenderingPaintServerPatternQuartz::teardown):
2997         * kcanvas/device/quartz/QuartzSupport.h:
2998         * kcanvas/device/quartz/QuartzSupport.mm:
2999         (WebCore::applyStrokeStyleToContext):
3000
3001 2006-09-20  Anders Carlsson  <acarlsson@apple.com>
3002
3003         Reviewed by Dave Hyatt.
3004
3005         * dom/WheelEvent.cpp:
3006         (WebCore::WheelEvent::WheelEvent):
3007         Use lroundf instead of lround since deltas are floats.
3008
3009 2006-09-20  Julien Palmas  <julien.palmas@gmail.com>
3010
3011         Reviewed by eseidel.  Landed by eseidel.
3012
3013         Test: svg/custom/pattern-y-offset.svg
3014
3015         * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
3016         (WebCore::KRenderingPaintServerPatternQuartz::setup):
3017
3018 2006-09-20  David Hyatt  <hyatt@apple.com>
3019
3020         Add a new wheelEvent method to ScrollView.  Platforms that wish
3021         to handle the wheel event for the scroll view themselves can then
3022         do so there.  (Mac lets the underlying NSScrollView do it for now.)
3023
3024         * page/FrameView.cpp:
3025         (WebCore::FrameView::handleWheelEvent):
3026         * platform/ScrollView.h:
3027         (WebCore::ScrollView::wheelEvent):
3028
3029 2006-09-20  Brady Eidson  <beidson@apple.com>
3030
3031         Reviewed by Tim Omernick
3032
3033         Part of fixing a crash Tim O showed me that I missed in a release build.
3034         WebKit should be able to call through the bridge to WebCore no matter what -
3035         Replace the _iconDB member with calls to IconDatabase::sharedIconDatabase()
3036
3037         * bridge/mac/WebCoreIconDatabaseBridge.h:
3038         * bridge/mac/WebCoreIconDatabaseBridge.mm:
3039         (-[WebCoreIconDatabaseBridge closeSharedDatabase]):
3040         (-[WebCoreIconDatabaseBridge isOpen]):
3041         (-[WebCoreIconDatabaseBridge removeAllIcons]):
3042         (-[WebCoreIconDatabaseBridge _isEmpty]):
3043         (-[WebCoreIconDatabaseBridge isIconExpiredForIconURL:]):
3044         (-[WebCoreIconDatabaseBridge setPrivateBrowsingEnabled:]):
3045         (-[WebCoreIconDatabaseBridge privateBrowsingEnabled]):
3046         (-[WebCoreIconDatabaseBridge iconForPageURL:withSize:]):
3047         (-[WebCoreIconDatabaseBridge iconURLForPageURL:]):
3048         (-[WebCoreIconDatabaseBridge defaultIconWithSize:]):
3049         (-[WebCoreIconDatabaseBridge retainIconForURL:]):
3050         (-[WebCoreIconDatabaseBridge releaseIconForURL:]):
3051         (-[WebCoreIconDatabaseBridge _setIconData:forIconURL:]):
3052         (-[WebCoreIconDatabaseBridge _setHaveNoIconForIconURL:]):
3053         (-[WebCoreIconDatabaseBridge _setIconURL:forPageURL:]):
3054         (-[WebCoreIconDatabaseBridge _hasEntryForIconURL:]):
3055         (-[WebCoreIconDatabaseBridge _setEnabled:]):
3056         (-[WebCoreIconDatabaseBridge _isEnabled]):
3057
3058 2006-09-20  Anders Carlsson  <acarlsson@apple.com>
3059
3060         Reviewed by Darin.
3061
3062         Add String::split which returns a Vector of Strings and use it instead of 
3063         DeprecatedStringList.
3064         
3065         * bindings/js/kjs_events.cpp:
3066         (KJS::Clipboard::getValueProperty):
3067         * bindings/js/kjs_window.cpp:
3068         (KJS::parseModalDialogFeatures):
3069         * css/MediaList.cpp:
3070         (WebCore::MediaList::setMediaText):
3071         * dom/Clipboard.h:
3072         * html/HTMLFormElement.cpp:
3073         (WebCore::HTMLFormElement::formData):
3074         * html/HTMLLinkElement.cpp:
3075         (WebCore::HTMLLinkElement::tokenizeRelAttribute):
3076         * platform/PlatformString.h:
3077         * platform/String.cpp:
3078         (WebCore::String::split):
3079         * platform/StringImpl.cpp:
3080         * platform/StringImpl.h:
3081         * platform/mac/ClipboardMac.h:
3082         * platform/mac/ClipboardMac.mm:
3083         (WebCore::ClipboardMac::types):
3084
3085 2006-09-20  Justin Garcia  <justin.garcia@apple.com>
3086
3087         Reviewed by harrison
3088
3089         * css/cssstyleselector.cpp:
3090         (WebCore::CSSStyleSelector::adjustRenderStyle): Don't call 
3091         HTMLElement::isContentEditable just to check the Frame's editability, since
3092         it calls updateRenderering, which can get us into infinite recursion.
3093
3094 2006-09-20  Brady Eidson  <beidson@apple.com>
3095
3096         Reviewed by Darin
3097
3098         Cleaned up my last patch alot, and made the WebCore icon database disabled by default
3099
3100         * loader/icon/IconDatabase.cpp:
3101         (WebCore::IconDatabase::IconDatabase): Disabled by default
3102         (WebCore::IconDatabase::removeAllIcons): Respect just isOpen() (disabled database will always be closed)
3103         (WebCore::IconDatabase::setPrivateBrowsingEnabled): Ditto
3104         (WebCore::IconDatabase::iconForPageURL): Ditto
3105         (WebCore::IconDatabase::isIconExpiredForIconURL): Ditto
3106         (WebCore::IconDatabase::iconURLForPageURL): Ditto
3107         (WebCore::IconDatabase::retainIconForPageURL): Ditto
3108         (WebCore::IconDatabase::releaseIconForPageURL): Ditto
3109         (WebCore::IconDatabase::setIconDataForIconURL): Ditto
3110         (WebCore::IconDatabase::setIconURLForPageURL): Ditto
3111         (WebCore::IconDatabase::hasEntryForIconURL): Ditto
3112         (WebCore::IconDatabase::setEnabled): Fixed a big bug here!
3113
3114 2006-09-20  Adam Roben  <aroben@apple.com>
3115
3116         Reviewed by Adele.
3117
3118         Fixes http://bugs.webkit.org/show_bug.cgi?id=10935
3119         REGRESSION: file upload control with direction:rtl or text-align:right
3120         draws button on top of filename/icon
3121
3122         * rendering/RenderFileUploadControl.cpp:
3123         (WebCore::RenderFileUploadControl::setStyle): Force text-align to
3124         match direction
3125         (WebCore::RenderFileUploadControl::paintObject): Fix positioning of
3126         the filename and icon in RTL
3127
3128 2006-09-20  Alice Liu  <alice.liu@apple.com>
3129
3130         Reviewed by Adam Roben.
3131
3132         fixed windows build
3133
3134         * dom/WheelEvent.cpp:
3135         (WebCore::WheelEvent::WheelEvent):
3136         changed lrint to lround
3137
3138 2006-09-20  Sam Weinig  <sam.weinig@gmail.com>
3139
3140         Build Fix.  Adds isHorizontal attribute back to WheelEvent
3141         for the Objective-C bindings.  If it is found that isHorizontal
3142         is not used, we should remove it again but also remove it's
3143         declaration from PublicDOMInterfaces.h
3144
3145         * dom/WheelEvent.h:
3146         (WebCore::WheelEvent::isHorizontal):
3147         * dom/WheelEvent.idl:
3148
3149 2006-09-20  David Hyatt  <hyatt@apple.com>
3150
3151         Fix for 10945, WheelEvent should support two dimensions at once, since
3152         MacBooks allow for diagonal scrolling.  Also enhance the PlatformWheelEvent
3153         to allow for diagonal scrolling.
3154
3155         Reviewed by Eric
3156
3157         * dom/EventTargetNode.cpp:
3158         (WebCore::EventTargetNode::dispatchWheelEvent):
3159         * dom/WheelEvent.cpp:
3160         (WebCore::WheelEvent::WheelEvent):
3161         (WebCore::WheelEvent::initWheelEvent):
3162         * dom/WheelEvent.h:
3163         (WebCore::WheelEvent::wheelDelta):
3164         (WebCore::WheelEvent::wheelDeltaX):
3165         (WebCore::WheelEvent::wheelDeltaY):
3166         * dom/WheelEvent.idl:
3167         * page/FrameView.cpp:
3168         (WebCore::FrameView::handleWheelEvent):
3169         * platform/PlatformWheelEvent.h:
3170         (WebCore::PlatformWheelEvent::deltaX):
3171         (WebCore::PlatformWheelEvent::deltaY):
3172         (WebCore::PlatformWheelEvent::normalize):
3173         * platform/mac/WheelEventMac.mm:
3174         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
3175
3176 2006-09-19  Eric Seidel  <eric@eseidel.com>
3177
3178         Reviewed by hyatt.
3179
3180         Split KCanvasResources.* into multiple files (and some other minor spacing changes).
3181         
3182         No tests were harmed in the making of this patch.
3183
3184         * WebCore.xcodeproj/project.pbxproj:
3185         * kcanvas/KCanvasClipper.cpp: Added.
3186         (WebCore::operator<<):
3187         * kcanvas/KCanvasClipper.h: Added.
3188         * kcanvas/KCanvasFilters.h:
3189         * kcanvas/KCanvasImage.h:
3190         * kcanvas/KCanvasMarker.cpp: Added.
3191         * kcanvas/KCanvasMarker.h: Added.
3192         * kcanvas/KCanvasMasker.cpp: Added.
3193         (WebCore::KCanvasMasker::KCanvasMasker):
3194         (WebCore::KCanvasMasker::setMask):
3195         (WebCore::KCanvasMasker::externalRepresentation):
3196         (WebCore::getMaskerById):
3197         * kcanvas/KCanvasMasker.h: Added.
3198         * kcanvas/KCanvasResource.cpp: Added.
3199         (WebCore::KCanvasResource::invalidate):
3200         (WebCore::KCanvasResource::externalRepresentation):
3201         (WebCore::getResourceById):
3202         (WebCore::getPaintServerById):
3203         * kcanvas/KCanvasResource.h: Added.
3204         * kcanvas/KCanvasResources.cpp: Removed.
3205         * kcanvas/KCanvasResources.h: Removed.
3206         * kcanvas/RenderPath.cpp:
3207         * kcanvas/RenderSVGContainer.cpp:
3208         * kcanvas/RenderSVGImage.cpp:
3209         * kcanvas/RenderSVGText.cpp:
3210         * kcanvas/device/KRenderingPaintServer.h:
3211         * kcanvas/device/quartz/KCanvasMaskerQuartz.h:
3212         * kcanvas/device/quartz/KCanvasResourcesQuartz.h:
3213         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
3214         * ksvg2/svg/SVGClipPathElement.h:
3215         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
3216         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
3217         * ksvg2/svg/SVGFECompositeElement.cpp:
3218         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
3219         * ksvg2/svg/SVGFELightElement.cpp:
3220         * ksvg2/svg/SVGFEOffsetElement.cpp:
3221         * ksvg2/svg/SVGFETurbulenceElement.cpp:
3222         * ksvg2/svg/SVGFilterElement.cpp:
3223         * ksvg2/svg/SVGLinearGradientElement.cpp:
3224         * ksvg2/svg/SVGMarkerElement.h:
3225         * ksvg2/svg/SVGMaskElement.h:
3226
3227 2006-09-19  Brady Eidson <beidson@apple.com>
3228
3229         Reviewed by Sarge Decker
3230
3231         <rdar://problem/4739892> and <rdar://problem/4729797>
3232         - WebCore::IconDatabase needs to have and respect an enabled() flag
3233         - Mail on ToT WebKit crashes in IconDatabase code when mailing a page from Safari
3234
3235         * bridge/mac/WebCoreIconDatabaseBridge.h:
3236         * bridge/mac/WebCoreIconDatabaseBridge.mm:
3237         (-[WebCoreIconDatabaseBridge _setEnabled:]): Added
3238         (-[WebCoreIconDatabaseBridge _isEnabled]): Added
3239         * loader/icon/IconDatabase.cpp:
3240         (WebCore::IconDatabase::IconDatabase):
3241         (WebCore::IconDatabase::open): Don't open if disabled
3242         (WebCore::IconDatabase::removeAllIcons): Ignore if disabled/closed
3243         (WebCore::IconDatabase::setPrivateBrowsingEnabled): Ignore if disabled/closed
3244         (WebCore::IconDatabase::iconForPageURL): Default Icon if disabled/closed
3245         (WebCore::IconDatabase::isIconExpiredForIconURL): Default return if disabled/closed
3246         (WebCore::IconDatabase::iconURLForPageURL): Default return if disabled/closed
3247         (WebCore::IconDatabase::retainIconForPageURL): Ignore if disabled/closed
3248         (WebCore::IconDatabase::releaseIconForPageURL): Ignore if disabled/closed
3249         (WebCore::IconDatabase::releaseIconURL):
3250         (WebCore::IconDatabase::setIconDataForIconURL): Ignore if disabled/closed
3251         (WebCore::IconDatabase::setIconURLForPageURL): Ignore if disabled/closed
3252         (WebCore::IconDatabase::hasEntryForIconURL): Default return if disabled/closed
3253         (WebCore::IconDatabase::setEnabled): Added
3254         * loader/icon/IconDatabase.h:
3255         (WebCore::IconDatabase::enabled): Added
3256         * page/Frame.cpp:
3257         (WebCore::Frame::endIfNotLoading): do an IconDatabase::enabled() check before bothering to load the icon
3258         * platform/mac/ResourceLoaderMac.mm: Removed extraneous #include
3259
3260 2006-09-20  David Hyatt  <hyatt@apple.com>
3261
3262         Massage mouse wheel handling so that it is more cross-platform.  Make
3263         all the work happen in handleWheelEvent on the FrameView.
3264
3265         Reviewed by bradee-oh
3266
3267         * bridge/mac/FrameMac.mm:
3268         (WebCore::FrameMac::wheelEvent):
3269         * page/FrameView.cpp:
3270         (WebCore::FrameView::handleWheelEvent):
3271         * platform/PlatformWheelEvent.h:
3272         (WebCore::PlatformWheelEvent::platformDelta):
3273         (WebCore::PlatformWheelEvent::delta):
3274         * platform/mac/WheelEventMac.mm:
3275         (WebCore::platformDeltaForEvent):
3276         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
3277         * rendering/RenderLayer.cpp:
3278         (WebCore::RenderLayer::scroll):
3279         * rendering/RenderObject.cpp:
3280         (WebCore::RenderObject::scroll):
3281
3282 2006-09-19  Eric Seidel  <eric@eseidel.com>
3283
3284         Reviewed by adele.
3285
3286         Improve test output for filters with bounding-box relative sizes.
3287         http://bugs.webkit.org/show_bug.cgi?id=8585
3288
3289         Many test results updated.
3290
3291         * kcanvas/KCanvasFilters.cpp:
3292         (WebCore::KCanvasFilter::externalRepresentation):
3293
3294 2006-09-19  Eric Seidel  <eric@eseidel.com>
3295
3296         Reviewed by adele.
3297         
3298         Markers should clip to their viewport.
3299         http://bugs.webkit.org/show_bug.cgi?id=5967
3300
3301         Test: svg/custom/marker-overflow-clip.svg
3302
3303         * kcanvas/KCanvasResources.cpp:
3304         (WebCore::KCanvasMarker::KCanvasMarker):
3305         (WebCore::KCanvasMarker::setMarker):
3306         (WebCore::KCanvasMarker::draw):
3307         * kcanvas/KCanvasResources.h:
3308         (WebCore::KCanvasMasker::mask):
3309         * ksvg2/svg/SVGMarkerElement.cpp:
3310         (WebCore::SVGMarkerElement::SVGMarkerElement):
3311         (WebCore::SVGMarkerElement::parseMappedAttribute):
3312         (WebCore::SVGMarkerElement::canvasResource):
3313         (WebCore::SVGMarkerElement::createRenderer):
3314
3315 2006-09-19  Justin Garcia  <justin.garcia@apple.com>
3316
3317         Reviewed by eseidel
3318
3319         Backing out my recent change.
3320
3321         * css/cssstyleselector.cpp:
3322         (WebCore::CSSStyleSelector::adjustRenderStyle): 
3323
3324 2006-09-19  Brady Eidson  <beidson@apple.com>
3325
3326         Reviewed by Kevin McCullough
3327
3328         http://bugs.webkit.org/show_bug.cgi?id=10940
3329         Opening a PDF in a new tab/window creates a documentless-frame
3330         and we deref the document without checking its validity
3331
3332         * page/Frame.cpp:
3333         (WebCore::Frame::iconURL):
3334
3335 2006-09-19  Justin Garcia  <justin.garcia@apple.com>
3336
3337         Reviewed by harrison
3338         
3339         <rdar://problem/4735272>
3340         Can not click into link in programmatically editable content
3341
3342         * css/cssstyleselector.cpp:
3343         (WebCore::CSSStyleSelector::adjustRenderStyle): We stopped using
3344         userModify to implement document wide editability.
3345
3346 2006-09-19  MorganL  <morlmor@yahoo.com>
3347
3348         Reviewed by Darin and landed by Brady
3349
3350         Fixes http://bugs.webkit.org/show_bug.cgi?id=10939
3351         Build broken when SVG is not enabled.
3352
3353         * dom/XMLTokenizer.cpp:
3354         (WebCore::XMLTokenizer::startElementNs):
3355
3356 2006-09-19  Justin Garcia  <justin.garcia@apple.com>
3357
3358         Reviewed by harrison
3359         
3360         <rdar://problem/4727383> REGRESSION: Pasting plain text with tabs into Blot converts the tabs to single spaces
3361
3362         Pasting plain text results in a match style paste, and the insertion
3363         position is whitespace normal, which clobbers the whitespace:pre on 
3364         tab spans.  Skip changes to the whitespace mode when computing a style
3365         change for tab spans or the text nodes inside tab spans.
3366
3367         * editing/ApplyStyleCommand.cpp:
3368         (WebCore::StyleChange::init): Don't change the whitespace mode inside
3369         tab spans.
3370
3371 2006-09-19  David Hyatt  <hyatt@apple.com>
3372
3373         Fix for bug 5298, shape=default not supported for image maps.  Implement
3374         support for it.
3375
3376         Reviewed by timo
3377
3378         * html/HTMLAreaElement.cpp:
3379         (WebCore::HTMLAreaElement::getRegion):
3380         * html/HTMLMapElement.cpp:
3381         (WebCore::HTMLMapElement::mapMouseEvent):
3382
3383 2006-09-19  Adam Roben  <aroben@apple.com>
3384
3385         Reviewed by Adele.
3386
3387         Fixes http://bugs.webkit.org/show_bug.cgi?id=10824
3388         "no file selected" placeholder text missing from file upload control
3389
3390         * WebCore.xcodeproj/project.pbxproj:
3391         * rendering/RenderFileUploadControl.cpp: Remove class
3392         RenderFileUploadInnerFileBox, rename defaultFilenameNumChars to
3393         defaultWidthNumChars
3394         (WebCore::RenderFileUploadControl::RenderFileUploadControl): Call
3395         RenderBlock constructor instead of RenderFlexibleBox, 
3396         (WebCore::RenderFileUploadControl::setStyle): Remove references to
3397         m_fileBox.
3398         (WebCore::RenderFileUploadControl::valueChanged): Call repaint()
3399         instead of updateIconAndFileName() (which has been removed)
3400         (WebCore::RenderFileUploadControl::updateFromElement): Remove
3401         references to m_fileBox, don't call updateIconAndFilename()
3402         (WebCore::RenderFileUploadControl::maxFilenameWidth): Calculate width
3403         without using m_fileBox
3404         (WebCore::RenderFileUploadControl::createButtonStyle): Remove
3405         now-unnecessary display:box rule.
3406         (WebCore::RenderFileUploadControl::paintObject): Remove redundant call
3407         to paintingDisabled() now that Icon::paint() does it, and add code to
3408         paint the filename directly.
3409         (WebCore::RenderFileUploadControl::calcMinMaxWidth): Move this method
3410         out of RenderFileUploadInnerFileBox and into RenderFileUploadControl
3411         * rendering/RenderFileUploadControl.h: Make RenderFileUploadControl a
3412         subclass of RenderBlock instead of RenderFlexibleBox, remove
3413         updateIconAndFilename() method, remove m_fileBox instance variable.
3414
3415 2006-09-19  Eric Seidel  <eric@eseidel.com>
3416
3417         Reviewed by hyatt.
3418
3419         Exceptions thrown from <script> tags in XHTML/SVG docs show the wrong line numbers
3420         http://bugs.webkit.org/show_bug.cgi?id=10846
3421         
3422         No automated test case possible until http://bugs.webkit.org/show_bug.cgi?id=10905 is resolved.
3423
3424         * dom/XMLTokenizer.cpp:
3425         (WebCore::XMLTokenizer::XMLTokenizer):
3426         (WebCore::XMLTokenizer::startElementNs):
3427         (WebCore::XMLTokenizer::endElementNs):
3428
3429 2006-09-19  Krzysztof Kowalczyk <kkowalczyk@gmail.com>
3430
3431         Reviewed by eseidel.  Landed by eseidel.
3432         
3433         Build fix only, no tests affected.
3434
3435         * platform/gdk/FontPlatformDataGdk.cpp:
3436         (WebCore::FontPlatformData::FontPlatformData):
3437         (WebCore::FontPlatformData::~FontPlatformData):
3438         * platform/gdk/FrameGdk.h:
3439         * platform/gdk/TemporaryLinkStubs.cpp:
3440         (FrameGdk::isLoadTypeReload):
3441         (FrameGdk::originalRequestURL):
3442         (IconDatabase::setIconURLForPageURL):
3443
3444 2006-09-19  David Hyatt  <hyatt@apple.com>
3445
3446         Refine the fix for 9805 to really get all the complex cases right.
3447
3448         Reviewed by Eric
3449
3450         * rendering/RenderBlock.cpp:
3451         (WebCore::RenderBlock::clearFloatsIfNeeded):
3452         (WebCore::RenderBlock::handleBottomOfBlock):
3453
3454 2006-09-18  David Hyatt  <hyatt@apple.com>
3455
3456         Fix for 9805, <hr> not positioned properly following a previous empty sibling
3457         that had clear:both set on it.  Update self-collapsing block clearance
3458         behavior to match what is specified in the latest draft of CSS2.1.
3459
3460         Reviewed by Eric
3461
3462         Added fast/block/margin-collapse/empty-clear-blocks.html
3463
3464         * rendering/RenderBlock.cpp:
3465         (WebCore::RenderBlock::clearFloatsIfNeeded):
3466         (WebCore::RenderBlock::handleBottomOfBlock):
3467
3468 2006-09-18  MorganL  <morlmor@yahoo.com>
3469
3470         Reviewed by Brady, landed by Brady
3471
3472         Send receivedResponse callback to ResourceLoaderClient when loading
3473         file URLs.
3474
3475         See http://bugs.webkit.org/show_bug.cgi?id=10845
3476
3477         * platform/win/ResourceLoaderWin.cpp:
3478         (WebCore::ResourceLoader::fileLoadTimer):
3479
3480 2006-09-18  Brady Eidson  <beidson@apple.com>
3481
3482         Reviewed by Anders
3483
3484         <rdar://problem/3028061> - WebKit never updates favicon
3485         The WebKit enforced expiration date for icons has worked for some time, but the
3486         move to the new Icon Loader broke the "always get the icon if the user refreshes the page" 
3487         functionality.  This patch fixes that up, along with some other architectural improvements,
3488         the main one being that WebCore::Document now contains an iconURL for the Frame to query if needed.
3489
3490         * bridge/mac/FrameMac.h: Added isLoadTypeReload()
3491         * bridge/mac/FrameMac.mm:
3492         (WebCore::FrameMac::isLoadTypeReload): Implementation, calls into the bridge
3493         * bridge/mac/WebCoreFrameBridge.h: Added isLoadTypeReload:
3494         * bridge/win/FrameWin.h: Added isLoadTypeReload() for temporary link stub
3495         * dom/Document.h: Added m_iconURL
3496         (WebCore::Document::iconURL): Added
3497         (WebCore::Document::setIconURL): Ditto
3498         * html/HTMLLinkElement.cpp:
3499         (WebCore::HTMLLinkElement::process): Sets the iconURL in the Document instead of the Frame
3500         * page/Frame.cpp:
3501         (WebCore::Frame::iconURL): Calculates the iconURL based on the document, then the default favicon.ico url
3502         (WebCore::Frame::endIfNotLoading): Checks for the load type - always loads icon on Reload
3503         * page/Frame.h: Nuked setIconURL(), added isLoadTypeReload()
3504         * page/FramePrivate.h: Nuked IconURL
3505         * platform/win/TemporaryLinkStubs.cpp:
3506         (FrameWin::isLoadTypeReload):
3507
3508 2006-09-18  Sam Weinig  <sam.weinig@gmail.com>
3509
3510         Reviewed by Tim H.
3511
3512         - Re-add private method [DOMRGBColor _color] to DOMPrivate.h as
3513           it is it turns out that AppKit uses it.
3514
3515         * bindings/objc/DOMPrivate.h:
3516         * bindings/objc/DOMRGBColor.mm:
3517         (-[DOMRGBColor _color]):
3518
3519 2006-09-18  Sam Weinig  <sam.weinig@gmail.com>
3520
3521         Reviewed by Tim H.
3522
3523         Patch for http://bugs.webkit.org/show_bug.cgi?id=10903
3524         Yet Another Objective-C Bindings Patch
3525
3526         - Whitespace cleanup for IDLParser.pm
3527
3528         - Split DOMException, DOMRangeException, DOMXPathException, DOMEventsException
3529           and DOMAbstractView into their own files.
3530
3531         - Remove private method [DOMRGBColor _color] from DOMPrivate.h as
3532           it is not used and a public method is available now.
3533
3534         - Remove internal method [DOMDocument _ownerElement] from DOMInternal.h
3535           as it not used.
3536
3537         - Auto-generate method isContentEditable for DOMNode.
3538
3539         - General cleanup of bindings code including removing unneeded #imports
3540           and whitespace cleanup
3541
3542         * WebCore.xcodeproj/project.pbxproj:
3543         * bindings/objc/DOM.mm:
3544         (addElementClass):
3545         (elementClass):
3546         (-[DOMNode _initWithNode:WebCore::]):
3547         (+[DOMNode _nodeWith:WebCore::]):
3548         (-[DOMNode WebCore::]):
3549         (-[DOMNode KJS::Bindings::]):
3550         (-[DOMNode addEventListener:::]):
3551         (-[DOMNode removeEventListener:::]):
3552         (-[DOMNode dispatchEvent:]):
3553         (-[DOMElement image]):
3554         (-[DOMElement _font]):
3555         (-[DOMElement _imageTIFFRepresentation]):
3556         (-[DOMElement _getURLAttribute:]):
3557         (-[DOMElement _NPObject]):
3558         (-[DOMElement isFocused]):
3559         (-[DOMRange dealloc]):
3560         (-[DOMRange finalize]):
3561         (-[DOMRange description]):
3562         (-[DOMRange startContainer]):
3563         (-[DOMRange startOffset]):
3564         (-[DOMRange endContainer]):
3565         (-[DOMRange endOffset]):
3566         (-[DOMRange collapsed]):
3567         (-[DOMRange commonAncestorContainer]):
3568         (-[DOMRange setStart::]):
3569         (-[DOMRange setEnd::]):
3570         (-[DOMRange setStartBefore:]):
3571         (-[DOMRange setStartAfter:]):
3572         (-[DOMRange setEndBefore:]):
3573         (-[DOMRange setEndAfter:]):
3574         (-[DOMRange collapse:]):
3575         (-[DOMRange selectNode:]):
3576         (-[DOMRange selectNodeContents:]):
3577         (-[DOMRange compareBoundaryPoints::]):
3578         (-[DOMRange deleteContents]):
3579         (-[DOMRange extractContents]):
3580         (-[DOMRange cloneContents]):
3581         (-[DOMRange insertNode:]):
3582         (-[DOMRange surroundContents:]):
3583         (-[DOMRange cloneRange]):
3584         (-[DOMRange toString]):
3585         (-[DOMRange detach]):
3586         (-[DOMRange _initWithRange:WebCore::]):
3587         (+[DOMRange _rangeWith:WebCore::]):
3588         (-[DOMRange WebCore::]):
3589         (-[DOMNodeFilter _initWithNodeFilter:WebCore::]):
3590         (+[DOMNodeFilter _nodeFilterWith:WebCore::]):
3591         (-[DOMNodeFilter WebCore::]):
3592         (-[DOMNodeFilter dealloc]):
3593         (-[DOMNodeFilter finalize]):
3594         (-[DOMNodeIterator _initWithNodeIterator:WebCore::filter:]):
3595         (-[DOMNodeIterator WebCore::]):
3596         (+[DOMNodeIterator _nodeIteratorWith:WebCore::filter:]):
3597         (-[DOMTreeWalker _initWithTreeWalker:WebCore::filter:]):
3598         (-[DOMTreeWalker WebCore::]):
3599         (+[DOMTreeWalker _treeWalkerWith:WebCore::filter:]):
3600         (ObjCNodeFilterCondition::acceptNode):
3601         (-[DOMDocument createNodeIterator::::]):
3602         (-[DOMDocument createTreeWalker::::]):
3603         (ObjCEventListener::find):
3604         (ObjCEventListener::create):
3605         (ObjCEventListener::handleEvent):
3606         * bindings/objc/DOMAbstractView.h: Added.
3607         * bindings/objc/DOMAbstractView.mm: Added.
3608         (-[DOMAbstractView document]):
3609         (-[DOMAbstractView WebCore::]):
3610         (-[DOMAbstractView _initWithAbstractView:WebCore::]):
3611         (+[DOMAbstractView _abstractViewWith:WebCore::]):
3612         * bindings/objc/DOMCSS.mm:
3613         (-[DOMStyleSheet _initWithStyleSheet:WebCore::]):
3614         (+[DOMStyleSheet _styleSheetWith:WebCore::]):
3615         (+[DOMCSSStyleSheet _CSSStyleSheetWith:WebCore::]):
3616         (-[DOMCSSRule _initWithRule:WebCore::]):
3617         (+[DOMCSSRule _CSSRuleWith:WebCore::]):
3618         (-[DOMCSSValue _initWithValue:WebCore::]):
3619         (+[DOMCSSValue _CSSValueWith:WebCore::]):
3620         (+[DOMCSSPrimitiveValue _CSSPrimitiveValueWith:WebCore::]):
3621         (-[DOMDocument getComputedStyle::]):
3622         (-[DOMDocument getMatchedCSSRules::]):
3623         * bindings/objc/DOMCore.h:
3624         * bindings/objc/DOMEventException.h: Added.
3625         * bindings/objc/DOMEvents.h:
3626         * bindings/objc/DOMEvents.mm:
3627         * bindings/objc/DOMException.h: Added.
3628         * bindings/objc/DOMHTML.mm:
3629         (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]):
3630         (viewForElement):
3631         (-[DOMHTMLInputElement _replaceCharactersInRange:withString:selectingFromIndex:]):
3632         (-[DOMHTMLInputElement _selectedRange]):
3633         (-[DOMHTMLInputElement _setAutofilled:]):
3634         * bindings/objc/DOMInternal.h:
3635         * bindings/objc/DOMObject.h:
3636         * bindings/objc/DOMPrivate.h:
3637         * bindings/objc/DOMRange.h:
3638         * bindings/objc/DOMRangeException.h: Added.
3639         * bindings/objc/DOMViews.h:
3640         * bindings/objc/DOMViews.mm: Removed.
3641         * bindings/objc/DOMXPath.h:
3642         * bindings/objc/DOMXPathException.h: Added.
3643         * bindings/scripts/IDLParser.pm:
3644         * dom/Node.idl:
3645
3646 2006-09-18  Brady Eidson  <beidson@apple.com>
3647
3648         Windows build fix
3649
3650         * platform/win/TemporaryLinkStubs.cpp:
3651         (IconDatabase::setIconURLForPageURL):
3652
3653 2006-09-18  David Hyatt  <hyatt@apple.com>
3654
3655         Fix for bug 3969, hr width doesn't update when it clears a float.  This
3656         was also a problem with tables and overflow sections.
3657
3658         Reviewed by Eric
3659
3660         Added fast/block/float/width-update-after-clear.html
3661
3662         * rendering/RenderBlock.cpp:
3663         (WebCore::RenderBlock::collapseMargins):
3664         (WebCore::RenderBlock::clearFloatsIfNeeded):
3665
3666 2006-09-18  Brady Eidson  <beidson@apple.com>
3667
3668         Reviewed by John
3669
3670         http://bugs.webkit.org/show_bug.cgi?id=10907
3671         REGRESSION: New Icon Loaders don't handle certain non-server-root URLs correctly
3672
3673         * bridge/mac/FrameMac.h: Changed originalRequestURL() to virtual
3674         * bridge/win/FrameWin.h: Added originalRequestURL()
3675         * loader/icon/IconLoader.cpp:
3676         (IconLoader::receivedAllData): Moved the "pageURL to iconURL mapping logic" to Frame::commitIconURLToIconDatabase()
3677         * page/Frame.cpp:
3678         (WebCore::Frame::iconURL): Construct the icon URL from *only* the protocol and host of the frame's url.
3679         (WebCore::Frame::endIfNotLoading): Call commitIconURLToIconDatabase() if we're not kicking off an icon load
3680         (WebCore::Frame::commitIconURLToIconDatabase): Map the completed doc's pageURL to the iconURL
3681         * page/Frame.h: Added pure virtual originalRequestURL()
3682         * platform/win/TemporaryLinkStubs.cpp:
3683         (FrameWin::originalRequestURL): Added
3684
3685 2006-09-18  Rob Buis  <buis@kde.org>
3686
3687         Reviewed by Maciej.
3688
3689         http://bugs.webkit.org/show_bug.cgi?id=10807
3690         REGRESSION (r16259): Repro crash on manual-tests/svg-repaint-image.svg
3691
3692         Make sure the paint method is not exited without popping
3693         context and transparency layer.
3694
3695         WARNING: NO TEST CASES ADDED OR CHANGED
3696
3697         * kcanvas/RenderSVGImage.cpp:
3698         (WebCore::RenderSVGImage::paint):
3699
3700 2006-09-18  Graham Dennis  <graham.dennis@gmail.com>
3701
3702         Reviewed by Eric.
3703         
3704         - fix for http://bugs.webkit.org/show_bug.cgi?id=10896
3705         REGRESSION: WebKit can't be built with SVG disabled
3706         
3707         * bindings/scripts/CodeGeneratorObjC.pm:
3708         For each file generated add a #ifdef <something>_SUPPORT / #endif
3709         pair if the idl file has a Conditional extended attribute
3710
3711 2006-09-17  Eric Seidel  <eric@eseidel.com>
3712
3713         Reviewed by ap.
3714         
3715         REGRESSION (r16245): double-clicking on javascript exceptions fails to show source
3716         http://bugs.webkit.org/show_bug.cgi?id=10813
3717
3718         * bridge/mac/WebCoreFrameBridge.mm:
3719         (+[WebCoreFrameBridge stringWithData:textEncodingName:]):
3720
3721 2006-09-17  Alexey Proskuryakov  <ap@nypop.com>
3722
3723         Reviewed by Hyatt.
3724
3725         http://bugs.webkit.org/show_bug.cgi?id=10779
3726         REGRESSION: Animated GIF ignores frame intervals and loops infinitely
3727
3728         No test possible.
3729
3730         * platform/Image.cpp:
3731         (WebCore::Image::shouldAnimate): Don't check that there is more than one frame,
3732         maybe the rest just hasn't been loaded yet.
3733         (WebCore::Image::startAnimation): Move the frame count check here - there is no need
3734         to start animating before we get at least two frames.
3735
3736 2006-09-17  Brady Eidson <beidson@apple.com>
3737
3738         Reviewed by Sarge
3739
3740         IconLoader now gracefully handles the condition where there's no document in the frame
3741         (ie. PDFs)
3742
3743         * loader/icon/IconLoader.cpp:
3744         (IconLoader::startLoading):
3745
3746 2006-09-17  David Hyatt  <hyatt@apple.com>
3747
3748         Fix for bug 10899, rework how CSS keywords work to be smarter about
3749         using the correct size when generic families change (e.g., monospace to
3750         serif and vice versa).
3751
3752         Reviewed by aroben
3753
3754         Added fast/text/basic/generic-family-changes.html
3755
3756         * css/cssstyleselector.cpp:
3757         (WebCore::CSSStyleSelector::applyProperty):
3758         (WebCore::CSSStyleSelector::checkForGenericFamilyChange):
3759         (WebCore::CSSStyleSelector::fontSizeForKeyword):
3760         * css/cssstyleselector.h:
3761         * dom/Document.cpp:
3762         (WebCore::Document::recalcStyle):
3763         * platform/FontDescription.h:
3764         (WebCore::FontDescription::FontDescription):
3765         (WebCore::FontDescription::keywordSize):
3766         (WebCore::FontDescription::setKeywordSize):
3767         (WebCore::FontDescription::operator==):
3768
3769 2006-09-17  Alexey Proskuryakov  <ap@nypop.com>
3770
3771         Reviewed by Brady.
3772
3773         http://bugs.webkit.org/show_bug.cgi?id=10852
3774         REGRESSION: Reproducible crash in XMLHttpRequest::abort()
3775
3776         Test: http/tests/xmlhttprequest/xhr-onunload.html
3777
3778         * xml/xmlhttprequest.cpp:
3779         (WebCore::XMLHttpRequest::send): Check the return value of ResourceLoader::start().
3780
3781         * loader/icon/IconLoader.cpp:
3782         (IconLoader::startLoading): Fix a similar latent bug here.
3783
3784 2006-09-17  Adam Roben  <aroben@apple.com>
3785
3786         Build fix.
3787
3788         * loader/icon/IconDatabase.cpp:
3789
3790 2006-09-17  Anders Carlsson  <acarlsson@apple.com>
3791
3792         Reviewed by Brady.
3793
3794         Add simplifyWhiteSpace and stripWhiteSpace to the String class. 
3795         Change the XSLT Parameter Map to use Strings instead of StringImpls.
3796         General cleanup.
3797
3798         * bindings/js/JSXSLTProcessor.cpp:
3799         (KJS::XSLTProcessorProtoFunc::callAsFunction):
3800         * bindings/js/kjs_events.cpp:
3801         (KJS::JSAbstractEventListener::handleEvent):
3802         * bindings/js/kjs_window.cpp:
3803         (KJS::ScheduledAction::execute):
3804         * css/MediaList.cpp:
3805         (WebCore::MediaList::setMediaText):
3806         * dom/Document.cpp:
3807         (WebCore::Document::processHttpEquiv):
3808         * editing/ApplyStyleCommand.cpp:
3809         (WebCore::StyleChange::init):
3810         * html/HTMLDocument.cpp:
3811         (WebCore::parseDocTypeDeclaration):
3812         * html/HTMLLinkElement.cpp:
3813         (WebCore::HTMLLinkElement::parseMappedAttribute):
3814         * html/HTMLObjectElement.cpp:
3815         (WebCore::HTMLObjectElement::HTMLObjectElement):
3816         (WebCore::HTMLObjectElement::parseMappedAttribute):
3817         (WebCore::HTMLObjectElement::attach):
3818         (WebCore::HTMLObjectElement::setComplete):
3819         (WebCore::HTMLObjectElement::detach):
3820         (WebCore::HTMLObjectElement::recalcStyle):
3821         (WebCore::HTMLObjectElement::childrenChanged):
3822         (WebCore::HTMLObjectElement::isImageType):
3823         * html/HTMLObjectElement.h:
3824         * html/HTMLOptionElement.cpp:
3825         (WebCore::HTMLOptionElement::value):
3826         * html/HTMLSelectElement.cpp:
3827         (WebCore::HTMLSelectElement::appendFormData):
3828         * html/HTMLTokenizer.cpp:
3829         (WebCore::HTMLTokenizer::parseTag):
3830         * ksvg2/svg/SVGColor.cpp:
3831         (WebCore::SVGColor::setRGBColor):
3832         * ksvg2/svg/SVGDescElement.cpp:
3833         (WebCore::SVGDescElement::description):
3834         * platform/PlatformString.h:
3835         * platform/String.cpp:
3836         (WebCore::String::stripWhiteSpace):
3837         (WebCore::String::simplifyWhiteSpace):
3838         * platform/StringImpl.cpp:
3839         (WebCore::isSpace):
3840         (WebCore::parseLength):
3841         (WebCore::StringImpl::stripWhiteSpace):
3842         (WebCore::StringImpl::simplifyWhiteSpace):
3843         (WebCore::StringImpl::toInt):
3844         * platform/StringImpl.h:
3845         * platform/mac/ClipboardMac.mm:
3846         (WebCore::cocoaTypeFromMIMEType):
3847         * rendering/RenderPartObject.cpp:
3848         (WebCore::RenderPartObject::updateWidget):
3849         * xml/XPathFunctions.cpp:
3850         (WebCore::XPath::FunNormalizeSpace::doEvaluate):
3851         * xml/XPathGrammar.y:
3852         * xml/XPathStep.cpp:
3853         (WebCore::XPath::Step::nodeTestMatches):
3854         * xml/XSLStyleSheet.cpp:
3855         (WebCore::XSLStyleSheet::loadChildSheets):
3856         (WebCore::XSLStyleSheet::locateStylesheetSubResource):
3857         * xml/XSLTProcessor.cpp:
3858         (WebCore::xsltParamArrayFromParameterMap):
3859         (WebCore::XSLTProcessor::setParameter):
3860         (WebCore::XSLTProcessor::getParameter):
3861         (WebCore::XSLTProcessor::removeParameter):
3862         * xml/XSLTProcessor.h:
3863         * xml/xmlhttprequest.cpp:
3864         (WebCore::XMLHttpRequest::getStatusText):
3865
3866 2006-09-17  David Hyatt  <hyatt@apple.com>
3867
3868         Fix for bugzilla bugs 10895 and 6336, fieldsets misbehaving when floats
3869         are declared right before the fieldsets.  It turns out fieldsets in other
3870         browsers avoid floats (like overflow:auto/hidden/scroll sections do), so
3871         adding that behavior to fieldset fixes the bug.
3872
3873         Made avoidsFloats virtual and did some refactoring to make tables, flexboxes
3874         and fieldsets all subclass.
3875
3876         Reviewed by anders
3877
3878         Added fast/forms/float-before-fieldset.html
3879
3880         * rendering/RenderFieldset.h:
3881         (WebCore::RenderFieldset::avoidsFloats):
3882         * rendering/RenderFlexibleBox.h:
3883         (WebCore::RenderFlexibleBox::avoidsFloats):
3884         * rendering/RenderObject.cpp:
3885         (WebCore::RenderObject::avoidsFloats):
3886         * rendering/RenderObject.h:
3887         * rendering/RenderTable.h:
3888         (WebCore::RenderTable::avoidsFloats):
3889
3890 2006-09-17  David Hyatt  <hyatt@apple.com>
3891
3892         Fix for bugzilla bug 3240, implement support for the HTML4 "frame" and
3893         "rules" attributes on tables.
3894
3895         Reviewed by bradee-oh
3896
3897         Well-covered by existing layout tests.
3898
3899         * html/HTMLTableCellElement.cpp:
3900         (WebCore::HTMLTableCellElement::additionalAttributeStyleDecl):
3901         * html/HTMLTableColElement.cpp:
3902         (WebCore::HTMLTableColElement::additionalAttributeStyleDecl):
3903         * html/HTMLTableColElement.h:
3904         * html/HTMLTableElement.cpp:
3905         (WebCore::HTMLTableElement::HTMLTableElement):
3906         (WebCore::HTMLTableElement::~HTMLTableElement):
3907         (WebCore::HTMLTableElement::setCaption):
3908         (WebCore::HTMLTableElement::setTHead):
3909         (WebCore::HTMLTableElement::setTFoot):
3910         (WebCore::HTMLTableElement::setTBody):
3911         (WebCore::HTMLTableElement::createTHead):
3912         (WebCore::HTMLTableElement::deleteTHead):
3913         (WebCore::HTMLTableElement::createTFoot):
3914         (WebCore::HTMLTableElement::deleteTFoot):
3915         (WebCore::HTMLTableElement::createCaption):
3916         (WebCore::HTMLTableElement::deleteCaption):
3917         (WebCore::HTMLTableElement::insertRow):
3918         (WebCore::HTMLTableElement::deleteRow):
3919         (WebCore::HTMLTableElement::addChild):
3920         (WebCore::HTMLTableElement::childrenChanged):
3921         (WebCore::HTMLTableElement::mapToEntry):
3922         (WebCore::HTMLTableElement::parseMappedAttribute):
3923         (WebCore::HTMLTableElement::additionalAttributeStyleDecl):
3924         (WebCore::HTMLTableElement::getSharedCellDecl):
3925         (WebCore::HTMLTableElement::getSharedGroupDecl):
3926         (WebCore::HTMLTableElement::attach):
3927         * html/HTMLTableElement.h:
3928         (WebCore::HTMLTableElement::caption):
3929         (WebCore::HTMLTableElement::tHead):
3930         (WebCore::HTMLTableElement::tFoot):
3931         (WebCore::HTMLTableElement::):
3932         * html/HTMLTableRowElement.h:
3933         * html/HTMLTableSectionElement.cpp:
3934         (WebCore::HTMLTableSectionElement::additionalAttributeStyleDecl):
3935         * html/HTMLTableSectionElement.h:
3936
3937 2006-09-17  David Hyatt  <hyatt@apple.com>
3938
3939         Fix for bugzilla bug 4192, font size wrong for <tt> elements that
3940         specify their own new font-family list.  Make sure to always
3941         reset the generic family along with the family list when mapping in
3942         new font-family values.
3943
3944         Reviewed by bradee-oh
3945
3946         fast/text/basic/generic-family-reset.html
3947
3948         * css/cssstyleselector.cpp:
3949         (WebCore::CSSStyleSelector::applyProperty):
3950
3951 2006-09-16  Brady Eidson <beidson@apple.com>
3952
3953         Reviewed by Hyatt
3954
3955         Pruning code relating to WebKit's icon loader
3956
3957         * bridge/mac/WebCoreIconDatabaseBridge.h:
3958         * bridge/mac/WebCoreIconDatabaseBridge.mm:
3959         * loader/icon/IconDatabase.h:
3960         * page/Frame.cpp:
3961         (WebCore::Frame::endIfNotLoading): Moved a FIXME in from WebKit's IconLoader to 
3962         its new home
3963
3964 2006-09-16  Sam Weinig  <sam.weinig@gmail.com>
3965
3966         Reviewed by Tim H.
3967
3968         Patch for http://bugs.webkit.org/show_bug.cgi?id=10885
3969         Auto-generate DOMHTMLDocument for the Objective-C bindings
3970
3971         * DerivedSources.make:
3972         * WebCore.xcodeproj/project.pbxproj:
3973         * bindings/objc/DOMExtensions.h:
3974         * bindings/objc/DOMHTML.mm:
3975         (-[DOMHTMLDocument createDocumentFragmentWithText:]):
3976         * bindings/objc/DOMHTMLDocument.h: Removed.
3977         * bindings/objc/DOMHTMLDocument.mm: Removed.
3978         * bindings/objc/PublicDOMInterfaces.h:
3979         * bindings/scripts/CodeGeneratorObjC.pm:
3980         * html/HTMLDocument.idl:
3981         * platform/DeprecatedString.h:
3982         (WebCore::DeprecatedString::operator NSString*):
3983
3984 2006-09-16  Rob Buis  <buis@kde.org>
3985
3986         Reviewed by Eric.
3987
3988         http://bugs.webkit.org/show_bug.cgi?id=10866
3989         Code in kcanvas/ should not use Private
3990
3991         Remove Private classes and tweak coding style.
3992
3993         WARNING: NO TEST CASES ADDED OR CHANGED
3994
3995         * kcanvas/RenderPath.cpp:
3996         (WebCore::RenderPath::RenderPath):
3997         (WebCore::RenderPath::~RenderPath):
3998         (WebCore::RenderPath::localTransform):
3999         (WebCore::RenderPath::setLocalTransform):
4000         (WebCore::RenderPath::fillContains):
4001         (WebCore::RenderPath::relativeBBox):
4002         (WebCore::RenderPath::setPath):
4003         (WebCore::RenderPath::path):
4004         (WebCore::RenderPath::layout):
4005         * kcanvas/RenderPath.h:
4006         * kcanvas/RenderSVGContainer.cpp:
4007         (WebCore::RenderSVGContainer::RenderSVGContainer):
4008         (WebCore::RenderSVGContainer::~RenderSVGContainer):
4009         (WebCore::RenderSVGContainer::drawsContents):
4010         (WebCore::RenderSVGContainer::setDrawsContents):
4011         (WebCore::RenderSVGContainer::localTransform):
4012         (WebCore::RenderSVGContainer::setLocalTransform):
4013         (WebCore::RenderSVGContainer::layout):
4014         (WebCore::RenderSVGContainer::paint):
4015         (WebCore::RenderSVGContainer::setViewport):
4016         (WebCore::RenderSVGContainer::viewport):
4017         (WebCore::RenderSVGContainer::setViewBox):
4018         (WebCore::RenderSVGContainer::viewBox):
4019         (WebCore::RenderSVGContainer::setAlign):
4020         (WebCore::RenderSVGContainer::align):
4021         (WebCore::RenderSVGContainer::fillContains):
4022         (WebCore::RenderSVGContainer::strokeContains):
4023         (WebCore::RenderSVGContainer::setSlice):
4024         (WebCore::RenderSVGContainer::slice):
4025         * kcanvas/RenderSVGContainer.h:
4026         * kcanvas/device/KRenderingFillPainter.cpp:
4027         (WebCore::KRenderingFillPainter::KRenderingFillPainter):
4028         (WebCore::KRenderingFillPainter::~KRenderingFillPainter):
4029         (WebCore::KRenderingFillPainter::fillRule):
4030         (WebCore::KRenderingFillPainter::setFillRule):
4031         (WebCore::KRenderingFillPainter::opacity):
4032         (WebCore::KRenderingFillPainter::setOpacity):
4033         * kcanvas/device/KRenderingFillPainter.h:
4034         * kcanvas/device/KRenderingPaintServerGradient.cpp:
4035         (WebCore::KRenderingPaintServerGradient::KRenderingPaintServerGradient):
4036         (WebCore::KRenderingPaintServerGradient::~KRenderingPaintServerGradient):
4037         (WebCore::KRenderingPaintServerGradient::gradientStops):
4038         (WebCore::KRenderingPaintServerGradient::setGradientStops):
4039         (WebCore::KRenderingPaintServerGradient::spreadMethod):
4040         (WebCore::KRenderingPaintServerGradient::setGradientSpreadMethod):
4041         (WebCore::KRenderingPaintServerGradient::boundingBoxMode):
4042         (WebCore::KRenderingPaintServerGradient::setBoundingBoxMode):
4043         (WebCore::KRenderingPaintServerGradient::gradientTransform):
4044         (WebCore::KRenderingPaintServerGradient::setGradientTransform):
4045         (WebCore::KRenderingPaintServerLinearGradient::KRenderingPaintServerLinearGradient):
4046         (WebCore::KRenderingPaintServerLinearGradient::~KRenderingPaintServerLinearGradient):
4047         (WebCore::KRenderingPaintServerLinearGradient::gradientStart):
4048         (WebCore::KRenderingPaintServerLinearGradient::setGradientStart):
4049         (WebCore::KRenderingPaintServerLinearGradient::gradientEnd):
4050         (WebCore::KRenderingPaintServerLinearGradient::setGradientEnd):
4051         (WebCore::KRenderingPaintServerRadialGradient::KRenderingPaintServerRadialGradient):
4052         (WebCore::KRenderingPaintServerRadialGradient::~KRenderingPaintServerRadialGradient):
4053         (WebCore::KRenderingPaintServerRadialGradient::gradientCenter):
4054         (WebCore::KRenderingPaintServerRadialGradient::setGradientCenter):
4055         (WebCore::KRenderingPaintServerRadialGradient::gradientFocal):
4056         (WebCore::KRenderingPaintServerRadialGradient::setGradientFocal):
4057         (WebCore::KRenderingPaintServerRadialGradient::gradientRadius):
4058         (WebCore::KRenderingPaintServerRadialGradient::setGradientRadius):
4059         (WebCore::KRenderingPaintServerGradient::listener):
4060         (WebCore::KRenderingPaintServerGradient::setListener):
4061         * kcanvas/device/KRenderingPaintServerGradient.h:
4062         * kcanvas/device/KRenderingPaintServerPattern.cpp:
4063         (WebCore::KRenderingPaintServerPattern::KRenderingPaintServerPattern):
4064         (WebCore::KRenderingPaintServerPattern::~KRenderingPaintServerPattern):
4065         (WebCore::KRenderingPaintServerPattern::setBbox):
4066         (WebCore::KRenderingPaintServerPattern::bbox):
4067         (WebCore::KRenderingPaintServerPattern::boundingBoxMode):
4068         (WebCore::KRenderingPaintServerPattern::setBoundingBoxMode):
4069         (WebCore::KRenderingPaintServerPattern::tile):
4070         (WebCore::KRenderingPaintServerPattern::setTile):
4071         (WebCore::KRenderingPaintServerPattern::patternTransform):
4072         (WebCore::KRenderingPaintServerPattern::setPatternTransform):
4073         (WebCore::KRenderingPaintServerPattern::listener):
4074         (WebCore::KRenderingPaintServerPattern::setListener):
4075         * kcanvas/device/KRenderingPaintServerPattern.h:
4076         * kcanvas/device/KRenderingPaintServerSolid.cpp:
4077         (WebCore::KRenderingPaintServerSolid::KRenderingPaintServerSolid):
4078         (WebCore::KRenderingPaintServerSolid::~KRenderingPaintServerSolid):
4079         (WebCore::KRenderingPaintServerSolid::color):
4080         (WebCore::KRenderingPaintServerSolid::setColor):
4081         * kcanvas/device/KRenderingPaintServerSolid.h:
4082         * kcanvas/device/KRenderingStrokePainter.cpp:
4083         (WebCore::KRenderingStrokePainter::KRenderingStrokePainter):
4084         (WebCore::KRenderingStrokePainter::~KRenderingStrokePainter):
4085         (WebCore::KRenderingStrokePainter::strokeWidth):
4086         (WebCore::KRenderingStrokePainter::setStrokeWidth):
4087         (WebCore::KRenderingStrokePainter::strokeMiterLimit):
4088         (WebCore::KRenderingStrokePainter::setStrokeMiterLimit):
4089         (WebCore::KRenderingStrokePainter::strokeCapStyle):
4090         (WebCore::KRenderingStrokePainter::setStrokeCapStyle):
4091         (WebCore::KRenderingStrokePainter::strokeJoinStyle):
4092         (WebCore::KRenderingStrokePainter::setStrokeJoinStyle):
4093         (WebCore::KRenderingStrokePainter::dashOffset):
4094         (WebCore::KRenderingStrokePainter::setDashOffset):
4095         (WebCore::KRenderingStrokePainter::dashArray):
4096         (WebCore::KRenderingStrokePainter::setDashArray):
4097         (WebCore::KRenderingStrokePainter::opacity):
4098         (WebCore::KRenderingStrokePainter::setOpacity):
4099         (WebCore::KRenderingStrokePainter::dirty):
4100         (WebCore::KRenderingStrokePainter::setDirty):
4101         * kcanvas/device/KRenderingStrokePainter.h:
4102
4103 2006-09-16  Mark Rowe  <opendarwin.org@bdash.net.nz>
4104
4105         Reviewed by Anders.
4106
4107         http://bugs.webkit.org/show_bug.cgi?id=10887
4108         Fix build error
4109
4110         * bindings/objc/DOMPrivate.h: Remove reference to DOMEventPrivate.h.
4111
4112 2006-09-16  Sam Weinig  <sam.weinig@gmail.com>
4113
4114         Reviewed by Anders.
4115
4116         Fix for http://bugs.webkit.org/show_bug.cgi?id=10886
4117         REGRESSION (r16387): Reproducible crash when mousing over HTML document
4118
4119         - Special case method [DOMNode ownerDocument] to call document() instead
4120           or ownerDocument() to return to the old behavior. 
4121
4122         * WebCore.xcodeproj/project.pbxproj:
4123         * bindings/scripts/CodeGeneratorObjC.pm:
4124
4125 2006-09-15  Brady Eidson  <beidson@apple.com>
4126
4127         Reviewed by Tim Hatcher
4128
4129         <rdar://problem/4730811> - New IconDatabase needs to attempt to create its path.
4130         Otherwise new installs and new user accounts won't have any icons because the icon.db cannot be created
4131
4132         * loader/icon/IconDatabase.cpp: Removed a now obsolete FIXME
4133         (WebCore::makeAllDirectories): Added - candidate to be in a header for "platform neutral file utilities"
4134         (WebCore::IconDatabase::open): Make sure the directory exists
4135
4136 2006-09-15  Timothy Hatcher  <timothy@apple.com>
4137
4138         Reviewed by Brady.
4139
4140         Make new style ObjC methods public API.
4141
4142         * WebCore.xcodeproj/project.pbxproj:
4143         * bindings/objc/DOMPrivate.h:
4144         * bindings/objc/PublicDOMInterfaces.h:
4145
4146 2006-09-15  Sam Weinig  <sam.weinig@gmail.com>
4147
4148         Reviewed by Tim H.
4149
4150         Patch for http://bugs.webkit.org/show_bug.cgi?id=10870
4151         Auto-generate DOMNode for the Objective-C bindings
4152
4153         * DerivedSources.make:
4154         * WebCore.xcodeproj/project.pbxproj:
4155         * bindings/objc/DOM.mm:
4156         (-[DOMNode boundingBox]):
4157         (-[DOMNode lineBoxRects]):
4158         * bindings/objc/DOMEvents.h:
4159         * bindings/objc/DOMExtensions.h:
4160         * bindings/objc/DOMNode.h: Removed.
4161         * bindings/objc/DOMNode.mm: Removed.
4162         * bindings/objc/PublicDOMInterfaces.h:
4163         * bindings/scripts/CodeGeneratorObjC.pm:
4164         * dom/Node.idl:
4165
4166 2006-09-15  Timothy Hatcher  <timothy@apple.com>
4167
4168         Reviewed by Justin.
4169
4170         Removed alter selection logic from WebCoreFrameBridge and moved to SelectionController.
4171
4172         * bridge/mac/WebCoreFrameBridge.h:
4173         * bridge/mac/WebCoreFrameBridge.mm:
4174         (-[WebCoreFrameBridge centerSelectionInVisibleArea]):
4175         (-[WebCoreFrameBridge rangeByExpandingSelectionWithGranularity:]):
4176         (-[WebCoreFrameBridge rangeByAlteringCurrentSelection:direction:granularity:]):
4177         (-[WebCoreFrameBridge alterCurrentSelection:direction:granularity:]):
4178         (-[WebCoreFrameBridge alterCurrentSelection:verticalDistance:]):
4179         (-[WebCoreFrameBridge replaceMarkedTextWithText:]):
4180         (-[WebCoreFrameBridge replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
4181         (-[WebCoreFrameBridge increaseSelectionListLevel]):
4182         (-[WebCoreFrameBridge increaseSelectionListLevelOrdered]):
4183         (-[WebCoreFrameBridge increaseSelectionListLevelUnordered]):
4184         (-[WebCoreFrameBridge decreaseSelectionListLevel]):
4185         (-[WebCoreFrameBridge insertLineBreak]):
4186         (-[WebCoreFrameBridge insertParagraphSeparator]):
4187         (-[WebCoreFrameBridge insertParagraphSeparatorInQuotedContent]):
4188         (-[WebCoreFrameBridge insertText:selectInsertedText:]):
4189         (-[WebCoreFrameBridge deleteKeyPressedWithSmartDelete:granularity:]):
4190         (-[WebCoreFrameBridge forwardDeleteKeyPressedWithSmartDelete:granularity:]):
4191         (createMouseEventFromDraggingInfo):
4192         * editing/SelectionController.cpp:
4193         (WebCore::SelectionController::moveTo):
4194         (WebCore::SelectionController::setSelection):
4195         (WebCore::SelectionController::modify):
4196         (WebCore::SelectionController::setBase):
4197         (WebCore::SelectionController::setExtent):
4198         * editing/SelectionController.h:
4199         * page/Frame.cpp:
4200         (WebCore::Frame::revealSelection):
4201         (WebCore::Frame::revealCaret):
4202         * page/Frame.h:
4203
4204 2006-09-15  Brady Eidson  <beidson@apple.com>
4205
4206         Reviewed by Anders
4207
4208         Added the ability to get a mutable char* from a CString, which will copy the internal
4209         buffer if the ref count is greater than 1 so your mutable char* won't affect any other
4210         referrer of that buffer.
4211
4212         * platform/CString.cpp:
4213         (WebCore::CString::mutableData):
4214         (WebCore::CString::copyBufferIfNeeded):
4215         * platform/CString.h:
4216
4217 2006-09-15  Justin Garcia  <justin.garcia@apple.com>
4218
4219         Reviewed by harrison
4220         
4221         <rdar://problem/4674869>
4222         REGRESSION: selecting text to write over results in cursor jumping to middle of next line
4223
4224         * editing/SelectionController.cpp:
4225         (WebCore::SelectionController::modify): Added lineBoundary to test fix.
4226         * editing/visible_units.cpp:
4227         (WebCore::endOfLine): If the last box on the line is a lineBreak, return the
4228         position before it, not after it.
4229
4230 2006-09-15  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
4231
4232         Reviewed by Adam.
4233
4234         http://bugs.webkit.org/show_bug.cgi?id=10864
4235         Bug 10864: Linux\GDK build fixes
4236
4237         * Projects/gdk/webcore-gdk.bkl:
4238         * WebCoreSources.bkl:
4239         * platform/gdk/FontCacheGdk.cpp:
4240         * platform/gdk/FontDataGdk.cpp:
4241         (WebCore::FontData::platformInit):
4242         * platform/gdk/FontGdk.cpp:
4243         (WebCore::Font::drawGlyphs):
4244         * platform/gdk/FrameGdk.cpp:
4245         (WebCore::FrameGdk::handleGdkEvent):
4246         * platform/gdk/FrameGdk.h:
4247         * platform/gdk/ImageGdk.cpp: Added.
4248         (WebCore::Image::initPlatformData):
4249         (WebCore::Image::invalidatePlatformData):
4250         (WebCore::Image::loadPlatformResource):
4251         (WebCore::Image::supportsType):
4252         * platform/gdk/RenderPopupMenuGdk.cpp:
4253         (WebCore::RenderPopupMenuGdk::hidePopup):
4254         * platform/gdk/RenderPopupMenuGdk.h:
4255         * platform/gdk/ScreenGdk.cpp:
4256         (WebCore::drawableForPage):
4257         (WebCore::screenRect):
4258         (WebCore::screenDepth):
4259         (WebCore::usableScreenRect):
4260         (WebCore::scaleFactor):
4261         * platform/gdk/SystemTimeLinux.cpp:
4262         (WebCore::currentTime):
4263         * platform/gdk/Tempor