JavaScriptCore:
[WebKit-https.git] / WebCore / ChangeLog
1 2008-09-23  Maciej Stachowiak  <mjs@apple.com>
2
3         Reviewed by Darin.
4
5         - speed up instanceof some more
6         https://bugs.webkit.org/show_bug.cgi?id=20818
7
8         ~2% speedup on EarleyBoyer
9
10         (WebCore updates.)
11         
12         * bindings/js/JSQuarantinedObjectWrapper.h:
13         (WebCore::JSQuarantinedObjectWrapper::createStructureID):
14
15 2008-09-22  Darin Adler  <darin@apple.com>
16
17         Reviewed by Oliver Hunt.
18
19         - fix https://bugs.webkit.org/show_bug.cgi?id=21008
20           getting pixels by index from CanvasPixelArray is unnecessarily slow
21
22         * GNUmakefile.am: Added JSCanvasPixelArrayCustom.h.
23         * WebCore.vcproj/WebCore.vcproj: Ditto.
24         * WebCore.xcodeproj/project.pbxproj: Ditto.
25
26         * bindings/js/JSCanvasPixelArrayCustom.cpp: Removed indexGetter and
27           indexSetter. These are now both inlined, so in the header.
28         * bindings/js/JSCanvasPixelArrayCustom.h: Added. The getByIndex
29           function is what's used for HasCustomIndexGetter. Also moved the
30           indexSetter function here.
31
32         * bindings/scripts/CodeGeneratorJS.pm: Changed HasCustomIndexGetter
33           to use a getByIndex member function rather than an indexGetter static
34           member function in a property slot. This lets us avoid the property
35           slot mechanism's rule where it turns numeric property names into
36           strings in the identifier table, which is good because that's slow.
37           Also added a new property CustomHeader that allows IDL files to
38           introduce headers to be included -- useful when we have functions
39           that we want to inline into the binding.
40
41         * html/CanvasPixelArray.idl: Added CustomHeader attribute.
42
43 2008-09-23  Eric Seidel  <eric@webkit.org>
44
45         No review, build fix only.
46
47         Another blind stab in the dark.
48
49         * svg/graphics/cg/SVGResourceClipperCg.cpp: Add missing header.
50
51 2008-09-23  Eric Seidel  <eric@webkit.org>
52
53         No review, build fix only.
54         
55         Third time's the charm, eh?  My local build is sadly still not done...
56
57         * platform/graphics/AffineTransform.cpp: remove extra &
58         * platform/graphics/AffineTransform.h: remove extra &
59
60 2008-09-22  Eric Seidel  <eric@webkit.org>
61
62         No review, build fix only.
63
64         * platform/graphics/AffineTransform.cpp: remove extra ;
65
66 2008-09-22  Eric Seidel  <eric@webkit.org>
67
68         No review, build fix only.
69
70         Speculative fix for the build while I wait for my compile to finish.
71
72         * platform/graphics/AffineTransform.cpp:
73
74 2008-09-22  Dirk Schulze  <vbs85@gmx.de>
75
76         Reviewed by eseidel.  Landed by eseidel.
77
78         Moved makeMapBetweenRects from SVG/CG to AffineTransform
79         Make SVGResourceClipper::applyClip more cross-platform
80
81         * platform/graphics/AffineTransform.cpp:
82         * platform/graphics/AffineTransform.h:
83         * svg/graphics/cg/CgSupport.cpp:
84         * svg/graphics/cg/CgSupport.h:
85         * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
86         (WebCore::SVGPaintServerGradient::handleBoundingBoxModeAndGradientTransformation):
87         * svg/graphics/cg/SVGResourceClipperCg.cpp:
88         (WebCore::SVGResourceClipper::applyClip):
89
90 2008-09-22  Alp Toker  <alp@nuanti.com>
91
92         Reviewed by David Hyatt.
93
94         https://bugs.webkit.org/show_bug.cgi?id=16331
95         [Gtk] no focus when button/checkbox/radiobutton clicked, only when tabbed
96
97         Obey GTK+ focusing conventions for controls and anchor elements.
98
99         It could be interesting to push these decisions up to Settings or
100         ChromeClient some day but this gets things working.
101
102         Right and middle click events still need some work to match GTK+
103         conventions.
104
105         * html/HTMLAnchorElement.cpp:
106         (WebCore::HTMLAnchorElement::isMouseFocusable):
107         * html/HTMLFormControlElement.cpp:
108         (WebCore::HTMLFormControlElement::isMouseFocusable):
109         * page/EventHandler.cpp:
110         (WebCore::EventHandler::sendContextMenuEvent):
111
112 2008-09-22  Darin Adler  <darin@apple.com>
113
114         * page/mac/FrameMac.mm:
115         (WebCore::Frame::baseWritingDirectionForSelectionStart): Fix indentation.
116
117 2008-09-22  Sam Weinig  <sam@webkit.org>
118
119         Reviewed by Dan Bernstein.
120
121         Patch for https://bugs.webkit.org/show_bug.cgi?id=21013
122         Match Firefox in how we hide HTMLInputElement.selectionStart, selectionEnd
123         and setSelectionRange.  This also allows us to remove the legacy JSHTMLInputElementBase
124         class!
125
126         - selectionStart, selectionEnd and setSelectionRange now are visible in iteration of
127           non-selectable input types, but return undefined when accessed.
128
129         * DerivedSources.make:
130         * GNUmakefile.am:
131         * WebCore.pro:
132         * WebCore.vcproj/WebCore.vcproj:
133         * WebCore.xcodeproj/project.pbxproj:
134         * WebCoreSources.bkl:
135         * bindings/js/JSHTMLInputElementBase.cpp: Removed.
136         * bindings/js/JSHTMLInputElementBase.h: Removed.
137         * bindings/js/JSHTMLInputElementCustom.cpp: Added.
138         (WebCore::JSHTMLInputElement::customGetOwnPropertySlot):
139         (WebCore::JSHTMLInputElement::selectionStart):
140         (WebCore::JSHTMLInputElement::selectionEnd):
141         * bindings/js/JSHTMLInputElementCustom.h: Added.
142         * html/HTMLInputElement.idl:
143
144 2008-09-22  Dan Bernstein  <mitz@apple.com>
145
146         Reviewed by Sam Weinig.
147
148         - fix <rdar://problem/5699571> Mail: Unable to change writing direction to LTR in an empty message
149
150         Not testable in DumpRenderTree or in Safari
151
152         * page/mac/FrameMac.mm:
153         (WebCore::Frame::baseWritingDirectionForSelectionStart): Account for the
154         case that the selection start node is a block.
155
156 2008-09-22  David Hyatt  <hyatt@apple.com>
157
158         https://bugs.webkit.org/show_bug.cgi?id=21007
159
160         Make sure that the scrollbar gets sent a release event on platforms that call handleMouseDoubleClickEvent.
161
162         Reviewed by Sam Weinig
163
164         * page/EventHandler.cpp:
165         (WebCore::EventHandler::handleMouseDoubleClickEvent):
166
167 2008-09-22  Eric Seidel  <eric@webkit.org>
168
169         No review, rollback only.
170
171         Roll out Peter's change (per his request)
172         http://trac.webkit.org/changeset/36069
173         https://bugs.webkit.org/show_bug.cgi?id=19663
174         This change has been the source of numerous regressions
175         (several of which were latent bugs revealed by this change,
176         others were bugs in this change)
177
178         * platform/graphics/BitmapImage.cpp:
179         (WebCore::BitmapImage::BitmapImage):
180         (WebCore::BitmapImage::startAnimation):
181         (WebCore::BitmapImage::advanceAnimation):
182         * platform/graphics/BitmapImage.h:
183         * platform/graphics/cairo/ImageCairo.cpp:
184         (WebCore::BitmapImage::draw):
185         * platform/graphics/cg/ImageCG.cpp:
186         (WebCore::BitmapImage::draw):
187         * platform/graphics/qt/ImageQt.cpp:
188         (WebCore::BitmapImage::draw):
189         * platform/graphics/wx/ImageWx.cpp:
190         (WebCore::BitmapImage::draw):
191
192 2008-09-22  Dan Bernstein  <mitz@apple.com>
193
194         Reviewed by Sam Weinig.
195
196         - fix <rdar://problem/5158514> Switch the complex text code path to Core Text
197
198         Tests: platform/mac-snowleopard/fast/text/myanmar-shaping.html
199                platform/mac-snowleopard/fast/text/thai-combining-mark-positioning.html
200
201         * config.h: Use Core Text if not building for Leopard or Tiger.
202
203 2008-09-22  David Hyatt  <hyatt@apple.com>
204
205         https://bugs.webkit.org/show_bug.cgi?id=21006
206
207         Add code that paints an NSView-less scroller using HIThemeDrawTrack.  This scrollbar is still not
208         switched on.  There are still a few more refinements to make to the rendering and behavior.
209
210         Reviewed by Darin Adler
211
212         * platform/ScrollbarThemeComposite.cpp:
213         (WebCore::ScrollbarThemeComposite::paint):
214         * platform/ScrollbarThemeComposite.h:
215         (WebCore::ScrollbarThemeComposite::paintTrack):
216         (WebCore::ScrollbarThemeComposite::paintButton):
217         (WebCore::ScrollbarThemeComposite::paintThumb):
218         * platform/mac/ScrollbarThemeMac.h:
219         * platform/mac/ScrollbarThemeMac.mm:
220         (WebCore::ScrollbarThemeMac::backButtonRect):
221         (WebCore::ScrollbarThemeMac::forwardButtonRect):
222         (WebCore::scrollbarPartToHIPressedState):
223         (WebCore::ScrollbarThemeMac::paint):
224         * platform/mac/WidgetMac.mm:
225         (WebCore::Widget::invalidateRect):
226
227 2008-09-22  Chris Marrin  <cmarrin@apple.com>
228
229         Reviewed by Sam Weinig
230
231         transition end event when -webkit-transition-property: all puts wrong
232         propertyName in event
233         https://bugs.webkit.org/show_bug.cgi?id=20903
234         
235         * page/animation/ImplicitAnimation.cpp:
236         (WebCore::ImplicitAnimation::sendTransitionEvent):
237
238 2008-09-22  Chris Fleizach  <cfleizach@apple.com>
239
240         Reviewed by Darin Adler.
241
242         <rdar://problem/6230234> AXTable should probably not be exposed in there's only one cell
243
244         Test: accessibility/table-one-cell.html
245
246         * page/AccessibilityTable.cpp:
247         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
248
249 2008-09-22  Chris Fleizach  <cfleizach@apple.com>
250
251         Reviewed by Darin Adler.
252
253         <rdar://problem/6167779> Setting AXSelectedTextRange for TextAreas in a WebView behaves incorrectly
254
255         Test: accessibility/textarea-selected-text-range.html
256
257         * page/AccessibilityRenderObject.cpp:
258         (WebCore::AccessibilityRenderObject::setSelectedTextRange):
259
260 2008-09-22  David Hyatt  <hyatt@apple.com>
261
262         Clean up some parent relationships in the back end stylesheet code.  Make sure parentStyleSheet
263         properly walks up nested rule blocks to reach the parent sheet instead of giving up at the immediate
264         parent.  Also fix the doc() method so that it is properly set when the parent of the sheet is an import
265         rule.
266
267         Reviewed by Sam Weinig
268
269         Added fast/css/nested-rule-parent-sheet.html
270
271          * css/CSSImportRule.cpp:
272         (WebCore::CSSImportRule::insertedIntoParent):
273         * css/CSSRule.cpp:
274         (WebCore::CSSRule::parentStyleSheet):
275         (WebCore::CSSRule::parentRule):
276         * css/CSSStyleSheet.cpp:
277         (WebCore::CSSStyleSheet::CSSStyleSheet):
278         * css/CSSStyleSheet.h:
279
280 2008-09-22  Dan Bernstein  <mitz@apple.com>
281
282         Reviewed by Sam Weinig.
283
284         - fix https://bugs.webkit.org/show_bug.cgi?id=21002
285           Make the ATSUI code path respect spacingDisabled()
286
287         Fixes svg/text/text-spacing-01-b.svg in run-webkit-tests --complex-text
288
289         * platform/graphics/mac/FontMacATSUI.mm:
290         (WebCore::overrideLayoutOperation):
291
292 2008-09-22  Maciej Stachowiak  <mjs@apple.com>
293
294         Reviewed by Cameron Zwarich.
295
296         - speed up instanceof operator by replacing implementsHasInstance method with a TypeInfo flag
297
298         Partial work towards <https://bugs.webkit.org/show_bug.cgi?id=20818>
299         
300         2.2% speedup on EarleyBoyer benchmark.
301
302         * bindings/js/JSQuarantinedObjectWrapper.cpp:
303         * bindings/js/JSQuarantinedObjectWrapper.h:
304         (WebCore::JSQuarantinedObjectWrapper::createStructureID):
305         * bindings/scripts/CodeGeneratorJS.pm:
306
307 2008-09-22  Adam Roben  <aroben@apple.com>
308
309         Windows build fix
310
311         * WebCore.vcproj/WebCore.vcproj: Add a missing </File> tag.
312
313 2008-09-22  Maciej Stachowiak  <mjs@apple.com>
314
315         Reviewed by Dave Hyatt.
316
317         Based on initial work by Darin Adler.
318         
319         - replace masqueradesAsUndefined virtual method with a flag in TypeInfo
320         - use this to JIT inline code for eq_null and neq_null
321         https://bugs.webkit.org/show_bug.cgi?id=20823
322         
323         * WebCore.xcodeproj/project.pbxproj:
324         * WebCore.vcproj/WebCore.vcproj:
325         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
326         (WebCore::JSCSSStyleDeclaration::nameGetter):
327         * bindings/js/JSHTMLAllCollection.cpp: Added.
328         (WebCore::):
329         * bindings/js/JSHTMLAllCollection.h:
330         (WebCore::JSHTMLAllCollection::createStructureID):
331         (WebCore::JSHTMLAllCollection::toBoolean):
332
333 2008-09-22  Tor Arne Vestbø  <tavestbo@trolltech.com>
334
335         Reviewed by Simon.
336
337         Fix the QtWebKit build
338
339         * bridge/qt/qt_instance.cpp:
340         (JSC::Bindings::QtRuntimeObjectImp::construct):
341         * bridge/qt/qt_runtime.cpp:
342
343 2008-09-22  Alp Toker  <alp@nuanti.com>
344
345         Suggested by David Hyatt.
346
347         Build fix: ScrollView::update() is still used by Document.cpp on !MAC
348         so make it public.
349
350         * platform/ScrollView.h:
351
352 2008-09-22  David Hyatt  <hyatt@apple.com>
353
354         Fix a regression in Windows scrollbar painting.  (Also fix the same
355         bug in my new viewless Mac scrollbar painting code).  The track rect
356         was being improperly inflated when painting resulting in the scrollbar
357         being too tall and painting in the border of overflow sections.
358
359         Reviewed by Oliver Hunt
360
361         * platform/mac/ScrollbarThemeMac.mm:
362         (WebCore::ScrollbarThemeMac::trackRect):
363         * platform/win/ScrollbarThemeSafari.cpp:
364         (WebCore::ScrollbarThemeSafari::trackRect):
365
366 2008-09-22  David Hyatt  <hyatt@apple.com>
367
368         Fix a hit testing bug where events are mistakenly passed to subframes
369         if the mouse is over the border or padding area of the frame.  Add
370         a boolean flag, isOverWidget(), to hit test results so that EventHandler
371         can check it to tell if the mouse is really over the content box of a
372         RenderWidget and not just in the border/padding area.
373
374         This is not testable, since the old code properly recovered when it detected
375         that the mouse was outside the bounds of the view, but this prevents
376         the extra passdown from even occurring (and is basically a nice cleanup).
377
378         Reviewed by Oliver Hunt
379
380         * page/EventHandler.cpp:
381         (WebCore::EventHandler::handleMousePressEvent):
382         (WebCore::EventHandler::hitTestResultAtPoint):
383         (WebCore::subframeForHitTestResult):
384         (WebCore::EventHandler::handleMouseDoubleClickEvent):
385         (WebCore::EventHandler::handleMouseMoveEvent):
386         (WebCore::EventHandler::handleMouseReleaseEvent):
387         (WebCore::EventHandler::handleWheelEvent):
388         * page/MouseEventWithHitTestResults.h:
389         (WebCore::MouseEventWithHitTestResults::isOverWidget):
390         * rendering/HitTestResult.cpp:
391         (WebCore::HitTestResult::HitTestResult):
392         (WebCore::HitTestResult::operator=):
393         * rendering/HitTestResult.h:
394         (WebCore::HitTestResult::isOverWidget):
395         (WebCore::HitTestResult::setIsOverWidget):
396         * rendering/RenderWidget.cpp:
397         (WebCore::RenderWidget::nodeAtPoint):
398         * rendering/RenderWidget.h:
399
400 2008-09-21  David Hyatt  <hyatt@apple.com>
401
402         Rename FrameView's repaintRectangle method to repaintContentRectangle.  Make
403         both it and ScrollView's updateContents method be off-limits to everyone in
404         WebCore except for RenderView.
405
406         Make repaintViewRectangle the only possible method for WebCore code to do
407         an invalidation.  This ensures that all invalidates triggered by WebCore
408         cross-platform code that cross ownerElement() boundaries are transform-aware.
409
410         Make sure that iframes/frames contained inside objects that have transforms
411         or reflections are not allowed to blit (this was already true for transparency).
412
413         It is not possible to make a test for any of this, since iframe scrolling
414         still doesn't work on Mac (since the invalidates are not being done
415         through WebCore's cross-platform invalidation code but are instead going
416         through NSScrollView's setNeedsDisplay still).
417
418         Reviewed by Oliver Hunt
419
420         * editing/SelectionController.cpp:
421         (WebCore::SelectionController::recomputeCaretRect):
422         (WebCore::SelectionController::invalidateCaretRect):
423         (WebCore::SelectionController::focusedOrActiveStateChanged):
424         * page/FrameView.cpp:
425         (WebCore::FrameView::repaintContentRectangle):
426         (WebCore::FrameView::endDeferredRepaints):
427         * page/FrameView.h:
428         * platform/ScrollView.h:
429         * rendering/RenderBox.cpp:
430         (WebCore::RenderBox::paintFillLayerExtended):
431         * rendering/RenderLayer.cpp:
432         (WebCore::RenderLayer::enclosingPositionedAncestor):
433         (WebCore::RenderLayer::requiresSlowRepaints):
434         * rendering/RenderLayer.h:
435         (WebCore::RenderLayer::hasTransform):
436         * rendering/RenderView.cpp:
437         (WebCore::RenderView::paintBoxDecorations):
438         (WebCore::RenderView::repaintViewRectangle):
439         (WebCore::RenderView::setSelection):
440
441 2008-09-21  Maciej Stachowiak  <mjs@apple.com>
442
443         Reviewed by Darin.
444
445         - introduce a TypeInfo class, for holding per-type (in the C++ class sense) date in StructureID
446         https://bugs.webkit.org/show_bug.cgi?id=20981
447         
448         * bindings/js/JSAudioConstructor.cpp:
449         (WebCore::JSAudioConstructor::JSAudioConstructor):
450         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
451         (WebCore::JSCSSStyleDeclaration::nameGetter):
452         * bindings/js/JSDOMBinding.cpp:
453         (WebCore::createDOMStructure):
454         * bindings/js/JSDOMBinding.h:
455         (WebCore::getDOMStructure):
456         * bindings/js/JSDOMWindowShell.cpp:
457         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
458         (WebCore::JSDOMWindowShell::setWindow):
459         * bindings/js/JSEventTargetNode.cpp:
460         (WebCore::JSEventTargetNode::createPrototype):
461         * bindings/js/JSHTMLOptionElementConstructor.cpp:
462         (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
463         * bindings/js/JSImageConstructor.cpp:
464         (WebCore::JSImageConstructor::JSImageConstructor):
465         * bindings/js/JSXMLHttpRequestConstructor.cpp:
466         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
467         * bindings/js/JSXSLTProcessorConstructor.cpp:
468         (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
469         * bindings/scripts/CodeGeneratorJS.pm:
470
471 2008-09-21  Darin Adler  <darin@apple.com>
472
473         Reviewed by Maciej Stachowiak.
474
475         - fix problem Maciej noticed where every JSNamedNodesCollection
476           gets its own StructureID
477
478         * bindings/js/JSNamedNodesCollection.cpp:
479         (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Use
480         getDOMStructure to get the structure.
481         * bindings/js/JSNamedNodesCollection.h:
482         (WebCore::JSNamedNodesCollection::createPrototype): Return the
483         object prototype.
484
485 2008-09-20  David Hyatt  <hyatt@apple.com>
486
487         Make sure transformed scrollbars in overflow sections position
488         properly.  This patch mimics the same behavior that works for
489         iframes, namely making sure that the same code that dynamically
490         adjusts iframe widget positions at paint time for fixed positioning
491         and transforms also applies to scrollbars.  (This is as simple as passing
492         in the current translation factor at paint time rather than crawling
493         up the layer tree to compute a "false" absolute position.)
494
495         An existing transform test covers this (although only a pixel result
496         reveals the correct rendering).
497
498         Reviewed by Darin Adler
499
500         * rendering/RenderLayer.cpp:
501         (WebCore::RenderLayer::updateLayerPositions):
502         (WebCore::RenderLayer::positionOverflowControls):
503         (WebCore::RenderLayer::paintOverflowControls):
504         (WebCore::RenderLayer::paintLayer):
505         * rendering/RenderLayer.h:
506
507 2008-09-21  Steve Falkenburg  <sfalken@apple.com>
508
509         Removed unnecessary nested timer check.
510         
511         Rubber-stamped by Dan Bernstein.
512
513         * platform/win/SharedTimerWin.cpp:
514         (WebCore::TimerWindowWndProc):
515
516 2008-09-21  Steve Falkenburg  <sfalken@apple.com>
517
518         Improve timer resolution on WinXP.
519         https://bugs.webkit.org/show_bug.cgi?id=20979
520         
521         Removed last-chance timer. It should not be necessary.
522         Change timeEndPeriod timer to fire in 300ms instead of 20ms. Calling timeBeginPeriod/timeEndPeriod too often throws off accuracy.
523         Remove Vista checks. We now run the same code on both XP and Vista.
524         
525         Call through to JSC::getCurrentUTCTimeWithMicroseconds from WebCore::currentTime.
526         The code previously called GetSystemTimeAsFileTime, which is always low-resolution on XP, even within timeBeginPeriod(1).
527         
528         Reviewed by Maciej Stachowiak.
529
530         * platform/win/SharedTimerWin.cpp:
531         (WebCore::):
532         (WebCore::TimerWindowWndProc):
533         (WebCore::setSharedTimerFireTime):
534         * platform/win/SystemTimeWin.cpp:
535         (WebCore::currentTime):
536
537 2008-09-21  Dirk Schulze  <vbs85@gmx.de>
538
539         Reviewed by eseidel.  Landed by eseidel.
540
541         All platforms use the DashArray in the GraphicsContext.
542
543         * svg/graphics/SVGPaintServer.h:
544         * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
545         (WebCore::SVGPaintServerGradient::setup):
546         * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
547         (WebCore::SVGPaintServerPattern::setup):
548         * svg/graphics/cairo/SVGPaintServerSolidCairo.cpp:
549         (WebCore::SVGPaintServerSolid::setup):
550         * svg/graphics/qt/SVGPaintServerGradientQt.cpp:
551         (WebCore::SVGPaintServerGradient::setup):
552         * svg/graphics/qt/SVGPaintServerQt.cpp:
553         * svg/graphics/qt/SVGPaintServerSolidQt.cpp:
554         (WebCore::SVGPaintServerSolid::setup):
555
556 2008-09-21  Dirk Schulze  <vbs85@gmx.de>
557
558         Reviewed by eseidel.  Landed by eseidel.
559
560         Moved DashArray to GraphicsContext.
561
562         * GNUmakefile.am:
563         * WebCore.vcproj/WebCore.vcproj:
564         * WebCore.xcodeproj/project.pbxproj:
565         * platform/graphics/DashArray.h: Added.
566         * platform/graphics/GraphicsContext.h:
567         * platform/graphics/cairo/GraphicsContextCairo.cpp:
568         (WebCore::GraphicsContext::setLineDash):
569         * platform/graphics/cg/GraphicsContextCG.cpp:
570         (WebCore::GraphicsContext::setLineDash):
571         * platform/graphics/qt/GraphicsContextQt.cpp:
572         (WebCore::GraphicsContext::setLineDash):
573         * svg/graphics/SVGPaintServer.cpp:
574         (WebCore::applyStrokeStyleToContext):
575         * svg/graphics/SVGPaintServer.h:
576         * svg/graphics/cg/CgSupport.cpp:
577         * svg/graphics/cg/CgSupport.h:
578
579 2008-09-21  Dan Bernstein  <mitz@apple.com>
580
581         Reviewed by Mark Rowe.
582
583         - fix linker warnings
584
585         * WebCore.base.exp:
586
587 2008-09-20  Darin Adler  <darin@apple.com>
588
589         - another try at fixing Qt
590
591         * bridge/qt/qt_runtime.cpp: "using namespce WebCore"
592
593 2008-09-20  Darin Adler  <darin@apple.com>
594
595         - blind attempt to fix Qt build
596
597         * bridge/qt/qt_runtime.cpp:
598         (JSC::Bindings::convertQVariantToValue): Use regExpStructure instead
599         of regExpPrototype to make a RegExpObject. There should really be
600         some sort of public helper function for this. Same thing for
601         DateInstance and dateStructure. For JSObject, use constructEmptyObject.
602         (JSC::Bindings::):
603         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod): Use getDOMStructure.
604         It is not correct to do this inside the constructor because it could
605         cause a garbage collect while the QtRuntimeMethod object is half-
606         allocated, which could lead to a crash; note that RuntimeMethod,
607         QtRuntimeObjectImp, and RuntimeObjectImp have the same bug.
608         * bridge/qt/qt_runtime.h: Add s_info and createPrototype.
609
610 2008-09-20  Collin Jackson  <collinj@webkit.org>
611
612         Prefetch DNS for hyperlinks that the user mouses over.
613
614         https://bugs.webkit.org/show_bug.cgi?id=20931
615
616         Reviewed by Sam Weinig.
617
618         * page/Chrome.cpp:
619         (WebCore::Chrome::mouseDidMoveOverElement):
620
621 2008-09-20  Darin Adler  <darin@apple.com>
622
623         Reviewed by Maciej Stachowiak.
624
625         - finish https://bugs.webkit.org/show_bug.cgi?id=20858
626           make each distinct C++ class get a distinct JSC::Structure
627
628         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
629         (WebCore::JSCSSStyleDeclaration::nameGetter): Pass in a structure
630         ID. Note that this makes a new structure every time -- we could
631         optimize this slightly be caching and reusing a single one.
632
633         * bridge/runtime_method.cpp:
634         (JSC::RuntimeMethod::RuntimeMethod): Create a unique structure using
635         getDOMStructure.
636         * bridge/runtime_method.h:
637         (JSC::RuntimeMethod::createPrototype): Added createPrototype so
638         getDOMStructure will work.
639
640         * bindings/js/JSDOMWindowShell.cpp:
641         (WebCore::JSDOMWindowShell::JSDOMWindowShell): Initialize m_window to
642         0; needed in case garbage collection happens while creating the
643         JSDOMWindow.
644
645 2008-09-20  Dan Bernstein  <mitz@apple.com>
646
647         Reviewed by Eric Seidel.
648
649         - fix https://bugs.webkit.org/show_bug.cgi?id=20950
650           <rdar://problem/6234059> Reproducible assertion failure running svg/custom/acid3-test-77.html multiple times under guard malloc
651
652         * svg/SVGTextContentElement.cpp:
653         (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback): Changed to
654         not include the first character in the extraCharsAvailable count.
655
656 2008-09-20  Kevin Ollivier  <kevino@theolliviers.com>
657
658         Reviewed by Dan Bernstein.
659
660         Fix memory leak.
661         
662         https://bugs.webkit.org/show_bug.cgi?id=20505
663
664         * platform/wx/wxcode/mac/carbon/fontprops.cpp:
665         (GetTextExtent):
666
667 2008-09-20  Kevin Ollivier  <kevino@theolliviers.com>
668
669         wx build fixes. Added/removed build sources, and nativeWindow->platformWidget updates.
670
671         * WebCoreSources.bkl:
672         * platform/ScrollView.h:
673         * platform/wx/PopupMenuWx.cpp:
674         (WebCore::PopupMenu::show):
675         * platform/wx/RenderThemeWx.cpp:
676         (WebCore::RenderThemeWx::paintButton):
677         (WebCore::RenderThemeWx::paintTextField):
678         (WebCore::RenderThemeWx::paintMenuList):
679         (WebCore::RenderThemeWx::paintMenuListButton):
680         * platform/wx/ScrollViewWx.cpp:
681         (WebCore::ScrollView::setPlatformWidget):
682         (WebCore::ScrollView::updateContents):
683         (WebCore::ScrollView::update):
684         (WebCore::ScrollView::visibleWidth):
685         (WebCore::ScrollView::visibleHeight):
686         (WebCore::ScrollView::scrollBy):
687         (WebCore::ScrollView::resizeContents):
688         (WebCore::ScrollView::contentsWidth):
689         (WebCore::ScrollView::contentsHeight):
690         (WebCore::ScrollView::isScrollViewScrollbar):
691         (WebCore::ScrollView::adjustScrollbars):
692         (WebCore::ScrollView::inWindow):
693         (WebCore::ScrollView::removeChild):
694         * platform/wx/WidgetWx.cpp:
695         * plugins/wx/PluginViewWx.cpp:
696         (WebCore::PluginView::setParentVisible):
697         (WebCore::PluginView::updatePluginWidget):
698
699 2008-09-20  Timothy Hatcher  <timothy@apple.com>
700
701         Fix the new Node Search button image to not be blurry.
702
703         * page/inspector/Images/nodeSearchButtons.png:
704
705 2008-09-20  Matt Lilek  <webkit@mattlilek.com>
706
707         Reviewed by Tim Hatcher.
708
709         Cut down some of the inspector javascript -> InspectorController glue code
710         with two new macros. Also rearrange the exposed function list to be grouped
711         by implementation and to all explicitly use the WebCore namespace.
712
713         * page/InspectorController.cpp:
714         (WebCore::InspectorController::windowScriptObjectAvailable):
715
716 2008-09-20  Matt Lilek  <webkit@mattlilek.com>
717
718         Reviewed by Tim Hatcher.
719
720         Fix regression from my previous patch where the breadcrumbs bar was not displayed.
721
722         * page/inspector/inspector.css:
723
724 2008-09-20  Nikolas Zimmermann  <zimmermann@kde.org>
725
726         Reviewed by Eric.
727
728         Refactor HTMLImageLoader/SVGImageLoader code.
729         Move html/HTMLImageLoader.* to loader/ImageLoader.*
730
731         Let HTMLImageLoader & SVGImageLoader inherit from the new base class.
732         SVGImageLoader used to inherit from HTMLImageLoader which is awkward.
733
734         * GNUmakefile.am:
735         * WebCore.pro:
736         * WebCore.vcproj/WebCore.vcproj:
737         * WebCore.xcodeproj/project.pbxproj:
738         * WebCoreSources.bkl:
739         * dom/Document.cpp:
740         (WebCore::Document::dispatchImageLoadEventSoon):
741         (WebCore::Document::removeImage):
742         (WebCore::Document::dispatchImageLoadEventsNow):
743         * dom/Document.h:
744         * html/HTMLImageLoader.cpp:
745         (WebCore::HTMLImageLoader::HTMLImageLoader):
746         (WebCore::HTMLImageLoader::~HTMLImageLoader):
747         (WebCore::HTMLImageLoader::sourceURI):
748         (WebCore::HTMLImageLoader::notifyFinished):
749         * html/HTMLImageLoader.h:
750         * loader/DocLoader.h:
751         * loader/ImageLoader.cpp: Copied from html/HTMLImageLoader.cpp.
752         (WebCore::ImageLoader::ImageLoader):
753         (WebCore::ImageLoader::~ImageLoader):
754         (WebCore::ImageLoader::setImage):
755         (WebCore::ImageLoader::setLoadingImage):
756         (WebCore::ImageLoader::updateFromElement):
757         (WebCore::ImageLoader::notifyFinished):
758         * loader/ImageLoader.h: Copied from html/HTMLImageLoader.h.
759         * svg/SVGImageElement.cpp:
760         (WebCore::SVGImageElement::attach):
761         (WebCore::SVGImageElement::insertedIntoDocument):
762         (WebCore::SVGImageElement::imageSourceAttributeName):
763         * svg/SVGImageElement.h:
764         * svg/SVGImageLoader.cpp:
765         (WebCore::SVGImageLoader::SVGImageLoader):
766         (WebCore::SVGImageLoader::dispatchLoadEvent):
767         (WebCore::SVGImageLoader::sourceURI):
768         * svg/SVGImageLoader.h:
769
770 2008-09-20  Holger Hans Peter Freyther  <zecke@selfish.org>
771
772         Build fix.
773
774         [qtwebkit] ScrollBar build fix after r36684.
775         BackButtonPart was split into Start and End Part
776         ForwardButtonPart was split into Start and End Part
777
778         * platform/qt/ScrollbarThemeQt.cpp:
779         (WebCore::scPart):
780         (WebCore::scrollbarPart):
781         (WebCore::styleOptionSlider):
782
783 2008-09-20  Holger Hans Peter Freyther  <zecke@selfish.org>
784
785         Build fix.
786
787         [qtwebkit] Make qt_instance.cpp compile.
788         Revision of 36675 introduced getDOMStructure to give unique
789         structure id's to C++ classes. Catch up. RuntimeObjectImp assigns
790         the the StructureID inside the c'tor, do the same in QtRuntimeObjectImp
791
792         * bridge/qt/qt_instance.cpp:
793         (JSC::Bindings::QtInstance::getRuntimeObject):
794
795 2008-09-20  Holger Hans Peter Freyther  <zecke@selfish.org>
796
797         Reviewed by Nikolas Zimmermann.
798
799         [svg] Change SVGLocatable to deal with a plain SVGElement
800         There is no requirement in the code that we have to have a
801         SVGStyledElement. Remove that artificial limitation and compile
802         with SVGElement.
803
804         * svg/SVGLocatable.cpp:
805         * svg/SVGLocatable.h:
806
807 2008-09-20  Holger Hans Peter Freyther  <zecke@selfish.org>
808
809         Reviewed by Nikolas Zimmermann.
810
811         [svg] Use OwnPtr for the SVGExtensions to avoid custom lifetime
812         management.
813
814         * dom/Document.cpp:
815         (WebCore::Document::~Document):
816         (WebCore::Document::svgExtensions):
817         (WebCore::Document::accessSVGExtensions):
818         * dom/Document.h:
819
820 2008-09-19  David Hyatt  <hyatt@apple.com>
821
822         Fix for crash in updateTransitions.  Make sure to test for a style
823         being null when comparing two RenderStyles.
824
825         Reviewed by Oliver Hunt
826
827         * page/animation/AnimationBase.cpp:
828         (WebCore::PropertyWrapperGetter::equals):
829
830 2008-09-19  David Hyatt  <hyatt@apple.com>
831
832         https://bugs.webkit.org/show_bug.cgi?id=20954
833
834         Roll out r36628 since it has caused horrible regressions with
835         animated GIF CPU usage.
836
837         * platform/graphics/BitmapImage.cpp:
838         (WebCore::BitmapImage::cacheFrame):
839         (WebCore::BitmapImage::startAnimation):
840         * platform/graphics/BitmapImage.h:
841         (WebCore::FrameData::FrameData):
842         * platform/graphics/cairo/ImageCairo.cpp:
843         (WebCore::FrameData::clear):
844         * platform/graphics/cg/ImageCG.cpp:
845         (WebCore::FrameData::clear):
846         * platform/graphics/qt/ImageQt.cpp:
847         (WebCore::FrameData::clear):
848         * platform/graphics/wx/ImageWx.cpp:
849         (WebCore::FrameData::clear):
850
851 2008-09-20  Alp Toker  <alp@nuanti.com>
852
853         Reviewed by Timothy Hatcher.
854
855         https://bugs.webkit.org/show_bug.cgi?id=20913
856         Avoid redudant includes
857
858         Document.h is included excessively such that a modification to Document.h (or
859         any of the header it includes itself) triggers a rebuild of many files
860         including the whole of SVG and a lot of the JS bindings.
861
862         Some of these includes can be avoided by only including Document.h where
863         necessary.
864
865         * bindings/js/JSAttrCustom.cpp:
866         * bindings/js/JSElementCustom.cpp:
867         * bindings/js/JSEventTargetBase.cpp:
868         * bindings/js/JSEventTargetBase.h:
869         * bindings/js/JSEventTargetNode.cpp:
870         * bindings/js/JSHTMLFrameElementCustom.cpp:
871         * bindings/js/JSHTMLIFrameElementCustom.cpp:
872         * bindings/scripts/CodeGeneratorJS.pm:
873         * css/CSSCursorImageValue.cpp:
874         * css/SVGCSSStyleSelector.cpp:
875         * dom/make_names.pl:
876         * svg/SVGAnimateElement.h:
877         * svg/SVGAnimatedProperty.h:
878         (WebCore::::baseValue):
879         (WebCore::::setBaseValue):
880         (WebCore::::startAnimation):
881         (WebCore::::stopAnimation):
882         * svg/SVGElement.cpp:
883         (WebCore::SVGElement::accessDocumentSVGExtensions):
884         * svg/SVGElement.h:
885         * svg/SVGElementInstance.cpp:
886         * svg/SVGFitToViewBox.cpp:
887         * svg/SVGFontElement.cpp:
888         * svg/SVGFontFaceElement.cpp:
889         * svg/SVGLinearGradientElement.cpp:
890         * svg/SVGMPathElement.cpp:
891         * svg/SVGViewSpec.cpp:
892
893 2008-09-19  Nikolas Zimmermann  <zimmermann@kde.org>
894
895         Reviewed by Antti & Eric.
896
897         Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372
898
899         Finish HTMLScriptElement / SVGScriptElement unification.
900         SVG <script> support is complete now, full SVGLoad event
901         respecting the influence of the externalResourcesRequired attribute
902         as well as SVGError event support. All other features shared with HTML.
903
904         Tests: fast/dom/HTMLScriptElement/script-reexecution.html
905                svg/dom/SVGScriptElement/script-change-externalResourcesRequired-while-loading.svg
906                svg/dom/SVGScriptElement/script-load-and-error-events.svg
907                svg/dom/SVGScriptElement/script-reexecution.svg
908                svg/dom/SVGScriptElement/script-set-href.svg
909
910         * dom/ScriptElement.cpp:
911         (WebCore::ScriptElementData::ScriptElementData):
912         (WebCore::ScriptElementData::requestScript):
913         * dom/ScriptElement.h:
914         (WebCore::ScriptElementData::haveFiredLoadEvent):
915         (WebCore::ScriptElementData::setHaveFiredLoadEvent):
916         * dom/XMLTokenizer.cpp:
917         (WebCore::XMLTokenizer::notifyFinished):
918         * html/HTMLScriptElement.cpp:
919         (WebCore::HTMLScriptElement::dispatchLoadEvent):
920         * svg/SVGScriptElement.cpp:
921         (WebCore::SVGScriptElement::setCreatedByParser):
922         (WebCore::SVGScriptElement::parseMappedAttribute):
923         (WebCore::SVGScriptElement::svgAttributeChanged):
924         (WebCore::SVGScriptElement::insertedIntoDocument):
925         (WebCore::SVGScriptElement::removedFromDocument):
926         (WebCore::SVGScriptElement::childrenChanged):
927         (WebCore::SVGScriptElement::isURLAttribute):
928         (WebCore::SVGScriptElement::finishParsingChildren):
929         (WebCore::SVGScriptElement::type):
930         (WebCore::SVGScriptElement::setType):
931         (WebCore::SVGScriptElement::haveLoadedRequiredResources):
932         (WebCore::SVGScriptElement::dispatchLoadEvent):
933         (WebCore::SVGScriptElement::dispatchErrorEvent):
934         * svg/SVGScriptElement.h:
935
936 2008-09-19  Dan Bernstein  <mitz@apple.com>
937
938         Reviewed by John Sullivan.
939
940         - fix https://bugs.webkit.org/show_bug.cgi?id=20951
941           Typo in Position::getInlineBoxAndOffset()
942           and add an assertion
943
944         Without the fix, the newly-added assertion fails in platform/mac/editing/input/caret-primary-bidi.html
945
946         * dom/Position.cpp:
947         (WebCore::Position::getInlineBoxAndOffset):
948         * rendering/InlineTextBox.cpp:
949         (WebCore::InlineTextBox::positionForOffset):
950
951 2008-09-19  David Hyatt  <hyatt@apple.com>
952
953         Add support for hit testing of all five possible scrollbar button placements. 
954
955         Reviewed by Sam Weinig
956
957         * platform/ScrollbarThemeComposite.cpp:
958         (WebCore::ScrollbarThemeComposite::paint):
959         * platform/mac/ScrollbarThemeMac.mm:
960         (WebCore::):
961         (WebCore::ScrollbarThemeMac::backButtonRect):
962         (WebCore::ScrollbarThemeMac::forwardButtonRect):
963         (WebCore::ScrollbarThemeMac::trackRect):
964         (WebCore::ScrollbarThemeMac::paintButton):
965
966 2008-09-19  Darin Adler  <darin@apple.com>
967
968         - try to fix Qt build
969
970         * bridge/qt/qt_instance.cpp:
971         (JSC::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp): Add structure argument.
972         (JSC::Bindings::QtInstance::getRuntimeObject): Ditto.
973         * bridge/runtime_object.cpp:
974         (JSC::RuntimeObjectImp::RuntimeObjectImp): Add an overload just for Qt.
975         * bridge/runtime_object.h: Ditto.
976
977 2008-09-19  Chris Marrin  <cmarrin@apple.com>
978
979         Reviewed by Dave Hyatt.
980
981         Transition starts running when it shouldn't
982         https://bugs.webkit.org/show_bug.cgi?id=20892
983
984         When there is a transition and an animation on the
985         same element, make sure the animation wins.
986
987         The fix is to save the unanimated style when an animation is started.
988         Then, when starting a transition, check to see if there is a current
989         animation on the same prop. If so, use the unanimated style as the
990         fromStyle rather than the current style.
991
992         Test: animations/transition-and-animation-1.html
993
994         * page/animation/CompositeAnimation.cpp:
995         (WebCore::CompositeAnimation::updateTransitions):
996         (WebCore::CompositeAnimation::updateKeyframeAnimations):
997         (WebCore::CompositeAnimation::animate):
998         (WebCore::CompositeAnimation::getAnimationForProperty):
999         * page/animation/CompositeAnimation.h:
1000         * page/animation/ImplicitAnimation.cpp:
1001         (WebCore::ImplicitAnimation::reset):
1002         * page/animation/ImplicitAnimation.h:
1003         * page/animation/KeyframeAnimation.cpp:
1004         (WebCore::KeyframeAnimation::hasAnimationForProperty):
1005         * page/animation/KeyframeAnimation.h:
1006         (WebCore::KeyframeAnimation::KeyframeAnimation):
1007         (WebCore::KeyframeAnimation::unanimatedStyle):
1008
1009 2008-09-19  David Hyatt  <hyatt@apple.com>
1010
1011         Add support for painting/hit testing of four possible scrollbar buttons.
1012         The Windows themes simply ignore the two parts that they will never
1013         show.  The Mac theme also ignores the other two buttons for now.
1014
1015         The cross-platform base for all three themes, ScrollbarThemeComposite,
1016         has all the proper support though.
1017
1018         Reviewed by Sam Weinig
1019
1020         * platform/ScrollbarThemeComposite.cpp:
1021         (WebCore::ScrollbarThemeComposite::hitTest):
1022         (WebCore::ScrollbarThemeComposite::invalidatePart):
1023         * platform/ScrollbarThemeComposite.h:
1024         * platform/mac/ScrollbarThemeMac.h:
1025         * platform/mac/ScrollbarThemeMac.mm:
1026         (WebCore::ScrollbarThemeMac::backButtonRect):
1027         (WebCore::ScrollbarThemeMac::forwardButtonRect):
1028         (WebCore::ScrollbarThemeMac::paintButton):
1029         * platform/win/ScrollbarThemeSafari.cpp:
1030         (WebCore::ScrollbarThemeSafari::backButtonRect):
1031         (WebCore::ScrollbarThemeSafari::forwardButtonRect):
1032         (WebCore::ScrollbarThemeSafari::paintButton):
1033         * platform/win/ScrollbarThemeSafari.h:
1034         * platform/win/ScrollbarThemeWin.cpp:
1035         (WebCore::ScrollbarThemeWin::backButtonRect):
1036         (WebCore::ScrollbarThemeWin::forwardButtonRect):
1037         (WebCore::ScrollbarThemeWin::paintButton):
1038         * platform/win/ScrollbarThemeWin.h:
1039
1040 2008-09-19  Matt Lilek  <webkit@mattlilek.com>
1041
1042         Reviewed by Tim Hatcher.
1043
1044         Bug 17772: Inspector should support point-and-click to select a node to inspect
1045         https://bugs.webkit.org/show_bug.cgi?id=17772
1046         <rdar://problem/5792395>
1047
1048         * English.lproj/localizedStrings.js:
1049         * page/Chrome.cpp:
1050         (WebCore::Chrome::mouseDidMoveOverElement):
1051         * page/EventHandler.cpp:
1052         (WebCore::EventHandler::handleMousePressEvent):
1053         * page/InspectorController.cpp:
1054         (WebCore::toggleNodeSearch):
1055         (WebCore::searchingForNode):
1056         (WebCore::InspectorController::InspectorController):
1057         (WebCore::InspectorController::toggleSearchForNodeInPage):
1058         (WebCore::InspectorController::mouseDidMoveOverElement):
1059         (WebCore::InspectorController::handleMousePressOnNode):
1060         (WebCore::InspectorController::windowScriptObjectAvailable):
1061         * page/InspectorController.h:
1062         (WebCore::InspectorController::searchingForNodeInPage):
1063         * page/inspector/ElementsPanel.js:
1064         * page/inspector/Images/nodeSearchButtons.png: Added.
1065         * page/inspector/inspector.css:
1066
1067 2008-09-19  David Hyatt  <hyatt@apple.com>
1068
1069         Add new scrollbar parts to be able to represent back and forward buttons
1070         at either end of the scrollbar.  The current scrollbar still just draws
1071         a single button at either end, but the parts now exist.
1072
1073         Reviewed by Sam Weinig
1074
1075         * platform/ScrollTypes.h:
1076         (WebCore::):
1077         * platform/Scrollbar.cpp:
1078         (WebCore::Scrollbar::autoscrollTimerFired):
1079         (WebCore::Scrollbar::pressedPartScrollDirection):
1080         (WebCore::Scrollbar::pressedPartScrollGranularity):
1081         (WebCore::Scrollbar::handleMouseMoveEvent):
1082         * platform/ScrollbarTheme.h:
1083         (WebCore::ScrollbarTheme::buttonsPlacement):
1084         (WebCore::ScrollbarTheme::invalidateParts):
1085         * platform/ScrollbarThemeComposite.cpp:
1086         (WebCore::ScrollbarThemeComposite::paint):
1087         (WebCore::ScrollbarThemeComposite::hitTest):
1088         (WebCore::ScrollbarThemeComposite::invalidatePart):
1089         * platform/ScrollbarThemeComposite.h:
1090
1091 2008-09-19  Beth Dakin  <bdakin@apple.com>
1092
1093         Reviewed by Dave Hyatt.
1094
1095         Fix for <rdar://problem/6231308> crash in AutoTableLayout
1096
1097         The code assumes later on that a TableSection's grid's row vector 
1098         will never be empty. So make 1 the minimum number of columns.
1099
1100         * rendering/RenderTableSection.cpp:
1101         (WebCore::RenderTableSection::ensureRows):
1102
1103 2008-09-19  David Hyatt  <hyatt@apple.com>
1104
1105         Add a new ScrollbarButtonsPlacement type for specifying where
1106         the button arrows are in a scrollbar.
1107
1108         Read in the placement settings for Mac.  Nothing is done with the
1109         setting yet.
1110
1111         Add a new buttonsPlacement() method to ScrollbarTheme composite
1112         so that the arrow settings can be obtained.
1113
1114         Reviewed by Sam Weinig
1115
1116         * platform/ScrollTypes.h:
1117         (WebCore::):
1118         * platform/ScrollbarThemeComposite.h:
1119         (WebCore::ScrollbarThemeComposite::buttonsPlacement):
1120         * platform/mac/ScrollbarThemeMac.mm:
1121         (WebCore::updateArrowPlacement):
1122         (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
1123
1124 2008-09-19  Steve Falkenburg  <sfalken@apple.com>
1125
1126         Roll out r36626. It is causing variance in SunSpider numbers on XP.
1127         
1128         Rubber stamped by Mark Rowe.
1129
1130         * platform/win/SharedTimerWin.cpp:
1131         (WebCore::isRunningOnVistaOrLater):
1132         (WebCore::setSharedTimerFireTime):
1133
1134 2008-09-19  Kevin McCullough  <kmccullough@apple.com>
1135
1136         Reviewed by Tim.
1137
1138         https://bugs.webkit.org/show_bug.cgi?id=20942
1139         Bug 20942: Repeated messages in resources don't collapse
1140         - Now repeated messages in a resource's view are collapsed and a message
1141         says how many were repeated.
1142
1143         * English.lproj/localizedStrings.js:
1144         * manual-tests/inspector/multiple-console-messages.html:
1145         * page/inspector/Console.js: Send all the messages to the resource's
1146         view before possibly returning early if the message is a repeat.
1147         * page/inspector/SourceFrame.js: Add the text about the message being
1148         repeated, if it is, and increment it when necessary.
1149
1150 2008-09-19  Chris Fleizach  <cfleizach@apple.com>
1151
1152         Removed unnecessary #if
1153
1154         * page/mac/AccessibilityObjectWrapper.mm:
1155
1156 2008-09-19  David Hyatt  <hyatt@apple.com>
1157
1158         Read in prefs for the scroll delay repeat values for buttons.  Also
1159         honor the option-click pref for jumping to the thumb when clicking in
1160         the track.
1161
1162         Reviewed by Sam Weinig
1163
1164         * platform/mac/ScrollbarThemeMac.h:
1165         * platform/mac/ScrollbarThemeMac.mm:
1166         (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
1167         (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
1168         (WebCore::ScrollbarThemeMac::autoscrollTimerDelay):
1169         (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
1170
1171 2008-09-19  David Hyatt  <hyatt@apple.com>
1172
1173         Move ScrollbarThemeMac.cpp to ScrollbarThemeMac.mm so it can use Obj-C.
1174         Set the initial button repeat delay to 0.5 for Mac.
1175
1176         Reviewed by Sam Weinig
1177
1178         * WebCore.xcodeproj/project.pbxproj:
1179         * platform/mac/ScrollbarThemeMac.cpp: Removed.
1180         * platform/mac/ScrollbarThemeMac.h:
1181         (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
1182         * platform/mac/ScrollbarThemeMac.mm: Copied from platform/mac/ScrollbarThemeMac.cpp.
1183
1184 2008-09-19  Darin Adler  <darin@apple.com>
1185
1186         Reviewed by Sam Weinig.
1187
1188         - part 2 of https://bugs.webkit.org/show_bug.cgi?id=20858
1189           make each distinct C++ class get a distinct JSC::Structure
1190
1191           + Fixed all cases where we were using a shared structure for multiple
1192             C++ classes in WebCore. This still has to be done in JavaScriptCore.
1193
1194           + Got rid of cacheGlobalObject.
1195
1196           + Improved use of PassRefPtr in bindings code.
1197
1198           + Removed a couple cases where we were potentially allocating prototypes
1199             inside a JSObject's construction process -- this can lead to trouble if
1200             we do a garbage collection while an object is only partly constructed.
1201
1202         * bindings/js/JSAudioConstructor.cpp:
1203         (WebCore::JSAudioConstructor::JSAudioConstructor): Create a structure explicitly
1204         so we don't implicitly share the structure with other objects that use the object
1205         prototype.
1206
1207         * bindings/js/JSDOMBinding.cpp:
1208         (WebCore::getCachedDOMConstructor): Added. To be used for constructors so we
1209         don't need cacheGlobalObject any more.
1210         (WebCore::cacheDOMConstructor): Ditto.
1211
1212         * bindings/js/JSDOMBinding.h: Removed DOMObject constructor that takes a prototype.
1213         Added functions and a function template for getting cached DOM constructors.
1214         Removed cacheGlobalObject function template.
1215
1216         * bindings/js/JSDOMWindowBase.cpp:
1217         (WebCore::JSDOMWindowBase::JSDOMWindowBase): Take a PassRefPtr<DOMWindow> since
1218         we're taking ownership.
1219         * bindings/js/JSDOMWindowBase.h: Changed constructor to take PassRefPtr, since
1220         we're taking ownership. Added constructor map.
1221         * bindings/js/JSDOMWindowCustom.cpp:
1222         (WebCore::JSDOMWindow::mark): Mark the constructors in the map.
1223
1224         * bindings/js/JSDOMWindowShell.cpp:
1225         (WebCore::JSDOMWindowShell::JSDOMWindowShell): Take a PassRefPtr<DOMWindow> since
1226         we're taking ownership. Use the new setWindow function to create the JSDOMWindow;
1227         this is now done in only that one place.
1228         (WebCore::JSDOMWindowShell::setWindow): Added. Creates the JSDOMWindow based on
1229         the passed-in DOMWindow. Code was moved here and changed to allocate unique
1230         structures for both the window prototype and the window.
1231         * bindings/js/JSDOMWindowShell.h: Ditto.
1232
1233         * bindings/js/JSEventTargetBase.h: Changed class template argument so it doesn't
1234         have the same name (JSEventTarget) as an actual class. Removed unhelpful use of
1235         private/friend in JSEventTargetBase. Removed comments referring to defunct
1236         macros. Changed JSEventTargetBasePrototype to get the prototype with the new
1237         rather than its own copy of cacheGlobalObject (I missed this during pass 1).
1238         Changed JSEventTargetBasePrototype so it doesn't have so many template arguments.
1239
1240         * bindings/js/JSEventTargetNode.cpp: Added s_info; needed for the new scheme
1241         for caching structures and prototypes.
1242         (WebCore::JSEventTargetNode::JSEventTargetNode): Use PassRefPtr.
1243         (WebCore::JSEventTargetNode::createPrototype): Added.
1244         * bindings/js/JSEventTargetNode.h: Updated for above changes.
1245
1246         * bindings/js/JSHTMLAllCollection.h:
1247         (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Use PassRefPtr.
1248         * bindings/js/JSHTMLCollectionCustom.cpp:
1249         (WebCore::getNamedItems): Pass ExecState instead of prototype.
1250         * bindings/js/JSHTMLFormElementCustom.cpp:
1251         (WebCore::JSHTMLFormElement::nameGetter): Ditto.
1252         * bindings/js/JSHTMLInputElementBase.cpp:
1253         (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Use PassRefPtr.
1254         * bindings/js/JSHTMLInputElementBase.h: Ditto.
1255         * bindings/js/JSHTMLOptionElementConstructor.cpp:
1256         (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
1257         Create a unique structure instead of sharing.
1258         * bindings/js/JSImageConstructor.cpp:
1259         (WebCore::JSImageConstructor::JSImageConstructor): Ditto.
1260
1261         * bindings/js/JSInspectedObjectWrapper.cpp:
1262         (WebCore::JSInspectedObjectWrapper::wrap): Removed overload that takes
1263         a prototype rather than a structure. Made the use of inheritorID() here
1264         explicit.
1265         * bindings/js/JSInspectedObjectWrapper.h: Ditto.
1266         * bindings/js/JSInspectorCallbackWrapper.cpp:
1267         (WebCore::JSInspectorCallbackWrapper::wrap): Ditto.
1268         * bindings/js/JSInspectorCallbackWrapper.h: Ditto.
1269
1270         * bindings/js/JSNamedNodesCollection.cpp:
1271         (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Changed to
1272         take an ExecState argument instead of a prototype. Create a unique
1273         StructureID instead of sharing.
1274         * bindings/js/JSNamedNodesCollection.h: Ditto.
1275
1276         * bindings/js/JSQuarantinedObjectWrapper.cpp: Removed overloaded
1277         constructor that takes a prototype instead of a structure.
1278         * bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
1279
1280         * bindings/js/JSRGBColor.cpp:
1281         (WebCore::JSRGBColor::JSRGBColor): Take ExecState instead of a
1282         prototype; create a unique structure.
1283         (WebCore::getJSRGBColor): Ditto.
1284         * bindings/js/JSRGBColor.h: Ditto.
1285
1286         * bindings/js/JSSQLResultSetRowListCustom.cpp:
1287         (WebCore::JSSQLResultSetRowList::item): Use constructEmptyObject instead
1288         of explicit coding the idiom for making a new object.
1289
1290         * bindings/js/JSXMLHttpRequestConstructor.cpp:
1291         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
1292         Create a unique structure instead of the shared one.
1293         * bindings/js/JSXSLTProcessorConstructor.cpp:
1294         (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
1295         Ditto.
1296
1297         * bindings/js/ScriptController.cpp:
1298         (WebCore::ScriptController::clearWindowShell): Let the window shell's
1299         setWindow function create the JSDOMWindow instead of doing it here.
1300
1301         * bindings/scripts/CodeGeneratorJS.pm: Changed to use PassRefPtr for
1302         the structure and the wrapped object when creating wrappers.
1303         Simplified some of the special cases for DOMWindow so they are
1304         different only in ways the need to be. Eliminated the
1305         JSDOMWindow::createPrototype and JSDOMWindowPrototype::self
1306         functions. Moved responsibility for creating the structure and
1307         parent prototype out of the prototype constructor into the
1308         createPrototype function. Removed the unused "DoNotCache" flag for
1309         objects other than DOMWindow. Use getDOMConstructor instead of
1310         cacheGlobalObject for constructors. Make each constructor have
1311         a unique structure ID.
1312
1313         * bridge/objc/objc_runtime.h: Added createPrototype and changed the
1314         name of the info member to s_info so we can use the standard DOM
1315         binding macros to handl the prototype.
1316         * bridge/objc/objc_runtime.mm: Fixed namespacing a bit.
1317         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
1318         Create a unique structure using getDOMStructure.
1319
1320         * bridge/runtime_array.cpp: Fixed namespacing a bit.
1321         (JSC::RuntimeArray::RuntimeArray): Create a unique structure using
1322         getDOMStructure.
1323         * bridge/runtime_array.h: Added createPrototype so getDOMStructure
1324         will work.
1325
1326         * bridge/runtime_object.cpp:
1327         (JSC::RuntimeObjectImp::RuntimeObjectImp): Create a unique structure using
1328         getDOMStructure.
1329         * bridge/runtime_object.h: Added createPrototype so getDOMStructure
1330         will work.
1331
1332         * history/CachedPage.cpp:
1333         (WebCore::CachedPage::restore): Let the window shell's
1334         setWindow function create the JSDOMWindow instead of doing it here.
1335
1336         * page/DOMWindow.idl: Removed DoNotCache, which is no longer used.
1337
1338 2008-09-19  Dan Bernstein  <mitz@apple.com>
1339
1340         Reviewed by Dave Hyatt.
1341
1342         This optimization was suggested by Daniel Fenwick
1343
1344         - speed up measuring text on the Core Text code path by not specifying a paragraph writing direction
1345
1346         Specifying LTR paragraph directionality when measuring runs of RTL text
1347         resulted in typically two CTRuns being generated for every run instead
1348         of one, due to the leading space being reordered to the left.
1349
1350         * platform/graphics/SimpleFontData.h: Removed the ltr parameter to
1351         getCFStringAttributes() and changed m_CFStringAttributes from an array
1352         to a single value.
1353         * platform/graphics/mac/CoreTextController.cpp:
1354         (WebCore::CoreTextController::CoreTextController): Added a
1355         mayUseNaturalWritingDirection parameter.
1356         (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Changed
1357         to force the bidi embedding level whenever 
1358         m_mayUseNaturalWritingDirectrion is false. Since this is now a common
1359         case, made the typesetter options dictionaries static.
1360         * platform/graphics/mac/CoreTextController.h:
1361         * platform/graphics/mac/FontMacCoreText.cpp:
1362         (WebCore::Font::selectionRectForComplexText): Renamed a local variable.
1363         (WebCore::Font::floatWidthForComplexText): Changed to allow the
1364         CoreTextController to not set the writing direction.
1365         * platform/graphics/mac/SimpleFontDataMac.mm:
1366         (WebCore::SimpleFontData::getCFStringAttributes): Removed the ltr
1367         parameter and the paragraph style attribute.
1368
1369 2008-09-19  David Hyatt  <hyatt@apple.com>
1370
1371         Reviewed by Sam Weinig
1372
1373         https://bugs.webkit.org/show_bug.cgi?id=20941
1374
1375         Incorrect height calculation for replaced element inside nested
1376         positioned elements (where the inner has a percentage height and
1377         the outer implicitly has a fixed height because of explicit top/bottom
1378         values).
1379
1380         Added fast/block/positioning/replaced-inside-top-bottom.html
1381
1382         * rendering/RenderBox.cpp:
1383         (WebCore::RenderBox::availableHeightUsing):
1384
1385 2008-09-19  Chris Fleizach  <cfleizach@apple.com>
1386
1387         Fix Tiger bustage
1388
1389         * page/mac/AccessibilityObjectWrapper.mm:
1390
1391 2008-09-18  Chris Fleizach  <cfleizach@apple.com>
1392
1393         Reviewed by Darin Adler.
1394
1395         <rdar://problem/6211041> Expose legend tag in accessibility
1396
1397         Exposes the legend tag as the titleUIElement of a fieldset
1398
1399         Test: accessibility/legend.html
1400
1401         * page/AccessibilityObject.h:
1402         (WebCore::AccessibilityObject::isFieldset):
1403         * page/AccessibilityRenderObject.cpp:
1404         (WebCore::AccessibilityRenderObject::isFieldset):
1405         (WebCore::AccessibilityRenderObject::titleUIElement):
1406         * page/AccessibilityRenderObject.h:
1407         * rendering/RenderFieldset.h:
1408
1409 2008-09-19  Chris Fleizach  <cfleizach@apple.com>
1410
1411         Reviewed by Darin Adler.
1412
1413         <rdar://problem/6213171> WebKit should use new array-centric methods for AX performance
1414
1415         Implement a few AX API methods that will be called by AppKit, which will 
1416         speed up access to accessibility objects
1417
1418         * page/mac/AccessibilityObjectWrapper.mm:
1419         (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
1420         (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
1421         (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
1422
1423 2008-09-19  Holger Hans Peter Freyther  <zecke@selfish.org>
1424
1425         Reviewed by Simon Hausmann.
1426
1427         [qtwebkit] Set the m_should* flags to their proper value on entry
1428         With plugins it was possible that we finished a job twice. This was
1429         some kind of reentrancy in QNetworkReplyHandler::sendQueuedItems. By
1430         setting the flag to (m_loadMode == LoadDeferred) they will always have
1431         the right value and we will not send responses twice.
1432
1433         * platform/network/qt/QNetworkReplyHandler.cpp:
1434
1435 2008-09-19  Holger Hans Peter Freyther  <zecke@selfish.org>
1436
1437         Reviewed by Simon Hausmann.
1438
1439         [qtwebkit] Pass test 70 of acid3. Handle text decoding errors
1440         Handle text decoding errors before instructing the parser to parse. We
1441         have converted the text to QString and all encoding errors are gone and
1442         the parser will not be able to detect them. So handle them before parsing.
1443
1444         * dom/XMLTokenizerQt.cpp:
1445         (WebCore::XMLTokenizer::doWrite):
1446
1447 2008-09-18  Darin Adler  <darin@apple.com>
1448
1449         Reviewed by Maciej Stachowiak.
1450
1451         - part 1 of https://bugs.webkit.org/show_bug.cgi?id=20858
1452           make each distinct C++ class get a distinct JSC::Structure
1453
1454         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1455         (WebCore::JSCSSStyleDeclaration::customPut): Use setDOMException
1456         instead of DOMExceptionTranslator.
1457
1458         * bindings/js/JSDOMBinding.cpp:
1459         (WebCore::getCachedDOMObjectWrapper): Updated function name.
1460         (WebCore::cacheDOMObjectWrapper): Ditto.
1461         (WebCore::forgetDOMObject): Ditto.
1462         (WebCore::getCachedDOMNodeWrapper): Ditto.
1463         (WebCore::forgetDOMNode): Ditto.
1464         (WebCore::cacheDOMNodeWrapper): Ditto.
1465         (WebCore::forgetAllDOMNodesForDocument): Ditto.
1466         (WebCore::markDOMNodesForDocument): Ditto.
1467         (WebCore::updateDOMNodeDocument): Ditto.
1468         (WebCore::getCachedDOMStructure): Added.
1469         (WebCore::createDOMStructure): Ditto.
1470
1471         * bindings/js/JSDOMBinding.h: Get rid of the ScriptInterpreter
1472         class and replace the static member functions with non-member
1473         functions. Added many other functions for getting at structures,
1474         prototypes, wrappers, and creating them. Also moved the
1475         cacheGlobalObject function here from JavaScriptCore; eventually
1476         I'll remove that once I get rid of the remaining callers. Also
1477         removed the DOMExceptionTranslator class.
1478
1479         * bindings/js/JSDOMWindowBase.h: Added JSDOMStructureMap type,
1480         and put one of those maps in each window.
1481
1482         * bindings/js/JSDOMWindowCustom.cpp:
1483         (WebCore::markDOMObjectWrapper): Updated for function name change.
1484         (WebCore::JSDOMWindow::mark): Added code to mark all the structures
1485         in the structure map.
1486
1487         * bindings/js/JSEventTargetNode.cpp:
1488         (WebCore::JSEventTargetNode::JSEventTargetNode): Changed to take
1489         a structure instead of a prototype.
1490         * bindings/js/JSEventTargetNode.h: Ditto.
1491         * bindings/js/JSHTMLAllCollection.h:
1492         (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Ditto.
1493
1494         * bindings/js/JSHTMLInputElementBase.cpp:
1495         (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Removed
1496         use of the JSC_IMPLEMENT_PROTOTYPE macro, and changed to take a
1497         structure instead of a prototype.
1498         * bindings/js/JSHTMLInputElementBase.h: Removed use of the
1499         JSC_DEFINE_PROTOTYPE_WITH_PROTOTYPE macro, and changed constructor
1500         to take a structure instead of a prototype. Created a dummy prototype
1501         class that causes the HTMLInputElement prototype to have the
1502         HTMLElement prototype.
1503
1504         * bindings/scripts/CodeGeneratorJS.pm: Change constructors to take
1505         structures instead of prototypes. Changed the prototype self function
1506         to use the getDOMPrototype function -- later we can eliminate it and
1507         have callers invoke getDOMPrototype directly instead. Updated other
1508         functions that have name changes. Added code to generate the
1509         createPrototype member function. Changed use of cacheGlobalObject to
1510         get it from the WebCore namespace instead of the JSC namespace.
1511         Changed cacheDOMObject calls to use getDOMObjectWrapper instead.
1512
1513         * dom/Document.cpp:
1514         (WebCore::Document::~Document): Updated for name change and also
1515         removed unnecessary JSLock use -- there's no need to lock around this.
1516         * dom/Node.cpp:
1517         (WebCore::Node::setDocument): Ditto.
1518
1519         * dom/make_names.pl: Changed to use CREATE_DOM_NODE_WRAPPER macro
1520         instead of calling new directly.
1521
1522         * bindings/js/JSCSSRuleCustom.cpp:
1523         (WebCore::toJS): Updated for function name changes and used the
1524         CREATE_DOM_OBJECT_WRAPPER macro.
1525         * bindings/js/JSCSSValueCustom.cpp:
1526         (WebCore::toJS): Ditto.
1527         * bindings/js/JSCanvasPixelArrayCustom.cpp:
1528         (WebCore::toJS): Ditto.
1529         * bindings/js/JSDocumentCustom.cpp:
1530         (WebCore::JSDocument::mark): Ditto.
1531         (WebCore::toJS): Ditto.
1532         * bindings/js/JSElementCustom.cpp:
1533         (WebCore::toJSNewlyCreated): Ditto.
1534         * bindings/js/JSEventCustom.cpp:
1535         (WebCore::toJS): Ditto.
1536         * bindings/js/JSEventTargetBase.cpp:
1537         (WebCore::jsEventTargetDispatchEvent): Use setDOMException instead
1538         of DOMExceptionTranslator.
1539         (WebCore::toJS): Updated for function name changes and used the
1540         CREATE_DOM_OBJECT_WRAPPER macro.
1541         * bindings/js/JSHTMLCollectionCustom.cpp:
1542         (WebCore::toJS): Ditto.
1543         * bindings/js/JSNodeCustom.cpp:
1544         (WebCore::JSNode::mark): Ditto.
1545         (WebCore::createWrapper): Ditto.
1546         (WebCore::toJS): Ditto.
1547         * bindings/js/JSSVGPathSegCustom.cpp:
1548         (WebCore::toJS): Ditto.
1549         * bindings/js/JSStyleSheetCustom.cpp:
1550         (WebCore::toJS): Ditto.
1551         (WebCore::JSStyleSheet::mark): Ditto.
1552         * bindings/js/JSTextCustom.cpp:
1553         (WebCore::toJSNewlyCreated): Ditto.
1554         * bindings/js/JSXMLHttpRequestConstructor.cpp:
1555         (WebCore::constructXMLHttpRequest): Ditto.
1556         * bindings/js/JSXMLHttpRequestCustom.cpp:
1557         (WebCore::JSXMLHttpRequest::mark): Ditto.
1558         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
1559         (WebCore::JSXMLHttpRequestUpload::mark): Ditto.
1560         * bindings/js/JSXSLTProcessorConstructor.cpp:
1561         (WebCore::constructXSLTProcessor): Ditto.
1562         * bindings/js/ScriptController.cpp:
1563         (WebCore::ScriptController::finishedWithEvent): Ditto.
1564         * xml/XMLHttpRequest.cpp:
1565         (WebCore::XMLHttpRequest::loadRequestAsynchronously): Ditto.
1566         (WebCore::XMLHttpRequest::dropProtection): Ditto.
1567
1568 2008-09-18  David Hyatt  <hyatt@apple.com>
1569
1570         This patch gets a viewless scrollbar working on Mac. It is turned off
1571         by default.  Hit testing works.  For now the scrollbar just paints ugly
1572         debug rects in the place of the buttons, track and thumb.  It does match
1573         Aqua metrics though.
1574
1575         Reviewed by Sam Weinig
1576
1577         * WebCore.xcodeproj/project.pbxproj:
1578         * page/mac/EventHandlerMac.mm:
1579         (WebCore::EventHandler::passMousePressEventToScrollbar):
1580         * platform/ScrollbarThemeComposite.cpp:
1581         (WebCore::ScrollbarThemeComposite::paint):
1582         (WebCore::ScrollbarThemeComposite::trackPosition):
1583         * platform/ScrollbarThemeComposite.h:
1584         * platform/mac/ScrollViewMac.mm:
1585         (WebCore::ScrollView::addChild):
1586         * platform/mac/ScrollbarThemeMac.cpp:
1587         (WebCore::):
1588         (WebCore::ScrollbarThemeMac::hasButtons):
1589         (WebCore::ScrollbarThemeMac::hasThumb):
1590         (WebCore::buttonRepaintRect):
1591         (WebCore::ScrollbarThemeMac::backButtonRect):
1592         (WebCore::ScrollbarThemeMac::forwardButtonRect):
1593         (WebCore::trackRepaintRect):
1594         (WebCore::ScrollbarThemeMac::trackRect):
1595         (WebCore::ScrollbarThemeMac::minimumThumbLength):
1596         (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
1597         (WebCore::ScrollbarThemeMac::paintTrack):
1598         (WebCore::ScrollbarThemeMac::paintButton):
1599         (WebCore::ScrollbarThemeMac::paintThumb):
1600         * platform/mac/ScrollbarThemeMac.h:
1601         (WebCore::ScrollbarThemeMac::supportsControlTints):
1602         * platform/qt/ScrollbarThemeQt.cpp:
1603         (WebCore::ScrollbarThemeQt::trackPosition):
1604
1605 2008-09-18  Collin Jackson  <collinj@webkit.org>
1606
1607         Build fix; added missing header file to GNUmakefile.am
1608
1609         * GNUmakefile.am:
1610
1611 2008-09-18  Sam Weinig  <sam@webkit.org>
1612
1613         Reviewed by David "the Hair" Hyatt.
1614
1615         Move DataRef, SVGRenderStyle and SVGRenderStyleDefs in render/style.
1616
1617         * GNUmakefile.am:
1618         * WebCore.pro:
1619         * WebCore.vcproj/WebCore.vcproj:
1620         * WebCore.xcodeproj/project.pbxproj:
1621         * rendering/DataRef.h: Removed.
1622         * rendering/SVGRenderStyle.cpp: Removed.
1623         * rendering/SVGRenderStyle.h: Removed.
1624         * rendering/SVGRenderStyleDefs.cpp: Removed.
1625         * rendering/SVGRenderStyleDefs.h: Removed.
1626         * rendering/style/DataRef.h: Copied from rendering/DataRef.h.
1627         * rendering/style/SVGRenderStyle.cpp: Copied from rendering/SVGRenderStyle.cpp.
1628         * rendering/style/SVGRenderStyle.h: Copied from rendering/SVGRenderStyle.h.
1629         * rendering/style/SVGRenderStyleDefs.cpp: Copied from rendering/SVGRenderStyleDefs.cpp.
1630         * rendering/style/SVGRenderStyleDefs.h: Copied from rendering/SVGRenderStyleDefs.h.
1631
1632 2008-09-18  Mark Rowe  <mrowe@apple.com>
1633
1634         Reviewed by Dan Bernstein.
1635
1636         Add a means of clearing a FrameTree's name.
1637
1638         * WebCore.base.exp:
1639         * page/FrameTree.cpp:
1640         (WebCore::FrameTree::clearName):
1641         * page/FrameTree.h:
1642
1643 2008-09-18  David Hyatt  <hyatt@apple.com>
1644
1645         Eliminate addToSuperview from Widget, since it was only called
1646         by ScrollViewMac's addChild method.  Just shift the original body
1647         of addToSuperView into addChild.
1648
1649         Reviewed by Sam Weinig
1650
1651         * platform/Widget.h:
1652         * platform/mac/ScrollViewMac.mm:
1653         (WebCore::ScrollView::addChild):
1654         * platform/mac/WidgetMac.mm:
1655
1656 2008-09-18  Collin Jackson  <collinj@webkit.org>
1657
1658         Reviewed by Antti Koivisto and Mark Rowe.
1659
1660         Test: http/tests/misc/dns-prefetch-control.html
1661
1662         https://bugs.webkit.org/show_bug.cgi?id=20690
1663
1664         Invoke WebCore::prefetchDNS() on host names that appear in
1665         in the href of hyperlinks and <link rel="dns-prefetch">. This 
1666         can be used to implement DNS prefetching.
1667
1668         * WebCore.vcproj/WebCore.vcproj:
1669         * WebCore.xcodeproj/project.pbxproj:
1670         * dom/Document.cpp:
1671         (WebCore::Document::Document):
1672         (WebCore::Document::processHttpEquiv):
1673         (WebCore::Document::setSecurityOrigin):
1674         (WebCore::Document::initDNSPrefetch):
1675         (WebCore::Document::parseDNSPrefetchControlHeader):
1676         * dom/Document.h:
1677         (WebCore::Document::isDNSPrefetchEnabled):
1678         * html/HTMLAnchorElement.cpp:
1679         (WebCore::HTMLAnchorElement::parseMappedAttribute):
1680         * html/HTMLLinkElement.cpp:
1681         (WebCore::HTMLLinkElement::HTMLLinkElement):
1682         (WebCore::HTMLLinkElement::parseMappedAttribute):
1683         (WebCore::HTMLLinkElement::tokenizeRelAttribute):
1684         (WebCore::HTMLLinkElement::process):
1685         * html/HTMLLinkElement.h:
1686         * html/PreloadScanner.cpp:
1687         (WebCore::PreloadScanner::processAttribute):
1688         * loader/FrameLoader.cpp:
1689         (WebCore::FrameLoader::begin):
1690         * platform/gtk/TemporaryLinkStubs.cpp:
1691         (WebCore::prefetchDNS):
1692         * platform/network/DNS.h: Added.
1693         * platform/network/cf/DNSCFNet.cpp: Added.
1694         (WebCore::prefetchDNS):
1695         * platform/qt/TemporaryLinkStubs.cpp:
1696         (WebCore::prefetchDNS):
1697         * platform/wx/TemporaryLinkStubs.cpp:
1698         (WebCore::prefetchDNS):
1699
1700 2008-09-18  David Hyatt  <hyatt@apple.com>
1701
1702         Eliminate the convertToScreenCoordinate method on Widget, since
1703         ScrollView has redundant methods that already do the same thing.
1704
1705         Reviewed by Sam Weinig
1706
1707         * editing/mac/SelectionControllerMac.mm:
1708         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
1709         * platform/Widget.h:
1710         * platform/mac/WidgetMac.mm:
1711         (WebCore::Widget::containingWindow):
1712
1713 2008-09-18  David Hyatt  <hyatt@apple.com>
1714
1715         Move to only one constructor for Widgets.  Rename data to m_data and make
1716         it have an #ifdef only for platforms that have platform-specific data (Mac
1717         and Gtk).
1718
1719         Reviewed by Sam Weinig
1720
1721         * WebCore.base.exp:
1722         * platform/Widget.cpp:
1723         (WebCore::Widget::init):
1724         * platform/Widget.h:
1725         * platform/gtk/WidgetGtk.cpp:
1726         (WebCore::Widget::Widget):
1727         (WebCore::Widget::~Widget):
1728         (WebCore::Widget::cursor):
1729         (WebCore::Widget::setCursor):
1730         * platform/mac/WidgetMac.mm:
1731         (WebCore::Widget::Widget):
1732         (WebCore::Widget::~Widget):
1733         (WebCore::Widget::addToSuperview):
1734         (WebCore::Widget::removeFromSuperview):
1735         (WebCore::Widget::beforeMouseDown):
1736         (WebCore::Widget::afterMouseDown):
1737         * platform/qt/WidgetQt.cpp:
1738         (WebCore::Widget::Widget):
1739         * platform/win/WidgetWin.cpp:
1740         (WebCore::Widget::Widget):
1741         * platform/wx/WidgetWx.cpp:
1742         (WebCore::Widget::Widget):
1743
1744 2008-09-18  David Hyatt  <hyatt@apple.com>
1745
1746         Move Qt's isNPAPIPlugin boolean from Widget down to PluginView, since there
1747         was no reason for it to be on Widget.  This change eliminates Qt ifdefs
1748         from Widget.
1749
1750         Reviewed by Sam Weinig
1751
1752         * bindings/js/ScriptControllerQt.cpp:
1753         (WebCore::ScriptController::createScriptInstanceForWidget):
1754         * platform/qt/WidgetQt.cpp:
1755         (WebCore::WidgetPrivate::WidgetPrivate):
1756         (WebCore::WidgetPrivate::~WidgetPrivate):
1757         (WebCore::Widget::Widget):
1758         (WebCore::Widget::~Widget):
1759         * plugins/PluginView.cpp:
1760         (WebCore::PluginView::PluginView):
1761         * plugins/PluginView.h:
1762         (WebCore::PluginView::isNPAPIPlugin):
1763         (WebCore::PluginView::setIsNPAPIPlugin):
1764
1765 2008-09-18  David Hyatt  <hyatt@apple.com>
1766
1767         Make geometryChanged() cross-platform on Widget.  GTK and WIN platform
1768         ifdefs are now gone from Widget!
1769
1770         Reviewed by Sam Weinig
1771
1772         * platform/Widget.h:
1773         (WebCore::Widget::geometryChanged):
1774         * platform/gtk/WidgetGtk.cpp:
1775         * platform/qt/WidgetQt.cpp:
1776
1777 2008-09-18  David Hyatt  <hyatt@apple.com>
1778
1779         Consolidate convertTo/FromContainingWindow methods so that all platforms
1780         but Mac share the same code.
1781
1782         Move convertSelfToChild and convertChildToSelf to ScrollView, since
1783         Widget should know nothing about children.  Make the methods cross-platform
1784         on ScrollView.
1785
1786         Reviewed by Sam Weinig
1787
1788         * platform/ScrollView.h:
1789         (WebCore::ScrollView::convertChildToSelf):
1790         (WebCore::ScrollView::convertSelfToChild):
1791         * platform/Widget.cpp:
1792         (WebCore::Widget::convertToContainingWindow):
1793         (WebCore::Widget::convertFromContainingWindow):
1794         * platform/Widget.h:
1795         (WebCore::Widget::geometryChanged):
1796         * platform/gtk/ScrollViewGtk.cpp:
1797         (WebCore::ScrollView::isScrollViewScrollbar):
1798         * platform/gtk/WidgetGtk.cpp:
1799         * platform/mac/ScrollViewMac.mm:
1800         (WebCore::ScrollView::isScrollViewScrollbar):
1801         * platform/mac/WidgetMac.mm:
1802         * platform/qt/ScrollViewQt.cpp:
1803         (WebCore::ScrollView::isScrollViewScrollbar):
1804         * platform/qt/WidgetQt.cpp:
1805         * platform/win/ScrollViewWin.cpp:
1806         (WebCore::ScrollView::isScrollViewScrollbar):
1807         * platform/win/WidgetWin.cpp:
1808
1809 2008-09-18  David Hyatt  <hyatt@apple.com>
1810
1811         Make the conversion methods that go to and from some containingWindow
1812         cross-platform.  Implement them on Mac.
1813
1814         Reviewed by Sam Weinig
1815
1816         * platform/Widget.h:
1817         (WebCore::Widget::setContainingWindow):
1818         * platform/mac/WidgetMac.mm:
1819         (WebCore::Widget::convertFromContainingWindow):
1820         (WebCore::Widget::convertToContainingWindow):
1821
1822 2008-09-18  Sam Weinig  <sam@webkit.org>
1823
1824         Rubber-stamped by David "Yeah-yeah" Hyatt.
1825
1826         Cleanup RenderStyle.
1827
1828         * WebCore.xcodeproj/project.pbxproj:
1829         * rendering/style/CounterContent.h:
1830         * rendering/style/RenderStyle.cpp:
1831         * rendering/style/RenderStyle.h:
1832
1833 2008-09-18  Chris Marrin  <cmarrin@apple.com>
1834
1835         Reviewed by Sam Weinig
1836
1837         Fixed https://bugs.webkit.org/show_bug.cgi?id=20908
1838         Now TransformOperations and AnimationList no longer
1839         inherit from Vector<> but rather have API to access.
1840
1841         * css/CSSComputedStyleDeclaration.cpp:
1842         (WebCore::computedTransform):
1843         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1844         * css/CSSStyleSelector.cpp:
1845         (WebCore::CSSStyleSelector::createTransformOperations):
1846         * page/animation/AnimationBase.cpp:
1847         (WebCore::blendFunc):
1848         * page/animation/CompositeAnimation.cpp:
1849         (WebCore::CompositeAnimation::updateTransitions):
1850         (WebCore::CompositeAnimation::updateKeyframeAnimations):
1851         (WebCore::CompositeAnimation::animate):
1852         * page/animation/ImplicitAnimation.cpp:
1853         (WebCore::ImplicitAnimation::validateTransformFunctionList):
1854         * page/animation/KeyframeAnimation.cpp:
1855         (WebCore::KeyframeAnimation::validateTransformFunctionList):
1856         * rendering/RenderLayer.cpp:
1857         (WebCore::RenderLayer::updateReflectionStyle):
1858         * rendering/style/AnimationList.cpp:
1859         (WebCore::AnimationList::operator==):
1860         * rendering/style/AnimationList.h:
1861         (WebCore::AnimationList::operator!=):
1862         (WebCore::AnimationList::size):
1863         (WebCore::AnimationList::isEmpty):
1864         (WebCore::AnimationList::resize):
1865         (WebCore::AnimationList::remove):
1866         (WebCore::AnimationList::append):
1867         (WebCore::AnimationList::animation):
1868         * rendering/style/RenderStyle.cpp:
1869         (WebCore::StyleRareNonInheritedData::updateKeyframes):
1870         (WebCore::RenderStyle::applyTransform):
1871         (WebCore::RenderStyle::adjustAnimations):
1872         (WebCore::RenderStyle::adjustTransitions):
1873         (WebCore::RenderStyle::transitionForProperty):
1874         * rendering/style/RenderStyle.h:
1875         (WebCore::RenderStyle::hasTransform):
1876         * rendering/style/TransformOperations.cpp:
1877         (WebCore::TransformOperations::TransformOperations):
1878         (WebCore::TransformOperations::operator==):
1879         * rendering/style/TransformOperations.h:
1880         (WebCore::TransformOperations::apply):
1881         (WebCore::TransformOperations::operations):
1882
1883 2008-09-18  Holger Hans Peter Freyther  <zecke@selfish.org>
1884
1885         Build fix.
1886
1887         [qt] Build fixes after the Widget/ScrollView cleanup
1888         topLevel() is now root()
1889
1890
1891         * platform/qt/ScrollViewQt.cpp:
1892         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
1893         (WebCore::ScrollView::addChild):
1894         (WebCore::ScrollView::removeChild):
1895
1896 2008-09-18  Holger Hans Peter Freyther  <zecke@selfish.org>
1897
1898         Reviewed by Mark Rowe.
1899
1900         https://bugs.webkit.org/show_bug.cgi?id=20437
1901
1902         XMLTokenizer.cpp used to contain two different implementations. One was using
1903         libxml2 and the other was using the Qt XML StreamReader. Clean up the code by
1904         separating the two implementations from each other.
1905         Common code and some small bits are kept inside the XMLTokenizer.cpp, the Qt code
1906         was moved to XMLTokenizerQt.cpp and the Libxml2 based code was moved to
1907         XMLTokenizerLibxml2.cpp. There should be no functional changes.
1908
1909         Attempt to add XMLTokenizerLibxml2.cpp to every buildsystem so the build continues
1910         to work.
1911
1912         * GNUmakefile.am:
1913         * WebCore.pro:
1914         * WebCore.vcproj/WebCore.vcproj:
1915         * WebCore.xcodeproj/project.pbxproj:
1916         * WebCoreSources.bkl:
1917         * dom/XMLTokenizer.cpp:
1918         (WebCore::isScriptElement):
1919         (WebCore::castToScriptElement):
1920         (WebCore::XMLTokenizer::setCurrentNode):
1921         (WebCore::XMLTokenizer::write):
1922         (WebCore::XMLTokenizer::eventuallyMarkAsParserCreated):
1923         (WebCore::XMLTokenizer::enterText):
1924         (WebCore::toString):
1925         (WebCore::XMLTokenizer::exitText):
1926         (WebCore::XMLTokenizer::end):
1927         (WebCore::XMLTokenizer::insertErrorMessageBlock):
1928         * dom/XMLTokenizer.h:
1929         (WebCore::XMLTokenizer::wellFormed):
1930         * dom/XMLTokenizerLibxml2.cpp: Copied from WebCore/dom/XMLTokenizer.cpp.
1931         (WebCore::createMemoryParser):
1932         (WebCore::XMLTokenizer::XMLTokenizer):
1933         (WebCore::XMLTokenizer::~XMLTokenizer):
1934         (WebCore::XMLTokenizer::doWrite):
1935         (WebCore::ignorableWhitespaceHandler):
1936         (WebCore::XMLTokenizer::initializeParserContext):
1937         (WebCore::XMLTokenizer::doEnd):
1938         (WebCore::XMLTokenizer::lineNumber):
1939         (WebCore::XMLTokenizer::columnNumber):
1940         (WebCore::XMLTokenizer::stopParsing):
1941         (WebCore::XMLTokenizer::resumeParsing):
1942         (WebCore::parseXMLDocumentFragment):
1943         (WebCore::attributesStartElementNsHandler):
1944         (WebCore::parseAttributes):
1945         * dom/XMLTokenizerQt.cpp: Copied from WebCore/dom/XMLTokenizer.cpp.
1946         (WebCore::EntityResolver::resolveUndeclaredEntity):
1947         (WebCore::XMLTokenizer::XMLTokenizer):
1948         (WebCore::XMLTokenizer::~XMLTokenizer):
1949         (WebCore::XMLTokenizer::doWrite):
1950         (WebCore::XMLTokenizer::initializeParserContext):
1951         (WebCore::XMLTokenizer::doEnd):
1952         (WebCore::XMLTokenizer::lineNumber):
1953         (WebCore::XMLTokenizer::columnNumber):
1954         (WebCore::XMLTokenizer::stopParsing):
1955         (WebCore::XMLTokenizer::resumeParsing):
1956         (WebCore::parseXMLDocumentFragment):
1957         (WebCore::attributesStartElementNsHandler):
1958         (WebCore::parseAttributes):
1959         (WebCore::):
1960
1961 2008-09-18  Beth Dakin  <bdakin@apple.com>
1962
1963         Reviewed by Geoff Garen.
1964
1965         Build fix for non-Mac builds.
1966
1967         * css/CSSPrimitiveValue.cpp:
1968         (WebCore::CSSPrimitiveValue::cssText):
1969
1970 2008-09-18  Peter Kasting  <pkasting@google.com>
1971
1972         Reviewed by hyatt.  Landed by eseidel.
1973
1974         https://bugs.webkit.org/show_bug.cgi?id=20745
1975         Animated GIFs do not animate properly with (at least) CG.
1976
1977         * WebCore\platform\graphics\BitmapImage.cpp:
1978         * WebCore\platform\graphics\BitmapImage.h:
1979         * WebCore\platform\graphics\cairo\ImageCairo.cpp:
1980         * WebCore\platform\graphics\cg\ImageCG.cpp:
1981         * WebCore\platform\graphics\qt\ImageQt.cpp:
1982         * WebCore\platform\graphics\wx\ImageWx.cpp:
1983
1984 2008-09-18  Chris Fleizach  <cfleizach@apple.com>
1985
1986         Reviewed by Beth Dakin
1987
1988         <rdar://problem/6224222> AX: should not expose a <table> as an AXTable if ARIA 
1989         role specifies otherwise
1990
1991         If a <table> isn't an AXTable, the rows and cells should default to AccessibilityRenderObject
1992
1993         Test: accessibility/table-with-aria-role.html
1994
1995         * page/AccessibilityTable.cpp:
1996         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
1997         (WebCore::AccessibilityTable::addChildren):
1998         (WebCore::AccessibilityTable::roleValue):
1999         (WebCore::AccessibilityTable::accessibilityIsIgnored):
2000         (WebCore::AccessibilityTable::title):
2001         * page/AccessibilityTableCell.cpp:
2002         (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
2003         (WebCore::AccessibilityTableCell::isTableCell):
2004         (WebCore::AccessibilityTableCell::roleValue):
2005         * page/AccessibilityTableCell.h:
2006         * page/AccessibilityTableRow.cpp:
2007         (WebCore::AccessibilityTableRow::roleValue):
2008         (WebCore::AccessibilityTableRow::isTableRow):
2009         (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
2010         * page/AccessibilityTableRow.h:
2011
2012 2008-09-18  Steve Falkenburg  <sfalken@apple.com>
2013
2014         Use higher-resolution timers on all variants of Windows.
2015         
2016         Reviewed by Darin Adler.
2017
2018         * platform/win/SharedTimerWin.cpp:
2019         (WebCore::setSharedTimerFireTime):
2020
2021
2022 2008-09-18  David Hyatt  <hyatt@apple.com>
2023
2024         Make containingWindow() and setContainingWindow() cross-platform.
2025         Add a root() function cross-platform so Qt doesn't have to
2026         define its own.
2027
2028         Reviewed by Darin Adler
2029
2030         * platform/Widget.cpp:
2031         (WebCore::Widget::root):
2032         * platform/Widget.h:
2033         (WebCore::Widget::setContainingWindow):
2034         * platform/gtk/WidgetGtk.cpp:
2035         (WebCore::Widget::Widget):
2036         (WebCore::Widget::containingWindow):
2037         * platform/mac/ScrollViewMac.mm:
2038         (WebCore::ScrollView::addChild):
2039         (WebCore::ScrollView::removeChild):
2040         * platform/mac/WidgetMac.mm:
2041         (WebCore::Widget::containingWindow):
2042         * platform/qt/WidgetQt.cpp:
2043         (WebCore::Widget::invalidateRect):
2044         (WebCore::Widget::containingWindow):
2045         * platform/win/WidgetWin.cpp:
2046         (WebCore::Widget::Widget):
2047         (WebCore::Widget::~Widget):
2048         (WebCore::Widget::containingWindow):
2049
2050 2008-09-18  Beth Dakin  <bdakin@apple.com>
2051
2052         Reviewed by Dave Hyatt.
2053
2054         Fix for https://bugs.webkit.org/show_bug.cgi?id=20515 Crash upon 
2055         parsing CSS: unicode-range: searchfield-cancel-buttonpt=-webkit-
2056         dashboard-region=
2057         and corresponding: <rdar://problem/6174100>
2058
2059         This patch makes CSSParserValue::createCSSValue handle unknown 
2060         identifiers.
2061
2062         * css/CSSParserValues.cpp:
2063         (WebCore::CSSParserValue::createCSSValue): If we have an identifier 
2064         with no id (an unknown identifier) create a CSSPrimitiveValue of 
2065         type CSS_PARSER_IDENTIFIER
2066         * css/CSSPrimitiveValue.cpp:
2067         (WebCore::CSSPrimitiveValue::cssText):
2068         (WebCore::CSSPrimitiveValue::parserValue):
2069         * css/CSSPrimitiveValue.h:
2070         (WebCore::CSSPrimitiveValue::):
2071
2072 2008-09-18  Sam Weinig  <sam@webkit.org>
2073
2074         Rubber-stamped by David "I'd prefer not" Hyatt.
2075
2076         More the remaining class out of RenderStyle.h/cpp
2077
2078         * GNUmakefile.am:
2079         * WebCore.pro:
2080         * WebCore.vcproj/WebCore.vcproj:
2081         * WebCore.xcodeproj/project.pbxproj:
2082         * WebCoreSources.bkl:
2083         * rendering/style/CursorData.h: Copied from rendering/style/RenderStyle.h.
2084         (WebCore::CursorData::CursorData):
2085         (WebCore::CursorData::operator==):
2086         (WebCore::CursorData::operator!=):
2087         * rendering/style/CursorList.h: Copied from rendering/style/RenderStyle.h.
2088         (WebCore::CursorList::operator[]):
2089         (WebCore::CursorList::CursorList):
2090         * rendering/style/RenderStyle.cpp:
2091         * rendering/style/RenderStyle.h:
2092         (WebCore::RenderStyle::deref):
2093         (WebCore::RenderStyle::hasOneRef):
2094         (WebCore::RenderStyle::InheritedFlags::operator!=):
2095         (WebCore::RenderStyle::NonInheritedFlags::operator!=):
2096         (WebCore::RenderStyle::hasBackground):
2097         (WebCore::RenderStyle::outlineWidth):
2098         (WebCore::RenderStyle::autoWrap):
2099         (WebCore::RenderStyle::preserveNewline):
2100         (WebCore::RenderStyle::collapseWhiteSpace):
2101         (WebCore::RenderStyle::isCollapsibleWhiteSpace):
2102         (WebCore::RenderStyle::breakOnlyAfterWhiteSpace):
2103         (WebCore::RenderStyle::breakWords):
2104         (WebCore::RenderStyle::outlineOffset):
2105         (WebCore::RenderStyle::setLeft):
2106         (WebCore::RenderStyle::setRight):
2107         (WebCore::RenderStyle::setTop):
2108         (WebCore::RenderStyle::setBottom):
2109         (WebCore::RenderStyle::setDashboardRegion):
2110         (WebCore::RenderStyle::setBackgroundColor):
2111         (WebCore::RenderStyle::setBorderImage):
2112         (WebCore::RenderStyle::setBorderRadius):
2113         (WebCore::RenderStyle::setFontDescription):
2114         (WebCore::RenderStyle::adjustBackgroundLayers):
2115         (WebCore::RenderStyle::adjustMaskLayers):
2116         (WebCore::RenderStyle::deleteBindingURIs):
2117         (WebCore::RenderStyle::inheritBindingURIs):
2118         (WebCore::RenderStyle::isDisplayReplacedType):
2119         (WebCore::RenderStyle::isDisplayInlineType):
2120         (WebCore::RenderStyle::isOriginalDisplayInlineType):
2121         * rendering/style/StyleInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
2122         * rendering/style/StyleInheritedData.h: Copied from rendering/style/RenderStyle.h.
2123         (WebCore::StyleInheritedData::operator!=):
2124         * rendering/style/StyleRareInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
2125         * rendering/style/StyleRareInheritedData.h: Copied from rendering/style/RenderStyle.h.
2126         (WebCore::StyleRareInheritedData::operator!=):
2127         * rendering/style/StyleRareNonInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
2128         * rendering/style/StyleRareNonInheritedData.h: Copied from rendering/style/RenderStyle.h.
2129         * rendering/style/StyleReflection.h: Copied from rendering/style/RenderStyle.h.
2130
2131 2008-09-18  David Hyatt  <hyatt@apple.com>
2132
2133         Move the concept of suppression invalidation on Widgets to Scrollbar
2134         instead.  Since this is only used by Scrollbars, there is no need for
2135         it to be on Widget.
2136
2137         Reviewed by Sam Weinig
2138
2139         * platform/Scrollbar.cpp:
2140         (WebCore::Scrollbar::Scrollbar):
2141         (WebCore::Scrollbar::invalidateRect):
2142         * platform/Scrollbar.h:
2143         (WebCore::Scrollbar::suppressInvalidation):
2144         (WebCore::Scrollbar::setSuppressInvalidation):
2145         * platform/Widget.h:
2146         * platform/gtk/WidgetGtk.cpp:
2147         (WebCore::Widget::Widget):
2148         (WebCore::Widget::invalidateRect):
2149         * platform/qt/WidgetQt.cpp:
2150         (WebCore::WidgetPrivate::WidgetPrivate):
2151         (WebCore::Widget::invalidateRect):
2152         * platform/win/WidgetWin.cpp:
2153         (WebCore::Widget::Widget):
2154         (WebCore::Widget::invalidateRect):
2155
2156 2008-09-18  David Hyatt  <hyatt@apple.com>
2157
2158         Make invalidate() on Widget non-virtual and make it just call
2159         invalidateRect() on the boundsGeometry() of the Widget.
2160
2161         Reviewed by Dan Bernstein
2162
2163         * platform/Widget.h:
2164         (WebCore::Widget::boundsGeometry):
2165         (WebCore::Widget::invalidate):
2166         * platform/gtk/WidgetGtk.cpp:
2167         * platform/mac/WidgetMac.mm:
2168         * platform/qt/WidgetQt.cpp:
2169         * platform/win/WidgetWin.cpp:
2170         * platform/wx/WidgetWx.cpp:
2171
2172 2008-09-18  Sam Weinig  <sam@webkit.org>
2173
2174         Rubber-stamped in exile by David Hyatt.
2175
2176         Split Animation, AnimationList, BindingURI, ContentData, CounterContent,
2177         KeyframeList, ShadowData, StyleFlexibleBoxData and TimingFunction out of
2178         RenderStyle.h/cpp
2179
2180         * GNUmakefile.am:
2181         * WebCore.pro:
2182         * WebCore.vcproj/WebCore.vcproj:
2183         * WebCore.xcodeproj/project.pbxproj:
2184         * WebCoreSources.bkl:
2185         * css/CSSStyleSelector.cpp:
2186         * css/CSSStyleSelector.h:
2187         * page/animation/CompositeAnimation.cpp:
2188         * page/animation/KeyframeAnimation.cpp:
2189         * page/animation/KeyframeAnimation.h:
2190         * rendering/RenderCounter.h:
2191         * rendering/style/Animation.cpp: Copied from rendering/style/RenderStyle.cpp.
2192         (WebCore::Animation::~Animation):
2193         (WebCore::Animation::animationsMatch):
2194         (WebCore::Animation::keyframeList):
2195         (WebCore::Animation::setAnimationKeyframe):
2196         * rendering/style/Animation.h: Copied from rendering/style/RenderStyle.h.
2197         * rendering/style/AnimationList.cpp: Copied from rendering/style/RenderStyle.cpp.
2198         * rendering/style/AnimationList.h: Copied from rendering/style/RenderStyle.h.
2199         * rendering/style/BindingURI.cpp: Copied from rendering/style/RenderStyle.cpp.
2200         * rendering/style/BindingURI.h: Copied from rendering/style/RenderStyle.h.
2201         (WebCore::BindingURI::operator!=):
2202         * rendering/style/ContentData.cpp: Copied from rendering/style/RenderStyle.cpp.
2203         * rendering/style/ContentData.h: Copied from rendering/style/RenderStyle.h.
2204         (WebCore::ContentData::ContentData):
2205         (WebCore::ContentData::~ContentData):
2206         * rendering/style/CounterContent.h: Copied from rendering/style/RenderStyle.h.
2207         (WebCore::CounterContent::CounterContent):
2208         * rendering/style/CounterDirectives.cpp: Copied from rendering/style/RenderStyle.cpp.
2209         * rendering/style/CounterDirectives.h: Copied from rendering/style/RenderStyle.h.
2210         (WebCore::CounterDirectives::CounterDirectives):
2211         * rendering/style/KeyframeList.cpp: Copied from rendering/style/RenderStyle.cpp.
2212         (WebCore::KeyframeList::insert):
2213         * rendering/style/KeyframeList.h: Copied from rendering/style/RenderStyle.h.
2214         (WebCore::KeyframeValue::KeyframeValue):
2215         (WebCore::KeyframeList::create):
2216         (WebCore::KeyframeList::KeyframeList):
2217         * rendering/style/RenderStyle.cpp:
2218         * rendering/style/RenderStyle.h:
2219         * rendering/style/ShadowData.cpp: Copied from rendering/style/RenderStyle.cpp.
2220         * rendering/style/ShadowData.h: Copied from rendering/style/RenderStyle.h.
2221         (WebCore::ShadowData::ShadowData):
2222         (WebCore::ShadowData::~ShadowData):
2223         (WebCore::ShadowData::operator!=):
2224         * rendering/style/StyleFlexibleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
2225         * rendering/style/StyleFlexibleBoxData.h: Copied from rendering/style/RenderStyle.h.
2226         (WebCore::StyleFlexibleBoxData::operator!=):
2227         * rendering/style/TimingFunction.h: Copied from rendering/style/RenderStyle.h.
2228         (WebCore::TimingFunction::TimingFunction):
2229         (WebCore::TimingFunction::operator==):
2230
2231 2008-09-18  Adele Peterson  <adele@apple.com>
2232
2233         Reviewed by Dan Bernstein.
2234
2235         Fix RenderStyle leaks.
2236
2237         * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::createSubtreeIfNeeded):
2238
2239 2008-09-18  Kevin McCullough  <kmccullough@apple.com>
2240
2241         Accidentally checked in code.
2242
2243         * html/HTMLElementFactory.cpp:
2244         (WebCore::frameConstructor):
2245         (WebCore::iframeConstructor):
2246
2247 2008-09-18  Kevin McCullough  <kmccullough@apple.com>
2248
2249         Reviewed by Tim.
2250
2251         <rdar://problem/5722310> gracefully handle too many console messages
2252         (20904)
2253         - Keep track of the most previous message and then compare it to the 
2254         subsequent messages as they come in.  If there are multiple of the same
2255         message create a count that indicates the current number.
2256
2257         * manual-tests/inspector/multiple-console-messages.html: Added.
2258         * page/inspector/Console.js:
2259         * page/inspector/inspector.css:
2260
2261 2008-09-18  Jonathon Jongsma  <jonathon@quotidian.org>
2262
2263         Reviewed by Alp Toker
2264
2265         https://bugs.webkit.org/show_bug.cgi?id=20830
2266         [GTK] Don't use deprecated pango API
2267
2268         Replace deprecated pango functions with non-deprecated ones for newer
2269         versions of pango
2270
2271         * platform/graphics/gtk/FontGtk.cpp:
2272         (WebCore::getDefaultPangoLayout):
2273         * platform/graphics/gtk/FontPlatformDataPango.cpp:
2274         (WebCore::FontPlatformData::FontPlatformData):
2275
2276 2008-09-18  Alp Toker  <alp@nuanti.com>
2277
2278         Build fix for r36587. Add new sources (and sort the lists).
2279
2280         * GNUmakefile.am:
2281
2282 2008-09-17  Sam Weinig  <sam@webkit.org>
2283
2284         Fix Windows build.
2285
2286         * WebCore.vcproj/WebCore.vcproj:
2287
2288 2008-09-17  David Hyatt  <hyatt@apple.com>
2289
2290         Switch back to having frameGeometry be virtual in order to keep Mac
2291         the way it used to be.
2292
2293         Reviewed by Sam Weinig
2294
2295         * WebCore.base.exp:
2296         * platform/Widget.cpp:
2297         (WebCore::Widget::setParent):
2298         * platform/Widget.h:
2299         * platform/gtk/WidgetGtk.cpp:
2300         (WebCore::Widget::frameGeometry):
2301         (WebCore::Widget::setFrameGeometry):
2302         * platform/mac/WidgetMac.mm:
2303         (WebCore::Widget::frameGeometry):
2304         (WebCore::Widget::setFrameGeometry):
2305         * platform/qt/WidgetQt.cpp:
2306         (WebCore::Widget::frameGeometry):
2307         (WebCore::Widget::setFrameGeometry):
2308         * platform/win/WidgetWin.cpp:
2309         (WebCore::Widget::frameGeometry):
2310         (WebCore::Widget::setFrameGeometry):
2311         * platform/wx/WidgetWx.cpp:
2312         (WebCore::Widget::frameGeometry):
2313         (WebCore::Widget::setFrameGeometry):
2314         * plugins/PluginView.cpp:
2315         (WebCore::PluginView::setFrameGeometry):
2316         (WebCore::PluginView::geometryChanged):
2317         * plugins/PluginView.h:
2318         * plugins/gtk/PluginViewGtk.cpp:
2319         (WebCore::PluginView::updatePluginWidget):
2320         * plugins/qt/PluginViewQt.cpp:
2321         (WebCore::PluginView::updatePluginWidget):
2322         * plugins/win/PluginViewWin.cpp:
2323         (WebCore::PluginView::updatePluginWidget):
2324
2325 2008-09-17  Sam Weinig  <sam@webkit.org>
2326
2327         Reviewed by Mark Rowe.
2328
2329         Fix assertion in DOMWindow::adjustWindowRect where we were passing
2330         in garbage values and were getting lucky that they were a not Nan.
2331
2332         * bindings/js/JSDOMWindowBase.cpp:
2333         (WebCore::windowProtoFuncOpen):
2334
2335 2008-09-17  Sam Weinig  <sam@webkit.org>
2336
2337         Fix gtk build.
2338
2339         * rendering/style/MatrixTransformOperation.cpp:
2340
2341 2008-09-17  Sam Weinig  <sam@webkit.org>
2342
2343         Rubber-stamped with love by David Hyatt.
2344
2345         Split IdentityTransformOperation, MatrixTransformOperation, RotateTransformOperation, 
2346         ScaleTransformOperation, SkewTransformOperation, StyleTransformData, TransformOperation,
2347         TransformOperations and TranslateTransformOperation out of RenderStyle.h/cpp
2348
2349         * GNUmakefile.am:
2350         * WebCore.pro:
2351         * WebCore.vcproj/WebCore.vcproj:
2352         * WebCore.xcodeproj/project.pbxproj:
2353         * WebCoreSources.bkl:
2354         * css/CSSStyleSelector.cpp:
2355         * page/animation/AnimationBase.cpp:
2356         (WebCore::solveEpsilon):
2357         * rendering/RenderLayer.cpp:
2358         * rendering/style/IdentityTransformOperation.h: Copied from rendering/style/RenderStyle.h.
2359         * rendering/style/MatrixTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
2360         * rendering/style/MatrixTransformOperation.h: Copied from rendering/style/RenderStyle.h.
2361         (WebCore::MatrixTransformOperation::MatrixTransformOperation):
2362         * rendering/style/RenderStyle.cpp:
2363         * rendering/style/RenderStyle.h:
2364         * rendering/style/RotateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
2365         * rendering/style/RotateTransformOperation.h: Copied from rendering/style/RenderStyle.h.
2366         (WebCore::RotateTransformOperation::RotateTransformOperation):
2367         * rendering/style/ScaleTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
2368         * rendering/style/ScaleTransformOperation.h: Copied from rendering/style/RenderStyle.h.
2369         (WebCore::ScaleTransformOperation::ScaleTransformOperation):
2370         * rendering/style/SkewTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
2371         * rendering/style/SkewTransformOperation.h: Copied from rendering/style/RenderStyle.h.
2372         (WebCore::SkewTransformOperation::SkewTransformOperation):
2373         * rendering/style/StyleTransformData.cpp: Copied from rendering/style/RenderStyle.cpp.
2374         * rendering/style/StyleTransformData.h: Copied from rendering/style/RenderStyle.h.
2375         (WebCore::StyleTransformData::operator!=):
2376         * rendering/style/TransformOperation.h: Copied from rendering/style/RenderStyle.h.
2377         (WebCore::TransformOperation::):
2378         * rendering/style/TransformOperations.cpp: Copied from rendering/style/RenderStyle.cpp.
2379         (WebCore::TransformOperations::TransformOperations):
2380         * rendering/style/TransformOperations.h: Copied from rendering/style/RenderStyle.h.
2381         (WebCore::TransformOperations::operator!=):
2382         * rendering/style/TranslateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
2383         * rendering/style/TranslateTransformOperation.h: Copied from rendering/style/RenderStyle.h.
2384         (WebCore::TranslateTransformOperation::TranslateTransformOperation):
2385
2386 2008-09-17  Mark Rowe  <mrowe@apple.com>
2387
2388         Build fix.
2389
2390         * rendering/style/StyleDashboardRegion.h:  PlatformString.h rather than String.h.
2391
2392 2008-09-17  David Hyatt  <hyatt@apple.com>
2393
2394         (1) Inline a bunch of methods for accessing frame geometry.
2395         (2) Make sure frameGeometry() works even when you have no underlying
2396         native widget.
2397         (3) Cache a frame geometry rect cross-platform (even for widgets that
2398         have underlying native widgets.
2399         (4) PluginView's updateWindow call is now a virtual function on Widget.
2400
2401         Reviewed by Sam Weinig
2402
2403         * ChangeLog:
2404         * WebCore.base.exp:
2405         * platform/Widget.cpp:
2406         (WebCore::Widget::setFrameGeometry):
2407         * platform/Widget.h:
2408         (WebCore::Widget::x):
2409         (WebCore::Widget::y):
2410         (WebCore::Widget::width):
2411         (WebCore::Widget::height):
2412         (WebCore::Widget::size):
2413         (WebCore::Widget::pos):
2414         (WebCore::Widget::frameGeometry):
2415         (WebCore::Widget::resize):
2416         (WebCore::Widget::move):
2417         (WebCore::Widget::isFrameView):
2418         (WebCore::Widget::windowClipRect):
2419         * platform/mac/WidgetMac.mm:
2420         (WebCore::Widget::~Widget):
2421         (WebCore::Widget::updatePlatformWidgetFrameGeometry):
2422         * platform/win/WidgetWin.cpp:
2423         (WebCore::Widget::updatePlatformWidgetFrameGeometry):
2424         * plugins/PluginView.cpp:
2425         (WebCore::PluginView::setFrameGeometry):
2426         (WebCore::PluginView::geometryChanged):
2427         * plugins/PluginView.h:
2428         * plugins/gtk/PluginViewGtk.cpp:
2429         (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
2430         * plugins/qt/PluginViewQt.cpp:
2431         (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
2432         * plugins/win/PluginViewWin.cpp:
2433         (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
2434         * plugins/wx/PluginViewWx.cpp:
2435
2436 2008-09-17  Sam Weinig  <sam@webkit.org>
2437
2438         Reviewed by David "Waterman" Hyatt.
2439
2440         Fix a leak of NSViews in WidgetMac.mm.
2441
2442         * platform/mac/WidgetMac.mm:
2443         (WebCore::Widget::~Widget):
2444
2445 2008-09-17  Sam Weinig  <sam@webkit.org>
2446
2447         Rubber-stamped by David Waterman Hyatt.
2448
2449         Split FillLayer, StyleBackgroundData, StyleBoxData, StyleDashboardRegion, StyleMarqueeData
2450         StyleMultiColData and StyleVisualData out of RenderStyle.h/cpp
2451
2452         * GNUmakefile.am:
2453         * WebCore.pro:
2454         * WebCore.vcproj/WebCore.vcproj:
2455         * WebCore.xcodeproj/project.pbxproj:
2456         * WebCoreSources.bkl:
2457         * rendering/style/FillLayer.cpp: Copied from rendering/style/RenderStyle.cpp.
2458         * rendering/style/FillLayer.h: Copied from rendering/style/RenderStyle.h.
2459         (WebCore::FillLayer::operator!=):
2460         (WebCore::FillLayer::hasImage):
2461         (WebCore::FillLayer::hasFixedImage):
2462         * rendering/style/RenderStyle.cpp:
2463         * rendering/style/RenderStyle.h:
2464         * rendering/style/StyleBackgroundData.cpp: Copied from rendering/style/RenderStyle.cpp.
2465         (WebCore::StyleBackgroundData::StyleBackgroundData):
2466         * rendering/style/StyleBackgroundData.h: Copied from rendering/style/RenderStyle.h.
2467         (WebCore::StyleBackgroundData::~StyleBackgroundData):
2468         (WebCore::StyleBackgroundData::operator!=):
2469         * rendering/style/StyleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
2470         * rendering/style/StyleBoxData.h: Copied from rendering/style/RenderStyle.h.
2471         (WebCore::StyleBoxData::operator!=):
2472         * rendering/style/StyleDashboardRegion.h: Copied from rendering/style/RenderStyle.h.
2473         (WebCore::StyleDashboardRegion::operator!=):
2474         * rendering/style/StyleMarqueeData.cpp: Copied from rendering/style/RenderStyle.cpp.
2475         * rendering/style/StyleMarqueeData.h: Copied from rendering/style/RenderStyle.h.
2476         (WebCore::StyleMarqueeData::operator!=):
2477         * rendering/style/StyleMultiColData.cpp: Copied from rendering/style/RenderStyle.cpp.
2478         * rendering/style/StyleMultiColData.h: Copied from rendering/style/RenderStyle.h.
2479         (WebCore::StyleMultiColData::operator!=):
2480         (WebCore::StyleMultiColData::ruleWidth):
2481         * rendering/style/StyleVisualData.cpp: Copied from rendering/style/RenderStyle.cpp.
2482         * rendering/style/StyleVisualData.h: Copied from rendering/style/RenderStyle.h.
2483         (WebCore::StyleVisualData::operator==):
2484
2485 2008-09-17  David Hyatt  <hyatt@apple.com>
2486
2487         Remove WidgetClient from Widget.
2488
2489         Reviewed by Sam Weinig
2490
2491         * WebCore.xcodeproj/project.pbxproj:
2492         * platform/Widget.h:
2493         (WebCore::Widget::setClient):
2494         (WebCore::Widget::client):
2495         * platform/WidgetClient.h: Removed.
2496         * platform/gtk/WidgetGtk.cpp:
2497         * platform/mac/WidgetMac.mm:
2498         (WebCore::Widget::Widget):
2499         (WebCore::Widget::show):
2500         (WebCore::Widget::hide):
2501         * platform/qt/WidgetQt.cpp:
2502         (WebCore::WidgetPrivate::WidgetPrivate):
2503         * platform/win/WidgetWin.cpp:
2504         (WebCore::Widget::Widget):
2505         * platform/wx/WidgetWx.cpp:
2506         (WebCore::Widget::Widget):
2507
2508 2008-09-17  David Hyatt  <hyatt@apple.com>
2509
2510         Remove isEnabled/setEnabled from Widget.  The concept of being enabled now
2511         only applies to Scrollbars so the method has been moved there and made
2512         cross-platform.  Scrollbar subclasses that have a corresponding native
2513         widget can subclass setEnabled to change the enabled state of the native
2514         widget.
2515
2516         Reviewed by Sam Weinig & Darin Adler
2517
2518         * WebCore.base.exp:
2519         * platform/Scrollbar.cpp:
2520         (WebCore::Scrollbar::Scrollbar):
2521         * platform/Scrollbar.h:
2522         (WebCore::Scrollbar::enabled):
2523         (WebCore::Scrollbar::setEnabled):
2524         * platform/Widget.h:
2525         * platform/gtk/ScrollbarGtk.cpp:
2526         (ScrollbarGtk::setEnabled):
2527         * platform/gtk/ScrollbarGtk.h:
2528         * platform/gtk/WidgetGtk.cpp:
2529         * platform/mac/ScrollbarMac.h:
2530         * platform/mac/ScrollbarMac.mm:
2531         (WebCore::ScrollbarMac::scrollbarHit):
2532         (WebCore::ScrollbarMac::setEnabled):
2533         * platform/mac/WidgetMac.mm:
2534         * platform/qt/WidgetQt.cpp:
2535         (WebCore::WidgetPrivate::WidgetPrivate):
2536         * platform/win/WidgetWin.cpp:
2537         (WebCore::Widget::Widget):
2538         * platform/wx/WidgetWx.cpp:
2539
2540 2008-09-17  Sam Weinig  <sam@webkit.org>
2541
2542         Rubber-stamped by David Hyatt.
2543
2544         Split all RenderStyle enums into their own file.
2545
2546         * GNUmakefile.am:
2547         * WebCore.vcproj/WebCore.vcproj:
2548         * WebCore.xcodeproj/project.pbxproj:
2549         * rendering/style/BorderValue.h:
2550         * rendering/style/CollapsedBorderValue.h:
2551         * rendering/style/RenderStyle.h:
2552         * rendering/style/RenderStyleConstants.h: Copied from rendering/style/RenderStyle.h.
2553         (WebCore::):
2554         * rendering/style/StyleCachedImage.h:
2555         * rendering/style/StyleGeneratedImage.h:
2556         * rendering/style/StyleImage.h:
2557
2558 2008-09-17  Steve Falkenburg  <sfalken@apple.com>
2559
2560         Add back isFrameView check to fix failed assertion during scroll bar teardown.
2561         
2562         Reviewed by Dave Hyatt.
2563
2564         * platform/Scrollbar.cpp:
2565         (WebCore::Scrollbar::setParent):
2566
2567 2008-09-17  Brady Eidson  <beidson@apple.com>
2568
2569         Reviewed by Mac build fix
2570
2571         * WebCore.xcodeproj/project.pbxproj: Send appropriate headers to WebKit
2572
2573 2008-09-17  Steve Falkenburg  <sfalken@apple.com>
2574
2575         Fix build.
2576
2577         * platform/win/ScrollViewWin.cpp:
2578         (WebCore::ScrollView::setParentVisible):
2579         * plugins/win/PluginViewWin.cpp:
2580         (WebCore::PluginView::init):
2581
2582 2008-09-17  Holger Hans Peter Freyther  <zecke@selfish.org>
2583
2584         Reviewed by Simon.
2585
2586         [QtWebKit] Implement error handling in TextCodecQt::decode
2587         Use the QTextCodec parsing state to set the sawError out variable. This
2588         is needed to pass Test 70 of acid3. The test case for this bug is
2589         fast/encoding/invalid-xml.html that is now partially passed. To pass
2590         it completely the Qt text codecs need to be adjusted to have proper
2591         error handling.
2592
2593         * platform/text/qt/TextCodecQt.cpp:
2594         (WebCore::TextCodecQt::decode):
2595
2596 2008-09-17  Sam Weinig  <sam@webkit.org>
2597
2598         Rubber-stamped by Dave Hyatt.
2599
2600         Split BorderData, BorderValue, CollapsedBorderValue, OutlineValue and StyleSurroundData
2601         out of RenderStyle.h/cpp
2602
2603         * GNUmakefile.am:
2604         * WebCore.pro:
2605         * WebCore.vcproj/WebCore.vcproj:
2606         * WebCore.xcodeproj/project.pbxproj:
2607         * WebCoreSources.bkl:
2608         * rendering/style/BorderData.h: Copied from rendering/style/RenderStyle.h.
2609         (WebCore::BorderData::hasBorderRadius):
2610         (WebCore::BorderData::borderLeftWidth):
2611         (WebCore::BorderData::borderRightWidth):
2612         (WebCore::BorderData::borderTopWidth):
2613         (WebCore::BorderData::borderBottomWidth):
2614         (WebCore::BorderData::operator!=):
2615         * rendering/style/BorderValue.h: Copied from rendering/style/RenderStyle.h.
2616         (WebCore::):
2617         (WebCore::BorderValue::BorderValue):
2618         (WebCore::BorderValue::nonZero):
2619         (WebCore::BorderValue::isTransparent):
2620         (WebCore::BorderValue::isVisible):
2621         * rendering/style/CollapsedBorderValue.h: Copied from rendering/style/RenderStyle.h.
2622         (WebCore::):
2623         (WebCore::CollapsedBorderValue::CollapsedBorderValue):
2624         (WebCore::CollapsedBorderValue::operator==):
2625         * rendering/style/OutlineValue.h: Copied from rendering/style/RenderStyle.h.
2626         (WebCore::OutlineValue::OutlineValue):
2627         * rendering/style/RenderStyle.cpp:
2628         * rendering/style/RenderStyle.h:
2629         * rendering/style/StyleSurroundData.cpp: Copied from rendering/style/RenderStyle.cpp.
2630         * rendering/style/StyleSurroundData.h: Copied from rendering/style/RenderStyle.h.
2631         (WebCore::StyleSurroundData::operator!=):
2632
2633 2008-09-17  Beth Dakin  <bdakin@apple.com>
2634
2635         Reviewed by Darin Adler.
2636
2637         This is a better fix for: Invalid CSS code crashes Safari
2638         https://bugs.webkit.org/show_bug.cgi?id=20512
2639
2640         The spec indicates that the only valid input for a counter is a 
2641         number or an identifier. So that is exactly what we allow.
2642
2643         * css/CSSParser.cpp:
2644         (WebCore::CSSParser::parseCounterContent):
2645
2646 2008-09-17  Alp Toker  <alp@nuanti.com>
2647
2648         GTK+ build fix. Adapt to use PlatformWidget functions.
2649
2650         * platform/gtk/ScrollViewGtk.cpp:
2651         (WebCore::ScrollViewScrollbar::geometryChanged):
2652         (WebCore::ScrollView::addChild):
2653         (WebCore::ScrollView::removeChild):
2654         * platform/gtk/ScrollbarGtk.cpp:
2655         (ScrollbarGtk::ScrollbarGtk):
2656         (ScrollbarGtk::~ScrollbarGtk):
2657         (ScrollbarGtk::geometryChanged):
2658
2659 2008-09-17  Sam Weinig  <sam@webkit.org>
2660
2661         Reviewed by Adele Peterson.
2662
2663         Patch for <rdar://problem/6133884> 
2664         Calling window.resizeTo() on a subframe shouldn't change the window size
2665
2666         Test: fast/dom/Window/window-resize-and-move-sub-frame.html
2667
2668         * page/DOMWindow.cpp:
2669         (WebCore::DOMWindow::moveBy):
2670         (WebCore::DOMWindow::moveTo):
2671         (WebCore::DOMWindow::resizeBy):
2672         (WebCore::DOMWindow::resizeTo):
2673
2674 2008-09-17  Beth Dakin  <bdakin@apple.com>
2675
2676         Reviewed by Adam Roben.
2677
2678         Fix for https://bugs.webkit.org/show_bug.cgi?id=20512 Invalid CSS 
2679         code crashes Safari 
2680         and corresponding: <rdar://problem/6173832>
2681
2682         Reading through the spec, it seems like a function is not valid 
2683         input for a counter. So this patch checks for that and bails in the 
2684         case of invalid input. 
2685
2686         * css/CSSParser.cpp:
2687         (WebCore::CSSParser::parseCounterContent):
2688
2689 2008-09-17  Greg Bolsinga  <bolsinga@apple.com>
2690
2691         Reviewed by Antti Koivisto.
2692
2693         Fix <rdar://problem/6227089> 
2694         Crash in WebCore::Frame::setNeedsReapplyStyles()
2695         
2696         View is null checked elsewhere too.
2697
2698         * page/Frame.cpp:
2699         (WebCore::Frame::setNeedsReapplyStyles):
2700
2701 2008-09-17  David Hyatt  <hyatt@apple.com>
2702
2703         Make the notion of having a native widget backing a Widget cross-platform.
2704         The PlatformWidget abstraction (which already existed) is used for this.
2705              Windows = HWND
2706              Qt = QWidget
2707              Mac = NSView
2708              wx = wxWindow
2709              Gtk = GtkWidget
2710
2711         There are new cross-platform methods that replace all of the unique
2712         platform-specific methods.
2713              platformWidget()
2714              setPlatformWidget()
2715
2716         For plugins, on every platform except Qt on Windows, the plugin's native
2717         widget is now stored in the Widget base class.  Since Qt on Windows uses
2718         HWNDs for plugins instead of QWidget, it is the only platform to keep the
2719         m_window variable in PluginView.
2720
2721         Reviewed by Sam Weinig
2722
2723         * WebCore.base.exp:
2724         * bindings/js/ScriptControllerMac.mm:
2725         (WebCore::ScriptController::createScriptInstanceForWidget):
2726         * page/mac/AccessibilityObjectWrapper.mm:
2727         (-[AccessibilityObjectWrapper attachmentView]):
2728         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2729         * page/mac/EventHandlerMac.mm:
2730         (WebCore::EventHandler::passMouseDownEventToWidget):
2731         (WebCore::EventHandler::mouseDownViewIfStillGood):
2732         (WebCore::EventHandler::passWheelEventToWidget):
2733         (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking):
2734         * platform/Widget.cpp:
2735         (WebCore::Widget::init):
2736         (WebCore::Widget::setParent):
2737         (WebCore::Widget::releasePlatformWidget):
2738         (WebCore::Widget::retainPlatformWidget):
2739         * platform/Widget.h:
2740         (WebCore::Widget::platformWidget):
2741         (WebCore::Widget::setPlatformWidget):
2742         * platform/gtk/WidgetGtk.cpp:
2743         (WebCore::Widget::Widget):
2744         (WebCore::Widget::setFocus):
2745         (WebCore::gdkDrawable):
2746         (WebCore::Widget::setCursor):
2747         (WebCore::Widget::show):
2748         (WebCore::Widget::hide):
2749         (WebCore::Widget::setEnabled):
2750         (WebCore::Widget::isEnabled):
2751         (WebCore::Widget::paint):
2752         * platform/mac/PlatformScreenMac.mm:
2753         (WebCore::screenRect):
2754         (WebCore::screenAvailableRect):
2755         * platform/mac/ScrollViewMac.mm:
2756         (WebCore::ScrollView::scrollView):
2757         (WebCore::ScrollView::update):
2758         (WebCore::ScrollView::inWindow):
2759         * platform/mac/ScrollbarMac.mm:
2760         (WebCore::ScrollbarMac::ScrollbarMac):
2761         (WebCore::ScrollbarMac::~ScrollbarMac):
2762         (WebCore::ScrollbarMac::updateThumbPosition):
2763         (WebCore::ScrollbarMac::updateThumbProportion):
2764         (WebCore::ScrollbarMac::scrollbarHit):
2765         * platform/mac/WidgetMac.mm:
2766         (WebCore::Widget::Widget):
2767         (WebCore::Widget::setEnabled):
2768         (WebCore::Widget::isEnabled):
2769         (WebCore::Widget::setFocus):
2770         (WebCore::Widget::getOuterView):
2771         (WebCore::Widget::paint):
2772         (WebCore::Widget::invalidate):
2773         (WebCore::Widget::invalidateRect):
2774         (WebCore::Widget::setIsSelected):
2775         (WebCore::Widget::releasePlatformWidget):
2776         (WebCore::Widget::retainPlatformWidget):
2777         * platform/qt/WidgetQt.cpp:
2778         (WebCore::WidgetPrivate::WidgetPrivate):
2779         (WebCore::Widget::Widget):
2780         (WebCore::Widget::setFrameGeometry):
2781         (WebCore::Widget::show):
2782         (WebCore::Widget::hide):
2783         (WebCore::Widget::isEnabled):
2784         (WebCore::Widget::setEnabled):
2785         (WebCore::Widget::invalidateRect):
2786         (WebCore::Widget::containingWindow):
2787         * platform/win/WidgetWin.cpp:
2788         (WebCore::Widget::Widget):
2789         * platform/wx/WidgetWx.cpp:
2790         (WebCore::Widget::Widget):
2791         (WebCore::Widget::frameGeometry):
2792         (WebCore::Widget::setFocus):
2793         (WebCore::Widget::setCursor):
2794         (WebCore::Widget::show):
2795         (WebCore::Widget::hide):
2796         (WebCore::Widget::setFrameGeometry):
2797         (WebCore::Widget::setEnabled):
2798         (WebCore::Widget::isEnabled):
2799         (WebCore::Widget::invalidate):
2800         (WebCore::Widget::invalidateRect):
2801         (WebCore::Widget::paint):
2802         * plugins/PluginView.cpp:
2803         (WebCore::PluginView::PluginView):
2804         * plugins/PluginView.h:
2805         (WebCore::PluginView::platformPluginWidget):
2806         * plugins/gtk/PluginViewGtk.cpp:
2807         (WebCore::PluginView::updateWindow):
2808         (WebCore::PluginView::setFocus):
2809         (WebCore::PluginView::show):
2810         (WebCore::PluginView::hide):
2811         (WebCore::PluginView::setParent):
2812         (WebCore::PluginView::setNPWindowRect):
2813         (WebCore::PluginView::setParentVisible):
2814         (WebCore::PluginView::getValue):
2815         (WebCore::PluginView::forceRedraw):
2816         (WebCore::PluginView::init):
2817         * plugins/qt/PluginViewQt.cpp:
2818         (WebCore::PluginView::updateWindow):
2819         (WebCore::PluginView::setFocus):
2820         (WebCore::PluginView::show):
2821         (WebCore::PluginView::hide):
2822         (WebCore::PluginView::setParent):
2823         (WebCore::PluginView::setNPWindowRect):
2824         (WebCore::PluginView::setParentVisible):
2825         (WebCore::PluginView::getValue):
2826         (WebCore::PluginView::~PluginView):
2827         (WebCore::PluginView::init):
2828         * plugins/win/PluginViewWin.cpp:
2829         (WebCore::PluginView::updateWindow):
2830         (WebCore::PluginView::setFocus):
2831         (WebCore::PluginView::show):
2832         (WebCore::PluginView::hide):
2833         (WebCore::PluginView::paint):
2834         (WebCore::PluginView::setParent):
2835         (WebCore::PluginView::setParentVisible):
2836         (WebCore::PluginView::setNPWindowRect):
2837         (WebCore::PluginView::stop):
2838         (WebCore::PluginView::invalidateRect):
2839         (WebCore::PluginView::forceRedraw):
2840         (WebCore::PluginView::~PluginView):
2841         (WebCore::PluginView::init):
2842
2843 2008-09-17  Sam Weinig  <sam@webkit.org>
2844
2845         Fix assert.
2846
2847         * platform/Widget.cpp:
2848         (WebCore::Widget::setParent):
2849
2850 2008-09-17  David Hyatt  <hyatt@apple.com>
2851
2852         Beginnings of Widget refactoring (in order to make the mixing of
2853         widgets with and without corresponding native widgets more cross-platform).
2854
2855         This first patch makes the concept of a parent ScrollView cross-platform.
2856
2857         Note the similarity of the show/hide methods on the three PluginViews.  This
2858         will be refactored better in a later patch so that they can all share
2859         a base class Widget show/hide method.  For now the changes were made
2860         simply to be able to bring WidgetWin's setParent method up into Widget.
2861
2862         Reviewed by Sam Weinig
2863
2864         * WebCore.base.exp:
2865         * platform/ScrollView.h:
2866         * platform/Widget.cpp:
2867         (WebCore::Widget::init):
2868         (WebCore::Widget::setParent):
2869         * platform/Widget.h:
2870         (WebCore::Widget::isSelfVisible):
2871         (WebCore::Widget::isParentVisible):
2872         (WebCore::Widget::isVisible):
2873         (WebCore::Widget::setParentVisible):
2874         (WebCore::Widget::isPluginView):
2875         (WebCore::Widget::parent):
2876         (WebCore::Widget::handleEvent):
2877         (WebCore::Widget::geometryChanged):
2878         * platform/gtk/WidgetGtk.cpp:
2879         (WebCore::Widget::Widget):
2880         * platform/mac/ScrollViewMac.mm:
2881         (WebCore::ScrollView::addChild):
2882         (WebCore::ScrollView::removeChild):
2883         * platform/mac/ScrollbarMac.mm:
2884         (WebCore::ScrollbarMac::~ScrollbarMac):
2885         * platform/mac/WidgetMac.mm:
2886         (WebCore::Widget::Widget):
2887         (WebCore::Widget::~Widget):
2888         * platform/qt/WidgetQt.cpp:
2889         (WebCore::WidgetPrivate::WidgetPrivate):
2890         (WebCore::Widget::Widget):
2891         (WebCore::Widget::topLevel):
2892         * platform/win/ScrollViewWin.cpp:
2893         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
2894         (WebCore::ScrollView::setAncestorVisible):
2895         (WebCore::ScrollView::show):
2896         (WebCore::ScrollView::hide):
2897         * platform/win/WidgetWin.cpp:
2898         (WebCore::Widget::Widget):
2899         (WebCore::Widget::setParent):
2900         * platform/wx/WidgetWx.cpp:
2901         (WebCore::Widget::Widget):
2902         * plugins/PluginView.cpp:
2903         (WebCore::PluginView::PluginView):
2904         * plugins/PluginView.h:
2905         * plugins/gtk/PluginViewGtk.cpp:
2906         (WebCore::PluginView::show):
2907         (WebCore::PluginView::hide):
2908         (WebCore::PluginView::setParentVisible):
2909         * plugins/qt/PluginViewQt.cpp:
2910         (WebCore::PluginView::show):
2911         (WebCore::PluginView::hide):
2912         (WebCore::PluginView::setParentVisible):
2913         * plugins/win/PluginViewWin.cpp:
2914         (WebCore::PluginView::show):
2915         (WebCore::PluginView::hide):
2916         (WebCore::PluginView::setParentVisible):
2917
2918 2008-09-17  Alexey Proskuryakov  <ap@webkit.org>
2919
2920         Reviewed by Adam Roben.
2921
2922         <rdar://problem/6219577> Spew in console at launch about encoding mappings when running with ICU 4.0
2923
2924         * platform/text/TextCodecICU.cpp:
2925         (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated for new encoding names.
2926
2927 2008-09-17  Tor Arne Vestbø  <tavestbo@trolltech.com>
2928
2929         Fix the QtWebKit/Mac build
2930
2931         * platform/qt/ScrollViewQt.cpp: add include
2932
2933 2008-09-17  David Hyatt  <hyatt@apple.com>
2934
2935         Add a #define to control whether or not to use an NSScroller on Mac.
2936         This ifdef will allow the new NSView-less NSScroller on Mac to be
2937         developed side by side with the current one.
2938
2939         The new scroller paints a debug red if turned on (although due to
2940         Widget issues you won't see anything paint yet).
2941
2942         Reviewed by olliej
2943
2944         * platform/Scrollbar.cpp:
2945         * platform/Scrollbar.h:
2946         * platform/mac/ScrollbarMac.h:
2947         * platform/mac/ScrollbarMac.mm:
2948         * platform/mac/ScrollbarThemeMac.cpp:
2949         (WebCore::ScrollbarThemeMac::paint):
2950         * platform/mac/ScrollbarThemeMac.h:
2951
2952 2008-09-16  Marco Barisione  <marco.barisione@collabora.co.uk>
2953
2954         Reviewed by Alp Toker.
2955
2956         http://bugs.webkit.org/show_bug.cgi?id=20854
2957         [GTK] Windows can be not realized in ScrollView::update
2958
2959         Do not call gdk_window_invalidate_rect on a non-realized GtkWidget.
2960
2961         * platform/gtk/ScrollViewGtk.cpp:
2962         (WebCore::ScrollView::update):
2963
2964 2008-09-16  Alp Toker  <alp@nuanti.com>
2965
2966         Suggested by Dave Hyatt.
2967
2968         Build fix and cleanup. Rename ScrollBar to Scrollbar.
2969
2970         * GNUmakefile.am:
2971         * WebCore.pro:
2972         * WebCore.vcproj/WebCore.vcproj:
2973         * WebCore.xcodeproj/project.pbxproj:
2974         * WebCoreSources.bkl:
2975         * editing/EditorCommand.cpp:
2976         * page/EventHandler.cpp:
2977         * page/gtk/EventHandlerGtk.cpp:
2978         * page/mac/EventHandlerMac.mm:
2979         * page/mac/FrameMac.mm:
2980         * page/qt/EventHandlerQt.cpp:
2981         * page/wx/EventHandlerWx.cpp:
2982         * platform/PopupMenu.h:
2983         * platform/ScrollBar.cpp: Removed.
2984         * platform/ScrollBar.h: Removed.
2985         * platform/Scrollbar.cpp: Copied from WebCore/platform/ScrollBar.cpp.
2986         * platform/Scrollbar.h: Copied from WebCore/platform/ScrollBar.h.
2987         * platform/gtk/ScrollbarGtk.cpp:
2988         (ScrollbarGtk::ScrollbarGtk):
2989         * platform/gtk/ScrollbarGtk.h:
2990         * platform/mac/ScrollbarMac.h:
2991         * platform/qt/ScrollViewQt.cpp:
2992         * platform/qt/ScrollbarQt.cpp:
2993         * platform/qt/ScrollbarThemeQt.cpp:
2994         * platform/win/PlatformScrollBar.h:
2995         * platform/win/PopupMenuWin.cpp:
2996         * platform/win/ScrollViewWin.cpp:
2997         * platform/win/ScrollbarThemeWin.cpp:
2998         * platform/wx/ScrollViewWx.cpp:
2999         * platform/wx/TemporaryLinkStubs.cpp:
3000         * rendering/HitTestResult.cpp:
3001         * rendering/RenderLayer.cpp:
3002         * rendering/RenderTextControl.cpp:
3003
3004 2008-09-16  David Hyatt  <hyatt@apple.com>
3005
3006         Fix Qt build bustage by making moveThumb a member of Scrollbar so that
3007         it can be called from ScrollbarQt.
3008
3009         * platform/ScrollBar.cpp:
3010         (WebCore::Scrollbar::moveThumb):
3011         (WebCore::Scrollbar::handleMouseMoveEvent):
3012         (WebCore::Scrollbar::handleMousePressEvent):
3013         * platform/ScrollBar.h:
3014         * platform/qt/ScrollViewQt.cpp:
3015         * platform/qt/ScrollbarQt.cpp:
3016         (WebCore::Scrollbar::handleContextMenuEvent):
3017
3018 2008-09-16  David Hyatt  <hyatt@apple.com>
3019
3020         Eliminate PlatformScrollbar.  Mac and Gtk now have subclasses for their
3021         native-widget scrollbars (ScrollbarMac and ScrollbarGtk).  Other platforms
3022         now just use Scrollbar.
3023
3024         Reviewed by Sam Weinig
3025
3026         * GNUmakefile.am:
3027         * WebCore.pro:
3028         * WebCore.vcproj/WebCore.vcproj:
3029         * WebCore.xcodeproj/project.pbxproj:
3030         * page/mac/FrameMac.mm:
3031         * platform/PopupMenu.h:
3032         (WebCore::PopupMenu::scrollbar):
3033         * platform/ScrollBar.cpp:
3034         (WebCore::createNativeScrollbar):
3035         * platform/ScrollBar.h:
3036         * platform/gtk/PlatformScrollBar.h: Removed.
3037         * platform/gtk/PlatformScrollBarGtk.cpp: Removed.
3038         * platform/gtk/ScrollbarGtk.cpp: Copied from platform/gtk/PlatformScrollBarGtk.cpp.
3039         (gtkScrollEventCallback):
3040         (ScrollbarGtk::ScrollbarGtk):
3041         (ScrollbarGtk::~ScrollbarGtk):
3042         (ScrollbarGtk::updateThumbPosition):
3043         (ScrollbarGtk::updateThumbProportion):
3044         (ScrollbarGtk::setFrameGeometry):
3045         (ScrollbarGtk::geometryChanged):
3046         (ScrollbarGtk::gtkValueChanged):
3047         * platform/gtk/ScrollbarGtk.h: Copied from platform/gtk/PlatformScrollBar.h.
3048         * platform/mac/PlatformScrollBar.h: Removed.
3049         * platform/mac/PlatformScrollBarMac.mm: Removed.
3050         * platform/mac/ScrollbarMac.h: Copied from platform/mac/PlatformScrollBar.h.
3051         * platform/mac/ScrollbarMac.mm: Copied from platform/mac/PlatformScrollBarMac.mm.
3052         (-[WebCoreScrollBar initWithScrollbarMac:]):
3053         (-[WebCoreScrollBar detachScrollbarMac]):
3054         (WebCore::Scrollbar::createNativeScrollbar):
3055         (WebCore::ScrollbarMac::ScrollbarMac):
3056         (WebCore::ScrollbarMac::~ScrollbarMac):
3057         (WebCore::ScrollbarMac::updateThumbPosition):
3058         (WebCore::ScrollbarMac::updateThumbProportion):
3059         (WebCore::ScrollbarMac::scrollbarHit):
3060         * platform/qt/PlatformScrollBar.h: Removed.
3061         * platform/qt/PlatformScrollBarQt.cpp: Removed.
3062         * platform/qt/ScrollbarQt.cpp: Copied from platform/qt/PlatformScrollBarQt.cpp.
3063         (WebCore::Scrollbar::handleContextMenuEvent):
3064         * rendering/HitTestResult.cpp:
3065         * rendering/RenderLayer.cpp:
3066         (WebCore::RenderLayer::createScrollbar):
3067         (WebCore::RenderLayer::destroyScrollbar):
3068         * rendering/RenderLayer.h:
3069         * rendering/RenderListBox.cpp:
3070         (WebCore::RenderListBox::~RenderListBox):
3071         (WebCore::RenderListBox::updateFromElement):
3072         (WebCore::RenderListBox::isPointInOverflowControl):
3073         * rendering/RenderObject.h:
3074         * rendering/RenderTextControl.cpp:
3075
3076 2008-09-16  David Hyatt  <hyatt@apple.com>
3077
3078         Make the scrollbar resizer-dodging logic cross-platform in the
3079         Scrollbar class.
3080
3081         Reviewed by Sam Weinig
3082
3083         * platform/ScrollBar.cpp:
3084         (WebCore::Scrollbar::setFrameGeometry):
3085         (WebCore::Scrollbar::setParent):
3086         (WebCore::Scrollbar::windowClipRect):
3087         * platform/ScrollBar.h:
3088         * platform/ScrollView.h:
3089         (WebCore::ScrollView::windowResizerRect):
3090         (WebCore::ScrollView::resizerOverlapsContent):
3091         (WebCore::ScrollView::adjustOverlappingScrollbarCount):
3092         * platform/Widget.h:
3093         (WebCore::Widget::setParent):
3094         * platform/mac/WidgetMac.mm:
3095         (WebCore::Widget::convertToContainingWindow):
3096         * platform/win/PlatformScrollBar.h:
3097         * platform/win/PlatformScrollBarWin.cpp:
3098
3099 2008-09-16  Dan Bernstein  <mitz@apple.com>
3100
3101         Reviewed by Darin Adler.
3102
3103         - fix https://bugs.webkit.org/show_bug.cgi?id=15129
3104           <rdar://problem/4644824> adding a new line with DOM does unnecessary additional repaint
3105
3106         Covered by fast/repaint/4776765.html
3107
3108         * rendering/RenderBlock.cpp:
3109         (WebCore::RenderBlock::layoutBlock): Avoid repainting this object if it
3110         did not have layout in the beginning.
3111         (WebCore::RenderBlock::layoutBlockChildren): If a child did not have
3112         layout in the beginning, repaint it in its new position, to compensate
3113         for the above (regardless of whether it "moved").
3114         * rendering/RenderObject.cpp:
3115         (WebCore::RenderObject::checkForRepaintDuringLayout): Added a comment
3116         about generalizing this fix in the future.
3117
3118 2008-09-16  Dan Bernstein  <mitz@apple.com>
3119
3120         Reviewed by Dave Hyatt.
3121
3122         - fix https://bugs.webkit.org/show_bug.cgi?id=15384
3123           Div does not notice when grandparent changes height
3124
3125         Test: fast/block/basic/quirk-percent-height-grandchild.html
3126
3127         - fix https://bugs.webkit.org/show_bug.cgi?id=20714
3128           Resizing Gmail inbox vertically results in whitespace at the bottom of the window
3129
3130         Test: fast/replaced/percent-height-in-anonymous-block.html
3131
3132         Added a two-way mapping between boxes with percentage heights and
3133         their non-parent ancestors up to the one the height is computed relative
3134         to. In quirks mode (the first bug), this can be any number of containing
3135         block with auto height. In strict mode (the second bug) this can be
3136         the containing block of an anonymous block containing a replaced
3137         element.
3138
3139         * rendering/RenderBlock.cpp:
3140         (WebCore::RenderBlock::~RenderBlock): Added code to remove the all the
3141         mapping to/from this block to percentage-height descendants.
3142         (WebCore::RenderBlock::layoutBlockChildren): Added code to mark
3143         percentage-height descendants (and their containing block ancestry chain
3144         up to this block) for layout. This ensures that those descendants whose
3145         height depends on the height of this block (or an ancestor) are updated.
3146         (WebCore::RenderBlock::addPercentHeightDescendant): Added. Establishes
3147         a two-way mapping between this block and the given box.
3148         (WebCore::RenderBlock::removePercentHeightDescendant): Added. Removes
3149         all the mapping to/from this box.
3150         * rendering/RenderBlock.h:
3151         * rendering/RenderBox.cpp:
3152         (WebCore::RenderBox::setStyle): Added calls to
3153         removePercentHeightDescendant() when style changes and the box
3154         previously had a percentage height. An exception is when the style
3155         change does not require layout, in which case the box still has
3156         a percentage height and the mappings are valid. In all other cases,
3157         any required mappings will be (re-)established during layout.
3158         (WebCore::RenderBox::destroy): Added a call to
3159         removePercentHeightDescendant.
3160         (WebCore::RenderBox::calcPercentageHeight): Added code that, in quirks
3161         mode, if a higher-than-parent containing block is affecting the box's
3162         height, creates a mapping between the box and that block.
3163         (WebCore::RenderBox::calcReplacedHeightUsing): Changed to skip over
3164         anonymous containing blocks, if any, and when that happens, use
3165         addPercentHeightDescendant() to ensure that the non-anonymous block
3166         is aware of the dependent percent-height box.
3167
3168 2008-09-16  Dirk Schulze  <vbs85@gmx.de>
3169
3170         Reviewed by Oliver Hunt and Alp Toker.
3171
3172         Implemented toDataURL in Cairo. Only PNG support
3173         at the moment.
3174
3175         Qt, Cairo and wx require toDataURL implementations
3176         https://bugs.webkit.org/show_bug.cgi?id=17719
3177
3178         * platform/MIMETypeRegistry.cpp:
3179         (WebCore::initializeSupportedImageMIMETypesForEncoding):
3180         * platform/graphics/cairo/ImageBufferCairo.cpp:
3181         (WebCore::ImageBuffer::ImageBuffer):
3182         (WebCore::writeFunction):
3183         (WebCore::ImageBuffer::toDataURL):
3184
3185 2008-09-16  Tor Arne Vestbø  <tavestbo@trolltech.com>
3186
3187         Reviewed by Simon.
3188
3189         Hide unused media element controls in the QtWebKit port
3190
3191         * platform/qt/html4-adjustments-qt.css
3192
3193 2008-09-16  Ariya Hidayat  <ariya.hidayat@trolltech.com>
3194
3195         Reviewed by Simon.
3196
3197         Fix compilation of the Qt scrollbar code.
3198
3199         * platform/qt/PlatformScrollBarQt.cpp:
3200         (WebCore::scPart):
3201         (WebCore::styleOptionSlider):
3202         (WebCore::thumbLength):
3203         (WebCore::pixelPosToRangeValue):
3204         (WebCore::PlatformScrollbar::handleContextMenuEvent):
3205
3206 2008-09-16  Adam Treat  <treat@kde.org>
3207
3208         Reviewed by Anders Carlsson.
3209
3210         Prevent accesses off of the end of the buffer introduced in r36450
3211         and when checking for descriptions of mime. Also, coding style fix.
3212
3213         * plugins/qt/PluginPackageQt.cpp:
3214         (WebCore::PluginPackage::fetchInfo):
3215
3216 2008-09-15  Rob Buis  <buis@kde.org>
3217
3218         Reviewed by Eric.
3219
3220         https://bugs.webkit.org/show_bug.cgi?id=20634
3221         SVG transform attribute is ignored by <use> in <clipPath>
3222
3223         Transform the paths with the local transform when part
3224         of a clip path.
3225
3226         Test: svg/custom/use-clipped-transform.svg
3227
3228         * svg/SVGClipPathElement.cpp:
3229         (WebCore::SVGClipPathElement::canvasResource):
3230         * svg/SVGStyledTransformableElement.cpp:
3231         (WebCore::SVGStyledTransformableElement::toClipPath):
3232         * svg/SVGStyledTransformableElement.h:
3233
3234 2008-09-15  Dave Hyatt  <hyatt@apple.com>
3235
3236         Convert Qt over to its ScrollbarTheme.  Add cross-platform support for jumping the thumb location directly
3237         to a pressed location on the track (this is done with the middle mouse on Qt and with Shift-Click on Windows).
3238       
3239         Reviewed by Sam Weinig
3240
3241         * platform/ScrollBar.cpp:
3242         (WebCore::thumbUnderMouse):
3243         (WebCore::Scrollbar::autoscrollPressedPart):
3244         (WebCore::Scrollbar::startTimerIfNeeded):
3245         (WebCore::moveThumb):
3246         (WebCore::Scrollbar::handleMouseMoveEvent):
3247         (WebCore::Scrollbar::handleMousePressEvent):
3248         * platform/ScrollBar.h:
3249         (WebCore::Scrollbar::pressedPos):
3250         (WebCore::Scrollbar::pixelStep):
3251         (WebCore::Scrollbar::setPressedPos):
3252         * platform/ScrollbarTheme.h:
3253         (WebCore::ScrollbarTheme::thumbPosition):
3254         (WebCore::ScrollbarTheme::thumbLength):
3255         (WebCore::ScrollbarTheme::trackPosition):
3256         (WebCore::ScrollbarTheme::trackLength):
3257         * platform/ScrollbarThemeComposite.cpp:
3258         (WebCore::ScrollbarThemeComposite::trackPosition):
3259         * platform/ScrollbarThemeComposite.h:
3260         * platform/qt/PlatformScrollBarQt.cpp:
3261         (WebCore::PlatformScrollbar::PlatformScrollbar):
3262         (WebCore::):
3263         * platform/qt/ScrollbarThemeQt.cpp:
3264         (WebCore::styleOptionSlider):
3265         (WebCore::ScrollbarThemeQt::hitTest):
3266         (WebCore::ScrollbarThemeQt::shouldCenterOnThumb):
3267         (WebCore::ScrollbarThemeQt::invalidatePart):
3268         (WebCore::ScrollbarThemeQt::thumbPosition):
3269         (WebCore::):
3270         * platform/qt/ScrollbarThemeQt.h:
3271         * platform/win/ScrollbarThemeSafari.cpp:
3272         (WebCore::ScrollbarThemeSafari::shouldCenterOnThumb):
3273         * platform/win/ScrollbarThemeSafari.h:
3274         * platform/win/ScrollbarThemeWin.cpp:
3275         (WebCore::ScrollbarThemeWin::shouldCenterOnThumb):
3276         * platform/win/ScrollbarThemeWin.h:
3277
3278 2008-09-15  David Smith  <catfish.man@gmail.com>
3279
3280         Reviewed by Sam Weinig.
3281         
3282         https://bugs.webkit.org/show_bug.cgi?id=20180
3283         
3284         Cache the result of parsing the an+b expression in :nth-child(an+b). Roughly a 2x speedup for :nth-child on SlickSpeed.
3285
3286         * GNUmakefile.am: Add CSSNthSelector
3287         * WebCore.pro: Add CSSNthSelector
3288         * WebCore.vcproj/WebCore.vcproj: Add CSSNthSelector
3289         * WebCore.xcodeproj/project.pbxproj: Add CSSNthSelector
3290         * css/CSSGrammar.y: Create CSSNthSelectors instead of CSSSelectors for :nth-*
3291         * css/CSSNthSelector.cpp: Added.
3292         (WebCore::CSSNthSelector::parseNth): Moved from CSSStyleSelector and modified to cache
3293         (WebCore::CSSNthSelector::matchNth): Moved from CSSStyleSelector and modified to use the cache
3294         * css/CSSNthSelector.h: Added.
3295         (WebCore::CSSNthSelector::CSSNthSelector):
3296         (WebCore::CSSNthSelector::~CSSNthSelector):
3297         * css/CSSParser.cpp:
3298         (WebCore::CSSParser::createFloatingNthSelector):
3299         * css/CSSParser.h:
3300         * css/CSSSelector.h: Use the free bit here to store a flag for CSSNthSelector
3301         (WebCore::CSSSelector::CSSSelector):
3302         * css/CSSStyleSelector.cpp:
3303         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Take advantage of knowing that all :nth-* selectors are CSSNthSelectors
3304
3305 2008-09-15  Matt Lilek  <webkit@mattlilek.com>
3306
3307         Reviewed by Tim Hatcher.
3308
3309         Clean up some inspector JS callbacks to remove an extra return.
3310
3311         * page/InspectorController.cpp:
3312         (WebCore::hideDOMNodeHighlight):
3313         (WebCore::loaded):
3314         (WebCore::unloading):
3315         (WebCore::attach):
3316         (WebCore::detach):
3317         (WebCore::startDebuggingAndReloadInspectedPage):
3318         (WebCore::stopDebugging):
3319         (WebCore::debuggerAttached):
3320         (WebCore::pauseOnExceptions):
3321         (WebCore::pauseInDebugger):
3322         (WebCore::resumeDebugger):
3323         (WebCore::stepOverStatementInDebugger):
3324         (WebCore::stepIntoStatementInDebugger):
3325         (WebCore::stepOutOfFunctionInDebugger):
3326         (WebCore::isWindowVisible):
3327         (WebCore::closeWindow):
3328
3329 2008-09-15  Dave Hyatt  <hyatt@apple.com>
3330
3331         Completely switch Windows scrollbars over to ScrollbarTheme.  The Aqua windows scrollbar and native scrollbar
3332         now share most of their code.
3333        
3334         Also removing mini size scrollbar support, since it would have crashed Windows had it ever been used, and it
3335         also is never used in our code anyway.
3336        
3337         Reviewed by Sam Weinig
3338
3339         * WebCore.vcproj/WebCore.vcproj:
3340         * platform/ScrollTypes.h:
3341         (WebCore::):
3342         * platform/ScrollbarThemeComposite.cpp:
3343         (WebCore::ScrollbarThemeComposite::splitTrack):
3344         (WebCore::ScrollbarThemeComposite::thumbLength):
3345         (WebCore::ScrollbarThemeComposite::minimumThumbLength):
3346         * platform/ScrollbarThemeComposite.h:
3347         * platform/mac/PlatformScrollBarMac.mm:
3348         (NSControlSizeForScrollBarControlSize):
3349         * platform/win/PlatformScrollBar.h:
3350         * platform/win/PlatformScrollBarSafari.cpp: Removed.
3351         * platform/win/PlatformScrollBarWin.cpp:
3352         (WebCore::PlatformScrollbar::PlatformScrollbar):
3353         * platform/win/ScrollbarThemeSafari.cpp:
3354         (WebCore::ScrollbarTheme::nativeTheme):
3355         (WebCore::):
3356         (WebCore::scrollbarControlStateFromThemeState):
3357         (WebCore::ScrollbarThemeSafari::hasButtons):
3358         (WebCore::ScrollbarThemeSafari::hasThumb):
3359         (WebCore::buttonRepaintRect):
3360         (WebCore::ScrollbarThemeSafari::backButtonRect):
3361         (WebCore::ScrollbarThemeSafari::forwardButtonRect):
3362         (WebCore::trackRepaintRect):
3363         (WebCore::ScrollbarThemeSafari::trackRect):
3364         (WebCore::ScrollbarThemeSafari::minimumThumbLength):
3365         (WebCore::ScrollbarThemeSafari::paintTrack):
3366         (WebCore::ScrollbarThemeSafari::paintButton):
3367         (WebCore::ScrollbarThemeSafari::paintThumb):
3368         * platform/win/ScrollbarThemeSafari.h:
3369         * platform/win/ScrollbarThemeWin.cpp:
3370         * platform/win/ScrollbarThemeWin.h:
3371
3372 2008-09-15  Chris Fleizach  <cfleizach@apple.com>
3373
3374         Reviewed by Darin Adler, Beth Dakin
3375
3376         <rdar://problem/4003789> Expose lists as AXList
3377         <rdar://problem/5707399> VO: Definition lists not announced in Safari
3378
3379         Lists are now exposed through AX. On the mac (in SnowLeopard) they use two new subroles
3380         AXContentList for <ul>, <ol> and AXDefinitionList for <dl>
3381         Inside the definition list, each <dt> "term" has an accessibility description ("term"), 
3382         as does each <dd> tag ("definition")
3383
3384         Test: accessibility/lists.html
3385
3386         * GNUmakefile.am:
3387         * WebCore.pro:
3388         * WebCore.vcproj/WebCore.vcproj:
3389         * WebCore.xcodeproj/project.pbxproj:
3390         * WebCoreSources.bkl:
3391         * page/AXObjectCache.cpp:
3392         * page/AccessibilityList.cpp: Added.
3393         * page/AccessibilityList.h: Added.
3394         * page/AccessibilityObject.h:
3395         * page/AccessibilityRenderObject.cpp:
3396         * page/AccessibilityTable.cpp:
3397         * page/mac/AccessibilityObjectWrapper.mm:
3398         * page/mac/WebCoreViewFactory.h:
3399         * platform/LocalizedStrings.h:
3400         * platform/mac/LocalizedStringsMac.mm:
3401         * platform/qt/Localizations.cpp:
3402
3403 2008-09-15  Nikolas Zimmermann  <zimmermann@kde.org>
3404
3405         Reviewed by Eric.
3406
3407         Fixes: https://bugs.webkit.org/show_bug.cgi?id=20865
3408         Prepare HTMLScriptElement & SVGScriptElement unification, and unification of event handling.
3409
3410         Several renames:
3411         dispatchHTMLEvent -> dispatchEventForType
3412         setHTMLEventListener -> setEventListenerForType
3413         getHTMLEventListener -> eventListenerForType
3414         removeHTMLEventListener -> removeEventListenerForType
3415         isHTMLEventListener -> isAttachedToEventTargetNode
3416         ...
3417
3418         Similar renames for the dispatch/get/set/*Window*Event functions.
3419         Kill JSSVGLazyEventListener and merge with JSLazyEventListener.
3420
3421         Most important change: Rename setHTMLEventListener to setEventListenerForTypeAndAttribute,
3422         as there exists a generic createEventListener() method now, taking care of JSLazyEventListener creation.
3423
3424         setHTMLEventListener() used createHTMLEventListener() before and was HTML specific.
3425         SVG is able to use the code as well now. This affects most files in html/.
3426
3427         No functional changes.
3428
3429         * GNUmakefile.am:
3430         * WebCore.pro:
3431         * WebCore.vcproj/WebCore.vcproj:
3432         * WebCore.xcodeproj/project.pbxproj:
3433         * bindings/js/JSDOMWindowBase.cpp:
3434         (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
3435         (WebCore::JSDOMWindowBase::setListener):
3436         (WebCore::JSDOMWindowBase::getListener):
3437         (WebCore::JSDOMWindowBase::findJSEventListener):
3438         (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
3439         (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
3440         (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
3441         (WebCore::JSDOMWindowBase::jsEventListenersAttachedToEventTargetNodes):
3442         (WebCore::JSDOMWindowBase::jsUnprotectedEventListenersAttachedToEventTargetNodes):
3443         * bindings/js/JSDOMWindowBase.h:
3444         * bindings/js/JSEventListener.cpp:
3445         (WebCore::JSAbstractEventListener::handleEvent):
3446         (WebCore::JSAbstractEventListener::isAttachedToEventTargetNode):
3447         (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
3448         (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
3449         (WebCore::JSEventListener::JSEventListener):
3450         (WebCore::JSEventListener::~JSEventListener):
3451         (WebCore::JSLazyEventListener::JSLazyEventListener):
3452         (WebCore::eventParameterName):
3453         (WebCore::JSLazyEventListener::parseCode):
3454         (WebCore::getNodeEventListener):
3455         * bindings/js/JSEventListener.h:
3456         (WebCore::JSAbstractEventListener::JSAbstractEventListener):
3457         (WebCore::JSUnprotectedEventListener::create):
3458         (WebCore::JSEventListener::create):
3459         (WebCore::JSLazyEventListener::):
3460         (WebCore::JSLazyEventListener::create):
3461         * bindings/js/JSEventTargetNode.cpp:
3462         (WebCore::JSEventTargetNode::setListener):
3463         (WebCore::JSEventTargetNode::getListener):
3464         * bindings/js/JSSVGLazyEventListener.cpp: Removed.
3465         * bindings/js/JSSVGLazyEventListener.h: Removed.
3466         * bindings/js/ScriptController.cpp:
3467         (WebCore::ScriptController::createHTMLEventHandler):
3468         (WebCore::ScriptController::createSVGEventHandler):
3469         * dom/Document.cpp:
3470         (WebCore::Document::setFocusedNode):
3471         (WebCore::Document::handleWindowEvent):
3472         (WebCore::Document::setWindowEventListenerForType):
3473         (WebCore::Document::windowEventListenerForType):
3474         (WebCore::Document::removeWindowEventListenerForType):
3475         (WebCore::Document::addWindowEventListener):
3476         (WebCore::Document::hasWindowEventListener):
3477         (WebCore::Document::removePendingFrameBeforeUnloadEventCount):
3478         (WebCore::Document::createEventListener):
3479         (WebCore::Document::setWindowEventListenerForTypeAndAttribute):
3480         * dom/Document.h:
3481         * dom/EventListener.h:
3482         (WebCore::EventListener::isAttachedToEventTargetNode):
3483         * dom/EventTargetNode.cpp:
3484         (WebCore::EventTargetNode::dispatchFocusEvent):
3485         (WebCore::EventTargetNode::dispatchBlurEvent):
3486         (WebCore::EventTargetNode::dispatchEventForType):
3487         (WebCore::EventTargetNode::removeEventListenerForType):
3488         (WebCore::EventTargetNode::setEventListenerForType):
3489         (WebCore::EventTargetNode::setEventListenerForTypeAndAttribute):
3490         (WebCore::EventTargetNode::eventListenerForType):
3491         * dom/EventTargetNode.h:
3492         * dom/XMLTokenizer.cpp:
3493         (WebCore::XMLTokenizer::notifyFinished):
3494         * editing/ReplaceSelectionCommand.cpp:
3495         (WebCore::ReplacementFragment::ReplacementFragment):
3496         * html/HTMLBodyElement.cpp:
3497         (WebCore::HTMLBodyElement::parseMappedAttribute):
3498         * html/HTMLButtonElement.cpp:
3499         (WebCore::HTMLButtonElement::parseMappedAttribute):
3500         * html/HTMLElement.cpp:
3501         (WebCore::HTMLElement::parseMappedAttribute):
3502         (WebCore::HTMLElement::checkDTD):
3503         * html/HTMLElement.h:
3504         * html/HTMLFormControlElement.cpp:
3505         (WebCore::HTMLFormControlElement::onChange):
3506         * html/HTMLFormElement.cpp:
3507         (WebCore::HTMLFormElement::prepareSubmit):
3508         (WebCore::HTMLFormElement::reset):
3509         (WebCore::HTMLFormElement::parseMappedAttribute):
3510         * html/HTMLFrameElementBase.cpp:
3511         (WebCore::HTMLFrameElementBase::parseMappedAttribute):
3512         * html/HTMLFrameSetElement.cpp:
3513         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
3514         * html/HTMLImageElement.cpp:
3515         (WebCore::HTMLImageElement::parseMappedAttribute):
3516         * html/HTMLImageLoader.cpp:
3517         (WebCore::HTMLImageLoader::dispatchLoadEvent):
3518         * html/HTMLInputElement.cpp:
3519         (WebCore::HTMLInputElement::parseMappedAttribute):
3520         (WebCore::HTMLInputElement::setValueFromRenderer):
3521         (WebCore::HTMLInputElement::onSearch):
3522         * html/HTMLMediaElement.cpp:
3523         (WebCore::HTMLMediaElement::asyncEventTimerFired):
3524         (WebCore::HTMLMediaElement::load):
3525         (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
3526         (WebCore::HTMLMediaElement::setReadyState):
3527         (WebCore::HTMLMediaElement::seek):
3528         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
3529         (WebCore::HTMLMediaElement::willSaveToCache):
3530         * html/HTMLObjectElement.cpp:
3531         (WebCore::HTMLObjectElement::parseMappedAttribute):
3532         * html/HTMLScriptElement.cpp:
3533         (WebCore::HTMLScriptElement::parseMappedAttribute):
3534         (WebCore::HTMLScriptElement::dispatchLoadEvent):
3535         (WebCore::HTMLScriptElement::dispatchErrorEvent):
3536         * html/HTMLSelectElement.cpp:
3537         (WebCore::HTMLSelectElement::parseMappedAttribute):
3538         * html/HTMLTextAreaElement.cpp:
3539         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
3540         * html/HTMLTokenizer.cpp:
3541         (WebCore::HTMLTokenizer::notifyFinished):
3542         * page/AccessibilityRenderObject.cpp:
3543         (WebCore::AccessibilityRenderObject::mouseButtonListener):
3544         * page/EventHandler.cpp:
3545         (WebCore::EventHandler::canMouseDownStartSelect):
3546         (WebCore::EventHandler::canMouseDragExtendSelect):
3547         * page/Frame.cpp:
3548         (WebCore::Frame::sendScrollEvent):
3549         * page/Page.cpp:
3550         (WebCore::networkStateChanged):
3551         * rendering/RenderListBox.cpp:
3552         (WebCore::RenderListBox::valueChanged):
3553         * rendering/RenderTextControl.cpp:
3554         (WebCore::RenderTextControl::selectionChanged):
3555         * svg/SVGDocumentExtensions.cpp:
3556         * svg/SVGDocumentExtensions.h:
3557         * svg/SVGElement.cpp:
3558         (WebCore::SVGElement::parseMappedAttribute):
3559         (WebCore::SVGElement::finishParsingChildren):
3560         * svg/SVGElement.h:
3561         * svg/SVGSVGElement.cpp:
3562         (WebCore::SVGSVGElement::parseMappedAttribute):
3563         * svg/SVGSVGElement.h:
3564
3565 2008-09-15  Dave Hyatt  <hyatt@apple.com>
3566
3567         Convert PlatformScrollbarWin to use ScrollbarTheme for hit testing.  PlatformScrollbarQt/Gtk still
3568         need to be converted.
3569         
3570         Reviewed by Sam Weinig
3571
3572         * platform/ScrollBar.cpp:
3573         (WebCore::Scrollbar::Scrollbar):
3574         (WebCore::Scrollbar::updateThumbPosition):
3575         (WebCore::Scrollbar::updateThumbProportion):
3576         (WebCore::Scrollbar::autoscrollPressedPart):
3577         (WebCore::Scrollbar::startTimerIfNeeded):
3578         * platform/ScrollBar.h:
3579         * platform/ScrollbarTheme.h:
3580         (WebCore::ScrollbarTheme::invalidateParts):
3581         * platform/ScrollbarThemeComposite.cpp:
3582         (WebCore::ScrollbarThemeComposite::hitTest):
3583         (WebCore::ScrollbarThemeComposite::invalidatePart):
3584         (WebCore::ScrollbarThemeComposite::thumbPosition):
3585         (WebCore::ScrollbarThemeComposite::thumbLength):
3586         (WebCore::ScrollbarThemeComposite::trackLength):
3587         * platform/ScrollbarThemeComposite.h:
3588         * platform/win/PlatformScrollBarSafari.cpp:
3589         (WebCore::PlatformScrollbar::PlatformScrollbar):
3590         * platform/win/PlatformScrollBarWin.cpp:
3591         (WebCore::PlatformScrollbar::PlatformScrollbar):
3592
3593 2008-09-15  David Smith  <catfish.man@gmail.com>
3594
3595         "Just do it"'d by Mark Rowe
3596
3597         https://bugs.webkit.org/show_bug.cgi?id=20856
3598         Add missing license header