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