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