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