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