1 2008-09-22 Darin Adler <darin@apple.com>
3 Reviewed by Oliver Hunt.
5 - fix https://bugs.webkit.org/show_bug.cgi?id=21008
6 getting pixels by index from CanvasPixelArray is unnecessarily slow
8 * GNUmakefile.am: Added JSCanvasPixelArrayCustom.h.
9 * WebCore.vcproj/WebCore.vcproj: Ditto.
10 * WebCore.xcodeproj/project.pbxproj: Ditto.
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.
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.
27 * html/CanvasPixelArray.idl: Added CustomHeader attribute.
29 2008-09-23 Eric Seidel <eric@webkit.org>
31 No review, build fix only.
33 Another blind stab in the dark.
35 * svg/graphics/cg/SVGResourceClipperCg.cpp: Add missing header.
37 2008-09-23 Eric Seidel <eric@webkit.org>
39 No review, build fix only.
41 Third time's the charm, eh? My local build is sadly still not done...
43 * platform/graphics/AffineTransform.cpp: remove extra &
44 * platform/graphics/AffineTransform.h: remove extra &
46 2008-09-22 Eric Seidel <eric@webkit.org>
48 No review, build fix only.
50 * platform/graphics/AffineTransform.cpp: remove extra ;
52 2008-09-22 Eric Seidel <eric@webkit.org>
54 No review, build fix only.
56 Speculative fix for the build while I wait for my compile to finish.
58 * platform/graphics/AffineTransform.cpp:
60 2008-09-22 Dirk Schulze <vbs85@gmx.de>
62 Reviewed by eseidel. Landed by eseidel.
64 Moved makeMapBetweenRects from SVG/CG to AffineTransform
65 Make SVGResourceClipper::applyClip more cross-platform
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):
76 2008-09-22 Alp Toker <alp@nuanti.com>
78 Reviewed by David Hyatt.
80 https://bugs.webkit.org/show_bug.cgi?id=16331
81 [Gtk] no focus when button/checkbox/radiobutton clicked, only when tabbed
83 Obey GTK+ focusing conventions for controls and anchor elements.
85 It could be interesting to push these decisions up to Settings or
86 ChromeClient some day but this gets things working.
88 Right and middle click events still need some work to match GTK+
91 * html/HTMLAnchorElement.cpp:
92 (WebCore::HTMLAnchorElement::isMouseFocusable):
93 * html/HTMLFormControlElement.cpp:
94 (WebCore::HTMLFormControlElement::isMouseFocusable):
95 * page/EventHandler.cpp:
96 (WebCore::EventHandler::sendContextMenuEvent):
98 2008-09-22 Darin Adler <darin@apple.com>
100 * page/mac/FrameMac.mm:
101 (WebCore::Frame::baseWritingDirectionForSelectionStart): Fix indentation.
103 2008-09-22 Sam Weinig <sam@webkit.org>
105 Reviewed by Dan Bernstein.
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
112 - selectionStart, selectionEnd and setSelectionRange now are visible in iteration of
113 non-selectable input types, but return undefined when accessed.
115 * DerivedSources.make:
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:
130 2008-09-22 Dan Bernstein <mitz@apple.com>
132 Reviewed by Sam Weinig.
134 - fix <rdar://problem/5699571> Mail: Unable to change writing direction to LTR in an empty message
136 Not testable in DumpRenderTree or in Safari
138 * page/mac/FrameMac.mm:
139 (WebCore::Frame::baseWritingDirectionForSelectionStart): Account for the
140 case that the selection start node is a block.
142 2008-09-22 David Hyatt <hyatt@apple.com>
144 https://bugs.webkit.org/show_bug.cgi?id=21007
146 Make sure that the scrollbar gets sent a release event on platforms that call handleMouseDoubleClickEvent.
148 Reviewed by Sam Weinig
150 * page/EventHandler.cpp:
151 (WebCore::EventHandler::handleMouseDoubleClickEvent):
153 2008-09-22 Eric Seidel <eric@webkit.org>
155 No review, rollback only.
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)
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):
178 2008-09-22 Dan Bernstein <mitz@apple.com>
180 Reviewed by Sam Weinig.
182 - fix <rdar://problem/5158514> Switch the complex text code path to Core Text
184 Tests: platform/mac-snowleopard/fast/text/myanmar-shaping.html
185 platform/mac-snowleopard/fast/text/thai-combining-mark-positioning.html
187 * config.h: Use Core Text if not building for Leopard or Tiger.
189 2008-09-22 David Hyatt <hyatt@apple.com>
191 https://bugs.webkit.org/show_bug.cgi?id=21006
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.
196 Reviewed by Darin Adler
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):
213 2008-09-22 Chris Marrin <cmarrin@apple.com>
215 Reviewed by Sam Weinig
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
221 * page/animation/ImplicitAnimation.cpp:
222 (WebCore::ImplicitAnimation::sendTransitionEvent):
224 2008-09-22 Chris Fleizach <cfleizach@apple.com>
226 Reviewed by Darin Adler.
228 <rdar://problem/6230234> AXTable should probably not be exposed in there's only one cell
230 Test: accessibility/table-one-cell.html
232 * page/AccessibilityTable.cpp:
233 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
235 2008-09-22 Chris Fleizach <cfleizach@apple.com>
237 Reviewed by Darin Adler.
239 <rdar://problem/6167779> Setting AXSelectedTextRange for TextAreas in a WebView behaves incorrectly
241 Test: accessibility/textarea-selected-text-range.html
243 * page/AccessibilityRenderObject.cpp:
244 (WebCore::AccessibilityRenderObject::setSelectedTextRange):
246 2008-09-22 David Hyatt <hyatt@apple.com>
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
253 Reviewed by Sam Weinig
255 Added fast/css/nested-rule-parent-sheet.html
257 * css/CSSImportRule.cpp:
258 (WebCore::CSSImportRule::insertedIntoParent):
260 (WebCore::CSSRule::parentStyleSheet):
261 (WebCore::CSSRule::parentRule):
262 * css/CSSStyleSheet.cpp:
263 (WebCore::CSSStyleSheet::CSSStyleSheet):
264 * css/CSSStyleSheet.h:
266 2008-09-22 Dan Bernstein <mitz@apple.com>
268 Reviewed by Sam Weinig.
270 - fix https://bugs.webkit.org/show_bug.cgi?id=21002
271 Make the ATSUI code path respect spacingDisabled()
273 Fixes svg/text/text-spacing-01-b.svg in run-webkit-tests --complex-text
275 * platform/graphics/mac/FontMacATSUI.mm:
276 (WebCore::overrideLayoutOperation):
278 2008-09-22 Maciej Stachowiak <mjs@apple.com>
280 Reviewed by Cameron Zwarich.
282 - speed up instanceof operator by replacing implementsHasInstance method with a TypeInfo flag
284 Partial work towards <https://bugs.webkit.org/show_bug.cgi?id=20818>
286 2.2% speedup on EarleyBoyer benchmark.
288 * bindings/js/JSQuarantinedObjectWrapper.cpp:
289 * bindings/js/JSQuarantinedObjectWrapper.h:
290 (WebCore::JSQuarantinedObjectWrapper::createStructureID):
291 * bindings/scripts/CodeGeneratorJS.pm:
293 2008-09-22 Adam Roben <aroben@apple.com>
297 * WebCore.vcproj/WebCore.vcproj: Add a missing </File> tag.
299 2008-09-22 Maciej Stachowiak <mjs@apple.com>
301 Reviewed by Dave Hyatt.
303 Based on initial work by Darin Adler.
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
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.
315 * bindings/js/JSHTMLAllCollection.h:
316 (WebCore::JSHTMLAllCollection::createStructureID):
317 (WebCore::JSHTMLAllCollection::toBoolean):
319 2008-09-22 Tor Arne Vestbø <tavestbo@trolltech.com>
323 Fix the QtWebKit build
325 * bridge/qt/qt_instance.cpp:
326 (JSC::Bindings::QtRuntimeObjectImp::construct):
327 * bridge/qt/qt_runtime.cpp:
329 2008-09-22 Alp Toker <alp@nuanti.com>
331 Suggested by David Hyatt.
333 Build fix: ScrollView::update() is still used by Document.cpp on !MAC
336 * platform/ScrollView.h:
338 2008-09-22 David Hyatt <hyatt@apple.com>
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.
345 Reviewed by Oliver Hunt
347 * platform/mac/ScrollbarThemeMac.mm:
348 (WebCore::ScrollbarThemeMac::trackRect):
349 * platform/win/ScrollbarThemeSafari.cpp:
350 (WebCore::ScrollbarThemeSafari::trackRect):
352 2008-09-22 David Hyatt <hyatt@apple.com>
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.
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).
364 Reviewed by Oliver Hunt
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:
386 2008-09-21 David Hyatt <hyatt@apple.com>
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.
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.
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).
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).
404 Reviewed by Oliver Hunt
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):
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):
427 2008-09-21 Maciej Stachowiak <mjs@apple.com>
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
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:
457 2008-09-21 Darin Adler <darin@apple.com>
459 Reviewed by Maciej Stachowiak.
461 - fix problem Maciej noticed where every JSNamedNodesCollection
462 gets its own StructureID
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
471 2008-09-20 David Hyatt <hyatt@apple.com>
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.)
481 An existing transform test covers this (although only a pixel result
482 reveals the correct rendering).
484 Reviewed by Darin Adler
486 * rendering/RenderLayer.cpp:
487 (WebCore::RenderLayer::updateLayerPositions):
488 (WebCore::RenderLayer::positionOverflowControls):
489 (WebCore::RenderLayer::paintOverflowControls):
490 (WebCore::RenderLayer::paintLayer):
491 * rendering/RenderLayer.h:
493 2008-09-21 Steve Falkenburg <sfalken@apple.com>
495 Removed unnecessary nested timer check.
497 Rubber-stamped by Dan Bernstein.
499 * platform/win/SharedTimerWin.cpp:
500 (WebCore::TimerWindowWndProc):
502 2008-09-21 Steve Falkenburg <sfalken@apple.com>
504 Improve timer resolution on WinXP.
505 https://bugs.webkit.org/show_bug.cgi?id=20979
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.
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).
514 Reviewed by Maciej Stachowiak.
516 * platform/win/SharedTimerWin.cpp:
518 (WebCore::TimerWindowWndProc):
519 (WebCore::setSharedTimerFireTime):
520 * platform/win/SystemTimeWin.cpp:
521 (WebCore::currentTime):
523 2008-09-21 Dirk Schulze <vbs85@gmx.de>
525 Reviewed by eseidel. Landed by eseidel.
527 All platforms use the DashArray in the GraphicsContext.
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):
542 2008-09-21 Dirk Schulze <vbs85@gmx.de>
544 Reviewed by eseidel. Landed by eseidel.
546 Moved DashArray to GraphicsContext.
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:
565 2008-09-21 Dan Bernstein <mitz@apple.com>
567 Reviewed by Mark Rowe.
569 - fix linker warnings
573 2008-09-20 Darin Adler <darin@apple.com>
575 - another try at fixing Qt
577 * bridge/qt/qt_runtime.cpp: "using namespce WebCore"
579 2008-09-20 Darin Adler <darin@apple.com>
581 - blind attempt to fix Qt build
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.
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.
596 2008-09-20 Collin Jackson <collinj@webkit.org>
598 Prefetch DNS for hyperlinks that the user mouses over.
600 https://bugs.webkit.org/show_bug.cgi?id=20931
602 Reviewed by Sam Weinig.
605 (WebCore::Chrome::mouseDidMoveOverElement):
607 2008-09-20 Darin Adler <darin@apple.com>
609 Reviewed by Maciej Stachowiak.
611 - finish https://bugs.webkit.org/show_bug.cgi?id=20858
612 make each distinct C++ class get a distinct JSC::Structure
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.
619 * bridge/runtime_method.cpp:
620 (JSC::RuntimeMethod::RuntimeMethod): Create a unique structure using
622 * bridge/runtime_method.h:
623 (JSC::RuntimeMethod::createPrototype): Added createPrototype so
624 getDOMStructure will work.
626 * bindings/js/JSDOMWindowShell.cpp:
627 (WebCore::JSDOMWindowShell::JSDOMWindowShell): Initialize m_window to
628 0; needed in case garbage collection happens while creating the
631 2008-09-20 Dan Bernstein <mitz@apple.com>
633 Reviewed by Eric Seidel.
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
638 * svg/SVGTextContentElement.cpp:
639 (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback): Changed to
640 not include the first character in the extraCharsAvailable count.
642 2008-09-20 Kevin Ollivier <kevino@theolliviers.com>
644 Reviewed by Dan Bernstein.
648 https://bugs.webkit.org/show_bug.cgi?id=20505
650 * platform/wx/wxcode/mac/carbon/fontprops.cpp:
653 2008-09-20 Kevin Ollivier <kevino@theolliviers.com>
655 wx build fixes. Added/removed build sources, and nativeWindow->platformWidget updates.
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):
685 2008-09-20 Timothy Hatcher <timothy@apple.com>
687 Fix the new Node Search button image to not be blurry.
689 * page/inspector/Images/nodeSearchButtons.png:
691 2008-09-20 Matt Lilek <webkit@mattlilek.com>
693 Reviewed by Tim Hatcher.
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.
699 * page/InspectorController.cpp:
700 (WebCore::InspectorController::windowScriptObjectAvailable):
702 2008-09-20 Matt Lilek <webkit@mattlilek.com>
704 Reviewed by Tim Hatcher.
706 Fix regression from my previous patch where the breadcrumbs bar was not displayed.
708 * page/inspector/inspector.css:
710 2008-09-20 Nikolas Zimmermann <zimmermann@kde.org>
714 Refactor HTMLImageLoader/SVGImageLoader code.
715 Move html/HTMLImageLoader.* to loader/ImageLoader.*
717 Let HTMLImageLoader & SVGImageLoader inherit from the new base class.
718 SVGImageLoader used to inherit from HTMLImageLoader which is awkward.
722 * WebCore.vcproj/WebCore.vcproj:
723 * WebCore.xcodeproj/project.pbxproj:
724 * WebCoreSources.bkl:
726 (WebCore::Document::dispatchImageLoadEventSoon):
727 (WebCore::Document::removeImage):
728 (WebCore::Document::dispatchImageLoadEventsNow):
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:
756 2008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
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
764 * platform/qt/ScrollbarThemeQt.cpp:
766 (WebCore::scrollbarPart):
767 (WebCore::styleOptionSlider):
769 2008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
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
778 * bridge/qt/qt_instance.cpp:
779 (JSC::Bindings::QtInstance::getRuntimeObject):
781 2008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
783 Reviewed by Nikolas Zimmermann.
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
790 * svg/SVGLocatable.cpp:
791 * svg/SVGLocatable.h:
793 2008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
795 Reviewed by Nikolas Zimmermann.
797 [svg] Use OwnPtr for the SVGExtensions to avoid custom lifetime
801 (WebCore::Document::~Document):
802 (WebCore::Document::svgExtensions):
803 (WebCore::Document::accessSVGExtensions):
806 2008-09-19 David Hyatt <hyatt@apple.com>
808 Fix for crash in updateTransitions. Make sure to test for a style
809 being null when comparing two RenderStyles.
811 Reviewed by Oliver Hunt
813 * page/animation/AnimationBase.cpp:
814 (WebCore::PropertyWrapperGetter::equals):
816 2008-09-19 David Hyatt <hyatt@apple.com>
818 https://bugs.webkit.org/show_bug.cgi?id=20954
820 Roll out r36628 since it has caused horrible regressions with
821 animated GIF CPU usage.
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):
837 2008-09-20 Alp Toker <alp@nuanti.com>
839 Reviewed by Timothy Hatcher.
841 https://bugs.webkit.org/show_bug.cgi?id=20913
842 Avoid redudant includes
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.
848 Some of these includes can be avoided by only including Document.h where
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:
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):
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:
879 2008-09-19 Nikolas Zimmermann <zimmermann@kde.org>
881 Reviewed by Antti & Eric.
883 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372
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.
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
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:
922 2008-09-19 Dan Bernstein <mitz@apple.com>
924 Reviewed by John Sullivan.
926 - fix https://bugs.webkit.org/show_bug.cgi?id=20951
927 Typo in Position::getInlineBoxAndOffset()
930 Without the fix, the newly-added assertion fails in platform/mac/editing/input/caret-primary-bidi.html
933 (WebCore::Position::getInlineBoxAndOffset):
934 * rendering/InlineTextBox.cpp:
935 (WebCore::InlineTextBox::positionForOffset):
937 2008-09-19 David Hyatt <hyatt@apple.com>
939 Add support for hit testing of all five possible scrollbar button placements.
941 Reviewed by Sam Weinig
943 * platform/ScrollbarThemeComposite.cpp:
944 (WebCore::ScrollbarThemeComposite::paint):
945 * platform/mac/ScrollbarThemeMac.mm:
947 (WebCore::ScrollbarThemeMac::backButtonRect):
948 (WebCore::ScrollbarThemeMac::forwardButtonRect):
949 (WebCore::ScrollbarThemeMac::trackRect):
950 (WebCore::ScrollbarThemeMac::paintButton):
952 2008-09-19 Darin Adler <darin@apple.com>
954 - try to fix Qt build
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.
963 2008-09-19 Chris Marrin <cmarrin@apple.com>
965 Reviewed by Dave Hyatt.
967 Transition starts running when it shouldn't
968 https://bugs.webkit.org/show_bug.cgi?id=20892
970 When there is a transition and an animation on the
971 same element, make sure the animation wins.
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.
978 Test: animations/transition-and-animation-1.html
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):
995 2008-09-19 David Hyatt <hyatt@apple.com>
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.
1001 The cross-platform base for all three themes, ScrollbarThemeComposite,
1002 has all the proper support though.
1004 Reviewed by Sam Weinig
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:
1026 2008-09-19 Matt Lilek <webkit@mattlilek.com>
1028 Reviewed by Tim Hatcher.
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>
1034 * English.lproj/localizedStrings.js:
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:
1053 2008-09-19 David Hyatt <hyatt@apple.com>
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.
1059 Reviewed by Sam Weinig
1061 * platform/ScrollTypes.h:
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:
1077 2008-09-19 Beth Dakin <bdakin@apple.com>
1079 Reviewed by Dave Hyatt.
1081 Fix for <rdar://problem/6231308> crash in AutoTableLayout
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.
1086 * rendering/RenderTableSection.cpp:
1087 (WebCore::RenderTableSection::ensureRows):
1089 2008-09-19 David Hyatt <hyatt@apple.com>
1091 Add a new ScrollbarButtonsPlacement type for specifying where
1092 the button arrows are in a scrollbar.
1094 Read in the placement settings for Mac. Nothing is done with the
1097 Add a new buttonsPlacement() method to ScrollbarTheme composite
1098 so that the arrow settings can be obtained.
1100 Reviewed by Sam Weinig
1102 * platform/ScrollTypes.h:
1104 * platform/ScrollbarThemeComposite.h:
1105 (WebCore::ScrollbarThemeComposite::buttonsPlacement):
1106 * platform/mac/ScrollbarThemeMac.mm:
1107 (WebCore::updateArrowPlacement):
1108 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
1110 2008-09-19 Steve Falkenburg <sfalken@apple.com>
1112 Roll out r36626. It is causing variance in SunSpider numbers on XP.
1114 Rubber stamped by Mark Rowe.
1116 * platform/win/SharedTimerWin.cpp:
1117 (WebCore::isRunningOnVistaOrLater):
1118 (WebCore::setSharedTimerFireTime):
1120 2008-09-19 Kevin McCullough <kmccullough@apple.com>
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.
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.
1136 2008-09-19 Chris Fleizach <cfleizach@apple.com>
1138 Removed unnecessary #if
1140 * page/mac/AccessibilityObjectWrapper.mm:
1142 2008-09-19 David Hyatt <hyatt@apple.com>
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
1148 Reviewed by Sam Weinig
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):
1157 2008-09-19 David Hyatt <hyatt@apple.com>
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.
1162 Reviewed by Sam Weinig
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.
1170 2008-09-19 Darin Adler <darin@apple.com>
1172 Reviewed by Sam Weinig.
1174 - part 2 of https://bugs.webkit.org/show_bug.cgi?id=20858
1175 make each distinct C++ class get a distinct JSC::Structure
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.
1180 + Got rid of cacheGlobalObject.
1182 + Improved use of PassRefPtr in bindings code.
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.
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
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.
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.
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.
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.
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.
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.
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.
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
1251 * bindings/js/JSInspectedObjectWrapper.h: Ditto.
1252 * bindings/js/JSInspectorCallbackWrapper.cpp:
1253 (WebCore::JSInspectorCallbackWrapper::wrap): Ditto.
1254 * bindings/js/JSInspectorCallbackWrapper.h: Ditto.
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.
1262 * bindings/js/JSQuarantinedObjectWrapper.cpp: Removed overloaded
1263 constructor that takes a prototype instead of a structure.
1264 * bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
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.
1272 * bindings/js/JSSQLResultSetRowListCustom.cpp:
1273 (WebCore::JSSQLResultSetRowList::item): Use constructEmptyObject instead
1274 of explicit coding the idiom for making a new object.
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):
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.
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.
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.
1306 * bridge/runtime_array.cpp: Fixed namespacing a bit.
1307 (JSC::RuntimeArray::RuntimeArray): Create a unique structure using
1309 * bridge/runtime_array.h: Added createPrototype so getDOMStructure
1312 * bridge/runtime_object.cpp:
1313 (JSC::RuntimeObjectImp::RuntimeObjectImp): Create a unique structure using
1315 * bridge/runtime_object.h: Added createPrototype so getDOMStructure
1318 * history/CachedPage.cpp:
1319 (WebCore::CachedPage::restore): Let the window shell's
1320 setWindow function create the JSDOMWindow instead of doing it here.
1322 * page/DOMWindow.idl: Removed DoNotCache, which is no longer used.
1324 2008-09-19 Dan Bernstein <mitz@apple.com>
1326 Reviewed by Dave Hyatt.
1328 This optimization was suggested by Daniel Fenwick
1330 - speed up measuring text on the Core Text code path by not specifying a paragraph writing direction
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.
1336 * platform/graphics/SimpleFontData.h: Removed the ltr parameter to
1337 getCFStringAttributes() and changed m_CFStringAttributes from an array
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.
1355 2008-09-19 David Hyatt <hyatt@apple.com>
1357 Reviewed by Sam Weinig
1359 https://bugs.webkit.org/show_bug.cgi?id=20941
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
1366 Added fast/block/positioning/replaced-inside-top-bottom.html
1368 * rendering/RenderBox.cpp:
1369 (WebCore::RenderBox::availableHeightUsing):
1371 2008-09-19 Chris Fleizach <cfleizach@apple.com>
1375 * page/mac/AccessibilityObjectWrapper.mm:
1377 2008-09-18 Chris Fleizach <cfleizach@apple.com>
1379 Reviewed by Darin Adler.
1381 <rdar://problem/6211041> Expose legend tag in accessibility
1383 Exposes the legend tag as the titleUIElement of a fieldset
1385 Test: accessibility/legend.html
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:
1395 2008-09-19 Chris Fleizach <cfleizach@apple.com>
1397 Reviewed by Darin Adler.
1399 <rdar://problem/6213171> WebKit should use new array-centric methods for AX performance
1401 Implement a few AX API methods that will be called by AppKit, which will
1402 speed up access to accessibility objects
1404 * page/mac/AccessibilityObjectWrapper.mm:
1405 (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
1406 (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
1407 (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
1409 2008-09-19 Holger Hans Peter Freyther <zecke@selfish.org>
1411 Reviewed by Simon Hausmann.
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.
1419 * platform/network/qt/QNetworkReplyHandler.cpp:
1421 2008-09-19 Holger Hans Peter Freyther <zecke@selfish.org>
1423 Reviewed by Simon Hausmann.
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.
1430 * dom/XMLTokenizerQt.cpp:
1431 (WebCore::XMLTokenizer::doWrite):
1433 2008-09-18 Darin Adler <darin@apple.com>
1435 Reviewed by Maciej Stachowiak.
1437 - part 1 of https://bugs.webkit.org/show_bug.cgi?id=20858
1438 make each distinct C++ class get a distinct JSC::Structure
1440 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1441 (WebCore::JSCSSStyleDeclaration::customPut): Use setDOMException
1442 instead of DOMExceptionTranslator.
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.
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.
1465 * bindings/js/JSDOMWindowBase.h: Added JSDOMStructureMap type,
1466 and put one of those maps in each window.
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.
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.
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.
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.
1500 (WebCore::Document::~Document): Updated for name change and also
1501 removed unnecessary JSLock use -- there's no need to lock around this.
1503 (WebCore::Node::setDocument): Ditto.
1505 * dom/make_names.pl: Changed to use CREATE_DOM_NODE_WRAPPER macro
1506 instead of calling new directly.
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.
1554 2008-09-18 David Hyatt <hyatt@apple.com>
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.
1561 Reviewed by Sam Weinig
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:
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):
1591 2008-09-18 Collin Jackson <collinj@webkit.org>
1593 Build fix; added missing header file to GNUmakefile.am
1597 2008-09-18 Sam Weinig <sam@webkit.org>
1599 Reviewed by David "the Hair" Hyatt.
1601 Move DataRef, SVGRenderStyle and SVGRenderStyleDefs in render/style.
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.
1618 2008-09-18 Mark Rowe <mrowe@apple.com>
1620 Reviewed by Dan Bernstein.
1622 Add a means of clearing a FrameTree's name.
1625 * page/FrameTree.cpp:
1626 (WebCore::FrameTree::clearName):
1629 2008-09-18 David Hyatt <hyatt@apple.com>
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.
1635 Reviewed by Sam Weinig
1637 * platform/Widget.h:
1638 * platform/mac/ScrollViewMac.mm:
1639 (WebCore::ScrollView::addChild):
1640 * platform/mac/WidgetMac.mm:
1642 2008-09-18 Collin Jackson <collinj@webkit.org>
1644 Reviewed by Antti Koivisto and Mark Rowe.
1646 Test: http/tests/misc/dns-prefetch-control.html
1648 https://bugs.webkit.org/show_bug.cgi?id=20690
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.
1654 * WebCore.vcproj/WebCore.vcproj:
1655 * WebCore.xcodeproj/project.pbxproj:
1657 (WebCore::Document::Document):
1658 (WebCore::Document::processHttpEquiv):
1659 (WebCore::Document::setSecurityOrigin):
1660 (WebCore::Document::initDNSPrefetch):
1661 (WebCore::Document::parseDNSPrefetchControlHeader):
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):
1686 2008-09-18 David Hyatt <hyatt@apple.com>
1688 Eliminate the convertToScreenCoordinate method on Widget, since
1689 ScrollView has redundant methods that already do the same thing.
1691 Reviewed by Sam Weinig
1693 * editing/mac/SelectionControllerMac.mm:
1694 (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
1695 * platform/Widget.h:
1696 * platform/mac/WidgetMac.mm:
1697 (WebCore::Widget::containingWindow):
1699 2008-09-18 David Hyatt <hyatt@apple.com>
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
1705 Reviewed by Sam Weinig
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):
1730 2008-09-18 David Hyatt <hyatt@apple.com>
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
1736 Reviewed by Sam Weinig
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):
1751 2008-09-18 David Hyatt <hyatt@apple.com>
1753 Make geometryChanged() cross-platform on Widget. GTK and WIN platform
1754 ifdefs are now gone from Widget!
1756 Reviewed by Sam Weinig
1758 * platform/Widget.h:
1759 (WebCore::Widget::geometryChanged):
1760 * platform/gtk/WidgetGtk.cpp:
1761 * platform/qt/WidgetQt.cpp:
1763 2008-09-18 David Hyatt <hyatt@apple.com>
1765 Consolidate convertTo/FromContainingWindow methods so that all platforms
1766 but Mac share the same code.
1768 Move convertSelfToChild and convertChildToSelf to ScrollView, since
1769 Widget should know nothing about children. Make the methods cross-platform
1772 Reviewed by Sam Weinig
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:
1795 2008-09-18 David Hyatt <hyatt@apple.com>
1797 Make the conversion methods that go to and from some containingWindow
1798 cross-platform. Implement them on Mac.
1800 Reviewed by Sam Weinig
1802 * platform/Widget.h:
1803 (WebCore::Widget::setContainingWindow):
1804 * platform/mac/WidgetMac.mm:
1805 (WebCore::Widget::convertFromContainingWindow):
1806 (WebCore::Widget::convertToContainingWindow):
1808 2008-09-18 Sam Weinig <sam@webkit.org>
1810 Rubber-stamped by David "Yeah-yeah" Hyatt.
1812 Cleanup RenderStyle.
1814 * WebCore.xcodeproj/project.pbxproj:
1815 * rendering/style/CounterContent.h:
1816 * rendering/style/RenderStyle.cpp:
1817 * rendering/style/RenderStyle.h:
1819 2008-09-18 Chris Marrin <cmarrin@apple.com>
1821 Reviewed by Sam Weinig
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.
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):
1869 2008-09-18 Holger Hans Peter Freyther <zecke@selfish.org>
1873 [qt] Build fixes after the Widget/ScrollView cleanup
1874 topLevel() is now root()
1877 * platform/qt/ScrollViewQt.cpp:
1878 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
1879 (WebCore::ScrollView::addChild):
1880 (WebCore::ScrollView::removeChild):
1882 2008-09-18 Holger Hans Peter Freyther <zecke@selfish.org>
1884 Reviewed by Mark Rowe.
1886 https://bugs.webkit.org/show_bug.cgi?id=20437
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.
1895 Attempt to add XMLTokenizerLibxml2.cpp to every buildsystem so the build continues
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):
1947 2008-09-18 Beth Dakin <bdakin@apple.com>
1949 Reviewed by Geoff Garen.
1951 Build fix for non-Mac builds.
1953 * css/CSSPrimitiveValue.cpp:
1954 (WebCore::CSSPrimitiveValue::cssText):
1956 2008-09-18 Peter Kasting <pkasting@google.com>
1958 Reviewed by hyatt. Landed by eseidel.
1960 https://bugs.webkit.org/show_bug.cgi?id=20745
1961 Animated GIFs do not animate properly with (at least) CG.
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:
1970 2008-09-18 Chris Fleizach <cfleizach@apple.com>
1972 Reviewed by Beth Dakin
1974 <rdar://problem/6224222> AX: should not expose a <table> as an AXTable if ARIA
1975 role specifies otherwise
1977 If a <table> isn't an AXTable, the rows and cells should default to AccessibilityRenderObject
1979 Test: accessibility/table-with-aria-role.html
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:
1998 2008-09-18 Steve Falkenburg <sfalken@apple.com>
2000 Use higher-resolution timers on all variants of Windows.
2002 Reviewed by Darin Adler.
2004 * platform/win/SharedTimerWin.cpp:
2005 (WebCore::setSharedTimerFireTime):
2008 2008-09-18 David Hyatt <hyatt@apple.com>
2010 Make containingWindow() and setContainingWindow() cross-platform.
2011 Add a root() function cross-platform so Qt doesn't have to
2014 Reviewed by Darin Adler
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):
2036 2008-09-18 Beth Dakin <bdakin@apple.com>
2038 Reviewed by Dave Hyatt.
2040 Fix for https://bugs.webkit.org/show_bug.cgi?id=20515 Crash upon
2041 parsing CSS: unicode-range: searchfield-cancel-buttonpt=-webkit-
2043 and corresponding: <rdar://problem/6174100>
2045 This patch makes CSSParserValue::createCSSValue handle unknown
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::):
2058 2008-09-18 Sam Weinig <sam@webkit.org>
2060 Rubber-stamped by David "I'd prefer not" Hyatt.
2062 More the remaining class out of RenderStyle.h/cpp
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.
2117 2008-09-18 David Hyatt <hyatt@apple.com>
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
2123 Reviewed by Sam Weinig
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):
2142 2008-09-18 David Hyatt <hyatt@apple.com>
2144 Make invalidate() on Widget non-virtual and make it just call
2145 invalidateRect() on the boundsGeometry() of the Widget.
2147 Reviewed by Dan Bernstein
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:
2158 2008-09-18 Sam Weinig <sam@webkit.org>
2160 Rubber-stamped in exile by David Hyatt.
2162 Split Animation, AnimationList, BindingURI, ContentData, CounterContent,
2163 KeyframeList, ShadowData, StyleFlexibleBoxData and TimingFunction out of
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==):
2217 2008-09-18 Adele Peterson <adele@apple.com>
2219 Reviewed by Dan Bernstein.
2221 Fix RenderStyle leaks.
2223 * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::createSubtreeIfNeeded):
2225 2008-09-18 Kevin McCullough <kmccullough@apple.com>
2227 Accidentally checked in code.
2229 * html/HTMLElementFactory.cpp:
2230 (WebCore::frameConstructor):
2231 (WebCore::iframeConstructor):
2233 2008-09-18 Kevin McCullough <kmccullough@apple.com>
2237 <rdar://problem/5722310> gracefully handle too many console messages
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.
2243 * manual-tests/inspector/multiple-console-messages.html: Added.
2244 * page/inspector/Console.js:
2245 * page/inspector/inspector.css:
2247 2008-09-18 Jonathon Jongsma <jonathon@quotidian.org>
2249 Reviewed by Alp Toker
2251 https://bugs.webkit.org/show_bug.cgi?id=20830
2252 [GTK] Don't use deprecated pango API
2254 Replace deprecated pango functions with non-deprecated ones for newer
2257 * platform/graphics/gtk/FontGtk.cpp:
2258 (WebCore::getDefaultPangoLayout):
2259 * platform/graphics/gtk/FontPlatformDataPango.cpp:
2260 (WebCore::FontPlatformData::FontPlatformData):
2262 2008-09-18 Alp Toker <alp@nuanti.com>
2264 Build fix for r36587. Add new sources (and sort the lists).
2268 2008-09-17 Sam Weinig <sam@webkit.org>
2272 * WebCore.vcproj/WebCore.vcproj:
2274 2008-09-17 David Hyatt <hyatt@apple.com>
2276 Switch back to having frameGeometry be virtual in order to keep Mac
2277 the way it used to be.
2279 Reviewed by Sam Weinig
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):
2311 2008-09-17 Sam Weinig <sam@webkit.org>
2313 Reviewed by Mark Rowe.
2315 Fix assertion in DOMWindow::adjustWindowRect where we were passing
2316 in garbage values and were getting lucky that they were a not Nan.
2318 * bindings/js/JSDOMWindowBase.cpp:
2319 (WebCore::windowProtoFuncOpen):
2321 2008-09-17 Sam Weinig <sam@webkit.org>
2325 * rendering/style/MatrixTransformOperation.cpp:
2327 2008-09-17 Sam Weinig <sam@webkit.org>
2329 Rubber-stamped with love by David Hyatt.
2331 Split IdentityTransformOperation, MatrixTransformOperation, RotateTransformOperation,
2332 ScaleTransformOperation, SkewTransformOperation, StyleTransformData, TransformOperation,
2333 TransformOperations and TranslateTransformOperation out of RenderStyle.h/cpp
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):
2372 2008-09-17 Mark Rowe <mrowe@apple.com>
2376 * rendering/style/StyleDashboardRegion.h: PlatformString.h rather than String.h.
2378 2008-09-17 David Hyatt <hyatt@apple.com>
2380 (1) Inline a bunch of methods for accessing frame geometry.
2381 (2) Make sure frameGeometry() works even when you have no underlying
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.
2387 Reviewed by Sam Weinig
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:
2422 2008-09-17 Sam Weinig <sam@webkit.org>
2424 Reviewed by David "Waterman" Hyatt.
2426 Fix a leak of NSViews in WidgetMac.mm.
2428 * platform/mac/WidgetMac.mm:
2429 (WebCore::Widget::~Widget):
2431 2008-09-17 Sam Weinig <sam@webkit.org>
2433 Rubber-stamped by David Waterman Hyatt.
2435 Split FillLayer, StyleBackgroundData, StyleBoxData, StyleDashboardRegion, StyleMarqueeData
2436 StyleMultiColData and StyleVisualData out of RenderStyle.h/cpp
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==):
2471 2008-09-17 David Hyatt <hyatt@apple.com>
2473 Remove WidgetClient from Widget.
2475 Reviewed by Sam Weinig
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):
2494 2008-09-17 David Hyatt <hyatt@apple.com>
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
2502 Reviewed by Sam Weinig & Darin Adler
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:
2526 2008-09-17 Sam Weinig <sam@webkit.org>
2528 Rubber-stamped by David Hyatt.
2530 Split all RenderStyle enums into their own file.
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.
2540 * rendering/style/StyleCachedImage.h:
2541 * rendering/style/StyleGeneratedImage.h:
2542 * rendering/style/StyleImage.h:
2544 2008-09-17 Steve Falkenburg <sfalken@apple.com>
2546 Add back isFrameView check to fix failed assertion during scroll bar teardown.
2548 Reviewed by Dave Hyatt.
2550 * platform/Scrollbar.cpp:
2551 (WebCore::Scrollbar::setParent):
2553 2008-09-17 Brady Eidson <beidson@apple.com>
2555 Reviewed by Mac build fix
2557 * WebCore.xcodeproj/project.pbxproj: Send appropriate headers to WebKit
2559 2008-09-17 Steve Falkenburg <sfalken@apple.com>
2563 * platform/win/ScrollViewWin.cpp:
2564 (WebCore::ScrollView::setParentVisible):
2565 * plugins/win/PluginViewWin.cpp:
2566 (WebCore::PluginView::init):
2568 2008-09-17 Holger Hans Peter Freyther <zecke@selfish.org>
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
2579 * platform/text/qt/TextCodecQt.cpp:
2580 (WebCore::TextCodecQt::decode):
2582 2008-09-17 Sam Weinig <sam@webkit.org>
2584 Rubber-stamped by Dave Hyatt.
2586 Split BorderData, BorderValue, CollapsedBorderValue, OutlineValue and StyleSurroundData
2587 out of RenderStyle.h/cpp
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.
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.
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!=):
2619 2008-09-17 Beth Dakin <bdakin@apple.com>
2621 Reviewed by Darin Adler.
2623 This is a better fix for: Invalid CSS code crashes Safari
2624 https://bugs.webkit.org/show_bug.cgi?id=20512
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.
2629 * css/CSSParser.cpp:
2630 (WebCore::CSSParser::parseCounterContent):
2632 2008-09-17 Alp Toker <alp@nuanti.com>
2634 GTK+ build fix. Adapt to use PlatformWidget functions.
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):
2645 2008-09-17 Sam Weinig <sam@webkit.org>
2647 Reviewed by Adele Peterson.
2649 Patch for <rdar://problem/6133884>
2650 Calling window.resizeTo() on a subframe shouldn't change the window size
2652 Test: fast/dom/Window/window-resize-and-move-sub-frame.html
2654 * page/DOMWindow.cpp:
2655 (WebCore::DOMWindow::moveBy):
2656 (WebCore::DOMWindow::moveTo):
2657 (WebCore::DOMWindow::resizeBy):
2658 (WebCore::DOMWindow::resizeTo):
2660 2008-09-17 Beth Dakin <bdakin@apple.com>
2662 Reviewed by Adam Roben.
2664 Fix for https://bugs.webkit.org/show_bug.cgi?id=20512 Invalid CSS
2666 and corresponding: <rdar://problem/6173832>
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.
2672 * css/CSSParser.cpp:
2673 (WebCore::CSSParser::parseCounterContent):
2675 2008-09-17 Greg Bolsinga <bolsinga@apple.com>
2677 Reviewed by Antti Koivisto.
2679 Fix <rdar://problem/6227089>
2680 Crash in WebCore::Frame::setNeedsReapplyStyles()
2682 View is null checked elsewhere too.
2685 (WebCore::Frame::setNeedsReapplyStyles):
2687 2008-09-17 David Hyatt <hyatt@apple.com>
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.
2697 There are new cross-platform methods that replace all of the unique
2698 platform-specific methods.
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.
2707 Reviewed by Sam Weinig
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):
2829 2008-09-17 Sam Weinig <sam@webkit.org>
2833 * platform/Widget.cpp:
2834 (WebCore::Widget::setParent):
2836 2008-09-17 David Hyatt <hyatt@apple.com>
2838 Beginnings of Widget refactoring (in order to make the mixing of
2839 widgets with and without corresponding native widgets more cross-platform).
2841 This first patch makes the concept of a parent ScrollView cross-platform.
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.
2848 Reviewed by Sam Weinig
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):
2904 2008-09-17 Alexey Proskuryakov <ap@webkit.org>
2906 Reviewed by Adam Roben.
2908 <rdar://problem/6219577> Spew in console at launch about encoding mappings when running with ICU 4.0
2910 * platform/text/TextCodecICU.cpp:
2911 (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated for new encoding names.
2913 2008-09-17 Tor Arne Vestbø <tavestbo@trolltech.com>
2915 Fix the QtWebKit/Mac build
2917 * platform/qt/ScrollViewQt.cpp: add include
2919 2008-09-17 David Hyatt <hyatt@apple.com>
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.
2925 The new scroller paints a debug red if turned on (although due to
2926 Widget issues you won't see anything paint yet).
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:
2938 2008-09-16 Marco Barisione <marco.barisione@collabora.co.uk>
2940 Reviewed by Alp Toker.
2942 http://bugs.webkit.org/show_bug.cgi?id=20854
2943 [GTK] Windows can be not realized in ScrollView::update
2945 Do not call gdk_window_invalidate_rect on a non-realized GtkWidget.
2947 * platform/gtk/ScrollViewGtk.cpp:
2948 (WebCore::ScrollView::update):
2950 2008-09-16 Alp Toker <alp@nuanti.com>
2952 Suggested by Dave Hyatt.
2954 Build fix and cleanup. Rename ScrollBar to Scrollbar.
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:
2990 2008-09-16 David Hyatt <hyatt@apple.com>
2992 Fix Qt build bustage by making moveThumb a member of Scrollbar so that
2993 it can be called from ScrollbarQt.
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):
3004 2008-09-16 David Hyatt <hyatt@apple.com>
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.
3010 Reviewed by Sam Weinig
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:
3062 2008-09-16 David Hyatt <hyatt@apple.com>
3064 Make the scrollbar resizer-dodging logic cross-platform in the
3067 Reviewed by Sam Weinig
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:
3085 2008-09-16 Dan Bernstein <mitz@apple.com>
3087 Reviewed by Darin Adler.
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
3092 Covered by fast/repaint/4776765.html
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.
3104 2008-09-16 Dan Bernstein <mitz@apple.com>
3106 Reviewed by Dave Hyatt.
3108 - fix https://bugs.webkit.org/show_bug.cgi?id=15384
3109 Div does not notice when grandparent changes height
3111 Test: fast/block/basic/quirk-percent-height-grandchild.html
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
3116 Test: fast/replaced/percent-height-in-anonymous-block.html
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
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.
3154 2008-09-16 Dirk Schulze <vbs85@gmx.de>
3156 Reviewed by Oliver Hunt and Alp Toker.
3158 Implemented toDataURL in Cairo. Only PNG support
3161 Qt, Cairo and wx require toDataURL implementations
3162 https://bugs.webkit.org/show_bug.cgi?id=17719
3164 * platform/MIMETypeRegistry.cpp:
3165 (WebCore::initializeSupportedImageMIMETypesForEncoding):
3166 * platform/graphics/cairo/ImageBufferCairo.cpp:
3167 (WebCore::ImageBuffer::ImageBuffer):
3168 (WebCore::writeFunction):
3169 (WebCore::ImageBuffer::toDataURL):
3171 2008-09-16 Tor Arne Vestbø <tavestbo@trolltech.com>
3175 Hide unused media element controls in the QtWebKit port
3177 * platform/qt/html4-adjustments-qt.css
3179 2008-09-16 Ariya Hidayat <ariya.hidayat@trolltech.com>
3183 Fix compilation of the Qt scrollbar code.
3185 * platform/qt/PlatformScrollBarQt.cpp:
3187 (WebCore::styleOptionSlider):
3188 (WebCore::thumbLength):
3189 (WebCore::pixelPosToRangeValue):
3190 (WebCore::PlatformScrollbar::handleContextMenuEvent):
3192 2008-09-16 Adam Treat <treat@kde.org>
3194 Reviewed by Anders Carlsson.
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.
3199 * plugins/qt/PluginPackageQt.cpp:
3200 (WebCore::PluginPackage::fetchInfo):
3202 2008-09-15 Rob Buis <buis@kde.org>
3206 https://bugs.webkit.org/show_bug.cgi?id=20634
3207 SVG transform attribute is ignored by <use> in <clipPath>
3209 Transform the paths with the local transform when part
3212 Test: svg/custom/use-clipped-transform.svg
3214 * svg/SVGClipPathElement.cpp:
3215 (WebCore::SVGClipPathElement::canvasResource):
3216 * svg/SVGStyledTransformableElement.cpp:
3217 (WebCore::SVGStyledTransformableElement::toClipPath):
3218 * svg/SVGStyledTransformableElement.h:
3220 2008-09-15 Dave Hyatt <hyatt@apple.com>
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).
3225 Reviewed by Sam Weinig
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):
3249 * platform/qt/ScrollbarThemeQt.cpp:
3250 (WebCore::styleOptionSlider):
3251 (WebCore::ScrollbarThemeQt::hitTest):
3252 (WebCore::ScrollbarThemeQt::shouldCenterOnThumb):
3253 (WebCore::ScrollbarThemeQt::invalidatePart):
3254 (WebCore::ScrollbarThemeQt::thumbPosition):
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:
3264 2008-09-15 David Smith <catfish.man@gmail.com>
3266 Reviewed by Sam Weinig.
3268 https://bugs.webkit.org/show_bug.cgi?id=20180
3270 Cache the result of parsing the an+b expression in :nth-child(an+b). Roughly a 2x speedup for :nth-child on SlickSpeed.
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):
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
3291 2008-09-15 Matt Lilek <webkit@mattlilek.com>
3293 Reviewed by Tim Hatcher.
3295 Clean up some inspector JS callbacks to remove an extra return.
3297 * page/InspectorController.cpp:
3298 (WebCore::hideDOMNodeHighlight):
3300 (WebCore::unloading):
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):
3315 2008-09-15 Dave Hyatt <hyatt@apple.com>
3317 Completely switch Windows scrollbars over to ScrollbarTheme. The Aqua windows scrollbar and native scrollbar
3318 now share most of their code.
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.
3323 Reviewed by Sam Weinig
3325 * WebCore.vcproj/WebCore.vcproj:
3326 * platform/ScrollTypes.h:
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):
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:
3358 2008-09-15 Chris Fleizach <cfleizach@apple.com>
3360 Reviewed by Darin Adler, Beth Dakin
3362 <rdar://problem/4003789> Expose lists as AXList
3363 <rdar://problem/5707399> VO: Definition lists not announced in Safari
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")
3370 Test: accessibility/lists.html
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:
3389 2008-09-15 Nikolas Zimmermann <zimmermann@kde.org>
3393 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20865
3394 Prepare HTMLScriptElement & SVGScriptElement unification, and unification of event handling.
3397 dispatchHTMLEvent -> dispatchEventForType
3398 setHTMLEventListener -> setEventListenerForType
3399 getHTMLEventListener -> eventListenerForType
3400 removeHTMLEventListener -> removeEventListenerForType
3401 isHTMLEventListener -> isAttachedToEventTargetNode
3404 Similar renames for the dispatch/get/set/*Window*Event functions.
3405 Kill JSSVGLazyEventListener and merge with JSLazyEventListener.
3407 Most important change: Rename setHTMLEventListener to setEventListenerForTypeAndAttribute,
3408 as there exists a generic createEventListener() method now, taking care of JSLazyEventListener creation.
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/.
3413 No functional changes.
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):
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):
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):
3534 (WebCore::Frame::sendScrollEvent):
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):
3547 * svg/SVGSVGElement.cpp:
3548 (WebCore::SVGSVGElement::parseMappedAttribute):
3549 * svg/SVGSVGElement.h:
3551 2008-09-15 Dave Hyatt <hyatt@apple.com>
3553 Convert PlatformScrollbarWin to use ScrollbarTheme for hit testing. PlatformScrollbarQt/Gtk still
3554 need to be converted.
3556 Reviewed by Sam Weinig
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):
3579 2008-09-15 David Smith <catfish.man@gmail.com>
3581 "Just do it"'d by Mark Rowe
3583 https://bugs.webkit.org/show_bug.cgi?id=20856
3584 Add missing license header
3586 * dom/NodeRenderStyle.h:
3588 2008-09-15 Dean Jackson <dino@apple.com>
3590 Reviewed by Tim Hatcher.
3592 Add default constructor for ShadowData
3593 https://bugs.webkit.org/show_bug.cgi?id=20757
3595 Test: transitions/shadow.html
3597 * rendering/style/RenderStyle.h:
3599 2008-09-15 Dean Jackson <dino@apple.com>
3601 Reviewed by Tim Hatcher.
3603 RenderStyle should update keyframes.
3604 http://bugs.webkit.org/show_bug.cgi?id=20756
3606 * rendering/style/RenderStyle.cpp:
3607 (WebCore::StyleRareNonInheritedData::updateKeyframes):
3609 2008-09-15 Dean Jackson <dino@apple.com>
3611 Reviewed by Tim Hatcher.
3613 Unnecessary ASSERT in ImplicitAnimation destructor.
3614 https://bugs.webkit.org/show_bug.cgi?id=20817
3616 * page/animation/ImplicitAnimation.cpp:
3617 (WebCore::ImplicitAnimation::~ImplicitAnimation):
3619 2008-09-15 Adam Treat <treat@kde.org>
3623 Fix plugin extension info. It was returning the mimetype where the
3624 extension was given.
3626 * plugins/qt/PluginPackageQt.cpp:
3627 (WebCore::PluginPackage::fetchInfo):
3629 2008-09-15 Dean Jackson <dino@apple.com>
3631 Reviewed by Tim Hatcher
3633 Coding style violation!!!! Cleanup AnimationBase.cpp
3635 * page/animation/AnimationBase.cpp:
3636 (WebCore::blendFunc):
3638 2008-09-15 David Hyatt <hyatt@apple.com>
3640 Move all hit testing code for scrollbars into the base class. Refactor
3641 it to accommodate all platform-specific behaviors using virtual ScrollbarTheme
3644 No platform is using this code yet. Although it has been moved and compiles
3645 (even on Mac), it is not being used on any platform.
3647 Reviewed by Sam Weinig
3649 * platform/ScrollBar.cpp:
3650 (WebCore::Scrollbar::autoscrollPressedPart):
3651 (WebCore::Scrollbar::startTimerIfNeeded):
3652 (WebCore::Scrollbar::handleMouseMoveEvent):
3653 (WebCore::Scrollbar::handleMouseOutEvent):
3654 (WebCore::Scrollbar::handleMouseReleaseEvent):
3655 (WebCore::Scrollbar::handleMousePressEvent):
3656 * platform/ScrollBar.h:
3657 (WebCore::Scrollbar::handleContextMenuEvent):
3658 * platform/ScrollbarTheme.h:
3659 (WebCore::ScrollbarTheme::hitTest):
3660 (WebCore::ScrollbarTheme::invalidateOnMouseEnterExit):
3661 (WebCore::ScrollbarTheme::invalidatePart):
3662 (WebCore::ScrollbarTheme::shouldCenterOnThumb):
3663 (WebCore::ScrollbarTheme::centerOnThumb):
3664 (WebCore::ScrollbarTheme::thumbPosition):
3665 (WebCore::ScrollbarTheme::thumbLength):
3666 (WebCore::ScrollbarTheme::trackLength):
3667 (WebCore::ScrollbarTheme::initialAutoscrollTimerDelay):
3668 (WebCore::ScrollbarTheme::autoscrollTimerDelay):
3669 * platform/Widget.h:
3670 (WebCore::Widget::parent):
3671 * platform/mac/PlatformScrollBar.h:
3672 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
3673 (WebCore::PlatformScrollbar::handleMouseOutEvent):
3674 (WebCore::PlatformScrollbar::handleMousePressEvent):
3675 (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
3676 * platform/mac/WidgetMac.mm:
3677 (WebCore::Widget::convertFromContainingWindow):
3678 * platform/win/ScrollbarThemeWin.cpp:
3679 (WebCore::ScrollbarThemeWin::invalidateOnMouseEnterExit):
3680 * platform/win/ScrollbarThemeWin.h:
3682 2008-09-15 Dan Bernstein <mitz@apple.com>
3684 Reviewed by Sam Weinig.
3686 - fix <rdar://problem/5842247> Single long breakable word takes O(n^2) to lay out
3688 Cache the next breakable position for text nodes in InlineIterator.
3690 * rendering/bidi.cpp:
3691 (WebCore::InlineIterator::InlineIterator):
3692 (WebCore::InlineIterator::increment):
3693 (WebCore::RenderBlock::findNextLineBreak):
3695 2008-09-15 Simon Fraser <simon.fraser@apple.com>
3697 Reviewed by Dan Bernstein
3699 Fix assertion and integral pixel issue when creating subimages.
3700 https://bugs.webkit.org/show_bug.cgi?id=20786
3702 * platform/graphics/cg/ImageCG.cpp:
3703 (WebCore::BitmapImage::draw):
3705 2008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
3709 Implment seek() and clean up and improve debugging output
3711 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
3713 (WebCore::MediaPlayerPrivate::seek):
3714 (WebCore::MediaPlayerPrivate::setVolume):
3715 (WebCore::MediaPlayerPrivate::setMuted):
3716 (WebCore::MediaPlayerPrivate::updateStates):
3717 (WebCore::MediaPlayerPrivate::naturalSize):
3718 (WebCore::MediaPlayerPrivate::paint):
3719 (WebCore::MediaPlayerPrivate::stateChanged):
3720 (WebCore::MediaPlayerPrivate::tick):
3722 2008-09-15 Holger Hans Peter Freyther <zecke@selfish.org>
3726 Remove bogus Q_ASSERTs from the MediaPlayer Phonon implementation
3728 m_mediaObject, m_audioOutput, m_videoWidget get created in the
3729 c'tor and will only be deleted in the c'tor. The Q_ASSERTs would
3730 only check if we use the MediaPlayerPrivate after it has been deleted.
3732 Acked-by: Tor Arne Vestbø <tavestbo@trolltech.com>
3734 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
3735 (WebCore::MediaPlayerPrivate::play):
3736 (WebCore::MediaPlayerPrivate::setVolume):
3737 (WebCore::MediaPlayerPrivate::updateStates):
3739 2008-09-15 Anders Carlsson <andersca@apple.com>
3743 <rdar://problem/6163988>
3744 https://bugs.webkit.org/show_bug.cgi?id=20457
3745 Canvas: createPattern crashes WebKit in WTF::RefPtr<WebCore::Image>::operator!() const + 9 with a 1D pattern
3747 Check the width and height and throw an exception if any of them are 0.
3749 * html/CanvasRenderingContext2D.cpp:
3750 (WebCore::CanvasRenderingContext2D::createPattern):
3752 2008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
3756 Render media element controls with antialiasing enabled
3758 * platform/qt/RenderThemeQt.cpp:
3759 (WebCore::RenderThemeQt::paintMediaMuteButton):
3760 (WebCore::RenderThemeQt::paintMediaPlayButton):
3761 (WebCore::RenderThemeQt::paintMediaSliderTrack):
3762 (WebCore::RenderThemeQt::paintMediaSliderThumb):
3764 2008-09-15 Ariya Hidayat <ariya.hidayat@trolltech.com>
3768 Upon non fatal error, switch to the pause state (so that playback can continue)
3770 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
3771 (WebCore::MediaPlayerPrivate::updateStates):
3773 2008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
3777 Don't set WTF_USE_JSC in WebCore.pro now that it's set in config.h
3781 2008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
3785 Make QtInstance::create() private and fix caching
3787 * bindings/js/ScriptControllerQt.cpp:
3788 (WebCore::ScriptController::createScriptInstanceForWidget):
3789 * bridge/qt/qt_instance.cpp:
3790 (JSC::Bindings::QtInstance::getQtInstance):
3791 (JSC::Bindings::QtInstance::getRuntimeObject):
3792 * bridge/qt/qt_instance.h:
3793 (JSC::Bindings::QtInstance::create):
3794 * bridge/qt/qt_runtime.cpp:
3795 (JSC::Bindings::convertQVariantToValue):
3796 (JSC::Bindings::QtConnectionObject::execute):
3798 2008-09-15 David Smith <catfish.man@gmail.com>
3800 Reviewed by Dave Hyatt.
3802 https://bugs.webkit.org/show_bug.cgi?id=20180
3804 >2x speedup on querySelector[All] with :nth-child by removing the collectRulesOnly argument on SelectorChecker.
3805 With collectRulesOnly set to true (the default) an optimization is turned off, and no callers were intentionally leaving it true.
3806 querySelector[All] assumed that the default was probably the right way to go, and so ended up being slow.
3808 * css/CSSStyleSelector.cpp:
3809 (WebCore::CSSStyleSelector::CSSStyleSelector):
3810 (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker):
3811 * css/CSSStyleSelector.h:
3813 2008-09-14 Dave Hyatt <hyatt@apple.com>
3815 Refactor PlatformScrollbarWin's painting so that it is now done by ScrollbarThemeWin. PlatformScrollbarSafari
3816 is still painting itself (a subsequent patch will move its painting into ScrollbarThemeSafari).
3818 Reviewed by Sam Weinig
3820 * platform/ScrollBar.h:
3821 (WebCore::Scrollbar::client):
3822 (WebCore::Scrollbar::currentPos):
3823 (WebCore::Scrollbar::totalSize):
3824 * platform/ScrollbarTheme.h:
3825 * platform/ScrollbarThemeComposite.cpp:
3826 (WebCore::pageForScrollView):
3827 (WebCore::ScrollbarThemeComposite::paint):
3828 * platform/ScrollbarThemeComposite.h:
3829 (WebCore::ScrollbarThemeComposite::trackIsSinglePiece):
3830 * platform/win/PlatformScrollBar.h:
3831 * platform/win/PlatformScrollBarSafari.cpp:
3832 * platform/win/PlatformScrollBarWin.cpp:
3833 * platform/win/ScrollbarThemeSafari.h:
3834 (WebCore::ScrollbarThemeSafari::hasButtons):
3835 (WebCore::ScrollbarThemeSafari::hasThumb):
3836 (WebCore::ScrollbarThemeSafari::backButtonRect):
3837 (WebCore::ScrollbarThemeSafari::forwardButtonRect):
3838 (WebCore::ScrollbarThemeSafari::trackRect):
3839 (WebCore::ScrollbarThemeSafari::splitTrack):
3840 (WebCore::ScrollbarThemeSafari::paintTrack):
3841 (WebCore::ScrollbarThemeSafari::paintButton):
3842 (WebCore::ScrollbarThemeSafari::paintThumb):
3843 * platform/win/ScrollbarThemeWin.cpp:
3844 (WebCore::isRunningOnVistaOrLater):
3845 (WebCore::checkAndInitScrollbarTheme):
3846 (WebCore::ScrollbarThemeWin::ScrollbarThemeWin):
3847 (WebCore::ScrollbarThemeWin::themeChanged):
3848 (WebCore::ScrollbarThemeWin::hasThumb):
3849 (WebCore::ScrollbarThemeWin::backButtonRect):
3850 (WebCore::ScrollbarThemeWin::forwardButtonRect):
3851 (WebCore::ScrollbarThemeWin::trackRect):
3852 (WebCore::ScrollbarThemeWin::splitTrack):
3853 (WebCore::ScrollbarThemeWin::paintTrack):
3854 (WebCore::ScrollbarThemeWin::paintButton):
3855 (WebCore::gripperRect):
3856 (WebCore::paintGripper):
3857 (WebCore::ScrollbarThemeWin::paintThumb):
3858 (WebCore::ScrollbarThemeWin::thumbPosition):
3859 (WebCore::ScrollbarThemeWin::thumbLength):
3860 (WebCore::ScrollbarThemeWin::trackLength):
3861 * platform/win/ScrollbarThemeWin.h:
3862 (WebCore::ScrollbarThemeWin::hasButtons):
3863 (WebCore::ScrollbarThemeWin::trackIsSinglePiece):
3865 2008-09-14 Anthony Ricaud <rik24d@gmail.com>
3867 Moving all resource graphs under the same container for future scalable feature.
3868 This is a speedup on resize but maybe a loss on changing the sorting function.
3870 https://bugs.webkit.org/show_bug.cgi?id=20555
3872 Reviewed by Timothy Hatcher.
3874 * page/inspector/ResourcesPanel.js: Added a container for all resource graphs.
3875 Added WebInspector.ResourceGraph. No more _updateGraphBars on resize.
3876 * page/inspector/inspector.css: Edited corresponding rules and removed unnecessaries.
3878 2008-09-14 Alexey Proskuryakov <ap@webkit.org>
3880 Reviewed by Maciej Stachowiak.
3882 https://bugs.webkit.org/show_bug.cgi?id=20738
3883 compareBoundaryPoints gives incorrect results
3885 Test: fast/dom/Range/compareBoundaryPoints-2.html
3887 * dom/Range.cpp: (WebCore::Range::compareBoundaryPoints): Correct meanings of START_TO_END
3889 * page/DOMSelection.cpp: (WebCore::DOMSelection::addRange): Updated for this change.
3891 2008-09-14 Maciej Stachowiak <mjs@apple.com>
3893 Unreviewed build fix.
3897 * bindings/js/JSQuarantinedObjectWrapper.cpp:
3898 (WebCore::JSQuarantinedObjectWrapper::hasInstance):
3900 2008-09-14 Maciej Stachowiak <mjs@apple.com>
3902 Unreviewed build fix.
3904 Blind attempt to fix build. Correct parameters for hasInstance.
3906 * bindings/js/JSQuarantinedObjectWrapper.cpp:
3907 (WebCore::JSQuarantinedObjectWrapper::hasInstance):
3908 * bindings/js/JSQuarantinedObjectWrapper.h:
3910 2008-09-14 Dan Bernstein <mitz@apple.com>
3912 Rubber-stamped by Sam Weinig.
3914 - revert <http://trac.webkit.org/changeset/36382> because it exposed
3915 <https://bugs.webkit.org/show_bug.cgi?id=20846> and resulted in crashes
3918 * platform/graphics/mac/FontCacheMac.mm:
3919 (WebCore::FontCache::getFontDataForCharacters):
3920 (WebCore::FontCache::getLastResortFallbackFont):
3922 2008-09-14 Dave Hyatt <hyatt@apple.com>
3924 Add a new ScrollbarThemeComposite base class that is shared by ScrollbarThemeSafari and
3925 ScrollbarThemeWin. Any scrollbar that wants to render by ScrollbarPart can subclass from this
3928 Reviewed by Sam Weinig
3930 * WebCore.vcproj/WebCore.vcproj:
3931 * platform/win/ScrollbarThemeSafari.h:
3932 * platform/win/ScrollbarThemeWin.h:
3934 2008-09-14 Alp Toker <alp@nuanti.com>
3936 https://bugs.webkit.org/show_bug.cgi?id=20320
3937 [GTK] A white rectangle is visible behind widgets with rounded corners
3939 Sync bundled gtk2drawing.c to the latest version from Mozilla (coding
3942 Requested by Michael Monreal.
3944 * platform/gtk/RenderThemeGtk.cpp:
3945 (WebCore::RenderThemeGtk::RenderThemeGtk):
3946 * platform/gtk/gtk2drawing.c:
3947 (moz_gtk_set_widget_name):
3948 (ensure_window_widget):
3949 (setup_widget_prototype):
3950 (ensure_button_arrow_widget):
3951 (moz_gtk_get_combo_box_inner_button):
3952 (moz_gtk_get_combo_box_button_inner_widgets):
3953 (ensure_combo_box_widgets):
3954 (moz_gtk_get_combo_box_entry_inner_widgets):
3955 (moz_gtk_get_combo_box_entry_arrow):
3956 (ensure_combo_box_entry_widgets):
3957 (ensure_toolbar_widget):
3958 (ensure_tooltip_widget):
3959 (ensure_menu_bar_widget):
3960 (ensure_menu_bar_item_widget):
3961 (ensure_menu_popup_widget):
3962 (ensure_menu_item_widget):
3963 (ensure_image_menu_item_widget):
3964 (ensure_menu_separator_widget):
3965 (ensure_check_menu_item_widget):
3966 (ensure_tree_header_cell_widget):
3967 (ensure_scrolled_window_widget):
3968 (moz_gtk_button_paint):
3970 (moz_gtk_button_get_inner_border):
3971 (moz_gtk_toggle_paint):
3972 (calculate_button_inner_rect):
3973 (calculate_arrow_rect):
3974 (moz_gtk_scrollbar_button_paint):
3975 (moz_gtk_scrollbar_thumb_paint):
3976 (moz_gtk_caret_paint):
3977 (moz_gtk_entry_paint):
3978 (moz_gtk_treeview_paint):
3979 (moz_gtk_tree_header_cell_paint):
3980 (moz_gtk_combo_box_paint):
3981 (moz_gtk_downarrow_paint):
3982 (moz_gtk_combo_box_entry_button_paint):
3983 (moz_gtk_toolbar_paint):
3984 (moz_gtk_tab_scroll_arrow_paint):
3985 (moz_gtk_menu_bar_paint):
3986 (moz_gtk_menu_item_paint):
3987 (moz_gtk_get_widget_border):
3988 (moz_gtk_get_combo_box_entry_button_size):
3989 (moz_gtk_get_tab_scroll_arrow_size):
3990 (moz_gtk_get_downarrow_size):
3991 (moz_gtk_images_in_menus):
3992 (moz_gtk_widget_paint):
3994 * platform/gtk/gtkdrawing.h:
3996 2008-09-14 David Hyatt <hyatt@apple.com>
3998 Convert Mac, Gtk, wx and Qt over to the new ScrollbarTheme for
3999 painting. Mac and Gtk themes don't do anything and just let the
4000 underlying widget paint. Qt now uses the theme to paint. wx doesn't
4003 Reviewed by Sam Weinig
4005 * platform/ScrollBar.cpp:
4006 (WebCore::Scrollbar::paint):
4007 * platform/ScrollBar.h:
4008 (WebCore::Scrollbar::value):
4009 (WebCore::Scrollbar::visibleSize):
4010 (WebCore::Scrollbar::maximum):
4011 (WebCore::Scrollbar::lineStep):
4012 (WebCore::Scrollbar::pageStep):
4013 (WebCore::Scrollbar::pixelStep):
4014 (WebCore::Scrollbar::pressedPart):
4015 (WebCore::Scrollbar::hoveredPart):
4016 (WebCore::Scrollbar::theme):
4017 * platform/ScrollbarTheme.h:
4018 (WebCore::ScrollbarTheme::paint):
4019 (WebCore::ScrollbarTheme::scrollbarThickness):
4020 (WebCore::ScrollbarTheme::supportsControlTints):
4021 (WebCore::ScrollbarTheme::themeChanged):
4022 * platform/gtk/PlatformScrollBar.h:
4023 * platform/gtk/PlatformScrollBarGtk.cpp:
4024 * platform/mac/PlatformScrollBar.h:
4025 * platform/mac/PlatformScrollBarMac.mm:
4026 * platform/qt/PlatformScrollBar.h:
4027 * platform/qt/PlatformScrollBarQt.cpp:
4028 * platform/qt/ScrollbarThemeQt.cpp:
4029 (WebCore::styleOptionSlider):
4030 * platform/qt/ScrollbarThemeQt.h:
4031 (WebCore::ScrollbarThemeQt::paint):
4032 * platform/win/PlatformScrollBarSafari.cpp:
4033 (WebCore::PlatformScrollbar::paint):
4034 * platform/win/ScrollbarThemeSafari.h:
4035 (WebCore::ScrollbarThemeSafari::supportsControlTints):
4036 * platform/wx/PlatformScrollBar.h:
4037 * platform/wx/TemporaryLinkStubs.cpp:
4038 (PlatformScrollbar::~PlatformScrollbar):
4040 2008-09-14 Sam Weinig <sam@webkit.org>
4044 * platform/qt/PlatformScrollBarQt.cpp:
4046 2008-09-14 Sam Weinig <sam@webkit.org>
4048 Reviewed by Mark Rowe.
4050 Remove extraneous semicolons.
4052 * bindings/scripts/CodeGeneratorObjC.pm:
4053 * html/HTMLLinkElement.cpp:
4054 (WebCore::HTMLLinkElement::tokenizeRelAttribute):
4055 * html/HTMLScriptElement.cpp:
4056 (WebCore::HTMLScriptElement::charsetAttributeValue):
4057 (WebCore::HTMLScriptElement::typeAttributeValue):
4058 * platform/graphics/qt/GradientQt.cpp:
4059 (WebCore::Gradient::platformGradient):
4060 * platform/qt/ScrollViewQt.cpp:
4061 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
4062 * platform/win/ScrollViewWin.cpp:
4063 (WebCore::ScrollView::updateScrollbars):
4064 * rendering/RenderBlock.cpp:
4065 (WebCore::RenderBlock::paintEllipsisBoxes):
4066 * svg/SVGPathSegList.cpp:
4067 (WebCore::SVGPathSegList::toPathData):
4069 2008-09-14 Sam Weinig <sam@webkit.org>
4073 * platform/qt/ScrollViewQt.cpp:
4074 (WebCore::ScrollView::updateScrollbars):
4076 2008-09-14 Sam Weinig <sam@webkit.org>
4080 * platform/qt/PlatformScrollBarQt.cpp:
4081 (WebCore::PlatformScrollbar::PlatformScrollbar):
4082 (WebCore::PlatformScrollbar::paint):
4084 2008-09-13 Jan Michael Alonzo <jmalonzo@webkit.org>
4086 Gtk build fix, not reviewed.
4088 * platform/gtk/PlatformScrollBarGtk.cpp:
4089 (PlatformScrollbar::PlatformScrollbar):
4090 * platform/gtk/ScrollViewGtk.cpp:
4091 (WebCore::ScrollView::updateScrollbars):
4093 2008-09-13 Dave Hyatt <hyatt@apple.com>
4095 Remove scrollbar's setRect method. Clients can now just call setFrameGeometry (the corresponding Widget) method
4096 to set the dimensions of a scrollbar.
4098 Reviewed by Sam Weinig
4100 * platform/ScrollBar.h:
4101 * platform/gtk/PlatformScrollBar.h:
4102 * platform/gtk/PlatformScrollBarGtk.cpp:
4103 (PlatformScrollbar::setFrameGeometry):
4104 * platform/gtk/ScrollViewGtk.cpp:
4105 (WebCore::ScrollView::updateScrollbars):
4106 * platform/mac/PlatformScrollBarMac.mm:
4107 * platform/qt/PlatformScrollBarQt.cpp:
4108 * platform/qt/ScrollViewQt.cpp:
4109 (WebCore::ScrollView::updateScrollbars):
4110 * platform/win/PlatformScrollBar.h:
4111 * platform/win/PlatformScrollBarSafari.cpp:
4112 (WebCore::PlatformScrollbar::PlatformScrollbar):
4113 (WebCore::PlatformScrollbar::setFrameGeometry):
4114 * platform/win/PlatformScrollBarWin.cpp:
4115 (WebCore::PlatformScrollbar::PlatformScrollbar):
4116 (WebCore::PlatformScrollbar::setFrameGeometry):
4117 * platform/win/PopupMenuWin.cpp:
4118 (WebCore::PopupWndProc):
4119 * platform/win/ScrollViewWin.cpp:
4120 (WebCore::ScrollView::updateScrollbars):
4121 * platform/wx/PlatformScrollBar.h:
4122 * platform/wx/TemporaryLinkStubs.cpp:
4123 (PlatformScrollbar::updateThumbProportion):
4124 * rendering/RenderLayer.cpp:
4125 (WebCore::RenderLayer::positionOverflowControls):
4126 * rendering/RenderListBox.cpp:
4127 (WebCore::RenderListBox::paintScrollbar):
4129 2008-09-13 Dave Hyatt <hyatt@apple.com>
4131 Remove setEnabled() from all Scrollbar classes that were just using their Widget base class methods.
4133 Reviewed by Sam Weinig
4135 * platform/ScrollBar.h:
4136 * platform/gtk/PlatformScrollBar.h:
4137 * platform/gtk/PlatformScrollBarGtk.cpp:
4138 * platform/mac/PlatformScrollBar.h:
4139 * platform/mac/PlatformScrollBarMac.mm:
4140 * platform/win/PlatformScrollBar.h:
4141 * platform/win/PlatformScrollBarSafari.cpp:
4142 * platform/win/PlatformScrollBarWin.cpp:
4143 * platform/wx/PlatformScrollBar.h:
4144 * platform/wx/TemporaryLinkStubs.cpp:
4145 (PlatformScrollbar::~PlatformScrollbar):
4147 2008-09-13 Dave Hyatt <hyatt@apple.com>
4149 Remove width()/height() from Scrollbar now that it derives from Widget. Remove width()/height() from
4150 all PlatformScrollbar subclasses that just called the Widget base class versions of those methods.
4152 Reviewed by Sam Weinig
4154 * platform/ScrollBar.h:
4155 * platform/gtk/PlatformScrollBar.h:
4156 * platform/gtk/PlatformScrollBarGtk.cpp:
4157 * platform/mac/PlatformScrollBar.h:
4158 * platform/mac/PlatformScrollBarMac.mm:
4159 * platform/win/PlatformScrollBarSafari.cpp:
4160 * platform/win/PlatformScrollBarWin.cpp:
4161 * platform/wx/PlatformScrollBar.h:
4162 * platform/wx/TemporaryLinkStubs.cpp:
4163 (PlatformScrollbar::~PlatformScrollbar):
4165 2008-09-13 Dave Hyatt <hyatt@apple.com>
4167 Move stopTimerIfNeeded out of PlatformScrollbar destructors and into Scrollbar.
4169 Reviewed by Sam Weinig
4171 * platform/ScrollBar.cpp:
4172 (WebCore::Scrollbar::~Scrollbar):
4173 * platform/ScrollBar.h:
4174 * platform/qt/PlatformScrollBarQt.cpp:
4175 (WebCore::PlatformScrollbar::~PlatformScrollbar):
4176 * platform/win/PlatformScrollBarSafari.cpp:
4177 (WebCore::PlatformScrollbar::~PlatformScrollbar):
4178 * platform/win/PlatformScrollBarWin.cpp:
4179 (WebCore::PlatformScrollbar::~PlatformScrollbar):
4181 2008-09-13 David Hyatt <hyatt@apple.com>
4183 Move maximum() from Qt's PlatformScrollbar to be a cross-platform
4184 function on Scrollbar. Fixes Qt build bustage.
4186 Reviewed by Sam Weinig
4188 * platform/ScrollBar.h:
4189 (WebCore::Scrollbar::orientation):
4190 (WebCore::Scrollbar::value):
4191 (WebCore::Scrollbar::maximum):
4192 * platform/qt/PlatformScrollBar.h:
4194 2008-09-13 Dan Bernstein <mitz@apple.com>
4196 Reviewed by Sam Weinig.
4198 - use the LastResort font for missing glyphs instead of showing the
4199 primary font's missing glyph
4201 Test: platform/mac/fast/text/last-resort-font.html
4203 * platform/graphics/mac/FontCacheMac.mm:
4204 (WebCore::FontCache::getFontDataForCharacters): Changed to return the
4205 last resort font if a substitute font cannot be found.
4206 (WebCore::FontCache::getLastResortFallbackFont): Removed an outdated
4207 comment (the user's preferred standard font is included in the search
4208 thanks to code in FontCache::getFontData()) and changed to return the
4211 2008-09-13 Dave Hyatt <hyatt@apple.com>
4213 This patch adds ScrollbarTheme to the build. ScrollbarTheme is similar to RenderTheme (but for
4214 scrollbars only). For now ScrollbarTheme just handles returning the size of scrollbars. Subsequent
4215 patches will move rendering and hit testing functionality into this class.
4217 Implemented ScrollbarTheme subclasses for four ports (Mac, Win, Gtk, Qt). The wxWidgets port does not
4218 implement scrollbars yet, so I added a temporary link stub to keep things compiling on wx.
4220 Reviewed by Sam Weinig
4224 * WebCore.vcproj/WebCore.vcproj:
4225 * platform/ScrollBar.cpp:
4226 (WebCore::Scrollbar::Scrollbar):
4227 * platform/ScrollBar.h:
4228 * platform/ScrollbarTheme.h: Added.
4229 (WebCore::ScrollbarTheme::~ScrollbarTheme):
4230 (WebCore::ScrollbarTheme::scrollbarThickness):
4231 (WebCore::ScrollbarTheme::themeChanged):
4232 * platform/gtk/ScrollbarThemeGtk.cpp: Added.
4233 (WebCore::ScrollbarTheme::nativeTheme):
4234 (WebCore::ScrollbarThemeGtk::~ScrollbarThemeGtk):
4235 (WebCore::ScrollbarThemeGtk::scrollbarThickness):
4236 * platform/gtk/ScrollbarThemeGtk.h: Added.
4237 * platform/mac/PlatformScrollBar.h:
4238 * platform/mac/ScrollbarThemeMac.cpp: Added.
4239 (WebCore::ScrollbarTheme::nativeTheme):
4241 (WebCore::ScrollbarThemeMac::~ScrollbarThemeMac):
4242 (WebCore::ScrollbarThemeMac::scrollbarThickness):
4243 * platform/mac/ScrollbarThemeMac.h: Added.
4244 * platform/qt/PlatformScrollBarQt.cpp:
4245 * platform/qt/ScrollbarThemeQt.cpp: Added.
4246 (WebCore::ScrollbarTheme::nativeTheme):
4247 (WebCore::ScrollbarThemeQt::~ScrollbarThemeQt):
4248 (WebCore::ScrollbarThemeQt::scrollbarThickness):
4249 * platform/qt/ScrollbarThemeQt.h: Added.
4250 * platform/win/PlatformScrollBar.h:
4251 * platform/win/PlatformScrollBarSafari.cpp:
4252 * platform/win/PlatformScrollBarWin.cpp:
4253 * platform/win/PopupMenuWin.cpp:
4254 (WebCore::PopupMenu::calculatePositionAndSize):
4255 * platform/win/ScrollViewWin.cpp:
4256 (WebCore::ScrollView::updateScrollbars):
4257 (WebCore::ScrollView::themeChanged):
4258 * platform/win/ScrollbarThemeSafari.cpp: Added.
4259 (WebCore::ScrollbarTheme::nativeTheme):
4261 (WebCore::ScrollbarThemeSafari::~ScrollbarThemeSafari):
4262 (WebCore::ScrollbarThemeSafari::scrollbarThickness):
4263 * platform/win/ScrollbarThemeSafari.h: Added.
4264 * platform/win/ScrollbarThemeWin.cpp: Added.
4265 (WebCore::ScrollbarTheme::nativeTheme):
4266 (WebCore::ScrollbarThemeWin::~ScrollbarThemeWin):
4267 (WebCore::ScrollbarThemeWin::scrollbarThickness):
4268 (WebCore::ScrollbarThemeWin::themeChanged):
4269 * platform/win/ScrollbarThemeWin.h: Added.
4270 * platform/wx/TemporaryLinkStubs.cpp:
4271 (ScrollbarTheme::nativeTheme):
4272 * rendering/RenderLayer.cpp:
4273 (WebCore::scrollCornerRect):
4274 * rendering/RenderTextControl.cpp:
4275 (WebCore::RenderTextControl::calcHeight):
4276 (WebCore::RenderTextControl::calcPrefWidths):
4278 2008-09-13 Chris Fleizach <cfleizach@apple.com>
4280 Reviewed by Timothy Hatcher.
4282 <rdar://problem/5060439> Web elements should have an AXTopLevelUIElement
4284 * page/mac/AccessibilityObjectWrapper.mm:
4285 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
4287 2008-09-13 Dan Bernstein <mitz@apple.com>
4289 Reviewed by Timothy Hatcher.
4291 - fix <rdar://problem/6171280> REGRESSION (r35667): Assertion failure in WebCore::FrameView::scheduleRelayout() when releasing a page with counters from the b/f cache
4293 No regression test because the back/forward cache is disabled in DumpRenderTree
4295 * rendering/RenderContainer.cpp:
4296 (WebCore::RenderContainer::invalidateCounters): Bail out if the document
4299 2008-09-13 Kevin Ollivier <kevino@theolliviers.com>
4301 wx build fixes for new methods recently introduced.
4303 * platform/graphics/wx/AffineTransformWx.cpp:
4304 (WebCore::AffineTransform::AffineTransform):
4305 (WebCore::AffineTransform::setMatrix):
4306 (WebCore::AffineTransform::setA):
4307 (WebCore::AffineTransform::setB):
4308 (WebCore::AffineTransform::setC):
4309 (WebCore::AffineTransform::setD):
4310 (WebCore::AffineTransform::setE):
4311 (WebCore::AffineTransform::setF):
4312 * platform/wx/LocalizedStringsWx.cpp:
4313 (WebCore::AXDefinitionListTermText):
4314 (WebCore::AXDefinitionListDefinitionText):
4316 2008-09-12 Dave Hyatt <hyatt@apple.com>
4318 Move the member variables of PlatformScrollbar up into Scrollbar. Move autoscroll timer handling
4319 up into scrollbar. Make sure a bunch of cross-platform code now just uses "Scrollbar" instead of
4320 "PlatformScrollbar."
4322 Reviewed by Sam Weinig
4324 * WebCore.vcproj/WebCore.vcproj:
4325 * editing/EditorCommand.cpp:
4326 * page/EventHandler.cpp:
4327 (WebCore::EventHandler::selectCursor):
4328 (WebCore::EventHandler::handleMousePressEvent):
4329 (WebCore::EventHandler::handleMouseMoveEvent):
4330 * page/EventHandler.h:
4331 * page/MouseEventWithHitTestResults.cpp:
4332 (WebCore::MouseEventWithHitTestResults::scrollbar):
4333 * page/MouseEventWithHitTestResults.h:
4334 * page/gtk/EventHandlerGtk.cpp:
4335 (WebCore::EventHandler::passMousePressEventToScrollbar):
4336 * page/mac/EventHandlerMac.mm:
4337 (WebCore::EventHandler::passMousePressEventToScrollbar):
4338 * page/qt/EventHandlerQt.cpp:
4339 (WebCore::EventHandler::passMousePressEventToScrollbar):
4340 * page/win/EventHandlerWin.cpp:
4341 (WebCore::EventHandler::passMousePressEventToScrollbar):
4342 * page/wx/EventHandlerWx.cpp:
4343 (WebCore::EventHandler::passMousePressEventToScrollbar):
4344 * platform/PopupMenu.h:
4345 * platform/ScrollBar.cpp:
4346 (WebCore::Scrollbar::Scrollbar):
4347 (WebCore::Scrollbar::autoscrollTimerFired):
4348 (WebCore::Scrollbar::autoscrollPressedPart):
4349 (WebCore::Scrollbar::startTimerIfNeeded):
4350 (WebCore::Scrollbar::stopTimerIfNeeded):
4351 (WebCore::Scrollbar::pressedPartScrollDirection):
4352 (WebCore::Scrollbar::pressedPartScrollGranularity):
4353 * platform/ScrollBar.h:
4354 (WebCore::Scrollbar::handleMousePressEvent):
4355 (WebCore::Scrollbar::invalidatePart):
4356 (WebCore::Scrollbar::thumbUnderMouse):
4357 * platform/ScrollView.h:
4358 * platform/ScrollbarClient.h: Added.
4359 (WebCore::ScrollbarClient::~ScrollbarClient):
4360 * platform/gtk/ScrollViewGtk.cpp:
4361 (WebCore::ScrollView::scrollbarUnderMouse):
4362 * platform/qt/PlatformScrollBar.h:
4363 * platform/qt/PlatformScrollBarQt.cpp:
4364 (WebCore::PlatformScrollbar::PlatformScrollbar):
4365 (WebCore::scrollbarPart):