1 2008-10-18 Zan Dobersek <zandobersek@gmail.com>
3 Reviewed by Oliver Hunt.
7 * platform/qt/RenderThemeQt.h:
9 2008-10-17 Kevin Watters <kevinwatters@gmail.com>
11 Reviewed by Kevin Ollivier
13 Fix wx port's scrollbar and drawing handling after recent changes.
15 https://bugs.webkit.org/show_bug.cgi?id=21720
17 * platform/ScrollView.h:
18 * platform/wx/ScrollViewWx.cpp:
19 (WebCore::ScrollView::platformVisibleContentRect):
20 (WebCore::ScrollView::platformContentsSize):
21 (WebCore::ScrollView::platformSetContentsSize):
22 * platform/wx/WidgetWx.cpp:
23 (WebCore::Widget::paint):
25 2008-10-17 Kevin Ollivier <kevino@theolliviers.com>
27 wx build fix. EAppearance -> ControlPart.
29 * platform/wx/RenderThemeWx.cpp:
30 (WebCore::RenderThemeWx::isControlStyled):
31 (WebCore::RenderThemeWx::adjustRepaintRect):
32 (WebCore::RenderThemeWx::controlSupportsTints):
33 (WebCore::RenderThemeWx::supportsFocus):
34 (WebCore::RenderThemeWx::paintButton):
36 2008-10-17 David Hyatt <hyatt@apple.com>
38 Eliminate the EAppearance enum in favor of the new ControlPart enum. Cut out the scrollbar
39 values from the enum since they are handled by ScrollbarTheme instead.
41 Reviewed by Tim Hatcher
43 * css/CSSPrimitiveValueMappings.h:
44 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
45 (WebCore::CSSPrimitiveValue::operator ControlPart):
46 * css/CSSStyleSelector.cpp:
47 (WebCore::CSSStyleSelector::adjustRenderStyle):
48 * css/CSSValueKeywords.in:
49 * platform/gtk/RenderThemeGtk.cpp:
50 (WebCore::supportsFocus):
51 (WebCore::RenderThemeGtk::baselinePosition):
52 (WebCore::setToggleSize):
53 (WebCore::RenderThemeGtk::setCheckboxSize):
54 (WebCore::RenderThemeGtk::setRadioSize):
55 (WebCore::RenderThemeGtk::adjustButtonStyle):
56 * platform/qt/RenderThemeQt.cpp:
57 (WebCore::RenderThemeQt::baselinePosition):
58 (WebCore::RenderThemeQt::controlSupportsTints):
59 (WebCore::RenderThemeQt::adjustRepaintRect):
60 (WebCore::RenderThemeQt::isControlStyled):
61 (WebCore::computeSizeBasedOnStyle):
62 (WebCore::RenderThemeQt::paintButton):
63 (WebCore::RenderThemeQt::paintTextField):
64 (WebCore::RenderThemeQt::paintMenuList):
65 (WebCore::RenderThemeQt::supportsFocus):
66 (WebCore::RenderThemeQt::applyTheme):
67 (WebCore::RenderThemeQt::adjustSliderThumbSize):
68 * platform/qt/RenderThemeQt.h:
69 * rendering/RenderSlider.cpp:
70 (WebCore::RenderSlider::createThumbStyle):
71 (WebCore::RenderSlider::layout):
72 (WebCore::RenderSlider::setValueForPosition):
73 (WebCore::RenderSlider::setPositionFromValue):
74 (WebCore::RenderSlider::positionForOffset):
75 (WebCore::RenderSlider::currentPosition):
76 (WebCore::RenderSlider::setCurrentPosition):
77 (WebCore::RenderSlider::trackSize):
78 * rendering/RenderTheme.cpp:
79 (WebCore::RenderTheme::adjustStyle):
80 (WebCore::RenderTheme::paint):
81 (WebCore::RenderTheme::paintBorderOnly):
82 (WebCore::RenderTheme::paintDecorations):
83 (WebCore::RenderTheme::isControlContainer):
84 (WebCore::RenderTheme::isControlStyled):
85 (WebCore::RenderTheme::supportsFocusRing):
86 (WebCore::RenderTheme::isDefault):
87 * rendering/RenderTheme.h:
88 * rendering/RenderThemeMac.mm:
89 (WebCore::RenderThemeMac::isControlStyled):
90 (WebCore::RenderThemeMac::adjustRepaintRect):
91 (WebCore::RenderThemeMac::baselinePosition):
92 (WebCore::RenderThemeMac::controlSupportsTints):
93 (WebCore::RenderThemeMac::adjustButtonStyle):
94 (WebCore::RenderThemeMac::setButtonCellState):
95 (WebCore::RenderThemeMac::popupInternalPaddingLeft):
96 (WebCore::RenderThemeMac::popupInternalPaddingRight):
97 (WebCore::RenderThemeMac::popupInternalPaddingTop):
98 (WebCore::RenderThemeMac::popupInternalPaddingBottom):
99 (WebCore::RenderThemeMac::paintSliderTrack):
100 (WebCore::RenderThemeMac::paintSliderThumb):
101 (WebCore::RenderThemeMac::adjustSliderThumbSize):
102 * rendering/RenderThemeSafari.cpp:
103 (WebCore::RenderThemeSafari::isControlStyled):
104 (WebCore::RenderThemeSafari::adjustRepaintRect):
105 (WebCore::RenderThemeSafari::baselinePosition):
106 (WebCore::RenderThemeSafari::controlSupportsTints):
107 (WebCore::RenderThemeSafari::adjustButtonStyle):
108 (WebCore::RenderThemeSafari::popupInternalPaddingLeft):
109 (WebCore::RenderThemeSafari::popupInternalPaddingRight):
110 (WebCore::RenderThemeSafari::popupInternalPaddingTop):
111 (WebCore::RenderThemeSafari::popupInternalPaddingBottom):
112 (WebCore::RenderThemeSafari::paintSliderTrack):
113 (WebCore::RenderThemeSafari::adjustSliderThumbSize):
114 * rendering/RenderThemeWin.cpp:
115 (WebCore::RenderThemeWin::supportsFocus):
116 (WebCore::RenderThemeWin::determineClassicState):
117 (WebCore::RenderThemeWin::getClassicThemeData):
118 (WebCore::RenderThemeWin::getThemeData):
119 (WebCore::drawControl):
120 (WebCore::RenderThemeWin::paintSliderTrack):
121 (WebCore::RenderThemeWin::adjustSliderThumbSize):
122 * rendering/RenderThemeWin.h:
123 * rendering/style/RenderStyle.h:
124 (WebCore::InheritedFlags::hasAppearance):
125 (WebCore::InheritedFlags::appearance):
126 (WebCore::InheritedFlags::setAppearance):
127 (WebCore::InheritedFlags::initialAppearance):
128 * rendering/style/RenderStyleConstants.h:
130 2008-10-17 David Hyatt <hyatt@apple.com>
132 Beginning of the RenderTheme re-architecture (to share more code). Add the new Theme API header
133 file. Add new USE(NEW_THEME) switch that is enabled on Mac. The Mac theme will be converted first.
135 Reviewed by Tim Hatcher
137 * WebCore.vcproj/WebCore.vcproj:
138 * WebCore.xcodeproj/project.pbxproj:
140 * platform/Theme.h: Added.
141 (WebCore::Theme::Theme):
142 (WebCore::Theme::~Theme):
143 (WebCore::Theme::baselinePositionAdjustment):
144 (WebCore::Theme::controlHasInactiveAppearance):
145 (WebCore::Theme::controlsCanHaveInactiveAppearance):
146 (WebCore::Theme::controlsCanHaveHoveredAppearance):
147 (WebCore::Theme::controlDrawsBorder):
148 (WebCore::Theme::controlDrawsBackground):
149 (WebCore::Theme::controlDrawsFocusOutline):
150 (WebCore::Theme::selectionColor):
151 (WebCore::Theme::textSearchHighlightColor):
152 (WebCore::Theme::systemColor):
153 (WebCore::Theme::systemFont):
154 (WebCore::Theme::caretBlinkFrequency):
155 (WebCore::Theme::themeChanged):
156 (WebCore::Theme::controlSize):
157 (WebCore::Theme::controlFont):
158 (WebCore::Theme::controlPadding):
159 (WebCore::Theme::controlInternalPadding):
160 (WebCore::Theme::controlBorder):
161 (WebCore::Theme::controlBorderRadius):
162 (WebCore::Theme::paint):
163 (WebCore::Theme::inflateControlPaintRect):
164 * platform/ThemeTypes.h: Added.
166 (WebCore::ControlBox::ControlBox):
167 (WebCore::ControlBox::top):
168 (WebCore::ControlBox::right):
169 (WebCore::ControlBox::bottom):
170 (WebCore::ControlBox::left):
171 * platform/mac/ThemeMac.h: Added.
172 (WebCore::ThemeMac::ThemeMac):
173 (WebCore::ThemeMac::~ThemeMac):
174 * platform/mac/ThemeMac.mm: Added.
175 (WebCore::platformTheme):
176 * rendering/RenderTheme.cpp:
177 (WebCore::RenderTheme::RenderTheme):
178 * rendering/RenderTheme.h:
180 2008-10-17 Marco Barisione <marco.barisione@collabora.co.uk>
182 Reviewed by Sam Weinig. Landed by Jan Alonzo.
184 https://bugs.webkit.org/show_bug.cgi?id=21603
185 [GTK] Minor fixes to GOwnPtr
187 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
188 (WebCore::mediaPlayerPrivateErrorCallback):
190 2008-10-17 Timothy Hatcher <timothy@apple.com>
192 Recompile the JavaScript functions when removing any listener, so functions that are
193 not being debugged can resume normal speed again.
195 https://bugs.webkit.org/show_bug.cgi?id=21715
197 Reviewed by Geoffrey Garen.
199 * bindings/js/JSDOMWindowBase.cpp:
200 (WebCore::JSDOMWindowBase::globalExec): Changed an assert into an if check. This assert
201 was firing when closing the window and having the recompile fire after. This was an
202 overzelious assert now.
203 * inspector/JavaScriptDebugServer.cpp:
204 (WebCore::JavaScriptDebugServer::didRemoveListener): Start the recompile timer.
205 (WebCore::JavaScriptDebugServer::didRemoveLastListener): Removed the recompile timer start.
207 2008-10-17 Timothy Hatcher <timothy@apple.com>
209 Fixes a regression where starting a debugging session in
210 another Web Inspector window would not show any scripts.
211 Also only attach the debugger to only the required Pages.
213 https://bugs.webkit.org/show_bug.cgi?id=21708
215 Reviewed by Darin Adler.
217 * inspector/JavaScriptDebugServer.cpp:
218 (WebCore::JavaScriptDebugServer::addListener): Add an assert and
219 remove the call to willAddFirstListener(). Add a call to
221 (WebCore::JavaScriptDebugServer::removeListener): Add an assert
222 and call to didRemoveListener().
223 (WebCore::JavaScriptDebugServer::pageCreated): Attach the debugger
224 if there is a listener interested in the new Page.
225 (WebCore::JavaScriptDebugServer::hasListenersInterestedInPage):
226 Use hasGlobalListeners() instead of isEmpty().
227 (WebCore::JavaScriptDebugServer::sourceParsed): Ditto.
228 (WebCore::JavaScriptDebugServer::didAddListener): Added. Attach the
229 debugger to the page if non-null, or all pages if page is null.
230 (WebCore::JavaScriptDebugServer::didRemoveListener): Added. Detach
231 the debugger only if there are no interested listeners.
232 (WebCore::JavaScriptDebugServer::didRemoveLastListener): Remove the
233 call to Page::setDebuggerForAllPages().
234 * inspector/JavaScriptDebugServer.h:
235 (WebCore::JavaScriptDebugServer::hasGlobalListeners): Added.
237 2008-10-15 Brett Wilson <brettw@chromium.org>
239 Reviewed by Timothy Hatcher.
241 Have ImageDocument generate its own filename for the title of images
242 without relying on the suggested filename from the network layer, which
243 may be nonexistant or not relevant.
244 https://bugs.webkit.org/show_bug.cgi?id=21565
246 * loader/ImageDocument.cpp:
247 (WebCore::ImageTokenizer::finish):
249 2008-10-17 Alexey Proskuryakov <ap@webkit.org>
255 * WebCore.vcproj/WebCore.vcproj:
256 * WebCoreSources.bkl:
257 Added ActiveDOMObject to the build.
259 2008-10-17 Alexey Proskuryakov <ap@webkit.org>
261 Reviewed by Sam Weinig.
263 https://bugs.webkit.org/show_bug.cgi?id=21642
264 Abstract out active object tracking
266 * WebCore.xcodeproj/project.pbxproj:
267 * bindings/js/JSDOMBinding.cpp:
268 (WebCore::markActiveObjectsForDocument):
269 * dom/ActiveDOMObject.cpp: Added.
270 (WebCore::ActiveDOMObject::ActiveDOMObject):
271 (WebCore::ActiveDOMObject::~ActiveDOMObject):
272 (WebCore::ActiveDOMObject::contextDestroyed):
273 (WebCore::ActiveDOMObject::stop):
274 * dom/ActiveDOMObject.h: Added.
275 (WebCore::ActiveDOMObject::document):
276 (WebCore::ActiveDOMObject::hasPendingActivity):
277 (WebCore::ActiveDOMObject::setPendingActivity):
278 (WebCore::ActiveDOMObject::unsetPendingActivity):
280 (WebCore::Document::~Document):
281 (WebCore::Document::stopActiveDOMObjects):
282 (WebCore::Document::createdActiveDOMObject):
283 (WebCore::Document::destroyedActiveDOMObject):
285 (WebCore::Document::activeDOMObjects):
286 * dom/MessagePort.cpp:
287 (WebCore::MessagePort::contextDestroyed):
289 * loader/FrameLoader.cpp:
290 (WebCore::FrameLoader::stopLoading):
291 * xml/XMLHttpRequest.cpp:
292 (WebCore::XMLHttpRequest::XMLHttpRequest):
293 (WebCore::XMLHttpRequest::~XMLHttpRequest):
294 (WebCore::XMLHttpRequest::associatedFrame):
295 (WebCore::XMLHttpRequest::responseXML):
296 (WebCore::XMLHttpRequest::callReadyStateChangeListener):
297 (WebCore::XMLHttpRequest::initSend):
298 (WebCore::XMLHttpRequest::send):
299 (WebCore::XMLHttpRequest::createRequest):
300 (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
301 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
302 (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
303 (WebCore::XMLHttpRequest::loadRequestSynchronously):
304 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
305 (WebCore::XMLHttpRequest::dropProtection):
306 (WebCore::XMLHttpRequest::setRequestHeader):
307 (WebCore::XMLHttpRequest::processSyncLoadResults):
308 (WebCore::XMLHttpRequest::didFinishLoading):
309 (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
310 (WebCore::XMLHttpRequest::willSendRequest):
311 (WebCore::XMLHttpRequest::accessControlCheck):
312 (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
313 (WebCore::XMLHttpRequest::stop):
314 (WebCore::XMLHttpRequest::contextDestroyed):
315 * xml/XMLHttpRequest.h:
316 Move activity tracking to a new ActiveDOMObject class.
318 2008-10-16 David Hyatt <hyatt@apple.com>
320 Simplify styleForRenderer to avoid confusion. Callers in the SVG filter code thought "forRenderer" meant
321 they would be given a style that corresponded to the RenderObject* passed in. This is not what the code
322 did though. This patch removes the renderer argument and the Element subclass shadow implementation
323 so that confusion like this can't occur again.
325 Reviewed by Oliver Hunt
330 (WebCore::Node::createRendererIfNeeded):
331 (WebCore::Node::styleForRenderer):
333 * html/HTMLOptGroupElement.cpp:
334 (WebCore::HTMLOptGroupElement::attach):
335 * html/HTMLOptionElement.cpp:
336 (WebCore::HTMLOptionElement::attach):
337 * svg/SVGClipPathElement.cpp:
338 (WebCore::SVGClipPathElement::canvasResource):
339 * svg/SVGFEDiffuseLightingElement.cpp:
340 (WebCore::SVGFEDiffuseLightingElement::build):
341 * svg/SVGFEFloodElement.cpp:
342 (WebCore::SVGFEFloodElement::build):
343 * svg/SVGFESpecularLightingElement.cpp:
344 (WebCore::SVGFESpecularLightingElement::build):
345 * svg/SVGGradientElement.cpp:
346 (WebCore::SVGGradientElement::buildStops):
347 * svg/SVGUseElement.cpp:
348 (WebCore::SVGUseElement::attachShadowTree):
350 2008-10-16 David Hyatt <hyatt@apple.com>
352 https://bugs.webkit.org/attachment.cgi?bugid=21647
354 Make RenderStyle inherit from RefCounted so that it works with RefPtr. RenderStyle was being malloced
355 out of the RenderArena. Years and years ago (before TCMalloc), the plan was to make RenderStyles and
356 all their associated sub-structs use the arena. However only the RenderStyle itself was ever changed
359 At a later point style sharing was implemented, which made using the arena for styles pretty pointless,
360 as the bulk of the styles on a given page are actually shared. Not ever making the sub-structs use the
361 arena also limited the usefulness.
363 Now that we have RefPtr/PassRefPtr to eliminate manual ref/deref and now that we use TCMalloc for fast
364 mallocs, there is no reason to keep RenderStyles in the arena. The benefits of being able to eliminate
365 manual ref/deref far outweigh keeping them in the arena.
367 Reviewed by Adam Roben
369 * css/CSSStyleSelector.cpp:
370 (WebCore::CSSStyleSelector::CSSStyleSelector):
371 (WebCore::CSSStyleSelector::~CSSStyleSelector):
372 (WebCore::CSSStyleSelector::styleForElement):
373 (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
374 (WebCore::CSSStyleSelector::pseudoStyleForElement):
375 These methods now return a PassRefPtr. They will null out the m_style variable as they hand it back
376 so that it isn't left pointing to the previous style resolve RenderStyle (which is what the old code did).
378 (WebCore::CSSStyleSelector::updateFont):
379 (WebCore::CSSStyleSelector::checkSelector):
380 (WebCore::CSSStyleSelector::applyProperty):
381 (WebCore::CSSStyleSelector::mapFillSize):
382 (WebCore::CSSStyleSelector::mapFillXPosition):
383 (WebCore::CSSStyleSelector::mapFillYPosition):
384 * css/CSSStyleSelector.h:
385 (WebCore::CSSStyleSelector::style):
387 (WebCore::Document::recalcStyle):
389 (WebCore::Element::styleForRenderer):
390 (WebCore::Element::recalcStyle):
391 (WebCore::Element::computedStyle):
393 * dom/ElementRareData.h:
394 (WebCore::ElementRareData::ElementRareData):
395 (WebCore::ElementRareData::resetComputedStyle):
397 (WebCore::Node::diff):
398 (WebCore::Node::createRendererIfNeeded):
399 (WebCore::Node::styleForRenderer):
400 (WebCore::Node::setRenderStyle):
402 * html/CanvasRenderingContext2D.cpp:
403 (WebCore::CanvasRenderingContext2D::setFont):
404 * html/HTMLOptGroupElement.cpp:
405 (WebCore::HTMLOptGroupElement::attach):
406 (WebCore::HTMLOptGroupElement::detach):
407 (WebCore::HTMLOptGroupElement::setRenderStyle):
408 (WebCore::HTMLOptGroupElement::nonRendererRenderStyle):
409 * html/HTMLOptGroupElement.h:
410 * html/HTMLOptionElement.cpp:
411 (WebCore::HTMLOptionElement::attach):
412 (WebCore::HTMLOptionElement::detach):
413 (WebCore::HTMLOptionElement::setRenderStyle):
414 (WebCore::HTMLOptionElement::nonRendererRenderStyle):
415 * html/HTMLOptionElement.h:
416 * page/animation/AnimationBase.h:
417 (WebCore::AnimationBase::animate):
418 * page/animation/AnimationController.cpp:
419 (WebCore::AnimationController::updateAnimations):
420 * page/animation/AnimationController.h:
421 * page/animation/CompositeAnimation.cpp:
422 (WebCore::CompositeAnimationPrivate::updateTransitions):
423 (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations):
424 (WebCore::CompositeAnimationPrivate::animate):
425 (WebCore::CompositeAnimation::animate):
426 * page/animation/CompositeAnimation.h:
427 * page/animation/ImplicitAnimation.cpp:
428 (WebCore::ImplicitAnimation::ImplicitAnimation):
429 (WebCore::ImplicitAnimation::~ImplicitAnimation):
430 (WebCore::ImplicitAnimation::animate):
431 (WebCore::ImplicitAnimation::reset):
432 (WebCore::ImplicitAnimation::isTargetPropertyEqual):
433 (WebCore::ImplicitAnimation::blendPropertyValueInStyle):
434 * page/animation/ImplicitAnimation.h:
435 (WebCore::ImplicitAnimation::create):
436 * page/animation/KeyframeAnimation.cpp:
437 (WebCore::KeyframeAnimation::KeyframeAnimation):
438 (WebCore::KeyframeAnimation::~KeyframeAnimation):
439 (WebCore::KeyframeAnimation::animate):
440 (WebCore::KeyframeAnimation::validateTransformFunctionList):
441 * page/animation/KeyframeAnimation.h:
442 (WebCore::KeyframeAnimation::create):
443 (WebCore::KeyframeAnimation::unanimatedStyle):
444 * rendering/InlineTextBox.cpp:
445 (WebCore::InlineTextBox::paint):
446 * rendering/MediaControlElements.cpp:
447 (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
448 (WebCore::MediaControlInputElement::MediaControlInputElement):
449 * rendering/RenderBlock.cpp:
450 (WebCore::RenderBlock::styleDidChange):
451 (WebCore::RenderBlock::updateFirstLetter):
452 * rendering/RenderContainer.cpp:
453 (WebCore::RenderContainer::addChild):
454 (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
455 * rendering/RenderFileUploadControl.cpp:
456 (WebCore::RenderFileUploadControl::updateFromElement):
457 (WebCore::RenderFileUploadControl::createButtonStyle):
458 * rendering/RenderFileUploadControl.h:
459 * rendering/RenderFlow.cpp:
460 (WebCore::RenderFlow::createAnonymousFlow):
461 * rendering/RenderFlow.h:
462 * rendering/RenderInline.cpp:
463 (WebCore::RenderInline::addChildToFlow):
464 * rendering/RenderLayer.cpp:
465 (WebCore::RenderLayer::updateScrollCornerStyle):
466 (WebCore::RenderLayer::updateResizerStyle):
467 (WebCore::RenderLayer::updateReflectionStyle):
468 * rendering/RenderListItem.cpp:
469 (WebCore::RenderListItem::styleDidChange):
470 * rendering/RenderMedia.cpp:
471 (WebCore::RenderMedia::createPanel):
472 (WebCore::RenderMedia::createTimeDisplay):
473 (WebCore::RenderMedia::changeOpacity):
474 * rendering/RenderObject.cpp:
475 (WebCore::RenderObject::selectionBackgroundColor):
476 (WebCore::RenderObject::selectionForegroundColor):
477 (WebCore::RenderObject::createAnonymousBlock):
478 (WebCore::RenderObject::setAnimatableStyle):
479 (WebCore::RenderObject::setStyle):
480 (WebCore::RenderObject::setStyleInternal):
481 (WebCore::RenderObject::arenaDelete):
482 (WebCore::RenderObject::firstLineStyle):
483 (WebCore::RenderObject::getPseudoStyle):
484 * rendering/RenderObject.h:
485 (WebCore::RenderObject::style):
486 * rendering/RenderSVGBlock.cpp:
487 (WebCore::RenderSVGBlock::setStyle):
488 * rendering/RenderSVGBlock.h:
489 * rendering/RenderScrollbar.cpp:
490 (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
491 (WebCore::RenderScrollbar::updateScrollbarPart):
492 * rendering/RenderScrollbar.h:
493 * rendering/RenderSlider.cpp:
494 (WebCore::RenderSlider::styleDidChange):
495 (WebCore::RenderSlider::createThumbStyle):
496 (WebCore::RenderSlider::updateFromElement):
497 * rendering/RenderSlider.h:
498 * rendering/RenderTable.cpp:
499 (WebCore::RenderTable::addChild):
500 * rendering/RenderTableRow.cpp:
501 (WebCore::RenderTableRow::addChild):
502 * rendering/RenderTableSection.cpp:
503 (WebCore::RenderTableSection::addChild):
504 * rendering/RenderTextControl.cpp:
505 (WebCore::RenderTextControl::styleDidChange):
506 (WebCore::RenderTextControl::createInnerBlockStyle):
507 (WebCore::RenderTextControl::createInnerTextStyle):
508 (WebCore::RenderTextControl::createResultsButtonStyle):
509 (WebCore::RenderTextControl::createCancelButtonStyle):
510 (WebCore::RenderTextControl::createSubtreeIfNeeded):
511 (WebCore::RenderTextControl::updatePlaceholderVisibility):
512 * rendering/RenderTextControl.h:
513 * rendering/TextControlInnerElements.cpp:
514 (WebCore::TextControlInnerElement::attachInnerElement):
515 * rendering/TextControlInnerElements.h:
516 * rendering/style/KeyframeList.cpp:
517 (WebCore::KeyframeList::clear):
518 (WebCore::KeyframeList::operator==):
519 (WebCore::KeyframeList::insert):
520 * rendering/style/KeyframeList.h:
521 (WebCore::KeyframeValue::KeyframeValue):
522 (WebCore::KeyframeValue::~KeyframeValue):
523 (WebCore::KeyframeValue::key):
524 (WebCore::KeyframeValue::style):
525 * rendering/style/RenderStyle.cpp:
526 (WebCore::defaultStyle):
527 (WebCore::RenderStyle::create):
528 (WebCore::RenderStyle::createDefaultStyle):
529 (WebCore::RenderStyle::clone):
530 (WebCore::RenderStyle::RenderStyle):
531 (WebCore::RenderStyle::getCachedPseudoStyle):
532 (WebCore::RenderStyle::addCachedPseudoStyle):
533 * rendering/style/RenderStyle.h:
535 (WebCore::InheritedFlags::operator!=):
536 * svg/SVGClipPathElement.cpp:
537 (WebCore::SVGClipPathElement::canvasResource):
538 * svg/SVGGradientElement.cpp:
539 (WebCore::SVGGradientElement::buildStops):
540 * svg/SVGStyledElement.cpp:
541 (WebCore::SVGStyledElement::resolveStyle):
542 * svg/SVGStyledElement.h:
543 * svg/SVGUseElement.cpp:
544 (WebCore::SVGUseElement::recalcStyle):
545 (WebCore::SVGUseElement::attachShadowTree):
547 2008-10-16 Kenneth Russell <kenneth.russell@sun.com>
549 Reviewed and landed by Anders Carlsson.
551 https://bugs.webkit.org/show_bug.cgi?id=21587
552 NPN_PluginThreadAsyncCall does not work properly
554 * plugins/PluginMainThreadScheduler.cpp:
555 (WebCore::PluginMainThreadScheduler::dispatchCalls):
556 Make sure to set m_callPending to false once the queue has been cleared.
558 2008-10-15 Alexey Proskuryakov <ap@webkit.org>
560 Reviewed by Darin Adler.
562 https://bugs.webkit.org/show_bug.cgi?id=21609
563 Make MessagePorts protect their peers across heaps
565 * dom/MessagePort.cpp:
566 (WebCore::MessagePort::MessagePort):
568 (WebCore::MessagePort::setJSWrapperIsKnownToBeInaccessible):
569 (WebCore::MessagePort::jsWrapperIsKnownToBeInaccessible):
570 Track objects whose JS wrappers are no longer reachable in MessagePort. Unfortunately, this
571 means that the implementation object knows about JS bindings - but it is not possible to
572 access JS wrappers from another heap/thread.
574 * bindings/js/JSDOMBinding.cpp:
575 (WebCore::markCrossHeapDependentObjectsForDocument):
576 * bindings/js/JSDOMBinding.h:
577 * bindings/js/JSDOMWindowBase.cpp:
578 (WebCore::JSDOMWindowBase::markCrossHeapDependentObjects):
579 * bindings/js/JSDOMWindowBase.h:
580 Implement cross-heap dependency tracking for entangled MessagePorts. If a wrapper object
581 hasn't been marked normally, it is marked as inaccessible. It is then marked manually,
582 as long as its entangled port is accessible itself.
584 2008-10-15 Jon Honeycutt <jhoneycutt@apple.com>
586 Remove unneeded check of whether a Page defers loading before running it
591 Reviewed by Tim Hatcher.
595 2008-10-15 Geoffrey Garen <ggaren@apple.com>
597 Reviewed by Cameron Zwarich.
599 Fixed https://bugs.webkit.org/show_bug.cgi?id=21345
600 Start the debugger without reloading the inspected page
602 * WebCore.base.exp: New symbols.
604 * ForwardingHeaders/kjs/CollectorHeapIterator.h: Copied from ForwardingHeaders/kjs/ustring.h.
605 * ForwardingHeaders/kjs/Parser.h: Copied from ForwardingHeaders/kjs/ustring.h.
606 * WebCore.xcodeproj/project.pbxproj: New forwarding headers.
608 * inspector/InspectorController.cpp:
609 (WebCore::InspectorController::setWindowVisible):
610 (WebCore::InspectorController::windowScriptObjectAvailable):
611 (WebCore::InspectorController::startDebugging):
612 * inspector/InspectorController.h: Renamed startDebuggingAndReloadInspectedPage
613 to startDebugging, and changed its behavior to match.
615 * inspector/JavaScriptDebugListener.h:
616 * inspector/JavaScriptDebugServer.cpp:
617 (WebCore::JavaScriptDebugServer::JavaScriptDebugServer):
618 (WebCore::JavaScriptDebugServer::addListener):
619 (WebCore::JavaScriptDebugServer::removeListener):
620 (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
621 (WebCore::JavaScriptDebugServer::willAddFirstListener):
622 (WebCore::JavaScriptDebugServer::didRemoveLastListener):
623 * inspector/JavaScriptDebugServer.h: Refactored the
624 JavaScriptDebugServer to centralize handling of adding the first listener
625 and removing the last. Then, added a feature to recompile all JS functions
626 in these cases. This allows us to dynamically add and remove hooks like
627 the debugger hooks without reloading the page.
629 * inspector/front-end/ScriptsPanel.js:
630 * English.lproj/localizedStrings.js: Updated for startDebuggingAndReloadInspectedPage =>
631 startDebugging rename. Removed all UI that claimed that starting the
632 debugger would reload the page.
634 2008-10-15 Adele Peterson <adele@apple.com>
636 Attempt to fix the Tiger build.
638 * platform/network/mac/ResourceHandleMac.mm:
640 2008-10-15 Holger Hans Peter Freyther <zecke@selfish.org>
644 Try to fix static/non-static declaration of g_string_append_uri_escape
645 by renaming that string. Another look needs to be taken.
647 * platform/gtk/guriescape.c:
648 (_webcore_g_string_append_uri_escaped):
649 (_webcore_g_uri_escape_string):
651 2008-10-15 Holger Hans Peter Freyther <zecke@selfish.org>
655 m_animatingImageType is gone.
657 * platform/graphics/cairo/ImageCairo.cpp:
658 (WebCore::BitmapImage::BitmapImage):
660 2008-10-15 Jeff Cook <cookiecaper@gmail.com>
662 Reviewed by Holger Freyther.
664 Stop SIGSEGV when leaving a page with a Flash object by reordering
665 window destruction and plugin stop.
667 See https://bugs.webkit.org/show_bug.cgi?id=20779
669 * plugins/gtk/PluginViewGtk.cpp:
670 (WebCore::PluginView::stop):
672 2008-10-15 Adele Peterson <adele@apple.com>
674 Reviewed by Sam Weinig.
676 Implement didSendBodyData delegate method, and use older code path when that delegate doesn't exist.
678 * platform/network/ResourceHandle.h:
679 * platform/network/mac/FormDataStreamMac.mm: (WebCore::formRead):
680 * platform/network/mac/ResourceHandleMac.mm:
681 (WebCore::ResourceHandle::didSendBodyDataDelegateExists):
682 (WebCore::ResourceHandle::start):
683 (WebCore::ResourceHandle::cancel):
684 (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
685 (-[WebCoreResourceHandleAsDelegate connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:]):
686 (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
687 (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]):
689 2008-10-15 Peter Kasting <pkasting@google.com>
691 Reviewed by David Hyatt.
693 Qt build bustage fix.
695 * platform/graphics/qt/StillImageQt.h:
696 (WebCore::StillImage::destroyDecodedData):
698 2008-10-15 David Hyatt <hyatt@apple.com>
700 Make sure scrollbar styles get deleted if they aren't assigned to a renderer.
702 Reviewed by Mark Rowe
704 * rendering/RenderScrollbar.cpp:
705 (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
706 (WebCore::RenderScrollbar::updateScrollbarPart):
708 2008-10-15 Peter Kasting <pkasting@google.com>
710 Reviewed by David Hyatt.
712 https://bugs.webkit.org/show_bug.cgi?id=19663 (Second attempt)
713 Account for paint and timer lag when animating images. Also pretend
714 that images whose animations were paused (by becoming invisible)
715 continued to animate, by "catching up" to the correct frame when they're
718 * platform/graphics/BitmapImage.cpp:
719 (WebCore::BitmapImage::BitmapImage):
720 (WebCore::BitmapImage::destroyDecodedData):
721 (WebCore::BitmapImage::cacheFrame):
722 (WebCore::BitmapImage::frameIsCompleteAtIndex):
723 (WebCore::BitmapImage::frameDurationAtIndex):
724 (WebCore::BitmapImage::frameHasAlphaAtIndex):
725 (WebCore::BitmapImage::repetitionCount):
726 (WebCore::BitmapImage::shouldAnimate):
727 (WebCore::BitmapImage::startAnimation):
728 (WebCore::BitmapImage::resetAnimation):
729 (WebCore::BitmapImage::advanceAnimation):
730 (WebCore::BitmapImage::internalAdvanceAnimation):
731 (WebCore::BitmapImage::notifyObserverAndTrimDecodedData):
732 * platform/graphics/BitmapImage.h:
733 (WebCore::FrameData::FrameData):
734 (WebCore::BitmapImage::):
735 * platform/graphics/GeneratedImage.h:
736 (WebCore::GeneratedImage::destroyDecodedData):
737 * platform/graphics/Image.h:
738 * platform/graphics/cairo/ImageCairo.cpp:
739 (WebCore::FrameData::clear):
740 (WebCore::BitmapImage::BitmapImage):
741 (WebCore::BitmapImage::draw):
742 * platform/graphics/cg/ImageCG.cpp:
743 (WebCore::FrameData::clear):
744 (WebCore::BitmapImage::BitmapImage):
745 (WebCore::BitmapImage::draw):
746 * platform/graphics/cg/PDFDocumentImage.h:
747 (WebCore::PDFDocumentImage::destroyDecodedData):
748 * platform/graphics/qt/ImageQt.cpp:
749 (WebCore::FrameData::clear):
750 (WebCore::BitmapImage::draw):
751 * platform/graphics/wx/ImageWx.cpp:
752 (WebCore::FrameData::clear):
753 (WebCore::BitmapImage::draw):
754 * svg/graphics/SVGImage.h:
755 (WebCore::SVGImage::destroyDecodedData):
757 2008-10-14 Maxime Britto <britto@apple.com>
759 Reviewed by Darin Adler, tweaked and landed by Beth.
761 * WebCore.base.exp: Exposes two functions to be able to create a
762 selection from a point on the screen. Also exposes the new
763 TextIterator::currentNode function.
764 * WebCore/editing/TextIterator.cpp:
765 (TextIterator::currentNode) : New function that returns the current
766 text node or NULL if there is no text node.
768 2008-10-15 Marco Barisione <marco.barisione@collabora.co.uk>
770 Reviewed by Holger Freyther.
772 http://bugs.webkit.org/show_bug.cgi?id=21211
773 [CURL] Upload doesn't work because cancel is called
775 FormDataStream::read returns 0 when retrieving data from the form
776 fails, but also when there is no more data to send. This means that
777 ResourceHandleManager::cancel is always called even when the data was
780 Check if there are more elements in the form before calling
781 FormDataStream::read.
783 * platform/network/curl/FormDataStreamCurl.cpp:
784 (WebCore::FormDataStream::hasMoreElements):
785 * platform/network/curl/FormDataStreamCurl.h:
786 * platform/network/curl/ResourceHandleManager.cpp:
787 (WebCore::readCallback):
789 2008-10-15 Marco Barisione <marco.barisione@collabora.co.uk>
791 Reviewed by Holger Freyther.
793 http://bugs.webkit.org/show_bug.cgi?id=20664
794 [GTK] File names are not always encodable in UTF-8
796 On Linux file names are just raw data and cannot always be directly
797 encoded in UTF-8 or in any other encodings, so we escape them before
798 storing the file name in a String and unescape them before passing
799 them to native functions handling files.
802 * platform/FileSystem.h:
803 * platform/gtk/FileChooserGtk.cpp:
804 (WebCore::stringByAdoptingFileSystemRepresentation):
805 (WebCore::FileChooser::basenameForWidth):
806 * platform/gtk/FileSystemGtk.cpp:
807 (WebCore::filenameToString):
808 (WebCore::filenameFromString):
809 (WebCore::filenameForDisplay):
810 (WebCore::fileExists):
811 (WebCore::deleteFile):
812 (WebCore::deleteEmptyDirectory):
813 (WebCore::getFileSize):
814 (WebCore::getFileModificationTime):
815 (WebCore::makeAllDirectories):
816 (WebCore::homeDirectoryPath):
817 (WebCore::pathGetFileName):
818 (WebCore::listDirectory):
819 * platform/gtk/KURLGtk.cpp:
820 (WebCore::KURL::fileSystemPath):
821 * platform/gtk/SharedBufferGtk.cpp:
822 (WebCore::SharedBuffer::createWithContentsOfFile):
823 * platform/gtk/guriescape.c: Added.
826 (g_string_append_uri_escaped):
827 (_webcore_g_uri_escape_string):
828 * platform/gtk/guriescape.h: Added.
830 2008-10-15 Dirk Schulze <vbs85@gmx.de>
832 Reviewed by Eric Seidel.
834 - part of https://bugs.webkit.org/show_bug.cgi?id=20543
835 Moved gradient spread method out of SVG into the GraphicsContext.
837 * platform/graphics/GraphicsContext.cpp:
838 (WebCore::GraphicsContext::spreadMethod):
839 (WebCore::GraphicsContext::setSpreadMethod):
840 * platform/graphics/GraphicsContext.h:
842 * platform/graphics/GraphicsContextPrivate.h:
843 * platform/graphics/cairo/GraphicsContextCairo.cpp:
844 (WebCore::applySpreadMethod):
845 (WebCore::GraphicsContext::fillPath):
846 (WebCore::GraphicsContext::strokePath):
847 * platform/graphics/qt/GraphicsContextQt.cpp:
848 (WebCore::applySpreadMethod):
849 (WebCore::GraphicsContext::fillPath):
850 (WebCore::GraphicsContext::strokePath):
851 * svg/GradientAttributes.h:
852 (WebCore::GradientAttributes::GradientAttributes):
853 (WebCore::GradientAttributes::spreadMethod):
854 (WebCore::GradientAttributes::setSpreadMethod):
855 * svg/SVGGradientElement.cpp:
856 (WebCore::SVGGradientElement::parseMappedAttribute):
857 * svg/SVGGradientElement.h:
858 * svg/SVGLinearGradientElement.cpp:
859 (WebCore::SVGLinearGradientElement::collectGradientProperties):
860 * svg/SVGRadialGradientElement.cpp:
861 (WebCore::SVGRadialGradientElement::collectGradientProperties):
862 * svg/graphics/SVGPaintServerGradient.cpp:
863 (WebCore::operator<<):
864 (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
865 (WebCore::SVGPaintServerGradient::spreadMethod):
866 (WebCore::SVGPaintServerGradient::setGradientSpreadMethod):
867 (WebCore::SVGPaintServerGradient::externalRepresentation):
868 * svg/graphics/SVGPaintServerGradient.h:
869 * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
870 (WebCore::SVGPaintServerGradient::setup):
871 * svg/graphics/qt/SVGPaintServerGradientQt.cpp:
872 (WebCore::SVGPaintServerGradient::setup):
874 2008-10-09 Darin Fisher <darin@chromium.org>
876 Reviewed by Sam Weinig.
878 Make pan scrolling a platform configurable option
879 https://bugs.webkit.org/show_bug.cgi?id=21515
881 * page/EventHandler.cpp:
882 (WebCore::EventHandler::handleAutoscroll):
883 (WebCore::EventHandler::autoscrollTimerFired):
884 (WebCore::EventHandler::stopAutoscrollTimer):
885 (WebCore::EventHandler::handleMousePressEvent):
886 (WebCore::EventHandler::keyEvent):
888 2008-10-10 Darin Fisher <darin@chromium.org>
890 Reviewed by Darin Adler.
892 Add some PLATFORM(CHROMIUM) ifdefs to WebCore
893 https://bugs.webkit.org/show_bug.cgi?id=21511
895 * loader/FTPDirectoryDocument.cpp:
896 * loader/FTPDirectoryParser.cpp:
897 * loader/FrameLoader.cpp:
898 (WebCore::FrameLoader::finishedLoadingDocument):
899 * platform/ContextMenuItem.h:
901 * platform/DragData.h:
902 * platform/DragImage.h:
903 * platform/Pasteboard.h:
904 * platform/PlatformKeyboardEvent.h:
905 (WebCore::PlatformKeyboardEvent::isSystemKey):
906 * platform/PlatformMenuDescription.h:
907 * platform/PlatformMouseEvent.h:
908 * platform/PlatformWheelEvent.h:
909 * platform/PopupMenu.h:
910 * platform/ScrollView.h:
912 * platform/network/NetworkStateNotifier.h:
914 2008-10-14 Chris Marrin <cmarrin@apple.com>
916 Reviewed by Darin Adler.
918 Fixed https://bugs.webkit.org/show_bug.cgi?id=21490
919 Optimize keyframe style sheet changes by avoiding styleSheetChanged()
921 Test: css3/change-keyframes.html
923 * css/WebKitCSSKeyframesRule.cpp:
924 (WebCore::WebKitCSSKeyframesRule::append):
925 (WebCore::WebKitCSSKeyframesRule::deleteRule):
927 2008-10-14 David Hyatt <hyatt@apple.com>
929 https://bugs.webkit.org/show_bug.cgi?id=21595
931 Clean up background and overflow propagation from the body to the viewport. Make it match the
932 latest CSS2.1 spec thinking.
934 Reviewed by Adam Roben
936 Added many tests at fast/body-propagation/. These are Simon Pieters' tests of propagation handling
937 (available at http://simon.html5.org/test/css/magic-body/).
940 (WebCore::Document::body):
941 * page/FrameView.cpp:
942 (WebCore::FrameView::layout):
943 * rendering/RenderBox.cpp:
944 (WebCore::RenderBox::styleDidChange):
945 (WebCore::RenderBox::paintRootBoxDecorations):
946 (WebCore::RenderBox::paintBoxDecorations):
947 (WebCore::RenderBox::repaintLayerRectsForImage):
949 2008-10-14 Dimitri Glazkov <dglazkov@chromium.org>
951 Reviewed and landed by Sam Weinig.
953 Due to change in spec (http://dev.w3.org/2006/webapi/selectors-api/#namespace),
954 remove NSResolver code, leaving only checking for selectors that need
955 NS resolution and throwing a coresponding error.
958 * WebCore.vcproj/WebCore.vcproj:
959 * WebCore.xcodeproj/project.pbxproj:
960 * WebCoreSources.bkl:
961 * bindings/js/JSDocumentCustom.cpp:
962 * bindings/js/JSDocumentFragmentCustom.cpp:
963 * bindings/js/JSElementCustom.cpp:
964 * bindings/js/JSNSResolver.cpp: Removed.
965 * bindings/js/JSNSResolver.h: Removed.
967 * dom/DocumentFragment.idl:
969 * dom/NSResolver.h: Removed.
970 * dom/NSResolver.idl: Removed.
973 (WebCore::forEachTagSelector):
974 (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
975 (WebCore::selectorNeedsNamespaceResolution):
976 (WebCore::Node::querySelector):
977 (WebCore::Node::querySelectorAll):
979 2008-10-14 Darin Adler <darin@apple.com>
981 Reviewed by Sam Weinig (all but the FormDataListItem rename).
983 - https://bugs.webkit.org/show_bug.cgi?id=21593
984 Bug 21593: add multiple-file support to HTMLFormElement
986 * html/FormDataList.cpp: Removed appendFile since it's now inline.
987 Also took incorrect old copyrights off of this file that are left
988 over from when it was split.
989 * html/FormDataList.h: Ditto. Renamed FormDataListItem to Item and
990 made it a member of FormDataList. Changed it to hold a File object
991 instead of a path. And made its data members private. Changed
992 FormDataList::appendFile accordingly.
994 * html/HTMLFormElement.cpp:
995 (WebCore::HTMLFormElement::formData): Updated for above changes.
996 Removed the code that special-cases HTMLInputElement, because now
997 the FormDataListItem has everything we need. And if there are
998 multiple files, we'll get multiple list items for them.
1000 * html/HTMLInputElement.cpp:
1001 (WebCore::HTMLInputElement::appendFormData): Changed the code for
1002 <input type=file> to use File objects instead of path strings and
1003 also to append multiple files if the file list has them.
1005 2008-10-14 Tor Arne Vestbø <tavestbo@trolltech.com>
1009 Fix QtWebKit scrollbar painting errors
1011 * platform/qt/ScrollbarThemeQt.cpp:
1012 (WebCore::ScrollbarThemeQt::paint):
1013 (WebCore::ScrollbarThemeQt::paintScrollCorner):
1015 2008-10-14 Tor Arne Vestbø <tavestbo@trolltech.com>
1019 Fix scrollbar arrows for horizontal scrollbars
1021 * platform/qt/ScrollbarThemeQt.cpp:
1022 (WebCore::styleOptionSlider):
1024 2008-10-14 Tor Arne Vestbø <tavestbo@trolltech.com>
1028 Use style-painter to draw scrollbars in ScrollbarThemeQt
1030 This has the benefit of setting up the painter properly without
1031 antialiasing and saving and restoring the brush. It also ensures
1032 that we use the style of the QWebView over the QApplication style
1035 * platform/qt/RenderThemeQt.cpp:
1036 (WebCore::StylePainter::StylePainter):
1037 (WebCore::StylePainter::init):
1038 * platform/qt/RenderThemeQt.h:
1039 * platform/qt/ScrollbarThemeQt.cpp:
1040 (WebCore::ScrollbarThemeQt::paint):
1042 2008-10-13 David Hyatt <hyatt@apple.com>
1044 Add support for CSS transitions on some SVG properties. This patch is intended to be a guideline
1045 for how to add support for the rest.
1047 Reviewed by Oliver Hunt
1049 * page/animation/AnimationBase.cpp:
1050 (WebCore::ensurePropertyMap):
1051 * rendering/style/RenderStyle.h:
1052 (WebCore::RenderStyle::fillOpacity):
1053 (WebCore::RenderStyle::setFillOpacity):
1054 (WebCore::RenderStyle::strokeOpacity):
1055 (WebCore::RenderStyle::setStrokeOpacity):
1056 (WebCore::RenderStyle::floodOpacity):
1057 (WebCore::RenderStyle::setFloodOpacity):
1059 2008-10-13 David Hyatt <hyatt@apple.com>
1061 <rdar://problem/6289712> REGRESSION(r37432-37490): Scroll bar is not drawn in Bookmark View, Preferences sheets.
1063 Fix for disabled scrollbars not painting in Windows Safari. Make sure that the Windows theme
1064 implements paintTrackBackground so that when the thumb is not present the track still paints.
1066 Reviewed by Oliver Hunt
1068 * platform/ScrollbarThemeComposite.cpp:
1069 (WebCore::ScrollbarThemeComposite::paint):
1070 * platform/win/ScrollbarThemeWin.cpp:
1071 (WebCore::ScrollbarThemeWin::paintTrackBackground):
1072 * platform/win/ScrollbarThemeWin.h:
1074 2008-10-13 David Hyatt <hyatt@apple.com>
1076 Fix over-invalidation of native scrollbars.
1078 Reviewed by Oliver Hunt
1080 * platform/Scrollbar.h:
1081 (WebCore::Scrollbar::styleChanged):
1082 * platform/mac/ScrollbarThemeMac.mm:
1083 (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
1084 * rendering/RenderScrollbar.cpp:
1085 (WebCore::RenderScrollbar::styleChanged):
1087 2008-10-13 Alp Toker <alp@nuanti.com>
1089 Fix autotools dist build target by listing recently added header
1090 files only. Not reviewed.
1094 2008-10-13 Mark Rowe <mrowe@apple.com>
1096 Reviewed by Brady Eidson.
1098 Don't run a SQLite query on every iteration of the sync thread when the query
1099 will touch a large portion of the icon database while performing no useful work.
1101 * loader/icon/IconDatabase.cpp:
1102 (WebCore::IconDatabase::writeToDatabase): Don't call checkForDanglingPageURLs unless
1103 we modified the database.
1104 (WebCore::IconDatabase::checkForDanglingPageURLs): Don't do any work in a release build
1105 unless we've been asked to prune any dangling pageURLs that we find.
1107 2008-10-13 Maciej Stachowiak <mjs@apple.com>
1109 Rubber stamped by Mark Rowe.
1111 - use gcc 4.2 when building with Xcode 3.1 or newer on Leopard, even though this is not the default
1113 * Configurations/DebugRelease.xcconfig:
1115 2008-10-13 David Hyatt <hyatt@apple.com>
1117 Make dropdown lists on Windows work with CSS custom scrollbars.
1121 * platform/PopupMenu.h:
1122 (WebCore::PopupMenu::scrollbarCornerPresent):
1123 * platform/PopupMenuClient.h:
1124 * platform/win/PopupMenuWin.cpp:
1125 (WebCore::PopupMenu::show):
1126 * rendering/RenderMenuList.cpp:
1127 (WebCore::RenderMenuList::createScrollbar):
1128 * rendering/RenderMenuList.h:
1129 * rendering/RenderTextControl.cpp:
1130 (WebCore::RenderTextControl::createScrollbar):
1131 * rendering/RenderTextControl.h:
1133 2008-10-13 Chris Fleizach <cfleizach@apple.com>
1135 Reviewed by Beth Dakin.
1137 <rdar://problem/6271864> Links from image maps not being included in AXLinkUIElements
1139 Links from image maps were not being included in the web area's AXLinkUIElements attribute.
1140 The position of image map links was being reported incorrectly and the parent-chain
1141 hierarchy for image map links was incorrect because image map links did not have a reference
1142 to their parent image.
1144 Test: accessibility/document-links.html
1146 * page/AccessibilityImageMapLink.cpp:
1147 (WebCore::AccessibilityImageMapLink::parentObject):
1148 (WebCore::AccessibilityImageMapLink::actionElement):
1149 (WebCore::AccessibilityImageMapLink::elementRect):
1150 * page/AccessibilityImageMapLink.h:
1151 (WebCore::AccessibilityImageMapLink::setHTMLMapElement):
1152 (WebCore::AccessibilityImageMapLink::setParent):
1153 * page/AccessibilityObject.cpp:
1154 * page/AccessibilityObject.h:
1155 * page/AccessibilityRenderObject.cpp:
1156 (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
1157 (WebCore::AccessibilityRenderObject::getDocumentLinks):
1158 (WebCore::AccessibilityRenderObject::addChildren):
1159 * page/AccessibilityRenderObject.h:
1160 * page/mac/AccessibilityObjectWrapper.mm:
1161 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
1163 2008-10-13 David Hyatt <hyatt@apple.com>
1165 Make RenderListBox work with CSS scrollbars. Refactoring this code to support creation/destruction in
1166 the same way RenderLayer does also fixes a bug where the PLT would assert on the next-to-last page (no
1167 idea how to make a test case for that, though, since I couldn't repro without running the whole PLT).
1169 Reviewed by Tim Hatcher
1171 Added scrollbars/listbox-scrollbar-combinations.html
1173 * rendering/RenderListBox.cpp:
1174 (WebCore::RenderListBox::~RenderListBox):
1175 (WebCore::RenderListBox::updateFromElement):
1176 (WebCore::RenderListBox::createScrollbar):
1177 (WebCore::RenderListBox::destroyScrollbar):
1178 (WebCore::RenderListBox::setHasVerticalScrollbar):
1179 * rendering/RenderListBox.h:
1181 2008-10-13 David Hyatt <hyatt@apple.com>
1183 In order to always match the :corner-present pseudo-class properly, delay initial updating of
1184 scrollbar styles until the layer has the scrollbars in its member variables.
1186 Reviewed by Tim Hatcher
1188 * rendering/RenderLayer.cpp:
1189 (WebCore::RenderLayer::setHasHorizontalScrollbar):
1190 (WebCore::RenderLayer::setHasVerticalScrollbar):
1191 * rendering/RenderScrollbar.cpp:
1192 (WebCore::RenderScrollbar::RenderScrollbar):
1194 2008-10-13 Sam Weinig <sam@webkit.org>
1196 Reviewed by Dan Bernstein.
1198 Fix for https://bugs.webkit.org/show_bug.cgi?id=21577
1199 5 false positive StructureID leaks
1201 In WebCore, we intentionally leak the common JSGlobalData which in turn
1202 leaks 5 StructureIDs. Use the new JSGlobalData::createLeaked in order to
1203 ignore the StructureIDs leaked within.
1205 * bindings/js/JSDOMWindowBase.cpp:
1206 (WebCore::JSDOMWindowBase::commonJSGlobalData):
1208 2008-10-13 David Hyatt <hyatt@apple.com>
1210 Add support for the :corner-present pseudoclass, which enables scrollbar pieces to change their
1211 artwork based on whether there is a scrollbar corner present.
1213 Reviewed by Tim Hatcher
1215 * css/CSSSelector.cpp:
1216 (WebCore::CSSSelector::extractPseudoType):
1217 * css/CSSSelector.h:
1218 (WebCore::CSSSelector::):
1219 * css/CSSStyleSelector.cpp:
1220 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
1221 * platform/ScrollView.cpp:
1222 (WebCore::ScrollView::scrollbarCornerPresent):
1223 * platform/ScrollView.h:
1224 * platform/ScrollbarClient.h:
1225 * rendering/RenderLayer.cpp:
1226 (WebCore::cornerRect):
1227 (WebCore::scrollCornerRect):
1228 (WebCore::resizerCornerRect):
1229 (WebCore::RenderLayer::scrollbarCornerPresent):
1230 (WebCore::RenderLayer::setHasHorizontalScrollbar):
1231 (WebCore::RenderLayer::setHasVerticalScrollbar):
1232 * rendering/RenderLayer.h:
1233 (WebCore::RenderLayer::horizontalScrollbar):
1234 (WebCore::RenderLayer::verticalScrollbar):
1235 * rendering/RenderListBox.h:
1236 (WebCore::RenderListBox::scrollbarCornerPresent):
1238 2008-10-13 David Hyatt <hyatt@apple.com>
1240 Make resizers and scrollbar corners respect :window-inactive (one more bug fix and then Tim's master
1241 test case for all this can land).
1243 Reviewed by Tim Hatcher
1245 * css/CSSStyleSelector.cpp:
1246 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
1247 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
1248 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
1249 * rendering/RenderLayer.cpp:
1250 (WebCore::RenderLayer::paintOverflowControls):
1251 (WebCore::RenderLayer::paintScrollCorner):
1252 (WebCore::RenderLayer::paintResizer):
1253 (WebCore::RenderLayer::styleChanged):
1254 (WebCore::RenderLayer::updateScrollCornerStyle):
1255 (WebCore::RenderLayer::updateResizerStyle):
1256 * rendering/RenderLayer.h:
1257 * rendering/RenderScrollbar.cpp:
1258 (WebCore::RenderScrollbar::paint):
1259 * rendering/RenderScrollbarPart.cpp:
1260 (WebCore::RenderScrollbarPart::paintIntoRect):
1262 2008-10-13 David Hyatt <hyatt@apple.com>
1264 Rework resizer and scroll corner painting so that custom resizers and scroll corners will paint
1265 and invalidate properly as images load, etc.
1267 Reviewed by Tim Hatcher
1269 * rendering/RenderLayer.cpp:
1270 (WebCore::cornerRect):
1271 (WebCore::scrollCornerRect):
1272 (WebCore::resizerCornerRect):
1273 (WebCore::RenderLayer::positionOverflowControls):
1274 (WebCore::RenderLayer::paintOverflowControls):
1275 (WebCore::RenderLayer::paintScrollCorner):
1276 (WebCore::RenderLayer::paintResizer):
1277 (WebCore::RenderLayer::isPointInResizeControl):
1278 (WebCore::RenderLayer::hitTestOverflowControls):
1279 (WebCore::RenderLayer::styleChanged):
1280 * rendering/RenderLayer.h:
1281 * rendering/RenderObject.h:
1282 (WebCore::RenderObject::setRect):
1283 * rendering/RenderScrollbarPart.cpp:
1284 (WebCore::RenderScrollbarPart::styleDidChange):
1285 (WebCore::RenderScrollbarPart::imageChanged):
1287 2008-10-13 Marco Barisione <marco.barisione@collabora.co.uk>
1289 Reviewed by Darin Adler. Landed by Jan Alonzo.
1291 WebKit GTK Port needs a smartpointer to handle g_free (GFreePtr?)
1292 http://bugs.webkit.org/show_bug.cgi?id=20483
1294 Start the conversion to use GOwnPtr and fix a memory leak.
1296 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
1297 (WebCore::mediaPlayerPrivateErrorCallback):
1299 2008-10-12 Jon Honeycutt <jhoneycutt@apple.com>
1303 * loader/TextResourceDecoder.cpp:
1305 2008-10-12 Darin Fisher <darin@chromium.org>
1307 Reviewed by Darin Adler.
1309 - fix https://bugs.webkit.org/show_bug.cgi?id=21229
1310 Bug 21229: NetworkStateNotifier.h lacks a #include <windows.h> for PLATFORM(WIN)
1312 * platform/network/NetworkStateNotifier.h: Add the #include.
1314 2008-10-12 Darin Adler <darin@apple.com>
1316 Based on work by Holger Freyther.
1318 - part of https://bugs.webkit.org/show_bug.cgi?id=20953
1319 Split WidthIterator into its own source file.
1321 * GNUmakefile.am: Added new source files.
1322 * WebCore.vcproj/WebCore.vcproj: Ditto.
1323 * WebCore.xcodeproj/project.pbxproj: Ditto.
1324 * WebCoreSources.bkl: Ditto.
1326 * platform/graphics/Font.cpp: Use WidthIterator from its new place.
1327 * platform/graphics/WidthIterator.cpp: Added.
1328 * platform/graphics/WidthIterator.h: Added.
1330 2008-10-12 Tony Chang <tony@chromium.org>
1332 Reviewed by Sam Weinig.
1334 - https://bugs.webkit.org/show_bug.cgi?id=21480
1335 Remove duplicate definitions of MimeClassInfo and PluginInfo.
1337 * plugins/PluginInfoStore.cpp: Added an include.
1338 * plugins/PluginInfoStore.h: Removed struct declarations.
1340 2008-10-12 Darin Adler <darin@apple.com>
1342 Reviewed by Dan Bernstein.
1344 - https://bugs.webkit.org/show_bug.cgi?id=21563
1345 Bug 21563: platform Gradient class should not use the CSS parser
1347 * platform/graphics/Gradient.cpp: Removed the overload of addColorStop
1348 that accepts a CSS color string. That's handled in the DOM now, not here.
1349 (WebCore::Gradient::addColorStop): Use getRGBA instead of having our own
1351 * platform/graphics/Gradient.h: More of the same. Tweak formatting a bit.
1353 2008-10-12 Glenn Wilson <gwilson@google.com>
1355 Reviewed by Darin Adler.
1357 - https://bugs.webkit.org/show_bug.cgi?id=20461
1359 Added feature to allow multi-line inputs into text fields.
1360 HTMLInputElement would cut the set text at the first 'system' character,
1361 so it would truncate at the first carriage return or newline.
1362 This fix modifies that behavior to truncate at any non-space system character
1363 but changes \r, \n, and \r\n to a single space.
1365 Tests: editing/pasteboard/paste-multiline-text-input.html
1367 * html/HTMLInputElement.cpp:
1368 (WebCore::HTMLInputElement::constrainValue):
1370 2008-10-12 Dirk Schulze <vbs85@gmx.de>
1372 Reviewed by Eric Seidel.
1374 - https://bugs.webkit.org/show_bug.cgi?id=20435
1376 Added exception codes to canvas gradients to match current specification.
1378 Tests: fast/canvas/gradient-addColorStop-with-invalid-color.html
1379 fast/canvas/linearGradient-infinite-values.html
1380 fast/canvas/radialGradient-infinite-values.html
1382 * html/CanvasGradient.cpp:
1383 (WebCore::CanvasGradient::addColorStop):
1384 * html/CanvasGradient.h:
1385 * html/CanvasGradient.idl:
1386 * html/CanvasRenderingContext2D.cpp:
1387 (WebCore::CanvasRenderingContext2D::createLinearGradient):
1388 (WebCore::CanvasRenderingContext2D::createRadialGradient):
1389 * html/CanvasRenderingContext2D.h:
1390 * html/CanvasRenderingContext2D.idl:
1392 2008-10-12 Eric Roman <eroman@chromium.org>
1394 - https://bugs.webkit.org/show_bug.cgi?id=20246
1395 Implement RenderThemeWin::systemColor() to match Windows colors.
1397 Reviewed by David Hyatt.
1399 * rendering/RenderThemeWin.cpp:
1400 (WebCore::cssValueIdToSysColorIndex):
1401 (WebCore::RenderThemeWin::systemColor):
1402 * rendering/RenderThemeWin.h:
1404 2008-10-12 Aaron Bockover <abockover@novell.com>
1406 Reviewed by Alp Toker.
1408 Add version parsing for Flash, and the PluginQuirkDontSetNullWindowHandleOnDestroy
1409 plugin quirk if Flash 10 or newer since at least in b218, setting a NULL window
1410 handler on destroy crashes WebKit <https://bugs.webkit.org/show_bug.cgi?id=19859>
1412 * plugins/gtk/PluginPackageGtk.cpp:
1414 2008-10-12 Jonathon Jongsma <jonathon.jongsma@collabora.co.uk>
1416 Reviewed by Oliver Hunt.
1418 - https://bugs.webkit.org/show_bug.cgi?id=19331
1419 <rdar://problem/5984433>: Drag and drop of links in edit mode violates assert in MoveSelectionCommand::doApply()
1421 * page/DragController.cpp:
1422 (WebCore::DragController::startDrag): When a link is dragged without any
1423 text selected (note: for this to work, the EditableLinkBehavior setting must be
1424 set to 'live' or 'default') and then dropped into an editable html document it
1425 will eventually violate an ASSERT in MoveSelectionCommand that requires that there
1426 is a selection. To prevent this, expand the selection to the enclosing anchor tag
1427 when the drag begins.
1429 2008-10-12 Darin Adler <darin@apple.com>
1431 Reviewed by Mark Rowe.
1433 - fix https://bugs.webkit.org/show_bug.cgi?id=21557
1434 Bug 21557: REGRESSION: generated-layer-scrollbar-crash.html is crashing
1436 * rendering/RenderObject.cpp:
1437 (WebCore::RenderObject::getPseudoStyle): Keep walking up the parent chain
1438 until we hit an Element. Nowadays, Node::isElementNode() is just as efficient
1439 as RenderObject::isText(), and this guarantees that the node can be cast to
1440 Element*, which is done just below. The reason this is hit is that RenderLayer
1441 can call getPseudoStyle on a RenderView, which has the document as its
1442 element() -- and a document is neither a Text node nor an Element. A loose
1443 end is that this seems to mean you can't style the scrollbar corner or the
1444 resizer on a RenderView. Hyatt may want to look into that later.
1446 2008-10-12 Darin Adler <darin@apple.com>
1448 Reviewed by Sam Weinig.
1450 - https://bugs.webkit.org/show_bug.cgi?id=21556
1451 Bug 21556: non-ASCII digits are allowed in places where only ASCII should be
1453 Tests: fast/dom/HTMLFontElement/size-attribute.html
1454 fast/dom/HTMLInputElement/size-attribute.html
1455 fast/dom/HTMLTableElement/cellpadding-attribute.html
1457 * html/HTMLFontElement.cpp:
1458 (WebCore::parseFontSizeNumber): Use isASCIIDigit instead of
1459 Unicode::isDigit, since non-ASCII digits are not valid here.
1460 * html/HTMLFontElement.h: Tweaked formatting a bit and removed
1461 the unneeded destructor declaration.
1462 * platform/text/String.cpp:
1463 (WebCore::lengthOfCharactersAsInteger): Use isASCIIDigit instead
1464 of Unicode::isDigit, since non-ASCII digits are not valid.
1466 2008-10-12 Jungshik Shin <jshin@chromium.org>
1468 Reviewed by Darin Adler.
1470 Treat x-user-defined as windows-1252 for html files with meta charset
1471 declaration to be compatible with Indian web sites.
1472 ( https://bugs.webkit.org/show_bug.cgi?id=18270 )
1474 Test: fast/encoding/charset-xuser-defined.html
1476 * loader/TextResourceDecoder.cpp:
1477 (WebCore::TextResourceDecoder::setEncoding):
1479 2008-10-12 Sam Weinig <sam@webkit.org>
1481 Reviewed by Dan Bernstein.
1483 Remove unneeded forward declaration.
1485 * platform/graphics/ImageBuffer.h:
1487 2008-10-12 Sam Weinig <sam@webkit.org>
1489 Reviewed by Darin Adler.
1491 Fix for https://bugs.webkit.org/show_bug.cgi?id=21560
1492 Layering violation: String should not be responsible for creating Lengths
1494 It was a layering violation for String to know haw to parse
1495 into Lengths, LengthArrays, and CoordsArrays.
1499 * WebCore.vcproj/WebCore.vcproj:
1500 * WebCore.xcodeproj/project.pbxproj:
1501 * WebCoreSources.bkl:
1502 * html/HTMLAreaElement.cpp:
1503 (WebCore::HTMLAreaElement::parseMappedAttribute):
1504 * html/HTMLFrameSetElement.cpp:
1505 (WebCore::HTMLFrameSetElement::parseMappedAttribute):
1506 * platform/text/AtomicString.h:
1507 (WebCore::AtomicString::percentage):
1508 * platform/text/PlatformString.h:
1509 * platform/text/String.cpp:
1510 * platform/text/StringImpl.cpp:
1511 * platform/text/StringImpl.h:
1512 * rendering/Length.cpp: Added.
1513 (WebCore::parseLength):
1514 (WebCore::countCharacter):
1515 (WebCore::newCoordsArray):
1516 (WebCore::newLengthArray):
1517 * rendering/Length.h:
1518 (WebCore::LengthSize::LengthSize):
1520 2008-10-12 Brad Garcia <bgarcia@google.com>
1522 Reviewed by Darin Adler.
1524 Interpret fractional percentage values for %MultiLength values.
1525 Fix for https://bugs.webkit.org/show_bug.cgi?id=3591
1526 Test: fast/frames/frame-length-fractional-percentage.html
1528 * platform/text/StringImpl.cpp:
1529 (WebCore::parseLength):
1531 2008-10-12 Timothy Hatcher <timothy@apple.com>
1533 Remember the expanded state of the rules in the Styles pane. So
1534 collapsing a rule will persist across all the elements that have
1535 that same rule. The same applies to Computed Style, so the Computed
1536 Style rule is now collapsed by default. This should help lessen the
1537 confusion on why Computed Style can't be edited (a common confusion.)
1539 https://bugs.webkit.org/show_bug.cgi?id=21553
1541 Reviewed by Darin Adler.
1543 * inspector/front-end/PropertiesSection.js:
1544 (WebInspector.PropertiesSection): Set the _expanded property directly,
1545 instead of using the setter. Expanded is the default, so no work is needed.
1546 This prevents calling StylesSidebarPane.collapse before object initialization
1548 * inspector/front-end/StylesSidebarPane.js:
1549 (WebInspector.StylesSidebarPane.prototype.update): Check the Preferences object
1550 for the expanded state of the StylePropertiesSection. Collapse computed style
1551 by default and expand everything else.
1552 (WebInspector.StylePropertiesSection): Make a semi unique identifier to be used
1553 when remembering expanded state.
1554 (WebInspector.StylePropertiesSection.prototype.expand): Set the expanded state
1555 to true for this identifier in Preferences.styleRulesExpandedState. Don't remember
1556 the state if the dontRememberState property is true.
1557 (WebInspector.StylePropertiesSection.prototype.collapse): Set the expanded state
1558 to false for this identifier in Preferences.styleRulesExpandedState.
1559 * inspector/front-end/inspector.js:
1560 (Preferences.styleRulesExpandedState): Initialize to an empty object.
1562 2008-10-12 Jan Michael Alonzo <jmalonzo@webkit.org>
1564 Reviewed by Alp Toker.
1566 [Gtk] Remove libWebCoreJS.la when doing make clean
1567 https://bugs.webkit.org/show_bug.cgi?id=21544
1569 Remove libWebCoreJS.la when doing a clean target
1571 * GNUmakefile.am: add libWebCoreJS.la to CLEANFILES
1573 2008-10-11 Alp Toker <alp@nuanti.com>
1575 Reviewed by Darin Adler.
1577 https://bugs.webkit.org/show_bug.cgi?id=20592
1578 The focus ring is not shown while navigating on some pages
1580 Fix drawFocusRing() so it doesn't depend on the current graphics
1581 state, thus matching other platforms which already work this way.
1583 This patch provides two code paths: one using straight Cairo and
1584 one specialised for the GTK+ port with a more conventional appearance.
1586 Also change focusRingColor() to return a null color, allowing the
1587 focus ring to pick up the style's current color if it isn't overridden
1590 * platform/graphics/cairo/GraphicsContextCairo.cpp:
1591 (WebCore::GraphicsContext::drawFocusRing):
1592 * platform/gtk/TemporaryLinkStubs.cpp:
1593 (WebCore::focusRingColor):
1595 2008-10-11 Dan Bernstein <mitz@apple.com>
1597 Rubber-stamped by Sam Weinig.
1599 - change all internal callers to use Cache::evict() instead of remove()
1602 (WebCore::Cache::revalidateResource):
1603 (WebCore::Cache::revalidationSucceeded):
1604 (WebCore::Cache::pruneDeadResources):
1605 (WebCore::Cache::setDisabled):
1607 2008-10-11 David Hyatt <hyatt@apple.com>
1609 Make sure invalidatePart knows how to invalidate the track and scrollbar backgrounds.
1611 Reviewed by Tim Hatcher
1613 * platform/ScrollbarThemeComposite.cpp:
1614 (WebCore::ScrollbarThemeComposite::invalidatePart):
1616 2008-10-11 David Hyatt <hyatt@apple.com>
1618 https://bugs.webkit.org/show_bug.cgi?id=21549 (regression in before/after track pieces).
1620 Also fixed resizer positioning problems.
1622 Reviewed by Tim Hatcher
1624 * platform/ScrollbarThemeComposite.cpp:
1625 (WebCore::ScrollbarThemeComposite::splitTrack):
1626 (WebCore::ScrollbarThemeComposite::trackPosition):
1627 (WebCore::ScrollbarThemeComposite::trackLength):
1628 * platform/ScrollbarThemeComposite.h:
1629 (WebCore::ScrollbarThemeComposite::constrainTrackRectToTrackPieces):
1630 * rendering/RenderLayer.cpp:
1631 (WebCore::scrollCornerRect):
1632 (WebCore::RenderLayer::positionOverflowControls):
1633 (WebCore::RenderLayer::paintOverflowControls):
1634 (WebCore::RenderLayer::isPointInResizeControl):
1635 (WebCore::RenderLayer::hitTestOverflowControls):
1636 * rendering/RenderScrollbarTheme.cpp:
1637 (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
1638 * rendering/RenderScrollbarTheme.h:
1640 2008-10-11 Alp Toker <alp@nuanti.com>
1642 Reviewed by David Hyatt.
1644 Implement release/retain for Widget GTK+.
1646 * platform/Widget.cpp:
1647 * platform/gtk/WidgetGtk.cpp:
1648 (WebCore::Widget::~Widget):
1649 (WebCore::Widget::releasePlatformWidget):
1650 (WebCore::Widget::retainPlatformWidget):
1652 2008-10-11 Dan Bernstein <mitz@apple.com>
1654 Reviewed by Sam Weinig.
1656 - rename WebCoreSetAlwaysUseATSU to WebCoreSetAlwaysUsesComplexTextCodePath
1657 and add a corresponding getter; add the same functions on Windows
1660 * platform/graphics/Font.cpp:
1661 (WebCore::Font::setCodePath):
1662 (WebCore::codePath):
1663 (WebCore::Font::canUseGlyphCache):
1664 * platform/graphics/Font.h:
1665 * platform/mac/WebCoreTextRenderer.h:
1666 * platform/mac/WebCoreTextRenderer.mm:
1667 (WebCoreSetAlwaysUsesComplexTextCodePath):
1668 (WebCoreAlwaysUsesComplexTextCodePath):
1669 * platform/win/WebCoreTextRenderer.cpp:
1670 (WebCore::WebCoreSetAlwaysUsesComplexTextCodePath):
1671 (WebCore::WebCoreAlwaysUsesComplexTextCodePath):
1672 * platform/win/WebCoreTextRenderer.h:
1674 2008-10-11 Sam Weinig <sam@webkit.org>
1676 Reviewed by Cameron Zwarich.
1678 Stop leaking the event parameter names. The protected strings were showing up
1679 in the caches window after one use. No measurable performance loss.
1681 * bindings/js/JSEventListener.cpp:
1682 (WebCore::eventParameterName):
1684 2008-10-11 Sam Weinig <sam@webkit.org>
1686 Reviewed by Cameron Zwarich.
1688 Remove unused function getNodeEventListener.
1690 * bindings/js/JSEventListener.cpp:
1691 * bindings/js/JSEventListener.h:
1693 2008-10-11 David Hyatt <hyatt@apple.com>
1695 Add support for both positive and negative margins to tracks and track pieces.
1697 Reviewed by Tim Hatcher
1699 * platform/ScrollbarThemeComposite.cpp:
1700 (WebCore::ScrollbarThemeComposite::paint):
1701 (WebCore::ScrollbarThemeComposite::hitTest):
1702 (WebCore::ScrollbarThemeComposite::splitTrack):
1703 (WebCore::ScrollbarThemeComposite::trackPieceRects):
1704 (WebCore::ScrollbarThemeComposite::trackPosition):
1705 (WebCore::ScrollbarThemeComposite::trackLength):
1706 * platform/ScrollbarThemeComposite.h:
1707 (WebCore::ScrollbarThemeComposite::adjustTrackPieceRect):
1708 * rendering/RenderScrollbar.cpp:
1709 (WebCore::RenderScrollbar::trackRect):
1710 (WebCore::RenderScrollbar::trackPieceRectWithMargins):
1711 * rendering/RenderScrollbar.h:
1712 * rendering/RenderScrollbarPart.cpp:
1713 (WebCore::RenderScrollbarPart::computeScrollbarWidth):
1714 (WebCore::RenderScrollbarPart::computeScrollbarHeight):
1715 * rendering/RenderScrollbarTheme.cpp:
1716 (WebCore::RenderScrollbarTheme::adjustTrackPieceRect):
1717 * rendering/RenderScrollbarTheme.h:
1719 2008-10-10 David Hyatt <hyatt@apple.com>
1721 Drop -webkit-scrollbar- from all the scrollbar pseudo-classes, since they are scoped to
1722 the scrollbar pseudo-elements anyway.
1724 Reviewed by Tim Hatcher
1726 * css/CSSSelector.cpp:
1727 (WebCore::CSSSelector::extractPseudoType):
1728 * css/CSSSelector.h:
1729 (WebCore::CSSSelector::):
1730 * css/CSSStyleSelector.cpp:
1731 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
1733 2008-10-10 Dan Bernstein <mitz@apple.com>
1735 Reviewed by Sam Weinig.
1737 - separate Cache::remove() into a private method and a public interface,
1738 then make Cache::pruneDeadResources() use the private method.
1741 (WebCore::Cache::pruneDeadResources):
1742 (WebCore::Cache::evict):
1744 (WebCore::Cache::remove):
1746 2008-10-10 David Hyatt <hyatt@apple.com>
1748 Fix a math error when splitting a vertical track. Clean up more of ScrollbarThemeComposite
1749 now that the track pieces meet under the thumb.
1751 Reviewed by Tim Hatcher
1753 * platform/ScrollbarThemeComposite.cpp:
1754 (WebCore::ScrollbarThemeComposite::paint):
1755 (WebCore::ScrollbarThemeComposite::splitTrack):
1757 2008-10-10 David Hyatt <hyatt@apple.com>
1759 Make the track pieces of a scrollbar extend under the thumb (each gets half the thumb).
1761 Reviewed by Tim Hatcher
1763 * platform/ScrollbarThemeComposite.cpp:
1764 (WebCore::ScrollbarThemeComposite::hitTest):
1765 (WebCore::ScrollbarThemeComposite::splitTrack):
1767 2008-10-10 David Hyatt <hyatt@apple.com>
1769 Make sure specialized ::scrollbar rules are still triggering custom scrollbar creation.
1771 Reviewed by Tim Hatcher
1773 * rendering/RenderLayer.cpp:
1774 (WebCore::RenderLayer::createScrollbar):
1775 * rendering/RenderScrollbar.cpp:
1776 (WebCore::RenderScrollbar::createCustomScrollbar):
1777 (WebCore::RenderScrollbar::RenderScrollbar):
1778 (WebCore::RenderScrollbar::setParent):
1779 (WebCore::RenderScrollbar::updateScrollbarParts):
1780 (WebCore::RenderScrollbar::updateScrollbarPart):
1781 * rendering/RenderScrollbar.h:
1782 * rendering/style/RenderStyle.h:
1783 (WebCore::RenderStyle::):
1785 2008-10-10 David Hyatt <hyatt@apple.com>
1787 Make sure scrollbar background images cause proper part invalidation to occur.
1789 Reviewed by Tim Hatcher
1791 * rendering/RenderScrollbar.cpp:
1792 (WebCore::RenderScrollbar::setHoveredPart):
1793 (WebCore::RenderScrollbar::setPressedPart):
1794 * rendering/RenderScrollbarPart.cpp:
1795 (WebCore::RenderScrollbarPart::styleDidChange):
1796 (WebCore::RenderScrollbarPart::imageChanged):
1797 * rendering/RenderScrollbarPart.h:
1799 2008-10-10 Simon Fraser <simon.fraser@apple.com>
1801 Reviewed by Darin Adler
1803 https://bugs.webkit.org/show_bug.cgi?id=21538
1805 The blendFunc() for TransformOperations should never mess with the
1806 operation lists by replacing some ops with identity, otherwise the lists
1807 no longer match and transitions break.
1809 Test: transitions/matched-transform-functions.html
1811 * page/animation/AnimationBase.cpp:
1812 (WebCore::blendFunc):
1814 2008-10-10 Simon Fraser <simon.fraser@apple.com>
1816 Reviewed by Darin Adler
1818 https://bugs.webkit.org/show_bug.cgi?id=21537
1820 Fix re-targetting a running transition; if the target property
1821 changes, we do need to make a new ImplicitAnimation.
1823 Test: transitions/retargetted-transition.html
1825 * page/animation/CompositeAnimation.cpp:
1826 (WebCore::CompositeAnimationPrivate::updateTransitions):
1828 2008-10-10 Oliver Hunt <oliver@apple.com>
1830 Reviewed by Cameron Zwarich.
1832 Part of <rdar://problem/6278147> Cannot stop a slow script -- Fix assertion.
1834 When JS is terminated by the user choosing to stop a slow script
1835 the exception toString method throws, yet the console logger does
1836 not perform exception checks after logging. This leaves an
1837 exception on the Machine, which in turn results in an assertion
1838 failure next time we attempt to enter JS. The solution is just to
1839 clear the exception state after attempting to record the exception.
1842 (WebCore::Console::reportException):
1844 2008-10-10 David Hyatt <hyatt@apple.com>
1846 Make textareas work with custom CSS scrollbars and resizers. Need to access the correct renderer
1847 when looking for pseudo styles.
1849 Reviewed by Tim Hatcher
1851 * rendering/RenderLayer.cpp:
1852 (WebCore::RenderLayer::createScrollbar):
1853 (WebCore::RenderLayer::styleChanged):
1855 2008-10-10 David Hyatt <hyatt@apple.com>
1857 Add the ability to style the scroll corner and the resizer from CSS.
1859 Reviewed by Tim Hatcher
1861 * css/CSSSelector.cpp:
1862 (WebCore::CSSSelector::extractPseudoType):
1863 * css/CSSSelector.h:
1864 (WebCore::CSSSelector::):
1865 * css/CSSStyleSelector.cpp:
1866 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
1867 * rendering/RenderLayer.cpp:
1868 (WebCore::RenderLayer::RenderLayer):
1869 (WebCore::RenderLayer::~RenderLayer):
1870 (WebCore::RenderLayer::paintOverflowControls):
1871 (WebCore::RenderLayer::paintScrollCorner):
1872 (WebCore::RenderLayer::paintResizer):
1873 (WebCore::RenderLayer::styleChanged):
1874 * rendering/RenderLayer.h:
1875 * rendering/RenderScrollbar.cpp:
1876 (WebCore::RenderScrollbar::updateScrollbarPart):
1877 (WebCore::RenderScrollbar::paintPart):
1878 * rendering/RenderScrollbarPart.cpp:
1879 (WebCore::RenderScrollbarPart::RenderScrollbarPart):
1880 (WebCore::RenderScrollbarPart::paintIntoRect):
1881 * rendering/RenderScrollbarPart.h:
1882 * rendering/style/RenderStyle.h:
1883 (WebCore::RenderStyle::):
1885 2008-10-10 David Hyatt <hyatt@apple.com>
1887 Make CSS scrollbars respect the OS setting regarding where buttons should be placed.
1889 Reviewed by Sam Weinig
1891 No test case possible, since the OS setting can vary.
1893 * css/CSSSelector.cpp:
1894 (WebCore::CSSSelector::extractPseudoType):
1895 * css/CSSSelector.h:
1896 (WebCore::CSSSelector::):
1897 * css/CSSStyleSelector.cpp:
1898 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
1899 * platform/Scrollbar.h:
1900 (WebCore::Scrollbar::styleChanged):
1901 * platform/mac/ScrollbarThemeMac.mm:
1902 (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
1903 (WebCore::ScrollbarThemeMac::preferencesChanged):
1904 * rendering/RenderLayer.cpp:
1905 (WebCore::RenderLayer::invalidateScrollbarRect):
1906 * rendering/RenderScrollbar.cpp:
1907 (WebCore::RenderScrollbar::styleChanged):
1908 (WebCore::RenderScrollbar::updateScrollbarPart):
1909 * rendering/RenderScrollbar.h:
1910 * rendering/RenderScrollbarTheme.h:
1911 (WebCore::RenderScrollbarTheme::buttonsPlacement):
1913 2008-10-10 Timothy Hatcher <timothy@apple.com>
1915 Fixes a regression with input search fields, where the placeholder text
1916 would not be updated when the value of the placeholder attribute changed.
1918 https://bugs.webkit.org/show_bug.cgi?id=21521
1920 Reviewed by Adele Peterson.
1922 Test: fast/forms/search-placeholder-value-changed.html
1924 * html/HTMLInputElement.cpp:
1925 (WebCore::HTMLInputElement::parseMappedAttribute): Pass true for the
1926 placeholderValueChanged parameter of updatePlaceholderVisibility.
1927 (WebCore::HTMLInputElement::updatePlaceholderVisibility): Add parameter
1928 for placeholderValueChanged that informs the method that the value changed.
1929 * html/HTMLInputElement.h: Add the placeholderValueChanged to the
1930 updatePlaceholderVisibility method. Made it default to false.
1932 2008-10-10 David Hyatt <hyatt@apple.com>
1934 Allow the track part to have negative margins so that it can slightly overlap buttons. This
1935 is necessary to emulate the Aqua look in CSS.
1937 Reviewed by Sam Weinig
1939 * platform/ScrollbarThemeComposite.cpp:
1940 (WebCore::ScrollbarThemeComposite::paint):
1941 (WebCore::ScrollbarThemeComposite::hitTest):
1942 * rendering/RenderScrollbar.cpp:
1943 (WebCore::RenderScrollbar::setHoveredPart):
1944 (WebCore::RenderScrollbar::trackRect):
1945 * rendering/RenderScrollbar.h:
1946 * rendering/RenderScrollbarPart.cpp:
1947 (WebCore::RenderScrollbarPart::computeScrollbarWidth):
1948 (WebCore::RenderScrollbarPart::computeScrollbarHeight):
1949 * rendering/RenderScrollbarTheme.cpp:
1950 (WebCore::RenderScrollbarTheme::backButtonRect):
1951 (WebCore::RenderScrollbarTheme::forwardButtonRect):
1952 (WebCore::RenderScrollbarTheme::trackRect):
1954 2008-10-10 David Hyatt <hyatt@apple.com>
1956 https://bugs.webkit.org/show_bug.cgi?id=21527
1958 Make CSS scrollbars support :not, :hover and :active.
1960 Reviewed by Adam Roben
1962 Added WebCore/manual-tests/scrollbar-hover-active.html
1964 * css/CSSStyleSelector.cpp:
1965 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
1966 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
1967 * platform/Scrollbar.cpp:
1968 (WebCore::Scrollbar::autoscrollPressedPart):
1969 (WebCore::Scrollbar::startTimerIfNeeded):
1970 (WebCore::Scrollbar::setHoveredPart):
1971 (WebCore::Scrollbar::setPressedPart):
1972 (WebCore::Scrollbar::mouseMoved):
1973 (WebCore::Scrollbar::mouseExited):
1974 (WebCore::Scrollbar::mouseUp):
1975 (WebCore::Scrollbar::mouseDown):
1976 * platform/Scrollbar.h:
1977 * rendering/RenderScrollbar.cpp:
1978 (WebCore::RenderScrollbar::setHoveredPart):
1979 (WebCore::RenderScrollbar::setPressedPart):
1980 (WebCore::RenderScrollbar::updateScrollbarParts):
1981 (WebCore::pseudoForScrollbarPart):
1982 (WebCore::RenderScrollbar::updateScrollbarPart):
1983 * rendering/RenderScrollbar.h:
1985 2008-10-10 Chris Marrin <cmarrin@apple.com>
1987 Reviewed by Dan Bernstein.
1989 Fix for https://bugs.webkit.org/show_bug.cgi?id=21025
1990 CSS transition with duration=0 and delay=0 doesn't override ongoing transition
1992 Test: transitions/interrupt-zero-duration.html
1994 * page/animation/CompositeAnimation.cpp:
1995 (WebCore::CompositeAnimation::updateTransitions):
1997 2008-10-10 Kevin Ollivier <kevino@theolliviers.com>
1999 wx build fix. Add new scrollbar-related sources.
2001 * WebCoreSources.bkl:
2003 2008-10-10 David Hyatt <hyatt@apple.com>
2005 https://bugs.webkit.org/show_bug.cgi?id=21522
2007 Support increment/decrement/start/end on scrollbars. Allows a fully functional scrollbar to be
2008 created. (Just :hover/:active left to finish it up.)
2010 Reviewed by Adam Roben
2012 Added scrollbars/scrollbar-buttons.html
2014 * css/CSSStyleSelector.cpp:
2015 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
2017 2008-10-10 David Hyatt <hyatt@apple.com>
2019 Rename some pseudoclasses. Removing "-scrollbar-" from a bunch of the pseudoclasses. Renaming
2020 back/forward to decrement/increment. Adding start/end pseudoclasses.
2022 Reviewed by Eric Seidel
2024 * css/CSSSelector.cpp:
2025 (WebCore::CSSSelector::extractPseudoType):
2026 * css/CSSSelector.h:
2027 (WebCore::CSSSelector::):
2028 * css/CSSStyleSelector.cpp:
2029 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
2031 2008-10-10 David Hyatt <hyatt@apple.com>
2033 Switch window-active to window-inactive, since that will work better as far as degrading in other
2036 Reviewed by Tim Hatcher
2038 * css/CSSSelector.cpp:
2039 (WebCore::CSSSelector::extractPseudoType):
2040 * css/CSSSelector.h:
2041 (WebCore::CSSSelector::):
2042 * css/CSSStyleSelector.cpp:
2043 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
2045 2008-10-09 Chris Marrin <cmarrin@apple.com>
2047 Reviewed by Dan Bernstein.
2049 https://bugs.webkit.org/show_bug.cgi?id=21310
2051 Redesigned how animation events are sent in order to get rid of
2052 AnimationEventDispatcher. ImplicitAnimation and KeyframeAnimation
2053 are now ref counted. While calling the event handler, I keep a
2054 reference to this class to avoid it getting destroyed out from under me.
2056 I also moved most of the functionality of CompositeAnimation to
2057 and internal class (CompositeAnimationPrivate) to reduce the exposure
2058 of the internals of the various animation classes.
2060 We have several transition and animation LayoutTests which verify that
2061 this fix works as expected and continues to avoid crashes.
2063 * page/animation/AnimationBase.cpp:
2064 (WebCore::AnimationBase::AnimationBase):
2065 * page/animation/AnimationBase.h:
2066 (WebCore::AnimationBase::cancelTimers):
2067 (WebCore::AnimationBase::waitingForStyleAvailable):
2068 * page/animation/CompositeAnimation.cpp:
2069 (WebCore::CompositeAnimationPrivate::CompositeAnimationPrivate):
2070 (WebCore::CompositeAnimationPrivate::suspended):
2071 (WebCore::CompositeAnimationPrivate::~CompositeAnimationPrivate):
2072 (WebCore::CompositeAnimationPrivate::updateTransitions):
2073 (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations):
2074 (WebCore::CompositeAnimationPrivate::animate):
2075 (WebCore::CompositeAnimationPrivate::setAnimating):
2076 (WebCore::CompositeAnimationPrivate::animating):
2077 (WebCore::CompositeAnimationPrivate::getAnimationForProperty):
2078 (WebCore::CompositeAnimationPrivate::resetTransitions):
2079 (WebCore::CompositeAnimationPrivate::resetAnimations):
2080 (WebCore::CompositeAnimationPrivate::cleanupFinishedAnimations):
2081 (WebCore::CompositeAnimationPrivate::setAnimationStartTime):
2082 (WebCore::CompositeAnimationPrivate::setTransitionStartTime):
2083 (WebCore::CompositeAnimationPrivate::suspendAnimations):
2084 (WebCore::CompositeAnimationPrivate::resumeAnimations):
2085 (WebCore::CompositeAnimationPrivate::overrideImplicitAnimations):
2086 (WebCore::CompositeAnimationPrivate::resumeOverriddenImplicitAnimations):
2087 (WebCore::compareAnimationIndices):
2088 (WebCore::CompositeAnimationPrivate::styleAvailable):
2089 (WebCore::CompositeAnimationPrivate::isAnimatingProperty):
2090 (WebCore::CompositeAnimationPrivate::setWaitingForStyleAvailable):
2091 (WebCore::CompositeAnimation::CompositeAnimation):
2092 (WebCore::CompositeAnimation::~CompositeAnimation):
2093 (WebCore::CompositeAnimation::animate):
2094 (WebCore::CompositeAnimation::animating):
2095 (WebCore::CompositeAnimation::setWaitingForStyleAvailable):
2096 (WebCore::CompositeAnimation::resetTransitions):
2097 (WebCore::CompositeAnimation::suspendAnimations):
2098 (WebCore::CompositeAnimation::resumeAnimations):
2099 (WebCore::CompositeAnimation::suspended):
2100 (WebCore::CompositeAnimation::styleAvailable):
2101 (WebCore::CompositeAnimation::setAnimating):
2102 (WebCore::CompositeAnimation::isAnimatingProperty):
2103 (WebCore::CompositeAnimation::setAnimationStartTime):
2104 (WebCore::CompositeAnimation::setTransitionStartTime):
2105 (WebCore::CompositeAnimation::overrideImplicitAnimations):
2106 (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
2107 * page/animation/CompositeAnimation.h:
2108 * page/animation/ImplicitAnimation.cpp:
2109 (WebCore::ImplicitAnimation::sendTransitionEvent):
2110 * page/animation/ImplicitAnimation.h:
2111 (WebCore::ImplicitAnimation::create):
2112 * page/animation/KeyframeAnimation.cpp:
2113 (WebCore::KeyframeAnimation::sendAnimationEvent):
2114 * page/animation/KeyframeAnimation.h:
2115 (WebCore::KeyframeAnimation::create):
2117 2008-10-09 David Hyatt <hyatt@apple.com>
2119 Add support for scrollbar orientation as a pseudoclass. Add support for whether or not the scrollbar
2122 Reviewed by Tim Hatcher
2124 Added scrollbars/scrollbar-orientation.html
2126 * css/CSSSelector.cpp:
2127 (WebCore::CSSSelector::extractPseudoType):
2128 * css/CSSSelector.h:
2129 (WebCore::CSSSelector::):
2130 * css/CSSStyleSelector.cpp:
2131 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
2132 * platform/Scrollbar.cpp:
2133 (WebCore::Scrollbar::isWindowActive):
2134 * platform/Scrollbar.h:
2135 * rendering/RenderScrollbar.cpp:
2136 (WebCore::RenderScrollbar::paint):
2137 (WebCore::RenderScrollbar::partForStyleResolve):
2138 * rendering/RenderScrollbar.h:
2140 2008-10-09 David Hyatt <hyatt@apple.com>
2142 Add support for pseudo classes on scrollbar pseudo elements. As an initial proof of concept only
2143 :enabled/:disabled are supported. More pseudo classes will follow quickly now that this works.
2145 Reviewed by Tim Hatcher
2147 Added scrollbars/disabled-scrollbar.html
2149 * css/CSSStyleSelector.cpp:
2150 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
2151 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2152 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
2153 * css/CSSStyleSelector.h:
2154 * rendering/RenderObject.cpp:
2155 (WebCore::RenderObject::getPseudoStyle):
2156 * rendering/RenderObject.h:
2157 * rendering/RenderScrollbar.cpp:
2158 (WebCore::RenderScrollbar::setEnabled):
2159 (WebCore::RenderScrollbar::scrollbarForStyleResolve):
2160 (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
2161 (WebCore::RenderScrollbar::paintPart):
2162 * rendering/RenderScrollbar.h:
2164 2008-10-09 Eric Carlson <eric.carlson@apple.com>
2166 Media controls should not show when element is not visible
2168 https://bugs.webkit.org/show_bug.cgi?id=21155
2170 Reviewed by Adele Peterson.
2172 * html/HTMLMediaElement.cpp:
2173 (WebCore::HTMLMediaElement::recalcStyle): New, call renderer()->updateFromElement to stay
2174 in sync with visibility changes
2175 * html/HTMLMediaElement.h:
2176 * rendering/RenderMedia.cpp:
2177 (WebCore::RenderMedia::RenderMedia): initialize m_previousVisible
2178 (WebCore::RenderMedia::updateControlVisibility): consider style()->visibility() when determining
2179 if element is visible or not. Don't animate controller visibility when change triggered by
2180 showing or hiding media element.
2181 * rendering/RenderMedia.h: declare m_previousVisible
2183 2008-10-09 Timothy Hatcher <timothy@apple.com>
2185 Annotate the Objective-C DOM APIs with the JavaScriptCore/WebKitAvailability.h
2186 availability macros and version macros.
2188 https://bugs.webkit.org/show_bug.cgi?id=21496
2189 rdar://problem/6259225
2191 Reviewed by Sam Weinig.
2193 * bindings/objc/DOMCSS.h: Add a version #if around catgory interface.
2194 * bindings/objc/DOMEventException.h: Include JavaScriptCore/WebKitAvailability.h
2195 and add an #if around the enum.
2196 * bindings/objc/DOMException.h: Ditto. Give the enum a name and remove the
2197 comment to match the other headers.
2198 * bindings/objc/DOMExtensions.h: Annotate the methods with version 3.0 or later.
2199 * bindings/objc/DOMObject.h: Add a version #if around class interface.
2200 * bindings/objc/DOMRangeException.h: Include JavaScriptCore/WebKitAvailability.h
2201 and add a version #if around the enum.
2202 * bindings/objc/DOMSVGException.h: Ditto. Use the latest version since SVG is new.
2203 * bindings/objc/DOMXPathException.h: Ditto. Use the 3.0 version.
2204 * bindings/objc/PublicDOMInterfaces.h: Annotate classes and protocols for
2205 when they where added to WebKit. Also annotate individual methods that are
2206 deprecated or where added after the class was added to WebKit.
2207 * bindings/objc/WebScriptObject.h: Include JavaScriptCore/WebKitAvailability.h
2208 since this header is included by most DOM headers. Annotate the JSObject method.
2210 * bindings/scripts/CodeGeneratorObjC.pm:
2211 (ReadPublicInterfaces): Parse out the availability macro for each function/property.
2212 And parse out the availability version for the class/protocol. Default to
2213 WEBKIT_VERSION_LATEST if the class is new.
2214 (GenerateHeader): Include JavaScriptCore/WebKitAvailability.h if needed. Add the
2215 interface availability version check if the class has a required version. Create
2216 a public interface key (used to lookup in $publicInterfaces) and make a declaration
2217 suffix that includes the availability macro (if needed). Use the "available in 1.3
2218 and later but deprecated in 3.0" macro instead of "deprecated in 10.5 and later" as
2219 the default availability macro for old style methods. Tweak line breaks in the generated
2220 headers to look good and not have too many extra lines.
2222 2008-10-09 Simon Fraser <simon.fraser@apple.com>
2224 Reviewed by Dave Hyatt
2226 https://bugs.webkit.org/show_bug.cgi?id=20947
2228 Refactor setStyle() methods into styleWillChange()
2229 and styleDidChange(), so most of the setStyle() overrides can
2232 * rendering/RenderBR.cpp:
2233 (WebCore::RenderBR::styleDidChange):
2234 * rendering/RenderBR.h:
2235 * rendering/RenderBlock.cpp:
2236 (WebCore::RenderBlock::styleWillChange):
2237 (WebCore::RenderBlock::styleDidChange):
2238 * rendering/RenderBlock.h:
2239 * rendering/RenderBox.cpp:
2240 (WebCore::RenderBox::~RenderBox):
2241 (WebCore::RenderBox::destroy):
2242 (WebCore::RenderBox::styleWillChange):
2243 (WebCore::RenderBox::styleDidChange):
2244 * rendering/RenderBox.h:
2245 * rendering/RenderButton.cpp:
2246 (WebCore::RenderButton::styleWillChange):
2247 (WebCore::RenderButton::styleDidChange):
2248 * rendering/RenderButton.h:
2249 * rendering/RenderFieldset.cpp:
2250 (WebCore::RenderFieldset::styleDidChange):
2251 * rendering/RenderFieldset.h:
2252 * rendering/RenderFileUploadControl.cpp:
2253 (WebCore::RenderFileUploadControl::styleDidChange):
2254 * rendering/RenderFileUploadControl.h:
2255 * rendering/RenderInline.cpp:
2256 (WebCore::RenderInline::styleDidChange):
2257 * rendering/RenderInline.h:
2258 * rendering/RenderLayer.cpp:
2259 (WebCore::RenderLayer::styleChanged):
2260 * rendering/RenderLayer.h:
2261 * rendering/RenderListBox.cpp:
2262 (WebCore::RenderListBox::styleDidChange):
2263 * rendering/RenderListBox.h:
2264 * rendering/RenderListItem.cpp:
2265 (WebCore::RenderListItem::styleDidChange):
2266 * rendering/RenderListItem.h:
2267 * rendering/RenderListMarker.cpp:
2268 (WebCore::RenderListMarker::styleWillChange):
2269 (WebCore::RenderListMarker::styleDidChange):
2270 * rendering/RenderListMarker.h:
2271 * rendering/RenderMenuList.cpp:
2272 (WebCore::RenderMenuList::styleDidChange):
2273 * rendering/RenderMenuList.h:
2274 * rendering/RenderObject.cpp:
2275 (WebCore::RenderObject::setStyle):
2276 (WebCore::RenderObject::setStyleInternal):
2277 (WebCore::RenderObject::styleWillChange):
2278 (WebCore::RenderObject::styleDidChange):
2279 * rendering/RenderObject.h:
2280 * rendering/RenderReplaced.cpp:
2281 (WebCore::RenderReplaced::styleDidChange):
2282 * rendering/RenderReplaced.h:
2283 * rendering/RenderSVGGradientStop.cpp:
2284 (WebCore::RenderSVGGradientStop::styleDidChange):
2285 * rendering/RenderSVGGradientStop.h:
2286 * rendering/RenderScrollbarPart.cpp:
2287 (WebCore::RenderScrollbarPart::styleDidChange):
2288 * rendering/RenderScrollbarPart.h:
2289 * rendering/RenderSlider.cpp:
2290 (WebCore::RenderSlider::styleDidChange):
2291 * rendering/RenderSlider.h:
2292 * rendering/RenderTable.cpp:
2293 (WebCore::RenderTable::styleDidChange):
2294 * rendering/RenderTable.h:
2295 * rendering/RenderTableCell.cpp:
2296 (WebCore::RenderTableCell::styleWillChange):
2297 (WebCore::RenderTableCell::styleDidChange):
2298 * rendering/RenderTableCell.h:
2299 * rendering/RenderTableRow.cpp:
2300 (WebCore::RenderTableRow::styleWillChange):
2301 * rendering/RenderTableRow.h:
2302 * rendering/RenderText.cpp:
2303 (WebCore::RenderText::styleDidChange):
2304 * rendering/RenderText.h:
2305 * rendering/RenderTextControl.cpp:
2306 (WebCore::RenderTextControl::styleDidChange):
2307 * rendering/RenderTextControl.h:
2308 * rendering/RenderWidget.cpp:
2309 (WebCore::RenderWidget::styleDidChange):
2310 * rendering/RenderWidget.h:
2312 2008-10-09 David Hyatt <hyatt@apple.com>
2314 Make sure to destroy a custom scrollbar's RenderObjects before the arena goes away. When our widget
2315 parent is nulled out is a good time.
2317 Reviewed by Oliver Hunt
2319 * rendering/RenderScrollbar.cpp:
2320 (WebCore::RenderScrollbar::~RenderScrollbar):
2321 (WebCore::RenderScrollbar::setParent):
2322 (WebCore::RenderScrollbar::updateScrollbarPart):
2323 * rendering/RenderScrollbar.h:
2325 2008-10-09 David Hyatt <hyatt@apple.com>
2327 https://bugs.webkit.org/show_bug.cgi?id=21446
2329 This patch gets CSS scrollbars up and limping. There's no way to distinguish between states or between
2330 orientation and back vs. forward on the buttons, but it's a start.
2332 Reviewed by Oliver Hunt
2334 Added scrollbars/basic-scrollbar.html
2336 * WebCore.xcodeproj/project.pbxproj:
2337 * css/CSSSelector.cpp:
2338 (WebCore::CSSSelector::extractPseudoType):
2339 * css/CSSSelector.h:
2340 (WebCore::CSSSelector::):
2341 * css/CSSStyleSelector.cpp:
2342 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2343 * platform/ScrollTypes.h:
2345 * platform/Scrollbar.h:
2346 (WebCore::Scrollbar::styleChanged):
2347 * platform/ScrollbarThemeComposite.cpp:
2348 (WebCore::ScrollbarThemeComposite::paint):
2349 (WebCore::ScrollbarThemeComposite::splitTrack):
2350 * platform/ScrollbarThemeComposite.h:
2351 (WebCore::ScrollbarThemeComposite::paintScrollbarBackground):
2352 (WebCore::ScrollbarThemeComposite::paintTrackBackground):
2353 (WebCore::ScrollbarThemeComposite::paintTrackPiece):
2354 * platform/win/ScrollbarThemeSafari.cpp:
2355 (WebCore::ScrollbarThemeSafari::paintTrackBackground):
2356 * platform/win/ScrollbarThemeSafari.h:
2357 * platform/win/ScrollbarThemeWin.cpp:
2358 (WebCore::ScrollbarThemeWin::paintTrack):
2359 * platform/win/ScrollbarThemeWin.h:
2360 * rendering/RenderLayer.cpp:
2361 (WebCore::RenderLayer::createScrollbar):
2362 (WebCore::RenderLayer::styleChanged):
2363 * rendering/RenderScrollbar.cpp: Added.
2364 (WebCore::RenderScrollbar::createCustomScrollbar):
2365 (WebCore::RenderScrollbar::RenderScrollbar):
2366 (WebCore::RenderScrollbar::~RenderScrollbar):
2367 (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
2368 (WebCore::RenderScrollbar::updateScrollbarParts):
2369 (WebCore::RenderScrollbar::updateScrollbarPart):
2370 (WebCore::RenderScrollbar::paintPart):
2371 (WebCore::RenderScrollbar::buttonRect):
2372 (WebCore::RenderScrollbar::minimumThumbLength):
2373 * rendering/RenderScrollbar.h: Added.
2374 (WebCore::RenderScrollbar::styleChanged):
2375 (WebCore::RenderScrollbar::owningRenderer):
2376 * rendering/RenderScrollbarPart.cpp: Added.
2377 (WebCore::RenderScrollbarPart::RenderScrollbarPart):
2378 (WebCore::RenderScrollbarPart::~RenderScrollbarPart):
2379 (WebCore::RenderScrollbarPart::layout):
2380 (WebCore::RenderScrollbarPart::layoutHorizontalPart):
2381 (WebCore::RenderScrollbarPart::layoutVerticalPart):
2382 (WebCore::calcScrollbarThicknessUsing):
2383 (WebCore::RenderScrollbarPart::computeScrollbarWidth):
2384 (WebCore::RenderScrollbarPart::computeScrollbarHeight):
2385 (WebCore::RenderScrollbarPart::calcPrefWidths):
2386 (WebCore::RenderScrollbarPart::setStyle):
2387 * rendering/RenderScrollbarPart.h: Added.
2388 (WebCore::RenderScrollbarPart::renderName):
2389 (WebCore::RenderScrollbarPart::requiresLayer):
2390 * rendering/RenderScrollbarTheme.cpp: Added.
2391 (WebCore::RenderScrollbarTheme::renderScrollbarTheme):
2392 (WebCore::RenderScrollbarTheme::buttonSizesAlongTrackAxis):
2393 (WebCore::RenderScrollbarTheme::hasButtons):
2394 (WebCore::RenderScrollbarTheme::hasThumb):
2395 (WebCore::RenderScrollbarTheme::minimumThumbLength):
2396 (WebCore::RenderScrollbarTheme::backButtonRect):
2397 (WebCore::RenderScrollbarTheme::forwardButtonRect):
2398 (WebCore::RenderScrollbarTheme::trackRect):
2399 (WebCore::RenderScrollbarTheme::paintScrollCorner):
2400 (WebCore::RenderScrollbarTheme::paintScrollbarBackground):
2401 (WebCore::RenderScrollbarTheme::paintTrackBackground):
2402 (WebCore::RenderScrollbarTheme::paintTrackPiece):
2403 (WebCore::RenderScrollbarTheme::paintButton):
2404 (WebCore::RenderScrollbarTheme::paintThumb):
2405 * rendering/RenderScrollbarTheme.h: Added.
2406 (WebCore::RenderScrollbarTheme::~RenderScrollbarTheme):
2407 (WebCore::RenderScrollbarTheme::scrollbarThickness):
2408 (WebCore::RenderScrollbarTheme::buttonsPlacement):
2409 (WebCore::RenderScrollbarTheme::supportsControlTints):
2410 (WebCore::RenderScrollbarTheme::shouldCenterOnThumb):
2411 (WebCore::RenderScrollbarTheme::initialAutoscrollTimerDelay):
2412 (WebCore::RenderScrollbarTheme::autoscrollTimerDelay):
2413 (WebCore::RenderScrollbarTheme::registerScrollbar):
2414 (WebCore::RenderScrollbarTheme::unregisterScrollbar):
2415 * rendering/style/RenderStyle.h:
2416 (WebCore::RenderStyle::):
2418 2008-10-09 Eric Seidel <eric@webkit.org>
2420 Reviewed by Oliver Hunt.
2422 Fix Canvex DOOM Game
2423 Gradient clips were not getting cleared after filling the
2424 gradient, this was causing nothing to draw in Canvex
2425 https://bugs.webkit.org/show_bug.cgi?id=21498
2429 * WebCore.xcodeproj/project.pbxproj:
2430 * platform/graphics/cg/GraphicsContextCG.cpp:
2431 (WebCore::GraphicsContext::fillPath):
2432 (WebCore::GraphicsContext::strokePath):
2433 (WebCore::GraphicsContext::fillRect):
2435 2008-10-09 Eric Seidel <eric@webkit.org>
2437 Reviewed by Oliver Hunt.
2439 Fix transformed patterns
2440 https://bugs.webkit.org/show_bug.cgi?id=21498
2442 Test: fast/canvas/patternfill-repeat.html
2444 * WebCore.xcodeproj/project.pbxproj:
2445 * platform/graphics/GraphicsContext.cpp:
2446 (WebCore::GraphicsContext::setStrokePattern):
2447 (WebCore::GraphicsContext::setFillPattern):
2448 (WebCore::GraphicsContext::setStrokeGradient):
2449 (WebCore::GraphicsContext::setFillGradient):
2450 * platform/graphics/GraphicsContext.h:
2451 * platform/graphics/cairo/GraphicsContextCairo.cpp:
2452 * platform/graphics/cg/GraphicsContextCG.cpp:
2453 (WebCore::applyStrokePattern):
2454 (WebCore::applyFillPattern):
2455 (WebCore::GraphicsContext::drawPath):
2456 (WebCore::GraphicsContext::fillPath):
2457 (WebCore::GraphicsContext::strokePath):
2458 (WebCore::GraphicsContext::fillRect):
2459 * platform/graphics/qt/GraphicsContextQt.cpp:
2460 * platform/graphics/wx/GraphicsContextWx.cpp:
2462 2008-10-09 Kevin Ollivier <kevino@theolliviers.com>
2466 * platform/wx/WidgetWx.cpp:
2467 * plugins/wx/PluginViewWx.cpp:
2468 (WebCore::PluginView::invalidateRect):
2471 2008-10-09 Chris Marrin <cmarrin@apple.com>
2473 Reviewed by Darin Adler.
2475 Fix for https://bugs.webkit.org/show_bug.cgi?id=21217
2476 Animations assert when navigating from page
2478 Changed assertions to test the right flag for the paused state
2480 * page/animation/AnimationBase.cpp:
2481 (WebCore::AnimationBase::updateStateMachine):
2483 2008-10-09 Chris Marrin <cmarrin@apple.com>
2485 Reviewed by Dan Bernstein.
2487 Fixed > 180 degree rotation bug
2488 Ensure that validateTransformFunctionList() is called after updating keyframe styles
2490 https://bugs.webkit.org/show_bug.cgi?id=21420
2492 Test: animations/big-rotation.html
2494 * page/animation/KeyframeAnimation.cpp:
2495 (WebCore::KeyframeAnimation::KeyframeAnimation):
2497 2008-10-09 Brady Eidson <beidson@apple.com>
2501 <rdar://problem/6250856> - Calling [WebView close] from within a redirection callback can cause bad things
2503 The API usage to reveal this crash was so particular that a layout test is not possible with our current infrastructure.
2505 * loader/FrameLoader.cpp:
2506 (WebCore::FrameLoader::changeLocation): Protect the Frame from deletion
2507 (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): stopAllLoaders() might clear the Frame's page,
2508 so perform a second null check on the page. Bail if it has been cleared.
2510 2008-10-09 Alp Toker <alp@nuanti.com>
2512 Build fix for recent DOM generation Makefile changes when custom
2513 CFLAGS/CXXFLAGS are passed in.
2517 2008-10-09 Jan Michael Alonzo <jmalonzo@webkit.org>
2519 Reviewed by Alp Toker.
2521 https://bugs.webkit.org/show_bug.cgi?id=21390
2522 [Gtk] Linux/Gtk: GtkLauncher crashes on Acid3 (but after test 80 this time)
2524 * platform/gtk/ScrollViewGtk.cpp:
2525 (WebCore::ScrollView::platformRemoveChild):
2527 2008-10-09 Darin Adler <darin@apple.com>
2529 - try to fix Qt build
2531 * bridge/qt/qt_runtime.cpp:
2532 (JSC::Bindings::convertQVariantToValue): Pass JSGlobalData instead of ExecState to RegExp constructor.
2534 2008-10-08 Nikolas Zimmermann <zimmermann@kde.org>
2536 Reviewed by Oliver Hunt & Sam Weinig.
2538 Fixes: https://bugs.webkit.org/show_bug.cgi?id=15413 (SVGElementInstance does not implement EventTarget)
2539 Fixes: https://bugs.webkit.org/show_bug.cgi?id=15430 (SVGElementInstances should rebuild themselves lazily)
2540 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20550 (SVGUseElement.setAttribute crashes Safari)
2542 Rebuild SVG use element shadow tree lazily. Mark SVGElementInstance with the "needsUpdate" flag.
2543 Next time SVGUseElement::recalcStyle is invoked (ie. via Document::updateDocumentsRendering()) the
2544 use tree is rebuild.
2546 Make SVGElementInstance a real EventTarget, as the SVG specification demands.
2547 When dispatching events to a shadow tree element of a use element, the associated SVGElementInstance
2548 is used as event target. The SVGElementInstance, the shadow tree element and the corresponding element
2549 share an event listener list. Every event listener change on the SVGElementInstance object is forwared
2550 to the corresponding element. Each change marks the SVGElementInstance tree dirty, and causes a reclone.
2551 Each event listener defined via attributes (onclick/onkeydown/...) is copied from the correspondingElement
2552 to the shadow tree element - through the cloneNode calls - if the use element's shadow tree gets rebuild.
2553 Each listener, dynamically created using addEventListener, gets copied to the corersponding element as well.
2555 Now that the target/currentTarget properties of the Events are correct, event bubbling works as expected,
2556 see resources/use-instanceRoot-event-bubbling.js for details.
2558 Tests: svg/custom/use-elementInstance-event-target.svg (reenabled)
2559 svg/custom/use-elementInstance-methods.svg (reenabled)
2560 svg/custom/use-setAttribute-crash.svg (covers bug 20550)
2561 svg/custom/use-instanceRoot-as-event-target.xhtml (covers bug 15413)
2562 svg/custom/use-instanceRoot-event-bubbling.xhtml (covers bug 15413)
2563 svg/custom/use-instanceRoot-event-listeners.xhtml (covers bug 15413 & 15430)
2565 * DerivedSources.make:
2568 * WebCore.vcproj/WebCore.vcproj:
2569 * WebCore.xcodeproj/project.pbxproj:
2570 * bindings/js/JSEventListener.h:
2571 (WebCore::JSLazyEventListener::wasCreatedFromMarkup):
2572 * bindings/js/JSEventTarget.cpp:
2573 * bindings/js/JSEventTargetSVGElementInstance.cpp: Removed.
2574 * bindings/js/JSEventTargetSVGElementInstance.h: Removed.
2575 * bindings/js/JSSVGElementInstanceCustom.cpp:
2576 (WebCore::JSSVGElementInstance::addEventListener):
2577 (WebCore::JSSVGElementInstance::removeEventListener):
2578 (WebCore::JSSVGElementInstance::pushEventHandlerScope):
2579 * bindings/scripts/CodeGeneratorJS.pm:
2580 * bindings/scripts/CodeGeneratorObjC.pm:
2581 * dom/EventListener.h:
2582 (WebCore::EventListener::wasCreatedFromMarkup):
2583 * dom/EventTargetNode.cpp:
2584 (WebCore::updateSVGElementInstancesAfterEventListenerChange):
2585 (WebCore::EventTargetNode::addEventListener):
2586 (WebCore::EventTargetNode::removeEventListener):
2587 (WebCore::eventTargetAsSVGElementInstance):
2588 (WebCore::eventTargetRespectingSVGTargetRules):
2589 (WebCore::EventTargetNode::dispatchEvent):
2590 (WebCore::EventTargetNode::dispatchGenericEvent):
2591 (WebCore::EventTargetNode::removeEventListenerForType):
2592 * page/EventHandler.cpp:
2593 (WebCore::EventHandler::clear):
2594 (WebCore::instanceAssociatedWithShadowTreeElement):
2595 (WebCore::EventHandler::updateMouseEventTargetNode):
2596 * page/EventHandler.h:
2597 * svg/EventTargetSVGElementInstance.cpp: Removed.
2598 * svg/EventTargetSVGElementInstance.h: Removed.
2599 * svg/SVGElementInstance.cpp:
2600 (WebCore::SVGElementInstance::SVGElementInstance):
2601 (WebCore::SVGElementInstance::~SVGElementInstance):
2602 (WebCore::SVGElementInstance::childNodes):
2603 (WebCore::SVGElementInstance::setShadowTreeElement):
2604 (WebCore::SVGElementInstance::forgetWrapper):
2605 (WebCore::SVGElementInstance::appendChild):
2606 (WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
2607 (WebCore::SVGElementInstance::setNeedsUpdate):
2608 (WebCore::SVGElementInstance::associatedFrame):
2609 (WebCore::SVGElementInstance::addEventListener):
2610 (WebCore::SVGElementInstance::removeEventListener):
2611 (WebCore::SVGElementInstance::dispatchEvent):
2612 (WebCore::SVGElementInstance::onabort):
2613 (WebCore::SVGElementInstance::setOnabort):
2614 (WebCore::SVGElementInstance::onblur):
2615 (WebCore::SVGElementInstance::setOnblur):
2616 (WebCore::SVGElementInstance::onchange):
2617 (WebCore::SVGElementInstance::setOnchange):
2618 (WebCore::SVGElementInstance::onclick):
2619 (WebCore::SVGElementInstance::setOnclick):
2620 (WebCore::SVGElementInstance::oncontextmenu):
2621 (WebCore::SVGElementInstance::setOncontextmenu):
2622 (WebCore::SVGElementInstance::ondblclick):
2623 (WebCore::SVGElementInstance::setOndblclick):
2624 (WebCore::SVGElementInstance::onerror):
2625 (WebCore::SVGElementInstance::setOnerror):
2626 (WebCore::SVGElementInstance::onfocus):
2627 (WebCore::SVGElementInstance::setOnfocus):
2628 (WebCore::SVGElementInstance::oninput):
2629 (WebCore::SVGElementInstance::setOninput):
2630 (WebCore::SVGElementInstance::onkeydown):
2631 (WebCore::SVGElementInstance::setOnkeydown):
2632 (WebCore::SVGElementInstance::onkeypress):
2633 (WebCore::SVGElementInstance::setOnkeypress):
2634 (WebCore::SVGElementInstance::onkeyup):
2635 (WebCore::SVGElementInstance::setOnkeyup):
2636 (WebCore::SVGElementInstance::onload):
2637 (WebCore::SVGElementInstance::setOnload):
2638 (WebCore::SVGElementInstance::onmousedown):
2639 (WebCore::SVGElementInstance::setOnmousedown):
2640 (WebCore::SVGElementInstance::onmousemove):
2641 (WebCore::SVGElementInstance::setOnmousemove):
2642 (WebCore::SVGElementInstance::onmouseout):
2643 (WebCore::SVGElementInstance::setOnmouseout):
2644 (WebCore::SVGElementInstance::onmouseover):
2645 (WebCore::SVGElementInstance::setOnmouseover):
2646 (WebCore::SVGElementInstance::onmouseup):
2647 (WebCore::SVGElementInstance::setOnmouseup):
2648 (WebCore::SVGElementInstance::onmousewheel):
2649 (WebCore::SVGElementInstance::setOnmousewheel):
2650 (WebCore::SVGElementInstance::onbeforecut):
2651 (WebCore::SVGElementInstance::setOnbeforecut):
2652 (WebCore::SVGElementInstance::oncut):
2653 (WebCore::SVGElementInstance::setOncut):
2654 (WebCore::SVGElementInstance::onbeforecopy):
2655 (WebCore::SVGElementInstance::setOnbeforecopy):
2656 (WebCore::SVGElementInstance::oncopy):
2657 (WebCore::SVGElementInstance::setOncopy):
2658 (WebCore::SVGElementInstance::onbeforepaste):
2659 (WebCore::SVGElementInstance::setOnbeforepaste):
2660 (WebCore::SVGElementInstance::onpaste):
2661 (WebCore::SVGElementInstance::setOnpaste):
2662 (WebCore::SVGElementInstance::ondragenter):
2663 (WebCore::SVGElementInstance::setOndragenter):
2664 (WebCore::SVGElementInstance::ondragover):
2665 (WebCore::SVGElementInstance::setOndragover):
2666 (WebCore::SVGElementInstance::ondragleave):
2667 (WebCore::SVGElementInstance::setOndragleave):
2668 (WebCore::SVGElementInstance::ondrop):
2669 (WebCore::SVGElementInstance::setOndrop):
2670 (WebCore::SVGElementInstance::ondragstart):
2671 (WebCore::SVGElementInstance::setOndragstart):
2672 (WebCore::SVGElementInstance::ondrag):
2673 (WebCore::SVGElementInstance::setOndrag):
2674 (WebCore::SVGElementInstance::ondragend):
2675 (WebCore::SVGElementInstance::setOndragend):
2676 (WebCore::SVGElementInstance::onreset):
2677 (WebCore::SVGElementInstance::setOnreset):
2678 (WebCore::SVGElementInstance::onresize):
2679 (WebCore::SVGElementInstance::setOnresize):
2680 (WebCore::SVGElementInstance::onscroll):
2681 (WebCore::SVGElementInstance::setOnscroll):
2682 (WebCore::SVGElementInstance::onsearch):
2683 (WebCore::SVGElementInstance::setOnsearch):
2684 (WebCore::SVGElementInstance::onselect):
2685 (WebCore::SVGElementInstance::setOnselect):
2686 (WebCore::SVGElementInstance::onselectstart):
2687 (WebCore::SVGElementInstance::setOnselectstart):
2688 (WebCore::SVGElementInstance::onsubmit):
2689 (WebCore::SVGElementInstance::setOnsubmit):
2690 (WebCore::SVGElementInstance::onunload):
2691 (WebCore::SVGElementInstance::setOnunload):
2692 * svg/SVGElementInstance.h:
2693 (WebCore::SVGElementInstance::needsUpdate):
2694 (WebCore::SVGElementInstance::toNode):
2695 (WebCore::SVGElementInstance::toSVGElementInstance):
2696 (WebCore::SVGElementInstance::correspondingElement):
2697 (WebCore::SVGElementInstance::correspondingUseElement):
2698 (WebCore::SVGElementInstance::shadowTreeElement):
2699 (WebCore::SVGElementInstance::parentNode):
2700 (WebCore::SVGElementInstance::previousSibling):
2701 (WebCore::SVGElementInstance::nextSibling):
2702 (WebCore::SVGElementInstance::firstChild):
2703 (WebCore::SVGElementInstance::lastChild):
2704 (WebCore::SVGElementInstance::ownerDocument):
2705 (WebCore::SVGElementInstance::hasChildNodes):
2706 (WebCore::SVGElementInstance::setFirstChild):
2707 (WebCore::SVGElementInstance::setLastChild):
2708 (WebCore::SVGElementInstance::setNextSibling):
2709 (WebCore::SVGElementInstance::setPreviousSibling):
2710 (WebCore::SVGElementInstance::refEventTarget):
2711 (WebCore::SVGElementInstance::derefEventTarget):
2712 * svg/SVGElementInstance.idl:
2713 * svg/SVGStyledElement.cpp:
2714 (WebCore::SVGStyledElement::svgAttributeChanged):
2715 (WebCore::SVGStyledElement::childrenChanged):
2716 * svg/SVGUseElement.cpp:
2717 (WebCore::SVGUseElement::svgAttributeChanged):
2718 (WebCore::shadowTreeContainsChangedNodes):
2719 (WebCore::SVGUseElement::recalcStyle):
2720 (WebCore::dumpInstanceTree):
2721 (WebCore::SVGUseElement::buildPendingResource):
2722 (WebCore::SVGUseElement::buildInstanceTree):
2723 (WebCore::SVGUseElement::transferEventListenersToShadowTree):
2724 * svg/SVGUseElement.h:
2726 2008-10-08 Sam Weinig <sam@webkit.org>
2728 Reviewed by Cameron Zwarich.
2730 Fix for https://bugs.webkit.org/show_bug.cgi?id=21241
2731 REGRESSION (r36977): getRGBColorValue().red returning incorrect value
2733 Update JSRGBColor to use the new static function per getter approach.
2735 Test: fast/dom/css-RGBValue.html
2737 * bindings/js/JSRGBColor.cpp:
2742 * bindings/js/JSRGBColor.h:
2744 2008-10-08 Eric Seidel <eric@webkit.org>
2746 Reviewed by Darin Adler, Nikolas Zimmermann and Dave Hyatt.
2748 svgElement.className.baseValue = "foo" does not work
2749 https://bugs.webkit.org/show_bug.cgi?id=20651
2751 * dom/StyledElement.cpp:
2752 (WebCore::StyledElement::classAttributeChanged):
2753 (WebCore::StyledElement::parseMappedAttribute):
2754 * dom/StyledElement.h:
2755 * svg/SVGStyledElement.cpp:
2756 (WebCore::SVGStyledElement::svgAttributeChanged):
2758 2008-10-08 Anthony Ricaud <rik24d@gmail.com>
2760 Make the toolbar label text-shadow not disappear when clicking on the
2761 search result count or around the search field.
2763 Reviewed by Timothy Hatcher.
2765 * inspector/front-end/inspector.css:
2766 (.toolbar-item:active .toolbar-label): Make this rule also require the
2767 toggleable class with the toolbar-item class.
2769 2008-10-08 Tor Arne Vestbø <tavestbo@trolltech.com>
2773 Updated the qrc file for the Web Inspector to contain the current set
2776 * inspector/front-end/WebKit.qrc:
2778 2008-10-08 Prasanth Ullattil <pullatti@trolltech.com>
2782 Fix the linking of applications against WebKit on Qt/Windows.
2784 The prl files that qmake creates are buggy on Unix, but we they're
2785 fine on Windows and we have to have them there in order to get the
2786 dependencies correct.
2790 2008-10-08 Ariya Hidayat <ariya.hidayat@trolltech.com>
2794 Speed up rectangle filling by not re-creating a QBrush all the time.
2796 This triggers faster path in QPainter where the brush is reused.
2798 * platform/graphics/qt/GraphicsContextQt.cpp:
2799 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
2800 (WebCore::GraphicsContext::fillRect):
2802 2008-10-08 Thiago Macieira <thiago.macieira@nokia.com>
2806 Fixes: Encoding of Qt URLs
2808 This encoding was added by Simon and I because QUrl's
2809 tolerant parser wasn't tolerant enough. Now it is, so we don't need
2812 * platform/qt/KURLQt.cpp:
2813 (WebCore::KURL::operator QUrl):
2815 2008-10-08 Marius Storm-Olsen <marius@trolltech.com>
2819 Fixes dependencies in qmake generated visual studio projects.
2821 Only add debug lib name if we're in the debug build_pass, else the release version.
2822 The MSVC solution generator would pick up the debug javascriptcore lib as a dependency.
2826 2008-10-08 Prasanth Ullattil <pullatti@trolltech.com>
2830 Fix compilation errors on VS2008 64Bit
2832 * platform/text/TextStream.cpp:
2833 (WebCore::TextStream::operator<<):
2834 * platform/text/TextStream.h:
2835 * plugins/win/PluginViewWin.cpp:
2836 (WebCore::PluginView::init):
2838 2008-10-07 Alp Toker <alp@nuanti.com>
2840 GTK+ build fix for older automake versions (1.7). Discussed in bug
2845 2008-10-07 Anders Carlsson <andersca@apple.com>
2847 Reviewed by Antti Koivisto.
2849 <rdar://problem/6273887> Crash in ApplicationCacheGroup
2851 Make sure to stop loading even before a cache update is in progress so that the
2852 manifest load will be stopped.
2854 * loader/appcache/ApplicationCacheGroup.cpp:
2855 (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup):
2856 (WebCore::ApplicationCacheGroup::stopLoading):
2857 (WebCore::ApplicationCacheGroup::cacheUpdateFailed):
2859 2008-10-07 Timothy Hatcher <timothy@apple.com>
2861 Auto-generate DOMDocument's createNodeIterator: and createTreeWalker: methods.
2863 https://bugs.webkit.org/show_bug.cgi?id=21433
2865 Reviewed by Sam Weinig.
2867 * WebCore.xcodeproj/project.pbxproj: Add ObjCNodeFilterCondition.{mm,h}.
2868 * bindings/objc/DOM.mm: Remove previous category implementations
2869 on DOMDocument for createNodeIterator: and createTreeWalker:. Also
2870 moves ObjCNodeFilterCondition to its own file.
2871 * bindings/objc/DOMTraversal.h: Remove the category methods that added
2872 createNodeIterator: and createTreeWalker: to DOMDocument. This is fine
2873 to do since DOmDocument.h is included still, and has these methods.
2874 * bindings/objc/DOMUtility.mm:
2875 (JSC::createDOMWrapper): Remove special case for JSNodeIterator and
2876 JSTreeWalker now that the ObjC binding conforms to the standard wrap.
2877 * bindings/objc/ObjCNodeFilterCondition.h: Split out from DOM.mm.
2878 (WebCore::ObjCNodeFilterCondition::create): Moved from DOM.mm.
2879 (WebCore::ObjCNodeFilterCondition::ObjCNodeFilterCondition): Ditto.
2880 * bindings/objc/ObjCNodeFilterCondition.mm: Split out from DOM.mm.
2881 (WebCore::ObjCNodeFilterCondition::acceptNode): Moved from DOM.mm.
2882 * bindings/objc/PublicDOMInterfaces.h: Add the createNodeIterator: and
2883 createTreeWalker: methods to DOMDocument.
2884 * bindings/scripts/CodeGeneratorObjC.pm:
2885 (GetObjCTypeGetter): Add a case for NodeFilter.
2886 (AddIncludesForType): Include ObjCNodeFilterCondition.h for NodeFilter.
2887 (GenerateImplementation): Remove existing NodeFilter special case that
2888 used the m_filter member variable. Add a new special getter for protocol
2889 types that aren't EventTarget, so the right class is used for NodeFilter.
2890 Add a special case for NodeFilter where it creates an ObjCNodeFilterCondition.
2891 * dom/Document.idl: Remove the #ifdef LANGUAGE_OBJECTIVE_C. Add the
2892 OldStyleObjC extended attribute to createNodeIterator and createTreeWalker.
2893 Rename the entityReferenceExpansion parameter to expandEntityReferences to
2894 match the previous ObjC API.
2895 * dom/NodeIterator.idl: Remove ObjCIvar from the filter attribute. The
2896 m_filter member variable was never used in practice, it was always nil!
2897 We can remove it and not pad the object because this can't be subclassed.
2898 * dom/TreeWalker.idl: Ditto.
2900 2008-10-07 Timothy Hatcher <timothy@apple.com>
2902 Auto-generate the DOMEventTarget protocol implementation for
2903 DOMNode and DOMSVGElementInstance.
2905 https://bugs.webkit.org/show_bug.cgi?id=21432
2907 Reviewed by Darin Adler.
2909 * WebCore.xcodeproj/project.pbxproj: Add ObjCEventListener.{mm,h}.
2910 * bindings/objc/DOM.mm: Remove many unneeded header includes. Move
2911 ObjCEventListener to it's own file. Remove the manual impelmentations
2912 of the DOMEventTarget protocol for DOMNode and DOMSVGElementInstance.
2913 * bindings/objc/DOMEvents.h: Remove the categories that defined
2914 DOMEventTarget for DOMNode and DOMSVGElementInstance.
2915 * bindings/objc/ObjCEventListener.h: Split out from DOM.mm.
2916 * bindings/objc/ObjCEventListener.mm: Split out from DOM.mm.
2917 (WebCore::ObjCEventListener::find): Moved from DOM.mm.
2918 (WebCore::ObjCEventListener::wrap): Use PassRefPtr to prevent the
2919 callers from doing a manual deref.
2920 (WebCore::ObjCEventListener::ObjCEventListener): Moved from DOM.mm.
2921 (WebCore::ObjCEventListener::~ObjCEventListener): Ditto.
2922 * bindings/scripts/CodeGeneratorObjC.pm:
2923 (GetObjCTypeGetter): Add a case for EventListener and use WTF::getPtr.
2924 (AddIncludesForType): Include ObjCEventListener.h for EventListener.
2925 And include EventTargetSVGElementInstance.h for SVGElementInstance.
2926 (GenerateHeader): Remove the check for multiple parents.
2927 (GenerateImplementation): Remove the check for multiple parents. Remove
2928 the @deprecatedFunctions array since deprecated methods get generated
2929 into the main @interface now to work with protocols. Add support
2930 for the EventTargetNodeCast extended attribute. Add support for
2931 EventListener parameters.
2932 * dom/Node.idl: Define superclasses for ObjC so the implementation
2933 and interface implement the DOMEventTarget protocol. Explicitly
2934 specify Object as a superclass to use DOMEventTarget. Object will turn
2935 into DOMObject. This is needed to take the code generator down the right
2936 path of multiple super-classes as protocols. It is ObjC only for legacy
2937 reasons. The event target methods are normally on NodeEventTarget, a
2938 subclass of Node. But the ObjC API has never has this subclass and
2939 they are on DOMNode.
2940 * svg/SVGElementInstance.idl: Ditto.
2942 2008-10-07 David Hyatt <hyatt@apple.com>
2944 Add new pseudo-elements and pseudo-classes that will enable scrollbars to be styled by CSS.
2946 The new pseudo-elements are:
2953 These elements will work with all the usual pseudo-classes (:hover, :active, :enabled, :disabled, etc.) and with
2954 the following new pseudo-classes:
2958 scrollbar-horizontal
2963 * css/CSSSelector.cpp:
2964 (WebCore::CSSSelector::extractPseudoType):
2965 * css/CSSSelector.h:
2966 (WebCore::CSSSelector::):
2968 2008-10-06 Timothy Hatcher <timothy@apple.com>
2970 Add support to the Resources panel for queries like "#123", "foo #123",
2971 "line: 123" and "foo line: 123". These will match the query limiting
2972 the search only to the line specified. If only a line is specified,
2973 the whole line is matched.
2975 https://bugs.webkit.org/show_bug.cgi?id=21422
2977 Reviewed by Darin Adler.
2979 * inspector/front-end/SourceFrame.js:
2980 (WebInspector.SourceFrame.prototype.sourceRow): Don't return the last
2981 row if the index is greater than the rows collection. Let it return
2982 undefined by indexing out-of-bounds.
2983 * inspector/front-end/SourceView.js:
2984 (WebInspector.SourceView.prototype.performSearch): Add support for
2985 queries like "#123", "foo #123", "line: 123" and "foo line: 123".
2986 Also match the whole query to the whole document in case there are
2989 2008-10-07 Alp Toker <alp@nuanti.com>
2991 Reviewed by Mark Rowe.
2993 https://bugs.webkit.org/show_bug.cgi?id=21392
2994 [GTK] Auto-generate JS DOM binding sources list
2996 Remove the huge lists of generated DOM binding sources and headers in
2997 the build system. These are difficult to maintain and can be derived
3000 The new strategy is to re-use the existing lists of IDL sources (which
3001 are needed for dist support anyway). This will also ease the addition
3002 of new language bindings.
3006 2008-10-07 Tor Arne Vestbø <tavestbo@trolltech.com>
3010 Don't attempt to paint when updating control tints
3012 We don't have a valid PlatformGraphicsContext so schedule
3013 the dirty scrollbar/scrollview area for repaint instead.
3015 * platform/qt/ScrollbarThemeQt.cpp:
3016 (WebCore::ScrollbarThemeQt::paint):
3017 (WebCore::ScrollbarThemeQt::paintScrollCorner):
3019 2008-10-07 Holger Hans Peter Freyther <zecke@selfish.org>
3021 [qt] Build fix after Scrollbar.h and Widget.h changes.
3023 * plugins/qt/PluginViewQt.cpp:
3024 (WebCore::PluginView::getValue):
3025 (WebCore::PluginView::init):
3027 2008-10-06 David Hyatt <hyatt@apple.com>
3029 Enable viewless Mac WebKit to (kinda sorta) paint basic pages (with no frames on them).
3031 Reviewed by Sam Weinig
3034 * WebCore.xcodeproj/project.pbxproj:
3035 * loader/EmptyClients.h:
3036 (WebCore::EmptyFrameLoaderClient::hasWebView):
3037 * loader/FrameLoader.cpp:
3038 (WebCore::FrameLoader::loadWithDocumentLoader):
3039 (WebCore::FrameLoader::transitionToCommitted):
3040 * loader/FrameLoaderClient.h:
3041 * page/FocusController.cpp:
3042 (WebCore::FocusController::setActive):
3043 * page/FrameView.cpp:
3044 (WebCore::FrameView::FrameView):
3045 (WebCore::FrameView::init):
3046 (WebCore::FrameView::layoutIfNeededRecursive):
3049 2008-10-06 Dan Bernstein <mitz@apple.com>
3053 * bindings/objc/DOMEvents.h:
3055 2008-10-06 Mark Mentovai <mark@moxienet.com>
3057 Reviewed by Tim Hatcher.
3059 Use #if ENABLE(feature) where possible, and #if ENABLE_feature where
3060 Platform.h is not available, in preference to #ifdef ENABLE_feature.
3061 #ifdef is wrong now that features are disabled by #defining
3062 ENABLE_feature to 0.
3064 https://bugs.webkit.org/show_bug.cgi?id=21338
3066 * bindings/objc/DOMEvents.h:
3067 * bindings/objc/PublicDOMInterfaces.h:
3069 * page/DOMWindow.idl:
3072 2008-10-06 Mark Mentovai <mark@moxienet.com>
3074 Reviewed by Sam Weinig.
3076 * platform/network/mac/FormDataStreamMac.mm: #import <wtf/Threading.h>
3077 to get the declaration for isMainThread().
3079 2008-10-06 Jeremy Moskovich <jeremy@chromium.org>
3081 Reviewed by Tim Hatcher.
3083 WebCoreObjCExtras.c is actually an obj-c++ file, so change its name
3086 * WebCore.xcodeproj/project.pbxproj:
3087 * platform/mac/WebCoreObjCExtras.c: Removed.
3088 * platform/mac/WebCoreObjCExtras.mm: Copied from WebCore/platform/mac/WebCoreObjCExtras.c.
3090 2008-10-06 Jeremy Moskovich <jeremy@chromium.org>
3092 Reviewed by Dan Bernstein.
3094 Added C++ forward declaration for the NSURLAuthenticationChallenge class
3095 so that the m_currentMacChallenge variable doesn't cause a
3096 compilation error when ResourceHandleInternal.h is included from a C++ file.
3097 Fixes: https://bugs.webkit.org/show_bug.cgi?id=21411
3099 * platform/network/ResourceHandleInternal.h:
3101 2008-10-06 Steve Falkenburg <sfalken@apple.com>
3105 * WebCore.vcproj/WebCore.vcproj:
3107 2008-10-06 Steve Falkenburg <sfalken@apple.com>
3109 https://bugs.webkit.org/show_bug.cgi?id=21416
3110 Add missing null checks identified by Application Verifier.
3112 Reviewed by Darin Adler.
3114 * platform/win/SharedTimerWin.cpp:
3115 (WebCore::clearTimer):
3117 2008-10-06 Kevin McCullough <kmccullough@apple.com>
3119 Reviewed by Tim Hatcher.
3121 Removed accidentally left in debugging statement.
3123 * inspector/front-end/inspector.js:
3125 2008-10-06 Kevin McCullough <kmccullough@apple.com>
3127 Reviewed by Tim Hatcher and Oliver Hunt.
3129 https://bugs.webkit.org/show_bug.cgi?id=21412
3130 Bug 21412: Refactor user initiated profile count to be more stable
3132 * inspector/InspectorController.cpp: Keep track of the user-initiated
3134 (WebCore::InspectorController::InspectorController):
3135 (WebCore::InspectorController::startUserInitiatedProfiling):
3136 (WebCore::InspectorController::stopUserInitiatedProfiling):
3137 * inspector/InspectorController.h:
3138 The front end will now need to check for the existence of the user-
3139 initiated profile title and use its count instead of keeping its own.
3140 * inspector/front-end/ProfilesPanel.js:
3142 2008-10-06 Dan Bernstein <mitz@apple.com>
3144 Reviewed by Sam Weinig.
3146 - separate GDI text drawing into its own function
3148 * platform/graphics/win/FontCGWin.cpp:
3149 (WebCore::drawGDIGlyphs):
3150 (WebCore::Font::drawGlyphs):
3152 2008-10-03 Steve Falkenburg <sfalken@apple.com>
3154 <rdar://problem/6249833> Fix default button appearance
3156 Reviewed by Adele Peterson.
3158 * rendering/RenderThemeWin.cpp:
3159 (WebCore::RenderThemeWin::supportsFocus):
3160 (WebCore::RenderThemeWin::determineClassicState):
3161 (WebCore::RenderThemeWin::determineButtonState):
3162 (WebCore::RenderThemeWin::getClassicThemeData):
3163 (WebCore::RenderThemeWin::getThemeData):
3164 (WebCore::drawControl):
3165 * rendering/RenderThemeWin.h:
3167 2008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com>
3171 Add native virtual keycode to PlatformKeyboardEvent
3173 * platform/PlatformKeyboardEvent.h:
3174 * platform/gtk/KeyEventGtk.cpp:
3175 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
3176 * platform/mac/KeyEventMac.mm:
3177 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
3178 * platform/qt/PlatformKeyboardEventQt.cpp:
3179 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
3180 * platform/win/KeyEventWin.cpp:
3181 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
3182 * platform/wx/KeyboardEventWx.cpp:
3183 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
3185 2008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com>
3189 Enable WebCore::String <> CFStringRef conversion functions for QtWebKit/Mac
3191 * platform/text/PlatformString.h:
3192 * platform/text/StringImpl.h:
3193 * platform/text/cf/StringCF.cpp:
3194 * platform/text/cf/StringImplCF.cpp:
3196 2008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com>
3200 Use bundles on QtWebKit/Mac for platform modules
3202 * platform/FileSystem.h:
3203 * platform/qt/FileSystemQt.cpp:
3204 (WebCore::unloadModule):
3206 2008-10-06 Ariya Hidayat <ariya.hidayat@trolltech.com>
3210 Build fix for MinGW.
3212 * platform/win/SystemTimeWin.cpp:
3213 * plugins/win/PluginViewWin.cpp:
3214 (WebCore::PluginView::invalidateRect):
3216 2008-10-06 Adam Roben <aroben@apple.com>
3218 Mimic the inspector/ directory structure in WebCore.vcproj
3220 * WebCore.vcproj/WebCore.vcproj:
3222 2008-10-06 Adam Roben <aroben@apple.com>
3226 * WebCore.vcproj/WebCore.vcproj: Update the Include path for all
3227 configurations to include WebCore/inspector.
3229 2008-10-04 Eric Seidel <eric@webkit.org>
3231 Reviewed by Darin Adler.
3233 SVG should support ascent and descent properties <font-face> instead of <font>!
3234 https://bugs.webkit.org/show_bug.cgi?id=21365
3236 Tested by many many existing SVG tests.
3238 * svg/SVGFontFaceElement.cpp:
3239 (WebCore::SVGFontFaceElement::ascent):
3240 (WebCore::SVGFontFaceElement::descent):
3242 2008-10-05 Darin Fisher <darin@chromium.org>
3244 Reviewed by Eric Seidel.
3246 REGRESSION: crash in ScriptElement::notifyFinished
3247 Fixes https://bugs.webkit.org/show_bug.cgi?id=21329
3249 * dom/ScriptElement.cpp:
3250 (WebCore::ScriptElementData::notifyFinished): Revert part of r35744 to
3251 ensure that the ScriptElementData object is not destroyed prematurely.
3253 2008-10-05 Chris Lord <chris@openedhand.com>
3255 Reviewed by Alp Toker. Landed by Jan Alonzo.
3257 https://bugs.webkit.org/show_bug.cgi?id=20624
3258 WebKit-gtk uses deprecated GtkType/GtkObject
3260 * plugins/gtk/gtk2xtbin.c:
3261 (gtk_xtbin_get_type):
3262 * plugins/gtk/gtk2xtbin.h:
3264 2008-10-05 Luke Kenneth Casson Leighton <lkcl@lkcl.net>
3266 Reviewed by David Hyatt.
3268 GTK_WINDOW_HWND not GTK_WINDOWING_HWND
3269 https://bugs.webkit.org/show_bug.cgi?id=20725
3271 Updated to ToT by Jan Alonzo.
3273 * plugins/gtk/PluginViewGtk.cpp:
3274 (WebCore::PluginView::getValue):
3276 2008-10-05 Jan Michael Alonzo <jmalonzo@webkit.org>
3278 Reviewed by Darin Adler.
3280 Invalid cast from GdkWindow to GtkWidget
3281 https://bugs.webkit.org/show_bug.cgi?id=21391
3283 Fix a misplaced closing parenthesis to actually cast the widget, not the window
3285 * platform/gtk/PlatformScreenGtk.cpp:
3286 (WebCore::screenDepth):
3288 2008-10-05 Adam Barth <abarth@webkit.org>
3290 Reviewed by Darin Alder.
3292 Attach the Origin header to POST requests to help defend against
3293 cross-site request forgery.
3295 https://bugs.webkit.org/show_bug.cgi?id=20792
3297 Collin Jackson <collinj@webkit.org> also contributed to this patch.
3299 Tests: http/tests/security/originHeader/origin-header-for-data.html
3300 http/tests/security/originHeader/origin-header-for-empty.html
3301 http/tests/security/originHeader/origin-header-for-get.html
3302 http/tests/security/originHeader/origin-header-for-https.html
3303 http/tests/security/originHeader/origin-header-for-post.html
3305 * bindings/js/JSDOMWindowBase.cpp:
3306 (WebCore::createWindow):
3307 * loader/FrameLoader.cpp:
3308 (WebCore::FrameLoader::createWindow):
3309 (WebCore::FrameLoader::urlSelected):
3310 (WebCore::FrameLoader::submitForm):
3311 (WebCore::FrameLoader::outgoingOrigin):
3312 (WebCore::FrameLoader::loadURL):
3313 (WebCore::FrameLoader::addExtraFieldsToRequest):
3314 (WebCore::FrameLoader::loadPostRequest):
3315 (WebCore::FrameLoader::loadResourceSynchronously):
3316 (WebCore::FrameLoader::loadItem):
3317 * loader/FrameLoader.h:
3318 * loader/SubresourceLoader.cpp:
3319 (WebCore::SubresourceLoader::create):
3320 * loader/loader.cpp:
3321 (WebCore::Loader::Host::servePendingRequests):
3322 * platform/SecurityOrigin.cpp:
3323 (WebCore::SecurityOrigin::toHTTPOrigin):
3324 * platform/SecurityOrigin.h:
3325 * platform/network/ResourceRequestBase.h:
3326 (WebCore::ResourceRequestBase::httpOrigin):
3327 (WebCore::ResourceRequestBase::setHTTPOrigin):
3328 (WebCore::ResourceRequestBase::clearHTTPOrigin):
3329 * xml/XMLHttpRequest.cpp:
3330 (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
3331 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
3332 (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
3333 (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
3335 2008-10-04 Oliver Hunt <oliver@apple.com>
3337 Reviewed by Tim Hatcher.
3339 Bug 21381: Incremental parsing of html causes bogus line numbers in some cases
3340 <https://bugs.webkit.org/show_bug.cgi?id=21381>
3342 If we hit a parsing boundary (end of a packet, etc) in the middle of a
3343 <script> element when we are doing an incremental parse, we exit the
3344 parser, and reenter later when more data is available. During this
3345 reentry we incorrectly reset the scriptStartLineno to the current line
3346 in the parser, which is now part way through the script element.
3348 The solution is to track whether we are entering or reentering the parsing
3349 of a script element. We do this simply by 0 checking scriptStartLineno,
3350 and resetting it after we complete parsing of each script element.
3352 Test: http/tests/incremental/pause-in-script-element.pl
3355 * html/HTMLTokenizer.cpp:
3356 (WebCore::HTMLTokenizer::parseSpecial):
3357 (WebCore::HTMLTokenizer::scriptHandler):
3359 2008-10-04 Alp Toker <alp@nuanti.com>
3361 Reviewed by David Hyatt. Landed by Jan Alonzo.
3363 https://bugs.webkit.org/show_bug.cgi?id=20924
3364 [Gtk] Linux/Gtk: Recent tree revisions fail Acid2 and Acid3
3366 https://bugs.webkit.org/show_bug.cgi?id=19578
3367 [CURL] problem in parseDataUrl
3369 De-obfuscate parseDataUrl() and fix regressions introduced in r35954.
3370 This patch also fixes encoding support in escaped (non-Base64) data
3371 URLs. All manual data URL tests now pass in both GLib and non-GLib
3374 * platform/network/curl/ResourceHandleManager.cpp:
3375 (WebCore::parseDataUrl):
3377 2008-10-04 Timothy Hatcher <timothy@apple.com>
3379 Makes breakpoints and debugging code during page load work in the
3380 Web Inspector's debugger. Specifically, this makes the source
3381 code for loading resources show up in the Scripts panel.
3383 https://bugs.webkit.org/show_bug.cgi?id=19053
3384 rdar://problem/5933408
3386 Reviewed by Mark Rowe.
3388 * WebCore.xcodeproj/project.pbxproj: Mark the inspector group as
3389 not using tabs and a tab width of 8.
3390 * inspector/InspectorController.cpp:
3391 (WebCore::addResourceSourceToFrame): Return a bool to report if the
3392 source was added successfully or not.
3393 (WebCore::addSourceToFrame): Ditto.
3394 * inspector/front-end/ScriptView.js:
3395 (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
3396 Return early if the InspectorController.addSourceToFrame fails.
3397 Moved the delete of the _frameNeedsSetup property after that call so
3398 if the source wasn't added it will be attempted again.
3399 * inspector/front-end/SourceView.js:
3400 (WebInspector.SourceView.prototype.detach): Move a comment.
3401 (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
3402 Don't check if the resource is finished or failed, just attempt
3403 to add the source to the frame. WebCore has the source, but the
3404 finished property hasn't been set yet. Return early if the
3405 InspectorController.addSourceToFrame fails. Moved the delete
3406 of the _frameNeedsSetup property after that call so if the source
3407 wasn't added it will be attempted again.
3408 (WebInspector.SourceView.prototype._resourceLoadingFinished):
3409 Clear the _frameNeedsSetup and _sourceFrameSetup properties so
3410 the source frame will we populated again now that the resource
3412 * manual-tests/inspector/debugger-pause-during-load.html: Added.
3414 2008-10-04 Mark Rowe <mrowe@apple.com>
3416 Reviewed by Tim Hatcher.
3418 Add a 'Check For Weak VTables' build phase to catch weak vtables as early as possible.
3420 * WebCore.xcodeproj/project.pbxproj:
3422 2008-10-04 David Hyatt <hyatt@apple.com>
3424 https://bugs.webkit.org/show_bug.cgi?id=21373
3426 Tear down scrollbars in FrameView rather than ScrollView so that the connection to the hostWindow()
3429 Reviewed by Mark Rowe
3431 * page/FrameView.cpp:
3432 (WebCore::FrameView::~FrameView):
3434 2008-10-04 Sam Weinig <sam@webkit.org>
3436 Reviewed by Dan Bernstein.
3438 Avoid copying a Vector when using getSupportedKeySizes.
3440 * html/HTMLKeygenElement.cpp:
3441 (WebCore::HTMLKeygenElement::HTMLKeygenElement):
3442 * platform/SSLKeyGenerator.h:
3443 * platform/gtk/TemporaryLinkStubs.cpp:
3444 (WebCore::getSupportedKeySizes):
3445 * platform/mac/SSLKeyGeneratorMac.mm:
3446 (WebCore::getSupportedKeySizes):
3447 * platform/qt/TemporaryLinkStubs.cpp:
3448 (WebCore::getSupportedKeySizes):
3449 * platform/win/TemporaryLinkStubs.cpp:
3450 (WebCore::getSupportedKeySizes):
3451 * platform/wx/TemporaryLinkStubs.cpp:
3452 (WebCore::getSupportedKeySizes):
3454 2008-10-04 Darin Adler <darin@apple.com>
3456 Reviewed by Cameron Zwarich.
3458 - prepare for https://bugs.webkit.org/show_bug.cgi?id=21295
3459 Bug 21295: Replace ExecState with a call frame Register pointer
3461 * bindings/js/JSQuarantinedObjectWrapper.cpp:
3462 (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom):
3463 Remove bogus "const".
3464 * bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
3466 2008-10-04 David Hyatt <hyatt@apple.com>
3468 Make PopupMenuClient obey the platform abstraction. Remove any connection to Document and RenderStyle.
3470 Reviewed by Darin Adler
3472 * WebCore.xcodeproj/project.pbxproj:
3473 * platform/PopupMenuClient.h:
3474 * platform/gtk/PopupMenuGtk.cpp:
3475 (WebCore::PopupMenu::show):
3476 * platform/mac/PopupMenuMac.mm:
3477 (WebCore::PopupMenu::populate):
3478 (WebCore::PopupMenu::show):
3479 * platform/qt/PopupMenuQt.cpp:
3480 (WebCore::PopupMenu::populate):
3481 * platform/win/PopupMenuWin.cpp:
3482 (WebCore::PopupMenu::calculatePositionAndSize):
3483 (WebCore::PopupMenu::paint):
3484 (WebCore::PopupWndProc):
3485 * rendering/RenderMenuList.cpp:
3486 (WebCore::RenderMenuList::itemStyle):
3487 (WebCore::RenderMenuList::menuStyle):
3488 (WebCore::RenderMenuList::hostWindow):
3489 * rendering/RenderMenuList.h:
3490 * rendering/RenderTextControl.cpp:
3491 (WebCore::RenderTextControl::itemStyle):
3492 (WebCore::RenderTextControl::menuStyle):
3493 (WebCore::RenderTextControl::hostWindow):
3494 * rendering/RenderTextControl.h:
3496 2008-10-04 Matt Lilek <webkit@mattlilek.com>
3498 Build fix - restore Private role to headers that had it before the move.
3500 * WebCore.xcodeproj/project.pbxproj:
3502 2008-10-04 Darin Adler <darin@apple.com>
3506 * DerivedSources.make: Add new inspector directory to VPATH.
3507 * GNUmakefile.am: Add new inspector directory to includes.
3508 Re-sort the IDL_BINDINGS list. Add new inspector directory
3511 2008-10-04 Matt Lilek <webkit@mattlilek.com>
3513 Not reviewed, attempt to fix Gtk build.
3517 2008-10-03 Timothy Hatcher <timothy@apple.com>
3519 Move the Web Inspector files into a top-level "inspector" folder.
3521 https://bugs.webkit.org/show_bug.cgi?id=21359
3523 Reviewed by Dave Hyatt.
3527 * WebCore.vcproj/WebCore.vcproj:
3528 * WebCore.xcodeproj/project.pbxproj:
3529 * WebCoreSources.bkl:
3530 * inspector/InspectorClient.h: Renamed from WebCore/page/InspectorClient.h.
3531 * inspector/InspectorController.cpp: Renamed from WebCore/page/InspectorController.cpp.
3532 * inspector/InspectorController.h: Renamed from WebCore/page/InspectorController.h.
3533 * inspector/JavaScriptCallFrame.cpp: Renamed from WebCore/page/JavaScriptCallFrame.cpp.
3534 * inspector/JavaScriptCallFrame.h: Renamed from WebCore/page/JavaScriptCallFrame.h.
3535 * inspector/JavaScriptCallFrame.idl: Renamed from WebCore/page/JavaScriptCallFrame.idl.
3536 * inspector/JavaScriptDebugListener.h: Renamed from WebCore/page/JavaScriptDebugListener.h.
3537 * inspector/JavaScriptDebugServer.cpp: Renamed from WebCore/page/JavaScriptDebugServer.cpp.
3538 * inspector/JavaScriptDebugServer.h: Renamed from WebCore/page/JavaScriptDebugServer.h.
3539 * inspector/JavaScriptProfile.cpp: Renamed from WebCore/page/JavaScriptProfile.cpp.
3540 * inspector/JavaScriptProfile.h: Renamed from WebCore/page/JavaScriptProfile.h.
3541 * inspector/JavaScriptProfileNode.cpp: Renamed from WebCore/page/JavaScriptProfileNode.cpp.
3542 * inspector/JavaScriptProfileNode.h: Renamed from WebCore/page/JavaScriptProfileNode.h.
3543 * inspector/front-end/Breakpoint.js: Renamed from WebCore/page/inspector/Breakpoint.js.
3544 * inspector/front-end/BreakpointsSidebarPane.js: Renamed from WebCore/page/inspector/BreakpointsSidebarPane.js.
3545 * inspector/front-end/CallStackSidebarPane.js: Renamed from WebCore/page/inspector/CallStackSidebarPane.js.
3546 * inspector/front-end/Console.js: Renamed from WebCore/page/inspector/Console.js.
3547 * inspector/front-end/DataGrid.js: Renamed from WebCore/page/inspector/DataGrid.js.
3548 * inspector/front-end/Database.js: Renamed from WebCore/page/inspector/Database.js.
3549 * inspector/front-end/DatabaseQueryView.js: Renamed from WebCore/page/inspector/DatabaseQueryView.js.
3550 * inspector/front-end/DatabaseTableView.js: Renamed from WebCore/page/inspector/DatabaseTableView.js.
3551 * inspector/front-end/DatabasesPanel.js: Renamed from WebCore/page/inspector/DatabasesPanel.js.
3552 * inspector/front-end/ElementsPanel.js: Renamed from WebCore/page/inspector/ElementsPanel.js.
3553 * inspector/front-end/ElementsTreeOutline.js: Renamed from WebCore/page/inspector/ElementsTreeOutline.js.
3554 * inspector/front-end/FontView.js: Renamed from WebCore/page/inspector/FontView.js.
3555 * inspector/front-end/ImageView.js: Renamed from WebCore/page/inspector/ImageView.js.
3556 * inspector/front-end/Images/back.png: Renamed from WebCore/page/inspector/Images/back.png.
3557 * inspector/front-end/Images/checker.png: Renamed from WebCore/page/inspector/Images/checker.png.
3558 * inspector/front-end/Images/clearConsoleButtons.png: Renamed from WebCore/page/inspector/Images/clearConsoleButtons.png.
3559 * inspector/front-end/Images/closeButtons.png: Renamed from WebCore/page/inspector/Images/closeButtons.png.
3560 * inspector/front-end/Images/consoleButtons.png: Renamed from WebCore/page/inspector/Images/consoleButtons.png.
3561 * inspector/front-end/Images/database.png: Renamed from WebCore/page/inspector/Images/database.png.
3562 * inspector/front-end/Images/databaseTable.png: Renamed from WebCore/page/inspector/Images/databaseTable.png.
3563 * inspector/front-end/Images/databasesIcon.png: Renamed from WebCore/page/inspector/Images/databasesIcon.png.
3564 * inspector/front-end/Images/debuggerContinue.png: Renamed from WebCore/page/inspector/Images/debuggerContinue.png.
3565 * inspector/front-end/Images/debuggerPause.png: Renamed from WebCore/page/inspector/Images/debuggerPause.png.
3566 * inspector/front-end/Images/debuggerStepInto.png: Renamed from WebCore/page/inspector/Images/debuggerStepInto.png.
3567 * inspector/front-end/Images/debuggerStepOut.png: Renamed from WebCore/page/inspector/Images/debuggerStepOut.png.
3568 * inspector/front-end/Images/debuggerStepOver.png: Renamed from WebCore/page/inspector/Images/debuggerStepOver.png.
3569 * inspector/front-end/Images/debuggingButtons.png: Renamed from WebCore/page/inspector/Images/debuggingButtons.png.
3570 * inspector/front-end/Images/disclosureTriangleSmallDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDown.png.
3571 * inspector/front-end/Images/disclosureTriangleSmallDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownBlack.png.
3572 * inspector/front-end/Images/disclosureTriangleSmallDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownWhite.png.
3573 * inspector/front-end/Images/disclosureTriangleSmallRight.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRight.png.
3574 * inspector/front-end/Images/disclosureTriangleSmallRightBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightBlack.png.
3575 * inspector/front-end/Images/disclosureTriangleSmallRightDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDown.png.
3576 * inspector/front-end/Images/disclosureTriangleSmallRightDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownBlack.png.
3577 * inspector/front-end/Images/disclosureTriangleSmallRightDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownWhite.png.
3578 * inspector/front-end/Images/disclosureTriangleSmallRightWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightWhite.png.
3579 * inspector/front-end/Images/dockButtons.png: Renamed from WebCore/page/inspector/Images/dockButtons.png.
3580 * inspector/front-end/Images/elementsIcon.png: Renamed from WebCore/page/inspector/Images/elementsIcon.png.
3581 * inspector/front-end/Images/errorIcon.png: Renamed from WebCore/page/inspector/Images/errorIcon.png.
3582 * inspector/front-end/Images/errorMediumIcon.png: Renamed from WebCore/page/inspector/Images/errorMediumIcon.png.
3583 * inspector/front-end/Images/excludeButtons.png: Renamed from WebCore/page/inspector/Images/excludeButtons.png.
3584 * inspector/front-end/Images/focusButtons.png: Renamed from WebCore/page/inspector/Images/focusButtons.png.
3585 * inspector/front-end/Images/forward.png: Renamed from WebCore/page/inspector/Images/forward.png.