1 2008-09-23 Eric Seidel <eric@webkit.org>
3 No review, build fix only.
5 Another blind stab in the dark.
7 * svg/graphics/cg/SVGResourceClipperCg.cpp: Add missing header.
9 2008-09-23 Eric Seidel <eric@webkit.org>
11 No review, build fix only.
13 Third time's the charm, eh? My local build is sadly still not done...
15 * platform/graphics/AffineTransform.cpp: remove extra &
16 * platform/graphics/AffineTransform.h: remove extra &
18 2008-09-22 Eric Seidel <eric@webkit.org>
20 No review, build fix only.
22 * platform/graphics/AffineTransform.cpp: remove extra ;
24 2008-09-22 Eric Seidel <eric@webkit.org>
26 No review, build fix only.
28 Speculative fix for the build while I wait for my compile to finish.
30 * platform/graphics/AffineTransform.cpp:
32 2008-09-22 Dirk Schulze <vbs85@gmx.de>
34 Reviewed by eseidel. Landed by eseidel.
36 Moved makeMapBetweenRects from SVG/CG to AffineTransform
37 Make SVGResourceClipper::applyClip more cross-platform
39 * platform/graphics/AffineTransform.cpp:
40 * platform/graphics/AffineTransform.h:
41 * svg/graphics/cg/CgSupport.cpp:
42 * svg/graphics/cg/CgSupport.h:
43 * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
44 (WebCore::SVGPaintServerGradient::handleBoundingBoxModeAndGradientTransformation):
45 * svg/graphics/cg/SVGResourceClipperCg.cpp:
46 (WebCore::SVGResourceClipper::applyClip):
48 2008-09-22 Alp Toker <alp@nuanti.com>
50 Reviewed by David Hyatt.
52 https://bugs.webkit.org/show_bug.cgi?id=16331
53 [Gtk] no focus when button/checkbox/radiobutton clicked, only when tabbed
55 Obey GTK+ focusing conventions for controls and anchor elements.
57 It could be interesting to push these decisions up to Settings or
58 ChromeClient some day but this gets things working.
60 Right and middle click events still need some work to match GTK+
63 * html/HTMLAnchorElement.cpp:
64 (WebCore::HTMLAnchorElement::isMouseFocusable):
65 * html/HTMLFormControlElement.cpp:
66 (WebCore::HTMLFormControlElement::isMouseFocusable):
67 * page/EventHandler.cpp:
68 (WebCore::EventHandler::sendContextMenuEvent):
70 2008-09-22 Darin Adler <darin@apple.com>
72 * page/mac/FrameMac.mm:
73 (WebCore::Frame::baseWritingDirectionForSelectionStart): Fix indentation.
75 2008-09-22 Sam Weinig <sam@webkit.org>
77 Reviewed by Dan Bernstein.
79 Patch for https://bugs.webkit.org/show_bug.cgi?id=21013
80 Match Firefox in how we hide HTMLInputElement.selectionStart, selectionEnd
81 and setSelectionRange. This also allows us to remove the legacy JSHTMLInputElementBase
84 - selectionStart, selectionEnd and setSelectionRange now are visible in iteration of
85 non-selectable input types, but return undefined when accessed.
87 * DerivedSources.make:
90 * WebCore.vcproj/WebCore.vcproj:
91 * WebCore.xcodeproj/project.pbxproj:
93 * bindings/js/JSHTMLInputElementBase.cpp: Removed.
94 * bindings/js/JSHTMLInputElementBase.h: Removed.
95 * bindings/js/JSHTMLInputElementCustom.cpp: Added.
96 (WebCore::JSHTMLInputElement::customGetOwnPropertySlot):
97 (WebCore::JSHTMLInputElement::selectionStart):
98 (WebCore::JSHTMLInputElement::selectionEnd):
99 * bindings/js/JSHTMLInputElementCustom.h: Added.
100 * html/HTMLInputElement.idl:
102 2008-09-22 Dan Bernstein <mitz@apple.com>
104 Reviewed by Sam Weinig.
106 - fix <rdar://problem/5699571> Mail: Unable to change writing direction to LTR in an empty message
108 Not testable in DumpRenderTree or in Safari
110 * page/mac/FrameMac.mm:
111 (WebCore::Frame::baseWritingDirectionForSelectionStart): Account for the
112 case that the selection start node is a block.
114 2008-09-22 David Hyatt <hyatt@apple.com>
116 https://bugs.webkit.org/show_bug.cgi?id=21007
118 Make sure that the scrollbar gets sent a release event on platforms that call handleMouseDoubleClickEvent.
120 Reviewed by Sam Weinig
122 * page/EventHandler.cpp:
123 (WebCore::EventHandler::handleMouseDoubleClickEvent):
125 2008-09-22 Eric Seidel <eric@webkit.org>
127 No review, rollback only.
129 Roll out Peter's change (per his request)
130 http://trac.webkit.org/changeset/36069
131 https://bugs.webkit.org/show_bug.cgi?id=19663
132 This change has been the source of numerous regressions
133 (several of which were latent bugs revealed by this change,
134 others were bugs in this change)
136 * platform/graphics/BitmapImage.cpp:
137 (WebCore::BitmapImage::BitmapImage):
138 (WebCore::BitmapImage::startAnimation):
139 (WebCore::BitmapImage::advanceAnimation):
140 * platform/graphics/BitmapImage.h:
141 * platform/graphics/cairo/ImageCairo.cpp:
142 (WebCore::BitmapImage::draw):
143 * platform/graphics/cg/ImageCG.cpp:
144 (WebCore::BitmapImage::draw):
145 * platform/graphics/qt/ImageQt.cpp:
146 (WebCore::BitmapImage::draw):
147 * platform/graphics/wx/ImageWx.cpp:
148 (WebCore::BitmapImage::draw):
150 2008-09-22 Dan Bernstein <mitz@apple.com>
152 Reviewed by Sam Weinig.
154 - fix <rdar://problem/5158514> Switch the complex text code path to Core Text
156 Tests: platform/mac-snowleopard/fast/text/myanmar-shaping.html
157 platform/mac-snowleopard/fast/text/thai-combining-mark-positioning.html
159 * config.h: Use Core Text if not building for Leopard or Tiger.
161 2008-09-22 David Hyatt <hyatt@apple.com>
163 https://bugs.webkit.org/show_bug.cgi?id=21006
165 Add code that paints an NSView-less scroller using HIThemeDrawTrack. This scrollbar is still not
166 switched on. There are still a few more refinements to make to the rendering and behavior.
168 Reviewed by Darin Adler
170 * platform/ScrollbarThemeComposite.cpp:
171 (WebCore::ScrollbarThemeComposite::paint):
172 * platform/ScrollbarThemeComposite.h:
173 (WebCore::ScrollbarThemeComposite::paintTrack):
174 (WebCore::ScrollbarThemeComposite::paintButton):
175 (WebCore::ScrollbarThemeComposite::paintThumb):
176 * platform/mac/ScrollbarThemeMac.h:
177 * platform/mac/ScrollbarThemeMac.mm:
178 (WebCore::ScrollbarThemeMac::backButtonRect):
179 (WebCore::ScrollbarThemeMac::forwardButtonRect):
180 (WebCore::scrollbarPartToHIPressedState):
181 (WebCore::ScrollbarThemeMac::paint):
182 * platform/mac/WidgetMac.mm:
183 (WebCore::Widget::invalidateRect):
185 2008-09-22 Chris Marrin <cmarrin@apple.com>
187 Reviewed by Sam Weinig
189 transition end event when -webkit-transition-property: all puts wrong
190 propertyName in event
191 https://bugs.webkit.org/show_bug.cgi?id=20903
193 * page/animation/ImplicitAnimation.cpp:
194 (WebCore::ImplicitAnimation::sendTransitionEvent):
196 2008-09-22 Chris Fleizach <cfleizach@apple.com>
198 Reviewed by Darin Adler.
200 <rdar://problem/6230234> AXTable should probably not be exposed in there's only one cell
202 Test: accessibility/table-one-cell.html
204 * page/AccessibilityTable.cpp:
205 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
207 2008-09-22 Chris Fleizach <cfleizach@apple.com>
209 Reviewed by Darin Adler.
211 <rdar://problem/6167779> Setting AXSelectedTextRange for TextAreas in a WebView behaves incorrectly
213 Test: accessibility/textarea-selected-text-range.html
215 * page/AccessibilityRenderObject.cpp:
216 (WebCore::AccessibilityRenderObject::setSelectedTextRange):
218 2008-09-22 David Hyatt <hyatt@apple.com>
220 Clean up some parent relationships in the back end stylesheet code. Make sure parentStyleSheet
221 properly walks up nested rule blocks to reach the parent sheet instead of giving up at the immediate
222 parent. Also fix the doc() method so that it is properly set when the parent of the sheet is an import
225 Reviewed by Sam Weinig
227 Added fast/css/nested-rule-parent-sheet.html
229 * css/CSSImportRule.cpp:
230 (WebCore::CSSImportRule::insertedIntoParent):
232 (WebCore::CSSRule::parentStyleSheet):
233 (WebCore::CSSRule::parentRule):
234 * css/CSSStyleSheet.cpp:
235 (WebCore::CSSStyleSheet::CSSStyleSheet):
236 * css/CSSStyleSheet.h:
238 2008-09-22 Dan Bernstein <mitz@apple.com>
240 Reviewed by Sam Weinig.
242 - fix https://bugs.webkit.org/show_bug.cgi?id=21002
243 Make the ATSUI code path respect spacingDisabled()
245 Fixes svg/text/text-spacing-01-b.svg in run-webkit-tests --complex-text
247 * platform/graphics/mac/FontMacATSUI.mm:
248 (WebCore::overrideLayoutOperation):
250 2008-09-22 Maciej Stachowiak <mjs@apple.com>
252 Reviewed by Cameron Zwarich.
254 - speed up instanceof operator by replacing implementsHasInstance method with a TypeInfo flag
256 Partial work towards <https://bugs.webkit.org/show_bug.cgi?id=20818>
258 2.2% speedup on EarleyBoyer benchmark.
260 * bindings/js/JSQuarantinedObjectWrapper.cpp:
261 * bindings/js/JSQuarantinedObjectWrapper.h:
262 (WebCore::JSQuarantinedObjectWrapper::createStructureID):
263 * bindings/scripts/CodeGeneratorJS.pm:
265 2008-09-22 Adam Roben <aroben@apple.com>
269 * WebCore.vcproj/WebCore.vcproj: Add a missing </File> tag.
271 2008-09-22 Maciej Stachowiak <mjs@apple.com>
273 Reviewed by Dave Hyatt.
275 Based on initial work by Darin Adler.
277 - replace masqueradesAsUndefined virtual method with a flag in TypeInfo
278 - use this to JIT inline code for eq_null and neq_null
279 https://bugs.webkit.org/show_bug.cgi?id=20823
281 * WebCore.xcodeproj/project.pbxproj:
282 * WebCore.vcproj/WebCore.vcproj:
283 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
284 (WebCore::JSCSSStyleDeclaration::nameGetter):
285 * bindings/js/JSHTMLAllCollection.cpp: Added.
287 * bindings/js/JSHTMLAllCollection.h:
288 (WebCore::JSHTMLAllCollection::createStructureID):
289 (WebCore::JSHTMLAllCollection::toBoolean):
291 2008-09-22 Tor Arne Vestbø <tavestbo@trolltech.com>
295 Fix the QtWebKit build
297 * bridge/qt/qt_instance.cpp:
298 (JSC::Bindings::QtRuntimeObjectImp::construct):
299 * bridge/qt/qt_runtime.cpp:
301 2008-09-22 Alp Toker <alp@nuanti.com>
303 Suggested by David Hyatt.
305 Build fix: ScrollView::update() is still used by Document.cpp on !MAC
308 * platform/ScrollView.h:
310 2008-09-22 David Hyatt <hyatt@apple.com>
312 Fix a regression in Windows scrollbar painting. (Also fix the same
313 bug in my new viewless Mac scrollbar painting code). The track rect
314 was being improperly inflated when painting resulting in the scrollbar
315 being too tall and painting in the border of overflow sections.
317 Reviewed by Oliver Hunt
319 * platform/mac/ScrollbarThemeMac.mm:
320 (WebCore::ScrollbarThemeMac::trackRect):
321 * platform/win/ScrollbarThemeSafari.cpp:
322 (WebCore::ScrollbarThemeSafari::trackRect):
324 2008-09-22 David Hyatt <hyatt@apple.com>
326 Fix a hit testing bug where events are mistakenly passed to subframes
327 if the mouse is over the border or padding area of the frame. Add
328 a boolean flag, isOverWidget(), to hit test results so that EventHandler
329 can check it to tell if the mouse is really over the content box of a
330 RenderWidget and not just in the border/padding area.
332 This is not testable, since the old code properly recovered when it detected
333 that the mouse was outside the bounds of the view, but this prevents
334 the extra passdown from even occurring (and is basically a nice cleanup).
336 Reviewed by Oliver Hunt
338 * page/EventHandler.cpp:
339 (WebCore::EventHandler::handleMousePressEvent):
340 (WebCore::EventHandler::hitTestResultAtPoint):
341 (WebCore::subframeForHitTestResult):
342 (WebCore::EventHandler::handleMouseDoubleClickEvent):
343 (WebCore::EventHandler::handleMouseMoveEvent):
344 (WebCore::EventHandler::handleMouseReleaseEvent):
345 (WebCore::EventHandler::handleWheelEvent):
346 * page/MouseEventWithHitTestResults.h:
347 (WebCore::MouseEventWithHitTestResults::isOverWidget):
348 * rendering/HitTestResult.cpp:
349 (WebCore::HitTestResult::HitTestResult):
350 (WebCore::HitTestResult::operator=):
351 * rendering/HitTestResult.h:
352 (WebCore::HitTestResult::isOverWidget):
353 (WebCore::HitTestResult::setIsOverWidget):
354 * rendering/RenderWidget.cpp:
355 (WebCore::RenderWidget::nodeAtPoint):
356 * rendering/RenderWidget.h:
358 2008-09-21 David Hyatt <hyatt@apple.com>
360 Rename FrameView's repaintRectangle method to repaintContentRectangle. Make
361 both it and ScrollView's updateContents method be off-limits to everyone in
362 WebCore except for RenderView.
364 Make repaintViewRectangle the only possible method for WebCore code to do
365 an invalidation. This ensures that all invalidates triggered by WebCore
366 cross-platform code that cross ownerElement() boundaries are transform-aware.
368 Make sure that iframes/frames contained inside objects that have transforms
369 or reflections are not allowed to blit (this was already true for transparency).
371 It is not possible to make a test for any of this, since iframe scrolling
372 still doesn't work on Mac (since the invalidates are not being done
373 through WebCore's cross-platform invalidation code but are instead going
374 through NSScrollView's setNeedsDisplay still).
376 Reviewed by Oliver Hunt
378 * editing/SelectionController.cpp:
379 (WebCore::SelectionController::recomputeCaretRect):
380 (WebCore::SelectionController::invalidateCaretRect):
381 (WebCore::SelectionController::focusedOrActiveStateChanged):
382 * page/FrameView.cpp:
383 (WebCore::FrameView::repaintContentRectangle):
384 (WebCore::FrameView::endDeferredRepaints):
386 * platform/ScrollView.h:
387 * rendering/RenderBox.cpp:
388 (WebCore::RenderBox::paintFillLayerExtended):
389 * rendering/RenderLayer.cpp:
390 (WebCore::RenderLayer::enclosingPositionedAncestor):
391 (WebCore::RenderLayer::requiresSlowRepaints):
392 * rendering/RenderLayer.h:
393 (WebCore::RenderLayer::hasTransform):
394 * rendering/RenderView.cpp:
395 (WebCore::RenderView::paintBoxDecorations):
396 (WebCore::RenderView::repaintViewRectangle):
397 (WebCore::RenderView::setSelection):
399 2008-09-21 Maciej Stachowiak <mjs@apple.com>
403 - introduce a TypeInfo class, for holding per-type (in the C++ class sense) date in StructureID
404 https://bugs.webkit.org/show_bug.cgi?id=20981
406 * bindings/js/JSAudioConstructor.cpp:
407 (WebCore::JSAudioConstructor::JSAudioConstructor):
408 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
409 (WebCore::JSCSSStyleDeclaration::nameGetter):
410 * bindings/js/JSDOMBinding.cpp:
411 (WebCore::createDOMStructure):
412 * bindings/js/JSDOMBinding.h:
413 (WebCore::getDOMStructure):
414 * bindings/js/JSDOMWindowShell.cpp:
415 (WebCore::JSDOMWindowShell::JSDOMWindowShell):
416 (WebCore::JSDOMWindowShell::setWindow):
417 * bindings/js/JSEventTargetNode.cpp:
418 (WebCore::JSEventTargetNode::createPrototype):
419 * bindings/js/JSHTMLOptionElementConstructor.cpp:
420 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
421 * bindings/js/JSImageConstructor.cpp:
422 (WebCore::JSImageConstructor::JSImageConstructor):
423 * bindings/js/JSXMLHttpRequestConstructor.cpp:
424 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
425 * bindings/js/JSXSLTProcessorConstructor.cpp:
426 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
427 * bindings/scripts/CodeGeneratorJS.pm:
429 2008-09-21 Darin Adler <darin@apple.com>
431 Reviewed by Maciej Stachowiak.
433 - fix problem Maciej noticed where every JSNamedNodesCollection
434 gets its own StructureID
436 * bindings/js/JSNamedNodesCollection.cpp:
437 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Use
438 getDOMStructure to get the structure.
439 * bindings/js/JSNamedNodesCollection.h:
440 (WebCore::JSNamedNodesCollection::createPrototype): Return the
443 2008-09-20 David Hyatt <hyatt@apple.com>
445 Make sure transformed scrollbars in overflow sections position
446 properly. This patch mimics the same behavior that works for
447 iframes, namely making sure that the same code that dynamically
448 adjusts iframe widget positions at paint time for fixed positioning
449 and transforms also applies to scrollbars. (This is as simple as passing
450 in the current translation factor at paint time rather than crawling
451 up the layer tree to compute a "false" absolute position.)
453 An existing transform test covers this (although only a pixel result
454 reveals the correct rendering).
456 Reviewed by Darin Adler
458 * rendering/RenderLayer.cpp:
459 (WebCore::RenderLayer::updateLayerPositions):
460 (WebCore::RenderLayer::positionOverflowControls):
461 (WebCore::RenderLayer::paintOverflowControls):
462 (WebCore::RenderLayer::paintLayer):
463 * rendering/RenderLayer.h:
465 2008-09-21 Steve Falkenburg <sfalken@apple.com>
467 Removed unnecessary nested timer check.
469 Rubber-stamped by Dan Bernstein.
471 * platform/win/SharedTimerWin.cpp:
472 (WebCore::TimerWindowWndProc):
474 2008-09-21 Steve Falkenburg <sfalken@apple.com>
476 Improve timer resolution on WinXP.
477 https://bugs.webkit.org/show_bug.cgi?id=20979
479 Removed last-chance timer. It should not be necessary.
480 Change timeEndPeriod timer to fire in 300ms instead of 20ms. Calling timeBeginPeriod/timeEndPeriod too often throws off accuracy.
481 Remove Vista checks. We now run the same code on both XP and Vista.
483 Call through to JSC::getCurrentUTCTimeWithMicroseconds from WebCore::currentTime.
484 The code previously called GetSystemTimeAsFileTime, which is always low-resolution on XP, even within timeBeginPeriod(1).
486 Reviewed by Maciej Stachowiak.
488 * platform/win/SharedTimerWin.cpp:
490 (WebCore::TimerWindowWndProc):
491 (WebCore::setSharedTimerFireTime):
492 * platform/win/SystemTimeWin.cpp:
493 (WebCore::currentTime):
495 2008-09-21 Dirk Schulze <vbs85@gmx.de>
497 Reviewed by eseidel. Landed by eseidel.
499 All platforms use the DashArray in the GraphicsContext.
501 * svg/graphics/SVGPaintServer.h:
502 * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
503 (WebCore::SVGPaintServerGradient::setup):
504 * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
505 (WebCore::SVGPaintServerPattern::setup):
506 * svg/graphics/cairo/SVGPaintServerSolidCairo.cpp:
507 (WebCore::SVGPaintServerSolid::setup):
508 * svg/graphics/qt/SVGPaintServerGradientQt.cpp:
509 (WebCore::SVGPaintServerGradient::setup):
510 * svg/graphics/qt/SVGPaintServerQt.cpp:
511 * svg/graphics/qt/SVGPaintServerSolidQt.cpp:
512 (WebCore::SVGPaintServerSolid::setup):
514 2008-09-21 Dirk Schulze <vbs85@gmx.de>
516 Reviewed by eseidel. Landed by eseidel.
518 Moved DashArray to GraphicsContext.
521 * WebCore.vcproj/WebCore.vcproj:
522 * WebCore.xcodeproj/project.pbxproj:
523 * platform/graphics/DashArray.h: Added.
524 * platform/graphics/GraphicsContext.h:
525 * platform/graphics/cairo/GraphicsContextCairo.cpp:
526 (WebCore::GraphicsContext::setLineDash):
527 * platform/graphics/cg/GraphicsContextCG.cpp:
528 (WebCore::GraphicsContext::setLineDash):
529 * platform/graphics/qt/GraphicsContextQt.cpp:
530 (WebCore::GraphicsContext::setLineDash):
531 * svg/graphics/SVGPaintServer.cpp:
532 (WebCore::applyStrokeStyleToContext):
533 * svg/graphics/SVGPaintServer.h:
534 * svg/graphics/cg/CgSupport.cpp:
535 * svg/graphics/cg/CgSupport.h:
537 2008-09-21 Dan Bernstein <mitz@apple.com>
539 Reviewed by Mark Rowe.
541 - fix linker warnings
545 2008-09-20 Darin Adler <darin@apple.com>
547 - another try at fixing Qt
549 * bridge/qt/qt_runtime.cpp: "using namespce WebCore"
551 2008-09-20 Darin Adler <darin@apple.com>
553 - blind attempt to fix Qt build
555 * bridge/qt/qt_runtime.cpp:
556 (JSC::Bindings::convertQVariantToValue): Use regExpStructure instead
557 of regExpPrototype to make a RegExpObject. There should really be
558 some sort of public helper function for this. Same thing for
559 DateInstance and dateStructure. For JSObject, use constructEmptyObject.
561 (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod): Use getDOMStructure.
562 It is not correct to do this inside the constructor because it could
563 cause a garbage collect while the QtRuntimeMethod object is half-
564 allocated, which could lead to a crash; note that RuntimeMethod,
565 QtRuntimeObjectImp, and RuntimeObjectImp have the same bug.
566 * bridge/qt/qt_runtime.h: Add s_info and createPrototype.
568 2008-09-20 Collin Jackson <collinj@webkit.org>
570 Prefetch DNS for hyperlinks that the user mouses over.
572 https://bugs.webkit.org/show_bug.cgi?id=20931
574 Reviewed by Sam Weinig.
577 (WebCore::Chrome::mouseDidMoveOverElement):
579 2008-09-20 Darin Adler <darin@apple.com>
581 Reviewed by Maciej Stachowiak.
583 - finish https://bugs.webkit.org/show_bug.cgi?id=20858
584 make each distinct C++ class get a distinct JSC::Structure
586 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
587 (WebCore::JSCSSStyleDeclaration::nameGetter): Pass in a structure
588 ID. Note that this makes a new structure every time -- we could
589 optimize this slightly be caching and reusing a single one.
591 * bridge/runtime_method.cpp:
592 (JSC::RuntimeMethod::RuntimeMethod): Create a unique structure using
594 * bridge/runtime_method.h:
595 (JSC::RuntimeMethod::createPrototype): Added createPrototype so
596 getDOMStructure will work.
598 * bindings/js/JSDOMWindowShell.cpp:
599 (WebCore::JSDOMWindowShell::JSDOMWindowShell): Initialize m_window to
600 0; needed in case garbage collection happens while creating the
603 2008-09-20 Dan Bernstein <mitz@apple.com>
605 Reviewed by Eric Seidel.
607 - fix https://bugs.webkit.org/show_bug.cgi?id=20950
608 <rdar://problem/6234059> Reproducible assertion failure running svg/custom/acid3-test-77.html multiple times under guard malloc
610 * svg/SVGTextContentElement.cpp:
611 (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback): Changed to
612 not include the first character in the extraCharsAvailable count.
614 2008-09-20 Kevin Ollivier <kevino@theolliviers.com>
616 Reviewed by Dan Bernstein.
620 https://bugs.webkit.org/show_bug.cgi?id=20505
622 * platform/wx/wxcode/mac/carbon/fontprops.cpp:
625 2008-09-20 Kevin Ollivier <kevino@theolliviers.com>
627 wx build fixes. Added/removed build sources, and nativeWindow->platformWidget updates.
629 * WebCoreSources.bkl:
630 * platform/ScrollView.h:
631 * platform/wx/PopupMenuWx.cpp:
632 (WebCore::PopupMenu::show):
633 * platform/wx/RenderThemeWx.cpp:
634 (WebCore::RenderThemeWx::paintButton):
635 (WebCore::RenderThemeWx::paintTextField):
636 (WebCore::RenderThemeWx::paintMenuList):
637 (WebCore::RenderThemeWx::paintMenuListButton):
638 * platform/wx/ScrollViewWx.cpp:
639 (WebCore::ScrollView::setPlatformWidget):
640 (WebCore::ScrollView::updateContents):
641 (WebCore::ScrollView::update):
642 (WebCore::ScrollView::visibleWidth):
643 (WebCore::ScrollView::visibleHeight):
644 (WebCore::ScrollView::scrollBy):
645 (WebCore::ScrollView::resizeContents):
646 (WebCore::ScrollView::contentsWidth):
647 (WebCore::ScrollView::contentsHeight):
648 (WebCore::ScrollView::isScrollViewScrollbar):
649 (WebCore::ScrollView::adjustScrollbars):
650 (WebCore::ScrollView::inWindow):
651 (WebCore::ScrollView::removeChild):
652 * platform/wx/WidgetWx.cpp:
653 * plugins/wx/PluginViewWx.cpp:
654 (WebCore::PluginView::setParentVisible):
655 (WebCore::PluginView::updatePluginWidget):
657 2008-09-20 Timothy Hatcher <timothy@apple.com>
659 Fix the new Node Search button image to not be blurry.
661 * page/inspector/Images/nodeSearchButtons.png:
663 2008-09-20 Matt Lilek <webkit@mattlilek.com>
665 Reviewed by Tim Hatcher.
667 Cut down some of the inspector javascript -> InspectorController glue code
668 with two new macros. Also rearrange the exposed function list to be grouped
669 by implementation and to all explicitly use the WebCore namespace.
671 * page/InspectorController.cpp:
672 (WebCore::InspectorController::windowScriptObjectAvailable):
674 2008-09-20 Matt Lilek <webkit@mattlilek.com>
676 Reviewed by Tim Hatcher.
678 Fix regression from my previous patch where the breadcrumbs bar was not displayed.
680 * page/inspector/inspector.css:
682 2008-09-20 Nikolas Zimmermann <zimmermann@kde.org>
686 Refactor HTMLImageLoader/SVGImageLoader code.
687 Move html/HTMLImageLoader.* to loader/ImageLoader.*
689 Let HTMLImageLoader & SVGImageLoader inherit from the new base class.
690 SVGImageLoader used to inherit from HTMLImageLoader which is awkward.
694 * WebCore.vcproj/WebCore.vcproj:
695 * WebCore.xcodeproj/project.pbxproj:
696 * WebCoreSources.bkl:
698 (WebCore::Document::dispatchImageLoadEventSoon):
699 (WebCore::Document::removeImage):
700 (WebCore::Document::dispatchImageLoadEventsNow):
702 * html/HTMLImageLoader.cpp:
703 (WebCore::HTMLImageLoader::HTMLImageLoader):
704 (WebCore::HTMLImageLoader::~HTMLImageLoader):
705 (WebCore::HTMLImageLoader::sourceURI):
706 (WebCore::HTMLImageLoader::notifyFinished):
707 * html/HTMLImageLoader.h:
708 * loader/DocLoader.h:
709 * loader/ImageLoader.cpp: Copied from html/HTMLImageLoader.cpp.
710 (WebCore::ImageLoader::ImageLoader):
711 (WebCore::ImageLoader::~ImageLoader):
712 (WebCore::ImageLoader::setImage):
713 (WebCore::ImageLoader::setLoadingImage):
714 (WebCore::ImageLoader::updateFromElement):
715 (WebCore::ImageLoader::notifyFinished):
716 * loader/ImageLoader.h: Copied from html/HTMLImageLoader.h.
717 * svg/SVGImageElement.cpp:
718 (WebCore::SVGImageElement::attach):
719 (WebCore::SVGImageElement::insertedIntoDocument):
720 (WebCore::SVGImageElement::imageSourceAttributeName):
721 * svg/SVGImageElement.h:
722 * svg/SVGImageLoader.cpp:
723 (WebCore::SVGImageLoader::SVGImageLoader):
724 (WebCore::SVGImageLoader::dispatchLoadEvent):
725 (WebCore::SVGImageLoader::sourceURI):
726 * svg/SVGImageLoader.h:
728 2008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
732 [qtwebkit] ScrollBar build fix after r36684.
733 BackButtonPart was split into Start and End Part
734 ForwardButtonPart was split into Start and End Part
736 * platform/qt/ScrollbarThemeQt.cpp:
738 (WebCore::scrollbarPart):
739 (WebCore::styleOptionSlider):
741 2008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
745 [qtwebkit] Make qt_instance.cpp compile.
746 Revision of 36675 introduced getDOMStructure to give unique
747 structure id's to C++ classes. Catch up. RuntimeObjectImp assigns
748 the the StructureID inside the c'tor, do the same in QtRuntimeObjectImp
750 * bridge/qt/qt_instance.cpp:
751 (JSC::Bindings::QtInstance::getRuntimeObject):
753 2008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
755 Reviewed by Nikolas Zimmermann.
757 [svg] Change SVGLocatable to deal with a plain SVGElement
758 There is no requirement in the code that we have to have a
759 SVGStyledElement. Remove that artificial limitation and compile
762 * svg/SVGLocatable.cpp:
763 * svg/SVGLocatable.h:
765 2008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
767 Reviewed by Nikolas Zimmermann.
769 [svg] Use OwnPtr for the SVGExtensions to avoid custom lifetime
773 (WebCore::Document::~Document):
774 (WebCore::Document::svgExtensions):
775 (WebCore::Document::accessSVGExtensions):
778 2008-09-19 David Hyatt <hyatt@apple.com>
780 Fix for crash in updateTransitions. Make sure to test for a style
781 being null when comparing two RenderStyles.
783 Reviewed by Oliver Hunt
785 * page/animation/AnimationBase.cpp:
786 (WebCore::PropertyWrapperGetter::equals):
788 2008-09-19 David Hyatt <hyatt@apple.com>
790 https://bugs.webkit.org/show_bug.cgi?id=20954
792 Roll out r36628 since it has caused horrible regressions with
793 animated GIF CPU usage.
795 * platform/graphics/BitmapImage.cpp:
796 (WebCore::BitmapImage::cacheFrame):
797 (WebCore::BitmapImage::startAnimation):
798 * platform/graphics/BitmapImage.h:
799 (WebCore::FrameData::FrameData):
800 * platform/graphics/cairo/ImageCairo.cpp:
801 (WebCore::FrameData::clear):
802 * platform/graphics/cg/ImageCG.cpp:
803 (WebCore::FrameData::clear):
804 * platform/graphics/qt/ImageQt.cpp:
805 (WebCore::FrameData::clear):
806 * platform/graphics/wx/ImageWx.cpp:
807 (WebCore::FrameData::clear):
809 2008-09-20 Alp Toker <alp@nuanti.com>
811 Reviewed by Timothy Hatcher.
813 https://bugs.webkit.org/show_bug.cgi?id=20913
814 Avoid redudant includes
816 Document.h is included excessively such that a modification to Document.h (or
817 any of the header it includes itself) triggers a rebuild of many files
818 including the whole of SVG and a lot of the JS bindings.
820 Some of these includes can be avoided by only including Document.h where
823 * bindings/js/JSAttrCustom.cpp:
824 * bindings/js/JSElementCustom.cpp:
825 * bindings/js/JSEventTargetBase.cpp:
826 * bindings/js/JSEventTargetBase.h:
827 * bindings/js/JSEventTargetNode.cpp:
828 * bindings/js/JSHTMLFrameElementCustom.cpp:
829 * bindings/js/JSHTMLIFrameElementCustom.cpp:
830 * bindings/scripts/CodeGeneratorJS.pm:
831 * css/CSSCursorImageValue.cpp:
832 * css/SVGCSSStyleSelector.cpp:
834 * svg/SVGAnimateElement.h:
835 * svg/SVGAnimatedProperty.h:
836 (WebCore::::baseValue):
837 (WebCore::::setBaseValue):
838 (WebCore::::startAnimation):
839 (WebCore::::stopAnimation):
840 * svg/SVGElement.cpp:
841 (WebCore::SVGElement::accessDocumentSVGExtensions):
843 * svg/SVGElementInstance.cpp:
844 * svg/SVGFitToViewBox.cpp:
845 * svg/SVGFontElement.cpp:
846 * svg/SVGFontFaceElement.cpp:
847 * svg/SVGLinearGradientElement.cpp:
848 * svg/SVGMPathElement.cpp:
849 * svg/SVGViewSpec.cpp:
851 2008-09-19 Nikolas Zimmermann <zimmermann@kde.org>
853 Reviewed by Antti & Eric.
855 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372
857 Finish HTMLScriptElement / SVGScriptElement unification.
858 SVG <script> support is complete now, full SVGLoad event
859 respecting the influence of the externalResourcesRequired attribute
860 as well as SVGError event support. All other features shared with HTML.
862 Tests: fast/dom/HTMLScriptElement/script-reexecution.html
863 svg/dom/SVGScriptElement/script-change-externalResourcesRequired-while-loading.svg
864 svg/dom/SVGScriptElement/script-load-and-error-events.svg
865 svg/dom/SVGScriptElement/script-reexecution.svg
866 svg/dom/SVGScriptElement/script-set-href.svg
868 * dom/ScriptElement.cpp:
869 (WebCore::ScriptElementData::ScriptElementData):
870 (WebCore::ScriptElementData::requestScript):
871 * dom/ScriptElement.h:
872 (WebCore::ScriptElementData::haveFiredLoadEvent):
873 (WebCore::ScriptElementData::setHaveFiredLoadEvent):
874 * dom/XMLTokenizer.cpp:
875 (WebCore::XMLTokenizer::notifyFinished):
876 * html/HTMLScriptElement.cpp:
877 (WebCore::HTMLScriptElement::dispatchLoadEvent):
878 * svg/SVGScriptElement.cpp:
879 (WebCore::SVGScriptElement::setCreatedByParser):
880 (WebCore::SVGScriptElement::parseMappedAttribute):
881 (WebCore::SVGScriptElement::svgAttributeChanged):
882 (WebCore::SVGScriptElement::insertedIntoDocument):
883 (WebCore::SVGScriptElement::removedFromDocument):
884 (WebCore::SVGScriptElement::childrenChanged):
885 (WebCore::SVGScriptElement::isURLAttribute):
886 (WebCore::SVGScriptElement::finishParsingChildren):
887 (WebCore::SVGScriptElement::type):
888 (WebCore::SVGScriptElement::setType):
889 (WebCore::SVGScriptElement::haveLoadedRequiredResources):
890 (WebCore::SVGScriptElement::dispatchLoadEvent):
891 (WebCore::SVGScriptElement::dispatchErrorEvent):
892 * svg/SVGScriptElement.h:
894 2008-09-19 Dan Bernstein <mitz@apple.com>
896 Reviewed by John Sullivan.
898 - fix https://bugs.webkit.org/show_bug.cgi?id=20951
899 Typo in Position::getInlineBoxAndOffset()
902 Without the fix, the newly-added assertion fails in platform/mac/editing/input/caret-primary-bidi.html
905 (WebCore::Position::getInlineBoxAndOffset):
906 * rendering/InlineTextBox.cpp:
907 (WebCore::InlineTextBox::positionForOffset):
909 2008-09-19 David Hyatt <hyatt@apple.com>
911 Add support for hit testing of all five possible scrollbar button placements.
913 Reviewed by Sam Weinig
915 * platform/ScrollbarThemeComposite.cpp:
916 (WebCore::ScrollbarThemeComposite::paint):
917 * platform/mac/ScrollbarThemeMac.mm:
919 (WebCore::ScrollbarThemeMac::backButtonRect):
920 (WebCore::ScrollbarThemeMac::forwardButtonRect):
921 (WebCore::ScrollbarThemeMac::trackRect):
922 (WebCore::ScrollbarThemeMac::paintButton):
924 2008-09-19 Darin Adler <darin@apple.com>
926 - try to fix Qt build
928 * bridge/qt/qt_instance.cpp:
929 (JSC::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp): Add structure argument.
930 (JSC::Bindings::QtInstance::getRuntimeObject): Ditto.
931 * bridge/runtime_object.cpp:
932 (JSC::RuntimeObjectImp::RuntimeObjectImp): Add an overload just for Qt.
933 * bridge/runtime_object.h: Ditto.
935 2008-09-19 Chris Marrin <cmarrin@apple.com>
937 Reviewed by Dave Hyatt.
939 Transition starts running when it shouldn't
940 https://bugs.webkit.org/show_bug.cgi?id=20892
942 When there is a transition and an animation on the
943 same element, make sure the animation wins.
945 The fix is to save the unanimated style when an animation is started.
946 Then, when starting a transition, check to see if there is a current
947 animation on the same prop. If so, use the unanimated style as the
948 fromStyle rather than the current style.
950 Test: animations/transition-and-animation-1.html
952 * page/animation/CompositeAnimation.cpp:
953 (WebCore::CompositeAnimation::updateTransitions):
954 (WebCore::CompositeAnimation::updateKeyframeAnimations):
955 (WebCore::CompositeAnimation::animate):
956 (WebCore::CompositeAnimation::getAnimationForProperty):
957 * page/animation/CompositeAnimation.h:
958 * page/animation/ImplicitAnimation.cpp:
959 (WebCore::ImplicitAnimation::reset):
960 * page/animation/ImplicitAnimation.h:
961 * page/animation/KeyframeAnimation.cpp:
962 (WebCore::KeyframeAnimation::hasAnimationForProperty):
963 * page/animation/KeyframeAnimation.h:
964 (WebCore::KeyframeAnimation::KeyframeAnimation):
965 (WebCore::KeyframeAnimation::unanimatedStyle):
967 2008-09-19 David Hyatt <hyatt@apple.com>
969 Add support for painting/hit testing of four possible scrollbar buttons.
970 The Windows themes simply ignore the two parts that they will never
971 show. The Mac theme also ignores the other two buttons for now.
973 The cross-platform base for all three themes, ScrollbarThemeComposite,
974 has all the proper support though.
976 Reviewed by Sam Weinig
978 * platform/ScrollbarThemeComposite.cpp:
979 (WebCore::ScrollbarThemeComposite::hitTest):
980 (WebCore::ScrollbarThemeComposite::invalidatePart):
981 * platform/ScrollbarThemeComposite.h:
982 * platform/mac/ScrollbarThemeMac.h:
983 * platform/mac/ScrollbarThemeMac.mm:
984 (WebCore::ScrollbarThemeMac::backButtonRect):
985 (WebCore::ScrollbarThemeMac::forwardButtonRect):
986 (WebCore::ScrollbarThemeMac::paintButton):
987 * platform/win/ScrollbarThemeSafari.cpp:
988 (WebCore::ScrollbarThemeSafari::backButtonRect):
989 (WebCore::ScrollbarThemeSafari::forwardButtonRect):
990 (WebCore::ScrollbarThemeSafari::paintButton):
991 * platform/win/ScrollbarThemeSafari.h:
992 * platform/win/ScrollbarThemeWin.cpp:
993 (WebCore::ScrollbarThemeWin::backButtonRect):
994 (WebCore::ScrollbarThemeWin::forwardButtonRect):
995 (WebCore::ScrollbarThemeWin::paintButton):
996 * platform/win/ScrollbarThemeWin.h:
998 2008-09-19 Matt Lilek <webkit@mattlilek.com>
1000 Reviewed by Tim Hatcher.
1002 Bug 17772: Inspector should support point-and-click to select a node to inspect
1003 https://bugs.webkit.org/show_bug.cgi?id=17772
1004 <rdar://problem/5792395>
1006 * English.lproj/localizedStrings.js:
1008 (WebCore::Chrome::mouseDidMoveOverElement):
1009 * page/EventHandler.cpp:
1010 (WebCore::EventHandler::handleMousePressEvent):
1011 * page/InspectorController.cpp:
1012 (WebCore::toggleNodeSearch):
1013 (WebCore::searchingForNode):
1014 (WebCore::InspectorController::InspectorController):
1015 (WebCore::InspectorController::toggleSearchForNodeInPage):
1016 (WebCore::InspectorController::mouseDidMoveOverElement):
1017 (WebCore::InspectorController::handleMousePressOnNode):
1018 (WebCore::InspectorController::windowScriptObjectAvailable):
1019 * page/InspectorController.h:
1020 (WebCore::InspectorController::searchingForNodeInPage):
1021 * page/inspector/ElementsPanel.js:
1022 * page/inspector/Images/nodeSearchButtons.png: Added.
1023 * page/inspector/inspector.css:
1025 2008-09-19 David Hyatt <hyatt@apple.com>
1027 Add new scrollbar parts to be able to represent back and forward buttons
1028 at either end of the scrollbar. The current scrollbar still just draws
1029 a single button at either end, but the parts now exist.
1031 Reviewed by Sam Weinig
1033 * platform/ScrollTypes.h:
1035 * platform/Scrollbar.cpp:
1036 (WebCore::Scrollbar::autoscrollTimerFired):
1037 (WebCore::Scrollbar::pressedPartScrollDirection):
1038 (WebCore::Scrollbar::pressedPartScrollGranularity):
1039 (WebCore::Scrollbar::handleMouseMoveEvent):
1040 * platform/ScrollbarTheme.h:
1041 (WebCore::ScrollbarTheme::buttonsPlacement):
1042 (WebCore::ScrollbarTheme::invalidateParts):
1043 * platform/ScrollbarThemeComposite.cpp:
1044 (WebCore::ScrollbarThemeComposite::paint):
1045 (WebCore::ScrollbarThemeComposite::hitTest):
1046 (WebCore::ScrollbarThemeComposite::invalidatePart):
1047 * platform/ScrollbarThemeComposite.h:
1049 2008-09-19 Beth Dakin <bdakin@apple.com>
1051 Reviewed by Dave Hyatt.
1053 Fix for <rdar://problem/6231308> crash in AutoTableLayout
1055 The code assumes later on that a TableSection's grid's row vector
1056 will never be empty. So make 1 the minimum number of columns.
1058 * rendering/RenderTableSection.cpp:
1059 (WebCore::RenderTableSection::ensureRows):
1061 2008-09-19 David Hyatt <hyatt@apple.com>
1063 Add a new ScrollbarButtonsPlacement type for specifying where
1064 the button arrows are in a scrollbar.
1066 Read in the placement settings for Mac. Nothing is done with the
1069 Add a new buttonsPlacement() method to ScrollbarTheme composite
1070 so that the arrow settings can be obtained.
1072 Reviewed by Sam Weinig
1074 * platform/ScrollTypes.h:
1076 * platform/ScrollbarThemeComposite.h:
1077 (WebCore::ScrollbarThemeComposite::buttonsPlacement):
1078 * platform/mac/ScrollbarThemeMac.mm:
1079 (WebCore::updateArrowPlacement):
1080 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
1082 2008-09-19 Steve Falkenburg <sfalken@apple.com>
1084 Roll out r36626. It is causing variance in SunSpider numbers on XP.
1086 Rubber stamped by Mark Rowe.
1088 * platform/win/SharedTimerWin.cpp:
1089 (WebCore::isRunningOnVistaOrLater):
1090 (WebCore::setSharedTimerFireTime):
1092 2008-09-19 Kevin McCullough <kmccullough@apple.com>
1096 https://bugs.webkit.org/show_bug.cgi?id=20942
1097 Bug 20942: Repeated messages in resources don't collapse
1098 - Now repeated messages in a resource's view are collapsed and a message
1099 says how many were repeated.
1101 * English.lproj/localizedStrings.js:
1102 * manual-tests/inspector/multiple-console-messages.html:
1103 * page/inspector/Console.js: Send all the messages to the resource's
1104 view before possibly returning early if the message is a repeat.
1105 * page/inspector/SourceFrame.js: Add the text about the message being
1106 repeated, if it is, and increment it when necessary.
1108 2008-09-19 Chris Fleizach <cfleizach@apple.com>
1110 Removed unnecessary #if
1112 * page/mac/AccessibilityObjectWrapper.mm:
1114 2008-09-19 David Hyatt <hyatt@apple.com>
1116 Read in prefs for the scroll delay repeat values for buttons. Also
1117 honor the option-click pref for jumping to the thumb when clicking in
1120 Reviewed by Sam Weinig
1122 * platform/mac/ScrollbarThemeMac.h:
1123 * platform/mac/ScrollbarThemeMac.mm:
1124 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
1125 (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
1126 (WebCore::ScrollbarThemeMac::autoscrollTimerDelay):
1127 (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
1129 2008-09-19 David Hyatt <hyatt@apple.com>
1131 Move ScrollbarThemeMac.cpp to ScrollbarThemeMac.mm so it can use Obj-C.
1132 Set the initial button repeat delay to 0.5 for Mac.
1134 Reviewed by Sam Weinig
1136 * WebCore.xcodeproj/project.pbxproj:
1137 * platform/mac/ScrollbarThemeMac.cpp: Removed.
1138 * platform/mac/ScrollbarThemeMac.h:
1139 (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
1140 * platform/mac/ScrollbarThemeMac.mm: Copied from platform/mac/ScrollbarThemeMac.cpp.
1142 2008-09-19 Darin Adler <darin@apple.com>
1144 Reviewed by Sam Weinig.
1146 - part 2 of https://bugs.webkit.org/show_bug.cgi?id=20858
1147 make each distinct C++ class get a distinct JSC::Structure
1149 + Fixed all cases where we were using a shared structure for multiple
1150 C++ classes in WebCore. This still has to be done in JavaScriptCore.
1152 + Got rid of cacheGlobalObject.
1154 + Improved use of PassRefPtr in bindings code.
1156 + Removed a couple cases where we were potentially allocating prototypes
1157 inside a JSObject's construction process -- this can lead to trouble if
1158 we do a garbage collection while an object is only partly constructed.
1160 * bindings/js/JSAudioConstructor.cpp:
1161 (WebCore::JSAudioConstructor::JSAudioConstructor): Create a structure explicitly
1162 so we don't implicitly share the structure with other objects that use the object
1165 * bindings/js/JSDOMBinding.cpp:
1166 (WebCore::getCachedDOMConstructor): Added. To be used for constructors so we
1167 don't need cacheGlobalObject any more.
1168 (WebCore::cacheDOMConstructor): Ditto.
1170 * bindings/js/JSDOMBinding.h: Removed DOMObject constructor that takes a prototype.
1171 Added functions and a function template for getting cached DOM constructors.
1172 Removed cacheGlobalObject function template.
1174 * bindings/js/JSDOMWindowBase.cpp:
1175 (WebCore::JSDOMWindowBase::JSDOMWindowBase): Take a PassRefPtr<DOMWindow> since
1176 we're taking ownership.
1177 * bindings/js/JSDOMWindowBase.h: Changed constructor to take PassRefPtr, since
1178 we're taking ownership. Added constructor map.
1179 * bindings/js/JSDOMWindowCustom.cpp:
1180 (WebCore::JSDOMWindow::mark): Mark the constructors in the map.
1182 * bindings/js/JSDOMWindowShell.cpp:
1183 (WebCore::JSDOMWindowShell::JSDOMWindowShell): Take a PassRefPtr<DOMWindow> since
1184 we're taking ownership. Use the new setWindow function to create the JSDOMWindow;
1185 this is now done in only that one place.
1186 (WebCore::JSDOMWindowShell::setWindow): Added. Creates the JSDOMWindow based on
1187 the passed-in DOMWindow. Code was moved here and changed to allocate unique
1188 structures for both the window prototype and the window.
1189 * bindings/js/JSDOMWindowShell.h: Ditto.
1191 * bindings/js/JSEventTargetBase.h: Changed class template argument so it doesn't
1192 have the same name (JSEventTarget) as an actual class. Removed unhelpful use of
1193 private/friend in JSEventTargetBase. Removed comments referring to defunct
1194 macros. Changed JSEventTargetBasePrototype to get the prototype with the new
1195 rather than its own copy of cacheGlobalObject (I missed this during pass 1).
1196 Changed JSEventTargetBasePrototype so it doesn't have so many template arguments.
1198 * bindings/js/JSEventTargetNode.cpp: Added s_info; needed for the new scheme
1199 for caching structures and prototypes.
1200 (WebCore::JSEventTargetNode::JSEventTargetNode): Use PassRefPtr.
1201 (WebCore::JSEventTargetNode::createPrototype): Added.
1202 * bindings/js/JSEventTargetNode.h: Updated for above changes.
1204 * bindings/js/JSHTMLAllCollection.h:
1205 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Use PassRefPtr.
1206 * bindings/js/JSHTMLCollectionCustom.cpp:
1207 (WebCore::getNamedItems): Pass ExecState instead of prototype.
1208 * bindings/js/JSHTMLFormElementCustom.cpp:
1209 (WebCore::JSHTMLFormElement::nameGetter): Ditto.
1210 * bindings/js/JSHTMLInputElementBase.cpp:
1211 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Use PassRefPtr.
1212 * bindings/js/JSHTMLInputElementBase.h: Ditto.
1213 * bindings/js/JSHTMLOptionElementConstructor.cpp:
1214 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
1215 Create a unique structure instead of sharing.
1216 * bindings/js/JSImageConstructor.cpp:
1217 (WebCore::JSImageConstructor::JSImageConstructor): Ditto.
1219 * bindings/js/JSInspectedObjectWrapper.cpp:
1220 (WebCore::JSInspectedObjectWrapper::wrap): Removed overload that takes
1221 a prototype rather than a structure. Made the use of inheritorID() here
1223 * bindings/js/JSInspectedObjectWrapper.h: Ditto.
1224 * bindings/js/JSInspectorCallbackWrapper.cpp:
1225 (WebCore::JSInspectorCallbackWrapper::wrap): Ditto.
1226 * bindings/js/JSInspectorCallbackWrapper.h: Ditto.
1228 * bindings/js/JSNamedNodesCollection.cpp:
1229 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Changed to
1230 take an ExecState argument instead of a prototype. Create a unique
1231 StructureID instead of sharing.
1232 * bindings/js/JSNamedNodesCollection.h: Ditto.
1234 * bindings/js/JSQuarantinedObjectWrapper.cpp: Removed overloaded
1235 constructor that takes a prototype instead of a structure.
1236 * bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
1238 * bindings/js/JSRGBColor.cpp:
1239 (WebCore::JSRGBColor::JSRGBColor): Take ExecState instead of a
1240 prototype; create a unique structure.
1241 (WebCore::getJSRGBColor): Ditto.
1242 * bindings/js/JSRGBColor.h: Ditto.
1244 * bindings/js/JSSQLResultSetRowListCustom.cpp:
1245 (WebCore::JSSQLResultSetRowList::item): Use constructEmptyObject instead
1246 of explicit coding the idiom for making a new object.
1248 * bindings/js/JSXMLHttpRequestConstructor.cpp:
1249 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
1250 Create a unique structure instead of the shared one.
1251 * bindings/js/JSXSLTProcessorConstructor.cpp:
1252 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
1255 * bindings/js/ScriptController.cpp:
1256 (WebCore::ScriptController::clearWindowShell): Let the window shell's
1257 setWindow function create the JSDOMWindow instead of doing it here.
1259 * bindings/scripts/CodeGeneratorJS.pm: Changed to use PassRefPtr for
1260 the structure and the wrapped object when creating wrappers.
1261 Simplified some of the special cases for DOMWindow so they are
1262 different only in ways the need to be. Eliminated the
1263 JSDOMWindow::createPrototype and JSDOMWindowPrototype::self
1264 functions. Moved responsibility for creating the structure and
1265 parent prototype out of the prototype constructor into the
1266 createPrototype function. Removed the unused "DoNotCache" flag for
1267 objects other than DOMWindow. Use getDOMConstructor instead of
1268 cacheGlobalObject for constructors. Make each constructor have
1269 a unique structure ID.
1271 * bridge/objc/objc_runtime.h: Added createPrototype and changed the
1272 name of the info member to s_info so we can use the standard DOM
1273 binding macros to handl the prototype.
1274 * bridge/objc/objc_runtime.mm: Fixed namespacing a bit.
1275 (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
1276 Create a unique structure using getDOMStructure.
1278 * bridge/runtime_array.cpp: Fixed namespacing a bit.
1279 (JSC::RuntimeArray::RuntimeArray): Create a unique structure using
1281 * bridge/runtime_array.h: Added createPrototype so getDOMStructure
1284 * bridge/runtime_object.cpp:
1285 (JSC::RuntimeObjectImp::RuntimeObjectImp): Create a unique structure using
1287 * bridge/runtime_object.h: Added createPrototype so getDOMStructure
1290 * history/CachedPage.cpp:
1291 (WebCore::CachedPage::restore): Let the window shell's
1292 setWindow function create the JSDOMWindow instead of doing it here.
1294 * page/DOMWindow.idl: Removed DoNotCache, which is no longer used.
1296 2008-09-19 Dan Bernstein <mitz@apple.com>
1298 Reviewed by Dave Hyatt.
1300 This optimization was suggested by Daniel Fenwick
1302 - speed up measuring text on the Core Text code path by not specifying a paragraph writing direction
1304 Specifying LTR paragraph directionality when measuring runs of RTL text
1305 resulted in typically two CTRuns being generated for every run instead
1306 of one, due to the leading space being reordered to the left.
1308 * platform/graphics/SimpleFontData.h: Removed the ltr parameter to
1309 getCFStringAttributes() and changed m_CFStringAttributes from an array
1311 * platform/graphics/mac/CoreTextController.cpp:
1312 (WebCore::CoreTextController::CoreTextController): Added a
1313 mayUseNaturalWritingDirection parameter.
1314 (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Changed
1315 to force the bidi embedding level whenever
1316 m_mayUseNaturalWritingDirectrion is false. Since this is now a common
1317 case, made the typesetter options dictionaries static.
1318 * platform/graphics/mac/CoreTextController.h:
1319 * platform/graphics/mac/FontMacCoreText.cpp:
1320 (WebCore::Font::selectionRectForComplexText): Renamed a local variable.
1321 (WebCore::Font::floatWidthForComplexText): Changed to allow the
1322 CoreTextController to not set the writing direction.
1323 * platform/graphics/mac/SimpleFontDataMac.mm:
1324 (WebCore::SimpleFontData::getCFStringAttributes): Removed the ltr
1325 parameter and the paragraph style attribute.
1327 2008-09-19 David Hyatt <hyatt@apple.com>
1329 Reviewed by Sam Weinig
1331 https://bugs.webkit.org/show_bug.cgi?id=20941
1333 Incorrect height calculation for replaced element inside nested
1334 positioned elements (where the inner has a percentage height and
1335 the outer implicitly has a fixed height because of explicit top/bottom
1338 Added fast/block/positioning/replaced-inside-top-bottom.html
1340 * rendering/RenderBox.cpp:
1341 (WebCore::RenderBox::availableHeightUsing):
1343 2008-09-19 Chris Fleizach <cfleizach@apple.com>
1347 * page/mac/AccessibilityObjectWrapper.mm:
1349 2008-09-18 Chris Fleizach <cfleizach@apple.com>
1351 Reviewed by Darin Adler.
1353 <rdar://problem/6211041> Expose legend tag in accessibility
1355 Exposes the legend tag as the titleUIElement of a fieldset
1357 Test: accessibility/legend.html
1359 * page/AccessibilityObject.h:
1360 (WebCore::AccessibilityObject::isFieldset):
1361 * page/AccessibilityRenderObject.cpp:
1362 (WebCore::AccessibilityRenderObject::isFieldset):
1363 (WebCore::AccessibilityRenderObject::titleUIElement):
1364 * page/AccessibilityRenderObject.h:
1365 * rendering/RenderFieldset.h:
1367 2008-09-19 Chris Fleizach <cfleizach@apple.com>
1369 Reviewed by Darin Adler.
1371 <rdar://problem/6213171> WebKit should use new array-centric methods for AX performance
1373 Implement a few AX API methods that will be called by AppKit, which will
1374 speed up access to accessibility objects
1376 * page/mac/AccessibilityObjectWrapper.mm:
1377 (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
1378 (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
1379 (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
1381 2008-09-19 Holger Hans Peter Freyther <zecke@selfish.org>
1383 Reviewed by Simon Hausmann.
1385 [qtwebkit] Set the m_should* flags to their proper value on entry
1386 With plugins it was possible that we finished a job twice. This was
1387 some kind of reentrancy in QNetworkReplyHandler::sendQueuedItems. By
1388 setting the flag to (m_loadMode == LoadDeferred) they will always have
1389 the right value and we will not send responses twice.
1391 * platform/network/qt/QNetworkReplyHandler.cpp:
1393 2008-09-19 Holger Hans Peter Freyther <zecke@selfish.org>
1395 Reviewed by Simon Hausmann.
1397 [qtwebkit] Pass test 70 of acid3. Handle text decoding errors
1398 Handle text decoding errors before instructing the parser to parse. We
1399 have converted the text to QString and all encoding errors are gone and
1400 the parser will not be able to detect them. So handle them before parsing.
1402 * dom/XMLTokenizerQt.cpp:
1403 (WebCore::XMLTokenizer::doWrite):
1405 2008-09-18 Darin Adler <darin@apple.com>
1407 Reviewed by Maciej Stachowiak.
1409 - part 1 of https://bugs.webkit.org/show_bug.cgi?id=20858
1410 make each distinct C++ class get a distinct JSC::Structure
1412 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1413 (WebCore::JSCSSStyleDeclaration::customPut): Use setDOMException
1414 instead of DOMExceptionTranslator.
1416 * bindings/js/JSDOMBinding.cpp:
1417 (WebCore::getCachedDOMObjectWrapper): Updated function name.
1418 (WebCore::cacheDOMObjectWrapper): Ditto.
1419 (WebCore::forgetDOMObject): Ditto.
1420 (WebCore::getCachedDOMNodeWrapper): Ditto.
1421 (WebCore::forgetDOMNode): Ditto.
1422 (WebCore::cacheDOMNodeWrapper): Ditto.
1423 (WebCore::forgetAllDOMNodesForDocument): Ditto.
1424 (WebCore::markDOMNodesForDocument): Ditto.
1425 (WebCore::updateDOMNodeDocument): Ditto.
1426 (WebCore::getCachedDOMStructure): Added.
1427 (WebCore::createDOMStructure): Ditto.
1429 * bindings/js/JSDOMBinding.h: Get rid of the ScriptInterpreter
1430 class and replace the static member functions with non-member
1431 functions. Added many other functions for getting at structures,
1432 prototypes, wrappers, and creating them. Also moved the
1433 cacheGlobalObject function here from JavaScriptCore; eventually
1434 I'll remove that once I get rid of the remaining callers. Also
1435 removed the DOMExceptionTranslator class.
1437 * bindings/js/JSDOMWindowBase.h: Added JSDOMStructureMap type,
1438 and put one of those maps in each window.
1440 * bindings/js/JSDOMWindowCustom.cpp:
1441 (WebCore::markDOMObjectWrapper): Updated for function name change.
1442 (WebCore::JSDOMWindow::mark): Added code to mark all the structures
1443 in the structure map.
1445 * bindings/js/JSEventTargetNode.cpp:
1446 (WebCore::JSEventTargetNode::JSEventTargetNode): Changed to take
1447 a structure instead of a prototype.
1448 * bindings/js/JSEventTargetNode.h: Ditto.
1449 * bindings/js/JSHTMLAllCollection.h:
1450 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Ditto.
1452 * bindings/js/JSHTMLInputElementBase.cpp:
1453 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Removed
1454 use of the JSC_IMPLEMENT_PROTOTYPE macro, and changed to take a
1455 structure instead of a prototype.
1456 * bindings/js/JSHTMLInputElementBase.h: Removed use of the
1457 JSC_DEFINE_PROTOTYPE_WITH_PROTOTYPE macro, and changed constructor
1458 to take a structure instead of a prototype. Created a dummy prototype
1459 class that causes the HTMLInputElement prototype to have the
1460 HTMLElement prototype.
1462 * bindings/scripts/CodeGeneratorJS.pm: Change constructors to take
1463 structures instead of prototypes. Changed the prototype self function
1464 to use the getDOMPrototype function -- later we can eliminate it and
1465 have callers invoke getDOMPrototype directly instead. Updated other
1466 functions that have name changes. Added code to generate the
1467 createPrototype member function. Changed use of cacheGlobalObject to
1468 get it from the WebCore namespace instead of the JSC namespace.
1469 Changed cacheDOMObject calls to use getDOMObjectWrapper instead.
1472 (WebCore::Document::~Document): Updated for name change and also
1473 removed unnecessary JSLock use -- there's no need to lock around this.
1475 (WebCore::Node::setDocument): Ditto.
1477 * dom/make_names.pl: Changed to use CREATE_DOM_NODE_WRAPPER macro
1478 instead of calling new directly.
1480 * bindings/js/JSCSSRuleCustom.cpp:
1481 (WebCore::toJS): Updated for function name changes and used the
1482 CREATE_DOM_OBJECT_WRAPPER macro.
1483 * bindings/js/JSCSSValueCustom.cpp:
1484 (WebCore::toJS): Ditto.
1485 * bindings/js/JSCanvasPixelArrayCustom.cpp:
1486 (WebCore::toJS): Ditto.
1487 * bindings/js/JSDocumentCustom.cpp:
1488 (WebCore::JSDocument::mark): Ditto.
1489 (WebCore::toJS): Ditto.
1490 * bindings/js/JSElementCustom.cpp:
1491 (WebCore::toJSNewlyCreated): Ditto.
1492 * bindings/js/JSEventCustom.cpp:
1493 (WebCore::toJS): Ditto.
1494 * bindings/js/JSEventTargetBase.cpp:
1495 (WebCore::jsEventTargetDispatchEvent): Use setDOMException instead
1496 of DOMExceptionTranslator.
1497 (WebCore::toJS): Updated for function name changes and used the
1498 CREATE_DOM_OBJECT_WRAPPER macro.
1499 * bindings/js/JSHTMLCollectionCustom.cpp:
1500 (WebCore::toJS): Ditto.
1501 * bindings/js/JSNodeCustom.cpp:
1502 (WebCore::JSNode::mark): Ditto.
1503 (WebCore::createWrapper): Ditto.
1504 (WebCore::toJS): Ditto.
1505 * bindings/js/JSSVGPathSegCustom.cpp:
1506 (WebCore::toJS): Ditto.
1507 * bindings/js/JSStyleSheetCustom.cpp:
1508 (WebCore::toJS): Ditto.
1509 (WebCore::JSStyleSheet::mark): Ditto.
1510 * bindings/js/JSTextCustom.cpp:
1511 (WebCore::toJSNewlyCreated): Ditto.
1512 * bindings/js/JSXMLHttpRequestConstructor.cpp:
1513 (WebCore::constructXMLHttpRequest): Ditto.
1514 * bindings/js/JSXMLHttpRequestCustom.cpp:
1515 (WebCore::JSXMLHttpRequest::mark): Ditto.
1516 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
1517 (WebCore::JSXMLHttpRequestUpload::mark): Ditto.
1518 * bindings/js/JSXSLTProcessorConstructor.cpp:
1519 (WebCore::constructXSLTProcessor): Ditto.
1520 * bindings/js/ScriptController.cpp:
1521 (WebCore::ScriptController::finishedWithEvent): Ditto.
1522 * xml/XMLHttpRequest.cpp:
1523 (WebCore::XMLHttpRequest::loadRequestAsynchronously): Ditto.
1524 (WebCore::XMLHttpRequest::dropProtection): Ditto.
1526 2008-09-18 David Hyatt <hyatt@apple.com>
1528 This patch gets a viewless scrollbar working on Mac. It is turned off
1529 by default. Hit testing works. For now the scrollbar just paints ugly
1530 debug rects in the place of the buttons, track and thumb. It does match
1531 Aqua metrics though.
1533 Reviewed by Sam Weinig
1535 * WebCore.xcodeproj/project.pbxproj:
1536 * page/mac/EventHandlerMac.mm:
1537 (WebCore::EventHandler::passMousePressEventToScrollbar):
1538 * platform/ScrollbarThemeComposite.cpp:
1539 (WebCore::ScrollbarThemeComposite::paint):
1540 (WebCore::ScrollbarThemeComposite::trackPosition):
1541 * platform/ScrollbarThemeComposite.h:
1542 * platform/mac/ScrollViewMac.mm:
1543 (WebCore::ScrollView::addChild):
1544 * platform/mac/ScrollbarThemeMac.cpp:
1546 (WebCore::ScrollbarThemeMac::hasButtons):
1547 (WebCore::ScrollbarThemeMac::hasThumb):
1548 (WebCore::buttonRepaintRect):
1549 (WebCore::ScrollbarThemeMac::backButtonRect):
1550 (WebCore::ScrollbarThemeMac::forwardButtonRect):
1551 (WebCore::trackRepaintRect):
1552 (WebCore::ScrollbarThemeMac::trackRect):
1553 (WebCore::ScrollbarThemeMac::minimumThumbLength):
1554 (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
1555 (WebCore::ScrollbarThemeMac::paintTrack):
1556 (WebCore::ScrollbarThemeMac::paintButton):
1557 (WebCore::ScrollbarThemeMac::paintThumb):
1558 * platform/mac/ScrollbarThemeMac.h:
1559 (WebCore::ScrollbarThemeMac::supportsControlTints):
1560 * platform/qt/ScrollbarThemeQt.cpp:
1561 (WebCore::ScrollbarThemeQt::trackPosition):
1563 2008-09-18 Collin Jackson <collinj@webkit.org>
1565 Build fix; added missing header file to GNUmakefile.am
1569 2008-09-18 Sam Weinig <sam@webkit.org>
1571 Reviewed by David "the Hair" Hyatt.
1573 Move DataRef, SVGRenderStyle and SVGRenderStyleDefs in render/style.
1577 * WebCore.vcproj/WebCore.vcproj:
1578 * WebCore.xcodeproj/project.pbxproj:
1579 * rendering/DataRef.h: Removed.
1580 * rendering/SVGRenderStyle.cpp: Removed.
1581 * rendering/SVGRenderStyle.h: Removed.
1582 * rendering/SVGRenderStyleDefs.cpp: Removed.
1583 * rendering/SVGRenderStyleDefs.h: Removed.
1584 * rendering/style/DataRef.h: Copied from rendering/DataRef.h.
1585 * rendering/style/SVGRenderStyle.cpp: Copied from rendering/SVGRenderStyle.cpp.
1586 * rendering/style/SVGRenderStyle.h: Copied from rendering/SVGRenderStyle.h.
1587 * rendering/style/SVGRenderStyleDefs.cpp: Copied from rendering/SVGRenderStyleDefs.cpp.
1588 * rendering/style/SVGRenderStyleDefs.h: Copied from rendering/SVGRenderStyleDefs.h.
1590 2008-09-18 Mark Rowe <mrowe@apple.com>
1592 Reviewed by Dan Bernstein.
1594 Add a means of clearing a FrameTree's name.
1597 * page/FrameTree.cpp:
1598 (WebCore::FrameTree::clearName):
1601 2008-09-18 David Hyatt <hyatt@apple.com>
1603 Eliminate addToSuperview from Widget, since it was only called
1604 by ScrollViewMac's addChild method. Just shift the original body
1605 of addToSuperView into addChild.
1607 Reviewed by Sam Weinig
1609 * platform/Widget.h:
1610 * platform/mac/ScrollViewMac.mm:
1611 (WebCore::ScrollView::addChild):
1612 * platform/mac/WidgetMac.mm:
1614 2008-09-18 Collin Jackson <collinj@webkit.org>
1616 Reviewed by Antti Koivisto and Mark Rowe.
1618 Test: http/tests/misc/dns-prefetch-control.html
1620 https://bugs.webkit.org/show_bug.cgi?id=20690
1622 Invoke WebCore::prefetchDNS() on host names that appear in
1623 in the href of hyperlinks and <link rel="dns-prefetch">. This
1624 can be used to implement DNS prefetching.
1626 * WebCore.vcproj/WebCore.vcproj:
1627 * WebCore.xcodeproj/project.pbxproj:
1629 (WebCore::Document::Document):
1630 (WebCore::Document::processHttpEquiv):
1631 (WebCore::Document::setSecurityOrigin):
1632 (WebCore::Document::initDNSPrefetch):
1633 (WebCore::Document::parseDNSPrefetchControlHeader):
1635 (WebCore::Document::isDNSPrefetchEnabled):
1636 * html/HTMLAnchorElement.cpp:
1637 (WebCore::HTMLAnchorElement::parseMappedAttribute):
1638 * html/HTMLLinkElement.cpp:
1639 (WebCore::HTMLLinkElement::HTMLLinkElement):
1640 (WebCore::HTMLLinkElement::parseMappedAttribute):
1641 (WebCore::HTMLLinkElement::tokenizeRelAttribute):
1642 (WebCore::HTMLLinkElement::process):
1643 * html/HTMLLinkElement.h:
1644 * html/PreloadScanner.cpp:
1645 (WebCore::PreloadScanner::processAttribute):
1646 * loader/FrameLoader.cpp:
1647 (WebCore::FrameLoader::begin):
1648 * platform/gtk/TemporaryLinkStubs.cpp:
1649 (WebCore::prefetchDNS):
1650 * platform/network/DNS.h: Added.
1651 * platform/network/cf/DNSCFNet.cpp: Added.
1652 (WebCore::prefetchDNS):
1653 * platform/qt/TemporaryLinkStubs.cpp:
1654 (WebCore::prefetchDNS):
1655 * platform/wx/TemporaryLinkStubs.cpp:
1656 (WebCore::prefetchDNS):
1658 2008-09-18 David Hyatt <hyatt@apple.com>
1660 Eliminate the convertToScreenCoordinate method on Widget, since
1661 ScrollView has redundant methods that already do the same thing.
1663 Reviewed by Sam Weinig
1665 * editing/mac/SelectionControllerMac.mm:
1666 (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
1667 * platform/Widget.h:
1668 * platform/mac/WidgetMac.mm:
1669 (WebCore::Widget::containingWindow):
1671 2008-09-18 David Hyatt <hyatt@apple.com>
1673 Move to only one constructor for Widgets. Rename data to m_data and make
1674 it have an #ifdef only for platforms that have platform-specific data (Mac
1677 Reviewed by Sam Weinig
1680 * platform/Widget.cpp:
1681 (WebCore::Widget::init):
1682 * platform/Widget.h:
1683 * platform/gtk/WidgetGtk.cpp:
1684 (WebCore::Widget::Widget):
1685 (WebCore::Widget::~Widget):
1686 (WebCore::Widget::cursor):
1687 (WebCore::Widget::setCursor):
1688 * platform/mac/WidgetMac.mm:
1689 (WebCore::Widget::Widget):
1690 (WebCore::Widget::~Widget):
1691 (WebCore::Widget::addToSuperview):
1692 (WebCore::Widget::removeFromSuperview):
1693 (WebCore::Widget::beforeMouseDown):
1694 (WebCore::Widget::afterMouseDown):
1695 * platform/qt/WidgetQt.cpp:
1696 (WebCore::Widget::Widget):
1697 * platform/win/WidgetWin.cpp:
1698 (WebCore::Widget::Widget):
1699 * platform/wx/WidgetWx.cpp:
1700 (WebCore::Widget::Widget):
1702 2008-09-18 David Hyatt <hyatt@apple.com>
1704 Move Qt's isNPAPIPlugin boolean from Widget down to PluginView, since there
1705 was no reason for it to be on Widget. This change eliminates Qt ifdefs
1708 Reviewed by Sam Weinig
1710 * bindings/js/ScriptControllerQt.cpp:
1711 (WebCore::ScriptController::createScriptInstanceForWidget):
1712 * platform/qt/WidgetQt.cpp:
1713 (WebCore::WidgetPrivate::WidgetPrivate):
1714 (WebCore::WidgetPrivate::~WidgetPrivate):
1715 (WebCore::Widget::Widget):
1716 (WebCore::Widget::~Widget):
1717 * plugins/PluginView.cpp:
1718 (WebCore::PluginView::PluginView):
1719 * plugins/PluginView.h:
1720 (WebCore::PluginView::isNPAPIPlugin):
1721 (WebCore::PluginView::setIsNPAPIPlugin):
1723 2008-09-18 David Hyatt <hyatt@apple.com>
1725 Make geometryChanged() cross-platform on Widget. GTK and WIN platform
1726 ifdefs are now gone from Widget!
1728 Reviewed by Sam Weinig
1730 * platform/Widget.h:
1731 (WebCore::Widget::geometryChanged):
1732 * platform/gtk/WidgetGtk.cpp:
1733 * platform/qt/WidgetQt.cpp:
1735 2008-09-18 David Hyatt <hyatt@apple.com>
1737 Consolidate convertTo/FromContainingWindow methods so that all platforms
1738 but Mac share the same code.
1740 Move convertSelfToChild and convertChildToSelf to ScrollView, since
1741 Widget should know nothing about children. Make the methods cross-platform
1744 Reviewed by Sam Weinig
1746 * platform/ScrollView.h:
1747 (WebCore::ScrollView::convertChildToSelf):
1748 (WebCore::ScrollView::convertSelfToChild):
1749 * platform/Widget.cpp:
1750 (WebCore::Widget::convertToContainingWindow):
1751 (WebCore::Widget::convertFromContainingWindow):
1752 * platform/Widget.h:
1753 (WebCore::Widget::geometryChanged):
1754 * platform/gtk/ScrollViewGtk.cpp:
1755 (WebCore::ScrollView::isScrollViewScrollbar):
1756 * platform/gtk/WidgetGtk.cpp:
1757 * platform/mac/ScrollViewMac.mm:
1758 (WebCore::ScrollView::isScrollViewScrollbar):
1759 * platform/mac/WidgetMac.mm:
1760 * platform/qt/ScrollViewQt.cpp:
1761 (WebCore::ScrollView::isScrollViewScrollbar):
1762 * platform/qt/WidgetQt.cpp:
1763 * platform/win/ScrollViewWin.cpp:
1764 (WebCore::ScrollView::isScrollViewScrollbar):
1765 * platform/win/WidgetWin.cpp:
1767 2008-09-18 David Hyatt <hyatt@apple.com>
1769 Make the conversion methods that go to and from some containingWindow
1770 cross-platform. Implement them on Mac.
1772 Reviewed by Sam Weinig
1774 * platform/Widget.h:
1775 (WebCore::Widget::setContainingWindow):
1776 * platform/mac/WidgetMac.mm:
1777 (WebCore::Widget::convertFromContainingWindow):
1778 (WebCore::Widget::convertToContainingWindow):
1780 2008-09-18 Sam Weinig <sam@webkit.org>
1782 Rubber-stamped by David "Yeah-yeah" Hyatt.
1784 Cleanup RenderStyle.
1786 * WebCore.xcodeproj/project.pbxproj:
1787 * rendering/style/CounterContent.h:
1788 * rendering/style/RenderStyle.cpp:
1789 * rendering/style/RenderStyle.h:
1791 2008-09-18 Chris Marrin <cmarrin@apple.com>
1793 Reviewed by Sam Weinig
1795 Fixed https://bugs.webkit.org/show_bug.cgi?id=20908
1796 Now TransformOperations and AnimationList no longer
1797 inherit from Vector<> but rather have API to access.
1799 * css/CSSComputedStyleDeclaration.cpp:
1800 (WebCore::computedTransform):
1801 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1802 * css/CSSStyleSelector.cpp:
1803 (WebCore::CSSStyleSelector::createTransformOperations):
1804 * page/animation/AnimationBase.cpp:
1805 (WebCore::blendFunc):
1806 * page/animation/CompositeAnimation.cpp:
1807 (WebCore::CompositeAnimation::updateTransitions):
1808 (WebCore::CompositeAnimation::updateKeyframeAnimations):
1809 (WebCore::CompositeAnimation::animate):
1810 * page/animation/ImplicitAnimation.cpp:
1811 (WebCore::ImplicitAnimation::validateTransformFunctionList):
1812 * page/animation/KeyframeAnimation.cpp:
1813 (WebCore::KeyframeAnimation::validateTransformFunctionList):
1814 * rendering/RenderLayer.cpp:
1815 (WebCore::RenderLayer::updateReflectionStyle):
1816 * rendering/style/AnimationList.cpp:
1817 (WebCore::AnimationList::operator==):
1818 * rendering/style/AnimationList.h:
1819 (WebCore::AnimationList::operator!=):
1820 (WebCore::AnimationList::size):
1821 (WebCore::AnimationList::isEmpty):
1822 (WebCore::AnimationList::resize):
1823 (WebCore::AnimationList::remove):
1824 (WebCore::AnimationList::append):
1825 (WebCore::AnimationList::animation):
1826 * rendering/style/RenderStyle.cpp:
1827 (WebCore::StyleRareNonInheritedData::updateKeyframes):
1828 (WebCore::RenderStyle::applyTransform):
1829 (WebCore::RenderStyle::adjustAnimations):
1830 (WebCore::RenderStyle::adjustTransitions):
1831 (WebCore::RenderStyle::transitionForProperty):
1832 * rendering/style/RenderStyle.h:
1833 (WebCore::RenderStyle::hasTransform):
1834 * rendering/style/TransformOperations.cpp:
1835 (WebCore::TransformOperations::TransformOperations):
1836 (WebCore::TransformOperations::operator==):
1837 * rendering/style/TransformOperations.h:
1838 (WebCore::TransformOperations::apply):
1839 (WebCore::TransformOperations::operations):
1841 2008-09-18 Holger Hans Peter Freyther <zecke@selfish.org>
1845 [qt] Build fixes after the Widget/ScrollView cleanup
1846 topLevel() is now root()
1849 * platform/qt/ScrollViewQt.cpp:
1850 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
1851 (WebCore::ScrollView::addChild):
1852 (WebCore::ScrollView::removeChild):
1854 2008-09-18 Holger Hans Peter Freyther <zecke@selfish.org>
1856 Reviewed by Mark Rowe.
1858 https://bugs.webkit.org/show_bug.cgi?id=20437
1860 XMLTokenizer.cpp used to contain two different implementations. One was using
1861 libxml2 and the other was using the Qt XML StreamReader. Clean up the code by
1862 separating the two implementations from each other.
1863 Common code and some small bits are kept inside the XMLTokenizer.cpp, the Qt code
1864 was moved to XMLTokenizerQt.cpp and the Libxml2 based code was moved to
1865 XMLTokenizerLibxml2.cpp. There should be no functional changes.
1867 Attempt to add XMLTokenizerLibxml2.cpp to every buildsystem so the build continues
1872 * WebCore.vcproj/WebCore.vcproj:
1873 * WebCore.xcodeproj/project.pbxproj:
1874 * WebCoreSources.bkl:
1875 * dom/XMLTokenizer.cpp:
1876 (WebCore::isScriptElement):
1877 (WebCore::castToScriptElement):
1878 (WebCore::XMLTokenizer::setCurrentNode):
1879 (WebCore::XMLTokenizer::write):
1880 (WebCore::XMLTokenizer::eventuallyMarkAsParserCreated):
1881 (WebCore::XMLTokenizer::enterText):
1882 (WebCore::toString):
1883 (WebCore::XMLTokenizer::exitText):
1884 (WebCore::XMLTokenizer::end):
1885 (WebCore::XMLTokenizer::insertErrorMessageBlock):
1886 * dom/XMLTokenizer.h:
1887 (WebCore::XMLTokenizer::wellFormed):
1888 * dom/XMLTokenizerLibxml2.cpp: Copied from WebCore/dom/XMLTokenizer.cpp.
1889 (WebCore::createMemoryParser):
1890 (WebCore::XMLTokenizer::XMLTokenizer):
1891 (WebCore::XMLTokenizer::~XMLTokenizer):
1892 (WebCore::XMLTokenizer::doWrite):
1893 (WebCore::ignorableWhitespaceHandler):
1894 (WebCore::XMLTokenizer::initializeParserContext):
1895 (WebCore::XMLTokenizer::doEnd):
1896 (WebCore::XMLTokenizer::lineNumber):
1897 (WebCore::XMLTokenizer::columnNumber):
1898 (WebCore::XMLTokenizer::stopParsing):
1899 (WebCore::XMLTokenizer::resumeParsing):
1900 (WebCore::parseXMLDocumentFragment):
1901 (WebCore::attributesStartElementNsHandler):
1902 (WebCore::parseAttributes):
1903 * dom/XMLTokenizerQt.cpp: Copied from WebCore/dom/XMLTokenizer.cpp.
1904 (WebCore::EntityResolver::resolveUndeclaredEntity):
1905 (WebCore::XMLTokenizer::XMLTokenizer):
1906 (WebCore::XMLTokenizer::~XMLTokenizer):
1907 (WebCore::XMLTokenizer::doWrite):
1908 (WebCore::XMLTokenizer::initializeParserContext):
1909 (WebCore::XMLTokenizer::doEnd):
1910 (WebCore::XMLTokenizer::lineNumber):
1911 (WebCore::XMLTokenizer::columnNumber):
1912 (WebCore::XMLTokenizer::stopParsing):
1913 (WebCore::XMLTokenizer::resumeParsing):
1914 (WebCore::parseXMLDocumentFragment):
1915 (WebCore::attributesStartElementNsHandler):
1916 (WebCore::parseAttributes):
1919 2008-09-18 Beth Dakin <bdakin@apple.com>
1921 Reviewed by Geoff Garen.
1923 Build fix for non-Mac builds.
1925 * css/CSSPrimitiveValue.cpp:
1926 (WebCore::CSSPrimitiveValue::cssText):
1928 2008-09-18 Peter Kasting <pkasting@google.com>
1930 Reviewed by hyatt. Landed by eseidel.
1932 https://bugs.webkit.org/show_bug.cgi?id=20745
1933 Animated GIFs do not animate properly with (at least) CG.
1935 * WebCore\platform\graphics\BitmapImage.cpp:
1936 * WebCore\platform\graphics\BitmapImage.h:
1937 * WebCore\platform\graphics\cairo\ImageCairo.cpp:
1938 * WebCore\platform\graphics\cg\ImageCG.cpp:
1939 * WebCore\platform\graphics\qt\ImageQt.cpp:
1940 * WebCore\platform\graphics\wx\ImageWx.cpp:
1942 2008-09-18 Chris Fleizach <cfleizach@apple.com>
1944 Reviewed by Beth Dakin
1946 <rdar://problem/6224222> AX: should not expose a <table> as an AXTable if ARIA
1947 role specifies otherwise
1949 If a <table> isn't an AXTable, the rows and cells should default to AccessibilityRenderObject
1951 Test: accessibility/table-with-aria-role.html
1953 * page/AccessibilityTable.cpp:
1954 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
1955 (WebCore::AccessibilityTable::addChildren):
1956 (WebCore::AccessibilityTable::roleValue):
1957 (WebCore::AccessibilityTable::accessibilityIsIgnored):
1958 (WebCore::AccessibilityTable::title):
1959 * page/AccessibilityTableCell.cpp:
1960 (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
1961 (WebCore::AccessibilityTableCell::isTableCell):
1962 (WebCore::AccessibilityTableCell::roleValue):
1963 * page/AccessibilityTableCell.h:
1964 * page/AccessibilityTableRow.cpp:
1965 (WebCore::AccessibilityTableRow::roleValue):
1966 (WebCore::AccessibilityTableRow::isTableRow):
1967 (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
1968 * page/AccessibilityTableRow.h:
1970 2008-09-18 Steve Falkenburg <sfalken@apple.com>
1972 Use higher-resolution timers on all variants of Windows.
1974 Reviewed by Darin Adler.
1976 * platform/win/SharedTimerWin.cpp:
1977 (WebCore::setSharedTimerFireTime):
1980 2008-09-18 David Hyatt <hyatt@apple.com>
1982 Make containingWindow() and setContainingWindow() cross-platform.
1983 Add a root() function cross-platform so Qt doesn't have to
1986 Reviewed by Darin Adler
1988 * platform/Widget.cpp:
1989 (WebCore::Widget::root):
1990 * platform/Widget.h:
1991 (WebCore::Widget::setContainingWindow):
1992 * platform/gtk/WidgetGtk.cpp:
1993 (WebCore::Widget::Widget):
1994 (WebCore::Widget::containingWindow):
1995 * platform/mac/ScrollViewMac.mm:
1996 (WebCore::ScrollView::addChild):
1997 (WebCore::ScrollView::removeChild):
1998 * platform/mac/WidgetMac.mm:
1999 (WebCore::Widget::containingWindow):
2000 * platform/qt/WidgetQt.cpp:
2001 (WebCore::Widget::invalidateRect):
2002 (WebCore::Widget::containingWindow):
2003 * platform/win/WidgetWin.cpp:
2004 (WebCore::Widget::Widget):
2005 (WebCore::Widget::~Widget):
2006 (WebCore::Widget::containingWindow):
2008 2008-09-18 Beth Dakin <bdakin@apple.com>
2010 Reviewed by Dave Hyatt.
2012 Fix for https://bugs.webkit.org/show_bug.cgi?id=20515 Crash upon
2013 parsing CSS: unicode-range: searchfield-cancel-buttonpt=-webkit-
2015 and corresponding: <rdar://problem/6174100>
2017 This patch makes CSSParserValue::createCSSValue handle unknown
2020 * css/CSSParserValues.cpp:
2021 (WebCore::CSSParserValue::createCSSValue): If we have an identifier
2022 with no id (an unknown identifier) create a CSSPrimitiveValue of
2023 type CSS_PARSER_IDENTIFIER
2024 * css/CSSPrimitiveValue.cpp:
2025 (WebCore::CSSPrimitiveValue::cssText):
2026 (WebCore::CSSPrimitiveValue::parserValue):
2027 * css/CSSPrimitiveValue.h:
2028 (WebCore::CSSPrimitiveValue::):
2030 2008-09-18 Sam Weinig <sam@webkit.org>
2032 Rubber-stamped by David "I'd prefer not" Hyatt.
2034 More the remaining class out of RenderStyle.h/cpp
2038 * WebCore.vcproj/WebCore.vcproj:
2039 * WebCore.xcodeproj/project.pbxproj:
2040 * WebCoreSources.bkl:
2041 * rendering/style/CursorData.h: Copied from rendering/style/RenderStyle.h.
2042 (WebCore::CursorData::CursorData):
2043 (WebCore::CursorData::operator==):
2044 (WebCore::CursorData::operator!=):
2045 * rendering/style/CursorList.h: Copied from rendering/style/RenderStyle.h.
2046 (WebCore::CursorList::operator[]):
2047 (WebCore::CursorList::CursorList):
2048 * rendering/style/RenderStyle.cpp:
2049 * rendering/style/RenderStyle.h:
2050 (WebCore::RenderStyle::deref):
2051 (WebCore::RenderStyle::hasOneRef):
2052 (WebCore::RenderStyle::InheritedFlags::operator!=):
2053 (WebCore::RenderStyle::NonInheritedFlags::operator!=):
2054 (WebCore::RenderStyle::hasBackground):
2055 (WebCore::RenderStyle::outlineWidth):
2056 (WebCore::RenderStyle::autoWrap):
2057 (WebCore::RenderStyle::preserveNewline):
2058 (WebCore::RenderStyle::collapseWhiteSpace):
2059 (WebCore::RenderStyle::isCollapsibleWhiteSpace):
2060 (WebCore::RenderStyle::breakOnlyAfterWhiteSpace):
2061 (WebCore::RenderStyle::breakWords):
2062 (WebCore::RenderStyle::outlineOffset):
2063 (WebCore::RenderStyle::setLeft):
2064 (WebCore::RenderStyle::setRight):
2065 (WebCore::RenderStyle::setTop):
2066 (WebCore::RenderStyle::setBottom):
2067 (WebCore::RenderStyle::setDashboardRegion):
2068 (WebCore::RenderStyle::setBackgroundColor):
2069 (WebCore::RenderStyle::setBorderImage):
2070 (WebCore::RenderStyle::setBorderRadius):
2071 (WebCore::RenderStyle::setFontDescription):
2072 (WebCore::RenderStyle::adjustBackgroundLayers):
2073 (WebCore::RenderStyle::adjustMaskLayers):
2074 (WebCore::RenderStyle::deleteBindingURIs):
2075 (WebCore::RenderStyle::inheritBindingURIs):
2076 (WebCore::RenderStyle::isDisplayReplacedType):
2077 (WebCore::RenderStyle::isDisplayInlineType):
2078 (WebCore::RenderStyle::isOriginalDisplayInlineType):
2079 * rendering/style/StyleInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
2080 * rendering/style/StyleInheritedData.h: Copied from rendering/style/RenderStyle.h.
2081 (WebCore::StyleInheritedData::operator!=):
2082 * rendering/style/StyleRareInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
2083 * rendering/style/StyleRareInheritedData.h: Copied from rendering/style/RenderStyle.h.
2084 (WebCore::StyleRareInheritedData::operator!=):
2085 * rendering/style/StyleRareNonInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
2086 * rendering/style/StyleRareNonInheritedData.h: Copied from rendering/style/RenderStyle.h.
2087 * rendering/style/StyleReflection.h: Copied from rendering/style/RenderStyle.h.
2089 2008-09-18 David Hyatt <hyatt@apple.com>
2091 Move the concept of suppression invalidation on Widgets to Scrollbar
2092 instead. Since this is only used by Scrollbars, there is no need for
2095 Reviewed by Sam Weinig
2097 * platform/Scrollbar.cpp:
2098 (WebCore::Scrollbar::Scrollbar):
2099 (WebCore::Scrollbar::invalidateRect):
2100 * platform/Scrollbar.h:
2101 (WebCore::Scrollbar::suppressInvalidation):
2102 (WebCore::Scrollbar::setSuppressInvalidation):
2103 * platform/Widget.h:
2104 * platform/gtk/WidgetGtk.cpp:
2105 (WebCore::Widget::Widget):
2106 (WebCore::Widget::invalidateRect):
2107 * platform/qt/WidgetQt.cpp:
2108 (WebCore::WidgetPrivate::WidgetPrivate):
2109 (WebCore::Widget::invalidateRect):
2110 * platform/win/WidgetWin.cpp:
2111 (WebCore::Widget::Widget):
2112 (WebCore::Widget::invalidateRect):
2114 2008-09-18 David Hyatt <hyatt@apple.com>
2116 Make invalidate() on Widget non-virtual and make it just call
2117 invalidateRect() on the boundsGeometry() of the Widget.
2119 Reviewed by Dan Bernstein
2121 * platform/Widget.h:
2122 (WebCore::Widget::boundsGeometry):
2123 (WebCore::Widget::invalidate):
2124 * platform/gtk/WidgetGtk.cpp:
2125 * platform/mac/WidgetMac.mm:
2126 * platform/qt/WidgetQt.cpp:
2127 * platform/win/WidgetWin.cpp:
2128 * platform/wx/WidgetWx.cpp:
2130 2008-09-18 Sam Weinig <sam@webkit.org>
2132 Rubber-stamped in exile by David Hyatt.
2134 Split Animation, AnimationList, BindingURI, ContentData, CounterContent,
2135 KeyframeList, ShadowData, StyleFlexibleBoxData and TimingFunction out of
2140 * WebCore.vcproj/WebCore.vcproj:
2141 * WebCore.xcodeproj/project.pbxproj:
2142 * WebCoreSources.bkl:
2143 * css/CSSStyleSelector.cpp:
2144 * css/CSSStyleSelector.h:
2145 * page/animation/CompositeAnimation.cpp:
2146 * page/animation/KeyframeAnimation.cpp:
2147 * page/animation/KeyframeAnimation.h:
2148 * rendering/RenderCounter.h:
2149 * rendering/style/Animation.cpp: Copied from rendering/style/RenderStyle.cpp.
2150 (WebCore::Animation::~Animation):
2151 (WebCore::Animation::animationsMatch):
2152 (WebCore::Animation::keyframeList):
2153 (WebCore::Animation::setAnimationKeyframe):
2154 * rendering/style/Animation.h: Copied from rendering/style/RenderStyle.h.
2155 * rendering/style/AnimationList.cpp: Copied from rendering/style/RenderStyle.cpp.
2156 * rendering/style/AnimationList.h: Copied from rendering/style/RenderStyle.h.
2157 * rendering/style/BindingURI.cpp: Copied from rendering/style/RenderStyle.cpp.
2158 * rendering/style/BindingURI.h: Copied from rendering/style/RenderStyle.h.
2159 (WebCore::BindingURI::operator!=):
2160 * rendering/style/ContentData.cpp: Copied from rendering/style/RenderStyle.cpp.
2161 * rendering/style/ContentData.h: Copied from rendering/style/RenderStyle.h.
2162 (WebCore::ContentData::ContentData):
2163 (WebCore::ContentData::~ContentData):
2164 * rendering/style/CounterContent.h: Copied from rendering/style/RenderStyle.h.
2165 (WebCore::CounterContent::CounterContent):
2166 * rendering/style/CounterDirectives.cpp: Copied from rendering/style/RenderStyle.cpp.
2167 * rendering/style/CounterDirectives.h: Copied from rendering/style/RenderStyle.h.
2168 (WebCore::CounterDirectives::CounterDirectives):
2169 * rendering/style/KeyframeList.cpp: Copied from rendering/style/RenderStyle.cpp.
2170 (WebCore::KeyframeList::insert):
2171 * rendering/style/KeyframeList.h: Copied from rendering/style/RenderStyle.h.
2172 (WebCore::KeyframeValue::KeyframeValue):
2173 (WebCore::KeyframeList::create):
2174 (WebCore::KeyframeList::KeyframeList):
2175 * rendering/style/RenderStyle.cpp:
2176 * rendering/style/RenderStyle.h:
2177 * rendering/style/ShadowData.cpp: Copied from rendering/style/RenderStyle.cpp.
2178 * rendering/style/ShadowData.h: Copied from rendering/style/RenderStyle.h.
2179 (WebCore::ShadowData::ShadowData):
2180 (WebCore::ShadowData::~ShadowData):
2181 (WebCore::ShadowData::operator!=):
2182 * rendering/style/StyleFlexibleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
2183 * rendering/style/StyleFlexibleBoxData.h: Copied from rendering/style/RenderStyle.h.
2184 (WebCore::StyleFlexibleBoxData::operator!=):
2185 * rendering/style/TimingFunction.h: Copied from rendering/style/RenderStyle.h.
2186 (WebCore::TimingFunction::TimingFunction):
2187 (WebCore::TimingFunction::operator==):
2189 2008-09-18 Adele Peterson <adele@apple.com>
2191 Reviewed by Dan Bernstein.
2193 Fix RenderStyle leaks.
2195 * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::createSubtreeIfNeeded):
2197 2008-09-18 Kevin McCullough <kmccullough@apple.com>
2199 Accidentally checked in code.
2201 * html/HTMLElementFactory.cpp:
2202 (WebCore::frameConstructor):
2203 (WebCore::iframeConstructor):
2205 2008-09-18 Kevin McCullough <kmccullough@apple.com>
2209 <rdar://problem/5722310> gracefully handle too many console messages
2211 - Keep track of the most previous message and then compare it to the
2212 subsequent messages as they come in. If there are multiple of the same
2213 message create a count that indicates the current number.
2215 * manual-tests/inspector/multiple-console-messages.html: Added.
2216 * page/inspector/Console.js:
2217 * page/inspector/inspector.css:
2219 2008-09-18 Jonathon Jongsma <jonathon@quotidian.org>
2221 Reviewed by Alp Toker
2223 https://bugs.webkit.org/show_bug.cgi?id=20830
2224 [GTK] Don't use deprecated pango API
2226 Replace deprecated pango functions with non-deprecated ones for newer
2229 * platform/graphics/gtk/FontGtk.cpp:
2230 (WebCore::getDefaultPangoLayout):
2231 * platform/graphics/gtk/FontPlatformDataPango.cpp:
2232 (WebCore::FontPlatformData::FontPlatformData):
2234 2008-09-18 Alp Toker <alp@nuanti.com>
2236 Build fix for r36587. Add new sources (and sort the lists).
2240 2008-09-17 Sam Weinig <sam@webkit.org>
2244 * WebCore.vcproj/WebCore.vcproj:
2246 2008-09-17 David Hyatt <hyatt@apple.com>
2248 Switch back to having frameGeometry be virtual in order to keep Mac
2249 the way it used to be.
2251 Reviewed by Sam Weinig
2254 * platform/Widget.cpp:
2255 (WebCore::Widget::setParent):
2256 * platform/Widget.h:
2257 * platform/gtk/WidgetGtk.cpp:
2258 (WebCore::Widget::frameGeometry):
2259 (WebCore::Widget::setFrameGeometry):
2260 * platform/mac/WidgetMac.mm:
2261 (WebCore::Widget::frameGeometry):
2262 (WebCore::Widget::setFrameGeometry):
2263 * platform/qt/WidgetQt.cpp:
2264 (WebCore::Widget::frameGeometry):
2265 (WebCore::Widget::setFrameGeometry):
2266 * platform/win/WidgetWin.cpp:
2267 (WebCore::Widget::frameGeometry):
2268 (WebCore::Widget::setFrameGeometry):
2269 * platform/wx/WidgetWx.cpp:
2270 (WebCore::Widget::frameGeometry):
2271 (WebCore::Widget::setFrameGeometry):
2272 * plugins/PluginView.cpp:
2273 (WebCore::PluginView::setFrameGeometry):
2274 (WebCore::PluginView::geometryChanged):
2275 * plugins/PluginView.h:
2276 * plugins/gtk/PluginViewGtk.cpp:
2277 (WebCore::PluginView::updatePluginWidget):
2278 * plugins/qt/PluginViewQt.cpp:
2279 (WebCore::PluginView::updatePluginWidget):
2280 * plugins/win/PluginViewWin.cpp:
2281 (WebCore::PluginView::updatePluginWidget):
2283 2008-09-17 Sam Weinig <sam@webkit.org>
2285 Reviewed by Mark Rowe.
2287 Fix assertion in DOMWindow::adjustWindowRect where we were passing
2288 in garbage values and were getting lucky that they were a not Nan.
2290 * bindings/js/JSDOMWindowBase.cpp:
2291 (WebCore::windowProtoFuncOpen):
2293 2008-09-17 Sam Weinig <sam@webkit.org>
2297 * rendering/style/MatrixTransformOperation.cpp:
2299 2008-09-17 Sam Weinig <sam@webkit.org>
2301 Rubber-stamped with love by David Hyatt.
2303 Split IdentityTransformOperation, MatrixTransformOperation, RotateTransformOperation,
2304 ScaleTransformOperation, SkewTransformOperation, StyleTransformData, TransformOperation,
2305 TransformOperations and TranslateTransformOperation out of RenderStyle.h/cpp
2309 * WebCore.vcproj/WebCore.vcproj:
2310 * WebCore.xcodeproj/project.pbxproj:
2311 * WebCoreSources.bkl:
2312 * css/CSSStyleSelector.cpp:
2313 * page/animation/AnimationBase.cpp:
2314 (WebCore::solveEpsilon):
2315 * rendering/RenderLayer.cpp:
2316 * rendering/style/IdentityTransformOperation.h: Copied from rendering/style/RenderStyle.h.
2317 * rendering/style/MatrixTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
2318 * rendering/style/MatrixTransformOperation.h: Copied from rendering/style/RenderStyle.h.
2319 (WebCore::MatrixTransformOperation::MatrixTransformOperation):
2320 * rendering/style/RenderStyle.cpp:
2321 * rendering/style/RenderStyle.h:
2322 * rendering/style/RotateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
2323 * rendering/style/RotateTransformOperation.h: Copied from rendering/style/RenderStyle.h.
2324 (WebCore::RotateTransformOperation::RotateTransformOperation):
2325 * rendering/style/ScaleTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
2326 * rendering/style/ScaleTransformOperation.h: Copied from rendering/style/RenderStyle.h.
2327 (WebCore::ScaleTransformOperation::ScaleTransformOperation):
2328 * rendering/style/SkewTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
2329 * rendering/style/SkewTransformOperation.h: Copied from rendering/style/RenderStyle.h.
2330 (WebCore::SkewTransformOperation::SkewTransformOperation):
2331 * rendering/style/StyleTransformData.cpp: Copied from rendering/style/RenderStyle.cpp.
2332 * rendering/style/StyleTransformData.h: Copied from rendering/style/RenderStyle.h.
2333 (WebCore::StyleTransformData::operator!=):
2334 * rendering/style/TransformOperation.h: Copied from rendering/style/RenderStyle.h.
2335 (WebCore::TransformOperation::):
2336 * rendering/style/TransformOperations.cpp: Copied from rendering/style/RenderStyle.cpp.
2337 (WebCore::TransformOperations::TransformOperations):
2338 * rendering/style/TransformOperations.h: Copied from rendering/style/RenderStyle.h.
2339 (WebCore::TransformOperations::operator!=):
2340 * rendering/style/TranslateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
2341 * rendering/style/TranslateTransformOperation.h: Copied from rendering/style/RenderStyle.h.
2342 (WebCore::TranslateTransformOperation::TranslateTransformOperation):
2344 2008-09-17 Mark Rowe <mrowe@apple.com>
2348 * rendering/style/StyleDashboardRegion.h: PlatformString.h rather than String.h.
2350 2008-09-17 David Hyatt <hyatt@apple.com>
2352 (1) Inline a bunch of methods for accessing frame geometry.
2353 (2) Make sure frameGeometry() works even when you have no underlying
2355 (3) Cache a frame geometry rect cross-platform (even for widgets that
2356 have underlying native widgets.
2357 (4) PluginView's updateWindow call is now a virtual function on Widget.
2359 Reviewed by Sam Weinig
2363 * platform/Widget.cpp:
2364 (WebCore::Widget::setFrameGeometry):
2365 * platform/Widget.h:
2366 (WebCore::Widget::x):
2367 (WebCore::Widget::y):
2368 (WebCore::Widget::width):
2369 (WebCore::Widget::height):
2370 (WebCore::Widget::size):
2371 (WebCore::Widget::pos):
2372 (WebCore::Widget::frameGeometry):
2373 (WebCore::Widget::resize):
2374 (WebCore::Widget::move):
2375 (WebCore::Widget::isFrameView):
2376 (WebCore::Widget::windowClipRect):
2377 * platform/mac/WidgetMac.mm:
2378 (WebCore::Widget::~Widget):
2379 (WebCore::Widget::updatePlatformWidgetFrameGeometry):
2380 * platform/win/WidgetWin.cpp:
2381 (WebCore::Widget::updatePlatformWidgetFrameGeometry):
2382 * plugins/PluginView.cpp:
2383 (WebCore::PluginView::setFrameGeometry):
2384 (WebCore::PluginView::geometryChanged):
2385 * plugins/PluginView.h:
2386 * plugins/gtk/PluginViewGtk.cpp:
2387 (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
2388 * plugins/qt/PluginViewQt.cpp:
2389 (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
2390 * plugins/win/PluginViewWin.cpp:
2391 (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
2392 * plugins/wx/PluginViewWx.cpp:
2394 2008-09-17 Sam Weinig <sam@webkit.org>
2396 Reviewed by David "Waterman" Hyatt.
2398 Fix a leak of NSViews in WidgetMac.mm.
2400 * platform/mac/WidgetMac.mm:
2401 (WebCore::Widget::~Widget):
2403 2008-09-17 Sam Weinig <sam@webkit.org>
2405 Rubber-stamped by David Waterman Hyatt.
2407 Split FillLayer, StyleBackgroundData, StyleBoxData, StyleDashboardRegion, StyleMarqueeData
2408 StyleMultiColData and StyleVisualData out of RenderStyle.h/cpp
2412 * WebCore.vcproj/WebCore.vcproj:
2413 * WebCore.xcodeproj/project.pbxproj:
2414 * WebCoreSources.bkl:
2415 * rendering/style/FillLayer.cpp: Copied from rendering/style/RenderStyle.cpp.
2416 * rendering/style/FillLayer.h: Copied from rendering/style/RenderStyle.h.
2417 (WebCore::FillLayer::operator!=):
2418 (WebCore::FillLayer::hasImage):
2419 (WebCore::FillLayer::hasFixedImage):
2420 * rendering/style/RenderStyle.cpp:
2421 * rendering/style/RenderStyle.h:
2422 * rendering/style/StyleBackgroundData.cpp: Copied from rendering/style/RenderStyle.cpp.
2423 (WebCore::StyleBackgroundData::StyleBackgroundData):
2424 * rendering/style/StyleBackgroundData.h: Copied from rendering/style/RenderStyle.h.
2425 (WebCore::StyleBackgroundData::~StyleBackgroundData):
2426 (WebCore::StyleBackgroundData::operator!=):
2427 * rendering/style/StyleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
2428 * rendering/style/StyleBoxData.h: Copied from rendering/style/RenderStyle.h.
2429 (WebCore::StyleBoxData::operator!=):
2430 * rendering/style/StyleDashboardRegion.h: Copied from rendering/style/RenderStyle.h.
2431 (WebCore::StyleDashboardRegion::operator!=):
2432 * rendering/style/StyleMarqueeData.cpp: Copied from rendering/style/RenderStyle.cpp.
2433 * rendering/style/StyleMarqueeData.h: Copied from rendering/style/RenderStyle.h.
2434 (WebCore::StyleMarqueeData::operator!=):
2435 * rendering/style/StyleMultiColData.cpp: Copied from rendering/style/RenderStyle.cpp.
2436 * rendering/style/StyleMultiColData.h: Copied from rendering/style/RenderStyle.h.
2437 (WebCore::StyleMultiColData::operator!=):
2438 (WebCore::StyleMultiColData::ruleWidth):
2439 * rendering/style/StyleVisualData.cpp: Copied from rendering/style/RenderStyle.cpp.
2440 * rendering/style/StyleVisualData.h: Copied from rendering/style/RenderStyle.h.
2441 (WebCore::StyleVisualData::operator==):
2443 2008-09-17 David Hyatt <hyatt@apple.com>
2445 Remove WidgetClient from Widget.
2447 Reviewed by Sam Weinig
2449 * WebCore.xcodeproj/project.pbxproj:
2450 * platform/Widget.h:
2451 (WebCore::Widget::setClient):
2452 (WebCore::Widget::client):
2453 * platform/WidgetClient.h: Removed.
2454 * platform/gtk/WidgetGtk.cpp:
2455 * platform/mac/WidgetMac.mm:
2456 (WebCore::Widget::Widget):
2457 (WebCore::Widget::show):
2458 (WebCore::Widget::hide):
2459 * platform/qt/WidgetQt.cpp:
2460 (WebCore::WidgetPrivate::WidgetPrivate):
2461 * platform/win/WidgetWin.cpp:
2462 (WebCore::Widget::Widget):
2463 * platform/wx/WidgetWx.cpp:
2464 (WebCore::Widget::Widget):
2466 2008-09-17 David Hyatt <hyatt@apple.com>
2468 Remove isEnabled/setEnabled from Widget. The concept of being enabled now
2469 only applies to Scrollbars so the method has been moved there and made
2470 cross-platform. Scrollbar subclasses that have a corresponding native
2471 widget can subclass setEnabled to change the enabled state of the native
2474 Reviewed by Sam Weinig & Darin Adler
2477 * platform/Scrollbar.cpp:
2478 (WebCore::Scrollbar::Scrollbar):
2479 * platform/Scrollbar.h:
2480 (WebCore::Scrollbar::enabled):
2481 (WebCore::Scrollbar::setEnabled):
2482 * platform/Widget.h:
2483 * platform/gtk/ScrollbarGtk.cpp:
2484 (ScrollbarGtk::setEnabled):
2485 * platform/gtk/ScrollbarGtk.h:
2486 * platform/gtk/WidgetGtk.cpp:
2487 * platform/mac/ScrollbarMac.h:
2488 * platform/mac/ScrollbarMac.mm:
2489 (WebCore::ScrollbarMac::scrollbarHit):
2490 (WebCore::ScrollbarMac::setEnabled):
2491 * platform/mac/WidgetMac.mm:
2492 * platform/qt/WidgetQt.cpp:
2493 (WebCore::WidgetPrivate::WidgetPrivate):
2494 * platform/win/WidgetWin.cpp:
2495 (WebCore::Widget::Widget):
2496 * platform/wx/WidgetWx.cpp:
2498 2008-09-17 Sam Weinig <sam@webkit.org>
2500 Rubber-stamped by David Hyatt.
2502 Split all RenderStyle enums into their own file.
2505 * WebCore.vcproj/WebCore.vcproj:
2506 * WebCore.xcodeproj/project.pbxproj:
2507 * rendering/style/BorderValue.h:
2508 * rendering/style/CollapsedBorderValue.h:
2509 * rendering/style/RenderStyle.h:
2510 * rendering/style/RenderStyleConstants.h: Copied from rendering/style/RenderStyle.h.
2512 * rendering/style/StyleCachedImage.h:
2513 * rendering/style/StyleGeneratedImage.h:
2514 * rendering/style/StyleImage.h:
2516 2008-09-17 Steve Falkenburg <sfalken@apple.com>
2518 Add back isFrameView check to fix failed assertion during scroll bar teardown.
2520 Reviewed by Dave Hyatt.
2522 * platform/Scrollbar.cpp:
2523 (WebCore::Scrollbar::setParent):
2525 2008-09-17 Brady Eidson <beidson@apple.com>
2527 Reviewed by Mac build fix
2529 * WebCore.xcodeproj/project.pbxproj: Send appropriate headers to WebKit
2531 2008-09-17 Steve Falkenburg <sfalken@apple.com>
2535 * platform/win/ScrollViewWin.cpp:
2536 (WebCore::ScrollView::setParentVisible):
2537 * plugins/win/PluginViewWin.cpp:
2538 (WebCore::PluginView::init):
2540 2008-09-17 Holger Hans Peter Freyther <zecke@selfish.org>
2544 [QtWebKit] Implement error handling in TextCodecQt::decode
2545 Use the QTextCodec parsing state to set the sawError out variable. This
2546 is needed to pass Test 70 of acid3. The test case for this bug is
2547 fast/encoding/invalid-xml.html that is now partially passed. To pass
2548 it completely the Qt text codecs need to be adjusted to have proper
2551 * platform/text/qt/TextCodecQt.cpp:
2552 (WebCore::TextCodecQt::decode):
2554 2008-09-17 Sam Weinig <sam@webkit.org>
2556 Rubber-stamped by Dave Hyatt.
2558 Split BorderData, BorderValue, CollapsedBorderValue, OutlineValue and StyleSurroundData
2559 out of RenderStyle.h/cpp
2563 * WebCore.vcproj/WebCore.vcproj:
2564 * WebCore.xcodeproj/project.pbxproj:
2565 * WebCoreSources.bkl:
2566 * rendering/style/BorderData.h: Copied from rendering/style/RenderStyle.h.
2567 (WebCore::BorderData::hasBorderRadius):
2568 (WebCore::BorderData::borderLeftWidth):
2569 (WebCore::BorderData::borderRightWidth):
2570 (WebCore::BorderData::borderTopWidth):
2571 (WebCore::BorderData::borderBottomWidth):
2572 (WebCore::BorderData::operator!=):
2573 * rendering/style/BorderValue.h: Copied from rendering/style/RenderStyle.h.
2575 (WebCore::BorderValue::BorderValue):
2576 (WebCore::BorderValue::nonZero):
2577 (WebCore::BorderValue::isTransparent):
2578 (WebCore::BorderValue::isVisible):
2579 * rendering/style/CollapsedBorderValue.h: Copied from rendering/style/RenderStyle.h.
2581 (WebCore::CollapsedBorderValue::CollapsedBorderValue):
2582 (WebCore::CollapsedBorderValue::operator==):
2583 * rendering/style/OutlineValue.h: Copied from rendering/style/RenderStyle.h.
2584 (WebCore::OutlineValue::OutlineValue):
2585 * rendering/style/RenderStyle.cpp:
2586 * rendering/style/RenderStyle.h:
2587 * rendering/style/StyleSurroundData.cpp: Copied from rendering/style/RenderStyle.cpp.
2588 * rendering/style/StyleSurroundData.h: Copied from rendering/style/RenderStyle.h.
2589 (WebCore::StyleSurroundData::operator!=):
2591 2008-09-17 Beth Dakin <bdakin@apple.com>
2593 Reviewed by Darin Adler.
2595 This is a better fix for: Invalid CSS code crashes Safari
2596 https://bugs.webkit.org/show_bug.cgi?id=20512
2598 The spec indicates that the only valid input for a counter is a
2599 number or an identifier. So that is exactly what we allow.
2601 * css/CSSParser.cpp:
2602 (WebCore::CSSParser::parseCounterContent):
2604 2008-09-17 Alp Toker <alp@nuanti.com>
2606 GTK+ build fix. Adapt to use PlatformWidget functions.
2608 * platform/gtk/ScrollViewGtk.cpp:
2609 (WebCore::ScrollViewScrollbar::geometryChanged):
2610 (WebCore::ScrollView::addChild):
2611 (WebCore::ScrollView::removeChild):
2612 * platform/gtk/ScrollbarGtk.cpp:
2613 (ScrollbarGtk::ScrollbarGtk):
2614 (ScrollbarGtk::~ScrollbarGtk):
2615 (ScrollbarGtk::geometryChanged):
2617 2008-09-17 Sam Weinig <sam@webkit.org>
2619 Reviewed by Adele Peterson.
2621 Patch for <rdar://problem/6133884>
2622 Calling window.resizeTo() on a subframe shouldn't change the window size
2624 Test: fast/dom/Window/window-resize-and-move-sub-frame.html
2626 * page/DOMWindow.cpp:
2627 (WebCore::DOMWindow::moveBy):
2628 (WebCore::DOMWindow::moveTo):
2629 (WebCore::DOMWindow::resizeBy):
2630 (WebCore::DOMWindow::resizeTo):
2632 2008-09-17 Beth Dakin <bdakin@apple.com>
2634 Reviewed by Adam Roben.
2636 Fix for https://bugs.webkit.org/show_bug.cgi?id=20512 Invalid CSS
2638 and corresponding: <rdar://problem/6173832>
2640 Reading through the spec, it seems like a function is not valid
2641 input for a counter. So this patch checks for that and bails in the
2642 case of invalid input.
2644 * css/CSSParser.cpp:
2645 (WebCore::CSSParser::parseCounterContent):
2647 2008-09-17 Greg Bolsinga <bolsinga@apple.com>
2649 Reviewed by Antti Koivisto.
2651 Fix <rdar://problem/6227089>
2652 Crash in WebCore::Frame::setNeedsReapplyStyles()
2654 View is null checked elsewhere too.
2657 (WebCore::Frame::setNeedsReapplyStyles):
2659 2008-09-17 David Hyatt <hyatt@apple.com>
2661 Make the notion of having a native widget backing a Widget cross-platform.
2662 The PlatformWidget abstraction (which already existed) is used for this.
2669 There are new cross-platform methods that replace all of the unique
2670 platform-specific methods.
2674 For plugins, on every platform except Qt on Windows, the plugin's native
2675 widget is now stored in the Widget base class. Since Qt on Windows uses
2676 HWNDs for plugins instead of QWidget, it is the only platform to keep the
2677 m_window variable in PluginView.
2679 Reviewed by Sam Weinig
2682 * bindings/js/ScriptControllerMac.mm:
2683 (WebCore::ScriptController::createScriptInstanceForWidget):
2684 * page/mac/AccessibilityObjectWrapper.mm:
2685 (-[AccessibilityObjectWrapper attachmentView]):
2686 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2687 * page/mac/EventHandlerMac.mm:
2688 (WebCore::EventHandler::passMouseDownEventToWidget):
2689 (WebCore::EventHandler::mouseDownViewIfStillGood):
2690 (WebCore::EventHandler::passWheelEventToWidget):
2691 (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking):
2692 * platform/Widget.cpp:
2693 (WebCore::Widget::init):
2694 (WebCore::Widget::setParent):
2695 (WebCore::Widget::releasePlatformWidget):
2696 (WebCore::Widget::retainPlatformWidget):
2697 * platform/Widget.h:
2698 (WebCore::Widget::platformWidget):
2699 (WebCore::Widget::setPlatformWidget):
2700 * platform/gtk/WidgetGtk.cpp:
2701 (WebCore::Widget::Widget):
2702 (WebCore::Widget::setFocus):
2703 (WebCore::gdkDrawable):
2704 (WebCore::Widget::setCursor):
2705 (WebCore::Widget::show):
2706 (WebCore::Widget::hide):
2707 (WebCore::Widget::setEnabled):
2708 (WebCore::Widget::isEnabled):
2709 (WebCore::Widget::paint):
2710 * platform/mac/PlatformScreenMac.mm:
2711 (WebCore::screenRect):
2712 (WebCore::screenAvailableRect):
2713 * platform/mac/ScrollViewMac.mm:
2714 (WebCore::ScrollView::scrollView):
2715 (WebCore::ScrollView::update):
2716 (WebCore::ScrollView::inWindow):
2717 * platform/mac/ScrollbarMac.mm:
2718 (WebCore::ScrollbarMac::ScrollbarMac):
2719 (WebCore::ScrollbarMac::~ScrollbarMac):
2720 (WebCore::ScrollbarMac::updateThumbPosition):
2721 (WebCore::ScrollbarMac::updateThumbProportion):
2722 (WebCore::ScrollbarMac::scrollbarHit):
2723 * platform/mac/WidgetMac.mm:
2724 (WebCore::Widget::Widget):
2725 (WebCore::Widget::setEnabled):
2726 (WebCore::Widget::isEnabled):
2727 (WebCore::Widget::setFocus):
2728 (WebCore::Widget::getOuterView):
2729 (WebCore::Widget::paint):
2730 (WebCore::Widget::invalidate):
2731 (WebCore::Widget::invalidateRect):
2732 (WebCore::Widget::setIsSelected):
2733 (WebCore::Widget::releasePlatformWidget):
2734 (WebCore::Widget::retainPlatformWidget):
2735 * platform/qt/WidgetQt.cpp:
2736 (WebCore::WidgetPrivate::WidgetPrivate):
2737 (WebCore::Widget::Widget):
2738 (WebCore::Widget::setFrameGeometry):
2739 (WebCore::Widget::show):
2740 (WebCore::Widget::hide):
2741 (WebCore::Widget::isEnabled):
2742 (WebCore::Widget::setEnabled):
2743 (WebCore::Widget::invalidateRect):
2744 (WebCore::Widget::containingWindow):
2745 * platform/win/WidgetWin.cpp:
2746 (WebCore::Widget::Widget):
2747 * platform/wx/WidgetWx.cpp:
2748 (WebCore::Widget::Widget):
2749 (WebCore::Widget::frameGeometry):
2750 (WebCore::Widget::setFocus):
2751 (WebCore::Widget::setCursor):
2752 (WebCore::Widget::show):
2753 (WebCore::Widget::hide):
2754 (WebCore::Widget::setFrameGeometry):
2755 (WebCore::Widget::setEnabled):
2756 (WebCore::Widget::isEnabled):
2757 (WebCore::Widget::invalidate):
2758 (WebCore::Widget::invalidateRect):
2759 (WebCore::Widget::paint):
2760 * plugins/PluginView.cpp:
2761 (WebCore::PluginView::PluginView):
2762 * plugins/PluginView.h:
2763 (WebCore::PluginView::platformPluginWidget):
2764 * plugins/gtk/PluginViewGtk.cpp:
2765 (WebCore::PluginView::updateWindow):
2766 (WebCore::PluginView::setFocus):
2767 (WebCore::PluginView::show):
2768 (WebCore::PluginView::hide):
2769 (WebCore::PluginView::setParent):
2770 (WebCore::PluginView::setNPWindowRect):
2771 (WebCore::PluginView::setParentVisible):
2772 (WebCore::PluginView::getValue):
2773 (WebCore::PluginView::forceRedraw):
2774 (WebCore::PluginView::init):
2775 * plugins/qt/PluginViewQt.cpp:
2776 (WebCore::PluginView::updateWindow):
2777 (WebCore::PluginView::setFocus):
2778 (WebCore::PluginView::show):
2779 (WebCore::PluginView::hide):
2780 (WebCore::PluginView::setParent):
2781 (WebCore::PluginView::setNPWindowRect):
2782 (WebCore::PluginView::setParentVisible):
2783 (WebCore::PluginView::getValue):
2784 (WebCore::PluginView::~PluginView):
2785 (WebCore::PluginView::init):
2786 * plugins/win/PluginViewWin.cpp:
2787 (WebCore::PluginView::updateWindow):
2788 (WebCore::PluginView::setFocus):
2789 (WebCore::PluginView::show):
2790 (WebCore::PluginView::hide):
2791 (WebCore::PluginView::paint):
2792 (WebCore::PluginView::setParent):
2793 (WebCore::PluginView::setParentVisible):
2794 (WebCore::PluginView::setNPWindowRect):
2795 (WebCore::PluginView::stop):
2796 (WebCore::PluginView::invalidateRect):
2797 (WebCore::PluginView::forceRedraw):
2798 (WebCore::PluginView::~PluginView):
2799 (WebCore::PluginView::init):
2801 2008-09-17 Sam Weinig <sam@webkit.org>
2805 * platform/Widget.cpp:
2806 (WebCore::Widget::setParent):
2808 2008-09-17 David Hyatt <hyatt@apple.com>
2810 Beginnings of Widget refactoring (in order to make the mixing of
2811 widgets with and without corresponding native widgets more cross-platform).
2813 This first patch makes the concept of a parent ScrollView cross-platform.
2815 Note the similarity of the show/hide methods on the three PluginViews. This
2816 will be refactored better in a later patch so that they can all share
2817 a base class Widget show/hide method. For now the changes were made
2818 simply to be able to bring WidgetWin's setParent method up into Widget.
2820 Reviewed by Sam Weinig
2823 * platform/ScrollView.h:
2824 * platform/Widget.cpp:
2825 (WebCore::Widget::init):
2826 (WebCore::Widget::setParent):
2827 * platform/Widget.h:
2828 (WebCore::Widget::isSelfVisible):
2829 (WebCore::Widget::isParentVisible):
2830 (WebCore::Widget::isVisible):
2831 (WebCore::Widget::setParentVisible):
2832 (WebCore::Widget::isPluginView):
2833 (WebCore::Widget::parent):
2834 (WebCore::Widget::handleEvent):
2835 (WebCore::Widget::geometryChanged):
2836 * platform/gtk/WidgetGtk.cpp:
2837 (WebCore::Widget::Widget):
2838 * platform/mac/ScrollViewMac.mm:
2839 (WebCore::ScrollView::addChild):
2840 (WebCore::ScrollView::removeChild):
2841 * platform/mac/ScrollbarMac.mm:
2842 (WebCore::ScrollbarMac::~ScrollbarMac):
2843 * platform/mac/WidgetMac.mm:
2844 (WebCore::Widget::Widget):
2845 (WebCore::Widget::~Widget):
2846 * platform/qt/WidgetQt.cpp:
2847 (WebCore::WidgetPrivate::WidgetPrivate):
2848 (WebCore::Widget::Widget):
2849 (WebCore::Widget::topLevel):
2850 * platform/win/ScrollViewWin.cpp:
2851 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
2852 (WebCore::ScrollView::setAncestorVisible):
2853 (WebCore::ScrollView::show):
2854 (WebCore::ScrollView::hide):
2855 * platform/win/WidgetWin.cpp:
2856 (WebCore::Widget::Widget):
2857 (WebCore::Widget::setParent):
2858 * platform/wx/WidgetWx.cpp:
2859 (WebCore::Widget::Widget):
2860 * plugins/PluginView.cpp:
2861 (WebCore::PluginView::PluginView):
2862 * plugins/PluginView.h:
2863 * plugins/gtk/PluginViewGtk.cpp:
2864 (WebCore::PluginView::show):
2865 (WebCore::PluginView::hide):
2866 (WebCore::PluginView::setParentVisible):
2867 * plugins/qt/PluginViewQt.cpp:
2868 (WebCore::PluginView::show):
2869 (WebCore::PluginView::hide):
2870 (WebCore::PluginView::setParentVisible):
2871 * plugins/win/PluginViewWin.cpp:
2872 (WebCore::PluginView::show):
2873 (WebCore::PluginView::hide):
2874 (WebCore::PluginView::setParentVisible):
2876 2008-09-17 Alexey Proskuryakov <ap@webkit.org>
2878 Reviewed by Adam Roben.
2880 <rdar://problem/6219577> Spew in console at launch about encoding mappings when running with ICU 4.0
2882 * platform/text/TextCodecICU.cpp:
2883 (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated for new encoding names.
2885 2008-09-17 Tor Arne Vestbø <tavestbo@trolltech.com>
2887 Fix the QtWebKit/Mac build
2889 * platform/qt/ScrollViewQt.cpp: add include
2891 2008-09-17 David Hyatt <hyatt@apple.com>
2893 Add a #define to control whether or not to use an NSScroller on Mac.
2894 This ifdef will allow the new NSView-less NSScroller on Mac to be
2895 developed side by side with the current one.
2897 The new scroller paints a debug red if turned on (although due to
2898 Widget issues you won't see anything paint yet).
2902 * platform/Scrollbar.cpp:
2903 * platform/Scrollbar.h:
2904 * platform/mac/ScrollbarMac.h:
2905 * platform/mac/ScrollbarMac.mm:
2906 * platform/mac/ScrollbarThemeMac.cpp:
2907 (WebCore::ScrollbarThemeMac::paint):
2908 * platform/mac/ScrollbarThemeMac.h:
2910 2008-09-16 Marco Barisione <marco.barisione@collabora.co.uk>
2912 Reviewed by Alp Toker.
2914 http://bugs.webkit.org/show_bug.cgi?id=20854
2915 [GTK] Windows can be not realized in ScrollView::update
2917 Do not call gdk_window_invalidate_rect on a non-realized GtkWidget.
2919 * platform/gtk/ScrollViewGtk.cpp:
2920 (WebCore::ScrollView::update):
2922 2008-09-16 Alp Toker <alp@nuanti.com>
2924 Suggested by Dave Hyatt.
2926 Build fix and cleanup. Rename ScrollBar to Scrollbar.
2930 * WebCore.vcproj/WebCore.vcproj:
2931 * WebCore.xcodeproj/project.pbxproj:
2932 * WebCoreSources.bkl:
2933 * editing/EditorCommand.cpp:
2934 * page/EventHandler.cpp:
2935 * page/gtk/EventHandlerGtk.cpp:
2936 * page/mac/EventHandlerMac.mm:
2937 * page/mac/FrameMac.mm:
2938 * page/qt/EventHandlerQt.cpp:
2939 * page/wx/EventHandlerWx.cpp:
2940 * platform/PopupMenu.h:
2941 * platform/ScrollBar.cpp: Removed.
2942 * platform/ScrollBar.h: Removed.
2943 * platform/Scrollbar.cpp: Copied from WebCore/platform/ScrollBar.cpp.
2944 * platform/Scrollbar.h: Copied from WebCore/platform/ScrollBar.h.
2945 * platform/gtk/ScrollbarGtk.cpp:
2946 (ScrollbarGtk::ScrollbarGtk):
2947 * platform/gtk/ScrollbarGtk.h:
2948 * platform/mac/ScrollbarMac.h:
2949 * platform/qt/ScrollViewQt.cpp:
2950 * platform/qt/ScrollbarQt.cpp:
2951 * platform/qt/ScrollbarThemeQt.cpp:
2952 * platform/win/PlatformScrollBar.h:
2953 * platform/win/PopupMenuWin.cpp:
2954 * platform/win/ScrollViewWin.cpp:
2955 * platform/win/ScrollbarThemeWin.cpp:
2956 * platform/wx/ScrollViewWx.cpp:
2957 * platform/wx/TemporaryLinkStubs.cpp:
2958 * rendering/HitTestResult.cpp:
2959 * rendering/RenderLayer.cpp:
2960 * rendering/RenderTextControl.cpp:
2962 2008-09-16 David Hyatt <hyatt@apple.com>
2964 Fix Qt build bustage by making moveThumb a member of Scrollbar so that
2965 it can be called from ScrollbarQt.
2967 * platform/ScrollBar.cpp:
2968 (WebCore::Scrollbar::moveThumb):
2969 (WebCore::Scrollbar::handleMouseMoveEvent):
2970 (WebCore::Scrollbar::handleMousePressEvent):
2971 * platform/ScrollBar.h:
2972 * platform/qt/ScrollViewQt.cpp:
2973 * platform/qt/ScrollbarQt.cpp:
2974 (WebCore::Scrollbar::handleContextMenuEvent):
2976 2008-09-16 David Hyatt <hyatt@apple.com>
2978 Eliminate PlatformScrollbar. Mac and Gtk now have subclasses for their
2979 native-widget scrollbars (ScrollbarMac and ScrollbarGtk). Other platforms
2980 now just use Scrollbar.
2982 Reviewed by Sam Weinig
2986 * WebCore.vcproj/WebCore.vcproj:
2987 * WebCore.xcodeproj/project.pbxproj:
2988 * page/mac/FrameMac.mm:
2989 * platform/PopupMenu.h:
2990 (WebCore::PopupMenu::scrollbar):
2991 * platform/ScrollBar.cpp:
2992 (WebCore::createNativeScrollbar):
2993 * platform/ScrollBar.h:
2994 * platform/gtk/PlatformScrollBar.h: Removed.
2995 * platform/gtk/PlatformScrollBarGtk.cpp: Removed.
2996 * platform/gtk/ScrollbarGtk.cpp: Copied from platform/gtk/PlatformScrollBarGtk.cpp.
2997 (gtkScrollEventCallback):
2998 (ScrollbarGtk::ScrollbarGtk):
2999 (ScrollbarGtk::~ScrollbarGtk):
3000 (ScrollbarGtk::updateThumbPosition):
3001 (ScrollbarGtk::updateThumbProportion):
3002 (ScrollbarGtk::setFrameGeometry):
3003 (ScrollbarGtk::geometryChanged):
3004 (ScrollbarGtk::gtkValueChanged):
3005 * platform/gtk/ScrollbarGtk.h: Copied from platform/gtk/PlatformScrollBar.h.
3006 * platform/mac/PlatformScrollBar.h: Removed.
3007 * platform/mac/PlatformScrollBarMac.mm: Removed.
3008 * platform/mac/ScrollbarMac.h: Copied from platform/mac/PlatformScrollBar.h.
3009 * platform/mac/ScrollbarMac.mm: Copied from platform/mac/PlatformScrollBarMac.mm.
3010 (-[WebCoreScrollBar initWithScrollbarMac:]):
3011 (-[WebCoreScrollBar detachScrollbarMac]):
3012 (WebCore::Scrollbar::createNativeScrollbar):
3013 (WebCore::ScrollbarMac::ScrollbarMac):
3014 (WebCore::ScrollbarMac::~ScrollbarMac):
3015 (WebCore::ScrollbarMac::updateThumbPosition):
3016 (WebCore::ScrollbarMac::updateThumbProportion):
3017 (WebCore::ScrollbarMac::scrollbarHit):
3018 * platform/qt/PlatformScrollBar.h: Removed.
3019 * platform/qt/PlatformScrollBarQt.cpp: Removed.
3020 * platform/qt/ScrollbarQt.cpp: Copied from platform/qt/PlatformScrollBarQt.cpp.
3021 (WebCore::Scrollbar::handleContextMenuEvent):
3022 * rendering/HitTestResult.cpp:
3023 * rendering/RenderLayer.cpp:
3024 (WebCore::RenderLayer::createScrollbar):
3025 (WebCore::RenderLayer::destroyScrollbar):
3026 * rendering/RenderLayer.h:
3027 * rendering/RenderListBox.cpp:
3028 (WebCore::RenderListBox::~RenderListBox):
3029 (WebCore::RenderListBox::updateFromElement):
3030 (WebCore::RenderListBox::isPointInOverflowControl):
3031 * rendering/RenderObject.h:
3032 * rendering/RenderTextControl.cpp:
3034 2008-09-16 David Hyatt <hyatt@apple.com>
3036 Make the scrollbar resizer-dodging logic cross-platform in the
3039 Reviewed by Sam Weinig
3041 * platform/ScrollBar.cpp:
3042 (WebCore::Scrollbar::setFrameGeometry):
3043 (WebCore::Scrollbar::setParent):
3044 (WebCore::Scrollbar::windowClipRect):
3045 * platform/ScrollBar.h:
3046 * platform/ScrollView.h:
3047 (WebCore::ScrollView::windowResizerRect):
3048 (WebCore::ScrollView::resizerOverlapsContent):
3049 (WebCore::ScrollView::adjustOverlappingScrollbarCount):
3050 * platform/Widget.h:
3051 (WebCore::Widget::setParent):
3052 * platform/mac/WidgetMac.mm:
3053 (WebCore::Widget::convertToContainingWindow):
3054 * platform/win/PlatformScrollBar.h:
3055 * platform/win/PlatformScrollBarWin.cpp:
3057 2008-09-16 Dan Bernstein <mitz@apple.com>
3059 Reviewed by Darin Adler.
3061 - fix https://bugs.webkit.org/show_bug.cgi?id=15129
3062 <rdar://problem/4644824> adding a new line with DOM does unnecessary additional repaint
3064 Covered by fast/repaint/4776765.html
3066 * rendering/RenderBlock.cpp:
3067 (WebCore::RenderBlock::layoutBlock): Avoid repainting this object if it
3068 did not have layout in the beginning.
3069 (WebCore::RenderBlock::layoutBlockChildren): If a child did not have
3070 layout in the beginning, repaint it in its new position, to compensate
3071 for the above (regardless of whether it "moved").
3072 * rendering/RenderObject.cpp:
3073 (WebCore::RenderObject::checkForRepaintDuringLayout): Added a comment
3074 about generalizing this fix in the future.
3076 2008-09-16 Dan Bernstein <mitz@apple.com>
3078 Reviewed by Dave Hyatt.
3080 - fix https://bugs.webkit.org/show_bug.cgi?id=15384
3081 Div does not notice when grandparent changes height
3083 Test: fast/block/basic/quirk-percent-height-grandchild.html
3085 - fix https://bugs.webkit.org/show_bug.cgi?id=20714
3086 Resizing Gmail inbox vertically results in whitespace at the bottom of the window
3088 Test: fast/replaced/percent-height-in-anonymous-block.html
3090 Added a two-way mapping between boxes with percentage heights and
3091 their non-parent ancestors up to the one the height is computed relative
3092 to. In quirks mode (the first bug), this can be any number of containing
3093 block with auto height. In strict mode (the second bug) this can be
3094 the containing block of an anonymous block containing a replaced
3097 * rendering/RenderBlock.cpp:
3098 (WebCore::RenderBlock::~RenderBlock): Added code to remove the all the
3099 mapping to/from this block to percentage-height descendants.
3100 (WebCore::RenderBlock::layoutBlockChildren): Added code to mark
3101 percentage-height descendants (and their containing block ancestry chain
3102 up to this block) for layout. This ensures that those descendants whose
3103 height depends on the height of this block (or an ancestor) are updated.
3104 (WebCore::RenderBlock::addPercentHeightDescendant): Added. Establishes
3105 a two-way mapping between this block and the given box.
3106 (WebCore::RenderBlock::removePercentHeightDescendant): Added. Removes
3107 all the mapping to/from this box.
3108 * rendering/RenderBlock.h:
3109 * rendering/RenderBox.cpp:
3110 (WebCore::RenderBox::setStyle): Added calls to
3111 removePercentHeightDescendant() when style changes and the box
3112 previously had a percentage height. An exception is when the style
3113 change does not require layout, in which case the box still has
3114 a percentage height and the mappings are valid. In all other cases,
3115 any required mappings will be (re-)established during layout.
3116 (WebCore::RenderBox::destroy): Added a call to
3117 removePercentHeightDescendant.
3118 (WebCore::RenderBox::calcPercentageHeight): Added code that, in quirks
3119 mode, if a higher-than-parent containing block is affecting the box's
3120 height, creates a mapping between the box and that block.
3121 (WebCore::RenderBox::calcReplacedHeightUsing): Changed to skip over
3122 anonymous containing blocks, if any, and when that happens, use
3123 addPercentHeightDescendant() to ensure that the non-anonymous block
3124 is aware of the dependent percent-height box.
3126 2008-09-16 Dirk Schulze <vbs85@gmx.de>
3128 Reviewed by Oliver Hunt and Alp Toker.
3130 Implemented toDataURL in Cairo. Only PNG support
3133 Qt, Cairo and wx require toDataURL implementations
3134 https://bugs.webkit.org/show_bug.cgi?id=17719
3136 * platform/MIMETypeRegistry.cpp:
3137 (WebCore::initializeSupportedImageMIMETypesForEncoding):
3138 * platform/graphics/cairo/ImageBufferCairo.cpp:
3139 (WebCore::ImageBuffer::ImageBuffer):
3140 (WebCore::writeFunction):
3141 (WebCore::ImageBuffer::toDataURL):
3143 2008-09-16 Tor Arne Vestbø <tavestbo@trolltech.com>
3147 Hide unused media element controls in the QtWebKit port
3149 * platform/qt/html4-adjustments-qt.css
3151 2008-09-16 Ariya Hidayat <ariya.hidayat@trolltech.com>
3155 Fix compilation of the Qt scrollbar code.
3157 * platform/qt/PlatformScrollBarQt.cpp:
3159 (WebCore::styleOptionSlider):
3160 (WebCore::thumbLength):
3161 (WebCore::pixelPosToRangeValue):
3162 (WebCore::PlatformScrollbar::handleContextMenuEvent):
3164 2008-09-16 Adam Treat <treat@kde.org>
3166 Reviewed by Anders Carlsson.
3168 Prevent accesses off of the end of the buffer introduced in r36450
3169 and when checking for descriptions of mime. Also, coding style fix.
3171 * plugins/qt/PluginPackageQt.cpp:
3172 (WebCore::PluginPackage::fetchInfo):
3174 2008-09-15 Rob Buis <buis@kde.org>
3178 https://bugs.webkit.org/show_bug.cgi?id=20634
3179 SVG transform attribute is ignored by <use> in <clipPath>
3181 Transform the paths with the local transform when part
3184 Test: svg/custom/use-clipped-transform.svg
3186 * svg/SVGClipPathElement.cpp:
3187 (WebCore::SVGClipPathElement::canvasResource):
3188 * svg/SVGStyledTransformableElement.cpp:
3189 (WebCore::SVGStyledTransformableElement::toClipPath):
3190 * svg/SVGStyledTransformableElement.h:
3192 2008-09-15 Dave Hyatt <hyatt@apple.com>
3194 Convert Qt over to its ScrollbarTheme. Add cross-platform support for jumping the thumb location directly
3195 to a pressed location on the track (this is done with the middle mouse on Qt and with Shift-Click on Windows).
3197 Reviewed by Sam Weinig
3199 * platform/ScrollBar.cpp:
3200 (WebCore::thumbUnderMouse):
3201 (WebCore::Scrollbar::autoscrollPressedPart):
3202 (WebCore::Scrollbar::startTimerIfNeeded):
3203 (WebCore::moveThumb):
3204 (WebCore::Scrollbar::handleMouseMoveEvent):
3205 (WebCore::Scrollbar::handleMousePressEvent):
3206 * platform/ScrollBar.h:
3207 (WebCore::Scrollbar::pressedPos):
3208 (WebCore::Scrollbar::pixelStep):
3209 (WebCore::Scrollbar::setPressedPos):
3210 * platform/ScrollbarTheme.h:
3211 (WebCore::ScrollbarTheme::thumbPosition):
3212 (WebCore::ScrollbarTheme::thumbLength):
3213 (WebCore::ScrollbarTheme::trackPosition):
3214 (WebCore::ScrollbarTheme::trackLength):
3215 * platform/ScrollbarThemeComposite.cpp:
3216 (WebCore::ScrollbarThemeComposite::trackPosition):
3217 * platform/ScrollbarThemeComposite.h:
3218 * platform/qt/PlatformScrollBarQt.cpp:
3219 (WebCore::PlatformScrollbar::PlatformScrollbar):
3221 * platform/qt/ScrollbarThemeQt.cpp:
3222 (WebCore::styleOptionSlider):
3223 (WebCore::ScrollbarThemeQt::hitTest):
3224 (WebCore::ScrollbarThemeQt::shouldCenterOnThumb):
3225 (WebCore::ScrollbarThemeQt::invalidatePart):
3226 (WebCore::ScrollbarThemeQt::thumbPosition):
3228 * platform/qt/ScrollbarThemeQt.h:
3229 * platform/win/ScrollbarThemeSafari.cpp:
3230 (WebCore::ScrollbarThemeSafari::shouldCenterOnThumb):
3231 * platform/win/ScrollbarThemeSafari.h:
3232 * platform/win/ScrollbarThemeWin.cpp:
3233 (WebCore::ScrollbarThemeWin::shouldCenterOnThumb):
3234 * platform/win/ScrollbarThemeWin.h:
3236 2008-09-15 David Smith <catfish.man@gmail.com>
3238 Reviewed by Sam Weinig.
3240 https://bugs.webkit.org/show_bug.cgi?id=20180
3242 Cache the result of parsing the an+b expression in :nth-child(an+b). Roughly a 2x speedup for :nth-child on SlickSpeed.
3244 * GNUmakefile.am: Add CSSNthSelector
3245 * WebCore.pro: Add CSSNthSelector
3246 * WebCore.vcproj/WebCore.vcproj: Add CSSNthSelector
3247 * WebCore.xcodeproj/project.pbxproj: Add CSSNthSelector
3248 * css/CSSGrammar.y: Create CSSNthSelectors instead of CSSSelectors for :nth-*
3249 * css/CSSNthSelector.cpp: Added.
3250 (WebCore::CSSNthSelector::parseNth): Moved from CSSStyleSelector and modified to cache
3251 (WebCore::CSSNthSelector::matchNth): Moved from CSSStyleSelector and modified to use the cache
3252 * css/CSSNthSelector.h: Added.
3253 (WebCore::CSSNthSelector::CSSNthSelector):
3254 (WebCore::CSSNthSelector::~CSSNthSelector):
3255 * css/CSSParser.cpp:
3256 (WebCore::CSSParser::createFloatingNthSelector):
3258 * css/CSSSelector.h: Use the free bit here to store a flag for CSSNthSelector
3259 (WebCore::CSSSelector::CSSSelector):
3260 * css/CSSStyleSelector.cpp:
3261 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Take advantage of knowing that all :nth-* selectors are CSSNthSelectors
3263 2008-09-15 Matt Lilek <webkit@mattlilek.com>
3265 Reviewed by Tim Hatcher.
3267 Clean up some inspector JS callbacks to remove an extra return.
3269 * page/InspectorController.cpp:
3270 (WebCore::hideDOMNodeHighlight):
3272 (WebCore::unloading):
3275 (WebCore::startDebuggingAndReloadInspectedPage):
3276 (WebCore::stopDebugging):
3277 (WebCore::debuggerAttached):
3278 (WebCore::pauseOnExceptions):
3279 (WebCore::pauseInDebugger):
3280 (WebCore::resumeDebugger):
3281 (WebCore::stepOverStatementInDebugger):
3282 (WebCore::stepIntoStatementInDebugger):
3283 (WebCore::stepOutOfFunctionInDebugger):
3284 (WebCore::isWindowVisible):
3285 (WebCore::closeWindow):
3287 2008-09-15 Dave Hyatt <hyatt@apple.com>
3289 Completely switch Windows scrollbars over to ScrollbarTheme. The Aqua windows scrollbar and native scrollbar
3290 now share most of their code.
3292 Also removing mini size scrollbar support, since it would have crashed Windows had it ever been used, and it
3293 also is never used in our code anyway.
3295 Reviewed by Sam Weinig
3297 * WebCore.vcproj/WebCore.vcproj:
3298 * platform/ScrollTypes.h:
3300 * platform/ScrollbarThemeComposite.cpp:
3301 (WebCore::ScrollbarThemeComposite::splitTrack):
3302 (WebCore::ScrollbarThemeComposite::thumbLength):
3303 (WebCore::ScrollbarThemeComposite::minimumThumbLength):
3304 * platform/ScrollbarThemeComposite.h:
3305 * platform/mac/PlatformScrollBarMac.mm:
3306 (NSControlSizeForScrollBarControlSize):
3307 * platform/win/PlatformScrollBar.h:
3308 * platform/win/PlatformScrollBarSafari.cpp: Removed.
3309 * platform/win/PlatformScrollBarWin.cpp:
3310 (WebCore::PlatformScrollbar::PlatformScrollbar):
3311 * platform/win/ScrollbarThemeSafari.cpp:
3312 (WebCore::ScrollbarTheme::nativeTheme):
3314 (WebCore::scrollbarControlStateFromThemeState):
3315 (WebCore::ScrollbarThemeSafari::hasButtons):
3316 (WebCore::ScrollbarThemeSafari::hasThumb):
3317 (WebCore::buttonRepaintRect):
3318 (WebCore::ScrollbarThemeSafari::backButtonRect):
3319 (WebCore::ScrollbarThemeSafari::forwardButtonRect):
3320 (WebCore::trackRepaintRect):
3321 (WebCore::ScrollbarThemeSafari::trackRect):
3322 (WebCore::ScrollbarThemeSafari::minimumThumbLength):
3323 (WebCore::ScrollbarThemeSafari::paintTrack):
3324 (WebCore::ScrollbarThemeSafari::paintButton):
3325 (WebCore::ScrollbarThemeSafari::paintThumb):
3326 * platform/win/ScrollbarThemeSafari.h:
3327 * platform/win/ScrollbarThemeWin.cpp:
3328 * platform/win/ScrollbarThemeWin.h:
3330 2008-09-15 Chris Fleizach <cfleizach@apple.com>
3332 Reviewed by Darin Adler, Beth Dakin
3334 <rdar://problem/4003789> Expose lists as AXList
3335 <rdar://problem/5707399> VO: Definition lists not announced in Safari
3337 Lists are now exposed through AX. On the mac (in SnowLeopard) they use two new subroles
3338 AXContentList for <ul>, <ol> and AXDefinitionList for <dl>
3339 Inside the definition list, each <dt> "term" has an accessibility description ("term"),
3340 as does each <dd> tag ("definition")
3342 Test: accessibility/lists.html
3346 * WebCore.vcproj/WebCore.vcproj:
3347 * WebCore.xcodeproj/project.pbxproj:
3348 * WebCoreSources.bkl:
3349 * page/AXObjectCache.cpp:
3350 * page/AccessibilityList.cpp: Added.
3351 * page/AccessibilityList.h: Added.
3352 * page/AccessibilityObject.h:
3353 * page/AccessibilityRenderObject.cpp:
3354 * page/AccessibilityTable.cpp:
3355 * page/mac/AccessibilityObjectWrapper.mm:
3356 * page/mac/WebCoreViewFactory.h:
3357 * platform/LocalizedStrings.h:
3358 * platform/mac/LocalizedStringsMac.mm:
3359 * platform/qt/Localizations.cpp:
3361 2008-09-15 Nikolas Zimmermann <zimmermann@kde.org>
3365 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20865
3366 Prepare HTMLScriptElement & SVGScriptElement unification, and unification of event handling.
3369 dispatchHTMLEvent -> dispatchEventForType
3370 setHTMLEventListener -> setEventListenerForType
3371 getHTMLEventListener -> eventListenerForType
3372 removeHTMLEventListener -> removeEventListenerForType
3373 isHTMLEventListener -> isAttachedToEventTargetNode
3376 Similar renames for the dispatch/get/set/*Window*Event functions.
3377 Kill JSSVGLazyEventListener and merge with JSLazyEventListener.
3379 Most important change: Rename setHTMLEventListener to setEventListenerForTypeAndAttribute,
3380 as there exists a generic createEventListener() method now, taking care of JSLazyEventListener creation.
3382 setHTMLEventListener() used createHTMLEventListener() before and was HTML specific.
3383 SVG is able to use the code as well now. This affects most files in html/.
3385 No functional changes.
3389 * WebCore.vcproj/WebCore.vcproj:
3390 * WebCore.xcodeproj/project.pbxproj:
3391 * bindings/js/JSDOMWindowBase.cpp:
3392 (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
3393 (WebCore::JSDOMWindowBase::setListener):
3394 (WebCore::JSDOMWindowBase::getListener):
3395 (WebCore::JSDOMWindowBase::findJSEventListener):
3396 (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
3397 (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
3398 (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
3399 (WebCore::JSDOMWindowBase::jsEventListenersAttachedToEventTargetNodes):
3400 (WebCore::JSDOMWindowBase::jsUnprotectedEventListenersAttachedToEventTargetNodes):
3401 * bindings/js/JSDOMWindowBase.h:
3402 * bindings/js/JSEventListener.cpp:
3403 (WebCore::JSAbstractEventListener::handleEvent):
3404 (WebCore::JSAbstractEventListener::isAttachedToEventTargetNode):
3405 (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
3406 (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
3407 (WebCore::JSEventListener::JSEventListener):
3408 (WebCore::JSEventListener::~JSEventListener):
3409 (WebCore::JSLazyEventListener::JSLazyEventListener):
3410 (WebCore::eventParameterName):
3411 (WebCore::JSLazyEventListener::parseCode):
3412 (WebCore::getNodeEventListener):
3413 * bindings/js/JSEventListener.h:
3414 (WebCore::JSAbstractEventListener::JSAbstractEventListener):
3415 (WebCore::JSUnprotectedEventListener::create):
3416 (WebCore::JSEventListener::create):
3417 (WebCore::JSLazyEventListener::):
3418 (WebCore::JSLazyEventListener::create):
3419 * bindings/js/JSEventTargetNode.cpp:
3420 (WebCore::JSEventTargetNode::setListener):
3421 (WebCore::JSEventTargetNode::getListener):
3422 * bindings/js/JSSVGLazyEventListener.cpp: Removed.
3423 * bindings/js/JSSVGLazyEventListener.h: Removed.
3424 * bindings/js/ScriptController.cpp:
3425 (WebCore::ScriptController::createHTMLEventHandler):
3426 (WebCore::ScriptController::createSVGEventHandler):
3428 (WebCore::Document::setFocusedNode):
3429 (WebCore::Document::handleWindowEvent):
3430 (WebCore::Document::setWindowEventListenerForType):
3431 (WebCore::Document::windowEventListenerForType):
3432 (WebCore::Document::removeWindowEventListenerForType):
3433 (WebCore::Document::addWindowEventListener):
3434 (WebCore::Document::hasWindowEventListener):
3435 (WebCore::Document::removePendingFrameBeforeUnloadEventCount):
3436 (WebCore::Document::createEventListener):
3437 (WebCore::Document::setWindowEventListenerForTypeAndAttribute):
3439 * dom/EventListener.h:
3440 (WebCore::EventListener::isAttachedToEventTargetNode):
3441 * dom/EventTargetNode.cpp:
3442 (WebCore::EventTargetNode::dispatchFocusEvent):
3443 (WebCore::EventTargetNode::dispatchBlurEvent):
3444 (WebCore::EventTargetNode::dispatchEventForType):
3445 (WebCore::EventTargetNode::removeEventListenerForType):
3446 (WebCore::EventTargetNode::setEventListenerForType):
3447 (WebCore::EventTargetNode::setEventListenerForTypeAndAttribute):
3448 (WebCore::EventTargetNode::eventListenerForType):
3449 * dom/EventTargetNode.h:
3450 * dom/XMLTokenizer.cpp:
3451 (WebCore::XMLTokenizer::notifyFinished):
3452 * editing/ReplaceSelectionCommand.cpp:
3453 (WebCore::ReplacementFragment::ReplacementFragment):
3454 * html/HTMLBodyElement.cpp:
3455 (WebCore::HTMLBodyElement::parseMappedAttribute):
3456 * html/HTMLButtonElement.cpp:
3457 (WebCore::HTMLButtonElement::parseMappedAttribute):
3458 * html/HTMLElement.cpp:
3459 (WebCore::HTMLElement::parseMappedAttribute):
3460 (WebCore::HTMLElement::checkDTD):
3461 * html/HTMLElement.h:
3462 * html/HTMLFormControlElement.cpp:
3463 (WebCore::HTMLFormControlElement::onChange):
3464 * html/HTMLFormElement.cpp:
3465 (WebCore::HTMLFormElement::prepareSubmit):
3466 (WebCore::HTMLFormElement::reset):
3467 (WebCore::HTMLFormElement::parseMappedAttribute):
3468 * html/HTMLFrameElementBase.cpp:
3469 (WebCore::HTMLFrameElementBase::parseMappedAttribute):
3470 * html/HTMLFrameSetElement.cpp:
3471 (WebCore::HTMLFrameSetElement::parseMappedAttribute):
3472 * html/HTMLImageElement.cpp:
3473 (WebCore::HTMLImageElement::parseMappedAttribute):
3474 * html/HTMLImageLoader.cpp:
3475 (WebCore::HTMLImageLoader::dispatchLoadEvent):
3476 * html/HTMLInputElement.cpp:
3477 (WebCore::HTMLInputElement::parseMappedAttribute):
3478 (WebCore::HTMLInputElement::setValueFromRenderer):
3479 (WebCore::HTMLInputElement::onSearch):
3480 * html/HTMLMediaElement.cpp:
3481 (WebCore::HTMLMediaElement::asyncEventTimerFired):
3482 (WebCore::HTMLMediaElement::load):
3483 (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
3484 (WebCore::HTMLMediaElement::setReadyState):
3485 (WebCore::HTMLMediaElement::seek):
3486 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
3487 (WebCore::HTMLMediaElement::willSaveToCache):
3488 * html/HTMLObjectElement.cpp:
3489 (WebCore::HTMLObjectElement::parseMappedAttribute):
3490 * html/HTMLScriptElement.cpp:
3491 (WebCore::HTMLScriptElement::parseMappedAttribute):
3492 (WebCore::HTMLScriptElement::dispatchLoadEvent):
3493 (WebCore::HTMLScriptElement::dispatchErrorEvent):
3494 * html/HTMLSelectElement.cpp:
3495 (WebCore::HTMLSelectElement::parseMappedAttribute):
3496 * html/HTMLTextAreaElement.cpp:
3497 (WebCore::HTMLTextAreaElement::parseMappedAttribute):
3498 * html/HTMLTokenizer.cpp:
3499 (WebCore::HTMLTokenizer::notifyFinished):
3500 * page/AccessibilityRenderObject.cpp:
3501 (WebCore::AccessibilityRenderObject::mouseButtonListener):
3502 * page/EventHandler.cpp:
3503 (WebCore::EventHandler::canMouseDownStartSelect):
3504 (WebCore::EventHandler::canMouseDragExtendSelect):
3506 (WebCore::Frame::sendScrollEvent):
3508 (WebCore::networkStateChanged):
3509 * rendering/RenderListBox.cpp:
3510 (WebCore::RenderListBox::valueChanged):
3511 * rendering/RenderTextControl.cpp:
3512 (WebCore::RenderTextControl::selectionChanged):
3513 * svg/SVGDocumentExtensions.cpp:
3514 * svg/SVGDocumentExtensions.h:
3515 * svg/SVGElement.cpp:
3516 (WebCore::SVGElement::parseMappedAttribute):
3517 (WebCore::SVGElement::finishParsingChildren):
3519 * svg/SVGSVGElement.cpp:
3520 (WebCore::SVGSVGElement::parseMappedAttribute):
3521 * svg/SVGSVGElement.h:
3523 2008-09-15 Dave Hyatt <hyatt@apple.com>
3525 Convert PlatformScrollbarWin to use ScrollbarTheme for hit testing. PlatformScrollbarQt/Gtk still
3526 need to be converted.
3528 Reviewed by Sam Weinig
3530 * platform/ScrollBar.cpp:
3531 (WebCore::Scrollbar::Scrollbar):
3532 (WebCore::Scrollbar::updateThumbPosition):
3533 (WebCore::Scrollbar::updateThumbProportion):
3534 (WebCore::Scrollbar::autoscrollPressedPart):
3535 (WebCore::Scrollbar::startTimerIfNeeded):
3536 * platform/ScrollBar.h:
3537 * platform/ScrollbarTheme.h:
3538 (WebCore::ScrollbarTheme::invalidateParts):
3539 * platform/ScrollbarThemeComposite.cpp:
3540 (WebCore::ScrollbarThemeComposite::hitTest):
3541 (WebCore::ScrollbarThemeComposite::invalidatePart):
3542 (WebCore::ScrollbarThemeComposite::thumbPosition):
3543 (WebCore::ScrollbarThemeComposite::thumbLength):
3544 (WebCore::ScrollbarThemeComposite::trackLength):
3545 * platform/ScrollbarThemeComposite.h:
3546 * platform/win/PlatformScrollBarSafari.cpp:
3547 (WebCore::PlatformScrollbar::PlatformScrollbar):
3548 * platform/win/PlatformScrollBarWin.cpp:
3549 (WebCore::PlatformScrollbar::PlatformScrollbar):
3551 2008-09-15 David Smith <catfish.man@gmail.com>
3553 "Just do it"'d by Mark Rowe
3555 https://bugs.webkit.org/show_bug.cgi?id=20856
3556 Add missing license header
3558 * dom/NodeRenderStyle.h:
3560 2008-09-15 Dean Jackson <dino@apple.com>
3562 Reviewed by Tim Hatcher.
3564 Add default constructor for ShadowData
3565 https://bugs.webkit.org/show_bug.cgi?id=20757
3567 Test: transitions/shadow.html
3569 * rendering/style/RenderStyle.h:
3571 2008-09-15 Dean Jackson <dino@apple.com>
3573 Reviewed by Tim Hatcher.
3575 RenderStyle should update keyframes.
3576 http://bugs.webkit.org/show_bug.cgi?id=20756
3578 * rendering/style/RenderStyle.cpp:
3579 (WebCore::StyleRareNonInheritedData::updateKeyframes):
3581 2008-09-15 Dean Jackson <dino@apple.com>
3583 Reviewed by Tim Hatcher.
3585 Unnecessary ASSERT in ImplicitAnimation destructor.
3586 https://bugs.webkit.org/show_bug.cgi?id=20817
3588 * page/animation/ImplicitAnimation.cpp:
3589 (WebCore::ImplicitAnimation::~ImplicitAnimation):
3591 2008-09-15 Adam Treat <treat@kde.org>
3595 Fix plugin extension info. It was returning the mimetype where the
3596 extension was given.
3598 * plugins/qt/PluginPackageQt.cpp:
3599 (WebCore::PluginPackage::fetchInfo):
3601 2008-09-15 Dean Jackson <dino@apple.com>
3603 Reviewed by Tim Hatcher
3605 Coding style violation!!!! Cleanup AnimationBase.cpp
3607 * page/animation/AnimationBase.cpp:
3608 (WebCore::blendFunc):
3610 2008-09-15 David Hyatt <hyatt@apple.com>
3612 Move all hit testing code for scrollbars into the base class. Refactor
3613 it to accommodate all platform-specific behaviors using virtual ScrollbarTheme
3616 No platform is using this code yet. Although it has been moved and compiles
3617 (even on Mac), it is not being used on any platform.
3619 Reviewed by Sam Weinig
3621 * platform/ScrollBar.cpp:
3622 (WebCore::Scrollbar::autoscrollPressedPart):
3623 (WebCore::Scrollbar::startTimerIfNeeded):
3624 (WebCore::Scrollbar::handleMouseMoveEvent):
3625 (WebCore::Scrollbar::handleMouseOutEvent):
3626 (WebCore::Scrollbar::handleMouseReleaseEvent):
3627 (WebCore::Scrollbar::handleMousePressEvent):
3628 * platform/ScrollBar.h:
3629 (WebCore::Scrollbar::handleContextMenuEvent):
3630 * platform/ScrollbarTheme.h:
3631 (WebCore::ScrollbarTheme::hitTest):
3632 (WebCore::ScrollbarTheme::invalidateOnMouseEnterExit):
3633 (WebCore::ScrollbarTheme::invalidatePart):
3634 (WebCore::ScrollbarTheme::shouldCenterOnThumb):
3635 (WebCore::ScrollbarTheme::centerOnThumb):
3636 (WebCore::ScrollbarTheme::thumbPosition):
3637 (WebCore::ScrollbarTheme::thumbLength):
3638 (WebCore::ScrollbarTheme::trackLength):
3639 (WebCore::ScrollbarTheme::initialAutoscrollTimerDelay):
3640 (WebCore::ScrollbarTheme::autoscrollTimerDelay):
3641 * platform/Widget.h:
3642 (WebCore::Widget::parent):
3643 * platform/mac/PlatformScrollBar.h:
3644 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
3645 (WebCore::PlatformScrollbar::handleMouseOutEvent):
3646 (WebCore::PlatformScrollbar::handleMousePressEvent):
3647 (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
3648 * platform/mac/WidgetMac.mm:
3649 (WebCore::Widget::convertFromContainingWindow):
3650 * platform/win/ScrollbarThemeWin.cpp:
3651 (WebCore::ScrollbarThemeWin::invalidateOnMouseEnterExit):
3652 * platform/win/ScrollbarThemeWin.h:
3654 2008-09-15 Dan Bernstein <mitz@apple.com>
3656 Reviewed by Sam Weinig.
3658 - fix <rdar://problem/5842247> Single long breakable word takes O(n^2) to lay out
3660 Cache the next breakable position for text nodes in InlineIterator.
3662 * rendering/bidi.cpp:
3663 (WebCore::InlineIterator::InlineIterator):
3664 (WebCore::InlineIterator::increment):
3665 (WebCore::RenderBlock::findNextLineBreak):
3667 2008-09-15 Simon Fraser <simon.fraser@apple.com>
3669 Reviewed by Dan Bernstein
3671 Fix assertion and integral pixel issue when creating subimages.
3672 https://bugs.webkit.org/show_bug.cgi?id=20786
3674 * platform/graphics/cg/ImageCG.cpp:
3675 (WebCore::BitmapImage::draw):
3677 2008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
3681 Implment seek() and clean up and improve debugging output
3683 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
3685 (WebCore::MediaPlayerPrivate::seek):
3686 (WebCore::MediaPlayerPrivate::setVolume):
3687 (WebCore::MediaPlayerPrivate::setMuted):
3688 (WebCore::MediaPlayerPrivate::updateStates):
3689 (WebCore::MediaPlayerPrivate::naturalSize):
3690 (WebCore::MediaPlayerPrivate::paint):
3691 (WebCore::MediaPlayerPrivate::stateChanged):
3692 (WebCore::MediaPlayerPrivate::tick):
3694 2008-09-15 Holger Hans Peter Freyther <zecke@selfish.org>
3698 Remove bogus Q_ASSERTs from the MediaPlayer Phonon implementation
3700 m_mediaObject, m_audioOutput, m_videoWidget get created in the
3701 c'tor and will only be deleted in the c'tor. The Q_ASSERTs would
3702 only check if we use the MediaPlayerPrivate after it has been deleted.
3704 Acked-by: Tor Arne Vestbø <tavestbo@trolltech.com>
3706 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
3707 (WebCore::MediaPlayerPrivate::play):
3708 (WebCore::MediaPlayerPrivate::setVolume):
3709 (WebCore::MediaPlayerPrivate::updateStates):
3711 2008-09-15 Anders Carlsson <andersca@apple.com>
3715 <rdar://problem/6163988>
3716 https://bugs.webkit.org/show_bug.cgi?id=20457
3717 Canvas: createPattern crashes WebKit in WTF::RefPtr<WebCore::Image>::operator!() const + 9 with a 1D pattern
3719 Check the width and height and throw an exception if any of them are 0.
3721 * html/CanvasRenderingContext2D.cpp:
3722 (WebCore::CanvasRenderingContext2D::createPattern):
3724 2008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
3728 Render media element controls with antialiasing enabled
3730 * platform/qt/RenderThemeQt.cpp:
3731 (WebCore::RenderThemeQt::paintMediaMuteButton):
3732 (WebCore::RenderThemeQt::paintMediaPlayButton):
3733 (WebCore::RenderThemeQt::paintMediaSliderTrack):
3734 (WebCore::RenderThemeQt::paintMediaSliderThumb):
3736 2008-09-15 Ariya Hidayat <ariya.hidayat@trolltech.com>
3740 Upon non fatal error, switch to the pause state (so that playback can continue)
3742 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
3743 (WebCore::MediaPlayerPrivate::updateStates):
3745 2008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
3749 Don't set WTF_USE_JSC in WebCore.pro now that it's set in config.h
3753 2008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
3757 Make QtInstance::create() private and fix caching
3759 * bindings/js/ScriptControllerQt.cpp:
3760 (WebCore::ScriptController::createScriptInstanceForWidget):
3761 * bridge/qt/qt_instance.cpp:
3762 (JSC::Bindings::QtInstance::getQtInstance):
3763 (JSC::Bindings::QtInstance::getRuntimeObject):
3764 * bridge/qt/qt_instance.h:
3765 (JSC::Bindings::QtInstance::create):
3766 * bridge/qt/qt_runtime.cpp:
3767 (JSC::Bindings::convertQVariantToValue):
3768 (JSC::Bindings::QtConnectionObject::execute):
3770 2008-09-15 David Smith <catfish.man@gmail.com>
3772 Reviewed by Dave Hyatt.
3774 https://bugs.webkit.org/show_bug.cgi?id=20180
3776 >2x speedup on querySelector[All] with :nth-child by removing the collectRulesOnly argument on SelectorChecker.
3777 With collectRulesOnly set to true (the default) an optimization is turned off, and no callers were intentionally leaving it true.
3778 querySelector[All] assumed that the default was probably the right way to go, and so ended up being slow.
3780 * css/CSSStyleSelector.cpp:
3781 (WebCore::CSSStyleSelector::CSSStyleSelector):
3782 (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker):
3783 * css/CSSStyleSelector.h:
3785 2008-09-14 Dave Hyatt <hyatt@apple.com>
3787 Refactor PlatformScrollbarWin's painting so that it is now done by ScrollbarThemeWin. PlatformScrollbarSafari
3788 is still painting itself (a subsequent patch will move its painting into ScrollbarThemeSafari).
3790 Reviewed by Sam Weinig
3792 * platform/ScrollBar.h:
3793 (WebCore::Scrollbar::client):
3794 (WebCore::Scrollbar::currentPos):
3795 (WebCore::Scrollbar::totalSize):
3796 * platform/ScrollbarTheme.h:
3797 * platform/ScrollbarThemeComposite.cpp:
3798 (WebCore::pageForScrollView):
3799 (WebCore::ScrollbarThemeComposite::paint):
3800 * platform/ScrollbarThemeComposite.h:
3801 (WebCore::ScrollbarThemeComposite::trackIsSinglePiece):
3802 * platform/win/PlatformScrollBar.h:
3803 * platform/win/PlatformScrollBarSafari.cpp:
3804 * platform/win/PlatformScrollBarWin.cpp:
3805 * platform/win/ScrollbarThemeSafari.h:
3806 (WebCore::ScrollbarThemeSafari::hasButtons):
3807 (WebCore::ScrollbarThemeSafari::hasThumb):
3808 (WebCore::ScrollbarThemeSafari::backButtonRect):
3809 (WebCore::ScrollbarThemeSafari::forwardButtonRect):
3810 (WebCore::ScrollbarThemeSafari::trackRect):
3811 (WebCore::ScrollbarThemeSafari::splitTrack):
3812 (WebCore::ScrollbarThemeSafari::paintTrack):
3813 (WebCore::ScrollbarThemeSafari::paintButton):
3814 (WebCore::ScrollbarThemeSafari::paintThumb):
3815 * platform/win/ScrollbarThemeWin.cpp:
3816 (WebCore::isRunningOnVistaOrLater):
3817 (WebCore::checkAndInitScrollbarTheme):
3818 (WebCore::ScrollbarThemeWin::ScrollbarThemeWin):
3819 (WebCore::ScrollbarThemeWin::themeChanged):
3820 (WebCore::ScrollbarThemeWin::hasThumb):
3821 (WebCore::ScrollbarThemeWin::backButtonRect):
3822 (WebCore::ScrollbarThemeWin::forwardButtonRect):
3823 (WebCore::ScrollbarThemeWin::trackRect):
3824 (WebCore::ScrollbarThemeWin::splitTrack):
3825 (WebCore::ScrollbarThemeWin::paintTrack):
3826 (WebCore::ScrollbarThemeWin::paintButton):
3827 (WebCore::gripperRect):
3828 (WebCore::paintGripper):
3829 (WebCore::ScrollbarThemeWin::paintThumb):
3830 (WebCore::ScrollbarThemeWin::thumbPosition):
3831 (WebCore::ScrollbarThemeWin::thumbLength):
3832 (WebCore::ScrollbarThemeWin::trackLength):
3833 * platform/win/ScrollbarThemeWin.h:
3834 (WebCore::ScrollbarThemeWin::hasButtons):
3835 (WebCore::ScrollbarThemeWin::trackIsSinglePiece):
3837 2008-09-14 Anthony Ricaud <rik24d@gmail.com>
3839 Moving all resource graphs under the same container for future scalable feature.
3840 This is a speedup on resize but maybe a loss on changing the sorting function.
3842 https://bugs.webkit.org/show_bug.cgi?id=20555
3844 Reviewed by Timothy Hatcher.
3846 * page/inspector/ResourcesPanel.js: Added a container for all resource graphs.
3847 Added WebInspector.ResourceGraph. No more _updateGraphBars on resize.
3848 * page/inspector/inspector.css: Edited corresponding rules and removed unnecessaries.
3850 2008-09-14 Alexey Proskuryakov <ap@webkit.org>
3852 Reviewed by Maciej Stachowiak.
3854 https://bugs.webkit.org/show_bug.cgi?id=20738
3855 compareBoundaryPoints gives incorrect results
3857 Test: fast/dom/Range/compareBoundaryPoints-2.html
3859 * dom/Range.cpp: (WebCore::Range::compareBoundaryPoints): Correct meanings of START_TO_END
3861 * page/DOMSelection.cpp: (WebCore::DOMSelection::addRange): Updated for this change.
3863 2008-09-14 Maciej Stachowiak <mjs@apple.com>
3865 Unreviewed build fix.
3869 * bindings/js/JSQuarantinedObjectWrapper.cpp:
3870 (WebCore::JSQuarantinedObjectWrapper::hasInstance):
3872 2008-09-14 Maciej Stachowiak <mjs@apple.com>
3874 Unreviewed build fix.
3876 Blind attempt to fix build. Correct parameters for hasInstance.
3878 * bindings/js/JSQuarantinedObjectWrapper.cpp:
3879 (WebCore::JSQuarantinedObjectWrapper::hasInstance):
3880 * bindings/js/JSQuarantinedObjectWrapper.h:
3882 2008-09-14 Dan Bernstein <mitz@apple.com>
3884 Rubber-stamped by Sam Weinig.
3886 - revert <http://trac.webkit.org/changeset/36382> because it exposed
3887 <https://bugs.webkit.org/show_bug.cgi?id=20846> and resulted in crashes
3890 * platform/graphics/mac/FontCacheMac.mm:
3891 (WebCore::FontCache::getFontDataForCharacters):
3892 (WebCore::FontCache::getLastResortFallbackFont):
3894 2008-09-14 Dave Hyatt <hyatt@apple.com>
3896 Add a new ScrollbarThemeComposite base class that is shared by ScrollbarThemeSafari and
3897 ScrollbarThemeWin. Any scrollbar that wants to render by ScrollbarPart can subclass from this
3900 Reviewed by Sam Weinig
3902 * WebCore.vcproj/WebCore.vcproj:
3903 * platform/win/ScrollbarThemeSafari.h:
3904 * platform/win/ScrollbarThemeWin.h:
3906 2008-09-14 Alp Toker <alp@nuanti.com>
3908 https://bugs.webkit.org/show_bug.cgi?id=20320
3909 [GTK] A white rectangle is visible behind widgets with rounded corners
3911 Sync bundled gtk2drawing.c to the latest version from Mozilla (coding
3914 Requested by Michael Monreal.
3916 * platform/gtk/RenderThemeGtk.cpp:
3917 (WebCore::RenderThemeGtk::RenderThemeGtk):
3918 * platform/gtk/gtk2drawing.c:
3919 (moz_gtk_set_widget_name):
3920 (ensure_window_widget):
3921 (setup_widget_prototype):
3922 (ensure_button_arrow_widget):
3923 (moz_gtk_get_combo_box_inner_button):
3924 (moz_gtk_get_combo_box_button_inner_widgets):
3925 (ensure_combo_box_widgets):
3926 (moz_gtk_get_combo_box_entry_inner_widgets):
3927 (moz_gtk_get_combo_box_entry_arrow):
3928 (ensure_combo_box_entry_widgets):
3929 (ensure_toolbar_widget):
3930 (ensure_tooltip_widget):
3931 (ensure_menu_bar_widget):
3932 (ensure_menu_bar_item_widget):
3933 (ensure_menu_popup_widget):
3934 (ensure_menu_item_widget):
3935 (ensure_image_menu_item_widget):
3936 (ensure_menu_separator_widget):
3937 (ensure_check_menu_item_widget):
3938 (ensure_tree_header_cell_widget):
3939 (ensure_scrolled_window_widget):
3940 (moz_gtk_button_paint):
3942 (moz_gtk_button_get_inner_border):
3943 (moz_gtk_toggle_paint):
3944 (calculate_button_inner_rect):
3945 (calculate_arrow_rect):
3946 (moz_gtk_scrollbar_button_paint):
3947 (moz_gtk_scrollbar_thumb_paint):
3948 (moz_gtk_caret_paint):
3949 (moz_gtk_entry_paint):
3950 (moz_gtk_treeview_paint):
3951 (moz_gtk_tree_header_cell_paint):
3952 (moz_gtk_combo_box_paint):
3953 (moz_gtk_downarrow_paint):
3954 (moz_gtk_combo_box_entry_button_paint):
3955 (moz_gtk_toolbar_paint):
3956 (moz_gtk_tab_scroll_arrow_paint):
3957 (moz_gtk_menu_bar_paint):
3958 (moz_gtk_menu_item_paint):
3959 (moz_gtk_get_widget_border):
3960 (moz_gtk_get_combo_box_entry_button_size):
3961 (moz_gtk_get_tab_scroll_arrow_size):
3962 (moz_gtk_get_downarrow_size):
3963 (moz_gtk_images_in_menus):
3964 (moz_gtk_widget_paint):
3966 * platform/gtk/gtkdrawing.h:
3968 2008-09-14 David Hyatt <hyatt@apple.com>
3970 Convert Mac, Gtk, wx and Qt over to the new ScrollbarTheme for
3971 painting. Mac and Gtk themes don't do anything and just let the
3972 underlying widget paint. Qt now uses the theme to paint. wx doesn't
3975 Reviewed by Sam Weinig
3977 * platform/ScrollBar.cpp:
3978 (WebCore::Scrollbar::paint):
3979 * platform/ScrollBar.h:
3980 (WebCore::Scrollbar::value):
3981 (WebCore::Scrollbar::visibleSize):
3982 (WebCore::Scrollbar::maximum):
3983 (WebCore::Scrollbar::lineStep):
3984 (WebCore::Scrollbar::pageStep):
3985 (WebCore::Scrollbar::pixelStep):
3986 (WebCore::Scrollbar::pressedPart):
3987 (WebCore::Scrollbar::hoveredPart):
3988 (WebCore::Scrollbar::theme):
3989 * platform/ScrollbarTheme.h:
3990 (WebCore::ScrollbarTheme::paint):
3991 (WebCore::ScrollbarTheme::scrollbarThickness):
3992 (WebCore::ScrollbarTheme::supportsControlTints):
3993 (WebCore::ScrollbarTheme::themeChanged):
3994 * platform/gtk/PlatformScrollBar.h:
3995 * platform/gtk/PlatformScrollBarGtk.cpp:
3996 * platform/mac/PlatformScrollBar.h:
3997 * platform/mac/PlatformScrollBarMac.mm:
3998 * platform/qt/PlatformScrollBar.h:
3999 * platform/qt/PlatformScrollBarQt.cpp:
4000 * platform/qt/ScrollbarThemeQt.cpp:
4001 (WebCore::styleOptionSlider):
4002 * platform/qt/ScrollbarThemeQt.h:
4003 (WebCore::ScrollbarThemeQt::paint):
4004 * platform/win/PlatformScrollBarSafari.cpp:
4005 (WebCore::PlatformScrollbar::paint):
4006 * platform/win/ScrollbarThemeSafari.h:
4007 (WebCore::ScrollbarThemeSafari::supportsControlTints):
4008 * platform/wx/PlatformScrollBar.h:
4009 * platform/wx/TemporaryLinkStubs.cpp:
4010 (PlatformScrollbar::~PlatformScrollbar):
4012 2008-09-14 Sam Weinig <sam@webkit.org>
4016 * platform/qt/PlatformScrollBarQt.cpp:
4018 2008-09-14 Sam Weinig <sam@webkit.org>
4020 Reviewed by Mark Rowe.
4022 Remove extraneous semicolons.
4024 * bindings/scripts/CodeGeneratorObjC.pm:
4025 * html/HTMLLinkElement.cpp:
4026 (WebCore::HTMLLinkElement::tokenizeRelAttribute):
4027 * html/HTMLScriptElement.cpp:
4028 (WebCore::HTMLScriptElement::charsetAttributeValue):
4029 (WebCore::HTMLScriptElement::typeAttributeValue):
4030 * platform/graphics/qt/GradientQt.cpp:
4031 (WebCore::Gradient::platformGradient):
4032 * platform/qt/ScrollViewQt.cpp:
4033 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
4034 * platform/win/ScrollViewWin.cpp:
4035 (WebCore::ScrollView::updateScrollbars):
4036 * rendering/RenderBlock.cpp:
4037 (WebCore::RenderBlock::paintEllipsisBoxes):
4038 * svg/SVGPathSegList.cpp:
4039 (WebCore::SVGPathSegList::toPathData):
4041 2008-09-14 Sam Weinig <sam@webkit.org>
4045 * platform/qt/ScrollViewQt.cpp:
4046 (WebCore::ScrollView::updateScrollbars):
4048 2008-09-14 Sam Weinig <sam@webkit.org>
4052 * platform/qt/PlatformScrollBarQt.cpp:
4053 (WebCore::PlatformScrollbar::PlatformScrollbar):
4054 (WebCore::PlatformScrollbar::paint):
4056 2008-09-13 Jan Michael Alonzo <jmalonzo@webkit.org>
4058 Gtk build fix, not reviewed.
4060 * platform/gtk/PlatformScrollBarGtk.cpp:
4061 (PlatformScrollbar::PlatformScrollbar):
4062 * platform/gtk/ScrollViewGtk.cpp:
4063 (WebCore::ScrollView::updateScrollbars):
4065 2008-09-13 Dave Hyatt <hyatt@apple.com>
4067 Remove scrollbar's setRect method. Clients can now just call setFrameGeometry (the corresponding Widget) method
4068 to set the dimensions of a scrollbar.
4070 Reviewed by Sam Weinig
4072 * platform/ScrollBar.h:
4073 * platform/gtk/PlatformScrollBar.h:
4074 * platform/gtk/PlatformScrollBarGtk.cpp:
4075 (PlatformScrollbar::setFrameGeometry):
4076 * platform/gtk/ScrollViewGtk.cpp:
4077 (WebCore::ScrollView::updateScrollbars):
4078 * platform/mac/PlatformScrollBarMac.mm:
4079 * platform/qt/PlatformScrollBarQt.cpp:
4080 * platform/qt/ScrollViewQt.cpp:
4081 (WebCore::ScrollView::updateScrollbars):
4082 * platform/win/PlatformScrollBar.h:
4083 * platform/win/PlatformScrollBarSafari.cpp:
4084 (WebCore::PlatformScrollbar::PlatformScrollbar):
4085 (WebCore::PlatformScrollbar::setFrameGeometry):
4086 * platform/win/PlatformScrollBarWin.cpp:
4087 (WebCore::PlatformScrollbar::PlatformScrollbar):
4088 (WebCore::PlatformScrollbar::setFrameGeometry):
4089 * platform/win/PopupMenuWin.cpp:
4090 (WebCore::PopupWndProc):
4091 * platform/win/ScrollViewWin.cpp:
4092 (WebCore::ScrollView::updateScrollbars):
4093 * platform/wx/PlatformScrollBar.h:
4094 * platform/wx/TemporaryLinkStubs.cpp:
4095 (PlatformScrollbar::updateThumbProportion):
4096 * rendering/RenderLayer.cpp:
4097 (WebCore::RenderLayer::positionOverflowControls):
4098 * rendering/RenderListBox.cpp:
4099 (WebCore::RenderListBox::paintScrollbar):
4101 2008-09-13 Dave Hyatt <hyatt@apple.com>
4103 Remove setEnabled() from all Scrollbar classes that were just using their Widget base class methods.
4105 Reviewed by Sam Weinig
4107 * platform/ScrollBar.h:
4108 * platform/gtk/PlatformScrollBar.h:
4109 * platform/gtk/PlatformScrollBarGtk.cpp:
4110 * platform/mac/PlatformScrollBar.h:
4111 * platform/mac/PlatformScrollBarMac.mm:
4112 * platform/win/PlatformScrollBar.h:
4113 * platform/win/PlatformScrollBarSafari.cpp:
4114 * platform/win/PlatformScrollBarWin.cpp:
4115 * platform/wx/PlatformScrollBar.h:
4116 * platform/wx/TemporaryLinkStubs.cpp:
4117 (PlatformScrollbar::~PlatformScrollbar):
4119 2008-09-13 Dave Hyatt <hyatt@apple.com>
4121 Remove width()/height() from Scrollbar now that it derives from Widget. Remove width()/height() from
4122 all PlatformScrollbar subclasses that just called the Widget base class versions of those methods.
4124 Reviewed by Sam Weinig
4126 * platform/ScrollBar.h:
4127 * platform/gtk/PlatformScrollBar.h:
4128 * platform/gtk/PlatformScrollBarGtk.cpp:
4129 * platform/mac/PlatformScrollBar.h:
4130 * platform/mac/PlatformScrollBarMac.mm:
4131 * platform/win/PlatformScrollBarSafari.cpp:
4132 * platform/win/PlatformScrollBarWin.cpp:
4133 * platform/wx/PlatformScrollBar.h:
4134 * platform/wx/TemporaryLinkStubs.cpp:
4135 (PlatformScrollbar::~PlatformScrollbar):
4137 2008-09-13 Dave Hyatt <hyatt@apple.com>
4139 Move stopTimerIfNeeded out of PlatformScrollbar destructors and into Scrollbar.
4141 Reviewed by Sam Weinig
4143 * platform/ScrollBar.cpp:
4144 (WebCore::Scrollbar::~Scrollbar):
4145 * platform/ScrollBar.h:
4146 * platform/qt/PlatformScrollBarQt.cpp:
4147 (WebCore::PlatformScrollbar::~PlatformScrollbar):
4148 * platform/win/PlatformScrollBarSafari.cpp:
4149 (WebCore::PlatformScrollbar::~PlatformScrollbar):
4150 * platform/win/PlatformScrollBarWin.cpp:
4151 (WebCore::PlatformScrollbar::~PlatformScrollbar):
4153 2008-09-13 David Hyatt <hyatt@apple.com>
4155 Move maximum() from Qt's PlatformScrollbar to be a cross-platform
4156 function on Scrollbar. Fixes Qt build bustage.
4158 Reviewed by Sam Weinig
4160 * platform/ScrollBar.h:
4161 (WebCore::Scrollbar::orientation):
4162 (WebCore::Scrollbar::value):
4163 (WebCore::Scrollbar::maximum):
4164 * platform/qt/PlatformScrollBar.h:
4166 2008-09-13 Dan Bernstein <mitz@apple.com>
4168 Reviewed by Sam Weinig.
4170 - use the LastResort font for missing glyphs instead of showing the
4171 primary font's missing glyph
4173 Test: platform/mac/fast/text/last-resort-font.html
4175 * platform/graphics/mac/FontCacheMac.mm:
4176 (WebCore::FontCache::getFontDataForCharacters): Changed to return the
4177 last resort font if a substitute font cannot be found.
4178 (WebCore::FontCache::getLastResortFallbackFont): Removed an outdated
4179 comment (the user's preferred standard font is included in the search
4180 thanks to code in FontCache::getFontData()) and changed to return the
4183 2008-09-13 Dave Hyatt <hyatt@apple.com>
4185 This patch adds ScrollbarTheme to the build. ScrollbarTheme is similar to RenderTheme (but for
4186 scrollbars only). For now ScrollbarTheme just handles returning the size of scrollbars. Subsequent
4187 patches will move rendering and hit testing functionality into this class.
4189 Implemented ScrollbarTheme subclasses for four ports (Mac, Win, Gtk, Qt). The wxWidgets port does not
4190 implement scrollbars yet, so I added a temporary link stub to keep things compiling on wx.
4192 Reviewed by Sam Weinig
4196 * WebCore.vcproj/WebCore.vcproj:
4197 * platform/ScrollBar.cpp:
4198 (WebCore::Scrollbar::Scrollbar):
4199 * platform/ScrollBar.h:
4200 * platform/ScrollbarTheme.h: Added.
4201 (WebCore::ScrollbarTheme::~ScrollbarTheme):
4202 (WebCore::ScrollbarTheme::scrollbarThickness):
4203 (WebCore::ScrollbarTheme::themeChanged):
4204 * platform/gtk/ScrollbarThemeGtk.cpp: Added.
4205 (WebCore::ScrollbarTheme::nativeTheme):
4206 (WebCore::ScrollbarThemeGtk::~ScrollbarThemeGtk):
4207 (WebCore::ScrollbarThemeGtk::scrollbarThickness):
4208 * platform/gtk/ScrollbarThemeGtk.h: Added.
4209 * platform/mac/PlatformScrollBar.h:
4210 * platform/mac/ScrollbarThemeMac.cpp: Added.
4211 (WebCore::ScrollbarTheme::nativeTheme):
4213 (WebCore::ScrollbarThemeMac::~ScrollbarThemeMac):
4214 (WebCore::ScrollbarThemeMac::scrollbarThickness):
4215 * platform/mac/ScrollbarThemeMac.h: Added.
4216 * platform/qt/PlatformScrollBarQt.cpp:
4217 * platform/qt/ScrollbarThemeQt.cpp: Added.
4218 (WebCore::ScrollbarTheme::nativeTheme):
4219 (WebCore::ScrollbarThemeQt::~ScrollbarThemeQt):
4220 (WebCore::ScrollbarThemeQt::scrollbarThickness):
4221 * platform/qt/ScrollbarThemeQt.h: Added.
4222 * platform/win/PlatformScrollBar.h:
4223 * platform/win/PlatformScrollBarSafari.cpp:
4224 * platform/win/PlatformScrollBarWin.cpp:
4225 * platform/win/PopupMenuWin.cpp:
4226 (WebCore::PopupMenu::calculatePositionAndSize):
4227 * platform/win/ScrollViewWin.cpp:
4228 (WebCore::ScrollView::updateScrollbars):
4229 (WebCore::ScrollView::themeChanged):
4230 * platform/win/ScrollbarThemeSafari.cpp: Added.
4231 (WebCore::ScrollbarTheme::nativeTheme):
4233 (WebCore::ScrollbarThemeSafari::~ScrollbarThemeSafari):
4234 (WebCore::ScrollbarThemeSafari::scrollbarThickness):
4235 * platform/win/ScrollbarThemeSafari.h: Added.
4236 * platform/win/ScrollbarThemeWin.cpp: Added.
4237 (WebCore::ScrollbarTheme::nativeTheme):
4238 (WebCore::ScrollbarThemeWin::~ScrollbarThemeWin):
4239 (WebCore::ScrollbarThemeWin::scrollbarThickness):
4240 (WebCore::ScrollbarThemeWin::themeChanged):
4241 * platform/win/ScrollbarThemeWin.h: Added.
4242 * platform/wx/TemporaryLinkStubs.cpp:
4243 (ScrollbarTheme::nativeTheme):
4244 * rendering/RenderLayer.cpp:
4245 (WebCore::scrollCornerRect):
4246 * rendering/RenderTextControl.cpp:
4247 (WebCore::RenderTextControl::calcHeight):
4248 (WebCore::RenderTextControl::calcPrefWidths):
4250 2008-09-13 Chris Fleizach <cfleizach@apple.com>
4252 Reviewed by Timothy Hatcher.
4254 <rdar://problem/5060439> Web elements should have an AXTopLevelUIElement
4256 * page/mac/AccessibilityObjectWrapper.mm:
4257 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
4259 2008-09-13 Dan Bernstein <mitz@apple.com>
4261 Reviewed by Timothy Hatcher.
4263 - fix <rdar://problem/617128