From ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddb Mon Sep 17 00:00:00 2001 From: Ben Murdoch Date: Mon, 16 May 2011 16:25:10 +0100 Subject: Merge WebKit at r76408: Initial merge by git. Change-Id: I5b91decbd693ccbf5c1b8354b37cd68cc9a1ea53 --- Source/WebCore/ChangeLog | 5051 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 5050 insertions(+), 1 deletion(-) (limited to 'Source/WebCore/ChangeLog') diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog index e8fe2cd..d523cdb 100644 --- a/Source/WebCore/ChangeLog +++ b/Source/WebCore/ChangeLog @@ -1,3 +1,5053 @@ +2011-01-21 Charlie Reis + + Reviewed by Darin Fisher. + + Crash in WebCore::HistoryController::itemsAreClones + https://bugs.webkit.org/show_bug.cgi?id=52819 + + Adds sanity checks to help diagnose the crash. + + * loader/HistoryController.cpp: + +2011-01-21 Andreas Kling + + Reviewed by Ariya Hidayat. + + [Qt] Let QPainter decide whether a composition mode is supported or not + + Lacking Porter-Duff support in the paint engine shouldn't exclude the + Source and Source-Over modes (and has nothing to do with the blend + and raster-op modes.) + + Delegate this decision to QPainter instead (this will cause warnings + if an unsupported mode is used, but that's a good thing.) + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::clearRect): + (WebCore::GraphicsContext::setPlatformCompositeOperation): + * platform/graphics/qt/TransparencyLayer.h: + (WebCore::TransparencyLayer::TransparencyLayer): + +2011-01-21 Chris Rogers + + Reviewed by Kenneth Russell. + + fix audio build: header file should be "Noncopyable.h" and not "NonCopyable.h" + https://bugs.webkit.org/show_bug.cgi?id=52933 + + No new tests since this just fixes the build + + * webaudio/RealtimeAnalyser.h: + +2011-01-21 Chris Rogers + + Reviewed by Kenneth Russell. + + Fix audio build: change ChromiumBridge to PlatformBridge + https://bugs.webkit.org/show_bug.cgi?id=52928 + + No new tests since audio API is not yet implemented. + + * platform/audio/chromium/AudioBusChromium.cpp: + (WebCore::AudioBus::loadPlatformResource): + +2011-01-21 Chris Rogers + + Reviewed by Kenneth Russell. + + Add FFTFrameStub to avoid link errors during bringup on platforms without an FFT implementation + https://bugs.webkit.org/show_bug.cgi?id=52922 + + No new tests since audio API is not yet implemented. + + * WebCore.gypi: + * platform/audio/FFTFrameStub.cpp: Added. + (WebCore::FFTFrame::FFTFrame): + (WebCore::FFTFrame::~FFTFrame): + (WebCore::FFTFrame::multiply): + (WebCore::FFTFrame::doFFT): + (WebCore::FFTFrame::doInverseFFT): + (WebCore::FFTFrame::cleanup): + (WebCore::FFTFrame::realData): + (WebCore::FFTFrame::imagData): + +2011-01-21 Tony Chang + + Reviewed by Sam Weinig. + + reduce number of FrameLoaderClient::didChangeScrollOffset calls + https://bugs.webkit.org/show_bug.cgi?id=52915 + + Only notify of changes in scroll offset when there actually is a change. + This regressed in r76291. + + Covered by Chromium browser_tests. + + * platform/ScrollAnimator.cpp: + (WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation): + +2011-01-21 Pavel Feldman + + Reviewed by Yury Semikhatsky. + + Web Inspector: ~InspectorResourceAgent crashes on closing inspected page. + https://bugs.webkit.org/show_bug.cgi?id=52900 + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::~InspectorController): + (WebCore::InspectorController::inspectedPageDestroyed): + +2011-01-21 Chris Rogers + + Reviewed by Darin Fisher. + + Add run-time enable support for the web audio API + https://bugs.webkit.org/show_bug.cgi?id=52741 + + No new tests since audio API is not yet implemented. + + * WebCore.exp.in: + * bindings/generic/RuntimeEnabledFeatures.cpp: + * bindings/generic/RuntimeEnabledFeatures.h: + (WebCore::RuntimeEnabledFeatures::setWebkitAudioContextEnabled): + (WebCore::RuntimeEnabledFeatures::webkitAudioContextEnabled): + * page/DOMWindow.idl: + * page/Settings.cpp: + (WebCore::Settings::Settings): + (WebCore::Settings::setWebAudioEnabled): + * page/Settings.h: + (WebCore::Settings::webAudioEnabled): + +2011-01-21 Martin Robinson + + Reviewed by Xan Lopez. + + [GTK] Menulist text often collides with separator + https://bugs.webkit.org/show_bug.cgi?id=51155 + + Move menulist rendering to RenderThemeGtk and correct padding code + for separators in menulists. + + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::RenderThemeGtk::RenderThemeGtk): Initialize new widget members. + (WebCore::RenderThemeGtk::getComboBoxSeparatorWidth): Added. + (WebCore::RenderThemeGtk::comboBoxArrowSize): Added. + (WebCore::getButtonInnerBorder): Added. + (WebCore::RenderThemeGtk::getComboBoxPadding): Do this manually instead of using + Mozilla code. + (WebCore::RenderThemeGtk::paintMenuList): Ditto. + (WebCore::setupWidget): Abstracted this part of the setupWidgetAndAddToContainer + out to handle child widgets of comboboxes. + (WebCore::RenderThemeGtk::setupWidgetAndAddToContainer): Abstracted out setupWidget. + (WebCore::RenderThemeGtk::gtkContainer): Added. + (WebCore::getGtkComboBoxButton): Added. + (WebCore::getGtkComboBoxPieces): Added. + (WebCore::RenderThemeGtk::gtkComboBox): Call setupWidget here. + (WebCore::RenderThemeGtk::refreshComboBoxChildren): Added. + (WebCore::RenderThemeGtk::gtkComboBoxButton): Added. + (WebCore::RenderThemeGtk::gtkComboBoxArrow): Added. + (WebCore::RenderThemeGtk::gtkComboBoxSeparator): Added. + * platform/gtk/RenderThemeGtk.h: Added new members and methods. + * platform/gtk/WidgetRenderingContext.h: Added new members and methods. + * platform/gtk/WidgetRenderingContextGtk2.cpp: + (WebCore::WidgetRenderingContext::gtkPaintArrow): + (WebCore::WidgetRenderingContext::gtkPaintVLine): + * platform/gtk/WidgetRenderingContextGtk3.cpp: + (WebCore::WidgetRenderingContext::gtkPaintArrow): + (WebCore::WidgetRenderingContext::gtkPaintVLine): + * platform/gtk/gtk2drawing.c: Removed code for drawing menulists and buttons. + (moz_gtk_init): + (moz_gtk_get_widget_border): + (moz_gtk_widget_paint): + * platform/gtk/gtk3drawing.c: + (moz_gtk_init): + (moz_gtk_get_widget_border): + (moz_gtk_widget_paint): + * platform/gtk/gtkdrawing.h: + +2011-01-21 Sam Weinig + + Fix chromium mac build. + + * platform/chromium/ScrollbarThemeChromiumMac.mm: + (WebCore::scrollbarStateToThemeState): + (WebCore::ScrollbarThemeChromiumMac::paint): + +2011-01-21 Sam Weinig + + Fix the windows build. + + * platform/ScrollbarThemeComposite.cpp: + (WebCore::ScrollbarThemeComposite::paint): + +2011-01-21 Chris Rogers + + Reviewed by Kenneth Russell. + + Add chromium bundled audio spatialization resources to WebAudio.grd + https://bugs.webkit.org/show_bug.cgi?id=52651 + + No new tests since audio API is not yet implemented. + + * WebCore.gyp/WebCore.gyp: + * platform/audio/chromium/AudioBusChromium.cpp: + (WebCore::AudioBus::loadPlatformResource): + +2011-01-21 Xiyuan Xia + + Reviewed by Tony Chang. + + Use WebThemeEngine for relevant RenderTheme parts for chromium/linux. + https://bugs.webkit.org/show_bug.cgi?id=52826 + + * platform/chromium/ChromiumBridge.h: + * rendering/RenderThemeChromiumLinux.cpp: + (WebCore::getWebThemeState): + (WebCore::RenderThemeChromiumLinux::adjustSliderThumbSize): + (WebCore::RenderThemeChromiumLinux::paintCheckbox): + (WebCore::RenderThemeChromiumLinux::setCheckboxSize): + (WebCore::RenderThemeChromiumLinux::paintRadio): + (WebCore::RenderThemeChromiumLinux::setRadioSize): + (WebCore::RenderThemeChromiumLinux::paintButton): + (WebCore::RenderThemeChromiumLinux::paintTextField): + (WebCore::RenderThemeChromiumLinux::paintMenuList): + (WebCore::RenderThemeChromiumLinux::paintSliderTrack): + (WebCore::RenderThemeChromiumLinux::paintSliderThumb): + (WebCore::RenderThemeChromiumLinux::adjustInnerSpinButtonStyle): + (WebCore::RenderThemeChromiumLinux::paintInnerSpinButton): + (WebCore::RenderThemeChromiumLinux::paintProgressBar): + * rendering/RenderThemeChromiumLinux.h: + * rendering/RenderThemeChromiumSkia.cpp: + (WebCore::RenderThemeChromiumSkia::setCheckboxSize): + (WebCore::RenderThemeChromiumSkia::setSizeIfAuto): + (WebCore::RenderThemeChromiumSkia::indeterminateProgressValueRectFor): + * rendering/RenderThemeChromiumSkia.h: + +2011-01-21 Sam Weinig + + Reviewed by Anders Carlsson. + + Part 2 of "Cleanup Scrollbar/ScrollbarClient relationship" + https://bugs.webkit.org/show_bug.cgi?id=52779 + + Rename ScrollbarClient -> ScrollableArea. + + - Also replaces Scrollbar::setClient with Scrollbar::disconnectFromScrollableArea + since that was its only use case. + + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * accessibility/AccessibilityScrollbar.cpp: + (WebCore::AccessibilityScrollbar::setValue): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass): + * page/FrameView.h: + * platform/PopupMenuClient.h: + * platform/ScrollAnimator.cpp: + (WebCore::ScrollAnimator::create): + (WebCore::ScrollAnimator::ScrollAnimator): + (WebCore::ScrollAnimator::scroll): + (WebCore::ScrollAnimator::notityPositionChanged): + * platform/ScrollAnimator.h: + * platform/ScrollAnimatorWin.cpp: + (WebCore::ScrollAnimator::create): + (WebCore::ScrollAnimatorWin::ScrollAnimatorWin): + (WebCore::ScrollAnimatorWin::scroll): + * platform/ScrollAnimatorWin.h: + * platform/ScrollView.cpp: + (WebCore::ScrollView::scroll): + (WebCore::ScrollView::updateScrollbars): + (WebCore::ScrollView::wheelEvent): + * platform/ScrollView.h: + * platform/ScrollableArea.cpp: Copied from WebCore/platform/ScrollbarClient.cpp. + (WebCore::ScrollableArea::ScrollableArea): + (WebCore::ScrollableArea::~ScrollableArea): + (WebCore::ScrollableArea::scroll): + (WebCore::ScrollableArea::scrollToOffsetWithoutAnimation): + (WebCore::ScrollableArea::scrollToXOffsetWithoutAnimation): + (WebCore::ScrollableArea::scrollToYOffsetWithoutAnimation): + (WebCore::ScrollableArea::setScrollOffsetFromAnimation): + * platform/ScrollableArea.h: Copied from WebCore/platform/ScrollbarClient.h. + * platform/Scrollbar.cpp: + (WebCore::Scrollbar::createNativeScrollbar): + (WebCore::Scrollbar::Scrollbar): + (WebCore::Scrollbar::offsetDidChange): + (WebCore::Scrollbar::autoscrollPressedPart): + (WebCore::Scrollbar::moveThumb): + (WebCore::Scrollbar::mouseMoved): + (WebCore::Scrollbar::isWindowActive): + (WebCore::Scrollbar::invalidateRect): + (WebCore::Scrollbar::convertToContainingView): + (WebCore::Scrollbar::convertFromContainingView): + * platform/Scrollbar.h: + (WebCore::Scrollbar::disconnectFromScrollableArea): + (WebCore::Scrollbar::scrollableArea): + * platform/ScrollbarClient.cpp: Removed. + * platform/ScrollbarClient.h: Removed. + * platform/ScrollbarThemeComposite.cpp: + * platform/chromium/FramelessScrollView.h: + * platform/chromium/ScrollbarThemeChromium.cpp: + (WebCore::ScrollbarThemeChromium::paintTickmarks): + * platform/efl/ScrollbarEfl.cpp: + (Scrollbar::createNativeScrollbar): + (ScrollbarEfl::ScrollbarEfl): + (scrollbarEflEdjeMessage): + * platform/efl/ScrollbarEfl.h: + * platform/gtk/MainFrameScrollbarGtk.cpp: + (MainFrameScrollbarGtk::create): + (MainFrameScrollbarGtk::MainFrameScrollbarGtk): + (MainFrameScrollbarGtk::gtkValueChanged): + * platform/gtk/MainFrameScrollbarGtk.h: + * platform/mac/ScrollAnimatorMac.h: + * platform/mac/ScrollAnimatorMac.mm: + (WebCore::ScrollAnimator::create): + (WebCore::ScrollAnimatorMac::ScrollAnimatorMac): + (WebCore::ScrollAnimatorMac::scroll): + * platform/mac/ScrollbarThemeMac.mm: + (WebCore::ScrollbarThemeMac::paint): + * platform/qt/ScrollbarQt.cpp: + (WebCore::Scrollbar::contextMenu): + * platform/win/PopupMenuWin.cpp: + (WebCore::PopupMenuWin::scrollToRevealSelection): + (WebCore::PopupMenuWin::wndProc): + * platform/win/PopupMenuWin.h: + * platform/win/ScrollbarThemeSafari.cpp: + (WebCore::ScrollbarThemeSafari::paintTrackBackground): + (WebCore::ScrollbarThemeSafari::paintButton): + (WebCore::ScrollbarThemeSafari::paintThumb): + * platform/wx/ScrollbarThemeWx.cpp: + (WebCore::ScrollbarThemeWx::paint): + * rendering/RenderDataGrid.h: + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::scrollToOffset): + (WebCore::RenderLayer::destroyScrollbar): + (WebCore::RenderLayer::scroll): + * rendering/RenderLayer.h: + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::scrollToRevealElementAtListIndex): + (WebCore::RenderListBox::scroll): + (WebCore::RenderListBox::logicalScroll): + (WebCore::RenderListBox::setScrollTop): + (WebCore::RenderListBox::destroyScrollbar): + * rendering/RenderListBox.h: + * rendering/RenderMenuList.cpp: + (WebCore::RenderMenuList::createScrollbar): + * rendering/RenderMenuList.h: + * rendering/RenderScrollbar.cpp: + (WebCore::RenderScrollbar::createCustomScrollbar): + (WebCore::RenderScrollbar::RenderScrollbar): + * rendering/RenderScrollbar.h: + * rendering/RenderTextControlSingleLine.cpp: + (WebCore::RenderTextControlSingleLine::createScrollbar): + * rendering/RenderTextControlSingleLine.h: + +2011-01-21 Darin Adler + + Fix Leopard build. + + * rendering/mathml/RenderMathMLFraction.cpp: + (WebCore::RenderMathMLFraction::layout): Use ceilf instead of ceil. + +2011-01-21 Anton Muhin + + Reviewed by Nate Chapin. + + [v8] Properly deal with the case when conversion to string throws an exception for HTMLCollection accessors + https://bugs.webkit.org/show_bug.cgi?id=52901 + + Test: fast/dom/htmlcollection-conversion-throws-exception.html + + * bindings/v8/custom/V8HTMLCollectionCustom.cpp: + (WebCore::getItem): + +2011-01-21 Adam Roben + + Separate flushing layer changes from rendering in CACFLayerTreeHost + + Old model: + 1) A change is made to a GraphicsLayer. + 2) CACFLayerTreeHost::flushPendingGraphicsLayerChangesSoon is called, which schedules the + render timer. + 3) The timer fires, which calls through to CACFLayerTreeHost::render, which performs the + flush and then renders. + + New model: + 1) A change is made to a GraphicsLayer. + 2) CACFLayerTreeHost::flushPendingGraphicsLayerChangesSoon is called, which tells the new + LayerChangesFlusher singleton that this host has changes that need to be flushed. + 3) LayerChangesFlusher sets up a Windows hook that will get called on the next iteration + of the message loop. + 4) LayerChangesFlusher's hook is called, which calls through to + CACFLayerTreeHost::flushPendingLayerChangesNow. + 5) CACFLayerTreeHost::flushPendingLayerChangesNow schedules the render timer so the changes + that were just flushed to the context will be rendered. + + When a change is made to a PlatformCALayer that doesn't have a corresponding GraphicsLayer + (e.g., for rendering