diff options
author | Ben Murdoch <benm@google.com> | 2011-05-16 16:25:10 +0100 |
---|---|---|
committer | Ben Murdoch <benm@google.com> | 2011-05-23 18:54:14 +0100 |
commit | ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddb (patch) | |
tree | db769fadd053248f85db67434a5b275224defef7 /Source/WebCore/ChangeLog | |
parent | 52e2557aeb8477967e97fd24f20f8f407a10fa15 (diff) | |
download | external_webkit-ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddb.zip external_webkit-ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddb.tar.gz external_webkit-ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddb.tar.bz2 |
Merge WebKit at r76408: Initial merge by git.
Change-Id: I5b91decbd693ccbf5c1b8354b37cd68cc9a1ea53
Diffstat (limited to 'Source/WebCore/ChangeLog')
-rw-r--r-- | Source/WebCore/ChangeLog | 5051 |
1 files changed, 5050 insertions, 1 deletions
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 <creis@chromium.org> + + 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 <kling@webkit.org> + + 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 <crogers@google.com> + + 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 <crogers@google.com> + + 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 <crogers@google.com> + + 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 <tony@chromium.org> + + 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 <pfeldman@chromium.org> + + 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 <crogers@google.com> + + 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 <mrobinson@igalia.com> + + 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 <sam@webkit.org> + + Fix chromium mac build. + + * platform/chromium/ScrollbarThemeChromiumMac.mm: + (WebCore::scrollbarStateToThemeState): + (WebCore::ScrollbarThemeChromiumMac::paint): + +2011-01-21 Sam Weinig <sam@webkit.org> + + Fix the windows build. + + * platform/ScrollbarThemeComposite.cpp: + (WebCore::ScrollbarThemeComposite::paint): + +2011-01-21 Chris Rogers <crogers@google.com> + + 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 <xiyuan@chromium.org> + + 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 <sam@webkit.org> + + 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 <darin@apple.com> + + Fix Leopard build. + + * rendering/mathml/RenderMathMLFraction.cpp: + (WebCore::RenderMathMLFraction::layout): Use ceilf instead of ceil. + +2011-01-21 Anton Muhin <antonm@chromium.org> + + 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 <aroben@apple.com> + + 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 <video>), CACFLayerTreeHost::layerTreeDidChange takes care of + scheduling the flush. + + This change has three advantages: + 1) Whenever we flush layer changes, we first update layout. This can cause the page to + leave compositing mode, which in turn can cause all references to the CACFLayerTreeHost + to be dropped. By separating flushing (and thus updating layout) from rendering, we no + longer have to worry about this happen during rendering. + 2) The new model is much more similar to how things work on the Mac, so will hopefully + reduce the number of platform-specific bugs. + 3) CACFLayerTreeHost::shouldRender, which was used to make sure we didn't render while a + layout was pending, is no longer needed. It actually hasn't been needed since at least + r75987, but removing it before now would have resulted in a crash whenever a page came + out of compositing mode due to (1). + + Fixes <http://webkit.org/b/52852> Flushing layer changes and rendering are intertwined in + CACFLayerTreeHost, but shouldn't be + + Reviewed by Simon Fraser. + + * WebCore.vcproj/WebCore.vcproj: Added LayerChangesFlusher. + + * platform/graphics/ca/win/CACFLayerTreeHost.cpp: Added new #include, sorted existing + #includes. + (WebCore::CACFLayerTreeHost::CACFLayerTreeHost): Initialize new member. + (WebCore::CACFLayerTreeHost::layerTreeDidChange): If we aren't already flushing changes, + schedule a flush. Removed the call to renderSoon(), which now happens when the flush is + finished. + (WebCore::CACFLayerTreeHost::destroyRenderer): Cancel any pending flush we had scheduled. Also + fixed a bug where we'd fail to clear the context's layer. + (WebCore::CACFLayerTreeHost::render): Removed code to ask the client if we should render, which + is no longer needed. Moved code to flush layer changes from here to + flushPendingLayerChangesNow, which is called via the above-described mechanism. + (WebCore::CACFLayerTreeHost::flushPendingGraphicsLayerChangesSoon): Schedule a flush. Removed + code to schedule a render, which now happens after we've flushed. + (WebCore::CACFLayerTreeHost::flushPendingLayerChangesNow): Added. Some of this code came from + render(). First we flush GraphicsLayer changes from GraphicsLayers to their underlying + PlatformCALayers, then we flush changes from PlatformCALayers to the context, then we + schedule a render so that the changes will be rendered to the screen. + + * platform/graphics/ca/win/CACFLayerTreeHost.h: Removed + CACFLayerTreeHostClient::shouldRender. Added flushPendingLayerChangesNow and + m_isFlushingLayerChanges. + + * platform/graphics/ca/win/LayerChangesFlusher.cpp: Added. + (WebCore::LayerChangesFlusher::shared): + (WebCore::LayerChangesFlusher::LayerChangesFlusher): + (WebCore::LayerChangesFlusher::flushPendingLayerChangesSoon): + (WebCore::LayerChangesFlusher::cancelPendingFlush): + (WebCore::LayerChangesFlusher::hookCallback): + (WebCore::LayerChangesFlusher::hookFired): + (WebCore::LayerChangesFlusher::setHook): + (WebCore::LayerChangesFlusher::removeHook): + + * platform/graphics/ca/win/LayerChangesFlusher.cpp: Added. + (WebCore::LayerChangesFlusher::shared): Returns the singleton. + (WebCore::LayerChangesFlusher::LayerChangesFlusher): Initialize our members. + (WebCore::LayerChangesFlusher::flushPendingLayerChangesSoon): Add the host to the set of + hosts with changes that need to be flushed, and set up our hook if we haven't already. + (WebCore::LayerChangesFlusher::cancelPendingFlush): Remove the host from the set of hosts + with changes that need to be flushed. If we have no more such hosts, remove our hook, unless + we're currently in the process of calling out to our hosts, in which case we'll take care of + the hook once we're done calling out. + (WebCore::LayerChangesFlusher::hookCallback): This is the function that Windows calls when + our hook fires. Just calls through to hookFired on the singleton. + (WebCore::LayerChangesFlusher::hookFired): Tell all the hosts with changes that needed to be + flushed that it's time to flush. If no hosts re-added themselves to our set during this + process, remove our hook. + (WebCore::LayerChangesFlusher::setHook): Calls through to ::SetWindowsHookExW. + (WebCore::LayerChangesFlusher::removeHook): Calls through to ::UnhookWindowsHookEx. + + * platform/graphics/ca/win/LayerChangesFlusher.h: Added. + +2011-01-21 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Sam Weinig. + + GraphicsLayer should be non-copyable + https://bugs.webkit.org/show_bug.cgi?id=52909 + + Use WTF_MAKE_NONCOPYABLE on GraphicsLayer, and WTF_MAKE_FAST_ALLOCATED + on that and KeyframeValueList. + + * platform/graphics/GraphicsLayer.h: + +2011-01-21 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Sam Weinig. + + Report the sized used by canvases and types arrays + https://bugs.webkit.org/show_bug.cgi?id=52856 + + Report the memory cost associated with canvas elements, + and typed arrays to JavaScript as extraCost, so that it + can figure this into its GC behavior. + + * bindings/js/JSArrayBufferViewHelper.h: + (WebCore::toJSArrayBufferView): New templatized function, similar + to getDOMObjectWrapper() but calls reportExtraMemoryCost() with + the byteLength of the array. + + * bindings/js/JSFloat32ArrayCustom.cpp: + (WebCore::toJS): Use toJSArrayBufferView. + * bindings/js/JSInt16ArrayCustom.cpp: + (WebCore::toJS): Use toJSArrayBufferView. + * bindings/js/JSInt32ArrayCustom.cpp: + (WebCore::toJS): Use toJSArrayBufferView. + * bindings/js/JSInt8ArrayCustom.cpp: + (WebCore::toJS): Use toJSArrayBufferView. + * bindings/js/JSUint16ArrayCustom.cpp: + (WebCore::toJS): Use toJSArrayBufferView. + * bindings/js/JSUint32ArrayCustom.cpp: + (WebCore::toJS): Use toJSArrayBufferView. + * bindings/js/JSUint8ArrayCustom.cpp: + (WebCore::toJS): Use toJSArrayBufferView. + + * html/HTMLCanvasElement.cpp: + (WebCore::HTMLCanvasElement::createImageBuffer): Call heap.reportExtraMemoryCost() + with the size of the canvas backing store. + + * html/canvas/TypedArrayBase.h: + (WebCore::TypedArrayBase::byteLength): byteLength needs to + be public. + + * platform/graphics/ImageBuffer.h: Add dataSize() method. + + * platform/graphics/cairo/ImageBufferCairo.cpp: + (WebCore::ImageBuffer::dataSize): Implement dataSize(). + * platform/graphics/cg/ImageBufferCG.cpp: + (WebCore::ImageBuffer::dataSize): Implement dataSize(). + * platform/graphics/haiku/ImageBufferHaiku.cpp: + (WebCore::ImageBuffer::dataSize): Implement dataSize(). + * platform/graphics/qt/ImageBufferQt.cpp: + (WebCore::ImageBuffer::dataSize): Implement dataSize(). + * platform/graphics/skia/ImageBufferSkia.cpp: + (WebCore::ImageBuffer::dataSize): Implement dataSize(). + * platform/graphics/wince/ImageBufferWinCE.cpp: + (WebCore::ImageBuffer::dataSize): Implement dataSize(). + * platform/graphics/wx/ImageBufferWx.cpp: + (WebCore::ImageBuffer::dataSize): Implement dataSize(). + +2011-01-21 Adam Roben <aroben@apple.com> + + Rename WKCACFLayerRenderer[Client] to CACFLayerTreeHost[Client] + + Also renamed a few functions and data members to match. + + Fixes <http://webkit.org/b/52898> WKCACFLayerRenderer sounds like a render object, but isn't + + Reviewed by Simon Fraser. + + * WebCore.vcproj/WebCore.vcproj: Updated files' names and paths. + + * WebCore.vcproj/WebCoreQuartzCore.vsprops: Added platform/graphics/ca/win to the include + path. + + * WebCore.vcproj/copyForwardingHeaders.cmd: Copy headers from platform/graphics/ca/win, too. + + * platform/graphics/ca/win/CACFLayerTreeHost.cpp: Renamed from Source/WebCore/platform/graphics/win/WKCACFLayerRenderer.cpp. + * platform/graphics/ca/win/CACFLayerTreeHost.h: Renamed from Source/WebCore/platform/graphics/win/WKCACFLayerRenderer.h. + + * platform/graphics/ca/win/PlatformCALayerWin.cpp: + * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp: + * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: + Updated for renames. + +2011-01-21 Patrick Gansterer <paroga@paroga.com> + + Original patch from François Sausset <sausset@gmail.com> + + Reviewed by Darin Adler. + + Code cleaning in rendering/mathml/RenderMathMLFraction.cpp + https://bugs.webkit.org/show_bug.cgi?id=52201 + + Replace unneeded doubles by floats and remove unneeded casts. + + * rendering/mathml/RenderMathMLFraction.cpp: + (WebCore::RenderMathMLFraction::paint): + * rendering/mathml/RenderMathMLFraction.h: + +2011-01-21 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Darin Adler. + + REGRESSION(r73618): Clicking on a search input causes a crash. + https://bugs.webkit.org/show_bug.cgi?id=52905 + + The problem is caused by TextControlInnerElement being used both as + shadow root and an element in a shadow subtree. The code assumed it is + only used as a shadow root. + + Since this code is all just workaround for in-progress conversion to + new shadow DOM, I am just adding a check. This code will disappear + completely once bug 52788 is fixed. + + Test: fast/dom/search-shadow-host-crash.html + + * dom/Node.cpp: + (WebCore::Node::setShadowHost): Added an ASSERT for early detection + of attempting to stomp on the parentNode. + * rendering/TextControlInnerElements.cpp: + (WebCore::TextControlInnerElement::detach): Added a check to only + clear shadow host if we have one. + +2011-01-21 Adam Roben <aroben@apple.com> + + Replace some "sync compositing state" terminology with "flush pending GraphicsLayer changes" + + This seems to be the direction in which our code is moving. I chose "GraphicsLayer" as + opposed to just "layer" because there are cases where we flush changes to CACFLayers that + don't have a corresponding GraphicsLayer. + + Fixes <http://webkit.org/b/52894> "Sync compositing state" terminology in + WKCACFLayerRenderer and friends is confusing + + Reviewed by Simon Fraser. + + * platform/graphics/win/WKCACFLayerRenderer.cpp: + (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): + (WebCore::WKCACFLayerRenderer::render): + Updated for renames. + + (WebCore::WKCACFLayerRenderer::flushPendingGraphicsLayerChangesSoon): Renamed from + syncCompositingStateSoon, and updated for other renames. + + * platform/graphics/win/WKCACFLayerRenderer.h: Renamed m_syncLayerChanges to + * m_shouldFlushPendingGraphicsLayerChanges. + (WebCore::WKCACFLayerRendererClient::flushPendingGraphicsLayerChanges): Renamed from + syncCompositingState. + +2011-01-21 Adam Roben <aroben@apple.com> + + Clean up PlatformCAAnimationWin + + Fixes <http://webkit.org/b/52904> PlatformCAAnimationWin is leaky and inefficient + + Reviewed by Simon Fraser. + + * platform/graphics/ca/win/PlatformCAAnimationWin.cpp: + (toCACFFillModeType): + (fromCACFFillModeType): + (toCACFValueFunctionType): + (fromCACFValueFunctionType): + Changed to take and return CFStringRefs. There's no need to convert to WebCore::String just + so we can later convert back to CFStringRef. + + (toCACFTimingFunction): Fixed leaks by changing this to return a RetainPtr and adopting the + results of CACFTimingFunctionCreate. + (PlatformCAAnimation::PlatformCAAnimation): Changed not to needlessly roundtrip through + WebCore::String. Also changed an ASSERT(0) to ASSERT_NOT_REACHED(). + + (PlatformCAAnimation::setFillMode): + (PlatformCAAnimation::setTimingFunction): + (PlatformCAAnimation::setValueFunction): + (PlatformCAAnimation::setTimingFunctions): + Updated for changes to the above conversion functions. + +2011-01-21 Charlie Reis <creis@chromium.org> + + Reviewed by Darin Fisher. + + FrameLoader::checkLoadCompleteForThisFrame uses wrong history item + https://bugs.webkit.org/show_bug.cgi?id=48812 + + Most calls to stopAllLoaders now clear the history's provisional item(s). + We can now avoid resetting the back/forward state if a new navigation + is in progress. + + Test: http/tests/navigation/back-twice-without-commit.html + Test: http/tests/navigation/forward-and-cancel.html + + * loader/FrameLoader.cpp: + * loader/FrameLoader.h: + * loader/FrameLoaderTypes.h: + * WebCore.exp.in: Update stopAllLoaders signature. + +2011-01-21 Carlos Garcia Campos <cgarcia@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Show caps lock indicator in password fields + https://bugs.webkit.org/show_bug.cgi?id=52878 + + Test: manual-tests/password-caps-lock.html + + * platform/gtk/KeyEventGtk.cpp: + (WebCore::PlatformKeyboardEvent::currentCapsLockState): Implement + currentCapsLockState() using GDK API. + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::RenderThemeGtk::paintCapsLockIndicator): Paint an icon + in the password field when the caps lock modifier is locked. + * platform/gtk/RenderThemeGtk.h: + +2011-01-21 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: move sticky breakpoints management from InspectorController to InspectorBrowserDebuggerAgent. + https://bugs.webkit.org/show_bug.cgi?id=52874 + + This is the first step of debugger api refactoring (see bug 52879). + JavaScript breakpoints are still in the same list as native breakpoints and are restored by InspectorBrowserDebuggerAgent. + The second step will be to move sticky JavaScript breakpoints to InspectorDebuggerAgent. + + * inspector/Inspector.idl: + * inspector/InspectorBrowserDebuggerAgent.cpp: + (WebCore::InspectorBrowserDebuggerAgent::setAllBrowserBreakpoints): + (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged): + (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint): + (WebCore::InspectorBrowserDebuggerAgent::discardBindings): + (WebCore::InspectorBrowserDebuggerAgent::didInsertDOMNode): + (WebCore::InspectorBrowserDebuggerAgent::didRemoveDOMNode): + (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint): + (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint): + (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent): + (WebCore::InspectorBrowserDebuggerAgent::hasBreakpoint): + (WebCore::InspectorBrowserDebuggerAgent::updateSubtreeBreakpoints): + * inspector/InspectorBrowserDebuggerAgent.h: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::restoreInspectorStateFromCookie): + (WebCore::InspectorController::connectFrontend): + (WebCore::InspectorController::didCommitLoad): + (WebCore::InspectorController::enableDebugger): + (WebCore::InspectorController::resume): + (WebCore::InspectorController::inspectedURL): + * inspector/InspectorController.h: + * inspector/InspectorState.cpp: + (WebCore::InspectorState::InspectorState): + * inspector/InspectorState.h: + * inspector/front-end/BreakpointManager.js: + (WebInspector.BreakpointManager): + (WebInspector.BreakpointManager.prototype._saveBreakpoints): + +2011-01-21 John Knottenbelt <jknotten@chromium.org> + + Reviewed by Jeremy Orlow. + + Turn off uninitialized errors for ARM linux build. + https://bugs.webkit.org/show_bug.cgi?id=52893 + + Fix ARM compiler breakage. + + * WebCore.gyp/WebCore.gyp: + +2011-01-21 Mikhail Naganov <mnaganov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: [Chromium] REGRESSION: Using the "Back" button + while profiling causes renderer crash. + + https://bugs.webkit.org/show_bug.cgi?id=52808 + + * inspector/InspectorProfilerAgent.cpp: + (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole): + (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole): + +2011-01-20 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: switch page/Console implementation from InspectorController to InspectorInstrumentation. + + There are some places in WebCore where we still using direct InspectorController calls. + The idea is to pass all the Inspector related calls via InspectorInstrumentaion which is the + Inspector facade for WebCore. + + https://bugs.webkit.org/show_bug.cgi?id=52869 + + * inspector/InspectorController.cpp: + * inspector/InspectorController.h: + * inspector/InspectorInstrumentation.cpp: + (WebCore::InspectorInstrumentation::addProfileImpl): + (WebCore::InspectorInstrumentation::profilerEnabledImpl): + (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileNameImpl): + * inspector/InspectorInstrumentation.h: + (WebCore::InspectorInstrumentation::addProfile): + (WebCore::InspectorInstrumentation::profilerEnabled): + (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileName): + * page/Console.cpp: + (WebCore::Console::profile): + (WebCore::Console::profileEnd): + +2011-01-12 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: breakpoints are restored incorrectly when reverting live edit. + https://bugs.webkit.org/show_bug.cgi?id=52300 + + Fix breakpoints restoring when reverting to old revision by using text diff. + Move live edit logic from ScriptsPanel to DebuggerModel. + Eliminate unnecessary editLine delegate in TextViewer. + + * inspector/front-end/DebuggerModel.js: + (WebInspector.DebuggerModel): + (WebInspector.DebuggerModel.prototype.reset): + (WebInspector.DebuggerModel.prototype.editScriptSource): + (WebInspector.DebuggerModel.prototype._updateScriptSource): + (WebInspector.DebuggerModel.prototype.get callFrames): + (WebInspector.DebuggerModel.prototype.pausedScript): + (WebInspector.DebuggerModel.prototype.resumedScript): + * inspector/front-end/Script.js: + (WebInspector.Script.prototype.get source): + * inspector/front-end/ScriptView.js: + (WebInspector.ScriptView): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel): + (WebInspector.ScriptsPanel.prototype._scriptSourceChanged): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame): + (WebInspector.SourceFrame.prototype._createViewerIfNeeded): + (WebInspector.SourceFrame.prototype._doubleClick.didEditLine): + (WebInspector.SourceFrame.prototype._doubleClick): + * inspector/front-end/SourceView.js: + (WebInspector.SourceView): + * inspector/front-end/TextViewer.js: + (WebInspector.TextViewer): + (WebInspector.TextViewer.prototype._handleKeyDown): + (WebInspector.TextViewer.prototype.editLine.finishEditing): + (WebInspector.TextViewer.prototype.editLine): + (WebInspector.TextChunk.prototype._createRow): + +2011-01-21 Adam Klein <adamk@chromium.org> + + Reviewed by Eric Seidel. + + [chromium] Rename ChromiumBridge to PlatformBridge + https://bugs.webkit.org/show_bug.cgi?id=52471 + + No tests added as this is a rename; no change in behavior. + + * WebCore.gypi: + * bindings/v8/V8DOMWindowShell.cpp: + (WebCore::reportFatalErrorInV8): + * page/PageGroup.cpp: + (WebCore::PageGroup::isLinkVisited): + * platform/android/PlatformBridge.h: + * platform/audio/chromium/AudioBusChromium.cpp: + (WebCore::createBusFromInMemoryAudioFile): + * platform/chromium/ChromiumBridge.h: Removed. + * platform/chromium/ChromiumDataObjectLegacy.cpp: + (WebCore::ChromiumDataObjectLegacy::getData): + * platform/chromium/DragDataChromium.cpp: + (WebCore::DragData::asURL): + * platform/chromium/FileSystemChromium.cpp: + (WebCore::deleteFile): + (WebCore::deleteEmptyDirectory): + (WebCore::getFileSize): + (WebCore::getFileModificationTime): + (WebCore::revealFolderInOS): + (WebCore::directoryName): + (WebCore::pathByAppendingComponent): + (WebCore::makeAllDirectories): + (WebCore::fileExists): + (WebCore::openFile): + (WebCore::closeFile): + (WebCore::seekFile): + (WebCore::truncateFile): + (WebCore::readFromFile): + (WebCore::writeToFile): + * platform/chromium/LanguageChromium.cpp: + (WebCore::platformDefaultLanguage): + * platform/chromium/LinkHashChromium.cpp: + (WebCore::visitedLinkHash): + * platform/chromium/MIMETypeRegistryChromium.cpp: + (WebCore::MIMETypeRegistry::getMIMETypeForExtension): + (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType): + (WebCore::MIMETypeRegistry::isSupportedImageMIMEType): + (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType): + (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType): + * platform/chromium/PasteboardChromium.cpp: + (WebCore::Pasteboard::writeSelection): + (WebCore::Pasteboard::writePlainText): + (WebCore::Pasteboard::writeURL): + (WebCore::Pasteboard::writeImage): + (WebCore::Pasteboard::canSmartReplace): + (WebCore::Pasteboard::plainText): + (WebCore::Pasteboard::documentFragment): + * platform/chromium/PlatformBridge.h: + * platform/chromium/PlatformScreenChromium.cpp: + (WebCore::screenDepth): + (WebCore::screenDepthPerComponent): + (WebCore::screenIsMonochrome): + (WebCore::screenRect): + (WebCore::screenAvailableRect): + * platform/chromium/ReadableDataObject.cpp: + (WebCore::ReadableDataObject::getData): + (WebCore::ReadableDataObject::urlTitle): + (WebCore::ReadableDataObject::htmlBaseUrl): + (WebCore::ReadableDataObject::filenames): + (WebCore::ReadableDataObject::ensureTypeCacheInitialized): + * platform/chromium/SSLKeyGeneratorChromium.cpp: + (WebCore::signedPublicKeyAndChallengeString): + * platform/chromium/ScrollbarThemeChromium.cpp: + * platform/chromium/ScrollbarThemeChromiumLinux.cpp: + (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness): + (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece): + (WebCore::ScrollbarThemeChromiumLinux::paintButton): + (WebCore::ScrollbarThemeChromiumLinux::paintThumb): + (WebCore::ScrollbarThemeChromiumLinux::buttonSize): + (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength): + * platform/chromium/ScrollbarThemeChromiumMac.mm: + (WebCore::scrollbarStateToThemeState): + (WebCore::ScrollbarThemeChromiumMac::paint): + * platform/chromium/ScrollbarThemeChromiumWin.cpp: + (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness): + (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece): + (WebCore::ScrollbarThemeChromiumWin::paintButton): + (WebCore::ScrollbarThemeChromiumWin::paintThumb): + (WebCore::ScrollbarThemeChromiumWin::buttonSize): + * platform/chromium/SharedTimerChromium.cpp: + (WebCore::setSharedTimerFiredFunction): + (WebCore::setSharedTimerFireTime): + (WebCore::stopSharedTimer): + * platform/chromium/SuddenTerminationChromium.cpp: + (WebCore::disableSuddenTermination): + (WebCore::enableSuddenTermination): + * platform/chromium/SystemTimeChromium.cpp: + (WebCore::currentTime): + * platform/chromium/WritableDataObject.cpp: + (WebCore::WritableDataObject::setData): + * platform/graphics/chromium/CrossProcessFontLoading.mm: + * platform/graphics/chromium/FontCacheChromiumWin.cpp: + (WebCore::fontContainsCharacter): + (WebCore::FillLogFont): + * platform/graphics/chromium/FontCacheLinux.cpp: + (WebCore::FontCache::getFontDataForCharacters): + * platform/graphics/chromium/FontChromiumWin.cpp: + (WebCore::Font::drawGlyphs): + * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp: + (WebCore::FontPlatformData::scriptFontProperties): + * platform/graphics/chromium/FontPlatformDataLinux.cpp: + (WebCore::FontPlatformData::querySystemForRenderStyle): + * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp: + (WebCore::fillBMPGlyphs): + * platform/graphics/chromium/ImageChromium.cpp: + (WebCore::Image::loadPlatformResource): + * platform/graphics/chromium/ImageChromiumMac.mm: + (WebCore::Image::loadPlatformResource): + * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: + (WebCore::SimpleFontData::platformInit): + (WebCore::SimpleFontData::determinePitch): + (WebCore::SimpleFontData::platformWidthForGlyph): + * platform/graphics/chromium/UniscribeHelperTextRun.cpp: + (WebCore::UniscribeHelperTextRun::tryToPreloadFont): + * platform/graphics/skia/FontCustomPlatformData.cpp: + (WebCore::FontCustomPlatformData::fontPlatformData): + * platform/network/chromium/CookieJarChromium.cpp: + (WebCore::setCookies): + (WebCore::cookies): + (WebCore::cookieRequestHeaderFieldValue): + (WebCore::cookiesEnabled): + (WebCore::getRawCookies): + (WebCore::deleteCookie): + * platform/network/chromium/DNSChromium.cpp: + (WebCore::prefetchDNS): + * platform/qt/PlatformBridge.h: + * platform/sql/chromium/SQLiteFileSystemChromium.cpp: + (WebCore::SQLiteFileSystem::deleteDatabaseFile): + (WebCore::SQLiteFileSystem::getDatabaseFileSize): + * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp: + (chromiumOpen): + (chromiumDelete): + (chromiumAccess): + * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: + * plugins/chromium/PluginDataChromium.cpp: + (WebCore::PluginCache::plugins): + * rendering/RenderThemeChromiumMac.mm: + (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor): + * rendering/RenderThemeChromiumSkia.cpp: + (WebCore::RenderThemeChromiumSkia::caretBlinkInterval): + * rendering/RenderThemeChromiumWin.cpp: + (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor): + (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor): + (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor): + (WebCore::RenderThemeChromiumWin::systemColor): + (WebCore::RenderThemeChromiumWin::paintButton): + (WebCore::RenderThemeChromiumWin::paintSliderTrack): + (WebCore::menuListButtonWidth): + (WebCore::RenderThemeChromiumWin::paintMenuList): + (WebCore::RenderThemeChromiumWin::paintTextFieldInternal): + (WebCore::RenderThemeChromiumWin::paintInnerSpinButton): + (WebCore::RenderThemeChromiumWin::paintProgressBar): + * storage/chromium/IDBFactoryBackendInterface.cpp: + (WebCore::IDBFactoryBackendInterface::create): + (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface): + * storage/chromium/IDBKeyPathBackendImpl.cpp: + (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath): + +2011-01-21 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r76335. + http://trac.webkit.org/changeset/76335 + https://bugs.webkit.org/show_bug.cgi?id=52875 + + profiler tests were broken (Requested by loislo on #webkit). + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::addProfile): + (WebCore::InspectorController::getCurrentUserInitiatedProfileName): + * inspector/InspectorController.h: + * inspector/InspectorInstrumentation.cpp: + (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsoleImpl): + * inspector/InspectorInstrumentation.h: + (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole): + (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForPage): + * page/Console.cpp: + (WebCore::Console::profile): + (WebCore::Console::profileEnd): + +2011-01-21 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: switch page/Console implementation from InspectorController to InspectorInstrumentation. + + There are some places in WebCore where we still using direct InspectorController calls. + The idea is to pass all the Inspector related calls via InspectorInstrumentaion which is the + Inspector facade for WebCore. + + https://bugs.webkit.org/show_bug.cgi?id=52869 + + * inspector/InspectorController.cpp: + * inspector/InspectorController.h: + * inspector/InspectorInstrumentation.cpp: + (WebCore::InspectorInstrumentation::addProfileImpl): + (WebCore::InspectorInstrumentation::profilerEnabledImpl): + (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileNameImpl): + * inspector/InspectorInstrumentation.h: + (WebCore::InspectorInstrumentation::addProfile): + (WebCore::InspectorInstrumentation::profilerEnabled): + (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileName): + * page/Console.cpp: + (WebCore::Console::profile): + (WebCore::Console::profileEnd): + +2011-01-20 Sam Weinig <sam@webkit.org> + + Reviewed by Gavin Barraclough. + + Fix failing tests from r76291. + + * platform/ScrollView.cpp: + (WebCore::ScrollView::scrollPosition): + (WebCore::ScrollView::updateScrollbars): + Take the scroll origin into account in more places. + +2011-01-20 Kent Tamura <tkent@chromium.org> + + Unreviewed, sorting an Xcode project file. + + * WebCore.xcodeproj/project.pbxproj: + +2011-01-20 Ben Vanik <ben.vanik@gmail.com> + + Reviewed by Kenneth Russell. + + Implementation of the OES_standard_derivatives WebGL extension. + https://bugs.webkit.org/show_bug.cgi?id=51678 + + Changes are modeled off of the existing OESTextureFloat extension. New files, + extension retrieval, etc all match the existing code. + + Changed ANGLEWebKitBridge to allow for multiple sets of the ANGLE shader compiler + options. This supports the enabling of the standard derivatives flag when the + extension is enabled. Refactored the cleanup code to make the destruction of the + compilers (if they had been created) cleaner. + + Tested with the WebGL conformance test: + https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/oes-standard-derivatives.html + Passes on WebKit/OSX, Chromium/OSX, and Chromium/Windows. + + * CMakeLists.txt: + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pri: + * WebCore.pro: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSWebGLRenderingContextCustom.cpp: + (WebCore::toJS): + * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: + (WebCore::toV8Object): + * html/canvas/OESStandardDerivatives.cpp: Added. + (WebCore::OESStandardDerivatives::OESStandardDerivatives): + (WebCore::OESStandardDerivatives::~OESStandardDerivatives): + (WebCore::OESStandardDerivatives::getName): + (WebCore::OESStandardDerivatives::create): + * html/canvas/OESStandardDerivatives.h: Added. + * html/canvas/OESStandardDerivatives.idl: Added. + * html/canvas/WebGLExtension.h: + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::getExtension): Enable and return the new extension. + (WebCore::WebGLRenderingContext::getParameter): Support extension enum when enabled. + (WebCore::WebGLRenderingContext::getSupportedExtensions): + (WebCore::WebGLRenderingContext::hint): Validate extension enum when enabled. + (WebCore::WebGLRenderingContext::getNumberOfExtensions): + (WebCore::WebGLRenderingContext::getExtensionNumber): + * html/canvas/WebGLRenderingContext.h: + * platform/graphics/ANGLEWebKitBridge.cpp: + (WebCore::ANGLEWebKitBridge::~ANGLEWebKitBridge): Cleaned up compiler cleanup. + (WebCore::ANGLEWebKitBridge::cleanupCompilers): Destruct compilers. + (WebCore::ANGLEWebKitBridge::setResources): Cleanup existing compilers when changing + ANGLE settings. + (WebCore::ANGLEWebKitBridge::validateShaderSource): Cleaned up compiler cleanup on error. + * platform/graphics/ANGLEWebKitBridge.h: + (WebCore::ANGLEWebKitBridge::getResources): + * platform/graphics/Extensions3D.h: Added enumeration for the extension. + * platform/graphics/GraphicsContext3D.h: lumbing for GraphicsContext3D. + * platform/graphics/opengl/Extensions3DOpenGL.cpp: + (WebCore::Extensions3DOpenGL::Extensions3DOpenGL): Plumbed through a pointer to the + GraphicsContext3D to handle resetting the shader compilers. + (WebCore::Extensions3DOpenGL::supports): Desktop GL always supports this extension, + so always return true. + (WebCore::Extensions3DOpenGL::ensureEnabled): Reset shader compilers as required. + * platform/graphics/opengl/Extensions3DOpenGL.h: Plumbing for GraphicsContext3D. + * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: + (WebCore::GraphicsContext3D::getExtensions): Plumbing for GraphicsContext3D to + Extensions3DOpenGL. + +2011-01-20 Xiaomei Ji <xji@chromium.org> + + Reviewed by Dan Bernstein. + + Fix regression(r71566): PDF in RTL block might messes up text directionality. + https://bugs.webkit.org/show_bug.cgi?id=52776 + + Test: fast/dom/52776.html + + * platform/text/BidiResolver.h: + (WebCore::::checkDirectionInLowerRaiseEmbeddingLevel): + (WebCore::::lowerExplicitEmbeddingLevel): + (WebCore::::raiseExplicitEmbeddingLevel): + (WebCore::::createBidiRunsForLine): + +2011-01-20 Beth Dakin <bdakin@apple.com> + + Reviewed by Anders Carlsson. + + Follow-on for <rdar://problem/8890255> + + This fixes a painting error with ScrollbarPainter scrollers + and the new drawing area code path. + * platform/mac/ScrollbarThemeMac.mm: + (WebCore::updateArrowPlacement): + +2011-01-20 Levi Weintraub <leviw@chromium.org> + + Unreviewed. + + Fixing build breakage. + + * editing/SelectionController.cpp: + (WebCore::SelectionController::willBeModified): + +2011-01-20 Levi Weintraub <leviw@chromium.org> + + Reviewed by Ryosuke Niwa. + + RTL: Caret goes to the opposite direction when pressing an arrow key after selection is made + https://bugs.webkit.org/show_bug.cgi?id=49511 + + Test: editing/selection/rtl-move-selection-right-left.html + + * editing/SelectionController.cpp: + (WebCore::SelectionController::willBeModified): + Respecting the direction of the containing block when switching selection base and extent in + RTL content. + + (WebCore::SelectionController::modifyMovingRight): + (WebCore::SelectionController::modifyMovingLeft): + Using directionOfEnclosingBlock when deciding to use the selection start or end to do the + correct thing for RTL. + +2011-01-20 Nate Chapin <japhet@chromium.org> + + Reviewed by Adam Barth. + + Null-check m_frame in DOMWindow::setLocation(), since it's + possible to reach this point without it having been checked + already. + https://bugs.webkit.org/show_bug.cgi?id=52769 + + Test: fast/dom/Window/Location/set-location-after-close.html + + * page/DOMWindow.cpp: + (WebCore::DOMWindow::setLocation): + +2011-01-20 Chang Shu <chang.shu@nokia.com> + + Reviewed by Darin Adler. + + setContentEditable with invalid string should throw exception. + https://bugs.webkit.org/show_bug.cgi?id=52057 + + Implemented exception throwing for setContentEditable according to the following spec: + http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#attr-contenteditable + Related quotas: "On setting, if the new value is an ASCII case-insensitive match for the + string 'inherit' then the content attribute must be removed, if the new value is an ASCII + case-insensitive match for the string 'true' then the content attribute must be set to the + string 'true', if the new value is an ASCII case-insensitive match for the string 'false' + then the content attribute must be set to the string 'false', and otherwise the attribute + setter must raise a SYNTAX_ERR exception." + + * html/HTMLElement.cpp: + (WebCore::HTMLElement::setContentEditable): Throw exception on invalid input strings; Make setting values case-insensitive and also convert them to lower cases according to the spec. + * html/HTMLElement.h: Add additional parameter ExceptionCode& for function setContentEditable. + * html/HTMLElement.idl: Add exception throwing support for contentEditable setter. + +2011-01-19 Adrienne Walker <enne@google.com> + + Reviewed by James Robinson. + + [chromium] Composited render surfaces should allow writes to alpha channel. + https://bugs.webkit.org/show_bug.cgi?id=52766 + + Test: LayoutTests/platform/chromium/compositing + + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::drawLayers): + +2011-01-14 Jer Noble <jer.noble@apple.com> + + Reviewed by Eric Carlson. + + REGRESSION (r71842): Compass video is not playing in Safari welcome page + https://bugs.webkit.org/show_bug.cgi?id=52506 + + New test: LayoutTests/media/video-currentTime-delay.html + + Call invalidateCachedTime() every time one of the cached property dependencies changes, + i.e. m_paused and m_playbackRate. + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::prepareForLoad): + (WebCore::HTMLMediaElement::setReadyState): + (WebCore::HTMLMediaElement::setPlaybackRate): + (WebCore::HTMLMediaElement::mediaPlayerRateChanged): + +2011-01-20 Beth Dakin <bdakin@apple.com> + + Reviewed by Geoffrey Garen. + + Fix for <rdar://problem/8890255> + + Allow WebKitSystemInterface to draw scrollbars + when appropriate. + * WebCore.exp.in: + * platform/mac/ScrollbarThemeMac.mm: + (WebCore::scrollbarMap): + (+[ScrollbarPrefsObserver appearancePrefsChanged:]): + (WebCore::ScrollbarThemeMac::registerScrollbar): + (WebCore::ScrollbarThemeMac::unregisterScrollbar): + (WebCore::ScrollbarThemeMac::paint): + * platform/mac/WebCoreSystemInterface.h: + * platform/mac/WebCoreSystemInterface.mm: + +2011-01-20 Sam Weinig <sam@webkit.org> + + Reviewed by Dave Hyatt. + + Cleanup Scrollbar/ScrollbarClient relationship + https://bugs.webkit.org/show_bug.cgi?id=52779 + + Pipe all scrolling through the ScrollbarClient/ScrollAnimator + rather than through the Scrollbar. The Scrollbar now is just + a "view" on the scroll position of the scrollable area it is + attached to. + + There are now two ways to scroll a scrollable area: + - ScrollbarClient::scroll() + - ScrollbarClient::scrollToOffsetWithoutAnimation() + + Both of these go through the ScrollAnimator (updating its state + or starting an animation). The ScrollAnimator, in turn, now calls + ScrollbarClient::setScrollOffsetFromAnimation, which tells the + Scrollbars to pull a new offset (via Scrollbar::offsetDidChange) + and tells the class that derives from ScrollbarClient to scroll + its contents (via ScrollbarClient::setScrollOffset). + + * WebCore.xcodeproj/project.pbxproj: + Move Scrollbar.cpp to the right place. + + * accessibility/AccessibilityScrollbar.cpp: + (WebCore::AccessibilityScrollbar::setValue): + Initiate the scroll through the scrollbar client, rather than the + scrollbar itself. + + * page/FrameView.cpp: + (WebCore::FrameView::scrollTo): + * page/FrameView.h: + Condense the two valueChanged overrides to a single override of the + scrollTo function. + + * platform/ScrollAnimator.cpp: + (WebCore::ScrollAnimator::scroll): + (WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation): + (WebCore::ScrollAnimator::currentPosition): + (WebCore::ScrollAnimator::notityPositionChanged): + * platform/ScrollAnimator.h: + * platform/ScrollAnimatorWin.cpp: + (WebCore::ScrollAnimatorWin::scrollToOffsetWithoutAnimation): + (WebCore::ScrollAnimatorWin::animateScroll): + * platform/ScrollAnimatorWin.h: + * platform/mac/ScrollAnimatorMac.h: + * platform/mac/ScrollAnimatorMac.mm: + (WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation): + (WebCore::ScrollAnimatorMac::immediateScrollToPoint): + Change setScrollPositionAndStopAnimation to scrollToOffsetWithoutAnimation + and bottleneck all client notification of changed position through a new + notityPositionChanged() function. + + * platform/ScrollView.cpp: + (WebCore::ScrollView::setScrollOffset): + (WebCore::ScrollView::scrollTo): + (WebCore::ScrollView::scrollPosition): + (WebCore::ScrollView::scroll): + (WebCore::ScrollView::updateScrollbars): + (WebCore::ScrollView::wheelEvent): + * platform/ScrollView.h: + (WebCore::ScrollView::horizontalScrollbar): + (WebCore::ScrollView::verticalScrollbar): + Update to scroll via the ScrollbarClient rather than the Scrollbar. + + * platform/Scrollbar.cpp: + (WebCore::Scrollbar::offsetDidChange): + (WebCore::Scrollbar::autoscrollPressedPart): + (WebCore::Scrollbar::moveThumb): + (WebCore::Scrollbar::mouseMoved): + * platform/Scrollbar.h: + (WebCore::Scrollbar::setPressedPos): + Change the scrollbar to only updates its offset in response to + an offsetDidChange call. + + * platform/ScrollbarClient.cpp: + (WebCore::ScrollbarClient::scroll): + (WebCore::ScrollbarClient::scrollToOffsetWithoutAnimation): + (WebCore::ScrollbarClient::scrollToXOffsetWithoutAnimation): + (WebCore::ScrollbarClient::scrollToYOffsetWithoutAnimation): + (WebCore::ScrollbarClient::setScrollOffsetFromAnimation): + * platform/ScrollbarClient.h: + (WebCore::ScrollbarClient::horizontalScrollbar): + (WebCore::ScrollbarClient::verticalScrollbar): + Make the increasingly misnamed ScrollbarClient responsible for + scrolling. + + * platform/efl/ScrollbarEfl.cpp: + (scrollbarEflEdjeMessage): + * platform/gtk/MainFrameScrollbarGtk.cpp: + (MainFrameScrollbarGtk::gtkValueChanged): + * platform/qt/ScrollbarQt.cpp: + (WebCore::Scrollbar::contextMenu): + Update to move scrolling through the client. + + * platform/win/PopupMenuWin.cpp: + (WebCore::PopupMenuWin::scrollToRevealSelection): + (WebCore::PopupMenuWin::scrollPosition): + (WebCore::PopupMenuWin::setScrollOffset): + (WebCore::PopupMenuWin::scrollTo): + (WebCore::PopupMenuWin::wndProc): + * platform/win/PopupMenuWin.h: + (WebCore::PopupMenuWin::verticalScrollbar): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::scrollToOffset): + (WebCore::RenderLayer::scrollTo): + (WebCore::RenderLayer::setScrollOffset): + (WebCore::RenderLayer::scrollPosition): + (WebCore::RenderLayer::updateScrollInfoAfterLayout): + (WebCore::RenderLayer::scroll): + * rendering/RenderLayer.h: + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::scrollToRevealElementAtListIndex): + (WebCore::RenderListBox::scroll): + (WebCore::RenderListBox::logicalScroll): + (WebCore::RenderListBox::scrollPosition): + (WebCore::RenderListBox::setScrollOffset): + (WebCore::RenderListBox::scrollTo): + (WebCore::RenderListBox::setScrollTop): + * rendering/RenderListBox.h: + (WebCore::RenderListBox::verticalScrollbar): + Update to scroll via the ScrollbarClient rather than the Scrollbar. + + * rendering/RenderMarquee.cpp: + (WebCore::RenderMarquee::start): + Simplify initial paint to just do an immediate scroll to the position. + +2011-01-20 Patrick Gansterer <paroga@webkit.org> + + Unreviewed WinCE build fix for r76170. + + * platform/graphics/wince/FontWinCE.cpp: Added a missing include. + * platform/graphics/wince/ImageBufferData.h: Added a missing include and fixed style. + +2011-01-20 James Robinson <jamesr@chromium.org> + + Reviewed by Darin Fisher. + + Implement mozilla's requestAnimationFrame API + https://bugs.webkit.org/show_bug.cgi?id=51218 + + This implements mozilla's proposed requestAnimationFrame API. The idea with this API is that + an author driving an animation from script could use window.requestAnimationFrame(callback) + instead of window.setTimeout(callback, 0) to schedule their update logic and let the browser + decide when to update the animations. This avoids doing unnecessary work when the page content + is offscreen or is being displayed at a different framerate than what the page author expects. + + Mozilla's proposal is here: https://developer.mozilla.org/en/DOM/window.mozRequestAnimationFrame + This implements window.mozRequestAnimationFrame as window.webkitRequestAnimationFrame with the + following changes: + *) Only the callback syntax is supported, there is no before paint event + *) webkitRequestAnimationFrame supports a second parameter Element to let the author indicate + what content they intend to animate. That way if the page is being displayed but the element + in question is offscreen, we can avoid invoking the callback. + *) No timestamp is provided to the caller and there is no window.animationStartTime property + (see https://bugs.webkit.org/show_bug.cgi?id=51952 for discussion of this property) + *) window.webkitRequestAnimationFrame returns a numerical id that can be used to cancel the callback + using window.cancelWebkitRequestAnimationFrame, to parallel window.setTimeout()/window.clearTime(). + + The implementation depends on the embedder scheduling the callbacks since the callback invocation + depends on the page's visibility and the embedder's paint scheduling, neither of which are exposed + to WebCore. The expectation for the embedder is that at some point Chrome::scheduleAnimation() is + called FrameView::serviceScriptedAnimations() should be called for the associated Page's main frame. + Ideally serviceScriptedAnimations() would be called prior to rendering - although in practice the + embedder has to rate limit callbacks and may not be able to tie the callback directly to the + rendering loop. + + Tests: fast/animation/request-animation-frame-cancel.html + fast/animation/request-animation-frame-cancel2.html + fast/animation/request-animation-frame-display.html + fast/animation/request-animation-frame-within-callback.html + fast/animation/request-animation-frame.html + + * WebCore.gypi: + * dom/Document.cpp: + (WebCore::Document::Document): + (WebCore::Document::webkitRequestAnimationFrame): + (WebCore::Document::webkitCancelRequestAnimationFrame): + (WebCore::Document::serviceScriptedAnimations): + * dom/Document.h: + * dom/RequestAnimationFrameCallback.h: Added. + (WebCore::RequestAnimationFrameCallback::~RequestAnimationFrameCallback): + * dom/RequestAnimationFrameCallback.idl: Added. + * loader/EmptyClients.h: + (WebCore::EmptyChromeClient::scheduleAnimation): + * page/Chrome.cpp: + (WebCore::Chrome::scheduleAnimation): + * page/Chrome.h: + * page/ChromeClient.h: + * page/DOMWindow.cpp: + (WebCore::DOMWindow::webkitRequestAnimationFrame): + (WebCore::DOMWindow::webkitCancelRequestAnimationFrame): + * page/DOMWindow.h: + * page/DOMWindow.idl: + * page/FrameView.cpp: + (WebCore::FrameView::scheduleAnimation): + (WebCore::FrameView::serviceScriptedAnimations): + * page/FrameView.h: + * platform/HostWindow.h: + +2011-01-20 James Robinson <jamesr@chromium.org> + + Reviewed by Nate Chapin. + + [v8] CodeGeneratorV8 generates incorrect code for callbacks with no parameters + https://bugs.webkit.org/show_bug.cgi?id=52837 + + When generating code to invoke a callback with no parameters CodeGeneratorV8.pm was generating the following: + v8::Handle<v8::Value> argv[] = {}; which does not compile in visual studio. Instead, if the argument count + is 0, we can just pass a NULL pointer for the argv parameter. + + Test added to bindings/scripts/test/TestCallback.idl and covered by run-bindings-tests. This + patch also includes some spurious changes to the bindings tests golden files (mostly GObject) + because the old golden files were out of date. + + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/scripts/test/CPP/WebDOMTestCallback.cpp: + (WebDOMTestCallback::callbackWithNoParam): + * bindings/scripts/test/CPP/WebDOMTestCallback.h: + * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp: + (webkit_dom_test_callback_callback_with_no_param): + * bindings/scripts/test/GObject/WebKitDOMTestCallback.h: + * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: + * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp: + * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: + * bindings/scripts/test/JS/JSTestCallback.cpp: + (WebCore::JSTestCallback::callbackWithNoParam): + * bindings/scripts/test/JS/JSTestCallback.h: + * bindings/scripts/test/JS/JSTestInterface.cpp: + * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: + * bindings/scripts/test/JS/JSTestObj.cpp: + * bindings/scripts/test/ObjC/DOMTestCallback.h: + * bindings/scripts/test/ObjC/DOMTestCallback.mm: + (-[DOMTestCallback callbackWithNoParam]): + * bindings/scripts/test/TestCallback.idl: + * bindings/scripts/test/V8/V8TestCallback.cpp: + (WebCore::V8TestCallback::callbackWithNoParam): + * bindings/scripts/test/V8/V8TestCallback.h: + * bindings/scripts/test/V8/V8TestObj.cpp: + (WebCore::TestObjInternal::reflectedUnsignedIntegralAttrAttrGetter): + +2011-01-20 James Robinson <jamesr@chromium.org> + + Reviewed by Eric "Baller" Seidel. + + RenderTableSection's setNeedsCellRecalc needs to null check table() + https://bugs.webkit.org/show_bug.cgi?id=52770 + + Null checks table() before deferencing it in RenderTableSection::setNeedsCellRecalc. + This can be null during detach(). Test constructed by Eric Seidel. + + Test: fast/css-generated-content/table-with-scrollbar-corner.html + + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::setNeedsCellRecalc): + * rendering/RenderTableSection.h: + +2011-01-20 Dirk Schulze <krit@webkit.org> + + Reviewed by Rob Buis. + + SVG Pattern doesn't take preserveAspectRatio of references Pattern + https://bugs.webkit.org/show_bug.cgi?id=52802 + + SVGPattern didn't take preserveAspectRatio of a referenced SVGPattern into account. Store preserveAspectRatio + in PatternAttributes as well, if the attribute was set on the referenced SVGPattern element. + + Test: svg/custom/pattern-referencing-preserve-aspect-ratio.svg + + * rendering/svg/RenderSVGResourcePattern.cpp: + (WebCore::RenderSVGResourcePattern::buildTileImageTransform): + * svg/PatternAttributes.h: + (WebCore::PatternAttributes::PatternAttributes): + (WebCore::PatternAttributes::preserveAspectRatio): + (WebCore::PatternAttributes::setPreserveAspectRatio): + (WebCore::PatternAttributes::hasPreserveAspectRatio): + * svg/SVGPatternElement.cpp: + (WebCore::SVGPatternElement::collectPatternAttributes): + +2011-01-20 Dan Bernstein <mitz@apple.com> + + Reviewed by Adele Peterson. + + <rdar://problem/8765498> REGRESSION (r72141): Cannot order prints with Aperture 3.1 + + <rdar://problem/8884648> REGRESSION (r72141): Safari hangs when visiting a page on www.bfmtv.com + https://bugs.webkit.org/show_bug.cgi?id=52765 + + <rdar://problem/8890909> REGRESSION (r72141): Very Slow Rendering With Certain Markup + https://bugs.webkit.org/show_bug.cgi?id=52265 + + Test: fast/block/line-layout/negative-max-height.html + + Integer overflow detection led to a block having a huge height. This manifested as broken layout + in the first bug and as extreme slowness in the latter bugs because of + https://bugs.webkit.org/show_bug.cgi?id=52832 + + * rendering/RootInlineBox.cpp: + (WebCore::RootInlineBox::alignBoxesInBlockDirection): Clamp maxHeight to 0 so the next line + cannot start above this line. The negative maxHeight also caused the integer overflow detection + logic to give the block a huge height. + +2011-01-20 Yi Shen <yi.4.shen@nokia.com> + + Reviewed by Eric Carlson. + + Clean up the Media Controls CSS for Qt + https://bugs.webkit.org/show_bug.cgi?id=52822 + + Split the audio::-webkit-media-xxx and video::-webkit-media-xxx rules + in mediaControlsQt.css, and remove the duplicate audio::-webkit-media-xxx + rules from mediaControlsQtFullscreen.css. + + * css/mediaControlsQt.css: + (audio::-webkit-media-controls-panel): + (video::-webkit-media-controls-panel): + (audio::-webkit-media-controls-mute-button): + (video::-webkit-media-controls-mute-button): + (audio::-webkit-media-controls-play-button): + (video::-webkit-media-controls-play-button): + (audio::-webkit-media-controls-timeline-container): + (video::-webkit-media-controls-timeline-container): + (audio::-webkit-media-controls-current-time-display): + (video::-webkit-media-controls-current-time-display): + (audio::-webkit-media-controls-time-remaining-display): + (video::-webkit-media-controls-time-remaining-display): + (audio::-webkit-media-controls-timeline): + (video::-webkit-media-controls-timeline): + (audio::-webkit-media-controls-volume-slider-container): + (video::-webkit-media-controls-volume-slider-container): + (audio::-webkit-media-controls-volume-slider): + (video::-webkit-media-controls-volume-slider): + (audio::-webkit-media-controls-seek-back-button): + (video::-webkit-media-controls-seek-back-button): + (audio::-webkit-media-controls-seek-forward-button): + (video::-webkit-media-controls-seek-forward-button): + (audio::-webkit-media-controls-fullscreen-button): + (video::-webkit-media-controls-fullscreen-button): + (audio::-webkit-media-controls-rewind-button): + (video::-webkit-media-controls-rewind-button): + (audio::-webkit-media-controls-return-to-realtime-button): + (video::-webkit-media-controls-return-to-realtime-button): + (audio::-webkit-media-controls-toggle-closed-captions-button): + (video::-webkit-media-controls-toggle-closed-captions-button): + * css/mediaControlsQtFullscreen.css: + (video::-webkit-media-controls-time-remaining-display): + (video::-webkit-media-controls-seek-back-button): + (video::-webkit-media-controls-seek-forward-button): + (video::-webkit-media-controls-rewind-button): + (video::-webkit-media-controls-return-to-realtime-button): + (video::-webkit-media-controls-toggle-closed-captions-button): + +2011-01-20 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: [REGRESSION] Canceling of CSS numeric values increment/decrement is broken + https://bugs.webkit.org/show_bug.cgi?id=52816 + + * inspector/front-end/StylesSidebarPane.js: + (WebInspector.StylePropertyTreeElement.prototype): + +2011-01-20 Dawit Alemayehu <adawit@kde.org> + + Reviewed by Andreas Kling. + + [Qt] Fix Layering violation in MediaPlayerPrivateQt. + https://bugs.webkit.org/show_bug.cgi?id=52733 + + No new tests. no behavioral change. + + * platform/graphics/qt/MediaPlayerPrivateQt.cpp: + (WebCore::MediaPlayerPrivateQt::commitLoad): + +2011-01-20 Nate Chapin <japhet@chromium.org> + + Reviewed by Darin Fisher. + + [V8] Call malloc and memcpy directly instead of + of strdup in convertV8ObjectToNPVariant() when + converting strings. If there is a null character + in the string, our use of strdup causes us to allocate + too little memory, leading to out of bounds reads. + + https://bugs.webkit.org/show_bug.cgi?id=52631 + + * bindings/v8/V8NPUtils.cpp: + (WebCore::convertV8ObjectToNPVariant): + +2011-01-20 Andreas Kling <kling@webkit.org> + + Reviewed by Ariya Hidayat. + + [Qt] Fill shadow scratch buffer with proper transparent pixels + + QImage::fill() has no Qt::GlobalColor overload in Qt 4.7 (coming in 4.8) + so doing QImage::fill(Qt::transparent) will actually fill all pixels with + the RGBA value 0x00000013. + + * platform/graphics/qt/ContextShadowQt.cpp: + (WebCore::ShadowBuffer::scratchImage): + +2011-01-19 Adam Roben <aroben@apple.com> + + Remove WKCACFContextFlusher + + It wasn't doing anything. + + Fixes <http://webkit.org/b/52752> WKCACFContextFlusher is unused + + Reviewed by Simon Fraser. + + * WebCore.vcproj/WebCore.vcproj: Removed WKCACFContextFlusher. Also let VS have its way with + the file. + + * platform/graphics/win/WKCACFContextFlusher.cpp: Removed. + * platform/graphics/win/WKCACFContextFlusher.h: Removed. + + * platform/graphics/win/WKCACFLayerRenderer.cpp: + (WebCore::WKCACFLayerRenderer::~WKCACFLayerRenderer): + (WebCore::WKCACFLayerRenderer::layerTreeDidChange): + Stop telling WKCACFContextFlusher about our context, since it never did anything with it. + +2011-01-19 Adam Roben <aroben@apple.com> + + Only flush our own context when we get resized + + Fixes <http://webkit.org/b/52751> All WKCACFContexts with uncommitted + changes get flushed whenever any composited page is resized + + Reviewed by Simon Fraser. + + * platform/graphics/win/WKCACFLayerRenderer.cpp: + (WebCore::WKCACFLayerRenderer::resize): Just flush our own context, not all contexts + WKCACFContextFlusher knows about. After all, ours is the only one that just got resized! + +2011-01-19 Adam Roben <aroben@apple.com> + + Make WKCACFLayerRenderer ref-counted + + This will be needed to handle cases where the client might release its reference to us while + we're calling out to it. + + WKCACFLayerRenderer now has a setClient function, which is used rather than passing the + client to create(). This allows clients to null out the client pointer when they're done + with the renderer. + + Fixes <http://webkit.org/b/52749> WKCACFLayerRenderer should be + ref-counted + + Reviewed by Simon Fraser. + + * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp: + (WebCore::MediaPlayerPrivateFullscreenWindow::MediaPlayerPrivateFullscreenWindow): + * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: + Updated for WKCACFLayerRenderer changes. + + * platform/graphics/win/WKCACFLayerRenderer.cpp: + (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable): Updated for changes to + create(). + (WebCore::WKCACFLayerRenderer::create): No longer takes a WKCACFLayerRendererClient. Now + returns a PassOwnPtr. + (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): No longer takes a + WKCACFLayerRendererClient. + + * platform/graphics/win/WKCACFLayerRenderer.h: Made WKCACFLayerRenderer inherit from + RefCounted. + (WebCore::WKCACFLayerRenderer::setClient): Added this simple setter. + +2011-01-20 Csaba Osztrogonác <ossy@webkit.org> + + [Qt][V8] Unreviewed buildfix after r76248. + + * bindings/v8/ScriptCachedFrameData.h: Add missing include. + +2011-01-20 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: enable resource agent upon request. + https://bugs.webkit.org/show_bug.cgi?id=52815 + + We should not send network-related notifications unless front-end + is interested. + + * inspector/Inspector.idl: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::restoreInspectorStateFromCookie): + (WebCore::InspectorController::connectFrontend): + (WebCore::InspectorController::resourceAgent): + * inspector/InspectorController.h: + (WebCore::InspectorController::consoleAgent): + (WebCore::InspectorController::cssAgent): + (WebCore::InspectorController::domAgent): + (WebCore::InspectorController::injectedScriptAgent): + (WebCore::InspectorController::runtimeAgent): + (WebCore::InspectorController::databaseAgent): + (WebCore::InspectorController::domStorageAgent): + (WebCore::InspectorController::fileSystemAgent): + * inspector/InspectorInstrumentation.cpp: + (WebCore::InspectorInstrumentation::retrieveResourceAgent): + * inspector/InspectorResourceAgent.cpp: + (WebCore::InspectorResourceAgent::restore): + (WebCore::InspectorResourceAgent::~InspectorResourceAgent): + (WebCore::InspectorResourceAgent::InspectorResourceAgent): + * inspector/InspectorResourceAgent.h: + (WebCore::InspectorResourceAgent::create): + * inspector/InspectorState.cpp: + (WebCore::InspectorState::InspectorState): + * inspector/InspectorState.h: + +2011-01-20 Zoltan Horvath <zoltan@webkit.org> + + Reviewed by Csaba Osztrogonác. + + Refactoring of the custom allocation framework + https://bugs.webkit.org/show_bug.cgi?id=49897 + + Inheriting from FastAllocBase can result in objects getting larger (bug #33896, #46589). + The modification replaces Noncopyable and FastAllocBase classes and these inherits with their + equivalent macro implementation at the necessary places. + +2011-01-20 Mikhail Naganov <mnaganov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: [Chromium] CPU Profiles are cleared when navigating back and forth. + + Profiles are now not cleared unless renderer instance was changed. + + https://bugs.webkit.org/show_bug.cgi?id=52807 + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::restoreProfiler): + * inspector/InspectorProfilerAgent.cpp: + (WebCore::InspectorProfilerAgent::resetState): + (WebCore::InspectorProfilerAgent::resetFrontendProfiles): + * inspector/InspectorProfilerAgent.h: + +2011-01-20 Alexander Pavlov <apavlov@chromium.org> + + Unreviewed, add new JS file refs missing from r76116. + + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * inspector/front-end/WebKit.qrc: + +2011-01-20 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: Crash when adding a rule for an ImageDocument + https://bugs.webkit.org/show_bug.cgi?id=52811 + + * inspector/InspectorCSSAgent.cpp: + (WebCore::InspectorCSSAgent::addRule2): + (WebCore::InspectorCSSAgent::viaInspectorStyleSheet): + +2011-01-20 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: cleanup InspectorController's friends list. + We have a plan to extract InspectorAgent from InspectorController. + InspectorAgent will be accessible only from InspectorController. + As result we can simply made some methods public and remove long + friends list. + + https://bugs.webkit.org/show_bug.cgi?id=52806 + + * inspector/InjectedScriptHost.cpp: + (WebCore::InjectedScriptHost::databaseForId): + (WebCore::InjectedScriptHost::selectDatabase): + (WebCore::InjectedScriptHost::selectDOMStorage): + (WebCore::InjectedScriptHost::inspectorDOMAgent): + (WebCore::InjectedScriptHost::frontend): + * inspector/InspectorBrowserDebuggerAgent.cpp: + (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint): + (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint): + (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode): + (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode): + (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr): + (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent): + (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded): + (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest): + * inspector/InspectorController.h: + (WebCore::InspectorController::frontend): + * inspector/InspectorInstrumentation.cpp: + (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl): + (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl): + (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl): + (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl): + (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl): + (WebCore::InspectorInstrumentation::didModifyDOMAttrImpl): + (WebCore::InspectorInstrumentation::characterDataModifiedImpl): + (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl): + (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl): + (WebCore::InspectorInstrumentation::didFailLoadingImpl): + (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl): + (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsoleImpl): + (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded): + (WebCore::InspectorInstrumentation::cancelPauseOnNativeEvent): + (WebCore::InspectorInstrumentation::retrieveTimelineAgent): + (WebCore::InspectorInstrumentation::retrieveResourceAgent): + +2011-01-19 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: implement JavaScriptBreakpointsSidebarPane based on events from debugger model. + https://bugs.webkit.org/show_bug.cgi?id=52723 + + Extract all breakpoints-related presentation code from debugger model to JavaScriptBreakpointSidebarPane. + + * inspector/front-end/Breakpoint.js: + (WebInspector.Breakpoint): + (WebInspector.Breakpoint.prototype.get data): + (WebInspector.Breakpoint.prototype.remove): + * inspector/front-end/BreakpointsSidebarPane.js: + (WebInspector.JavaScriptBreakpointsSidebarPane): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointAdded): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointRemoved): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointEnableChanged): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointItemCheckboxClicked): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._contextMenuEventFired): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._debuggerPaused): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._debuggerResumed): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._addListElement): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._removeListElement): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._projectChanged): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._compare): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._compareBreakpoints): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setupBreakpointElement.didGetSourceLine): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setupBreakpointElement): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointIdForDebuggerPausedEvent): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setBreakpointEnabled): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._removeBreakpoint): + (WebInspector.NativeBreakpointsSidebarPane): + (WebInspector.XHRBreakpointsSidebarPane.prototype.addBreakpointItem): + * inspector/front-end/DebuggerModel.js: + (WebInspector.DebuggerModel.prototype.removeBreakpoint): + (WebInspector.DebuggerModel.prototype.breakpointForId): + (WebInspector.DebuggerModel.prototype._pausedScript): + (WebInspector.DebuggerModel.prototype._resumedScript): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel): + * inspector/front-end/inspector.js: + +2011-01-20 Dirk Schulze <krit@webkit.org> + + Reviewed by Andreas Kling. + + SVG Pattern doesn't take the viewBox of a referenced Pattern + https://bugs.webkit.org/show_bug.cgi?id=52804 + + SVGPattern element didn't use the viewBox of another SVGPattern element, referenced + by xlink:href. Modified PatternAttributes, to take the value of the viewBox of the + SVGPattern element as well, if the attribute was set. + This gets checked by a W3C SVG test case. + + Test: svg/W3C-SVG-1.1-SE/pservers-pattern-04-f.svg + + * rendering/svg/RenderSVGResourcePattern.cpp: + (WebCore::RenderSVGResourcePattern::buildTileImageTransform): + * svg/PatternAttributes.h: + (WebCore::PatternAttributes::PatternAttributes): + (WebCore::PatternAttributes::viewBox): + (WebCore::PatternAttributes::setViewBox): + (WebCore::PatternAttributes::hasViewBox): + * svg/SVGPatternElement.cpp: + (WebCore::SVGPatternElement::collectPatternAttributes): + +2011-01-19 Stephen White <senorblanco@chromium.org> + + [Re-land of r76159 with a compile fix for the Chromium linux shlib + build.] + + Reviewed by James Robinson. + + Implement accelerated path drawing and clipping for the Canvas2D GPU + path. + https://bugs.webkit.org/show_bug.cgi?id=52627 + + This is done with a simple curve interpolator and the GLU tesselator, + which is good enough for a 3-5X speedup on + http://ie.microsoft.com/testdrive/Performance/Galactic/Default.html. + + Covered by canvas/philip/2d.path.clip.basic.html, and many, many more. + All tests canvas/philip and fast/canvas paths pass with no + regressions, although two have minor pixel differences which require + rebaselining. + + * WebCore.gyp/WebCore.gyp: + Add internal_glu include path to chromium build. + * WebCore.gypi: + Add internal_glu files to chromium build. + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::reset): + (WebCore::CanvasRenderingContext2D::platformLayer): + Make CanvasRenderingContext2D more robust against failure to create + a DrawingBuffer. + * platform/graphics/chromium/DrawingBufferChromium.cpp: + (WebCore::DrawingBuffer::DrawingBuffer): + As in DrawingBufferMac.cpp, call reset() from the constructor. + Also initialize size to (-1, -1), so reset() doesn't early-out. + Add initializers for depthBuffer and stencilBuffer, and remove + multisampleDepthStencilBuffer. + * platform/graphics/chromium/GLES2Canvas.cpp: + Remove some unused #includes. + (WebCore::GLES2Canvas::State::State): + Add clipping state, and implement save/restore via the copy constructor. + (WebCore::operator*): + (WebCore::Quadratic::Quadratic): + (WebCore::Quadratic::fromBezier): + (WebCore::Quadratic::evaluate): + Quadratic Bezier curve class. + (WebCore::Cubic::Cubic): + (WebCore::Cubic::fromBezier): + (WebCore::Cubic::evaluate): + Cubic Bezier curve class. + (WebCore::GLES2Canvas::clearRect): + Add clipping support to clearRect(). + (WebCore::GLES2Canvas::fillPath): + Implement fillPath(). + (WebCore::GLES2Canvas::fillRect): + Add clipping support to fillRect(). + (WebCore::GLES2Canvas::clipPath): + Implement clipPath(). + (WebCore::GLES2Canvas::clipOut): + Stub out clipOut() (not called by Canvas 2D). + (WebCore::GLES2Canvas::restore): + When restoring, draw any remaining clipping paths to the stencil buffer. + (WebCore::GLES2Canvas::drawTexturedRect): + Add clipping support. + (WebCore::interpolateQuadratic): + (WebCore::interpolateCubic): + Simple curve interpolation, using the Cubic and Quadratic classes. + (WebCore::PolygonData::PolygonData): + A struct to hold the tesselation data for callbacks. + (WebCore::beginData): + (WebCore::edgeFlagData): + (WebCore::vertexData): + (WebCore::endData): + (WebCore::combineData): + internal_glu tesselation callbacks. + (WebCore::GLES2Canvas::createVertexBufferFromPath): + Build an interpolated, tesselated vertex buffer and element array buffer from a given path, suitable for filling. + (WebCore::GLES2Canvas::beginStencilDraw): + Enable stencilling, and disable draws to the color buffer. + (WebCore::GLES2Canvas::applyClipping): + If clipping is enabled, set the appropriate GL state. + * platform/graphics/chromium/GLES2Canvas.h: + Document the flavours of drawTexturedRect() a bit, so I don't get confused. + * platform/graphics/gpu/DrawingBuffer.cpp: + (WebCore::DrawingBuffer::clear): + (WebCore::DrawingBuffer::createSecondaryBuffers): + (WebCore::DrawingBuffer::resizeDepthStencil): + (WebCore::DrawingBuffer::reset): + * platform/graphics/gpu/DrawingBuffer.h: + Unify m_multisampleDepthStencilBuffer with m_depthStencilBuffer. + Implement separate depth and stencil buffers for when + OES_packed_depth_stencil is not available. Refactor creation of + multisampled and non-multisampled depth and stencil buffers into + resizeDepthStencil(). + * platform/graphics/gpu/SharedGraphicsContext3D.cpp: + (WebCore::SharedGraphicsContext3D::create): + Turn on stencil, turn off depth, turn off antialiasing (for now). + (WebCore::SharedGraphicsContext3D::enableStencil): + * platform/graphics/gpu/SharedGraphicsContext3D.h: + Implement stencil enable/disable. + * platform/graphics/gpu/mac/DrawingBufferMac.mm: + (WebCore::DrawingBuffer::DrawingBuffer): + Remove m_multisampleDepthStencilBuffer. Set the size to (-1, -1) + on creation, so reset() doesn't early-out. Initialize m_depthBuffer + and m_stencilBuffer. + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::canvasClip): + (WebCore::GraphicsContext::clipOut): + (WebCore::GraphicsContext::clipPath): + (WebCore::GraphicsContext::fillPath): + Put in GPU hooks for path clipping, and path drawing. + * platform/graphics/skia/PlatformContextSkia.cpp: + (WebCore::PlatformContextSkia::canAccelerate): + Don't check for clipping paths in canAccelerate() (since we can + now accelerate them). + (WebCore::PlatformContextSkia::uploadSoftwareToHardware): + Don't do clipping when uploading software draws to hardware. + * thirdparty/glu/README.webkit: + * thirdparty/glu/gluos.h: + #undef MIN and MAX, to fix warnings-as-errors in Chrome/Mac build. + * thirdparty/glu/libtess/geom.c: + * thirdparty/glu/libtess/priorityq.c: + * thirdparty/glu/libtess/render.c: + Use do{}while(0) instead of if(1)else construct in macro. + * thirdparty/glu/libtess/sweep.c: + (IsWindingInside): + (DoneEdgeDict): + Fix some warnings treated as errors for the Linux Release build. + + +2011-01-20 Pavel Feldman <pfeldman@chromium.org> + + Web Inspector: move releaseObjectGroup to the new Runtime agent. + https://bugs.webkit.org/show_bug.cgi?id=52803 + (accedentally landed as r76231) + + * inspector/InspectorContorller.h: + * inspector/InspectorContorller.cpp: + * inspector/InspectorRuntimeAgent.h: + * inspector/InspectorRuntimeAgent.cpp: + +2011-01-20 Pavel Feldman <pfeldman@chromium.org> + + Not reviewed: build fix. + + * inspector/InspectorState.h: + (WebCore::InspectorState::setBoolean): + (WebCore::InspectorState::setString): + (WebCore::InspectorState::setLong): + +2011-01-20 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: further simplify InspectorState. + https://bugs.webkit.org/show_bug.cgi?id=52731 + + This change moves XHR logging flag into console agent, + removes InspectorState pushing to the front-end. + + * inspector/Inspector.idl: + * inspector/InspectorConsoleAgent.cpp: + (WebCore::InspectorConsoleAgent::InspectorConsoleAgent): + (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest): + (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled): + (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled): + (WebCore::InspectorConsoleAgent::addConsoleMessage): + * inspector/InspectorConsoleAgent.h: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::InspectorController): + * inspector/InspectorController.h: + (WebCore::InspectorController::state): + (WebCore::InspectorController::settings): + * inspector/InspectorState.cpp: + (WebCore::InspectorState::InspectorState): + (WebCore::InspectorState::registerBoolean): + (WebCore::InspectorState::registerString): + (WebCore::InspectorState::registerLong): + (WebCore::InspectorState::registerObject): + (WebCore::InspectorState::Property::create): + * inspector/InspectorState.h: + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessagesCleared): + (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.monitoringXHRStateChanged): + (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher): + (WebInspector.ConsoleView.prototype._handleContextMenuEvent): + * inspector/front-end/inspector.js: + +2011-01-20 Csaba Osztrogonác <ossy@webkit.org> + + Unreviewed buildfix. + + [Qt][V8] Remove unnecessary files after r76224. + + * WebCore.pro: + +2011-01-20 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: prepare for extracting InspectorAgent from InspectorController. + https://bugs.webkit.org/show_bug.cgi?id=52797 + + * inspector/CodeGeneratorInspector.pm: + * inspector/InspectorController.h: + (WebCore::InspectorController::inspectorAgent): + (WebCore::InspectorController::cssAgent): + (WebCore::InspectorController::injectedScriptAgent): + (WebCore::InspectorController::resourceAgent): + (WebCore::InspectorController::runtimeAgent): + (WebCore::InspectorController::timelineAgent): + (WebCore::InspectorController::databaseAgent): + (WebCore::InspectorController::domStorageAgent): + (WebCore::InspectorController::fileSystemAgent): + (WebCore::InspectorController::browserDebuggerAgent): + (WebCore::InspectorController::debuggerAgent): + (WebCore::InspectorController::profilerAgent): + (WebCore::InspectorController::applicationCacheAgent): + +2011-01-20 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r76215. + http://trac.webkit.org/changeset/76215 + https://bugs.webkit.org/show_bug.cgi?id=52799 + + Caused regressions in Chromium; morrita is going to look at it + tomrorow (Requested by jorlow on #webkit). + + * dom/TextEvent.h: + * dom/TextEventInputType.h: + * editing/CompositeEditCommand.cpp: + (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): + * editing/CompositeEditCommand.h: + * editing/Editor.cpp: + (WebCore::Editor::insertTextWithoutSendingTextEvent): + (WebCore::Editor::confirmComposition): + (WebCore::Editor::setComposition): + * editing/Editor.h: + * editing/InsertTextCommand.cpp: + (WebCore::InsertTextCommand::input): + * editing/InsertTextCommand.h: + * editing/TypingCommand.cpp: + (WebCore::TypingCommand::TypingCommand): + (WebCore::TypingCommand::insertText): + (WebCore::TypingCommand::insertTextRunWithoutNewlines): + * editing/TypingCommand.h: + (WebCore::TypingCommand::create): + +2010-12-14 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Adam Barth. + + [V8] Get rid of delayed exception reporting in V8ConsoleMessage.cpp + https://bugs.webkit.org/show_bug.cgi?id=51044 + + * WebCore.gypi: + * bindings/v8/V8ConsoleMessage.cpp: Removed. + * bindings/v8/V8ConsoleMessage.h: Removed. + * bindings/v8/V8DOMWindowShell.cpp: + (WebCore::v8UncaughtExceptionHandler): + (WebCore::reportUnsafeJavaScriptAccess): + (WebCore::V8DOMWindowShell::initContextIfNeeded): + * bindings/v8/V8Proxy.cpp: + (WebCore::addMessageToConsole): + (WebCore::logInfo): + (WebCore::V8Proxy::reportUnsafeAccessTo): + (WebCore::V8Proxy::runScript): + (WebCore::V8Proxy::callFunction): + (WebCore::V8Proxy::newInstance): + * bindings/v8/V8Proxy.h: + * bindings/v8/WorkerContextExecutionProxy.cpp: + * bindings/v8/specialization/V8BindingState.cpp: + (WebCore::::immediatelyReportUnsafeAccessTo): + +2011-01-19 MORITA Hajime <morrita@google.com> + + Reviewed by Eric Seidel. + + ShadowElement::m_shadowParent should be removed + https://bugs.webkit.org/show_bug.cgi?id=52558 + + No new tests. No behavioral change. + + * rendering/ShadowElement.h: + (WebCore::ShadowElement::ShadowElement): + +2011-01-20 Hans Wennborg <hans@chromium.org> + + Reviewed by Jeremy Orlow. + + IndexedDB: IDBObjectStore.get should fire onsuccess rather than onerror + https://bugs.webkit.org/show_bug.cgi?id=52725 + + Let IDBObjectStore.get() fire the onsuccess handler with the value + 'undefined' for when an object does not exist in the store. + + Update SerializedScriptValue to provide such an undefined value. + + * bindings/v8/SerializedScriptValue.cpp: + (WebCore::SerializedScriptValue::nullValue): + (WebCore::SerializedScriptValue::undefinedValue): + * bindings/v8/SerializedScriptValue.h: + * storage/IDBObjectStoreBackendImpl.cpp: + (WebCore::IDBObjectStoreBackendImpl::getInternal): + +2010-12-27 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + WebCore doesn't fire window.onerror event when uncaught JavaScript exceptions are thrown + https://bugs.webkit.org/show_bug.cgi?id=8519 + + Uncaught exceptions are propagated to window.onerror hander if one is present. + The handler is expected to be a function accepting three arguments: error message, + resource url and line number where the exception occured. + + It was decided to dispatch ErrorEvent to all listeners/handlers no matter if they + were created in the same isolated world where the exception occured or not. + + Tests: fast/events/window-onerror1.html + fast/events/window-onerror10.html + fast/events/window-onerror11.html + fast/events/window-onerror12.html + fast/events/window-onerror2.html + fast/events/window-onerror3.html + fast/events/window-onerror4.html + fast/events/window-onerror5.html + fast/events/window-onerror6.html + fast/events/window-onerror7.html + fast/events/window-onerror8.html + fast/events/window-onerror9.html + http/tests/security/window-onerror-exception-in-iframe.html + userscripts/window-onerror-for-isolated-world-1.html + userscripts/window-onerror-for-isolated-world-2.html + + * Android.jscbindings.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.order: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSBindingsAllInOne.cpp: + * bindings/js/JSDOMBinding.cpp: + (WebCore::reportException): + * bindings/js/JSErrorHandler.cpp: Renamed from WebCore/bindings/js/JSWorkerContextErrorHandler.cpp. + (WebCore::JSErrorHandler::JSErrorHandler): + (WebCore::JSErrorHandler::~JSErrorHandler): + (WebCore::JSErrorHandler::handleEvent): + * bindings/js/JSErrorHandler.h: Copied from WebCore/bindings/js/JSWorkerContextErrorHandler.h. + (WebCore::JSErrorHandler::create): + (WebCore::createJSErrorHandler): + * bindings/js/JSEventListener.h: + * bindings/scripts/CodeGeneratorJS.pm: + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/v8/V8ConsoleMessage.cpp: + (WebCore::V8ConsoleMessage::dispatchNow): + (WebCore::V8ConsoleMessage::handler): the method was changed to use generic WebCore exception + reporting mechanism which is also used by JSC bindings. + * bindings/v8/V8ConsoleMessage.h: + * bindings/v8/V8EventListener.h: + * bindings/v8/V8WindowErrorHandler.cpp: Renamed from WebCore/bindings/js/JSWorkerContextErrorHandler.h. + (WebCore::V8WindowErrorHandler::V8WindowErrorHandler): + (WebCore::V8WindowErrorHandler::callListenerFunction): + * bindings/v8/V8WindowErrorHandler.h: Copied from WebCore/dom/ErrorEvent.cpp. + (WebCore::V8WindowErrorHandler::create): + * bindings/v8/WorkerContextExecutionProxy.cpp: + (WebCore::v8MessageHandler): + * bindings/v8/WorkerScriptController.cpp: + (WebCore::WorkerScriptController::evaluate): + * dom/Document.cpp: + (WebCore::Document::errorEventTarget): + (WebCore::Document::logExceptionToConsole): + (WebCore::Document::addMessage): + * dom/Document.h: + * dom/ErrorEvent.cpp: + * dom/ErrorEvent.h: + * dom/Event.cpp: + (WebCore::Event::isErrorEvent): + * dom/Event.h: + * dom/ScriptExecutionContext.cpp: + (WebCore::ScriptExecutionContext::PendingException::PendingException): + (WebCore::ScriptExecutionContext::ScriptExecutionContext): + (WebCore::ScriptExecutionContext::reportException): this method is not virtual anymore to + ensure that error event dispatching algorithm is the same in WorkerContext and in Document. + (WebCore::ScriptExecutionContext::dispatchErrorEvent): + * dom/ScriptExecutionContext.h: + * websockets/WebSocket.cpp: + (WebCore::WebSocket::connect): + * websockets/WebSocketChannel.cpp: + (WebCore::WebSocketChannel::didOpen): + (WebCore::WebSocketChannel::didFail): + (WebCore::WebSocketChannel::appendToBuffer): + * websockets/WebSocketHandshake.cpp: + (WebCore::WebSocketHandshake::readServerHandshake): + (WebCore::WebSocketHandshake::readStatusLine): + (WebCore::WebSocketHandshake::readHTTPHeaders): + (WebCore::WebSocketHandshake::checkResponseHeaders): + * workers/DefaultSharedWorkerRepository.cpp: + (WebCore::postExceptionTask): + (WebCore::postConsoleMessageTask): + * workers/WorkerContext.cpp: + (WebCore::WorkerContext::WorkerContext): + (WebCore::WorkerContext::errorEventTarget): + (WebCore::WorkerContext::logExceptionToConsole): + (WebCore::WorkerContext::addMessage): + * workers/WorkerContext.h: + * workers/WorkerMessagingProxy.cpp: + (WebCore::WorkerExceptionTask::performTask): + (WebCore::postConsoleMessageTask): + * xml/XMLHttpRequest.cpp: + (WebCore::reportUnsafeUsage): + +2011-01-19 MORITA Hajime <morrita@google.com> + + Reviewed by Ryosuke Niwa. + + Space and tab characters "sent" by an input method give totally different results than typing them directly + https://bugs.webkit.org/show_bug.cgi?id=5241 + + * Introduced TextEvent::InputTypeComposition and TypingCommand::TextCompositionType to + distinguish text input which is originated by composition. + * Generalized rebalanceWhitespaceAt() to rebalanceWhitespaceOnTextSubstring() to rebalancing + range of string on text node, instead of surrounding part of that. + + Test: editing/inserting/insert-composition-whitespace.html + + * dom/TextEvent.h: + (WebCore::TextEvent::isComposition): + * dom/TextEventInputType.h: Added TextEventInputComposition as a member of TextEvent::InputType + * editing/CompositeEditCommand.cpp: + (WebCore::containsOnlyWhitespace): + (WebCore::CompositeEditCommand::shouldRebalanceLeadingWhitespaceFor): + (WebCore::CompositeEditCommand::canRebalance): + (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): + (WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring): Added: A generalized version of rebalanceWhitespaceAt(), which takes a range inside Text string. + * editing/CompositeEditCommand.h: + * editing/Editor.cpp: + (WebCore::Editor::insertTextForConfirmedComposition): Added. + (WebCore::Editor::insertTextWithoutSendingTextEvent): + (WebCore::Editor::confirmComposition): Now uses insertTextForConfirmedComposition(). + (WebCore::Editor::setComposition): + * editing/Editor.h: + * editing/InsertTextCommand.cpp: + (WebCore::InsertTextCommand::input): + * editing/InsertTextCommand.h: + * editing/TypingCommand.cpp: + (WebCore::TypingCommand::TypingCommand): + (WebCore::TypingCommand::insertText): + (WebCore::TypingCommand::insertTextRunWithoutNewlines): + * editing/TypingCommand.h: Added TypingCommand::m_compositionType and TypingCommand::TextCompositionType + (WebCore::TypingCommand::setCompositionType): Added. + (WebCore::TypingCommand::create): + +2011-01-19 Dominic Cooney <dominicc@google.com> + + Reviewed by Kent Tamura. + + Make <keygen> no longer appear to be a <select> element to script. + https://bugs.webkit.org/show_bug.cgi?id=52557 + + The intent is to put <keygen> options into shadow DOM. This change + takes the first step by hiding the <select> element from + JavaScript. + + Test: fast/dom/HTMLKeygenElement/keygen.html + + * CMakeLists.txt: Adds new IDL-derived wrapper. + * DerivedSources.cpp: + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pri: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/gobject/GNUmakefile.am: + * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp: + (WebKit::createKeygenWrapper): + (WebKit::createHTMLElementWrapper): + * bindings/objc/DOM.mm: + (WebCore::createElementClassMap): Keygen no longer DOMHTMLSelectElement + * html/HTMLKeygenElement.h: + (WebCore::HTMLKeygenElement::willValidate): Now public. + * html/HTMLKeygenElement.idl: Added. + * html/HTMLTagNames.in: Keygen's wrapper is HTMLKeygenElement. + * page/DOMWindow.idl: Add HTMLKeygenElement constructor. + +2011-01-19 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r76203. + http://trac.webkit.org/changeset/76203 + https://bugs.webkit.org/show_bug.cgi?id=52784 + + Broke Win compile on Chromium bots (Requested by dimich on + #webkit). + + * WebCore.gypi: + * bindings/v8/V8DOMWindowShell.cpp: + (WebCore::reportFatalErrorInV8): + * page/PageGroup.cpp: + (WebCore::PageGroup::isLinkVisited): + * platform/android/PlatformBridge.h: + * platform/audio/chromium/AudioBusChromium.cpp: + (WebCore::createBusFromInMemoryAudioFile): + * platform/chromium/ChromiumBridge.h: Added. + * platform/chromium/ChromiumDataObjectLegacy.cpp: + (WebCore::ChromiumDataObjectLegacy::getData): + * platform/chromium/DragDataChromium.cpp: + (WebCore::DragData::asURL): + * platform/chromium/FileSystemChromium.cpp: + (WebCore::deleteFile): + (WebCore::deleteEmptyDirectory): + (WebCore::getFileSize): + (WebCore::getFileModificationTime): + (WebCore::revealFolderInOS): + (WebCore::directoryName): + (WebCore::pathByAppendingComponent): + (WebCore::makeAllDirectories): + (WebCore::fileExists): + (WebCore::openFile): + (WebCore::closeFile): + (WebCore::seekFile): + (WebCore::truncateFile): + (WebCore::readFromFile): + (WebCore::writeToFile): + * platform/chromium/LanguageChromium.cpp: + (WebCore::platformDefaultLanguage): + * platform/chromium/LinkHashChromium.cpp: + (WebCore::visitedLinkHash): + * platform/chromium/MIMETypeRegistryChromium.cpp: + (WebCore::MIMETypeRegistry::getMIMETypeForExtension): + (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType): + (WebCore::MIMETypeRegistry::isSupportedImageMIMEType): + (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType): + (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType): + * platform/chromium/PasteboardChromium.cpp: + (WebCore::Pasteboard::writeSelection): + (WebCore::Pasteboard::writePlainText): + (WebCore::Pasteboard::writeURL): + (WebCore::Pasteboard::writeImage): + (WebCore::Pasteboard::canSmartReplace): + (WebCore::Pasteboard::plainText): + (WebCore::Pasteboard::documentFragment): + * platform/chromium/PlatformBridge.h: + * platform/chromium/PlatformScreenChromium.cpp: + (WebCore::screenDepth): + (WebCore::screenDepthPerComponent): + (WebCore::screenIsMonochrome): + (WebCore::screenRect): + (WebCore::screenAvailableRect): + * platform/chromium/ReadableDataObject.cpp: + (WebCore::ReadableDataObject::getData): + (WebCore::ReadableDataObject::urlTitle): + (WebCore::ReadableDataObject::htmlBaseUrl): + (WebCore::ReadableDataObject::filenames): + (WebCore::ReadableDataObject::ensureTypeCacheInitialized): + * platform/chromium/SSLKeyGeneratorChromium.cpp: + (WebCore::signedPublicKeyAndChallengeString): + * platform/chromium/ScrollbarThemeChromium.cpp: + * platform/chromium/ScrollbarThemeChromiumLinux.cpp: + (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness): + (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece): + (WebCore::ScrollbarThemeChromiumLinux::paintButton): + (WebCore::ScrollbarThemeChromiumLinux::paintThumb): + (WebCore::ScrollbarThemeChromiumLinux::buttonSize): + (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength): + * platform/chromium/ScrollbarThemeChromiumMac.mm: + (WebCore::scrollbarStateToThemeState): + (WebCore::ScrollbarThemeChromiumMac::paint): + * platform/chromium/ScrollbarThemeChromiumWin.cpp: + (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness): + (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece): + (WebCore::ScrollbarThemeChromiumWin::paintButton): + (WebCore::ScrollbarThemeChromiumWin::paintThumb): + (WebCore::ScrollbarThemeChromiumWin::buttonSize): + * platform/chromium/SharedTimerChromium.cpp: + (WebCore::setSharedTimerFiredFunction): + (WebCore::setSharedTimerFireTime): + (WebCore::stopSharedTimer): + * platform/chromium/SuddenTerminationChromium.cpp: + (WebCore::disableSuddenTermination): + (WebCore::enableSuddenTermination): + * platform/chromium/SystemTimeChromium.cpp: + (WebCore::currentTime): + * platform/chromium/WritableDataObject.cpp: + (WebCore::WritableDataObject::setData): + * platform/graphics/chromium/CrossProcessFontLoading.mm: + * platform/graphics/chromium/FontCacheChromiumWin.cpp: + (WebCore::fontContainsCharacter): + (WebCore::FillLogFont): + * platform/graphics/chromium/FontCacheLinux.cpp: + (WebCore::FontCache::getFontDataForCharacters): + * platform/graphics/chromium/FontChromiumWin.cpp: + (WebCore::Font::drawGlyphs): + * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp: + (WebCore::FontPlatformData::scriptFontProperties): + * platform/graphics/chromium/FontPlatformDataLinux.cpp: + (WebCore::FontPlatformData::querySystemForRenderStyle): + * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp: + (WebCore::fillBMPGlyphs): + * platform/graphics/chromium/ImageChromium.cpp: + (WebCore::Image::loadPlatformResource): + * platform/graphics/chromium/ImageChromiumMac.mm: + (WebCore::Image::loadPlatformResource): + * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: + (WebCore::SimpleFontData::platformInit): + (WebCore::SimpleFontData::determinePitch): + (WebCore::SimpleFontData::platformWidthForGlyph): + * platform/graphics/chromium/UniscribeHelperTextRun.cpp: + (WebCore::UniscribeHelperTextRun::tryToPreloadFont): + * platform/graphics/skia/FontCustomPlatformData.cpp: + (WebCore::FontCustomPlatformData::fontPlatformData): + * platform/network/chromium/CookieJarChromium.cpp: + (WebCore::setCookies): + (WebCore::cookies): + (WebCore::cookieRequestHeaderFieldValue): + (WebCore::cookiesEnabled): + (WebCore::getRawCookies): + (WebCore::deleteCookie): + * platform/network/chromium/DNSChromium.cpp: + (WebCore::prefetchDNS): + * platform/qt/PlatformBridge.h: + * platform/sql/chromium/SQLiteFileSystemChromium.cpp: + (WebCore::SQLiteFileSystem::deleteDatabaseFile): + (WebCore::SQLiteFileSystem::getDatabaseFileSize): + * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp: + (chromiumOpen): + (chromiumDelete): + (chromiumAccess): + * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: + * plugins/chromium/PluginDataChromium.cpp: + (WebCore::PluginCache::plugins): + * rendering/RenderThemeChromiumMac.mm: + (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor): + * rendering/RenderThemeChromiumSkia.cpp: + (WebCore::RenderThemeChromiumSkia::caretBlinkInterval): + * rendering/RenderThemeChromiumWin.cpp: + (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor): + (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor): + (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor): + (WebCore::RenderThemeChromiumWin::systemColor): + (WebCore::RenderThemeChromiumWin::paintButton): + (WebCore::RenderThemeChromiumWin::paintSliderTrack): + (WebCore::menuListButtonWidth): + (WebCore::RenderThemeChromiumWin::paintMenuList): + (WebCore::RenderThemeChromiumWin::paintTextFieldInternal): + (WebCore::RenderThemeChromiumWin::paintInnerSpinButton): + (WebCore::RenderThemeChromiumWin::paintProgressBar): + * storage/chromium/IDBFactoryBackendInterface.cpp: + (WebCore::IDBFactoryBackendInterface::create): + (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface): + * storage/chromium/IDBKeyPathBackendImpl.cpp: + (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath): + +2011-01-19 Helder Correia <helder@sencha.com> + + Reviewed by Andreas Kling. + + [Qt] GraphicsContext::strokePath() paints solid shadows with incorrect alpha + https://bugs.webkit.org/show_bug.cgi?id=52705 + + This is related to bug 52611. The shadow color alpha must be multiplied + by the context pen alpha. Fixing this results in correct behavior for + Canvas path stroke() and strokeRect() [which relies on stroke()]. + + Tests: fast/canvas/canvas-strokePath-alpha-shadow.html + fast/canvas/canvas-strokeRect-alpha-shadow.html + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::strokePath): + +2011-01-19 Darin Fisher <darin@chromium.org> + + Reviewed by Mihai Parparita. + + Re-initialize the HistoryItem fully when navigating to a HistoryItem, + or replacing a HistoryItem, results in a different URL. + + https://bugs.webkit.org/show_bug.cgi?id=49654 + + This patch also forces all HistoryItems to record the post-redirect + URL. Previously, frames would remember the pre-redirect URL. This is + problematic since other members of the HistoryItem correspond to the + post-redirect URL. + + Tests: fast/history/history-replace-updates-current-item.html + http/tests/navigation/redirect-on-back-updates-history-item.html + http/tests/navigation/redirect-on-reload-updates-history-item.html + + * history/HistoryItem.cpp: + (WebCore::HistoryItem::HistoryItem): + (WebCore::HistoryItem::reset): + * history/HistoryItem.h: + * loader/HistoryController.cpp: + (WebCore::HistoryController::updateForBackForwardNavigation): + (WebCore::HistoryController::updateForReload): + (WebCore::HistoryController::updateForStandardLoad): + (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList): + (WebCore::HistoryController::initializeItem): + (WebCore::HistoryController::createItem): + (WebCore::HistoryController::createItemTree): + (WebCore::HistoryController::updateCurrentItem): + * loader/HistoryController.h: + +2011-01-19 Adam Klein <adamk@chromium.org> + + Reviewed by Darin Fisher. + + [chromium] Rename ChromiumBridge to PlatformBridge + https://bugs.webkit.org/show_bug.cgi?id=52471 + + No tests added as this is a rename; no change in behavior. + + * WebCore.gypi: + * bindings/v8/V8DOMWindowShell.cpp: + (WebCore::reportFatalErrorInV8): + * page/PageGroup.cpp: + (WebCore::PageGroup::isLinkVisited): + * platform/android/PlatformBridge.h: + * platform/audio/chromium/AudioBusChromium.cpp: + (WebCore::createBusFromInMemoryAudioFile): + * platform/chromium/ChromiumBridge.h: Removed. + * platform/chromium/ChromiumDataObjectLegacy.cpp: + (WebCore::ChromiumDataObjectLegacy::getData): + * platform/chromium/DragDataChromium.cpp: + (WebCore::DragData::asURL): + * platform/chromium/FileSystemChromium.cpp: + (WebCore::deleteFile): + (WebCore::deleteEmptyDirectory): + (WebCore::getFileSize): + (WebCore::getFileModificationTime): + (WebCore::revealFolderInOS): + (WebCore::directoryName): + (WebCore::pathByAppendingComponent): + (WebCore::makeAllDirectories): + (WebCore::fileExists): + (WebCore::openFile): + (WebCore::closeFile): + (WebCore::seekFile): + (WebCore::truncateFile): + (WebCore::readFromFile): + (WebCore::writeToFile): + * platform/chromium/LanguageChromium.cpp: + (WebCore::platformDefaultLanguage): + * platform/chromium/LinkHashChromium.cpp: + (WebCore::visitedLinkHash): + * platform/chromium/MIMETypeRegistryChromium.cpp: + (WebCore::MIMETypeRegistry::getMIMETypeForExtension): + (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType): + (WebCore::MIMETypeRegistry::isSupportedImageMIMEType): + (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType): + (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType): + * platform/chromium/PasteboardChromium.cpp: + (WebCore::Pasteboard::writeSelection): + (WebCore::Pasteboard::writePlainText): + (WebCore::Pasteboard::writeURL): + (WebCore::Pasteboard::writeImage): + (WebCore::Pasteboard::canSmartReplace): + (WebCore::Pasteboard::plainText): + (WebCore::Pasteboard::documentFragment): + * platform/chromium/PlatformBridge.h: + * platform/chromium/PlatformScreenChromium.cpp: + (WebCore::screenDepth): + (WebCore::screenDepthPerComponent): + (WebCore::screenIsMonochrome): + (WebCore::screenRect): + (WebCore::screenAvailableRect): + * platform/chromium/ReadableDataObject.cpp: + (WebCore::ReadableDataObject::getData): + (WebCore::ReadableDataObject::urlTitle): + (WebCore::ReadableDataObject::htmlBaseUrl): + (WebCore::ReadableDataObject::filenames): + (WebCore::ReadableDataObject::ensureTypeCacheInitialized): + * platform/chromium/SSLKeyGeneratorChromium.cpp: + (WebCore::signedPublicKeyAndChallengeString): + * platform/chromium/ScrollbarThemeChromium.cpp: + * platform/chromium/ScrollbarThemeChromiumLinux.cpp: + (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness): + (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece): + (WebCore::ScrollbarThemeChromiumLinux::paintButton): + (WebCore::ScrollbarThemeChromiumLinux::paintThumb): + (WebCore::ScrollbarThemeChromiumLinux::buttonSize): + (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength): + * platform/chromium/ScrollbarThemeChromiumMac.mm: + (WebCore::scrollbarStateToThemeState): + (WebCore::ScrollbarThemeChromiumMac::paint): + * platform/chromium/ScrollbarThemeChromiumWin.cpp: + (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness): + (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece): + (WebCore::ScrollbarThemeChromiumWin::paintButton): + (WebCore::ScrollbarThemeChromiumWin::paintThumb): + (WebCore::ScrollbarThemeChromiumWin::buttonSize): + * platform/chromium/SharedTimerChromium.cpp: + (WebCore::setSharedTimerFiredFunction): + (WebCore::setSharedTimerFireTime): + (WebCore::stopSharedTimer): + * platform/chromium/SuddenTerminationChromium.cpp: + (WebCore::disableSuddenTermination): + (WebCore::enableSuddenTermination): + * platform/chromium/SystemTimeChromium.cpp: + (WebCore::currentTime): + * platform/chromium/WritableDataObject.cpp: + (WebCore::WritableDataObject::setData): + * platform/graphics/chromium/CrossProcessFontLoading.mm: + * platform/graphics/chromium/FontCacheChromiumWin.cpp: + (WebCore::fontContainsCharacter): + (WebCore::FillLogFont): + * platform/graphics/chromium/FontCacheLinux.cpp: + (WebCore::FontCache::getFontDataForCharacters): + * platform/graphics/chromium/FontChromiumWin.cpp: + (WebCore::Font::drawGlyphs): + * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp: + (WebCore::FontPlatformData::scriptFontProperties): + * platform/graphics/chromium/FontPlatformDataLinux.cpp: + (WebCore::FontPlatformData::querySystemForRenderStyle): + * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp: + (WebCore::fillBMPGlyphs): + * platform/graphics/chromium/ImageChromium.cpp: + (WebCore::Image::loadPlatformResource): + * platform/graphics/chromium/ImageChromiumMac.mm: + (WebCore::Image::loadPlatformResource): + * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: + (WebCore::SimpleFontData::platformInit): + (WebCore::SimpleFontData::determinePitch): + (WebCore::SimpleFontData::platformWidthForGlyph): + * platform/graphics/chromium/UniscribeHelperTextRun.cpp: + (WebCore::UniscribeHelperTextRun::tryToPreloadFont): + * platform/graphics/skia/FontCustomPlatformData.cpp: + (WebCore::FontCustomPlatformData::fontPlatformData): + * platform/network/chromium/CookieJarChromium.cpp: + (WebCore::setCookies): + (WebCore::cookies): + (WebCore::cookieRequestHeaderFieldValue): + (WebCore::cookiesEnabled): + (WebCore::getRawCookies): + (WebCore::deleteCookie): + * platform/network/chromium/DNSChromium.cpp: + (WebCore::prefetchDNS): + * platform/qt/PlatformBridge.h: + * platform/sql/chromium/SQLiteFileSystemChromium.cpp: + (WebCore::SQLiteFileSystem::deleteDatabaseFile): + (WebCore::SQLiteFileSystem::getDatabaseFileSize): + * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp: + (chromiumOpen): + (chromiumDelete): + (chromiumAccess): + * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: + * plugins/chromium/PluginDataChromium.cpp: + (WebCore::PluginCache::plugins): + * rendering/RenderThemeChromiumMac.mm: + (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor): + * rendering/RenderThemeChromiumSkia.cpp: + (WebCore::RenderThemeChromiumSkia::caretBlinkInterval): + * rendering/RenderThemeChromiumWin.cpp: + (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor): + (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor): + (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor): + (WebCore::RenderThemeChromiumWin::systemColor): + (WebCore::RenderThemeChromiumWin::paintButton): + (WebCore::RenderThemeChromiumWin::paintSliderTrack): + (WebCore::menuListButtonWidth): + (WebCore::RenderThemeChromiumWin::paintMenuList): + (WebCore::RenderThemeChromiumWin::paintTextFieldInternal): + (WebCore::RenderThemeChromiumWin::paintInnerSpinButton): + (WebCore::RenderThemeChromiumWin::paintProgressBar): + * storage/chromium/IDBFactoryBackendInterface.cpp: + (WebCore::IDBFactoryBackendInterface::create): + (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface): + * storage/chromium/IDBKeyPathBackendImpl.cpp: + (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath): + +2011-01-19 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r76187. + http://trac.webkit.org/changeset/76187 + https://bugs.webkit.org/show_bug.cgi?id=52778 + + Broke caret-showing tests on SnowLeopard and Chromium + (Requested by dimich on #webkit). + + * rendering/RenderText.cpp: + (WebCore::RenderText::localCaretRect): + +2011-01-19 Yuzo Fujishima <yuzo@google.com> + + Reviewed by Kent Tamura. + + Fix for Bug 52279 - WebCore::RenderBlock::updateFirstLetter crashes for anonymous blocks + https://bugs.webkit.org/show_bug.cgi?id=52279 + + In constructing text fragments to handle first-letter rule, first add + the text for the non-first letters and then remove the original text, + rather than the other way around. Otherwise, the text can be added to + an anoymous block that is different from the original one. This breaks + the assumption that a first letter render object has a non-null sibling + for the non-first letters and causes a crash. + + Test: fast/css/first-letter-anonymous-block-crash.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::updateFirstLetter): + +2011-01-19 James Robinson <jamesr@chromium.org> + + Unreviewed, rolling out r76194. + http://trac.webkit.org/changeset/76194 + https://bugs.webkit.org/show_bug.cgi?id=51218 + + Caused mysterious compile failure on the chromium win + build.webkit.org bots + + * WebCore.gypi: + * dom/Document.cpp: + (WebCore::Document::Document): + * dom/Document.h: + * dom/RequestAnimationFrameCallback.h: Removed. + * dom/RequestAnimationFrameCallback.idl: Removed. + * loader/EmptyClients.h: + * page/Chrome.cpp: + * page/Chrome.h: + * page/ChromeClient.h: + * page/DOMWindow.cpp: + * page/DOMWindow.h: + * page/DOMWindow.idl: + * page/FrameView.cpp: + * page/FrameView.h: + * platform/HostWindow.h: + +2011-01-19 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Sam Weinig. + + GraphicsLayers in subframes can get sync'd multiple times + https://bugs.webkit.org/show_bug.cgi?id=52489 + + Some cleanup that will work towards fixing this bug. + + Tested by existing iframe compositing tests. + + * WebCore.exp.in: syncCompositingStateRecursive() + was renamed to syncCompositingStateIncludingSubframes(). + + * page/FrameView.h: + * page/FrameView.cpp: + (WebCore::FrameView::syncCompositingStateForThisFrame): Some + code cleanup: do all the word we need to do for this frame, + including the needsLayout() check. + (WebCore::FrameView::syncCompositingStateIncludingSubframes): + This is no longer recursive; instead, it iterates over descendant + frames via the frame tree, calling syncCompositingStateForThisFrame() + on each Frame's view. + + * rendering/RenderLayerCompositor.h: + (WebCore::RenderLayerCompositor::isFlushingLayers): Getter for the flag. + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::RenderLayerCompositor): + (WebCore::RenderLayerCompositor::flushPendingLayerChanges): Maintain + a flag to say if we're flushing, which allows us to assert on re-entrant flushes. + (WebCore::RenderLayerCompositor::enclosingCompositorFlushingLayers): + Add the ability to get the rootmost compositor that is in the middle + of a flush. + +2011-01-19 James Robinson <jamesr@chromium.org> + + Reviewed by Darin Fisher. + + Implement mozilla's requestAnimationFrame API + https://bugs.webkit.org/show_bug.cgi?id=51218 + + This implements mozilla's proposed requestAnimationFrame API. The idea with this API is that + an author driving an animation from script could use window.requestAnimationFrame(callback) + instead of window.setTimeout(callback, 0) to schedule their update logic and let the browser + decide when to update the animations. This avoids doing unnecessary work when the page content + is offscreen or is being displayed at a different framerate than what the page author expects. + + Mozilla's proposal is here: https://developer.mozilla.org/en/DOM/window.mozRequestAnimationFrame + This implements window.mozRequestAnimationFrame as window.webkitRequestAnimationFrame with the + following changes: + *) Only the callback syntax is supported, there is no before paint event + *) webkitRequestAnimationFrame supports a second parameter Element to let the author indicate + what content they intend to animate. That way if the page is being displayed but the element + in question is offscreen, we can avoid invoking the callback. + *) No timestamp is provided to the caller and there is no window.animationStartTime property + (see https://bugs.webkit.org/show_bug.cgi?id=51952 for discussion of this property) + *) window.webkitRequestAnimationFrame returns a numerical id that can be used to cancel the callback + using window.cancelWebkitRequestAnimationFrame, to parallel window.setTimeout()/window.clearTime(). + + The implementation depends on the embedder scheduling the callbacks since the callback invocation + depends on the page's visibility and the embedder's paint scheduling, neither of which are exposed + to WebCore. The expectation for the embedder is that at some point Chrome::scheduleAnimation() is + called FrameView::serviceScriptedAnimations() should be called for the associated Page's main frame. + Ideally serviceScriptedAnimations() would be called prior to rendering - although in practice the + embedder has to rate limit callbacks and may not be able to tie the callback directly to the + rendering loop. + + Tests: fast/animation/request-animation-frame-cancel.html + fast/animation/request-animation-frame-cancel2.html + fast/animation/request-animation-frame-display.html + fast/animation/request-animation-frame-within-callback.html + fast/animation/request-animation-frame.html + + * WebCore.gypi: + * dom/Document.cpp: + (WebCore::Document::Document): + (WebCore::Document::webkitRequestAnimationFrame): + (WebCore::Document::webkitCancelRequestAnimationFrame): + (WebCore::Document::serviceScriptedAnimations): + * dom/Document.h: + * dom/RequestAnimationFrameCallback.h: Added. + (WebCore::RequestAnimationFrameCallback::~RequestAnimationFrameCallback): + * dom/RequestAnimationFrameCallback.idl: Added. + * loader/EmptyClients.h: + (WebCore::EmptyChromeClient::scheduleAnimation): + * page/Chrome.cpp: + (WebCore::Chrome::scheduleAnimation): + * page/Chrome.h: + * page/ChromeClient.h: + * page/DOMWindow.cpp: + (WebCore::DOMWindow::webkitRequestAnimationFrame): + (WebCore::DOMWindow::webkitCancelRequestAnimationFrame): + * page/DOMWindow.h: + * page/DOMWindow.idl: + * page/FrameView.cpp: + (WebCore::FrameView::scheduleAnimation): + (WebCore::FrameView::serviceScriptedAnimations): + * page/FrameView.h: + * platform/HostWindow.h: + +2011-01-13 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Daniel Bates. + + [GTK] Move progress bar painting out of gtk2drawing.c + https://bugs.webkit.org/show_bug.cgi?id=52385 + + Move progress bar painting to RenderThemeGtk2 and share some animation + logic between the GTK+ 2.x and GTK+ 3.x port. + + No new tests. This should not change functionality. + + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::RenderThemeGtk::animationRepeatIntervalForProgressBar): Moved from RenderThemeGtk3. + (WebCore::RenderThemeGtk::animationDurationForProgressBar): Ditto. + (WebCore::RenderThemeGtk::calculateProgressRect): Calculate the proper rectangle for the + progress indicator given the rect for the maximum size of the indicator. + * platform/gtk/RenderThemeGtk.h: Added calculateProgressRect declaration and + a new widget member for GTK+ 2.x + * platform/gtk/RenderThemeGtk2.cpp: + (WebCore::RenderThemeGtk::platformInit): Added initialization for the new widget member. + (WebCore::RenderThemeGtk::paintProgressBar): Paint the progress bar manually instead of + calling the old Mozilla code. + (WebCore::RenderThemeGtk::gtkProgressBar): Added. + * platform/gtk/RenderThemeGtk3.cpp: + (WebCore::RenderThemeGtk::paintProgressBar): Call calculateProgressRect now to get + the area of the progress indicator. + * platform/gtk/gtk2drawing.c: Remove unused code. + (moz_gtk_get_widget_border): + (moz_gtk_widget_paint): + * platform/gtk/gtkdrawing.h: Ditto. + +2011-01-19 Dmitry Titov <dimich@chromium.org> + + [Chromium] Not reviewed, reverts the following changes: + http://trac.webkit.org/changeset/76164 (build fix) + http://trac.webkit.org/changeset/76159 (main change) + + The change broke Chromium Linux-shlib build. + + Original issue: + Accelerated canvas2D has bad clipping performance. + https://bugs.webkit.org/show_bug.cgi?id=52627 + + * WebCore.gyp/WebCore.gyp: + * WebCore.gypi: + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::reset): + (WebCore::CanvasRenderingContext2D::platformLayer): + * platform/graphics/chromium/DrawingBufferChromium.cpp: + (WebCore::DrawingBuffer::DrawingBuffer): + * platform/graphics/chromium/GLES2Canvas.cpp: + (WebCore::GLES2Canvas::State::State): + (WebCore::GLES2Canvas::clearRect): + (WebCore::GLES2Canvas::fillRect): + (WebCore::GLES2Canvas::restore): + (WebCore::GLES2Canvas::drawTexturedRect): + * platform/graphics/chromium/GLES2Canvas.h: + * platform/graphics/gpu/DrawingBuffer.cpp: + (WebCore::DrawingBuffer::clear): + (WebCore::DrawingBuffer::createSecondaryBuffers): + (WebCore::DrawingBuffer::reset): + * platform/graphics/gpu/DrawingBuffer.h: + * platform/graphics/gpu/SharedGraphicsContext3D.cpp: + (WebCore::SharedGraphicsContext3D::create): + * platform/graphics/gpu/SharedGraphicsContext3D.h: + * platform/graphics/gpu/mac/DrawingBufferMac.mm: + (WebCore::DrawingBuffer::DrawingBuffer): + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::canvasClip): + (WebCore::GraphicsContext::clipOut): + (WebCore::GraphicsContext::clipPath): + (WebCore::GraphicsContext::fillPath): + * platform/graphics/skia/PlatformContextSkia.cpp: + (WebCore::PlatformContextSkia::canAccelerate): + (WebCore::PlatformContextSkia::uploadSoftwareToHardware): + * thirdparty/glu/README.webkit: + * thirdparty/glu/gluos.h: + * thirdparty/glu/libtess/geom.c: + * thirdparty/glu/libtess/priorityq.c: + * thirdparty/glu/libtess/render.c: + * thirdparty/glu/libtess/sweep.c: + (IsWindingInside): + (DoneEdgeDict): + +2011-01-19 Levi Weintraub <leviw@google.com> + + Reviewed by Darin Adler. + + Re-committing this with the proper expected results. + + Changing RenderText::localCaretRect to clip to its containing block's logicalLeft and + logicalRightLayoutOverflow instead of simply using logicalLeft and logicalRight, as this + resulted in the caret being placed incorrectly in overflowing editable IFrame content. + + Long lines in non-white-space-pre editable documents show cursor in wrong place + https://bugs.webkit.org/show_bug.cgi?id=48132 + + Test: editing/selection/caret-painting-in-overflowing-autowrap-content.html + + * rendering/RenderText.cpp: + (WebCore::RenderText::localCaretRect): + +2011-01-18 MORITA Hajime <morrita@google.com> + + Reviewed by David Levin. + + ElementRareData::m_shadowRoot should not be RefPtr. + https://bugs.webkit.org/show_bug.cgi?id=51914 + + Makes ElementRareData::m_shadowRoot a raw pointer because + ElementRareData::m_shadowRoot should be like a + ContaineNode::m_firstChild, which is also a raw pointer. + pointer. Which also means that both the shadow root and the shadow + host reference each other as a parent-and-child relationship, via + a raw pointer. + + Note that it is safe not to manipulate the ref-count of + m_shadowRoot because Node::m_parent of the shadow root points its + shadow host, and the object isn't deleted even if the refcount is + zero, as long as the node has non-null m_parent. (See TreeShared.) + + The shadow root node is finally destroyed inside + removeShadowRoot(), where we store the root node into a local + RefPtr, then make the node's m_parent null, which results the + destroy the node, at the end of the function, by RefPtr::~RefPtr. + + No new tests. No behavioral change. + + * dom/Element.cpp: + (WebCore::Element::~Element): + (WebCore::Element::shadowRoot): + (WebCore::Element::setShadowRoot): + (WebCore::Element::removeShadowRoot): + * dom/ElementRareData.h: + (WebCore::ElementRareData::ElementRareData): + (WebCore::ElementRareData::~ElementRareData): + +2011-01-12 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Gustavo Noronha Silva. + + [GTK] Move text field painting out of gtk2drawing.c + https://bugs.webkit.org/show_bug.cgi?id=52327 + + No new tests. This should not change behavior. + + * platform/gtk/RenderThemeGtk2.cpp: + (WebCore::RenderThemeGtk::paintButton): Use the setWidgetHasFocus helper. + (WebCore::RenderThemeGtk::paintTextField): Do this manually now instead + of calling into the Mozilla code. + * platform/gtk/WidgetRenderingContext.cpp: Added a couple more wrappers + for GTK+ theme functions. + (WebCore::WidgetRenderingContext::gtkPaintFlatBox): + (WebCore::WidgetRenderingContext::gtkPaintShadow): + * platform/gtk/WidgetRenderingContext.h: Added new method declarations. + * platform/gtk/gtk2drawing.c: Remove unused code. + (moz_gtk_get_widget_border): + (moz_gtk_widget_paint): + * platform/gtk/gtkdrawing.h: + +2011-01-19 Antti Koivisto <antti@apple.com> + + Reviewed by Oliver Hunt. + + Cache function offsets to speed up javascript parsing + https://bugs.webkit.org/show_bug.cgi?id=52622 + + Use cache to save function offsets and some other info. + This avoids quite a bit of work when reparsing the source. + + * bindings/js/CachedScriptSourceProvider.h: + (WebCore::CachedScriptSourceProvider::cache): + (WebCore::CachedScriptSourceProvider::cacheSizeChanged): + (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider): + * bindings/js/ScriptSourceProvider.h: + (WebCore::ScriptSourceProvider::ScriptSourceProvider): + * loader/cache/CachedScript.cpp: + (WebCore::CachedScript::destroyDecodedData): + (WebCore::CachedScript::sourceProviderCache): + (WebCore::CachedScript::sourceProviderCacheSizeChanged): + * loader/cache/CachedScript.h: + +2011-01-11 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Gustavo Noronha Silva. + + [GTK] Move toggle button rendering out of gtk2drawing.c + https://bugs.webkit.org/show_bug.cgi?id=52258 + + * platform/gtk/RenderThemeGtk.h: + * platform/gtk/RenderThemeGtk2.cpp: + (WebCore::RenderThemeGtk::platformInit): Initialize new button members. + (WebCore::adjustRectForFocus): Added this function which inflates a rect based + on a widget's exterior focus. + (WebCore::RenderThemeGtk::adjustRepaintRect): Account for exterior focus. + (WebCore::setToggleSize): Only listen to indicator-size to properly size + checkboxes and radio buttons. + (WebCore::RenderThemeGtk::setCheckboxSize): Call new setToggleSize properly. + (WebCore::paintToggle): Added. + (WebCore::RenderThemeGtk::paintCheckbox): Call paintToggle. + (WebCore::RenderThemeGtk::setRadioSize): Call new setToggleSize properly. + (WebCore::RenderThemeGtk::paintRadio): Call paintToggle. + (WebCore::RenderThemeGtk::gtkRadioButton): Added. + (WebCore::RenderThemeGtk::gtkCheckButton): Added. + * platform/gtk/WidgetRenderingContext.cpp: + (WebCore::WidgetRenderingContext::WidgetRenderingContext): Use a static extra space + variable. This is good enough for all themes that I've tested and prevents having to + pass information from RenderThemeGtk about every single type of widget. + (WebCore::WidgetRenderingContext::gtkPaintFocus): Use the paintRect + to draw instead of m_paintRect. This is important when we're painting + something that isn't the size of the total rect. + (WebCore::WidgetRenderingContext::gtkPaintCheck): Added. + (WebCore::WidgetRenderingContext::gtkPaintOption): Added. + * platform/gtk/WidgetRenderingContext.h: Updated to reflect new methods. + * platform/gtk/gtkdrawing.h: Remove newly unused code. + * platform/gtk/gtk2drawing.c: Ditto. + +2011-01-19 Tony Gentilcore <tonyg@chromium.org> + + Unreviewed build fix. + + Build fix for r76170 + https://bugs.webkit.org/show_bug.cgi?id=52758 + + * platform/graphics/chromium/UniscribeHelperTextRun.cpp: + +2011-01-19 David D. Kilzer <ddkilzer@apple.com> + + <http://webkit.org/b/52687> Clean up FrameLoader methods for PLUGIN_PROXY_FOR_VIDEO + + Reviewed by Eric Carlson. + + * loader/FrameLoader.cpp: Declare the methods here. + (WebCore::FrameLoader::hideMediaPlayerProxyPlugin): + (WebCore::FrameLoader::showMediaPlayerProxyPlugin): + * loader/FrameLoader.cpp: Moved methods to here... + (WebCore::FrameLoader::hideMediaPlayerProxyPlugin): + (WebCore::FrameLoader::showMediaPlayerProxyPlugin): + * loader/SubframeLoader.cpp: ...from here. + (WebCore::FrameLoader::hideMediaPlayerProxyPlugin): + (WebCore::FrameLoader::showMediaPlayerProxyPlugin): + +2011-01-19 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Mihai Parparita. + + Perform some forward declaration + https://bugs.webkit.org/show_bug.cgi?id=52522 + + No new tests because no new functionality. + + * accessibility/AccessibilityObject.h: + * css/WebKitCSSMatrix.cpp: + * html/HTMLAreaElement.cpp: + * html/canvas/CanvasRenderingContext2D.cpp: + * inspector/InspectorController.cpp: + * platform/graphics/FloatPoint.cpp: + * platform/graphics/Font.cpp: + * platform/graphics/Font.h: + * platform/graphics/FontFastPath.cpp: + * platform/graphics/GraphicsContext.cpp: + * platform/graphics/ImageBuffer.h: + * platform/graphics/StringTruncator.cpp: + * platform/graphics/WidthIterator.cpp: + * platform/graphics/mac/ComplexTextController.cpp: + * platform/graphics/mac/ComplexTextControllerCoreText.cpp: + * platform/graphics/mac/FontComplexTextMac.cpp: + * platform/graphics/transforms/TransformationMatrix.cpp: + * platform/graphics/transforms/TransformationMatrix.h: + * rendering/EllipsisBox.cpp: + * rendering/InlineTextBox.cpp: + * rendering/RenderBlock.cpp: + * rendering/RenderBlockLineLayout.cpp: + * rendering/RenderEmbeddedObject.cpp: + * rendering/RenderFileUploadControl.cpp: + * rendering/RenderFlexibleBox.cpp: + * rendering/RenderImage.cpp: + * rendering/RenderListBox.cpp: + * rendering/RenderListMarker.cpp: + * rendering/RenderMenuList.cpp: + * rendering/RenderObject.h: + * rendering/RenderText.cpp: + * rendering/RenderTextControl.cpp: + * rendering/svg/SVGInlineTextBox.cpp: + * rendering/svg/SVGMarkerLayoutInfo.h: + * rendering/svg/SVGTextMetrics.cpp: + * svg/SVGFont.cpp: + +2011-01-19 Adrienne Walker <enne@google.com> + + Reviewed by Kenneth Russell. + + [chromium] Tiled compositor should use texture manager + https://bugs.webkit.org/show_bug.cgi?id=52418 + + Test: compositing/ + + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::~LayerRendererChromium): + (WebCore::LayerRendererChromium::cleanupSharedObjects): + * platform/graphics/chromium/LayerTilerChromium.cpp: + (WebCore::LayerTilerChromium::LayerTilerChromium): + (WebCore::LayerTilerChromium::reset): + (WebCore::LayerTilerChromium::createTile): + (WebCore::LayerTilerChromium::update): + (WebCore::LayerTilerChromium::draw): + * platform/graphics/chromium/LayerTilerChromium.h: + (WebCore::LayerTilerChromium::Tile::Tile): + (WebCore::LayerTilerChromium::Tile::texture): + +2011-01-19 Stephen White <senorblanco@chromium.org> + + Unreviewed; build fix for chromium. + + * platform/graphics/chromium/GLES2Canvas.cpp: + (WebCore::GLES2Canvas::fillPath): + +2011-01-18 Stephen White <senorblanco@chromium.org> + + Reviewed by James Robinson. + + Implement accelerated path drawing and clipping for the Canvas2D GPU + path. + https://bugs.webkit.org/show_bug.cgi?id=52627 + + This is done with a simple curve interpolator and the GLU tesselator, + which is good enough for a 3-5X speedup on + http://ie.microsoft.com/testdrive/Performance/Galactic/Default.html. + + Covered by canvas/philip/2d.path.clip.basic.html, and many, many more. + All tests canvas/philip and fast/canvas paths pass with no + regressions, although two have minor pixel differences which require + rebaselining. + + * WebCore.gyp/WebCore.gyp: + Add internal_glu include path to chromium build. + * WebCore.gypi: + Add internal_glu files to chromium build. + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::reset): + (WebCore::CanvasRenderingContext2D::platformLayer): + Make CanvasRenderingContext2D more robust against failure to create + a DrawingBuffer. + * platform/graphics/chromium/DrawingBufferChromium.cpp: + (WebCore::DrawingBuffer::DrawingBuffer): + As in DrawingBufferMac.cpp, call reset() from the constructor. + Also initialize size to (-1, -1), so reset() doesn't early-out. + Add initializers for depthBuffer and stencilBuffer, and remove + multisampleDepthStencilBuffer. + * platform/graphics/chromium/GLES2Canvas.cpp: + Remove some unused #includes. + (WebCore::GLES2Canvas::State::State): + Add clipping state, and implement save/restore via the copy constructor. + (WebCore::operator*): + (WebCore::Quadratic::Quadratic): + (WebCore::Quadratic::fromBezier): + (WebCore::Quadratic::evaluate): + Quadratic Bezier curve class. + (WebCore::Cubic::Cubic): + (WebCore::Cubic::fromBezier): + (WebCore::Cubic::evaluate): + Cubic Bezier curve class. + (WebCore::GLES2Canvas::clearRect): + Add clipping support to clearRect(). + (WebCore::GLES2Canvas::fillPath): + Implement fillPath(). + (WebCore::GLES2Canvas::fillRect): + Add clipping support to fillRect(). + (WebCore::GLES2Canvas::clipPath): + Implement clipPath(). + (WebCore::GLES2Canvas::clipOut): + Stub out clipOut() (not called by Canvas 2D). + (WebCore::GLES2Canvas::restore): + When restoring, draw any remaining clipping paths to the stencil buffer. + (WebCore::GLES2Canvas::drawTexturedRect): + Add clipping support. + (WebCore::interpolateQuadratic): + (WebCore::interpolateCubic): + Simple curve interpolation, using the Cubic and Quadratic classes. + (WebCore::PolygonData::PolygonData): + A struct to hold the tesselation data for callbacks. + (WebCore::beginData): + (WebCore::edgeFlagData): + (WebCore::vertexData): + (WebCore::endData): + (WebCore::combineData): + internal_glu tesselation callbacks. + (WebCore::GLES2Canvas::createVertexBufferFromPath): + Build an interpolated, tesselated vertex buffer and element array buffer from a given path, suitable for filling. + (WebCore::GLES2Canvas::beginStencilDraw): + Enable stencilling, and disable draws to the color buffer. + (WebCore::GLES2Canvas::applyClipping): + If clipping is enabled, set the appropriate GL state. + * platform/graphics/chromium/GLES2Canvas.h: + Document the flavours of drawTexturedRect() a bit, so I don't get confused. + * platform/graphics/gpu/DrawingBuffer.cpp: + (WebCore::DrawingBuffer::clear): + (WebCore::DrawingBuffer::createSecondaryBuffers): + (WebCore::DrawingBuffer::resizeDepthStencil): + (WebCore::DrawingBuffer::reset): + * platform/graphics/gpu/DrawingBuffer.h: + Unify m_multisampleDepthStencilBuffer with m_depthStencilBuffer. + Implement separate depth and stencil buffers for when + OES_packed_depth_stencil is not available. Refactor creation of + multisampled and non-multisampled depth and stencil buffers into + resizeDepthStencil(). + * platform/graphics/gpu/SharedGraphicsContext3D.cpp: + (WebCore::SharedGraphicsContext3D::create): + Turn on stencil, turn off depth, turn off antialiasing (for now). + (WebCore::SharedGraphicsContext3D::enableStencil): + * platform/graphics/gpu/SharedGraphicsContext3D.h: + Implement stencil enable/disable. + * platform/graphics/gpu/mac/DrawingBufferMac.mm: + (WebCore::DrawingBuffer::DrawingBuffer): + Remove m_multisampleDepthStencilBuffer. Set the size to (-1, -1) + on creation, so reset() doesn't early-out. Initialize m_depthBuffer + and m_stencilBuffer. + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::canvasClip): + (WebCore::GraphicsContext::clipOut): + (WebCore::GraphicsContext::clipPath): + (WebCore::GraphicsContext::fillPath): + Put in GPU hooks for path clipping, and path drawing. + * platform/graphics/skia/PlatformContextSkia.cpp: + (WebCore::PlatformContextSkia::canAccelerate): + Don't check for clipping paths in canAccelerate() (since we can + now accelerate them). + (WebCore::PlatformContextSkia::uploadSoftwareToHardware): + Don't do clipping when uploading software draws to hardware. + * thirdparty/glu/README.webkit: + * thirdparty/glu/gluos.h: + #undef MIN and MAX, to fix warnings-as-errors in Chrome/Mac build. + * thirdparty/glu/libtess/geom.c: + * thirdparty/glu/libtess/priorityq.c: + * thirdparty/glu/libtess/render.c: + Use do{}while(0) instead of if(1)else construct in macro. + * thirdparty/glu/libtess/sweep.c: + (IsWindingInside): + (DoneEdgeDict): + Fix some warnings treated as errors for the Linux Release build. + +2011-01-19 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r76144. + http://trac.webkit.org/changeset/76144 + https://bugs.webkit.org/show_bug.cgi?id=52737 + + Broke tests on multiple bots, mostly Chromium Canaries + (Requested by dimich on #webkit). + + * rendering/RenderText.cpp: + (WebCore::RenderText::localCaretRect): + +2011-01-19 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Adam Roben. + + [CSS Gradients] Crash due to out-of-memory with repeating-linear-gradient and latter stop positioned before former + https://bugs.webkit.org/show_bug.cgi?id=52732 + + When repeating gradient stops, make sure that the first and last stops are not at the same + place, otherwise we'll add stops indefinitely and run out of memory. + + Test: fast/gradients/zero-range-repeating-gradient-hang.html + + * css/CSSGradientValue.cpp: + (WebCore::CSSGradientValue::addStops): + +2011-01-14 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Darin Adler. + + Remove event forwarding logic from input[type=range], simplify event flow and thumb positioning logic. + https://bugs.webkit.org/show_bug.cgi?id=52464 + + This change has two parts: + + 1) Utilize shadow DOM event retargeting to get rid of forwarding events + via render tree; + 2) Move thumb positioning logic from RenderSlider to SliderThumbElement. + + These two are highly co-dependent. It looked ugly when I tried to + separate them. + + No change in behavior, covered by existing tests. + + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::defaultEventHandler): Added invocation of + InputType::handleMouseDownEvent. + * html/InputType.cpp: + (WebCore::InputType::handleMouseDownEvent): Added empty decl. + * html/InputType.h: Added def. + * html/RangeInputType.cpp: + (WebCore::RangeInputType::handleMouseDownEvent): Added to handle the case + when the user clicks on the track of the slider. Also removed the + forwardEvent method. + * html/RangeInputType.h: Added/removed defs. + * html/shadow/SliderThumbElement.cpp: + (WebCore::SliderThumbElement::dragFrom): Added a helper method to start + dragging from any position. + (WebCore::SliderThumbElement::dragTo): Added a helper method to drag to + specified position. + (WebCore::SliderThumbElement::setPosition): Collapsed most of the positioning + logic in RenderSlider into this method, which is now a simple calculation + and adjusting of thumb position based on supplied coordinates. + (WebCore::SliderThumbElement::startDragging): Added. + (WebCore::SliderThumbElement::stopDragging): Added. + (WebCore::SliderThumbElement::defaultEventHandler): Removed most of the + old position-sniffing logic and replaced with simple calls to start, + stop, and drag the thumb. + * html/shadow/SliderThumbElement.h: Added defs. + * rendering/RenderSlider.cpp: Removed a bunch of code that is no longer + necessary. + * rendering/RenderSlider.h: Removed defs, removed now-unnecessary friendliness. + +2011-01-19 Shane Stephens <shanestephens@google.com> + + Reviewed by Chris Marrin. + + Make AffineTransform and TransformationMatrix do matrix multiplication in the correct order (Column Major) + https://bugs.webkit.org/show_bug.cgi?id=48031 + + Fixed reversal, renamed matrix methods to be clearer, found all examples of operator* and + operator*= usage and switched operand order. + + No new tests as this refactor doesn't add functionality. + + * html/HTMLCanvasElement.cpp: + (WebCore::HTMLCanvasElement::baseTransform): + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::transform): + (WebCore::CanvasRenderingContext2D::setTransform): + * platform/graphics/cg/PatternCG.cpp: + (WebCore::Pattern::createPlatformPattern): + * platform/graphics/chromium/GLES2Canvas.cpp: + (WebCore::GLES2Canvas::fillRect): + (WebCore::GLES2Canvas::concatCTM): + (WebCore::GLES2Canvas::drawQuad): + * platform/graphics/chromium/TransparencyWin.cpp: + (WebCore::TransparencyWin::setupLayerForOpaqueCompositeLayer): + (WebCore::TransparencyWin::setupTransformForKeepTransform): + * platform/graphics/transforms/AffineTransform.cpp: + (WebCore::AffineTransform::multiply): + (WebCore::AffineTransform::rotate): + * platform/graphics/transforms/AffineTransform.h: + (WebCore::AffineTransform::operator*=): + (WebCore::AffineTransform::operator*): + * platform/graphics/wince/GraphicsContextWinCE.cpp: + (WebCore::GraphicsContextPlatformPrivate::concatCTM): + * platform/graphics/wince/SharedBitmap.cpp: + (WebCore::SharedBitmap::drawPattern): + * rendering/svg/RenderSVGResourceContainer.cpp: + (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke): + * rendering/svg/RenderSVGResourceGradient.cpp: + (WebCore::clipToTextMask): + (WebCore::RenderSVGResourceGradient::applyResource): + * rendering/svg/RenderSVGResourcePattern.cpp: + (WebCore::RenderSVGResourcePattern::applyResource): + * rendering/svg/RenderSVGRoot.cpp: + (WebCore::RenderSVGRoot::localToBorderBoxTransform): + * rendering/svg/SVGImageBufferTools.cpp: + (WebCore::SVGImageBufferTools::calculateTransformationToOutermostSVGCoordinateSystem): + (WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer): + * rendering/svg/SVGTextLayoutEngine.cpp: + (WebCore::SVGTextLayoutEngine::finalizeTransformMatrices): + * svg/SVGLocatable.cpp: + (WebCore::SVGLocatable::computeCTM): + (WebCore::SVGLocatable::getTransformToElement): + * svg/SVGMatrix.h: + (WebCore::SVGMatrix::multiply): + * svg/SVGSVGElement.cpp: + (WebCore::SVGSVGElement::localCoordinateSpaceTransform): + (WebCore::SVGSVGElement::viewBoxToViewTransform): + * svg/SVGStyledTransformableElement.cpp: + (WebCore::SVGStyledTransformableElement::animatedLocalTransform): + * svg/SVGTextElement.cpp: + (WebCore::SVGTextElement::animatedLocalTransform): + * svg/SVGTransformList.cpp: + (WebCore::SVGTransformList::concatenate): + +2011-01-19 Chang Shu <chang.shu@nokia.com> + + Reviewed by Darin Adler. + + The return value of contentEditable() function should depend on the DOM attribute + instead of render style userModify. The code change fixed test cases in the bug + and partially fixed test cases in other contentEditable bugs; + + https://bugs.webkit.org/show_bug.cgi?id=52056 + + * html/HTMLElement.cpp: + (WebCore::HTMLElement::contentEditable): + +2011-01-19 Levi Weintraub <leviw@chromium.org> + + Reviewed by Darin Adler. + + Changing RenderText::localCaretRect to clip to its containing block's logicalLeft and + logicalRightLayoutOverflow instead of simply using logicalLeft and logicalRight, as this + resulted in the caret being placed incorrectly in overflowing editable IFrame content. + + Long lines in non-white-space-pre editable documents show cursor in wrong place + https://bugs.webkit.org/show_bug.cgi?id=48132 + + Test: editing/selection/caret-painting-in-overflowing-autowrap-content.html + + * rendering/RenderText.cpp: + (WebCore::RenderText::localCaretRect): + +2011-01-19 Chris Marrin <cmarrin@apple.com> + + Reviewed by Simon Fraser. + + WK2 - Multiple crashes in PlatformCALayer::replaceSublayer + https://bugs.webkit.org/show_bug.cgi?id=52695 + + Added ASSERTs to the places we assume a non-null superlayer. + + * platform/graphics/ca/GraphicsLayerCA.cpp: + (WebCore::GraphicsLayerCA::ensureStructuralLayer): + (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): + +2011-01-18 Beth Dakin <bdakin@apple.com> + + Reviewed by Maciej Stachowiak. + + Fix for <rdar://problem/8882916> Overlay scrollers require + content to layout underneath the scrollbar area + + The render tree should not include scrollbar size for + overlay scrollers. This patch will allow scrollers on + the WebView to behave like overflow:overlay. + + Treat overlay scrollers the same way as the !includeScrollbars + case. + * platform/ScrollView.cpp: + (WebCore::ScrollView::visibleContentRect): + + No corner rect for overlay scrollers. + (WebCore::ScrollView::scrollCornerRect): + + usesOverlayScrollbars() currently always returns no. + * platform/ScrollbarTheme.h: + (WebCore::ScrollbarTheme::usesOverlayScrollbars): + * platform/mac/ScrollbarThemeMac.h: + * platform/mac/ScrollbarThemeMac.mm: + (WebCore::ScrollbarThemeMac::usesOverlayScrollbars): + + includeVerticalScrollbarSize() and includeHorizontalScrollbarSize() + should return false for overlay scrollers. They already return + false for overflow:overlay. + * rendering/RenderBox.cpp: + (WebCore::RenderBox::includeVerticalScrollbarSize): + (WebCore::RenderBox::includeHorizontalScrollbarSize): + * rendering/RenderBox.h: + + In the render tree, always treat overlay scrollers like + they have a width and height of 0. + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::verticalScrollbarWidth): + (WebCore::RenderLayer::horizontalScrollbarHeight): + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::verticalScrollbarWidth): + +2011-01-18 Evan Martin <evan@chromium.org> + + Reviewed by Tony Chang. + + [chromium] simplify complex text code, fixing a handful of layout tests + https://bugs.webkit.org/show_bug.cgi?id=52661 + + Change ComplexTextControllerLinux to lay out RTL text to the left from + the starting point. (Previously it always went to the right.) This allows + us to map pixel offsets more directly into offsets within the text runs, + simplifying a few of the text-fiddling functions (they no longer need to + track the current position, as ComplexTextController now does it). + + * platform/graphics/chromium/ComplexTextControllerLinux.cpp: + (WebCore::ComplexTextController::ComplexTextController): + (WebCore::ComplexTextController::reset): + (WebCore::ComplexTextController::setGlyphXPositions): + * platform/graphics/chromium/ComplexTextControllerLinux.h: + (WebCore::ComplexTextController::offsetX): + * platform/graphics/chromium/FontLinux.cpp: + (WebCore::Font::drawComplexText): + (WebCore::Font::floatWidthForComplexText): + (WebCore::glyphIndexForXPositionInScriptRun): + (WebCore::Font::offsetForPositionForComplexText): + (WebCore::Font::selectionRectForComplexText): + +2011-01-19 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: move methods from InjectedScript domain into DOM, + Runtime and Debugger domains. Introduce InspectorRuntimeAgent. + https://bugs.webkit.org/show_bug.cgi?id=52717 + + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * inspector/CodeGeneratorInspector.pm: + * inspector/InjectedScript.cpp: + (WebCore::InjectedScript::evaluateOnCallFrame): + (WebCore::InjectedScript::getCompletions): + (WebCore::InjectedScript::getCompletionsOnCallFrame): + * inspector/InjectedScript.h: + * inspector/InjectedScriptHost.cpp: + (WebCore::InjectedScriptHost::injectedScriptForMainWorld): + * inspector/InjectedScriptHost.h: + * inspector/InjectedScriptSource.js: + (.): + (): + * inspector/Inspector.idl: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::connectFrontend): + (WebCore::InspectorController::releaseFrontendLifetimeAgents): + * inspector/InspectorController.h: + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::InspectorDOMAgent): + (WebCore::InspectorDOMAgent::resolveNode): + (WebCore::InspectorDOMAgent::getNodeProperties): + (WebCore::InspectorDOMAgent::getNodePrototypes): + (WebCore::InspectorDOMAgent::injectedScriptForNodeId): + * inspector/InspectorDOMAgent.h: + (WebCore::EventListenerInfo::EventListenerInfo): + (WebCore::InspectorDOMAgent::DOMListener::~DOMListener): + (WebCore::InspectorDOMAgent::create): + (WebCore::InspectorDOMAgent::cast): + (WebCore::InspectorDOMAgent::documents): + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame): + (WebCore::InspectorDebuggerAgent::getCompletionsOnCallFrame): + (WebCore::InspectorDebuggerAgent::injectedScriptForCallFrameId): + * inspector/InspectorDebuggerAgent.h: + * inspector/InspectorRuntimeAgent.cpp: Added. + (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent): + (WebCore::InspectorRuntimeAgent::~InspectorRuntimeAgent): + (WebCore::InspectorRuntimeAgent::evaluate): + (WebCore::InspectorRuntimeAgent::getCompletions): + (WebCore::InspectorRuntimeAgent::getProperties): + (WebCore::InspectorRuntimeAgent::setPropertyValue): + (WebCore::InspectorRuntimeAgent::pushNodeToFrontend): + (WebCore::InspectorRuntimeAgent::injectedScriptForObjectId): + * inspector/InspectorRuntimeAgent.h: Copied from Source/WebCore/inspector/InjectedScript.h. + (WebCore::InspectorRuntimeAgent::create): + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleView.prototype.completions): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame): + +2011-01-18 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: add UglifyJS parser and formatter files + https://bugs.webkit.org/show_bug.cgi?id=51702 + + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * inspector/front-end/ScriptFormatter.js: + (WebInspector.ScriptFormatter.positionToLocation): + (WebInspector.ScriptFormatter.prototype.format.messageHandler): + (WebInspector.ScriptFormatter.prototype.format): + (WebInspector.ScriptFormatter.prototype._buildMapping): + (WebInspector.ScriptFormatter.prototype._convertPosition): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype.formatSource.didFormat): + (WebInspector.SourceFrame.prototype.formatSource): + * inspector/front-end/WebKit.qrc: + * inspector/front-end/parse-js.js: Added. UglifyJS parser. + * inspector/front-end/process.js: Added. UglifyJS formatter. + * inspector/front-end/scriptFormatterWorker.js: Added. Worker script that wraps UglifyJS code. + (onmessage): + (beautify): + (loadModule): + (require): + * inspector/front-end/utilities.js: + (): + +2011-01-19 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: [JSC] scripts have incorrect starting line (always 1). + https://bugs.webkit.org/show_bug.cgi?id=52721 + + Test: inspector/debugger-scripts.html + + * bindings/js/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::dispatchDidParseSource): + (WebCore::ScriptDebugServer::dispatchFailedToParseSource): + (WebCore::ScriptDebugServer::sourceParsed): + * bindings/js/ScriptDebugServer.h: + * bindings/js/ScriptSourceCode.h: + (WebCore::ScriptSourceCode::ScriptSourceCode): + * bindings/js/StringSourceProvider.h: + (WebCore::StringSourceProvider::create): + (WebCore::StringSourceProvider::startPosition): + (WebCore::StringSourceProvider::StringSourceProvider): + +2011-01-19 Satish Sampath <satish@chromium.org> + + Reviewed by Jeremy Orlow. + + Send origin/url as part of speech input requests to the embedder. + https://bugs.webkit.org/show_bug.cgi?id=52718 + + * page/SpeechInput.cpp: + (WebCore::SpeechInput::startRecognition): Pass up additional origin parameter. + * page/SpeechInput.h: + * page/SpeechInputClient.h: + * platform/mock/SpeechInputClientMock.cpp: + (WebCore::SpeechInputClientMock::startRecognition): Updated prototype. + * platform/mock/SpeechInputClientMock.h: + * rendering/TextControlInnerElements.cpp: + (WebCore::InputFieldSpeechButtonElement::defaultEventHandler): Pass the frame origin to speech input request. + +2011-01-19 Hans Wennborg <hans@chromium.org> + + Reviewed by Jeremy Orlow. + + IndexedDB: Support auto-increment keys + https://bugs.webkit.org/show_bug.cgi?id=52576 + + Add support for auto-increment keys. + + Test: storage/indexeddb/objectstore-autoincrement.html + + * storage/IDBDatabase.cpp: + (WebCore::IDBDatabase::createObjectStore): + * storage/IDBObjectStoreBackendImpl.cpp: + (WebCore::genAutoIncrementKey): + (WebCore::IDBObjectStoreBackendImpl::putInternal): + +2011-01-19 Csaba Osztrogonác <ossy@webkit.org> + + Reviewed by Laszlo Gombos and Tor Arne Vestbø. + + [Qt] Remove unnecessary "../Source" from paths + after moving source files into Source is finished. + + * WebCore.pri: + * WebCore.pro: + +2011-01-19 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: Employ TextPrompt for CSS property name/value autocompletion + https://bugs.webkit.org/show_bug.cgi?id=52212 + + WebInspector.CSSKeywordCompletions contains a hand-written list of accepted CSS property value keywords + for each property. WebInspector.TextPrompt is used to suggest both the name and value keywords while + editing styles, in place of the old custom suggestion code. + + * inspector/front-end/CSSCompletions.js: + (WebInspector.CSSCompletions.prototype.startsWith): Fix array-out-of-bounds error. + * inspector/front-end/CSSKeywordCompletions.js: Added. + (WebInspector.CSSKeywordCompletions.forProperty): + * inspector/front-end/StylesSidebarPane.js: + (WebInspector.StylePropertyTreeElement.prototype.updateTitle): + (WebInspector.StylePropertyTreeElement.prototype): + (): + * inspector/front-end/TextPrompt.js: + (WebInspector.TextPrompt): + (WebInspector.TextPrompt.prototype.removeFromElement): + (WebInspector.TextPrompt.prototype._onKeyDown): + (WebInspector.TextPrompt.prototype.tabKeyPressed): + (WebInspector.TextPrompt.prototype.upKeyPressed): + (WebInspector.TextPrompt.prototype.downKeyPressed): + (WebInspector.TextPrompt.prototype._moveBackInHistory): + (WebInspector.TextPrompt.prototype._moveForwardInHistory): + * inspector/front-end/inspector.css: + (.auto-complete-text, .editing .auto-complete-text): + * inspector/front-end/inspector.html: + +2011-01-19 Dai Mikurube <dmikurube@google.com> + + Reviewed by Kent Tamura. + + Implement onformchange and onforminput event handlers + https://bugs.webkit.org/show_bug.cgi?id=26141 + + Tests: fast/forms/formchange-event.html + fast/forms/forminput-event.html + + * bindings/scripts/CodeGeneratorGObject.pm: Added event names. + * dom/Document.h: Added event definitions. + * dom/Document.idl: Added event definitions. + * dom/Element.h: Added event definitions. + * dom/Element.idl: Added event definitions. + * dom/Event.cpp: + (WebCore::Event::fromUserGesture): Added a condition for a formchange event in handling user gestures. + * dom/EventNames.h: Added event definitions. + * dom/InputElement.cpp: + (WebCore::InputElement::setValueFromRenderer): Replaced a direct dispatchEvent() call into dispatchInputEvents(), a virtual function which broadcasts forminput events for HTML elements. + * dom/Node.cpp: + (WebCore::Node::dispatchInputEvents): Defined basic dispatchInputEvents() described above. + (WebCore::Node::dispatchChangeEvents): Defined basic dispatchChangeEvents() described above. + (WebCore::Node::defaultEventHandler): Replaced a direct dispatchEvent() call into dispatchInputEvents(). + * dom/Node.h: + * html/FormAssociatedElement.h: Added isResettable() to check the element is resettable or not. + * html/HTMLAttributeNames.in: Added event names. + * html/HTMLElement.cpp: + (WebCore::HTMLElement::parseMappedAttribute): Added event handling. + (WebCore::HTMLElement::shadowAncestorOwnerForm): Added to get an ancestor <form> element from a shadow element. + (WebCore::HTMLElement::dispatchChangeEvents): Defined dispatchChangeEvents() for HTML elements described above. + (WebCore::HTMLElement::dispatchInputEvents): Defined dispatchInputEvents() for HTML elements described above. + * html/HTMLElement.h: + * html/HTMLFormControlElement.cpp: + (WebCore::HTMLFormControlElement::dispatchFormControlChangeEvent): Added calling dispatchFormChange() to broadcast formchange events. + (WebCore::HTMLFormControlElement::dispatchFormControlInputEvent): Defined newly to dispatch an input event with broadcasting forminput events. + * html/HTMLFormControlElement.h: Added isResettable(). + * html/HTMLFormElement.cpp: + (WebCore::HTMLFormElement::broadcastFormEvent): Added to broadcast forminput or formchange events. + (WebCore::HTMLFormElement::dispatchFormInput): Defined newly to broadcast forminput events. + (WebCore::HTMLFormElement::dispatchFormChange): Defined newly to broadcast formchange events. + * html/HTMLFormElement.h: + * html/HTMLFormElement.idl: Added dispatchFormInput() and dispatchFormChange() DOM API definitions. + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::stepUpFromRenderer): Replaced a direct dispatchEvent() call into dispatchInputEvents(). + * html/HTMLInputElement.h: Added isResettable(). + * html/HTMLKeygenElement.h: Added isResettable(). + * html/HTMLObjectElement.h: Added isResettable(). + * html/HTMLOutputElement.h: Added isResettable(). + * html/HTMLSelectElement.h: Added isResettable(). + * html/HTMLTextAreaElement.h: Added isResettable(). + * page/DOMWindow.h: Added event definitions. + * page/DOMWindow.idl: Added event definitions. + * rendering/TextControlInnerElements.cpp: + (WebCore::SearchFieldCancelButtonElement::defaultEventHandler): Replaced a direct dispatchEvent() call into dispatchInputEvents(). + +2011-01-19 Andrey Kosyakov <caseq@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: [Extensions API] delete pending callback from callback map before invoking it + https://bugs.webkit.org/show_bug.cgi?id=52707 + + * inspector/front-end/ExtensionAPI.js: + (WebInspector.injectedExtensionAPI.ExtensionServerClient.prototype._onCallback): + +2011-01-19 Levi Weintraub <leviw@google.com> + + Reviewed by Ryosuke Niwa. + + Replaced rangeCompliantEquivalent with Position::parentAnchoredEquivalent + and simplified the logic a bit. Unfortunately, Tables and some legacy + editing positions still need to be handled specifically. + + remove rangeCompliantEquivalent and replace it with Position methods + https://bugs.webkit.org/show_bug.cgi?id=25057 + + No new tests as this is a refactor that doesn't change behavior. + + * WebCore.exp.in: + * dom/Document.cpp: + (WebCore::Document::caretRangeFromPoint): + * dom/Position.cpp: + (WebCore::Position::parentAnchoredEquivalent): + * dom/Position.h: + * editing/ApplyStyleCommand.cpp: + (WebCore::ApplyStyleCommand::applyBlockStyle): + * editing/CompositeEditCommand.cpp: + (WebCore::CompositeEditCommand::insertNodeAt): + (WebCore::CompositeEditCommand::moveParagraphs): + * editing/DeleteSelectionCommand.cpp: + (WebCore::DeleteSelectionCommand::initializePositionData): + (WebCore::DeleteSelectionCommand::mergeParagraphs): + * editing/Editor.cpp: + (WebCore::Editor::textDirectionForSelection): + (WebCore::Editor::advanceToNextMisspelling): + * editing/InsertLineBreakCommand.cpp: + (WebCore::InsertLineBreakCommand::shouldUseBreakElement): + * editing/InsertParagraphSeparatorCommand.cpp: + (WebCore::InsertParagraphSeparatorCommand::doApply): + * editing/ReplaceSelectionCommand.cpp: + (WebCore::handleStyleSpansBeforeInsertion): + * editing/VisiblePosition.cpp: + (WebCore::makeRange): + (WebCore::setStart): + (WebCore::setEnd): + * editing/VisibleSelection.cpp: + (WebCore::VisibleSelection::firstRange): + (WebCore::VisibleSelection::toNormalizedRange): + (WebCore::makeSearchRange): + * editing/htmlediting.cpp: + (WebCore::indexForVisiblePosition): + * editing/htmlediting.h: + * editing/visible_units.cpp: + (WebCore::previousBoundary): + (WebCore::nextBoundary): + * page/DOMSelection.cpp: + (WebCore::anchorPosition): + (WebCore::focusPosition): + (WebCore::basePosition): + (WebCore::extentPosition): + +2011-01-19 Peter Rybin <peter.rybin@gmail.com> + + Reviewed by Yury Semikhatsky. + + Web Inspector: script column offset is incorrect + https://bugs.webkit.org/show_bug.cgi?id=52580 + + Column is updated in 3 places, 2 less probable places contained error. + Fixed now. + + * platform/text/SegmentedString.cpp: + (WebCore::SegmentedString::advanceSlowCase): + * platform/text/SegmentedString.h: + (WebCore::SegmentedString::advancePastNewline): + +2011-01-18 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: make InjectedScriptAccess API a part of Web Inspector protocol. + https://bugs.webkit.org/show_bug.cgi?id=52652 + + Calls served by the InjectedScript should be first class protocol + citizens, not dispatched via single protocol message. + + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * inspector/CodeGeneratorInspector.pm: + * inspector/InjectedScript.cpp: + (WebCore::InjectedScript::evaluate): + (WebCore::InjectedScript::evaluateInCallFrame): + (WebCore::InjectedScript::evaluateOnSelf): + (WebCore::InjectedScript::getCompletions): + (WebCore::InjectedScript::getProperties): + (WebCore::InjectedScript::pushNodeToFrontend): + (WebCore::InjectedScript::resolveNode): + (WebCore::InjectedScript::getNodeProperties): + (WebCore::InjectedScript::getNodePrototypes): + (WebCore::InjectedScript::setPropertyValue): + (WebCore::InjectedScript::makeCall): + * inspector/InjectedScript.h: + * inspector/InjectedScriptHost.cpp: + (WebCore::InjectedScriptHost::evaluate): + (WebCore::InjectedScriptHost::evaluateInCallFrame): + (WebCore::InjectedScriptHost::evaluateOnSelf): + (WebCore::InjectedScriptHost::getCompletions): + (WebCore::InjectedScriptHost::getProperties): + (WebCore::InjectedScriptHost::pushNodeToFrontend): + (WebCore::InjectedScriptHost::resolveNode): + (WebCore::InjectedScriptHost::getNodeProperties): + (WebCore::InjectedScriptHost::getNodePrototypes): + (WebCore::InjectedScriptHost::setPropertyValue): + (WebCore::InjectedScriptHost::injectedScriptForObjectId): + (WebCore::InjectedScriptHost::injectedScriptForNodeId): + (WebCore::InjectedScriptHost::injectedScriptForMainWorld): + * inspector/InjectedScriptHost.h: + * inspector/InjectedScriptSource.js: + (.): + * inspector/Inspector.idl: + * inspector/InspectorController.cpp: + * inspector/InspectorController.h: + * inspector/InspectorValues.cpp: + (WebCore::InspectorObject::getNumber): + * inspector/InspectorValues.h: + * inspector/front-end/AuditRules.js: + (WebInspector.AuditRules.evaluateInTargetWindow): + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleView.prototype.completions): + (WebInspector.ConsoleView.prototype.doEvalInWindow): + * inspector/front-end/ElementsTreeOutline.js: + (WebInspector.ElementsTreeElement.prototype._createTooltipForNode): + * inspector/front-end/ExtensionPanel.js: + (WebInspector.ExtensionWatchSidebarPane.prototype.setExpression): + * inspector/front-end/ExtensionServer.js: + (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage): + * inspector/front-end/InjectedScriptAccess.js: Removed. + * inspector/front-end/PropertiesSidebarPane.js: + (WebInspector.PropertiesSidebarPane.prototype.update.callback): + (WebInspector.PropertiesSidebarPane.prototype.update): + * inspector/front-end/RemoteObject.js: + (WebInspector.RemoteObject.resolveNode): + (WebInspector.RemoteObject.prototype.getProperties): + (WebInspector.RemoteObject.prototype.setPropertyValue): + (WebInspector.RemoteObject.prototype.pushNodeToFrontend): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame): + * inspector/front-end/WebKit.qrc: + * inspector/front-end/inspector.html: + +2011-01-18 Anton Muhin <antonm@chromium.org> + + Reviewed by Adam Barth. + + [v8] Minor cleanup: make 2nd argument of removeIfPresnt accept only a value type stored in the DOM map + https://bugs.webkit.org/show_bug.cgi?id=51683 + + Covered by the existing tests. + + * bindings/v8/DOMDataStore.cpp: + (WebCore::DOMDataStore::weakNodeCallback): + (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::removeIfPresent): + * bindings/v8/DOMDataStore.h: + * bindings/v8/V8DOMMap.h: + (WebCore::WeakReferenceMap::removeIfPresent): + +2011-01-18 MORITA Hajime <morrita@google.com> + + Reviewed by Ryosuke Niwa. + + Refactoring: EventHandler::handleTextInputEvent should accept an enum instead of bools. + https://bugs.webkit.org/show_bug.cgi?id=52608 + + No new tests. no behavioral change. + + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * dom/TextEvent.cpp: + (WebCore::TextEvent::create): + (WebCore::TextEvent::createForDrop): + (WebCore::TextEvent::TextEvent): + * dom/TextEvent.h: + (WebCore::TextEvent::isLineBreak): + (WebCore::TextEvent::isBackTab): + (WebCore::TextEvent::isPaste): + (WebCore::TextEvent::isDrop): + * dom/TextEventInputType.h: Added. Extracted from TextEvent::TextInputType. + * editing/EditorCommand.cpp: + (WebCore::executeInsertBacktab): + (WebCore::executeInsertLineBreak): + (WebCore::executeInsertNewline): + (WebCore::executeInsertTab): + * page/EventHandler.cpp: + (WebCore::EventHandler::handleTextInputEvent): + * page/EventHandler.h: + +2011-01-18 Ben Vanik <ben.vanik@gmail.com> + + Reviewed by Kenneth Russell. + + Updating ANGLE in WebKit to r533. + https://bugs.webkit.org/show_bug.cgi?id=47194 + + * platform/graphics/ANGLEWebKitBridge.cpp: + (WebCore::ANGLEWebKitBridge::ANGLEWebKitBridge): + (WebCore::ANGLEWebKitBridge::~ANGLEWebKitBridge): + (WebCore::ANGLEWebKitBridge::validateShaderSource): + Update to new ANGLE API for shader validation. + * platform/graphics/ANGLEWebKitBridge.h: + (WebCore::ANGLEWebKitBridge::setResources): + Renaming types to new names. + * platform/graphics/mac/GraphicsContext3DMac.mm: + (WebCore::GraphicsContext3D::GraphicsContext3D): + Initialize ANGLEResources with ANGLE init call to prevent uninitialized variables. + +2011-01-18 MORITA Hajime <morrita@google.com> + + Reviewed by Simon Fraser. + + Refactoring: Extract RoundedIntRect class + https://bugs.webkit.org/show_bug.cgi?id=51664 + + RoundedIntRect is a pair of rect and four IntSize objects which represent + corner radii of the rectangle. IntSize is grouped into RoundedIntRect::Radii. + Now RenderStyle::getRoundedBorderFor() and RenderStyle::getRoundedInnerBorderWithBorderWidths() + return RoundedIntRect and GraphicsContext::addRoundedRectClip(), GraphicsContext::fillRoundedRect() + and other functions accept RoundedIntRect as an argument. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::addRoundedRectClip): + (WebCore::GraphicsContext::clipOutRoundedRect): + (WebCore::GraphicsContext::fillRoundedRect): + * platform/graphics/GraphicsContext.h: + * platform/graphics/RoundedIntRect.cpp: Added. + (WebCore::RoundedIntRect::Radii::isZero): + (WebCore::RoundedIntRect::Radii::scale): + (WebCore::RoundedIntRect::Radii::expand): + (WebCore::RoundedIntRect::Radii::includeLogicalEdges): + (WebCore::RoundedIntRect::Radii::excludeLogicalEdges): + (WebCore::RoundedIntRect::RoundedIntRect): + (WebCore::RoundedIntRect::includeLogicalEdges): + (WebCore::RoundedIntRect::excludeLogicalEdges): + * platform/graphics/RoundedIntRect.h: Added. + (WebCore::RoundedIntRect::Radii::Radii): + (WebCore::RoundedIntRect::Radii::setTopLeft): + (WebCore::RoundedIntRect::Radii::setTopRight): + (WebCore::RoundedIntRect::Radii::setBottomLeft): + (WebCore::RoundedIntRect::Radii::setBottomRight): + (WebCore::RoundedIntRect::Radii::topLeft): + (WebCore::RoundedIntRect::Radii::topRight): + (WebCore::RoundedIntRect::Radii::bottomLeft): + (WebCore::RoundedIntRect::Radii::bottomRight): + (WebCore::RoundedIntRect::Radii::expand): + (WebCore::RoundedIntRect::Radii::shrink): + (WebCore::RoundedIntRect::rect): + (WebCore::RoundedIntRect::radii): + (WebCore::RoundedIntRect::isRounded): + (WebCore::RoundedIntRect::isEmpty): + (WebCore::RoundedIntRect::setRect): + (WebCore::RoundedIntRect::setRadii): + (WebCore::RoundedIntRect::move): + (WebCore::RoundedIntRect::inflate): + (WebCore::RoundedIntRect::inflateWithRadii): + (WebCore::RoundedIntRect::expandRadii): + (WebCore::RoundedIntRect::shrinkRadii): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::pushContentsClip): + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::paintFillLayerExtended): + (WebCore::RenderBoxModelObject::paintBorder): + (WebCore::RenderBoxModelObject::clipBorderSidePolygon): + (WebCore::RenderBoxModelObject::paintBoxShadow): + * rendering/RenderBoxModelObject.h: + * rendering/RenderObject.cpp: + (WebCore::RenderObject::drawBoxSideFromPath): + * rendering/RenderReplaced.cpp: + (WebCore::RenderReplaced::paint): + * rendering/RenderThemeChromiumWin.cpp: + (WebCore::RenderThemeChromiumWin::paintTextFieldInternal): + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::paintMenuListButtonGradients): + (WebCore::RenderThemeMac::paintSliderTrack): + * rendering/RenderThemeSafari.cpp: + (WebCore::RenderThemeSafari::paintMenuListButtonGradients): + (WebCore::RenderThemeSafari::paintSliderTrack): + * rendering/RenderThemeWinCE.cpp: + (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton): + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::paint): + * rendering/style/BorderData.h: + * rendering/style/RenderStyle.cpp: + (WebCore::calcRadiiFor): + (WebCore::calcConstraintScaleFor): + (WebCore::RenderStyle::getRoundedBorderFor): + (WebCore::RenderStyle::getRoundedInnerBorderWithBorderWidths): + * rendering/style/RenderStyle.h: + (WebCore::InheritedFlags::setBorderRadius): + +2011-01-18 MORITA Hajime <morrita@google.com> + + Reviewed by Simon Fraser. + + Refactoring: Extract RoundedIntRect class + https://bugs.webkit.org/show_bug.cgi?id=51664 + + RoundedIntRect is a pair of rect and four IntSize objects which represent + corner radii of the rectangle. IntSize is grouped into RoundedIntRect::Radii. + Now RenderStyle::getRoundedBorderFor() and RenderStyle::getRoundedInnerBorderWithBorderWidths() + return RoundedIntRect and GraphicsContext::addRoundedRectClip(), GraphicsContext::fillRoundedRect() + and other functions accept RoundedIntRect as an argument. + + No new tests. No behavioral change. + + * Android.mk: + * CMakeLists.txt: + * WebCore.gypi: + * WebCore.pro: + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::addRoundedRectClip): + (WebCore::GraphicsContext::clipOutRoundedRect): + (WebCore::GraphicsContext::fillRoundedRect): + * platform/graphics/GraphicsContext.h: + * platform/graphics/RoundedIntRect.cpp: Added. + (WebCore::RoundedIntRect::Radii::isZero): + (WebCore::RoundedIntRect::Radii::scale): + (WebCore::RoundedIntRect::Radii::expand): + (WebCore::RoundedIntRect::Radii::includeLogicalEdges): + (WebCore::RoundedIntRect::Radii::excludeLogicalEdges): + (WebCore::RoundedIntRect::RoundedIntRect): + (WebCore::RoundedIntRect::includeLogicalEdges): + (WebCore::RoundedIntRect::excludeLogicalEdges): + * platform/graphics/RoundedIntRect.h: Added. + (WebCore::RoundedIntRect::Radii::Radii): + (WebCore::RoundedIntRect::Radii::setTopLeft): + (WebCore::RoundedIntRect::Radii::setTopRight): + (WebCore::RoundedIntRect::Radii::setBottomLeft): + (WebCore::RoundedIntRect::Radii::setBottomRight): + (WebCore::RoundedIntRect::Radii::topLeft): + (WebCore::RoundedIntRect::Radii::topRight): + (WebCore::RoundedIntRect::Radii::bottomLeft): + (WebCore::RoundedIntRect::Radii::bottomRight): + (WebCore::RoundedIntRect::Radii::expand): + (WebCore::RoundedIntRect::Radii::shrink): + (WebCore::RoundedIntRect::rect): + (WebCore::RoundedIntRect::radii): + (WebCore::RoundedIntRect::isRounded): + (WebCore::RoundedIntRect::isEmpty): + (WebCore::RoundedIntRect::setRect): + (WebCore::RoundedIntRect::setRadii): + (WebCore::RoundedIntRect::move): + (WebCore::RoundedIntRect::inflate): + (WebCore::RoundedIntRect::inflateWithRadii): + (WebCore::RoundedIntRect::expandRadii): + (WebCore::RoundedIntRect::shrinkRadii): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::pushContentsClip): + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::paintFillLayerExtended): + (WebCore::RenderBoxModelObject::paintBorder): + (WebCore::RenderBoxModelObject::clipBorderSidePolygon): + (WebCore::RenderBoxModelObject::paintBoxShadow): + * rendering/RenderBoxModelObject.h: + * rendering/RenderObject.cpp: + (WebCore::RenderObject::drawBoxSideFromPath): + * rendering/RenderReplaced.cpp: + (WebCore::RenderReplaced::paint): + * rendering/RenderThemeChromiumWin.cpp: + (WebCore::RenderThemeChromiumWin::paintTextFieldInternal): + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::paintMenuListButtonGradients): + (WebCore::RenderThemeMac::paintSliderTrack): + * rendering/RenderThemeSafari.cpp: + (WebCore::RenderThemeSafari::paintMenuListButtonGradients): + (WebCore::RenderThemeSafari::paintSliderTrack): + * rendering/RenderThemeWinCE.cpp: + (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton): + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::paint): + * rendering/style/BorderData.h: + * rendering/style/RenderStyle.cpp: + (WebCore::calcRadiiFor): + (WebCore::calcConstraintScaleFor): + (WebCore::RenderStyle::getRoundedBorderFor): + (WebCore::RenderStyle::getRoundedInnerBorderWithBorderWidths): + * rendering/style/RenderStyle.h: + (WebCore::InheritedFlags::setBorderRadius): + +2011-01-18 Victoria Kirst <vrk@chromium.org> + + Reviewed by Kenneth Russell. + + [chromium] Adding support for YV16 video frame formats. + https://bugs.webkit.org/show_bug.cgi?id=52345 + + * platform/graphics/chromium/VideoLayerChromium.cpp: + (WebCore::VideoLayerChromium::determineTextureFormat): + (WebCore::VideoLayerChromium::draw): + +2011-01-18 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + <rdar://problem/8479998> REGRESSION (r67660): broken button layout at devforums.apple.com + + Exclude floating objects from shrinking to avoid floats. They should never do this. Timing-related bugs could + occur as a result of this mistake, and the change to rewrite pagination to defer layout of floats until they + got encountered on the correct line exposed this issue. + + Added /fast/block/float/float-overflow-hidden-containing-block-width.html. + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::shrinkToAvoidFloats): + +2011-01-18 Zhenyao Mo <zmo@google.com> + + Reviewed by Kenneth Russell. + + Make CheckedInt<long> and CheckedInt<unsigned long> work + https://bugs.webkit.org/show_bug.cgi?id=52401 + + * html/canvas/CheckedInt.h: + (WebCore::CheckedInt::CheckedInt): Merge with the patch provided by Benoit Jacob. + * html/canvas/WebGLBuffer.cpp: + (WebCore::WebGLBuffer::associateBufferDataImpl): Use CheckedInt<long> instead of CheckedInt<int>. + (WebCore::WebGLBuffer::associateBufferSubDataImpl): Ditto. + +2011-01-18 Kenneth Russell <kbr@google.com> + + Reviewed by David Levin. + + Must strip comments from WebGL shaders before enforcing character set + https://bugs.webkit.org/show_bug.cgi?id=52390 + + Strip comments from incoming shaders, preserving line numbers, + before validating that they conform to the ESSL character set. + Revert changes from http://trac.webkit.org/changeset/75735 which + allowed invalid characters to be passed to certain APIs. + + Tested with WebGL layout tests, conformance test suite and several + WebGL demos in both Safari and Chromium. + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::StripComments::StripComments::process): + (WebCore::WebGLRenderingContext::shaderSource): + +2011-01-18 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Eric Seidel. + + Stop instantiating legacy editing positions in DeleteSelectionCommand, IndentOudentCommand, + InsertLineBreakCommand, InsertListCOmmand.cpp, InsertParagraphSeparatorCommand, and htmlediting.cpp + https://bugs.webkit.org/show_bug.cgi?id=52644 + + This is a cleanup to stop instantiating legacy editing positions in the following tests. + firstDeepEditingPositionForNode and lastDeepEditingPositionForNode in htmlediting.h are not updated + because doing so requires significant code changes. They are tracked on the bug 52642. + + * editing/DeleteSelectionCommand.cpp: + (WebCore::DeleteSelectionCommand::initializeStartEnd): + (WebCore::updatePositionForNodeRemoval): + (WebCore::DeleteSelectionCommand::removeNode): + (WebCore::updatePositionForTextRemoval): + (WebCore::DeleteSelectionCommand::handleGeneralDelete): + * editing/IndentOutdentCommand.cpp: + (WebCore::IndentOutdentCommand::outdentParagraph): + * editing/InsertLineBreakCommand.cpp: + (WebCore::InsertLineBreakCommand::doApply): + * editing/InsertListCommand.cpp: + (WebCore::InsertListCommand::doApplyForSingleParagraph): + (WebCore::InsertListCommand::unlistifyParagraph): + (WebCore::InsertListCommand::listifyParagraph): + * editing/InsertParagraphSeparatorCommand.cpp: + (WebCore::InsertParagraphSeparatorCommand::doApply): + * editing/htmlediting.cpp: + (WebCore::enclosingBlock): + (WebCore::enclosingList): + (WebCore::enclosingListChild): + (WebCore::indexForVisiblePosition): + (WebCore::isNodeVisiblyContainedWithin): + (WebCore::avoidIntersectionWithNode): + +2011-01-18 Benjamin Kalman <kalman@chromium.org> + + Reviewed by Ryosuke Niwa. + + Tweak style in visible_units.cpp and TextIterator.cpp in preparation for another patch + https://bugs.webkit.org/show_bug.cgi?id=52610 + + This is a purely aesthetic change. + + * editing/TextIterator.cpp: + (WebCore::SimplifiedBackwardsTextIterator::advance): + * editing/visible_units.cpp: + (WebCore::previousBoundary): + +2011-01-18 Adam Klein <adamk@chromium.org> + + Reviewed by Darin Fisher. + + [Chromium] Replace ChromiumBridge::widgetSetCursor with ChromeClient::setCursor + https://bugs.webkit.org/show_bug.cgi?id=42236 + + * platform/chromium/ChromiumBridge.h: + * platform/chromium/WidgetChromium.cpp: + (WebCore::Widget::setCursor): + +2011-01-18 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler. + + REGRESSION: A problem with Voiceover and finding links + https://bugs.webkit.org/show_bug.cgi?id=52324 + + Fallout from recent change to make WebCore return its own scroll view. + 1) There were two scroll views in the hierarchy, one which no needed to be ignored. + 2) Hit tests for sub frames needed to be offset. + 3) The check for whether an attachment is ignored must happen earlier than using + the helpText to determine if an element should be ignored. + + Test: platform/mac/accessibility/iframe-with-title-correct-hierarchy.html + + * accessibility/AccessibilityObject.cpp: + (WebCore::AccessibilityObject::elementAccessibilityHitTest): + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): + * accessibility/mac/AccessibilityObjectWrapper.mm: + (-[AccessibilityObjectWrapper scrollViewParent]): + +2011-01-18 Adam Roben <aroben@apple.com> + + Call alternate CFHTTPCookie functions if available + + Fixes <http://webkit.org/b/52637> <rdar://problem/8878984>. + + Reviewed by Darin Adler. + + * platform/network/cf/CookieJarCFNet.cpp: Added soft-linking macros to + pull in the alternate CFHTTPCookie functions. + + (WebCore::cookieDomain): + (WebCore::cookieExpirationTime): + (WebCore::cookieName): + (WebCore::cookiePath): + (WebCore::cookieValue): + Added these wrappers around the CFHTTPCookie functions. We call the + alternate functions if they exist, otherwise fall back to the current + functions. + + (WebCore::filterCookies): + (WebCore::getRawCookies): + (WebCore::deleteCookie): + Changed to use the wrapper functions. + +2011-01-18 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Eric Seidel. + + [GTK] Filenames are converted to URLs during edit drags + https://bugs.webkit.org/show_bug.cgi?id=52096 + + * platform/gtk/DragDataGtk.cpp: Only advertise and deliver filenames as URLs if the + conversion policy allows it. + (WebCore::DragData::containsURL): Ditto. + (WebCore::DragData::asURL): Ditto. + +2011-01-18 Helder Correia <helder@sencha.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Incorrect shadow alpha with semi-transparent solid fillStyle + https://bugs.webkit.org/show_bug.cgi?id=52611 + + This is related to bug 52559. The shadow color alpha must be multiplied + by the context brush alpha. + + Test: fast/canvas/canvas-fillPath-alpha-shadow.html + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::fillPath): + +2011-01-18 Andrey Kosyakov <caseq@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: fail resource.requestContent() immediately for WebSocket resources + https://bugs.webkit.org/show_bug.cgi?id=52628 + + * English.lproj/localizedStrings.js: Rename WebSocket -> WebSockets in resource catetegories (rest are in plural, too) + * inspector/front-end/ExtensionServer.js: Do not expose webInspector.resources.Types in extensions API (obsolete) + (WebInspector.ExtensionServer.prototype._buildExtensionAPIInjectedScript): + * inspector/front-end/Resource.js: + (WebInspector.Resource.Type.toUIString): Remove ResourceType.Media as it's not used. + (WebInspector.Resource.Type.toString): ditto. + (WebInspector.Resource.prototype.requestContent): Fail immediately for WebSocket resources. + * inspector/front-end/inspector.js: Rename WebSocket -> WebSockets in resource catetegories (rest are in plural, too) + +2011-01-18 Helder Correia <helder@sencha.com> + + Reviewed by Dirk Schulze. + + REGRESSION(75139): SVG gradients are not applied to texts + https://bugs.webkit.org/show_bug.cgi?id=52531 + + r75139 caused a problem with filling and stroking text with a gradient + fill in SVG. The order of CGContextConcatCTM and CGContextClipToRect + was mixed up. + + Test: svg/css/text-gradient-shadow.svg + + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::fillRect): + +2011-01-18 Leo Yang <leo.yang@torchmobile.com.cn> + + Reviewed by Nikolas Zimmermann. + + Unable to indirectly animate visibility of SVGUseElement + https://bugs.webkit.org/show_bug.cgi?id=50240 + + SVGUseElement::recalcStyle should take care of its shadow + tree's style recalculation when it is called with change >= Inherit + or when childNeedsStyleRecalc() is true because in these two + cases needStyleRecalc() may not be true. + + Test: svg/custom/use-inherit-style.svg + + * svg/SVGUseElement.cpp: + (WebCore::SVGUseElement::recalcStyle): + +2011-01-18 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: provide script length to frontend. + https://bugs.webkit.org/show_bug.cgi?id=52620 + + * inspector/Inspector.idl: + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::didParseSource): + * inspector/front-end/DebuggerModel.js: + (WebInspector.DebuggerModel.prototype._parsedScriptSource): + (WebInspector.DebuggerDispatcher.prototype.parsedScriptSource): + * inspector/front-end/Script.js: + (WebInspector.Script): + +2011-01-18 Zoltan Herczeg <zherczeg@webkit.org> + + Rubber-stamped by Csaba Osztrogonác + + Fixing ChangeLog + + Removing a line introduced by + http://trac.webkit.org/changeset/75743/trunk/Source/WebCore/ChangeLog + Removing an unnecessary space before a time stamp. + +2011-01-17 Andrey Kosyakov <caseq@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: [refactoring] use events to notify NetworkManager clients + https://bugs.webkit.org/show_bug.cgi?id=52588 + + * inspector/front-end/AuditLauncherView.js: + (WebInspector.AuditLauncherView): Do not expose public interface to resource count. Do not reset resource count upon reset(). + (WebInspector.AuditLauncherView.prototype._resetResourceCount): + (WebInspector.AuditLauncherView.prototype._onResourceStarted): + (WebInspector.AuditLauncherView.prototype._onResourceFinished): + * inspector/front-end/AuditsPanel.js: Do not expose public interface to resource start/finish events. + * inspector/front-end/ExtensionServer.js: + (WebInspector.ExtensionServer): + (WebInspector.ExtensionServer.prototype._notifyResourceFinished): + (WebInspector.ExtensionServer.prototype.initExtensions): + * inspector/front-end/NetworkManager.js: Dispatch events rather than directly call clients. + (WebInspector.NetworkManager): + (WebInspector.NetworkManager.prototype.willSendRequest): + (WebInspector.NetworkManager.prototype.markResourceAsCached): + (WebInspector.NetworkManager.prototype.didReceiveResponse): + (WebInspector.NetworkManager.prototype.didReceiveContentLength): + (WebInspector.NetworkManager.prototype.setInitialContent): + (WebInspector.NetworkManager.prototype.didCommitLoadForFrame): + (WebInspector.NetworkManager.prototype.willSendWebSocketHandshakeRequest): + (WebInspector.NetworkManager.prototype.didReceiveWebSocketHandshakeResponse): + (WebInspector.NetworkManager.prototype._startResource): + (WebInspector.NetworkManager.prototype._finishResource): + * inspector/front-end/NetworkPanel.js: + (WebInspector.NetworkPanel): + (WebInspector.NetworkPanel.prototype._onResourceStarted): + (WebInspector.NetworkPanel.prototype._appendResource): + (WebInspector.NetworkPanel.prototype._onResourceUpdated): + (WebInspector.NetworkPanel.prototype._refreshResource): + (WebInspector.NetworkPanel.prototype._onMainResourceChanged): + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourcesPanel): + (WebInspector.ResourcesPanel.prototype._refreshResource): + +2011-01-18 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: preserve pause on exception state in settings. + https://bugs.webkit.org/show_bug.cgi?id=52619 + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::getInspectorState): + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState): + * inspector/InspectorDebuggerAgent.h: + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel): + (WebInspector.ScriptsPanel.prototype.debuggerWasEnabled): + (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsState): + (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions): + (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions): + * inspector/front-end/Settings.js: + (WebInspector.Settings): + * inspector/front-end/inspector.js: + (WebInspector.doLoadedDone.populateInspectorState): + +2011-01-18 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: [REGRESSION] JavaScript exceptions aren't shown in source frame. + https://bugs.webkit.org/show_bug.cgi?id=52623 + + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleMessage): + (WebInspector.ConsoleMessage.prototype._formatMessage): + +2011-01-18 Pavel Feldman <pfeldman@chromium.org> + + Revert r76017. No need to guard InspectorInstrumentation:: in WebCore. + + * page/Page.cpp: + (WebCore::networkStateChanged): + +2011-01-18 Konstantin Tokarev <annulen@yandex.ru> + + Reviewed by Kent Tamura. + + Fixed compilation when Inspector is disabled + https://bugs.webkit.org/show_bug.cgi?id=52564 + + * page/Page.cpp: + (WebCore::networkStateChanged): Added ENABLE(INSPECTOR) guard + +2011-01-18 MORITA Hajime <morrita@google.com> + + Unreviewed, rolling out r76004, r76005, r76007, and r76011. + http://trac.webkit.org/changeset/76004 + http://trac.webkit.org/changeset/76005 + http://trac.webkit.org/changeset/76007 + http://trac.webkit.org/changeset/76011 + https://bugs.webkit.org/show_bug.cgi?id=51664 + + The r76004 broke pixel tests. + (The failure was missed due to the tolerance.) + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::addRoundedRectClip): + (WebCore::GraphicsContext::clipOutRoundedRect): + * platform/graphics/GraphicsContext.h: + * platform/graphics/RoundedIntRect.cpp: Removed. + * platform/graphics/RoundedIntRect.h: Removed. + * rendering/RenderBox.cpp: + (WebCore::RenderBox::pushContentsClip): + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::paintFillLayerExtended): + (WebCore::RenderBoxModelObject::paintBorder): + (WebCore::RenderBoxModelObject::clipBorderSidePolygon): + (WebCore::uniformlyExpandBorderRadii): + (WebCore::RenderBoxModelObject::paintBoxShadow): + * rendering/RenderBoxModelObject.h: + * rendering/RenderObject.cpp: + (WebCore::RenderObject::drawBoxSideFromPath): + * rendering/RenderReplaced.cpp: + (WebCore::RenderReplaced::paint): + * rendering/RenderThemeChromiumWin.cpp: + (WebCore::RenderThemeChromiumWin::paintTextFieldInternal): + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::paintMenuListButtonGradients): + (WebCore::RenderThemeMac::paintSliderTrack): + * rendering/RenderThemeSafari.cpp: + (WebCore::RenderThemeSafari::paintMenuListButtonGradients): + (WebCore::RenderThemeSafari::paintSliderTrack): + * rendering/RenderThemeWinCE.cpp: + (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton): + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::paint): + * rendering/style/BorderData.h: + * rendering/style/RenderStyle.cpp: + (WebCore::constrainCornerRadiiForRect): + (WebCore::RenderStyle::getBorderRadiiForRect): + (WebCore::RenderStyle::getInnerBorderRadiiForRectWithBorderWidths): + * rendering/style/RenderStyle.h: + +2011-01-17 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: add source column field to debugger call frames. + https://bugs.webkit.org/show_bug.cgi?id=52443 + + * bindings/js/JavaScriptCallFrame.cpp: + (WebCore::JavaScriptCallFrame::JavaScriptCallFrame): + * bindings/js/JavaScriptCallFrame.h: + (WebCore::JavaScriptCallFrame::create): + (WebCore::JavaScriptCallFrame::line): + (WebCore::JavaScriptCallFrame::column): + (WebCore::JavaScriptCallFrame::update): + * bindings/js/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded): + (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded): + (WebCore::ScriptDebugServer::callEvent): + (WebCore::ScriptDebugServer::atStatement): + (WebCore::ScriptDebugServer::returnEvent): + (WebCore::ScriptDebugServer::exception): + (WebCore::ScriptDebugServer::willExecuteProgram): + (WebCore::ScriptDebugServer::didExecuteProgram): + (WebCore::ScriptDebugServer::didReachBreakpoint): + * bindings/js/ScriptDebugServer.h: + * bindings/v8/DebuggerScript.js: + (): + * bindings/v8/JavaScriptCallFrame.cpp: + (WebCore::JavaScriptCallFrame::column): + * bindings/v8/JavaScriptCallFrame.h: + * inspector/InjectedScriptSource.js: + (): + * inspector/JavaScriptCallFrame.idl: + +2011-01-18 Antti Koivisto <antti@apple.com> + + Reviewed by Dave Hyatt. + + https://bugs.webkit.org/show_bug.cgi?id=52370 + <rdar://problem/8856808> + Style sharing optimization no longer works on major web sites + + The code in CSSStyleSelector::locateSharedStyle() that tries to share style information between element has been defeated + by widespread use of certain CSS selectors (:first-child pseudo class and similar). The current implementation disables + the sharing optimization for the whole page if one of these constructs is seen in any style sheet used by the page. + + This patch gets the style sharing back to 25-40% range on most web sites. + + * css/CSSMutableStyleDeclaration.h: + (WebCore::CSSMutableStyleDeclaration::propertiesEqual): + + Needed to improve equality checking in NamedNodeMap::mappedMapsEquivalent. + + * css/CSSSelector.h: + (WebCore::CSSSelector::isSiblingSelector): + + Test for selectors that are affected by the sibling elements. + + * css/CSSStyleSelector.cpp: + (WebCore::elementCanUseSimpleDefaultStyle): + (WebCore::collectSiblingRulesInDefaultStyle): + (WebCore::assertNoSiblingRulesInDefaultStyle): + + Extract sibling rules from the MathML default stylesheet. + Assert that no other default stylesheet has them. + + (WebCore::CSSStyleSelector::CSSStyleSelector): + (WebCore::CSSStyleSelector::locateCousinList): + (WebCore::CSSStyleSelector::matchesSiblingRules): + (WebCore::CSSStyleSelector::canShareStyleWithElement): + (WebCore::CSSStyleSelector::locateSharedStyle): + (WebCore::CSSStyleSelector::styleForElement): + (WebCore::collectIdsAndSiblingRulesFromList): + (WebCore::CSSRuleSet::collectIdsAndSiblingRules): + + Track sibling rules and ids used in the stylesheets to allow much more fine-grained rejection of cases + where style sharing can't be used. + + * css/CSSStyleSelector.h: + * dom/NamedNodeMap.cpp: + (WebCore::NamedNodeMap::mappedMapsEquivalent): + + Check also for CSSValue mutation from DOM. + + * mathml/MathMLMathElement.cpp: + (WebCore::MathMLMathElement::insertedIntoDocument): + * mathml/MathMLMathElement.h: + + MathML default style sheet has sibling rules which don't get noticed by the normal document + stylesheet parsing. + + * rendering/style/RenderStyle.h: + (WebCore::InheritedFlags::setFirstChildState): + (WebCore::InheritedFlags::setLastChildState): + (WebCore::InheritedFlags::setChildIndex): + + These all make style non-shareable (unique). + +2011-01-18 MORITA Hajime <morrita@google.com> + + Unreviewed crash fix on release builds. + + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::paintFillLayerExtended): + +2011-01-18 Pavel Podivilov <podivilov@chromium.org> + + Unreviewed, update localizedStrings.js. + + * English.lproj/localizedStrings.js: + +2011-01-11 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: implement script beautifier prototype. + https://bugs.webkit.org/show_bug.cgi?id=51588 + + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * inspector/front-end/ScriptFormatter.js: Added. + (WebInspector.ScriptFormatter): Implements JavaScript source beautification and conversion between original and + formatted line numbers + (WebInspector.ScriptFormatter.findLineEndings): + (WebInspector.ScriptFormatter.locationToPosition): + (WebInspector.ScriptFormatter.positionToLocation): + (WebInspector.ScriptFormatter.upperBound): + (WebInspector.ScriptFormatter.prototype.format): + (WebInspector.ScriptFormatter.prototype.originalLineNumberToFormattedLineNumber): + (WebInspector.ScriptFormatter.prototype.formattedLineNumberToOriginalLineNumber): + (WebInspector.ScriptFormatter.prototype.originalPositionToFormattedLineNumber): + (WebInspector.ScriptFormatter.prototype.formattedLineNumberToOriginalPosition): + (WebInspector.ScriptFormatter.prototype._convertPosition): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel): + (WebInspector.ScriptsPanel.prototype._clearCurrentExecutionLine): + (WebInspector.ScriptsPanel.prototype._callFrameSelected): + (WebInspector.ScriptsPanel.prototype._formatScript): + * inspector/front-end/SourceFrame.js: Convert original line numbers to UI line numbers and vice versa + * inspector/front-end/WebKit.qrc: + * inspector/front-end/inspector.html: + +2011-01-18 Philippe Normand <pnormand@igalia.com> + + Unreviewed, GTK build fix as follow-up of r76004. + + * GNUmakefile.am: Include RoundedIntRect files in the build + +2011-01-18 Philippe Normand <pnormand@igalia.com> + + Unreviewed, rolling out r76002. + http://trac.webkit.org/changeset/76002 + https://bugs.webkit.org/show_bug.cgi?id=49790 + + breaks a bunch of fast/forms tests on mac and GTK + + * html/HTMLOptionElement.cpp: + (WebCore::HTMLOptionElement::setRenderStyle): + +2011-01-18 MORITA Hajime <morrita@google.com> + + Unreviewed windows build fix. + + * WebCore.vcproj/WebCore.vcproj: + +2011-01-17 MORITA Hajime <morrita@google.com> + + Reviewed by Simon Fraser. + + Refactoring: Extract RoundedIntRect class + https://bugs.webkit.org/show_bug.cgi?id=51664 + + RoundedIntRect is a pair of rect and four IntSize objects which represent + corner radii of the rectangle. IntSize is grouped into RoundedIntRect::Radii. + Now RenderStyle::getRoundedBorderFor() and RenderStyle::getRoundedInnerBorderWithBorderWidths() + return RoundedIntRect and GraphicsContext::addRoundedRectClip(), GraphicsContext::fillRoundedRect() + and other functions accept RoundedIntRect as an argument. + + No new tests. No behavioral change. + + * Android.mk: + * CMakeLists.txt: + * WebCore.gypi: + * WebCore.pro: + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::addRoundedRectClip): + (WebCore::GraphicsContext::clipOutRoundedRect): + (WebCore::GraphicsContext::fillRoundedRect): + * platform/graphics/GraphicsContext.h: + * platform/graphics/RoundedIntRect.cpp: Added. + (WebCore::RoundedIntRect::Radii::isZero): + (WebCore::RoundedIntRect::Radii::scale): + (WebCore::RoundedIntRect::Radii::expand): + (WebCore::RoundedIntRect::Radii::includeLogicalEdges): + (WebCore::RoundedIntRect::Radii::excludeLogicalEdges): + (WebCore::RoundedIntRect::RoundedIntRect): + (WebCore::RoundedIntRect::includeLogicalEdges): + (WebCore::RoundedIntRect::excludeLogicalEdges): + * platform/graphics/RoundedIntRect.h: Added. + (WebCore::RoundedIntRect::Radii::Radii): + (WebCore::RoundedIntRect::Radii::setTopLeft): + (WebCore::RoundedIntRect::Radii::setTopRight): + (WebCore::RoundedIntRect::Radii::setBottomLeft): + (WebCore::RoundedIntRect::Radii::setBottomRight): + (WebCore::RoundedIntRect::Radii::topLeft): + (WebCore::RoundedIntRect::Radii::topRight): + (WebCore::RoundedIntRect::Radii::bottomLeft): + (WebCore::RoundedIntRect::Radii::bottomRight): + (WebCore::RoundedIntRect::Radii::expand): + (WebCore::RoundedIntRect::Radii::shrink): + (WebCore::RoundedIntRect::location): + (WebCore::RoundedIntRect::size): + (WebCore::RoundedIntRect::x): + (WebCore::RoundedIntRect::y): + (WebCore::RoundedIntRect::width): + (WebCore::RoundedIntRect::height): + (WebCore::RoundedIntRect::right): + (WebCore::RoundedIntRect::bottom): + (WebCore::RoundedIntRect::rect): + (WebCore::RoundedIntRect::radii): + (WebCore::RoundedIntRect::isRounded): + (WebCore::RoundedIntRect::isEmpty): + (WebCore::RoundedIntRect::setRect): + (WebCore::RoundedIntRect::setRadii): + (WebCore::RoundedIntRect::move): + (WebCore::RoundedIntRect::inflate): + (WebCore::RoundedIntRect::inflateWithRadii): + (WebCore::RoundedIntRect::expandRadii): + (WebCore::RoundedIntRect::shrinkRadii): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::pushContentsClip): + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::paintFillLayerExtended): + (WebCore::RenderBoxModelObject::paintBorder): + (WebCore::RenderBoxModelObject::clipBorderSidePolygon): + (WebCore::RenderBoxModelObject::paintBoxShadow): + * rendering/RenderBoxModelObject.h: + * rendering/RenderObject.cpp: + (WebCore::RenderObject::drawBoxSideFromPath): + * rendering/RenderReplaced.cpp: + (WebCore::RenderReplaced::paint): + * rendering/RenderThemeChromiumWin.cpp: + (WebCore::RenderThemeChromiumWin::paintTextFieldInternal): + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::paintMenuListButtonGradients): + (WebCore::RenderThemeMac::paintSliderTrack): + * rendering/RenderThemeSafari.cpp: + (WebCore::RenderThemeSafari::paintMenuListButtonGradients): + (WebCore::RenderThemeSafari::paintSliderTrack): + * rendering/RenderThemeWinCE.cpp: + (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton): + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::paint): + * rendering/style/BorderData.h: + * rendering/style/RenderStyle.cpp: + (WebCore::calcRadiiFor): + (WebCore::calcConstraintScaleFor): + (WebCore::RenderStyle::getRoundedBorderFor): + (WebCore::RenderStyle::getRoundedInnerBorderWithBorderWidths): + * rendering/style/RenderStyle.h: + (WebCore::InheritedFlags::setBorderRadius): + +2011-01-17 Rob Buis <rwlbuis@gmail.com> + + Reviewed by Kent Tamura. + + Color changes to option elements in a select multiple aren't drawn immediately + https://bugs.webkit.org/show_bug.cgi?id=49790 + + Redirect style changes on <option> element to the owner <select> element. + + Tests: fast/forms/select-option-background-color-change.html + fast/forms/select-option-color-change.html + fast/forms/select-option-visibility-change.html + + * html/HTMLOptionElement.cpp: + (WebCore::HTMLOptionElement::setRenderStyle): + +2011-01-17 MORITA Hajime <morrita@google.com> + + Unreviewed, rolling out r75995. + http://trac.webkit.org/changeset/75995 + https://bugs.webkit.org/show_bug.cgi?id=51914 + + Causes assertion failures. + + * dom/Element.cpp: + (WebCore::Element::shadowRoot): + (WebCore::Element::setShadowRoot): + (WebCore::Element::removeShadowRoot): + * dom/ElementRareData.h: + (WebCore::ElementRareData::ElementRareData): + +2011-01-17 MORITA Hajime <morrita@google.com> + + Unreviewed, rolling out r75999. + http://trac.webkit.org/changeset/75999 + + * dom/Element.cpp: + (WebCore::Element::removeShadowRoot): + +2011-01-17 MORITA Hajime <morrita@google.com> + + Unreviewed crash fix, which introduced at r75995 + + * dom/Element.cpp: + (WebCore::Element::removeShadowRoot): + +2011-01-17 MORITA Hajime <morrita@google.com> + + Reviewed by Dimitri Glazkov. + + ElementRareData::m_shadowRoot should not be RefPtr. + https://bugs.webkit.org/show_bug.cgi?id=51914 + + This change makes m_shadowRoot a raw pointer, as Node::m_parent is. + This change is safe because shadow host pointer is stored as TreeShared::m_parent + which prevents deletion unless set to null. + + No test, no behavioral change. + + * dom/Element.cpp: + (WebCore::Element::shadowRoot): + (WebCore::Element::setShadowRoot): + (WebCore::Element::removeShadowRoot): + * dom/ElementRareData.h: + (WebCore::ElementRareData::ElementRareData): + +2011-01-17 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Dan Bernstein. + + Some WebKit2 layout tests crash due to focus being on a frame in the page cache + https://bugs.webkit.org/show_bug.cgi?id=52607 + + No new tests. Existing tests crash in WebKit2 without this fix. + + I suspect there are other consequences besides the WebKit2 crash, but I + was unable to identify any for certain. + + * history/CachedFrame.cpp: + (WebCore::CachedFrame::CachedFrame): If a frame still has focus when its page + goes in the page cache, reset focus to the main frame. + 2011-01-17 Adam Roben <aroben@apple.com> Simplify WKCACFLayerRenderer's API @@ -2759,7 +7809,6 @@ * html/canvas/WebGLRenderingContext.cpp: ->>>>>>> .r75740 2011-01-13 Adrienne Walker <enne@google.com> Reviewed by Kenneth Russell. |