| 2012-06-17 Yoshifumi Inoue <yosin@chromium.org> |
| |
| Unreviewed, rolling out r120565. |
| http://trac.webkit.org/changeset/120565 |
| https://bugs.webkit.org/show_bug.cgi?id=89155 |
| |
| Bad commit message |
| |
| * rendering/RenderSearchField.cpp: Removed. |
| * rendering/RenderSearchField.h: Removed. |
| |
| 2012-06-17 Yoshifumi Inoue <yosin@chromium.org> |
| |
| [Forms] Copy RenderTextControlSingleLine.{cpp,h} to RenderSearchFiled.{cpp,h} |
| https://bugs.webkit.org/show_bug.cgi?id=89155 |
| |
| This patch copies RenderTextControlSingleLine.cpp and .h into RenderSearchField.cpp |
| and .h with just "cp" code. New files aren't compiled until bug 88980. |
| |
| No new tests. This patch doesn't change behavior. |
| |
| * rendering/RenderSearchField.cpp: Added. |
| (WebCore): |
| (WebCore::RenderTextControlInnerBlock::positionForPoint): |
| (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine): |
| (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine): |
| (WebCore::RenderTextControlSingleLine::containerElement): |
| (WebCore::RenderTextControlSingleLine::innerBlockElement): |
| (WebCore::RenderTextControlSingleLine::innerSpinButtonElement): |
| (WebCore::RenderTextControlSingleLine::resultsButtonElement): |
| (WebCore::RenderTextControlSingleLine::cancelButtonElement): |
| (WebCore::RenderTextControlSingleLine::textBaseStyle): |
| (WebCore::RenderTextControlSingleLine::addSearchResult): |
| (WebCore::RenderTextControlSingleLine::showPopup): |
| (WebCore::RenderTextControlSingleLine::hidePopup): |
| (WebCore::RenderTextControlSingleLine::paint): |
| (WebCore::RenderTextControlSingleLine::layout): |
| (WebCore::RenderTextControlSingleLine::nodeAtPoint): |
| (WebCore::RenderTextControlSingleLine::styleDidChange): |
| (WebCore::RenderTextControlSingleLine::capsLockStateMayHaveChanged): |
| (WebCore::RenderTextControlSingleLine::hasControlClip): |
| (WebCore::RenderTextControlSingleLine::controlClipRect): |
| (WebCore::RenderTextControlSingleLine::getAvgCharWidth): |
| (WebCore::RenderTextControlSingleLine::preferredContentWidth): |
| (WebCore::RenderTextControlSingleLine::computeControlHeight): |
| (WebCore::RenderTextControlSingleLine::updateFromElement): |
| (WebCore::RenderTextControlSingleLine::createInnerTextStyle): |
| (WebCore::RenderTextControlSingleLine::createInnerBlockStyle): |
| (WebCore::RenderTextControlSingleLine::updateCancelButtonVisibility): |
| (WebCore::RenderTextControlSingleLine::visibilityForCancelButton): |
| (WebCore::RenderTextControlSingleLine::textShouldBeTruncated): |
| (WebCore::RenderTextControlSingleLine::autosaveName): |
| (WebCore::RenderTextControlSingleLine::valueChanged): |
| (WebCore::RenderTextControlSingleLine::itemText): |
| (WebCore::RenderTextControlSingleLine::itemLabel): |
| (WebCore::RenderTextControlSingleLine::itemIcon): |
| (WebCore::RenderTextControlSingleLine::itemIsEnabled): |
| (WebCore::RenderTextControlSingleLine::itemStyle): |
| (WebCore::RenderTextControlSingleLine::menuStyle): |
| (WebCore::RenderTextControlSingleLine::clientInsetLeft): |
| (WebCore::RenderTextControlSingleLine::clientInsetRight): |
| (WebCore::RenderTextControlSingleLine::clientPaddingLeft): |
| (WebCore::RenderTextControlSingleLine::clientPaddingRight): |
| (WebCore::RenderTextControlSingleLine::listSize): |
| (WebCore::RenderTextControlSingleLine::selectedIndex): |
| (WebCore::RenderTextControlSingleLine::popupDidHide): |
| (WebCore::RenderTextControlSingleLine::itemIsSeparator): |
| (WebCore::RenderTextControlSingleLine::itemIsLabel): |
| (WebCore::RenderTextControlSingleLine::itemIsSelected): |
| (WebCore::RenderTextControlSingleLine::setTextFromItem): |
| (WebCore::RenderTextControlSingleLine::fontSelector): |
| (WebCore::RenderTextControlSingleLine::hostWindow): |
| (WebCore::RenderTextControlSingleLine::autoscroll): |
| (WebCore::RenderTextControlSingleLine::scrollWidth): |
| (WebCore::RenderTextControlSingleLine::scrollHeight): |
| (WebCore::RenderTextControlSingleLine::scrollLeft): |
| (WebCore::RenderTextControlSingleLine::scrollTop): |
| (WebCore::RenderTextControlSingleLine::setScrollLeft): |
| (WebCore::RenderTextControlSingleLine::setScrollTop): |
| (WebCore::RenderTextControlSingleLine::scroll): |
| (WebCore::RenderTextControlSingleLine::logicalScroll): |
| (WebCore::RenderTextControlSingleLine::createScrollbar): |
| (WebCore::RenderTextControlSingleLine::inputElement): |
| * rendering/RenderSearchField.h: Added. |
| (WebCore): |
| (RenderTextControlSingleLine): |
| (WebCore::RenderTextControlSingleLine::popupIsVisible): |
| (WebCore::RenderTextControlSingleLine::isTextField): |
| (WebCore::toRenderTextControlSingleLine): |
| (RenderTextControlInnerBlock): |
| (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock): |
| (WebCore::RenderTextControlInnerBlock::hasLineIfEmpty): |
| |
| 2012-06-17 MORITA Hajime <morrita@google.com> |
| |
| Unreviewed build fix. |
| |
| * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: |
| (WebCore::CCLayerTreeHostImpl::removePassesWithCachedTextures): |
| |
| 2012-06-17 Philippe Normand <pnormand@igalia.com> |
| |
| [GStreamer] optimize ::naturalSize() |
| https://bugs.webkit.org/show_bug.cgi?id=89314 |
| |
| Reviewed by Martin Robinson. |
| |
| Keep track of the video-sink sinkpad in the MediaPlayerPrivate and |
| adapt the webkitGstGetPadCaps API accordingly. The benefit of this |
| change is to reduce the number of calls to |
| gst_element_get_static_pad() and the corresponding gst_pad_unref(). |
| |
| * platform/graphics/gstreamer/GStreamerVersioning.cpp: |
| (webkitGstGetPadCaps): |
| * platform/graphics/gstreamer/GStreamerVersioning.h: |
| * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: |
| (WebCore::MediaPlayerPrivateGStreamer::naturalSize): |
| * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: |
| (MediaPlayerPrivateGStreamer): |
| |
| 2012-06-17 Arvid Nilsson <anilsson@rim.com> |
| |
| Don't mark main frame layer opaque if the frame view is transparent |
| https://bugs.webkit.org/show_bug.cgi?id=88234 |
| |
| Reviewed by Simon Fraser. |
| |
| * rendering/RenderLayerBacking.cpp: |
| (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer): |
| |
| 2012-06-17 Philip Rogers <pdr@google.com> |
| |
| Prevent crash in SVGDocumentExtensions::removeAllElementReferencesForTarget. |
| https://bugs.webkit.org/show_bug.cgi?id=88144 |
| |
| Reviewed by Abhishek Arya. |
| |
| When iterating over referencing elements to rebuild after a reference change in |
| SVGDocumentExtensions::removeAllElementReferencesForTarget, we can |
| modify the underlying toBeNotified vector, invalidating it. This change checks |
| that a vector element is valid before rebuilding, preventing a crash. |
| |
| Some definitions from SVGDocumentExtensions that may put this patch in context: |
| An example of a "referenced elements" is a <path>. |
| An example of a "referencing element" is a <textPath href='some_path_id'>. |
| m_elementDependencies is a map from referenced elements (e.g., paths) to |
| a set of referencing elements (e.g., textPaths). |
| |
| The check that the vector element is valid relies on checking if the referencing |
| element is in m_elementDependencies. This check is allowed because in the |
| destructor of SVGTextPathElement (and SVGFeImageElement), |
| removeAllTargetReferencesForElement() is called, removing the referencing element |
| from m_elementDependencies. |
| |
| Simply checking if the referencing element is anywhere in m_elementDependencies |
| is enough to show it is valid, but that requires iterating over all referenced |
| elements to see if the given referencing element is present. This change |
| only checks if the textPath is still in the elements referencing the |
| path being removed, and only removes the referenced element from |
| m_elementDependencies after forcing the referencing elements to be rebuilt. |
| |
| Test: svg/text/textpath-reference-crash.html |
| |
| * svg/SVGDocumentExtensions.cpp: |
| (WebCore::SVGDocumentExtensions::removeAllElementReferencesForTarget): |
| |
| 2012-06-17 Yoshifumi Inoue <yosin@chromium.org> |
| |
| Unreviewed, rolling out r120390. |
| http://trac.webkit.org/changeset/120390 |
| https://bugs.webkit.org/show_bug.cgi?id=89155 |
| |
| Failed to copy merge history to RenderSerachField.{cpp,h} |
| |
| * rendering/RenderSearchField.cpp: Removed. |
| * rendering/RenderSearchField.h: Removed. |
| |
| 2012-06-17 Yoshifumi Inoue <yosin@chromium.org> |
| |
| Unreviewed, rolling out r120432. |
| http://trac.webkit.org/changeset/120432 |
| https://bugs.webkit.org/show_bug.cgi?id=88980 |
| |
| Failed to copy merge history to RenderSerachField.{cpp,h} |
| |
| * CMakeLists.txt: |
| * GNUmakefile.list.am: |
| * Target.pri: |
| * WebCore.gypi: |
| * WebCore.vcproj/WebCore.vcproj: |
| * WebCore.xcodeproj/project.pbxproj: |
| * html/HTMLInputElement.cpp: |
| (WebCore::HTMLInputElement::subtreeHasChanged): |
| (WebCore::HTMLInputElement::searchEventsShouldBeDispatched): |
| (WebCore): |
| (WebCore::HTMLInputElement::addSearchResult): |
| * html/HTMLInputElement.h: |
| (HTMLInputElement): |
| * html/InputType.cpp: |
| * html/InputType.h: |
| (InputType): |
| * html/SearchInputType.cpp: |
| * html/SearchInputType.h: |
| (SearchInputType): |
| * html/shadow/TextControlInnerElements.cpp: |
| (WebCore::SearchFieldResultsButtonElement::defaultEventHandler): |
| * loader/FormSubmission.cpp: |
| (WebCore::FormSubmission::create): |
| * rendering/RenderSearchField.cpp: |
| (WebCore::RenderTextControlInnerBlock::positionForPoint): |
| (WebCore): |
| (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine): |
| (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine): |
| (WebCore::RenderTextControlSingleLine::containerElement): |
| (WebCore::RenderTextControlSingleLine::innerBlockElement): |
| (WebCore::RenderTextControlSingleLine::innerSpinButtonElement): |
| (WebCore::RenderTextControlSingleLine::resultsButtonElement): |
| (WebCore::RenderTextControlSingleLine::cancelButtonElement): |
| (WebCore::RenderTextControlSingleLine::textBaseStyle): |
| (WebCore::RenderTextControlSingleLine::addSearchResult): |
| (WebCore::RenderTextControlSingleLine::showPopup): |
| (WebCore::RenderTextControlSingleLine::hidePopup): |
| (WebCore::RenderTextControlSingleLine::paint): |
| (WebCore::RenderTextControlSingleLine::layout): |
| (WebCore::RenderTextControlSingleLine::nodeAtPoint): |
| (WebCore::RenderTextControlSingleLine::styleDidChange): |
| (WebCore::RenderTextControlSingleLine::capsLockStateMayHaveChanged): |
| (WebCore::RenderTextControlSingleLine::hasControlClip): |
| (WebCore::RenderTextControlSingleLine::controlClipRect): |
| (WebCore::RenderTextControlSingleLine::getAvgCharWidth): |
| (WebCore::RenderTextControlSingleLine::preferredContentWidth): |
| (WebCore::RenderTextControlSingleLine::computeControlHeight): |
| (WebCore::RenderTextControlSingleLine::updateFromElement): |
| (WebCore::RenderTextControlSingleLine::createInnerTextStyle): |
| (WebCore::RenderTextControlSingleLine::createInnerBlockStyle): |
| (WebCore::RenderTextControlSingleLine::updateCancelButtonVisibility): |
| (WebCore::RenderTextControlSingleLine::visibilityForCancelButton): |
| (WebCore::RenderTextControlSingleLine::textShouldBeTruncated): |
| (WebCore::RenderTextControlSingleLine::autosaveName): |
| (WebCore::RenderTextControlSingleLine::valueChanged): |
| (WebCore::RenderTextControlSingleLine::itemText): |
| (WebCore::RenderTextControlSingleLine::itemLabel): |
| (WebCore::RenderTextControlSingleLine::itemIcon): |
| (WebCore::RenderTextControlSingleLine::itemIsEnabled): |
| (WebCore::RenderTextControlSingleLine::itemStyle): |
| (WebCore::RenderTextControlSingleLine::menuStyle): |
| (WebCore::RenderTextControlSingleLine::clientInsetLeft): |
| (WebCore::RenderTextControlSingleLine::clientInsetRight): |
| (WebCore::RenderTextControlSingleLine::clientPaddingLeft): |
| (WebCore::RenderTextControlSingleLine::clientPaddingRight): |
| (WebCore::RenderTextControlSingleLine::listSize): |
| (WebCore::RenderTextControlSingleLine::selectedIndex): |
| (WebCore::RenderTextControlSingleLine::popupDidHide): |
| (WebCore::RenderTextControlSingleLine::itemIsSeparator): |
| (WebCore::RenderTextControlSingleLine::itemIsLabel): |
| (WebCore::RenderTextControlSingleLine::itemIsSelected): |
| (WebCore::RenderTextControlSingleLine::setTextFromItem): |
| (WebCore::RenderTextControlSingleLine::fontSelector): |
| (WebCore::RenderTextControlSingleLine::hostWindow): |
| (WebCore::RenderTextControlSingleLine::autoscroll): |
| (WebCore::RenderTextControlSingleLine::scrollWidth): |
| (WebCore::RenderTextControlSingleLine::scrollHeight): |
| (WebCore::RenderTextControlSingleLine::scrollLeft): |
| (WebCore::RenderTextControlSingleLine::scrollTop): |
| (WebCore::RenderTextControlSingleLine::setScrollLeft): |
| (WebCore::RenderTextControlSingleLine::setScrollTop): |
| (WebCore::RenderTextControlSingleLine::scroll): |
| (WebCore::RenderTextControlSingleLine::logicalScroll): |
| (WebCore::RenderTextControlSingleLine::createScrollbar): |
| (WebCore::RenderTextControlSingleLine::inputElement): |
| * rendering/RenderSearchField.h: |
| (RenderTextControlSingleLine): |
| (WebCore::RenderTextControlSingleLine::isTextField): |
| (WebCore::toRenderTextControlSingleLine): |
| (WebCore): |
| (RenderTextControlInnerBlock): |
| (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock): |
| (WebCore::RenderTextControlInnerBlock::hasLineIfEmpty): |
| * rendering/RenderTextControlSingleLine.cpp: |
| (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine): |
| (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine): |
| (WebCore): |
| (WebCore::RenderTextControlSingleLine::containerElement): |
| (WebCore::RenderTextControlSingleLine::innerBlockElement): |
| (WebCore::RenderTextControlSingleLine::resultsButtonElement): |
| (WebCore::RenderTextControlSingleLine::cancelButtonElement): |
| (WebCore::RenderTextControlSingleLine::addSearchResult): |
| (WebCore::RenderTextControlSingleLine::showPopup): |
| (WebCore::RenderTextControlSingleLine::hidePopup): |
| (WebCore::RenderTextControlSingleLine::layout): |
| (WebCore::RenderTextControlSingleLine::computeControlHeight): |
| (WebCore::RenderTextControlSingleLine::updateFromElement): |
| (WebCore::RenderTextControlSingleLine::updateCancelButtonVisibility): |
| (WebCore::RenderTextControlSingleLine::visibilityForCancelButton): |
| (WebCore::RenderTextControlSingleLine::autosaveName): |
| (WebCore::RenderTextControlSingleLine::valueChanged): |
| (WebCore::RenderTextControlSingleLine::itemText): |
| (WebCore::RenderTextControlSingleLine::itemLabel): |
| (WebCore::RenderTextControlSingleLine::itemIcon): |
| (WebCore::RenderTextControlSingleLine::itemIsEnabled): |
| (WebCore::RenderTextControlSingleLine::itemStyle): |
| (WebCore::RenderTextControlSingleLine::menuStyle): |
| (WebCore::RenderTextControlSingleLine::clientInsetLeft): |
| (WebCore::RenderTextControlSingleLine::clientInsetRight): |
| (WebCore::RenderTextControlSingleLine::clientPaddingLeft): |
| (WebCore::RenderTextControlSingleLine::clientPaddingRight): |
| (WebCore::RenderTextControlSingleLine::listSize): |
| (WebCore::RenderTextControlSingleLine::selectedIndex): |
| (WebCore::RenderTextControlSingleLine::popupDidHide): |
| (WebCore::RenderTextControlSingleLine::itemIsSeparator): |
| (WebCore::RenderTextControlSingleLine::itemIsLabel): |
| (WebCore::RenderTextControlSingleLine::itemIsSelected): |
| (WebCore::RenderTextControlSingleLine::setTextFromItem): |
| (WebCore::RenderTextControlSingleLine::fontSelector): |
| (WebCore::RenderTextControlSingleLine::hostWindow): |
| (WebCore::RenderTextControlSingleLine::createScrollbar): |
| * rendering/RenderTextControlSingleLine.h: |
| (WebCore): |
| (RenderTextControlSingleLine): |
| (WebCore::RenderTextControlSingleLine::popupIsVisible): |
| * rendering/RenderingAllInOne.cpp: |
| |
| 2012-06-15 Darin Adler <darin@apple.com> |
| |
| REGRESSION (r111041): Missing element type check in RenderThemeMac::paintMediaFullscreenButton |
| https://bugs.webkit.org/show_bug.cgi?id=89270 |
| |
| Reviewed by Oliver Hunt. |
| |
| * rendering/RenderThemeMac.mm: |
| (WebCore::RenderThemeMac::paintMediaFullscreenButton): Use the proper idiom for getting |
| a media control element's type. |
| |
| 2012-06-17 Zeev Lieber <zlieber@chromium.org> |
| |
| [Chromium] Compositor should avoid drawing quads when cached textures are available and contents unchanged |
| https://bugs.webkit.org/show_bug.cgi?id=88482 |
| |
| Reviewed by Adrienne Walker. |
| |
| Post-processing CCRenderPassList after it's been generated and |
| removing all render surface quads for which there are |
| cached textures, and whose content didn't change. Added a new |
| flag to CCLayerImpl to differentiate surface property change and |
| layer property change. |
| |
| The changes are covered by new unit tests that check that |
| the removal algorithm functions propertly. No rendering |
| behaviour change, so no new layout tests. |
| |
| * platform/graphics/chromium/cc/CCDamageTracker.cpp: |
| (WebCore::layerNeedsToRedrawOntoItsTargetSurface): |
| (WebCore): |
| (WebCore::CCDamageTracker::extendDamageForLayer): |
| (WebCore::CCDamageTracker::extendDamageForRenderSurface): |
| * platform/graphics/chromium/cc/CCLayerImpl.cpp: |
| (WebCore::CCLayerImpl::CCLayerImpl): |
| (WebCore::CCLayerImpl::layerSurfacePropertyChanged): |
| (WebCore): |
| (WebCore::CCLayerImpl::resetAllChangeTrackingForSubtree): |
| (WebCore::CCLayerImpl::setOpacity): |
| (WebCore::CCLayerImpl::setTransform): |
| * platform/graphics/chromium/cc/CCLayerImpl.h: |
| (CCLayerImpl): |
| * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: |
| (WebCore::CCLayerTreeHostImpl::calculateRenderPasses): |
| (WebCore::CCLayerTreeHostImpl::removeRenderPassesRecursive): |
| (WebCore): |
| (WebCore::CCLayerTreeHostImpl::removePassesWithCachedTextures): |
| (WebCore::CCLayerTreeHostImpl::prepareToDraw): |
| * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: |
| (FrameData): |
| (CCLayerTreeHostImpl): |
| * platform/graphics/chromium/cc/CCRenderPass.h: |
| (CCRenderPass): |
| * platform/graphics/chromium/cc/CCRenderSurface.cpp: |
| (WebCore::CCRenderSurface::prepareContentsTexture): |
| (WebCore::CCRenderSurface::hasCachedContentsTexture): |
| (WebCore): |
| (WebCore::CCRenderSurface::contentsChanged): |
| * platform/graphics/chromium/cc/CCRenderSurface.h: |
| (CCRenderSurface): |
| |
| 2012-06-17 Adam Barth <abarth@webkit.org> |
| |
| Attempt to fix a large number of tests I broke with http://trac.webkit.org/changeset/120547 |
| |
| We need to reset the device scale facter after each test. |
| |
| * testing/InternalSettings.cpp: |
| (WebCore::InternalSettings::InternalSettings): |
| (WebCore::InternalSettings::restoreTo): |
| * testing/InternalSettings.h: |
| (InternalSettings): |
| |
| 2012-06-16 Huang Dongsung <luxtella@company100.net> |
| |
| [Texmap] Share gaussian formula between shaders in TextureMapperShaderManager. |
| https://bugs.webkit.org/show_bug.cgi?id=89277 |
| |
| This patch makes blur and drop shadow shader share gaussian formula. |
| |
| On the other hand, blur and drop shadow filter computed a gaussian weight in |
| pixel shader. However, a gaussian kernal has always same values, so this patch |
| computes the gaussian kernel only one time using CPU. |
| It is more accurate and faster. |
| |
| Reviewed by Noam Rosenthal. |
| |
| Covered by existing tests, particularly css3/filters/. |
| |
| * platform/graphics/texmap/TextureMapperShaderManager.cpp: |
| (WebCore): |
| (WebCore::StandardFilterProgram::StandardFilterProgram): |
| (WebCore::gauss): |
| (WebCore::gaussianKernel): |
| (WebCore::StandardFilterProgram::prepare): |
| * platform/graphics/texmap/TextureMapperShaderManager.h: |
| |
| 2012-06-16 Robert Kroeger <rjkroege@chromium.org> |
| |
| [chromium] Make the deviceScaleFactor dynamically adjustable. |
| https://bugs.webkit.org/show_bug.cgi?id=88916 |
| |
| Reviewed by James Robinson. |
| |
| * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: Removed use of static |
| deviceScaleFactor from settings with dyanmic m_deviceScaleFactor |
| (WebCore::CCLayerTreeHost::CCLayerTreeHost): |
| (WebCore::CCLayerTreeHost::finishCommitOnImplThread): |
| (WebCore::CCLayerTreeHost::setViewportSize): |
| (WebCore::CCLayerTreeHost::updateLayers): |
| (WebCore::CCLayerTreeHost::setDeviceScaleFactor): Added function to |
| set deviceScaleFactor. |
| (WebCore): |
| * platform/graphics/chromium/cc/CCLayerTreeHost.h: |
| (WebCore::CCSettings::CCSettings): Removed static deviceScaleFactor |
| (CCSettings): |
| (CCLayerTreeHost): Added dynamic m_deviceScaleFactor in its place. |
| (WebCore::CCLayerTreeHost::deviceScaleFactor): |
| * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: Same as above. |
| (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl): |
| (WebCore::CCLayerTreeHostImpl::calculateRenderSurfaceLayerList): |
| (WebCore::CCLayerTreeHostImpl::setViewportSize): |
| (WebCore::CCLayerTreeHostImpl::setDeviceScaleFactor): Added function to |
| set deviceScaleFactor. |
| (WebCore): |
| (WebCore::CCLayerTreeHostImpl::updateMaxScrollPosition): |
| (WebCore::CCLayerTreeHostImpl::scrollBegin): |
| (WebCore::CCLayerTreeHostImpl::computePinchZoomDeltas): |
| * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: Added dynamic |
| m_deviceScaleFactor instance variable. |
| (WebCore::CCLayerTreeHostImpl::deviceScaleFactor): |
| (CCLayerTreeHostImpl): |
| |
| 2012-06-16 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r120536. |
| http://trac.webkit.org/changeset/120536 |
| https://bugs.webkit.org/show_bug.cgi?id=89296 |
| |
| Does not compile on chromium-linux (Requested by abarth on |
| #webkit). |
| |
| * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp: |
| (WebCore): |
| (WebCore::FontPlatformData::setHinting): |
| (WebCore::FontPlatformData::setAutoHint): |
| (WebCore::FontPlatformData::setUseBitmaps): |
| (WebCore::FontPlatformData::setAntiAlias): |
| (WebCore::FontPlatformData::setSubpixelRendering): |
| (WebCore::FontPlatformData::setSubpixelPositioning): |
| (WebCore::FontPlatformData::setupPaint): |
| * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h: |
| (FontPlatformData): |
| |
| 2012-06-16 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r120539. |
| http://trac.webkit.org/changeset/120539 |
| https://bugs.webkit.org/show_bug.cgi?id=89295 |
| |
| Does not compile on chromium-mac (Requested by abarth on |
| #webkit). |
| |
| * platform/graphics/chromium/cc/CCDamageTracker.cpp: |
| (WebCore::CCDamageTracker::extendDamageForLayer): |
| (WebCore::CCDamageTracker::extendDamageForRenderSurface): |
| * platform/graphics/chromium/cc/CCLayerImpl.cpp: |
| (WebCore::CCLayerImpl::CCLayerImpl): |
| (WebCore::CCLayerImpl::resetAllChangeTrackingForSubtree): |
| (WebCore::CCLayerImpl::setOpacity): |
| (WebCore::CCLayerImpl::setTransform): |
| * platform/graphics/chromium/cc/CCLayerImpl.h: |
| (CCLayerImpl): |
| * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: |
| (WebCore::CCLayerTreeHostImpl::calculateRenderPasses): |
| (WebCore::CCLayerTreeHostImpl::prepareToDraw): |
| * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: |
| (CCLayerTreeHostImpl): |
| * platform/graphics/chromium/cc/CCRenderPass.h: |
| (CCRenderPass): |
| * platform/graphics/chromium/cc/CCRenderSurface.cpp: |
| (WebCore::CCRenderSurface::prepareContentsTexture): |
| * platform/graphics/chromium/cc/CCRenderSurface.h: |
| (CCRenderSurface): |
| |
| 2012-06-16 Mike West <mkwst@chromium.org> |
| |
| Ignore paths in Content Security Policy sources rather than failing to parse them. |
| https://bugs.webkit.org/show_bug.cgi?id=89281 |
| |
| Reviewed by Adam Barth. |
| |
| In short: `script-src http://example.com/` should allow scripts from |
| http://example.com. Currently, it allows no scripts at all, as the |
| terminal `/` isn't accepted as part of a hostname. |
| |
| This patch adjusts CSPSourceList::parseSource to accept paths (and |
| discard them). Once this lands, the next step will be to keep the |
| path, and use it when comparing source origins in the various |
| allowXXXFromSource methods. |
| |
| Tests: http/tests/security/contentSecurityPolicy/source-list-parsing-05.html |
| http/tests/security/contentSecurityPolicy/source-list-parsing-06.html |
| |
| * page/ContentSecurityPolicy.cpp: |
| (CSPSourceList): |
| (WebCore): |
| (WebCore::CSPSourceList::parseSource): |
| Reworked this method entirely to support paths. |
| (WebCore::CSPSourceList::parsePath): |
| More or less a no-op at the moment. |
| (WebCore::CSPSourceList::parsePort): |
| Moved the `:` assertion here from parseSource. |
| |
| 2012-06-16 Zeev Lieber <zlieber@chromium.org> |
| |
| [Chromium] Compositor should avoid drawing quads when cached textures are available and contents unchanged |
| https://bugs.webkit.org/show_bug.cgi?id=88482 |
| |
| Reviewed by Adrienne Walker. |
| |
| Post-processing CCRenderPassList after it's been generated and |
| removing all render surface quads for which there are |
| cached textures, and whose content didn't change. Added a new |
| flag to CCLayerImpl to differentiate surface property change and |
| layer property change. |
| |
| The changes are covered by new unit tests that check that |
| the removal algorithm functions propertly. No rendering |
| behaviour change, so no new layout tests. |
| |
| * platform/graphics/chromium/cc/CCDamageTracker.cpp: |
| (WebCore::layerNeedsToRedrawOntoItsTargetSurface): |
| (WebCore): |
| (WebCore::CCDamageTracker::extendDamageForLayer): |
| (WebCore::CCDamageTracker::extendDamageForRenderSurface): |
| * platform/graphics/chromium/cc/CCLayerImpl.cpp: |
| (WebCore::CCLayerImpl::CCLayerImpl): |
| (WebCore::CCLayerImpl::layerSurfacePropertyChanged): |
| (WebCore): |
| (WebCore::CCLayerImpl::resetAllChangeTrackingForSubtree): |
| (WebCore::CCLayerImpl::setOpacity): |
| (WebCore::CCLayerImpl::setTransform): |
| * platform/graphics/chromium/cc/CCLayerImpl.h: |
| (CCLayerImpl): |
| * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: |
| (WebCore::CCLayerTreeHostImpl::calculateRenderPasses): |
| (WebCore::CCLayerTreeHostImpl::removeRenderPassesRecursive): |
| (WebCore): |
| (WebCore::CCLayerTreeHostImpl::removePassesWithCachedTextures): |
| (WebCore::CCLayerTreeHostImpl::prepareToDraw): |
| * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: |
| (FrameData): |
| (CCLayerTreeHostImpl): |
| * platform/graphics/chromium/cc/CCRenderPass.h: |
| (CCRenderPass): |
| * platform/graphics/chromium/cc/CCRenderSurface.cpp: |
| (WebCore::CCRenderSurface::prepareContentsTexture): |
| (WebCore::CCRenderSurface::hasCachedContentsTexture): |
| (WebCore): |
| (WebCore::CCRenderSurface::contentsChanged): |
| * platform/graphics/chromium/cc/CCRenderSurface.h: |
| (CCRenderSurface): |
| |
| 2012-06-16 Xianzhu Wang <wangxianzhu@chromium.org> |
| |
| [Chromium] Move chromium/public/linuxish/WebFontRendering.h out of linuxish directory |
| https://bugs.webkit.org/show_bug.cgi?id=89228 |
| |
| Reverse the dependency originally from WebKit::WebFontRendering to WebCore::FontPlatformDataHarfBuzz |
| so that WebKit::WebFontRendering can be platform-independent. |
| |
| Reviewed by Tony Chang. |
| |
| Refactory only. No new tests. |
| |
| * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp: |
| (WebCore::FontPlatformData::setupPaint): |
| * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h: |
| (FontPlatformData): |
| |
| 2012-06-16 Adam Barth <abarth@webkit.org> |
| |
| Settings::devicePixelRatio doesn't do anything and is confusing |
| https://bugs.webkit.org/show_bug.cgi?id=89272 |
| |
| Reviewed by James Robinson. |
| |
| Settings::devicePixelRatio is yet another piece of state trying to |
| represent the device scale factor. The canonical place to store this |
| state is Page::m_deviceScaleFactor. Nothing in WebCore references |
| Settings::devicePixelRatio anymore, so we can remove it. |
| |
| * page/Settings.cpp: |
| (WebCore::Settings::Settings): |
| * page/Settings.h: |
| (Settings): |
| |
| 2012-06-16 Huang Dongsung <luxtella@company100.net> |
| |
| [Texmap] SIGSEV in WebCore::TextureMapperGL::drawTexture. |
| https://bugs.webkit.org/show_bug.cgi?id=89113 |
| |
| TextureMapperTile::m_texture is created lazilly, so we need null check before |
| using it. |
| |
| Reviewed by Noam Rosenthal. |
| |
| No new tests. This patch doesn't change behavior. |
| |
| * platform/graphics/texmap/TextureMapperBackingStore.cpp: |
| (WebCore::TextureMapperTile::paint): |
| |
| 2012-06-16 Huang Dongsung <luxtella@company100.net> |
| |
| [Texmap] Remove unused code in Texmap. |
| https://bugs.webkit.org/show_bug.cgi?id=89265 |
| |
| Reviewed by Noam Rosenthal. |
| |
| * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp: |
| (WebCore::GraphicsLayerTextureMapper::didSynchronize): |
| * platform/graphics/texmap/GraphicsLayerTextureMapper.h: |
| (GraphicsLayerTextureMapper): |
| * platform/graphics/texmap/TextureMapperLayer.cpp: |
| (WebCore::TextureMapperLayer::syncCompositingState): |
| * platform/graphics/texmap/TextureMapperLayer.h: |
| (TextureMapperLayer): |
| |
| 2012-06-16 Igor Oliveira <igor.o@sisa.samsung.com> |
| |
| [TexmapGL] Reduce the number of glTexSubImage2D calls |
| https://bugs.webkit.org/show_bug.cgi?id=83665 |
| |
| Instead of copy the pixels row by row, put the pixels in a buffer and |
| call glTexSubImage2D just once. |
| |
| Reviewed by Noam Rosenthal. |
| |
| * platform/graphics/texmap/TextureMapperGL.cpp: |
| (WebCore::BitmapTextureGL::updateContents): |
| |
| 2012-06-15 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r120280. |
| http://trac.webkit.org/changeset/120280 |
| https://bugs.webkit.org/show_bug.cgi?id=89273 |
| |
| Enabling CSS regions broke all Windows tests (Requested by |
| jhomeycutt on #webkit). |
| |
| * css/CSSPropertyNames.in: |
| |
| 2012-06-15 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r120511. |
| http://trac.webkit.org/changeset/120511 |
| https://bugs.webkit.org/show_bug.cgi?id=89255 |
| |
| Breaks at least Android builder (Requested by wangxianzhu on |
| #webkit). |
| |
| * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp: |
| (WebCore): |
| (WebCore::FontPlatformData::setHinting): |
| (WebCore::FontPlatformData::setAutoHint): |
| (WebCore::FontPlatformData::setUseBitmaps): |
| (WebCore::FontPlatformData::setAntiAlias): |
| (WebCore::FontPlatformData::setSubpixelRendering): |
| (WebCore::FontPlatformData::setSubpixelPositioning): |
| (WebCore::FontPlatformData::setupPaint): |
| * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h: |
| (FontPlatformData): |
| |
| 2012-06-15 Xianzhu Wang <wangxianzhu@chromium.org> |
| |
| [Chromium] Move chromium/public/linuxish/WebFontRendering.h out of linuxish directory |
| https://bugs.webkit.org/show_bug.cgi?id=89228 |
| |
| Reverse the dependency originally from WebKit::WebFontRendering to WebCore::FontPlatformDataHarfBuzz |
| so that WebKit::WebFontRendering can be platform-independent. |
| |
| Reviewed by Tony Chang. |
| |
| Refactory only. No new tests. |
| |
| * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp: |
| (WebCore::FontPlatformData::setupPaint): |
| * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h: |
| (FontPlatformData): |
| |
| 2012-06-15 Adrienne Walker <enne@google.com> |
| |
| [chromium] Fix composited scrollbars with transparent thumbs |
| https://bugs.webkit.org/show_bug.cgi?id=89247 |
| |
| Reviewed by James Robinson. |
| |
| On some platforms, the thumb of a scrollbar can be transparent. Fix by |
| always drawing the thumb quad with blending. |
| |
| * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp: |
| (WebCore::CCScrollbarLayerImpl::appendQuads): |
| * platform/graphics/chromium/cc/CCTextureDrawQuad.cpp: |
| (WebCore::CCTextureDrawQuad::setNeedsBlending): |
| (WebCore): |
| * platform/graphics/chromium/cc/CCTextureDrawQuad.h: |
| (CCTextureDrawQuad): |
| |
| 2012-06-14 James Robinson <jamesr@chromium.org> |
| |
| [chromium] Use SkBitmap in ImageLayerChromium |
| https://bugs.webkit.org/show_bug.cgi?id=89134 |
| |
| Reviewed by Adrienne Walker. |
| |
| GraphicsLayer::setContentsToImage(Image*) is called whenever an image layer's image is or might have changed. |
| In Chromium, this used to hang on to a RefPtr<WebCore::Image> until the compositor was ready to upload texture contents. |
| This is potentially a bit fishy since the Image itself might not be in exactly the same state when we get around |
| to uploading textures and it also creates a bad dependency from ImageLayerChromium on WebCore::Image. |
| |
| This patch grabs the underlying SkBitmap in the setContentsTo call and passes that into ImageLayerChromium |
| instead. I've also removed the venerable but redundant PlatformImage concept since all of chromium's images are |
| skia bitmaps these days. |
| |
| Covered by existing tests, particularly compositing/images/ and compositing/color-matching/. |
| |
| * WebCore.gypi: |
| * platform/graphics/chromium/GraphicsLayerChromium.cpp: |
| (WebCore::GraphicsLayerChromium::setContentsToImage): |
| * platform/graphics/chromium/ImageLayerChromium.cpp: |
| (WebCore::ImageLayerTextureUpdater::updateTextureRect): |
| (WebCore::ImageLayerTextureUpdater::setBitmap): |
| (ImageLayerTextureUpdater): |
| (WebCore::ImageLayerChromium::ImageLayerChromium): |
| (WebCore::ImageLayerChromium::setBitmap): |
| (WebCore::ImageLayerChromium::update): |
| (WebCore::ImageLayerChromium::contentBounds): |
| (WebCore::ImageLayerChromium::drawsContent): |
| * platform/graphics/chromium/ImageLayerChromium.h: |
| (ImageLayerChromium): |
| * platform/graphics/chromium/PlatformImage.cpp: Removed. |
| * platform/graphics/chromium/PlatformImage.h: Removed. |
| |
| 2012-06-15 Eli Fidler <efidler@rim.com> |
| |
| [BlackBerry] Use platform font settings for the standard settings. |
| https://bugs.webkit.org/show_bug.cgi?id=89232 |
| |
| Reviewed by Rob Buis. |
| |
| RIM PR 159708 |
| |
| * page/blackberry/SettingsBlackBerry.cpp: |
| (WebCore): |
| (WebCore::Settings::initializeDefaultFontFamilies): |
| |
| 2012-06-15 Joshua Bell <jsbell@chromium.org> |
| |
| IndexedDB: Raise exceptions when methods are called on deleted objects |
| https://bugs.webkit.org/show_bug.cgi?id=89243 |
| |
| Reviewed by Tony Chang. |
| |
| Implement the IDB spec requirement that InvalidStateError exceptions are |
| thrown when methods are called on objects (i.e. object stores and indexes) |
| that have been deleted within a version change transaction. |
| |
| Test: storage/indexeddb/deleted-objects.html |
| |
| * Modules/indexeddb/IDBDatabase.cpp: |
| (WebCore::IDBDatabase::deleteObjectStore): Don't relay to transaction if back-end failed. |
| * Modules/indexeddb/IDBIndex.cpp: Check deleted state in methods, raise if set. |
| (WebCore::IDBIndex::IDBIndex): |
| (WebCore::IDBIndex::openCursor): |
| (WebCore::IDBIndex::count): |
| (WebCore::IDBIndex::openKeyCursor): |
| (WebCore::IDBIndex::get): |
| (WebCore::IDBIndex::getKey): |
| * Modules/indexeddb/IDBIndex.h: Add flag to track deleted state, method to mark it. |
| (WebCore::IDBIndex::markDeleted): |
| (IDBIndex): |
| * Modules/indexeddb/IDBObjectStore.cpp: Check deleted state in methods, raise if set. |
| (WebCore::IDBObjectStore::IDBObjectStore): |
| (WebCore::IDBObjectStore::get): |
| (WebCore::IDBObjectStore::add): |
| (WebCore::IDBObjectStore::put): |
| (WebCore::IDBObjectStore::deleteFunction): |
| (WebCore::IDBObjectStore::clear): |
| (WebCore::IDBObjectStore::createIndex): |
| (WebCore::IDBObjectStore::index): |
| (WebCore::IDBObjectStore::deleteIndex): If the index being deleted has been instantiated, |
| mark it as deleted. |
| (WebCore::IDBObjectStore::openCursor): |
| (WebCore::IDBObjectStore::count): |
| * Modules/indexeddb/IDBObjectStore.h: Add flag to track deleted state, method to mark it. |
| (WebCore::IDBObjectStore::markDeleted): |
| (IDBObjectStore): |
| * Modules/indexeddb/IDBTransaction.cpp: |
| (WebCore::IDBTransaction::objectStore): |
| (WebCore::IDBTransaction::objectStoreDeleted): If the store being deleted has been instantiated, |
| mark it as deleted. |
| |
| 2012-06-15 James Robinson <jamesr@chromium.org> |
| |
| [chromium] Fix LayoutTests/platform/chromium/compositing/accelerated-drawing/svg-filters.html |
| https://bugs.webkit.org/show_bug.cgi?id=89126 |
| |
| Reviewed by Stephen White. |
| |
| When drawing an image buffer into a deferred device context, we have to make a deep copy of the source (Skia |
| can't for some reason). Stephen White fixed this in r101325 by adding a bit on PlatformContextSkia indicating if |
| a given context is deferred, but I broke this again in r120346 by refactoring the SkCanvas creation to happen in |
| a different location from the PlatformContextSkia construction. |
| |
| This moves the check into ImageBufferSkia and directly queries the state of the destination SkDevice to be more |
| robust and work without needing special PlatformContextSkia setup. |
| |
| Covered by LayoutTests/platform/chromium/compositing/accelerated-drawing/svg-filters.html |
| |
| * platform/graphics/skia/ImageBufferSkia.cpp: |
| (WebCore::drawNeedsCopy): |
| * platform/graphics/skia/PlatformContextSkia.cpp: |
| (WebCore::PlatformContextSkia::PlatformContextSkia): |
| * platform/graphics/skia/PlatformContextSkia.h: |
| (PlatformContextSkia): |
| |
| 2012-06-15 Ami Fischman <fischman@chromium.org> |
| |
| [chromium] Compositor should be aware of |flipped| status of video textures per-platform |
| https://bugs.webkit.org/show_bug.cgi?id=89189 |
| |
| Reviewed by James Robinson. |
| |
| No new tests (sadly HW video decode is still only being tested manually for orientation). |
| |
| * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp: |
| (WebCore::CCVideoLayerImpl::appendQuads): |
| |
| 2012-06-14 Ryosuke Niwa <rniwa@webkit.org> |
| |
| The initial value of text-align should be start instead of -webkit-auto |
| https://bugs.webkit.org/show_bug.cgi?id=79914 |
| |
| Reviewed by Tony Chang. |
| |
| Change the initial value of text-align CSS property from -webkit-auto to start as specified in |
| http://www.w3.org/TR/css3-text/#text-align |
| |
| In editing, we have to coerce start and end to left and right for now because match-parent, |
| which is the text-align value of li in UA stylesheet is going to result in the computed values of |
| left as supposed to start by default, and this causes editing code not being able to remove |
| text-align: left when computing typing styles and preserving styles. |
| |
| In the long term, we should detect this specific case and ignore match-parent but that seemed like |
| too much work to be done in a single patch also because the test result improved because of this change. |
| |
| This behavior change is covered by existing regression tests. |
| |
| * accessibility/gtk/WebKitAccessibleInterfaceText.cpp: |
| (WebCore::getAttributeSetForAccessibilityObject): |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::parseValue): |
| * css/CSSPrimitiveValueMappings.h: |
| (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): No longer supports TAAUTO since it's identical to TASTART. |
| (WebCore::CSSPrimitiveValue::operator ETextAlign): Ditto. Parse -webkit-auto as start. |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::collectMatchingRulesForList): Replace TAAUTO by TASTART. |
| * editing/EditingStyle.cpp: |
| (WebCore): |
| (WebCore::textAlignResolvingStartAndEnd): Coerce start and end into left and right based on the directionality |
| for editing. Otherwise, we end up adding lots of text-align: left due to li's UA style rule having match-parent |
| as the text alignment and its descendent inherits this style. We need to handle it better in the future |
| since start and left or end and right are semantically different. |
| (WebCore::EditingStyle::prepareToApplyAt): |
| (WebCore::getPropertiesNotIn): |
| * rendering/RenderBlockLineLayout.cpp: |
| (WebCore::RenderBlock::textAlignmentForLine): Justified text is aligned at start by default. |
| (WebCore::RenderBlock::updateLogicalWidthForAlignment): |
| (WebCore::RenderBlock::startAlignedOffsetForLine): |
| * rendering/RenderBoxModelObject.cpp: |
| (WebCore::RenderBoxModelObject::localCaretRectForEmptyElement): |
| * rendering/RenderListBox.cpp: |
| (WebCore::itemOffsetForAlignment): |
| * rendering/RenderMarquee.cpp: |
| (WebCore::RenderMarquee::updateMarqueeStyle): |
| * rendering/RenderRubyText.cpp: |
| (WebCore::RenderRubyText::textAlignmentForLine): |
| (WebCore::RenderRubyText::adjustInlineDirectionLineBounds): |
| * rendering/RenderText.cpp: |
| (WebCore::RenderText::localCaretRect): |
| * rendering/style/RenderStyle.h: |
| * rendering/style/RenderStyleConstants.h: |
| |
| 2012-06-15 Jian Li <jianli@chromium.org> |
| |
| [File API] FileReader should work in sandbox iframe |
| https://bugs.webkit.org/show_bug.cgi?id=89242 |
| |
| Reviewed by Adam Barth. |
| |
| Test: fast/files/file-reader-sandbox-iframe.html |
| |
| * fileapi/ThreadableBlobRegistry.cpp: Should remove from map for all threads. |
| (WebCore::ThreadableBlobRegistry::unregisterBlobURL): |
| * page/SecurityOrigin.cpp: |
| (WebCore::SecurityOrigin::canRequest): Check and use cached origin for blob URL first. |
| |
| 2012-06-15 David Barton <dbarton@mathscribe.com> |
| |
| Inherit style changes in MathML anonymous renderers |
| https://bugs.webkit.org/show_bug.cgi?id=88476 |
| |
| Reviewed by Julien Chaffraix. |
| |
| A RenderObject that is not the main renderer() for a DOM node is called "anonymous". |
| Standard WebCore practice is to mark such a renderer as isAnonymous(). For example, |
| RenderBlock::styleDidChange calls propagateStyleToAnonymousChildren to flow style |
| changes to such children, by re-initializing their styles and then inheriting from |
| this->style(). A derived class' styleDidChange() can then set non-default style |
| properties as needed. |
| |
| This patch implements this standard practice for RenderMathMLBlock classes, except |
| RenderMathMLOperator which currently uses a RenderLayer, which reportedly means it |
| should not be isAnonymous(). We also follow common practice and change |
| isAnonymousBlock() to return false for RenderMathMLBlock classes, since |
| isAnonymousBlock() is really used by RenderBlock to detect its own anonymous blocks for |
| wrapping inline children, which RenderBlock then combines or deletes assuming this. |
| |
| Test: mathml/presentation/style-changed.html, also added to mathml/presentation/over.xhtml |
| |
| * rendering/RenderObject.h: |
| (WebCore::RenderObject::isAnonymousBlock): |
| * rendering/RenderTreeAsText.cpp: |
| (WebCore::RenderTreeAsText::writeRenderObject): |
| * rendering/mathml/RenderMathMLBlock.cpp: |
| (WebCore::RenderMathMLBlock::createAnonymousMathMLBlock): |
| (WebCore::RenderMathMLBlock::renderName): |
| * rendering/mathml/RenderMathMLBlock.h: |
| * rendering/mathml/RenderMathMLFenced.cpp: |
| (WebCore::RenderMathMLFenced::createMathMLOperator): |
| (WebCore::RenderMathMLFenced::makeFences): |
| (WebCore::RenderMathMLFenced::addChild): |
| (WebCore::RenderMathMLFenced::styleDidChange): |
| * rendering/mathml/RenderMathMLFenced.h: |
| * rendering/mathml/RenderMathMLFraction.cpp: |
| (WebCore::RenderMathMLFraction::RenderMathMLFraction): |
| (WebCore::RenderMathMLFraction::fixChildStyle): |
| (WebCore::RenderMathMLFraction::addChild): |
| (WebCore::RenderMathMLFraction::styleDidChange): |
| * rendering/mathml/RenderMathMLFraction.h: |
| * rendering/mathml/RenderMathMLOperator.cpp: |
| (WebCore::RenderMathMLOperator::styleDidChange): |
| * rendering/mathml/RenderMathMLOperator.h: |
| * rendering/mathml/RenderMathMLSquareRoot.h: |
| * rendering/mathml/RenderMathMLSubSup.cpp: |
| (WebCore::RenderMathMLSubSup::fixScriptsStyle): |
| (WebCore::RenderMathMLSubSup::addChild): |
| (WebCore::RenderMathMLSubSup::styleDidChange): |
| * rendering/mathml/RenderMathMLSubSup.h: |
| * rendering/mathml/RenderMathMLUnderOver.cpp: |
| (WebCore::RenderMathMLUnderOver::addChild): |
| (WebCore::RenderMathMLUnderOver::styleDidChange): |
| * rendering/mathml/RenderMathMLUnderOver.h: |
| |
| 2012-06-13 Vincent Scheib <scheib@chromium.org> |
| |
| Add new Pointer Lock spec webkitRequestPointerLock and webkitExitPointerLock methods. |
| https://bugs.webkit.org/show_bug.cgi?id=88891 |
| |
| Reviewed by Dimitri Glazkov. |
| |
| Part of a series of refactoring changes to update pointer lock API to |
| the fullscreen locking style. https://bugs.webkit.org/show_bug.cgi?id=84402 |
| |
| Entering and exiting mouse lock is provided in the new webkitRequestPointerLock and |
| webkitExitPointerLock methods. |
| |
| Existing pointer-lock tests updated to use the new methods. |
| |
| * dom/Document.cpp: |
| (WebCore::Document::webkitExitPointerLock): |
| (WebCore): |
| * dom/Document.h: |
| (Document): |
| * dom/Document.idl: |
| * dom/Element.cpp: |
| (WebCore): |
| (WebCore::Element::webkitRequestPointerLock): |
| * dom/Element.h: |
| * dom/Element.idl: |
| |
| 2012-06-15 Tony Payne <tpayne@chromium.org> |
| |
| [chromium] Add iccjpeg and qcms to chromium port |
| https://bugs.webkit.org/show_bug.cgi?id=81974 |
| |
| Reviewed by Adam Barth. |
| |
| Covered by existing layout tests which will be rebaselined. |
| |
| * WebCore.gyp/WebCore.gyp: Add qcms to the build. |
| * platform/image-decoders/ImageDecoder.h: |
| (WebCore::ImageDecoder::qcmsOutputDeviceProfile): Return an sRGB profile. |
| On OSX, return the default RGB profile. Add FIXME to use the user's |
| monitor profile and verify that profile for other platforms. |
| |
| * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: |
| (turboSwizzled): For libjpeg-turbo, JCS_EXT_BGRA and JCS_EXT_RGBA are the |
| two known output color spaces for which the decoder uses a data swizzle. |
| (colorSpaceHasAlpha): JPEG's have no alpha in the output color space. For |
| libjpeg-turbo, alpha may be present in the swizzled output color space. |
| |
| (WebCore::JPEGImageReader::JPEGImageReader): |
| (WebCore::JPEGImageReader::close): |
| (WebCore::JPEGImageReader::decode): For QCMSLIB, create the color transform |
| to use during decoding, and ensure we switch to inputing RGBA data to qcms |
| even if the desired output data is BGRA: outputScanlines() sends BGRA data |
| to the frame buffer following color correction if needed. |
| (JPEGImageReader): |
| (WebCore::JPEGImageReader::colorTransform): qcms color transform getter. |
| (WebCore::JPEGImageReader::createColorTransform): Create color transform. |
| Release the existing transform (if any) and assign to the color transform |
| created from the color profile data. |
| (WebCore::JPEGImageDecoder::outputScanlines): Minor style fix. Apply color |
| transform to each decoded image row. |
| |
| * platform/image-decoders/png/PNGImageDecoder.cpp: |
| (WebCore::PNGImageReader::PNGImageReader): |
| (WebCore::PNGImageReader::close): |
| (WebCore::PNGImageReader::currentBufferSize): Move this adjacent to other |
| setters and getters. |
| (WebCore::PNGImageReader::decodingSizeOnly): Ditto. |
| (WebCore::PNGImageReader::setHasAlpha): Ditto. |
| (WebCore::PNGImageReader::hasAlpha): Ditto. |
| (WebCore::PNGImageReader::interlaceBuffer): Ditto. |
| (WebCore::PNGImageReader::createRowBuffer): Creates a temporary row buffer, |
| used when a color transform is applied to the decoded image pixels. |
| (WebCore::PNGImageReader::rowBuffer): Return the temporary row buffer. |
| (WebCore::PNGImageReader::colorTransform): qcms color transform getter. |
| (WebCore::PNGImageReader::createColorTransform): Create color transform. |
| Release the existing transform (if any) and assign to the color transform |
| created from the color profile data. |
| (WebCore::PNGImageDecoder::headerAvailable): For QCMSLIB, create the color |
| transform to use for decoding. Clear m_colorProfile (not used anymore). |
| (WebCore::PNGImageDecoder::rowAvailable): Create temporary row buffer if |
| a color transform is needed for decoding. Apply color transform to each |
| decoded image row. |
| |
| * platform/image-decoders/skia/ImageDecoderSkia.cpp: |
| (WebCore::ImageFrame::setColorProfile): Old method of colorProfiles is no |
| longer used. Add a FIXME to remove the old implementation. |
| (WebCore::ImageFrame::setStatus): Remove old color correction code. |
| |
| 2012-06-15 Silvia Pfeiffer <silviapf@chromium.org> |
| |
| Remove volume thumb for videos without audio track. |
| https://bugs.webkit.org/show_bug.cgi?id=89093 |
| |
| Reviewed by Eric Carlson. |
| |
| No new tests, since this was already tested in media/video-no-audio.html. |
| |
| * rendering/RenderMediaControlsChromium.cpp: |
| (WebCore::paintMediaMuteButton): |
| Change mute button when there is no audio or no source file. |
| (WebCore::paintMediaVolumeSlider): |
| Set volume slider to 0 when there is no audio or no source file. |
| (WebCore::paintMediaVolumeSliderThumb): |
| Don't paint the volume slider thumb when there is no audio or no source file. |
| |
| 2012-06-15 Abhishek Arya <inferno@chromium.org> |
| |
| Cleanup empty anonymous block continuation. |
| https://bugs.webkit.org/show_bug.cgi?id=74976 |
| |
| Reviewed by Julien Chaffraix. |
| |
| Fix rendering on http://docs.google.com/demo. |
| |
| Test: fast/inline/inline-empty-block-continuation-remove.html |
| |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::removeChild): If we are removing our last child, |
| and are an anonymous block which is part of a continuation chain, then |
| we need to first fix our continuation chain by setting our previous |
| continuation renderer to point to the next continuation renderer. Then, |
| we reset our continuation pointer and destroy ourselves. Since we no |
| longer are part of continuation chain, we will be removed and previous |
| and next anonymous block will be merged automatically. |
| * rendering/RenderObject.cpp: |
| (WebCore::RenderObject::previousInPreOrder): add an argument to previousInOrder |
| - stayWithin. |
| (WebCore): |
| * rendering/RenderObject.h: |
| (RenderObject): |
| |
| 2012-06-15 Taiju Tsuiki <tzik@chromium.org> |
| |
| Web Inspector: Move FileSystem frame management from frontend to backend |
| https://bugs.webkit.org/show_bug.cgi?id=89190 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| Test: http/tests/inspector/filesystem/read-directory.html |
| |
| * inspector/Inspector.json: |
| * inspector/InspectorFileSystemAgent.cpp: |
| (WebCore::InspectorFileSystemAgent::readDirectory): |
| (WebCore::InspectorFileSystemAgent::InspectorFileSystemAgent): |
| (WebCore::InspectorFileSystemAgent::scriptExecutionContextForOrigin): |
| (WebCore): |
| * inspector/InspectorFileSystemAgent.h: |
| (WebCore): |
| (InspectorFileSystemAgent): |
| |
| 2012-06-15 Alexander Pavlov <apavlov@chromium.org> |
| |
| Unreviewed, build fix after r120469. |
| |
| * css/CSSPropertySourceData.h: |
| (WebCore): |
| |
| 2012-06-15 Taiju Tsuiki <tzik@chromium.org> |
| |
| Web Inspector: Add FileSystemRequestManager and FileSystemDispatcher |
| https://bugs.webkit.org/show_bug.cgi?id=89191 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| * inspector/front-end/FileSystemModel.js: |
| (WebInspector.FileSystemModel): |
| (WebInspector.FileSystemRequestManager): |
| (WebInspector.FileSystemRequestManager.prototoype._requestId): |
| (WebInspector.FileSystemRequestManager.prototoype.readDirectory): |
| (WebInspector.FileSystemRequestManager.prototoype._didReadDirectory): |
| (WebInspector.FileSystemDispatcher): |
| (WebInspector.FileSystemDispatcher.prototype.gotFileSystemRoot): |
| (WebInspector.FileSystemDispatcher.prototype.didReadDirectory): |
| |
| 2012-06-15 Pavel Feldman <pfeldman@chromium.org> |
| |
| Web Inspector: extension's Resource.getContent always returns original revision. |
| https://bugs.webkit.org/show_bug.cgi?id=89219 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| Fetching proper content from the UISourceCode now. |
| |
| * inspector/front-end/DebuggerResourceBinding.js: |
| (WebInspector.DebuggerResourceBinding.prototype.canSetContent): |
| (WebInspector.DebuggerResourceBinding.prototype.setContent): |
| * inspector/front-end/DebuggerScriptMapping.js: |
| (WebInspector.DebuggerScriptMapping.prototype._debuggerReset): |
| * inspector/front-end/ExtensionServer.js: |
| (WebInspector.ExtensionServer.prototype._onGetResourceContent): |
| * inspector/front-end/JavaScriptSource.js: |
| (WebInspector.JavaScriptSource): |
| * inspector/front-end/Resource.js: |
| (WebInspector.Resource.prototype.isHidden): |
| (WebInspector.Resource.prototype.uiSourceCode): |
| (WebInspector.Resource.prototype.setUISourceCode): |
| * inspector/front-end/UISourceCode.js: |
| (WebInspector.UISourceCode): |
| |
| 2012-06-15 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: CRASH when DebuggerAgent.setBreakpoint was called twice for the same location. |
| https://bugs.webkit.org/show_bug.cgi?id=89225 |
| |
| Reviewed by Pavel Feldman. |
| |
| * inspector/InspectorDebuggerAgent.cpp: |
| (WebCore::InspectorDebuggerAgent::setBreakpoint): |
| |
| 2012-06-08 Alexander Pavlov <apavlov@chromium.org> |
| |
| Web Inspector: CSSParser::parseSheet() should provide ready-to-use source data |
| https://bugs.webkit.org/show_bug.cgi?id=88646 |
| |
| Reviewed by Antti Koivisto. |
| |
| This change moves the post-processing step from InspectorStyleSheet into CSSParser, so that |
| CSSParser::parseSheet() will return a ready-to-use list with style rule source code data. |
| Also, universal data structures are introduced, which allow for the full rule source data tree building. |
| |
| No new tests, as this is a refactoring. |
| |
| * css/CSSParser.cpp: Use universal data structures, which can be used for building the full rule tree. |
| (WebCore::CSSParser::CSSParser): |
| (WebCore::CSSParser::setupParser): |
| (WebCore::CSSParser::parseSheet): Return ready-to-use source code data entries rather than an intermediate structure. |
| (WebCore::CSSParser::parseDeclaration): |
| (WebCore::CSSParser::addNewRuleToSourceTree): |
| (WebCore): |
| (WebCore::CSSParser::popRuleData): |
| (WebCore::CSSParser::createStyleRule): |
| (WebCore::CSSParser::fixUnparsedPropertyRanges): Moved in from InspectorStyleSheet. |
| (WebCore::CSSParser::markSelectorListStart): |
| (WebCore::CSSParser::markSelectorListEnd): |
| (WebCore::CSSParser::markRuleBodyStart): |
| (WebCore::CSSParser::markRuleBodyEnd): |
| (WebCore::CSSParser::markPropertyEnd): |
| * css/CSSParser.h: |
| (CSSParser): |
| (WebCore::CSSParser::resetPropertyRange): Renamed. |
| (WebCore::CSSParser::isExtractingSourceData): A convenience check. |
| * css/CSSPropertySourceData.h: Introduce the RuleSourceDataList typedef. |
| (WebCore): |
| * inspector/InspectorStyleSheet.cpp: Make use of RuleSourceDataList and follow the CSSParser::parse*() API changes. |
| (ParsedStyleSheet::sourceData): |
| (ParsedStyleSheet): |
| (ParsedStyleSheet::setSourceData): |
| (WebCore::InspectorStyleSheet::ensureSourceData): Remove source data postprocessing, follow the new parseSheet() API. |
| * inspector/InspectorStyleSheet.h: |
| (WebCore::InspectorCSSId::InspectorCSSId): Drive-by: uninitialized field fix. |
| (WebCore::InspectorStyleProperty::InspectorStyleProperty): Ditto. |
| (InspectorStyleSheet): |
| |
| 2012-06-15 Pavel Feldman <pfeldman@chromium.org> |
| |
| Web Inspector: Long frame urls make all/errors/warnings/logs buttons inaccessible. |
| https://bugs.webkit.org/show_bug.cgi?id=88907 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| * inspector/front-end/inspector.css: |
| (#console-context): |
| |
| 2012-06-15 Florin Malita <fmalita@chromium.org> |
| |
| Specular light filters produce dark results |
| https://bugs.webkit.org/show_bug.cgi?id=89116 |
| |
| Reviewed by Dirk Schulze. |
| |
| Tests: svg/filters/feSpecularLight-premultiplied-expected.svg |
| svg/filters/feSpecularLight-premultiplied.svg |
| |
| Per spec (http://www.w3.org/TR/SVG/filters.html#feSpecularLightingElement), |
| light filters should operate on pre-multiplied RGBA. Currently, the results |
| are stored in the unmultiplied buffer but the alpha channel is calculated |
| for premultiplied values (which causes a darkening of the result upon the |
| subsequent unmultiplied->premultiplied conversion). This patch updates |
| FELighting to generate premultiplied results. |
| |
| * platform/graphics/filters/FELighting.cpp: |
| (WebCore::FELighting::platformApplySoftware): |
| |
| 2012-06-15 Andrey Kosyakov <caseq@chromium.org> |
| |
| Web Inspector: incorrect filtering of async timeline events |
| https://bugs.webkit.org/show_bug.cgi?id=89214 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| * inspector/front-end/TimelineOverviewPane.js: |
| (WebInspector.TimelineOverviewPane.prototype.accept): |
| |
| 2012-06-15 Stephen Chenney <schenney@chromium.org> |
| |
| SVG Composite of Offset filters incorrectly clips |
| https://bugs.webkit.org/show_bug.cgi?id=77660 |
| |
| Reviewed by Dirk Schulze. |
| |
| Prior to this patch, when a group of filtered objects was used as input to another filter, |
| the filter only operated on the stroke boundary of the group, and hence excluded the results |
| of filtering elements within the group, or extraneously included regions clipped from the |
| elements in the group. |
| |
| This patch modifies the strokeBoundingBox of SVG container elements to |
| be the union of the repaint rects for the children. This modifes the |
| results returned for sizing filters and for absoluteRects, which will cause |
| inline layout around the group to factor in the resources applied to |
| the group's children. |
| |
| The relevant spec entry is this, in Section 3.7 of the SVG 1.1 spec: "...the result must be |
| as though the paint operations had been applied to an intermediate canvas initialized to |
| transparent black, of a size determined by the rules given in Filter Effects then filtered |
| by the processes defined in Filter Effects." In this case the "paint operations" is implied |
| to include the result of applying "paint" but no resources to the group, which in turn would |
| have resources applied to the children of the group. This makes the most sense, as the current, |
| incorrect behavior makes it extremely diffucult to understand the actions of filters on |
| groups of filtered content. |
| |
| Tests: svg/filters/container-with-filters-expected.svg |
| svg/filters/container-with-filters.svg |
| |
| * rendering/svg/RenderSVGContainer.cpp: |
| (WebCore::RenderSVGContainer::updateCachedBoundaries): |
| * rendering/svg/RenderSVGRoot.cpp: |
| (WebCore::RenderSVGRoot::updateCachedBoundaries): |
| * rendering/svg/SVGRenderSupport.cpp: |
| (WebCore::SVGRenderSupport::computeContainerBoundingBoxes): |
| |
| 2012-06-15 David Kilzer <ddkilzer@apple.com> |
| |
| Sort ENABLE(INSPECTOR) section of WebCore.exp.in |
| |
| * WebCore.exp.in: Sort ENABLE(INSPECTOR) symbols. |
| |
| 2012-06-15 David Kilzer <ddkilzer@apple.com> |
| |
| Remove duplicate symbol from WebCore.exp.in |
| |
| * WebCore.exp.in: Remove duplicate symbol for: |
| WebCore::Range::textQuads(WTF::Vector<WebCore::FloatQuad, 0ul>&, bool, WebCore::Range::RangeInFixedPosition*) const |
| |
| 2012-06-15 Florin Malita <fmalita@chromium.org> |
| |
| [Chromium] Unreviewed debug build fix for r120457 |
| |
| * platform/graphics/chromium/cc/CCDrawQuad.cpp: |
| (WebCore::CCDrawQuad::toYUVVideoDrawQuad): |
| |
| 2012-06-15 'Pavel Feldman' <pfeldman@chromium.org> |
| |
| Not reviewed: remove redundant Mac-specific style rule from inspector front-end. |
| |
| * inspector/front-end/helpScreen.css: |
| |
| 2012-06-15 Pavel Feldman <pfeldman@chromium.org> |
| |
| Web Inspector: fix help close button appearance on Mac |
| https://bugs.webkit.org/show_bug.cgi?id=89208 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| * inspector/front-end/helpScreen.css: |
| (.help-close-button): |
| (body.platform-mac .help-close-button): |
| (body.platform-mac .help-window-main .tabbed-pane-header-contents): |
| |
| 2012-06-11 Dana Jansens <danakj@chromium.org> |
| |
| [chromium] Create a CCYUVVideoDrawQuad and remove the now-unused generic CCVideoDrawQuad |
| https://bugs.webkit.org/show_bug.cgi?id=88828 |
| |
| Reviewed by Adrienne Walker. |
| |
| The CCVideoDrawQuad is now only used for YUV video, so we remove the |
| class and replace it with CCYUVVideoDrawQuad. This class holds what is |
| needed to draw a YUV video frame. |
| |
| No new tests, no change in behaviour. |
| |
| * WebCore.gypi: |
| * platform/graphics/chromium/LayerRendererChromium.cpp: |
| (WebCore::LayerRendererChromium::drawQuad): |
| (WebCore::LayerRendererChromium::drawYUVVideoQuad): |
| * platform/graphics/chromium/LayerRendererChromium.h: |
| (WebCore): |
| (LayerRendererChromium): |
| * platform/graphics/chromium/cc/CCDrawQuad.cpp: |
| (WebCore::CCDrawQuad::toYUVVideoDrawQuad): |
| * platform/graphics/chromium/cc/CCDrawQuad.h: |
| (WebCore): |
| (CCDrawQuad): |
| * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp: |
| (WebCore::CCVideoLayerImpl::appendQuads): |
| * platform/graphics/chromium/cc/CCYUVVideoDrawQuad.cpp: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCVideoDrawQuad.cpp. |
| (WebCore): |
| (WebCore::CCYUVVideoDrawQuad::create): |
| (WebCore::CCYUVVideoDrawQuad::CCYUVVideoDrawQuad): |
| * platform/graphics/chromium/cc/CCYUVVideoDrawQuad.h: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCVideoDrawQuad.h. |
| (WebCore): |
| (CCYUVVideoDrawQuad): |
| (WebCore::CCYUVVideoDrawQuad::yPlane): |
| (WebCore::CCYUVVideoDrawQuad::uPlane): |
| (WebCore::CCYUVVideoDrawQuad::vPlane): |
| |
| 2012-06-15 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: CRASH: getProfile is crashing for unknown profiles. |
| https://bugs.webkit.org/show_bug.cgi?id=89202 |
| |
| agents' functions have to set a value to errorString if it can't assign values to the mandatory out arguments. |
| |
| Reviewed by Pavel Feldman. |
| |
| Test: inspector/profiler/heap-snapshot-get-profile-crash.html |
| |
| * inspector/InspectorProfilerAgent.cpp: |
| (WebCore::InspectorProfilerAgent::getProfile): |
| |
| 2012-06-15 Max Feil <mfeil@rim.com> |
| |
| [BlackBerry] media volume slider in wrong position (master_38 regression) |
| https://bugs.webkit.org/show_bug.cgi?id=89165 |
| |
| Reviewed by Antonio Gomes. |
| |
| Due to upstream simplification of the volume slider (webkit.org |
| bug 82150) it now appears in the wrong location below the |
| media controls. The programmatic controls sizing we do in |
| RenderThemeBlackBerry.cpp relies on absolute positioning of the |
| volume slider container, so the best way to fix this is to set |
| the bottom offset. |
| |
| No new tests since this is a regression fix. BlackBerry media |
| controls are manually tested. |
| |
| * platform/blackberry/RenderThemeBlackBerry.cpp: |
| (WebCore::RenderThemeBlackBerry::adjustMediaControlStyle): |
| |
| 2012-06-15 'Pavel Feldman' <pfeldman@chromium.org> |
| |
| Not reviewed: remove garbage line from inspector view in docked-to-right mode. |
| |
| * inspector/front-end/inspectorCommon.css: |
| (body.docked.dock-to-right.docked): |
| (body.docked.dock-to-right.inactive): |
| |
| 2012-06-15 Zoltan Arvai <zarvai@inf.u-szeged.hu> |
| |
| Buildfix for !ENABLE(BLOB) platforms after r120433. |
| https://bugs.webkit.org/show_bug.cgi?id=78648 |
| |
| Reviewed by Csaba Osztrogonác. |
| |
| * fileapi/ThreadableBlobRegistry.cpp: |
| (WebCore::ThreadableBlobRegistry::registerBlobURL): |
| |
| 2012-06-15 Sami Kyostila <skyostil@chromium.org> |
| |
| [chromium] Allow scrolling non-root layers in the compositor thread |
| https://bugs.webkit.org/show_bug.cgi?id=73350 |
| |
| Reviewed by James Robinson. |
| |
| This patch enables scrolling child layers in the compositor thread. |
| Scroll deltas are accumulated for each scrolled CCLayerImpl and |
| synchronized to the main thread. |
| |
| If a layer has no room to scroll in a given direction, one of its |
| ancestor layers is scrolled instead if possible. |
| |
| Layer hit testing code by Shawn Singh. |
| |
| Added new unit tests to verify layer scrolling behavior: |
| |
| CCLayerTreeHostCommonTest.verifySubtreeSearch |
| CCLayerTreeHostImplTest.clearRootRenderSurfaceAndScroll |
| CCLayerTreeHostImplTest.inhibitScrollAndPageScaleUpdatesWhileAnimatingPageScale |
| CCLayerTreeHostImplTest.inhibitScrollAndPageScaleUpdatesWhilePinchZooming |
| CCLayerTreeHostImplTest.replaceTreeWhileScrolling |
| CCLayerTreeHostImplTest.scrollBeforeRedraw |
| CCLayerTreeHostImplTest.scrollBlockedByContentLayer |
| CCLayerTreeHostImplTest.scrollChildAndChangePageScaleOnMainThread |
| CCLayerTreeHostImplTest.scrollChildBeyondLimit |
| CCLayerTreeHostImplTest.scrollChildCallsCommitAndRedraw |
| CCLayerTreeHostImplTest.scrollEventBubbling |
| CCLayerTreeHostImplTest.scrollMissesBackfacingChild |
| CCLayerTreeHostImplTest.scrollMissesChild |
| CCLayerTreeHostImplTest.scrollNonCompositedRoot |
| CCLayerTreeHostImplTest.scrollRootAndChangePageScaleOnImplThread |
| CCLayerTreeHostImplTest.scrollRootAndChangePageScaleOnMainThread |
| CCLayerTreeHostImplTest.scrollRootIgnored |
| CCLayerTreeHostImplTest.scrollWithoutRootLayer |
| CCLayerTreeHostTestScrollChildLayer |
| WebCompositorInputHandlerImplTest.gestureScrollOnMainThread |
| |
| * platform/graphics/chromium/LayerChromium.cpp: |
| (WebCore::LayerChromium::LayerChromium): |
| (WebCore::LayerChromium::setMaxScrollPosition): |
| (WebCore): |
| (WebCore::LayerChromium::scrollBy): |
| (WebCore::LayerChromium::pushPropertiesTo): |
| * platform/graphics/chromium/LayerChromium.h: |
| (WebCore): |
| (LayerChromiumScrollDelegate): |
| (WebCore::LayerChromiumScrollDelegate::~LayerChromiumScrollDelegate): |
| (LayerChromium): |
| (WebCore::LayerChromium::maxScrollPosition): |
| (WebCore::LayerChromium::scrollable): |
| (WebCore::LayerChromium::setLayerScrollDelegate): |
| * platform/graphics/chromium/cc/CCInputHandler.h: |
| * platform/graphics/chromium/cc/CCLayerImpl.cpp: |
| (WebCore::CCLayerImpl::tryScroll): |
| (WebCore): |
| (WebCore::sortLayers): |
| * platform/graphics/chromium/cc/CCLayerImpl.h: |
| (CCLayerImpl): |
| * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: |
| (WebCore::CCLayerTreeHost::finishCommitOnImplThread): |
| (WebCore::findFirstScrollableLayer): |
| (WebCore): |
| (WebCore::CCLayerTreeHost::applyScrollAndScale): |
| * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h: |
| (CCLayerTreeHostCommon): |
| (WebCore): |
| (WebCore::CCLayerTreeHostCommon::findLayerInSubtree): |
| * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: |
| (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl): |
| (WebCore::CCLayerTreeHostImpl::~CCLayerTreeHostImpl): |
| (WebCore::CCLayerTreeHostImpl::startPageScaleAnimation): |
| (WebCore::CCLayerTreeHostImpl::calculateRenderSurfaceLayerList): |
| (WebCore::CCLayerTreeHostImpl::calculateRenderPasses): |
| (WebCore::CCLayerTreeHostImpl::contentSize): |
| (WebCore::CCLayerTreeHostImpl::prepareToDraw): |
| (WebCore::CCLayerTreeHostImpl::drawLayers): |
| (WebCore::findRootScrollLayer): |
| (WebCore): |
| (WebCore::findScrollLayerForContentLayer): |
| (WebCore::CCLayerTreeHostImpl::setRootLayer): |
| (WebCore::CCLayerTreeHostImpl::detachLayerTree): |
| (WebCore::adjustScrollsForPageScaleChange): |
| (WebCore::applyPageScaleDeltaToScrollLayers): |
| (WebCore::CCLayerTreeHostImpl::setPageScaleFactorAndLimits): |
| (WebCore::CCLayerTreeHostImpl::setPageScaleDelta): |
| (WebCore::CCLayerTreeHostImpl::updateMaxScrollPosition): |
| (WebCore::CCLayerTreeHostImpl::ensureRenderSurfaceLayerList): |
| (WebCore::CCLayerTreeHostImpl::clearCurrentlyScrollingLayer): |
| (WebCore::CCLayerTreeHostImpl::scrollBegin): |
| (WebCore::CCLayerTreeHostImpl::scrollBy): |
| (WebCore::CCLayerTreeHostImpl::scrollEnd): |
| (WebCore::CCLayerTreeHostImpl::pinchGestureUpdate): |
| (WebCore::CCLayerTreeHostImpl::computePinchZoomDeltas): |
| (WebCore::CCLayerTreeHostImpl::makeScrollAndScaleSet): |
| (WebCore::collectScrollDeltas): |
| (WebCore::CCLayerTreeHostImpl::processScrollDeltas): |
| (WebCore::CCLayerTreeHostImpl::animatePageScale): |
| (WebCore::CCLayerTreeHostImpl::animateLayers): |
| (WebCore::CCLayerTreeHostImpl::clearRenderSurfaces): |
| * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: |
| (FrameData): |
| (CCLayerTreeHostImpl): |
| (WebCore::CCLayerTreeHostImpl::rootScrollLayer): |
| |
| 2012-06-15 Jian Li <jianli@chromium.org> |
| |
| FileReader is dysfunctional in documents with "null" origin string |
| https://bugs.webkit.org/show_bug.cgi?id=78648 |
| |
| Reviewed by Adam Barth. |
| |
| The fix is to keep in-memory map from blob URL to SecurityOrigin for the |
| unique origin case. |
| |
| Test: fast/files/file-reader-file-url.html |
| |
| * fileapi/Blob.cpp: |
| (WebCore::Blob::Blob): |
| * fileapi/BlobURL.cpp: |
| (WebCore::BlobURL::getOrigin): Return the origin string embeded in the blob URL. |
| (WebCore): |
| (WebCore::BlobURL::createBlobURL): Remove the check for null origin string since it is handled now. |
| * fileapi/BlobURL.h: |
| (BlobURL): |
| * fileapi/FileReaderLoader.cpp: |
| (WebCore::FileReaderLoader::start): |
| * fileapi/ThreadableBlobRegistry.cpp: |
| (WebCore): |
| (WebCore::originMap): Thread-specific in-memory map from the blob URL to the origin. |
| (WebCore::ThreadableBlobRegistry::registerBlobURL): Add the map from the blob URL to the origin. |
| (WebCore::ThreadableBlobRegistry::unregisterBlobURL): Remove the map for the unregistered blob URL. |
| (WebCore::ThreadableBlobRegistry::getCachedOrigin): Retrieve the origin associated with the blob URL. |
| * fileapi/ThreadableBlobRegistry.h: |
| (WebCore): |
| (ThreadableBlobRegistry): |
| * html/DOMURL.cpp: |
| (WebCore::DOMURL::createObjectURL): |
| * page/SecurityOrigin.cpp: |
| (WebCore::getCachedOrigin): Return the cached origin for the blob URL if it exists. |
| (WebCore): |
| (WebCore::SecurityOrigin::create): Call getCachedOrigin to get the cached origin first. |
| |
| 2012-06-15 Yoshifumi Inoue <yosin@chromium.org> |
| |
| [Forms] Move search field related code to RenderSearchField from RenderTextControlSingleLine |
| https://bugs.webkit.org/show_bug.cgi?id=88980 |
| |
| Reviewed by Kent Tamura. |
| |
| This patch moves search field related methods in RenderTextControlSingleLine |
| to new class RenderSearchField and changes related classes to use |
| RenderSearchField. |
| |
| No new tests. This patch doesn't change behavior. |
| |
| * CMakeLists.txt: Added new file RenderSearchField.cpp |
| * GNUmakefile.list.am: Added new file RenderSearchField.cpp and RenderSearchField.h |
| * Target.pri: ditto |
| * WebCore.gypi: ditto |
| * WebCore.vcproj/WebCore.vcproj: ditto |
| * WebCore.xcodeproj/project.pbxproj: ditto |
| * html/HTMLInputElement.cpp: |
| (WebCore::HTMLInputElement::subtreeHasChanged): Call RenderSearchField::updateCancelButtonVisibility |
| (WebCore::HTMLInputElement::addSearchResult): Changed to call InputType::addSearchResult. |
| * html/InputType.cpp: |
| (WebCore::InputType::addSearchResult): Added. |
| * html/InputType.h: |
| * html/SearchInputType.cpp: |
| (WebCore::SearchInputType::addSearchResult): Moved from HTMLInputElement. |
| (WebCore::SearchInputType::createRenderer): Added to create RenderSearchField. |
| * html/SearchInputType.h: |
| * html/shadow/TextControlInnerElements.cpp: |
| (WebCore::SearchFieldResultsButtonElement::defaultEventHandler): Use RenderSearchField instead of RenderTextControlSingleLine. |
| * loader/FormSubmission.cpp: |
| (WebCore::FormSubmission::create): Got rid isSearchField() guard for addSearchResult(). |
| * rendering/RenderSearchField.cpp: |
| (WebCore::RenderSearchField::RenderSearchField): Renamed to RenderSearchField. |
| (WebCore::RenderSearchField::~RenderSearchField): ditto |
| (WebCore::RenderSearchField::resultsButtonElement): ditto |
| (WebCore::RenderSearchField::cancelButtonElement): ditto |
| (WebCore::RenderSearchField::addSearchResult): ditto |
| (WebCore::RenderSearchField::showPopup): ditto |
| (WebCore::RenderSearchField::hidePopup): ditto |
| (WebCore::RenderSearchField::computeControlHeight): Added. |
| (WebCore::RenderSearchField::updateFromElement): Moved search field related code from RenderTextControlSingleLine. |
| (WebCore::RenderSearchField::updateCancelButtonVisibility): Renamed to RenderSearchField. |
| (WebCore::RenderSearchField::visibilityForCancelButton): ditto |
| (WebCore::RenderSearchField::autosaveName): ditto |
| (WebCore::RenderSearchField::valueChanged): ditto |
| (WebCore::RenderSearchField::itemText): ditto |
| (WebCore::RenderSearchField::itemLabel): ditto |
| (WebCore::RenderSearchField::itemIcon): ditto |
| (WebCore::RenderSearchField::itemIsEnabled): ditto |
| (WebCore::RenderSearchField::itemStyle): ditto |
| (WebCore::RenderSearchField::menuStyle): ditto |
| (WebCore::RenderSearchField::clientInsetLeft): ditto |
| (WebCore::RenderSearchField::clientInsetRight): ditto |
| (WebCore::RenderSearchField::clientPaddingLeft): ditto |
| (WebCore::RenderSearchField::clientPaddingRight): ditto |
| (WebCore::RenderSearchField::listSize): ditto |
| (WebCore::RenderSearchField::selectedIndex): ditto |
| (WebCore::RenderSearchField::popupDidHide): ditto |
| (WebCore::RenderSearchField::itemIsSeparator): ditto |
| (WebCore::RenderSearchField::itemIsLabel): ditto |
| (WebCore::RenderSearchField::itemIsSelected): ditto |
| (WebCore::RenderSearchField::setTextFromItem): ditto |
| (WebCore::RenderSearchField::fontSelector): ditto |
| (WebCore::RenderSearchField::hostWindow): ditto |
| (WebCore::RenderSearchField::createScrollbar): ditto |
| (WebCore::RenderSearchField::computeHeightLimit): Added. |
| (WebCore::RenderSearchField::centerContainerIfNeeded): Added. |
| * rendering/RenderSearchField.h: |
| (WebCore::toRenderSearchField): Added. |
| * rendering/RenderTextControlSingleLine.cpp: |
| (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine): Remove search field related code. |
| (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine): ditto. |
| (WebCore::RenderTextControlSingleLine::computeHeightLimit): Added. |
| (WebCore::RenderTextControlSingleLine::layout): Use new methods for removing isSearchField. |
| (WebCore::RenderTextControlSingleLine::computeControlHeight): Added. |
| (WebCore::RenderTextControlSingleLine::updateFromElement): Remove search field related code. |
| * rendering/RenderTextControlSingleLine.h: |
| (RenderTextControlSingleLine): |
| (WebCore::RenderTextControlSingleLine::centerContainerIfNeeded): Added. |
| (WebCore::RenderTextControlSingleLine::containerElement): Exposed for RenderSearchField. |
| (WebCore::RenderTextControlSingleLine::innerBlockElement): Exposed for RenderSearchField. |
| * rendering/RenderingAllInOne.cpp: Added RenderSearchField.cpp |
| |
| 2012-06-15 Hironori Bono <hbono@chromium.org> |
| |
| Allow platforms to choose whether to remove markers on editing |
| https://bugs.webkit.org/show_bug.cgi?id=88838 |
| |
| Reviewed by Hajime Morita. |
| |
| This change allows platforms to choose whether to remove markers on a word being |
| edited. WebKit does not remove markers when we move a selection to a markered |
| word on platforms that shouldEraseMarkersAfterChangeSelection returns false. |
| On such platforms, WebKit expects to set WTF_USE_MARKER_REMOVAL_UPON_EDITING to |
| 1 so Editor::updateMarkersForWordsAffectedByEditing can remove markers. This |
| change also checks the return value of shouldEraseMarkersAfterChangeSelection so |
| platform can choose it. This change also adds grammar markers so it can also |
| remove grammar markers. |
| |
| Test: editing/spelling/grammar-edit-word.html |
| |
| * editing/Editor.cpp: |
| (WebCore::Editor::updateMarkersForWordsAffectedByEditing): |
| |
| 2012-06-15 Andrey Adaikin <aandrey@chromium.org> |
| |
| Web Inspector: [WebGL] Simple implementation of the InjectedWebGLScriptSource to support capturing WebGL calls for a frame |
| https://bugs.webkit.org/show_bug.cgi?id=89088 |
| |
| Simple experimental implementation of the InjectedWebGLScriptSource.js that allows to wrap |
| a WebGL context and capture names (for now) of the WebGL function calls for a frame being captured. |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| * inspector/InjectedWebGLScriptSource.js: |
| (.): |
| |
| 2012-06-15 Silvia Pfeiffer <silviapf@chromium.org> |
| |
| Add fullscreen button to Chrome video controls for video. |
| https://bugs.webkit.org/show_bug.cgi?id=88818 |
| |
| Reviewed by Eric Carlson. |
| |
| No new tests, final patch will contain the rebaselined tests. |
| |
| The Chrome video controls are receiving a visual update. |
| This patch includes a fullscreen button for video elements and the rendering of the controls |
| in fullscreen including hiding them after 2 seconds when the mouse is out of the controls |
| and not moved. |
| |
| * css/fullscreen.css: |
| (video:-webkit-full-screen, audio:-webkit-full-screen): |
| Add audio to the default fullscreen styling rules. |
| * css/mediaControlsChromium.css: |
| (video:-webkit-full-page-media::-webkit-media-controls-panel): |
| Align controls to the bottom of the fullscreen page. |
| (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button): |
| Include styling for the fullscreen button. |
| * html/shadow/MediaControlRootElementChromium.cpp: |
| (WebCore): |
| Add a constant for when to hide the controls in fullscreen. |
| (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium): |
| Add member fields for fullscreen button, hiding timer and tracking of whether we are in fullscreen. |
| (WebCore::MediaControlRootElementChromium::create): |
| Add fullscreen button element to the visual layout. |
| (WebCore::MediaControlRootElementChromium::setMediaController): |
| Add fullscreen button element to the media controller. |
| (WebCore::MediaControlRootElementChromium::reset): |
| Show the fullscreen button if the controller supports fullscreen. |
| (WebCore::MediaControlRootElementChromium::playbackStarted): |
| Start the timer to hide the controls in fullscreen. |
| (WebCore::MediaControlRootElementChromium::playbackStopped): |
| Don't hide the controls when the video is paused in fullscreen. |
| (WebCore::MediaControlRootElementChromium::reportedError): |
| Hide the fullscreen button when we hit an error. |
| (WebCore::MediaControlRootElementChromium::defaultEventHandler): |
| Add logic for mouse events in fullscreen to start/stop the hiding timer. |
| (WebCore::MediaControlRootElementChromium::startHideFullscreenControlsTimer): |
| Start the fullscreen hiding timer. |
| (WebCore::MediaControlRootElementChromium::hideFullscreenControlsTimerFired): |
| Timer fired: hide the video controls in fullscreen. |
| (WebCore::MediaControlRootElementChromium::stopHideFullscreenControlsTimer): |
| Reset the fullscreen hiding timer. |
| (WebCore::MediaControlRootElementChromium::enteredFullscreen): |
| Add logic to enter fullscreen. |
| (WebCore::MediaControlRootElementChromium::exitedFullscreen): |
| Add logic to exit fullscreen. |
| * html/shadow/MediaControlRootElementChromium.h: |
| (MediaControlRootElementChromium): |
| Add declaration of member functions and fields for fullscreen. |
| * rendering/RenderMediaControlsChromium.cpp: |
| (WebCore::paintMediaFullscreenButton): |
| Use the new image for the fullscreen button. |
| * rendering/RenderThemeChromiumMac.h: |
| (RenderThemeChromiumMac): |
| Declare the fullscreen painting function for Chrome Mac. |
| * rendering/RenderThemeChromiumMac.mm: |
| (WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton): |
| Hook up the fullscreen paining function for Chrome Mac. |
| * rendering/RenderThemeChromiumSkia.cpp: |
| (WebCore::RenderThemeChromiumSkia::paintMediaFullscreenButton): |
| Hook up the fullscreen paining function for Chrome Skia. |
| * rendering/RenderThemeChromiumSkia.h: |
| (RenderThemeChromiumSkia): |
| Declare the fullscreen painting function for Chrome Skia. |
| |
| 2012-06-14 Kent Tamura <tkent@chromium.org> |
| |
| Unreviewed, rolling out r110340. |
| http://trac.webkit.org/changeset/110340 |
| https://bugs.webkit.org/show_bug.cgi?id=88749 |
| |
| r110340 added a broken implementation of |
| HTMLSelectElement::selectedOptions. This roll out removes |
| HTMLSelectElement::selectedOptions. |
| |
| * html/CollectionType.h: |
| * html/HTMLCollection.cpp: |
| (WebCore::HTMLCollection::shouldIncludeChildren): |
| (WebCore::HTMLCollection::isAcceptableElement): |
| * html/HTMLSelectElement.cpp: |
| * html/HTMLSelectElement.h: |
| (HTMLSelectElement): |
| * html/HTMLSelectElement.idl: |
| |
| 2012-06-14 Keishi Hattori <keishi@webkit.org> |
| |
| Add color property to input type=range |
| https://bugs.webkit.org/show_bug.cgi?id=89067 |
| |
| Reviewed by Kent Tamura. |
| |
| Adding color property to input type=range in preparation for |
| supporting tick marks for datalist for input type=range. |
| |
| * css/html.css: |
| (input[type="range"]): Setting color property for input type=range. |
| This will set the color of tick mark when we implement <datalist>. |
| * css/themeChromiumLinux.css: |
| (input[type=range]): |
| * css/themeWin.css: |
| (input[type="range"]): |
| |
| 2012-06-14 Kent Tamura <tkent@chromium.org> |
| |
| Support file extensions in HTMLInputElement::accept |
| https://bugs.webkit.org/show_bug.cgi?id=88298 |
| |
| Reviewed by Hajime Morita. |
| |
| The WHATWG specification added file extensions supoprt for |
| HTMLInputElement::accept recently. |
| |
| In the WebCore FileChooser interface, we rejected invalid MIME type |
| strings in HTMLInputElement::acceptMIMETypes(), and platform file |
| choosers don't expect that it containts file extensions. So, this patch |
| introduces additional member "acceptFileExtensions" to |
| FileChooserSettings, and it contains only file extensions specified by |
| an accept attribute. |
| |
| * html/FileInputType.cpp: |
| Sets HTMLInputElement::acceptFileExtensions() to |
| FileChooserSettings::acceptFileExtensions. |
| (WebCore::FileInputType::handleDOMActivateEvent): |
| (WebCore::FileInputType::receiveDropForDirectoryUpload): |
| * html/HTMLInputElement.cpp: |
| (WebCore::isValidFileExtension): Added. |
| (WebCore::parseAcceptAttribute): |
| Common part for acceptMIMETyps() and acceptFileExtensions(). |
| (WebCore::HTMLInputElement::acceptMIMETypes): |
| Uses parseAcceptAttribute() with isValidMIMEType(). |
| (WebCore::HTMLInputElement::acceptFileExtensions): |
| Added. Uses parseAcceptAttribute() with isValidFileExtension(). |
| * html/HTMLInputElement.h: |
| (HTMLInputElement): Add acceptFileExtensions(). |
| * platform/FileChooser.h: |
| (FileChooserSettings): Add acceptFileExtensions and acceptTypes(). |
| * platform/FileChooser.cpp: |
| (WebCore::FileChooserSettings::acceptTypes): Added. |
| |
| 2012-06-14 James Robinson <jamesr@chromium.org> |
| |
| [chromium] Remove unused CanvasLayerChromium.h/cpp from the tree |
| https://bugs.webkit.org/show_bug.cgi?id=89152 |
| |
| Reviewed by Adrienne Walker. |
| |
| These files have been unused and not in the build system since r119769 |
| |
| * platform/graphics/chromium/CanvasLayerChromium.cpp: Removed. |
| * platform/graphics/chromium/CanvasLayerChromium.h: Removed. |
| |
| 2012-06-14 Emil A Eklund <eae@chromium.org> |
| |
| Cast paddings to int in RenderTableCell |
| https://bugs.webkit.org/show_bug.cgi?id=88918 |
| |
| Reviewed by Levi Weintraub. |
| |
| Table layout uses integers throughout yet the TableCell paddingLeft/ |
| Right/Top/Bottom methods returns LayoutUnits. This causes inconsistent |
| rounding as some call sites cast the numbers to ints before doing |
| computation and others do computation before casting. |
| |
| By changing the methods to always cast the padding values to int we |
| ensure consistent padding calculations. |
| |
| Ideally we'd change the type of the return value for the methods but as |
| they are overriden that would likely cause more confusion. |
| |
| Test: fast/sub-pixel/table-cells-with-padding-do-not-wrap.html |
| |
| * rendering/RenderTableCell.cpp: |
| (WebCore::RenderTableCell::paddingTop): |
| (WebCore::RenderTableCell::paddingBottom): |
| (WebCore::RenderTableCell::paddingLeft): |
| (WebCore::RenderTableCell::paddingRight): |
| (WebCore::RenderTableCell::paddingBefore): |
| (WebCore::RenderTableCell::paddingAfter): |
| |
| 2012-06-14 Kenichi Ishibashi <bashi@chromium.org> |
| |
| [Chromium] Check the result of FontCache::getCachedFontPlatformData() |
| https://bugs.webkit.org/show_bug.cgi?id=89141 |
| |
| Reviewed by Kent Tamura. |
| |
| The value of FontCache::getCachedFontPlatformData() could be invalid, |
| so we should check the value before use it. |
| |
| No new tests. No new functionality. |
| |
| * platform/graphics/skia/FontCacheSkia.cpp: |
| (WebCore::FontCache::getFontDataForCharacters): |
| |
| 2012-06-14 Gregg Tavares <gman@google.com> |
| |
| Fix framebuffer completeness test |
| https://bugs.webkit.org/show_bug.cgi?id=89127 |
| |
| Reviewed by Kenneth Russell. |
| |
| No new tests just fixing failing tests. |
| |
| * html/canvas/WebGLFramebuffer.cpp: |
| (WebCore::WebGLFramebuffer::initializeAttachments): |
| * html/canvas/WebGLRenderingContext.cpp: |
| (WebCore): |
| (WebCore::WebGLRenderingContext::isTexInternalFormatColorBufferCombinationValid): |
| * platform/graphics/GraphicsContext3D.cpp: |
| (WebCore::GraphicsContext3D::getClearBitsByAttachmentType): |
| (WebCore): |
| (WebCore::GraphicsContext3D::getClearBitsByFormat): |
| (WebCore::GraphicsContext3D::getChannelBitsByFormat): |
| * platform/graphics/GraphicsContext3D.h: |
| |
| 2012-06-14 Adrienne Walker <enne@google.com> |
| |
| [chromium] Make TiledLayerChromium robust to unexpected null tiles |
| https://bugs.webkit.org/show_bug.cgi?id=89143 |
| |
| Reviewed by James Robinson. |
| |
| Although there shouldn't ever be null tiles in the map, it appears to |
| be occurring frequently enough to show up in crash reports. In the |
| short term, be robust to this so the tiler doesn't crash. This should |
| eventually be reverted. |
| |
| * platform/graphics/chromium/TiledLayerChromium.cpp: |
| (WebCore::TiledLayerChromium::pushPropertiesTo): |
| (WebCore::TiledLayerChromium::setLayerTreeHost): |
| (WebCore::TiledLayerChromium::invalidateRect): |
| (WebCore::TiledLayerChromium::updateTiles): |
| (WebCore::TiledLayerChromium::resetUpdateState): |
| |
| 2012-06-14 Kent Tamura <tkent@chromium.org> |
| |
| Validate form state strings in FormController::setStateForNewFormElements() |
| https://bugs.webkit.org/show_bug.cgi?id=88768 |
| |
| Reviewed by Hajime Morita. |
| |
| Reject invalid form state vectors. This state vectors are generated by |
| WebKit itself. However it can be invalid because |
| - Serialized state vectors can be corrupted |
| - A future version of WebKit might change the format |
| |
| So we had better reject unexpected state vectors as possible. |
| |
| Test: fast/forms/state-restore-broken-state.html |
| |
| * WebCore.exp.in: Expose some symbols used by Internals.cpp. |
| * html/FormController.cpp: |
| (WebCore::isNotFormControlTypeCharacter): A helper for state validation. |
| (WebCore::FormController::setStateForNewFormElements): |
| Reject state vectors of which size is not a multiple of 3, or a type name is invalid. |
| * testing/Internals.cpp: |
| (WebCore::Internals::formControlStateOfPreviousHistoryItem): |
| Returns a form state vector of the previous document. |
| (WebCore::Internals::setFormControlStateOfPreviousHistoryItem): |
| Sets a form state vector for the previous document. |
| * testing/Internals.h: Declare new functions. |
| * testing/Internals.idl: ditto. |
| |
| 2012-06-14 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r120393. |
| http://trac.webkit.org/changeset/120393 |
| https://bugs.webkit.org/show_bug.cgi?id=89163 |
| |
| breaks cr-mac build (Requested by morrita on #webkit). |
| |
| * WebCore.gyp/WebCore.gyp: |
| * platform/image-decoders/ImageDecoder.h: |
| (ImageFrame): |
| (ImageDecoder): |
| * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: |
| (turboSwizzled): |
| (WebCore::JPEGImageReader::JPEGImageReader): |
| (WebCore::JPEGImageReader::close): |
| (WebCore::JPEGImageReader::decode): |
| (JPEGImageReader): |
| (WebCore::JPEGImageDecoder::outputScanlines): |
| * platform/image-decoders/png/PNGImageDecoder.cpp: |
| (WebCore::PNGImageReader::PNGImageReader): |
| (WebCore::PNGImageReader::close): |
| (WebCore::PNGImageReader::currentBufferSize): |
| (PNGImageReader): |
| (WebCore::PNGImageReader::decodingSizeOnly): |
| (WebCore::PNGImageReader::interlaceBuffer): |
| (WebCore::PNGImageReader::hasAlpha): |
| (WebCore::PNGImageReader::setHasAlpha): |
| (WebCore::PNGImageDecoder::headerAvailable): |
| (WebCore::PNGImageDecoder::rowAvailable): |
| * platform/image-decoders/skia/ImageDecoderSkia.cpp: |
| (WebCore): |
| (WebCore::resolveColorSpace): |
| (WebCore::createColorSpace): |
| (WebCore::ImageFrame::setColorProfile): |
| (WebCore::ImageFrame::setStatus): |
| |
| 2012-06-14 Julien Chaffraix <jchaffraix@webkit.org> |
| |
| RenderLayer subtrees without any self-painting layer shouldn't be walked during painting |
| https://bugs.webkit.org/show_bug.cgi?id=88888 |
| |
| Reviewed by Simon Fraser. |
| |
| Performance optimization, covered by existing tests. |
| |
| The gist of this change is to add a has-self-painting-layer-descendant flag (including an |
| invalidation logic) that is used to avoid walking subtrees without any self-painting layer. |
| |
| On http://dglazkov.github.com/performance-tests/biggrid.html with a 100,000 rows |
| by 100 columns table, it brings the paint time during scrolling from ~45ms to ~6ms |
| on my machine. The test case is a pathologic example here but the optimization should |
| apply in other cases. |
| |
| The new update logic piggy-backs on top of the existing updateVisibilityStatus() one that |
| got repurposed and renamed as part of this change. |
| |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::RenderLayer): |
| (WebCore::RenderLayer::addChild): |
| (WebCore::RenderLayer::removeChild): |
| (WebCore::RenderLayer::styleChanged): |
| These functions were updated to dirty / set the new flag. |
| |
| (WebCore::RenderLayer::dirtyAncestorChainHasSelfPaintingLayerDescendantStatus): |
| (WebCore::RenderLayer::setAncestorChainHasSelfPaintingLayerDescendant): |
| Added those functions to handle setting / invalidating the new flag. |
| |
| (WebCore::RenderLayer::updateSelfPaintingLayerAfterStyleChange): |
| Added this function to handle style update. |
| |
| (WebCore::RenderLayer::paintLayer): |
| (WebCore::RenderLayer::paintLayerContentsAndReflection): |
| (WebCore::RenderLayer::paintLayerContents): |
| (WebCore::RenderLayer::paintList): |
| Changed this logic to bail out if we have no self-painting descendants. This is what |
| is giving the performance improvement. Also added some performance ASSERTs to ensure |
| the methods are not called when they shouldn't. |
| |
| (WebCore::RenderLayer::updateDescendantDependentFlags): |
| Renamed from updateVisibilityStatus to account for the new usage. |
| |
| (WebCore::RenderLayer::updateLayerPositions): |
| (WebCore::RenderLayer::updateLayerPositionsAfterScroll): |
| (WebCore::RenderLayer::collectLayers): |
| * rendering/RenderLayerBacking.cpp: |
| (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): |
| Updated after updateVisibilityStatus rename. |
| |
| * rendering/RenderLayer.h: |
| (WebCore::RenderLayer::hasSelfPaintingLayerDescendant): |
| Added the declaration of the new functions as well as the new flag and dirty bit. |
| |
| 2012-06-14 Tony Payne <tpayne@chromium.org> |
| |
| [chromium] Add iccjpeg and qcms to chromium port |
| https://bugs.webkit.org/show_bug.cgi?id=81974 |
| |
| Reviewed by Adam Barth. |
| |
| Covered by existing layout tests which will be rebaselined. |
| |
| * WebCore.gyp/WebCore.gyp: Add qcms to the build. |
| * platform/image-decoders/ImageDecoder.h: |
| (WebCore::ImageDecoder::qcmsOutputDeviceProfile): Return an sRGB profile. |
| On OSX, return the default RGB profile. Add FIXME to use the user's |
| monitor profile and verify that profile for other platforms. |
| |
| * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: |
| (turboSwizzled): For libjpeg-turbo, JCS_EXT_BGRA and JCS_EXT_RGBA are the |
| two known output color spaces for which the decoder uses a data swizzle. |
| (colorSpaceHasAlpha): JPEG's have no alpha in the output color space. For |
| libjpeg-turbo, alpha may be present in the swizzled output color space. |
| |
| (WebCore::JPEGImageReader::JPEGImageReader): |
| (WebCore::JPEGImageReader::close): |
| (WebCore::JPEGImageReader::decode): For QCMSLIB, create the color transform |
| to use during decoding, and ensure we switch to inputing RGBA data to qcms |
| even if the desired output data is BGRA: outputScanlines() sends BGRA data |
| to the frame buffer following color correction if needed. |
| (JPEGImageReader): |
| (WebCore::JPEGImageReader::colorTransform): qcms color transform getter. |
| (WebCore::JPEGImageReader::createColorTransform): Create color transform. |
| Release the existing transform (if any) and assign to the color transform |
| created from the color profile data. |
| (WebCore::JPEGImageDecoder::outputScanlines): Minor style fix. Apply color |
| transform to each decoded image row. |
| |
| * platform/image-decoders/png/PNGImageDecoder.cpp: |
| (WebCore::PNGImageReader::PNGImageReader): |
| (WebCore::PNGImageReader::close): |
| (WebCore::PNGImageReader::currentBufferSize): Move this adjacent to other |
| setters and getters. |
| (WebCore::PNGImageReader::decodingSizeOnly): Ditto. |
| (WebCore::PNGImageReader::setHasAlpha): Ditto. |
| (WebCore::PNGImageReader::hasAlpha): Ditto. |
| (WebCore::PNGImageReader::interlaceBuffer): Ditto. |
| (WebCore::PNGImageReader::createRowBuffer): Creates a temporary row buffer, |
| used when a color transform is applied to the decoded image pixels. |
| (WebCore::PNGImageReader::rowBuffer): Return the temporary row buffer. |
| (WebCore::PNGImageReader::colorTransform): qcms color transform getter. |
| (WebCore::PNGImageReader::createColorTransform): Create color transform. |
| Release the existing transform (if any) and assign to the color transform |
| created from the color profile data. |
| (WebCore::PNGImageDecoder::headerAvailable): For QCMSLIB, create the color |
| transform to use for decoding. Clear m_colorProfile (not used anymore). |
| (WebCore::PNGImageDecoder::rowAvailable): Create temporary row buffer if |
| a color transform is needed for decoding. Apply color transform to each |
| decoded image row. |
| |
| * platform/image-decoders/skia/ImageDecoderSkia.cpp: |
| (WebCore::ImageFrame::setColorProfile): Old method of colorProfiles is no |
| longer used. Add a FIXME to remove the old implementation. |
| (WebCore::ImageFrame::setStatus): Remove old color correction code. |
| |
| 2012-06-14 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r120384. |
| http://trac.webkit.org/changeset/120384 |
| https://bugs.webkit.org/show_bug.cgi?id=89157 |
| |
| breaks create-blob-url-from-data-url.html (Requested by |
| morrita on #webkit). |
| |
| * fileapi/Blob.cpp: |
| (WebCore::Blob::Blob): |
| * fileapi/BlobURL.cpp: |
| (WebCore::BlobURL::createBlobURL): |
| * fileapi/BlobURL.h: |
| (BlobURL): |
| * fileapi/FileReaderLoader.cpp: |
| (WebCore::FileReaderLoader::start): |
| * fileapi/ThreadableBlobRegistry.cpp: |
| (WebCore): |
| (WebCore::ThreadableBlobRegistry::registerBlobURL): |
| (WebCore::ThreadableBlobRegistry::unregisterBlobURL): |
| * fileapi/ThreadableBlobRegistry.h: |
| (WebCore): |
| (ThreadableBlobRegistry): |
| * html/DOMURL.cpp: |
| (WebCore::DOMURL::createObjectURL): |
| * page/SecurityOrigin.cpp: |
| (WebCore::SecurityOrigin::create): |
| |
| 2012-06-14 Yoshifumi Inoue <yosin@chromium.org> |
| |
| [Forms] Copy RenderTextControlSingleLine.{cpp,h} to RenderSearchFiled.{cpp,h} |
| https://bugs.webkit.org/show_bug.cgi?id=89155 |
| |
| Reviewed by Kent Tamura. |
| |
| This patch copies RenderTextControlSingleLine.cpp and .h into RenderSearchField.cpp |
| and .h with just "cp" code. New files aren't compiled until bug 88980. |
| |
| No new tests. This patch doesn't change behavior. |
| |
| * rendering/RenderSearchField.cpp: Added. |
| (WebCore::RenderTextControlInnerBlock::positionForPoint): |
| (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine): |
| (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine): |
| (WebCore::RenderTextControlSingleLine::containerElement): |
| (WebCore::RenderTextControlSingleLine::innerBlockElement): |
| (WebCore::RenderTextControlSingleLine::innerSpinButtonElement): |
| (WebCore::RenderTextControlSingleLine::resultsButtonElement): |
| (WebCore::RenderTextControlSingleLine::cancelButtonElement): |
| (WebCore::RenderTextControlSingleLine::textBaseStyle): |
| (WebCore::RenderTextControlSingleLine::addSearchResult): |
| (WebCore::RenderTextControlSingleLine::showPopup): |
| (WebCore::RenderTextControlSingleLine::hidePopup): |
| (WebCore::RenderTextControlSingleLine::paint): |
| (WebCore::RenderTextControlSingleLine::layout): |
| (WebCore::RenderTextControlSingleLine::nodeAtPoint): |
| (WebCore::RenderTextControlSingleLine::styleDidChange): |
| (WebCore::RenderTextControlSingleLine::capsLockStateMayHaveChanged): |
| (WebCore::RenderTextControlSingleLine::hasControlClip): |
| (WebCore::RenderTextControlSingleLine::controlClipRect): |
| (WebCore::RenderTextControlSingleLine::getAvgCharWidth): |
| (WebCore::RenderTextControlSingleLine::preferredContentWidth): |
| (WebCore::RenderTextControlSingleLine::computeControlHeight): |
| (WebCore::RenderTextControlSingleLine::updateFromElement): |
| (WebCore::RenderTextControlSingleLine::createInnerTextStyle): |
| (WebCore::RenderTextControlSingleLine::createInnerBlockStyle): |
| (WebCore::RenderTextControlSingleLine::updateCancelButtonVisibility): |
| (WebCore::RenderTextControlSingleLine::visibilityForCancelButton): |
| (WebCore::RenderTextControlSingleLine::textShouldBeTruncated): |
| (WebCore::RenderTextControlSingleLine::autosaveName): |
| (WebCore::RenderTextControlSingleLine::valueChanged): |
| (WebCore::RenderTextControlSingleLine::itemText): |
| (WebCore::RenderTextControlSingleLine::itemLabel): |
| (WebCore::RenderTextControlSingleLine::itemIcon): |
| (WebCore::RenderTextControlSingleLine::itemIsEnabled): |
| (WebCore::RenderTextControlSingleLine::itemStyle): |
| (WebCore::RenderTextControlSingleLine::menuStyle): |
| (WebCore::RenderTextControlSingleLine::clientInsetLeft): |
| (WebCore::RenderTextControlSingleLine::clientInsetRight): |
| (WebCore::RenderTextControlSingleLine::clientPaddingLeft): |
| (WebCore::RenderTextControlSingleLine::clientPaddingRight): |
| (WebCore::RenderTextControlSingleLine::listSize): |
| (WebCore::RenderTextControlSingleLine::selectedIndex): |
| (WebCore::RenderTextControlSingleLine::popupDidHide): |
| (WebCore::RenderTextControlSingleLine::itemIsSeparator): |
| (WebCore::RenderTextControlSingleLine::itemIsLabel): |
| (WebCore::RenderTextControlSingleLine::itemIsSelected): |
| (WebCore::RenderTextControlSingleLine::setTextFromItem): |
| (WebCore::RenderTextControlSingleLine::fontSelector): |
| (WebCore::RenderTextControlSingleLine::hostWindow): |
| (WebCore::RenderTextControlSingleLine::autoscroll): |
| (WebCore::RenderTextControlSingleLine::scrollWidth): |
| (WebCore::RenderTextControlSingleLine::scrollHeight): |
| (WebCore::RenderTextControlSingleLine::scrollLeft): |
| (WebCore::RenderTextControlSingleLine::scrollTop): |
| (WebCore::RenderTextControlSingleLine::setScrollLeft): |
| (WebCore::RenderTextControlSingleLine::setScrollTop): |
| (WebCore::RenderTextControlSingleLine::scroll): |
| (WebCore::RenderTextControlSingleLine::logicalScroll): |
| (WebCore::RenderTextControlSingleLine::createScrollbar): |
| (WebCore::RenderTextControlSingleLine::inputElement): |
| * rendering/RenderSearchField.h: Added. |
| (RenderTextControlSingleLine): |
| (WebCore::RenderTextControlSingleLine::popupIsVisible): |
| (WebCore::RenderTextControlSingleLine::isTextField): |
| (WebCore::toRenderTextControlSingleLine): |
| (RenderTextControlInnerBlock): |
| (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock): |
| (WebCore::RenderTextControlInnerBlock::hasLineIfEmpty): |
| |
| 2012-06-14 Kent Tamura <tkent@chromium.org> |
| |
| [JSC/V8] "DOMString[]" for function return values should not be null |
| https://bugs.webkit.org/show_bug.cgi?id=89151 |
| |
| Reviewed by Kentaro Hara. |
| |
| jsArray and v8Array are used for "DOMString[]", not "DOMString[]?". So |
| we should not return JavaScript null object. |
| |
| No new tests. We have no plan to use this code in production code for |
| now. It will be used for window.internals functions. |
| |
| * bindings/js/JSDOMBinding.cpp: |
| (WebCore::jsArray): For null input, returns an empty array, not null. |
| * bindings/v8/V8Binding.cpp: |
| (WebCore::v8Array): Implement DOMStringList -> JavaScript array conversion. |
| Like jsArray(), we don't return null object. |
| * bindings/v8/V8Binding.h: |
| (WebCore): Declare v8Array(). |
| |
| 2012-06-14 Dale Curtis <dalecurtis@chromium.org> |
| |
| Disable click/dbl-click on MediaDocument for Chromium. Fix layout test for all platforms. |
| https://bugs.webkit.org/show_bug.cgi?id=89129 |
| |
| As titled, click-to-pause and double-click-to-play behavior are unwanted on Chromium. A |
| long standing issue (~3 years) has been to disable this feature. |
| |
| Reviewed by Eric Carlson. |
| |
| Uses existing click/double-click test. |
| |
| * html/MediaDocument.cpp: |
| (WebCore::MediaDocument::defaultEventHandler): |
| |
| 2012-06-14 Jian Li <jianli@chromium.org> |
| |
| FileReader is dysfunctional in documents with "null" origin string |
| https://bugs.webkit.org/show_bug.cgi?id=78648 |
| |
| Reviewed by Adam Barth. |
| |
| The fix is to keep in-memory map from blob URL to SecurityOrigin for the |
| unique origin case. |
| |
| Test: fast/files/file-reader-file-url.html |
| |
| * fileapi/Blob.cpp: |
| (WebCore::Blob::Blob): |
| * fileapi/BlobURL.cpp: |
| (WebCore::BlobURL::getOrigin): Return the origin string embeded in the blob URL. |
| (WebCore): |
| (WebCore::BlobURL::createBlobURL): Remove the check for null origin string since it is handled now. |
| * fileapi/BlobURL.h: |
| (BlobURL): |
| * fileapi/FileReaderLoader.cpp: |
| (WebCore::FileReaderLoader::start): |
| * fileapi/ThreadableBlobRegistry.cpp: |
| (WebCore): |
| (WebCore::originMap): Thread-specific in-memory map from the blob URL to the origin. |
| (WebCore::ThreadableBlobRegistry::registerBlobURL): Add the map from the blob URL to the origin. |
| (WebCore::ThreadableBlobRegistry::unregisterBlobURL): Remove the map for the unregistered blob URL. |
| (WebCore::ThreadableBlobRegistry::cachedOrigin): Retrieve the origin associated with the blob URL. |
| * fileapi/ThreadableBlobRegistry.h: |
| (WebCore): |
| (ThreadableBlobRegistry): |
| * html/DOMURL.cpp: |
| (WebCore::DOMURL::createObjectURL): |
| * page/SecurityOrigin.cpp: |
| (WebCore::cachedOrigin): Return the cached origin for the blob URL if it exists. |
| (WebCore): |
| (WebCore::SecurityOrigin::create): Call cachedOrigin to get the cached origin first. |
| |
| 2012-06-14 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> |
| |
| [CMAKE] Move JSDeprecatedPeerConnectionCustom.cpp from CMakeLists.txt to UseJSC.cmake |
| https://bugs.webkit.org/show_bug.cgi?id=89015 |
| |
| Reviewed by Antonio Gomes. |
| |
| Include JSDeprecatedPeerConnectionCustom.cpp in UseJSC.cmake |
| instead of CMakeLists.txt. |
| |
| No change in functionality so no new tests. |
| |
| * CMakeLists.txt: |
| * UseJSC.cmake: |
| |
| 2012-06-14 Xianzhu Wang <wangxianzhu@chromium.org> |
| |
| [Chromium] Add setAutoHint() and setUseBitmaps() in WebFontRendering |
| https://bugs.webkit.org/show_bug.cgi?id=89014 |
| |
| Reviewed by James Robinson. |
| |
| No new tests because of no change of functionality. |
| |
| * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp: |
| (WebCore): |
| (WebCore::FontPlatformData::setAutoHint): |
| (WebCore::FontPlatformData::setUseBitmaps): |
| (WebCore::FontPlatformData::setAntiAlias): |
| (WebCore::FontPlatformData::setupPaint): |
| * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h: |
| (FontPlatformData): |
| |
| 2012-06-14 Ryuan Choi <ryuan.choi@samsung.com> |
| |
| [EFL] Move cursor related code from WidgetEfl to ewk_view and EflScreenUtilities. |
| https://bugs.webkit.org/show_bug.cgi?id=88803 |
| |
| Reviewed by Chang Shu. |
| |
| Because WebProcess can not control cursor, |
| setCursor should be passed to ChromeClient like other ports. |
| |
| * platform/Widget.h: |
| (Widget): |
| * platform/efl/EflScreenUtilities.cpp: |
| (WebCore::applyFallbackCursor): Moved from WidgetEfl.cpp. |
| (WebCore): |
| (WebCore::isUsingEcoreX): Moved from WidgetEfl.cpp. |
| * platform/efl/EflScreenUtilities.h: |
| (WebCore): |
| * platform/efl/WidgetEfl.cpp: Removes cursor related codes. |
| (WebCore::WidgetPrivate::WidgetPrivate): |
| (WebCore::Widget::~Widget): |
| (WebCore::Widget::setCursor): Redirect to HostWindow. |
| (WebCore::Widget::setEvasObject): |
| |
| 2012-06-14 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Radio node lists do not get updated when inserted back into a document |
| https://bugs.webkit.org/show_bug.cgi?id=88825 |
| |
| Reviewed by Darin Adler. |
| |
| The bug was caused by RadioNodeList's m_node not being adjusted back to a document after |
| it was removed from the document and inserted back. While we could be doing this adjustment again |
| when the HTMLFormElement is inserted back into the document, this whole approach is fragile |
| because adds a maintenance burden on root elements of RadioNodeList. |
| |
| Change the approach to the problem instead and detect when m_node is detached from the document. |
| Now RadioNodeList and LabelsNodeList will always use its root element as m_node and |
| DynamicSubtreeNodeList's node() will then determine whether it should use its document or not based |
| on the flag (rootedAtDocument) passed by the constructor of the node list and m_node->inDocument(). |
| |
| Also invalidate node lists rooted at the document level regardless where the DOM mutation took place. |
| |
| * dom/ClassNodeList.cpp: |
| (WebCore::ClassNodeList::~ClassNodeList): |
| * dom/Document.cpp: |
| (WebCore::Document::registerDynamicSubtreeNodeList): Moved from Node. |
| (WebCore::Document::unregisterDynamicSubtreeNodeList): Ditto. |
| * dom/Document.h: |
| (Document): |
| * dom/DynamicNodeList.cpp: |
| (WebCore::DynamicSubtreeNodeList::DynamicSubtreeNodeList): Takes DynamicNodeListRootType which tell us |
| whether node() should return m_node's document by default or not. |
| (WebCore::DynamicSubtreeNodeList::length): Refactor code to avoid node() multiple times. |
| (WebCore::DynamicSubtreeNodeList::itemForwardsFromCurrent): Ditto. |
| (WebCore::DynamicSubtreeNodeList::itemBackwardsFromCurrent): Ditto. |
| (WebCore::DynamicNodeList::itemWithName): Ditto. |
| * dom/DynamicNodeList.h: |
| (WebCore::DynamicNodeList::DynamicNodeList): |
| (WebCore::DynamicNodeList::node): Returns m_node->document() if m_node is still in the document and |
| the node list was rooted at document. |
| (WebCore::DynamicNodeList::Caches::Caches): |
| (Caches): |
| (DynamicNodeList): |
| (DynamicSubtreeNodeList): |
| * dom/NameNodeList.cpp: |
| (WebCore::NameNodeList::~NameNodeList): |
| * dom/Node.cpp: |
| (WebCore): |
| (WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged): Invalidate m_listsInvalidatedAtDocument |
| at document instead of trying to invalidate it on every ancestor we traverse. |
| (WebCore::Node::invalidateNodeListsCacheAfterChildrenChanged): Ditto. |
| (WebCore::NodeListsNodeData::invalidateCachesForDocument): Extracted from |
| invalidateCachesThatDependOnAttributes. |
| (WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes): |
| (WebCore::Node::radioNodeList): |
| * dom/Node.h: |
| (Node): |
| * dom/NodeRareData.h: |
| (NodeListsNodeData): |
| * dom/TagNodeList.cpp: |
| (WebCore::TagNodeList::~TagNodeList): |
| * html/HTMLFormElement.cpp: |
| (WebCore::HTMLFormElement::removedFrom): |
| * html/LabelsNodeList.cpp: |
| (WebCore::LabelsNodeList::LabelsNodeList): |
| * html/RadioNodeList.cpp: |
| (WebCore::RadioNodeList::RadioNodeList): Takes Element* first since that's the order we use elsewhere. |
| * html/RadioNodeList.h: |
| (WebCore::RadioNodeList::create): |
| (RadioNodeList): |
| |
| 2012-06-14 Tony Chang <tony@chromium.org> |
| |
| Fix bit packing of StyleRareInheritedData on Windows |
| https://bugs.webkit.org/show_bug.cgi?id=89112 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| On my machine (64 bit Chromium Linux), StyleRareInheritedData is 168 bytes. |
| |
| No new tests, added a compile assert to ensure correctness going forward. |
| |
| * rendering/style/StyleRareInheritedData.cpp: |
| (SameSizeAsStyleRareInheritedData): |
| (WebCore): |
| * rendering/style/StyleRareInheritedData.h: |
| (StyleRareInheritedData): |
| |
| 2012-06-14 Andreas Kling <kling@webkit.org> |
| |
| Crashes below IconDatabase::performPendingRetainAndReleaseOperations(). |
| <http://webkit.org/b/88846> |
| <rdar://problem/11629106> |
| |
| Reviewed by Brady Eidson. |
| |
| Put isolatedCopy() strings in the retain/release operation queues to make sure it's safe |
| for secondary threads to ref/deref them in performPendingRetainAndReleaseOperations(). |
| Also added assertions as appropriate. |
| |
| * loader/icon/IconDatabase.cpp: |
| (WebCore::IconDatabase::retainIconForPageURL): |
| (WebCore::IconDatabase::releaseIconForPageURL): |
| (WebCore::IconDatabase::performPendingRetainAndReleaseOperations): |
| |
| 2012-06-14 Shawn Singh <shawnsingh@chromium.org> |
| |
| [chromium] For hit testing in CCLayerTreeHostCommon, need to check that the transform is invertible before inverting it. |
| https://bugs.webkit.org/show_bug.cgi?id=89049 |
| |
| Reviewed by Adrienne Walker. |
| |
| Unit test added to CCLayerTreeHostCommonTest.cpp: |
| CCLayerTreeHostCommonTest.verifyHitTestingForUninvertibleTransform |
| |
| * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp: |
| (WebCore::pointHitsRect): |
| |
| 2012-06-14 Maciej Stachowiak <mjs@apple.com> |
| |
| The whole world rebuilds when you touch any IDL file |
| https://bugs.webkit.org/show_bug.cgi?id=89125 |
| |
| Reviewed by Sam Weinig. |
| |
| No new tests; this only changes the build system and its dependencies. |
| |
| * bindings/scripts/preprocess-idls.pl: Optionally generate the |
| dependencies for supplemental IDLs in Makefile format. |
| * DerivedSources.make: Use the new feature of preprocess-idls.pl to generate |
| the correct IDL dependencies created by Supplemental, then include it. This way, |
| we avoid the situation where every bindings file implicitly depends on every single |
| IDL file in the project. |
| |
| 2012-06-14 Ian Vollick <vollick@chromium.org> |
| |
| [chromium] Certain settings in CCSettings could be global |
| https://bugs.webkit.org/show_bug.cgi?id=88384 |
| |
| Reviewed by James Robinson. |
| |
| No new tests. No new functionality. |
| |
| * WebCore.gypi: |
| * page/Settings.cpp: |
| (WebCore::Settings::Settings): |
| * page/Settings.h: |
| (Settings): |
| * platform/graphics/chromium/ContentLayerChromium.cpp: |
| (WebCore::ContentLayerChromium::createTextureUpdaterIfNeeded): |
| * platform/graphics/chromium/LayerChromium.cpp: |
| (WebCore::LayerChromium::addAnimation): |
| * platform/graphics/chromium/LayerRendererChromium.cpp: |
| (WebCore::LayerRendererChromium::initialize): |
| * platform/graphics/chromium/TiledLayerChromium.cpp: |
| (WebCore::TiledLayerChromium::updateTileSizeAndTilingOption): |
| * platform/graphics/chromium/cc/CCDebugRectHistory.cpp: |
| (WebCore::CCDebugRectHistory::enabled): |
| (WebCore::CCDebugRectHistory::saveDebugRectsForCurrentFrame): |
| * platform/graphics/chromium/cc/CCDebugRectHistory.h: |
| (WebCore): |
| (CCDebugRectHistory): |
| * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp: |
| (WebCore::CCHeadsUpDisplay::enabled): |
| (WebCore::CCHeadsUpDisplay::showPlatformLayerTree): |
| (WebCore::CCHeadsUpDisplay::showDebugRects): |
| (WebCore::CCHeadsUpDisplay::draw): |
| (WebCore::CCHeadsUpDisplay::drawHudContents): |
| (WebCore::CCHeadsUpDisplay::drawDebugRects): |
| * platform/graphics/chromium/cc/CCHeadsUpDisplay.h: |
| (WebCore): |
| (CCHeadsUpDisplay): |
| * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: |
| (WebCore::CCLayerTreeHost::create): |
| (WebCore::CCLayerTreeHost::CCLayerTreeHost): |
| (WebCore::CCLayerTreeHost::animateLayers): |
| * platform/graphics/chromium/cc/CCLayerTreeHost.h: |
| (WebCore::CCLayerTreeSettings::CCLayerTreeSettings): |
| (CCLayerTreeSettings): |
| (CCLayerTreeHost): |
| (WebCore::CCLayerTreeHost::settings): |
| * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: |
| (WebCore::CCLayerTreeHostImpl::create): |
| (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl): |
| (WebCore::CCLayerTreeHostImpl::calculateRenderSurfaceLayerList): |
| (WebCore::CCLayerTreeHostImpl::animateLayers): |
| * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: |
| (CCLayerTreeHostImpl): |
| * platform/graphics/chromium/cc/CCRenderer.h: |
| (CCRendererClient): |
| (WebCore::CCRenderer::settings): |
| * platform/graphics/chromium/cc/CCSettings.cpp: Added. |
| (WebCore): |
| (WebCore::CCSettings::perTilePaintingEnabled): |
| (WebCore::CCSettings::setPerTilePaintingEnabled): |
| (WebCore::CCSettings::partialSwapEnabled): |
| (WebCore::CCSettings::setPartialSwapEnabled): |
| (WebCore::CCSettings::acceleratedAnimationEnabled): |
| (WebCore::CCSettings::setAcceleratedAnimationEnabled): |
| (WebCore::CCSettings::reset): |
| * platform/graphics/chromium/cc/CCSettings.h: Added. |
| (WebCore): |
| (CCSettings): |
| * testing/InternalSettings.cpp: |
| * testing/InternalSettings.h: |
| (InternalSettings): |
| |
| 2012-06-14 Alejandro G. Castro <alex@igalia.com> |
| |
| [GTK] Add TextureMapper ImageBuffer support as a fallback from the hardware accelerated path |
| https://bugs.webkit.org/show_bug.cgi?id=73634 |
| |
| Remove the TextureMapperCairo classes, now we use |
| TextureMapperImageBuffer to implement the software fallback. Add |
| implementation for the 3D transformations in the 2D cairo graphics |
| context. |
| |
| Reviewed by Martin Robinson. |
| |
| This patch adds a new implementation of already tested cases. |
| |
| * GNUmakefile.list.am: |
| * platform/graphics/cairo/GraphicsContext3DPrivate.cpp: |
| (WebCore): |
| (WebCore::GraphicsContext3DPrivate::paintToTextureMapper): |
| Required for compilation when WebGL is enabled. |
| * platform/graphics/cairo/GraphicsContextCairo.cpp: |
| (WebCore::GraphicsContext::get3DTransform): |
| (WebCore::GraphicsContext::concat3DTransform): |
| (WebCore::GraphicsContext::set3DTransform): |
| * platform/graphics/cairo/TextureMapperCairo.cpp: Removed. |
| * platform/graphics/cairo/TextureMapperCairo.h: Removed. |
| * platform/graphics/texmap/TextureMapperImageBuffer.cpp: |
| (WebCore::BitmapTextureImageBuffer::updateContents): |
| |
| 2012-06-14 Jia Pu <jpu@apple.com> |
| |
| Mark text with text alternative with blue underline. |
| https://bugs.webkit.org/show_bug.cgi?id=83047 |
| |
| Reviewed by Enrica Casucci. |
| |
| Tests: platform/mac/editing/input/edit-dictated-text-with-alternative.html |
| platform/mac/editing/input/insert-dictated-text.html |
| |
| This patch implements visual indication on dictated text with alternatives, and provides UI |
| to show alternative text on OS X. Majority of the changes is for generalizing existing AlternativeTextController |
| class to handle dictation alternatives. The two new classes, AlternativeTextUIController and |
| TextAlternativeWithRange, are used by both WebKit and WK2. So WebCore seems to be the natural place |
| for them. |
| |
| * WebCore.exp.in: |
| * WebCore.xcodeproj/project.pbxproj: |
| * editing/AlternativeTextController.cpp: Expanded exising class interface to support dictation alternatives. |
| (DictationAlternativeDetails): Marker detail class for dictation alternative mark. |
| (WebCore::DictationAlternativeDetails::create): |
| (WebCore::DictationAlternativeDetails::dictationContext): |
| (WebCore::DictationAlternativeDetails::DictationAlternativeDetails): |
| (WebCore::markerTypesForAppliedDictationAlternative): |
| (WebCore::AlternativeTextController::applyAlternativeTextToRange): Generalized existing applyAlternativeTextToRange() to handle dictation alternatives. |
| (WebCore::AlternativeTextController::timerFired): Expanded existing code to handle dictation alternatives. |
| (WebCore::AlternativeTextController::handleAlternativeTextUIResult): Expanded existing code to handle dictation alternatives. |
| (WebCore::AlternativeTextController::respondToChangedSelection): Moved part of the function into respondToMarkerAtEndOfWord() to improve readability. |
| (WebCore::AlternativeTextController::shouldStartTimerFor): |
| (WebCore::AlternativeTextController::respondToMarkerAtEndOfWord): |
| (WebCore::AlternativeTextController::markerDescriptionForAppliedAlternativeText): |
| (WebCore::AlternativeTextController::removeDictationAlternativesForMarker): |
| (WebCore::AlternativeTextController::dictationAlternativesForMarker): |
| (WebCore::AlternativeTextController::applyDictationAlternative): |
| * editing/AlternativeTextController.h: |
| * editing/Editor.cpp: |
| (WebCore::Editor::notifyComponentsOnChangedSelection): Renamed existing respondToChangedSelection() function to avoid naming collision. |
| (WebCore::Editor::appliedEditing): |
| (WebCore::Editor::unappliedEditing): |
| (WebCore::Editor::reappliedEditing): |
| (WebCore::Editor::updateMarkersForWordsAffectedByEditing): |
| (WebCore::Editor::changeSelectionAfterCommand): |
| (WebCore::Editor::respondToChangedSelection): |
| (WebCore::Editor::dictationAlternativesForMarker): |
| (WebCore::Editor::applyDictationAlternativelternative): |
| * editing/Editor.h: |
| * editing/FrameSelection.h: |
| * editing/mac/AlternativeTextUIController.h: Added. WK1 and WK2 use this class to keep track of text alternatives objects. |
| (AlternativeTextUIController): |
| (WebCore::AlternativeTextUIController::AlternativeTextUIController): |
| (AlernativeTextContextController): |
| (WebCore::AlternativeTextUIController::AlernativeTextContextController::AlernativeTextContextController): |
| * editing/mac/AlternativeTextUIController.mm: Added. |
| (WebCore::AlternativeTextUIController::AlernativeTextContextController::addAlternatives): |
| (WebCore::AlternativeTextUIController::AlernativeTextContextController::alternativesForContext): |
| (WebCore::AlternativeTextUIController::AlernativeTextContextController::removeAlternativesForContext): |
| (WebCore::AlternativeTextUIController::AlernativeTextContextController::clear): |
| (WebCore::AlternativeTextUIController::addAlternatives): |
| (WebCore::AlternativeTextUIController::alternativesForContext): |
| (WebCore::AlternativeTextUIController::clear): |
| (WebCore::AlternativeTextUIController::showAlternatives): |
| (WebCore::AlternativeTextUIController::handleAcceptedAlternative): |
| (WebCore::AlternativeTextUIController::dismissAlternatives): |
| (WebCore::AlternativeTextUIController::removeAlternatives): |
| * editing/mac/TextAlternativeWithRange.h: Added. A simple struct to make it easier to pass around a pair of text alternatives object and range. |
| * editing/mac/TextAlternativeWithRange.mm: Added. |
| (WebCore::TextAlternativeWithRange::TextAlternativeWithRange): |
| (WebCore::collectDictationTextAlternatives): |
| * page/AlternativeTextClient.h: |
| * page/ContextMenuController.cpp: Added code to show alternative dictated text in context menu. |
| (WebCore::ContextMenuController::contextMenuItemSelected): |
| (WebCore::ContextMenuController::populate): |
| (WebCore::ContextMenuController::checkOrEnableIfNeeded): |
| * platform/ContextMenuItem.h: |
| * rendering/HitTestResult.cpp: |
| (WebCore::HitTestResult::dictationAlternatives): |
| * rendering/HitTestResult.h: |
| * rendering/InlineTextBox.cpp: |
| (WebCore::InlineTextBox::paintDocumentMarker): |
| |
| 2012-06-14 Emil A Eklund <eae@chromium.org> |
| |
| Change RenderTableSection::calcRowLogicalHeight to round rather than floor height |
| https://bugs.webkit.org/show_bug.cgi?id=88813 |
| |
| Reviewed by Julien Chaffraix. |
| |
| Change RenderTableSection::calcRowLogicalHeight to round the |
| logicalHeight instead of flooring it. This matches our rounding logic |
| elsewhere and results in table rows better matching the expected height. |
| |
| Test: fast/sub-pixel/table-rows-have-stable-height.html |
| |
| * rendering/RenderTableSection.cpp: |
| (WebCore::RenderTableSection::calcRowLogicalHeight): |
| |
| 2012-06-14 Andrey Adaikin <aandrey@chromium.org> |
| |
| Web Inspector: Remove devtoolsInjectedScript hidden property |
| https://bugs.webkit.org/show_bug.cgi?id=89087 |
| |
| We use the devtoolsInjectedScript hidden property to reference a InjectedScript object |
| for a given ScriptState, but we also have the same reference in the InjectedScriptManager's |
| hash maps. Just use the hash maps and remove the hidden property from the global object. |
| |
| Reviewed by Pavel Feldman. |
| |
| * bindings/js/JSDOMGlobalObject.cpp: |
| (WebCore::JSDOMGlobalObject::visitChildren): |
| * bindings/js/JSDOMGlobalObject.h: |
| (JSDOMGlobalObject): |
| * bindings/js/JSInjectedScriptManager.cpp: |
| (WebCore::InjectedScriptManager::createInjectedScript): |
| * bindings/v8/V8HiddenPropertyName.h: |
| (WebCore): |
| * bindings/v8/custom/V8InjectedScriptManager.cpp: |
| * inspector/InjectedScriptManager.cpp: |
| (WebCore::InjectedScriptManager::discardInjectedScripts): |
| (WebCore::InjectedScriptManager::discardInjectedScriptsFor): |
| (WebCore::InjectedScriptManager::injectedScriptFor): |
| (WebCore): |
| (WebCore::InjectedScriptManager::wrapWebGLRenderingContextForInstrumentation): |
| * inspector/InjectedScriptManager.h: |
| (InjectedScriptManager): |
| |
| 2012-06-14 James Robinson <jamesr@chromium.org> |
| |
| [chromium] Move opaque rectangle tracking logic out of compositor core |
| https://bugs.webkit.org/show_bug.cgi?id=89031 |
| |
| Reviewed by Adrienne Walker. |
| |
| This moves the opaque paint tracking logic from the compositor (specifically CanvasLayerTextureUpdater) out to a |
| dedicated class used by GraphicsLayerChromium for GraphicsContext-painted content. This changes the interface |
| exposed by the compositor to pass a SkCanvas and let the user fill in an opaque rect if needed. Callers that are |
| using GraphicsContext to paint can instantiate a PlatformContextSkia / GraphicsContext around this SkCanvas if |
| they choose to, or use some other strategy, or not fill it in at all. This avoids creating extra wrapper classes |
| if the eventual caller is going to use the underlying SkCanvas anyway (such as WebContentLayer) and breaks the |
| dependency from the compositor code on GraphicsContext / PlatformContextSkia. |
| |
| OpaqueRectTrackingContentLayerDelegate is a helper class that wraps a ContentLayerDelegate implementation with |
| PlatformContextSkia's opaque region tracking logic. |
| |
| * WebCore.gypi: |
| * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp: |
| (WebCore::BitmapCanvasLayerTextureUpdater::BitmapCanvasLayerTextureUpdater): |
| (WebCore::BitmapCanvasLayerTextureUpdater::prepareToUpdate): |
| (WebCore::BitmapCanvasLayerTextureUpdater::updateTextureRect): |
| (WebCore::BitmapCanvasLayerTextureUpdater::setOpaque): |
| * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h: |
| (WebCore): |
| (BitmapCanvasLayerTextureUpdater): |
| * platform/graphics/chromium/CanvasLayerTextureUpdater.cpp: |
| (WebCore::CanvasLayerTextureUpdater::paintContents): |
| * platform/graphics/chromium/CanvasLayerTextureUpdater.h: |
| (WebCore): |
| (CanvasLayerTextureUpdater): |
| * platform/graphics/chromium/ContentLayerChromium.cpp: |
| (WebCore::ContentLayerPainter::paint): |
| * platform/graphics/chromium/ContentLayerChromium.h: |
| (ContentLayerDelegate): |
| (WebCore): |
| * platform/graphics/chromium/GraphicsLayerChromium.cpp: |
| (WebCore::GraphicsLayerChromium::GraphicsLayerChromium): |
| (WebCore::GraphicsLayerChromium::paint): |
| * platform/graphics/chromium/GraphicsLayerChromium.h: |
| (GraphicsLayerChromium): |
| * platform/graphics/chromium/LayerPainterChromium.h: |
| (LayerPainterChromium): |
| * platform/graphics/chromium/LinkHighlight.cpp: |
| (WebCore::LinkHighlight::paintContents): |
| * platform/graphics/chromium/LinkHighlight.h: |
| (LinkHighlight): |
| * platform/graphics/chromium/OpaqueRectTrackingContentLayerDelegate.cpp: Added. |
| (WebCore): |
| (WebCore::OpaqueRectTrackingContentLayerDelegate::OpaqueRectTrackingContentLayerDelegate): |
| (WebCore::OpaqueRectTrackingContentLayerDelegate::~OpaqueRectTrackingContentLayerDelegate): |
| (WebCore::OpaqueRectTrackingContentLayerDelegate::paintContents): |
| * platform/graphics/chromium/OpaqueRectTrackingContentLayerDelegate.h: Added. |
| (WebCore): |
| (GraphicsContextPainter): |
| (WebCore::GraphicsContextPainter::~GraphicsContextPainter): |
| (OpaqueRectTrackingContentLayerDelegate): |
| (WebCore::OpaqueRectTrackingContentLayerDelegate::setOpaque): |
| * platform/graphics/chromium/PlatformCanvas.cpp: |
| (WebCore::PlatformCanvas::Painter::Painter): |
| * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp: |
| (WebCore::SkPictureCanvasLayerTextureUpdater::prepareToUpdate): |
| * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: |
| * platform/graphics/chromium/cc/CCLayerTreeHost.h: |
| (WebCore): |
| |
| 2012-06-14 Justin Novosad <junov@chromium.org> |
| |
| [Chromium] webkitImageSmoothingEnabled canvas property does not work on redraw |
| https://bugs.webkit.org/show_bug.cgi?id=89018 |
| |
| Reviewed by Stephen White. |
| |
| Test: fast/canvas/canvas-imageSmoothingEnabled-repaint.html |
| |
| When an accelerated canvas layer prepares its texture for the |
| compositor, it must send a notification to skia to invalidate texture |
| proprties that are cached by skia, since the compositor may modify them. |
| The use case this fixes is when a canvas to canvas copy is performed |
| with webkitImageSmoothingEnabled=false on the destination canvas. |
| The backing texture of the source canvas will be set to "nearest" |
| filtering by skia in order to perform the copy. Then, the compositor |
| sets filtering back to "linear" when the source canvas is drawn. |
| Skia is designed to only update GL attributes when required, so errors |
| occur when the skia-side GL state cache is out of sync. |
| |
| * platform/graphics/chromium/Canvas2DLayerBridge.cpp: |
| (WebCore::Canvas2DLayerBridge::prepareTexture): |
| |
| 2012-06-14 Jon Honeycutt <jhoneycutt@apple.com> |
| |
| Fix some failing tests on Windows by resetting the page scale factor |
| between tests. |
| https://bugs.webkit.org/show_bug.cgi?id=89078 |
| |
| Reviewed by Dirk Pranke. |
| |
| * testing/Internals.cpp: |
| (WebCore::Internals::reset): |
| Set the scale factor to 1.0. |
| |
| 2012-06-14 Sami Kyostila <skyostil@chromium.org> |
| |
| Register fixed position layers with ScrollingCoordinator |
| https://bugs.webkit.org/show_bug.cgi?id=78864 |
| |
| Reviewed by James Robinson. |
| |
| This patch makes ScrollingCoordinator aware of page elements that are |
| either fixed positioned directly or through their ancestors and that |
| also have their own composited backing layers. This allows the |
| ScrollingCoordinator implementation to potentially enable fast |
| scrolling even if there are fixed elements on the page, because the |
| compositor can automatically reposition the fixed element layers after |
| scrolling. |
| |
| Since fixed position layers need to be explicitly supported by the |
| ScrollingCoordinator implementation, we add a new |
| supportsFixedPositionLayers() query for checking this. |
| |
| * page/FrameView.cpp: |
| (WebCore::FrameView::FrameView): |
| (WebCore::FrameView::useSlowRepaints): |
| (WebCore::FrameView::addFixedObject): |
| (WebCore::FrameView::removeFixedObject): |
| * page/FrameView.h: |
| (FrameView): |
| (WebCore::FrameView::fixedObjects): |
| (WebCore::FrameView::hasFixedObjects): |
| * page/scrolling/ScrollingCoordinator.cpp: |
| (WebCore::ScrollingCoordinator::frameViewFixedObjectsDidChange): |
| (WebCore::ScrollingCoordinator::hasNonLayerFixedObjects): |
| (WebCore): |
| (WebCore::ScrollingCoordinator::updateShouldUpdateScrollLayerPositionOnMainThread): |
| (WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPosition): |
| (WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer): |
| * page/scrolling/ScrollingCoordinator.h: |
| (ScrollingCoordinator): |
| * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp: |
| (WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPosition): |
| (WebCore): |
| (WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer): |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::willBeDestroyed): |
| (WebCore::RenderBox::styleWillChange): |
| * rendering/RenderLayerBacking.cpp: |
| (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::RenderLayerCompositor::updateBacking): |
| (WebCore): |
| (WebCore::RenderLayerCompositor::fixedPositionedByAncestor): |
| (WebCore::RenderLayerCompositor::ensureRootLayer): |
| * rendering/RenderLayerCompositor.h: |
| |
| 2012-06-14 Alexey Proskuryakov <ap@apple.com> |
| |
| [CFNetwork] XMLHttpRequest incorrectly returns cached responses even when there is a Vary header field |
| https://bugs.webkit.org/show_bug.cgi?id=88925 |
| |
| Reviewed by David Kilzer. |
| |
| Test: http/tests/cache/xhr-vary-header.html |
| |
| * platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::willCacheResponse): Don't |
| cache the response at all if there is a Vary header field. CFNetwork won't look at |
| it if we allowed the response cached. |
| |
| * platform/network/mac/ResourceHandleMac.mm: |
| (WebCore::ResourceHandle::createNSURLConnection): [NSURLResponse copy] is mutable |
| in practice, but we should be nice, and use -mutableCopy. |
| (-[WebCoreResourceHandleAsDelegate connection:willCacheResponse:]): Same fix as in |
| CFNet code. |
| |
| 2012-06-13 Andrey Kosyakov <caseq@chromium.org> |
| |
| Web Inspector: use CSS gradients instead of images for timeline bars, checkboxes & bullets |
| https://bugs.webkit.org/show_bug.cgi?id=89024 |
| |
| Reviewed by Pavel Feldman. |
| |
| This brings a bunch of UI changes to the way Timeline bars and related controls are rendered: |
| |
| - introduce new color palette for categories; |
| - replace images used to render timeline bars, list bullets and categories checkboxes with CSS gradients; |
| - "flatten" timeline bars |
| - make square list bullets, sharpen corners for lower pane bars; |
| - make links on the list sidebar grey |
| - add more space between categories checkboxes, make labels lighter. |
| |
| * WebCore.gypi: Remove old images, add tickMark.png. |
| * inspector/front-end/Images/timelineBarBlue.png: Removed. |
| * inspector/front-end/Images/timelineBarDarkGreen.png: Removed. |
| * inspector/front-end/Images/timelineBarGray.png: Removed. |
| * inspector/front-end/Images/timelineBarGreen.png: Removed. |
| * inspector/front-end/Images/timelineBarLightPurple.png: Removed. |
| * inspector/front-end/Images/timelineBarOrange.png: Removed. |
| * inspector/front-end/Images/timelineBarPurple.png: Removed. |
| * inspector/front-end/Images/timelineBarRed.png: Removed. |
| * inspector/front-end/Images/timelineBarYellow.png: Removed. |
| * inspector/front-end/Images/timelineCheckmarks.png: Removed. |
| * inspector/front-end/Images/timelineDots.png: Removed. |
| * inspector/front-end/TimelinePanel.js: |
| (WebInspector.TimelinePanel.prototype.wasShown): |
| (WebInspector.TimelinePanel.prototype._closeRecordDetails): Fixed trailing spaces; |
| (WebInspector.TimelinePanel.prototype._injectCategoryStyles): Inject generated styles for categories, if necessary. |
| * inspector/front-end/TimelinePresentationModel.js: |
| (WebInspector.TimelinePresentationModel.categories): |
| (WebInspector.TimelinePresentationModel.createFillStyle): |
| (WebInspector.TimelinePresentationModel.createStyleRuleForCategory): |
| * inspector/front-end/WebKit.qrc: Remove old images, add tickMark.png |
| * inspector/front-end/inspector.css: |
| (.sidebar-tree-section): |
| * inspector/front-end/timelinePanel.css: |
| (#timeline-container .webkit-html-resource-link): |
| (.timeline-category-statusbar-item): |
| (.timeline-category-statusbar-item .timeline-category-checkbox): |
| (.timeline-category-statusbar-item .timeline-category-checkbox:checked::before): |
| (.timeline-tree-item): |
| (.timeline-tree-item .timeline-tree-icon): |
| (.timeline-graph-bar): |
| (.timeline-graph-bar.with-children): |
| (.timeline-graph-bar.cpu): |
| (.timeline-aggregated-category): |
| * inspector/front-end/utilities.js: |
| (Object.values): Return an array of object field's values. |
| |
| 2012-06-14 Silvia Pfeiffer <silviapf@chromium.org> |
| |
| Change mute button and volume slider behaviour for new Chromium video controls. |
| https://bugs.webkit.org/show_bug.cgi?id=88743 |
| |
| Reviewed by Eric Carlson. |
| |
| No new tests, final patch will contain the rebaselined tests. |
| |
| The Chrome video controls are receiving a visual update. This patch makes the mute button and |
| the volume slider interact with each other. When the user mutes the video through clicking the |
| mute button, the volume slider animates to 0% volume. Upon unmute, the previous volume level |
| is restored. Further, when the user drags the volume slider thumb or clicks on the slider and |
| the video is muted, the video unmutes and sets the volume to the user's chosen level. |
| |
| * html/shadow/MediaControlElements.cpp: |
| (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement): |
| Add a member field to the volume slider to allow user interaction to unmute the video. |
| (WebCore::MediaControlVolumeSliderElement::defaultEventHandler): |
| Add the logic to unmute the video if the m_clearMutedOnUserInteraction member field is true. |
| (WebCore::MediaControlVolumeSliderElement::setClearMutedOnUserInteraction): |
| Add a member function to change the value of the m_clearMutedOnUserInteraction member field. |
| * html/shadow/MediaControlElements.h: |
| (MediaControlVolumeSliderElement): |
| Add the setClearMutedOnUserInteraction member function and the m_clearMutedOnUserInteraction member field. |
| * html/shadow/MediaControlRootElementChromium.cpp: |
| (WebCore::MediaControlRootElementChromium::create): |
| Activate unmute on user interaction on the Chromium video volume slider. |
| (WebCore::MediaControlRootElementChromium::changedMute): |
| Add logic to set volume slider to 0 when muted and reset to volume when unmuted. |
| * rendering/RenderMediaControlsChromium.cpp: |
| (WebCore::paintMediaVolumeSlider): |
| Add logic to paint the volume slider active area as 0 when muted. |
| |
| 2012-06-14 Vsevolod Vlasov <vsevik@chromium.org> |
| |
| Web Inspector: Breakpoints should not be set when UISourceCode content is diverged from VM version of the script. |
| https://bugs.webkit.org/show_bug.cgi?id=89109 |
| |
| Reviewed by Pavel Feldman. |
| |
| * inspector/front-end/BreakpointManager.js: |
| (WebInspector.BreakpointManager.Breakpoint.prototype._updateBreakpoint): |
| * inspector/front-end/JavaScriptSource.js: |
| (WebInspector.JavaScriptSource.prototype.isDivergedFromVM): |
| (WebInspector.JavaScriptSource.prototype.workingCopyCommitted): |
| |
| 2012-06-14 Vsevolod Vlasov <vsevik@chromium.org> |
| |
| Web Inspector: DebuggerModel should support setting breakpoints without script by sourceURL only. |
| https://bugs.webkit.org/show_bug.cgi?id=88988 |
| |
| Reviewed by Pavel Feldman. |
| |
| This change allows setting all saved breakpoints in debugger model by url before the site |
| with corresponding scripts was loaded (allows breaking in onload handler on first load). |
| This change also simplifies implementation of snippets debugging. |
| |
| * inspector/front-end/BreakpointManager.js: |
| * inspector/front-end/DebuggerModel.js: |
| (WebInspector.DebuggerModel.prototype.setBreakpointByScriptLocation): |
| |
| 2012-06-14 Pavel Feldman <pfeldman@chromium.org> |
| |
| Web Inspector: refactor settings screen to move user agent and experiments out of general tab. |
| https://bugs.webkit.org/show_bug.cgi?id=89101 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| See image attached to the bug. |
| |
| * English.lproj/localizedStrings.js: |
| * inspector/front-end/SettingsScreen.js: |
| (WebInspector.SettingsScreen.prototype.selectTab): |
| (WebInspector.SettingsScreen.prototype._tabSelected): |
| (WebInspector.SettingsScreen.prototype.set wasShown): |
| (WebInspector.SettingsScreen.prototype.willHide): |
| (WebInspector.SettingsTab): |
| (WebInspector.SettingsTab.prototype._appendSection): |
| (WebInspector.SettingsTab.prototype._createCustomSetting): |
| (WebInspector.GenericSettingsTab): |
| (WebInspector.GenericSettingsTab.prototype._showPaintRectsChanged): |
| (WebInspector.GenericSettingsTab.prototype.get _updateScriptDisabledCheckbox): |
| (WebInspector.GenericSettingsTab.prototype._javaScriptDisabledChanged): |
| (WebInspector.UserAgentSettingsTab): |
| (WebInspector.UserAgentSettingsTab.prototype._createUserAgentSelectRowElement.get const): |
| (WebInspector.UserAgentSettingsTab.prototype._createUserAgentSelectRowElement.textDoubleClicked): |
| (WebInspector.UserAgentSettingsTab.prototype._createUserAgentSelectRowElement.textChanged): |
| (WebInspector.UserAgentSettingsTab.prototype._createUserAgentSelectRowElement.set checkboxClicked): |
| (WebInspector.UserAgentSettingsTab.prototype._createDeviceMetricsElement): |
| (WebInspector.ExperimentsSettingsTab): |
| (WebInspector.ExperimentsSettingsTab.prototype._createExperimentsWarningSubsection): |
| (WebInspector.ExperimentsSettingsTab.prototype._createExperimentCheckbox.listener): |
| (WebInspector.ExperimentsSettingsTab.prototype._createExperimentCheckbox): |
| * inspector/front-end/ShortcutsScreen.js: |
| * inspector/front-end/TabbedPane.js: |
| (WebInspector.TabbedPane.prototype.get headerContentsElement): |
| * inspector/front-end/helpScreen.css: |
| (.settings-tab.help-container): |
| (.settings-tab .help-block): |
| (.help-content fieldset): |
| (#settings-screen .tabbed-pane-header-tabs): |
| (#settings-screen .tabbed-pane-header-tab): |
| |
| 2012-06-13 Mark Hahnenberg <mhahnenberg@apple.com> |
| |
| Worker tear-down can re-enter JSC during GC finalization pt. 2 |
| https://bugs.webkit.org/show_bug.cgi?id=88601 |
| |
| Reviewed by David Levin. |
| |
| No new tests. Current regression tests are sufficient. |
| |
| * workers/WorkerMessagingProxy.cpp: |
| (WebCore::WorkerMessagingProxy::WorkerMessagingProxy): |
| (WebCore::WorkerMessagingProxy::workerObjectDestroyed): We clear the m_workerObject here because |
| we don't want anybody else trying to send messages to the Worker now that it has been destroyed. |
| We also queue the asynchronous task for the various other cleanup that still needs to be done. |
| This allows us to avoid the problem of re-entrant JS code execution during GC. |
| (WebCore): |
| (WebCore::WorkerMessagingProxy::workerObjectDestroyedInternal): Here we set m_mayBeDestroyed to true. |
| This is the point after which deleting the WorkerMessagingProxy in workerContextDestroyedInternal() |
| is okay. It could happen during this function call if the worker thread has been shutdown already, or |
| it could be called later after we shut down the worker thread. |
| (WebCore::WorkerMessagingProxy::workerContextDestroyedInternal): We check m_mayBeDestroyed here |
| instead of checking m_workerObject. This change effectively orthogonalizes the roles that m_workerObject |
| was filling. Since we were eagerly clearing m_workerObject, but we wanted to asynchronously call |
| workerObjectDestroyed(), we needed to make sure we didn't accidentally try to delete the WorkerMessagingProxy |
| twice (once from destroying the Worker and once from destroying the WorkerContext). This boolean field |
| should fix that issue--we set it lazily like we wanted to do without being in danger of causing use-after-free |
| issues with m_workerObject. |
| * workers/WorkerMessagingProxy.h: Added the new field and function. |
| (WorkerMessagingProxy): |
| |
| 2012-06-14 Alexander Pavlov <apavlov@chromium.org> |
| |
| Web Inspector: Selector list start position is not extracted for style rules inside @media rules |
| https://bugs.webkit.org/show_bug.cgi?id=89094 |
| |
| Reviewed by Pavel Feldman. |
| |
| Selector list start is now marked inside the "ruleset" rule rather than separately, before its invocation(s). |
| |
| * css/CSSGrammar.y: |
| |
| 2012-06-14 Eric Penner <epenner@google.com> |
| |
| [chromium] Fix race condition where animations start, finish and are deleted on the composite thread, all before the start even arrives on the main thread. |
| https://bugs.webkit.org/show_bug.cgi?id=88439 |
| |
| Reviewed by James Robinson. |
| |
| Scheduling behavior covered by existing tests. |
| |
| * platform/graphics/chromium/cc/CCActiveAnimation.cpp: |
| (WebCore::CCActiveAnimation::isFinishedAt): |
| * platform/graphics/chromium/cc/CCActiveAnimation.h: |
| (WebCore::CCActiveAnimation::isFinished): |
| * platform/graphics/chromium/cc/CCLayerAnimationController.cpp: |
| (WebCore::CCLayerAnimationController::suspendAnimations): |
| (WebCore::CCLayerAnimationController::pushAnimationUpdatesTo): |
| (WebCore::CCLayerAnimationController::animate): |
| (WebCore::CCLayerAnimationController::hasActiveAnimation): |
| (WebCore): |
| (WebCore::CCLayerAnimationController::markAnimationsForDeletion): |
| (WebCore::CCLayerAnimationController::purgeAnimationsMarkedForDeletion): |
| * platform/graphics/chromium/cc/CCLayerAnimationController.h: |
| (CCLayerAnimationController): |
| |
| 2012-06-14 Vsevolod Vlasov <vsevik@chromium.org> |
| |
| Web Inspector: ConsoleView.evaluateUsingTextPrompt should evaluate without command line API. |
| https://bugs.webkit.org/show_bug.cgi?id=89096 |
| |
| Reviewed by Pavel Feldman. |
| |
| * inspector/front-end/ConsoleView.js: |
| |
| 2012-06-14 Silvia Pfeiffer <silviapf@chromium.org> |
| |
| Update the time display of the new Chromium media controls. |
| https://bugs.webkit.org/show_bug.cgi?id=88724 |
| |
| Reviewed by Eric Carlson. |
| |
| No new tests, final patch will contain the rebaselined tests. |
| |
| The Chrome video controls are receiving a visual update. This patch changes |
| the format of the time digits that are displayed. They are different for media |
| files of different duration. For non-autoplaying videos, the duration is shown |
| before playback is started. |
| |
| * css/mediaControlsChromium.css: |
| (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display): |
| Format the new duration display the same as the current time display. |
| * html/shadow/MediaControlRootElementChromium.cpp: |
| (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium): |
| Add a member field for the duration display. |
| (WebCore::MediaControlRootElementChromium::create): |
| Add an element for the duration display and initially hide the current time display. |
| (WebCore::MediaControlRootElementChromium::setMediaController): |
| Add the duration display to the controller. |
| (WebCore::MediaControlRootElementChromium::reset): |
| Add reset functionality for the duration display. |
| (WebCore::MediaControlRootElementChromium::playbackStarted): |
| Show the current time display and hide the duration display upon playback start. |
| (WebCore::MediaControlRootElementChromium::updateTimeDisplay): |
| Show the current time display and hide the duration display when current time is non-zero. |
| * html/shadow/MediaControlRootElementChromium.h: |
| (WebCore): |
| Add the MediaControlTimeRemainingDisplayElement which provides use with the duration display. |
| (MediaControlRootElementChromium): |
| Add a duration member field, reusing the existing MediaControlTimeRemainingDisplayElement. |
| * rendering/RenderMediaControlsChromium.cpp: |
| (WebCore::formatChromiumMediaControlsTime): |
| Formats a given time under the condition of a given duration. |
| (WebCore::RenderMediaControlsChromium::formatMediaControlsTime): |
| When formatting a single time, assume it to also provide the duration conditions. |
| (WebCore::RenderMediaControlsChromium::formatMediaControlsCurrentTime): |
| Format the current time given the duration. |
| (WebCore::RenderMediaControlsChromium::formatMediaControlsRemainingTime): |
| Format the remaining time from the current time given the duration. |
| * rendering/RenderMediaControlsChromium.h: |
| (RenderMediaControlsChromium): |
| Declare the time formatting member functions. |
| * rendering/RenderThemeChromiumMac.h: |
| (RenderThemeChromiumMac): |
| Declare the time formatting member functions for Chromium on the Mac. |
| * rendering/RenderThemeChromiumMac.mm: |
| (WebCore::RenderThemeChromiumMac::formatMediaControlsTime): |
| (WebCore::RenderThemeChromiumMac::formatMediaControlsCurrentTime): |
| (WebCore::RenderThemeChromiumMac::formatMediaControlsRemainingTime): |
| Call the time formatting member functions of RenderMediaControlsChromium on the Mac. |
| * rendering/RenderThemeChromiumSkia.cpp: |
| (WebCore::formatMediaControlsTime): |
| (WebCore::formatMediaControlsCurrentTime): |
| (WebCore::formatMediaControlsRemainingTime): |
| Call the time formatting member functions of RenderMediaControlsChromium on Skia. |
| * rendering/RenderThemeChromiumSkia.h: |
| (RenderThemeChromiumSkia): |
| Declare the time formatting member functions for Chromium Skia. |
| |
| 2012-06-14 Eugene Klyuchnikov <eustas.bug@gmail.com> |
| |
| Web Inspector: Refactor message loop instrumentation. |
| https://bugs.webkit.org/show_bug.cgi?id=88978 |
| |
| Reviewed by Pavel Feldman. |
| |
| 1) Remove "messageLoop" term |
| 2) Reuse WebThread::TaskObserver interface |
| 3) Move implementation (from embedder) to platform code. |
| |
| * inspector/InspectorClient.h: |
| (WebCore::InspectorClient::startMainThreadMonitoring): Renamed method. |
| (WebCore::InspectorClient::stopMainThreadMonitoring): Ditto. |
| * inspector/InspectorTimelineAgent.cpp: |
| (WebCore::InspectorTimelineAgent::start): |
| (WebCore::InspectorTimelineAgent::stop): |
| |
| 2012-06-14 Dominik Röttsches <dominik.rottsches@intel.com> |
| |
| [svg] SVGResources applied to Text with Incorrect Transformations in non-CG Implementations |
| https://bugs.webkit.org/show_bug.cgi?id=64966 |
| |
| Reviewed by Nikolas Zimmermann. |
| |
| SVGInlineTextBox::paintTextWithShadows for non-CG implementations resets the scale aspect |
| of the currently applied CTM. This leads to patterns and gradients being incorrectly downscaled. |
| This way of resetting the CTM and drawing fonts "natively" scaled was introduced |
| in r77485 to fix a number of issues with SVG font scaling. |
| Unfortunately, this breaks scaling of patterns and gradients. To fix it, |
| we need to push the transformation back into the pattern/gradient space transformation. |
| |
| Tests: svg/transforms/transformed-text-fill-gradient.html |
| svg/transforms/transformed-text-fill-pattern.html |
| |
| * rendering/svg/RenderSVGInlineText.cpp: |
| (WebCore::RenderSVGInlineText::computeNewScaledFontForStyle): Moving the scaling factor calculation out into SVGRenderingContext. |
| * rendering/svg/RenderSVGResourceContainer.cpp: |
| (WebCore::RenderSVGResourceContainer::shouldTransformOnTextPainting): Reusing the scaling factor calculation from SVGRenderingContext. |
| (WebCore): |
| * rendering/svg/RenderSVGResourceContainer.h: |
| (RenderSVGResourceContainer): |
| * rendering/svg/RenderSVGResourceGradient.cpp: |
| (WebCore::RenderSVGResourceGradient::applyResource): If needed, push down transformation into gradient space. |
| * rendering/svg/RenderSVGResourcePattern.cpp: |
| (WebCore::RenderSVGResourcePattern::applyResource): If needed, push transformation into pattern space. |
| * rendering/svg/SVGRenderingContext.cpp: |
| (WebCore::SVGRenderingContext::calculateScreenFontSizeScalingFactor): Common scaling factor calculation for RenderSVGInlineText and RenderSVGResourceContainer. |
| * rendering/svg/SVGRenderingContext.h: |
| (SVGRenderingContext): |
| |
| 2012-06-14 Yoshifumi Inoue <yosin@chromium.org> |
| |
| [Form] Replace InputNumber type to Decimal type and drop InputNumber |
| https://bugs.webkit.org/show_bug.cgi?id=88746 |
| |
| Reviewed by Kent Tamura. |
| |
| This patch removes InputNumber introduced by r119540 by replacing |
| InputNumber type to Decimal type and changing convertDoubleToDecimal |
| and convertDecimalToDouble to Decimal::fromDouble and |
| Decimal::toDouble, respectively. |
| |
| No new tests. This patch doesn't change behavior. |
| |
| * html/BaseDateAndTimeInputType.cpp: |
| (WebCore::BaseDateAndTimeInputType::setValueAsDecimal): |
| (WebCore::BaseDateAndTimeInputType::defaultValueForStepUp): |
| (WebCore::BaseDateAndTimeInputType::parseToNumber): |
| (WebCore::BaseDateAndTimeInputType::serialize): |
| (WebCore::BaseDateAndTimeInputType::serializeWithComponents): |
| (WebCore::BaseDateAndTimeInputType::serializeWithMilliseconds): |
| * html/BaseDateAndTimeInputType.h: |
| (BaseDateAndTimeInputType): |
| * html/DateInputType.cpp: |
| (WebCore::DateInputType::createStepRange): |
| * html/DateTimeInputType.cpp: |
| (WebCore::DateTimeInputType::defaultValueForStepUp): |
| (WebCore::DateTimeInputType::createStepRange): |
| * html/DateTimeInputType.h: |
| (DateTimeInputType): |
| * html/DateTimeLocalInputType.cpp: |
| (WebCore::DateTimeLocalInputType::createStepRange): |
| * html/HTMLInputElement.cpp: |
| (WebCore::HTMLInputElement::getAllowedValueStep): |
| * html/HTMLInputElement.h: |
| (HTMLInputElement): |
| * html/InputType.cpp: |
| (WebCore::InputType::setValueAsDouble): |
| (WebCore::InputType::setValueAsDecimal): |
| (WebCore::InputType::rangeUnderflow): |
| (WebCore::InputType::rangeOverflow): |
| (WebCore::InputType::defaultValueForStepUp): |
| (WebCore::InputType::minimum): |
| (WebCore::InputType::maximum): |
| (WebCore::InputType::isInRange): |
| (WebCore::InputType::isOutOfRange): |
| (WebCore::InputType::stepMismatch): |
| (WebCore::InputType::validationMessage): |
| (WebCore::InputType::parseToNumber): |
| (WebCore::InputType::parseToNumberOrNaN): |
| (WebCore::InputType::serialize): |
| (WebCore::InputType::applyStep): |
| (WebCore::InputType::getAllowedValueStep): |
| (WebCore::InputType::stepUpFromRenderer): |
| * html/InputType.h: |
| (InputType): |
| * html/MonthInputType.cpp: |
| (WebCore::MonthInputType::defaultValueForStepUp): |
| (WebCore::MonthInputType::createStepRange): |
| (WebCore::MonthInputType::parseToNumber): |
| * html/MonthInputType.h: |
| (MonthInputType): |
| * html/NumberInputType.cpp: |
| (WebCore::NumberInputType::setValueAsDecimal): |
| (WebCore::NumberInputType::createStepRange): |
| (WebCore::NumberInputType::parseToNumber): |
| (WebCore::NumberInputType::serialize): |
| * html/NumberInputType.h: |
| (NumberInputType): |
| * html/RangeInputType.cpp: |
| (WebCore::ensureMaximum): |
| (WebCore::RangeInputType::setValueAsDecimal): |
| (WebCore::RangeInputType::createStepRange): |
| (WebCore::RangeInputType::handleKeydownEvent): |
| (WebCore::RangeInputType::parseToNumber): |
| (WebCore::RangeInputType::serialize): |
| (WebCore::RangeInputType::sanitizeValue): |
| * html/RangeInputType.h: |
| (RangeInputType): |
| * html/StepRange.cpp: |
| (WebCore::StepRange::StepRange): |
| (WebCore::StepRange::acceptableError): |
| (WebCore::StepRange::alignValueForStep): |
| (WebCore::StepRange::clampValue): |
| (WebCore::StepRange::parseStep): |
| (WebCore::StepRange::roundByStep): |
| (WebCore::StepRange::stepMismatch): |
| * html/StepRange.h: |
| (WebCore::StepRange::StepDescription::defaultValue): |
| (StepRange): |
| (WebCore::StepRange::maximum): |
| (WebCore::StepRange::minimum): |
| (WebCore::StepRange::step): |
| (WebCore::StepRange::stepBase): |
| (WebCore::StepRange::defaultValue): |
| (WebCore::StepRange::proportionFromValue): |
| (WebCore::StepRange::valueFromProportion): |
| * html/TimeInputType.cpp: |
| (WebCore::TimeInputType::defaultValueForStepUp): |
| (WebCore::TimeInputType::createStepRange): |
| * html/TimeInputType.h: |
| (TimeInputType): |
| * html/WeekInputType.cpp: |
| (WebCore::WeekInputType::createStepRange): |
| * html/shadow/CalendarPickerElement.cpp: |
| (WebCore::CalendarPickerElement::writeDocument): |
| * html/shadow/SliderThumbElement.cpp: |
| (WebCore::sliderPosition): |
| (WebCore::RenderSliderThumb::layout): |
| (WebCore::SliderThumbElement::setPositionFromPoint): |
| |
| 2012-06-14 Jan Keromnes <janx@linux.com> |
| |
| Web Inspector: Implement ExtensionPanel.show() method |
| https://bugs.webkit.org/show_bug.cgi?id=88473 |
| |
| Implemented ExtensionPanel.show() API method to allow extension |
| developers to show their panel when needed. |
| |
| Reviewed by Pavel Feldman. |
| |
| Tests for this method are in: |
| LayoutTests/inspector/extensions/extensions-panel.html |
| |
| * inspector/front-end/ExtensionAPI.js: |
| (defineCommonExtensionSymbols): |
| (injectedExtensionAPI.ExtensionPanelImpl.prototype.createStatusBarButton): |
| (injectedExtensionAPI.ExtensionPanelImpl.prototype.show): |
| * inspector/front-end/ExtensionServer.js: |
| (WebInspector.ExtensionServer): |
| (WebInspector.ExtensionServer.prototype._onShowPanel): |
| |
| 2012-06-14 Kent Tamura <tkent@chromium.org> |
| |
| Fix a typo in r120304. |
| https://bugs.webkit.org/show_bug.cgi?id=89070 |
| |
| * bindings/scripts/CodeGeneratorV8.pm: |
| (NativeToJSValue): |
| * bindings/scripts/test/V8/V8TestObj.cpp: |
| |
| 2012-06-14 David Barr <davidbarr@chromium.org> |
| |
| Add dpcm to css3-images image-resolution |
| https://bugs.webkit.org/show_bug.cgi?id=85442 |
| |
| Reviewed by Tony Chang. |
| |
| The css3-images module is at candidate recommendation. |
| http://www.w3.org/TR/2012/CR-css3-images-20120417/#the-image-resolution |
| |
| No new tests; extended fast/css/image-resolution/image-resolution.html |
| |
| * css/CSSGrammar.y: Add DPCM token and unary term. |
| * css/CSSParser.cpp: Extend range of units accepted for resolution and tokenize "dpcm". |
| (WebCore::CSSParser::validUnit): Accept CSSPrimitiveValue::CSS_DPCM. |
| (WebCore::CSSParser::createPrimitiveNumericValue): Accept CSSPrimitiveValue::CSS_DPCM. |
| (WebCore::unitFromString): Map "dpcm" to CSSPrimitiveValue::CSS_DPCM. |
| (WebCore::CSSParser::parseValidPrimitive): Accept CSSPrimitiveValue::CSS_DPCM. |
| (WebCore::CSSParser::detectNumberToken): Map "dpcm" to CSSPrimitiveValue::CSS_DPCM. |
| * css/CSSPrimitiveValue.cpp: Add CSSPrimitiveValue::CSS_DPCM as a numeric unit. |
| (WebCore::isValidCSSUnitTypeForDoubleConversion): Accept CSSPrimitiveValue::CSS_DPCM. |
| (WebCore::unitCategory): Map CSSPrimitiveValue::CSS_DPCM to CSSPrimitiveValue::UResolution. |
| (WebCore::conversionToCanonicalUnitsScaleFactor): Scale CSSPrimitiveValue::CSS_DPCM to CSSPrimitiveValue::CSS_DPPX. |
| (WebCore::CSSPrimitiveValue::customCssText): Format CSSPrimitiveValue::CSS_DPCM as "<num>dpcm". |
| (WebCore::CSSPrimitiveValue::cloneForCSSOM): Accept CSSPrimitiveValue::CSS_DPCM as numeric unit. |
| * css/CSSPrimitiveValue.h: Add CSSPrimitiveValue::CSS_DPCM. |
| |
| 2012-06-14 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: REGRESSION HeapProfiler can't remove heap snapshot from the list if Dominators view has been opened. |
| https://bugs.webkit.org/show_bug.cgi?id=89080 |
| |
| There was no dispose method on artificial ShowMoreDataGrid node. |
| |
| Reviewed by Pavel Feldman. |
| |
| * inspector/front-end/ShowMoreDataGridNode.js: |
| (WebInspector.ShowMoreDataGridNode.prototype.nodeHeight): |
| (WebInspector.ShowMoreDataGridNode.prototype.dispose): |
| |
| 2012-06-14 Kent Tamura <tkent@chromium.org> |
| |
| [JSC/V8] Improve DOMString[] support |
| https://bugs.webkit.org/show_bug.cgi?id=89070 |
| |
| Reviewed by Kentaro Hara. |
| |
| Tests: new test case in TestObj.idl |
| |
| * bindings/js/JSDOMBinding.cpp: |
| (WebCore::jsArray): Implement jsArray() for DOMStringList. |
| * bindings/js/JSDOMBinding.h: Declare jsArray() for DOMStringList. |
| * bindings/scripts/CodeGeneratorJS.pm: |
| (NativeToJSValue): Avoid to include JSDOMString.h and DOMString.h. |
| * bindings/scripts/CodeGeneratorV8.pm: |
| (GetNativeType): Move a check for DOMString[] because it's a RefPtr type |
| and we'd like to avoid to generate RefPtr<DOMString[]> |
| (%non_wrapper_types): DOMString[] is not a wrapper type. This is needed |
| to avoid to generate unnecessary custom function template. |
| (NativeToJSValue): Avoid to include V8DOMString.h and DOMString.h. |
| |
| * bindings/scripts/test/TestObj.idl: Add non-overload function using DOMString[]. |
| * bindings/scripts/test/JS/JSTestObj.cpp: Update expectation. |
| * bindings/scripts/test/JS/JSTestObj.h: ditto. |
| * bindings/scripts/test/V8/V8TestObj.cpp: ditto. |
| |
| 2012-06-14 Matt Falkenhagen <falken@chromium.org> |
| |
| LocaleToScriptMappingDefault.cpp should also do what scriptCodeForFontSelection does in LocaleToScriptMappingICU.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=88845 |
| |
| Reviewed by Kent Tamura. |
| |
| Test: fast/text/international/jpan-script-equivalence.html |
| |
| * platform/text/LocaleToScriptMappingDefault.cpp: |
| (WebCore::scriptNameToCode): |
| |
| 2012-06-14 Pavel Feldman <pfeldman@chromium.org> |
| |
| Web Inspector: render dock-to-right icon in status bar. |
| https://bugs.webkit.org/show_bug.cgi?id=89040 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| Today we render dock to bottom icon for both actions (dock to bottom and dock to right). |
| |
| * inspector/front-end/Images/statusbarButtonGlyphs.png: |
| * inspector/front-end/inspector.css: |
| (button.dock-status-bar-item.status-bar-item.toggled-undock .glyph): |
| (button.dock-status-bar-item.status-bar-item.toggled-bottom .glyph): |
| (button.dock-status-bar-item.status-bar-item.toggled-right .glyph): |
| * inspector/front-end/inspector.js: |
| (WebInspector._createGlobalStatusBarItems): |
| (WebInspector._installDockToRight.listener): |
| (windowLoaded): |
| (WebInspector.setDockingUnavailable): |
| |
| 2012-06-14 Pavel Feldman <pfeldman@chromium.org> |
| |
| Web Inspector: clear execution live before the text edit. |
| https://bugs.webkit.org/show_bug.cgi?id=89016 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| Otherwise we can't remove them after committing the edit. |
| |
| * inspector/front-end/JavaScriptSourceFrame.js: |
| (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged): |
| (WebInspector.JavaScriptSourceFrame.prototype.clearExecutionLine): |
| |
| 2012-06-14 Min Qin <qinmin@google.com> |
| |
| Remove the const keyword from MediaPlayerPrivate::enterFullscreen() |
| https://bugs.webkit.org/show_bug.cgi?id=89044 |
| |
| Reviewed by Adam Barth. |
| |
| enterFullscreen() and exitFullscreen() could both modify the player state. |
| This change reverts the change we made in r120213. |
| |
| Just function declaration change, no test needed. |
| |
| * platform/graphics/MediaPlayerPrivate.h: |
| (WebCore::MediaPlayerPrivateInterface::enterFullscreen): |
| |
| 2012-06-14 Edaena Salinas Jasso <edaena@apple.com> |
| |
| el.getAttribute('type') returns 'null' when setting el.type to null |
| https://bugs.webkit.org/show_bug.cgi?id=89030 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Test: fast/dom/HTMLButtonElement/change-type.html |
| |
| * html/HTMLButtonElement.cpp: |
| (WebCore::HTMLButtonElement::setType): Changed parameter to be AtomicString to |
| address an unrelated review comment from bug 14439 for slightly better performance. |
| * html/HTMLButtonElement.h: |
| (HTMLButtonElement): Changed parameter to be AtomicString to address an unrelated |
| review comment from bug 14439 for slightly better performance. |
| * html/HTMLButtonElement.idl: Specified TreatNullAs NullString for the type attribute. |
| |
| 2012-06-14 Alec Flett <alecflett@chromium.org> |
| |
| IndexedDB: Creating a transaction from within a transaction callback should fail |
| https://bugs.webkit.org/show_bug.cgi?id=80547 |
| |
| Reviewed by Tony Chang. |
| |
| Prevent creation of a transaction, via IDBDatabase.transaction() |
| or IDBDatabase.setVersion(), from inside a setVersion() |
| transaction, as per spec. Update many tests to deal with this. |
| |
| Test restructuring uncovered some inconsistencies in transaction |
| mode handling. So also do some minor cleanup in the way the |
| transaction mode is passed between the frontend and backend |
| transaction objects, and add additional asserts. |
| |
| * Modules/indexeddb/IDBCursor.cpp: |
| (WebCore::IDBCursor::update): |
| * Modules/indexeddb/IDBCursorBackendImpl.cpp: |
| (WebCore::IDBCursorBackendImpl::update): |
| * Modules/indexeddb/IDBDatabase.cpp: |
| (WebCore::IDBDatabase::setVersion): |
| (WebCore::IDBDatabase::transaction): |
| * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: |
| (WebCore::IDBObjectStoreBackendImpl::putInternal): |
| * Modules/indexeddb/IDBRequest.cpp: |
| (WebCore::IDBRequest::onSuccess): |
| * Modules/indexeddb/IDBTransaction.cpp: |
| (WebCore::IDBTransaction::create): |
| (WebCore::IDBTransaction::IDBTransaction): |
| (WebCore::IDBTransaction::stringToMode): |
| (WebCore::IDBTransaction::modeToString): |
| * Modules/indexeddb/IDBTransaction.h: |
| (IDBTransaction): |
| |
| 2012-06-14 Li Yin <li.yin@intel.com> |
| |
| [WebSocket] WebSocket object in Worker Context should fire error event when it fails connection. |
| https://bugs.webkit.org/show_bug.cgi?id=88744 |
| |
| Reviewed by Kent Tamura. |
| |
| Spec:http://dev.w3.org/html5/websockets/#feedback-from-the-protocol |
| The behavior of firing error event in Document has been implemented in Committed r117944. |
| WebSocket in WorkerContext is also required to fire error event. |
| |
| Test: http/tests/websocket/tests/hybi/workers/close.html |
| |
| * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp: |
| (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageError): |
| (WebCore): |
| (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageErrorCallback): |
| * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h: |
| (ThreadableWebSocketChannelClientWrapper): |
| * Modules/websockets/WorkerThreadableWebSocketChannel.cpp: |
| (WebCore::workerContextDidReceiveMessageError): |
| (WebCore): |
| (WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveMessageError): |
| * Modules/websockets/WorkerThreadableWebSocketChannel.h: |
| (Peer): |
| |
| 2012-06-13 Kinuko Yasuda <kinuko@chromium.org> |
| |
| Unreviewed build fix attempt for r120285 |
| |
| * Modules/filesystem/DOMFileSystemBase.cpp: |
| (WebCore): |
| |
| 2012-06-13 MORITA Hajime <morrita@google.com> |
| |
| Unreviewed expectation update. |
| |
| * bindings/scripts/test/V8/V8Float64Array.cpp: |
| * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: |
| * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp: |
| * bindings/scripts/test/V8/V8TestEventConstructor.cpp: |
| * bindings/scripts/test/V8/V8TestEventTarget.cpp: |
| * bindings/scripts/test/V8/V8TestException.cpp: |
| * bindings/scripts/test/V8/V8TestInterface.cpp: |
| * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: |
| * bindings/scripts/test/V8/V8TestNamedConstructor.cpp: |
| * bindings/scripts/test/V8/V8TestNode.cpp: |
| * bindings/scripts/test/V8/V8TestObj.cpp: |
| (WebCore::V8TestObj::installPerContextProperties): |
| * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: |
| |
| 2012-06-13 Kinuko Yasuda <kinuko@chromium.org> |
| |
| Move isolated file system code out of chromium-specific directory |
| https://bugs.webkit.org/show_bug.cgi?id=88997 |
| |
| Reviewed by Adam Barth. |
| |
| The code does not need to be chromium-specific. Any platforms that |
| have file system implementation and manage mappings from file system |
| id to a set of files should share the code. |
| |
| No new tests as this has no functional/behavioral changes. |
| |
| * Modules/filesystem/DOMFileSystem.cpp: |
| (WebCore::DOMFileSystem::createIsolatedFileSystem): |
| (WebCore): |
| * Modules/filesystem/DOMFileSystem.h: |
| (DOMFileSystem): |
| * Modules/filesystem/DOMFileSystemBase.h: |
| (DOMFileSystemBase): |
| * Modules/filesystem/FileSystemType.h: |
| * Modules/filesystem/chromium/DOMFileSystemChromium.cpp: |
| * Modules/filesystem/chromium/DOMFileSystemChromium.h: Removed. |
| * Modules/filesystem/chromium/DraggedIsolatedFileSystem.cpp: |
| (WebCore::DraggedIsolatedFileSystem::getDOMFileSystem): |
| * WebCore.gypi: |
| |
| 2012-06-07 Kinuko Yasuda <kinuko@chromium.org> |
| |
| File::lastModifiedDate should use NaN or separate boolean flag for null Date value |
| https://bugs.webkit.org/show_bug.cgi?id=87826 |
| |
| Reviewed by Kent Tamura. |
| |
| Test: http/tests/local/fileapi/file-last-modified-after-delete.html |
| |
| * fileapi/File.cpp: |
| (WebCore::File::File): |
| (WebCore::File::captureSnapshot): |
| (WebCore::File::lastModifiedDate): |
| (WebCore::File::lastModifiedDateForBinding): Removed. |
| * fileapi/File.h: |
| (File): |
| * fileapi/File.idl: |
| * platform/FileMetadata.h: |
| (WebCore::FileMetadata::FileMetadata): |
| * platform/FileSystem.h: |
| * platform/FileStream.cpp: |
| (WebCore::FileStream::getSize): |
| * platform/chromium/support/WebHTTPBody.cpp: |
| (WebKit::WebHTTPBody::elementAt): |
| * platform/network/BlobData.h: |
| (WebCore::BlobDataItem::doNotCheckFileChange): Removed. |
| * platform/network/BlobData.cpp: |
| * platform/network/cf/FormDataStreamCFNet.cpp: |
| (WebCore::advanceCurrentStream): |
| * platform/network/soup/ResourceHandleSoup.cpp: |
| (WebCore::blobIsOutOfDate): |
| |
| 2012-06-13 Eli Fidler <efidler@rim.com> |
| |
| Fix CMake build with SMOOTH_SCROLLING enabled |
| https://bugs.webkit.org/show_bug.cgi?id=89032 |
| |
| Reviewed by Antonio Gomes. |
| |
| SMOOTH_SCROLLING pulls in ScrollAnimatorNone.cpp, which has |
| dependencies on platform/ActivePlatformGestureAnimation.cpp and |
| platform/TouchpadFlingPlatformGestureCurve.cpp |
| |
| * CMakeLists.txt: |
| |
| 2012-06-13 Mihai Balan <mibalan@adobe.com> |
| |
| Touched CSSPropertyNames.in to trigger a proper rebuild |
| |
| [CSS Regions] Adding feature defines for CSS Regions & exclusions for Windows |
| https://bugs.webkit.org/show_bug.cgi?id=88645 |
| |
| Reviewed by Sam Weinig. |
| |
| Previous work on #87442 added feature defines to allow proper disabling of CSS Regions and |
| exclusions (previously even with the feature disabled, parsing still worked). However, the |
| feature defines were enabled on Mac only - they were broken on Windows. This |
| patch adds the feature defines to (re)enable regions and exclusions on Windows. |
| |
| * css/CSSPropertyNames.in: Touched to trigger a proper rebuild. Incremental builds were broken on Windows. |
| |
| 2012-06-13 Arnaud Renevier <arno@renevier.net> |
| |
| make sure headers are included only once per file |
| https://bugs.webkit.org/show_bug.cgi?id=88931 |
| |
| Reviewed by Darin Adler. |
| |
| * Modules/indexeddb/IDBDatabase.cpp: |
| * WebCorePrefix.h: |
| * bindings/js/JSHTMLAllCollectionCustom.cpp: |
| * bindings/v8/V8Utilities.cpp: |
| * bindings/v8/custom/V8LocationCustom.cpp: |
| * bridge/NP_jsobject.cpp: |
| * editing/Editor.cpp: |
| * html/HTMLMediaElement.cpp: |
| * platform/graphics/cairo/PlatformContextCairo.cpp: |
| * rendering/InlineFlowBox.cpp: |
| |
| 2012-06-13 MORITA Hajime <morrita@google.com> |
| |
| Unreviewed typo fix. |
| |
| * platform/RefCountedSupplement.h: |
| |
| 2012-06-13 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r120268. |
| http://trac.webkit.org/changeset/120268 |
| https://bugs.webkit.org/show_bug.cgi?id=89060 |
| |
| WebCompositor::setPerTilePaintingEnabled hits an assertion in |
| DEBUG (Requested by dominicc|work on #webkit). |
| |
| * WebCore.gypi: |
| * page/Settings.cpp: |
| (WebCore::Settings::Settings): |
| * page/Settings.h: |
| (WebCore::Settings::setPerTileDrawingEnabled): |
| (WebCore::Settings::perTileDrawingEnabled): |
| (Settings): |
| (WebCore::Settings::setPartialSwapEnabled): |
| (WebCore::Settings::partialSwapEnabled): |
| (WebCore::Settings::setThreadedAnimationEnabled): |
| (WebCore::Settings::threadedAnimationEnabled): |
| * platform/graphics/chromium/ContentLayerChromium.cpp: |
| (WebCore::ContentLayerChromium::createTextureUpdaterIfNeeded): |
| * platform/graphics/chromium/LayerChromium.cpp: |
| (WebCore::LayerChromium::addAnimation): |
| * platform/graphics/chromium/LayerRendererChromium.cpp: |
| (WebCore::LayerRendererChromium::initialize): |
| * platform/graphics/chromium/TiledLayerChromium.cpp: |
| (WebCore::TiledLayerChromium::updateTileSizeAndTilingOption): |
| * platform/graphics/chromium/cc/CCDebugRectHistory.cpp: |
| (WebCore::CCDebugRectHistory::enabled): |
| (WebCore::CCDebugRectHistory::saveDebugRectsForCurrentFrame): |
| * platform/graphics/chromium/cc/CCDebugRectHistory.h: |
| (WebCore): |
| (CCDebugRectHistory): |
| * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp: |
| (WebCore::CCHeadsUpDisplay::enabled): |
| (WebCore::CCHeadsUpDisplay::showPlatformLayerTree): |
| (WebCore::CCHeadsUpDisplay::showDebugRects): |
| (WebCore::CCHeadsUpDisplay::draw): |
| (WebCore::CCHeadsUpDisplay::drawHudContents): |
| (WebCore::CCHeadsUpDisplay::drawDebugRects): |
| * platform/graphics/chromium/cc/CCHeadsUpDisplay.h: |
| (WebCore): |
| (CCHeadsUpDisplay): |
| * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: |
| (WebCore::CCLayerTreeHost::create): |
| (WebCore::CCLayerTreeHost::CCLayerTreeHost): |
| (WebCore::CCLayerTreeHost::animateLayers): |
| * platform/graphics/chromium/cc/CCLayerTreeHost.h: |
| (WebCore::CCSettings::CCSettings): |
| (CCSettings): |
| (CCLayerTreeHost): |
| (WebCore::CCLayerTreeHost::settings): |
| * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: |
| (WebCore::CCLayerTreeHostImpl::create): |
| (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl): |
| (WebCore::CCLayerTreeHostImpl::calculateRenderSurfaceLayerList): |
| (WebCore::CCLayerTreeHostImpl::animateLayers): |
| * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: |
| (CCLayerTreeHostImpl): |
| * platform/graphics/chromium/cc/CCRenderer.h: |
| (CCRendererClient): |
| (WebCore::CCRenderer::settings): |
| * platform/graphics/chromium/cc/CCSettings.cpp: Removed. |
| * platform/graphics/chromium/cc/CCSettings.h: Removed. |
| * testing/InternalSettings.cpp: |
| (WebCore::InternalSettings::setPerTileDrawingEnabled): |
| (WebCore): |
| * testing/InternalSettings.h: |
| (InternalSettings): |
| |
| 2012-06-13 Ian Vollick <vollick@chromium.org> |
| |
| [chromium] Certain settings in CCSettings could be global |
| https://bugs.webkit.org/show_bug.cgi?id=88384 |
| |
| Reviewed by James Robinson. |
| |
| No new tests. No new functionality. |
| |
| * WebCore.gypi: |
| * page/Settings.cpp: |
| (WebCore::Settings::Settings): |
| * page/Settings.h: |
| (Settings): |
| * platform/graphics/chromium/ContentLayerChromium.cpp: |
| (WebCore::ContentLayerChromium::createTextureUpdaterIfNeeded): |
| * platform/graphics/chromium/LayerChromium.cpp: |
| (WebCore::LayerChromium::addAnimation): |
| * platform/graphics/chromium/LayerRendererChromium.cpp: |
| (WebCore::LayerRendererChromium::initialize): |
| * platform/graphics/chromium/TiledLayerChromium.cpp: |
| (WebCore::TiledLayerChromium::updateTileSizeAndTilingOption): |
| * platform/graphics/chromium/cc/CCDebugRectHistory.cpp: |
| (WebCore::CCDebugRectHistory::enabled): |
| (WebCore::CCDebugRectHistory::saveDebugRectsForCurrentFrame): |
| * platform/graphics/chromium/cc/CCDebugRectHistory.h: |
| (WebCore): |
| (CCDebugRectHistory): |
| * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp: |
| (WebCore::CCHeadsUpDisplay::enabled): |
| (WebCore::CCHeadsUpDisplay::showPlatformLayerTree): |
| (WebCore::CCHeadsUpDisplay::showDebugRects): |
| (WebCore::CCHeadsUpDisplay::draw): |
| (WebCore::CCHeadsUpDisplay::drawHudContents): |
| (WebCore::CCHeadsUpDisplay::drawDebugRects): |
| * platform/graphics/chromium/cc/CCHeadsUpDisplay.h: |
| (WebCore): |
| (CCHeadsUpDisplay): |
| * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: |
| (WebCore::CCLayerTreeHost::create): |
| (WebCore::CCLayerTreeHost::CCLayerTreeHost): |
| (WebCore::CCLayerTreeHost::animateLayers): |
| * platform/graphics/chromium/cc/CCLayerTreeHost.h: |
| (WebCore::CCLayerTreeSettings::CCLayerTreeSettings): |
| (CCLayerTreeSettings): |
| (CCLayerTreeHost): |
| (WebCore::CCLayerTreeHost::settings): |
| * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: |
| (WebCore::CCLayerTreeHostImpl::create): |
| (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl): |
| (WebCore::CCLayerTreeHostImpl::calculateRenderSurfaceLayerList): |
| (WebCore::CCLayerTreeHostImpl::animateLayers): |
| * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: |
| (CCLayerTreeHostImpl): |
| * platform/graphics/chromium/cc/CCRenderer.h: |
| (CCRendererClient): |
| (WebCore::CCRenderer::settings): |
| * platform/graphics/chromium/cc/CCSettings.cpp: Added. |
| (WebCore): |
| (WebCore::CCSettings::perTilePaintingEnabled): |
| (WebCore::CCSettings::setPerTilePaintingEnabled): |
| (WebCore::CCSettings::partialSwapEnabled): |
| (WebCore::CCSettings::setPartialSwapEnabled): |
| (WebCore::CCSettings::acceleratedAnimationEnabled): |
| (WebCore::CCSettings::setAcceleratedAnimationEnabled): |
| (WebCore::CCSettings::reset): |
| * platform/graphics/chromium/cc/CCSettings.h: Added. |
| (WebCore): |
| (CCSettings): |
| * testing/InternalSettings.cpp: |
| * testing/InternalSettings.h: |
| (InternalSettings): |
| |
| 2012-06-13 Crystal Zhang <haizhang@rim.com> |
| |
| [BlackBerry] Apply New Style and JS for Select Popup |
| https://bugs.webkit.org/show_bug.cgi?id=89020 |
| |
| Reviewed by Rob Buis. |
| |
| PR 162854 |
| |
| Use new python script for data generating, as the old one is too simple and problematic. |
| |
| * PlatformBlackBerry.cmake: |
| |
| 2012-06-13 Dana Jansens <danakj@chromium.org> |
| |
| [chromium] Assert if iterating an invalid RenderSurfaceLayerList, where a layer in the list has no RenderSurface |
| https://bugs.webkit.org/show_bug.cgi?id=89004 |
| |
| Reviewed by Adrienne Walker. |
| |
| A RenderSurfaceLayerList expects that all layers in the list own a |
| RenderSurface. If an invalid RSLL is iterated over, the |
| CCLayerIterator class will now ASSERT in debug mode, as well as |
| considering the list empty in release mode. |
| |
| We will be adding code to CCLayerTreeHostImpl to save a RSLL across |
| frames, so adding a clearRenderSurfaces() method with a FIXME comment |
| to make it clear that we should clear the RSLL when we remove |
| RenderSurfaces from the layers in the saved RSLL. |
| |
| * platform/graphics/chromium/cc/CCLayerIterator.h: |
| (WebCore::CCLayerIterator::CCLayerIterator): |
| * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: |
| (WebCore::CCLayerTreeHostImpl::~CCLayerTreeHostImpl): |
| (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer): |
| (WebCore::clearRenderSurfacesOnCCLayerImplRecursive): |
| (WebCore::CCLayerTreeHostImpl::clearRenderSurfaces): |
| (WebCore): |
| * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: |
| (CCLayerTreeHostImpl): |
| |
| 2012-06-13 Yael Aharon <yael.aharon@nokia.com> |
| |
| Remove redundant code from RenderView and RenderBlock |
| https://bugs.webkit.org/show_bug.cgi?id=89019 |
| |
| Reviewed by Abhishek Arya. |
| |
| As pointed out in https://bugs.webkit.org/show_bug.cgi?id=83981#c7 , RenderView::insertFixedPositionedObject() |
| is redundant and should be removed. |
| No new tests. |
| |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::insertPositionedObject): |
| (WebCore::RenderBlock::removePositionedObject): |
| * rendering/RenderView.cpp: |
| (WebCore): |
| * rendering/RenderView.h: |
| (RenderView): |
| |
| 2012-06-13 Dana Jansens <danakj@chromium.org> |
| |
| [chromium] Create a CCStreamVideoDrawQuad used for StreamTexture video output |
| https://bugs.webkit.org/show_bug.cgi?id=88826 |
| |
| Reviewed by Adrienne Walker. |
| |
| Remove the matrix from the CCVideoDrawQuad, and create a new quad |
| specifically for StreamTexture video decoder output. This quad |
| contains only the fields needed for display - textureId and the |
| matrix to be applied to texture coords. |
| |
| Removes the (0, 0, 1, 1) "transform" from the shader used for these |
| quads, as it was a no-op. |
| |
| No new tests, no change in behaviour. |
| |
| * WebCore.gypi: |
| * platform/graphics/chromium/LayerRendererChromium.cpp: |
| (WebCore::LayerRendererChromium::drawQuad): |
| (WebCore::LayerRendererChromium::drawStreamVideoQuad): |
| (WebCore::LayerRendererChromium::drawVideoQuad): |
| * platform/graphics/chromium/LayerRendererChromium.h: |
| (WebCore): |
| (LayerRendererChromium): |
| * platform/graphics/chromium/ShaderChromium.cpp: |
| (WebCore::VertexShaderVideoTransform::VertexShaderVideoTransform): |
| (WebCore::VertexShaderVideoTransform::init): |
| (WebCore::VertexShaderVideoTransform::getShaderString): |
| * platform/graphics/chromium/ShaderChromium.h: |
| (VertexShaderVideoTransform): |
| * platform/graphics/chromium/cc/CCDrawQuad.cpp: |
| (WebCore::CCDrawQuad::toStreamVideoDrawQuad): |
| (WebCore): |
| * platform/graphics/chromium/cc/CCDrawQuad.h: |
| (WebCore): |
| (CCDrawQuad): |
| * platform/graphics/chromium/cc/CCStreamVideoDrawQuad.cpp: Added. |
| (WebCore): |
| (WebCore::CCStreamVideoDrawQuad::create): |
| (WebCore::CCStreamVideoDrawQuad::CCStreamVideoDrawQuad): |
| * platform/graphics/chromium/cc/CCStreamVideoDrawQuad.h: Added. |
| (WebCore): |
| (CCStreamVideoDrawQuad): |
| (WebCore::CCStreamVideoDrawQuad::textureId): |
| (WebCore::CCStreamVideoDrawQuad::matrix): |
| * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp: |
| (WebCore::CCVideoLayerImpl::appendQuads): |
| |
| 2012-06-13 Martin Robinson <mrobinson@igalia.com> |
| |
| [GTK] Add an accelerated compositing implementation for WebKit2 |
| https://bugs.webkit.org/show_bug.cgi?id=86037 |
| |
| Reviewed by Alejandro G. Castro. |
| |
| No new tests. These changes are covered by the compositing tests, which |
| we will gradually try to turn on for the bots. |
| |
| Add a new GLContext method for getting to current default framebuffer size, which |
| is quite useful for preventing composited content quivering while resizing. |
| |
| * platform/graphics/cairo/GLContext.h: |
| * platform/graphics/glx/GLContextGLX.cpp: |
| (WebCore::GLContextGLX::defaultFrameBufferSize): Added this implementation for X11 |
| which asks the X server for the window size. |
| * platform/graphics/glx/GLContextGLX.h: |
| |
| 2012-06-13 Shawn Singh <shawnsingh@chromium.org> |
| |
| [chromium] Implement hit-testing for impl-side input handling in accelerated compositor |
| https://bugs.webkit.org/show_bug.cgi?id=88972 |
| |
| Reviewed by Adrienne Walker. |
| |
| The original hit testing code by Sami Kyostila. |
| |
| This patch implements a simple impl-side hit-testing helper |
| function. At this time, the main motivation for this is so that |
| composited scrollable layers can be scrolled by the impl thread -- |
| and a prerequisite for that is the ability to hit-test on the impl |
| thread, to determine where the scrolling action should be applied. |
| |
| To implement the actual hit test, it's possible to compute the hit |
| test in two equivalent ways: (a) inverse-project the point into |
| local space, or (b) forward-transform the rect to screen space |
| It's not obvious which one would perform better, or which one |
| would be more robust to w < 0 homogeneous clipping issues. For |
| this patch, we simply opt for the inverse-projection approach. |
| |
| 10 unit tests added to CCLayerTreeHostCommonTest.cpp: |
| CCLayerTreeHostCommonTest.verifyHitTestingForEmptyLayerList |
| CCLayerTreeHostCommonTest.verifyHitTestingForSingleLayer |
| CCLayerTreeHostCommonTest.verifyHitTestingForSinglePositionedLayer |
| CCLayerTreeHostCommonTest.verifyHitTestingForSingleRotatedLayer |
| CCLayerTreeHostCommonTest.verifyHitTestingForSinglePerspectiveLayer |
| CCLayerTreeHostCommonTest.verifyHitTestingForSingleLayerWithScaledContents |
| CCLayerTreeHostCommonTest.verifyHitTestingForSimpleClippedLayer |
| CCLayerTreeHostCommonTest.verifyHitTestingForMultiClippedRotatedLayer |
| CCLayerTreeHostCommonTest.verifyHitTestingForMultipleLayers |
| CCLayerTreeHostCommonTest.verifyHitTestingForMultipleLayerLists |
| |
| * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp: |
| (WebCore::pointHitsRect): |
| (WebCore): |
| (WebCore::pointIsClippedBySurfaceOrClipRect): |
| (WebCore::CCLayerTreeHostCommon::findLayerThatIsHitByPoint): |
| * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h: |
| (CCLayerTreeHostCommon): |
| * platform/graphics/chromium/cc/CCMathUtil.cpp: |
| (WebCore::projectHomogeneousPoint): |
| (WebCore::mapHomogeneousPoint): |
| (WebCore::CCMathUtil::mapClippedRect): |
| (WebCore::CCMathUtil::projectClippedRect): |
| (WebCore::CCMathUtil::mapClippedQuad): |
| (WebCore::CCMathUtil::mapQuad): |
| (WebCore::CCMathUtil::projectPoint): |
| (WebCore): |
| * platform/graphics/chromium/cc/CCMathUtil.h: |
| (WebCore): |
| (CCMathUtil): |
| |
| 2012-06-13 Charles Wei <charles.wei@torchmobile.com.cn> |
| |
| Need customized toDOMStringList for IndexedDB JSC binding. |
| https://bugs.webkit.org/show_bug.cgi?id=87965 |
| |
| Reviewed by Kentaro Hara. |
| |
| IndexedDB database interface uses DOMStringList as the input parameter. |
| The generated toDOMStringList() can't convert an JSArray of Strings to |
| native DOMStringList. We need a custom function to do this. |
| |
| Because this patch adds one new file (JSDOMStringList.cpp), all build systems |
| are updated accordingly to pick up this file. |
| |
| Tests: Corresponding bindings/scripts/test/JS files have been updated accordingly. |
| |
| * GNUmakefile.list.am: |
| * Target.pri: |
| * UseJSC.cmake: |
| * WebCore.gypi: |
| * WebCore.vcproj/WebCore.vcproj: |
| * WebCore.xcodeproj/project.pbxproj: |
| * bindings/js/JSBindingsAllInOne.cpp: |
| * bindings/js/JSDOMStringListCustom.cpp: Added. |
| (WebCore): |
| (WebCore::toDOMStringList): |
| * bindings/scripts/CodeGeneratorJS.pm: |
| (IndexGetterReturnsStrings): |
| (GenerateHeader): |
| (GetNativeType): |
| (GetNativeTypeForCallbacks): |
| (JSValueToNative): |
| * bindings/scripts/test/JS/JSTestCallback.cpp: |
| (WebCore::JSTestCallback::callbackWithStringList): |
| * bindings/scripts/test/JS/JSTestCallback.h: |
| (JSTestCallback): |
| * bindings/scripts/test/JS/JSTestObj.cpp: |
| (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6): |
| (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7): |
| * dom/DOMStringList.idl: |
| |
| 2012-06-13 Jeffrey Pfau <jpfau@apple.com> |
| |
| Padding and borders can cause integer overflow in block layouts |
| https://bugs.webkit.org/show_bug.cgi?id=88820 |
| <rdar://problem/11328762> |
| |
| Reviewed by Tony Chang. |
| |
| Tests: fast/block/block-size-integer-overflow.html |
| fast/flexbox/box-size-integer-overflow.html |
| fast/table/table-size-integer-overflow.html |
| |
| * rendering/AutoTableLayout.cpp: Decreased max int. |
| (WebCore::AutoTableLayout::computePreferredLogicalWidths): |
| * rendering/FixedTableLayout.cpp: Use shared constant. |
| (WebCore::FixedTableLayout::computePreferredLogicalWidths): |
| * rendering/RenderBlock.cpp: Removed unused constant. |
| * rendering/TableLayout.h: Add shared constant. |
| (TableLayout): |
| |
| 2012-06-13 Gregg Tavares <gman@google.com> |
| |
| Refactor WebGLFramebuffer to handle texture attachments |
| https://bugs.webkit.org/show_bug.cgi?id=88697 |
| |
| Reviewed by Adrienne Walker. |
| |
| In order to add support for depth textures WebGLFramebuffer |
| needed to be refactored to handle textures as attachments. |
| |
| No new tests as no new functionality. |
| |
| * html/canvas/WebGLFramebuffer.cpp: |
| (WebCore::WebGLFramebuffer::WebGLAttachment::WebGLAttachment): |
| (WebCore): |
| (WebCore::WebGLFramebuffer::WebGLAttachment::~WebGLAttachment): |
| (WebCore::WebGLFramebuffer::WebGLFramebuffer): |
| (WebCore::WebGLFramebuffer::setAttachmentForBoundFramebuffer): |
| (WebCore::WebGLFramebuffer::attach): |
| (WebCore::WebGLFramebuffer::getAttachmentObject): |
| (WebCore::WebGLFramebuffer::getAttachment): |
| (WebCore::WebGLFramebuffer::removeAttachmentFromBoundFramebuffer): |
| (WebCore::WebGLFramebuffer::getColorBufferWidth): |
| (WebCore::WebGLFramebuffer::getColorBufferHeight): |
| (WebCore::WebGLFramebuffer::getColorBufferFormat): |
| (WebCore::WebGLFramebuffer::checkStatus): |
| (WebCore::WebGLFramebuffer::onAccess): |
| (WebCore::WebGLFramebuffer::hasStencilBuffer): |
| (WebCore::WebGLFramebuffer::deleteObjectImpl): |
| (WebCore::WebGLFramebuffer::initializeAttachments): |
| * html/canvas/WebGLFramebuffer.h: |
| (WebGLAttachment): |
| (WebGLFramebuffer): |
| * html/canvas/WebGLRenderingContext.cpp: |
| (WebCore): |
| (WebCore::WebGLRenderingContext::framebufferRenderbuffer): |
| (WebCore::WebGLRenderingContext::reattachDepthStencilAttachments): |
| (WebCore::WebGLRenderingContext::framebufferTexture2D): |
| (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): |
| * html/canvas/WebGLRenderingContext.h: |
| (WebGLRenderingContext): |
| |
| 2012-06-13 Konrad Piascik <kpiascik@rim.com> |
| |
| Remove return statement in void method |
| https://bugs.webkit.org/show_bug.cgi?id=88998 |
| |
| Reviewed by Andreas Kling |
| |
| * html/HTMLInputElement.cpp: |
| (WebCore::HTMLInputElement::collectStyleForAttribute): |
| |
| 2012-06-13 Benjamin Poulain <benjamin@webkit.org> |
| |
| Implement the simple constructors WTFURL's KURL |
| https://bugs.webkit.org/show_bug.cgi?id=85724 |
| |
| Reviewed by Adam Barth. |
| |
| This patch implement the correct initialization of KURL from an absolute URL. |
| The URL correctness is also relaxed in order to have KURLWTFURL works similarily to KURL. |
| |
| * platform/KURLWTFURL.cpp: |
| (WebCore::KURL::KURL): |
| (WebCore::KURL::isValid): |
| (WebCore::KURL::string): |
| (WebCore::KURL::protocol): |
| (WebCore::KURL::host): |
| (WebCore::KURL::port): Fix a bug where invalidPortNumber was returned if no port was defined. |
| (WebCore::KURL::hasFragmentIdentifier): |
| (WebCore::KURL::fragmentIdentifier): |
| (WebCore::KURL::protocolIs): |
| (WebCore::KURL::removeFragmentIdentifier): |
| (WebCore): |
| (WebCore::KURL::print): |
| * platform/cf/KURLCFNet.cpp: |
| (WebCore::KURL::KURL): |
| (WebCore::KURL::createCFURL): |
| (WebCore): |
| * platform/mac/KURLMac.mm: |
| (WebCore::KURL::KURL): |
| (WebCore::KURL::createCFURL): |
| (WebCore): |
| Use the code of KURL to make the conversion from WTFURL to NSURL. |
| |
| 2012-06-12 Vincent Scheib <scheib@chromium.org> |
| |
| Remove duplicate webkitpointerlockchange events when unlocking. |
| https://bugs.webkit.org/show_bug.cgi?id=88917 |
| |
| Reviewed by Dimitri Glazkov. |
| |
| Subsequent patches adding the new API for entering and exiting |
| pointer lock would be burdened by handling multiple change events |
| when the lock target is changed. This change introduces |
| temporary code to suppress duplicate change events. |
| |
| Existing tests simplified by removing the duplicate change events. |
| |
| * page/PointerLockController.cpp: |
| (WebCore::PointerLockController::requestPointerLock): |
| (WebCore::PointerLockController::didLosePointerLock): |
| * page/PointerLockController.h: |
| (PointerLockController): |
| |
| 2012-06-13 Silvia Pfeiffer <silviapf@chromium.org> |
| |
| Update range sliders rendering for volume and playback position of new Chrome video controls. |
| https://bugs.webkit.org/show_bug.cgi?id=88623 |
| |
| Reviewed by Eric Carlson. |
| |
| No new tests, final patch will contain the rebaselined tests. |
| |
| The Chrome video controls are receiving a visual update. This patch contains updates to the |
| rendering of the range sliders for the playback position and the volume. This includes the |
| creation of a shadowPseudoId to be able to style the range sliders via CSS, the rendering |
| of the slider background and the highlighted ranges. |
| |
| * css/mediaControlsChromium.css: |
| (input[type="range"]::-webkit-media-slider-container): |
| Adjust the styling of the slider container backgrounds. |
| (input[type="range"]::-webkit-media-slider-thumb): |
| Adjust the styling of the slider thumbs. |
| * html/shadow/SliderThumbElement.cpp: |
| (WebCore::sliderThumbShadowPseudoId): |
| Add an accessor function for the slider thumb shadowPseudoId. |
| (WebCore::mediaSliderThumbShadowPseudoId): |
| Add an accessor function for the media slider thumb shadowPseudoId. |
| (WebCore::SliderThumbElement::shadowPseudoId): |
| Add a different CSS pseudo-class name to the media slider thumbs. |
| (WebCore::TrackLimiterElement::shadowPseudoId): |
| Add a different CSS pseudo-class name to the media slider thumbs. |
| (WebCore::SliderContainerElement::shadowPseudoId): |
| Add a different CSS pseudo-class name to the media slider background container. |
| * rendering/RenderMediaControlsChromium.cpp: |
| (WebCore::paintRoundedSliderBackground): |
| Add function to draw rounded background of sliders in a dark color. |
| (WebCore::paintSliderRangeHighlight): |
| Add function to draw a highlighted grey region on the sliders, which is rounded only at |
| its ends. |
| (WebCore::paintMediaSlider): |
| Update the background and buffered range renderings on the playback position slider by making |
| use of the new helper functions. |
| (WebCore::paintMediaVolumeSlider): |
| Update the background and buffered range renderings on the volume slider by making |
| use of the new helper functions. |
| |
| 2012-06-13 Christopher Hutten-Czapski <chutten@rim.com> |
| |
| 2012-06-13 Christopher Hutten-Czapski <chutten@rim.com> |
| |
| [BlackBerry] Update Select Popup's styling |
| https://bugs.webkit.org/show_bug.cgi?id=89005 |
| |
| Reviewed by Rob Buis. |
| |
| Add in some nicely-styled CSS and JS for the BlackBerry port's <select> |
| |
| * Resources/blackberry/popupControlBlackBerry.css: |
| (body): |
| (.popup-area): |
| (.popup-area>:first-child): |
| (.popup-buttons): |
| (.popup-button-divider): |
| (.popup-button): |
| (.popup-button:active): |
| (.popup-button:first-child:active): |
| (.popup-button:last-child:active): |
| (.popup-button:only-child:active): |
| * Resources/blackberry/selectControlBlackBerry.css: Added. |
| (.select-area): |
| (.select-area:last-child): |
| (.option): |
| (.optgroup:last-child): |
| (.selected): |
| (.optgroup): |
| (.optgroup .option): |
| * Resources/blackberry/selectControlBlackBerry.js: Added. |
| |
| 2012-06-13 Alec Flett <alecflett@chromium.org> |
| |
| [V8] IndexedDB: Cursor value modifications should be preserved until cursor iterates |
| https://bugs.webkit.org/show_bug.cgi?id=83526 |
| |
| Reviewed by Kentaro Hara. |
| |
| Cache the 'value' attribute of IDBCursorWithValue with policy |
| determined by IDBCursor.cpp, to follow spec behavior of keeping a |
| consistent script object until the cursor advances. See |
| http://www.w3.org/TR/IndexedDB/#widl-IDBCursorWithValueSync-value |
| for details. |
| |
| Test: storage/indexeddb/cursor-value.html |
| |
| * Modules/indexeddb/IDBCursor.cpp: |
| (WebCore::IDBCursor::IDBCursor): |
| (WebCore::IDBCursor::value): |
| (WebCore::IDBCursor::setValueReady): |
| * Modules/indexeddb/IDBCursor.h: |
| (IDBCursor): |
| (WebCore::IDBCursor::valueIsDirty): |
| * Modules/indexeddb/IDBCursorWithValue.idl: |
| * WebCore.gypi: |
| * bindings/v8/IDBCustomBindings.cpp: Added. |
| (WebCore): |
| (WebCore::V8IDBCursorWithValue::valueAccessorGetter): |
| |
| 2012-06-13 Silvia Pfeiffer <silviapf@chromium.org> |
| |
| Code cleanup from bug 88881 to share the SliderVerticalPart code. |
| https://bugs.webkit.org/show_bug.cgi?id=88930 |
| |
| Reviewed by Eric Carlson. |
| |
| No new tests - this is just code cleanup. |
| |
| * html/shadow/SliderThumbElement.cpp: |
| (WebCore::hasVerticalAppearance): |
| Avoid having two ifdef-ed returns in the code depending on ENABLE(VIDEO). |
| |
| 2012-06-13 Mark Mentovai <mark@chromium.org> |
| |
| [chromium mac] Don't include things in subframeworks of |
| ApplicationServices.framework. |
| |
| A CoreText #include (with quotes instead of brackets, even) sprung up |
| in r120506, bug 69826. |
| |
| https://bugs.webkit.org/show_bug.cgi?id=88569 |
| |
| Reviewed by Stephen White. |
| |
| No new tests. |
| |
| * platform/graphics/harfbuzz/ng/HarfBuzzFaceCoreText.cpp: |
| |
| 2012-06-13 Eriq Augustine <eaugusti@chromium.org> |
| |
| Removing an extra HandleScope in V8Proxy::evaluateInIsolatedWorld |
| https://bugs.webkit.org/show_bug.cgi?id=88451 |
| |
| Reviewed by Adam Barth. |
| |
| Any values retuned by the evaluation will get destroyed with the extra |
| HandleScope. |
| |
| I was unable to cause a test failure, however this feature is tested by: |
| platform/chromium/http/tests/misc/execute-and-return-value.html |
| |
| * bindings/v8/V8Proxy.cpp: |
| (WebCore::V8Proxy::evaluateInIsolatedWorld): |
| |
| 2012-06-13 Zan Dobersek <zandobersek@gmail.com> |
| |
| [Gtk] Enable link prefetch support in the developer builds |
| https://bugs.webkit.org/show_bug.cgi?id=89011 |
| |
| Reviewed by Martin Robinson. |
| |
| Handle the ENABLE_LINK_PREFETCH conditional in standard way. |
| |
| No new tests - covered by existing link prefetch tests. |
| |
| * GNUmakefile.am: |
| |
| 2012-06-13 Amy Ousterhout <aousterh@chromium.org> |
| |
| Rename currentDeviceMotion to lastMotion in DeviceMotionClient |
| https://bugs.webkit.org/show_bug.cgi?id=88854 |
| |
| Reviewed by Adam Barth. |
| |
| Rename the function currentDeviceMotion to lastMotion in DeviceMotionClient. |
| This makes it consistent with the similar function lastOrientation in DeviceOrientationClient. |
| |
| Just a rename, so does not require any new tests. |
| |
| * dom/DeviceMotionClient.h: |
| (DeviceMotionClient): |
| * dom/DeviceMotionController.cpp: |
| (WebCore::DeviceMotionController::timerFired): |
| (WebCore::DeviceMotionController::addListener): |
| * loader/EmptyClients.h: |
| (WebCore::EmptyDeviceMotionClient::lastMotion): |
| * platform/qt/DeviceMotionClientQt.cpp: |
| (WebCore::DeviceMotionClientQt::lastMotion): |
| * platform/qt/DeviceMotionClientQt.h: |
| (DeviceMotionClientQt): |
| * platform/qt/DeviceMotionProviderQt.h: |
| (WebCore::DeviceMotionProviderQt::lastMotion): |
| |
| 2012-06-13 Vsevolod Vlasov <vsevik@chromium.org> |
| |
| Web Inspector: Breakpoint's _uiLocationRemoved() method is never called. |
| https://bugs.webkit.org/show_bug.cgi?id=89003 |
| |
| Reviewed by Pavel Feldman. |
| |
| * inspector/front-end/BreakpointManager.js: |
| (WebInspector.BreakpointManager.prototype.breakpointLocationsForUISourceCode): |
| (WebInspector.BreakpointManager.Breakpoint): |
| (WebInspector.BreakpointManager.Breakpoint.prototype._locationUpdated): |
| (WebInspector.BreakpointManager.Breakpoint.prototype._resetLocations): |
| (WebInspector.BreakpointManager.Breakpoint.prototype._fakeBreakpointAtPrimaryLocation): |
| * inspector/front-end/FileSystemModel.js: Drive by compilation fix. |
| (WebInspector.FileSystemModel): |
| |
| 2012-06-13 David Grogan <dgrogan@chromium.org> |
| |
| IndexedDB: Add tests, an assert, and some comments around open/close/setVersion call sequencing |
| https://bugs.webkit.org/show_bug.cgi?id=88829 |
| |
| Reviewed by Tony Chang. |
| |
| Test: storage/indexeddb/three-setversion-calls.html |
| |
| * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: |
| (WebCore::IDBDatabaseBackendImpl::processPendingCalls): |
| |
| 2012-06-09 Vsevolod Vlasov <vsevik@chromium.org> |
| |
| Web Inspector: Errors when pending console messages are attached to JavaScriptSourceFrame. |
| https://bugs.webkit.org/show_bug.cgi?id=88712 |
| |
| Reviewed by Pavel Feldman. |
| |
| * inspector/front-end/PresentationConsoleMessageHelper.js: |
| (WebInspector.PresentationConsoleMessageHelper): |
| (WebInspector.PresentationConsoleMessageHelper.prototype._addPendingConsoleMessage): |
| (WebInspector.PresentationConsoleMessageHelper.prototype._parsedScriptSource): |
| |
| 2012-06-13 Alexander Pavlov <apavlov@chromium.org> |
| |
| Web Inspector: Support user attributes in DOMNode |
| https://bugs.webkit.org/show_bug.cgi?id=88706 |
| |
| Reviewed by Pavel Feldman. |
| |
| This change allows clients to store arbitrary properties on DOMNodes and know if there are descendants |
| (and how many of them) having a certain property set. |
| |
| Test: inspector/elements/user-attributes.html |
| |
| * inspector/front-end/DOMAgent.js: |
| (WebInspector.DOMNode.prototype._removeChild): |
| (WebInspector.DOMNode.prototype._updateChildUserPropertyCountsOnRemoval): |
| (WebInspector.DOMNode.prototype._updateDescendantUserPropertyCount): |
| (WebInspector.DOMNode.prototype.setUserProperty): |
| (WebInspector.DOMNode.prototype.removeUserProperty): |
| (WebInspector.DOMNode.prototype.getUserProperty): |
| (WebInspector.DOMNode.prototype.descendantUserPropertyCount): |
| |
| 2012-06-13 Vineet Chaudhary <vineet.chaudhary@motorola.com> |
| |
| REGRESSION:Bindings sequence<T> in Console.idl, Internals.idl and ScriptProfileNode.idl should be T[] |
| https://bugs.webkit.org/show_bug.cgi?id=84863 |
| |
| Reviewed by Kentaro Hara. |
| |
| With reference to http://www.w3.org/TR/WebIDL/#idl-sequence |
| "Sequences must not be used as the type of an attribute, constant or exception field." |
| So we should use T[] instead of sequence<T>. |
| |
| Tests: bindings/scripts/test/TestObj.idl |
| fast/harness/user-preferred-language.html |
| inspector/profiler/cpu-profiler-profiling-without-inspector.html |
| media/track/track-language-preference.html |
| |
| * bindings/scripts/CodeGenerator.pm: |
| (GetSequenceType): Getter for getting sequence type. |
| (GetArrayType): Getter for getting array type. |
| (AssertNotSequenceType): Check sequences must not be used as the type of an attribute, |
| constant or exception field. |
| * bindings/scripts/CodeGeneratorCPP.pm: |
| (SkipFunction): Exclude bindings code for type sequence. |
| (SkipAttribute): Check for sequences must not be used as the type of an attribute, |
| constant or exception field. |
| (AddIncludesForType): Exclude header inclusion code for type array/sequence. |
| * bindings/scripts/CodeGeneratorGObject.pm: |
| (SkipAttribute): Check for sequences must not be used as the type of an attribute, |
| constant or exception field. |
| (SkipFunction): Exclude bindings code for type sequence. |
| * bindings/scripts/CodeGeneratorJS.pm: |
| (AddIncludesForType): Exclude header inclusion code for type array/sequence. |
| (GenerateImplementation): Check for sequences must not be used as the type of an attribute, |
| constant or exception field. |
| (GetNativeType): |
| (JSValueToNative): |
| (NativeToJSValue): |
| * bindings/scripts/CodeGeneratorObjC.pm: |
| (SkipFunction): Exclude bindings code for type sequence. |
| (SkipAttribute): Exclude bindings code for type array. |
| (AddForwardDeclarationsForType): |
| (AddIncludesForType): |
| * bindings/scripts/CodeGeneratorV8.pm: |
| (GenerateNormalAttrGetter): |
| (GetNativeType): |
| (JSValueToNative): |
| (CreateCustomSignature): |
| (NativeToJSValue): |
| * bindings/scripts/test/JS/JSTestObj.cpp: Updated code from run-bindings-tests. |
| (WebCore): |
| (WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg): |
| * bindings/scripts/test/JS/JSTestObj.h: Updated code from run-bindings-tests. |
| (WebCore): |
| * bindings/scripts/test/TestObj.idl: Tests. |
| * bindings/scripts/test/V8/V8TestObj.cpp: Updated code from run-bindings-tests. |
| (TestObjV8Internal): |
| (WebCore::TestObjV8Internal::methodWithSequenceArgCallback): |
| (WebCore): |
| * inspector/ScriptProfileNode.idl: Using sequence<T> for children(). |
| * page/Console.idl: Using Array[T] for profiles attribute. |
| * testing/Internals.idl: Using sequence<T> for userPreferredLanguages(). |
| |
| 2012-06-13 Simon Hausmann <simon.hausmann@nokia.com> |
| |
| [Qt] Remove dependency to QtScript for the Qt 5 build |
| https://bugs.webkit.org/show_bug.cgi?id=88993 |
| |
| Reviewed by Kenneth Rohde Christiansen. |
| |
| Replace the use of QScriptEngine::ValueOwnership with an enum local |
| to the class where it is used (QtInstance). |
| |
| * Target.pri: |
| * bindings/js/ScriptControllerQt.cpp: |
| (WebCore::ScriptController::createScriptInstanceForWidget): |
| * bridge/qt/qt_instance.cpp: |
| (JSC::Bindings::QtInstance::QtInstance): |
| (JSC::Bindings::QtInstance::~QtInstance): |
| (JSC::Bindings::QtInstance::getQtInstance): |
| * bridge/qt/qt_instance.h: |
| (QtInstance): |
| (JSC::Bindings::QtInstance::create): |
| * bridge/qt/qt_runtime.cpp: |
| (JSC::Bindings::convertQVariantToValue): |
| * bridge/qt/qt_runtime_qt4.cpp: |
| (JSC::Bindings::convertQVariantToValue): |
| |
| 2012-06-13 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> |
| |
| [Qt] Save a JSGlobalContextRef instead of a JSContextRef in QtConnectionObject |
| https://bugs.webkit.org/show_bug.cgi?id=88905 |
| |
| Make QtConnectionObject use JSContextGetGlobalContext and store the |
| JSGlobalContextRef. Previous code was working but saving JSContextRef was wrong in terms of |
| API. |
| |
| There's an assumption that JSGlobalContextRef will outlive the connection objects, and |
| because of it no JSGlobalContextRetain/Release calls were added. |
| |
| Reviewed by Noam Rosenthal. |
| |
| * bridge/qt/qt_runtime.cpp: |
| (JSC::Bindings::QtRuntimeConnectionMethod::call): |
| (JSC::Bindings::QtConnectionObject::QtConnectionObject): |
| * bridge/qt/qt_runtime.h: |
| (QtConnectionObject): |
| * bridge/qt/qt_runtime_qt4.cpp: |
| (JSC::Bindings::QtRuntimeConnectionMethod::call): |
| (JSC::Bindings::QtConnectionObject::QtConnectionObject): |
| |
| 2012-06-13 David Barr <davidbarr@chromium.org> |
| |
| Add dpi to css3-images image-resolution |
| https://bugs.webkit.org/show_bug.cgi?id=85439 |
| |
| Reviewed by Tony Chang. |
| |
| No new tests; extended fast/css/image-resolution/image-resolution.html |
| |
| * css/CSSGrammar.y: |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::validUnit): |
| (WebCore::CSSParser::createPrimitiveNumericValue): |
| (WebCore::unitFromString): |
| (WebCore::CSSParser::parseValidPrimitive): |
| (WebCore::CSSParser::detectNumberToken): |
| * css/CSSPrimitiveValue.cpp: |
| (WebCore::isValidCSSUnitTypeForDoubleConversion): |
| (WebCore::unitCategory): |
| (WebCore::conversionToCanonicalUnitsScaleFactor): |
| (WebCore::CSSPrimitiveValue::customCssText): |
| (WebCore::CSSPrimitiveValue::cloneForCSSOM): |
| * css/CSSPrimitiveValue.h: |
| |
| 2012-06-13 Li Yin <li.yin@intel.com> |
| |
| FileAPI: type should be converted to be lower case in Blob constructor. |
| https://bugs.webkit.org/show_bug.cgi?id=88696 |
| |
| Reviewed by Kentaro Hara. |
| |
| Spec: http://dev.w3.org/2006/webapi/FileAPI/#dfn-BlobPropertyBag |
| Spec: http://dev.w3.org/2006/webapi/FileAPI/#attributes-blob |
| The ASCII-encoded string in lower case representing the media type of the Blob. |
| |
| Test: fast/files/blob-constructor.html |
| |
| * bindings/js/JSBlobCustom.cpp: |
| (WebCore::JSBlobConstructor::constructJSBlob): |
| * bindings/v8/custom/V8BlobCustom.cpp: |
| (WebCore::V8Blob::constructorCallback): |
| |
| 2012-06-13 Robin Cao <robin.cao@torchmobile.com.cn> |
| |
| [BlackBerry] Enable MEDIA_STREAM by default |
| https://bugs.webkit.org/show_bug.cgi?id=88849 |
| |
| Reviewed by Antonio Gomes. |
| |
| Covered by existing test cases. |
| |
| * CMakeLists.txt: |
| * PlatformBlackBerry.cmake: |
| * platform/mediastream/blackberry/DeprecatedPeerConnectionHandler.cpp: Added. |
| (WebCore): |
| (WebCore::DeprecatedPeerConnectionHandler::create): |
| (WebCore::DeprecatedPeerConnectionHandler::DeprecatedPeerConnectionHandler): |
| (WebCore::DeprecatedPeerConnectionHandler::~DeprecatedPeerConnectionHandler): |
| (WebCore::DeprecatedPeerConnectionHandler::produceInitialOffer): |
| (WebCore::DeprecatedPeerConnectionHandler::handleInitialOffer): |
| (WebCore::DeprecatedPeerConnectionHandler::processSDP): |
| (WebCore::DeprecatedPeerConnectionHandler::processPendingStreams): |
| (WebCore::DeprecatedPeerConnectionHandler::sendDataStreamMessage): |
| (WebCore::DeprecatedPeerConnectionHandler::stop): |
| * platform/mediastream/blackberry/MediaStreamCenterBlackBerry.cpp: Added. |
| (WebCore): |
| (WebCore::MediaStreamCenter::instance): |
| (WebCore::MediaStreamCenterBlackBerry::MediaStreamCenterBlackBerry): |
| (WebCore::MediaStreamCenterBlackBerry::~MediaStreamCenterBlackBerry): |
| (WebCore::MediaStreamCenterBlackBerry::queryMediaStreamSources): |
| (WebCore::MediaStreamCenterBlackBerry::didSetMediaStreamTrackEnabled): |
| (WebCore::MediaStreamCenterBlackBerry::didStopLocalMediaStream): |
| (WebCore::MediaStreamCenterBlackBerry::didCreateMediaStream): |
| (WebCore::MediaStreamCenterBlackBerry::constructSDP): |
| * platform/mediastream/blackberry/MediaStreamCenterBlackBerry.h: Added. |
| (WebCore): |
| (MediaStreamCenterBlackBerry): |
| |
| 2012-06-13 Pavel Feldman <pfeldman@chromium.org> |
| |
| Web Inspector: working copy should be committed even if domain binding returns error. |
| https://bugs.webkit.org/show_bug.cgi?id=88884 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| Committing working copy is about saving file. It should always succeed. |
| |
| * inspector/front-end/UISourceCode.js: |
| (WebInspector.UISourceCode.prototype.commitWorkingCopy): |
| |
| 2012-06-12 Pavel Feldman <pfeldman@chromium.org> |
| |
| Web Inspector: show revisions of all modified files in local modifications view |
| https://bugs.webkit.org/show_bug.cgi?id=88864 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| This change allows all local modifications to be seen in a single view. View is now |
| singleton, listening to all revisions being added. Revert captions were reworked |
| (see the screenshot). |
| |
| * English.lproj/localizedStrings.js: |
| * inspector/front-end/Resource.js: |
| * inspector/front-end/RevisionHistoryView.js: |
| (WebInspector.RevisionHistoryView.populateRevisions): |
| (WebInspector.RevisionHistoryView): |
| (WebInspector.RevisionHistoryView.showHistory): |
| (WebInspector.RevisionHistoryView.reset): |
| (WebInspector.RevisionHistoryView.prototype._createResourceItem.clearHistory): |
| (WebInspector.RevisionHistoryView.prototype._createResourceItem): |
| (WebInspector.RevisionHistoryView.prototype._revisionAdded.get if): |
| (WebInspector.RevisionHistoryView.prototype._revisionAdded): |
| (WebInspector.RevisionHistoryView.prototype._revealResource.get if): |
| (WebInspector.RevisionHistoryView.prototype._revealResource): |
| (WebInspector.RevisionHistoryView.prototype._reset): |
| (WebInspector.RevisionHistoryTreeElement): |
| (WebInspector.RevisionHistoryTreeElement.prototype.onattach): |
| (WebInspector.RevisionHistoryTreeElement.prototype.oncollapse): |
| * inspector/front-end/ScriptsPanel.js: |
| (WebInspector.ScriptsPanel.prototype._reset): |
| (WebInspector.ScriptsPanel.prototype._editorSelected): |
| * inspector/front-end/revisionHistory.css: |
| (.revision-history-link-row): |
| (.revision-history-drawer li.revision-history-revision): |
| |
| 2012-06-13 Pavel Feldman <pfeldman@chromium.org> |
| |
| Web Inspector: Make "Go to source and line" possible with "go to file" dialog |
| https://bugs.webkit.org/show_bug.cgi?id=88740 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| Selection dialog now allows search query rewrite and uses line number |
| suffix to go to a particular line. |
| |
| * inspector/front-end/FilteredItemSelectionDialog.js: |
| (WebInspector.FilteredItemSelectionDialog.prototype.onEnter): |
| (WebInspector.FilteredItemSelectionDialog.prototype._createSearchRegExp): |
| (WebInspector.SelectionDialogContentProvider.prototype.selectItem): |
| (WebInspector.SelectionDialogContentProvider.prototype.rewriteQuery): |
| (WebInspector.JavaScriptOutlineDialog.prototype.selectItem): |
| (WebInspector.JavaScriptOutlineDialog.prototype.rewriteQuery): |
| (WebInspector.OpenResourceDialog.prototype.selectItem): |
| (WebInspector.OpenResourceDialog.prototype.rewriteQuery): |
| * inspector/front-end/ScriptsPanel.js: |
| (WebInspector.ScriptsPanel.prototype.showUISourceCode): |
| * inspector/front-end/StylesPanel.js: |
| (WebInspector.StyleSheetOutlineDialog.prototype.selectItem): |
| (WebInspector.StyleSheetOutlineDialog.prototype.rewriteQuery): |
| |
| 2012-06-12 Hans Wennborg <hans@chromium.org> |
| |
| Speech JavaScript API: Add test for constructing SpeechRecognitionError events |
| https://bugs.webkit.org/show_bug.cgi?id=88868 |
| |
| Reviewed by Adam Barth. |
| |
| This adds a test for constructing SpeechRecognitionError events, and |
| code to make it work. |
| |
| Test: fast/events/constructors/speech-recognition-error-constructor.html |
| |
| * Modules/speech/SpeechRecognitionError.cpp: |
| (WebCore::SpeechRecognitionError::create): |
| (WebCore): |
| (WebCore::SpeechRecognitionError::SpeechRecognitionError): |
| (WebCore::SpeechRecognitionErrorInit::SpeechRecognitionErrorInit): |
| * Modules/speech/SpeechRecognitionError.h: |
| (SpeechRecognitionErrorInit): |
| (WebCore): |
| (SpeechRecognitionError): |
| (WebCore::SpeechRecognitionError::code): |
| * Modules/speech/SpeechRecognitionError.idl: |
| |
| 2012-06-13 Taiju Tsuiki <tzik@chromium.org> |
| |
| Implement InspectorFileSystemAgent::readDirectory for FileSystem support. |
| https://bugs.webkit.org/show_bug.cgi?id=87724 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| Test: http/tests/inspector/filesystem/read-directory.html |
| |
| * inspector/Inspector.json: |
| * inspector/InspectorController.cpp: |
| (WebCore::InspectorController::InspectorController): |
| * inspector/InspectorFileSystemAgent.cpp: |
| (InspectorFileSystemAgent::FrontendProvider): |
| (WebCore): |
| (WebCore::InspectorFileSystemAgent::create): |
| (WebCore::InspectorFileSystemAgent::readDirectory): |
| (WebCore::InspectorFileSystemAgent::InspectorFileSystemAgent): |
| * inspector/InspectorFileSystemAgent.h: |
| (WebCore): |
| (InspectorFileSystemAgent): |
| |
| 2012-06-13 Silvia Pfeiffer <silviapf@chromium.org> |
| |
| Change the styling of the Chromium video controls. |
| https://bugs.webkit.org/show_bug.cgi?id=88297 |
| |
| Reviewed by Eric Carlson. |
| |
| No new tests, final patch will contain the rebaselined tests. |
| |
| The Chrome video controls are receiving a visual update. This patch includes CSS changes, |
| the removal of the now no longer needed controls background div, and the introduction of |
| new images for the buttons. |
| |
| * css/mediaControlsChromium.css: |
| (audio): |
| Adjust height of audio controls. |
| (::-webkit-media-controls): |
| Use flexbox on media controls shadow DOM. |
| (audio::-webkit-media-controls-enclosure, video::-webkit-media-controls-enclosure): |
| Adjust height, max-width, text-indent and box-sizing, and reset padding to 0. |
| (video::-webkit-media-controls-enclosure): |
| Use 5px padding only for video controls and adjust height accordingly. |
| (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel): |
| Use flexbox on panel, adjust bottom alignment, height, background color and border radius. |
| (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button): |
| Display buttons inline with fixed width and height, vertically centered, no padding and |
| 6px space to next controls element (this will be 15px incl the space in the image). |
| (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button): |
| Display buttons inline with fixed width and height, vertically centered, no padding and |
| 9px space to next controls element (this will be 15px incl the space in the image). |
| (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display): |
| Display text as block, without broder, adjusted height, font-family, font-size and 9px space |
| to next controls element (this will be 15px incl the space in the image). |
| (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline): |
| Adjust height, padding, background-color, min-wdith and 15px space to next controls element. |
| (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider): |
| Adjust height, max- and min-width, background-color and 15px space to next controls element. |
| * html/shadow/MediaControlRootElementChromium.cpp: |
| (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium): |
| Remove timeline container, which is not necessary any longer because of the use of flexbox. |
| (WebCore::MediaControlRootElementChromium::create): |
| Remove timeline container, which is not necessary any longer because of the use of flexbox. |
| (WebCore::MediaControlRootElementChromium::setMediaController): |
| Remove timeline container, which is not necessary any longer because of the use of flexbox. |
| (WebCore::MediaControlRootElementChromium::reset): |
| Show the timeline instead of the timeline container when resetting. |
| (WebCore::MediaControlRootElementChromium::reportedError): |
| Hide the timeline instead of the timeline container when running into an error. |
| * rendering/RenderMediaControlsChromium.cpp: |
| (WebCore::paintMediaMuteButton): |
| Introduce new image resources for the mute button and adjust it based on volume levels. |
| (WebCore::paintMediaPlayButton): |
| Introduce new image resources for the play button. |
| (WebCore::getMediaSliderThumb): |
| Introduce new image resources for the position slider thumb. |
| (WebCore::paintMediaVolumeSliderThumb): |
| Introduce new image resources for the volume slider thumb. |
| Remove timeline container rendering. |
| (WebCore::RenderMediaControlsChromium::paintMediaControlsPart): |
| Add timeline container painting to the "not reached" elements. |
| (WebCore): |
| Provide size settings for the position and volume sliders. |
| (WebCore::RenderMediaControlsChromium::adjustMediaSliderThumbSize): |
| Calculate correct width and height settings for the new image resources of the position and volume |
| slider thumbs. |
| * rendering/RenderThemeChromiumMac.h: |
| (RenderThemeChromiumMac): |
| Remove timeline container rendering (i.e. the media controls background). |
| * rendering/RenderThemeChromiumMac.mm: |
| Remove timeline container rendering (i.e. the media controls background). |
| * rendering/RenderThemeChromiumSkia.cpp: |
| Remove timeline container rendering (i.e. the media controls background). |
| * rendering/RenderThemeChromiumSkia.h: |
| (RenderThemeChromiumSkia): |
| Remove timeline container rendering (i.e. the media controls background). |
| |
| 2012-06-13 Kinuko Yasuda <kinuko@chromium.org> |
| |
| Unreviewed, fixing English nits suggested by review for r120165. |
| |
| * fileapi/Blob.cpp: |
| (WebCore::Blob::webkitSlice): |
| * fileapi/Blob.h: |
| (Blob): |
| |
| 2012-06-13 MORITA Hajime <morrita@google.com> |
| |
| REGRESSION(r118098): <content> element does not render distributed children when cloned from another document |
| https://bugs.webkit.org/show_bug.cgi?id=88148 |
| |
| Reviewed by Dimitri Glazkov. |
| |
| The shadow DOM availability was decided through FrameLoaderClient. |
| But there are documents which don't have any associated frames, in |
| which any shadow DOM related elements cannot be constructed. That |
| resulsted the regression. |
| |
| This change introduces a Page-based client called |
| ContextFeaturesClient which takes the role from FrameLoaderClient |
| to decide the feature availability, and ContextFeatures which is a |
| proxy of ContextFeaturesClient. ContextEnabledFeatures is is |
| replaced with ContextFeatures. |
| |
| Each ContextFeatures object is owned by a Page, and is attached to |
| each Document in the page even if the page itself has no referenct |
| to Frames or Pages. With ContextFeatures, each Document can decide |
| the feature availability even if it cannot reach Page or Frame. |
| |
| On RefCountedSupplement: Document instance can live longer than a |
| Page where it is shwon. This means that ContextFeatures instance |
| needs to survive after owner Page destruction because it's |
| referenced from possibly surviving Documents. RefCountedSupplement |
| is introduced to cover this scenario: It allows supplement classes |
| to live after Page's destruction. |
| |
| RefCountedSupplement::hostDestroyed() is notified when the hosting |
| page is gone. ContextFeatures clears its reference to the client |
| using this notification. |
| |
| Test: fast/dom/shadow/elements-in-frameless-document.html |
| |
| * CMakeLists.txt: |
| * GNUmakefile.list.am: |
| * Target.pri: |
| * WebCore.gypi: |
| * WebCore.vcproj/WebCore.vcproj: |
| * WebCore.xcodeproj/project.pbxproj: |
| * bindings/scripts/CodeGeneratorV8.pm: |
| (GenerateImplementation): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::determineScope): |
| * dom/ContextFeatures.cpp: Added. |
| (WebCore): |
| (WebCore::ContextFeaturesClient::empty): |
| (WebCore::ContextFeatures::supplementName): |
| (WebCore::ContextFeatures::defaultSwitch): |
| (WebCore::ContextFeatures::shadowDOMEnabled): |
| (WebCore::ContextFeatures::styleScopedEnabled): |
| (WebCore::ContextFeatures::pagePopupEnabled): |
| (WebCore::provideContextFeaturesTo): |
| (WebCore::provideContextFeaturesToDocumentFrom): |
| * dom/ContextFeatures.h: Added. |
| (WebCore): |
| (ContextFeatures): |
| (WebCore::ContextFeatures::ContextFeatures): |
| (WebCore::ContextFeatures::hostDestroyed): |
| (ContextFeaturesClient): |
| (WebCore::ContextFeaturesClient::~ContextFeaturesClient): |
| (WebCore::ContextFeaturesClient::isEnabled): |
| (WebCore::ContextFeatures::create): |
| (WebCore::ContextFeatures::isEnabled): |
| * dom/DOMAllInOne.cpp: |
| * dom/DOMImplementation.cpp: |
| (WebCore::DOMImplementation::createDocument): |
| (WebCore::DOMImplementation::createHTMLDocument): |
| * dom/Document.h: |
| (WebCore::Document::contextFeatures): |
| * dom/Document.cpp: |
| (WebCore::Document::Document): |
| (WebCore::Document::setContextFeatures): |
| * dom/Position.cpp: |
| (WebCore::Position::Position): |
| (WebCore::Position::findParent): |
| * dom/TreeScope.cpp: |
| (WebCore::TreeScope::getSelection): |
| * dom/make_names.pl: |
| (printConstructorInterior): |
| (printFactoryCppFile): |
| (printWrapperFunctions): |
| (printWrapperFactoryCppFile): |
| * editing/markup.cpp: |
| (WebCore::createFragmentFromMarkupWithContext): |
| * html/HTMLStyleElement.cpp: |
| (WebCore::HTMLStyleElement::registerWithScopingNode): |
| (WebCore::HTMLStyleElement::unregisterWithScopingNode): |
| * html/shadow/HTMLContentElement.cpp: |
| (WebCore::contentTagName): |
| * inspector/DOMPatchSupport.cpp: |
| (WebCore::DOMPatchSupport::patchDocument): |
| * loader/FrameLoaderClient.h: |
| * platform/RefCountedSupplement.h: Copied from Source/WebCore/platform/Supplementable.h. |
| (WebCore): |
| (RefCountedSupplement): |
| (WebCore::RefCountedSupplement::hostDestroyed): |
| (Wrapper): |
| (WebCore::RefCountedSupplement::Wrapper::Wrapper): |
| (WebCore::RefCountedSupplement::Wrapper::~Wrapper): |
| (WebCore::RefCountedSupplement::Wrapper::wrapped): |
| (WebCore::RefCountedSupplement::provideTo): |
| (WebCore::RefCountedSupplement::from): |
| * platform/Supplementable.h: |
| (WebCore::Supplement::isRefCountedWrapper): |
| * xml/XMLHttpRequest.cpp: |
| (WebCore::XMLHttpRequest::responseXML): |
| |
| 2012-06-11 Kinuko Yasuda <kinuko@chromium.org> |
| |
| Unprefix Blob.webkitSlice |
| https://bugs.webkit.org/show_bug.cgi?id=78111 |
| |
| Reviewed by Adam Barth. |
| |
| Add unprefixed Blob.slice and start showing a deprecation message when webkitSlice is called. |
| |
| No new tests: existing tests that call webkitSlice() are converted to slice(). They should keep running. |
| |
| * bindings/gobject/WebKitDOMCustom.cpp: |
| (webkit_dom_blob_slice): Removed. |
| (webkit_dom_blob_webkit_slice): Added. |
| * fileapi/Blob.cpp: |
| (WebCore::Blob::slice): |
| (WebCore): |
| (WebCore::Blob::webkitSlice): |
| (WebCore::Blob::sliceInternal): Added. |
| * fileapi/Blob.h: |
| (WebCore): |
| (Blob): |
| * fileapi/Blob.idl: |
| |
| 2012-06-12 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r120036. |
| http://trac.webkit.org/changeset/120036 |
| https://bugs.webkit.org/show_bug.cgi?id=88965 |
| |
| "assert failed in debug build" (Requested by maryw on |
| #webkit). |
| |
| * platform/network/blackberry/NetworkJob.cpp: |
| (WebCore::NetworkJob::handleNotifyDataReceived): |
| |
| 2012-06-12 Wei James <james.wei@intel.com> |
| |
| webcore should depend on webcore_arm_neon for only arm target_arch |
| https://bugs.webkit.org/show_bug.cgi?id=88839 |
| |
| Reviewed by Adam Barth. |
| |
| * WebCore.gyp/WebCore.gyp: |
| |
| 2012-06-12 Edaena Salinas Jasso <edaena@apple.com> |
| |
| Can't set el.type on a <button> element |
| https://bugs.webkit.org/show_bug.cgi?id=14439 |
| |
| Reviewed by Darin Adler. |
| |
| Test: fast/dom/HTMLButtonElement/change-type.html |
| |
| * bindings/objc/PublicDOMInterfaces.h: |
| * html/HTMLButtonElement.cpp: |
| (WebCore::HTMLButtonElement::setType): Added implementation of setType method. |
| (WebCore): |
| * html/HTMLButtonElement.h: |
| (HTMLButtonElement): Added setType method. |
| * html/HTMLButtonElement.idl: Removed readonly restriction to the type variable. |
| |
| 2012-06-12 Kenichi Ishibashi <bashi@chromium.org> |
| |
| [Chromium] Implement font shaping with font-feature-settings on Mac |
| https://bugs.webkit.org/show_bug.cgi?id=69826 |
| |
| Reviewed by Tony Chang. |
| |
| Add HarfBuzz-ng text shaper. |
| Chromium mac port uses it as secondary text shaper to support OpenType features. |
| HarfBuzz-ng is only used when -webkit-font-feature-settings is specified and |
| corresponding font is not an AAT font. |
| |
| No new tests. css3/font-feature-settings-rendering.html should pass on Chromium mac port. |
| |
| * WebCore.gyp/WebCore.gyp: Added harfbuzz-ng dependencies. |
| * WebCore.gypi: Added harfbuzz-ng files. |
| * platform/graphics/FontPlatformData.h: |
| (FontPlatformData): Added m_harfbuzzFace. |
| * platform/graphics/cocoa/FontPlatformDataCocoa.mm: |
| (WebCore::FontPlatformData::platformDataInit): Copy m_harfbuzzFace. |
| (WebCore::FontPlatformData::platformDataAssign): Ditto. |
| (WebCore): |
| (WebCore::isAATFont): |
| (WebCore::FontPlatformData::harfbuzzFace): |
| * platform/graphics/harfbuzz/ng/HarfBuzzFace.cpp: Added. |
| (WebCore): |
| (WebCore::harfbuzzFaceCache): |
| (WebCore::HarfBuzzFace::HarfBuzzFace): |
| (WebCore::HarfBuzzFace::~HarfBuzzFace): |
| * platform/graphics/harfbuzz/ng/HarfBuzzFace.h: Added. |
| (WebCore): |
| (HarfBuzzFace): |
| (WebCore::HarfBuzzFace::create): |
| * platform/graphics/harfbuzz/ng/HarfBuzzFaceCoreText.cpp: Added. |
| (WebCore): |
| (WebCore::floatToHarfBuzzPosition): |
| (WebCore::getGlyph): |
| (WebCore::getGlyphHorizontalAdvance): |
| (WebCore::getGlyphHorizontalOrigin): |
| (WebCore::getGlyphExtents): |
| (WebCore::harfbuzzCoreTextGetFontFuncs): |
| (WebCore::releaseTableData): |
| (WebCore::harfbuzzCoreTextGetTable): |
| (WebCore::HarfBuzzFace::createFace): |
| (WebCore::HarfBuzzFace::createFont): |
| (WebCore::HarfBuzzShaper::createGlyphBufferAdvance): |
| * platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp: Added. |
| (WebCore): |
| (WebCore::harfbuzzPositionToFloat): |
| (WebCore::HarfBuzzShaper::HarfBuzzRun::HarfBuzzRun): |
| (WebCore::HarfBuzzShaper::HarfBuzzRun::setGlyphAndPositions): |
| (WebCore::HarfBuzzShaper::HarfBuzzRun::characterIndexForXPosition): |
| (WebCore::HarfBuzzShaper::HarfBuzzRun::xPositionForOffset): |
| (WebCore::HarfBuzzShaper::HarfBuzzShaper): |
| (WebCore::HarfBuzzShaper::~HarfBuzzShaper): |
| (WebCore::HarfBuzzShaper::setFontFeatures): |
| (WebCore::HarfBuzzShaper::shape): |
| (WebCore::HarfBuzzShaper::setupHarfBuzzRun): |
| (WebCore::HarfBuzzShaper::shapeHarfBuzzRun): |
| (WebCore::HarfBuzzShaper::setGlyphPositionsForHarfBuzzRun): |
| (WebCore::HarfBuzzShaper::offsetForPosition): |
| (WebCore::HarfBuzzShaper::selectionRect): |
| * platform/graphics/harfbuzz/ng/HarfBuzzShaper.h: Added. |
| (WebCore): |
| (HarfBuzzShaper): |
| (WebCore::HarfBuzzShaper::totalWidth): |
| (HarfBuzzRun): |
| (WebCore::HarfBuzzShaper::HarfBuzzRun::create): |
| (WebCore::HarfBuzzShaper::HarfBuzzRun::setWidth): |
| (WebCore::HarfBuzzShaper::HarfBuzzRun::numCharacters): |
| (WebCore::HarfBuzzShaper::HarfBuzzRun::numGlyphs): |
| (WebCore::HarfBuzzShaper::HarfBuzzRun::width): |
| (WebCore::HarfBuzzShaper::HarfBuzzRun::rtl): |
| * platform/graphics/mac/FontComplexTextMac.cpp: |
| (WebCore): |
| (WebCore::preferHarfBuzz): Added. |
| (WebCore::Font::selectionRectForComplexText): Use HarfBuzzShaper if font-feature-settings exists. |
| (WebCore::Font::drawComplexText): Ditto. |
| (WebCore::Font::floatWidthForComplexText): Ditto. |
| (WebCore::Font::offsetForPositionForComplexText): Ditto. |
| |
| 2012-06-12 Luke Macpherson <macpherson@chromium.org> |
| |
| WIP: Implement CSS Variables Standard. |
| https://bugs.webkit.org/show_bug.cgi?id=85580 |
| |
| Reviewed by Ojan Vafai. |
| |
| Implement CSS Variables Module Level 1. (See http://www.w3.org/TR/css-variables/) |
| |
| A HashMap of properties is referenced by RenderStyle, and used to store variables as strings. |
| That HashMap is copy-on-write, and unless new variables are defined is simply a pointer to the |
| parent's definitions. At usage time the variable's value is parsed according to the CSS property |
| where it is used. |
| Variables can: |
| Define lists of values (ie. entire shorthand values). |
| Define individual values. |
| Refer to other variables. (Cycle detection is implemented). |
| Please see the supplied test cases for example usage. |
| |
| Missing features: |
| CSS variables cannot yet be used inside some functions such as -webkit-calc. |
| |
| Covered by existing test suite under fast/css/variables. |
| |
| * GNUmakefile.list.am: |
| * Target.pri: |
| * WebCore.gypi: |
| * WebCore.vcproj/WebCore.vcproj: |
| * WebCore.xcodeproj/project.pbxproj: |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): |
| * css/CSSGrammar.y: |
| * css/CSSParser.cpp: |
| (WebCore): |
| (WebCore::filterProperties): |
| (WebCore::CSSParser::createStylePropertySet): |
| (WebCore::CSSParser::validUnit): |
| (WebCore::CSSParser::createPrimitiveNumericValue): |
| (WebCore::CSSParser::parseValue): |
| (WebCore::CSSParser::storeVariableDeclaration): |
| (WebCore::CSSParser::detectDashToken): |
| (WebCore::CSSParser::lex): |
| * css/CSSParser.h: |
| (CSSParser): |
| * css/CSSParserValues.cpp: |
| (WebCore::CSSParserValue::createCSSValue): |
| * css/CSSPrimitiveValue.cpp: |
| (WebCore::isValidCSSUnitTypeForDoubleConversion): |
| (WebCore::CSSPrimitiveValue::getStringValue): |
| (WebCore::CSSPrimitiveValue::customSerializeResolvingVariables): |
| (WebCore): |
| * css/CSSPrimitiveValue.h: |
| (CSSPrimitiveValue): |
| (WebCore::CSSPrimitiveValue::isVariableName): |
| * css/CSSProperty.cpp: |
| (WebCore::CSSProperty::isInheritedProperty): |
| * css/CSSValue.cpp: |
| (WebCore::CSSValue::serializeResolvingVariables): |
| (WebCore): |
| (WebCore::CSSValue::destroy): |
| * css/CSSValue.h: |
| (CSSValue): |
| (WebCore::CSSValue::isVariableValue): |
| * css/CSSValueList.cpp: |
| (WebCore): |
| (WebCore::CSSValueList::customSerializeResolvingVariables): |
| * css/CSSValueList.h: |
| (CSSValueList): |
| * css/CSSVariableValue.h: Added. |
| (WebCore): |
| (CSSVariableValue): |
| (WebCore::CSSVariableValue::create): |
| (WebCore::CSSVariableValue::name): |
| (WebCore::CSSVariableValue::value): |
| (WebCore::CSSVariableValue::CSSVariableValue): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::collectMatchingRulesForList): |
| * css/StyleResolver.h: |
| * css/WebKitCSSTransformValue.cpp: |
| (WebCore): |
| (WebCore::WebKitCSSTransformValue::customSerializeResolvingVariables): |
| * css/WebKitCSSTransformValue.h: |
| (WebKitCSSTransformValue): |
| * css/makeprop.pl: |
| * rendering/style/RenderStyle.h: |
| * rendering/style/StyleVariableData.h: Added. |
| (WebCore): |
| (StyleVariableData): |
| (WebCore::StyleVariableData::create): |
| (WebCore::StyleVariableData::copy): |
| (WebCore::StyleVariableData::operator==): |
| (WebCore::StyleVariableData::operator!=): |
| (WebCore::StyleVariableData::setVariable): |
| (WebCore::StyleVariableData::StyleVariableData): |
| |
| 2012-06-12 MORITA Hajime <morrita@google.com> |
| |
| Shadow Pseudo ID should be able to nest to point nested shadow DOM. |
| https://bugs.webkit.org/show_bug.cgi?id=62218 |
| |
| Reviewed by Dimitri Glazkov. |
| |
| - updateSpecifiersWithElementName() didn't take nesting into account. |
| tag history can contain selector entries which isn't marked as ShadowDescendant yet. |
| such entry can be found by investigating isUnknownPseudoElement(). |
| - SelectorChecker::checkSelector() was too strict. Unknown pseudo elements are essentially a kind of class or id |
| in implementation perspective. For such, rejecting by missing elementStyle doesn't make sense: |
| It isn't a pseudo but a real element for WebCore after all. |
| - Added Internals::setShadowPseudoId() to create a test harness whose DOM tree contains pseudo shadow ids. |
| |
| Before this change, following selecdtor chain is created for "p::-shadow-child::-nested-shadow-child": |
| |
| [both tag name and -shadow-id are set] <-(ShadowDescendant)- [-nested-shadow-id] |
| |
| What we want, which is created by this change is: |
| |
| [tag] <-(ShadowDescendant)- [-shadow-id is set] <-(ShadowdescenDant)- [-nested-shadow-id] |
| |
| Test: fast/dom/shadow/shadow-nested-pseudo-id.html |
| |
| * WebCore.exp.in: |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::updateSpecifiersWithElementName): |
| * css/SelectorChecker.cpp: |
| (WebCore::SelectorChecker::checkOneSelector): |
| * testing/Internals.cpp: |
| (WebCore::Internals::setShadowPseudoId): |
| (WebCore): |
| * testing/Internals.h: |
| (Internals): |
| * testing/Internals.idl: |
| |
| 2012-06-12 Christophe Dumez <christophe.dumez@intel.com> |
| |
| [soup] Prevent setting or editing httpOnly cookies from JavaScript |
| https://bugs.webkit.org/show_bug.cgi?id=88760 |
| |
| Reviewed by Gustavo Noronha Silva. |
| |
| Prevent setting or overwriting httpOnly cookies from JavaScript. |
| Fix setCookies() so that it parses all the cookies and not just |
| the first one. |
| |
| Test: http/tests/cookies/js-get-and-set-http-only-cookie.html |
| |
| * platform/network/soup/CookieJarSoup.cpp: |
| (WebCore::httpOnlyCookieExists): |
| (WebCore): |
| (WebCore::setCookies): |
| |
| 2012-06-12 Christophe Dumez <christophe.dumez@intel.com> |
| |
| [EFL] Enable SHADOW_DOM flag |
| https://bugs.webkit.org/show_bug.cgi?id=87732 |
| |
| Reviewed by Kentaro Hara. |
| |
| Test: fast/dom/shadow/shadow-root-innerHTML.html |
| |
| * dom/ShadowRoot.idl: Add JSGenerateToJSObject extended attribute so |
| that the ShadowRoot properties are accessible on JS side. |
| * testing/Internals.idl: Fix SHADOW_DOM ifdef check. |
| |
| 2012-06-12 Leo Yang <leo.yang@torchmobile.com.cn> |
| |
| Dynamic hash table in DOMObjectHashTableMap is wrong in multiple threads |
| https://bugs.webkit.org/show_bug.cgi?id=87334 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Adapt to JSC::HashTable::copy to avoid copy dynamic table member of a HashTable. |
| The dynamic table may be allocated on other thread and contains thread specific |
| identifiers. For example, a hash table of JSEntryArray was first initialized on a |
| worker thread, and then the user reloaded the page, another worker thread is |
| created due to reload, the dynamic allocated table in *staticTable* is specific |
| to the first worker thread which has died. If the user reload the page again, |
| the dynamic table will be freed and memory corruption will occur. |
| |
| No functionalities changed, no new tests. |
| |
| * bindings/js/DOMObjectHashTableMap.h: |
| (WebCore::DOMObjectHashTableMap::get): |
| |
| 2012-06-12 James Robinson <jamesr@chromium.org> |
| |
| [chromium] Port Canvas2DLayerBridge over to WebExternalTextureLayer |
| https://bugs.webkit.org/show_bug.cgi?id=88597 |
| |
| Reviewed by Adrienne Walker. |
| |
| This converts Canvas2DLayerBridge to using public WebLayer API types instead of LayerChromium types. |
| |
| * platform/graphics/chromium/Canvas2DLayerBridge.cpp: |
| (WebCore::AcceleratedDeviceContext::AcceleratedDeviceContext): |
| (WebCore::AcceleratedDeviceContext::prepareForDraw): |
| (AcceleratedDeviceContext): |
| (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge): |
| (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge): |
| (WebCore::Canvas2DLayerBridge::skCanvas): |
| (WebCore::Canvas2DLayerBridge::prepareTexture): |
| (WebCore::Canvas2DLayerBridge::context): |
| (WebCore::Canvas2DLayerBridge::layer): |
| (WebCore::Canvas2DLayerBridge::contextAcquired): |
| * platform/graphics/chromium/Canvas2DLayerBridge.h: |
| (WebCore): |
| (Canvas2DLayerBridge): |
| |
| 2012-06-12 Alexis Menard <alexis.menard@openbossa.org> |
| |
| Fix packing in StyleBoxData for Windows. |
| https://bugs.webkit.org/show_bug.cgi?id=88858 |
| |
| Reviewed by Tony Chang. |
| |
| MSVC doesn't pack bitfields if the types are mixed. |
| We can safely change the bool type to an unsigned so |
| the packing will happen. I have added a compile assert |
| for future regressions. |
| |
| No new tests : we should not see any regressions. |
| |
| * rendering/style/StyleBoxData.h: |
| * rendering/style/StyleBoxData.cpp: |
| (StyleBoxData): |
| |
| 2012-06-12 Adrienne Walker <enne@google.com> |
| |
| [chromium] Paint scrollbars on WebKit thread and composite those textures |
| https://bugs.webkit.org/show_bug.cgi?id=88145 |
| |
| Reviewed by James Robinson. |
| |
| Scrollbars were previously painted and uploaded on the compositor |
| thread. This isn't possible to do for many scrollbar themes. This |
| patch changes ScrollbarLayerChromium to paint the scrollbar into two |
| parts: the thumb, and everything else. These are uploaded into |
| textures and synced over to the CCScrollbarImpl where they are |
| composited and drawn. |
| |
| Mac and overlay scrollbars are still not enabled to have compositor |
| thread-updated scrollbars. |
| |
| As a bonus, fix LayerRendererChromium::drawTextureQuad to draw quads |
| that do not fill the entire layer bounds. |
| |
| Tested by existing layout and unit tests by removing the condition |
| that these scrollbar layers are only created when the threaded proxy |
| exists. |
| |
| * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp: |
| (WebCore::scrollbarLayerDidChange): |
| * platform/ScrollbarThemeComposite.cpp: |
| (WebCore::ScrollbarThemeComposite::thumbRect): |
| (WebCore): |
| * platform/ScrollbarThemeComposite.h: |
| (ScrollbarThemeComposite): |
| * platform/graphics/chromium/LayerRendererChromium.cpp: |
| (WebCore::LayerRendererChromium::drawTextureQuad): |
| * platform/graphics/chromium/ScrollbarLayerChromium.cpp: |
| (WebCore::ScrollbarLayerChromium::ScrollbarLayerChromium): |
| (WebCore::ScrollbarLayerChromium::theme): |
| (WebCore): |
| (WebCore::ScrollbarLayerChromium::pushPropertiesTo): |
| (ScrollbarBackgroundPainter): |
| (WebCore::ScrollbarBackgroundPainter::create): |
| (WebCore::ScrollbarBackgroundPainter::paint): |
| (WebCore::ScrollbarBackgroundPainter::ScrollbarBackgroundPainter): |
| (ScrollbarThumbPainter): |
| (WebCore::ScrollbarThumbPainter::create): |
| (WebCore::ScrollbarThumbPainter::paint): |
| (WebCore::ScrollbarThumbPainter::ScrollbarThumbPainter): |
| (WebCore::ScrollbarLayerChromium::setLayerTreeHost): |
| (WebCore::ScrollbarLayerChromium::createTextureUpdaterIfNeeded): |
| (WebCore::ScrollbarLayerChromium::updatePart): |
| (WebCore::ScrollbarLayerChromium::update): |
| * platform/graphics/chromium/ScrollbarLayerChromium.h: |
| (WebCore): |
| (ScrollbarLayerChromium): |
| * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp: |
| (WebCore::CCScrollbarLayerImpl::CCScrollbarLayerImpl): |
| (WebCore::CCScrollbarLayerImpl::appendQuads): |
| * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h: |
| (WebCore::CCScrollbarLayerImpl::setBackgroundTextureId): |
| (WebCore::CCScrollbarLayerImpl::setThumbTextureId): |
| (CCScrollbarLayerImpl): |
| |
| 2012-06-12 Tony Chang <tony@chromium.org> |
| |
| Replaced items in a flexbox should be coerced to display:block |
| https://bugs.webkit.org/show_bug.cgi?id=87068 |
| |
| Reviewed by Ojan Vafai. |
| |
| The flexbox spec lists HTML tags that should automatically be converted |
| to display:block when a flex child. It also says that atomic inline-level |
| children should become block (e.g., inline-table should be treated as table). |
| http://dev.w3.org/csswg/css3-flexbox/#flex-items |
| |
| Test: css3/flexbox/flexitem.html |
| |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::collectMatchingRulesForList): |
| |
| 2012-06-12 Joshua Bell <jsbell@chromium.org> |
| |
| IndexedDB: ObjectStore/Index shouldn't hold reference to backing store |
| https://bugs.webkit.org/show_bug.cgi?id=83074 |
| |
| Reviewed by Tony Chang. |
| |
| We should be able to collect and close the leveldb backing store as soon as the database |
| connection is closed, but the IDBObjectStoreBackendImpl and IDBIndexBackendImpl were |
| holding RefPtrs, and those objects are kept alive by script references. |
| |
| Replaced RefPtrs to the IDBBackingStore with pointers to the IDBDatabase. On the back end, |
| IDBDatabaseBackendImpl maintains a RefPtr to the IDBObjectStoreBackendImpl object, so |
| a raw pointer back is safe. On the front end, the IDBObjectStore maintains a RefPtr to |
| the IDBDatabase so script can navigate upwards. Ditto on both ends for the ObjectStore/Index |
| relationship. The frontend objects maintain RefPtrs to the backend objects, so the backend |
| objects and their owners are maintained as long as there's a script reference. To ensure |
| that all LevelDB objects are destructed in the right order, transactions indirectly track all |
| open cursors and ensure they are closed when the transaction finishes, and database closing |
| is explicitly prevented from occurring until transactions are complete. |
| |
| Also made IDBDatabaseBackendImpl handle a null IDBFactoryBackendImpl pointer, for testing. |
| |
| Tests: storage/indexeddb/database-close.html |
| storage/indexeddb/persistence.html |
| [Chromium] webkit_unit_tests --gtest_filter=IDBDatabaseBackendTest.BackingStoreRetention |
| |
| * Modules/indexeddb/IDBCursorBackendImpl.cpp: |
| (WebCore::IDBCursorBackendImpl::close): Release LevelDB resources when closed to allow backing store to close. |
| * Modules/indexeddb/IDBCursorBackendImpl.h: |
| (WebCore): |
| * Modules/indexeddb/IDBDatabase.cpp: Ensure connection close deferred until all transactions are finished. |
| (WebCore::IDBDatabase::transactionCreated): Accounting. |
| (WebCore::IDBDatabase::transactionFinished): Accounting. |
| (WebCore::IDBDatabase::close): |
| (WebCore): |
| (WebCore::IDBDatabase::closeConnection): |
| * Modules/indexeddb/IDBDatabase.h: |
| (IDBDatabase): |
| * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: Track outstanding transactions for forced-close scenarios. |
| (WebCore::IDBDatabaseBackendImpl::~IDBDatabaseBackendImpl): |
| (WebCore::IDBDatabaseBackendImpl::createObjectStore): Don't pass in backing store reference. |
| (WebCore::IDBDatabaseBackendImpl::setVersion): Use transaction() for consistent accounting. |
| (WebCore::IDBDatabaseBackendImpl::transactionFinished): Accounting. |
| (WebCore::IDBDatabaseBackendImpl::transaction): Accounting. |
| (WebCore::IDBDatabaseBackendImpl::close): Unregister from factory when last connection is closed. |
| (WebCore::IDBDatabaseBackendImpl::loadObjectStores): Don't pass in backing store reference. |
| (WebCore::IDBDatabaseBackendImpl::removeObjectStoreFromMap): |
| * Modules/indexeddb/IDBDatabaseBackendImpl.h: |
| (WebCore): |
| (IDBDatabaseBackendImpl): |
| * Modules/indexeddb/IDBFactoryBackendImpl.cpp: |
| (WebCore::IDBFactoryBackendImpl::deleteDatabase): Don't hang on to deleted databases eternally. |
| * Modules/indexeddb/IDBFactoryBackendImpl.h: Backend map controls IDBDatabaseBackend lifetimes. |
| (IDBFactoryBackendImpl): |
| * Modules/indexeddb/IDBIndexBackendImpl.cpp: Don't hold backing store references. |
| (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl): |
| * Modules/indexeddb/IDBIndexBackendImpl.h: |
| (WebCore::IDBIndexBackendImpl::create): |
| (IDBIndexBackendImpl): |
| (WebCore::IDBIndexBackendImpl::backingStore): |
| (WebCore::IDBIndexBackendImpl::databaseId): |
| * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: Don't hold backing store references. |
| (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl): |
| (WebCore::IDBObjectStoreBackendImpl::createIndex): |
| (WebCore::IDBObjectStoreBackendImpl::loadIndexes): |
| * Modules/indexeddb/IDBObjectStoreBackendImpl.h: |
| (WebCore::IDBObjectStoreBackendImpl::create): |
| (IDBObjectStoreBackendImpl): |
| (WebCore::IDBObjectStoreBackendImpl::backingStore): |
| (WebCore::IDBObjectStoreBackendImpl::databaseId): |
| * Modules/indexeddb/IDBRequest.cpp: |
| (WebCore::IDBRequest::onSuccess): |
| * Modules/indexeddb/IDBTransaction.cpp: |
| (WebCore::IDBTransaction::IDBTransaction): For IDBDatabase accounting, allow ref during ctor. |
| (WebCore::IDBTransaction::onAbort): Accounting. |
| (WebCore::IDBTransaction::onComplete): Accounting. |
| * Modules/indexeddb/IDBTransaction.h: |
| (WebCore::IDBTransaction::isVersionChange): Convenience function. |
| (IDBTransaction): |
| * Modules/indexeddb/IDBTransactionBackendImpl.cpp: |
| (WebCore::IDBTransactionBackendImpl::abort): Cleanup ordering to allow backing store to close. |
| (WebCore::IDBTransactionBackendImpl::commit): Cleanup ordering to allow backing store to close. |
| |
| 2012-06-12 Adrienne Walker <enne@google.com> |
| |
| [chromium] Don't set visible layer rect in CCLayerTreeHost paint iteration |
| https://bugs.webkit.org/show_bug.cgi?id=88895 |
| |
| Reviewed by James Robinson. |
| |
| We should only set visible layer rects during the recursion in |
| CClayerTreeHostCommon and not while we're painting. This is one last |
| straggling piece of code that never got moved. |
| |
| Tested by existing mask-related layout tests. |
| |
| * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: |
| (WebCore::CCLayerTreeHost::paintMasksForRenderSurface): |
| * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp: |
| (WebCore::calculateVisibleAndScissorRectsInternal): |
| |
| 2012-06-12 Dana Jansens <danakj@chromium.org> |
| |
| [chromium] Return empty visibleLayerRect for layers with empty content bounds |
| https://bugs.webkit.org/show_bug.cgi?id=88901 |
| |
| Reviewed by Adrienne Walker. |
| |
| This change should only affect tests. Currently if you set up a |
| CCLayerImpl with some bounds, but don't set the contentBounds, then |
| they are empty by default. In this case the visibleLayerRect gets |
| set inappropriately to the layer's target surface contentRect which |
| in a completely different coordinate space. |
| |
| Fixed up tests that were passing bogusly and failed after this change. |
| |
| * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp: |
| (WebCore::calculateVisibleLayerRect): |
| |
| 2012-06-12 Adrienne Walker <enne@google.com> |
| |
| [chromium] ScrollingCoordinator::setScrollLayer should update scroll layer ids |
| https://bugs.webkit.org/show_bug.cgi?id=88882 |
| |
| Reviewed by James Robinson. |
| |
| Tested manually, as scrollbar layers are currently only created when |
| threaded compositing is enabled and none of those layout tests trigger |
| this bug. |
| |
| * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp: |
| (WebCore::ScrollingCoordinatorPrivate::setScrollLayer): |
| (ScrollingCoordinatorPrivate): |
| (WebCore::ScrollingCoordinatorPrivate::setHorizontalScrollbarLayer): |
| (WebCore::ScrollingCoordinatorPrivate::setVerticalScrollbarLayer): |
| (WebCore::createScrollbarLayer): |
| (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange): |
| (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange): |
| * platform/graphics/chromium/ScrollbarLayerChromium.h: |
| (WebCore::ScrollbarLayerChromium::setScrollLayerId): |
| (ScrollbarLayerChromium): |
| * platform/graphics/chromium/TreeSynchronizer.cpp: |
| (WebCore::TreeSynchronizer::updateScrollbarLayerPointersRecursive): |
| |
| 2012-06-12 Mark Mentovai <mark@chromium.org> |
| |
| [chromium mac] Don't include things in subframeworks of |
| ApplicationServices.framework. |
| |
| Subframeworks move around from SDK to SDK and OS release to OS |
| release, but just using the top-level umbrella framework guarantees |
| forward compatibility. When building for Chromium Mac, just #include |
| <ApplicationServices/ApplicationServices.h> instead of reaching in to |
| subframeworks. |
| |
| https://bugs.webkit.org/show_bug.cgi?id=88569 |
| |
| Reviewed by Stephen White. |
| |
| No new tests. |
| |
| * platform/graphics/GlyphBuffer.h: |
| * platform/graphics/mac/ComplexTextControllerCoreText.mm: |
| * platform/graphics/skia/GraphicsContextSkia.cpp: |
| |
| 2012-06-12 Igor Oliveira <igor.o@sisa.samsung.com> |
| |
| Apply animations and transitions for first-letter element |
| https://bugs.webkit.org/show_bug.cgi?id=85253 |
| |
| Add animations and transitions support for the first-letter |
| pseudo element. |
| Instead of calling RenderOject::node() in the animations code, |
| now we need to call RenderObject::styledGeneratingNode() because |
| pseudo elements does not have a Node associated with the |
| RenderObject. |
| |
| Initial patch by Simon Fraser |
| |
| Reviewed by Simon Fraser. |
| |
| Tests: animations/first-letter-animation.html |
| animations/first-letter-play-state.html |
| transitions/first-letter-color-transition.html |
| transitions/first-letter-transition.html |
| |
| * page/animation/AnimationBase.cpp: |
| (WebCore::AnimationBase::updateStateMachine): |
| * page/animation/AnimationController.cpp: |
| (WebCore::AnimationControllerPrivate::updateAnimations): |
| (WebCore::AnimationControllerPrivate::pauseAnimationAtTime): |
| (WebCore::AnimationControllerPrivate::pauseTransitionAtTime): |
| (WebCore::AnimationController::cancelAnimations): |
| (WebCore::AnimationController::updateAnimations): |
| * page/animation/ImplicitAnimation.cpp: |
| (WebCore::ImplicitAnimation::pauseAnimation): |
| (WebCore::ImplicitAnimation::sendTransitionEvent): |
| * page/animation/KeyframeAnimation.cpp: |
| (WebCore::KeyframeAnimation::KeyframeAnimation): |
| (WebCore::KeyframeAnimation::pauseAnimation): |
| (WebCore::KeyframeAnimation::endAnimation): |
| (WebCore::KeyframeAnimation::sendAnimationEvent): |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::updateFirstLetterStyle): |
| (WebCore::RenderBlock::createFirstLetterRenderer): |
| * rendering/RenderInline.cpp: |
| (WebCore::RenderInline::clippedOverflowRectForRepaint): |
| * rendering/RenderObject.cpp: |
| (WebCore::RenderObject::setAnimatableStyle): |
| (WebCore::RenderObject::styledGeneratingNode): |
| (WebCore): |
| * rendering/RenderObject.h: |
| (RenderObject): |
| |
| 2012-06-12 Kent Tamura <tkent@chromium.org> |
| |
| Checking a radio button doesn't uncheck other buttons in the same group in some cases. |
| https://bugs.webkit.org/show_bug.cgi?id=88835 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| This change fixes a bug that checking a radio button in a radio button |
| group in a form detached from a document tree doesn't uncheck another |
| checked radio button in the radio button group. |
| |
| A radio button participates in a radio button group in the following |
| conditions: |
| - If it is owned by a form element regardless of the form is in a |
| document tree or not, or |
| |
| - If it is not owned by any form elements and it is in a document tree. |
| A radio button group for the radio button is owned by the document. |
| |
| For HTMLInputElement::removedFrom(): |
| The old code always unregistered the radio button if it was removed from |
| the document tree. It was incorrect because we don't need to unregister |
| it if it has an owner form and the owner form is not changed by |
| removedFrom(). |
| If the owner form is cleared by removedFrom(), willChangeForm() |
| unregisters the radio button. So what we should do in removedFrom() is |
| to unregister the radio button only if the radio button group is owned |
| by the document. |
| |
| For HTMLInputElement::insertedInto(): |
| The old code always registered the radio button if it is inserted into |
| the document tree. It was incorrect because we don't need to register it |
| if it has an owner form and the owner form is not changed by |
| insertedInto(). |
| If the owner form is changed by insertedInto(), didChangeForm() |
| registers the radio button. So We should register the radio button only |
| if its radio button group will be owned by the document. |
| |
| Test: Add test cases to fast/forms/radio/radio-group.html |
| |
| * html/HTMLInputElement.cpp: |
| (WebCore::HTMLInputElement::insertedInto): |
| Register this to CheckedRadioButtons only if new group owner is Document. |
| (WebCore::HTMLInputElement::removedFrom): |
| Unregister this from CheckedRadioButtons only if old group owner was Document. |
| |
| 2012-06-12 James Robinson <jamesr@chromium.org> |
| |
| [chromium] REGRESSION(119769): Canvas2DLayerBridge may go away before its TextureLayerChromium |
| https://bugs.webkit.org/show_bug.cgi?id=88910 |
| |
| Reviewed by Adrienne Walker. |
| |
| Unregister the bridge as its TextureLayerChromium client when going away. |
| |
| Covered by new unit test in Canvas2DLayerBridgeTest.cpp. |
| |
| * platform/graphics/chromium/Canvas2DLayerBridge.cpp: |
| (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge): |
| |
| 2012-06-12 Alec Flett <alecflett@chromium.org> |
| |
| IndexedDB: Error codes, phase two |
| https://bugs.webkit.org/show_bug.cgi?id=88690 |
| |
| Reviewed by Tony Chang. |
| |
| Update the next phase of IndexedDB error codes to match the spec. |
| This update is mostly focused on DATA_ERR vs CONSTRAINT_ERR. |
| |
| Also moves some of the error checking for the transaction mode |
| into the frontend and replaces the backend checks with asserts, so that |
| we can consolidate error checking in one place. |
| |
| This also removes a few FIXME's that are no longer true (about |
| I/O errors - the spec was updated and our implementation was |
| already correct) |
| |
| No new tests, existing tests cover changed behavior. |
| |
| * Modules/indexeddb/IDBCursor.cpp: |
| (WebCore::IDBCursor::deleteFunction): |
| * Modules/indexeddb/IDBCursorBackendImpl.cpp: |
| (WebCore::IDBCursorBackendImpl::deleteFunction): |
| * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: |
| (WebCore::IDBDatabaseBackendImpl::setVersionInternal): |
| * Modules/indexeddb/IDBObjectStore.cpp: |
| (WebCore::IDBObjectStore::add): |
| (WebCore::IDBObjectStore::put): |
| (WebCore::IDBObjectStore::deleteFunction): |
| (WebCore::IDBObjectStore::clear): |
| * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: |
| (WebCore::IDBObjectStoreBackendImpl::put): |
| (WebCore::IDBObjectStoreBackendImpl::putInternal): |
| (WebCore::IDBObjectStoreBackendImpl::deleteFunction): |
| (WebCore::IDBObjectStoreBackendImpl::clear): |
| * Modules/indexeddb/IDBTransaction.h: |
| (WebCore::IDBTransaction::enumMode): |
| * Modules/indexeddb/IDBTransactionBackendImpl.h: |
| |
| 2012-06-12 Min Qin <qinmin@google.com> |
| |
| Disable autoplay when user gesture is required for media playback |
| https://bugs.webkit.org/show_bug.cgi?id=88897 |
| |
| Reviewed by Adam Barth. |
| |
| When user gesture is required for media playback, we should block autoplay. |
| Otherwise, people will use autoplay instead of video.play() to bypass the gesture requirement. |
| Test: media/no-autoplay-with-user-gesture-requirement.html |
| |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::setReadyState): |
| |
| 2012-06-12 Shrey Banga <banga@chromium.org> |
| |
| HTML parser should yield more to improve perceived page load time |
| https://bugs.webkit.org/show_bug.cgi?id=86165 |
| |
| Reviewed by Tony Gentilcore. |
| |
| Test: fast/events/event-yield-timing.html |
| |
| We want the parser to yield at least every 500ms to keep the page somewhat responsive and allow painting. |
| Since it would be too expensive to check the time after each token, the previous heuristic was to check every 4,096 tokens. |
| That works fine for most tokens, but a script may spend an arbitrary amount of time executing. |
| |
| This patch fixes the issue by causing the parser to check the elapsed time immediately after executing a script. |
| |
| * html/parser/HTMLParserScheduler.cpp: |
| (WebCore::HTMLParserScheduler::checkForYieldBeforeScript): |
| * html/parser/HTMLParserScheduler.h: |
| (WebCore::PumpSession::PumpSession): |
| (PumpSession): |
| (WebCore::HTMLParserScheduler::checkForYieldBeforeToken): |
| |
| 2012-06-12 Sami Kyostila <skyostil@chromium.org> |
| |
| [chromium] Don't crash in CCLayerIterator if the root layer doesn't have a render surface |
| https://bugs.webkit.org/show_bug.cgi?id=88886 |
| |
| Reviewed by James Robinson. |
| |
| If we are iterating over a render render surface layer list where the |
| root layer does not have a render surface, fail gracefully instead of |
| crashing. |
| |
| Tests: CCLayerIteratorTest.{emptyTree,rootLayerWithoutRenderSurface} |
| |
| * platform/graphics/chromium/cc/CCLayerIterator.h: |
| (WebCore::CCLayerIterator::CCLayerIterator): |
| |
| 2012-06-06 Ojan Vafai <ojan@chromium.org> |
| |
| Change default for flex-grow back to 0 |
| https://bugs.webkit.org/show_bug.cgi?id=88443 |
| |
| Reviewed by Tony Chang. |
| |
| * rendering/style/RenderStyle.h: |
| |
| 2012-06-12 Brady Eidson <beidson@apple.com> |
| |
| <rdar://problem/11593686> and https://bugs.webkit.org/show_bug.cgi?id=88683 |
| Garbage collection of an <img> element can cause reentrant event dispatch. |
| |
| Reviewed by Darin Adler. |
| |
| The most straightforward solution is for ImageLoader to keep its Element alive |
| with ref/deref any time the Image is actually loading. |
| |
| ImageLoader should always do this for all Elements, and if those Elements want/need |
| different behavior for when they are detached then they need to manually stop their |
| loads. |
| |
| Tests: http/tests/loading/embed-image-load-outlives-gc-without-crashing.html |
| http/tests/loading/image-input-type-outlives-gc-without-crashing.html |
| http/tests/loading/image-load-outlives-gc-without-crashing.html |
| http/tests/loading/object-image-load-outlives-gc-without-crashing.html |
| http/tests/loading/svg-image-load-outlives-gc-without-crashing.html |
| http/tests/loading/video-poster-image-load-outlives-gc-without-crashing.html |
| |
| * loader/ImageLoader.cpp: |
| (WebCore::ImageLoader::ImageLoader): |
| (WebCore::ImageLoader::~ImageLoader): |
| (WebCore::ImageLoader::setImage): |
| (WebCore::ImageLoader::updateFromElement): |
| (WebCore::ImageLoader::notifyFinished): |
| (WebCore::ImageLoader::updatedHasPendingLoadEvent): |
| (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent): |
| (WebCore::ImageLoader::dispatchPendingLoadEvent): |
| * loader/ImageLoader.h: |
| (ImageLoader): |
| |
| 2012-06-12 Shawn Singh <shawnsingh@chromium.org> |
| |
| [chromium] Make damage tracking more robust to early exits |
| https://bugs.webkit.org/show_bug.cgi?id=84803 |
| |
| Reviewed by James Robinson. |
| |
| All CCDamageTrackerTest unit tests updated; |
| One new unit test added: |
| CCDamageTrackerTest.verifyDamageAccumulatesUntilReset |
| |
| Damage tracking inherently needs to be aware of all changes that |
| occur for every frame. Before this patch, anyone modifying details |
| of CCLayerTreeHostImpl and the drawing phases of the compositor |
| needed to be careful to avoid early exiting once draw is |
| initiated, otherwise running the risk of damage tracking's state |
| getting out-of-sync from actual changes. This patch makes the |
| damage tracker API more asynchronous-like, so that damage will |
| continue to accumulate until it is explicitly notified that |
| damaged areas have been drawn. This will allow more freedom in |
| designing and restructuing drawing code in the compositor, without |
| worrying as much about damage tracking getting out-of-sync. |
| |
| * platform/graphics/chromium/cc/CCDamageTracker.h: |
| (WebCore::CCDamageTracker::didDrawDamagedArea): |
| * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: |
| (WebCore::CCLayerTreeHostImpl::drawLayers): |
| * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: |
| (CCLayerTreeHostImpl): |
| |
| 2012-06-12 Mike West <mkwst@chromium.org> |
| |
| Make document.documentURI readonly from JavaScript |
| https://bugs.webkit.org/show_bug.cgi?id=65187 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| The DOM4 working draft marks the documentURI attribute as read only |
| (http://www.w3.org/TR/dom/#document). Firefox has shipped with this |
| behavior since https://hg.mozilla.org/mozilla-central/rev/3bc751906409 |
| landed in October 2011, IE9 doesn't support the property, and |
| Opera throws a NO_MODIFICATION_ALLOWED_ERR. This patch changes WebKit |
| to silently fail (matching Firefox's behavior) by setting the property |
| to readonly in the IDL. |
| |
| Document::setDocumentURI and the m_documentURI property are retained |
| for compatibility with ObjC clients, and the readonly attribute is |
| ifdeffed out for ObjC. |
| |
| This patch adds a single test to verify the behavior, and removes a |
| variety of tests that depended on the writable behavior. In particular, |
| potential security issues involving the document.baseURL property are |
| avoided completely as long as this property can't be changed. |
| |
| Test: fast/dom/documenturi-readonly.html |
| |
| * dom/Document.cpp: |
| (WebCore::Document::setDocumentURI): |
| Adds a comment explaining that the fallback is necessary only to |
| support ObjC, not for JS calls. |
| * dom/Document.cpp: |
| (WebCore::Document::updateBaseURL): |
| Ditto. |
| (Document): |
| * dom/Document.idl: |
| Add readonly to the attribute and drop null value when not in |
| LANGUAGE_OBJECTIVE_C. |
| |
| 2012-06-12 Silvia Pfeiffer <silviapf@chromium.org> |
| |
| Support !ENABLE(VIDEO) builds with horizontally layed out video controls. |
| https://bugs.webkit.org/show_bug.cgi?id=88881 |
| |
| Reviewed by Csaba Osztrogonác. |
| |
| No new tests as this is a regression from WK87835. |
| |
| * html/shadow/SliderThumbElement.cpp: |
| (WebCore::hasVerticalAppearance): |
| Ifdef out video related functionality, since usesVerticalVolumeSlider |
| does not exist in that case. |
| |
| 2012-06-12 Pavel Feldman <pfeldman@chromium.org> |
| |
| Web Inspector: show revisions of all modified files in local modifications view |
| https://bugs.webkit.org/show_bug.cgi?id=88864 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| This change allows all local modifications to be seen in a single view. View is now |
| singleton, listening to all revisions being added. Revert captions were reworked |
| (see the screenshot). |
| |
| * English.lproj/localizedStrings.js: |
| * inspector/front-end/Resource.js: |
| * inspector/front-end/RevisionHistoryView.js: |
| (WebInspector.RevisionHistoryView.populateRevisions): |
| (WebInspector.RevisionHistoryView): |
| (WebInspector.RevisionHistoryView.showHistory): |
| (WebInspector.RevisionHistoryView.reset): |
| (WebInspector.RevisionHistoryView.prototype._createResourceItem.clearHistory): |
| (WebInspector.RevisionHistoryView.prototype._createResourceItem): |
| (WebInspector.RevisionHistoryView.prototype._revisionAdded.get if): |
| (WebInspector.RevisionHistoryView.prototype._revisionAdded): |
| (WebInspector.RevisionHistoryView.prototype._revealResource.get if): |
| (WebInspector.RevisionHistoryView.prototype._revealResource): |
| (WebInspector.RevisionHistoryView.prototype._reset): |
| (WebInspector.RevisionHistoryTreeElement): |
| (WebInspector.RevisionHistoryTreeElement.prototype.onattach): |
| (WebInspector.RevisionHistoryTreeElement.prototype.oncollapse): |
| * inspector/front-end/ScriptsPanel.js: |
| (WebInspector.ScriptsPanel.prototype._reset): |
| (WebInspector.ScriptsPanel.prototype._editorSelected): |
| * inspector/front-end/revisionHistory.css: |
| (.revision-history-link-row): |
| (.revision-history-drawer li.revision-history-revision): |
| |
| 2012-06-12 Pavel Feldman <pfeldman@chromium.org> |
| |
| Web Inspector: allow clearing revision history. |
| https://bugs.webkit.org/show_bug.cgi?id=88847 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| This change also renames "Revision history" to "Local modifications". |
| I intend to list modifications to all files in that view in the subsequent change. |
| |
| * English.lproj/localizedStrings.js: |
| * inspector/front-end/Resource.js: |
| (WebInspector.Resource._clearResourceHistory): |
| * inspector/front-end/RevisionHistoryView.js: |
| (WebInspector.RevisionHistoryView.else.clearHistory): |
| (WebInspector.RevisionHistoryView): |
| (WebInspector.RevisionHistoryView.prototype._revisionAdded): |
| (WebInspector.RevisionHistoryTreeElement): |
| (WebInspector.RevisionHistoryTreeElement.prototype._createLine): |
| (WebInspector.RevisionHistoryTreeElement.prototype.allowRevert): |
| * inspector/front-end/ScriptsPanel.js: |
| (WebInspector.ScriptsPanel.prototype.appendApplicableItems): |
| |
| 2012-06-12 Pavel Feldman <pfeldman@chromium.org> |
| |
| Web Inspector: use jsdifflib for revision diff calculation. |
| https://bugs.webkit.org/show_bug.cgi?id=88791 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| Present diff calculation is incomplete, it does not properly handle the following case: |
| [a, b, c, d, e, f, g, h] => [c, d, e, f, g, h, a, b] |
| We should not be implementing diff by ourselves. I imported jsdifflib from |
| https://github.com/cemerick/jsdifflib. It has BSD license that is compatible with WebKit. |
| |
| * WebCore.gypi: |
| * WebCore.vcproj/WebCore.vcproj: |
| * inspector/front-end/RevisionHistoryView.js: |
| (WebInspector.RevisionHistoryTreeElement.prototype.onexpand.step2): |
| (WebInspector.RevisionHistoryTreeElement.prototype.onexpand): |
| (WebInspector.RevisionHistoryTreeElement.prototype._createLine.appendLineNumber): |
| (WebInspector.RevisionHistoryTreeElement.prototype._createLine): |
| * inspector/front-end/WebKit.qrc: |
| * inspector/front-end/externs.js: |
| (difflib.stringAsLines): |
| (difflib.SequenceMatcher): |
| (difflib.SequenceMatcher.prototype.get_opcodes): |
| * inspector/front-end/inspector.html: |
| * inspector/front-end/jsdifflib.js: Added. |
| (difflib.defaultJunkFunction): |
| (difflib.stripLinebreaks): |
| (difflib.stringAsLines): |
| (difflib.__reduce): |
| (difflib.__ntuplecomp): |
| (difflib.__calculate_ratio): |
| (difflib.__dictget): |
| (difflib.SequenceMatcher.this.set_seqs): |
| (difflib.SequenceMatcher.this.set_seq1): |
| (difflib.SequenceMatcher.this.set_seq2): |
| (difflib.SequenceMatcher.this.__chain_b): |
| (difflib.SequenceMatcher.this.find_longest_match): |
| (difflib.SequenceMatcher.this.get_matching_blocks): |
| (difflib.SequenceMatcher.this.get_opcodes): |
| (difflib.SequenceMatcher.this.get_grouped_opcodes): |
| (difflib.SequenceMatcher.this.quick_ratio): |
| (difflib.SequenceMatcher.this.real_quick_ratio): |
| * inspector/front-end/revisionHistory.css: |
| (.revision-history-line-separator .webkit-line-number): |
| |
| 2012-06-12 Pavel Feldman <pfeldman@chromium.org> |
| |
| Web Inspector: use jsdifflib for revision diff calculation. |
| https://bugs.webkit.org/show_bug.cgi?id=88791 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| Present diff calculation is incomplete, it does not properly handle the following case: |
| [a, b, c, d, e, f, g, h] => [c, d, e, f, g, h, a, b] |
| We should not be implementing diff by ourselves. I imported jsdifflib from |
| https://github.com/cemerick/jsdifflib. It has BSD license that is compatible with WebKit. |
| |
| * WebCore.gypi: |
| * WebCore.vcproj/WebCore.vcproj: |
| * inspector/front-end/RevisionHistoryView.js: |
| (WebInspector.RevisionHistoryTreeElement.prototype.onexpand.step2): |
| (WebInspector.RevisionHistoryTreeElement.prototype.onexpand): |
| (WebInspector.RevisionHistoryTreeElement.prototype._createLine.appendLineNumber): |
| (WebInspector.RevisionHistoryTreeElement.prototype._createLine): |
| * inspector/front-end/WebKit.qrc: |
| * inspector/front-end/externs.js: |
| (difflib.stringAsLines): |
| (difflib.SequenceMatcher): |
| (difflib.SequenceMatcher.prototype.get_opcodes): |
| * inspector/front-end/inspector.html: |
| * inspector/front-end/jsdifflib.js: Added. |
| (difflib.defaultJunkFunction): |
| (difflib.stripLinebreaks): |
| (difflib.stringAsLines): |
| (difflib.__reduce): |
| (difflib.__ntuplecomp): |
| (difflib.__calculate_ratio): |
| (difflib.__dictget): |
| (difflib.SequenceMatcher.this.set_seqs): |
| (difflib.SequenceMatcher.this.set_seq1): |
| (difflib.SequenceMatcher.this.set_seq2): |
| (difflib.SequenceMatcher.this.__chain_b): |
| (difflib.SequenceMatcher.this.find_longest_match): |
| (difflib.SequenceMatcher.this.get_matching_blocks): |
| (difflib.SequenceMatcher.this.get_opcodes): |
| (difflib.SequenceMatcher.this.get_grouped_opcodes): |
| (difflib.SequenceMatcher.this.quick_ratio): |
| (difflib.SequenceMatcher.this.real_quick_ratio): |
| * inspector/front-end/revisionHistory.css: |
| (.revision-history-line-separator .webkit-line-number): |
| |
| 2012-06-12 Christophe Dumez <christophe.dumez@intel.com> |
| |
| [GStreamer] http/tests/media/video-buffered-range-contains-currentTime.html is failing |
| https://bugs.webkit.org/show_bug.cgi?id=87575 |
| |
| Reviewed by Philippe Normand. |
| |
| When EOS is reached in forward playback, the position does not necessarily |
| match the duration. This confuses HTMLMediaElement and causes the "ended" |
| event not to be fired. To avoid this, we synchronize position and duration |
| values in this case. |
| |
| Test: http/tests/media/video-buffered-range-contains-currentTime.html |
| |
| * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: |
| |
| 2012-06-12 Kinuko Yasuda <kinuko@chromium.org> |
| |
| Refactor InputType::receiveDroppedFiles to take DragData |
| https://bugs.webkit.org/show_bug.cgi?id=88860 |
| |
| Reviewed by Kent Tamura. |
| |
| So that we can centralize the file paths related code into FileInputType |
| and makes it easier to extract more data from DragData for |
| <input type=file> (like bug 88293 for directory drag-and-drop). |
| |
| No new tests as this has no behavioral changes. |
| |
| * html/FileInputType.cpp: |
| (WebCore::FileInputType::receiveDroppedFiles): |
| * html/FileInputType.h: |
| * html/HTMLInputElement.cpp: |
| (WebCore::HTMLInputElement::receiveDroppedFiles): |
| * html/HTMLInputElement.h: |
| * html/InputType.cpp: |
| (WebCore::InputType::receiveDroppedFiles): |
| * html/InputType.h: |
| * page/DragController.cpp: |
| (WebCore::DragController::concludeEditDrag): |
| |
| 2012-06-12 Thiago Marcos P. Santos <thiago.santos@intel.com> |
| |
| Generate -webkit-box-decoration-break property only when the feature is enabled |
| https://bugs.webkit.org/show_bug.cgi?id=88861 |
| |
| Reviewed by Alexis Menard. |
| |
| Otherwise it will hit an assertion if the property is present on the |
| style but the feature disabled. Also fixes a compilation warning when |
| the feature is disabled. |
| |
| * css/CSSPropertyNames.in: |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::collectMatchingRulesForList): |
| |
| 2012-06-12 Darin Adler <darin@apple.com> |
| |
| Tweaked the Mac export file a bit more, adding more-correct iOS cases. |
| |
| Reviewed by David Kilzer. |
| |
| * WebCore.exp.in: Rearrangement. |
| |
| 2012-06-11 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> |
| |
| Using extrernal ICU library on case unsensitive drives will not work |
| https://bugs.webkit.org/show_bug.cgi?id=70913 |
| |
| Reviewed by Csaba Osztrogonác. |
| |
| * platform/graphics/surfaces/GraphicsSurface.h: |
| |
| 2012-06-11 Dana Jansens <danakj@chromium.org> |
| |
| [chromium] Use TextureDrawQuad for video layer output when it produces a single GL texture |
| https://bugs.webkit.org/show_bug.cgi?id=88814 |
| |
| Reviewed by Adrienne Walker. |
| |
| When a CCVideLayerImpl produces quads for a frame that is contained |
| in a single GL texture, then use the TextureDrawQuad instead of the |
| VideoDrawQuad. Moves the computation for the RGBA(software) and |
| NativeTexture (hardware) cases from LayerRendererChromium into |
| CCVideoLayerImpl, so it can embed these values in the TextureDrawQuad. |
| |
| No new tests, behaviour should be the same. |
| |
| * platform/graphics/chromium/LayerRendererChromium.cpp: |
| (WebCore::LayerRendererChromium::drawStreamTexture): |
| (WebCore::LayerRendererChromium::drawVideoQuad): |
| * platform/graphics/chromium/LayerRendererChromium.h: |
| (LayerRendererChromium): |
| * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp: |
| (WebCore::CCVideoLayerImpl::appendQuads): |
| |
| 2012-06-12 Silvia Pfeiffer <silviapf@chromium.org> |
| |
| Change the volume slider to horizontal rendering for Chrome video controls. |
| https://bugs.webkit.org/show_bug.cgi?id=87835 |
| |
| Reviewed by Eric Carlson. |
| |
| No new tests - final patch in the Chrome controls update series will contain rebaselined tests. |
| |
| The Chrome video controls are receiving a visual update. The volume slider is moved into |
| the controls with horizontal rendering, the volume slider container is removed. The visual |
| update itself is in a separate patch. |
| |
| * css/mediaControlsChromium.css: |
| (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button): |
| Removed relative positioning to render all controls elements equally in DOM order. |
| (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button): |
| Removed absolute positioning to render all controls elements equally in DOM order. |
| (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container): |
| Removed absolute positioning to render all controls elements equally in DOM order. |
| (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container): |
| Removed volume slider container - it's not necessary any more. |
| (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display): |
| Remove flexbox and introduce inline display to always display this field. |
| (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider): |
| Removed absolute positioning to render all controls elements equally in DOM order. |
| * html/shadow/MediaControlRootElementChromium.cpp: |
| (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium): |
| Removed volume slider container - it's not necessary any more. |
| (WebCore::MediaControlRootElementChromium::create): |
| Appended the volume slider and the mute button directly to the panel, removed volume slider container. |
| (WebCore::MediaControlRootElementChromium::setMediaController): |
| Removed volume slider container. |
| (WebCore::MediaControlRootElementChromium::reportedError): |
| Removed volume slider container. |
| (WebCore::MediaControlRootElementChromium::showVolumeSlider): |
| Removed volume slider container. |
| * html/shadow/MediaControlRootElementChromium.h: |
| (WebCore): |
| (MediaControlRootElementChromium): |
| Removed volume slider container. |
| * html/shadow/SliderThumbElement.cpp: |
| (WebCore::hasVerticalAppearance): |
| Allow use of horizontal media volume slider. |
| (WebCore::RenderSliderThumb::layout): |
| Reuse hasVerticalAppearance function. |
| * rendering/RenderMediaControlsChromium.cpp: |
| (WebCore::RenderMediaControlsChromium::paintMediaVolumeSlider): |
| Change line drawing from vertical to horizontal. |
| * rendering/RenderTheme.h: |
| (WebCore::RenderTheme::usesVerticalVolumeSlider): |
| Add usesVerticalVolumeSlider function to allow horizontal volume sliders. |
| * rendering/RenderThemeChromiumMac.h: |
| (WebCore::RenderThemeChromiumMac::usesVerticalVolumeSlider): |
| Add usesVerticalVolumeSlider function to allow horizontal volume sliders. |
| Add usesVerticalVolumeSlider function to allow horizontal volume sliders. |
| * rendering/RenderThemeChromiumSkia.h: |
| (WebCore::RenderThemeChromiumSkia::usesVerticalVolumeSlider): |
| Add usesVerticalVolumeSlider function to allow horizontal volume sliders. |
| |
| 2012-06-12 Andrei Bucur <abucur@adobe.com> |
| |
| [CSSRegions]NamedFlow::overset should return true when there's no region chain attached |
| https://bugs.webkit.org/show_bug.cgi?id=88515 |
| |
| The CSS Regions specifies that the "overset" attribute needs to return true if the content overflows, there's no region attached to the flow |
| or if the NamedFlow is in the NULL state: |
| http://www.w3.org/TR/css3-regions/#dom-named-flow-overset |
| |
| This patch updates WebKit's behavior in the last two situations to match the one in the spec. |
| |
| Reviewed by Andreas Kling. |
| |
| Test: fast/regions/webkit-named-flow-overset.html was updated |
| |
| * rendering/RenderFlowThread.cpp: |
| (WebCore::RenderFlowThread::RenderFlowThread): |
| (WebCore::RenderFlowThread::computeOverflowStateForRegions): If the last valid region is null, the flow has not region chain attached or it's in the NULL state. |
| |
| 2012-06-12 Rahul Tiwari <rahultiwari.cse.iitr@gmail.com> |
| |
| Web Inspector: Provide context menu for deleting recorded profile on Profiles Panel |
| https://bugs.webkit.org/show_bug.cgi?id=88286 |
| |
| Added the context menu to delete the selected profile. |
| |
| Reviewed by Pavel Feldman. |
| |
| No new tests required as UI related change |
| |
| * English.lproj/localizedStrings.js: Removed property svn:mime-type. |
| * inspector/front-end/ProfilesPanel.js: |
| (WebInspector.ProfileSidebarTreeElement.prototype.handleContextMenuEvent): |
| |
| 2012-06-12 Pavel Feldman <pfeldman@chromium.org> |
| |
| Not reviewed: removed svn:mime-type property from English.lproj/localizedStrings.js |
| |
| * English.lproj/localizedStrings.js |
| |
| 2012-06-12 Dan Bernstein <mitz@apple.com> |
| |
| Tried to fix the notification-enabled build after r120044. |
| |
| * notifications/NotificationController.cpp: |
| (WebCore::NotificationController::NotificationController): |
| (WebCore::NotificationController::create): |
| (WebCore::provideNotification): |
| * notifications/NotificationController.h: |
| (NotificationController): |
| |
| 2012-06-12 Huang Dongsung <luxtella@company100.net> |
| |
| [Qt][Texmap] Falling leaves demo missing clipping. |
| https://bugs.webkit.org/show_bug.cgi?id=88704 |
| |
| The bug originated from begining native painting mode of QPainter after enabling |
| scissor test, because begining native painting mode disables scissor test. |
| |
| Covered by existing compositing tests. |
| |
| Reviewed by Noam Rosenthal. |
| |
| * platform/graphics/texmap/TextureMapperGL.cpp: |
| (WebCore::TextureMapperGL::beginPainting): |
| |
| 2012-06-12 Csaba Osztrogonác <ossy@webkit.org> |
| |
| [Qt][Win] Buildfix related to fromWinHBITMAP |
| https://bugs.webkit.org/show_bug.cgi?id=88863 |
| |
| Reviewed by Jocelyn Turcotte. |
| |
| * platform/graphics/qt/GraphicsContextQt.cpp: Add qt_pixmapFromWinHBITMAP and HBitmapFormat enum. |
| (WebCore): |
| (WebCore::GraphicsContext::releaseWindowsContext): |
| * platform/graphics/qt/ImageQt.cpp: |
| (WebCore): Move qt_pixmapFromWinHBITMAP to outside of WebCore namespace. (Fix after r119924.) |
| |
| 2012-06-12 Takashi Sakamoto <tasak@google.com> |
| |
| [Shadow DOM] <style> inside Shadow subtree should be scoped inside the subtree. |
| https://bugs.webkit.org/show_bug.cgi?id=87805 |
| |
| Modified HTMLStyleElement to be treated as a scoped style independent |
| of its "scoped" attribute's value if HTMLStyleElement is in shadow |
| subtree. HTMLStyleElement has the following four cases talking about |
| "scoped" attribute and whether is in shadow subtree or not: |
| 1, HTMLStyleElement is "scoped" and is in document tree, |
| 2, HTMLStyleElement is "scoped" and is in shadow subtree, |
| 3, HTMLStyleElement is not "scoped" and is in document tree, and |
| 4, HTMLStyleElement is not "scoped" and is in shadow subtree. |
| The case 1 and 2 are not changed. This patch affected the case 4. |
| At the case 4, the HTMLStyleElement's scoping node is the shadow root. |
| This change is the first step for fixing style scope bug, |
| i.e. HTMLStyleElements in shadow subtree are applied to any element |
| in document tree. |
| |
| Reviewed by Dimitri Glazkov. |
| |
| Test: fast/css/style-scoped/style-scoped-change-scoped-in-shadow.html |
| |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::determineScope): |
| Modified to return a shadow root if a targeted stylesheet owner node is |
| not scoped but in some shadow DOM subtree. |
| * html/HTMLStyleElement.cpp: |
| (WebCore::HTMLStyleElement::HTMLStyleElement): |
| (WebCore::HTMLStyleElement::parseAttribute): |
| Modified to use the below scopedAttributeChanged when a changed |
| attribute's name is "scoped". |
| (WebCore::HTMLStyleElement::scopedAttributeChanged): |
| Newly added. According to new scoped value and isInShadowTree, |
| add or remove style rules to/from scopedAuthorRules via |
| registerWithScopingNode or unregisterWithScopingNode. |
| (WebCore::HTMLStyleElement::registerWithScopingNode): |
| Added one boolean argument to determine whether HTMLStyleElement is |
| scoped or not. The reason why not using scoped() is the comment: |
| "We cannot rely on the scoped element already being present when this |
| method is invoked. Therefore we cannot rely on scoped()" |
| (WebCore::HTMLStyleElement::unregisterWithScopingNode): |
| Changed the code for updating m_isRegisteredWithScopingNode. Now |
| set m_scopedStyleRegistrationState to be NotRegistered. |
| (WebCore::HTMLStyleElement::insertedInto): |
| Modified to invoke registerWithScopingNode when an element is not |
| scoped but in some shadow subtree. |
| (WebCore::HTMLStyleElement::removedFrom): |
| Modified to invoke unregisterWithScopingNode when an element is not |
| scoped but in some shadow subtree. |
| * html/HTMLStyleElement.h: |
| (HTMLStyleElement): |
| Modified the type of m_isRegisteredWithScopingNode from bool to |
| enum and renamed to m_scopedStyleRegistrationState. Now the member |
| variable keeps what HTMLStyleElement's scoping node is, i.e. |
| none (this means, not in shadow subtree and not scoped), shadow root or |
| parent node. |
| Added one new method scopedAttributeChanged's declaration and |
| modified the declaration of registerWithScopingNode. |
| |
| 2012-06-12 Amy Ousterhout <aousterh@chromium.org> |
| |
| Removing unused parameter Page |
| https://bugs.webkit.org/show_bug.cgi?id=88848 |
| |
| Reviewed by Kentaro Hara. |
| |
| Removed the unused parameter Page* supplied to the create function |
| and constructor in DeviceOrientationController. |
| |
| The parameter Page* was previously stored in an instance variable |
| m_page, but this was removed (see https://bugs.webkit.org/show_bug.cgi?id=88812). |
| |
| No new tests because the removed parameter was unused and untested. |
| |
| * dom/DeviceOrientationController.cpp: |
| (WebCore::DeviceOrientationController::DeviceOrientationController): |
| (WebCore::DeviceOrientationController::create): |
| (WebCore::provideDeviceOrientationTo): |
| * dom/DeviceOrientationController.h: |
| (DeviceOrientationController): |
| |
| 2012-06-12 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r120051. |
| http://trac.webkit.org/changeset/120051 |
| https://bugs.webkit.org/show_bug.cgi?id=88852 |
| |
| some tests are crashing (Requested by morrita on #webkit). |
| |
| * CMakeLists.txt: |
| * GNUmakefile.list.am: |
| * Target.pri: |
| * WebCore.gypi: |
| * WebCore.vcproj/WebCore.vcproj: |
| * WebCore.xcodeproj/project.pbxproj: |
| * bindings/generic/ContextEnabledFeatures.cpp: Renamed from Source/WebKit/chromium/src/ContextFeaturesClientImpl.cpp. |
| (WebCore): |
| (WebCore::ContextEnabledFeatures::shadowDOMEnabled): |
| (WebCore::ContextEnabledFeatures::styleScopedEnabled): |
| (WebCore::ContextEnabledFeatures::pagePopupEnabled): |
| * bindings/generic/ContextEnabledFeatures.h: Renamed from Source/WebKit/chromium/src/ContextFeaturesClientImpl.h. |
| (WebCore): |
| (ContextEnabledFeatures): |
| * bindings/scripts/CodeGeneratorV8.pm: |
| (GenerateImplementation): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::determineScope): |
| * dom/ContextFeatures.cpp: Removed. |
| * dom/ContextFeatures.h: Removed. |
| * dom/DOMAllInOne.cpp: |
| * dom/DOMImplementation.cpp: |
| (WebCore::DOMImplementation::createDocument): |
| (WebCore::DOMImplementation::createHTMLDocument): |
| * dom/Document.cpp: |
| (WebCore::Document::Document): |
| * dom/Document.h: |
| (WebCore): |
| (Document): |
| * dom/Position.cpp: |
| (WebCore::Position::Position): |
| (WebCore::Position::findParent): |
| * dom/TreeScope.cpp: |
| (WebCore::TreeScope::getSelection): |
| * dom/make_names.pl: |
| (printConstructorInterior): |
| (printFactoryCppFile): |
| (printWrapperFunctions): |
| (printWrapperFactoryCppFile): |
| * editing/markup.cpp: |
| (WebCore::createFragmentFromMarkupWithContext): |
| * html/HTMLStyleElement.cpp: |
| (WebCore::HTMLStyleElement::registerWithScopingNode): |
| (WebCore::HTMLStyleElement::unregisterWithScopingNode): |
| * html/shadow/HTMLContentElement.cpp: |
| (WebCore::contentTagName): |
| * inspector/DOMPatchSupport.cpp: |
| (WebCore::DOMPatchSupport::patchDocument): |
| * loader/FrameLoaderClient.h: |
| (WebCore::FrameLoaderClient::allowShadowDOM): |
| (WebCore::FrameLoaderClient::allowStyleScoped): |
| (FrameLoaderClient): |
| (WebCore::FrameLoaderClient::allowPagePopup): |
| * platform/RefCountedSupplement.h: Removed. |
| * platform/Supplementable.h: |
| * xml/XMLHttpRequest.cpp: |
| (WebCore::XMLHttpRequest::responseXML): |
| |
| 2012-06-11 Kaustubh Atrawalkar <kaustubh@motorola.com> |
| |
| [DRT] LTC:: counterValueForElementById() could be moved to Internals. |
| https://bugs.webkit.org/show_bug.cgi?id=84406 |
| |
| Reviewed by Hajime Morita. |
| |
| Move the counterValueForElementById from LayoutTestCotroller to Internals and |
| remove the old platform specific implementations as it exclusively tests WebCore functionality. |
| |
| Covered by existing test cases. |
| |
| * testing/Internals.cpp: |
| (WebCore::Internals::counterValue): |
| (WebCore): |
| * testing/Internals.h: |
| (Internals): |
| * testing/Internals.idl: |
| |
| 2012-06-11 Hans Wennborg <hans@chromium.org> |
| |
| Speech JavaScript API: Make SpeechRecognitionError an Event |
| https://bugs.webkit.org/show_bug.cgi?id=88784 |
| |
| Reviewed by Adam Barth. |
| |
| Make SpeechRecognitionError an Event. The spec was updated to make it |
| an event in its own right, rather than an attribute of |
| SpeechRecognitionEvent. |
| |
| Test: fast/speech/scripted/speechrecognition-errors.html |
| |
| * Modules/speech/SpeechRecognition.cpp: |
| (WebCore::SpeechRecognition::didReceiveError): |
| * Modules/speech/SpeechRecognitionError.cpp: |
| (WebCore::SpeechRecognitionError::SpeechRecognitionError): |
| (WebCore::SpeechRecognitionError::interfaceName): |
| (WebCore): |
| * Modules/speech/SpeechRecognitionError.h: |
| (WebCore::SpeechRecognitionError::create): |
| (SpeechRecognitionError): |
| * Modules/speech/SpeechRecognitionError.idl: |
| * Modules/speech/SpeechRecognitionEvent.cpp: |
| (WebCore::SpeechRecognitionEvent::SpeechRecognitionEvent): |
| * Modules/speech/SpeechRecognitionEvent.h: |
| (SpeechRecognitionEventInit): |
| (SpeechRecognitionEvent): |
| * Modules/speech/SpeechRecognitionEvent.idl: |
| * dom/EventNames.in: |
| |
| 2012-06-12 MORITA Hajime <morrita@google.com> |
| |
| REGRESSION(r118098): <content> element does not render distributed children when cloned from another document |
| https://bugs.webkit.org/show_bug.cgi?id=88148 |
| |
| Reviewed by Dimitri Glazkov. |
| |
| The shadow DOM availability was decided through FrameLoaderClient. |
| But there are documents which don't have any associated frames, in |
| which any shadow DOM related elements cannot be constructed. That |
| resulsted the regression. |
| |
| This change introduces a Page-based client called |
| ContextFeaturesClient which takes the role from FrameLoaderClient |
| to decide the feature availability, and ContextFeatures which is a |
| proxy of ContextFeaturesClient. ContextEnabledFeatures is is |
| replaced with ContextFeatures. |
| |
| Each ContextFeatures object is owned by a Page, and is attached to |
| each Document in the page even if the page itself has no referenct |
| to Frames or Pages. With ContextFeatures, each Document can decide |
| the feature availability even if it cannot reach Page or Frame. |
| |
| On RefCountedSupplement: Document instance can live longer than a |
| Page where it is shwon. This means that ContextFeatures instance |
| needs to survive after owner Page destruction because it's |
| referenced from possibly surviving Documents. RefCountedSupplement |
| is introduced to cover this scenario: It allows supplement classes |
| to live after Page's destruction. |
| |
| RefCountedSupplement::hostDestroyed() is notified when the hosting |
| page is gone. ContextFeatures clears its reference to the client |
| using this notification. |
| |
| Test: fast/dom/shadow/elements-in-frameless-document.html |
| |
| * CMakeLists.txt: |
| * GNUmakefile.list.am: |
| * Target.pri: |
| * WebCore.gypi: |
| * WebCore.vcproj/WebCore.vcproj: |
| * WebCore.xcodeproj/project.pbxproj: |
| * bindings/scripts/CodeGeneratorV8.pm: |
| (GenerateImplementation): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::determineScope): |
| * dom/ContextFeatures.cpp: Added. |
| (WebCore): |
| (WebCore::ContextFeaturesClient::empty): |
| (WebCore::ContextFeatures::supplementName): |
| (WebCore::ContextFeatures::defaultSwitch): |
| (WebCore::ContextFeatures::shadowDOMEnabled): |
| (WebCore::ContextFeatures::styleScopedEnabled): |
| (WebCore::ContextFeatures::pagePopupEnabled): |
| (WebCore::provideContextFeaturesTo): |
| (WebCore::provideContextFeaturesToDocumentFrom): |
| * dom/ContextFeatures.h: Added. |
| (WebCore): |
| (ContextFeatures): |
| (WebCore::ContextFeatures::ContextFeatures): |
| (WebCore::ContextFeatures::hostDestroyed): |
| (ContextFeaturesClient): |
| (WebCore::ContextFeaturesClient::~ContextFeaturesClient): |
| (WebCore::ContextFeaturesClient::isEnabled): |
| (WebCore::ContextFeatures::create): |
| (WebCore::ContextFeatures::isEnabled): |
| * dom/DOMAllInOne.cpp: |
| * dom/DOMImplementation.cpp: |
| (WebCore::DOMImplementation::createDocument): |
| (WebCore::DOMImplementation::createHTMLDocument): |
| * dom/Document.h: |
| (WebCore::Document::contextFeatures): |
| * dom/Document.cpp: |
| (WebCore::Document::Document): |
| (WebCore::Document::setContextFeatures): |
| * dom/Position.cpp: |
| (WebCore::Position::Position): |
| (WebCore::Position::findParent): |
| * dom/TreeScope.cpp: |
| (WebCore::TreeScope::getSelection): |
| * dom/make_names.pl: |
| (printConstructorInterior): |
| (printFactoryCppFile): |
| (printWrapperFunctions): |
| (printWrapperFactoryCppFile): |
| * editing/markup.cpp: |
| (WebCore::createFragmentFromMarkupWithContext): |
| * html/HTMLStyleElement.cpp: |
| (WebCore::HTMLStyleElement::registerWithScopingNode): |
| (WebCore::HTMLStyleElement::unregisterWithScopingNode): |
| * html/shadow/HTMLContentElement.cpp: |
| (WebCore::contentTagName): |
| * inspector/DOMPatchSupport.cpp: |
| (WebCore::DOMPatchSupport::patchDocument): |
| * loader/FrameLoaderClient.h: |
| * platform/RefCountedSupplement.h: Copied from Source/WebCore/platform/Supplementable.h. |
| (WebCore): |
| (RefCountedSupplement): |
| (WebCore::RefCountedSupplement::hostDestroyed): |
| (Wrapper): |
| (WebCore::RefCountedSupplement::Wrapper::Wrapper): |
| (WebCore::RefCountedSupplement::Wrapper::~Wrapper): |
| (WebCore::RefCountedSupplement::Wrapper::wrapped): |
| (WebCore::RefCountedSupplement::provideTo): |
| (WebCore::RefCountedSupplement::from): |
| * platform/Supplementable.h: |
| (WebCore::Supplement::isRefCountedWrapper): |
| * xml/XMLHttpRequest.cpp: |
| (WebCore::XMLHttpRequest::responseXML): |
| |
| 2012-06-12 Kent Tamura <tkent@chromium.org> |
| |
| Remove unnecessary functions: setName() and formControlName() |
| https://bugs.webkit.org/show_bug.cgi?id=88392 |
| |
| Reviewed by Kentaro Hara. |
| |
| 'name' IDL attributes of form-related elements should be [Reflected], |
| and we don't need to have setName(). We used formControlName() for |
| name() implementation, and formControlName() is not needed because it |
| just converts a null attribute to an empty string. Our binding code does it. |
| |
| We don't remove FormAssociatedElement::name() because many C++ code use it. |
| |
| FormAssociatedElement::name() is virtual, and HTMLInputElement overrides |
| it so that it returns a cache of the name attribtue value because |
| CheckedRadioButtons class needs to know an old name attribute value when |
| the name attribtue is changed. |
| |
| References: |
| http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#dom-object-name |
| http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#dom-form-name |
| http://www.whatwg.org/specs/web-apps/current-work/multipage/association-of-controls-and-forms.html#dom-fe-name |
| |
| Test: fast/forms/name-attribute.html |
| |
| * dom/Element.h: Remove formControlName(). |
| * html/FormAssociatedElement.cpp: |
| (WebCore::FormAssociatedElement::name): |
| Copied from formControlName() implementation of HTMLFormControlElement. |
| * html/FormAssociatedElement.h: |
| (FormAssociatedElement): Make name() virtual, remove formControlName(). |
| * html/FormController.cpp: |
| (WebCore::FormController::formElementsState): |
| Use name() instead of formControlName(). |
| * html/HTMLFormControlElement.cpp: |
| Remove formControlName() and setName(). |
| * html/HTMLFormControlElement.h: ditto. |
| * html/HTMLInputElement.cpp: |
| (WebCore::HTMLInputElement::name): Renamed from formControlName(). |
| * html/HTMLInputElement.h: |
| (HTMLInputElement): Renamed formControlName() to name(), and make it public. |
| * html/HTMLKeygenElement.idl: Make 'name' [Reflected]. |
| * html/HTMLObjectElement.cpp: Remove formControlName(). |
| * html/HTMLObjectElement.h: ditto. |
| * html/HTMLSelectElement.cpp: |
| (WebCore::HTMLSelectElement::appendFormData): |
| Use name() instead of formControlName(). |
| * html/HTMLSelectElement.idl: Make 'name' [Reflected]. |
| * html/HTMLTextAreaElement.idl: Make 'name' [Reflected]. |
| |
| 2012-06-11 Nico Weber <thakis@chromium.org> |
| |
| Remove unused member variables found by clang's -Wunused-private-field |
| https://bugs.webkit.org/show_bug.cgi?id=88812 |
| |
| Reviewed by Anders Carlsson. |
| |
| Change a few |class|s that were used only to pin down the size of |
| existing classes to |struct|, so that clang doesn't warn about these |
| memvars. |
| |
| No intended behavior change. |
| |
| * Modules/geolocation/GeolocationController.cpp: |
| (WebCore::GeolocationController::GeolocationController): |
| * Modules/geolocation/GeolocationController.h: |
| (GeolocationController): |
| * Modules/webaudio/AudioContext.h: |
| (AudioContext): |
| * Modules/webaudio/AudioParamTimeline.h: |
| (AudioParamTimeline): |
| * accessibility/AccessibilityScrollbar.h: |
| (AccessibilityScrollbar): |
| * bindings/v8/ScriptScope.cpp: |
| (WebCore::ScriptScope::ScriptScope): |
| * bindings/v8/ScriptScope.h: |
| (ScriptScope): |
| * css/CSSValue.cpp: |
| * css/StylePropertySet.cpp: |
| * dom/DeviceOrientationController.cpp: |
| (WebCore::DeviceOrientationController::DeviceOrientationController): |
| * dom/DeviceOrientationController.h: |
| (DeviceOrientationController): |
| * editing/ReplaceSelectionCommand.cpp: |
| (ReplacementFragment): |
| (WebCore::ReplacementFragment::ReplacementFragment): |
| * editing/TextIterator.cpp: |
| (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): |
| * editing/TextIterator.h: |
| (SimplifiedBackwardsTextIterator): |
| (BackwardsCharacterIterator): |
| * html/HTMLFormCollection.cpp: |
| (WebCore::HTMLFormCollection::HTMLFormCollection): |
| * html/HTMLFormCollection.h: |
| (HTMLFormCollection): |
| * html/shadow/MediaControlElements.cpp: |
| (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): |
| * html/shadow/MediaControlElements.h: |
| (MediaControlFullscreenButtonElement): |
| * html/shadow/MediaControlRootElementChromium.cpp: |
| (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium): |
| * html/shadow/MediaControlRootElementChromium.h: |
| (MediaControlRootElementChromium): |
| * html/track/LoadableTextTrack.cpp: |
| (WebCore::LoadableTextTrack::LoadableTextTrack): |
| * html/track/LoadableTextTrack.h: |
| (LoadableTextTrack): |
| * inspector/CodeGeneratorInspector.py: |
| (Generator.go): |
| * inspector/InspectorCSSAgent.cpp: |
| (WebCore::InspectorCSSAgent::InspectorCSSAgent): |
| * inspector/InspectorCSSAgent.h: |
| (InspectorCSSAgent): |
| * inspector/InspectorDOMDebuggerAgent.cpp: |
| (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent): |
| * inspector/InspectorDOMDebuggerAgent.h: |
| (InspectorDOMDebuggerAgent): |
| * inspector/InspectorMemoryAgent.cpp: |
| (WebCore::InspectorMemoryAgent::InspectorMemoryAgent): |
| * inspector/InspectorMemoryAgent.h: |
| (InspectorMemoryAgent): |
| * notifications/NotificationController.cpp: |
| (WebCore::NotificationController::NotificationController): |
| * notifications/NotificationController.h: |
| (NotificationController): |
| * page/animation/CompositeAnimation.h: |
| (WebCore::CompositeAnimation::CompositeAnimation): |
| (CompositeAnimation): |
| * platform/Length.cpp: |
| * platform/audio/ReverbConvolver.cpp: |
| (WebCore::ReverbConvolver::ReverbConvolver): |
| * platform/audio/ReverbConvolver.h: |
| (ReverbConvolver): |
| * platform/audio/ReverbConvolverStage.cpp: |
| (WebCore::ReverbConvolverStage::ReverbConvolverStage): |
| * platform/audio/ReverbConvolverStage.h: |
| (ReverbConvolverStage): |
| * platform/graphics/TextRun.cpp: |
| (ExpectedTextRunSize): |
| * platform/graphics/chromium/cc/CCThreadProxy.h: |
| (CCThreadProxy): |
| * platform/graphics/filters/FECustomFilter.cpp: |
| (WebCore::FECustomFilter::FECustomFilter): |
| * platform/graphics/filters/FECustomFilter.h: |
| (FECustomFilter): |
| * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: |
| (JPEGImageReader): |
| * platform/leveldb/LevelDBTransaction.cpp: |
| (WebCore::LevelDBTransaction::TreeIterator::next): |
| * platform/text/TextCodecICU.cpp: |
| (WebCore::TextCodecICU::TextCodecICU): |
| * platform/text/TextCodecICU.h: |
| (TextCodecICU): |
| * rendering/InlineBox.cpp: |
| * rendering/InlineFlowBox.cpp: |
| * rendering/RenderText.cpp: |
| * rendering/style/KeyframeList.h: |
| (WebCore::KeyframeList::KeyframeList): |
| (KeyframeList): |
| * rendering/svg/RenderSVGTextPath.cpp: |
| (WebCore::RenderSVGTextPath::RenderSVGTextPath): |
| * rendering/svg/RenderSVGTextPath.h: |
| * rendering/svg/SVGInlineTextBox.cpp: |
| * svg/SVGPathByteStreamSource.cpp: |
| * svg/SVGPathByteStreamSource.h: |
| * svg/SVGPathTraversalStateBuilder.cpp: |
| (WebCore::SVGPathTraversalStateBuilder::SVGPathTraversalStateBuilder): |
| * svg/SVGPathTraversalStateBuilder.h: |
| (SVGPathTraversalStateBuilder): |
| * xml/XSLStyleSheet.h: |
| |
| 2012-06-11 Kinuko Yasuda <kinuko@chromium.org> |
| |
| XHR returns size==0 Blob |
| https://bugs.webkit.org/show_bug.cgi?id=88750 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Response Blob's .size field must have the correct response size. |
| |
| Test: http/tests/xmlhttprequest/response-blob-size.html |
| |
| * xml/XMLHttpRequest.cpp: |
| (WebCore::XMLHttpRequest::responseBlob): |
| |
| 2012-06-11 Silvia Pfeiffer <silviapf@chromium.org> |
| |
| Introduce an Enclosure Element for Chromium video controls. |
| https://bugs.webkit.org/show_bug.cgi?id=87683 |
| |
| Reviewed by Eric Carlson. |
| |
| Updated tests. |
| |
| The Chrome video controls are receiving a visual update. A new enclosure div is required |
| to provide for a offset space from the video's boundaries. The visual update itself is in |
| a separate patch. |
| |
| * css/mediaControlsChromium.css: |
| (video::-webkit-media-controls-enclosure): |
| Introduce CSS for enclosure div so it doesn't show yet. |
| * html/shadow/MediaControlRootElementChromium.cpp: |
| (WebCore::MediaControlChromiumEnclosureElement::MediaControlChromiumEnclosureElement): |
| Definition of the new enclosure element. |
| (WebCore::MediaControlChromiumEnclosureElement::create): |
| Definition of a create operator for the new enclosure element. |
| (WebCore::MediaControlChromiumEnclosureElement::shadowPseudoId): |
| Definition of the shadowPseudoId of -webkit-media-controls-enclosure for the enclosure div. |
| (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium): |
| Initialize member element for enclosure div. |
| (WebCore::MediaControlRootElementChromium::create): |
| Instantiate enclosure div and add into DOM between controls and panel elements. |
| (WebCore::MediaControlRootElementChromium::setMediaController): |
| Set media controller for enclosure div. |
| (WebCore::MediaControlRootElementChromium::createTextTrackDisplay): |
| Insert text track display container to enclosure rather than panel. |
| * html/shadow/MediaControlRootElementChromium.h: |
| (WebCore): |
| (MediaControlChromiumEnclosureElement): |
| (WebCore::MediaControlChromiumEnclosureElement::setMediaController): |
| (WebCore::MediaControlChromiumEnclosureElement::mediaController): |
| (WebCore::MediaControlChromiumEnclosureElement::isMediaControlElement): |
| Add declaration of the new enclosure element and its member functions. |
| (MediaControlRootElementChromium): |
| Add member variable to controls root element to hold the enclosure element. |
| |
| 2012-06-11 Elliott Sprehn <esprehn@gmail.com> |
| |
| WebKit doesn't allow replacing the document element with a DocumentFragment containing one element |
| https://bugs.webkit.org/show_bug.cgi?id=88681 |
| |
| Reviewed by Ojan Vafai. |
| |
| Fix bug where replacing an immediate child of a Document with a DocumentFragment |
| would throw a HIERARCHY_REQUEST_ERR instead of replacing the node as required by DOM4. |
| http://www.w3.org/TR/domcore/#mutation-algorithms |
| |
| * dom/Document.cpp: |
| (WebCore::Document::canReplaceChild): |
| When the newChild was a DocumentFragment we incorrectly |
| iterated over the document's children twice instead of the |
| fragment when counting the total number of elements and |
| doctypes to enfoce that there's only one of each. |
| |
| 2012-06-11 Mary Wu <mary.wu@torchmobile.com.cn> |
| |
| [BlackBerry] Add handling of notifyDataReceived in NetworkJob even there's no data inside |
| https://bugs.webkit.org/show_bug.cgi?id=88773 |
| |
| Reviewed by Rob Buis. |
| |
| Handling notifyDataReceived event even if there is no data inside. |
| This event was critical because it gives downloadFilterStream a chance |
| to follow up NetworkStream close event, and it also make pluginView in |
| FrameLoaderBlackBerry return normal logic. |
| |
| RIM PR# 164563 |
| |
| Reviewed internally by Leo Yang. |
| |
| * platform/network/blackberry/NetworkJob.cpp: |
| (WebCore::NetworkJob::handleNotifyDataReceived): |
| |
| 2012-06-11 Mary Wu <mary.wu@torchmobile.com.cn> |
| |
| [BlackBerry] Wrong mimetype for empty file link |
| https://bugs.webkit.org/show_bug.cgi?id=88642 |
| |
| Reviewed by Rob Buis. |
| |
| RIM PR# 164164 |
| |
| For empty file link, we shouldn't give "application/octet-stream" |
| which will lead to download. |
| |
| Reviewed internally by Charles Wei. |
| |
| * platform/network/blackberry/NetworkJob.cpp: |
| (WebCore::NetworkJob::sendResponseIfNeeded): |
| |
| 2012-06-11 Jin Yang <jin.a.yang@intel.com> |
| |
| GeneratorGeneratedImage should cache images for the non-tiled case |
| https://bugs.webkit.org/show_bug.cgi?id=87094 |
| |
| Reviewed by Simon Fraser. |
| |
| We cache the generated image if generator is not changed. By compared |
| with generating image on the fly, it will lose a little pixel precision |
| and several layout tests should be rebaselined. With this patch, the IE test |
| drive benchmark "Bayou" can gain about 50%. |
| |
| No new tests. Performance optimization. |
| |
| * platform/graphics/GeneratorGeneratedImage.cpp: |
| (WebCore::GeneratorGeneratedImage::draw): |
| |
| 2012-06-11 Vincent Scheib <scheib@chromium.org> |
| |
| Add new Pointer Lock spec attribute webkitPointerLockElement. |
| https://bugs.webkit.org/show_bug.cgi?id=88799 |
| |
| Reviewed by Dimitri Glazkov. |
| |
| Part of a series of refactoring changes to update pointer lock API to |
| the fullscreen locking style. https://bugs.webkit.org/show_bug.cgi?id=84402 |
| |
| New attribute webkitPointerLockElement added. Follow up patches |
| will remove the previous isLocked attribute. Tests updated to use |
| the new attribute. |
| |
| * bindings/generic/RuntimeEnabledFeatures.h: |
| (WebCore::RuntimeEnabledFeatures::webkitPointerLockElementEnabled): |
| * dom/Document.cpp: |
| (WebCore): |
| (WebCore::Document::webkitPointerLockElement): |
| * dom/Document.h: |
| (Document): |
| * dom/Document.idl: |
| * page/PointerLockController.h: |
| (WebCore::PointerLockController::element): |
| |
| 2012-06-11 Vincent Scheib <scheib@chromium.org> |
| |
| Consolidate Pointer Lock runtime enabled flags to just one. |
| https://bugs.webkit.org/show_bug.cgi?id=88810 |
| |
| Reviewed by Dimitri Glazkov. |
| |
| No new tests. |
| |
| * bindings/generic/RuntimeEnabledFeatures.h: |
| (WebCore::RuntimeEnabledFeatures::pointerLockEnabled): |
| (WebCore::RuntimeEnabledFeatures::setPointerLockEnabled): |
| * dom/MouseEvent.idl: |
| * page/Navigator.idl: |
| |
| 2012-06-11 Alexis Menard <alexis.menard@openbossa.org> |
| |
| [CSS3 Backgrounds and Borders] Protect box-decoration-break behind a feature flag. |
| https://bugs.webkit.org/show_bug.cgi?id=88804 |
| |
| Reviewed by Tony Chang. |
| |
| Protect box-decoration-break behind a feature flag enabled by default. |
| |
| No new tests : no behavior change here. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| * GNUmakefile.am: |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore): |
| (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): |
| * css/CSSParser.cpp: |
| (WebCore::isValidKeywordPropertyAndValue): |
| (WebCore::isKeywordPropertyID): |
| (WebCore::CSSParser::parseValue): |
| * css/CSSPrimitiveValueMappings.h: |
| (WebCore): |
| * css/CSSProperty.cpp: |
| (WebCore::CSSProperty::isInheritedProperty): |
| * css/CSSValueKeywords.in: |
| * css/StyleBuilder.cpp: |
| (WebCore::StyleBuilder::StyleBuilder): |
| * rendering/style/RenderStyle.h: |
| * rendering/style/StyleBoxData.cpp: |
| (WebCore::StyleBoxData::StyleBoxData): |
| (WebCore::StyleBoxData::operator==): |
| * rendering/style/StyleBoxData.h: |
| (StyleBoxData): |
| |
| 2012-06-11 James Robinson <jamesr@chromium.org> |
| |
| [chromium] Port DrawingBufferChromium from TextureLayerChromium over to WebExternalTextureLayer |
| https://bugs.webkit.org/show_bug.cgi?id=86273 |
| |
| Reviewed by Adrienne Walker. |
| |
| This converts more WebCore code over to using public APIs instead of internal compositor layer types. |
| |
| Refactor only, no change in behavior thus no new tests. |
| |
| * platform/graphics/chromium/DrawingBufferChromium.cpp: |
| (WebCore::DrawingBufferPrivate::DrawingBufferPrivate): |
| (WebCore::DrawingBufferPrivate::~DrawingBufferPrivate): |
| (WebCore::DrawingBufferPrivate::layer): |
| (DrawingBufferPrivate): |
| * platform/graphics/chromium/TextureLayerChromium.cpp: |
| (WebCore::TextureLayerChromium::~TextureLayerChromium): |
| (WebCore::TextureLayerChromium::setRateLimitContext): |
| (WebCore::TextureLayerChromium::setNeedsDisplayRect): |
| (WebCore::TextureLayerChromium::update): |
| * platform/graphics/chromium/TextureLayerChromium.h: |
| (WebKit): |
| (TextureLayerChromiumClient): |
| |
| 2012-06-11 Max Feil <mfeil@rim.com> |
| |
| [BlackBerry] Seek calls are being unnecessarily delayed |
| https://bugs.webkit.org/show_bug.cgi?id=88732 |
| |
| Reviewed by Antonio Gomes. |
| |
| There is a problem with the way the m_userDrivenSeekTimer is |
| implemented. When MediaPlayerPrivate::seek() is called, there |
| is always a 100ms delay even if the timer is not running. The |
| timer is supposed to space out (i.e. throttle) repeated seeks |
| that come in too soon after a previous seek, but currently it |
| is slowing down even single seeks and seeks that come in with |
| adequate delay after a previous seek. I fixed this in my patch |
| by improving the way the timer fired function is called. |
| |
| A note on the new m_lastSeekTimePending flag: This flag is |
| needed so that userDrivenSeekTimerFired() knows whether or not |
| to perform the seek. The only case where this flag will not be |
| set is if no MediaPlayerPrivate::seek() call came in while the |
| timer was active, in which case it's important to do nothing. |
| I could encode this flag's information into the m_lastSeekTime |
| float, for example by initializing it and resetting it to NAN |
| and using isnan(). But I feel that using a separate bool is a |
| more portable approach. |
| |
| No new tests. I would like to propose not including a layout test |
| with this fix. Doing timing tests for 100ms delays is tricky |
| from Javascript, and I don't think the benefit of such a test |
| outweighs the extra time it would take to develop one. The test |
| would also be a problem to maintain as it may give different |
| results over different runs and across different target hardware. |
| |
| * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp: |
| (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): |
| (WebCore::MediaPlayerPrivate::seek): |
| (WebCore::MediaPlayerPrivate::userDrivenSeekTimerFired): |
| * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h: |
| (MediaPlayerPrivate): |
| |
| 2012-06-11 Max Feil <mfeil@rim.com> |
| |
| [BlackBerry] Unexpected repeats of short media |
| https://bugs.webkit.org/show_bug.cgi?id=88733 |
| |
| Reviewed by Antonio Gomes. |
| |
| The m_userDrivenSeekTimer is causing unwanted repeats of short |
| media such as sound effects because it is causing the current |
| time to not reflect that the media has finished playing. |
| This problem only affects media whose duration is close to |
| or less than the SeekSubmissionDelay, which is currently |
| set to 100ms. My fix is to ignore the userDrivenSeekTimer in |
| MediaPlayerPrivate::currentTime() if the duration of the media |
| is within twice the SeekSubmissionDelay. Seek drag smoothness |
| is a non-issue for such short media. |
| |
| Test: platform/blackberry/media/short-media-repeats-correctly.html |
| |
| * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp: |
| (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): |
| (WebCore): |
| (WebCore::MediaPlayerPrivate::currentTime): |
| (WebCore::MediaPlayerPrivate::seek): |
| (WebCore::MediaPlayerPrivate::userDrivenSeekTimerFired): |
| * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h: |
| (MediaPlayerPrivate): |
| |
| 2012-06-11 Julien Chaffraix <jchaffraix@webkit.org> |
| |
| Account for margin after when laying out <legend> element |
| https://bugs.webkit.org/show_bug.cgi?id=35981 |
| |
| Reviewed by Abhishek Arya. |
| |
| Tests: fast/forms/legend-after-margin-horizontal-writing-mode.html |
| fast/forms/legend-after-margin-vertical-writing-mode.html |
| fast/forms/legend-after-margin-with-before-border-horizontal-mode.html |
| fast/forms/legend-small-after-margin-before-border-horizontal-mode.html |
| |
| The existing code would ignore margin after when layouting out the <legend>. This |
| change only adds the code to handle the margin after, the margin before is still |
| ignored as it's not obvious how it should be working. |
| |
| * rendering/RenderFieldset.cpp: |
| (WebCore::RenderFieldset::layoutSpecialExcludedChild): |
| Split the code in 2 code paths to reflect how we position and size. Those are covered by the |
| tests above. |
| |
| 2012-06-11 James Robinson <jamesr@chromium.org> |
| |
| [chromium] Use WebGraphicsContext3D in rate limiting logic inside compositor |
| https://bugs.webkit.org/show_bug.cgi?id=86259 |
| |
| Reviewed by Adrienne Walker. |
| |
| This refactors the compositor's rate limiting implementation to use the Platform API's WebGraphicsContext3D |
| directly instead of WebCore::GraphicsContext3D to cut down on the number of spurious WebCore dependencies in the |
| compositor. The one change in contract is that the caller to CCLayerTreeHost::startRateLimit() now has to call |
| CCLayerTreeHost::stopRateLimit() before allowing the referenced context to go away since CCLayerTreeHost no |
| longer retains a reference, but this was always happening already. |
| |
| * platform/graphics/chromium/Canvas2DLayerChromium.cpp: |
| (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium): |
| (WebCore::Canvas2DLayerChromium::setNeedsDisplayRect): |
| * platform/graphics/chromium/RateLimiter.cpp: |
| (WebCore::RateLimiter::create): |
| (WebCore::RateLimiter::RateLimiter): |
| (WebCore::RateLimiter::start): |
| (WebCore::RateLimiter::rateLimitContext): |
| * platform/graphics/chromium/RateLimiter.h: |
| (WebKit): |
| (RateLimiter): |
| * platform/graphics/chromium/TextureLayerChromium.cpp: |
| (WebCore::TextureLayerChromium::~TextureLayerChromium): |
| (WebCore::TextureLayerChromium::setRateLimitContext): |
| (WebCore::TextureLayerChromium::setNeedsDisplayRect): |
| * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: |
| (WebCore::CCLayerTreeHost::startRateLimiter): |
| (WebCore::CCLayerTreeHost::stopRateLimiter): |
| (WebCore::CCLayerTreeHost::rateLimit): |
| (WebCore): |
| * platform/graphics/chromium/cc/CCLayerTreeHost.h: |
| (CCLayerTreeHost): |
| |
| 2012-06-11 Dana Jansens <danakj@chromium.org> |
| |
| [chromium] Separate CCVideoDrawQuad and from the layer tree and video provider by removing ManagedTexture and WebVideoFrame pointers from the quad |
| https://bugs.webkit.org/show_bug.cgi?id=88363 |
| |
| Reviewed by Adrienne Walker. |
| |
| CCVideoDrawQuad should not contain any pointers to data in the layer |
| tree so we are able to serialize it across process boundaries. This |
| patch removes the ManagedTexture pointers from the quad class, |
| replacing them with texture ids. It removes the WebVideoFrame* from |
| the quad, replacing it with the frame provider's texture id included |
| in the WebVideoFrame structure. And it uses a WebTransformationMatrix |
| instead of a pointer to an array of floats. |
| |
| Texture allocation is done in CCVideoLayerImpl via the |
| contentsTextureAllocator, so that the memory usage can be tracked. |
| |
| We move the copyPlaneToTextures() method back from LayerRendererChromium |
| to CCVideoLayerImpl, as this method uses the texture data pointer in the |
| WebVideoFrame, and we do not want to give this pointer to the quad |
| class. Instead, this method makes use of the LayerTextureSubImage class |
| to copy the pixel data into the texture. |
| |
| LayerTextureSubImage is updated to allow non-4byte texture formats. |
| |
| * platform/graphics/chromium/LayerRendererChromium.cpp: |
| (WebCore::LayerRendererChromium::drawYUV): |
| (WebCore::LayerRendererChromium::drawRGBA): |
| (WebCore::LayerRendererChromium::drawNativeTexture2D): |
| (WebCore::LayerRendererChromium::drawStreamTexture): |
| (WebCore::LayerRendererChromium::drawVideoQuad): |
| * platform/graphics/chromium/LayerTextureSubImage.cpp: |
| (WebCore::LayerTextureSubImage::uploadWithTexSubImage): |
| (WebCore::LayerTextureSubImage::uploadWithMapTexSubImage): |
| * platform/graphics/chromium/TextureCopier.cpp: |
| * platform/graphics/chromium/cc/CCVideoDrawQuad.cpp: |
| (WebCore::CCVideoDrawQuad::create): |
| (WebCore::CCVideoDrawQuad::CCVideoDrawQuad): |
| * platform/graphics/chromium/cc/CCVideoDrawQuad.h: |
| (CCVideoDrawQuad): |
| (WebCore::CCVideoDrawQuad::planes): |
| (WebCore::CCVideoDrawQuad::frameProviderTextureId): |
| * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp: |
| (WebCore::CCVideoLayerImpl::~CCVideoLayerImpl): |
| (WebCore::CCVideoLayerImpl::willDraw): |
| (WebCore::CCVideoLayerImpl::willDrawInternal): |
| (WebCore::CCVideoLayerImpl::appendQuads): |
| (WebCore::CCVideoLayerImpl::didDraw): |
| (WebCore::CCVideoLayerImpl::FramePlane::allocateData): |
| (WebCore): |
| (WebCore::CCVideoLayerImpl::FramePlane::freeData): |
| (WebCore::CCVideoLayerImpl::allocatePlaneData): |
| (WebCore::CCVideoLayerImpl::copyPlaneData): |
| (WebCore::CCVideoLayerImpl::freePlaneData): |
| (WebCore::CCVideoLayerImpl::freeUnusedPlaneData): |
| (WebCore::CCVideoLayerImpl::didLoseContext): |
| * platform/graphics/chromium/cc/CCVideoLayerImpl.h: |
| (FramePlane): |
| (WebCore::CCVideoLayerImpl::FramePlane::FramePlane): |
| |
| 2012-06-11 Joshua Bell <jsbell@chromium.org> |
| |
| IndexedDB: Object stores are not successfully deleted |
| https://bugs.webkit.org/show_bug.cgi?id=88788 |
| |
| Reviewed by Tony Chang. |
| |
| Discovered while working on http://webkit.org/b/83074 - object stores are not |
| being deleted from the backing store. Deletion would succeed in the in-memory |
| data structures, but after closing/re-opening the backing store the object store |
| (but not its indexes/data) would reappear. Due to 83074, this isn't detectable |
| by DRT without a full restart. |
| |
| Test: [chromium] webkit_unit_tests --gtest_filter='IDBLevelDBCodingTest.ComparisonTest' |
| |
| * Modules/indexeddb/IDBLevelDBCoding.cpp: |
| (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::compare): |
| |
| 2012-06-05 Eric Uhrhane <ericu@chromium.org> |
| |
| Crash in fast/files/read tests during Garbage Collection |
| https://bugs.webkit.org/show_bug.cgi?id=87165 |
| |
| Reviewed by Michael Saboff |
| |
| Fix previous fix for hasPendingActivity, and fix a bug in a complex |
| abort case as well--abort during the final progress event of a write |
| would hang the writer. |
| |
| * Modules/filesystem/FileWriter.cpp: |
| (WebCore::FileWriter::stop): |
| (WebCore::FileWriter::write): |
| (WebCore::FileWriter::truncate): |
| (WebCore::FileWriter::didWrite): |
| (WebCore::FileWriter::didTruncate): |
| (WebCore::FileWriter::didFail): |
| (WebCore::FileWriter::completeAbort): |
| (WebCore::FileWriter::doOperation): |
| (WebCore::FileWriter::signalCompletion): |
| |
| 2012-06-11 Shawn Singh <shawnsingh@chromium.org> |
| |
| [chromium] Implement position:fixed in compositor thread |
| https://bugs.webkit.org/show_bug.cgi?id=70103 |
| |
| Reviewed by Adrienne Walker. |
| |
| Significant contributions to this patch by Alpha Lam and Sami Kyostila. |
| |
| This patch is the compositor-side change that adds support for |
| fixed-position layers to be composited layers. Before this patch, |
| fixed-position elements were positioned only by WebCore (i.e. main |
| thread when painting), and the compositor did not have enough |
| knowledge on its own to position it properly. This patch adds the |
| necessary math and plumbs the necessary layer information so that |
| the impl thread can properly position fixed-position elements on |
| its own. This support is necessary for correctness of composited |
| fixed-position elements, which can greatly help to avoid |
| repainting container layers when scrolling with a fixed-position |
| layer. |
| |
| There also needs to be WebCore-side support for this, which is |
| addressed in https://bugs.webkit.org/show_bug.cgi?id=78864 |
| |
| Unit tests added to CCLayerTreeHostCommonTest: |
| CCLayerTreeHostCommonTest.verifyScrollCompensationForFixedPositionLayerWithDirectContainer |
| CCLayerTreeHostCommonTest.verifyScrollCompensationForFixedPositionLayerWithTransformedDirectContainer |
| CCLayerTreeHostCommonTest.verifyScrollCompensationForFixedPositionLayerWithDistantContainer |
| CCLayerTreeHostCommonTest.verifyScrollCompensationForFixedPositionLayerWithDistantContainerAndTransforms |
| CCLayerTreeHostCommonTest.verifyScrollCompensationForFixedPositionLayerWithMultipleScrollDeltas |
| CCLayerTreeHostCommonTest.verifyScrollCompensationForFixedPositionLayerWithIntermediateSurfaceAndTransforms |
| CCLayerTreeHostCommonTest.verifyScrollCompensationForFixedPositionLayerWithMultipleIntermediateSurfaces |
| CCLayerTreeHostCommonTest.verifyScrollCompensationForFixedPositionLayerWithContainerLayerThatHasSurface |
| CCLayerTreeHostCommonTest.verifyScrollCompensationForFixedPositionLayerThatIsAlsoFixedPositionContainer |
| CCLayerTreeHostCommonTest.verifyScrollCompensationForFixedPositionLayerThatHasNoContainer |
| |
| * platform/graphics/chromium/LayerChromium.cpp: |
| (WebCore::LayerChromium::LayerChromium): |
| (WebCore::LayerChromium::pushPropertiesTo): |
| * platform/graphics/chromium/LayerChromium.h: |
| (WebCore::LayerChromium::setIsContainerForFixedPositionLayers): |
| (WebCore::LayerChromium::isContainerForFixedPositionLayers): |
| (LayerChromium): |
| (WebCore::LayerChromium::setFixedToContainerLayerVisibleRect): |
| (WebCore::LayerChromium::fixedToContainerLayerVisibleRect): |
| * platform/graphics/chromium/cc/CCLayerImpl.cpp: |
| (WebCore::CCLayerImpl::CCLayerImpl): |
| * platform/graphics/chromium/cc/CCLayerImpl.h: |
| (WebCore::CCLayerImpl::setIsContainerForFixedPositionLayers): |
| (WebCore::CCLayerImpl::isContainerForFixedPositionLayers): |
| (CCLayerImpl): |
| (WebCore::CCLayerImpl::setFixedToContainerLayerVisibleRect): |
| (WebCore::CCLayerImpl::fixedToContainerLayerVisibleRect): |
| * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp: |
| (WebCore::computeScrollCompensationForThisLayer): |
| (WebCore): |
| (WebCore::computeScrollCompensationMatrixForChildren): |
| (WebCore::calculateDrawTransformsInternal): |
| (WebCore::CCLayerTreeHostCommon::calculateDrawTransforms): |
| |
| 2012-06-11 Sam Weinig <sam@webkit.org> |
| |
| Remove support for disconnected/excluded from search frames, they are not used by Safari anymore |
| https://bugs.webkit.org/show_bug.cgi?id=88723 |
| |
| Reviewed by Dan Bernstein. |
| |
| * WebCore.exp.in: |
| Update export. |
| * editing/Editor.cpp: |
| (WebCore::Editor::rangeOfString): |
| (WebCore::Editor::countMatchesForText): |
| * editing/Editor.h: |
| (Editor): |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::findFrameForNavigation): |
| * page/DOMWindow.cpp: |
| (WebCore::DOMWindow::parent): |
| (WebCore::DOMWindow::top): |
| * page/EventHandler.cpp: |
| (WebCore::EventHandler::hitTestResultAtPoint): |
| * page/Frame.cpp: |
| (WebCore::Frame::Frame): |
| * page/Frame.h: |
| (Frame): |
| * page/FrameTree.cpp: |
| (WebCore::FrameTree::parent): |
| (WebCore::FrameTree::top): |
| * page/FrameTree.h: |
| (FrameTree): |
| * page/Location.cpp: |
| (WebCore::Location::ancestorOrigins): |
| * xml/XMLTreeViewer.cpp: |
| (WebCore::XMLTreeViewer::hasNoStyleInformation): |
| Update for the removal of disconnected frames and text search exclusions concepts. |
| |
| 2012-06-11 Xianzhu Wang <wangxianzhu@chromium.org> |
| |
| SVGImageCache leaks image data |
| https://bugs.webkit.org/show_bug.cgi?id=87792 |
| |
| There are two functions to remove a client from a CachedImage: |
| - CachedResource::removeClient() |
| - CachedImage::removeClientForRenderer(). |
| It's easy to make error to call the former which will leak the cached |
| image buffers in SVGImageCache. |
| |
| This change combined the two by adding the virtual |
| CachedResource::didRemoveClient(). CachedImage will do SVGImageCache |
| cleanup in the function. |
| |
| Reviewed by Nikolas Zimmermann. |
| |
| Test: svg/as-image/svg-image-leak-cached-data.html |
| |
| * loader/cache/CachedFont.h: |
| (WebCore::CachedFontClient::resourceClientType): Added 'const'. |
| * loader/cache/CachedImage.cpp: |
| (WebCore): |
| (WebCore::CachedImage::didRemoveClient): Removes the client from SVGImageCache. |
| (WebCore::CachedImage::lookupOrCreateImageForRenderer): |
| * loader/cache/CachedImage.h: |
| (CachedImage): |
| (WebCore::CachedImageClient::resourceClientType): Added 'const'. |
| * loader/cache/CachedRawResource.h: |
| (WebCore::CachedRawResourceClient::resourceClientType): Added 'const'. |
| * loader/cache/CachedResource.cpp: |
| (WebCore::CachedResource::removeClient): Added invocation of didRemoveClient(). |
| * loader/cache/CachedResource.h: |
| (WebCore::CachedResource::didRemoveClient): Added for subclasses to do additional works. |
| * loader/cache/CachedResourceClient.h: |
| (WebCore::CachedResourceClient::resourceClientType): Added 'const'. |
| * loader/cache/CachedSVGDocument.h: |
| (WebCore::CachedSVGDocumentClient::resourceClientType): Added 'const'. |
| * loader/cache/CachedStyleSheetClient.h: |
| (WebCore::CachedStyleSheetClient::resourceClientType): Added 'const'. |
| * rendering/style/StyleCachedImage.cpp: |
| (WebCore::StyleCachedImage::removeClient): |
| * rendering/style/StyleCachedImageSet.cpp: |
| (WebCore::StyleCachedImageSet::removeClient): |
| * svg/graphics/SVGImageCache.cpp: |
| (WebCore::SVGImageCache::~SVGImageCache): Added checking for leaks. |
| (WebCore::SVGImageCache::removeClientFromCache): |
| (WebCore::SVGImageCache::setRequestedSizeAndScales): |
| (WebCore::SVGImageCache::requestedSizeAndScales): |
| (WebCore::SVGImageCache::lookupOrCreateBitmapImageForClient): |
| * svg/graphics/SVGImageCache.h: |
| (WebCore): |
| (SVGImageCache): |
| |
| 2012-06-11 Mark Pilgrim <pilgrim@chromium.org> |
| |
| [Chromium] Call shared timer functions directly |
| https://bugs.webkit.org/show_bug.cgi?id=88781 |
| |
| Reviewed by Adam Barth. |
| |
| Part of a refactoring series. See tracking bug 82948. |
| |
| * platform/chromium/PlatformSupport.h: |
| (PlatformSupport): |
| * platform/chromium/SharedTimerChromium.cpp: |
| (WebCore::setSharedTimerFiredFunction): |
| (WebCore::setSharedTimerFireInterval): |
| |
| 2012-06-11 Pravin D <pravind.2k4@gmail.com> |
| |
| Relative pos. input fields in columns vanish when you start typing in them |
| https://bugs.webkit.org/show_bug.cgi?id=76834 |
| |
| Reviewed by Julien Chaffraix. |
| |
| Test: fast/multicol/multicol-with-child-renderLayer-for-input.html |
| |
| * page/FrameView.cpp: |
| (WebCore::updateLayerPositionFlags): |
| Helper function to prepare the UpdateLayerPositionsFlags based on the input parameters. |
| If didFullRepaint flag is set, then CheckForRepaints flag is removed from the default flags. |
| Also during a relayout of a subtree, if the RenderLayer of the subtree root is paginated then updatePagination flag is |
| included in the flags. |
| |
| (WebCore): |
| (WebCore::FrameView::layout): |
| Now uses the helper function updateLayerPositionFlags() to get the final set of UpdateLayerPositionsFlags. |
| |
| * rendering/RenderLayer.h: |
| (WebCore::RenderLayer::isPaginated): |
| (RenderLayer): |
| isPaginated function is made public so that FrameView class can use it prepare UpdateLayerPositionsFlags. |
| |
| 2012-06-11 Mark Pilgrim <pilgrim@chromium.org> |
| |
| [Chromium] Remove some dead code in PasteboardChromium |
| https://bugs.webkit.org/show_bug.cgi?id=88782 |
| |
| Reviewed by Adam Barth. |
| |
| Part of a refactoring series. See tracking bug 82948. |
| Leftover detritus from bug 88038. |
| |
| * platform/chromium/PasteboardChromium.cpp: |
| (WebCore::Pasteboard::documentFragment): |
| |
| 2012-06-11 Peter Beverloo <peter@chromium.org> |
| |
| [Chromium] Theme updates for Android in menu list rendering and selection backgrounds |
| https://bugs.webkit.org/show_bug.cgi?id=88775 |
| |
| Reviewed by Adam Barth. |
| |
| For Chrome on Android, use the width of the scrollbar down arrow instead |
| of the scrollbar's width for determining the arrow padding to apply for |
| menu list rendering, as WebKit isn't drawing a scrollbar (thus width=0). |
| |
| Furthermore, change the default active selection background color to be |
| equal to the tap highlighting color. |
| |
| These changes should be covered by existing layout tests. |
| |
| * rendering/RenderThemeChromiumAndroid.cpp: |
| (WebCore::RenderThemeChromiumAndroid::menuListArrowPadding): |
| (WebCore): Retrieve the scrollbar down arrow's size via PlatformSupport. |
| * rendering/RenderThemeChromiumAndroid.h: Override the menuListArrowPadding |
| and platformActiveSelectionBackgroundColor methods, and add a static |
| static RGBA32 color for the default active selection bg color. |
| * rendering/RenderThemeChromiumSkia.cpp: |
| (WebCore::RenderThemeChromiumSkia::menuListArrowPadding): Default to |
| the scrollbar thickness, not changing behavior for non-Android. |
| (WebCore::RenderThemeChromiumSkia::menuListInternalPadding): Instead |
| of polling the scrollbar thickness, call menuListArrowPadding(). |
| * rendering/RenderThemeChromiumSkia.h: |
| (RenderThemeChromiumSkia): Add the menuListArrowPadding() as a protected method. |
| |
| 2012-06-11 David Barr <davidbarr@chromium.org> |
| |
| Add css3-images image-resolution (dppx only) |
| https://bugs.webkit.org/show_bug.cgi?id=85332 |
| |
| Reviewed by Tony Chang. |
| |
| The css3-images module is at candidate recommendation. |
| http://www.w3.org/TR/2012/CR-css3-images-20120417/#image-resolution |
| |
| Test: fast/css/image-resolution.html |
| |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore): |
| (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): |
| * css/CSSGrammar.y: |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::validUnit): |
| (WebCore::CSSParser::createPrimitiveNumericValue): |
| (WebCore::unitFromString): |
| (WebCore::CSSParser::parseValidPrimitive): |
| (WebCore::CSSParser::parseValue): |
| (WebCore): |
| (WebCore::CSSParser::parseImageResolution): |
| (WebCore::CSSParser::detectNumberToken): |
| * css/CSSParser.h: |
| * css/CSSPrimitiveValue.cpp: |
| (WebCore::isValidCSSUnitTypeForDoubleConversion): |
| (WebCore::unitCategory): |
| (WebCore::CSSPrimitiveValue::canonicalUnitTypeForCategory): |
| (WebCore::CSSPrimitiveValue::customCssText): |
| (WebCore::CSSPrimitiveValue::cloneForCSSOM): |
| * css/CSSPrimitiveValue.h: |
| * css/CSSProperty.cpp: |
| (WebCore::CSSProperty::isInheritedProperty): |
| * css/CSSPropertyNames.in: |
| * css/StyleBuilder.cpp: |
| (WebCore): |
| (ApplyPropertyImageResolution): |
| (WebCore::ApplyPropertyImageResolution::applyInheritValue): |
| (WebCore::ApplyPropertyImageResolution::applyInitialValue): |
| (WebCore::ApplyPropertyImageResolution::applyValue): |
| (WebCore::ApplyPropertyImageResolution::createHandler): |
| (WebCore::StyleBuilder::StyleBuilder): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::collectMatchingRulesForList): |
| * rendering/RenderImage.cpp: |
| (WebCore::RenderImage::styleDidChange): |
| (WebCore::RenderImage::imageDimensionsChanged): |
| * rendering/style/RenderStyle.cpp: |
| (WebCore::RenderStyle::diff): |
| * rendering/style/RenderStyle.h: |
| * rendering/style/StyleRareInheritedData.cpp: |
| (WebCore::StyleRareInheritedData::StyleRareInheritedData): |
| (WebCore::StyleRareInheritedData::operator==): |
| * rendering/style/StyleRareInheritedData.h: |
| (StyleRareInheritedData): |
| |
| 2012-06-05 Dana Jansens <danakj@chromium.org> |
| |
| [chromium] Free texture from CCIOSurfaceLayerImpl when it is destroyed |
| https://bugs.webkit.org/show_bug.cgi?id=88371 |
| |
| Reviewed by James Robinson. |
| |
| Unit test: CCLayerTreeHostImplTest.layersFreeTextures |
| |
| * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp: |
| (WebCore::CCIOSurfaceLayerImpl::~CCIOSurfaceLayerImpl): |
| (WebCore::CCIOSurfaceLayerImpl::willDraw): |
| |
| 2012-06-11 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Fix make distcheck issues. |
| |
| * GNUmakefile.am: Add idl files in editing dir to EXTRA_DIST. |
| * GNUmakefile.list.am: Add missing header file. |
| |
| 2012-06-11 Dan Bernstein <mitz@apple.com> |
| |
| Reverted r119940 because it caused multiple media tests to fail on Lion. |
| |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::prepareForLoad): |
| (WebCore): |
| (WebCore::HTMLMediaElement::userCancelledLoad): |
| * html/HTMLMediaElement.h: |
| (HTMLMediaElement): |
| * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: |
| (WebCore::MediaPlayerPrivateQTKit::commonMovieAttributes): |
| |
| 2012-06-11 Zoltan Horvath <zoltan@webkit.org> |
| |
| [Qt] Add config tests for WEBP imagedecoder library, modify HAVE(decoderlibrary) to USE(...)$ |
| https://bugs.webkit.org/show_bug.cgi?id=87841 |
| |
| Reviewed by Simon Hausmann. |
| |
| No new tests were needed. |
| |
| * Target.pri: |
| * WebCore.pri: |
| * platform/image-decoders/ImageDecoder.cpp: |
| (WebCore::ImageDecoder::create): |
| |
| 2012-06-11 Kenneth Rohde Christiansen <kenneth@webkit.org> |
| |
| Add QML api for setting device width and height |
| https://bugs.webkit.org/show_bug.cgi?id=88777 |
| |
| Reviewed by Simon Hausmann. |
| |
| Change the default values for deviceWidth/Height to be 0 (unset). The |
| original values were introduced by Qt and 0 makes it possible to |
| detect if a value has never been set and therefore fall back. |
| |
| Only Qt depended on the former values. |
| |
| * page/Settings.cpp: |
| (WebCore::Settings::Settings): |
| |
| 2012-06-11 Csaba Osztrogonác <ossy@webkit.org> |
| |
| [Qt][Win] Fix UString related build problem in Source/WebCore/bridge/qt/qt_instance.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=88310 |
| |
| Reviewed by Simon Hausmann. |
| |
| * bridge/qt/qt_instance.cpp: |
| (JSC::Bindings::QtInstance::getPropertyNames): |
| |
| 2012-06-11 Michael Brüning <michael.bruning@nokia.com> |
| |
| [Qt][WK2] Compute and set cache capacities using the current CacheModel |
| https://bugs.webkit.org/show_bug.cgi?id=73918 |
| |
| Unreviewed build fix. |
| |
| No new tests added as this is a build fix. |
| |
| * platform/qt/FileSystemQt.cpp: |
| |
| 2012-06-11 Allan Sandfeld Jensen <allan.jensen@nokia.com> |
| |
| Rect-based hittesting doesn't work in tables. |
| https://bugs.webkit.org/show_bug.cgi?id=86605 |
| |
| Reviewed by Julien Chaffraix. |
| |
| The existing code only performed a single binary lookup for the central |
| hit-test point. This meant area-based hit-testing did not work across |
| table-cell borders. All cells spanned by a hit-test area must be hit |
| tested. |
| |
| This patch introduces three auxilary functions to help calculate rows |
| and columns spanned by an rect. These are intended to also be used by |
| repaint logic in a later patch. |
| |
| For point-based hit-testing we maintain unchanged behavior and still |
| only hit test a single column in a single row. |
| |
| Test: fast/dom/nodesFromRect-table.html |
| |
| * rendering/RenderTableSection.cpp: |
| (WebCore::RenderTableSection::logicalRectForWritingModeAndDirection): |
| (WebCore::RenderTableSection::spannedRows): |
| (WebCore::RenderTableSection::spannedColumns): |
| (WebCore::RenderTableSection::nodeAtPoint): |
| * rendering/RenderTableSection.h: |
| (RenderTableSection): |
| |
| 2012-06-11 Min Qin <qinmin@google.com> |
| |
| Adding a flag to show fullscreen media controls in chromium |
| https://bugs.webkit.org/show_bug.cgi?id=88266 |
| |
| Reviewed by Adam Barth. |
| |
| The default chromium shadow DOM for media element does not contain fullscreen button. |
| This change adds a flag to display the fullscreen button. |
| It will be used by the android port. |
| |
| No new tests needed. We will use the same layout tests as desktop chromium. |
| However, new test result expections will be added later. |
| |
| * html/shadow/MediaControlRootElementChromium.cpp: |
| (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium): |
| (WebCore::MediaControlRootElementChromium::create): |
| (WebCore::MediaControlRootElementChromium::setMediaController): |
| (WebCore::MediaControlRootElementChromium::reset): |
| (WebCore::MediaControlRootElementChromium::reportedError): |
| * html/shadow/MediaControlRootElementChromium.h: |
| (MediaControlRootElementChromium): |
| |
| 2012-06-11 Michael Brüning <michael.bruning@nokia.com> |
| |
| [Qt][WK2] Compute and set cache capacities using the current CacheModel |
| https://bugs.webkit.org/show_bug.cgi?id=73918 |
| |
| Reviewed by Kenneth Rohde Christiansen. |
| |
| No new tests needed / applicable (using operating system functionality). |
| |
| Added method to read free file system space for a path to support cache model |
| implementation in Qt WK 2. |
| |
| * platform/FileSystem.h: |
| (WebCore): |
| * platform/qt/FileSystemQt.cpp: |
| (WebCore::getVolumeFreeSizeForPath): Added for Qt ports. |
| (WebCore): |
| |
| 2012-06-11 Peter Wang <peter.wang@torchmobile.com.cn> |
| |
| [JSC] Web Inspector: implement breaking from native callback |
| https://bugs.webkit.org/show_bug.cgi?id=43332 |
| |
| Reviewed by Pavel Feldman. |
| |
| These test cases were enabled: |
| LayoutTests/inspector/debugger/dom-breakpoints.html |
| LayoutTests/inspector/debugger/event-listener-breakpoints.html |
| LayoutTests/inspector/debugger/step-through-event-listeners.html |
| LayoutTests/inspector/debugger/xhr-breakpoints.html |
| |
| * bindings/js/ScriptDebugServer.cpp: |
| (WebCore::ScriptDebugServer::breakProgram): |
| * bindings/js/ScriptDebugServer.h: |
| (WebCore::supportsNativeBreakpoints): |
| |
| 2012-06-11 MORITA Hajime <morrita@google.com> |
| |
| Spellchecker crash in async scenario. |
| https://bugs.webkit.org/show_bug.cgi?id=88617 |
| |
| Reviewed by Tony Chang. |
| |
| SpellCheckRequest::invokeRequest() can be reached after the frame is detached. |
| SpellCheckRequest should ignore such a request since TextCheckerClient is not available |
| for detached Frames. |
| |
| No new tests. It's hard to reproduce this. |
| |
| * editing/SpellChecker.cpp: |
| (WebCore::SpellChecker::invokeRequest): |
| |
| 2012-06-11 Ryuan Choi <ryuan.choi@samsung.com> |
| |
| [EFL] Extract CursorMap from WidgetEfl.cpp. |
| https://bugs.webkit.org/show_bug.cgi?id=88633 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| In order to share CursorMap in WebKit/efl and UIProcess of WebKit2/Efl, |
| extract it and expose getEcoreCursor. |
| |
| No new tests, refactoring only. |
| |
| * platform/efl/EflScreenUtilities.cpp: |
| (WebCore): |
| (CursorMap): |
| (WebCore::CursorMap::cursor): |
| (WebCore::CursorMap::CursorMap): |
| (WebCore::getEcoreCursor): |
| * platform/efl/EflScreenUtilities.h: |
| (WebCore): |
| * platform/efl/WidgetEfl.cpp: |
| (WebCore::Widget::applyFallbackCursor): |
| |
| 2012-06-10 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r119955. |
| http://trac.webkit.org/changeset/119955 |
| https://bugs.webkit.org/show_bug.cgi?id=88758 |
| |
| Breaks Chromium compile - Chromium depends on removed API |
| (Requested by dominicc on #webkit). |
| |
| * WebCore.exp.in: |
| * editing/Editor.cpp: |
| (WebCore::Editor::insideVisibleArea): |
| (WebCore): |
| (WebCore::Editor::firstVisibleRange): |
| (WebCore::Editor::lastVisibleRange): |
| (WebCore::Editor::nextVisibleRange): |
| (WebCore::Editor::rangeOfString): |
| (WebCore::Editor::countMatchesForText): |
| * editing/Editor.h: |
| (Editor): |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::findFrameForNavigation): |
| * page/DOMWindow.cpp: |
| (WebCore::DOMWindow::parent): |
| (WebCore::DOMWindow::top): |
| * page/EventHandler.cpp: |
| (WebCore::EventHandler::hitTestResultAtPoint): |
| * page/Frame.cpp: |
| (WebCore::Frame::Frame): |
| * page/Frame.h: |
| (Frame): |
| (WebCore::Frame::isDisconnected): |
| (WebCore): |
| (WebCore::Frame::setIsDisconnected): |
| (WebCore::Frame::excludeFromTextSearch): |
| (WebCore::Frame::setExcludeFromTextSearch): |
| * page/FrameTree.cpp: |
| (WebCore::FrameTree::parent): |
| (WebCore::FrameTree::top): |
| * page/FrameTree.h: |
| (FrameTree): |
| * page/Location.cpp: |
| (WebCore::Location::ancestorOrigins): |
| * xml/XMLTreeViewer.cpp: |
| (WebCore::XMLTreeViewer::hasNoStyleInformation): |
| |
| 2012-06-08 Kinuko Yasuda <kinuko@chromium.org> |
| |
| Using BlobBuilder should show a deprecation warning message (if it is enabled) |
| https://bugs.webkit.org/show_bug.cgi?id=88644 |
| |
| Reviewed by Jian Li. |
| |
| Mac has already disabled BlobBuilder, but Chromium still has it. |
| We should start showing a warning to let people migrate to using Blob constructor. |
| |
| Tests: fast/files/blob-builder-crash.html |
| |
| * fileapi/WebKitBlobBuilder.cpp: |
| (WebCore): |
| (WebCore::WebKitBlobBuilder::create): |
| * fileapi/WebKitBlobBuilder.h: |
| (WebCore): |
| (WebKitBlobBuilder): |
| * fileapi/WebKitBlobBuilder.idl: |
| |
| 2012-06-10 Sam Weinig <sam@webkit.org> |
| |
| Remove support for disconnected/excluded from search frames, they are not used by Safari anymore |
| https://bugs.webkit.org/show_bug.cgi?id=88723 |
| |
| Reviewed by Dan Bernstein. |
| |
| * WebCore.exp.in: |
| Update export. |
| * editing/Editor.cpp: |
| (WebCore::Editor::rangeOfString): |
| (WebCore::Editor::countMatchesForText): |
| * editing/Editor.h: |
| (Editor): |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::findFrameForNavigation): |
| * page/DOMWindow.cpp: |
| (WebCore::DOMWindow::parent): |
| (WebCore::DOMWindow::top): |
| * page/EventHandler.cpp: |
| (WebCore::EventHandler::hitTestResultAtPoint): |
| * page/Frame.cpp: |
| (WebCore::Frame::Frame): |
| * page/Frame.h: |
| (Frame): |
| * page/FrameTree.cpp: |
| (WebCore::FrameTree::parent): |
| (WebCore::FrameTree::top): |
| * page/FrameTree.h: |
| (FrameTree): |
| * page/Location.cpp: |
| (WebCore::Location::ancestorOrigins): |
| * xml/XMLTreeViewer.cpp: |
| (WebCore::XMLTreeViewer::hasNoStyleInformation): |
| Update for the removal of disconnected frames and text search exclusions concepts. |
| |
| 2012-06-07 Kinuko Yasuda <kinuko@google.com> |
| |
| Move Quota related code out of DOMWindow and into the quota/ folder |
| https://bugs.webkit.org/show_bug.cgi?id=88512 |
| |
| Reviewed by Adam Barth. |
| |
| No new tests: no visible changes. |
| |
| * CMakeLists.txt: |
| * DerivedSources.cpp: |
| * DerivedSources.make: |
| * DerivedSources.pri: |
| * Modules/quota/DOMWindowQuota.cpp: Added. |
| * Modules/quota/DOMWindowQuota.h: Added. |
| * Modules/quota/DOMWindowQuota.idl: Added. |
| * Modules/quota/StorageInfo.cpp: Renamed from Source/WebCore/storage/StorageInfo.cpp. |
| * Modules/quota/StorageInfo.h: Renamed from Source/WebCore/storage/StorageInfo.h. |
| * Modules/quota/StorageInfo.idl: Renamed from Source/WebCore/storage/StorageInfo.idl. |
| * Modules/quota/StorageInfoErrorCallback.h: Renamed from Source/WebCore/storage/StorageInfoErrorCallback.h. |
| * Modules/quota/StorageInfoErrorCallback.idl: Renamed from Source/WebCore/storage/StorageInfoErrorCallback.idl. |
| * Modules/quota/StorageInfoQuotaCallback.h: Renamed from Source/WebCore/storage/StorageInfoQuotaCallback.h. |
| * Modules/quota/StorageInfoQuotaCallback.idl: Renamed from Source/WebCore/storage/StorageInfoQuotaCallback.idl. |
| * Modules/quota/StorageInfoUsageCallback.h: Renamed from Source/WebCore/storage/StorageInfoUsageCallback.h. |
| * Modules/quota/StorageInfoUsageCallback.idl: Renamed from Source/WebCore/storage/StorageInfoUsageCallback.idl. |
| * Target.pri: |
| * WebCore.gyp/WebCore.gyp: |
| * WebCore.gypi: |
| * WebCore.pri: |
| * WebCore.vcproj/WebCore.vcproj: |
| * WebCore.vcproj/WebCoreCommon.vsprops: |
| * WebCore.vcproj/copyForwardingHeaders.cmd: |
| * WebCore.xcodeproj/project.pbxproj: |
| * page/DOMWindow.cpp: |
| * page/DOMWindow.h: |
| * page/DOMWindow.idl: |
| |
| 2012-06-10 Hayato Ito <hayato@chromium.org> |
| |
| An inheritance of '-webkit-user-modify' does not stop at shadow boundary. |
| https://bugs.webkit.org/show_bug.cgi?id=88514 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| In StyleResolver::styleForElement(), we reset '-webkit-user-modify' |
| CSS property after inheriting a parent style, but that is not |
| enough. We also have to reset '-webkit-user-modify' when we use a |
| cached result in applying matched properties. |
| |
| Test: fast/dom/shadow/user-modify-inheritance.html |
| |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::applyMatchedProperties): |
| (WebCore::StyleResolver::styleForElement): |
| * css/StyleResolver.h: |
| (StyleResolver): |
| * rendering/style/RenderStyle.cpp: |
| (WebCore::RenderStyle::inheritFrom): |
| * rendering/style/RenderStyle.h: |
| |
| 2012-06-10 Yoshifumi Inoue <yosin@chromium.org> |
| |
| [Forms] Introduce Decimal behind the InputNumber type |
| https://bugs.webkit.org/show_bug.cgi?id=88383 |
| |
| Reviewed by Kent Tamura. |
| |
| This patch introduces decimal arithmetic for steppable input types, |
| e.g. date, datetime, number, range, and so on, to avoid rounding error |
| caused by base 2 floating point representation, e.g. C/C++ double type. |
| |
| Most of decimal arithmetic calculations are implemented in StepRange |
| class, replacing "double" with "Decimal", InputType::applyStep, and |
| InputType::stepFromRenderer. |
| |
| Changes introduced by this patch are still intermediate state. |
| Following patch will replace InputNumber type to Decimal type for |
| completion of introducing decimal arithmetic. |
| |
| Test: fast/forms/range/range-value-rounding.html |
| |
| * html/BaseDateAndTimeInputType.cpp: |
| (WebCore::BaseDateAndTimeInputType::serialize): Changed for Decimal type. |
| (WebCore::BaseDateAndTimeInputType::serializeWithComponents): ditto. |
| * html/DateInputType.cpp: |
| (WebCore::DateInputType::createStepRange): Replaced NumberWithDecimalPlaces to InputNumber. |
| * html/DateTimeInputType.cpp: |
| (WebCore::DateTimeInputType::createStepRange): Replaced NumberWithDecimalPlaces to InputNumber. |
| * html/DateTimeLocalInputType.cpp: |
| (WebCore::DateTimeLocalInputType::createStepRange): Replaced NumberWithDecimalPlaces to InputNumber. |
| * html/InputType.cpp: |
| (WebCore::InputType::rangeUnderflow): Changed for Decimal type. |
| (WebCore::InputType::rangeOverflow): Changed for Decimal type. |
| (WebCore::InputType::minimum): Changed for Decimal type. |
| (WebCore::InputType::maximum): ditto. |
| (WebCore::InputType::isInRange): ditto. |
| (WebCore::InputType::isOutOfRange): ditto. |
| (WebCore::InputType::stepMismatch): ditto. |
| (WebCore::InputType::validationMessage): ditto. |
| (WebCore::InputType::parseToNumberOrNaN): ditto. |
| (WebCore::InputType::applyStep): ditto. |
| (WebCore::InputType::stepUpFromRenderer): ditto. |
| * html/InputType.h: |
| (InputType): Removed parseToNumberWIthDecimaplPlaces. |
| * html/MonthInputType.cpp: |
| (WebCore::MonthInputType::createStepRange): Changed for Decimal type. |
| * html/NumberInputType.cpp: |
| (WebCore::RealNumberRenderSize): Added for calculateRenderSize. |
| (WebCore::calculateRenderSize): Added. This function replacess lengthBeforeDecimalPoint. |
| (WebCore::NumberInputType::createStepRange): Changed for Decimal type. |
| (WebCore::NumberInputType::sizeShouldIncludeDecoration): Changed to use calculateRenderSize. |
| (WebCore::NumberInputType::parseToNumber): Changed for Decimal type. |
| (WebCore::NumberInputType::serialize): ditto. |
| * html/NumberInputType.h: |
| (NumberInputType): Removed parseToNumberWIthDecimaplPlaces. |
| * html/RangeInputType.cpp: |
| (WebCore::RangeInputType::createStepRange): Changed for Decimal type. |
| (WebCore::RangeInputType::handleKeydownEvent): ditto. |
| (WebCore::RangeInputType::parseToNumber): ditto. |
| (WebCore::RangeInputType::serialize): ditto. |
| * html/StepRange.cpp: |
| (WebCore::StepRange::StepRange): Removed decimal places and changed for Decimal type. |
| (WebCore::StepRange::acceptableError): Changed for Decimal type. |
| (WebCore::StepRange::alignValueForStep): ditto. |
| (WebCore::StepRange::clampValue): Changed for Decimal type and std::min/max. |
| (WebCore::StepRange::parseStep): Changed for Decimal type and removed NumberWithDecimalPlaces. |
| (WebCore::StepRange::stepMismatch): Changed for Decimal type. |
| (WebCore::convertDoubleToInputNumber): Changed to real implementation. |
| (WebCore::convertInputNumberToDouble): Changed to real implementation. |
| * html/StepRange.h: |
| (InputNumber): Replacement of NumberWithDecimalPlaces. |
| (WebCore::StepRange::InputNumber::InputNumber): |
| * html/TimeInputType.cpp: |
| (WebCore::TimeInputType::createStepRange): Changed for Decimal type. |
| * html/WeekInputType.cpp: |
| (WebCore::WeekInputType::createStepRange): Changed for Decimal type. |
| * html/parser/HTMLParserIdioms.cpp: |
| (WebCore::serializeForNumberType): Added Decimal version. |
| (WebCore::parseToDecimalForNumberType): Added. |
| * html/parser/HTMLParserIdioms.h: Updated comments for parseToDoubleForNumberType. |
| * html/shadow/SliderThumbElement.cpp: |
| (WebCore::sliderPosition): Changed for Decimal type. |
| |
| 2012-06-10 Jason Liu <jason.liu@torchmobile.com.cn> |
| |
| [BlackBerry] Possible to clobber httponly cookie. |
| https://bugs.webkit.org/show_bug.cgi?id=86067 |
| |
| Reviewed by Rob Buis. |
| |
| If a cookie is set by javaScript and there is already a same httpOnly cookie in cookieManager, |
| we should reject it. If it has a httpOnly property, we reject it, too. |
| |
| Test: http/tests/cookies/js-get-and-set-http-only-cookie.html |
| |
| * platform/blackberry/CookieJarBlackBerry.cpp: |
| (WebCore::setCookies): |
| * platform/blackberry/CookieManager.cpp: |
| (WebCore::CookieManager::setCookies): |
| (WebCore::CookieManager::checkAndTreatCookie): |
| (WebCore::CookieManager::addCookieToMap): |
| (WebCore::CookieManager::setPrivateMode): |
| * platform/blackberry/CookieManager.h: |
| * platform/blackberry/CookieMap.cpp: |
| (WebCore::CookieMap::addOrReplaceCookie): |
| (WebCore::CookieMap::removeCookie): |
| * platform/blackberry/CookieMap.h: |
| (CookieMap): |
| |
| 2012-06-10 Pablo Flouret <pablof@motorola.com> |
| |
| Access control allow lists starting with a comma are parsed incorrectly (CORS) |
| https://bugs.webkit.org/show_bug.cgi?id=88461 |
| |
| Reviewed by Adam Barth. |
| |
| The parsing algorithm would stop parsing at the first comma (being an |
| empty entry, of sorts) and bail out, effectively ignoring the whole |
| header. |
| |
| Test: http/tests/xmlhttprequest/access-control-allow-lists-starting-with-comma.html |
| |
| * loader/CrossOriginPreflightResultCache.cpp: |
| (WebCore::parseAccessControlAllowList): |
| |
| 2012-06-10 Darin Adler <darin@apple.com> |
| |
| Some additional tweaks to keep TreeShared code simple/clean |
| https://bugs.webkit.org/show_bug.cgi?id=88738 |
| |
| Reviewed by Adam Barth. |
| |
| * platform/TreeShared.h: Make constructor and destructor both protected. |
| It's slightly dangerous to have a public non-virtual destructor, and there |
| is no reason it needs to be public. |
| (WebCore::TreeShared::~TreeShared): Make debug-only destructor non-virtual; |
| we were getting no value from it being virtual. Now that it's non-virtual, |
| there is no need to use an #if on it since it's an empty inline destructor |
| in non-debug builds. |
| |
| 2012-06-06 Jer Noble <jer.noble@apple.com> |
| |
| REGRESSION: Setting invalid media "src" does not cause "error" event |
| https://bugs.webkit.org/show_bug.cgi?id=88423 |
| |
| Reviewed by Eric Carlson. |
| |
| Test: http/tests/media/video-src-invalid-error.html |
| |
| Two problems here. When the loadTimer is scheduled, the m_pendingLoadFlags |
| variable is set to specify what type of load is scheduled. It is cleared |
| when the loadTimer fires. But, when prepareForLoad() stops the loadTimer, |
| it does not clear the m_pendingLoadFlags variable, so the next time |
| scheduleLoad() is called (when the src is changed to an invalid URL) |
| prepareForLoad() is not called again. |
| |
| Second problem: Due to a bug in QTKit (<rdar://problem/11606415>), the |
| QTMovieLoadStateChangedNotification is never fired for an invalid http |
| URL if QTMovieOpenAsyncRequiredAttribute:YES is not passed when creating |
| the QTMovie. |
| |
| Add a new utility method which both stops the m_loadTimer and clears the |
| m_pendingLoadFlags, and use it in all the places where m_loadTimer was |
| stopped explicitly: |
| |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::prepareForLoad): |
| (WebCore::HTMLMediaElement::stopLoadTimer): Added |
| (WebCore::HTMLMediaElement::userCancelledLoad): |
| * html/HTMLMediaElement.h: |
| |
| And pass QTMovieOpenAsyncRequiredAttribute:YES when creating the QTMovie: |
| |
| * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: |
| (WebCore::MediaPlayerPrivateQTKit::commonMovieAttributes): |
| |
| 2012-06-06 Jer Noble <jer.noble@apple.com> |
| |
| Add logging functions to MediaPlayerPrivateQTKit. |
| https://bugs.webkit.org/show_bug.cgi?id=88425 |
| |
| Reviewed by Eric Carlson. |
| |
| No new tests; adds logging functions to aide debugging. |
| |
| MediaPlayerPrivateQTKit should emit the same kind of logging messages as |
| other MediaPlayerPrivate engines to aide in debugging. |
| |
| Distinguish between loadedRangesChanged() and loadStateChanged() for logging |
| purposes: |
| * platform/graphics/mac/MediaPlayerPrivateQTKit.h: |
| * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: |
| (WebCore::MediaPlayerPrivateQTKit::loadedRangesChanged): |
| (-[WebCoreMovieObserver loadedRangesChanged:]): |
| |
| Add LOG messages for each of the following functions: |
| * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: |
| (WebCore::MediaPlayerPrivateQTKit::~MediaPlayerPrivateQTKit): |
| (WebCore::MediaPlayerPrivateQTKit::createQTMovie): |
| (WebCore::MediaPlayerPrivateQTKit::createQTMovieView): |
| (WebCore::MediaPlayerPrivateQTKit::detachQTMovieView): |
| (WebCore::MediaPlayerPrivateQTKit::createQTVideoRenderer): |
| (WebCore::MediaPlayerPrivateQTKit::destroyQTVideoRenderer): |
| (WebCore::MediaPlayerPrivateQTKit::createQTMovieLayer): |
| (WebCore::MediaPlayerPrivateQTKit::destroyQTMovieLayer): |
| (WebCore::MediaPlayerPrivateQTKit::setUpVideoRendering): |
| (WebCore::MediaPlayerPrivateQTKit::tearDownVideoRendering): |
| (WebCore::MediaPlayerPrivateQTKit::load): |
| (WebCore::MediaPlayerPrivateQTKit::prepareToPlay): |
| (WebCore::MediaPlayerPrivateQTKit::play): |
| (WebCore::MediaPlayerPrivateQTKit::pause): |
| (WebCore::MediaPlayerPrivateQTKit::seek): |
| (WebCore::MediaPlayerPrivateQTKit::cancelSeek): |
| (WebCore::MediaPlayerPrivateQTKit::setVolume): |
| (WebCore::MediaPlayerPrivateQTKit::setRate): |
| (WebCore::MediaPlayerPrivateQTKit::setPreservesPitch): |
| (WebCore::MediaPlayerPrivateQTKit::cancelLoad): |
| (WebCore::MediaPlayerPrivateQTKit::prepareForRendering): |
| (WebCore::MediaPlayerPrivateQTKit::updateStates): |
| (WebCore::MediaPlayerPrivateQTKit::loadStateChanged): |
| (WebCore::MediaPlayerPrivateQTKit::rateChanged): |
| (WebCore::MediaPlayerPrivateQTKit::sizeChanged): |
| (WebCore::MediaPlayerPrivateQTKit::timeChanged): |
| (WebCore::MediaPlayerPrivateQTKit::didEnd): |
| (WebCore::MediaPlayerPrivateQTKit::clearMediaCache): |
| (WebCore::MediaPlayerPrivateQTKit::clearMediaCacheForSite): |
| (WebCore::MediaPlayerPrivateQTKit::disableUnsupportedTracks): |
| |
| 2012-06-07 Jer Noble <jer.noble@apple.com> |
| |
| WebCore should use a single definition of an invalid media time. |
| https://bugs.webkit.org/show_bug.cgi?id=88572 |
| |
| Reviewed by Eric Carlson. |
| |
| No new tests; no change in functionality, so covered by existing tests. |
| |
| Add a new, universal definition for an invalid media time: |
| * platform/graphics/MediaPlayer.h: |
| (WebCore::MediaPlayer::invalidTime): |
| |
| Use this new definition instead of the hodge podge of (identical) local |
| definitions for an invalid media time: |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::HTMLMediaElement): |
| (WebCore::HTMLMediaElement::invalidateCachedTime): |
| (WebCore::HTMLMediaElement::currentTime): |
| (WebCore::HTMLMediaElement::initialTime): |
| (WebCore::HTMLMediaElement::playbackProgressTimerFired): |
| (WebCore::HTMLMediaElement::prepareMediaFragmentURI): |
| (WebCore::HTMLMediaElement::applyMediaFragmentURI): |
| * html/MediaFragmentURIParser.cpp: |
| (WebCore::MediaFragmentURIParser::invalidTimeValue): |
| (WebCore::MediaFragmentURIParser::MediaFragmentURIParser): |
| (WebCore::MediaFragmentURIParser::startTime): |
| (WebCore::MediaFragmentURIParser::endTime): |
| (WebCore::MediaFragmentURIParser::parseTimeFragment): |
| * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: |
| (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation): |
| (WebCore::MediaPlayerPrivateAVFoundation::duration): |
| (WebCore::MediaPlayerPrivateAVFoundation::seeking): |
| (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted): |
| (WebCore::MediaPlayerPrivateAVFoundation::invalidateCachedDuration): |
| * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: |
| (MediaPlayerPrivateAVFoundation): |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration): |
| * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: |
| (WebCore::MediaPlayerPrivateQTKit::duration): |
| (WebCore::MediaPlayerPrivateQTKit::updateStates): |
| (WebCore::MediaPlayerPrivateQTKit::timeChanged): |
| |
| 2012-06-10 Darin Adler <darin@apple.com> |
| |
| Remove unneeded callRemovedLastRef function from TreeShared refactoring |
| https://bugs.webkit.org/show_bug.cgi?id=88653 |
| |
| Reviewed by Sam Weinig. |
| |
| * WebCore.exp.in: Updated to remove callRemovedLastRef and add removedLastRef. |
| |
| * dom/ContainerNode.cpp: Removed callRemovedLastRef, which is no longer |
| needed and also had a bad cast in it. |
| |
| * dom/Document.h: Made removedLastRef private and non-virtual and made Node |
| a friend so it can call the private function. |
| |
| * dom/Node.cpp: |
| (WebCore::Node::removedLastRef): Moved here. This should not be an inline |
| function. Added comments explaining why it should not be inlined. Also added |
| explicit code to call to Document::removedLastRef, and added a comment why |
| that's the right thing to do here. |
| * dom/Node.h: Inherit from TreeShared<Node, ContainerNode>. Made the |
| removedLastRef function non-virtual and removed it from the header file. |
| Updated TreeShared using statements. Made the TreeShared template class a |
| friend so it can call the private removedLastRef. |
| |
| * html/HTMLFormControlElement.h: Updated TreeShared using statements to specify |
| Node instead, which accomplishes the same thing. |
| * html/HTMLObjectElement.h: Ditto. |
| |
| * platform/TreeShared.h: Made TreeShared take two template arguments for the |
| node type and the parent node type. Removed the callRemovedLastRef functions and |
| the extra forward declarations it required. Removed the private unused |
| removedLastRef function; not sure why it was left in here at all. |
| (WebCore::TreeShared::deref): Call removedLastRef instead of callRemovedLastRef. |
| (WebCore::TreeShared::setParent): Use ParentNodeType. |
| (WebCore::TreeShared::parent): Ditto. |
| (WebCore::adopted): Updated to have both template arguments. |
| |
| * svg/SVGElementInstance.cpp: |
| (WebCore::SVGElementInstance::removedLastRef): Replaced callRemovedLastRef with |
| this. Moved the body out of the header and added a comment explaining why the |
| function should not be inlined. |
| * svg/SVGElementInstance.h: Made removedLastRef non-virtual, non-inline, and |
| private. Made TreeShared a friend so it can call the private removedLastRef. |
| Updated TreeShared using statements. |
| |
| 2012-06-10 Darin Adler <darin@apple.com> |
| |
| * WebCore.exp.in: Re-sorted and alphabetized the file. |
| |
| 2012-06-10 Balazs Kelemen <kbalazs@webkit.org> |
| |
| [Qt][Win] Fix building Source/WebCore/plugins/win/PluginViewWin.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=88308 |
| |
| Reviewed by Simon Hausmann. |
| |
| No new tests, just a build fix. |
| |
| Use ownerWindow() from page client. It has been |
| introduced for x11 plugins to solve exactly the |
| same problem. |
| |
| * plugins/win/PluginViewWin.cpp: |
| (windowHandleForPageClient): |
| |
| 2012-06-10 Balazs Kelemen <kbalazs@webkit.org> |
| |
| [Qt][Win] Fix building ImageQt.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=88306 |
| |
| Reviewed by Simon Hausmann. |
| |
| No new tests, this is just a build fix. |
| |
| * platform/graphics/qt/ImageQt.cpp: |
| (WebCore): |
| (WebCore::BitmapImage::create): |
| Adapt to the "API" changes in Qt. |
| |
| 2012-06-09 Gregg Tavares <gman@google.com> |
| |
| Make WebGL mark draws for compositing even if the draw count is zero |
| https://bugs.webkit.org/show_bug.cgi?id=88718 |
| |
| Reviewed by Kenneth Russell. |
| |
| No new tests as no new functionality. |
| |
| * html/canvas/WebGLRenderingContext.cpp: |
| (WebCore): |
| (WebCore::WebGLRenderingContext::drawArrays): |
| (WebCore::WebGLRenderingContext::drawElements): |
| |
| 2012-06-09 Dominic Cooney <dominicc@chromium.org> |
| |
| [Chromium] Remove JavaScriptCore dependencies from gyp |
| https://bugs.webkit.org/show_bug.cgi?id=88510 |
| |
| Reviewed by Adam Barth. |
| |
| Chromium doesn't support JSC any more and there doesn't seem to be |
| a strong interest in using GYP as the common build system in other |
| ports. |
| |
| No new functionality => No new tests. |
| |
| * gyp/WebCore.gyp: Removed. |
| * gyp/copy-forwarding-and-icu-headers.sh: Removed. |
| * gyp/copy-inspector-resources.sh: Removed. |
| * gyp/generate-derived-sources.sh: Removed. |
| * gyp/generate-webcore-export-file-generator.sh: Removed. |
| * gyp/gtk.gyp: Removed. |
| * gyp/run-if-exists.sh: Removed. |
| * gyp/streamline-inspector-source.sh: Removed. |
| * gyp/update-info-plist.sh: Removed. |
| |
| 2012-06-07 Darin Adler <darin@apple.com> |
| |
| Refactor and improve code style in TextResourceDecoder to prepare for buffering improvement |
| https://bugs.webkit.org/show_bug.cgi?id=88566 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * loader/TextResourceDecoder.cpp: |
| (WebCore::bytesEqual): Added helper function to make comparing against sequences of bytes |
| easier to read at the call site. |
| (WebCore::KanjiCode::judge): Changed to use bytesEqual in a few places, merged multiple if |
| statements, got rid of else after goto. |
| (WebCore::TextResourceDecoder::checkForCSSCharset): Changed to use early return instead of |
| nesting the whole function. Changed to use bytesEqual. |
| (WebCore::skipComment): Changed to use early return for more cases. Changed to use bytesEqual. |
| (WebCore::TextResourceDecoder::checkForHeadCharset): Changed to use bytesEqual. |
| (WebCore::TextResourceDecoder::decode): Changed to use emptyString() instead of "", since |
| the former is more efficient. |
| |
| 2012-06-09 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r118618 and r119353. |
| http://trac.webkit.org/changeset/118618 |
| http://trac.webkit.org/changeset/119353 |
| https://bugs.webkit.org/show_bug.cgi?id=88720 |
| |
| Caused at least 30 different crashes on ClusterFuzz (Requested |
| by inferno-sec on #webkit). |
| |
| * loader/SubresourceLoader.cpp: |
| (WebCore::SubresourceLoader::checkForHTTPStatusCodeError): |
| * loader/cache/CachedCSSStyleSheet.cpp: |
| (WebCore::CachedCSSStyleSheet::allClientsRemoved): |
| * loader/cache/CachedFont.cpp: |
| (WebCore::CachedFont::allClientsRemoved): |
| * loader/cache/CachedFont.h: |
| (WebCore::CachedFontClient::resourceClientType): |
| * loader/cache/CachedImage.cpp: |
| (WebCore::CachedImage::removeClientForRenderer): |
| (WebCore): |
| (WebCore::CachedImage::allClientsRemoved): |
| (WebCore::CachedImage::lookupOrCreateImageForRenderer): |
| * loader/cache/CachedImage.h: |
| (CachedImage): |
| (WebCore::CachedImageClient::resourceClientType): |
| * loader/cache/CachedRawResource.cpp: |
| (WebCore::CachedRawResource::allClientsRemoved): |
| (WebCore): |
| * loader/cache/CachedRawResource.h: |
| (CachedRawResource): |
| (WebCore::CachedRawResourceClient::resourceClientType): |
| * loader/cache/CachedResource.cpp: |
| (WebCore::CachedResource::removeClient): |
| * loader/cache/CachedResource.h: |
| (WebCore::CachedResource::allClientsRemoved): |
| * loader/cache/CachedResourceClient.h: |
| (WebCore::CachedResourceClient::resourceClientType): |
| * loader/cache/CachedSVGDocument.h: |
| (WebCore::CachedSVGDocumentClient::resourceClientType): |
| * loader/cache/CachedScript.cpp: |
| (WebCore::CachedScript::allClientsRemoved): |
| * loader/cache/CachedStyleSheetClient.h: |
| (WebCore::CachedStyleSheetClient::resourceClientType): |
| * rendering/style/StyleCachedImage.cpp: |
| (WebCore::StyleCachedImage::removeClient): |
| * rendering/style/StyleCachedImageSet.cpp: |
| (WebCore::StyleCachedImageSet::removeClient): |
| * svg/graphics/SVGImageCache.cpp: |
| (WebCore::SVGImageCache::~SVGImageCache): |
| (WebCore::SVGImageCache::removeRendererFromCache): |
| (WebCore::SVGImageCache::setRequestedSizeAndScales): |
| (WebCore::SVGImageCache::requestedSizeAndScales): |
| (WebCore::SVGImageCache::lookupOrCreateBitmapImageForRenderer): |
| * svg/graphics/SVGImageCache.h: |
| (WebCore): |
| (SVGImageCache): |
| |
| 2012-06-09 Florin Malita <fmalita@chromium.org> |
| |
| Fixed-position foreignObject descendants should be relative to the foreignObject viewport |
| https://bugs.webkit.org/show_bug.cgi?id=88547 |
| |
| Reviewed by Abhishek Arya. |
| |
| Tests: svg/foreignObject/fO-fixed-position-crash.html |
| svg/foreignObject/fixed-position-expected.svg |
| svg/foreignObject/fixed-position.svg |
| |
| Fixed position elements are currently registered with the top level |
| RenderView even when embedded within an SVG foreignOject. This patch |
| changes containingBlock() & container() to return the containing |
| foreignObject renderer instead. |
| |
| The new foreignObject fixed position behavior matches that of current |
| FireFox and Opera versions and is consistent with the spec: |
| http://www.w3.org/TR/CSS2/visuren.html#fixed-positioning |
| http://www.w3.org/TR/SVG/coords.html#EstablishingANewViewport |
| |
| * rendering/RenderObject.cpp: |
| (WebCore::RenderObject::containingBlock): |
| (WebCore::RenderObject::container): |
| |
| 2012-06-09 Adam Barth <abarth@webkit.org> |
| |
| Can't use eval in iframes sanbdoxed via CSP header |
| https://bugs.webkit.org/show_bug.cgi?id=88450 |
| |
| Reviewed by Mihai Parparita. |
| |
| The initial empty document in a frame inherits the security context of |
| its parent (including the CSP policy). When we load the real document, |
| in some cases we'll do a "secure transition" to the new document. That |
| means that we leave the global object in place in case the parent |
| document has created any properties that it expects will be visible to |
| the new document. |
| |
| If the parent document has a CSP policy that blocks eval, the "no eval" |
| bit will be set on the global object of the initial document. When we |
| perform a "secure transition" to the new document, we'll keep the bit, |
| which is wrong. In this patch, we reset the bit by always enabling |
| eval when clearing the context, regardless of whether we're performing |
| a "secure transition". |
| |
| Test: http/tests/security/contentSecurityPolicy/iframe-inside-csp.html |
| |
| * bindings/js/ScriptController.cpp: |
| (WebCore::ScriptController::enableEval): |
| (WebCore): |
| * bindings/js/ScriptController.h: |
| (ScriptController): |
| * bindings/v8/ScriptController.cpp: |
| (WebCore::ScriptController::enableEval): |
| (WebCore): |
| (WebCore::ScriptController::disableEval): |
| * bindings/v8/ScriptController.h: |
| (ScriptController): |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::clear): |
| |
| 2012-06-09 Pablo Flouret <pablof@motorola.com> |
| |
| The value in Access-Control-Allow-Origin is not being matched correctly for CORS-enabled requests |
| https://bugs.webkit.org/show_bug.cgi?id=88139 |
| |
| Reviewed by Adam Barth. |
| |
| Compare a request's origin with the value given in any |
| Access-Control-Allow-Origin headers in an exact, case-sensitive manner, |
| instead of using SecurityOrigin::isSameSchemeHostPort(). Per step 3 of |
| the resource sharing check algorithm in |
| http://dvcs.w3.org/hg/cors/raw-file/tip/Overview.html#resource-sharing-check |
| |
| Test: http/tests/xmlhttprequest/origin-exact-matching.html |
| |
| * loader/CrossOriginAccessControl.cpp: |
| (WebCore::passesAccessControlCheck): |
| |
| 2012-06-09 Huang Dongsung <luxtella@company100.net> |
| |
| [Qt][Texmap] All layers with backingStore are opaque when using TextureMapperGL. |
| https://bugs.webkit.org/show_bug.cgi?id=88703 |
| |
| The bug originated from StillImage that is not override |
| Image::currentFrameHasAlpha(), so it always returns false. |
| StillImage is used by ImageBuffer, and if Texmap draws contents on ImageBuffer, |
| TextureMapperBackingStore thinks contents does not have alpha. |
| |
| Covered by existing compositing tests. |
| |
| Reviewed by Noam Rosenthal. |
| |
| * platform/graphics/qt/StillImageQt.cpp: |
| (WebCore::StillImage::currentFrameHasAlpha): |
| (WebCore): |
| * platform/graphics/qt/StillImageQt.h: |
| (StillImage): |
| |
| 2012-06-09 Victor Carbune <victor@rosedu.org> |
| |
| Basic support for timestamps within a TextTrackCue |
| https://bugs.webkit.org/show_bug.cgi?id=88187 |
| |
| Implemented support for timestamps within a TextTrackCue. |
| This enables rendering functionality for Karaoke and Paint-on captions. |
| |
| Reviewed by Eric Carlson. |
| |
| Test: media/track/track-cue-rendering-inner-timestamps.html |
| |
| * css/mediaControls.css: Remove the background shadow pseudo-id and |
| added two others, which can be further used for styling past / future |
| contents of the cue. |
| (video::-webkit-media-text-track-past-nodes): Used to style elements |
| within the cue that are before the current movie time. |
| (video::-webkit-media-text-track-future-nodes): Used to style elements |
| within the cue that are after the current movie time. |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::updateActiveTextTrackCues): Regardless of whether |
| the active set changed or not, the current cues need to be informed of the current |
| movie time. |
| * html/track/TextTrackCue.cpp: |
| (WebCore::TextTrackCue::TextTrackCue): Initiliazed past and future containers. |
| (WebCore::TextTrackCue::getCueAsHTML): Checked whether the current cue text has |
| inner timestamps or not, in order to render faster if no timestamps are there. |
| (WebCore::TextTrackCue::updateDisplayTree): Added method that keeps the past and future |
| containers up to date, given a current movie time. |
| (WebCore): |
| (WebCore::TextTrackCue::getDisplayTree): Replaced the cue background container with the |
| past cues container. The *internal* display tree of the cue now has two containers, |
| representing past and future elements. |
| * html/track/TextTrackCue.h: Added several variables to support the new functionality. |
| (TextTrackCue): |
| * html/track/WebVTTParser.cpp: |
| (WebCore::WebVTTParser::constructTreeFromToken): Updated representation for this patch. |
| * html/track/WebVTTParser.h: |
| (WebVTTParser): Made public the collectTimeStamp method, as this is required for |
| parsing timestamps within a cue as well. |
| |
| 2012-06-09 Vsevolod Vlasov <vsevik@chromium.org> |
| |
| Web Inspector: Open links in Sources panel by default and fallback to Resources and Network panel otherwise. |
| https://bugs.webkit.org/show_bug.cgi?id=88710 |
| |
| Reviewed by Pavel Feldman. |
| |
| * inspector/front-end/inspector.js: |
| (WebInspector.documentClick.followLink): |
| (WebInspector.documentClick): |
| (WebInspector._showAnchorLocation): |
| |
| 2012-06-09 Vsevolod Vlasov <vsevik@chromium.org> |
| |
| Web Inspector: Only expand root domain in Sources/Scripts panel |
| https://bugs.webkit.org/show_bug.cgi?id=88135 |
| |
| Reviewed by Pavel Feldman. |
| |
| * inspector/front-end/NavigatorView.js: |
| (WebInspector.NavigatorTreeOutline._treeElementsCompare.compare.typeWeight): |
| (WebInspector.NavigatorTreeOutline._treeElementsCompare): |
| (WebInspector.NavigatorFolderTreeElement.prototype.onattach): |
| |
| 2012-06-09 Vsevolod Vlasov <vsevik@chromium.org> |
| |
| Web Inspector: Pretty print should respect text editor indent setting. |
| https://bugs.webkit.org/show_bug.cgi?id=88713 |
| |
| Reviewed by Pavel Feldman. |
| |
| * inspector/front-end/ScriptFormatter.js: |
| |
| 2012-06-09 Dan Bernstein <mitz@apple.com> |
| |
| Fixed the build after r119895. |
| |
| * WebCore.xcodeproj/project.pbxproj: |
| |
| 2012-06-09 Andrey Kosyakov <caseq@chromium.org> |
| |
| Web Inspector: [refactoring] rename TimelineVerticalOverview into TimelineFrameOverview |
| https://bugs.webkit.org/show_bug.cgi?id=88708 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| - rename TimelineVerticalOverview to TimelineFrameOverview; |
| - rename associated fields, parameters, CSS classes etc; |
| - rename overview mode designators to match the UI; |
| - drop unused CSS rules for old-style mode selector; |
| |
| * inspector/front-end/TimelineOverviewPane.js: |
| (WebInspector.TimelineOverviewPane): |
| (WebInspector.TimelineOverviewPane.prototype._showEvents): |
| (WebInspector.TimelineOverviewPane.prototype._showFrames): |
| (WebInspector.TimelineOverviewPane.prototype._showMemoryGraph): |
| (WebInspector.TimelineOverviewPane.prototype._setFrameMode): |
| (WebInspector.TimelineOverviewPane.prototype._onCategoryVisibilityChanged): |
| (WebInspector.TimelineOverviewPane.prototype._update): |
| (WebInspector.TimelineOverviewPane.prototype.addFrame): |
| (WebInspector.TimelineOverviewPane.prototype.zoomToFrame): |
| (WebInspector.TimelineOverviewPane.prototype._reset): |
| (WebInspector.TimelineOverviewPane.prototype._onWindowChanged): |
| (WebInspector.TimelineFrameOverview): |
| * inspector/front-end/TimelinePanel.js: |
| (WebInspector.TimelinePanel): |
| (WebInspector.TimelinePanel.prototype._shouldShowFrames): |
| (WebInspector.TimelinePanel.prototype.revealRecordAt): |
| * inspector/front-end/timelinePanel.css: |
| (.timeline-frame-overview #timeline-overview-grid): |
| (.timeline-frame-overview .timeline-overview-window): |
| (.timeline-frame-overview .timeline-overview-dividers-background): |
| (.timeline-frame-overview #timeline-overview-memory): |
| (.timeline-frame-overview-status-bar-item.toggled-on .glyph): |
| (.timeline-frame-overview-bars): |
| (.timeline.timeline-frame-overview .resources-divider): |
| (.sidebar-tree-item .timeline-frame-overview-status-bar-item): |
| |
| 2012-06-08 Vsevolod Vlasov <vsevik@chromium.org> |
| |
| IndexedDB: Inspector should handle null, string, and array keyPaths |
| https://bugs.webkit.org/show_bug.cgi?id=84303 |
| |
| Reviewed by Pavel Feldman. |
| |
| Supported different key path types and updated tests to cover each case. |
| Key path strings are now highlighted in the DataGrid column headers. |
| |
| * inspector/Inspector.json: |
| * inspector/InspectorIndexedDBAgent.cpp: |
| (WebCore): |
| * inspector/front-end/IndexedDBModel.js: |
| (WebInspector.IndexedDBModel.idbKeyPathFromKeyPath): |
| (WebInspector.IndexedDBModel.keyPathStringFromIDBKeyPath): |
| (WebInspector.IndexedDBModel.prototype._loadDatabase.callback): |
| (WebInspector.IndexedDBModel.prototype._loadDatabase): |
| (WebInspector.IndexedDBModel.ObjectStore.prototype.get keyPathString): |
| (WebInspector.IndexedDBModel.Index.prototype.get keyPathString): |
| * inspector/front-end/IndexedDBViews.js: |
| (WebInspector.IDBDataView.prototype._createDataGrid): |
| (WebInspector.IDBDataView.prototype._keyColumnHeaderFragment): |
| (WebInspector.IDBDataView.prototype._keyPathStringFragment): |
| (WebInspector.IDBDataGridNode.prototype.createCell): |
| * inspector/front-end/ResourcesPanel.js: |
| (WebInspector.IDBObjectStoreTreeElement.prototype._updateTooltip): |
| (WebInspector.IDBIndexTreeElement.prototype._updateTooltip): |
| |
| 2012-06-08 Vsevolod Vlasov <vsevik@chromium.org> |
| |
| Web Inspector: Increase size limits for resource content cached in InspectorResourceAgent. |
| https://bugs.webkit.org/show_bug.cgi?id=88674 |
| |
| Reviewed by Pavel Feldman. |
| |
| * inspector/NetworkResourcesData.cpp: |
| |
| 2012-05-25 Vsevolod Vlasov <vsevik@chromium.org> |
| |
| Web Inspector: Limit DebuggerAgent.Location use to DebuggerModel only, introduce WebInspector.RawLocation to be used elsewhere. |
| https://bugs.webkit.org/show_bug.cgi?id=87270 |
| |
| Reviewed by Pavel Feldman. |
| |
| Introduced WebInspector.RawLocation interface, a generic raw location independent from concrete domain (Styles, Debugger). |
| Made WebInspector.DebuggerModel.Location implement it and switched all debugger related methods to it. |
| |
| * inspector/front-end/BreakpointManager.js: |
| (WebInspector.BreakpointManager.prototype._breakpointResolved): |
| * inspector/front-end/CompilerScriptMapping.js: |
| (WebInspector.CompilerScriptMapping.prototype.rawLocationToUILocation): |
| * inspector/front-end/DebuggerModel.js: |
| (WebInspector.DebuggerModel.Location): |
| (WebInspector.DebuggerModel.prototype.continueToLocation): |
| (WebInspector.DebuggerModel.prototype.setBreakpointByScriptLocation): |
| (WebInspector.DebuggerModel.prototype.setBreakpoint.didSetBreakpoint): |
| (WebInspector.DebuggerModel.prototype.setBreakpoint): |
| (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId): |
| (WebInspector.DebuggerModel.prototype._breakpointResolved): |
| (WebInspector.DebuggerModel.prototype.createRawLocation): |
| (WebInspector.DebuggerModel.prototype.createRawLocationByURL): |
| (WebInspector.DebuggerModel.prototype.setSelectedCallFrame): |
| (WebInspector.DebuggerModel.prototype.createLiveLocation): |
| (WebInspector.DebuggerModel.CallFrame.prototype.get location): |
| (WebInspector.DebuggerModel.CallFrame.prototype.createLiveLocation): |
| * inspector/front-end/DebuggerResourceBinding.js: |
| (WebInspector.DebuggerResourceBinding.setScriptSource.didEditScriptSource): |
| (WebInspector.DebuggerResourceBinding.setScriptSource): |
| (WebInspector.DebuggerResourceBinding.prototype.setContent.get if): |
| (WebInspector.DebuggerResourceBinding.prototype.setContent): |
| (WebInspector.DebuggerResourceBinding.prototype._setContentWithInitialContent): |
| * inspector/front-end/JavaScriptSource.js: |
| (WebInspector.JavaScriptSource.prototype.uiLocationToRawLocation): |
| * inspector/front-end/Linkifier.js: |
| * inspector/front-end/ObjectPopoverHelper.js: |
| (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover.showObjectPopover.): |
| (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover): |
| * inspector/front-end/PresentationConsoleMessageHelper.js: |
| * inspector/front-end/RawSourceCode.js: |
| * inspector/front-end/ResourceScriptMapping.js: |
| (WebInspector.ResourceScriptMapping.prototype.rawLocationToUILocation): |
| * inspector/front-end/Script.js: |
| (WebInspector.Script.prototype.rawLocationToUILocation): |
| * inspector/front-end/ScriptSnippetModel.js: |
| (WebInspector.SnippetScriptMapping.prototype.rawLocationToUILocation): |
| * inspector/front-end/SourceMapping.js: |
| * inspector/front-end/UISourceCode.js: |
| (WebInspector.RawLocation): |
| |
| 2012-06-09 Eugene Klyuchnikov <eustas.bug@gmail.com> |
| |
| Web Inspector: Add message loop instrumentation to public API and timeline agent |
| https://bugs.webkit.org/show_bug.cgi?id=88639 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| Message loop instrumentation will show when the render thread is busy. |
| That way developer can discover if a render thread business causes low fps, or not. |
| |
| * inspector/InspectorClient.h: |
| (WebCore::InspectorClient::startMessageLoopMonitoring): Starts observer. |
| (WebCore::InspectorClient::stopMessageLoopMonitoring): Stops observer. |
| * inspector/InspectorController.cpp: |
| (WebCore::InspectorController::InspectorController): |
| Changed timeline agent constructor parameters. |
| * inspector/InspectorInstrumentation.cpp: |
| (WebCore::InspectorInstrumentation::willProcessTaskImpl): |
| Forwards observer notification. |
| (WebCore): |
| (WebCore::InspectorInstrumentation::didProcessTaskImpl): |
| Ditto. |
| * inspector/InspectorInstrumentation.h: |
| (InspectorInstrumentation): |
| (WebCore::InspectorInstrumentation::willProcessTask): |
| Ditto. |
| (WebCore): |
| (WebCore::InspectorInstrumentation::didProcessTask): |
| Ditto. |
| * inspector/InspectorTimelineAgent.cpp: |
| (WebCore::InspectorTimelineAgent::start): |
| Starts observer. |
| (WebCore::InspectorTimelineAgent::stop): |
| Stops observer. |
| (WebCore::InspectorTimelineAgent::supportsFrameInstrumentation): |
| Changed result origin. |
| (WebCore::InspectorTimelineAgent::willProcessTask): |
| Noop implementqation. |
| (WebCore): |
| (WebCore::InspectorTimelineAgent::didProcessTask): |
| Noop implementqation. |
| (WebCore::InspectorTimelineAgent::InspectorTimelineAgent): |
| Changed constructor parameters. |
| * inspector/InspectorTimelineAgent.h: |
| (WebCore::InspectorTimelineAgent::create): |
| Ditto. |
| (InspectorTimelineAgent): |
| * inspector/WorkerInspectorController.cpp: |
| (WebCore::WorkerInspectorController::WorkerInspectorController): |
| Changed timeline agent constructor parameters. |
| |
| 2012-06-08 Andrey Kosyakov <caseq@chromium.org> |
| |
| Web Inspector: optimize timeline's frame mode overview appearance for 30fps |
| https://bugs.webkit.org/show_bug.cgi?id=88556 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| - adjust frame overview scale to 30fps == full height by default; |
| - provide a fall-back auto-scale mode when median frame is longer than 1/30s; |
| - add horizontal lines for 30 and 60fps; |
| - drive-by fix: always use same order of categories in frame bars. |
| |
| * inspector/front-end/TimelineOverviewPane.js: |
| (WebInspector.TimelineVerticalOverview.prototype.update): |
| (WebInspector.TimelineVerticalOverview.prototype._aggregateFrames): |
| (WebInspector.TimelineVerticalOverview.prototype._renderBars): |
| (WebInspector.TimelineVerticalOverview.prototype._drawFPSMarks): |
| (WebInspector.TimelineVerticalOverview.prototype._renderBar): |
| |
| |
| 2012-06-09 Sukolsak Sakshuwong <sukolsak@google.com> |
| |
| Add UNDO_MANAGER flag |
| https://bugs.webkit.org/show_bug.cgi?id=87908 |
| |
| Reviewed by Tony Chang. |
| |
| Add undoManager property to document behind the UNDO_MANAGER flag and |
| add placeholders for some methods of undoManager. |
| |
| Test: editing/undomanager/document-has-undomanager.html |
| |
| * CMakeLists.txt: |
| * Configurations/FeatureDefines.xcconfig: |
| * DerivedSources.cpp: |
| * DerivedSources.make: |
| * DerivedSources.pri: |
| * GNUmakefile.am: |
| * GNUmakefile.list.am: |
| * WebCore.gypi: |
| * WebCore.xcodeproj/project.pbxproj: |
| * dom/Document.cpp: |
| (WebCore::Document::Document): |
| (WebCore): |
| (WebCore::Document::undoManager): |
| * dom/Document.h: |
| (WebCore): |
| (Document): |
| * dom/Document.idl: |
| * editing/UndoManager.cpp: Added. |
| (WebCore): |
| (WebCore::UndoManager::create): |
| (WebCore::UndoManager::UndoManager): |
| (WebCore::UndoManager::undo): |
| (WebCore::UndoManager::redo): |
| (WebCore::UndoManager::clearUndo): |
| (WebCore::UndoManager::clearRedo): |
| * editing/UndoManager.h: Added. |
| (WebCore): |
| (UndoManager): |
| * editing/UndoManager.idl: Added. |
| |
| 2012-06-08 Levi Weintraub <leviw@chromium.org> |
| |
| RenderLayer::paintChildLayerIntoColumns doesn't properly pixel snap |
| https://bugs.webkit.org/show_bug.cgi?id=88554 |
| |
| Reviewed by Darin Adler. |
| |
| Column handling code in RenderLayer and RenderBlock was improperly clipping and translating |
| using floats derived from FractionalLayoutUnits without pixel snapping. RenderLayer also |
| improperly stored render tree offsets in ints instead of LayoutUnits. This corrects this |
| issue. |
| |
| Test: fast/sub-pixel/column-clipping.html |
| |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::paintColumnContents): |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::paintChildLayerIntoColumns): |
| |
| 2012-06-08 Rakesh KN <rakesh.kn@motorola.com> |
| |
| REGRESSION(r116487?): HTMLFormElement::elements['name'] is empty if the form is detached from the document tree |
| https://bugs.webkit.org/show_bug.cgi?id=88632 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Update root node of RadioNodeList when the form element is detached from dom tree. |
| |
| Test: fast/forms/radionodelist-whose-form-element-detached-from-domtree.html |
| |
| * dom/Node.cpp: |
| (WebCore::Node::resetCachedRadioNodeListRootNode): |
| New function to update the root node of RadioNodeLists to form element from document. |
| * dom/Node.h: Ditto. |
| * html/HTMLFormElement.cpp: |
| (WebCore::HTMLFormElement::removedFrom): |
| On detach, we update the root node of all RadioNodeLists of this form element. |
| * html/RadioNodeList.cpp: |
| (WebCore::RadioNodeList::setRootElement): |
| Setter for updating root node. |
| * html/RadioNodeList.h: |
| (RadioNodeList): Ditto. |
| |
| 2012-06-08 David Reveman <reveman@chromium.org> |
| |
| [Chromium] Compositor doesn't support translucent root layers. |
| https://bugs.webkit.org/show_bug.cgi?id=87821 |
| |
| Reviewed by James Robinson. |
| |
| Forward the isTransparent WebView setting to WebLayerTreeView, |
| CCLayerTreeHost and CCLayerTreeHostImpl as hasTransparentBackground. |
| Use hasTransparentBackground setting to determine how to clear the |
| root render pass and draw the background. Set opaque flag correctly |
| on the NonCompositedContentHost's graphics layer to make sure |
| sub-pixel rendering is not used with a transparent WebView. |
| |
| Unit tests: CCLayerTreeHostImplTest.hasTransparentBackground |
| LayerRendererChromiumTest2.opaqueRenderPass |
| LayerRendererChromiumTest2.transparentRenderPass |
| |
| * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp: |
| (WebCore::BitmapCanvasLayerTextureUpdater::prepareToUpdate): |
| * platform/graphics/chromium/LayerRendererChromium.cpp: |
| (WebCore::LayerRendererChromium::clearRenderPass): |
| (WebCore::LayerRendererChromium::drawRenderPass): |
| (WebCore::LayerRendererChromium::drawBackgroundFilters): |
| * platform/graphics/chromium/LayerRendererChromium.h: |
| (LayerRendererChromium): |
| * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp: |
| (WebCore::SkPictureCanvasLayerTextureUpdater::prepareToUpdate): |
| * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: |
| (WebCore::CCLayerTreeHost::CCLayerTreeHost): |
| (WebCore::CCLayerTreeHost::finishCommitOnImplThread): |
| * platform/graphics/chromium/cc/CCLayerTreeHost.h: |
| (WebCore::CCLayerTreeHost::setHasTransparentBackground): |
| (CCLayerTreeHost): |
| * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: |
| (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl): |
| (WebCore::CCLayerTreeHostImpl::calculateRenderPasses): |
| * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: |
| (WebCore::CCLayerTreeHostImpl::hasTransparentBackground): |
| (WebCore::CCLayerTreeHostImpl::setHasTransparentBackground): |
| (CCLayerTreeHostImpl): |
| * platform/graphics/chromium/cc/CCRenderPass.cpp: |
| (WebCore::CCRenderPass::CCRenderPass): |
| * platform/graphics/chromium/cc/CCRenderPass.h: |
| (WebCore::CCRenderPass::hasTransparentBackground): |
| (WebCore::CCRenderPass::setHasTransparentBackground): |
| (CCRenderPass): |
| |
| 2012-06-08 Ian Vollick <vollick@chromium.org> |
| |
| [chromium] Single thread proxy's animation timer should short circuit if the layer renderer has not been initialized |
| https://bugs.webkit.org/show_bug.cgi?id=88668 |
| |
| Reviewed by James Robinson. |
| |
| Unit test: CCSingleThreadProxyTestDidAddAnimationBeforeInitializingLayerRenderer.runSingleThreaded |
| |
| * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp: |
| * platform/graphics/chromium/cc/CCSingleThreadProxy.h: |
| |
| 2012-06-08 Shezan Baig <shezbaig.wk@gmail.com> |
| |
| Caret is not rendered in empty inline contenteditable elements |
| https://bugs.webkit.org/show_bug.cgi?id=85793 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Override localCaretRect in RenderInline. The implementation was almost |
| identical to localCaretRect in RenderBlock for empty block elements, so |
| I refactored RenderBlock::localCaretRect and moved the logic to a new |
| method 'localCaretRectForEmptyElement' in RenderBoxModelObject. The |
| implementation of 'localCaretRect' in RenderBlock and RenderInline both |
| use this helper method in RenderBoxModelObject. |
| |
| Tests: editing/selection/caret-in-empty-inline-1.html |
| editing/selection/caret-in-empty-inline-2.html |
| |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::localCaretRect): |
| Modified to use RenderBoxModelObject::localCaretRectForEmptyElement. |
| * rendering/RenderBoxModelObject.cpp: |
| (WebCore::RenderBoxModelObject::localCaretRectForEmptyElement): |
| (WebCore): |
| * rendering/RenderBoxModelObject.h: |
| (RenderBoxModelObject): |
| Add localCaretRectForEmptyElement helper method. |
| * rendering/RenderInline.cpp: |
| (WebCore::RenderInline::localCaretRect): |
| (WebCore): |
| * rendering/RenderInline.h: |
| (RenderInline): |
| Override localCaretRect using localCaretRectForEmptyElement. |
| |
| 2012-06-08 Mike West <mkwst@chromium.org> |
| |
| Treat blob: and filesystem: URLs generated via secure origins as secure. |
| https://bugs.webkit.org/show_bug.cgi?id=84054 |
| |
| Loading a blob: or filesystem: URL into an iframe or image that's |
| contained on an HTTPS page shouldn't generate a mixed content warning. |
| This change adds a SecurityOrigin::isSecure to check both against a |
| URLs protocol, and the protocol of it's so-called "inner URL" if it's |
| the type of URL that has such a thing. These sorts of URLs which are |
| generated from secure sources will themselves be treated as secure. |
| |
| Reviewed by Adam Barth. |
| |
| Tests: http/tests/security/mixedContent/blob-url-in-iframe.html |
| http/tests/security/mixedContent/filesystem-url-in-iframe.html |
| |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::isMixedContent): |
| * page/SecurityOrigin.cpp: |
| (WebCore): |
| (WebCore::SecurityOrigin::isSecure): |
| * page/SecurityOrigin.h: |
| (SecurityOrigin): |
| |
| 2012-06-08 Martin Robinson <mrobinson@igalia.com> |
| |
| [Cairo] [TextureMapperGL] Nvidia card does not update WebGL texture when interacting with canvas |
| https://bugs.webkit.org/show_bug.cgi?id=87797 |
| |
| Reviewed by Philippe Normand. |
| |
| No new tests. WebGL is already covered by WebGL tests and this |
| bug is only present on certain hardware. |
| |
| After resolving multisampling before drawing the texture via the |
| TextureMapper, first rebind the multisampling framebuffer. This ensures |
| that the texture isn't active in two framebuffers at a time. |
| |
| * platform/graphics/cairo/GraphicsContext3DPrivate.cpp: |
| (WebCore::GraphicsContext3DPrivate::paintToTextureMapper): Rebind the multisampling |
| framebuffer. |
| |
| 2012-06-08 Alexey Proskuryakov <ap@apple.com> |
| |
| <rdar://problem/11412294> Add appropriate iOS default font settings |
| |
| Reviewed by Dan Bernstein. |
| |
| * page/mac/SettingsMac.mm: (WebCore::Settings::initializeDefaultFontFamilies): |
| |
| 2012-06-08 Charles Wei <charles.wei@torchmobile.com.cn> |
| |
| IndexedDB: Transactions without any request scheduled should abort itself. |
| https://bugs.webkit.org/show_bug.cgi?id=88052 |
| |
| Reviewed by Kentaro Hara. |
| |
| This is needed for indexedDB to make it work for JSC. We need to clean up all the |
| pending transactions(transactions without any request scheduled) when leaving Javascript context. |
| |
| Manually tested using the existing test LayoutTests/storage/indexeddb/tutorial.html |
| |
| * bindings/js/JSMainThreadExecState.cpp: |
| (WebCore): |
| (WebCore::JSMainThreadExecState::didLeaveScriptContext): |
| * bindings/js/JSMainThreadExecState.h: |
| (WebCore::JSMainThreadExecState::~JSMainThreadExecState): |
| (JSMainThreadExecState): |
| |
| 2012-06-08 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Crash in WebCore::CompositeEditCommand::breakOutOfEmptyListItem |
| https://bugs.webkit.org/show_bug.cgi?id=88361 |
| |
| Reviewed by Levi Weintraub. |
| |
| Use RefPtr instead of raw pointers across DOM mutations. |
| |
| No tests are added for the lack of a reliable reduction. |
| |
| * editing/CompositeEditCommand.cpp: |
| (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): |
| |
| 2012-06-08 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r119514. |
| http://trac.webkit.org/changeset/119514 |
| https://bugs.webkit.org/show_bug.cgi?id=88664 |
| |
| Broke JSFiddle.net (Requested by arv on #webkit). |
| |
| * bindings/v8/V8DOMWindowShell.cpp: |
| (WebCore::V8DOMWindowShell::initContextIfNeeded): |
| * bindings/v8/WorkerContextExecutionProxy.cpp: |
| (WebCore::WorkerContextExecutionProxy::initIsolate): |
| |
| 2012-06-08 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Crash in WebCore::InsertParagraphSeparatorCommand::doApply |
| https://bugs.webkit.org/show_bug.cgi?id=88108 |
| |
| Reviewed by Levi Weintraub. |
| |
| Use NodeVector instead of walking through siblings as we mutate the DOM. |
| |
| No new tests are added since there is no reliable reduction. |
| |
| * editing/BreakBlockquoteCommand.cpp: |
| (WebCore::BreakBlockquoteCommand::doApply): |
| * editing/CompositeEditCommand.cpp: |
| (WebCore::CompositeEditCommand::moveRemainingSiblingsToNewParent): |
| (WebCore): |
| * editing/CompositeEditCommand.h: |
| (CompositeEditCommand): |
| * editing/InsertParagraphSeparatorCommand.cpp: |
| (WebCore::InsertParagraphSeparatorCommand::doApply): |
| |
| 2012-06-08 David Grogan <dgrogan@chromium.org> |
| |
| IndexedDB: rename some instances of open to registerFrontendCallbacks |
| https://bugs.webkit.org/show_bug.cgi?id=88611 |
| |
| We should still make the change in the WebKit API. |
| |
| Reviewed by Tony Chang. |
| |
| No new tests, just a method rename. |
| |
| * Modules/indexeddb/IDBDatabase.cpp: |
| (WebCore::IDBDatabase::registerFrontendCallbacks): |
| * Modules/indexeddb/IDBDatabase.h: |
| (IDBDatabase): |
| * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: |
| (WebCore::IDBDatabaseBackendImpl::registerFrontendCallbacks): |
| * Modules/indexeddb/IDBDatabaseBackendImpl.h: |
| (IDBDatabaseBackendImpl): |
| * Modules/indexeddb/IDBDatabaseBackendInterface.h: |
| (IDBDatabaseBackendInterface): |
| * Modules/indexeddb/IDBRequest.cpp: |
| (WebCore::IDBRequest::onSuccess): |
| |
| 2012-06-08 Dana Jansens <danakj@chromium.org> |
| |
| [chromium] Skip willDraw() and didDraw() on fully occluded layers |
| https://bugs.webkit.org/show_bug.cgi?id=88435 |
| |
| Reviewed by Adrienne Walker. |
| |
| Current willDraw() is called on all layers with non-empty |
| visibleLayerRect and non-empty scissorRect. This excludes |
| layers outside the viewport, but does not exclude occluded |
| layers. We add a check for occlusion to calculateRenderPasses |
| in order to avoid willDraw() when it will be culled anyway. |
| |
| We prevent didDraw() from being called for occluded layers, for |
| which we did not call didDraw() by holding a vector of layers |
| for which we did call willDraw(). This lets us avoid storing a |
| flag on the layers, or computing occlusion again in |
| didDrawAllLayers. |
| |
| Unit test: CCLayerTreeHostImplTest.willDrawNotCalledOnOccludedLayer |
| |
| * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: |
| (WebCore::CCLayerTreeHostImpl::calculateRenderPasses): |
| (WebCore::CCLayerTreeHostImpl::prepareToDraw): |
| (WebCore::CCLayerTreeHostImpl::didDrawAllLayers): |
| * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: |
| (FrameData): |
| (CCLayerTreeHostImpl): |
| |
| 2012-06-08 Antonio Gomes <agomes@rim.com> |
| |
| EventHandler shouldn't schedule the fake mousemove event timer when scrolling on devices that don't have a mouse |
| https://bugs.webkit.org/show_bug.cgi?id=88379 |
| |
| Reviewed by James Robinson. |
| |
| Paraphrasing Andy Estes: |
| "In <http://trac.webkit.org/changeset/119465> we stopped dispatching fake |
| mousemove events when scrolling on devices that don't support mice. This event |
| is dispatched on a timer, so one better would be to not even schedule the |
| timer (rather than scheduling the timer but making it a no-op). |
| |
| No new tests, as no functionality has changed. We basically do not |
| start a timer under a given circumstance instead of fire it, it times out, |
| and we make the callback no-op when under the given circumstance. |
| |
| It is still possible though that we have the following scenario: |
| - Setting::deviceSupportsMouse set as true; |
| - we fire the timer; |
| - before its callback gets executed (timed out) the setting gets toggled. |
| So for sakeness, lets keep the check in both places. |
| |
| * page/EventHandler.cpp: |
| (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon): |
| (WebCore::EventHandler::fakeMouseMoveEventTimerFired): |
| |
| 2012-06-08 James Robinson <jamesr@chromium.org> |
| |
| [chromium] Clean up some unnecessary LayerChromium.h includes |
| https://bugs.webkit.org/show_bug.cgi?id=88599 |
| |
| Reviewed by Adam Barth. |
| |
| Reworks test code slightly to use WebCore interfaces. |
| |
| * testing/Internals.cpp: |
| (WebCore::Internals::setBackgroundBlurOnNode): |
| |
| 2012-06-08 Erik Arvidsson <arv@chromium.org> |
| |
| [V8] Keep TextTrackList alive as long as its owner is alive |
| https://bugs.webkit.org/show_bug.cgi?id=88541 |
| |
| Reviewed by Adam Barth. |
| |
| Add a hidden reference from the owner to the text track list. |
| |
| Covered by existing tests. |
| |
| * Target.pri: Add V8TextTrackListCustom.cpp. |
| * UseV8.cmake: Ditto. |
| * WebCore.gypi: Ditto. |
| * bindings/v8/V8HiddenPropertyName.h: |
| (WebCore): |
| * bindings/v8/custom/V8TextTrackListCustom.cpp: Copied from Source/WebCore/bindings/v8/V8HiddenPropertyName.h. |
| (WebCore): |
| (WebCore::toV8): When the wrapper is created add a reference to the owner of the TextTrackList to the TextTrackList. |
| * html/track/TextTrackList.idl: |
| |
| 2012-06-08 Ian Vollick <vollick@chromium.org> |
| |
| [chromium] Accelerated animations should use WebTransformOperations |
| https://bugs.webkit.org/show_bug.cgi?id=87686 |
| |
| Reviewed by James Robinson. |
| |
| CCTransformKeyframe new owns a WebTransformOperations rather than a |
| TransformOperations. LayerChromium's API has been changed so that |
| LayerChromium::addAnimation should take only a CCActiveAnimation. |
| GraphicsLayerChromium is new responsible for translating to |
| WebTransformOperations and creating CCActiveAnimations. Tests that use |
| the public API (that is, they call addAnimation with KeyframeValueList |
| and Animation arguments) have been moved to GraphicsLayerChromiumTest. |
| |
| Unit tests: |
| GraphicsLayerChromiumTest.createOpacityAnimation |
| GraphicsLayerChromiumTest.createTransformAnimation |
| GraphicsLayerChromiumTest.createTransformAnimationWithBigRotation |
| GraphicsLayerChromiumTest.createTransformAnimationWithSingularMatrix |
| GraphicsLayerChromiumTest.createReversedAnimation |
| GraphicsLayerChromiumTest.createAlternatingAnimation |
| GraphicsLayerChromiumTest.createReversedAlternatingAnimation |
| |
| * WebCore.gypi: |
| * platform/graphics/chromium/AnimationTranslationUtil.cpp: Added. |
| (WebCore): |
| (WebCore::toWebTransformOperations): |
| (WebCore::appendKeyframe): |
| (WebCore::CCKeyframedTransformAnimationCurve): |
| (WebCore::createActiveAnimation): |
| * platform/graphics/chromium/AnimationTranslationUtil.h: Added. |
| (WebCore): |
| * platform/graphics/chromium/GraphicsLayerChromium.cpp: |
| (WebCore::GraphicsLayerChromium::addAnimation): |
| * platform/graphics/chromium/LayerChromium.cpp: |
| (WebCore::LayerChromium::addAnimation): |
| * platform/graphics/chromium/LayerChromium.h: |
| (WebCore): |
| (WebCore::LayerChromium::bounds): |
| (LayerChromium): |
| * platform/graphics/chromium/LinkHighlight.cpp: |
| (WebCore::LinkHighlight::LinkHighlight): |
| * platform/graphics/chromium/cc/CCAnimationCurve.h: |
| (CCTransformAnimationCurve): |
| * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.cpp: |
| (WebCore::CCTransformKeyframe::create): |
| (WebCore::CCTransformKeyframe::CCTransformKeyframe): |
| (WebCore::CCTransformKeyframe::value): |
| (WebCore::CCTransformKeyframe::clone): |
| (WebCore::CCKeyframedTransformAnimationCurve::getValue): |
| * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.h: |
| (CCTransformKeyframe): |
| (CCKeyframedTransformAnimationCurve): |
| * platform/graphics/chromium/cc/CCLayerAnimationController.cpp: |
| (WebCore::CCLayerAnimationController::removeAnimation): |
| (WebCore): |
| (WebCore::CCLayerAnimationController::addAnimation): |
| (WebCore::CCLayerAnimationController::getActiveAnimation): |
| (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread): |
| (WebCore::CCLayerAnimationController::replaceImplThreadAnimations): |
| (WebCore::CCLayerAnimationController::tickAnimations): |
| * platform/graphics/chromium/cc/CCLayerAnimationController.h: |
| (CCLayerAnimationControllerClient): |
| (CCLayerAnimationController): |
| * platform/graphics/chromium/cc/CCLayerImpl.h: |
| (WebCore::CCLayerImpl::bounds): |
| |
| 2012-06-08 No'am Rosenthal <noam.rosenthal@nokia.com> |
| |
| [Texmap] Accelerated versions of drop-shadow and blur filters |
| https://bugs.webkit.org/show_bug.cgi?id=87695 |
| |
| Reviewed by Kenneth Rohde Christiansen. |
| |
| Added shaders for blur and drop-shadow effects. |
| The shaders use sampling of multiple coordinates and averaging them with normal- |
| distribution to create a fast gaussian blur effect. |
| |
| Covered by existing tests in css3/filters. |
| |
| * platform/graphics/texmap/TextureMapperGL.cpp: |
| (WebCore::TextureMapperGL::drawFiltered): |
| Call the prepare function explicitly, with a size argument that's used to calculate |
| some of the uniform values. |
| |
| * platform/graphics/texmap/TextureMapperLayer.cpp: |
| (WebCore::TextureMapperLayer::intermediateSurfaceRect): |
| The outsets of the effect have to be considered when calculating the intermediate rect. |
| Otherwise the resulting image is scaled instead of outsetted. |
| |
| (WebCore::applyFilters): |
| * platform/graphics/texmap/TextureMapperShaderManager.cpp: |
| (WebCore::StandardFilterProgram::StandardFilterProgram): |
| Added the new shaders. |
| |
| (WebCore::StandardFilterProgram::prepare): |
| (WebCore::TextureMapperShaderManager::getShaderForFilter): |
| * platform/graphics/texmap/TextureMapperShaderManager.h: |
| (StandardFilterProgram): |
| |
| 2012-06-08 Dan Bernstein <mitz@apple.com> |
| |
| Tried to fix the build after r119844. |
| |
| * bindings/js/GCController.cpp: |
| (WebCore::GCController::discardAllCompiledCode): |
| |
| 2012-06-08 Mike West <mkwst@chromium.org> |
| |
| Add COMPILE_ASSERT to StyledElement to ensure it doesn't accidentally grow larger. |
| https://bugs.webkit.org/show_bug.cgi?id=88627 |
| |
| Reviewed by Adam Barth. |
| |
| No change in user-facing behavior. |
| |
| * dom/StyledElement.cpp: |
| (WebCore): |
| |
| 2012-06-08 Vsevolod Vlasov <vsevik@chromium.org> |
| |
| Web Inspector: Fix several compiler warnings and errors. |
| https://bugs.webkit.org/show_bug.cgi?id=88660 |
| |
| Reviewed by Pavel Feldman. |
| |
| Fixed several compiler warnings and errors. |
| Removed isEmpty method from Object.prototype and made it static method on Object. |
| |
| * inspector/InjectedScriptExterns.js: |
| * inspector/front-end/FileSystemModel.js: |
| (WebInspector.FileSystemModel.prototype._detachFrame): |
| * inspector/front-end/HeapSnapshot.js: |
| (WebInspector.HeapSnapshot.prototype._buildDominatorTree): |
| * inspector/front-end/utilities.js: |
| (Object.isEmpty): |
| |
| 2012-06-08 Max Feil <mfeil@rim.com> |
| |
| [BlackBerry] Fix assertion failure introduced by bug 87551 |
| https://bugs.webkit.org/show_bug.cgi?id=88659 |
| |
| Reviewed by Antonio Gomes. |
| |
| The determineRenderSlider() convenience function added in bug |
| 87551 made an assumption that wasn't always true. This didn't |
| cause a functional error but it caused an assertion failure, |
| which indicates a problem with the code. PR164142. |
| |
| No new tests because this case is already covered by ASSERT's. |
| |
| * platform/blackberry/RenderThemeBlackBerry.cpp: |
| (WebCore::determineRenderSlider): |
| |
| 2012-06-08 Ion Rosca <rosca@adobe.com> |
| |
| Some overlay scrollbar API calls in ScrollAnimatorMac can lead to an assertion in RenderBox::mapAbsoluteToLocalPoint |
| https://bugs.webkit.org/show_bug.cgi?id=74111 |
| |
| Reviewed by Simon Fraser. |
| |
| Added zero-delay timer for AppKit scroll notification that can be called during layout. |
| Manual test: ManualTests/scrollbar-crash-on-hide-scrolled-area.html |
| This assertion does not fire when running layout tests. It can be easly reproduced using a debug build by loading the manual test page. |
| |
| * platform/mac/ScrollAnimatorMac.h: |
| (ScrollAnimatorMac): |
| * platform/mac/ScrollAnimatorMac.mm: |
| (WebCore::ScrollAnimatorMac::ScrollAnimatorMac): |
| (WebCore::ScrollAnimatorMac::notifyContentAreaScrolled): |
| (WebCore::ScrollAnimatorMac::sendContentAreaScrolledSoon): |
| (WebCore): |
| (WebCore::ScrollAnimatorMac::sendContentAreaScrolledTimerFired): |
| |
| 2012-06-08 Renata Hodovan <reni@webkit.org> |
| |
| Adding few already supported features to the FeatureSet in DOMImplementation |
| https://bugs.webkit.org/show_bug.cgi?id=86482 |
| |
| Text, Filter and View features are already implemented but they |
| are not added to the SVG11 feature set. This is corrected in this patch. |
| |
| Reviewed by Nikolas Zimmermann. |
| |
| No new testcase is needed because we already have one what checks the svg features via |
| DOMImplementation (svg/custom/svg-features.html). |
| |
| * dom/DOMImplementation.cpp: |
| (WebCore::isSVG11Feature): |
| |
| 2012-06-08 Stephen Chenney <schenney@chromium.org> |
| |
| WebCore::ImageBuffer.cpp has broken color table code |
| https://bugs.webkit.org/show_bug.cgi?id=80321 |
| |
| Reviewed by Dirk Schulze. |
| |
| The code in ImageBuffer::transformColorSpace had two problems that are |
| fixed by this patch. |
| |
| First, it was using member variables for data |
| that is static constant. This is incredibly wasteful, as every |
| ImageBuffer that is created (and we make a lot of them) gets its own |
| copy of the LUT and the table is initialized again and again. The |
| patch replaces this with a static local, with lazy evaluation, in |
| the method that uses the tables. |
| |
| Second, the code for filling the table was mapping 255 to 254, thus |
| reducing the intensity and alpha of every image it pushed through a |
| color transform. |
| |
| Test: svg/filters/color-space-conversion.svg |
| |
| * platform/graphics/ImageBuffer.cpp: |
| (WebCore::ImageBuffer::transformColorSpace): |
| * platform/graphics/ImageBuffer.h: |
| (ImageBuffer): |
| |
| 2012-06-08 Alexei Filippov <alexeif@chromium.org> |
| |
| Web Inspector: Better labels positioning on the memory pie chart |
| https://bugs.webkit.org/show_bug.cgi?id=88652 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| * inspector/front-end/NativeMemorySnapshotView.js: |
| (WebInspector.NativeMemoryPieChart.prototype._paint.paintPercentAndLabel): |
| (WebInspector.NativeMemoryPieChart.prototype._paint): |
| |
| 2012-06-08 Bryan McQuade <bmcquade@google.com> |
| |
| Web Inspector: Annotate timeline records with a frame identifier |
| https://bugs.webkit.org/show_bug.cgi?id=86406 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| Tests: Updated existing layout tests. |
| |
| * inspector/InspectorController.cpp: |
| (WebCore::InspectorController::InspectorController): |
| * inspector/InspectorInstrumentation.cpp: |
| (WebCore::frameForScriptExecutionContext): |
| (WebCore): |
| (WebCore::InspectorInstrumentation::didScheduleResourceRequestImpl): |
| (WebCore::InspectorInstrumentation::didInstallTimerImpl): |
| (WebCore::InspectorInstrumentation::didRemoveTimerImpl): |
| (WebCore::InspectorInstrumentation::willCallFunctionImpl): |
| (WebCore::InspectorInstrumentation::willChangeXHRReadyStateImpl): |
| (WebCore::InspectorInstrumentation::willDispatchEventImpl): |
| (WebCore::InspectorInstrumentation::willDispatchEventOnWindowImpl): |
| (WebCore::InspectorInstrumentation::willEvaluateScriptImpl): |
| (WebCore::InspectorInstrumentation::willFireTimerImpl): |
| (WebCore::InspectorInstrumentation::willLayoutImpl): |
| (WebCore::InspectorInstrumentation::willLoadXHRImpl): |
| (WebCore::InspectorInstrumentation::willPaintImpl): |
| (WebCore::InspectorInstrumentation::willRecalculateStyleImpl): |
| (WebCore::InspectorInstrumentation::willSendRequestImpl): |
| (WebCore::InspectorInstrumentation::willReceiveResourceDataImpl): |
| (WebCore::InspectorInstrumentation::willReceiveResourceResponseImpl): |
| (WebCore::InspectorInstrumentation::didFinishLoadingImpl): |
| (WebCore::InspectorInstrumentation::didFailLoadingImpl): |
| (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl): |
| (WebCore::InspectorInstrumentation::loadEventFiredImpl): |
| (WebCore::InspectorInstrumentation::willWriteHTMLImpl): |
| (WebCore::InspectorInstrumentation::didRequestAnimationFrameImpl): |
| (WebCore::InspectorInstrumentation::didCancelAnimationFrameImpl): |
| (WebCore::InspectorInstrumentation::willFireAnimationFrameImpl): |
| * inspector/InspectorInstrumentation.h: |
| (InspectorInstrumentation): |
| (WebCore::InspectorInstrumentation::didScheduleResourceRequest): |
| (WebCore::InspectorInstrumentation::didInstallTimer): |
| (WebCore::InspectorInstrumentation::didRemoveTimer): |
| (WebCore::InspectorInstrumentation::willCallFunction): |
| (WebCore::InspectorInstrumentation::willChangeXHRReadyState): |
| (WebCore::InspectorInstrumentation::willDispatchEvent): |
| (WebCore::InspectorInstrumentation::willEvaluateScript): |
| (WebCore::InspectorInstrumentation::willFireTimer): |
| (WebCore::InspectorInstrumentation::willLayout): |
| (WebCore::InspectorInstrumentation::willLoadXHR): |
| (WebCore::InspectorInstrumentation::willPaint): |
| (WebCore::InspectorInstrumentation::willRecalculateStyle): |
| (WebCore::InspectorInstrumentation::willReceiveResourceData): |
| (WebCore::InspectorInstrumentation::willReceiveResourceResponse): |
| (WebCore::InspectorInstrumentation::willWriteHTML): |
| (WebCore::InspectorInstrumentation::didRequestAnimationFrame): |
| (WebCore::InspectorInstrumentation::didCancelAnimationFrame): |
| (WebCore::InspectorInstrumentation::willFireAnimationFrame): |
| * inspector/InspectorTimelineAgent.cpp: |
| (WebCore::InspectorTimelineAgent::pushGCEventRecords): |
| (WebCore::InspectorTimelineAgent::didBeginFrame): |
| (WebCore::InspectorTimelineAgent::willCallFunction): |
| (WebCore::InspectorTimelineAgent::willDispatchEvent): |
| (WebCore::InspectorTimelineAgent::willLayout): |
| (WebCore::InspectorTimelineAgent::willRecalculateStyle): |
| (WebCore::InspectorTimelineAgent::willPaint): |
| (WebCore::InspectorTimelineAgent::willComposite): |
| (WebCore::InspectorTimelineAgent::willWriteHTML): |
| (WebCore::InspectorTimelineAgent::didInstallTimer): |
| (WebCore::InspectorTimelineAgent::didRemoveTimer): |
| (WebCore::InspectorTimelineAgent::willFireTimer): |
| (WebCore::InspectorTimelineAgent::willChangeXHRReadyState): |
| (WebCore::InspectorTimelineAgent::willLoadXHR): |
| (WebCore::InspectorTimelineAgent::willEvaluateScript): |
| (WebCore::InspectorTimelineAgent::didScheduleResourceRequest): |
| (WebCore::InspectorTimelineAgent::willSendResourceRequest): |
| (WebCore::InspectorTimelineAgent::willReceiveResourceData): |
| (WebCore::InspectorTimelineAgent::willReceiveResourceResponse): |
| (WebCore::InspectorTimelineAgent::didFinishLoadingResource): |
| (WebCore::InspectorTimelineAgent::didTimeStamp): |
| (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent): |
| (WebCore::InspectorTimelineAgent::didMarkLoadEvent): |
| (WebCore::InspectorTimelineAgent::didRequestAnimationFrame): |
| (WebCore::InspectorTimelineAgent::didCancelAnimationFrame): |
| (WebCore::InspectorTimelineAgent::willFireAnimationFrame): |
| (WebCore::InspectorTimelineAgent::addRecordToTimeline): |
| (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline): |
| (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord): |
| (WebCore::InspectorTimelineAgent::InspectorTimelineAgent): |
| (WebCore::InspectorTimelineAgent::appendRecord): |
| (WebCore::InspectorTimelineAgent::pushCurrentRecord): |
| (WebCore::InspectorTimelineAgent::pushCancelableRecord): |
| (WebCore::InspectorTimelineAgent::commitCancelableRecords): |
| * inspector/InspectorTimelineAgent.h: |
| (WebCore): |
| (WebCore::InspectorTimelineAgent::create): |
| (InspectorTimelineAgent): |
| (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry): |
| (TimelineRecordEntry): |
| * inspector/WorkerInspectorController.cpp: |
| (WebCore::WorkerInspectorController::WorkerInspectorController): |
| * inspector/front-end/TimelinePresentationModel.js: |
| (WebInspector.TimelinePresentationModel.isEventDivider): |
| (WebInspector.TimelinePresentationModel.Record): |
| |
| 2012-06-08 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r119821. |
| http://trac.webkit.org/changeset/119821 |
| https://bugs.webkit.org/show_bug.cgi?id=88648 |
| |
| Seems to have regression on Mac (Requested by kinuko on |
| #webkit). |
| |
| * fileapi/File.cpp: |
| (WebCore::File::File): |
| (WebCore::File::lastModifiedDate): |
| (WebCore::File::lastModifiedDateForBinding): |
| (WebCore): |
| (WebCore::File::captureSnapshot): |
| * fileapi/File.h: |
| (File): |
| * fileapi/File.idl: |
| * platform/FileMetadata.h: |
| (WebCore::FileMetadata::FileMetadata): |
| * platform/FileSystem.h: |
| * platform/chromium/support/WebHTTPBody.cpp: |
| (WebKit::WebHTTPBody::elementAt): |
| * platform/network/BlobData.cpp: |
| (WebCore): |
| * platform/network/BlobData.h: |
| (BlobDataItem): |
| (WebCore::BlobDataItem::BlobDataItem): |
| * platform/network/FormData.cpp: |
| (WebCore::FormData::appendFile): |
| * platform/network/cf/FormDataStreamCFNet.cpp: |
| (WebCore::advanceCurrentStream): |
| * platform/network/soup/ResourceHandleSoup.cpp: |
| (WebCore::blobIsOutOfDate): |
| |
| 2012-06-08 Kinuko Yasuda <kinuko@chromium.org> |
| |
| Unreviewed, removing duplicated entries in gyp. |
| |
| * WebCore.gypi: |
| |
| 2012-06-08 Arko Saha <arko@motorola.com> |
| |
| Microdata: An element with an empty itemprop='' should not get listed in the .properties list. |
| https://bugs.webkit.org/show_bug.cgi?id=88235 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| As per the specification change http://html5.org/r/6854, an element should be listed in .properties |
| if the elelement has an attribute itemprop specified and the element has one or more property names. |
| |
| Test: fast/dom/MicroData/element-with-empty-itemprop.html |
| |
| * html/HTMLPropertiesCollection.cpp: |
| (WebCore::HTMLPropertiesCollection::itemAfter): |
| |
| 2012-06-07 Kinuko Yasuda <kinuko@chromium.org> |
| |
| File::lastModifiedDate should use NaN or separate boolean flag for null Date value |
| https://bugs.webkit.org/show_bug.cgi?id=87826 |
| |
| Reviewed by Kent Tamura. |
| |
| Test: http/tests/local/fileapi/file-last-modified-after-delete.html |
| |
| * fileapi/File.cpp: |
| (WebCore::File::File): |
| (WebCore::File::captureSnapshot): |
| (WebCore::File::lastModifiedDate): |
| (WebCore::File::lastModifiedDateForBinding): Removed. |
| * fileapi/File.h: |
| (File): |
| * fileapi/File.idl: |
| * platform/FileMetadata.h: |
| (WebCore::FileMetadata::FileMetadata): |
| * platform/FileSystem.h: |
| * platform/chromium/support/WebHTTPBody.cpp: |
| (WebKit::WebHTTPBody::elementAt): |
| * platform/network/BlobData.h: |
| (WebCore::BlobDataItem::doNotCheckFileChange): Removed. |
| * platform/network/BlobData.cpp: |
| * platform/network/cf/FormDataStreamCFNet.cpp: |
| (WebCore::advanceCurrentStream): |
| * platform/network/soup/ResourceHandleSoup.cpp: |
| (WebCore::blobIsOutOfDate): |
| |
| 2012-06-08 Kent Tamura <tkent@chromium.org> |
| |
| Move form-related functions of Document to FormController |
| https://bugs.webkit.org/show_bug.cgi?id=88497 |
| |
| Reviewed by Hajime Morita. |
| |
| A lot of files depend on Document.h. We had to build many files when we |
| touched form-related features in Document.h or |
| CheckedRadioButtons.h. This patch reduces such pain. |
| |
| No new tests. Just a refactoring. |
| |
| * CMakeLists.txt: Add FormController.cpp and/or FormController.h. |
| * GNUmakefile.list.am: ditto. |
| * Target.pri: ditto. |
| * WebCore.gypi: ditto. |
| * WebCore.vcproj/WebCore.vcproj: ditto. |
| * WebCore.xcodeproj/project.pbxproj: ditto. |
| |
| * dom/Document.cpp: Removed form-releated features except the followings. |
| (WebCore::Document::formController): Accessor for a FormController. |
| (WebCore::Document::formElementsState): |
| Just returns FormController::formElementsState(). |
| We don't create new FormController. |
| (WebCore::Document::setStateForNewFormElements): |
| Just returns FormController::setStateForNewFormElements(). |
| We don't create new FormController if the specified vector is empty. |
| * dom/Document.h: |
| Moved form-related functions to FormController. |
| |
| * html/FormController.cpp: Added. Moved from Document.cpp. |
| * html/FormController.h: Added. Moved from Document.h |
| |
| * html/FormAssociatedElement.cpp: Use Document::formController(). |
| (WebCore::FormAssociatedElement::didMoveToNewDocument): |
| (WebCore::FormAssociatedElement::insertedInto): |
| (WebCore::FormAssociatedElement::removedFrom): |
| (WebCore::FormAssociatedElement::formAttributeChanged): |
| * html/HTMLFormControlElementWithState.cpp: Use Document::formController(). |
| (WebCore::HTMLFormControlElementWithState::HTMLFormControlElementWithState): |
| (WebCore::HTMLFormControlElementWithState::~HTMLFormControlElementWithState): |
| (WebCore::HTMLFormControlElementWithState::didMoveToNewDocument): |
| (WebCore::HTMLFormControlElementWithState::finishParsingChildren): |
| * html/HTMLFormElement.cpp: Use Document::formController(). |
| (WebCore::HTMLFormElement::didNotifyDescendantInsertions): |
| (WebCore::HTMLFormElement::removedFrom): |
| * html/HTMLInputElement.cpp: Use Document::formController(). |
| (WebCore::HTMLInputElement::~HTMLInputElement): |
| (WebCore::HTMLInputElement::didMoveToNewDocument): |
| (WebCore::HTMLInputElement::checkedRadioButtons): |
| * html/HTMLInputElement.h: |
| Declare CheckedRadioButtons. It was provided by Document.h. |
| * html/parser/HTMLConstructionSite.h: |
| Declare HTMLFormElement. It was provided by Document.h |
| |
| 2012-06-08 Taiju Tsuiki <tzik@chromium.org> |
| |
| Add FileSystem item to storage tree. |
| https://bugs.webkit.org/show_bug.cgi?id=72691 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| * WebCore.gypi: |
| * WebCore.vcproj/WebCore.vcproj: |
| * inspector/compile-front-end.py: |
| * inspector/front-end/FileSystemModel.js: Added. |
| * inspector/front-end/Images/fileSystem.png: Added. |
| * inspector/front-end/ResourcesPanel.js: |
| (WebInspector.FileSystemListTreeElement): |
| (WebInspector.FileSystemListTreeElement.prototype.onexpand): |
| (WebInspector.FileSystemListTreeElement.prototype.onattach): |
| (WebInspector.FileSystemListTreeElement.prototype._handleContextMenuEvent): |
| (WebInspector.FileSystemListTreeElement.prototype._fileSystemAdded): |
| (WebInspector.FileSystemListTreeElement.prototype._fileSystemRemoved): |
| (WebInspector.FileSystemListTreeElement.prototype._fileSystemTreeElementByName): |
| (WebInspector.FileSystemListTreeElement.prototype._refreshFileSystem): |
| (WebInspector.FileSystemTreeElement): |
| (WebInspector.FileSystemTreeElement.prototype.get fileSystemName): |
| (WebInspector.FileSystemTreeElement.prototype.get itemURL): |
| * inspector/front-end/Settings.js: |
| (WebInspector.ExperimentsSettings): |
| * inspector/front-end/WebKit.qrc: |
| * inspector/front-end/inspector.html: |
| * inspector/front-end/resourcesPanel.css: |
| (.file-system-storage-tree-item .icon): |
| * inspector/front-end/utilities.js: |
| |
| 2012-06-08 Kentaro Hara <haraken@chromium.org> |
| |
| REGRESSION r119802: Remove unnecessary ASSERT(!m_deletionHasBegun) from Document.h |
| https://bugs.webkit.org/show_bug.cgi?id=88528 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| m_deletionHasBegun should become true just before 'delete this'. |
| |
| No tests. No change in behavior. |
| |
| * dom/Document.h: |
| (WebCore::Document::guardRef): |
| (WebCore::Document::guardDeref): |
| |
| 2012-06-08 Adam Barth <abarth@webkit.org> |
| |
| HTTP 204 No Content responses shouldn't trigger MIME type warnings in the web inspector |
| https://bugs.webkit.org/show_bug.cgi?id=88603 |
| |
| Reviewed by Pavel Feldman. |
| |
| A 204 response doesn't have an entity body, so its MIME type is kind of |
| meaningless. We shouldn't spam the console with a warning about MIME |
| types. |
| |
| * inspector/front-end/NetworkManager.js: |
| (WebInspector.NetworkDispatcher.prototype._mimeTypeIsConsistentWithType): |
| |
| 2012-06-08 Yoshifumi Inoue <yosin@chromium.org> |
| |
| [Forms] Drop StepRange::NumberWithDecimalPlacesOrMissing |
| https://bugs.webkit.org/show_bug.cgi?id=88621 |
| |
| Reviewed by Kent Tamura. |
| |
| This patch changes NumberWithDecimalPlacesOrMissing to NumberWithDecimalPlaces. |
| We use NaN as indication of having value or not. |
| |
| No new tests, because this patch doesn't change behavior. |
| |
| * html/DateInputType.cpp: |
| (WebCore::DateInputType::createStepRange): Replace NumberWithDecimalPlacesOrMissing to NumberWithDecimalPlaces. |
| * html/DateTimeInputType.cpp: |
| (WebCore::DateTimeInputType::createStepRange): ditto. |
| * html/DateTimeLocalInputType.cpp: |
| (WebCore::DateTimeLocalInputType::createStepRange): ditto. |
| * html/MonthInputType.cpp: |
| (WebCore::MonthInputType::createStepRange): ditto. |
| * html/NumberInputType.cpp: |
| (WebCore::NumberInputType::createStepRange): ditto. |
| * html/RangeInputType.cpp: |
| (WebCore::RangeInputType::createStepRange): ditto. |
| * html/StepRange.cpp: |
| (WebCore::StepRange::StepRange): Checks value is finite or not. |
| (WebCore::StepRange::parseStep): Replace NumberWithDecimalPlacesOrMissing to NumberWithDecimalPlaces. |
| * html/StepRange.h: |
| (StepRange): Removed NumberWithDecimalPlacesOrMissing. |
| * html/TimeInputType.cpp: |
| (WebCore::TimeInputType::createStepRange): NumberWithDecimalPlacesOrMissing to NumberWithDecimalPlaces. |
| * html/WeekInputType.cpp: |
| (WebCore::WeekInputType::createStepRange): ditto. |
| |
| 2012-06-08 Kentaro Hara <haraken@chromium.org> |
| |
| Unreviewed. Fixed a comment, pointed out by ap@. |
| |
| * platform/TreeShared.h: |
| (WebCore): |
| |
| 2012-06-08 Noel Gordon <noel.gordon@gmail.com> |
| |
| [chromium] WEBP image blue and red color channels reversed on Android |
| https://bugs.webkit.org/show_bug.cgi?id=88613 |
| |
| Reviewed by Kent Tamura. |
| |
| No new tests. Covered by test fast/images/webp-image-decoding.html though I'm |
| not sure where/how the Androids run their layout tests. |
| |
| * platform/image-decoders/webp/WEBPImageDecoder.cpp: |
| (outputMode): Detect little-endian Skia with a blue pixel shift (aka Android) |
| which seems to be the way for them per bug 75861. |
| |
| 2012-06-08 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Remove the assertion that has been moved to TreeScope after r119802. |
| |
| * dom/Document.cpp: |
| (WebCore::Document::removedLastRef): |
| |
| 2012-06-07 Kentaro Hara <haraken@chromium.org> |
| |
| Reduce Node object size from 72 byte to 64 byte |
| https://bugs.webkit.org/show_bug.cgi?id=88528 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| This patch removes all virtual methods from TreeShared.h, |
| by which we can remove a virtual method table pointer (8 byte |
| in a 64bit architechture) from each Node object. Consequently, |
| this patch reduces the Node object size from 72 byte to 64 byte. |
| |
| e.g. The HTML spec (http://www.whatwg.org/specs/web-apps/current-work/) |
| contains 325640 Node objects. Thus this patch saves 325640 * 8 byte = 2.6 MB. |
| |
| e.g. sizeof(Element) is reduced from 104 byte to 96 byte. |
| |
| - In multiple inheritance, a virtual method table pointer is allocated |
| for each base class that has virtual methods. For example, for |
| 'class A : public B, C {};' where B and C have virtual methods, |
| two virtual method table pointers are allocated for each A object. |
| In this patch, A = Node, B = EventTarget, and C = TreeShared. |
| By removing the virtual methods from TreeShared, we can save the virtual |
| method table pointer for TreeShared. 8 byte saving. |
| |
| - Node and SVGElementInstance are the only classes that inherit TreeShared. |
| |
| - This patch removes virtual TreeShared::removeLastRef() and implements |
| virtual Node::removeLastRef() and virtual SVGElementInstance::removeLastRef(). |
| Node::removeLastRef() calls 'delete this' for 'this' of type Node*, |
| and SVGElementInstance::removeLastRef() calls 'delete this' for 'this' of type |
| SVGElementInstance*. |
| |
| - This patch removes the virtual destructor of TreeShared. This removal is safe |
| because (1) no one calls 'delete this' for 'this' of type TreeShared*, |
| and (2) both Node and SVGElementInstance have virtual destructor. |
| |
| No change in behavior. Confirm no regression in existing tests. |
| |
| * dom/ContainerNode.cpp: |
| (WebCore::callRemovedLastRef): |
| (WebCore): |
| * dom/Node.h: |
| (WebCore::Node::removedLastRef): |
| * platform/TreeShared.h: |
| (WebCore): |
| (TreeShared): |
| (WebCore::TreeShared::deref): |
| * svg/SVGElementInstance.cpp: |
| (WebCore::callRemovedLastRef): |
| (WebCore): |
| * svg/SVGElementInstance.h: |
| (WebCore::SVGElementInstance::removedLastRef): |
| |
| * WebCore.order: Added a symbol for callRemovedLastRef(). |
| * WebCore.exp.in: Ditto. |
| |
| 2012-06-07 Takashi Sakamoto <tasak@google.com> |
| |
| ShadowRoot needs resetStyleInheritance |
| https://bugs.webkit.org/show_bug.cgi?id=84048 |
| |
| Added resetStyleInheritance API to ShadowRoot. The spec URL is |
| http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#shadow-root-attributes |
| To implement the API, modified StyleResolver to use empty style |
| instead of parent style if resetStyleInheritance is true, |
| and a node and its parent node are placed in different shadow trees. |
| |
| Reviewed by Hajime Morita. |
| |
| Test: fast/dom/shadow/shadow-root-resetStyleInheritance.html |
| fast/dom/shadow/shadow-root-resetStyleInheritance-expected.html |
| |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::initForStyleResolve): |
| Set m_parentStyle to NULL when resetStyleInheritance. |
| (WebCore::StyleResolver::documentSettings): |
| Added a new method to obtain current document's settings. |
| (WebCore::StyleResolver::initializeFontStyle): |
| Initialize m_style by using document settings. Its code was move |
| from the code initializing font style in applyProperty. |
| (WebCore::StyleResolver::styleForElement): |
| Initialize font style if m_parentStyle is NULL. The old code just |
| used style() and don't touch font style. The new code uses the above |
| initializeFontStyle. |
| (WebCore::StyleResolver::applyProperty): |
| Moved a code for initializing font style as "initial" to |
| a new method: initializeFontStyle and modified to use the method. |
| Modified to use documentSettings(). |
| (WebCore::StyleResolver::checkForGenericFamilyChange): |
| Modified to use documentSettings(). |
| * css/StyleResolver.h: |
| (WebCore::StyleResolver::documentSettings): |
| (WebCore::StyleResolver::initializeFontStyle): |
| Added two new methods to class StyleResolver. |
| * dom/NodeRenderingContext.cpp: |
| (WebCore::NodeRenderingContext::NodeRenderingContext): |
| Modified to calculate m_resetStyleInheritance in its constructor. |
| * dom/NodeRenderingContext.h: |
| (WebCore::NodeRenderingContext::resetStyleInheritance): |
| Implemented a new method, just returning m_resetStyleInheritance. |
| * dom/ShadowRoot.cpp: |
| (WebCore::ShadowRoot::setResetStyleInheritance): |
| Modified to force to recalculate children's styles if |
| resetStyleInheritance is changed. |
| * dom/ShadowRoot.h: |
| (ShadowRoot): |
| Added resetStyleInheritance getter and setter. |
| * dom/ShadowRoot.idl: |
| Added an attribute, resetStyleInheritance. |
| * dom/TreeScope.cpp: |
| (WebCore::TreeScope::resetStyleInheritance): |
| * dom/TreeScope.h: |
| (TreeScope): |
| Added resetStyleInheritance's default getter. |
| The getter will be overrided by class ShadowRoot's getter. |
| |
| 2012-06-07 Victor Carbune <victor@rosedu.org> |
| |
| addTextTrack should set track mode to HIDDEN |
| https://bugs.webkit.org/show_bug.cgi?id=88317 |
| |
| Reviewed by Eric Carlson. |
| |
| Updated existing test. |
| |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::addTextTrack): Set the default parameters |
| for the newly created TextTrack. |
| * html/track/TextTrack.cpp: |
| (WebCore::TextTrack::TextTrack): |
| |
| 2012-06-07 Li Yin <li.yin@intel.com> |
| |
| FileAPI: Blob should support ArrayBufferView instead of ArrayBuffer for Constructor Parameters |
| https://bugs.webkit.org/show_bug.cgi?id=88294 |
| |
| Reviewed by Jian Li. |
| |
| From Spec: http://dev.w3.org/2006/webapi/FileAPI/#dfn-Blob |
| Currently we add the support for ArrayBufferView, while still keeping ArrayBuffer for |
| backward compatibility. We will remove it in the near future. |
| |
| Test: fast/files/blob-constructor.html |
| |
| * bindings/js/JSBlobCustom.cpp: |
| (WebCore::JSBlobConstructor::constructJSBlob): |
| * bindings/v8/custom/V8BlobCustom.cpp: |
| (WebCore::V8Blob::constructorCallback): |
| * fileapi/WebKitBlobBuilder.cpp: |
| (WebCore::WebKitBlobBuilder::append): |
| (WebCore): |
| * fileapi/WebKitBlobBuilder.h: |
| (WebCore): |
| (WebKitBlobBuilder): |
| * fileapi/WebKitBlobBuilder.idl: Add support for ArrayBufferView in append method |
| |
| 2012-06-07 MORITA Hajime <morrita@google.com> |
| |
| A style in an older shadow subtree causes assert when composing with <shadow> |
| https://bugs.webkit.org/show_bug.cgi?id=88299 |
| |
| Reviewed by Dimitri Glazkov. |
| |
| InsertionPoint::attach() assumes its distributed content not being attach()-ed. |
| But this assumption can break. This change added a guard for that. |
| This can happen for shadow boundaries in general. But ShadowRoot already handles that case. |
| |
| Test: fast/dom/shadow/insertion-point-shadow-crash.html |
| |
| * html/shadow/InsertionPoint.cpp: |
| (WebCore::InsertionPoint::attach): |
| |
| 2012-06-07 Max Feil <mfeil@rim.com> |
| |
| [BlackBerry] Show correct fullscreen button image (media controls) |
| https://bugs.webkit.org/show_bug.cgi?id=88563 |
| |
| Reviewed by Antonio Gomes. |
| |
| PR159306: Show "exit" fullscreen button image instead of "enter" |
| fullscreen button image when in fullscreen mode (HTML5 media |
| controls). |
| |
| I am not providing a test due to the simplicity of this patch |
| and the relative difficulty and maintainability issues associated |
| with testing how an image is rendered. |
| |
| * platform/blackberry/RenderThemeBlackBerry.cpp: |
| (WebCore::RenderThemeBlackBerry::paintMediaFullscreenButton): |
| |
| 2012-06-07 Noel Gordon <noel.gordon@gmail.com> |
| |
| [chromium] Use WEBPImportPictureRGBX|BGRX to import picture data |
| https://bugs.webkit.org/show_bug.cgi?id=88218 |
| |
| Reviewed by Kent Tamura. |
| |
| Stop using the RGBA and RGBA variants of the picture import routines (since |
| these will import alpha channel data in a future libwebp). Use the RGBX and |
| BGRX variants to import picture data for encoding to make it clear that the |
| alpha channel is (and must be) ignored. |
| |
| Test: fast/canvas/canvas-toDataURL-webp.html |
| |
| * platform/image-encoders/skia/WEBPImageEncoder.cpp: |
| (WebCore::rgbPictureImport): |
| (WebCore::importPictureBGRX): Use WEBPImportPictureBGRX for picture imports |
| that must ignore the alpha channel. Change the template parameter to be the |
| premultiplied alpha state of the input image data. |
| (WebCore::importPictureRGBX): Use WEBPImportPictureRGBX, ditto. |
| (WebCore::encodePixels): Invert the sense of the template parameter to make |
| it now indicate the premultiplied alpha state of the input image data. |
| |
| 2012-06-07 Takashi Sakamoto <tasak@google.com> |
| |
| Improve the performance of pushScope in StyleResolver |
| https://bugs.webkit.org/show_bug.cgi?id=88222 |
| |
| Reviewed by Hajime Morita. |
| |
| As setupScopeStack always sets m_scopeStackParent to be NULL, |
| m_scopeStack is never reused. m_scopeStackParent should be the last |
| element of m_scopeStack. |
| |
| No new tests, because fast/css/style-scoped/ uses pushScope, |
| popScope and setupScopeStack and checks whether there exists |
| any crash bug or not. And this patch doesn't change any behavior |
| of scoped author syltes. |
| |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::setupScopeStack): |
| Modified to set m_scopeSackParent to be the last element of |
| m_scopeStack. |
| (WebCore::StyleResolver::popScope): |
| Modified to remove the last element if m_scopeStack is not empty and |
| the last element of m_scopeStack has the same scope as the scoping |
| element given by the argument. |
| |
| 2012-06-07 Mark Pilgrim <pilgrim@chromium.org> |
| |
| [Chromium] Move didStartWorkerRunLoop to Platform.h |
| https://bugs.webkit.org/show_bug.cgi?id=88562 |
| |
| Reviewed by Adam Barth. |
| |
| Part of a refactoring series. See tracking bug 82948. |
| |
| * WebCore.gyp/WebCore.gyp: |
| * bindings/v8/WorkerScriptController.cpp: |
| (WebCore::WorkerScriptController::~WorkerScriptController): |
| * platform/chromium/PlatformSupport.h: |
| (WebCore): |
| * workers/WorkerThread.cpp: |
| (WebCore::WorkerThread::workerThread): |
| |
| 2012-06-07 Mike West <mkwst@chromium.org> |
| |
| Dropping m_startingLineNumber property from StyledElement. |
| https://bugs.webkit.org/show_bug.cgi?id=86848 |
| |
| Reviewed by Adam Barth. |
| |
| We can have the same effect by moving the line-number calculation |
| directly into StyledElement::styleAttributeChanged. This means that |
| subsequent changes to the style attribute (via script) won't generate |
| error messages with line numbers, but that's an acceptable tradeoff. |
| |
| Behavior is covered by existing CSP tests. |
| |
| * dom/StyledElement.cpp: |
| (WebCore::StyledElement::StyledElement): |
| (WebCore::StyledElement::styleAttributeChanged): |
| * dom/StyledElement.h: |
| (WebCore::StyledElement::destroyInlineStyle): |
| |
| 2012-06-07 Peter Beverloo <peter@chromium.org> |
| |
| Initialize m_document in AXObjectCache's constructor for !HAVE(ACCESSIBILITY) builds |
| https://bugs.webkit.org/show_bug.cgi?id=88527 |
| |
| Reviewed by Adam Barth. |
| |
| Initialize the m_document member with the passed on document in the stubbed |
| AXObjectCache constructor. No behavioral changes. |
| |
| * accessibility/AXObjectCache.h: |
| (WebCore::AXObjectCache::AXObjectCache): |
| |
| 2012-06-05 James Robinson <jamesr@chromium.org> |
| |
| [chromium] Move deferral-related logic out of Canvas2DLayerChromium |
| https://bugs.webkit.org/show_bug.cgi?id=86050 |
| |
| Reviewed by Stephen White. |
| |
| This removes Canvas2DLayerChromium and puts the deferral and double-buffering related logic in a new class, |
| Canvas2DLayerBridge, that uses TextureLayerChromium for compositing. The bridge is responsible for managing the |
| front texture when double buffering is active, inserting the correct makeContextCurrent() and flush() calls on |
| the GraphicsContext3D and SkCanvas when appropriate, and owning the lifetime of the layer. |
| |
| * WebCore.gypi: |
| * platform/graphics/chromium/Canvas2DLayerBridge.cpp: Added. |
| (WebCore): |
| (AcceleratedDeviceContext): |
| (WebCore::AcceleratedDeviceContext::AcceleratedDeviceContext): |
| (WebCore::AcceleratedDeviceContext::prepareForDraw): |
| (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge): |
| (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge): |
| (WebCore::Canvas2DLayerBridge::skCanvas): |
| (WebCore::Canvas2DLayerBridge::prepareTexture): |
| (WebCore::Canvas2DLayerBridge::context): |
| (WebCore::Canvas2DLayerBridge::layer): |
| (WebCore::Canvas2DLayerBridge::contextAcquired): |
| * platform/graphics/chromium/Canvas2DLayerBridge.h: Added. |
| (WebCore): |
| (Canvas2DLayerBridge): |
| (WebCore::Canvas2DLayerBridge::create): |
| * platform/graphics/chromium/Canvas2DLayerChromium.cpp: Removed. |
| * platform/graphics/chromium/Canvas2DLayerChromium.h: Removed. |
| * platform/graphics/chromium/GraphicsLayerChromium.cpp: |
| * platform/graphics/chromium/ImageBufferDataSkia.h: |
| (WebCore): |
| (ImageBufferData): |
| * platform/graphics/chromium/TextureLayerChromium.cpp: |
| (WebCore::TextureLayerChromium::willModifyTexture): |
| willModifyTexture() is called whenever the texture currently owned by the TextureLayerChromium will be |
| modified by a system out of the compositor's control. It makes sure that the compositor does not attempt to |
| draw with the potentially-modified texture until the next commit. For canvas, this is used when threading is |
| enabled and a non-deferrable drawing command is invoked from JS. |
| (WebCore): |
| * platform/graphics/chromium/TextureLayerChromium.h: |
| (TextureLayerChromium): |
| * platform/graphics/chromium/cc/CCTextureUpdater.cpp: |
| (WebCore::CCTextureUpdater::hasMoreUpdates): |
| (WebCore::CCTextureUpdater::update): |
| (WebCore::CCTextureUpdater::clear): |
| * platform/graphics/chromium/cc/CCTextureUpdater.h: |
| (CCTextureUpdater): |
| * platform/graphics/skia/ImageBufferSkia.cpp: |
| (WebCore::createAcceleratedCanvas): |
| (WebCore::ImageBuffer::~ImageBuffer): |
| (WebCore::ImageBuffer::context): |
| (WebCore::ImageBuffer::platformLayer): |
| |
| 2012-06-07 Patrick Gansterer <paroga@webkit.org> |
| |
| Remove HAVE(PATH_BASED_BORDER_RADIUS_DRAWING) |
| https://bugs.webkit.org/show_bug.cgi?id=87931 |
| |
| Reviewed by Beth Dakin. |
| |
| r62035 added HAVE(PATH_BASED_BORDER_RADIUS_DRAWING) until all ports implement |
| GraphicsContext::clipConvexPolygon(). All major ports define HAVE_PATH_BASED_BORDER_RADIUS_DRAWING in the |
| meantime and the alternative path has unnecessary maintainace costs and even don't compile at the moment. |
| |
| * rendering/RenderBoxModelObject.cpp: |
| (WebCore::RenderBoxModelObject::drawBoxSideFromPath): |
| * rendering/RenderObject.cpp: |
| (WebCore::RenderObject::paintFocusRing): |
| * rendering/RenderObject.h: |
| (RenderObject): |
| |
| 2012-06-06 Vincent Scheib <scheib@chromium.org> |
| |
| Add new Pointer Lock spec events webkitpointerlockchange and webkitpointerlockerror |
| https://bugs.webkit.org/show_bug.cgi?id=88377 |
| |
| Reviewed by Dimitri Glazkov. |
| |
| Part of a series of refactoring changes to update pointer lock API to |
| the fullscreen locking style. https://bugs.webkit.org/show_bug.cgi?id=84402 |
| |
| New change and error events added. Follow up patches will remove |
| the previous callbacks and pointerlocklost event. Tests updated |
| to include the new events, and a new test added specifically for |
| the new events, pointerlockchange-pointerlockerror-events.html. |
| |
| Test: pointer-lock/pointerlockchange-pointerlockerror-events.html |
| |
| * dom/Document.h: |
| (Document): |
| * dom/Document.idl: |
| * dom/EventNames.h: |
| (WebCore): |
| * page/PointerLockController.cpp: |
| (WebCore::PointerLockController::requestPointerLock): |
| (WebCore::PointerLockController::didAcquirePointerLock): |
| (WebCore::PointerLockController::didNotAcquirePointerLock): |
| (WebCore::PointerLockController::didLosePointerLock): |
| (WebCore::PointerLockController::enqueueEvent): |
| (WebCore): |
| * page/PointerLockController.h: |
| (PointerLockController): |
| |
| 2012-06-07 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r119744. |
| http://trac.webkit.org/changeset/119744 |
| https://bugs.webkit.org/show_bug.cgi?id=88584 |
| |
| Fails assertions in debug builds (Requested by jamesr_ on |
| #webkit). |
| |
| * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp: |
| (WebCore::CCIOSurfaceLayerImpl::~CCIOSurfaceLayerImpl): |
| (WebCore::CCIOSurfaceLayerImpl::willDraw): |
| |
| 2012-06-07 Julien Chaffraix <jchaffraix@webkit.org> |
| |
| Cache RenderLayer::isRootLayer for better performance |
| https://bugs.webkit.org/show_bug.cgi?id=88570 |
| |
| Reviewed by Ojan Vafai. |
| |
| Caching covered by existing tests. |
| |
| RenderLayer::isRootLayer()'s answer will be the same during the RenderLayer's |
| lifetime as a RenderLayer is tied to a RenderBoxModelObject. This change caches |
| isRootLayer value in the constructor. |
| |
| On http://dglazkov.github.com/performance-tests/biggrid.html with a 100,000 rows |
| by 100 columns table, it saves about 10% on the paint time during scrolling on |
| my machine (going from 50ms to 45ms). It would expect all code paths to see some |
| improvement as checking renderer()->isRenderView() was pretty common. |
| |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::RenderLayer): |
| Added code to cache the result of renderer()->isRenderView() here. |
| |
| (WebCore::RenderLayer::stackingContext): |
| (WebCore::isPositionedContainer): |
| (WebCore::isFixedPositionedContainer): |
| (WebCore::RenderLayer::enclosingTransformedAncestor): |
| (WebCore::RenderLayer::clippingRootForPainting): |
| (WebCore::shouldSuppressPaintingLayer): |
| (WebCore::RenderLayer::hitTest): |
| (WebCore::RenderLayer::intersectsDamageRect): |
| * rendering/RenderLayer.h: |
| (WebCore::RenderLayer::isStackingContext): |
| Updated all the call sites to use isRootLayer() instead of renderer()->isRenderView() |
| as it is faster. |
| |
| (WebCore::RenderLayer::isRootLayer): |
| Added our caching here. Also made m_canSkipRepaintRectsUpdateOnScroll to follow |
| m_isRootLayer example. |
| |
| 2012-06-07 Takashi Sakamoto <tasak@google.com> |
| |
| Incorrect border rendering when border radius is above 2px. |
| https://bugs.webkit.org/show_bug.cgi?id=88046 |
| |
| Fixing findInnerVertex's logic to decide which is the better line |
| to find an inner vertex, x=center point's x of a rendering box or |
| y=center point's y of a rendering box. |
| |
| Reviewed by Simon Fraser. |
| |
| Test: fast/borders/border-radius-valid-border-clipping.html |
| |
| * rendering/RenderBoxModelObject.cpp: |
| (WebCore::findInnerVertex): |
| |
| 2012-06-07 Edaena Salinas Jasso <edaena@apple.com> |
| |
| Should fire error event for empty 404 script |
| https://bugs.webkit.org/show_bug.cgi?id=50589 |
| |
| Reviewed by Brady Eidson. |
| |
| Tests: |
| http/tests/loading/fire-error-event-empty-404-script.html |
| http/tests/loading/fire-error-script-no-content-type.html |
| |
| * loader/SubresourceLoader.cpp: |
| (WebCore::SubresourceLoader::didReceiveResponse): We should check for http status |
| codes here to stop depending on the response being non-empty. |
| (WebCore::SubresourceLoader::didReceiveData): Moved the http status check but |
| avoid messing with multipart responses. |
| (WebCore::SubresourceLoader::checkForHTTPStatusCodeError): Renamed from |
| errorLoadingResource for clarity. |
| |
| * loader/SubresourceLoader.h: |
| * loader/cf/SubresourceLoaderCF.cpp: |
| (WebCore::SubresourceLoader::didReceiveDataArray): |
| Updated for errorLoadingResource renaming. |
| |
| 2012-06-07 Konrad Piascik <kpiascik@rim.com> |
| |
| [BlackBerry] Update PlayBook's User Agent String for Web Inspector |
| https://bugs.webkit.org/show_bug.cgi?id=88543 |
| |
| Reviewed by Antonio Gomes. |
| |
| We expect users to upgrade their devices so developers only need the latest UA String. |
| |
| No tests needed. |
| |
| * inspector/front-end/SettingsScreen.js: |
| (WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.get const): |
| |
| 2012-06-07 Shawn Singh <shawnsingh@chromium.org> |
| |
| [chromium] Remove obsolete FIXME comment about a layer sorting bug. |
| https://bugs.webkit.org/show_bug.cgi?id=88546 |
| |
| Reviewed by James Robinson. |
| |
| No tests needed, only comment changed. The comment referred to a |
| potential bug that actually will not occur. The W3C spec on CSS 3d |
| transforms indicates that layers that do not share the same "3d |
| rendering context" do not sort together, and our existing code |
| sorts this way already. |
| |
| * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp: |
| (WebCore::subtreeShouldRenderToSeparateSurface): |
| |
| 2012-06-07 Adam Barth <abarth@webkit.org> |
| |
| Settings::defaultDeviceScaleFactor is redundant with Page::deviceScaleFactor |
| https://bugs.webkit.org/show_bug.cgi?id=88375 |
| |
| Reviewed by James Robinson. |
| |
| This patch removes Settings::defaultDeviceScaleFactor because it is |
| redundant with Page::deviceScaleFactor now that we no longer support |
| target-densitydpi. Page::deviceScaleFactor is the canonical place to |
| store the device scale factor. |
| |
| * WebCore.exp.in: |
| * page/Settings.cpp: |
| (WebCore::Settings::Settings): |
| (WebCore): |
| * page/Settings.h: |
| (Settings): |
| * testing/InternalSettings.cpp: |
| (WebCore::InternalSettings::setDeviceScaleFactor): |
| |
| 2012-06-07 Alec Flett <alecflett@chromium.org> |
| |
| IndexedDB: Error codes, phase one |
| https://bugs.webkit.org/show_bug.cgi?id=88459 |
| |
| Reviewed by Tony Chang. |
| |
| This phase gets rid of the now-deprecated NOT_ALLOWED_ERR and |
| NON_TRANSIENT_ERR from earlier versions of the spec, and |
| normalizes the place where TypeError should be thrown so that it's |
| easier to update when the bindings change. |
| |
| No new tests: existing tests cover these changes and have been updated. |
| |
| * Modules/indexeddb/IDBCursor.cpp: |
| (WebCore::IDBCursor::advance): |
| (WebCore::IDBCursor::continueFunction): |
| (WebCore::IDBCursor::stringToDirection): |
| (WebCore::IDBCursor::directionToString): |
| * Modules/indexeddb/IDBCursorBackendImpl.cpp: |
| (WebCore::IDBCursorBackendImpl::update): |
| (WebCore::IDBCursorBackendImpl::deleteFunction): |
| * Modules/indexeddb/IDBDatabase.cpp: |
| (WebCore::IDBDatabase::createObjectStore): |
| (WebCore::IDBDatabase::deleteObjectStore): |
| (WebCore::IDBDatabase::setVersion): |
| (WebCore::IDBDatabase::transaction): |
| * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: |
| (WebCore::IDBDatabaseBackendImpl::createObjectStore): |
| (WebCore::IDBDatabaseBackendImpl::deleteObjectStore): |
| (WebCore::IDBDatabaseBackendImpl::setVersion): |
| * Modules/indexeddb/IDBDatabaseException.cpp: |
| (WebCore): |
| * Modules/indexeddb/IDBDatabaseException.h: |
| * Modules/indexeddb/IDBDatabaseException.idl: |
| * Modules/indexeddb/IDBFactory.cpp: |
| (WebCore::IDBFactory::open): |
| (WebCore::IDBFactory::deleteDatabase): |
| * Modules/indexeddb/IDBObjectStore.cpp: |
| (WebCore::IDBObjectStore::index): |
| * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: |
| (WebCore::IDBObjectStoreBackendImpl::createIndex): |
| (WebCore::IDBObjectStoreBackendImpl::deleteIndex): |
| * Modules/indexeddb/IDBRequest.cpp: |
| (WebCore::IDBRequest::result): |
| (WebCore::IDBRequest::errorCode): |
| (WebCore::IDBRequest::webkitErrorMessage): |
| * Modules/indexeddb/IDBTransaction.cpp: |
| (WebCore::IDBTransaction::objectStore): |
| (WebCore::IDBTransaction::stringToMode): |
| (WebCore::IDBTransaction::modeToString): |
| * Modules/indexeddb/IDBTransactionBackendImpl.cpp: |
| (WebCore::IDBTransactionBackendImpl::objectStore): |
| |
| 2012-06-07 Dana Jansens <danakj@chromium.org> |
| |
| [chromium] Free texture from CCIOSurfaceLayerImpl when it is destroyed |
| https://bugs.webkit.org/show_bug.cgi?id=88371 |
| |
| Reviewed by James Robinson. |
| |
| Unit test: CCLayerTreeHostImplTest.layersFreeTextures |
| |
| * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp: |
| (WebCore::CCIOSurfaceLayerImpl::~CCIOSurfaceLayerImpl): |
| (WebCore::CCIOSurfaceLayerImpl::willDraw): |
| |
| 2012-06-07 Peter Beverloo <peter@chromium.org> |
| |
| Buildfix for ENABLE_OVERFLOW_SCROLLING=0 (though defined) |
| https://bugs.webkit.org/show_bug.cgi?id=88564 |
| |
| Reviewed by Adam Barth. |
| |
| Where ENABLE(X) mandates that X both has to be defined and evaluates to |
| true as a lone preprocessor statement, there were two places in the CSS |
| property and value input files where only was checked whether is has |
| been defined. This also goes against other #ifdefs in those files. |
| |
| * css/CSSPropertyNames.in: |
| * css/CSSValueKeywords.in: |
| |
| 2012-06-07 Ami Fischman <fischman@chromium.org> |
| |
| Plumb CORS attribute information from HTMLMediaElement to media players so it can be used |
| https://bugs.webkit.org/show_bug.cgi?id=88349 |
| |
| Reviewed by Adam Barth. |
| |
| Test: http/tests/security/video-cross-origin-readback.html |
| |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::mediaPlayerCORSMode): |
| (WebCore): |
| * html/HTMLMediaElement.h: |
| (HTMLMediaElement): |
| * html/canvas/CanvasRenderingContext.cpp: |
| (WebCore::CanvasRenderingContext::wouldTaintOrigin): |
| * platform/graphics/MediaPlayer.cpp: |
| (WebCore::MediaPlayer::didPassCORSAccessCheck): |
| (WebCore): |
| * platform/graphics/MediaPlayer.h: |
| (WebCore::MediaPlayerClient::mediaPlayerCORSMode): |
| (MediaPlayer): |
| * platform/graphics/MediaPlayerPrivate.h: |
| (WebCore::MediaPlayerPrivateInterface::didPassCORSAccessCheck): |
| (MediaPlayerPrivateInterface): |
| |
| 2012-06-07 Mark Hahnenberg <mhahnenberg@apple.com> |
| |
| Worker tear-down can re-enter JSC during GC finalization |
| https://bugs.webkit.org/show_bug.cgi?id=88449 |
| |
| Reviewed by Geoffrey Garen. |
| |
| No new tests. |
| |
| This is the first of two patches to fix this issue with Workers. |
| |
| * workers/AbstractWorker.cpp: |
| (WebCore::AbstractWorker::~AbstractWorker): We don't need to call onDestroyWorker() here, it |
| will be called elsewhere in contextDestroyed(). |
| |
| 2012-06-07 Jer Noble <jer.noble@apple.com> |
| |
| sometimes all slaved videos don't start playing |
| https://bugs.webkit.org/show_bug.cgi?id=88553 |
| |
| Reviewed by Darin Adler. |
| |
| Test: media/media-controller-time-clamp.html |
| |
| Some PlatformClock classes will occasionally return times < 0 and will |
| always return times slightly > duration() when playback has ended. Clamp |
| the value of currentTime() to the specified [0..duration] range. |
| |
| * html/MediaController.cpp: |
| (MediaController::currentTime): |
| |
| 2012-06-07 Simon Fraser <simon.fraser@apple.com> |
| |
| Optimize FrameView::scrollXForFixedPosition() / scrollYForFixedPosition() |
| https://bugs.webkit.org/show_bug.cgi?id=88475 |
| |
| Reviewed by Sam Weinig. |
| |
| FrameView's scrollXForFixedPosition() and scrollYForFixedPosition() |
| methods were often called together, but they do duplicate work, |
| including calling into platform widget code which might be slow. |
| |
| Fix by converting scrollOffsetForFixedPosition() from being a wrapper |
| that just calls scrollXForFixedPosition() and scrollYForFixedPosition() |
| to the method that does all the work, calling just once into platform |
| widget code. |
| |
| Changed callers to use scrollOffsetForFixedPosition() rather than make |
| two separate method calls. |
| |
| Added ScrollView::layoutSize() and visibleSize() methods for |
| convenience. |
| |
| Removed FrameView::scrollXForFixedPosition and FrameView::scrollYForFixedPosition |
| to avoid inefficient callers in future. |
| |
| No new tests; refactoring only. |
| |
| * page/FrameView.cpp: |
| (WebCore::fixedPositionScrollOffset): |
| (WebCore::FrameView::scrollOffsetForFixedPosition): |
| * page/FrameView.h: Removed scrollXForFixedPosition and scrollYForFixedPosition. |
| * platform/ScrollView.cpp: |
| (WebCore::ScrollView::layoutSize): |
| * platform/ScrollView.h: |
| (WebCore::ScrollView::visibleSize): |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::backgroundClipRect): |
| * rendering/RenderLayer.h: |
| (WebCore::ClipRect::move): |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::RenderLayerCompositor::requiresCompositingForPosition): |
| * rendering/RenderView.cpp: |
| (WebCore::RenderView::computeRectForRepaint): |
| |
| 2012-06-07 Raymes Khoury <raymes@chromium.org> |
| |
| Incorrect rect-based hit-test result for culled-inline elements |
| https://bugs.webkit.org/show_bug.cgi?id=85849 |
| |
| Reviewed by Levi Weintraub. |
| |
| Modified code which blindly adds culled inlines to rect-based hit-test |
| results so that it only does so if the child node does not fully cover |
| the hit-test region. |
| |
| Test: fast/dom/nodesFromRect-culled-inline.html |
| |
| * rendering/HitTestResult.cpp: |
| (WebCore::HitTestResult::addNodeToRectBasedTestResult): |
| |
| 2012-06-07 Daniel Erat <derat@chromium.org> |
| |
| Make Skia backend honor requests for subpixel-positioned text. |
| https://bugs.webkit.org/show_bug.cgi?id=88263 |
| |
| Reviewed by Tony Chang. |
| |
| Add subpixel positioning field to FontRenderStyle and rename |
| subpixel rendering field. |
| |
| Pass setting to SkPaint in FontPlatformDataHarfBuzz and remove |
| round() call when computing glyph widths in SimpleFontDataSkia. |
| |
| Test: platform/chromium-linux/fast/text/chromium-linux-text-subpixel-positioning.html |
| |
| * platform/graphics/blackberry/skia/PlatformSupport.cpp: |
| (WebCore::setFontRenderStyleDefaults): |
| (WebCore::PlatformSupport::getRenderStyleForStrike): |
| * platform/graphics/chromium/FontRenderStyle.h: |
| (WebCore::FontRenderStyle::FontRenderStyle): |
| (WebCore::FontRenderStyle::operator==): |
| (FontRenderStyle): |
| * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp: |
| (WebCore): |
| (WebCore::FontPlatformData::setSubpixelRendering): |
| (WebCore::FontPlatformData::setSubpixelPositioning): |
| (WebCore::FontPlatformData::setupPaint): |
| (WebCore::FontPlatformData::querySystemForRenderStyle): |
| * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h: |
| (FontPlatformData): |
| * platform/graphics/skia/SimpleFontDataSkia.cpp: |
| (WebCore::SimpleFontData::platformWidthForGlyph): |
| |
| 2012-06-06 Dana Jansens <danakj@chromium.org> |
| |
| [chromium] In each composited frame, didDraw() should only be called on layers for which willDraw() was called |
| https://bugs.webkit.org/show_bug.cgi?id=88469 |
| |
| Reviewed by James Robinson. |
| |
| Unit test: CCLayerTreeHostImplTest.didDrawNotCalledOnScissoredLayer |
| |
| * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: |
| (WebCore::shouldDrawLayer): |
| (WebCore): |
| (WebCore::CCLayerTreeHostImpl::calculateRenderPasses): |
| (WebCore::CCLayerTreeHostImpl::didDrawAllLayers): |
| |
| 2012-06-07 Alexei Filippov <alexeif@chromium.org> |
| |
| Web Inspector: sorting of object fields is broken in heap profiler |
| https://bugs.webkit.org/show_bug.cgi?id=88532 |
| |
| A recent change to heap profiler has replaced getters with functions. |
| Function calls were missing in couple places after that change. |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| Tests: inspector/profiler/heap-snapshot-summary-sorting-fields.html |
| inspector/profiler/heap-snapshot-summary-sorting-instances.html |
| |
| * inspector/front-end/HeapSnapshot.js: |
| (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareNodeField): |
| |
| 2012-06-07 Alexander Pavlov <apavlov@chromium.org> |
| |
| Web Inspector: Consider Ctrl+Shift+key as valid zoom change combinations |
| https://bugs.webkit.org/show_bug.cgi?id=88520 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| * inspector/front-end/inspector.js: |
| (WebInspector.documentKeyDown): |
| |
| 2012-06-07 Arvid Nilsson <anilsson@rim.com> |
| |
| [BlackBerry] Allow WebPageCompositor to blend a transparent web page |
| https://bugs.webkit.org/show_bug.cgi?id=88233 |
| |
| Reviewed by Rob Buis. |
| |
| RIM PR #159998 |
| |
| Add a parameter to LayerRenderer::compositeBuffer() indicating whether |
| the buffer contents are opaque, and set the GL blend mode accordingly. |
| |
| This is not currently testable using BlackBerry testing infrastructure. |
| |
| Reviewed internally by Jakob Petsovits. |
| |
| * platform/graphics/blackberry/LayerRenderer.cpp: |
| (WebCore::LayerRenderer::compositeBuffer): |
| * platform/graphics/blackberry/LayerRenderer.h: |
| (LayerRenderer): |
| |
| 2012-06-07 Alexei Filippov <alexeif@chromium.org> |
| |
| Web Inspector: reuse edge_count field of heap snapshot to store retained size |
| https://bugs.webkit.org/show_bug.cgi?id=88416 |
| |
| The edge_count field is unused after node first edge indexes have been built. |
| Store node retained size in there instead of allocating an extra array for it. |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| * inspector/front-end/HeapSnapshot.js: |
| (WebInspector.HeapSnapshotNode.prototype.retainedSize): |
| (WebInspector.HeapSnapshot.prototype._calculateRetainedSizes): |
| |
| 2012-06-07 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r119694. |
| http://trac.webkit.org/changeset/119694 |
| https://bugs.webkit.org/show_bug.cgi?id=88529 |
| |
| it broke PrerenderBrowserTest.PrerenderHTML5VideoNetwork |
| (Requested by loislo on #webkit). |
| |
| * html/HTMLMediaElement.cpp: |
| * html/HTMLMediaElement.h: |
| (HTMLMediaElement): |
| * html/canvas/CanvasRenderingContext.cpp: |
| (WebCore::CanvasRenderingContext::wouldTaintOrigin): |
| * platform/graphics/MediaPlayer.cpp: |
| * platform/graphics/MediaPlayer.h: |
| (MediaPlayer): |
| * platform/graphics/MediaPlayerPrivate.h: |
| |
| 2012-06-07 Shinya Kawanaka <shinyak@chromium.org> |
| |
| Delete a contenteditable element having a Shadow DOM causes a crash. |
| https://bugs.webkit.org/show_bug.cgi?id=86345 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| In VisibleSelection::validate(), m_start.downstream() or m_end.upstream() might cross |
| editing boundaries. So we adjust selection after calling them again. |
| |
| Test: editing/shadow/select-contenteditable-shadowhost.html |
| |
| * editing/VisibleSelection.cpp: |
| (WebCore::VisibleSelection::validate): |
| |
| 2012-06-07 Vivek Galatage <vivekgalatage@gmail.com> |
| |
| No new line at the end for SVGCSSPropertyNames.in causes compilation warning |
| https://bugs.webkit.org/show_bug.cgi?id=88503 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Added new line at the end of the file. |
| |
| No new tests required. |
| |
| * css/SVGCSSPropertyNames.in: |
| |
| 2012-06-07 Csaba Osztrogonác <ossy@webkit.org> |
| |
| [Qt][Win] Use OS(WINDOWS) instead of Q_WS_WIN in WebCore/platform/graphics/GraphicsContext.h |
| https://bugs.webkit.org/show_bug.cgi?id=88305 |
| |
| Reviewed by Simon Hausmann. |
| |
| * platform/graphics/GraphicsContext.h: Buildfix. |
| (GraphicsContext): |
| |
| 2012-06-07 Shinya Kawanaka <shinyak@chromium.org> |
| |
| Incorrect data retrieved in calls to get selection data in client->textWillBeReplaced from CharacterData::setDataAndUpdate |
| https://bugs.webkit.org/show_bug.cgi?id=66120 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Since FrameSelection::textWillBeReplaced was called before replacing text, updated Selection became |
| temporarily invalid. The invalid selection was set to updateSelection(), so client will have |
| invalid selection. |
| |
| This patch makes calling updateSelection() after updating selection. |
| |
| No new tests, it's too hard to create a correct test cases in DRT. |
| |
| * dom/CharacterData.cpp: |
| (WebCore::CharacterData::setDataAndUpdate): |
| * editing/FrameSelection.cpp: |
| (WebCore::updatePositionAfterAdoptingTextReplacement): |
| (WebCore::FrameSelection::textWasReplaced): |
| * editing/FrameSelection.h: |
| (FrameSelection): |
| |
| 2012-06-07 Li Yin <li.yin@intel.com> |
| |
| FileAPI: If type consists of non-ASCII characters in Blob constructor, it should throw a SyntaxError. |
| https://bugs.webkit.org/show_bug.cgi?id=88411 |
| |
| Reviewed by Kentaro Hara. |
| |
| From spec: http://dev.w3.org/2006/webapi/FileAPI/#constructorBlob |
| If type consists of any non-ASCII characters, throw a SyntaxError and |
| return from this algorithm. |
| This patch checks the String is ASCii or not, if not, throw SyntaxError. |
| |
| Test: fast/files/blob-constructor.html |
| |
| * bindings/js/JSBlobCustom.cpp: |
| (WebCore::JSBlobConstructor::constructJSBlob): |
| * bindings/v8/custom/V8BlobCustom.cpp: |
| (WebCore::V8Blob::constructorCallback): |
| |
| 2012-06-07 Arpita Bahuguna <arpitabahuguna@gmail.com> |
| |
| InsertUnorderedList and InsertOrderedList (execCommand) do not remove bullets |
| https://bugs.webkit.org/show_bug.cgi?id=84597 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Comparison between start and end VisiblePositions will fail when a position inside |
| a paragraph is compared with one at the start of the paragraph. |
| |
| This fix thus converts the end VisiblePosition (which could be inside the paragraph) |
| to the start of the paragraph thereby enabling a proper comparison of start and end |
| positions. |
| |
| Test: editing/execCommand/remove-list-from-multi-list-items.html |
| |
| * editing/InsertListCommand.cpp: |
| (WebCore::InsertListCommand::selectionHasListOfType): |
| |
| 2012-06-07 Li Yin <li.yin@intel.com> |
| |
| [FileAPI] FileReader should throw an InvalidStateError exception when readyState is LOADING |
| https://bugs.webkit.org/show_bug.cgi?id=88212 |
| |
| Reviewed by Jian Li. |
| |
| From Spec: http://www.w3.org/TR/FileAPI/#readAsBinaryString |
| FileReader should throw an InvalidStateError exception instead of NOT_ALLOWED_ERR |
| when the readyState is LOADING. |
| Also delete OperationNotAllowedException related code, because it is not longer needed. |
| |
| Tests: fast/files/read-file-async.html |
| fast/files/workers/worker-read-file-async.html |
| |
| * CMakeLists.txt: |
| * DerivedSources.cpp: |
| * DerivedSources.make: |
| * DerivedSources.pri: |
| * GNUmakefile.list.am: |
| * Target.pri: |
| * WebCore.gypi: |
| * WebCore.vcproj/WebCore.vcproj: |
| * WebCore.xcodeproj/project.pbxproj: |
| * dom/DOMExceptions.in: |
| * fileapi/FileReader.cpp: |
| (WebCore::FileReader::readInternal): Changed it to throw INVALID_STATE_ERR. |
| * fileapi/FileReader.idl: Changed it to raise DOMException for all read methods. |
| * fileapi/OperationNotAllowedException.cpp: Removed. |
| * fileapi/OperationNotAllowedException.h: Removed. |
| * fileapi/OperationNotAllowedException.idl: Removed. |
| |
| 2012-06-07 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r119689. |
| http://trac.webkit.org/changeset/119689 |
| https://bugs.webkit.org/show_bug.cgi?id=88516 |
| |
| it broke didDrawNotCalledOnScissoredLayer webkit_unit_test |
| (Requested by loislo on #webkit). |
| |
| * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: |
| (WebCore::CCLayerTreeHostImpl::calculateRenderPasses): |
| (WebCore::CCLayerTreeHostImpl::didDrawAllLayers): |
| |
| 2012-06-07 Ami Fischman <fischman@chromium.org> |
| |
| Plumb CORS attribute information from HTMLMediaElement to media players so it can be used |
| https://bugs.webkit.org/show_bug.cgi?id=88349 |
| |
| Reviewed by Adam Barth. |
| |
| Test: http/tests/security/video-cross-origin-readback.html |
| |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::mediaPlayerCORSMode): |
| (WebCore): |
| * html/HTMLMediaElement.h: |
| (HTMLMediaElement): |
| * platform/graphics/MediaPlayer.h: |
| (WebCore::MediaPlayerClient::mediaPlayerCORSMode): |
| |
| 2012-06-07 Hironori Bono <hbono@chromium.org> |
| |
| Use light gray for grammar markers on Windows and Linux |
| https://bugs.webkit.org/show_bug.cgi?id=88398 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| This change changes the color of grammar markers from dark gray to light gray |
| and rebaselines a couple of pixel tests affected by this change. |
| |
| No new tests because it changes the marker color of an existing test 'grammar-markers.html'. |
| |
| * platform/graphics/skia/GraphicsContextSkia.cpp: Change dark gray to light gray. |
| |
| 2012-06-07 Yoshifumi Inoue <yosin@chromium.org> |
| |
| [Platform] Introduce conversion from/to Deciaml to/from double |
| https://bugs.webkit.org/show_bug.cgi?id=88480 |
| |
| Reviewed by Kent Tamura. |
| |
| This patch added functions for Decimal/Double conversion and isInfinity |
| for reducing patch size of introducing Decimal arithmetic, bug 88383. |
| |
| Tests: WebKit/chromium/tests/DecimalTest.cpp |
| |
| * platform/Decimal.cpp: |
| (WebCore::Decimal::fromDouble): Added. |
| (WebCore::Decimal::toDouble): Added. |
| * platform/Decimal.h: |
| (WebCore::Decimal::EncodedData::isInfinity): Added for isinf() |
| (WebCore::Decimal::isInfinity): Added. |
| |
| 2012-06-06 Xianzhu Wang <wangxianzhu@chromium.org> |
| |
| Element.getBoundingClientRect() and Element.getClientRects() return incorrect values in frames in a scaled page |
| https://bugs.webkit.org/show_bug.cgi?id=88430 |
| |
| Element.getBoudingClientRect() and Element.getClientRects() should not scale back the rects |
| if the element is in a frame because page scale only apply to elements in the main frame. |
| |
| Reviewed by James Robinson. |
| |
| Tests: fast/dom/Element/scale-page-bounding-client-rect-in-frame.html |
| fast/dom/Element/scale-page-client-rects-in-frame.html |
| |
| * dom/Document.cpp: |
| (WebCore): |
| (WebCore::Document::adjustFloatQuadsForScrollAndAbsoluteZoomAndFrameScale): Extracted from Element.cpp and Range.cpp and fixed issue of pageScale in frames. |
| (WebCore::Document::adjustFloatRectForScrollAndAbsoluteZoomAndFrameScale): Extracted from Element.cpp and fixed issue of pageScale in frames. |
| * dom/Document.h: |
| (WebCore): |
| (Document): |
| * dom/Element.cpp: |
| (WebCore::Element::getClientRects): |
| (WebCore::Element::getBoundingClientRect): |
| * dom/Range.cpp: |
| (WebCore): |
| (WebCore::adjustFloatQuadsForScrollAndAbsoluteZoomAndPageScale): Moved into Document and fixed issue of pageScale in frames. |
| (WebCore::Range::getBorderAndTextQuads): |
| * rendering/RenderObject.h: Removed adjustFloatQuadForPageScale and adjustFloatRectForPageScale because they seem unrelated to RenderObject. |
| (WebCore): |
| |
| 2012-06-06 Dana Jansens <danakj@chromium.org> |
| |
| [chromium] In each composited frame, didDraw() should only be called on layers for which willDraw() was called |
| https://bugs.webkit.org/show_bug.cgi?id=88469 |
| |
| Reviewed by James Robinson. |
| |
| Unit test: CCLayerTreeHostImplTest.didDrawNotCalledOnScissoredLayer |
| |
| * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: |
| (WebCore::shouldDrawLayer): |
| (WebCore): |
| (WebCore::CCLayerTreeHostImpl::calculateRenderPasses): |
| (WebCore::CCLayerTreeHostImpl::didDrawAllLayers): |
| |
| 2012-06-06 Andy Estes <aestes@apple.com> |
| |
| Wrap uppercaseWord, lowercaseWord, and capitalizeWord with USE(APPKIT) |
| https://bugs.webkit.org/show_bug.cgi?id=88504 |
| |
| Reviewed by Dan Bernstein. |
| |
| uppercaseWord, lowercaseWord, and capitalizeWord are methods declared |
| by NSResponder that subclasses are expected to implement. WebKit should |
| only support these implementations on platforms that use AppKit. |
| |
| * WebCore.exp.in: |
| * editing/Editor.cpp: |
| * editing/Editor.h: |
| * loader/EmptyClients.h: |
| * page/ContextMenuController.cpp: |
| * page/EditorClient.h: |
| |
| 2012-06-06 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r119683. |
| http://trac.webkit.org/changeset/119683 |
| https://bugs.webkit.org/show_bug.cgi?id=88505 |
| |
| it broke webkit-unit-test |
| WebLayerTreeViewThreadedTest.InstrumentationCallbacks on mac |
| (Requested by loislo on #webkit). |
| |
| * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: |
| (WebCore::CCLayerTreeHost::initializeLayerRenderer): |
| (WebCore::CCLayerTreeHost::setVisible): |
| |
| 2012-06-06 Robert Kroeger <rjkroege@chromium.org> |
| |
| [Chromium] Re-enable handling of smooth scrolling on Chromium Linux/Windows |
| https://bugs.webkit.org/show_bug.cgi?id=87535 by adding support for |
| m_hasPreciseScrollingDelta on all Chromium platforms and adjusting ScrollAnimator |
| and ScrollAnimatorNone accordingly to let m_hasPreciseScrollingDelta == true |
| force exact (non-animated) scrolling. |
| |
| Reviewed by James Robinson. |
| |
| Updated WebKit unit tests to validate change. |
| |
| * platform/PlatformWheelEvent.h: |
| (WebCore::PlatformWheelEvent::PlatformWheelEvent): Adjusted #ifdefs to |
| make m_hasPreciseScrollingDelta available on all Chromium platforms. |
| (PlatformWheelEvent): |
| * platform/ScrollAnimator.cpp: |
| (WebCore::ScrollAnimator::handleWheelEvent): Default scroll type is set based on |
| m_hasPreciseScrollingDelta value. |
| * platform/ScrollAnimatorNone.cpp: |
| (WebCore::ScrollAnimatorNone::scroll): Scroll precisely when necessary. |
| * platform/ScrollTypes.h: Added additional pixel scrolling subtype. |
| * platform/ScrollableArea.cpp: |
| (WebCore::ScrollableArea::scroll): Updated for additional pixel scroll subtype. |
| |
| 2012-06-06 Michal Mocny <mmocny@google.com> |
| |
| [chromium] Stop dropping texture limits when the layer tree host becomes invisible, and initialize with 0 allocation. |
| https://bugs.webkit.org/show_bug.cgi?id=87747 |
| |
| Reviewed by Adrienne Walker. |
| |
| GpuMemoryManager manages texture memory allocation limits. It will send a 0 allocation when a renderer becomes |
| invisible, and an appropriate allocation after a renderer is initialized. These numbers will change |
| depending on the state of memory across devices and other renderers, so we would like to remove all explicit |
| management by the renderers themselves. |
| |
| * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: |
| (WebCore::CCLayerTreeHost::initializeLayerRenderer): |
| (WebCore::CCLayerTreeHost::setVisible): |
| |
| 2012-06-06 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r119680. |
| http://trac.webkit.org/changeset/119680 |
| https://bugs.webkit.org/show_bug.cgi?id=88498 |
| |
| It broke mac build (Requested by kinuko on #webkit). |
| |
| * fileapi/File.cpp: |
| (WebCore::File::File): |
| (WebCore::File::lastModifiedDate): |
| (WebCore::File::lastModifiedDateForBinding): |
| (WebCore): |
| (WebCore::File::captureSnapshot): |
| * fileapi/File.h: |
| (File): |
| * fileapi/File.idl: |
| * platform/FileMetadata.h: |
| (WebCore::FileMetadata::FileMetadata): |
| * platform/FileSystem.h: |
| * platform/chromium/support/WebHTTPBody.cpp: |
| (WebKit::WebHTTPBody::elementAt): |
| * platform/network/BlobData.cpp: |
| (WebCore): |
| |
| 2012-06-06 Kinuko Yasuda <kinuko@chromium.org> |
| |
| File::lastModifiedDate should use NaN or separate boolean flag for null Date value |
| https://bugs.webkit.org/show_bug.cgi?id=87826 |
| |
| Reviewed by Kent Tamura. |
| |
| Test: http/tests/local/fileapi/file-last-modified-after-delete.html |
| |
| * fileapi/File.cpp: |
| (WebCore::File::File): |
| (WebCore::File::captureSnapshot): |
| (WebCore::File::lastModifiedDate): |
| (WebCore::File::lastModifiedDateForBinding): Removed. |
| * fileapi/File.h: |
| (File): |
| * fileapi/File.idl: |
| * platform/FileMetadata.h: |
| (WebCore::FileMetadata::FileMetadata): |
| * platform/FileSystem.h: |
| * platform/chromium/support/WebHTTPBody.cpp: |
| (WebKit::WebHTTPBody::elementAt): |
| * platform/network/BlobData.cpp: |
| (WebCore): |
| |
| 2012-06-06 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r119668. |
| http://trac.webkit.org/changeset/119668 |
| https://bugs.webkit.org/show_bug.cgi?id=88493 |
| |
| Hitting assertions in debug builds (Requested by rniwa on |
| #webkit). |
| |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::localCaretRect): |
| * rendering/RenderBoxModelObject.cpp: |
| * rendering/RenderBoxModelObject.h: |
| (RenderBoxModelObject): |
| * rendering/RenderInline.cpp: |
| * rendering/RenderInline.h: |
| (RenderInline): |
| |
| 2012-06-06 Julien Chaffraix <jchaffraix@webkit.org> |
| |
| Cache isSelfPaintingLayer() for better performance |
| https://bugs.webkit.org/show_bug.cgi?id=88464 |
| |
| Reviewed by Simon Fraser. |
| |
| Covered by existing tests (repaint tests among them). |
| |
| isSelfPaintingLayer() has shown up several times on some scrolling benchmarks due |
| to the function being called several time per paint phase. This change caches the |
| boolean at style change time. |
| |
| On http://dglazkov.github.com/performance-tests/biggrid.html, this nearly speed-up |
| painting by 2 (lowering the time taken to paint the newly exposed area when scrolling |
| on a 10,000 * 100 table from 95ms to 50ms). |
| |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::RenderLayer): |
| Initialized m_isSelfPaintingLayer here. |
| |
| (WebCore::RenderLayer::paintLayer): |
| Changed the order of the checks to get the more likely check first. |
| |
| (WebCore::RenderLayer::shouldBeSelfPaintingLayer): |
| Renamed from isSelfPaintingLayer to make m_isNormalFlowOnly. |
| |
| (WebCore::RenderLayer::styleChanged): |
| Added code to update our cached m_isSelfPaintingLayer. |
| |
| * rendering/RenderLayer.h: |
| (WebCore::RenderLayer::isSelfPaintingLayer): |
| Changed to return m_isSelfPaintingLayer. |
| |
| 2012-06-06 Yoshifumi Inoue <yosin@chromium.org> |
| |
| REGRESSION(r109729) [Form] Rendering of select/optgroup/option combination is too slow. |
| https://bugs.webkit.org/show_bug.cgi?id=88059 |
| |
| Reviewed by Kent Tamura. |
| |
| This patch changes not to share RenderStyle object for option and |
| optgroup element regardless attributes. |
| |
| When we tried to shared RenderStyle object, rendering performance was |
| good but we had issue in selected option and text transform, see |
| https://bugs.webkit.org/show_bug.cgi?id=88405 for details. |
| |
| No new tests. This patch doesn't change behavior but rendering performance. |
| |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::canShareStyleWithElement): Changed to always |
| return false for option and optgroup. |
| |
| 2012-06-06 Alec Flett <alecflett@chromium.org> |
| |
| IndexedDB: Optimize single-key get() |
| https://bugs.webkit.org/show_bug.cgi?id=85288 |
| |
| Reviewed by Tony Chang. |
| |
| No new tests, this is just an optimization. |
| |
| After a recent refactoring, we started creating |
| an internal cursor with every call to get(). The |
| most common use of get() is with a single key, |
| so provide a fast-path to avoid creating the cursor. |
| |
| * Modules/indexeddb/IDBIndexBackendImpl.cpp: |
| (WebCore::IDBIndexBackendImpl::getByRangeInternal): |
| * Modules/indexeddb/IDBKeyRange.h: |
| (WebCore::IDBKeyRange::isOnlyKey): |
| (IDBKeyRange): |
| * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: |
| (WebCore::IDBObjectStoreBackendImpl::getByRangeInternal): |
| |
| 2012-06-06 Shezan Baig <shezbaig.wk@gmail.com> |
| |
| Caret is not rendered in empty inline contenteditable elements |
| https://bugs.webkit.org/show_bug.cgi?id=85793 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Override localCaretRect in RenderInline. The implementation was almost |
| identical to localCaretRect in RenderBlock for empty block elements, so |
| I refactored RenderBlock::localCaretRect and moved the logic to a new |
| method 'localCaretRectForEmptyElement' in RenderBoxModelObject. The |
| implementation of 'localCaretRect' in RenderBlock and RenderInline both |
| use this helper method in RenderBoxModelObject. |
| |
| Tests: editing/selection/caret-in-empty-inline-1.html |
| editing/selection/caret-in-empty-inline-2.html |
| |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::localCaretRect): |
| Modified to use RenderBoxModelObject::localCaretRectForEmptyElement. |
| * rendering/RenderBoxModelObject.cpp: |
| (WebCore::RenderBoxModelObject::localCaretRectForEmptyElement): |
| (WebCore): |
| * rendering/RenderBoxModelObject.h: |
| (RenderBoxModelObject): |
| Add localCaretRectForEmptyElement helper method. |
| * rendering/RenderInline.cpp: |
| (WebCore::RenderInline::localCaretRect): |
| (WebCore): |
| * rendering/RenderInline.h: |
| (RenderInline): |
| Override localCaretRect using localCaretRectForEmptyElement. |
| |
| 2012-06-06 Alexis Menard <alexis.menard@openbossa.org> |
| |
| Fix border-image-slice failures on http://css3test.com. |
| https://bugs.webkit.org/show_bug.cgi?id=88328 |
| |
| Reviewed by Tony Chang. |
| |
| The old parsing code was assuming that the fill keyword comes after the |
| numbers or the percentage values. http://www.w3.org/TR/css3-background/#the-border-image-slice |
| defines the property like this : [<number> | <percentage>]{1,4} && fill? where the fill |
| keyword is not mandatory. But according to http://www.w3.org/TR/CSS2/about.html "&&" |
| separates two or more components, all of which must occur, in any order. So the previous |
| code was wrong the fill can come first following by the percentages or the numbers. http://css3test.com |
| was covering this particular case. I took the opportunity to extend our coverage |
| by adding tests on many different values the boder-image-slice property could take. I |
| also did a small cleanup by removing unused functions in BorderImageSliceParseContext. |
| |
| Test: fast/css/getComputedStyle/getComputedStyle-border-image-slice.html |
| |
| * css/CSSParser.cpp: |
| (WebCore::BorderImageSliceParseContext::BorderImageSliceParseContext): |
| (WebCore::BorderImageSliceParseContext::commitNumber): |
| (WebCore::BorderImageSliceParseContext::commitFill): |
| |
| 2012-06-06 Levi Weintraub <leviw@chromium.org> |
| |
| Use enclosingIntRect instead of pixelSnappedIntRect in RenderFileUploadControl |
| https://bugs.webkit.org/show_bug.cgi?id=88454 |
| |
| Reviewed by Kent Tamura. |
| |
| Properly clipping the file upload control to avoid clipping out the top of the file upload button |
| when the control is positioned at a sub-pixel offset that rounds up. |
| |
| Test: fast/sub-pixel/file-upload-control-at-fractional-offset.html |
| |
| * rendering/RenderFileUploadControl.cpp: |
| (WebCore::RenderFileUploadControl::paintObject): |
| |
| 2012-06-06 Filip Pizlo <fpizlo@apple.com> |
| |
| Global object variable accesses should not require an extra load |
| https://bugs.webkit.org/show_bug.cgi?id=88385 |
| |
| Reviewed by Gavin Barraclough and Geoffrey Garen. |
| |
| Updated JSDOMWindowBase.cpp to use the new symbol table API. this->symbolTableFoo(...) |
| becomes symbolTableFoo(this, ...). |
| |
| No new tests because no change in behavior. |
| |
| * bindings/js/JSDOMWindowBase.cpp: |
| (WebCore::JSDOMWindowBase::updateDocument): |
| |
| 2012-06-06 James Robinson <jamesr@chromium.org> |
| |
| [chromium] Move implementation of WebCore::GraphicsContext3D and related from WebKit/chromium/src to WebCore/platform/chromium/support |
| https://bugs.webkit.org/show_bug.cgi?id=86257 |
| |
| Reviewed by Kenneth Russell. |
| |
| The WebCore platform interfaces GraphicsContext3D and Extensions3DChromium are implemented in chromium |
| on top of the Platform interface WebGraphicsContext3D. This moves the implementation support code from |
| WebKit/chromium/src to WebCore/platform/chromium/support, which avoids having code in WebKit/ implementing WebCore |
| interfaces and allows code in WebCore/platform to use this support code directly where appropriate. |
| |
| Refactor only, no new functionality or tests. |
| |
| * WebCore.gypi: |
| * platform/chromium/support/Extensions3DChromium.cpp: Renamed from Source/WebKit/chromium/src/Extensions3DChromium.cpp. |
| (WebCore): |
| (WebCore::Extensions3DChromium::Extensions3DChromium): |
| (WebCore::Extensions3DChromium::~Extensions3DChromium): |
| (WebCore::Extensions3DChromium::supports): |
| (WebCore::Extensions3DChromium::ensureEnabled): |
| (WebCore::Extensions3DChromium::isEnabled): |
| (WebCore::Extensions3DChromium::getGraphicsResetStatusARB): |
| (WebCore::Extensions3DChromium::blitFramebuffer): |
| (WebCore::Extensions3DChromium::renderbufferStorageMultisample): |
| (WebCore::Extensions3DChromium::postSubBufferCHROMIUM): |
| (WebCore::Extensions3DChromium::mapBufferSubDataCHROMIUM): |
| (WebCore::Extensions3DChromium::unmapBufferSubDataCHROMIUM): |
| (WebCore::Extensions3DChromium::mapTexSubImage2DCHROMIUM): |
| (WebCore::Extensions3DChromium::unmapTexSubImage2DCHROMIUM): |
| (WebCore::Extensions3DChromium::setVisibilityCHROMIUM): |
| (WebCore::Extensions3DChromium::discardFramebufferEXT): |
| (WebCore::Extensions3DChromium::ensureFramebufferCHROMIUM): |
| (WebCore::Extensions3DChromium::setGpuMemoryAllocationChangedCallbackCHROMIUM): |
| (WebCore::Extensions3DChromium::createVertexArrayOES): |
| (WebCore::Extensions3DChromium::deleteVertexArrayOES): |
| (WebCore::Extensions3DChromium::isVertexArrayOES): |
| (WebCore::Extensions3DChromium::bindVertexArrayOES): |
| (WebCore::Extensions3DChromium::getTranslatedShaderSourceANGLE): |
| (WebCore::Extensions3DChromium::setSwapBuffersCompleteCallbackCHROMIUM): |
| (WebCore::Extensions3DChromium::rateLimitOffscreenContextCHROMIUM): |
| (WebCore::Extensions3DChromium::paintFramebufferToCanvas): |
| (WebCore::Extensions3DChromium::texImageIOSurface2DCHROMIUM): |
| (WebCore::Extensions3DChromium::texStorage2DEXT): |
| (WebCore::Extensions3DChromium::createQueryEXT): |
| (WebCore::Extensions3DChromium::deleteQueryEXT): |
| (WebCore::Extensions3DChromium::isQueryEXT): |
| (WebCore::Extensions3DChromium::beginQueryEXT): |
| (WebCore::Extensions3DChromium::endQueryEXT): |
| (WebCore::Extensions3DChromium::getQueryivEXT): |
| (WebCore::Extensions3DChromium::getQueryObjectuivEXT): |
| * platform/chromium/support/GraphicsContext3DChromium.cpp: Renamed from Source/WebKit/chromium/src/GraphicsContext3DChromium.cpp. |
| (WebCore): |
| (WebCore::GraphicsContext3D::GraphicsContext3D): |
| (WebCore::GraphicsContext3D::~GraphicsContext3D): |
| (WebCore::GraphicsContext3D::setContextLostCallback): |
| (WebCore::GraphicsContext3D::setErrorMessageCallback): |
| (WebCore::GraphicsContext3D::create): |
| (WebCore::GraphicsContext3D::platformGraphicsContext3D): |
| (WebCore::GraphicsContext3D::platformTexture): |
| (WebCore::GraphicsContext3D::grContext): |
| (WebCore::GraphicsContext3D::platformLayer): |
| (WebCore::GraphicsContext3D::isGLES2Compliant): |
| (WebCore::GraphicsContext3D::isResourceSafe): |
| (WebCore::GraphicsContext3D::bindAttribLocation): |
| (WebCore::GraphicsContext3D::bufferData): |
| (WebCore::GraphicsContext3D::getActiveAttrib): |
| (WebCore::GraphicsContext3D::getActiveUniform): |
| (WebCore::GraphicsContext3D::getAttribLocation): |
| (WebCore::GraphicsContext3D::getContextAttributes): |
| (WebCore::GraphicsContext3D::getProgramInfoLog): |
| (WebCore::GraphicsContext3D::getShaderInfoLog): |
| (WebCore::GraphicsContext3D::getShaderSource): |
| (WebCore::GraphicsContext3D::getString): |
| (WebCore::GraphicsContext3D::getUniformLocation): |
| (WebCore::GraphicsContext3D::shaderSource): |
| (WebCore::GraphicsContext3D::texImage2D): |
| (WebCore::GraphicsContext3D::texSubImage2D): |
| (WebCore::GraphicsContext3D::reshape): |
| (WebCore::GraphicsContext3D::markContextChanged): |
| (WebCore::GraphicsContext3D::layerComposited): |
| (WebCore::GraphicsContext3D::markLayerComposited): |
| (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas): |
| (WebCore::GraphicsContext3D::paintRenderingResultsToImageData): |
| (WebCore::GraphicsContext3D::paintCompositedResultsToCanvas): |
| (WebCore::GraphicsContext3D::getExtensions): |
| (WebCore::GraphicsContext3D::getInternalFramebufferSize): |
| * platform/chromium/support/GraphicsContext3DPrivate.cpp: Renamed from Source/WebKit/chromium/src/GraphicsContext3DPrivate.cpp. |
| (WebCore): |
| (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate): |
| (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate): |
| (WebCore::GraphicsContext3DPrivate::createGraphicsContextFromWebContext): |
| (WebCore::GraphicsContext3DPrivate::extractWebGraphicsContext3D): |
| (GrMemoryAllocationChangedCallback): |
| (WebCore::GrMemoryAllocationChangedCallback::GrMemoryAllocationChangedCallback): |
| (WebCore::GrMemoryAllocationChangedCallback::onGpuMemoryAllocationChanged): |
| (WebCore::GraphicsContext3DPrivate::grContext): |
| (WebCore::GraphicsContext3DPrivate::markContextChanged): |
| (WebCore::GraphicsContext3DPrivate::layerComposited): |
| (WebCore::GraphicsContext3DPrivate::markLayerComposited): |
| (WebCore::GraphicsContext3DPrivate::paintFramebufferToCanvas): |
| (GraphicsContext3DContextLostCallbackAdapter): |
| (WebCore::GraphicsContext3DContextLostCallbackAdapter::GraphicsContext3DContextLostCallbackAdapter): |
| (WebCore::GraphicsContext3DContextLostCallbackAdapter::~GraphicsContext3DContextLostCallbackAdapter): |
| (WebCore::GraphicsContext3DContextLostCallbackAdapter::onContextLost): |
| (WebCore::GraphicsContext3DPrivate::setContextLostCallback): |
| (GraphicsContext3DErrorMessageCallbackAdapter): |
| (WebCore::GraphicsContext3DErrorMessageCallbackAdapter::GraphicsContext3DErrorMessageCallbackAdapter): |
| (WebCore::GraphicsContext3DErrorMessageCallbackAdapter::~GraphicsContext3DErrorMessageCallbackAdapter): |
| (WebCore::GraphicsContext3DErrorMessageCallbackAdapter::onErrorMessage): |
| (WebCore::GraphicsContext3DPrivate::setErrorMessageCallback): |
| (WebCore::GraphicsContext3DPrivate::getExtensions): |
| (WebCore::GraphicsContext3DPrivate::initializeExtensions): |
| (WebCore::GraphicsContext3DPrivate::supportsExtension): |
| (WebCore::GraphicsContext3DPrivate::ensureExtensionEnabled): |
| (WebCore::GraphicsContext3DPrivate::isExtensionEnabled): |
| (WebCore::GraphicsContext3DPrivate::isResourceSafe): |
| (GraphicsContext3DMemoryAllocationChangedCallbackAdapter): |
| (WebCore::GraphicsContext3DMemoryAllocationChangedCallbackAdapter::GraphicsContext3DMemoryAllocationChangedCallbackAdapter): |
| (WebCore::GraphicsContext3DMemoryAllocationChangedCallbackAdapter::~GraphicsContext3DMemoryAllocationChangedCallbackAdapter): |
| (WebCore::GraphicsContext3DMemoryAllocationChangedCallbackAdapter::onMemoryAllocationChanged): |
| (WebCore::GraphicsContext3DPrivate::setGpuMemoryAllocationChangedCallbackCHROMIUM): |
| (GraphicsContext3DSwapBuffersCompleteCallbackAdapter): |
| (WebCore::GraphicsContext3DSwapBuffersCompleteCallbackAdapter::GraphicsContext3DSwapBuffersCompleteCallbackAdapter): |
| (WebCore::GraphicsContext3DSwapBuffersCompleteCallbackAdapter::~GraphicsContext3DSwapBuffersCompleteCallbackAdapter): |
| (WebCore::GraphicsContext3DSwapBuffersCompleteCallbackAdapter::onSwapBuffersComplete): |
| (WebCore::GraphicsContext3DPrivate::setSwapBuffersCompleteCallbackCHROMIUM): |
| * platform/chromium/support/GraphicsContext3DPrivate.h: Renamed from Source/WebKit/chromium/src/GraphicsContext3DPrivate.h. |
| (WebKit): |
| (WebCore): |
| (GraphicsContext3DPrivate): |
| (WebCore::GraphicsContext3DPrivate::webContext): |
| (WebCore::GraphicsContext3DPrivate::preserveDrawingBuffer): |
| |
| 2012-06-06 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r119624. |
| http://trac.webkit.org/changeset/119624 |
| https://bugs.webkit.org/show_bug.cgi?id=88472 |
| |
| Caused worker tests to become flaky (Requested by mhahnenberg |
| on #webkit). |
| |
| * workers/AbstractWorker.cpp: |
| (WebCore::AbstractWorker::~AbstractWorker): |
| * workers/WorkerMessagingProxy.cpp: |
| (WebCore::WorkerMessagingProxy::workerObjectDestroyed): |
| |
| 2012-06-06 Brady Eidson <beidson@apple.com> |
| |
| <rdar://problem/11575112> and https://bugs.webkit.org/show_bug.cgi?id=88428 |
| REGRESSION (r115654): Opening many non-English WebArchives shows obvious encoding issues |
| |
| Reviewed by Nate Chapin. |
| |
| Test: fast/loader/webarchive-encoding-respected.html |
| |
| * loader/DocumentLoader.cpp: |
| (WebCore::DocumentLoader::commitData): Properly set the main resource encoding from the webarchive. |
| |
| 2012-06-06 Mark Hahnenberg <mhahnenberg@apple.com> |
| |
| Worker tear-down can re-enter JSC during GC finalization |
| https://bugs.webkit.org/show_bug.cgi?id=88449 |
| |
| Reviewed by Geoffrey Garen. |
| |
| No new tests. Current regression tests cover these changes. |
| |
| * workers/AbstractWorker.cpp: |
| (WebCore::AbstractWorker::~AbstractWorker): We don't need to call onDestroyWorker() here, it |
| will be called elsewhere in contextDestroyed(). |
| * workers/WorkerMessagingProxy.cpp: |
| (WebCore::WorkerMessagingProxy::workerObjectDestroyed): We make the call to terminateWorkerContext() |
| and workerContextDestroyed() asynchronous to avoid entering JSC during GC finalization. |
| |
| 2012-06-06 Tony Chang <tony@chromium.org> |
| |
| webkit crashes on debug builds when running IETC flexbox-ordinal-group-001.htm |
| https://bugs.webkit.org/show_bug.cgi?id=85832 |
| |
| Reviewed by Ojan Vafai. |
| |
| We were using a HashSet<unsigned>, which can't hold the value of 0. |
| According to the spec, 0 isn't a valid value, so at CSS parse time, |
| reject the value 0. This lets us pass the test, although that's kind |
| of by accident. |
| |
| We could allow 0 for box-ordinal-group, but there are some perf implications |
| to having allowing a value below the initial value (1 in this case). |
| |
| We still allow 0 for box-flex-group, because that's what the existing code |
| does and there are tests expecting this behavior. |
| |
| No new tests, covered by ietestcenter/css3/flexbox/flexbox-ordinal-group-001.htm |
| which was crashing. |
| |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::parseValue): Reject 0 for -webkit-box-ordinal-group. |
| |
| 2012-06-06 Ojan Vafai <ojan@chromium.org> |
| |
| Remove some magic from the -webkit-flex shorthand parsing to match the changes in the spec |
| https://bugs.webkit.org/show_bug.cgi?id=88444 |
| |
| Reviewed by Tony Chang. |
| |
| -Unset positive flex defaults to 0. |
| -Unset negative flex defaults to 1. No magic of doing something different if positive flex was set. |
| |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::parseFlex): |
| |
| 2012-06-06 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Revert r119440 now that I have a time to rebaseline them all! |
| |
| * platform/ScrollbarThemeComposite.cpp: |
| (WebCore::ScrollbarThemeComposite::thumbLength): |
| |
| 2012-06-06 Joshua Bell <jsbell@chromium.org> |
| |
| IndexedDB: Infinite recursion in IDBObjectStore.openCursor(key, legacy_constant) |
| https://bugs.webkit.org/show_bug.cgi?id=88431 |
| |
| Reviewed by Tony Chang. |
| |
| Function was calling itself, rather than delegating to the correct (IDBKeyRange) overload. |
| |
| Test: storage/indexeddb/legacy-constants.html |
| |
| * Modules/indexeddb/IDBObjectStore.cpp: |
| (WebCore::IDBObjectStore::openCursor): |
| |
| 2012-06-06 Joshua Bell <jsbell@chromium.org> |
| |
| IndexedDB: Rename IDBFactory.getDatabaseNames() to webkitGetDatabaseNames() |
| https://bugs.webkit.org/show_bug.cgi?id=86874 |
| |
| Reviewed by Ojan Vafai. |
| |
| The function is non-standard, and should be prefixed. |
| |
| Test: storage/indexeddb/factory-basics.html |
| |
| * Modules/indexeddb/IDBFactory.idl: |
| |
| 2012-06-06 Julien Chaffraix <jchaffraix@webkit.org> |
| |
| Add support for direction on table row group with collapsing borders |
| https://bugs.webkit.org/show_bug.cgi?id=87900 |
| |
| Reviewed by Ojan Vafai. |
| |
| Tests: fast/table/border-collapsing/first-cell-left-border-hidden-table-ltr-section-rtl.html |
| fast/table/border-collapsing/last-cell-left-border-hidden-table-ltr-section-rtl.html |
| fast/table/border-collapsing/left-border-table-ltr-section-rtl.html |
| fast/table/border-collapsing/left-border-table-rtl-section-ltr.html |
| fast/table/border-collapsing/left-border-table-rtl-section-rtl.html |
| fast/table/border-collapsing/left-border-vertical-lr-table-ltr-section-rtl.html |
| fast/table/border-collapsing/left-border-vertical-lr-table-rtl-section-ltr.html |
| fast/table/border-collapsing/left-border-vertical-lr-table-rtl-section-rtl.html |
| fast/table/border-collapsing/rtl-table-left-border-hidden.html |
| fast/table/border-collapsing/top-border-vertical-rl-table-ltr-section-rtl.html |
| fast/table/border-collapsing/top-border-vertical-rl-table-rtl-section-ltr.html |
| fast/table/border-collapsing/top-border-vertical-rl-table-rtl-section-rtl.html |
| fast/table/table-ltr-section-rtl.html |
| fast/table/table-rtl-section-ltr.html |
| fast/table/table-rtl-section-rtl.html |
| |
| This change enables proper support for direction on table row group. |
| The current code would allow people to set direction on the row group but would still |
| use the table's code for directionality checks (with surprising consequences). |
| |
| The main change involve swapping end / start borders in case of mixed directionality |
| as those 2 are not in sync. |
| |
| Example: <table dir="ltr"><tbody dir="rtl"><td id="cell0"></td><td id="cell1"></td></tbody></table> |
| |
| Visually: |
| Table: Start ---------------------> End |
| Tbody: End <---------------------- Start |
| Cell: | #cell0 | #cell1 | |
| |
| In this example, the end table border should be compared with the tbody's start border |
| and the last cell's (in DOM order) start border. |
| |
| * rendering/RenderTable.cpp: |
| (WebCore::RenderTable::tableStartBorderAdjoiningCell): |
| (WebCore::RenderTable::tableEndBorderAdjoiningCell): |
| Same as the other adjoining functions. |
| |
| * rendering/RenderTable.h: |
| (WebCore::RenderTable::lastColumnIndex): |
| Helper function to get the last column index. |
| |
| * rendering/RenderTableCell.cpp: |
| (WebCore::RenderTableCell::computeCollapsedStartBorder): |
| (WebCore::RenderTableCell::computeCollapsedEndBorder): |
| Updated to call the table's adjoining border helpers. |
| |
| * rendering/RenderTableCell.h: |
| (WebCore::RenderTableCell::styleForCellFlow): |
| Updated to use the table row group's style now that we properly support it. |
| |
| (WebCore::RenderTableCell::isFirstOrLastCellInRow): |
| Debug only helper to make sure we don't call the border adjoining function |
| on non-terminal cells. |
| |
| (WebCore::RenderTableCell::borderAdjoiningTableStart): |
| (WebCore::RenderTableCell::borderAdjoiningTableEnd): |
| * rendering/RenderTableRow.h: |
| (WebCore::RenderTableRow::borderAdjoiningTableStart): |
| (WebCore::RenderTableRow::borderAdjoiningTableEnd): |
| * rendering/RenderTableSection.cpp: |
| (WebCore::RenderTableSection::firstRowCellAdjoiningTableStart): |
| (WebCore::RenderTableSection::firstRowCellAdjoiningTableEnd): |
| Updated the previous function to account for mixed directionality. |
| |
| (WebCore::RenderTableSection::layoutRows): |
| Move some of the code to setLogicalPositionForCell to match RenderBlock. |
| |
| (WebCore::RenderTableSection::setLogicalPositionForCell): |
| Switched direction checks to styleForCellFlow (this doesn't change anything as we |
| were already properly flipping already but ensure better). |
| |
| * rendering/RenderTableSection.h: |
| (WebCore::RenderTableSection::hasSameDirectionAsTable): |
| Added this helper to know if we have a mixed direction. |
| |
| (WebCore::RenderTableSection::borderAdjoiningTableStart): |
| (WebCore::RenderTableSection::borderAdjoiningTableEnd): |
| Updated to account for mixed directionality. |
| |
| 2012-06-06 Keyar Hood <keyar@chromium.org> |
| |
| [Chromium] imageSmoothingEnabled should apply to patterns |
| https://bugs.webkit.org/show_bug.cgi?id=88103 |
| |
| Reviewed by Stephen White. |
| |
| Test: fast/canvas/canvas-imageSmoothingEnabled-patterns.html |
| |
| When drawing patterns on a Canvas, the imageSmoothingEnabled flag is |
| respected. |
| * platform/graphics/skia/PlatformContextSkia.cpp: |
| (WebCore::PlatformContextSkia::setupShader): |
| |
| 2012-06-06 Andrey Adaikin <aandrey@chromium.org> |
| |
| Web Inspector: [JSC] Add WebGL instrumentation support |
| https://bugs.webkit.org/show_bug.cgi?id=87975 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| * bindings/js/JSInjectedScriptManager.cpp: |
| (WebCore::injectAndExecuteFunction): |
| (WebCore::InjectedScriptManager::createInjectedScript): |
| (WebCore): |
| (WebCore::InjectedScriptManager::injectWebGLScript): |
| * bindings/v8/custom/V8InjectedScriptManager.cpp: |
| (WebCore::InjectedScriptManager::injectWebGLScript): |
| * inspector/InjectedScriptManager.cpp: |
| (WebCore::InjectedScriptManager::wrapWebGLRenderingContextForInstrumentation): |
| * inspector/InjectedScriptManager.h: |
| (InjectedScriptManager): |
| * inspector/InspectorInstrumentation.h: |
| (InspectorInstrumentation): |
| * inspector/InspectorWebGLAgent.cpp: |
| (WebCore::InspectorWebGLAgent::wrapWebGLRenderingContextForInstrumentation): |
| * inspector/InspectorWebGLAgent.h: |
| (InspectorWebGLAgent): |
| * inspector/InspectorWebGLInstrumentation.h: |
| (WebCore::InspectorInstrumentation::wrapWebGLRenderingContextForInstrumentation): |
| |
| 2012-06-06 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> |
| |
| Fix a few spelling mistakes in IconDatabase logging |
| |
| Makes debugging harder if the logging is confusing. |
| |
| Reviewed by Jocelyn Turcotte. |
| |
| * loader/icon/IconDatabase.cpp: |
| (WebCore::IconDatabase::notifyPendingLoadDecisions): |
| (WebCore::IconDatabase::readFromDatabase): |
| |
| 2012-05-25 Vsevolod Vlasov <vsevik@chromium.org> |
| |
| Web Inspector: [Compiler] Remove compile-front-end.sh and fix InjectedScriptSource errors. |
| https://bugs.webkit.org/show_bug.cgi?id=87512 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| Removed compile-front-end.sh, compile-front-end.py should be used instead now. |
| Made generate_protocol_externs a python module to call it from compile-front-end.py. |
| Temporary copy of InjectedScriptSource.js is created and modified to |
| avoid "This code lacks side effects" warning. |
| |
| * inspector/compile-front-end.py: |
| * inspector/compile-front-end.sh: Removed. |
| * inspector/generate-protocol-externs: Removed. |
| * inspector/generate_protocol_externs.py: Added. |
| (full_qualified_type_id): |
| (param_type): |
| (generate_protocol_externs): |
| |
| 2012-06-06 Zoltan Herczeg <zherczeg@webkit.org> |
| |
| [Qt] REGRESSION(r118616): It made all tests crash in debug mode |
| https://bugs.webkit.org/show_bug.cgi?id=87701 |
| |
| Reviewed by Csaba Osztrogonác. |
| |
| Replace WriteBarrier<JSObject> to Weak<JSObject> by introducing a new |
| QtWeakObjectReference sub class. Rewrite all affected type definitions. |
| |
| All existing test in debug mode cover this issue. |
| |
| * bridge/qt/qt_class.cpp: |
| (JSC::Bindings::QtClass::fallbackObject): |
| * bridge/qt/qt_instance.cpp: |
| (QtRuntimeObject): |
| (JSC::Bindings::QtInstance::removeUnusedMethods): |
| * bridge/qt/qt_instance.h: |
| (QtInstance): |
| (QtWeakObjectReference): |
| (JSC::Bindings::QtInstance::QtWeakObjectReference::QtWeakObjectReference): |
| (JSC::Bindings::QtInstance::QtWeakObjectReference::operator=): |
| (JSC::Bindings::QtInstance::QtWeakObjectReference::get): |
| * bridge/qt/qt_runtime.cpp: |
| (JSC::Bindings::QtRuntimeMethodData::finalize): |
| * bridge/qt/qt_runtime_qt4.cpp: |
| (JSC::Bindings::QtRuntimeMethodData::finalize): |
| |
| 2012-06-06 Eugene Klyuchnikov <eustas.bug@gmail.com> |
| |
| Web Inspector: help/settings screen does not overlay console in split screen mode |
| https://bugs.webkit.org/show_bug.cgi?id=88352 |
| |
| Reviewed by Pavel Feldman. |
| |
| * inspector/front-end/HelpScreen.js: |
| (WebInspector.HelpScreen): Mark view as root. |
| (WebInspector.HelpScreen.prototype.showModal): Change view parent. |
| * inspector/front-end/helpScreen.css: |
| (.help-window-outer): Add panel and status bar indent. |
| (body.compact .help-window-outer): Ditto. |
| |
| 2012-06-06 Yoshifumi Inoue <yosin@chromium.org> |
| |
| [Form] Changes for InputNumber type |
| https://bugs.webkit.org/show_bug.cgi?id=88394 |
| |
| Reviewed by Kent Tamura. |
| |
| This patch changes codes for consitency of InputNumber usage for |
| reducing size of patch when we change InputNumber type alias from |
| double to Decimal. |
| |
| No new tests. This patch doesn't change behavior. |
| |
| * html/BaseDateAndTimeInputType.cpp: |
| (WebCore::BaseDateAndTimeInputType::serializeWithComponents): Fixed parameter type for getAllowedValueStep. |
| * html/InputType.cpp: |
| (WebCore::InputType::minimum): Fixed return value type to InputNumber. |
| (WebCore::InputType::maximum): ditto. |
| * html/MonthInputType.cpp: |
| (WebCore::MonthInputType::defaultValueForStepUp): Fix return value type to InputNumber. |
| (WebCore::MonthInputType::parseToNumber): ditto. |
| * html/NumberInputType.cpp: |
| (WebCore::NumberInputType::setValueAsDouble): Removed extra convertDoubleToInputNumber. |
| * html/StepRange.cpp: |
| (WebCore::StepRange::alignValueForStep): Use roundByStep for code sharing. |
| (WebCore::StepRange::clampValue): ditto. |
| (WebCore::StepRange::roundByStep): Added. |
| * html/StepRange.h: |
| (StepRange): Added a declaration of roundByStep. |
| |
| 2012-06-06 Michael Brüning <michael.bruning@nokia.com> |
| |
| [Qt] Fix harmattan builds broken by r119247. |
| https://bugs.webkit.org/show_bug.cgi?id=88330 |
| |
| Reviewed by Jocelyn Turcotte. |
| |
| Fix Harmattan build break caused by undefined constant |
| GL_TEXTURE_RECTANGLE_ARB by adding defined(GL_ARB_texture_rectangle) |
| guards around TextureMapperGL::drawTextureRectangleARB. |
| |
| * platform/graphics/texmap/TextureMapperGL.cpp: Added defined(GL_ARB_texture_rectangle) guards around drawTextureRectangleARB. |
| (WebCore): |
| * platform/graphics/texmap/TextureMapperGL.h: Added definded(GL_ARB_texture_rectangle) guards around drawTextureRectangleARB. |
| |
| 2012-06-06 Shinya Kawanaka <shinyak@chromium.org> |
| |
| PositionIterator:;setOffsetInLeafNode() is not used anywhere. |
| https://bugs.webkit.org/show_bug.cgi?id=88397 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| It's not used anywhere. We can remove it safely. |
| |
| No new tests, no change in behavior. |
| |
| * WebCore.order: |
| * dom/PositionIterator.cpp: |
| * dom/PositionIterator.h: |
| |
| 2012-06-06 Andrey Adaikin <aandrey@chromium.org> |
| |
| Web Inspector: [WebGL] Add WebGL instrumentation support on the backend |
| https://bugs.webkit.org/show_bug.cgi?id=87960 |
| |
| Adds a WebGLAgent, injects a WebGL script upon calling the getContext |
| method of a HTMLCanvasElement that will wrap the WebGL rendering context |
| for instrumentation purposes. |
| |
| Reviewed by Yury Semikhatsky. |
| |
| * CMakeLists.txt: |
| * DerivedSources.make: |
| * DerivedSources.pri: |
| * GNUmakefile.am: |
| * GNUmakefile.list.am: |
| * Target.pri: |
| * WebCore.gyp/WebCore.gyp: |
| * WebCore.gypi: |
| * WebCore.vcproj/WebCore.vcproj: |
| * WebCore.xcodeproj/project.pbxproj: |
| * bindings/js/JSHTMLCanvasElementCustom.cpp: |
| (WebCore::JSHTMLCanvasElement::getContext): |
| (WebCore::JSHTMLCanvasElement::toDataURL): |
| * bindings/js/JSInjectedScriptManager.cpp: |
| (WebCore): |
| (WebCore::InjectedScriptManager::injectWebGLScript): |
| * bindings/v8/ScriptState.cpp: |
| (WebCore::ScriptState::forContext): |
| * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: |
| (WebCore::V8HTMLCanvasElement::getContextCallback): |
| * bindings/v8/custom/V8InjectedScriptManager.cpp: |
| (WebCore::InjectedScriptManager::createInjectedScript): |
| (WebCore): |
| (WebCore::InjectedScriptManager::injectWebGLScript): |
| (WebCore::InjectedScriptManager::discardInjectedScript): |
| (WebCore::InjectedScriptManager::injectedScriptFor): |
| * inspector/CodeGeneratorInspector.py: |
| * inspector/InjectedScriptManager.cpp: |
| (WebCore): |
| (WebCore::InjectedScriptManager::wrapWebGLRenderingContextForInstrumentation): |
| (WebCore::InjectedScriptManager::injectedWebGLScriptSource): |
| * inspector/InjectedScriptManager.h: |
| (InjectedScriptManager): |
| * inspector/InjectedWebGLScriptSource.js: Added. |
| * inspector/Inspector.json: |
| * inspector/InspectorAllInOne.cpp: |
| * inspector/InspectorController.cpp: |
| (WebCore::InspectorController::InspectorController): |
| * inspector/InspectorInstrumentation.h: |
| (WebCore): |
| (InspectorInstrumentation): |
| (WebCore::InspectorInstrumentation::markResourceAsCached): |
| * inspector/InspectorWebGLAgent.cpp: Added. |
| (WebCore): |
| (WebGLAgentState): |
| (WebCore::InspectorWebGLAgent::InspectorWebGLAgent): |
| (WebCore::InspectorWebGLAgent::~InspectorWebGLAgent): |
| (WebCore::InspectorWebGLAgent::setFrontend): |
| (WebCore::InspectorWebGLAgent::clearFrontend): |
| (WebCore::InspectorWebGLAgent::restore): |
| (WebCore::InspectorWebGLAgent::enable): |
| (WebCore::InspectorWebGLAgent::disable): |
| (WebCore::InspectorWebGLAgent::wrapWebGLRenderingContextForInstrumentation): |
| * inspector/InspectorWebGLAgent.h: Added. |
| (WebCore): |
| (InspectorWebGLAgent): |
| (WebCore::InspectorWebGLAgent::create): |
| (WebCore::InspectorWebGLAgent::enabled): |
| * inspector/InspectorWebGLInstrumentation.h: Added. |
| (WebCore): |
| (WebCore::InspectorInstrumentation::wrapWebGLRenderingContextForInstrumentation): |
| * inspector/InstrumentingAgents.h: |
| (WebCore): |
| (WebCore::InstrumentingAgents::InstrumentingAgents): |
| (InstrumentingAgents): |
| (WebCore::InstrumentingAgents::inspectorWebGLAgent): |
| (WebCore::InstrumentingAgents::setInspectorWebGLAgent): |
| |
| 2012-06-06 Joone Hur <joone.hur@intel.com> |
| |
| [GTK] Build fix for Accelerated Compositing with OpenGL |
| https://bugs.webkit.org/show_bug.cgi?id=88292 |
| |
| Reviewed by Martin Robinson. |
| |
| Build fix after r119247. |
| Do not include GraphicsSurface.h when not building |
| with GRAPHICS_SURFACE. |
| |
| No new tests. This is only a build fix. |
| |
| * platform/graphics/texmap/TextureMapperBackingStore.cpp: |
| * platform/graphics/texmap/TextureMapperBackingStore.h: |
| * platform/graphics/texmap/TextureMapperGL.cpp: |
| |
| 2012-06-05 Joe Thomas <joethomas@motorola.com> |
| |
| ASSERTION FAILED: ASSERT(!isPercentageIntrinsicSize) in RenderReplaced::computeIntrinsicRatioInformationForRenderBox |
| https://bugs.webkit.org/show_bug.cgi?id=88197 |
| |
| Reviewed by Daniel Bates. |
| |
| RenderSVGRoot extends RenderReplaced and it overrides the computeIntrinsicRatioInformation() |
| method of RenderReplaced. RenderSVGRoot::computeIntrinsicRatioInformation |
| sets isPercentageIntrinsicSize to true while it handles width and height of percentage types. |
| So this assertion should be fired only if intrinsicRatio is non-zero. |
| |
| Test: svg/in-html/svg-assert-failure-percentage.html |
| |
| * rendering/RenderReplaced.cpp: |
| (WebCore::RenderReplaced::computeIntrinsicRatioInformationForRenderBox): |
| |
| 2012-06-05 Tony Chang <tony@chromium.org> |
| |
| Changing flexbox justify/alignment doesn't update their positioning |
| https://bugs.webkit.org/show_bug.cgi?id=88366 |
| |
| Reviewed by Ojan Vafai. |
| |
| Test: css3/flexbox/style-change.html |
| |
| * rendering/style/RenderStyle.cpp: |
| (WebCore::RenderStyle::diff): Since these member variables were moved |
| out of StyleFlexibleBoxData, we have to compare them in RenderStyle::diff. |
| |
| 2012-06-05 Charles Wei <charles.wei@torchmobile.com.cn> |
| |
| JSC implementation of SerializedScriptValue for IndexedDB |
| https://bugs.webkit.org/show_bug.cgi?id=88048 |
| |
| Reviewed by George Staikos. |
| |
| No new tests. All the current indexeddb test cases apply when indexeddb works for JSC. |
| |
| * bindings/js/SerializedScriptValue.cpp: |
| (WebCore::CloneSerializer::serializeNumber): |
| (CloneSerializer): |
| (WebCore::CloneDeserializer::toWireString): |
| (CloneDeserializer): |
| (WebCore::SerializedScriptValue::create): |
| (WebCore::SerializedScriptValue::toWireString): |
| (WebCore): |
| (WebCore::SerializedScriptValue::createFromWire): |
| (WebCore::SerializedScriptValue::numberValue): |
| (WebCore::SerializedScriptValue::deserialize): |
| |
| 2012-06-05 Ojan Vafai <ojan@chromium.org> |
| |
| Nested CSS flexbox renders incorrectly |
| https://bugs.webkit.org/show_bug.cgi?id=87679 |
| |
| Reviewed by Julien Chaffraix. |
| |
| If the containing block with a perpendicular writing mode has an overrideHeight, |
| then its logical height should be based off that instead of its RenderStyle. |
| |
| Test: css3/flexbox/perpendicular-writing-modes-inside-flex-item.html |
| |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::perpendicularContainingBlockLogicalHeight): |
| |
| 2012-06-05 Charles Wei <charles.wei@torchmobile.com.cn> |
| |
| Need special-case toJS(IDBAny) for IDBCursorWithValue |
| https://bugs.webkit.org/show_bug.cgi?id=87963 |
| |
| Reviewed by George Staikos. |
| |
| No new tests, this is for indexedDB, which is not working for JSC binding. |
| When indexedDB working for JSC, all the indexdb test cases should apply. |
| |
| * bindings/js/JSIDBAnyCustom.cpp: |
| (WebCore::toJS): |
| |
| 2012-06-05 Michal Mocny <mmocny@google.com> |
| |
| [chromium] Set default memory allocation limit bytes when GL_CHROMIUM_gpu_memory_manager is not supported by graphics context. |
| https://bugs.webkit.org/show_bug.cgi?id=87996 |
| |
| Reviewed by James Robinson. |
| |
| Soon we hope to have renderers not manage there own memory allocation limits, and rely exclusively on the |
| allocation given by GpuMemoryManager. However, when the graphics context does not support the |
| GL_CHROMIUM_gpu_memory_manager extension, such as the one used by DumpRenderTree, we must default the |
| memory allocation limit to some non-0 value. |
| |
| * platform/graphics/chromium/LayerRendererChromium.cpp: |
| (WebCore::LayerRendererChromium::initialize): |
| * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp: |
| (WebCore::CCSingleThreadProxy::postSetContentsMemoryAllocationLimitBytesToMainThreadOnImplThread): |
| * platform/graphics/chromium/cc/CCSingleThreadProxy.h: |
| (WebCore): |
| (DebugScopedSetMainThreadFromEither): |
| (WebCore::DebugScopedSetMainThreadFromEither::DebugScopedSetMainThreadFromEither): |
| (WebCore::DebugScopedSetMainThreadFromEither::~DebugScopedSetMainThreadFromEither): |
| |
| 2012-06-05 Roland Takacs <takacs.roland@stud.u-szeged.hu> |
| |
| [Qt] Use GraphicsContext3DOpenGLES.cpp when using OpenGL ES |
| https://bugs.webkit.org/show_bug.cgi?id=78720 |
| |
| Reviewed by Noam Rosenthal. |
| |
| Functions are removed from GraphicsContext3DQt that already implemented |
| in GraphicsContext3DCommon. Macros that not supported at GLES have been |
| changed to their appropriate pair that found in GraphicsContext3D |
| (e.g. GL_FRAMEBUFFER_EXT to GraphicsContext3D::FRAMEBUFFER). |
| It was needed because OpenGLES does not support these macros. |
| Extensions3DQt is removed beceause it has never been used. |
| Some functions have been moved fron GraphicsContext3DCommon to *OpenGL |
| and *OpenGLES to provide specialization. |
| The "m_depthStencilBuffer" member is added to Qt port because it uses |
| "m_depthStencilBuffer" like the other platforms. |
| |
| * Target.pri: |
| * platform/graphics/GraphicsContext3D.h: |
| * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: |
| (WebCore::GraphicsContext3D::depthRange): |
| (WebCore): |
| (WebCore::GraphicsContext3D::clearDepth): |
| * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: |
| (WebCore::GraphicsContext3D::prepareTexture): |
| (WebCore::GraphicsContext3D::readRenderingResults): |
| (WebCore::GraphicsContext3D::reshape): |
| (WebCore::GraphicsContext3D::copyTexImage2D): |
| (WebCore::GraphicsContext3D::copyTexSubImage2D): |
| (WebCore::GraphicsContext3D::readPixels): |
| * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp: |
| (WebCore::GraphicsContext3D::reshapeFBOs): |
| (WebCore::GraphicsContext3D::depthRange): |
| (WebCore): |
| (WebCore::GraphicsContext3D::clearDepth): |
| * platform/graphics/qt/GraphicsContext3DQt.cpp: |
| (WebCore::GraphicsContext3D::isGLES2Compliant): |
| (WebCore::GraphicsContext3DPrivate::blitMultisampleFramebuffer): |
| (WebCore::GraphicsContext3D::GraphicsContext3D): |
| (WebCore::GraphicsContext3D::~GraphicsContext3D): |
| (WebCore): |
| |
| 2012-06-05 Vitaly Buka <vitalybuka@chromium.org> |
| |
| Special layout handler should be done on top frame being printed. |
| https://bugs.webkit.org/show_bug.cgi?id=88201 |
| |
| Reviewed by Brady Eidson. |
| |
| No new tests. Root case is already covered by tests. |
| Case described in the issue can be reproduced only by direct call |
| to Frame::setPrinting of subframe. Probably it's not possible with |
| layout tests. |
| |
| * page/Frame.cpp: |
| (WebCore::Frame::setPrinting): |
| Use shouldUsePrintingLayout to choose proper version of forceLayout(). |
| (WebCore::Frame::shouldUsePrintingLayout): |
| Checks if current frame is the top frame being printed. |
| * rendering/RenderView.cpp: |
| (WebCore::RenderView::shouldUsePrintingLayout): Forward to Frame. |
| |
| 2012-06-05 Max Feil <mfeil@rim.com> |
| |
| [BlackBerry] Conditionally enlarge HTML5 video controls in fullscreen mode |
| https://bugs.webkit.org/show_bug.cgi?id=87551 |
| |
| Reviewed by Antonio Gomes. |
| |
| Changes to make media controls larger in fullscreen mode. The |
| BlackBerry media controls used to be sized by a combination |
| of CSS styles specified in mediaControlsBlackBerry.css and |
| hard coded constants in RenderThemeBlackBerry.cpp. This patch |
| moves all the dimensional sizes to a common location, i.e. |
| RenderThemeBlackBerry.cpp. Having all the logic in C++ code allows |
| more complex decision making for when and how much to enlarge the |
| media controls. Currently the controls are enlarged by a factor |
| of 2 if the document is in fullscreen mode, the video element |
| is the current fullscreen element, and the deviceScaleFactor of |
| the page is less than 2.0. This avoids overly large controls |
| on pages which are already at least doubling the size of the |
| controls via viewport meta tag device-width settings. In other |
| words, if the CSS pixels are already enlarged compared to device |
| pixels by a factor of at least 2 in length and width. |
| |
| In order to accomplish this, I had to add a new Element* parameter |
| to RenderTheme::adjustSliderThumbSize(). This is needed so |
| that fullscreen mode can be checked and the deviceScaleFactor |
| retrieved. I feel that this does not have a big impact on the |
| code and the other ports, for which I will simply be adding the |
| additional parameter in their platform code. |
| |
| Tests: |
| video-controls-enlarged-fullscreen-meta.html |
| video-controls-enlarged-fullscreen-nometa.html |
| |
| * css/mediaControlsBlackBerry.css: |
| (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel): |
| (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-fullscreen-button, video::-webkit-media-controls-fullscreen-button): |
| (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button): |
| (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): |
| * html/shadow/SliderThumbElement.cpp: |
| (WebCore::RenderSliderThumb::updateAppearance): |
| * platform/blackberry/RenderThemeBlackBerry.cpp: |
| (WebCore): |
| (WebCore::determineRenderSlider): |
| (WebCore::determineFullScreenMultiplier): |
| (WebCore::RenderThemeBlackBerry::adjustSliderThumbSize): |
| (WebCore::RenderThemeBlackBerry::adjustMediaControlStyle): |
| (WebCore::RenderThemeBlackBerry::adjustSliderTrackStyle): |
| (WebCore::RenderThemeBlackBerry::paintMediaSliderTrack): |
| (WebCore::RenderThemeBlackBerry::paintMediaSliderThumb): |
| * platform/blackberry/RenderThemeBlackBerry.h: |
| (RenderThemeBlackBerry): |
| * platform/efl/RenderThemeEfl.cpp: |
| (WebCore::RenderThemeEfl::adjustSliderThumbSize): |
| * platform/efl/RenderThemeEfl.h: |
| (RenderThemeEfl): |
| * platform/gtk/RenderThemeGtk.h: |
| * platform/gtk/RenderThemeGtk2.cpp: |
| (WebCore::RenderThemeGtk::adjustSliderThumbSize): |
| * platform/gtk/RenderThemeGtk3.cpp: |
| (WebCore::RenderThemeGtk::adjustSliderThumbSize): |
| * platform/qt/RenderThemeQt.cpp: |
| (WebCore::RenderThemeQt::adjustSliderThumbSize): |
| * platform/qt/RenderThemeQt.h: |
| (RenderThemeQt): |
| * platform/qt/RenderThemeQtMobile.cpp: |
| (WebCore::RenderThemeQtMobile::adjustSliderThumbSize): |
| * platform/qt/RenderThemeQtMobile.h: |
| (RenderThemeQtMobile): |
| * rendering/RenderThemeChromiumLinux.cpp: |
| (WebCore::RenderThemeChromiumLinux::adjustSliderThumbSize): |
| * rendering/RenderThemeChromiumLinux.h: |
| (RenderThemeChromiumLinux): |
| * rendering/RenderThemeChromiumSkia.cpp: |
| (WebCore::RenderThemeChromiumSkia::adjustSliderThumbSize): |
| * rendering/RenderThemeChromiumSkia.h: |
| (RenderThemeChromiumSkia): |
| * rendering/RenderThemeChromiumWin.cpp: |
| (WebCore): |
| (WebCore::RenderThemeChromiumWin::adjustSliderThumbSize): |
| * rendering/RenderThemeChromiumWin.h: |
| (RenderThemeChromiumWin): |
| * rendering/RenderThemeMac.h: |
| (RenderThemeMac): |
| * rendering/RenderThemeSafari.cpp: |
| (WebCore::RenderThemeSafari::adjustSliderThumbSize): |
| * rendering/RenderThemeSafari.h: |
| (RenderThemeSafari): |
| * rendering/RenderThemeWin.cpp: |
| (WebCore::RenderThemeWin::adjustSliderThumbSize): |
| * rendering/RenderThemeWin.h: |
| (RenderThemeWin): |
| * rendering/RenderThemeWinCE.cpp: |
| (WebCore::RenderThemeWinCE::adjustSliderThumbSize): |
| * rendering/RenderThemeWinCE.h: |
| (RenderThemeWinCE): |
| * rendering/RenderTheme.cpp: |
| (WebCore::RenderTheme::adjustStyle): |
| (WebCore::RenderTheme::adjustMediaControlStyle): |
| (WebCore): |
| (WebCore::RenderTheme::adjustSliderThumbStyle): |
| (WebCore::RenderTheme::adjustSliderThumbSize): |
| * rendering/RenderTheme.h: |
| (RenderTheme): |
| |
| 2012-06-05 Stephanie Lewis <slewis@apple.com> |
| |
| https://bugs.webkit.org/show_bug.cgi?id=88370 |
| Memory sampler should trigger low memory signal |
| |
| Reviewed by Geoff Garen. |
| |
| No new tests. Verify by running stress test which crashes |
| in a few minutes without the fix. |
| |
| Fix assumption in block code. We could get in a state where timer_event_source |
| had already been released before the block ran. |
| |
| * platform/mac/MemoryPressureHandlerMac.mm: |
| (WebCore::MemoryPressureHandler::holdOff): |
| |
| 2012-06-05 Yoshifumi Inoue <yosin@chromium.org> |
| |
| [Forms] Introduce InputNumber type as an alias of double for replacing it to Decimal |
| https://bugs.webkit.org/show_bug.cgi?id=88275 |
| |
| Reviewed by Kent Tamura. |
| |
| This patch introduced InputNumber type as alias of double to be |
| replaced to Decimal and convertDoubleToInputNumber and |
| convertToInputNumberToDouble for reducing size of patch when we |
| introduce Decimal type. |
| |
| This patch added new vairables to use const variable to reduce |
| copy operation when introducing Decimal type. |
| |
| In the implementation, we use InputNumber, will be Decimal, however some methods in IDL |
| use double. To clarify internal usage of value and external usage, thit patch renamed |
| following functions: |
| |
| - parseToDouble => parseNumber |
| - setValueAsNumber => setValueAsDouble and setValueAsInputNumber |
| - valueAsNumber => valueAsDouble |
| |
| This patch is a part of introducing Decimal, https://bugs.webkit.org/show_bug.cgi?id=80009 |
| |
| No new tests. This patch doesn't change behavior. |
| |
| * html/BaseDateAndTimeInputType.cpp: |
| (WebCore::BaseDateAndTimeInputType::valueAsDate): Replaced parseToNumber() to valueAsDouble() |
| (WebCore::BaseDateAndTimeInputType::setValueAsDate): Inserted convertDoubleToInputNumber. |
| (WebCore::BaseDateAndTimeInputType::valueAsDouble): Use new function parseToDouble(). |
| (WebCore::BaseDateAndTimeInputType::setValueAsInputNumber): Added. |
| (WebCore::BaseDateAndTimeInputType::defaultValueForStepUp): Changed return type to InputNumber. |
| (WebCore::BaseDateAndTimeInputType::parseToNumber): This is replacement of parseToDouble(). |
| (WebCore::BaseDateAndTimeInputType::parseToDouble): Added for valueAsDate and valueAsDouble. |
| (WebCore::BaseDateAndTimeInputType::serialize): Changed parameter type to InputNumber. |
| (WebCore::BaseDateAndTimeInputType::serializeWithComponents): Replace double to InputNumber for getAllowdStep. |
| * html/BaseDateAndTimeInputType.h: |
| (BaseDateAndTimeInputType): |
| * html/DateInputType.cpp: |
| (WebCore::DateInputType::createStepRange): Replaced double to InputNumber. |
| * html/DateInputType.h: |
| (DateInputType): |
| * html/DateTimeInputType.cpp: |
| (WebCore::DateTimeInputType::defaultValueForStepUp): Changed return type to InputNumber. |
| (WebCore::DateTimeInputType::createStepRange): Replaced double to InputNumber. |
| * html/DateTimeInputType.h: |
| (DateTimeInputType): |
| * html/DateTimeLocalInputType.cpp: |
| (WebCore::DateTimeLocalInputType::createStepRange): Replaced double to InputNumber. |
| * html/DateTimeLocalInputType.h: |
| (DateTimeLocalInputType): |
| * html/HTMLInputElement.cpp: |
| (WebCore::HTMLInputElement::getAllowedValueStep): Changed parameter type to InputNumber. |
| (WebCore::HTMLInputElement::valueAsNumber): Use InputType::valueAsDouble. |
| (WebCore::HTMLInputElement::setValueAsNumber): Use InputType::valueAsDouble. |
| * html/HTMLInputElement.h: |
| (HTMLInputElement): |
| * html/InputType.cpp: |
| (WebCore::InputType::valueAsDouble): Replacement of valueAsNumber. |
| (WebCore::InputType::setValueAsDouble): Replacement of valueAsNumber. |
| (WebCore::InputType::setValueAsInputNumber): Replacement of valueAsNumber. |
| (WebCore::InputType::rangeUnderflow): Replaced double to InputNumber. |
| (WebCore::InputType::rangeOverflow): Replaced double to InputNumber. |
| (WebCore::InputType::defaultValueForStepUp): Changed return type to InputNumber. |
| (WebCore::InputType::isInRange): Replaced double to InputNumber. |
| (WebCore::InputType::isOutOfRange): Replaced double to InputNumber. |
| (WebCore::InputType::stepMismatch): Replaced double to InputNumber. |
| (WebCore::InputType::validationMessage): Replaced double to InputNumber. |
| (WebCore::InputType::parseToNumber): Replacement of parseToDouble. |
| (WebCore::InputType::parseToNumberOrNaN): Added for reducing number of std::numeric_limits<double>::quiet_NaN(). |
| (WebCore::InputType::parseToNumberWithDecimalPlaces): Replaced double to InputNumber. |
| (WebCore::InputType::serialize): Changed parameter type to InputNumber. |
| (WebCore::InputType::applyStep): Replaced double to InputNumber. |
| (WebCore::InputType::getAllowedValueStep): Changed parameter type to InputNumber. |
| (WebCore::InputType::stepUpFromRenderer): Replaced double to InputNumber. |
| * html/InputType.h: |
| (InputType): |
| * html/MonthInputType.cpp: |
| (WebCore::MonthInputType::defaultValueForStepUp): Changed return type to InputNumber. |
| (WebCore::MonthInputType::createStepRange): Replaced double to InputNumber. |
| (WebCore::MonthInputType::parseToNumber): Replacement of parseToDouble. |
| * html/MonthInputType.h: |
| (MonthInputType): |
| * html/NumberInputType.cpp: |
| (WebCore::NumberInputType::valueAsDouble): Replacement of valueAsNumber. Changed to use parseToDoubleForNumberType. |
| (WebCore::NumberInputType::setValueAsDouble): Replacement of setValueAsNumber. Changed to use serializeForNumberType. |
| (WebCore::NumberInputType::setValueAsInputNumber): Replacement of setValueAsNumber. |
| (WebCore::NumberInputType::createStepRange): Replaced double to InputNumber. |
| (WebCore::NumberInputType::parseToNumber): Replacement of parseToDouble. |
| (WebCore::NumberInputType::parseToNumberWithDecimalPlaces): Replaced double to InputNumber. |
| (WebCore::NumberInputType::serialize): |
| * html/NumberInputType.h: |
| (NumberInputType): |
| * html/RangeInputType.cpp: |
| (WebCore::ensureMaximum): Replaced double to InputNumber. |
| (WebCore::RangeInputType::valueAsDouble): Replacement of valueAsNumber. |
| (WebCore::RangeInputType::setValueAsInputNumber): Replacement of setValueAsNumber. |
| (WebCore::RangeInputType::createStepRange): Replaced double to InputNumber. |
| (WebCore::RangeInputType::handleKeydownEvent): Replaced double to InputNumber. |
| (WebCore::RangeInputType::parseToNumber): Replacement of parseToDouble. |
| (WebCore::RangeInputType::serialize): Changed parameter type to InputNumber. |
| (WebCore::RangeInputType::sanitizeValue): Replaced double to InputNumber. |
| * html/RangeInputType.h: |
| (RangeInputType): |
| * html/StepRange.cpp: |
| (WebCore::StepRange::StepRange): Replaced double to InputNumber. |
| (WebCore::StepRange::acceptableError): Replaced double to InputNumber. |
| (WebCore::StepRange::alignValueForStep): Replaced double to InputNumber. |
| (WebCore): |
| (WebCore::StepRange::clampValue): Replaced double to InputNumber. |
| (WebCore::StepRange::stepMismatch): Replaced double to InputNumber. |
| * html/StepRange.h: |
| (WebCore::convertDoubleToInputNumber): Added. |
| (WebCore::convertInputNumberToDouble): Added. |
| (WebCore::StepRange::NumberWithDecimalPlaces::NumberWithDecimalPlaces): Replaced double to InputNumber. |
| (WebCore::StepRange::StepDescription::defaultValue): Replaced double to InputNumber. |
| (StepRange): |
| (WebCore::StepRange::maximum): Replaced double to InputNumber. |
| (WebCore::StepRange::minimum): Replaced double to InputNumber. |
| (WebCore::StepRange::step): Replaced double to InputNumber. |
| (WebCore::StepRange::stepBase): Replaced double to InputNumber. |
| (WebCore::StepRange::defaultValue): Replaced double to InputNumber. |
| (WebCore::StepRange::proportionFromValue): Replaced double to InputNumber. |
| (WebCore::StepRange::valueFromProportion): Replaced double to InputNumber. |
| * html/TimeInputType.cpp: |
| (WebCore::TimeInputType::defaultValueForStepUp): Replaced double to InputNumber. |
| (WebCore::TimeInputType::createStepRange): Replaced double to InputNumber. |
| * html/TimeInputType.h: |
| (TimeInputType): |
| * html/WeekInputType.cpp: |
| (WebCore::WeekInputType::createStepRange): Replaced double to InputNumber. |
| * html/WeekInputType.h: |
| (WeekInputType): |
| * html/shadow/CalendarPickerElement.cpp: |
| (WebCore::CalendarPickerElement::writeDocument): Replaced double to InputNumber. |
| * html/shadow/SliderThumbElement.cpp: |
| (WebCore::sliderPosition): Replaced double to InputNumber. |
| (WebCore::RenderSliderThumb::layout): Replaced double to InputNumber. |
| (WebCore::SliderThumbElement::setPositionFromPoint): Replaced double to InputNumber. |
| |
| 2012-06-05 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Build fix after r119527. |
| |
| * dom/ViewportArguments.cpp: |
| (WebCore::computeViewportAttributes): |
| |
| 2012-06-05 Martin Robinson <mrobinson@igalia.com> |
| |
| [Cairo] [OpenGL] Enable GL_OES_standard_derivatives |
| https://bugs.webkit.org/show_bug.cgi?id=87583 |
| |
| Reviewed by Alejandro G. Castro. |
| |
| No new tests. This is covered by oes-standard-derivatives.html |
| in the Khronos WebGL conformance tests, which may one day be part |
| of the WebKit test suite. |
| |
| Activate the GL_OES_standard_derivatives on Cairo along with |
| Qt and Mac. |
| |
| * platform/graphics/opengl/Extensions3DOpenGL.cpp: |
| (WebCore::Extensions3DOpenGL::ensureEnabled): |
| (WebCore::Extensions3DOpenGL::isEnabled): |
| |
| 2012-06-05 Simon Fraser <simon.fraser@apple.com> |
| |
| Avoid creating compositing layers for preserve-3d without transformed descendants |
| https://bugs.webkit.org/show_bug.cgi?id=88115 |
| |
| Reviewed by Antti Koivisto. |
| |
| Avoid creating compositing layers, and therefore using excess backing store, |
| for elements that have -webkit-transform-style: preserve-3d, but no 3D-transformed |
| descendants that would be affected by that preserve-3d. |
| |
| Test: compositing/layer-creation/no-compositing-for-preserve-3d.html |
| |
| * rendering/RenderLayer.h: Replace the "mustOverlap" flag with a enum |
| that describes the different reasons for indirect compositing, so that |
| we can use that information to decide whether to allocate backing store. |
| (WebCore::RenderLayer::setIndirectCompositingReason): |
| (WebCore::RenderLayer::indirectCompositingReason): |
| (WebCore::RenderLayer::mustCompositeForIndirectReasons): |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::RenderLayer): Initialize m_indirectCompositingReason |
| |
| * rendering/RenderLayerCompositor.h: New out param for computeCompositingRequirements() |
| that is uses to indicate that a 3d-transformed descendant has been encountered. |
| Rename requiresCompositingWhenDescendantsAreCompositing() to requiresCompositingForIndirectReason(), |
| and return the reason as an out param. |
| |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::RenderLayerCompositor::updateCompositingLayers): Pass in the saw3DTransform |
| param to computeCompositingRequirements(). |
| (WebCore::RenderLayerCompositor::computeCompositingRequirements): Return a flag |
| from computeCompositingRequirements() that is set to true if we've seen descendants |
| that have 3d transforms. This is later used to decide whether to composite for |
| perspective or preserve-3d. |
| Change the "mustOverlapCompositedLayers" code to use the new "indirect compositing" |
| enum flags. |
| After enumerating children, call requiresCompositingForIndirectReason() and |
| record the reason in the layer. |
| (WebCore::RenderLayerCompositor::needsToBeComposited): Use mustCompositeForIndirectReasons() now. |
| (WebCore::RenderLayerCompositor::requiresOwnBackingStore): Consult the indirect compositing |
| reason rather than just looking for the overlap flag. |
| (WebCore::RenderLayerCompositor::reasonForCompositing): Now that we have more information |
| about indirect compositing reasons, the logging can be more detailed. |
| (WebCore::RenderLayerCompositor::requiresCompositingForTransform): This now only looks |
| for 3d transforms. We now treat perspective and perserve-3d as "indirect" reasons, because |
| whether they composite depends on descendants having non-affine transforms. |
| (WebCore::RenderLayerCompositor::requiresCompositingForIndirectReason): Includes the logic |
| previously in requiresCompositingWhenDescendantsAreCompositing(), and now determines |
| whether to composite for preserve-3d and perspective, based on whether we have transformed descendants. |
| |
| 2012-06-05 Levi Weintraub <leviw@chromium.org> |
| |
| Block selection gaps painted not properly pixel snapped |
| https://bugs.webkit.org/show_bug.cgi?id=88000 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Fixes for selection painting in both inline line heights and block gaps. We were unintentionally |
| flooring inline and block offsets in RenderBlock, but actually need to intentionally floor the |
| logical left and right values in logical(Left|Right)SelectionGap to properly align our block |
| selection gaps. This is to properly mirror the behavior in pixelSnappedLogicalRightOffsetForLine. |
| |
| We were also unintentionally upcasting LayoutUnits to floats in InlineTextBox's selection painting |
| routine. Now we're properly rounding. |
| |
| Test: fast/sub-pixel/selection/selection-gaps-at-fractional-offsets.html |
| |
| * rendering/InlineTextBox.cpp: |
| (WebCore::InlineTextBox::paintSelection): Move paint values to integers and do proper rounding. |
| * rendering/RenderBlock.cpp: |
| (WebCore::blockDirectionOffset): Fix incorrect flooring in return value. |
| (WebCore::inlineDirectionOffset): Ditto. |
| (WebCore): Removing previous attempt to properly mirror inline box selection pixel alignment. This |
| implementation rounded the final x value instead of properly rounding our block offset then flooring |
| the offset that corresponds to the behavior in InlineTextBox. It also didn't properly pixel snap |
| the y offset and height. |
| (WebCore::RenderBlock::blockSelectionGap): Properly pixel snapping the gap rect before painting. |
| (WebCore::RenderBlock::logicalLeftSelectionGap): Correctly match InlineTextBox's selection pixel |
| alignment by flooring the logicalLeft and pixel snapping the subsequent rect. We do this in order |
| to maintain proper render tree pixel snapping while simultaneously mirroring the flooring in the |
| inline direction that occurs in InlineTextBox.cpp's alignSelectionRectToDevicePixels method. |
| (WebCore::RenderBlock::logicalRightSelectionGap): Ditto with the right. |
| |
| 2012-06-05 Adam Barth <abarth@webkit.org> |
| |
| Remove support for target-densitydpi in the viewport meta tag |
| https://bugs.webkit.org/show_bug.cgi?id=88047 |
| |
| Reviewed by Kenneth Rohde Christiansen. |
| |
| The target-densitydpi parameter was originally implemented on Android, |
| but it does not appear to be widely used and introduces significant |
| implementation complexity because it forces us to track three scale |
| factors (defaultDeviceScaleFactor, deviceScaleFactor, and |
| pageScaleFactor) rather than just two (deviceScaleFactor and |
| pageScaleFactor). |
| |
| There don't appear to be many web sites that use target-densitydpi |
| because it is not supported on iOS. There are also concerns from the |
| standards community about the design of the feature. It seems our best |
| course of action is to remove target-densitydpi and address these use |
| cases via other mechanisms, such as responsive images and device units |
| in CSS because those approaches are likely to be implemented broadly. |
| |
| * dom/ViewportArguments.cpp: |
| (WebCore::computeViewportAttributes): |
| (WebCore): |
| (WebCore::setViewportFeature): |
| (WebCore::viewportErrorMessageTemplate): |
| (WebCore::viewportErrorMessageLevel): |
| * dom/ViewportArguments.h: |
| (WebCore::ViewportArguments::ViewportArguments): |
| (ViewportArguments): |
| (WebCore::ViewportArguments::operator==): |
| |
| 2012-06-05 Erik Arvidsson <arv@chromium.org> |
| |
| [V8] Improve variable resolution order on window |
| https://bugs.webkit.org/show_bug.cgi?id=84247 |
| |
| Reviewed by Ojan Vafai. |
| |
| This changes the V8 flag to turn on es52_globals and updates the layout tests to reflect the fixed behavior. |
| |
| Test: fast/dom/Window/window-property-shadowing-onclick.html |
| |
| * bindings/v8/V8DOMWindowShell.cpp: |
| (WebCore::V8DOMWindowShell::initContextIfNeeded): Set the flag as we initialize V8. |
| * bindings/v8/WorkerContextExecutionProxy.cpp: |
| (WebCore::WorkerContextExecutionProxy::initIsolate): Ditto. |
| |
| 2012-06-05 Ojan Vafai <ojan@chromium.org> |
| |
| Delete dead code from RenderBox::computeLogicalWidthInRegion |
| https://bugs.webkit.org/show_bug.cgi?id=88353 |
| |
| Reviewed by Tony Chang. |
| |
| No new tests obviously since this is dead code. |
| |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::computeLogicalWidthInRegion): |
| |
| 2012-06-05 Greg Billock <gbillock@google.com> |
| |
| New constructor for WebIntent to be used for delivery |
| https://bugs.webkit.org/show_bug.cgi?id=87143 |
| |
| Reviewed by Darin Fisher. |
| |
| * Modules/intents/Intent.cpp: |
| (WebCore::Intent::setExtras): |
| (WebCore): |
| * Modules/intents/Intent.h: |
| (Intent): |
| |
| 2012-06-01 Ojan Vafai <ojan@chromium.org> |
| |
| Change overrideSizes to be content-box instead of border-box |
| https://bugs.webkit.org/show_bug.cgi?id=88116 |
| |
| Reviewed by Tony Chang. |
| |
| Previously, the code used border-box everywhere except for one place |
| where it used content-box when setting the override size. Conversely, |
| it subtracted the borderAndPaddingSize everywhere it grabbed the override |
| size except for one. |
| |
| Instead, make the override size override the content-box size. |
| Converging on using the border-box size would be tricky given RenderTableCell's |
| tricky management of intrinsic padding. |
| |
| There is no behavior change except in RenderBox::availableLogicalHeightUsing, |
| which fixes a table test. |
| |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::setOverrideLogicalContentHeight): |
| (WebCore::RenderBox::setOverrideLogicalContentWidth): |
| (WebCore::RenderBox::overrideLogicalContentWidth): |
| (WebCore::RenderBox::overrideLogicalContentHeight): |
| (WebCore::RenderBox::computeLogicalWidthInRegion): |
| (WebCore::RenderBox::computeLogicalHeight): |
| (WebCore::RenderBox::computePercentageLogicalHeight): |
| (WebCore::RenderBox::availableLogicalHeightUsing): |
| We were incorrectly subtracting the borderAndPaddingLogicalWidth instead |
| of the borderAndPaddingLogicalHeight. |
| |
| * rendering/RenderBox.h: |
| (RenderBox): |
| * rendering/RenderDeprecatedFlexibleBox.cpp: |
| (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox): |
| (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox): |
| (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp): |
| (WebCore::RenderDeprecatedFlexibleBox::allowedChildFlex): |
| * rendering/RenderFlexibleBox.cpp: |
| (WebCore::RenderFlexibleBox::computeAvailableFreeSpace): |
| (WebCore::RenderFlexibleBox::setLogicalOverrideSize): |
| (WebCore::RenderFlexibleBox::applyStretchAlignmentToChild): |
| * rendering/RenderTableCell.cpp: |
| (WebCore::RenderTableCell::setOverrideHeightFromRowHeight): |
| |
| 2012-06-05 Andy Estes <aestes@apple.com> |
| |
| REGRESSION (r118197): PluginStrategy should be used even if ENABLE(NETSCAPE_PLUGIN_API) is false |
| https://bugs.webkit.org/show_bug.cgi?id=88296 |
| |
| Reviewed by Dan Bernstein. |
| |
| refresh() and initPlugins() should call into PluginStrategy even if |
| ENABLE(NETSCAPE_PLUGIN_API) is false. Some ports support non-Netscape |
| plug-ins, so PluginStrategy should be consulted even if Netscape |
| plug-ins specifically are disabled. |
| |
| Ports that support platform strategies but not Netscape plug-ins should |
| handle this inside their PluginStrategy rather than modifying generic |
| plug-in code. |
| |
| * plugins/PluginData.cpp: |
| (WebCore::PluginData::refresh): |
| (WebCore::PluginData::initPlugins): |
| |
| 2012-06-05 Douglas Stockwell <dstockwell@chromium.org> |
| |
| Crash when modifying fixed-position elements in a detached frame |
| https://bugs.webkit.org/show_bug.cgi?id=88288 |
| |
| Reviewed by James Robinson. |
| |
| Test: fast/block/positioning/fixed-position-detached-frame.html |
| |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::collectMatchingRulesForList): |
| |
| 2012-06-05 Andrey Kosyakov <caseq@chromium.org> |
| |
| Web Inspector: render timeline paint category dark green |
| https://bugs.webkit.org/show_bug.cgi?id=88333 |
| |
| Reviewed by Pavel Feldman. |
| |
| - Added a new, dark-green color for timeline events. |
| |
| * WebCore.gypi: Added timelineBarDarkGreen.png |
| * inspector/front-end/Images/timelineBarDarkGreen.png: Added. |
| * inspector/front-end/Images/timelineCheckmarks.png: Added a dark-green checkbox. |
| * inspector/front-end/Images/timelineDots.png: Added a dark-green dot. |
| * inspector/front-end/TimelinePresentationModel.js: |
| (WebInspector.TimelinePresentationModel.categories): |
| * inspector/front-end/WebKit.qrc: Added timelineBarDarkGreen.png. |
| * inspector/front-end/timelinePanel.css: |
| (.timeline-category-statusbar-item.timeline-category-painting .timeline-category-checkbox): |
| (.timeline-category-painting .timeline-graph-bar): |
| (.popover .timeline-painting): |
| (.timeline-category-painting .timeline-tree-icon): |
| |
| 2012-06-05 Alexei Filippov <alexeif@chromium.org> |
| |
| Web Inspector: serialize edge counts instead of indexes in heap snapshot |
| https://bugs.webkit.org/show_bug.cgi?id=88324 |
| |
| The serialized node structure currently holds an index |
| of its first containment edge in the edges array. |
| The index can be quite big (up to 7 digits for large snapshots). |
| The patch changes the serialization format to pass |
| node containment edge count instead. For most nodes the count |
| is just a single digit number. |
| This reduces serialized snapshot size and therefore its transfer time. |
| |
| Reviewed by Yury Semikhatsky. |
| |
| * inspector/front-end/HeapSnapshot.js: |
| (WebInspector.HeapSnapshotNode.prototype._edgeIndexesStart): |
| (WebInspector.HeapSnapshotNode.prototype._edgeIndexesEnd): |
| (WebInspector.HeapSnapshotNode.prototype._ordinal): |
| (WebInspector.HeapSnapshotNodeIterator): |
| (WebInspector.HeapSnapshot.prototype._init): |
| (WebInspector.HeapSnapshot.prototype._buildEdgeIndexes): |
| (WebInspector.HeapSnapshot.prototype._buildRetainers): |
| (WebInspector.HeapSnapshot.prototype._bfs): |
| (WebInspector.HeapSnapshot.prototype._buildAggregates): |
| (WebInspector.HeapSnapshot.prototype._buildPostOrderIndex): |
| (WebInspector.HeapSnapshot.prototype._buildDominatorTree): |
| (WebInspector.HeapSnapshot.prototype._markPageOwnedNodes): |
| (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects): |
| |
| 2012-06-05 Arpita Bahuguna <arpitabahuguna@gmail.com> |
| |
| CSS 2.1 failure: border-conflict-element-021a |
| https://bugs.webkit.org/show_bug.cgi?id=86885 |
| |
| Reviewed by Julien Chaffraix. |
| |
| When two adjacent table row groups (thead, tbody, tfoot) have the same border-width |
| and the same border-style in a 'border-collapse: collapse' table the color of the border |
| from the top-most table row wins. |
| |
| Tests: fast/table/border-collapsing/adjacent-row-groups-multi.html |
| fast/table/border-collapsing/adjacent-row-groups.html |
| |
| * rendering/RenderTable.cpp: |
| (WebCore::RenderTable::paintObject): |
| Currently each row group is sent for paint from top (firstChild) to bottom thereby causing |
| the borders of the bottom-most row group (which is painted last) to overlap over the |
| previous row-group. This breaks the precedence for collapsed borders between adjacent cells. |
| |
| This fix thus reverses the order in which the row-groups/sections are passed for painting. |
| Additional change has been done to iterate over the RenderTableSections directly. |
| |
| (WebCore): |
| (WebCore::RenderTable::bottomSection): |
| * rendering/RenderTable.h: |
| New function has been added to obtain the last section of the table. |
| |
| (RenderTable): |
| * rendering/RenderTableSection.h: |
| (RenderTableSection): |
| RenderTableSection's paint() method has now been made public so as to make it accessible |
| from RenderTable. |
| |
| 2012-06-05 Csaba Osztrogonác <ossy@webkit.org> |
| |
| [Qt][Win] Fix IDL dependency generation |
| https://bugs.webkit.org/show_bug.cgi?id=88304 |
| |
| Reviewed by Tor Arne Vestbø. |
| |
| * DerivedSources.pri: |
| |
| 2012-06-05 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r119467, r119471, and r119476. |
| http://trac.webkit.org/changeset/119467 |
| http://trac.webkit.org/changeset/119471 |
| http://trac.webkit.org/changeset/119476 |
| https://bugs.webkit.org/show_bug.cgi?id=88332 |
| |
| it broke chromium-mac static initializers test.\ (Requested by |
| loislo on #webkit). |
| |
| * WebCore.gyp/WebCore.gyp: |
| * WebCore.gypi: |
| * platform/graphics/FontPlatformData.h: |
| (FontPlatformData): |
| * platform/graphics/cocoa/FontPlatformDataCocoa.mm: |
| (WebCore::FontPlatformData::platformDataInit): |
| (WebCore::FontPlatformData::platformDataAssign): |
| * platform/graphics/harfbuzz/ng/HarfBuzzFace.cpp: Removed. |
| * platform/graphics/harfbuzz/ng/HarfBuzzFace.h: Removed. |
| * platform/graphics/harfbuzz/ng/HarfBuzzFaceCoreText.cpp: Removed. |
| * platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp: Removed. |
| * platform/graphics/harfbuzz/ng/HarfBuzzShaper.h: Removed. |
| * platform/graphics/mac/FontComplexTextMac.cpp: |
| (WebCore::Font::selectionRectForComplexText): |
| (WebCore::Font::drawComplexText): |
| (WebCore::Font::floatWidthForComplexText): |
| (WebCore::Font::offsetForPositionForComplexText): |
| |
| 2012-06-05 Alexander Pavlov <apavlov@chromium.org> |
| |
| Web Inspector: SHIFT key as helper to color adjustment in color picker |
| https://bugs.webkit.org/show_bug.cgi?id=88319 |
| |
| Reviewed by Pavel Feldman. |
| |
| With Shift depressed, the dragger in the color picker will snap to the horizontal |
| or vertical axis while dragging, depending on which axis offset is greater. |
| |
| * inspector/front-end/Spectrum.js: |
| (WebInspector.Spectrum.colorDragStart): |
| (WebInspector.Spectrum.colorDrag): |
| (WebInspector.Spectrum.draggable.move): |
| (WebInspector.Spectrum.draggable.start): |
| |
| 2012-06-05 Andrey Kosyakov <caseq@chromium.org> |
| |
| Web Inspector: aggregate all events before first frame into a fake frame |
| https://bugs.webkit.org/show_bug.cgi?id=88229 |
| |
| - in Timeline's frame mode, start aggregating events by frame even before we get first frame marker. |
| |
| * inspector/front-end/TimelineFrameController.js: |
| (WebInspector.TimelineFrameController.prototype._addRecord): |
| (WebInspector.TimelineFrameController.prototype._flushFrame): |
| (WebInspector.TimelineFrameController.prototype._createFrame): |
| |
| 2012-06-05 Charles Wei <charles.wei@torchmobile.com.cn> |
| |
| JSC:need to implement Dictionary::getWithUndefinedOrNullCheck for IDB |
| https://bugs.webkit.org/show_bug.cgi?id=88283 |
| |
| Reviewed by Kentaro Hara. |
| |
| No new tests, idb not working for JSC yet. |
| |
| * bindings/js/Dictionary.cpp: |
| (WebCore::Dictionary::getWithUndefinedOrNullCheck): |
| * bindings/js/Dictionary.h: |
| (Dictionary): |
| * bindings/js/JSDictionary.cpp: |
| (WebCore::JSDictionary::getWithUndefinedOrNullCheck): |
| (WebCore): |
| * bindings/js/JSDictionary.h: |
| (JSDictionary): |
| |
| 2012-06-05 Dongwoo Im <dw.im@samsung.com> |
| |
| Add 'isProtocolHandlerRegistered' and 'unregisterProtocolHandler'. |
| https://bugs.webkit.org/show_bug.cgi?id=73176 |
| |
| Reviewed by Adam Barth. |
| |
| Two more APIs are added in Custom Scheme Handler specification. |
| http://dev.w3.org/html5/spec/Overview.html#custom-handlers |
| One is 'isProtocolHandlerRegistered' to query whether the specific URL |
| is registered or not. |
| The other is 'unregisterProtocolHandler' to remove the registered URL. |
| |
| Test: fast/dom/unregister-protocol-handler.html |
| |
| * Configurations/FeatureDefines.xcconfig: Add a macro 'ENABLE_CUSTOM_SCHEME_HANDLER'. |
| * loader/EmptyClients.h: Add prototypes. |
| (EmptyChromeClient): |
| (WebCore::EmptyChromeClient::isProtocolHandlerRegistered): |
| (WebCore::EmptyChromeClient::unregisterProtocolHandler): |
| * page/ChromeClient.h: |
| (ChromeClient): |
| * page/NavigatorRegisterProtocolHandler.cpp: |
| (WebCore): |
| (WebCore::customHandlersStateString): |
| (WebCore::NavigatorRegisterProtocolHandler::isProtocolHandlerRegistered): Query if the handler is registered. |
| (WebCore::NavigatorRegisterProtocolHandler::unregisterProtocolHandler): Unregister the registered handler. |
| * page/NavigatorRegisterProtocolHandler.h: |
| (NavigatorRegisterProtocolHandler): |
| * page/NavigatorRegisterProtocolHandler.idl: |
| |
| 2012-06-04 Kinuko Yasuda <kinuko@chromium.org> |
| |
| Chromium tests: "Add support for the Blob constructor" [r115582] regressed blob layout tests |
| https://bugs.webkit.org/show_bug.cgi?id=85174 |
| |
| Reviewed by Kentaro Hara. |
| |
| This fixes a crash problem which could happen when the constructor is |
| given an array which contains String-type item(s). |
| |
| There're still some Text mismatches between v8 results and |
| JSC results, most of them are v8 not throwing exception |
| when it is given an object whose toString() method throws |
| exception. (The issue will be addresse in a separate patch.) |
| |
| Test: fast/files/blob-constructor.html |
| |
| * bindings/v8/custom/V8BlobCustom.cpp: |
| (WebCore::V8Blob::constructorCallback): |
| |
| 2012-06-05 Kentaro Hara <haraken@chromium.org> |
| |
| Remove unnecessary constructor of SelectorQueryCache |
| https://bugs.webkit.org/show_bug.cgi?id=87942 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Per the comment from darin@ (https://bugs.webkit.org/show_bug.cgi?id=87942#c27), |
| this patch removes an inline constructor that has no arguments. |
| To have the compiler generate the constructor, |
| this patch also removes WTF_MAKE_NONCOPYABLE(). |
| |
| No tests. No change in behavior. |
| |
| * dom/SelectorQuery.h: |
| (SelectorQueryCache): |
| |
| 2012-06-05 Kentaro Hara <haraken@chromium.org> |
| |
| Remove unused methods from SelectorQuery.h |
| https://bugs.webkit.org/show_bug.cgi?id=88289 |
| |
| Reviewed by Antti Koivisto. |
| |
| This patch removes SelectorDataList::size() and |
| SelectorDataList::SelectorDataList(). |
| SelectorDataList::size() is not used by anybody. |
| SelectorDataList::SelectorDataList() can be auto-generated |
| by a compiler. |
| |
| No tests. No change in behavior. |
| |
| * dom/SelectorQuery.cpp: |
| * dom/SelectorQuery.h: |
| (SelectorDataList): |
| |
| 2012-06-05 Kent Tamura <tkent@chromium.org> |
| |
| Build fix for r119470. |
| |
| * loader/EmptyClients.cpp: Add #include "IntentRequest.h". |
| |
| 2012-06-05 Kent Tamura <tkent@chromium.org> |
| |
| Remove unused function: Document::formElements |
| https://bugs.webkit.org/show_bug.cgi?id=88272 |
| |
| Reviewed by Kentaro Hara. |
| |
| No new tests. No behavior change. |
| |
| * dom/Document.h: |
| (Document): remove formElements(). It was used for radio group |
| validation, but the current code doesn't use it any more. |
| |
| 2012-06-05 Kenichi Ishibashi <bashi@chromium.org> |
| |
| Unreviewed build fix on Chromium mac |
| |
| * platform/graphics/cocoa/FontPlatformDataCocoa.mm: |
| (WebCore::isAATFont): |
| |
| 2012-06-05 Kent Tamura <tkent@chromium.org> |
| |
| Move some function definitions in EmptyClients.h to EmptyClients.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=88285 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| If we have definitions of functions with RefPtr<> in EmptyClients.h like |
| |
| virtual void runOpenPanel(Frame*, PassRefPtr<FileChooser>) { } |
| |
| and a source file includes EmptyClient.h, the source file needs to |
| include FileChooser.h though the source file doesn't use FileChooser |
| class explicitly because the definition of runOpenPanel() needs to call |
| FileChooser::deref(). |
| To avoid this, we had better move such functions to EmptyClients.cpp. |
| |
| No new tests. No behavior changes. |
| |
| * loader/EmptyClients.cpp: Move such functions from EmptyClients.h to |
| here, and move EmptyPopupMenu and EmptySearchPopupMenu too because |
| they're used only by EmptyChromeClient. |
| (WebCore): |
| (EmptyPopupMenu): |
| (WebCore::EmptyPopupMenu::show): |
| (WebCore::EmptyPopupMenu::hide): |
| (WebCore::EmptyPopupMenu::updateFromElement): |
| (WebCore::EmptyPopupMenu::disconnectClient): |
| (EmptySearchPopupMenu): |
| (WebCore::EmptySearchPopupMenu::popupMenu): |
| (WebCore::EmptySearchPopupMenu::saveRecentSearches): |
| (WebCore::EmptySearchPopupMenu::loadRecentSearches): |
| (WebCore::EmptySearchPopupMenu::enabled): |
| (WebCore::EmptyChromeClient::createPopupMenu): |
| (WebCore::EmptyChromeClient::createSearchPopupMenu): |
| (WebCore::EmptyChromeClient::createColorChooser): |
| (WebCore::EmptyChromeClient::runOpenPanel): |
| (WebCore::EmptyFrameLoaderClient::dispatchDecidePolicyForNewWindowAction): |
| (WebCore::EmptyFrameLoaderClient::dispatchDecidePolicyForNavigationAction): |
| (WebCore::EmptyFrameLoaderClient::dispatchWillSendSubmitEvent): |
| (WebCore::EmptyFrameLoaderClient::dispatchWillSubmitForm): |
| (WebCore::EmptyFrameLoaderClient::createDocumentLoader): |
| (WebCore::EmptyFrameLoaderClient::createFrame): |
| (WebCore::EmptyFrameLoaderClient::createPlugin): |
| (WebCore::EmptyFrameLoaderClient::createJavaAppletWidget): |
| (WebCore::EmptyFrameLoaderClient::createMediaPlayerProxyPlugin): |
| (WebCore::EmptyFrameLoaderClient::createNetworkingContext): |
| (WebCore::EmptyFrameLoaderClient::dispatchIntent): |
| (WebCore::EmptyTextCheckerClient::requestCheckingOfString): |
| (WebCore::EmptyEditorClient::registerUndoStep): |
| (WebCore::EmptyEditorClient::registerRedoStep): |
| (WebCore::EmptyContextMenuClient::customizeMenu): |
| * loader/EmptyClients.h: Move such function definitions to |
| EmptyClient.cpp, and append OVERRIDE. |
| (EmptyChromeClient): |
| (EmptyFrameLoaderClient): |
| (EmptyTextCheckerClient): |
| (EmptyEditorClient): |
| (EmptyContextMenuClient): |
| * svg/graphics/SVGImage.cpp: Remove unnecessary #includes. |
| |
| 2012-06-05 Alexander Pavlov <apavlov@chromium.org> |
| |
| Web Inspector: "-webkit"-prefixed properties are considered inherited in the Computed Style pane |
| https://bugs.webkit.org/show_bug.cgi?id=88257 |
| |
| Reviewed by Pavel Feldman. |
| |
| Canonical names for properties should be used when checking if they are inherited (since only canonical names |
| are put into the usedProperties set). |
| |
| * inspector/front-end/StylesSidebarPane.js: |
| (WebInspector.ComputedStylePropertiesSection.prototype._isPropertyInherited): |
| |
| 2012-06-05 Kenichi Ishibashi <bashi@chromium.org> |
| |
| [Chromium] Implement font shaping with font-feature-settings on Mac |
| https://bugs.webkit.org/show_bug.cgi?id=69826 |
| |
| Reviewed by Tony Chang. |
| |
| Add HarfBuzz-ng text shaper. |
| Chromium mac port uses it as secondary text shaper to support OpenType features. |
| HarfBuzz-ng is only used when -webkit-font-feature-settings is specified and |
| corresponding font is not an AAT font. |
| |
| No new tests. css3/font-feature-settings-rendering.html should pass on Chromium mac port. |
| |
| * WebCore.gyp/WebCore.gyp: Added harfbuzz-ng dependencies. |
| * WebCore.gypi: Added harfbuzz-ng files. |
| * platform/graphics/FontPlatformData.h: |
| (FontPlatformData): Added m_harfbuzzFace. |
| * platform/graphics/cocoa/FontPlatformDataCocoa.mm: |
| (WebCore::FontPlatformData::platformDataInit): Copy m_harfbuzzFace. |
| (WebCore::FontPlatformData::platformDataAssign): Ditto. |
| (WebCore): |
| (WebCore::isAATFont): |
| (WebCore::FontPlatformData::harfbuzzFace): |
| * platform/graphics/harfbuzz/ng/HarfBuzzFace.cpp: Added. |
| (WebCore): |
| (WebCore::harfbuzzFaceCache): |
| (WebCore::HarfBuzzFace::HarfBuzzFace): |
| (WebCore::HarfBuzzFace::~HarfBuzzFace): |
| * platform/graphics/harfbuzz/ng/HarfBuzzFace.h: Added. |
| (WebCore): |
| (HarfBuzzFace): |
| (WebCore::HarfBuzzFace::create): |
| * platform/graphics/harfbuzz/ng/HarfBuzzFaceCoreText.cpp: Added. |
| (WebCore): |
| (WebCore::floatToHarfBuzzPosition): |
| (WebCore::getGlyph): |
| (WebCore::getGlyphHorizontalAdvance): |
| (WebCore::getGlyphHorizontalOrigin): |
| (WebCore::getGlyphExtents): |
| (WebCore::harfbuzzCoreTextGetFontFuncs): |
| (WebCore::releaseTableData): |
| (WebCore::harfbuzzCoreTextGetTable): |
| (WebCore::HarfBuzzFace::createFace): |
| (WebCore::HarfBuzzFace::createFont): |
| (WebCore::HarfBuzzShaper::createGlyphBufferAdvance): |
| * platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp: Added. |
| (WebCore): |
| (WebCore::harfbuzzPositionToFloat): |
| (WebCore::HarfBuzzShaper::HarfBuzzRun::HarfBuzzRun): |
| (WebCore::HarfBuzzShaper::HarfBuzzRun::setGlyphAndPositions): |
| (WebCore::HarfBuzzShaper::HarfBuzzRun::characterIndexForXPosition): |
| (WebCore::HarfBuzzShaper::HarfBuzzRun::xPositionForOffset): |
| (WebCore::HarfBuzzShaper::HarfBuzzShaper): |
| (WebCore::HarfBuzzShaper::~HarfBuzzShaper): |
| (WebCore::HarfBuzzShaper::setFontFeatures): |
| (WebCore::HarfBuzzShaper::shape): |
| (WebCore::HarfBuzzShaper::setupHarfBuzzRun): |
| (WebCore::HarfBuzzShaper::shapeHarfBuzzRun): |
| (WebCore::HarfBuzzShaper::setGlyphPositionsForHarfBuzzRun): |
| (WebCore::HarfBuzzShaper::offsetForPosition): |
| (WebCore::HarfBuzzShaper::selectionRect): |
| * platform/graphics/harfbuzz/ng/HarfBuzzShaper.h: Added. |
| (WebCore): |
| (HarfBuzzShaper): |
| (WebCore::HarfBuzzShaper::totalWidth): |
| (HarfBuzzRun): |
| (WebCore::HarfBuzzShaper::HarfBuzzRun::create): |
| (WebCore::HarfBuzzShaper::HarfBuzzRun::setWidth): |
| (WebCore::HarfBuzzShaper::HarfBuzzRun::numCharacters): |
| (WebCore::HarfBuzzShaper::HarfBuzzRun::numGlyphs): |
| (WebCore::HarfBuzzShaper::HarfBuzzRun::width): |
| (WebCore::HarfBuzzShaper::HarfBuzzRun::rtl): |
| * platform/graphics/mac/FontComplexTextMac.cpp: |
| (WebCore): |
| (WebCore::preferHarfBuzz): Added. |
| (WebCore::Font::selectionRectForComplexText): Use HarfBuzzShaper if font-feature-settings exists. |
| (WebCore::Font::drawComplexText): Ditto. |
| (WebCore::Font::floatWidthForComplexText): Ditto. |
| (WebCore::Font::offsetForPositionForComplexText): Ditto. |
| |
| 2012-06-05 Li Yin <li.yin@intel.com> |
| |
| IETC: FileList.item(-1) should return null instead of raising |
| https://bugs.webkit.org/show_bug.cgi?id=77899 |
| |
| Reviewed by Kentaro Hara. |
| |
| IETC: http://samples.msdn.microsoft.com/ietestcenter/fileapi/filelist.htm |
| Accroding to http://es5.github.com/#x9.6 |
| When the index is negative, it should not raise exception. |
| Firefox and IE returns null when there is not indexth File object. |
| |
| Test: fast/files/file-list-test.html |
| |
| * fileapi/FileList.idl: |
| |
| 2012-06-05 Adam Barth <abarth@webkit.org> |
| |
| EventHandler shouldn't dispatch fake mousemove events when scrolling on devices that don't have a mouse |
| https://bugs.webkit.org/show_bug.cgi?id=88270 |
| |
| Reviewed by James Robinson. |
| |
| This patch adds a setting analogous to deviceSupportsTouch to determine |
| whether the device supports mouse. We then don't dispatch fake mouse |
| events on devices that don't have a mouse in the first place. |
| |
| Test: fast/events/touch/scroll-without-mouse-lacks-mousemove-events.html |
| |
| * page/EventHandler.cpp: |
| (WebCore::EventHandler::fakeMouseMoveEventTimerFired): |
| * page/Settings.cpp: |
| (WebCore::Settings::Settings): |
| * page/Settings.h: |
| (WebCore::Settings::setDeviceSupportsMouse): |
| (WebCore::Settings::deviceSupportsMouse): |
| (Settings): |
| * testing/InternalSettings.cpp: |
| (WebCore::InternalSettings::InternalSettings): |
| (WebCore::InternalSettings::restoreTo): |
| (WebCore::InternalSettings::setDeviceSupportsMouse): |
| (WebCore): |
| * testing/InternalSettings.h: |
| (InternalSettings): |
| * testing/InternalSettings.idl: |
| |
| 2012-06-04 Simon Fraser <simon.fraser@apple.com> |
| |
| Leaking ClipRects |
| https://bugs.webkit.org/show_bug.cgi?id=88282 |
| |
| Reviewed by Dan Bernstein. |
| |
| In r118562 I made the ClipRectsCache use RefPtr<ClipRects>. However, ClipRects |
| was initialized with m_refCnt=0, not 1 as adoptRef() and friends expect. Also, |
| there was a manual ref() in RenderLayer::updateClipRects() which this patch removes. |
| |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::updateClipRects): |
| * rendering/RenderLayer.h: |
| (WebCore::ClipRects::ClipRects): |
| |
| 2012-06-04 Emil A Eklund <eae@chromium.org> and Levi Weintraub <leviw@chromium.org> |
| |
| Add missing FractionalLayoutUnit += operator and move LineWidth to use all floats |
| https://bugs.webkit.org/show_bug.cgi?id=88259 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Fix two rounding bugs in LineLayout and RenderBlock that caused inlines |
| and floats to wrap incorrectly. |
| |
| Tests: fast/sub-pixel/float-containing-block-with-margin.html |
| fast/sub-pixel/float-with-right-margin-zoom.html |
| fast/sub-pixel/inline-block-with-padding.html |
| |
| * platform/FractionalLayoutUnit.h: |
| (WebCore::operator+=): |
| Add missing float version of += operator thus avoiding a silent cast to |
| int loosing precision. |
| |
| * rendering/RenderBlockLineLayout.cpp: |
| (WebCore::LineWidth::computeAvailableWidthFromLeftAndRight): |
| (WebCore::LineWidth::updateAvailableWidth): |
| Change LineWidth left/right to floating point and instead of rounding the |
| left and right edge separately. |
| |
| * rendering/RenderFlexibleBox.cpp: |
| (WebCore::RenderFlexibleBox::resolveFlexibleLengths): |
| Use explicit cast to avoid compiler ambiguity warning. |
| |
| 2012-06-04 Tony Chang <tony@chromium.org> |
| |
| CSS property 'order' should be a number rather than an int |
| https://bugs.webkit.org/show_bug.cgi?id=88111 |
| |
| Reviewed by Ojan Vafai. |
| |
| This changed in the spec: |
| http://dev.w3.org/csswg/css3-flexbox/#order |
| |
| I also fixed the compile with CSS3_FLEXBOX disabled. |
| |
| No new tests, covered by existing tests. |
| |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore): |
| (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::parseValue): |
| * css/CSSProperty.cpp: Parse as float, remove clamping for HashMap<int>. |
| (WebCore::CSSProperty::isInheritedProperty): |
| * css/StyleBuilder.cpp: |
| (WebCore::StyleBuilder::StyleBuilder): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::collectMatchingRulesForList): |
| * rendering/RenderFlexibleBox.cpp: Remove traits for HashMap<int>. |
| (RenderFlexibleBox::OrderIterator): |
| * rendering/RenderFlexibleBox.h: |
| * rendering/style/RenderStyle.h: |
| * rendering/style/StyleRareNonInheritedData.h: |
| (StyleRareNonInheritedData): |
| |
| 2012-06-04 Hugo Parente Lima <hugo.lima@openbossa.org> |
| |
| Turn LEGACY_VIEWPORT_ADAPTION USE flag into an ENABLE flag. |
| https://bugs.webkit.org/show_bug.cgi?id=88243 |
| |
| Reviewed by Adam Barth. |
| |
| No new tests needed, this just rename a compiler flag. |
| |
| * dom/Document.cpp: |
| (WebCore::Document::setDocType): |
| * dom/ViewportArguments.h: |
| * html/HTMLMetaElement.cpp: |
| (WebCore::HTMLMetaElement::process): |
| |
| 2012-06-04 Dana Jansens <danakj@chromium.org> |
| |
| [chromium] Remove redundant setNeedsCommit when prepareToDraw fails |
| https://bugs.webkit.org/show_bug.cgi?id=88246 |
| |
| Reviewed by James Robinson. |
| |
| When prepareToDraw fails it explicitly calls setNeedsCommit, but the |
| scheduler already takes care of this for it. When a frame is not |
| successfully drawn, the scheduler state machine sets the needsCommit |
| bit itself. |
| |
| This behaviour is covered by CCSchedulerStateMachineTest.TestFailedDrawSetsNeedsCommitAndDoesNotDrawAgain |
| |
| * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: |
| (WebCore::CCLayerTreeHostImpl::prepareToDraw): |
| |
| 2012-06-04 Takashi Toyoshima <toyoshim@chromium.org> |
| |
| [WebSocket] Send requires super linear time against data size |
| https://bugs.webkit.org/show_bug.cgi?id=87383 |
| |
| Reviewed by Kent Tamura. |
| |
| WebSocket send operation requires super linear time to send data |
| against data size. This is because removing sent data in Vector<char> |
| always requires data copy. |
| Introduced wtf/StreamBuffer realizes O(n) buffer operations. |
| This patch is only for optimization. No new tests are needed. |
| |
| * platform/network/SocketStreamHandleBase.cpp: |
| (WebCore::SocketStreamHandleBase::sendPendingData): |
| * platform/network/SocketStreamHandleBase.h: |
| (SocketStreamHandleBase): |
| |
| 2012-06-04 Tim Horton <timothy_horton@apple.com> |
| |
| Mock scrollbars differ by 1px in DRT vs. WKTR |
| https://bugs.webkit.org/show_bug.cgi?id=80879 |
| |
| Rubber-stamped by Ryosuke Niwa. |
| |
| Disable r119431 except for Apple Mac port. |
| |
| * platform/ScrollbarThemeComposite.cpp: |
| (WebCore::ScrollbarThemeComposite::thumbLength): |
| |
| 2012-06-04 Jeffrey Pfau <jpfau@apple.com> |
| |
| Document cleanup can get confused if parser still exists |
| https://bugs.webkit.org/show_bug.cgi?id=88250 |
| |
| Reviewed by Geoffrey Garen. |
| |
| No new tests; no behavior changes. |
| |
| * dom/Document.cpp: |
| (WebCore::Document::removedLastRef): Detach parser earlier |
| |
| 2012-06-04 Andrew Lo <anlo@rim.com> |
| |
| [BlackBerry] Split AnimationFrameRateController into its own file |
| https://bugs.webkit.org/show_bug.cgi?id=88242 |
| |
| Reviewed by Antonio Gomes. |
| |
| Include new header file to reflect re-organization of platform animation |
| header files. |
| |
| * platform/graphics/DisplayRefreshMonitor.h: |
| |
| 2012-06-04 Dana Jansens <danakj@chromium.org> |
| |
| [chromium] Allow CCLayerImpl to find its layer tree host, and use this for CCVideoLayerImpl instead of always-null pointer. |
| https://bugs.webkit.org/show_bug.cgi?id=88252 |
| |
| Reviewed by James Robinson. |
| |
| CCVideoLayerImpl has a pointer to its CCLayerTreeHostImpl which is never |
| set to be non-null currently. Instead of making this a special case, we |
| move the CCLayerTreeHostImpl* up to the CCLayerImpl base class, and set |
| the pointer on every layer during commit via the TreeSynchronizer's walk |
| through the layer tree. |
| |
| Unit tests: Tested by TreeSynchronizer tests. |
| |
| * platform/graphics/chromium/TreeSynchronizer.cpp: |
| (WebCore::TreeSynchronizer::synchronizeTrees): |
| (WebCore::TreeSynchronizer::synchronizeTreeRecursive): |
| * platform/graphics/chromium/TreeSynchronizer.h: |
| (WebCore): |
| (TreeSynchronizer): |
| * platform/graphics/chromium/cc/CCLayerImpl.cpp: |
| (WebCore::CCLayerImpl::CCLayerImpl): |
| * platform/graphics/chromium/cc/CCLayerImpl.h: |
| (WebCore): |
| (WebCore::CCLayerImpl::layerTreeHostImpl): |
| (WebCore::CCLayerImpl::setLayerTreeHostImpl): |
| (CCLayerImpl): |
| * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: |
| (WebCore::CCLayerTreeHost::finishCommitOnImplThread): |
| * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp: |
| (WebCore::CCVideoLayerImpl::CCVideoLayerImpl): |
| (WebCore::CCVideoLayerImpl::setNeedsRedraw): |
| * platform/graphics/chromium/cc/CCVideoLayerImpl.h: |
| |
| 2012-06-04 Tim Horton <timothy_horton@apple.com> |
| |
| Mock scrollbars differ by 1px in DRT vs. WKTR |
| https://bugs.webkit.org/show_bug.cgi?id=80879 |
| |
| Reviewed by Simon Fraser. |
| |
| Round the length of the scrollbar thumb instead of truncating it. |
| |
| No new tests, fixes a mismatch between pixel results from DRT and WKTR. |
| Change is covered by all existing tests with scrollbars run with low tolerance. |
| |
| * platform/ScrollbarThemeComposite.cpp: |
| (WebCore::ScrollbarThemeComposite::thumbLength): |
| |
| 2012-06-04 Anders Carlsson <andersca@apple.com> |
| |
| Fix an unused result warning when building with clang. |
| |
| * platform/cf/BinaryPropertyList.cpp: |
| (WebCore::BinaryPropertyListWriter::writePropertyList): |
| |
| 2012-06-04 Ami Fischman <fischman@chromium.org> |
| |
| Don't crash when re-parenting a removed HTMLMediaElement |
| https://bugs.webkit.org/show_bug.cgi?id=88058 |
| |
| Reviewed by Eric Carlson. |
| |
| Test: media/media-reparent.html |
| |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::userCancelledLoad): Clear the pending load flags because any pending load has been cancelled. |
| |
| 2012-06-04 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r119421 and r119425. |
| http://trac.webkit.org/changeset/119421 |
| http://trac.webkit.org/changeset/119425 |
| https://bugs.webkit.org/show_bug.cgi?id=88256 |
| |
| not reliable, let's have a do-over (Requested by kling on |
| #webkit). |
| |
| * dom/Element.cpp: |
| (WebCore::Element::detachAttribute): |
| (WebCore::Element::removeAttribute): |
| (WebCore::Element::attributes): |
| (WebCore::Element::setAttributeInternal): |
| (WebCore::Element::parserSetAttributes): |
| (WebCore::Element::hasEquivalentAttributes): |
| (WebCore::Element::createAttributeData): |
| (WebCore): |
| (WebCore::Element::setAttributeNode): |
| (WebCore::Element::removeAttributeNode): |
| (WebCore::Element::getAttributeNode): |
| (WebCore::Element::getAttributeNodeNS): |
| (WebCore::Element::hasAttribute): |
| (WebCore::Element::hasAttributeNS): |
| (WebCore::Element::normalizeAttributes): |
| (WebCore::Element::cloneAttributesFromElement): |
| * dom/Element.h: |
| (WebCore::Element::attributeData): |
| (Element): |
| (WebCore::Element::ensureAttributeData): |
| (WebCore::Element::updatedAttributeData): |
| (WebCore::Element::ensureUpdatedAttributeData): |
| * dom/ElementAttributeData.cpp: |
| (WebCore::ElementAttributeData::attrIfExists): |
| (WebCore::ElementAttributeData::ensureAttr): |
| (WebCore::ElementAttributeData::setAttr): |
| (WebCore::ElementAttributeData::removeAttr): |
| (WebCore::ElementAttributeData::setClass): |
| (WebCore): |
| (WebCore::ElementAttributeData::ensureInlineStyle): |
| (WebCore::ElementAttributeData::ensureMutableInlineStyle): |
| (WebCore::ElementAttributeData::destroyInlineStyle): |
| (WebCore::ElementAttributeData::addAttribute): |
| (WebCore::ElementAttributeData::removeAttribute): |
| (WebCore::ElementAttributeData::isEquivalent): |
| (WebCore::ElementAttributeData::detachAttrObjectsFromElement): |
| (WebCore::ElementAttributeData::getAttributeItemIndexSlowCase): |
| (WebCore::ElementAttributeData::cloneDataFrom): |
| (WebCore::ElementAttributeData::clearAttributes): |
| (WebCore::ElementAttributeData::replaceAttribute): |
| (WebCore::ElementAttributeData::getAttributeNode): |
| * dom/ElementAttributeData.h: |
| (WebCore::ElementAttributeData::create): |
| (ElementAttributeData): |
| (WebCore::ElementAttributeData::setIdForStyleResolution): |
| (WebCore::ElementAttributeData::setAttributeStyle): |
| (WebCore::ElementAttributeData::length): |
| (WebCore::ElementAttributeData::isEmpty): |
| (WebCore::ElementAttributeData::attributeItem): |
| (WebCore::ElementAttributeData::getAttributeItem): |
| (WebCore::ElementAttributeData::ElementAttributeData): |
| (WebCore::ElementAttributeData::attributeVector): |
| (WebCore::ElementAttributeData::clonedAttributeVector): |
| (WebCore::ElementAttributeData::getAttributeItemIndex): |
| * dom/StyledElement.cpp: |
| (WebCore::StyledElement::style): |
| (WebCore::StyledElement::classAttributeChanged): |
| (WebCore::StyledElement::removeInlineStyleProperty): |
| (WebCore::StyledElement::addSubresourceAttributeURLs): |
| * html/parser/HTMLConstructionSite.cpp: |
| (WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement): |
| * xml/parser/XMLDocumentParserQt.cpp: |
| (WebCore::XMLDocumentParser::XMLDocumentParser): |
| |
| 2012-06-04 Andreas Kling <kling@webkit.org> |
| |
| Unreviewed build fixes for cr-android and Qt. |
| |
| * dom/ElementAttributeData.h: |
| (WebCore::ElementAttributeData::setClass): |
| Change ElementAttributeData::setClass() to take an AtomicString instead of a String. |
| The only call site has an AtomicString anyway. |
| * xml/parser/XMLDocumentParserQt.cpp: |
| (WebCore::XMLDocumentParser::XMLDocumentParser): Add missing const. |
| |
| 2012-06-04 Sadrul Habib Chowdhury <sadrul@chromium.org> |
| |
| [chromium] Fix software rendering for device-scale-factor > 1 |
| https://bugs.webkit.org/show_bug.cgi?id=88136 |
| |
| Reviewed by Darin Fisher. |
| |
| Test: fast/hidpi/device-scale-factor-paint.html |
| |
| * WebCore.exp.in: |
| * testing/InternalSettings.cpp: |
| (WebCore::InternalSettings::setDeviceScaleFactor): |
| (WebCore): |
| * testing/InternalSettings.h: |
| (InternalSettings): |
| * testing/InternalSettings.idl: |
| |
| 2012-06-04 Andreas Kling <kling@webkit.org> |
| |
| Make ElementAttributeData a variable-sized object to reduce memory use. |
| <http://webkit.org/b/88240> |
| |
| Reviewed by Antti Koivisto. |
| |
| Take advantage of the fact that we know at ElementAttributeData construction time how many attributes |
| it needs to accomodate and allocate exactly as much space as needed instead of using a Vector. |
| For elements that never have their attribute list mutated (the vast majority), this saves a lot of |
| memory and removes the indirection to Vector<Attribute>'s heap-allocated storage. |
| |
| Introduced a mutability flag to ElementAttributeData and sprinkled assertions all over to make sure |
| that nothing tries to mutate an element with a raw attribute array. |
| |
| When an Element's attribute(s) are mutated, we reconstruct the ElementAttributeData, this time using |
| a Vector as backing instead. This is triggered when calling Element::mutableAttributeData(). |
| |
| This reduces memory consumption by 3.2MB when viewing the full HTML5 spec at <http://whatwg.org/c/>. |
| This is a 35% reduction in DOM attribute memory use. |
| |
| Furthermore, that page ends up promoting 27% of the elements to mutable attribute storage due to dynamic |
| adding of "class" attributes. For more static pages, savings are even greater. |
| |
| * dom/Element.cpp: |
| (WebCore::Element::detachAttribute): |
| (WebCore::Element::removeAttribute): |
| (WebCore::Element::attributes): |
| (WebCore::Element::setAttributeInternal): |
| (WebCore::Element::parserSetAttributes): |
| (WebCore::Element::hasEquivalentAttributes): |
| (WebCore::Element::setAttributeNode): |
| (WebCore::Element::removeAttributeNode): |
| (WebCore::Element::getAttributeNode): |
| (WebCore::Element::getAttributeNodeNS): |
| (WebCore::Element::hasAttribute): |
| (WebCore::Element::hasAttributeNS): |
| (WebCore::Element::normalizeAttributes): |
| (WebCore::Element::cloneAttributesFromElement): |
| (WebCore::Element::createMutableAttributeData): |
| * dom/Element.h: |
| (WebCore::Element::attributeData): |
| (Element): |
| (WebCore::Element::updatedAttributeData): |
| (WebCore::Element::ensureAttributeData): |
| (WebCore::Element::ensureUpdatedAttributeData): |
| (WebCore::Element::mutableAttributeData): |
| * dom/ElementAttributeData.cpp: |
| (WebCore::ElementAttributeData::createImmutable): |
| (WebCore::ElementAttributeData::ElementAttributeData): |
| (WebCore::ElementAttributeData::~ElementAttributeData): |
| (WebCore::ElementAttributeData::attrIfExists): |
| (WebCore::ElementAttributeData::ensureAttr): |
| (WebCore::ElementAttributeData::setAttr): |
| (WebCore::ElementAttributeData::removeAttr): |
| (WebCore::ElementAttributeData::ensureInlineStyle): |
| (WebCore::ElementAttributeData::ensureMutableInlineStyle): |
| (WebCore::ElementAttributeData::destroyInlineStyle): |
| (WebCore::ElementAttributeData::addAttribute): |
| (WebCore::ElementAttributeData::removeAttribute): |
| (WebCore::ElementAttributeData::isEquivalent): |
| (WebCore::ElementAttributeData::detachAttrObjectsFromElement): |
| (WebCore::ElementAttributeData::getAttributeItemIndexSlowCase): |
| (WebCore::ElementAttributeData::cloneDataFrom): |
| (WebCore::ElementAttributeData::clearAttributes): |
| (WebCore::ElementAttributeData::replaceAttribute): |
| (WebCore::ElementAttributeData::getAttributeNode): |
| * dom/ElementAttributeData.h: |
| (ElementAttributeData): |
| (WebCore::ElementAttributeData::setClass): |
| (WebCore::ElementAttributeData::setIdForStyleResolution): |
| (WebCore::ElementAttributeData::inlineStyle): |
| (WebCore::ElementAttributeData::setAttributeStyle): |
| (WebCore::ElementAttributeData::isMutable): |
| (WebCore::ElementAttributeData::makeMutable): |
| (WebCore::ElementAttributeData::length): |
| (WebCore::ElementAttributeData::isEmpty): |
| (WebCore::ElementAttributeData::array): |
| (WebCore::ElementAttributeData::attributeItem): |
| (WebCore::ElementAttributeData::getAttributeItem): |
| (WebCore::ElementAttributeData::getAttributeItemIndex): |
| * dom/StyledElement.cpp: |
| (WebCore::StyledElement::style): |
| (WebCore::StyledElement::classAttributeChanged): |
| (WebCore::StyledElement::removeInlineStyleProperty): |
| (WebCore::StyledElement::addSubresourceAttributeURLs): |
| * html/parser/HTMLConstructionSite.cpp: |
| (WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement): |
| * xml/parser/XMLDocumentParserQt.cpp: |
| (WebCore::XMLDocumentParser::XMLDocumentParser): |
| |
| 2012-06-04 Sadrul Habib Chowdhury <sadrul@chromium.org> |
| |
| [chromium] Combobox options and autofill options should not be scaled for device-scale factor |
| https://bugs.webkit.org/show_bug.cgi?id=87921 |
| |
| Reviewed by Darin Fisher. |
| |
| Chrome takes care of scaling the combobox/autofill lists in the browser side. So it is not |
| necessary to scale here. This change reverts parts of changes in r111539. |
| |
| Manually tested with different scale factors. |
| |
| * platform/chromium/PopupListBox.cpp: |
| (WebCore::PopupListBox::paint): |
| (WebCore::PopupListBox::paintRow): |
| (WebCore::PopupListBox::getRowHeight): |
| * platform/chromium/PopupListBox.h: |
| (PopupContainerSettings): |
| * platform/chromium/PopupMenuChromium.cpp: |
| (WebCore::PopupMenuChromium::show): |
| * rendering/RenderMenuList.cpp: |
| (WebCore::RenderMenuList::showPopup): |
| |
| 2012-06-04 Dana Jansens <danakj@chromium.org> |
| |
| [chromium] Make LayerRendererChromium use RenderPasses instead of RenderSurfaces |
| https://bugs.webkit.org/show_bug.cgi?id=88132 |
| |
| Reviewed by Adrienne Walker. |
| |
| This patch is partly renaming, partly moving data into CCRenderPass |
| and CCRenderPassDrawQuad. LayerRendererChromium should accept as input |
| a set of RenderPasses and this should be sufficient for drawing. It |
| should have no notion of RenderSurfaces at all. |
| |
| First, what isn't done: RenderSurfaces still hold the textures |
| where RenderPasses are drawn to/from, so that these textures can |
| persist across frames. This will be addressed separately. |
| |
| Otherwise, this completely removes the concept of RenderSurface from |
| LayerRenderChromium and the CCDrawQuad, replacing it with RenderPass. |
| The "renderSurfaceTextureManager" is renamed to the "implTextureManager" |
| and like-wise for the TextureAllocator, as these are not used |
| exclusively for render surfaces (passes), and a texture manager for |
| render passes that does not require a RenderSurface* will be the focus |
| of future changes. |
| |
| Covered by existing tests. |
| |
| * WebCore.gypi: |
| * platform/graphics/chromium/LayerRendererChromium.cpp: |
| (WebCore::LayerRendererChromium::LayerRendererChromium): |
| (WebCore::LayerRendererChromium::setVisible): |
| (WebCore::LayerRendererChromium::releaseRenderPassTextures): |
| (WebCore::LayerRendererChromium::viewportChanged): |
| (WebCore::LayerRendererChromium::clearRenderPass): |
| (WebCore::LayerRendererChromium::beginDrawingFrame): |
| (WebCore::LayerRendererChromium::drawRenderPass): |
| (WebCore::LayerRendererChromium::drawQuad): |
| (WebCore::LayerRendererChromium::drawBackgroundFilters): |
| (WebCore::LayerRendererChromium::drawRenderPassQuad): |
| (WebCore::LayerRendererChromium::copyPlaneToTexture): |
| (WebCore::LayerRendererChromium::drawHeadsUpDisplay): |
| (WebCore::LayerRendererChromium::finishDrawingFrame): |
| (WebCore::LayerRendererChromium::copyTextureToFramebuffer): |
| (WebCore::LayerRendererChromium::getFramebufferTexture): |
| (WebCore::LayerRendererChromium::isCurrentRenderPass): |
| (WebCore::LayerRendererChromium::useRenderPass): |
| (WebCore::LayerRendererChromium::useManagedTexture): |
| (WebCore::LayerRendererChromium::bindFramebufferToTexture): |
| (WebCore::LayerRendererChromium::setScissorToRect): |
| (WebCore::LayerRendererChromium::setDrawFramebufferRect): |
| (WebCore::LayerRendererChromium::initializeSharedObjects): |
| (WebCore::LayerRendererChromium::renderPassProgram): |
| (WebCore::LayerRendererChromium::renderPassProgramAA): |
| (WebCore::LayerRendererChromium::renderPassMaskProgram): |
| (WebCore::LayerRendererChromium::renderPassMaskProgramAA): |
| (WebCore::LayerRendererChromium::cleanupSharedObjects): |
| * platform/graphics/chromium/LayerRendererChromium.h: |
| (WebCore): |
| (LayerRendererChromium): |
| * platform/graphics/chromium/cc/CCDrawQuad.cpp: |
| (WebCore::CCDrawQuad::toRenderPassDrawQuad): |
| * platform/graphics/chromium/cc/CCDrawQuad.h: |
| (WebCore): |
| (CCDrawQuad): |
| * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp: |
| (WebCore::CCHeadsUpDisplay::draw): |
| * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: |
| (WebCore::CCLayerTreeHostImpl::calculateRenderPasses): |
| (WebCore::CCLayerTreeHostImpl::drawLayers): |
| * platform/graphics/chromium/cc/CCQuadCuller.cpp: |
| * platform/graphics/chromium/cc/CCRenderPass.cpp: |
| (WebCore::CCRenderPass::CCRenderPass): |
| (WebCore::CCRenderPass::appendQuadsForRenderSurfaceLayer): |
| * platform/graphics/chromium/cc/CCRenderPass.h: |
| (CCRenderPass): |
| (WebCore::CCRenderPass::framebufferOutputRect): |
| * platform/graphics/chromium/cc/CCRenderPassDrawQuad.cpp: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCRenderSurfaceDrawQuad.cpp. |
| (WebCore): |
| (WebCore::CCRenderPassDrawQuad::create): |
| (WebCore::CCRenderPassDrawQuad::CCRenderPassDrawQuad): |
| * platform/graphics/chromium/cc/CCRenderPassDrawQuad.h: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCRenderSurfaceDrawQuad.h. |
| (WebCore): |
| (CCRenderPassDrawQuad): |
| (WebCore::CCRenderPassDrawQuad::renderPass): |
| (WebCore::CCRenderPassDrawQuad::isReplica): |
| (WebCore::CCRenderPassDrawQuad::maskTextureId): |
| (WebCore::CCRenderPassDrawQuad::filters): |
| (WebCore::CCRenderPassDrawQuad::backgroundFilters): |
| * platform/graphics/chromium/cc/CCRenderSurface.cpp: |
| (WebCore::CCRenderSurface::prepareContentsTexture): |
| (WebCore::CCRenderSurface::prepareBackgroundTexture): |
| (WebCore::CCRenderSurface::appendQuads): |
| * platform/graphics/chromium/cc/CCRenderSurface.h: |
| (WebCore): |
| (CCRenderSurface): |
| * platform/graphics/chromium/cc/CCRenderer.h: |
| (CCRenderer): |
| * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp: |
| (WebCore::CCScrollbarLayerImpl::willDraw): |
| * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp: |
| (WebCore::CCVideoLayerImpl::reserveTextures): |
| |
| 2012-06-04 Abhishek Arya <inferno@chromium.org> |
| |
| Crash in multi-column layout. |
| https://bugs.webkit.org/show_bug.cgi?id=88022 |
| |
| Reviewed by Ojan Vafai. |
| |
| The patch addresses two problems:: |
| 1. |this| in RenderBlock::splitBlocks can get destroyed when we |
| move its children to the clone and later call updateBeforeAfterContent |
| on the parent. So, we stop accessing its member variables and cache |
| it in a local. |
| 2. Positioned objects were not getting cleared from our grand parents. |
| This will happen if our immediate children got moved to a clone tree, |
| however at our parent nothing was moved. So, we make sure to remove |
| the positioned objects at every level while we are doing the cloning. |
| |
| Tests: fast/multicol/span/empty-anonymous-block-split-crash.html |
| fast/multicol/span/positioned-objects-not-removed-crash.html |
| |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::splitBlocks): |
| |
| 2012-06-04 Tim Horton <timothy_horton@apple.com> |
| |
| Mac build fails with SVG disabled |
| https://bugs.webkit.org/show_bug.cgi?id=88165 |
| |
| Reviewed by Dirk Schulze. |
| |
| Wrap all of SVGCSSPropertyNames in #if ENABLE(SVG), |
| and mark an unused argument in collectMatchingRulesForList. |
| |
| * css/SVGCSSPropertyNames.in: |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::collectMatchingRulesForList): |
| |
| 2012-06-04 David Kilzer <ddkilzer@apple.com> |
| |
| BUILD FIX: Unused variable with ENABLE(CONTEXT_MENUS) off |
| |
| This broke in r118374. |
| |
| * bindings/js/JSInspectorFrontendHostCustom.cpp: |
| (WebCore::JSInspectorFrontendHost::showContextMenu): Add |
| UNUSED_PARAM(exec) when ENABLE(CONTEXT_MENUS) is off. |
| |
| 2012-06-04 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r119393. |
| http://trac.webkit.org/changeset/119393 |
| https://bugs.webkit.org/show_bug.cgi?id=88236 |
| |
| Test is incorrect (duplicate content) and is causing Chromium |
| failures (Requested by schenney on #webkit). |
| |
| * html/canvas/CanvasRenderingContext2D.cpp: |
| (WebCore::CanvasRenderingContext2D::drawImage): |
| |
| 2012-06-04 Zeev Lieber <zlieber@chromium.org> |
| |
| [chromium] Cleanup scissor rect computation/use with damage |
| https://bugs.webkit.org/show_bug.cgi?id=87167 |
| |
| Reviewed by Adrienne Walker. |
| |
| Performing scissorRect computation during |
| calculateRenderPasses. Storing scissorRect in shared quad state |
| instead of computing it during drawQuad. Added scissorRect fields |
| into layers and render surfaces. |
| |
| Covered by existing layout tests. Introduced more unit tests to |
| test end-to-end drawing using mock graphic context, and added more |
| test cases to CCLayerTreeHostCommon to verify scissorRect computation. |
| |
| * platform/graphics/chromium/LayerChromium.h: |
| (WebCore::LayerChromium::scissorRect): |
| (WebCore::LayerChromium::setScissorRect): |
| (LayerChromium): |
| * platform/graphics/chromium/LayerRendererChromium.cpp: |
| (WebCore::LayerRendererChromium::clearRenderSurface): |
| (WebCore::LayerRendererChromium::drawRenderPass): |
| (WebCore::LayerRendererChromium::drawQuad): |
| (WebCore::LayerRendererChromium::drawRenderSurfaceQuad): |
| * platform/graphics/chromium/LayerRendererChromium.h: |
| (LayerRendererChromium): |
| * platform/graphics/chromium/RenderSurfaceChromium.cpp: |
| (WebCore::RenderSurfaceChromium::computeRootScissorRectInCurrentSurface): |
| (WebCore): |
| * platform/graphics/chromium/RenderSurfaceChromium.h: |
| (WebCore::RenderSurfaceChromium::scissorRect): |
| (WebCore::RenderSurfaceChromium::setScissorRect): |
| (RenderSurfaceChromium): |
| * platform/graphics/chromium/cc/CCDrawQuad.h: |
| (WebCore::CCDrawQuad::scissorRect): |
| * platform/graphics/chromium/cc/CCLayerImpl.cpp: |
| (WebCore::CCLayerImpl::createSharedQuadState): |
| * platform/graphics/chromium/cc/CCLayerImpl.h: |
| (CCLayerImpl): |
| (WebCore::CCLayerImpl::scissorRect): |
| (WebCore::CCLayerImpl::setScissorRect): |
| * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: |
| (WebCore::CCLayerTreeHost::updateLayers): |
| * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp: |
| (WebCore): |
| (WebCore::calculateLayerScissorRect): |
| (WebCore::calculateSurfaceScissorRect): |
| (WebCore::calculateDrawTransformsInternal): |
| (WebCore::calculateVisibleAndScissorRectsInternal): |
| (WebCore::CCLayerTreeHostCommon::calculateDrawTransforms): |
| (WebCore::CCLayerTreeHostCommon::calculateVisibleAndScissorRects): |
| * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h: |
| (CCLayerTreeHostCommon): |
| * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: |
| (WebCore::CCLayerTreeHostImpl::calculateRenderSurfaceLayerList): |
| (WebCore::CCLayerTreeHostImpl::calculateRenderPasses): |
| (WebCore::CCLayerTreeHostImpl::drawLayers): |
| (WebCore::CCLayerTreeHostImpl::swapBuffers): |
| * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: |
| (CCLayerTreeHostImpl): |
| * platform/graphics/chromium/cc/CCRenderPass.cpp: |
| (WebCore::CCRenderPass::appendQuadsForRenderSurfaceLayer): |
| * platform/graphics/chromium/cc/CCRenderPass.h: |
| (CCRenderPass): |
| * platform/graphics/chromium/cc/CCRenderSurface.cpp: |
| (WebCore::CCRenderSurface::createSharedQuadState): |
| (WebCore::CCRenderSurface::createReplicaSharedQuadState): |
| (WebCore): |
| (WebCore::CCRenderSurface::computeRootScissorRectInCurrentSurface): |
| (WebCore::CCRenderSurface::appendQuads): |
| * platform/graphics/chromium/cc/CCRenderSurface.h: |
| (CCRenderSurface): |
| (WebCore::CCRenderSurface::setScissorRect): |
| (WebCore::CCRenderSurface::scissorRect): |
| * platform/graphics/chromium/cc/CCRenderSurfaceDrawQuad.cpp: |
| (WebCore::CCRenderSurfaceDrawQuad::create): |
| (WebCore::CCRenderSurfaceDrawQuad::CCRenderSurfaceDrawQuad): |
| * platform/graphics/chromium/cc/CCRenderSurfaceDrawQuad.h: |
| (CCRenderSurfaceDrawQuad): |
| * platform/graphics/chromium/cc/CCRenderer.h: |
| (CCRenderer): |
| * platform/graphics/chromium/cc/CCSharedQuadState.cpp: |
| (WebCore::CCSharedQuadState::create): |
| (WebCore::CCSharedQuadState::CCSharedQuadState): |
| * platform/graphics/chromium/cc/CCSharedQuadState.h: |
| (CCSharedQuadState): |
| (WebCore::CCSharedQuadState::scissorRect): |
| |
| 2012-06-04 Kentaro Hara <haraken@chromium.org> |
| |
| Remove SelectorQueryCacheEntry from SelectorQuery.h |
| https://bugs.webkit.org/show_bug.cgi?id=88204 |
| |
| Reviewed by Hajime Morita. |
| |
| As anttik@ pointed out in https://bugs.webkit.org/show_bug.cgi?id=87942#c15, |
| we can remove SelectorQueryCacheEntry by having SelectorQuery hold CSSSelectorList. |
| |
| Tests: fast/dom/SelectorAPI/* No change in test results. |
| |
| * dom/SelectorQuery.cpp: |
| (WebCore::SelectorQuery::SelectorQuery): |
| (WebCore::SelectorQueryCache::add): |
| * dom/SelectorQuery.h: |
| (SelectorQuery): |
| (SelectorQueryCache): |
| |
| 2012-06-04 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> |
| |
| [GTK] Memory leak in PasteboardHelper |
| https://bugs.webkit.org/show_bug.cgi?id=88216 |
| |
| Reviewed by Martin Robinson. |
| |
| Fixed a memory leak in PasteboardHelper by using adoptRef instead |
| of just getting a new reference of TargetList. |
| |
| No new tests because of no behavior changes. |
| |
| * platform/gtk/PasteboardHelper.cpp: |
| (WebCore::PasteboardHelper::dropAtomsForContext): |
| |
| 2012-06-04 Rob Buis <rbuis@rim.com> |
| |
| Hit ASSERT when editing attribute value in Element in SVG Document |
| https://bugs.webkit.org/show_bug.cgi?id=88179 |
| |
| Reviewed by Pavel Feldman. |
| |
| Make sure the <span> is created as a HTML Element regardless of document in use. |
| |
| * inspector/InspectorDOMAgent.cpp: |
| (WebCore): |
| (WebCore::InspectorDOMAgent::setAttributesAsText): |
| |
| 2012-06-04 Yoshifumi Inoue <yosin@chromium.org> |
| |
| [Forms] Change function and variable names independent from "double" type |
| https://bugs.webkit.org/show_bug.cgi?id=88220 |
| |
| Reviewed by Kent Tamura. |
| |
| This patch is a part of introducing decimal arithmetic to input type. |
| |
| This patch renames function and variable names which contain term "double" |
| to "number" to separate concept and implementation. |
| |
| No new tests. This patch doesn't change behavior. |
| |
| * html/BaseDateAndTimeInputType.cpp: |
| (WebCore::BaseDateAndTimeInputType::valueAsDate): Replace parseToDouble to parseToNumber. |
| (WebCore::BaseDateAndTimeInputType::valueAsNumber): ditto. |
| (WebCore::BaseDateAndTimeInputType::parseToNumber): ditto. |
| * html/BaseDateAndTimeInputType.h: |
| (BaseDateAndTimeInputType): |
| * html/DateInputType.cpp: |
| (WebCore::DateInputType::createStepRange): Replace parseToDouble to parseToNumber. |
| * html/DateTimeInputType.cpp: |
| (WebCore::DateTimeInputType::createStepRange): Replace parseToDouble to parseToNumber. |
| * html/DateTimeLocalInputType.cpp: |
| (WebCore::DateTimeLocalInputType::createStepRange): Replace parseToDouble to parseToNumber. |
| * html/InputType.cpp: |
| (WebCore::InputType::rangeUnderflow): Replace parseToDouble to parseToNumber and doubleValue to numericValue. |
| (WebCore::InputType::rangeOverflow): ditto. |
| (WebCore::InputType::isInRange): ditto. |
| (WebCore::InputType::isOutOfRange): ditto. |
| (WebCore::InputType::stepMismatch): ditto. |
| (WebCore::InputType::validationMessage): ditto. |
| (WebCore::InputType::parseToNumber): ditto. |
| (WebCore::InputType::parseToDoubleWithDecimalPlaces): ditto. |
| (WebCore::InputType::stepUpFromRenderer): dttio. |
| * html/InputType.h: |
| (InputType): |
| * html/MonthInputType.cpp: |
| (WebCore::MonthInputType::createStepRange): Replace parseToDouble to parseToNumber. |
| (WebCore::MonthInputType::parseToNumber): ditto. |
| * html/MonthInputType.h: |
| (MonthInputType): |
| * html/NumberInputType.cpp: |
| (WebCore::NumberInputType::valueAsNumber): Replace parseToDouble to parseToNumber. |
| (WebCore::NumberInputType::createStepRange): ditto. |
| (WebCore::NumberInputType::parseToNumber): ditto. |
| * html/NumberInputType.h: |
| * html/RangeInputType.cpp: |
| (WebCore::ensureMaximum): Added helper function for createStepRange for avoiding cast in max() and using "const". |
| (WebCore::RangeInputType::valueAsNumber): Replace parseToDouble to parseToNumber. |
| (WebCore::RangeInputType::createStepRange): ditto. |
| (WebCore::RangeInputType::handleKeydownEvent): ditto. |
| (WebCore::RangeInputType::parseToNumber): ditto. |
| (WebCore::RangeInputType::sanitizeValue): ditto. |
| * html/RangeInputType.h: |
| (RangeInputType): |
| * html/StepRange.cpp: |
| (WebCore::StepRange::parseStep): Replace DoubleWithDecimalPlaces to NumberWithDecimalPlaces. |
| (WebCore::StepRange::stepMismatch): Replace parseToDouble to parseToNumber. |
| * html/StepRange.h: |
| (WebCore::StepRange::NumberWithDecimalPlaces): Renamed from DoubleWithDecimalPlaces. |
| (WebCore::StepRange::NumberWithDecimalPlacesOrMissing): Renamed from DoubleWithDecimalPlacesOrMissing. |
| * html/TimeInputType.cpp: |
| (WebCore::TimeInputType::createStepRange): Replace parseToDouble to parseToNumber. |
| * html/WeekInputType.cpp: |
| (WebCore::WeekInputType::createStepRange): Replace parseToDouble to parseToNumber. |
| |
| 2012-06-04 David Kilzer <ddkilzer@apple.com> |
| |
| BUILD FIX: FeatureDefines.xcconfig should match across projects |
| |
| * Configurations/FeatureDefines.xcconfig: |
| - Add missing ENABLE_CSS_IMAGE_RESOLUTION. |
| |
| 2012-06-04 Justin Novosad <junov@chromium.org> |
| |
| Canvas 2D - Source rectangles that overlap the source image boundary, not supported by drawImage |
| https://bugs.webkit.org/show_bug.cgi?id=66574 |
| |
| Reviewed by Stephen White. |
| |
| Test: fast/canvas/drawImage-clipped-source.html |
| |
| When the source rectangle argument to drawImage is not entirely |
| contatained by the domain of the source image, the source rectangle |
| is clipped, and the destination rectangle is clipped proportionately |
| Old behavior was to silently fail, which did not comply with the spec. |
| |
| * html/canvas/CanvasRenderingContext2D.cpp: |
| (WebCore::normalizeAndClipRects): |
| (WebCore): |
| (WebCore::CanvasRenderingContext2D::drawImage): |
| |
| 2012-06-04 Dominik Röttsches <dominik.rottsches@intel.com> |
| |
| [Cairo] Implementation of GraphicsContext does not save/restore ImageInterpolation correctly |
| https://bugs.webkit.org/show_bug.cgi?id=87985 |
| |
| Reviewed by Gustavo Noronha Silva. |
| |
| Moving image interpolation quality setting into state so that it's saved and restored. |
| |
| Covered by existing test fast/canvas/canvas-imageSmoothingEnabled.html which is now passing. |
| |
| * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: |
| (GraphicsContextPlatformPrivate): Removing stale member that was never used. |
| * platform/graphics/cairo/PlatformContextCairo.cpp: |
| (WebCore::PlatformContextCairo::State::State): |
| (PlatformContextCairo::State): |
| (WebCore::PlatformContextCairo::PlatformContextCairo): |
| (WebCore::PlatformContextCairo::drawSurfaceToContext): |
| (WebCore::PlatformContextCairo::setImageInterpolationQuality): |
| (WebCore): |
| (WebCore::PlatformContextCairo::imageInterpolationQuality): |
| * platform/graphics/cairo/PlatformContextCairo.h: |
| (PlatformContextCairo): Moving implementations for image interpolation quality setter into implementation file. |
| |
| 2012-06-04 Philip Rogers <pdr@google.com> |
| |
| Fix assert in non-scaling strokes in patterns |
| https://bugs.webkit.org/show_bug.cgi?id=88198 |
| |
| When calculating the CTM for a rect or path in a pattern we need to use |
| an SVGPatternElement's local transform. Pattern did not expose the transform |
| because it does not extend from from SVGStyledLocatable or SVGStyledTransformable. |
| This patch exposes the pattern's transform in localCoordinateSpaceTransform. |
| |
| SVGGradientElement does not need this special handling because the children |
| of a gradient element are restricted to not include shape and structural elements |
| that would need to calculate a CTM. |
| |
| Before this patch the added test would assert. |
| This patch is a prerequisite to a major refactoring of RenderSVGShape & |
| friends, and the test will be unskipped in a followup patch. |
| |
| Reviewed by Dirk Schulze. |
| |
| Tests: svg/stroke/non-scaling-stroke-pattern-expected.svg |
| svg/stroke/non-scaling-stroke-pattern.svg |
| |
| * svg/SVGPatternElement.cpp: |
| (WebCore::SVGPatternElement::localCoordinateSpaceTransform): |
| (WebCore): |
| * svg/SVGPatternElement.h: |
| (SVGPatternElement): |
| * svg/SVGStyledElement.cpp: |
| (WebCore::SVGStyledElement::localCoordinateSpaceTransform): |
| |
| 2012-06-04 Alexei Filippov <alexeif@chromium.org> |
| |
| Web Inspector: speed up _calculateRetainedSizes function |
| https://bugs.webkit.org/show_bug.cgi?id=87863 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| * inspector/front-end/HeapSnapshot.js: |
| (WebInspector.HeapSnapshot.prototype._calculateRetainedSizes): |
| |
| 2012-06-04 Yury Semikhatsky <yurys@chromium.org> |
| |
| Web Inspector: add unknown size to the memory pie-chart legend |
| https://bugs.webkit.org/show_bug.cgi?id=88081 |
| |
| Reviewed by Pavel Feldman. |
| |
| Added "Unknown" part size to the memory pie-chart legend. |
| |
| * inspector/front-end/NativeMemorySnapshotView.js: |
| (WebInspector.NativeMemoryProfileType.prototype.buttonClicked.didReceiveMemorySnapshot): |
| (WebInspector.NativeMemoryProfileType.prototype.buttonClicked): |
| (WebInspector.MemoryBlockViewProperties._initialize): |
| (WebInspector.NativeMemoryPieChart.prototype._paint): |
| |
| 2012-06-04 Mike West <mkwst@chromium.org> |
| |
| Adding explicit console error for duplicated CSP directives. |
| https://bugs.webkit.org/show_bug.cgi?id=88193 |
| |
| This patch adds an explicit error message for duplicated CSP |
| directives instead of reusing the "unrecognized directive" error. |
| |
| Reviewed by Adam Barth. |
| |
| Test: http/tests/security/contentSecurityPolicy/duplicate-directive.html |
| |
| * page/ContentSecurityPolicy.cpp: |
| (CSPDirectiveList): |
| (WebCore::CSPDirectiveList::logDuplicateDirective): |
| (WebCore): |
| (WebCore::CSPDirectiveList::parseReportURI): |
| (WebCore::CSPDirectiveList::setCSPDirective): |
| (WebCore::CSPDirectiveList::applySandboxPolicy): |
| (WebCore::CSPDirectiveList::addDirective): |
| |
| 2012-06-04 Yoshifumi Inoue <yosin@chromium.org> |
| |
| REGRESSION(r117929) [Forms] input type=number thinks 0 is not a number |
| https://bugs.webkit.org/show_bug.cgi?id=88208 |
| |
| Reviewed by Kent Tamura. |
| |
| This patch fixes invalid handling of return value of parseToDoubleForNumberType |
| in NumberInputType::isAcceptableValue to use isfinite() function for checking |
| whether specified string is valid number or not. Before r117929, return value |
| of parseToDoubleForNumberType was bool, but after r117929, it is double. |
| |
| Test: fast/forms/number/input-number-from-renderer.html |
| |
| * html/NumberInputType.cpp: |
| (WebCore::NumberInputType::isAcceptableValue): Use isfinite() |
| |
| 2012-06-04 Antti Koivisto <antti@apple.com> |
| |
| Crash in WebCore::RenderView::getRetainedWidgets |
| https://bugs.webkit.org/show_bug.cgi?id=88217 |
| |
| Reviewed by Kenneth Rohde Christiansen. |
| |
| There is no known repro, the crash has been seen on the field. It is likely that it happens with frame |
| flattening enabled only. |
| |
| Null check root renderer in performPostLayoutTasks. The root can legitimely be null for several reasons and |
| is mostly null checked everywhere else. |
| |
| * page/FrameView.cpp: |
| (WebCore::FrameView::performPostLayoutTasks): |
| |
| 2012-06-04 Kentaro Hara <haraken@chromium.org> |
| |
| Use SelectorQuery in Element::webkitMatchesSelector() |
| https://bugs.webkit.org/show_bug.cgi?id=88209 |
| |
| Reviewed by Antti Koivisto. |
| |
| By using SelectorQuery in Element::webkitMatchesSelector(), |
| we can not only simplify the code but also improve the performance |
| thanks to the cache mechanism of SelectorQuery which was implemented |
| in bug 87942. |
| |
| Tests: fast/dom/SelectorAPI/*. No change in test results. |
| |
| * dom/Element.cpp: |
| (WebCore::Element::webkitMatchesSelector): |
| * dom/SelectorQuery.cpp: |
| (WebCore::SelectorQuery::matches): |
| (WebCore): |
| * dom/SelectorQuery.h: |
| (SelectorQuery): |
| |
| 2012-05-31 Kinuko Yasuda <kinuko@chromium.org> |
| |
| [chromium] DataTransferItem.webkitGetAsEntry() should synchronously return entry |
| https://bugs.webkit.org/show_bug.cgi?id=87969 |
| |
| Reviewed by Tony Chang. |
| |
| Per discussion on whatwg we should make webkitGetAsEntry synchronous. |
| http://lists.w3.org/Archives/Public/public-whatwg-archive/2012Apr/0079.html |
| |
| Tests: editing/pasteboard/data-transfer-items-drag-drop-entry.html |
| fast/filesystem/cross-filesystem-op.html |
| |
| * Modules/filesystem/DataTransferItemFileSystem.h: |
| (DataTransferItemFileSystem): |
| * Modules/filesystem/DataTransferItemFileSystem.idl: |
| * Modules/filesystem/chromium/DataTransferItemFileSystemChromium.cpp: |
| (WebCore::DataTransferItemFileSystem::webkitGetAsEntry): Changed it to synchronously return entry. |
| |
| 2012-06-03 Dominic Cooney <dominicc@chromium.org> |
| |
| EventTarget.idl should generate JS bindings |
| https://bugs.webkit.org/show_bug.cgi?id=88120 |
| |
| This is one step in a larger change to expose a constructor for |
| EventTarget and put EventTarget on the prototype chain of DOM |
| objects that are event targets, in line with DOM Core. See |
| <https://bugs.webkit.org/show_bug.cgi?id=67312> |
| |
| Reviewed by Adam Barth. |
| |
| No new tests. This change does not change any functionality. |
| |
| * CMakeLists.txt: Generate JSEventTarget. |
| * DerivedSources.cpp: |
| * DerivedSources.make: |
| * DerivedSources.pri: |
| * GNUmakefile.list.am: |
| * Target.pri: |
| * UseJSC.cmake: |
| * WebCore.gyp/WebCore.gyp: |
| * WebCore.gypi: |
| * WebCore.vcproj/WebCore.vcproj: |
| * WebCore.xcodeproj/project.pbxproj: |
| * bindings/js/JSBindingsAllInOne.cpp: JSEventTarget.cpp was renamed. |
| * bindings/js/JSEventTarget.h: Removed. Generated now. |
| * bindings/js/JSEventTargetCustom.cpp: Renamed from Source/WebCore/bindings/js/JSEventTarget.cpp. |
| * bindings/scripts/CodeGeneratorV8.pm: |
| (GetInternalFields): EventTarget is an EventTarget. |
| * dom/EventTarget.idl: Defer to toJS, toEventTarget in JSEventTargetCustom.cpp. |
| |
| 2012-06-03 Hayato Ito <hayato@chromium.org> |
| |
| Supports traversing nodes in an orphaned shadow subtree in ComposedShadowTreeParentWalker. |
| https://bugs.webkit.org/show_bug.cgi?id=87924 |
| |
| Reviewed by Dimitri Glazkov. |
| |
| Some events, such as a 'click' event, can be dispatched on nodes in an orphaned shadow subtree. |
| When resolving a parent node of a shadow root which is not assigned to any shadow insertion point, |
| we have to return its shadow host as a parent node. |
| |
| The related shadow DOM spec section is: |
| https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#events |
| |
| Test: fast/dom/shadow/shadow-dom-event-dispatching.html |
| |
| * dom/ComposedShadowTreeWalker.cpp: |
| (WebCore::ComposedShadowTreeParentWalker::traverseParentIncludingInsertionPointAndShadowRoot): |
| |
| 2012-06-03 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r119359. |
| http://trac.webkit.org/changeset/119359 |
| https://bugs.webkit.org/show_bug.cgi?id=88189 |
| |
| This broke platform/mac/fast/dom/wrapper-classes-objc.html. |
| (Requested by dominicc on #webkit). |
| |
| * bindings/objc/PublicDOMInterfaces.h: |
| * bindings/scripts/CodeGeneratorObjC.pm: |
| (GetBaseClass): |
| * dom/MouseEvent.h: |
| (MouseEvent): |
| * dom/WheelEvent.cpp: |
| (WebCore::WheelEvent::WheelEvent): |
| * dom/WheelEvent.h: |
| (WheelEvent): |
| * dom/WheelEvent.idl: |
| |
| 2012-06-03 Dominic Cooney <dominicc@chromium.org> |
| |
| WheelEvent should inherit from MouseEvent |
| https://bugs.webkit.org/show_bug.cgi?id=76104 |
| |
| Reviewed by Kentaro Hara. |
| |
| The spec for WheelEvent is |
| <http://www.w3.org/TR/DOM-Level-3-Events/#webidl-events-WheelEvent> |
| |
| Tests: fast/events/event-creation.html |
| http://samples.msdn.microsoft.com/ietestcenter/dominheritance/showdominheritancetest.htm?Prototype_WheelEvent |
| |
| * bindings/objc/PublicDOMInterfaces.h: Remove redundant MouseEvent API from WheelEvent |
| * bindings/scripts/CodeGeneratorObjC.pm: MouseEvents are Events |
| * dom/MouseEvent.h: Expose no-arg constructor to WheelEvent |
| * dom/WheelEvent.cpp: |
| (WebCore::WheelEvent::WheelEvent): Call MouseEvent superconstructor |
| * dom/WheelEvent.h: Extend MouseEvent |
| * dom/WheelEvent.idl: " |
| |
| 2012-06-03 Varun Jain <varunjain@google.com> |
| |
| [chromium] Add new gesture type (two finger tap) that triggers context menu. |
| https://bugs.webkit.org/show_bug.cgi?id=88173 |
| |
| Reviewed by Adam Barth. |
| |
| Test: fast/events/touch/gesture/context-menu-on-two-finger-tap.html |
| |
| * platform/PlatformEvent.h: |
| |
| 2012-06-02 Andy Estes <aestes@apple.com> |
| |
| __ZNK7WebCore4Node27traverseNextAncestorSiblingEv should be exported even if ENABLE(FULLSCREEN_API) is false |
| https://bugs.webkit.org/show_bug.cgi?id=88184 |
| |
| Reviewed by Dan Bernstein. |
| |
| Node::traverseNextAncestorSibling() is called in several inline |
| functions defined in ContainerNode.h (a private header), so its symbol |
| needs to be exported regardless of whether full-screen API is enabled. |
| |
| * WebCore.exp.in: |
| |
| 2012-06-02 Xianzhu Wang <wangxianzhu@chromium.org> |
| |
| SVGImageCache leaks image data |
| https://bugs.webkit.org/show_bug.cgi?id=87792 |
| |
| There are two functions to remove a client from a CachedImage: |
| - CachedResource::removeClient() |
| - CachedImage::removeClientForRenderer(). |
| It's easy to make error to call the former which will leak the cached |
| image buffers in SVGImageCache. |
| |
| This change combined the two by adding the virtual |
| CachedResource::didRemoveClient(). CachedImage will do SVGImageCache |
| cleanup in the function. |
| |
| Reviewed by Nikolas Zimmermann. |
| |
| Test: svg/as-image/svg-image-leak-cached-data.html |
| |
| * loader/cache/CachedFont.h: |
| (WebCore::CachedFontClient::resourceClientType): Added 'const'. |
| * loader/cache/CachedImage.cpp: |
| (WebCore): |
| (WebCore::CachedImage::didRemoveClient): Removes the client from SVGImageCache. |
| (WebCore::CachedImage::lookupOrCreateImageForRenderer): |
| * loader/cache/CachedImage.h: |
| (CachedImage): |
| (WebCore::CachedImageClient::resourceClientType): Added 'const'. |
| * loader/cache/CachedRawResource.h: |
| (WebCore::CachedRawResourceClient::resourceClientType): Added 'const'. |
| * loader/cache/CachedResource.cpp: |
| (WebCore::CachedResource::removeClient): Added invocation of didRemoveClient(). |
| * loader/cache/CachedResource.h: |
| (WebCore::CachedResource::didRemoveClient): Added for subclasses to do additional works. |
| * loader/cache/CachedResourceClient.h: |
| (WebCore::CachedResourceClient::resourceClientType): Added 'const'. |
| * loader/cache/CachedSVGDocument.h: |
| (WebCore::CachedSVGDocumentClient::resourceClientType): Added 'const'. |
| * loader/cache/CachedStyleSheetClient.h: |
| (WebCore::CachedStyleSheetClient::resourceClientType): Added 'const'. |
| * rendering/style/StyleCachedImage.cpp: |
| (WebCore::StyleCachedImage::removeClient): |
| * rendering/style/StyleCachedImageSet.cpp: |
| (WebCore::StyleCachedImageSet::removeClient): |
| * svg/graphics/SVGImageCache.cpp: |
| (WebCore::SVGImageCache::~SVGImageCache): Added checking for leaks. |
| (WebCore::SVGImageCache::removeClientFromCache): |
| (WebCore::SVGImageCache::setRequestedSizeAndScales): |
| (WebCore::SVGImageCache::requestedSizeAndScales): |
| (WebCore::SVGImageCache::lookupOrCreateBitmapImageForClient): |
| * svg/graphics/SVGImageCache.h: |
| (WebCore): |
| (SVGImageCache): |
| |
| 2012-06-02 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Windows build fix after r119330. Unnest the class for now. |
| |
| * dom/SelectorQuery.cpp: |
| (WebCore::SelectorQueryCacheEntry::SelectorQueryCacheEntry): |
| (WebCore::SelectorQueryCache::add): |
| * dom/SelectorQuery.h: |
| (SelectorQueryCacheEntry): |
| (WebCore::SelectorQueryCacheEntry::selectorQuery): |
| (WebCore): |
| (SelectorQueryCache): |
| |
| 2012-06-02 Geoffrey Garen <ggaren@apple.com> |
| |
| DOM string cache should hash pointers, not characters |
| https://bugs.webkit.org/show_bug.cgi?id=88175 |
| |
| Reviewed by Phil Pizlo and Sam Weinig. |
| |
| Dromaeo DOM Core reports no change. |
| |
| http://trac.webkit.org/changeset/84934 accidentally changed from hashing |
| pointers to hashing characters, due to template defaults. Let's change back. |
| |
| Hashing characters is not so good because: |
| |
| (1) It's not memory-safe with HashMap::set(). HashMap::set() replaces |
| the value but not the key. Since our values own our keys, we need to |
| ensure object identity between key and value, or the key can be freed |
| prematurely. (This is impossible to demonstrate with our current |
| eager sweep behavior, but it shows up as crashes in layout tests if you |
| change to lazy sweep.) |
| |
| (2) It's slower. |
| |
| * bindings/js/DOMWrapperWorld.h: |
| (WebCore): Override the default hash, which hashes based on characters. |
| |
| 2012-06-02 Eli Fidler <efidler@rim.com> |
| |
| Don't crash if we ask for fonts that don't exist. |
| https://bugs.webkit.org/show_bug.cgi?id=88106 |
| |
| Reviewed by Dan Bernstein. |
| |
| RIM PR 161219 |
| |
| If the site doesn't ask for a reasonable font and the system doesn't |
| provide a good fallback, FontFallBackList::primaryFontData can be 0, |
| which can cause a crash. |
| |
| * platform/graphics/skia/FontCacheSkia.cpp: |
| (WebCore::FontCache::getLastResortFallbackFont): |
| |
| 2012-06-02 Kentaro Hara <haraken@chromium.org> |
| |
| [Performance] Optimize querySelector() by caching SelectorQuery objects |
| https://bugs.webkit.org/show_bug.cgi?id=87942 |
| |
| Reviewed by Antti Koivisto. |
| |
| This patch improves performance of Node::querySelector() by 7.1x in Safari/Mac |
| and by 8.5x in Chromium/Linux. |
| |
| Performance test: Parser/query-selector-first.html, Parser/query-selector-last.html |
| |
| [query-selector-first.html] |
| Safari/Mac 264.97 runs/s => 1872.78 runs/s (7.06x speed-up) |
| Chromium/Linux 244.84 runs/s => 2071.60 runs/s (8.46x speed-up) |
| |
| [query-selector-last.html] |
| Safari/Mac 393.73 runs/s => 466.05 runs/s (1.18x speed-up) |
| Chromium/Linux 401.15 runs/s => 484.45 runs/s (1.20x speed-up) |
| |
| Previously Node::querySelector() and Node::querySelectorAll() had been |
| parsing CSS queries every time. This patch optimizes the performance by caching |
| parsed results onto a Document. |
| |
| The cache is invalidated when any of CSS related variables is updated. |
| As per the current implementation of CSSParserContext::operator==(), the CSS related |
| variables are as follows: |
| |
| - baseURI |
| - charset |
| - mode |
| - isHTMLDocument |
| - isCSSCustomFilterEnabled |
| - isCSSRegionsEnabled |
| - needsSiteSpecificQuirks |
| - enforcesCSSMIMETypeInNoQuirksMode |
| |
| Actually, we do not need to watch all of these variables: |
| |
| - The current implementation does not watch the change of charset. |
| charset is always set to a null String by CSSParserContext::CSSParserContext(). |
| |
| - isHTMLDocument never changes. |
| |
| - isCSSCustomFilterEnabled, isCSSRegionsEnabled, needsSiteSpecificQuirks and |
| enforcesCSSMIMETypeInNoQuirksMode are not flipped in a user scenario. |
| If someone changes them, it would be reasonable to expect them |
| to take the effect only on subsequent document loads. |
| Thus we do not need to invalidate the cache when these variables are updated. |
| |
| Consequently, the condition under which we have to invalidate the cache is |
| that any of the following variables is updated: |
| |
| - baseURI |
| - mode |
| |
| Tests: fast/dom/SelectorAPI/*. No change in test results. |
| |
| * dom/SelectorQuery.h: SelectorQueryCache is a cache from CSS selectors to parsed results. |
| SelectorQueryCache::Entry is an entry of the cache. |
| SelectorQueryCache::Entry holds a SelectorQuery object and a CSSSelectorList object. |
| The reason why SelectorQueryCache::Entry needs to hold the CSSSelectorList object |
| is that the CSSSelectorList object keeps the lifetime of CSSSelector objects |
| in the SelectorQuery object. Since the SelectorQuery object just holds pointers |
| to CSSSelector objects, the CSSSelectorList object must not be destructed |
| before the SelectorQuery object is destructed. |
| (WebCore): |
| (SelectorDataList): |
| (WebCore::SelectorQuery::SelectorQuery): |
| (SelectorQuery): |
| (SelectorQueryCache): |
| (WebCore::SelectorQueryCache::SelectorQueryCache): |
| (Entry): |
| (WebCore::SelectorQueryCache::Entry::selectorQuery): |
| * dom/SelectorQuery.cpp: |
| (WebCore::SelectorQuery::initialize): |
| (WebCore::SelectorQueryCache::Entry::Entry): |
| (WebCore::SelectorQueryCache::add): Returns a cached SelectorQuery object if any. |
| Otherwise, parses a given CSS selector, creates a SelectorQuery object, |
| adds the SelectorQuery object to a new entry in the cache, returns the SelectorQuery |
| object. |
| (WebCore::SelectorQueryCache::invalidate): Clears the cache. |
| |
| * dom/Document.h: |
| (WebCore): |
| (Document): |
| * dom/Document.cpp: |
| (WebCore::Document::selectorQueryCache): |
| (WebCore): |
| (WebCore::Document::setCompatibilityMode): Invalidates the cache |
| when m_compatibilityMode is updated. |
| (WebCore::Document::updateBaseURL): Invalidates the cache |
| when m_baseURL is updated. |
| |
| * dom/Node.h: Changed String to AtomicString, since the key of the cache |
| should be AtomicString. |
| (Node): |
| * dom/Node.cpp: Optimized the code by using the cache. |
| (WebCore::Node::querySelector): |
| (WebCore::Node::querySelectorAll): |
| |
| 2012-06-02 Dan Bernstein <mitz@apple.com> |
| |
| Reverted the last change. |
| |
| * WebCore.xcodeproj/project.pbxproj: |
| |
| 2012-06-02 Dan Bernstein <mitz@apple.com> |
| |
| Stop treating Perl code as private headers. |
| |
| * WebCore.xcodeproj/project.pbxproj: Removed CodeGenerator.pm, generate-bindings.pl, |
| IDLParser.pm, IDLStructure.pm, and preprocessor.pm from the Copy Headers build phase. |
| |
| 2012-06-02 Zeno Albisser <zeno@webkit.org> |
| |
| Fix and enable WebGL for WebKit2 on Qt. |
| https://bugs.webkit.org/show_bug.cgi?id=86214 |
| |
| Make GraphicsContext3DPrivate use GraphicsSurfaces |
| for WK2. The GraphicsContext3D then uses the existing |
| RenderBuffer for multisample rendering. |
| When WebGraphicsLayer::syncCompositingState is being |
| executed, the canvas is being synced as well. This means |
| that the RenderBuffer contents are being blit onto |
| a GraphicsSurface, and the GraphicsSurface token is |
| being sent to the UIProcess. |
| The WebLayerTreeRenderer then creates a |
| TextureMapperSurfaceBackingStore for the canvas and |
| passes the GraphicsSurface token as an argument. |
| The token can then be used to identify the GraphicsSurface |
| from the UIProcess side. |
| |
| Reviewed by Noam Rosenthal. |
| |
| * platform/graphics/GraphicsContext3D.h: |
| Added createGraphicsSurfaces function. This is currently only |
| being used by the Qt port. |
| |
| * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: |
| (WebCore::GraphicsContext3D::reshape): |
| Calling the createGraphicsSurfaces function when the GraphicsContext3D |
| is reshaped. This is currently only relevant for the Qt port. |
| |
| * platform/graphics/qt/GraphicsContext3DQt.cpp: |
| (GraphicsContext3DPrivate): |
| Added m_frontBufferGraphicsSurface, m_backBufferGraphicsSurface |
| and m_surfaceFlags members. |
| (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate): |
| In case of WK2, create a QOpenGLContext and two GraphicsSurface |
| for sharing the WebGL content with the UIProcess. One GraphicsSurface |
| is being used as the front, the other one as the backbuffer. |
| Creating a QOpenGLContext currently requires showing a QWindow. |
| For the moment we therefore create a minimal QWindow and place |
| it offscreen. |
| (WebCore::GraphicsContext3DPrivate::copyToGraphicsSurface): |
| This new function is called from the WebGraphicsLayer, |
| to blit the multisample framebuffer and copy its contents |
| onto the GraphicsSurface. |
| (WebCore::GraphicsContext3DPrivate::createGraphicsSurfaces): |
| Whenever the GraphicsContext3D is being reshaped, |
| new GraphicsSurfaces must be created with the updated dimensions. |
| (WebCore::GraphicsContext3D::createGraphicsSurfaces): |
| |
| * platform/graphics/texmap/TextureMapperPlatformLayer.h: |
| Added a new virtual function copyToGraphicsSurface. |
| (TextureMapperPlatformLayer): |
| (WebCore::TextureMapperPlatformLayer::copyToGraphicsSurface): |
| |
| 2012-06-02 Tony Chang <tony@chromium.org> |
| |
| Rename the flexbox CSS propery values from start to flex-start and end to flex-end |
| https://bugs.webkit.org/show_bug.cgi?id=88152 |
| |
| Reviewed by Ojan Vafai. |
| |
| The spec changed. This is to differentiate from start/end which will |
| depend on writing mode direction, rather than flex direction. |
| |
| No new tests, just updated the existing values. |
| |
| * css/CSSParser.cpp: |
| (WebCore::isValidKeywordPropertyAndValue): |
| * css/CSSPrimitiveValueMappings.h: |
| (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): |
| (WebCore::CSSPrimitiveValue::operator EAlignItems): |
| (WebCore::CSSPrimitiveValue::operator EJustifyContent): |
| (WebCore::CSSPrimitiveValue::operator EAlignContent): |
| * css/CSSValueKeywords.in: |
| * rendering/RenderFlexibleBox.cpp: |
| (WebCore::initialJustifyContentOffset): |
| (WebCore::alignmentForChild): |
| (WebCore::initialAlignContentOffset): |
| (WebCore::RenderFlexibleBox::alignFlexLines): |
| (WebCore::RenderFlexibleBox::alignChildren): |
| * rendering/style/RenderStyle.h: |
| * rendering/style/RenderStyleConstants.h: |
| |
| 2012-06-01 Alexandre Elias <aelias@google.com> |
| |
| [chromium] Software compositor initialization and base classes |
| https://bugs.webkit.org/show_bug.cgi?id=87920 |
| |
| Reviewed by James Robinson. |
| |
| This introduces new wrapper class CCGraphicsContext and base class |
| CCRenderer which will be used for software compositing support. |
| If no GraphicsContext3D is available, early return for now. |
| |
| No new tests. (No-op change in 3d mode.) |
| |
| * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp: |
| (WebCore::BitmapCanvasLayerTextureUpdater::Texture::updateRect): |
| (WebCore::BitmapCanvasLayerTextureUpdater::updateTextureRect): |
| * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h: |
| (Texture): |
| (BitmapCanvasLayerTextureUpdater): |
| * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp: |
| (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::updateRect): |
| (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::updateTextureRect): |
| * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h: |
| (Texture): |
| (BitmapSkPictureCanvasLayerTextureUpdater): |
| * platform/graphics/chromium/CanvasLayerTextureUpdater.h: |
| * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp: |
| (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::updateRect): |
| (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect): |
| * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.h: |
| (Texture): |
| (FrameBufferSkPictureCanvasLayerTextureUpdater): |
| * platform/graphics/chromium/ImageLayerChromium.cpp: |
| (WebCore::ImageLayerTextureUpdater::Texture::updateRect): |
| (WebCore::ImageLayerTextureUpdater::updateTextureRect): |
| * platform/graphics/chromium/LayerChromium.h: |
| (WebCore): |
| * platform/graphics/chromium/LayerRendererChromium.cpp: |
| (WebCore::CCRenderer::toGLMatrix): |
| (WebCore): |
| (WebCore::LayerRendererChromium::create): |
| (WebCore::CCRenderer::CCRenderer): |
| (WebCore::LayerRendererChromium::LayerRendererChromium): |
| (WebCore::LayerRendererChromium::copyPlaneToTexture): |
| (WebCore::LayerRendererChromium::drawHeadsUpDisplay): |
| (WebCore::LayerRendererChromium::getFramebufferTexture): |
| (WebCore::LayerRendererChromium::bindFramebufferToTexture): |
| * platform/graphics/chromium/LayerRendererChromium.h: |
| (CCRenderer): |
| (WebCore::CCRenderer::~CCRenderer): |
| (WebCore::CCRenderer::ccContext): |
| (WebCore::CCRenderer::settings): |
| (WebCore::CCRenderer::viewportSize): |
| (WebCore::CCRenderer::viewportWidth): |
| (WebCore::CCRenderer::viewportHeight): |
| (WebCore::CCRenderer::projectionMatrix): |
| (WebCore::CCRenderer::windowMatrix): |
| (WebCore::CCRenderer::sharedGeometryQuad): |
| (WebCore): |
| (LayerRendererChromium): |
| * platform/graphics/chromium/LayerTextureSubImage.cpp: |
| (WebCore::LayerTextureSubImage::upload): |
| (WebCore::LayerTextureSubImage::uploadWithTexSubImage): |
| (WebCore::LayerTextureSubImage::uploadWithMapTexSubImage): |
| * platform/graphics/chromium/LayerTextureSubImage.h: |
| (WebCore): |
| (LayerTextureSubImage): |
| * platform/graphics/chromium/LayerTextureUpdater.h: |
| (WebCore): |
| (Texture): |
| * platform/graphics/chromium/ManagedTexture.cpp: |
| (WebCore::ManagedTexture::bindTexture): |
| (WebCore::ManagedTexture::framebufferTexture2D): |
| * platform/graphics/chromium/ManagedTexture.h: |
| (WebCore): |
| (ManagedTexture): |
| * platform/graphics/chromium/RenderSurfaceChromium.cpp: |
| * platform/graphics/chromium/TextureCopier.cpp: |
| (WebCore::AcceleratedTextureCopier::copyTexture): |
| * platform/graphics/chromium/TextureCopier.h: |
| (TextureCopier): |
| (AcceleratedTextureCopier): |
| * platform/graphics/chromium/TextureUploader.h: |
| (TextureUploader): |
| * platform/graphics/chromium/ThrottledTextureUploader.cpp: |
| (WebCore::ThrottledTextureUploader::uploadTexture): |
| * platform/graphics/chromium/ThrottledTextureUploader.h: |
| (ThrottledTextureUploader): |
| * platform/graphics/chromium/cc/CCGraphicsContext.h: Copied from Source/WebCore/platform/graphics/chromium/CanvasLayerTextureUpdater.h. |
| (WebCore): |
| (CCGraphicsContext): |
| (WebCore::CCGraphicsContext::create2D): |
| (WebCore::CCGraphicsContext::create3D): |
| (WebCore::CCGraphicsContext::context3D): |
| (WebCore::CCGraphicsContext::CCGraphicsContext): |
| * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp: |
| (WebCore::CCHeadsUpDisplay::draw): |
| * platform/graphics/chromium/cc/CCLayerImpl.cpp: |
| (WebCore::CCLayerImpl::willDraw): |
| (WebCore::CCLayerImpl::bindContentsTexture): |
| * platform/graphics/chromium/cc/CCLayerImpl.h: |
| (WebCore): |
| (CCLayerImpl): |
| * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: |
| (WebCore::CCLayerTreeHost::createContext): |
| (WebCore::CCLayerTreeHost::context): |
| * platform/graphics/chromium/cc/CCLayerTreeHost.h: |
| (CCLayerTreeHostClient): |
| (WebCore::CCSettings::CCSettings): |
| (CCSettings): |
| (CCLayerTreeHost): |
| * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: |
| (WebCore::CCLayerTreeHostImpl::context): |
| (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer): |
| * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: |
| (CCLayerTreeHostImpl): |
| (WebCore::CCLayerTreeHostImpl::layerRenderer): |
| * platform/graphics/chromium/cc/CCProxy.h: |
| (WebCore): |
| (CCProxy): |
| * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp: |
| (WebCore::CCScrollbarLayerImpl::willDraw): |
| * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h: |
| (CCScrollbarLayerImpl): |
| * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp: |
| (WebCore::CCSingleThreadProxy::context): |
| (WebCore::CCSingleThreadProxy::initializeContext): |
| (WebCore::CCSingleThreadProxy::recreateContext): |
| * platform/graphics/chromium/cc/CCSingleThreadProxy.h: |
| (CCSingleThreadProxy): |
| * platform/graphics/chromium/cc/CCTextureUpdater.cpp: |
| (WebCore::CCTextureUpdater::update): |
| * platform/graphics/chromium/cc/CCTextureUpdater.h: |
| (CCTextureUpdater): |
| * platform/graphics/chromium/cc/CCThreadProxy.cpp: |
| (WebCore::CCThreadProxy::context): |
| (WebCore::CCThreadProxy::initializeContext): |
| (WebCore::CCThreadProxy::recreateContext): |
| (WebCore::CCThreadProxy::beginFrame): |
| (WebCore::CCThreadProxy::initializeContextOnImplThread): |
| (WebCore::CCThreadProxy::recreateContextOnImplThread): |
| * platform/graphics/chromium/cc/CCThreadProxy.h: |
| (CCThreadProxy): |
| * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp: |
| (WebCore::CCVideoLayerImpl::willDraw): |
| (WebCore::CCVideoLayerImpl::willDrawInternal): |
| (WebCore::CCVideoLayerImpl::reserveTextures): |
| * platform/graphics/chromium/cc/CCVideoLayerImpl.h: |
| (CCVideoLayerImpl): |
| |
| 2012-06-01 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r119283, r119287, and r119291. |
| http://trac.webkit.org/changeset/119283 |
| http://trac.webkit.org/changeset/119287 |
| http://trac.webkit.org/changeset/119291 |
| https://bugs.webkit.org/show_bug.cgi?id=88159 |
| |
| Not only broke compilation in the initial commit but also |
| broke LayerChromiumTest.basicCreateAndDestroy (Requested by |
| rniwa on #webkit). |
| |
| * WebCore.gypi: |
| * platform/graphics/chromium/AnimationTranslationUtil.cpp: Removed. |
| * platform/graphics/chromium/AnimationTranslationUtil.h: Removed. |
| * platform/graphics/chromium/GraphicsLayerChromium.cpp: |
| (WebCore::GraphicsLayerChromium::addAnimation): |
| * platform/graphics/chromium/LayerChromium.cpp: |
| (WebCore::LayerChromium::addAnimation): |
| * platform/graphics/chromium/LayerChromium.h: |
| (LayerChromium): |
| * platform/graphics/chromium/LinkHighlight.cpp: |
| (WebCore::LinkHighlight::LinkHighlight): |
| * platform/graphics/chromium/cc/CCAnimationCurve.h: |
| (CCTransformAnimationCurve): |
| * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.cpp: |
| (WebCore::CCTransformKeyframe::create): |
| (WebCore::CCTransformKeyframe::CCTransformKeyframe): |
| (WebCore::CCTransformKeyframe::value): |
| (WebCore::CCTransformKeyframe::clone): |
| (WebCore::CCKeyframedTransformAnimationCurve::getValue): |
| * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.h: |
| (CCTransformKeyframe): |
| (CCKeyframedTransformAnimationCurve): |
| * platform/graphics/chromium/cc/CCLayerAnimationController.cpp: |
| (WebCore::CCLayerAnimationController::addAnimation): |
| (WebCore): |
| (WebCore::CCLayerAnimationController::add): |
| (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread): |
| (WebCore::CCLayerAnimationController::replaceImplThreadAnimations): |
| (WebCore::CCLayerAnimationController::tickAnimations): |
| * platform/graphics/chromium/cc/CCLayerAnimationController.h: |
| (CCLayerAnimationControllerClient): |
| (CCLayerAnimationController): |
| * platform/graphics/chromium/cc/CCLayerImpl.h: |
| |
| 2012-06-01 Levi Weintraub <leviw@chromium.org> |
| |
| Large number constant in TransformationMatrix::projectPoint overflows FractionalLayoutUnits with sub-pixel layout enabled |
| https://bugs.webkit.org/show_bug.cgi?id=87896 |
| |
| Reviewed by James Robinson. |
| |
| kLargeNumber is meant to avoid overflowing when projecting a point through a transform. Unfortunately, |
| due to FractionalLayoutUnit's diminished range compared to integers, we were overflowing anyways. This |
| change adjusts our large number by the same value, but adjusted for our denominator. |
| |
| This was originally missed because transforms/3d is marked as pass/fail in Chromium's test_expectations.txt |
| https://bugs.webkit.org/show_bug.cgi?id=66989 tracks removing this problem. |
| |
| No new tests. Covered by transforms/3d/hit-testing/perspective-clipped.html |
| |
| * platform/graphics/transforms/TransformationMatrix.cpp: |
| (WebCore::TransformationMatrix::projectPoint): |
| |
| 2012-06-01 Tim Horton <timothy_horton@apple.com> |
| |
| Cleanup GeneratorGeneratedImage/Gradient changes from r117858 |
| https://bugs.webkit.org/show_bug.cgi?id=88063 |
| |
| Reviewed by Simon Fraser. |
| |
| No new tests, code cleanup. |
| |
| * platform/graphics/Generator.h: |
| (WebCore::Generator::hash): hash() should be const. |
| * platform/graphics/GeneratorGeneratedImage.cpp: |
| (WebCore::GeneratorGeneratedImage::drawPattern): Minor cleanup. |
| * platform/graphics/Gradient.cpp: |
| (WebCore::Gradient::Gradient): Rename m_hashCache to m_cachedHash. |
| (WebCore::Gradient::addColorStop): Rename clearHashCache to invalidateHash. |
| (WebCore::Gradient::sortStopsIfNecessary): Rename clearHashCache to invalidateHash. |
| (WebCore::Gradient::setSpreadMethod): Rename clearHashCache to invalidateHash. |
| (WebCore::Gradient::setGradientSpaceTransform): Rename clearHashCache to invalidateHash. |
| (WebCore::Gradient::hash): Use intHash instead of the pair hasher. Add compile time size checks |
| for structures being passed to StringHasher. |
| * platform/graphics/Gradient.h: |
| (WebCore::Gradient::setP0): Rename clearHashCache to invalidateHash. |
| (WebCore::Gradient::setP1): Rename clearHashCache to invalidateHash. |
| (WebCore::Gradient::setStartRadius): Rename clearHashCache to invalidateHash. |
| (WebCore::Gradient::setEndRadius): Rename clearHashCache to invalidateHash. |
| (WebCore::Gradient::invalidateHash): Rename clearHashCache to invalidateHash. |
| * platform/graphics/GraphicsContext.cpp: |
| (WebCore::scalesMatch): Added. Determine if the scale of two AffineTransforms match. |
| (WebCore::GraphicsContext::isCompatibleWithBuffer): Make use of scalesMatch to simplify the logic. |
| |
| 2012-06-01 Raymond Toy <rtoy@google.com> |
| |
| Remove RefInfo class |
| https://bugs.webkit.org/show_bug.cgi?id=87904 |
| |
| Reviewed by Chris Rogers. |
| |
| No new tests; covered by existing tests. |
| |
| * Modules/webaudio/AudioBufferSourceNode.cpp: |
| (WebCore::AudioBufferSourceNode::~AudioBufferSourceNode): Clear |
| panner node. |
| (WebCore::AudioBufferSourceNode::totalPitchRate): |
| (WebCore::AudioBufferSourceNode::setPannerNode): Use |
| RefTypeConnection counting for panner node. |
| (WebCore): |
| (WebCore::AudioBufferSourceNode::clearPannerNode): New function to |
| clear panner node in AudioBufferSourceNode. |
| (WebCore::AudioBufferSourceNode::finish): Clear panner node when done. |
| * Modules/webaudio/AudioBufferSourceNode.h: |
| (AudioBufferSourceNode): Add virtual finish(), m_pannerNode is not |
| a RefPtr anymore. |
| * Modules/webaudio/AudioContext.cpp: |
| (WebCore::AudioContext::addDeferredFinishDeref): Remove unneeded RefTyp. |
| (WebCore::AudioContext::handleDeferredFinishDerefs): Remove |
| unneeded RefType. |
| * Modules/webaudio/AudioContext.h: |
| (AudioContext): Update addDeferredFinishDeref signature. |
| * Modules/webaudio/AudioNode.cpp: |
| (WebCore::AudioNode::deref): Update call to addDeferredFinishDeref. |
| * Modules/webaudio/AudioScheduledSourceNode.h: |
| (AudioScheduledSourceNode): Make finish() virtual. |
| |
| 2012-06-01 Tony Chang <tony@chromium.org> |
| |
| rename -webkit-flex-pack and -webkit-flex-line-pack to -webkit-justify-content and -webkit-align-content |
| https://bugs.webkit.org/show_bug.cgi?id=88113 |
| |
| Reviewed by Ojan Vafai. |
| |
| This recently changed in the spec: |
| http://dev.w3.org/csswg/css3-flexbox/#justify-content-property |
| http://dev.w3.org/csswg/css3-flexbox/#align-content-property |
| |
| No new tests, updated existing tests. |
| |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore): |
| (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): |
| * css/CSSParser.cpp: |
| (WebCore::isValidKeywordPropertyAndValue): |
| (WebCore::isKeywordPropertyID): |
| (WebCore::CSSParser::parseValue): |
| * css/CSSPrimitiveValueMappings.h: |
| (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): |
| (WebCore::CSSPrimitiveValue::operator EJustifyContent): |
| (WebCore::CSSPrimitiveValue::operator EAlignContent): |
| * css/CSSProperty.cpp: |
| (WebCore::CSSProperty::isInheritedProperty): |
| * css/CSSPropertyNames.in: |
| * css/StyleBuilder.cpp: |
| (WebCore::StyleBuilder::StyleBuilder): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::collectMatchingRulesForList): |
| * rendering/RenderFlexibleBox.cpp: |
| (WebCore::RenderFlexibleBox::repositionLogicalHeightDependentFlexItems): |
| (WebCore::initialJustifyContentOffset): |
| (WebCore::justifyContentSpaceBetweenChildren): |
| (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): |
| (WebCore::RenderFlexibleBox::layoutColumnReverse): |
| (WebCore::initialAlignContentOffset): |
| (WebCore::alignContentSpaceBetweenChildren): |
| (WebCore::RenderFlexibleBox::alignFlexLines): |
| * rendering/RenderFlexibleBox.h: |
| * rendering/style/RenderStyle.h: |
| * rendering/style/RenderStyleConstants.h: |
| * rendering/style/StyleFlexibleBoxData.cpp: |
| (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData): |
| (WebCore::StyleFlexibleBoxData::operator==): |
| * rendering/style/StyleFlexibleBoxData.h: |
| (StyleFlexibleBoxData): |
| * rendering/style/StyleRareNonInheritedData.cpp: |
| (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): |
| (WebCore::StyleRareNonInheritedData::operator==): |
| * rendering/style/StyleRareNonInheritedData.h: |
| (StyleRareNonInheritedData): |
| |
| 2012-06-01 Adam Barth <abarth@webkit.org> |
| |
| Overflow scrolling doesn't need to create a stacking context is the overflow is hidden |
| https://bugs.webkit.org/show_bug.cgi?id=88057 |
| |
| Reviewed by James Robinson. |
| |
| This patch causes us to match the iOS implementation of this feature. |
| |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::collectMatchingRulesForList): |
| |
| 2012-06-01 James Robinson <jamesr@chromium.org> |
| |
| [chromium] Unreviewed compile fix for r119283 |
| |
| For the record, Dana Jensens <danakj@chromium.org> wrote this slightly faster than I did. |
| |
| * platform/graphics/chromium/LayerChromium.h: |
| (WebCore::LayerChromium::bounds): |
| * platform/graphics/chromium/cc/CCLayerImpl.h: |
| (WebCore::CCLayerImpl::bounds): |
| |
| 2012-06-01 Ian Vollick <vollick@chromium.org> |
| |
| [chromium] Accelerated animations should use WebTransformOperations |
| https://bugs.webkit.org/show_bug.cgi?id=87686 |
| |
| Reviewed by James Robinson. |
| |
| CCTransformKeyframe new owns a WebTransformOperations rather than a |
| TransformOperations. LayerChromium's API has been changed so that |
| LayerChromium::addAnimation should take only a CCActiveAnimation. |
| GraphicsLayerChromium is new responsible for translating to |
| WebTransformOperations and creating CCActiveAnimations. Tests that use |
| the public API (that is, they call addAnimation with KeyframeValueList |
| and Animation arguments) have been moved to GraphicsLayerChromiumTest. |
| |
| Unit tests: |
| GraphicsLayerChromiumTest.createOpacityAnimation |
| GraphicsLayerChromiumTest.createTransformAnimation |
| GraphicsLayerChromiumTest.createTransformAnimationWithBigRotation |
| GraphicsLayerChromiumTest.createTransformAnimationWithSingularMatrix |
| GraphicsLayerChromiumTest.createReversedAnimation |
| GraphicsLayerChromiumTest.createAlternatingAnimation |
| GraphicsLayerChromiumTest.createReversedAlternatingAnimation |
| |
| * WebCore.gypi: |
| * platform/graphics/chromium/AnimationTranslationUtil.cpp: Added. |
| (WebCore): |
| (WebCore::toWebTransformOperations): |
| (WebCore::appendKeyframe): |
| (WebCore::CCKeyframedTransformAnimationCurve): |
| (WebCore::createActiveAnimation): |
| * platform/graphics/chromium/AnimationTranslationUtil.h: Added. |
| (WebCore): |
| * platform/graphics/chromium/GraphicsLayerChromium.cpp: |
| (WebCore::GraphicsLayerChromium::addAnimation): |
| * platform/graphics/chromium/LayerChromium.cpp: |
| (WebCore::LayerChromium::addAnimation): |
| * platform/graphics/chromium/LayerChromium.h: |
| (WebCore): |
| (LayerChromium): |
| * platform/graphics/chromium/LinkHighlight.cpp: |
| (WebCore::LinkHighlight::LinkHighlight): |
| * platform/graphics/chromium/cc/CCAnimationCurve.h: |
| (CCTransformAnimationCurve): |
| * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.cpp: |
| (WebCore::CCTransformKeyframe::create): |
| (WebCore::CCTransformKeyframe::CCTransformKeyframe): |
| (WebCore::CCTransformKeyframe::value): |
| (WebCore::CCTransformKeyframe::clone): |
| (WebCore::CCKeyframedTransformAnimationCurve::getValue): |
| * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.h: |
| (CCTransformKeyframe): |
| (CCKeyframedTransformAnimationCurve): |
| * platform/graphics/chromium/cc/CCLayerAnimationController.cpp: |
| (WebCore::CCLayerAnimationController::removeAnimation): |
| (WebCore): |
| (WebCore::CCLayerAnimationController::addAnimation): |
| (WebCore::CCLayerAnimationController::getActiveAnimation): |
| (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread): |
| (WebCore::CCLayerAnimationController::replaceImplThreadAnimations): |
| (WebCore::CCLayerAnimationController::tickAnimations): |
| * platform/graphics/chromium/cc/CCLayerAnimationController.h: |
| (CCLayerAnimationControllerClient): |
| (CCLayerAnimationController): |
| |
| 2012-06-01 Mihai Parparita <mihaip@chromium.org> |
| |
| Improve synchronous XHR disabling |
| https://bugs.webkit.org/show_bug.cgi?id=88032 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * testing/InternalSettings.cpp: |
| (WebCore::InternalSettings::setSyncXHRInDocumentsEnabled): Fix a |
| copy-and-paste error |
| * xml/XMLHttpRequest.cpp: |
| (WebCore::XMLHttpRequest::open): Improves the disabled message, as |
| suggested in a comment after r118599 was put in the commit queue. |
| |
| 2012-06-01 Beth Dakin <bdakin@apple.com> |
| |
| https://bugs.webkit.org/show_bug.cgi?id=87774 |
| REGRESSION (r105515): reflection masks are truncated at zoom levels < 1 |
| -and corresponding- |
| <rdar://problem/11387506> |
| |
| Reviewed by Simon Fraser. |
| |
| paintNinePieceImage() expects un-zoomed results from |
| calculateImageIntrinsicDimensions(). This was previously addressed by having |
| paintNinePieceImage() divide the effective zoom out of the result from |
| calculateImageIntrinsicDimensions(). However, that results in buggy behavior for |
| generated images and images with percentage sizes. In the end it seems best to |
| just send a parameter to calculateImageIntrinsicDimensions() indicating whether |
| the caller wants the result to be scaled by the effective zoom when appropriate. |
| |
| * rendering/RenderBoxModelObject.cpp: |
| (WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions): |
| (WebCore::RenderBoxModelObject::calculateFillTileSize): |
| (WebCore::RenderBoxModelObject::paintNinePieceImage): |
| * rendering/RenderBoxModelObject.h: |
| (RenderBoxModelObject): |
| |
| 2012-06-01 Julien Chaffraix <jchaffraix@webkit.org> |
| |
| Prepare table collapsed border computation to support mixed directionality on row group |
| https://bugs.webkit.org/show_bug.cgi?id=88110 |
| |
| Reviewed by Ojan Vafai. |
| |
| No expected change in behavior. |
| |
| One big issue with supporting mixed directionality inside a table is that the start / end |
| borders don't align between table parts anymore: the start border of a ltr table will have |
| to match the end border of a rtl row group for the purpose of collapsed border computation. |
| |
| This change adds the concept of adjoining borders in the table direction so that we can safely |
| hide which exact borders we pick up for the collapsed border computation. |
| |
| * rendering/RenderTable.cpp: |
| (WebCore::RenderTable::calcBorderStart): |
| (WebCore::RenderTable::calcBorderEnd): |
| Refactored those functions to use proper naming along with the new APIs. The name 'adjoining' is |
| used extensively as we cannot make any assumptions on which borders we will get. |
| |
| (WebCore::RenderTable::recalcBordersInRowDirection): |
| Added a FIXME found during testing. |
| |
| * rendering/RenderTableCell.h: |
| (WebCore::RenderTableCell::borderAdjoiningTableStart): |
| (WebCore::RenderTableCell::borderAdjoiningTableEnd): |
| * rendering/RenderTableRow.h: |
| (WebCore::RenderTableRow::borderAdjoiningTableStart): |
| (WebCore::RenderTableRow::borderAdjoiningTableEnd): |
| * rendering/RenderTableSection.h: |
| (WebCore::RenderTableSection::borderAdjoiningTableStart): |
| (WebCore::RenderTableSection::borderAdjoiningTableEnd): |
| Those functions are the same at the moment to match the existing code. They |
| will be changed to use the proper directionality in a follow up patch. |
| |
| * rendering/RenderTableSection.cpp: |
| (WebCore::RenderTableSection::firstRowCellAdjoiningTableStart): |
| (WebCore::RenderTableSection::firstRowCellAdjoiningTableEnd): |
| Those functions return the cells that is adjoining a table edge. Due to us flipping |
| the cells at layout to match the section's direction, those functions will need to |
| account for mixed direction in determining the right cell to consider. |
| |
| 2012-06-01 Shezan Baig <shezbaig.wk@gmail.com> |
| |
| Indenting a paragraph that begins with a link 3 times breaks the paragraph into two paragraphs |
| https://bugs.webkit.org/show_bug.cgi?id=87428 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Fix the way lastNode (our insertion point) is updated whenever |
| traverseNextSibling moves up to a new parent, so that the relative |
| depth between the next sibling and the original start node is |
| maintained in the clone. The divergence in depth broke the paragraph |
| into two paragraphs because the next sibling was inserted outside the |
| blockquote that was created for the indentation. |
| |
| Note that the topNode is not required anymore because it is no longer |
| used anywhere. |
| |
| Tests: editing/execCommand/indent-nested-inlines-1.html |
| editing/execCommand/indent-nested-inlines-2.html |
| |
| * editing/CompositeEditCommand.cpp: |
| (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement): |
| |
| 2012-06-01 Joe Thomas <joethomas@motorola.com> |
| |
| getComputedStyle for background shorthand property does not return background-origin and background-clip. |
| https://bugs.webkit.org/show_bug.cgi?id=86155 |
| |
| Reviewed by Tony Chang. |
| |
| Added background-origin and background-clip CSS Property values to the background shorthand CSSValueList. |
| |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore::CSSComputedStyleDeclaration::getBackgroundShorthandValue): |
| |
| 2012-06-01 Mark Pilgrim <pilgrim@chromium.org> |
| |
| [Chromium] Call clipboard methods directly |
| https://bugs.webkit.org/show_bug.cgi?id=88038 |
| |
| Reviewed by Adam Barth. |
| |
| Part of a refactoring series. See tracking bug 82948. |
| |
| * WebCore.gypi: |
| * platform/Pasteboard.h: |
| (Pasteboard): |
| * platform/chromium/ChromiumDataObject.cpp: |
| (WebCore::ChromiumDataObject::createFromPasteboard): |
| * platform/chromium/ChromiumDataObjectItem.cpp: |
| (WebCore::ChromiumDataObjectItem::getAsFile): |
| (WebCore::ChromiumDataObjectItem::internalGetAsString): |
| * platform/chromium/ClipboardUtilitiesChromium.cpp: |
| (WebCore::currentPasteboardBuffer): |
| * platform/chromium/ClipboardUtilitiesChromium.h: |
| (WebCore): |
| * platform/chromium/PasteboardChromium.cpp: |
| (WebCore::Pasteboard::writeSelection): |
| (WebCore::Pasteboard::writePlainText): |
| (WebCore::Pasteboard::writeURL): |
| (WebCore::Pasteboard::writeImage): |
| (WebCore::Pasteboard::writeClipboard): |
| (WebCore::Pasteboard::canSmartReplace): |
| (WebCore::Pasteboard::plainText): |
| (WebCore::Pasteboard::documentFragment): |
| * platform/chromium/PasteboardPrivate.h: Removed. |
| * platform/chromium/PlatformSupport.h: |
| (WebCore): |
| (PlatformSupport): |
| |
| 2012-06-01 Hugo Parente Lima <hugo.lima@openbossa.org> |
| |
| Improve handling of legacy viewport meta tags |
| https://bugs.webkit.org/show_bug.cgi?id=55874 |
| |
| Reviewed by Adam Barth. |
| |
| We now support MobileOptimized and HandheldFriendly as well. |
| |
| We set width equal to device-width for HandheldFriendly and |
| for MobileOptimized, the content value of MobileOptimized is |
| ignored and the initial-scale set to 1 to fit Android behavior. |
| |
| The prioritizing is done the same way as on Windows Phone 7: |
| |
| XHTML Mobile Profile found |
| HandheldFriendly |
| MobileOptimized (overrides HandheldFriendly) |
| Viewport (overrides all above) |
| |
| Original patch by Kenneth Rohde Christiansen. |
| |
| Tests: fast/viewport/viewport-legacy-handheldfriendly.html |
| fast/viewport/viewport-legacy-mobileoptimized-2.html |
| fast/viewport/viewport-legacy-mobileoptimized-3.html |
| fast/viewport/viewport-legacy-mobileoptimized.html |
| fast/viewport/viewport-legacy-ordering-1.html |
| fast/viewport/viewport-legacy-ordering-2.html |
| fast/viewport/viewport-legacy-ordering-3.html |
| fast/viewport/viewport-legacy-ordering-4.html |
| fast/viewport/viewport-legacy-ordering-5.html |
| fast/viewport/viewport-legacy-ordering-6.html |
| fast/viewport/viewport-legacy-ordering-7.html |
| fast/viewport/viewport-legacy-ordering-8.html |
| fast/viewport/viewport-legacy-ordering-9.html |
| |
| * dom/Document.cpp: |
| (WebCore::Document::setDocType): |
| (WebCore::Document::processViewport): Add an origin parameter to |
| tell what is changing the viewport. |
| * dom/Document.h: |
| (Document): |
| * dom/ViewportArguments.h: |
| * html/HTMLMetaElement.cpp: |
| (WebCore::HTMLMetaElement::process): |
| |
| 2012-06-01 Tony Chang <tony@chromium.org> |
| |
| rename -webkit-flex-order to -webkit-order |
| https://bugs.webkit.org/show_bug.cgi?id=88104 |
| |
| Reviewed by Ojan Vafai. |
| |
| This recently changed in the spec: |
| http://dev.w3.org/csswg/css3-flexbox/#order-property |
| |
| No new tests, just updated existing results. |
| |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore): |
| (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::parseValue): |
| * css/CSSProperty.cpp: |
| (WebCore::CSSProperty::isInheritedProperty): |
| * css/CSSPropertyNames.in: |
| * css/StyleBuilder.cpp: |
| (WebCore::StyleBuilder::StyleBuilder): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::collectMatchingRulesForList): |
| * rendering/RenderFlexibleBox.cpp: |
| (WebCore::RenderFlexibleBox::OrderIterator::OrderIterator): |
| (WebCore::RenderFlexibleBox::OrderIterator::next): |
| (WebCore::RenderFlexibleBox::layoutBlock): |
| (WebCore::RenderFlexibleBox::repositionLogicalHeightDependentFlexItems): |
| (WebCore::RenderFlexibleBox::layoutFlexItems): |
| (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes): |
| (WebCore::RenderFlexibleBox::computeNextFlexLine): |
| (WebCore::RenderFlexibleBox::packFlexLines): |
| (WebCore::RenderFlexibleBox::alignChildren): |
| (WebCore::RenderFlexibleBox::flipForRightToLeftColumn): |
| (WebCore::RenderFlexibleBox::flipForWrapReverse): |
| * rendering/RenderFlexibleBox.h: |
| * rendering/style/RenderStyle.h: |
| * rendering/style/StyleFlexibleBoxData.cpp: |
| (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData): |
| (WebCore::StyleFlexibleBoxData::operator==): |
| * rendering/style/StyleFlexibleBoxData.h: |
| (StyleFlexibleBoxData): |
| * rendering/style/StyleRareNonInheritedData.cpp: |
| (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): |
| (WebCore::StyleRareNonInheritedData::operator==): |
| * rendering/style/StyleRareNonInheritedData.h: |
| (StyleRareNonInheritedData): |
| |
| 2012-06-01 Zeno Albisser <zeno@webkit.org> |
| |
| Unreviewed build fix after r119247. |
| |
| Do not include TextureMapperGL.h when not building |
| with GRAPHICS_SURFACE. |
| |
| * platform/graphics/texmap/TextureMapperBackingStore.cpp: |
| |
| 2012-06-01 Mario Sanchez Prada <msanchez@igalia.com> |
| |
| [GTK] Add a new and reusable Geoclue-based geolocation provider in WebCore |
| https://bugs.webkit.org/show_bug.cgi?id=87800 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Added new and reusable Geoclue-based geolocation provider to WebCore. |
| |
| * GNUmakefile.am: |
| * GNUmakefile.list.am: |
| * platform/geoclue/GeolocationProviderGeoclue.cpp: Added. |
| (getPositionCallback): |
| (positionChangedCallback): |
| (GeolocationProviderGeoclue::GeolocationProviderGeoclue): |
| (GeolocationProviderGeoclue::~GeolocationProviderGeoclue): |
| (GeolocationProviderGeoclue::startUpdating): |
| (GeolocationProviderGeoclue::stopUpdating): |
| (GeolocationProviderGeoclue::setEnableHighAccuracy): |
| (GeolocationProviderGeoclue::setGeoclueClient): |
| (GeolocationProviderGeoclue::setGeocluePosition): |
| (GeolocationProviderGeoclue::updateClientRequirements): |
| (GeolocationProviderGeoclue::positionChanged): |
| (GeolocationProviderGeoclue::errorOccured): |
| * platform/geoclue/GeolocationProviderGeoclue.h: Added. |
| (WebCore): |
| (GeolocationProviderGeoclue): |
| * platform/geoclue/GeolocationProviderGeoclueClient.h: Added. |
| (WebCore): |
| (GeolocationProviderGeoclueClient): |
| |
| 2012-06-01 Thiago Marcos P. Santos <thiago.santos@intel.com> |
| |
| [Qt] Remove deprecated Q_GLOBAL_STATIC_WITH_INITIALIZER |
| https://bugs.webkit.org/show_bug.cgi?id=88100 |
| |
| Reviewed by Tor Arne Vestbø. |
| |
| It will be deprecated on Qt5. |
| |
| * platform/text/qt/TextBreakIteratorInternalICUQt.cpp: |
| (WebCore): |
| |
| 2012-06-01 Zeno Albisser <zeno@webkit.org> |
| |
| Make TextureMapper work with GraphicsSurface. |
| https://bugs.webkit.org/show_bug.cgi?id=87738 |
| |
| Add TextureMapperSurfaceBackingStore, a new backing store |
| that allows to import textures from a GraphicsSurface. |
| On Mac the GraphicsSurface is backed by an IOSurface |
| which must be used with a GL_TEXTURE_RECTANGLE_ARB texture. |
| Therefore it is also necessary to add new shader programs |
| for directly painting these textures on screen. |
| |
| Reviewed by Noam Rosenthal. |
| |
| * platform/graphics/texmap/TextureMapperBackingStore.cpp: |
| Add a new TextureMapperBackingStore implementation that can directly |
| reuse textures as they are being passed from the GraphicsSurface. |
| (WebCore::TextureMapperSurfaceBackingStore::setGraphicsSurface): |
| (WebCore::TextureMapperSurfaceBackingStore::texture): |
| (WebCore::TextureMapperSurfaceBackingStore::paintToTextureMapper): |
| * platform/graphics/texmap/TextureMapperBackingStore.h: |
| (GraphicsSurfaceData): |
| (WebCore::GraphicsSurfaceData::setSurface): |
| (WebCore::GraphicsSurfaceData::GraphicsSurfaceData): |
| (TextureMapperSurfaceBackingStore): |
| (WebCore::TextureMapperSurfaceBackingStore::create): |
| (WebCore::TextureMapperSurfaceBackingStore::~TextureMapperSurfaceBackingStore): |
| (WebCore::TextureMapperSurfaceBackingStore::TextureMapperSurfaceBackingStore): |
| |
| * platform/graphics/texmap/TextureMapperGL.cpp: |
| Add a drawing function for textures of type GL_TEXTURE_RECTANGLE_ARB. |
| (WebCore::TextureMapperGL::drawTextureRectangleARB): |
| * platform/graphics/texmap/TextureMapperShaderManager.cpp: |
| (WebCore::TextureMapperShaderManager::getShaderProgram): |
| (WebCore::TextureMapperShaderProgramSimple::create): |
| (WebCore::TextureMapperShaderProgramSimple::initialize): |
| (WebCore::TextureMapperShaderProgramSolidColor::create): |
| (WebCore::TextureMapperShaderProgramSolidColor::initialize): |
| (WebCore::TextureMapperShaderProgramRectSimple::create): |
| (WebCore::TextureMapperShaderProgramRectSimple::fragmentShaderSource): |
| (WebCore::TextureMapperShaderProgramOpacityAndMask::create): |
| (WebCore::TextureMapperShaderProgramOpacityAndMask::initialize): |
| (WebCore::TextureMapperShaderProgramRectOpacityAndMask::create): |
| (WebCore::TextureMapperShaderProgramRectOpacityAndMask::fragmentShaderSource): |
| |
| * platform/graphics/texmap/TextureMapperShaderManager.h: |
| Add new shader programs that can be used with GL_TEXTURE_RECTANGLE_ARB textures. |
| This is mainly necessary, because this type of texture uses non-normalized coordinates. |
| Further move the calls to initializeProgram() from the constructor into a separate |
| initialize() function, as initializeProgram() calls vertexShaderSource() (and friends) |
| and we should not call virtual functions in the constructor. |
| (WebCore::TextureMapperShaderProgram::initialize): |
| (TextureMapperShaderProgramSimple): |
| (WebCore::TextureMapperShaderProgramSimple::TextureMapperShaderProgramSimple): |
| (TextureMapperShaderProgramRectSimple): |
| (WebCore::TextureMapperShaderProgramRectSimple::TextureMapperShaderProgramRectSimple): |
| (TextureMapperShaderProgramOpacityAndMask): |
| (WebCore::TextureMapperShaderProgramOpacityAndMask::TextureMapperShaderProgramOpacityAndMask): |
| (TextureMapperShaderProgramRectOpacityAndMask): |
| (WebCore::TextureMapperShaderProgramRectOpacityAndMask::TextureMapperShaderProgramRectOpacityAndMask): |
| (TextureMapperShaderProgramSolidColor): |
| (WebCore::TextureMapperShaderProgramSolidColor::TextureMapperShaderProgramSolidColor): |
| |
| 2012-06-01 Christophe Dumez <christophe.dumez@intel.com> |
| |
| [EFL] EFL port does not enable WEB_INTENTS_TAG flag |
| https://bugs.webkit.org/show_bug.cgi?id=86866 |
| |
| Reviewed by Adam Barth. |
| |
| Fix compilation error when WEB_INTENTS_TAG flag is enabled. |
| HTMLElement::insertedInto() takes a ContainerNode* in argument, not a |
| Node*. |
| |
| Test: webintents/intent-tag.html |
| |
| * CMakeLists.txt: |
| * html/HTMLIntentElement.cpp: |
| (WebCore::HTMLIntentElement::insertedInto): |
| * html/HTMLIntentElement.h: |
| (HTMLIntentElement): |
| |
| 2012-06-01 Dominik Röttsches <dominik.rottsches@intel.com> |
| |
| [cairo] Pixel artifacts can be seen on reflections |
| https://bugs.webkit.org/show_bug.cgi?id=85483 |
| |
| Antialiased clipping in the simple rectangular clip method |
| leads to edge artifacts when transformations are applied to the layer. |
| Explicitly disabling antialiased clipping for this function solves this issue. |
| Comparing Cairo GraphicsContext to Qt and Skia GC, it seems that these |
| backends do not expect the platform context to clip antialiased in this |
| case either. |
| |
| Reviewed by Martin Robinson. |
| |
| No new tests, covered by fast/css/transformed-mask.html. |
| |
| * platform/graphics/cairo/GraphicsContextCairo.cpp: |
| (WebCore::GraphicsContext::clip): |
| |
| 2012-06-01 Florin Malita <fmalita@chromium.org> |
| |
| http://shinydemos.com/clock/ doesn't seem to work |
| https://bugs.webkit.org/show_bug.cgi?id=79682 |
| |
| Reviewed by Nikolas Zimmermann. |
| |
| Test: svg/repaint/text-mask-update.svg |
| |
| Currently, parent resources are not invalidated when SVGInlineText nodes |
| are added or removed. Adjusting SVGResourcesCache::clientWasAddedToTree() |
| and SVGResourcesCache::clientWillBeRemovedFromTree() to cover this case. |
| |
| * rendering/svg/SVGResourcesCache.cpp: |
| (WebCore::SVGResourcesCache::clientWasAddedToTree): |
| (WebCore::SVGResourcesCache::clientWillBeRemovedFromTree): |
| |
| 2012-06-01 John Mellor <johnme@chromium.org> |
| |
| Don't set scroll position twice in HistoryController::restoreScrollPositionAndViewState |
| https://bugs.webkit.org/show_bug.cgi?id=88068 |
| |
| Reviewed by Adam Barth. |
| |
| In the case where pageScaleFactor changes, we were calling |
| setScrollPosition with an incorrect scroll position (i.e. a scroll |
| position scaled by the pageScaleFactor we hadn't yet applied), then |
| fixing it by setting the pageScaleFactor and scroll position together, |
| overwriting the old scroll position. It's cleaner to just set the |
| pageScaleFactor and scroll position together. |
| |
| No new tests as this isn't expected to change the ultimate behavior, just clean up how it happens. |
| |
| * loader/HistoryController.cpp: |
| (WebCore::HistoryController::restoreScrollPositionAndViewState): |
| |
| 2012-06-01 Thiago Marcos P. Santos <thiago.santos@intel.com> |
| |
| [Qt] Remove deprecated to/fromAscii() |
| https://bugs.webkit.org/show_bug.cgi?id=88086 |
| |
| Reviewed by Simon Hausmann. |
| |
| Replacing to/fromAscii with to/fromLatin1 since it |
| is deprecated on Qt5. |
| |
| * bridge/qt/qt_class.cpp: |
| (JSC::Bindings::QtClass::fallbackObject): |
| * platform/network/qt/ResourceRequestQt.cpp: |
| (WebCore::ResourceRequest::toNetworkRequest): |
| |
| 2012-06-01 Dan Bernstein <mitz@apple.com> |
| |
| Layout not updated after setting -webkit-line-clamp to none |
| https://bugs.webkit.org/show_bug.cgi?id=88049 |
| |
| Reviewed by Abhishek Arya. |
| |
| Test: fast/flexbox/line-clamp-removed-dynamically.html |
| |
| * rendering/RenderDeprecatedFlexibleBox.cpp: |
| (WebCore::RenderDeprecatedFlexibleBox::styleWillChange): Added. Calls clearLineClamp if |
| line-clamp will change to none. |
| (WebCore::RenderDeprecatedFlexibleBox::clearLineClamp): Added. Marks possibly-clamped |
| children for layout and clears truncation from blocks. |
| * rendering/RenderDeprecatedFlexibleBox.h: |
| |
| 2012-06-01 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r119213. |
| http://trac.webkit.org/changeset/119213 |
| https://bugs.webkit.org/show_bug.cgi?id=88084 |
| |
| This patch broke two tests on all platform except Chromium. |
| The authors are unavailable. (Requested by zherczeg on |
| #webkit). |
| |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::collectMatchingRulesForList): |
| |
| 2012-06-01 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r119219. |
| http://trac.webkit.org/changeset/119219 |
| https://bugs.webkit.org/show_bug.cgi?id=88088 |
| |
| This patch broke two tests on GTK/Qt. The authors are |
| unavailable. (Requested by kkristof on #webkit). |
| |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::closeAndRemoveChild): |
| (WebCore::FrameLoader::detachFromParent): |
| * page/Frame.cpp: |
| (WebCore::Frame::willDetachPage): |
| * page/Frame.h: |
| (Frame): |
| (WebCore::Frame::detachFromPage): |
| (WebCore): |
| * page/Page.cpp: |
| (WebCore::Page::~Page): |
| |
| 2012-06-01 Alexei Filippov <alexeif@chromium.org> |
| |
| Web Inspector: Add Closure compiler annotations to WorkerConsole |
| https://bugs.webkit.org/show_bug.cgi?id=88073 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| * inspector/front-end/HeapSnapshotWorker.js: |
| (WebInspector.WorkerConsole.prototype.log): |
| (WebInspector.WorkerConsole.prototype.error): |
| (WebInspector.WorkerConsole.prototype.info): |
| |
| 2012-06-01 MORITA Hajime <morrita@google.com> |
| |
| Frame::willDetachPage() shouldn't be called more than once. |
| https://bugs.webkit.org/show_bug.cgi?id=88056 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| This change moved willDetachPage() to private and calls it from |
| detachFromParent(). Also, it checks m_page and call |
| willDetachPage() only once, if m_page is available. |
| |
| No new tests. Covered by existing suites. |
| |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::closeAndRemoveChild): |
| (WebCore::FrameLoader::detachFromParent): |
| * page/Frame.cpp: |
| (WebCore::Frame::detachFromPage): |
| (WebCore): |
| (WebCore::Frame::willDetachPage): |
| * page/Frame.h: |
| (Frame): |
| * page/Page.cpp: |
| (WebCore::Page::~Page): |
| |
| 2012-06-01 Pierre Rossi <pierre.rossi@gmail.com> |
| |
| [Qt] Support drawing a pattern with a translation. |
| https://bugs.webkit.org/show_bug.cgi?id=87025 |
| |
| Drawing an SVG pattern that has its x or y attribute set |
| works by setting a transform on the Pattern. |
| We would ignore this by only taking into account the texture and |
| target rect. |
| |
| Reviewed by Kenneth Rohde Christiansen. |
| |
| test: svg/W3C-SVG-1.1-SE/pservers-pattern-04-f.svg |
| |
| * platform/graphics/qt/GraphicsContextQt.cpp: |
| (WebCore::drawRepeatPattern): refactored to take into account the translation set on the brush. |
| (WebCore::GraphicsContext::fillRect): |
| |
| 2012-06-01 Yoshifumi Inoue <yosin@chromium.org> |
| |
| REGRESSION(r109729) [Form] Rendering of select/optgroup/option combination is too slow. |
| https://bugs.webkit.org/show_bug.cgi?id=88059 |
| |
| Reviewed by Kent Tamura. |
| |
| This patch changes to share RenderStyle object among the "option" |
| elements to improve rendering performance and reducing memory usage |
| of RenderStyle. |
| |
| No new tests. This patch doesn't change behavior but rendering performance. |
| |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::canShareStyleWithElement): Check attribute value |
| mismatching for "option" element. |
| |
| 2012-06-01 Alexander Pavlov <apavlov@chromium.org> |
| |
| Web Inspector: [REGRESSION] Bad layout of "Override device metrics" controls in the Settings dialog |
| https://bugs.webkit.org/show_bug.cgi?id=88074 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| The "Override device metrics" controls are placed in a table, which gets too narrow. Give it a |
| "white-space: nowrap" to avoid wrapping individual cells. |
| |
| * inspector/front-end/SettingsScreen.js: |
| (WebInspector.SettingsScreen.prototype._createDeviceMetricsElement): |
| * inspector/front-end/elementsPanel.css: |
| * inspector/front-end/inspector.css: |
| (.nowrap): |
| |
| 2012-06-01 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> |
| |
| [EFL] Implement PlatformStrategies |
| https://bugs.webkit.org/show_bug.cgi?id=86946 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * PlatformEfl.cmake: Add PlatformStrategies.cpp file to the build system. |
| Also, remove PluginDataEfl.cpp because the same functionality is now |
| implemented in PlatformStrategiesEfl.cpp. |
| |
| 2012-06-01 Adam Barth <abarth@webkit.org> |
| |
| ASSERT(m_fontSelector->document()) is bogus and should be removed |
| https://bugs.webkit.org/show_bug.cgi?id=88053 |
| |
| Reviewed by Abhishek Arya. |
| |
| This ASSERT was introduced in http://trac.webkit.org/changeset/97402 |
| together with a branch that handled the case of the ASSERT firing. |
| This ASSERT fires when running tests on Android (which runs with |
| ASSERTs enabled). The ASSERT appears to be bogus, so this patch removes |
| it. |
| |
| * css/CSSSegmentedFontFace.cpp: |
| (WebCore::CSSSegmentedFontFace::getFontData): |
| |
| 2012-06-01 Yoshifumi Inoue <yosin@chromium.org> |
| |
| [Platform][Decimal] UInt128::operator/= calls makeUInt128 with wrong argument order |
| https://bugs.webkit.org/show_bug.cgi?id=88044 |
| |
| Reviewed by Kent Tamura. |
| |
| This patch fixed wrong argument of makeUInt128 in UInt128::operator/= to get right |
| result for decimal multiplication. |
| |
| Test: WebKit/chromium/tests/DecimalTest.cpp: Add new a new test case. |
| |
| * platform/Decimal.cpp: |
| (WebCore::DecimalPrivate::UInt128::operator/=): |
| |
| 2012-06-01 Adam Barth <abarth@webkit.org> |
| |
| sandbox directive in X-WebKit-CSP header unable to create a unique origin |
| https://bugs.webkit.org/show_bug.cgi?id=88014 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| We process the HTTP headers for a response after we create a document |
| object for the response. Previously, the SecurityOrigin of a document |
| was determined when the document was created, which meant that the |
| sandbox directive in CSP couldn't create a unique origin. |
| |
| In this patch, we transition to a unique origin when we start enforcing |
| the SandboxOrigin bit. This patch is more complicated than you might |
| expect because we redundantly store the SecurityOrigin object in |
| DOMWindow. Removing that redundant state is |
| https://bugs.webkit.org/show_bug.cgi?id=75793. |
| |
| The CSP sandbox directive is defined in |
| http://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-1.0-specification.html |
| by reference to |
| http://www.whatwg.org/specs/web-apps/current-work/#forced-sandboxing-flag-set. |
| The relation between sandbox and unique origin arises from |
| http://www.whatwg.org/specs/web-apps/current-work/#origin-0. |
| |
| Test: http/tests/security/contentSecurityPolicy/sandbox-allow-scripts-in-http-header-control.html |
| http/tests/security/contentSecurityPolicy/sandbox-allow-scripts-in-http-header.html |
| http/tests/security/contentSecurityPolicy/sandbox-in-http-header-control.html |
| http/tests/security/contentSecurityPolicy/sandbox-in-http-header.html |
| |
| * dom/Document.cpp: |
| (WebCore::Document::didUpdateSecurityOrigin): |
| (WebCore::Document::initContentSecurityPolicy): |
| * dom/Document.h: |
| (Document): |
| * dom/SecurityContext.cpp: |
| (WebCore::SecurityContext::enforceSandboxFlags): |
| (WebCore): |
| (WebCore::SecurityContext::didUpdateSecurityOrigin): |
| * dom/SecurityContext.h: |
| (SecurityContext): |
| |
| 2012-05-31 Yury Semikhatsky <yurys@chromium.org> |
| |
| Web Inspector: expose MemoryCache statistics in the inspector protocol |
| https://bugs.webkit.org/show_bug.cgi?id=87984 |
| |
| Reviewed by Pavel Feldman. |
| |
| Added MemoryCache statistics to Memory.getProcessMemoryDistribution command |
| result. Corresponding sector is added to the memory pie-chart. |
| |
| * inspector/InspectorMemoryAgent.cpp: |
| (MemoryBlockName): |
| (WebCore): |
| (WebCore::addMemoryBlockFor): |
| (WebCore::memoryCacheInfo): |
| (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution): |
| * inspector/front-end/NativeMemorySnapshotView.js: |
| (WebInspector.MemoryBlockViewProperties._initialize): |
| |
| 2012-05-31 Yury Semikhatsky <yurys@chromium.org> |
| |
| Web Inspector: add RenderArena sizes to the memory pie-chart |
| https://bugs.webkit.org/show_bug.cgi?id=87971 |
| |
| Reviewed by Pavel Feldman. |
| |
| Added allocated and used sizes of page render arenas to the memory |
| report returned by the InspectorMemoryAgent. Total allocated size of |
| the inspected page's render arenas will be displayed on the memory |
| pie-chart. |
| |
| * inspector/InspectorMemoryAgent.cpp: |
| (MemoryBlockName): |
| (WebCore): |
| (WebCore::renderTreeInfo): |
| (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution): |
| * inspector/front-end/NativeMemorySnapshotView.js: |
| (WebInspector.MemoryBlockViewProperties._initialize): |
| |
| 2012-05-30 Yury Semikhatsky <yurys@chromium.org> |
| |
| Web Inspector: change type of injected script id from long to int |
| https://bugs.webkit.org/show_bug.cgi?id=87837 |
| |
| Reviewed by Pavel Feldman. |
| |
| Changed injected script id type from long to int so that we don't |
| lose precision when sending the id over the protocol. |
| |
| * bindings/js/JSInjectedScriptManager.cpp: |
| (WebCore::InjectedScriptManager::createInjectedScript): |
| (WebCore::InjectedScriptManager::injectedScriptFor): |
| * bindings/v8/custom/V8InjectedScriptManager.cpp: |
| (WebCore::InjectedScriptManager::createInjectedScript): |
| (WebCore::InjectedScriptManager::injectedScriptFor): |
| * inspector/InjectedScriptManager.cpp: |
| (WebCore::InjectedScriptManager::injectedScriptForId): |
| (WebCore::InjectedScriptManager::injectedScriptIdFor): |
| (WebCore::InjectedScriptManager::injectScript): |
| * inspector/InjectedScriptManager.h: |
| (InjectedScriptManager): |
| * inspector/PageRuntimeAgent.cpp: |
| (WebCore::PageRuntimeAgent::notifyContextCreated): |
| |
| 2012-05-29 Yury Semikhatsky <yurys@chromium.org> |
| |
| Web Inspector: draw pie-chart based on memory data received from backend |
| https://bugs.webkit.org/show_bug.cgi?id=87737 |
| |
| Reviewed by Pavel Feldman. |
| |
| Added pie chart for memory data received from inspector memory agent. |
| |
| * WebCore.gypi: |
| * WebCore.vcproj/WebCore.vcproj: |
| * inspector/front-end/NativeMemorySnapshotView.js: |
| (WebInspector.NativeMemorySnapshotView): |
| (WebInspector.NativeMemoryProfileType): |
| (WebInspector.NativeMemoryProfileType.prototype.buttonClicked.didReceiveMemorySnapshot): |
| (WebInspector.NativeMemoryProfileType.prototype.buttonClicked): |
| (WebInspector.NativeMemoryProfileHeader): |
| (WebInspector.MemoryBlockViewProperties): |
| (WebInspector.MemoryBlockViewProperties._initialize): |
| (WebInspector.MemoryBlockViewProperties._forMemoryBlock): |
| (WebInspector.NativeMemoryPieChart): |
| (WebInspector.NativeMemoryPieChart.prototype.onResize): |
| (WebInspector.NativeMemoryPieChart.prototype._updateSize): |
| (WebInspector.NativeMemoryPieChart.prototype._addBlockLabels): |
| (WebInspector.NativeMemoryPieChart.prototype._paint.paintPercentAndLabel): |
| (WebInspector.NativeMemoryPieChart.prototype._paint): |
| (WebInspector.NativeMemoryPieChart.prototype._clear): |
| * inspector/front-end/WebKit.qrc: |
| * inspector/front-end/nativeMemoryProfiler.css: Added. |
| (.memory-pie-chart-container): |
| (.memory-pie-chart): |
| (.memory-blocks-list .swatch): |
| (.memory-blocks-list): |
| (.memory-blocks-list .item): |
| |
| 2012-05-31 Dominic Cooney <dominicc@chromium.org> |
| |
| [V8] Expando properties on attribute nodes disappear |
| https://bugs.webkit.org/show_bug.cgi?id=87925 |
| |
| Reviewed by Adam Barth. |
| |
| Test: fast/dom/gc-attribute-node.html |
| |
| * bindings/v8/V8GCController.cpp: |
| (WebCore::calculateGroupId): Group attributes like other nodes. |
| |
| 2012-05-31 Alexander Shalamov <alexander.shalamov@intel.com> |
| |
| [EFL] <input type="number"> is not a spinbutton |
| https://bugs.webkit.org/show_bug.cgi?id=86846 |
| |
| Reviewed by Kenneth Rohde Christiansen. |
| |
| Implemented adjustInnerSpinButtonStyle and |
| paintInnerSpinButton in RenderThemeEfl. |
| |
| * platform/efl/RenderThemeEfl.cpp: |
| (WebCore::RenderThemeEfl::applyEdjeStateFromForm): |
| (WebCore::RenderThemeEfl::edjeGroupFromFormType): |
| (WebCore::RenderThemeEfl::adjustInnerSpinButtonStyle): |
| (WebCore): |
| (WebCore::RenderThemeEfl::paintInnerSpinButton): |
| * platform/efl/RenderThemeEfl.h: |
| (RenderThemeEfl): |
| |
| 2012-05-31 Hajime Morrita <morrita@chromium.org> |
| |
| REGRESSION(r117572): editing/spelling/spellcheck-async-remove-frame.html crashes on Mac |
| https://bugs.webkit.org/show_bug.cgi?id=86859 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| The test tries to reach an invalid SpellChecker object. Such an access should be guarded |
| beforehand. |
| |
| Asynchronous spellchecking can return results after originated |
| frame is gone, which triggered an invalid access to the dead spellchecker |
| object. This chagne prevents it by marking request objects from |
| the spellchecker as invalid: |
| |
| - Originally TextCheckerClient API was passed a SpellCheker object. |
| This change abstracted it behind TextCheckingRequest interface, |
| didSucceed() and didCancel() method specifically. |
| - TextCheckingRequest was turned from a plain old object into |
| a refcounted abstract class, which is now subclassed by SpellCheckRequest. |
| - SpellChecker now marks pending SpellCheckRequest objects as invalid |
| on its destructor. |
| |
| Test: editing/spelling/spellcheck-async-remove-frame.html |
| |
| * WebCore.exp.in: |
| * editing/SpellChecker.cpp: |
| (WebCore::SpellCheckRequest::SpellCheckRequest): |
| (WebCore::SpellCheckRequest::create): |
| (WebCore::SpellCheckRequest::didSucceed): |
| (WebCore): |
| (WebCore::SpellCheckRequest::didCancel): |
| (WebCore::SpellCheckRequest::wasRequestedBy): |
| (WebCore::SpellCheckRequest::requesterDestroyed): |
| (WebCore::SpellChecker::~SpellChecker): |
| (WebCore::SpellChecker::requestCheckingFor): |
| (WebCore::SpellChecker::invokeRequest): |
| (WebCore::SpellChecker::didCheckSucceed): |
| (WebCore::SpellChecker::didCheckCancel): |
| * editing/SpellChecker.h: |
| (WebCore): |
| (SpellCheckRequest): |
| (WebCore::SpellCheckRequest::isStarted): |
| (SpellChecker): |
| * loader/EmptyClients.h: |
| (WebCore::EmptyTextCheckerClient::requestCheckingOfString): |
| * platform/text/TextCheckerClient.h: |
| (TextCheckerClient): |
| * platform/text/TextChecking.h: |
| (GrammarDetail): |
| (TextCheckingResult): |
| (TextCheckingRequest): |
| (WebCore::TextCheckingRequest::~TextCheckingRequest): |
| |
| 2012-05-31 Tony Chang <tony@chromium.org> |
| |
| initial flex value should be 1 1 auto |
| https://bugs.webkit.org/show_bug.cgi?id=86526 |
| |
| Reviewed by Ojan Vafai. |
| |
| Also, if -webkit-flex is used to set the positive flex to 0 and |
| the negative flex is omitted, the negative flex is set to 0. |
| |
| New test cases in: flex-property-parsing.html |
| |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::parseFlex): |
| * css/StyleBuilder.cpp: |
| (WebCore::ApplyPropertyFlex::applyValue): |
| * rendering/style/RenderStyle.h: |
| |
| 2012-05-31 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r119146. |
| http://trac.webkit.org/changeset/119146 |
| https://bugs.webkit.org/show_bug.cgi?id=88035 |
| |
| android breakage fixed in http://crrev.com/139945 (Requested |
| by fischman on #webkit). |
| |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::HTMLMediaElement): |
| (WebCore::HTMLMediaElement::startProgressEventTimer): |
| (WebCore::HTMLMediaElement::changeNetworkStateFromLoadingToIdle): |
| (WebCore::HTMLMediaElement::progressEventTimerFired): |
| (WebCore::HTMLMediaElement::startPlaybackProgressTimer): |
| * platform/graphics/MediaPlayer.cpp: |
| (WebCore::NullMediaPlayerPrivate::didLoadingProgress): |
| (WebCore::MediaPlayer::didLoadingProgress): |
| * platform/graphics/MediaPlayer.h: |
| * platform/graphics/MediaPlayerPrivate.h: |
| (MediaPlayerPrivateInterface): |
| * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: |
| (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation): |
| (WebCore::MediaPlayerPrivateAVFoundation::didLoadingProgress): |
| * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: |
| (MediaPlayerPrivateAVFoundation): |
| * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp: |
| (WebCore::MediaPlayerPrivate::didLoadingProgress): |
| * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h: |
| (MediaPlayerPrivate): |
| * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: |
| (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer): |
| (WebCore::MediaPlayerPrivateGStreamer::didLoadingProgress): |
| * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: |
| (MediaPlayerPrivateGStreamer): |
| * platform/graphics/mac/MediaPlayerPrivateQTKit.h: |
| (MediaPlayerPrivateQTKit): |
| * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: |
| (WebCore::MediaPlayerPrivateQTKit::MediaPlayerPrivateQTKit): |
| (WebCore::MediaPlayerPrivateQTKit::didLoadingProgress): |
| * platform/graphics/qt/MediaPlayerPrivateQt.cpp: |
| (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt): |
| (WebCore::MediaPlayerPrivateQt::didLoadingProgress): |
| * platform/graphics/qt/MediaPlayerPrivateQt.h: |
| (MediaPlayerPrivateQt): |
| * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: |
| (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext): |
| (WebCore::MediaPlayerPrivateQuickTimeVisualContext::didLoadingProgress): |
| * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h: |
| (MediaPlayerPrivateQuickTimeVisualContext): |
| * platform/graphics/wince/MediaPlayerPrivateWinCE.h: |
| (MediaPlayerPrivate): |
| |
| 2012-05-31 Tom Sepez <tsepez@chromium.org> |
| |
| XSSAuditor bypass with leading /*///*/ comment |
| https://bugs.webkit.org/show_bug.cgi?id=88002 |
| |
| Reviewed by Adam Barth. |
| |
| Fixes issue in xssauditor's parsing of /*/. |
| |
| Test: http/tests/security/xssAuditor/script-tag-with-trailing-comment4.html |
| |
| * html/parser/XSSAuditor.cpp: |
| (WebCore::XSSAuditor::decodedSnippetForJavaScript): |
| |
| 2012-05-31 Hans Muller <hmuller@adobe.com> |
| |
| Bug: Negative SVG rect rx,ry corner radii values aren't handled correctly |
| https://bugs.webkit.org/show_bug.cgi?id=87859 |
| |
| Reviewed by Dirk Schulze. |
| |
| Added the rect element corner radius constraints specified in steps 2-4 of |
| http://www.w3.org/TR/SVG/shapes.html#RectElement to Path::addRoundedRect(). |
| Support for steps 6 and 7 was already included. Steps 2-4: |
| |
| 2 - If neither rx nor ry are properly specified, then set both rx and ry to 0. (This will result in square corners.) |
| 3 - Otherwise, if a properly specified value is provided for rx, but not for ry then set both rx and ry to the value of rx. |
| 4 - Otherwise, if a properly specified value is provided for ry, but not for rx, then set both rx and ry to the value of ry. |
| |
| Tests: svg/custom/rect-negative-corner-radii-expected.svg |
| svg/custom/rect-negative-corner-radii.svg |
| |
| * platform/graphics/Path.cpp: |
| (WebCore::Path::addRoundedRect): |
| |
| 2012-05-31 Shawn Singh <shawnsingh@chromium.org> |
| |
| [chromium] Migrate to WebTransformationMatrix |
| https://bugs.webkit.org/show_bug.cgi?id=87788 |
| |
| Reviewed by James Robinson. |
| |
| Covered by all existing layout tests and unit tests. |
| |
| This patch replaces all occurrences of WebCore::TransformationMatrix |
| with WebKit::WebTransformationMatrix in the chromium compositor code. |
| |
| * platform/chromium/support/WebTransformationMatrix.cpp: |
| (WebKit::WebTransformationMatrix::WebTransformationMatrix): |
| (WebKit): |
| * platform/graphics/chromium/LayerChromium.cpp: |
| (WebCore::LayerChromium::setSublayerTransform): |
| (WebCore::LayerChromium::setTransform): |
| (WebCore::LayerChromium::setTransformFromAnimation): |
| * platform/graphics/chromium/LayerChromium.h: |
| (LayerChromium): |
| (WebCore::LayerChromium::sublayerTransform): |
| (WebCore::LayerChromium::drawTransform): |
| (WebCore::LayerChromium::setDrawTransform): |
| (WebCore::LayerChromium::screenSpaceTransform): |
| (WebCore::LayerChromium::setScreenSpaceTransform): |
| * platform/graphics/chromium/LayerRendererChromium.cpp: |
| (WebCore::LayerRendererChromium::drawCheckerboardQuad): |
| (WebCore::LayerRendererChromium::drawDebugBorderQuad): |
| (WebCore::LayerRendererChromium::drawBackgroundFilters): |
| (WebCore::LayerRendererChromium::drawRenderSurfaceQuad): |
| (WebCore::LayerRendererChromium::drawSolidColorQuad): |
| (WebCore::LayerRendererChromium::drawTileQuad): |
| (WebCore::LayerRendererChromium::drawHeadsUpDisplay): |
| (WebCore::LayerRendererChromium::toGLMatrix): |
| (WebCore::LayerRendererChromium::drawTexturedQuad): |
| (WebCore::LayerRendererChromium::copyTextureToFramebuffer): |
| * platform/graphics/chromium/LayerRendererChromium.h: |
| (WebCore::LayerRendererChromium::projectionMatrix): |
| (WebCore::LayerRendererChromium::windowMatrix): |
| (LayerRendererChromium): |
| * platform/graphics/chromium/LinkHighlight.cpp: |
| (WebCore::LinkHighlight::LinkHighlight): |
| * platform/graphics/chromium/RenderSurfaceChromium.h: |
| (WebCore::RenderSurfaceChromium::drawTransform): |
| (WebCore::RenderSurfaceChromium::setDrawTransform): |
| (WebCore::RenderSurfaceChromium::originTransform): |
| (WebCore::RenderSurfaceChromium::setOriginTransform): |
| (WebCore::RenderSurfaceChromium::screenSpaceTransform): |
| (WebCore::RenderSurfaceChromium::setScreenSpaceTransform): |
| (WebCore::RenderSurfaceChromium::replicaDrawTransform): |
| (WebCore::RenderSurfaceChromium::setReplicaDrawTransform): |
| (WebCore::RenderSurfaceChromium::replicaOriginTransform): |
| (WebCore::RenderSurfaceChromium::setReplicaOriginTransform): |
| (WebCore::RenderSurfaceChromium::replicaScreenSpaceTransform): |
| (WebCore::RenderSurfaceChromium::setReplicaScreenSpaceTransform): |
| (RenderSurfaceChromium): |
| * platform/graphics/chromium/TiledLayerChromium.cpp: |
| (WebCore::TiledLayerChromium::updateTiles): |
| * platform/graphics/chromium/cc/CCAnimationCurve.h: |
| (WebCore): |
| (CCTransformAnimationCurve): |
| * platform/graphics/chromium/cc/CCDamageTracker.cpp: |
| (WebCore::CCDamageTracker::extendDamageForLayer): |
| (WebCore::CCDamageTracker::extendDamageForRenderSurface): |
| * platform/graphics/chromium/cc/CCDrawQuad.h: |
| (WebCore::CCDrawQuad::quadTransform): |
| (WebCore::CCDrawQuad::layerTransform): |
| * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.cpp: |
| (WebCore::CCTransformKeyframe::clone): |
| (WebCore::CCKeyframedTransformAnimationCurve::getValue): |
| * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.h: |
| (CCKeyframedTransformAnimationCurve): |
| * platform/graphics/chromium/cc/CCLayerAnimationController.cpp: |
| (WebCore::CCLayerAnimationController::tickAnimations): |
| * platform/graphics/chromium/cc/CCLayerAnimationController.h: |
| (WebKit): |
| (WebCore): |
| (CCLayerAnimationControllerClient): |
| * platform/graphics/chromium/cc/CCLayerImpl.cpp: |
| (WebCore::CCLayerImpl::quadTransform): |
| (WebCore::CCLayerImpl::setTransformFromAnimation): |
| (WebCore::CCLayerImpl::setSublayerTransform): |
| (WebCore::CCLayerImpl::setTransform): |
| * platform/graphics/chromium/cc/CCLayerImpl.h: |
| (CCLayerImpl): |
| (WebCore::CCLayerImpl::sublayerTransform): |
| (WebCore::CCLayerImpl::drawTransform): |
| (WebCore::CCLayerImpl::setDrawTransform): |
| (WebCore::CCLayerImpl::screenSpaceTransform): |
| (WebCore::CCLayerImpl::setScreenSpaceTransform): |
| * platform/graphics/chromium/cc/CCLayerSorter.cpp: |
| (WebCore::CCLayerSorter::LayerShape::LayerShape): |
| (WebCore::CCLayerSorter::createGraphNodes): |
| * platform/graphics/chromium/cc/CCLayerSorter.h: |
| (WebKit): |
| (LayerShape): |
| * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: |
| (WebCore::CCLayerTreeHost::updateLayers): |
| * platform/graphics/chromium/cc/CCLayerTreeHost.h: |
| * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp: |
| (WebCore::CCLayerTreeHostCommon::calculateVisibleRect): |
| (WebCore::isSurfaceBackFaceVisible): |
| (WebCore::calculateVisibleLayerRect): |
| (WebCore::isScaleOrTranslation): |
| (WebCore::calculateDrawTransformsAndVisibilityInternal): |
| (WebCore::CCLayerTreeHostCommon::calculateDrawTransformsAndVisibility): |
| * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h: |
| (CCLayerTreeHostCommon): |
| * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: |
| (WebCore::damageInSurfaceSpace): |
| (WebCore::CCLayerTreeHostImpl::calculateRenderSurfaceLayerList): |
| * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: |
| (WebCore): |
| * platform/graphics/chromium/cc/CCMathUtil.cpp: |
| (WebCore::projectPoint): |
| (WebCore::mapPoint): |
| (WebCore::CCMathUtil::mapClippedRect): |
| (WebCore::CCMathUtil::projectClippedRect): |
| (WebCore::CCMathUtil::mapClippedQuad): |
| (WebCore::CCMathUtil::mapQuad): |
| (WebCore::CCMathUtil::projectQuad): |
| * platform/graphics/chromium/cc/CCMathUtil.h: |
| (WebKit): |
| (WebCore): |
| (CCMathUtil): |
| * platform/graphics/chromium/cc/CCOcclusionTracker.cpp: |
| (WebCore::transformSurfaceOpaqueRegion): |
| (WebCore::reduceOcclusionBelowSurface): |
| (WebCore::contentToScreenSpaceTransform): |
| (WebCore::contentToTargetSurfaceTransform): |
| (WebCore::addOcclusionBehindLayer): |
| (WebCore::::markOccludedBehindLayer): |
| (WebCore::testContentRectOccluded): |
| (WebCore::computeUnoccludedContentRect): |
| (WebCore::::unoccludedContributingSurfaceContentRect): |
| * platform/graphics/chromium/cc/CCOcclusionTracker.h: |
| * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp: |
| (WebCore::CCOverdrawMetrics::didUpload): |
| (WebCore::CCOverdrawMetrics::didCullForDrawing): |
| (WebCore::CCOverdrawMetrics::didDraw): |
| * platform/graphics/chromium/cc/CCOverdrawMetrics.h: |
| (WebKit): |
| (CCOverdrawMetrics): |
| * platform/graphics/chromium/cc/CCQuadCuller.cpp: |
| * platform/graphics/chromium/cc/CCRenderPass.cpp: |
| (WebCore::CCRenderPass::appendQuadsToFillScreen): |
| * platform/graphics/chromium/cc/CCRenderSurface.h: |
| (WebCore::CCRenderSurface::setDrawTransform): |
| (WebCore::CCRenderSurface::drawTransform): |
| (WebCore::CCRenderSurface::setOriginTransform): |
| (WebCore::CCRenderSurface::originTransform): |
| (WebCore::CCRenderSurface::setScreenSpaceTransform): |
| (WebCore::CCRenderSurface::screenSpaceTransform): |
| (WebCore::CCRenderSurface::setReplicaDrawTransform): |
| (WebCore::CCRenderSurface::replicaDrawTransform): |
| (WebCore::CCRenderSurface::setReplicaOriginTransform): |
| (WebCore::CCRenderSurface::replicaOriginTransform): |
| (WebCore::CCRenderSurface::setReplicaScreenSpaceTransform): |
| (WebCore::CCRenderSurface::replicaScreenSpaceTransform): |
| (CCRenderSurface): |
| * platform/graphics/chromium/cc/CCSharedQuadState.cpp: |
| (WebCore::CCSharedQuadState::create): |
| (WebCore::CCSharedQuadState::CCSharedQuadState): |
| * platform/graphics/chromium/cc/CCSharedQuadState.h: |
| (CCSharedQuadState): |
| (WebCore::CCSharedQuadState::quadTransform): |
| (WebCore::CCSharedQuadState::layerTransform): |
| * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp: |
| (WebCore::CCSolidColorLayerImpl::quadTransform): |
| * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h: |
| (CCSolidColorLayerImpl): |
| * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp: |
| (WebCore::CCTiledLayerImpl::quadTransform): |
| * platform/graphics/chromium/cc/CCTiledLayerImpl.h: |
| (CCTiledLayerImpl): |
| |
| 2012-05-31 Ian Vollick <vollick@chromium.org> |
| |
| [chromium] Single thread proxy should not tick animations unless the layer renderer has been initialized |
| https://bugs.webkit.org/show_bug.cgi?id=87873 |
| |
| Reviewed by James Robinson. |
| |
| When the layer renderer fails to initialize, be sure to stop the animation timer. |
| |
| Unit test: CCLayerTreeHostTestInitializeLayerRendererFailsAfterAddAnimation.runSingleThread |
| |
| * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp: |
| (WebCore::CCSingleThreadProxy::initializeLayerRenderer): |
| (WebCore::CCSingleThreadProxy::didAddAnimation): |
| (WebCore::CCSingleThreadProxy::animationTimerDelay): |
| (WebCore): |
| * platform/graphics/chromium/cc/CCSingleThreadProxy.h: |
| |
| 2012-05-31 Simon Fraser <simon.fraser@apple.com> |
| |
| RenderLayerCompositor cleanup: make RenderGeometryMap part of the OverlapMap |
| https://bugs.webkit.org/show_bug.cgi?id=88021 |
| |
| Reviewed by James Robinson. |
| |
| We only ever use the RenderGeometryMap when we have an OverlapMap, so make |
| it a member of the OverlapMap. |
| |
| No behavior change. |
| |
| * rendering/RenderLayerCompositor.cpp: |
| (RenderLayerCompositor::OverlapMap): |
| (WebCore::RenderLayerCompositor::OverlapMap::geometryMap): |
| (WebCore::RenderLayerCompositor::updateCompositingLayers): |
| (WebCore::RenderLayerCompositor::addToOverlapMap): |
| (WebCore::RenderLayerCompositor::addToOverlapMapRecursive): |
| (WebCore::RenderLayerCompositor::computeCompositingRequirements): |
| * rendering/RenderLayerCompositor.h: |
| (WebCore): |
| (RenderLayerCompositor): |
| |
| 2012-05-31 Kentaro Hara <haraken@chromium.org> |
| |
| [V8] Pass Isolate to v8Boolean() |
| https://bugs.webkit.org/show_bug.cgi?id=87948 |
| |
| Reviewed by Adam Barth. |
| |
| The objective is to pass Isolate around in V8 bindings. |
| This patch passes Isolate to v8Boolean(). |
| |
| No tests. No change in behavior. |
| |
| * bindings/v8/SerializedScriptValue.cpp: |
| * bindings/v8/custom/V8DOMStringMapCustom.cpp: |
| (WebCore::V8DOMStringMap::namedPropertyDeleter): |
| * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: |
| (WebCore::V8InjectedScriptHost::isHTMLAllCollectionCallback): |
| * bindings/v8/custom/V8StorageCustom.cpp: |
| (WebCore::storageDeleter): |
| * bindings/v8/custom/V8WebSocketCustom.cpp: |
| (WebCore::V8WebSocket::sendCallback): |
| |
| 2012-05-31 Alec Flett <alecflett@chromium.org> |
| |
| IndexedDB: Implement IDBTransaction.error and IDBRequest.error |
| https://bugs.webkit.org/show_bug.cgi?id=87865 |
| |
| Reviewed by Tony Chang. |
| |
| Added "error" attribute to IDBRequest and IDBTransaction. Update |
| IDBDatabaseError to honor the IDBDatabaseException behavior |
| of dealing with IDB-specific throws of DOMException codes, |
| as per the spec. |
| |
| Existing tests which previously tested 'errorCode' and |
| 'webkitErrorMessage' have been updated to use the new attribute. |
| |
| * Modules/indexeddb/IDBCursor.cpp: |
| (WebCore::IDBCursor::advance): |
| * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: |
| (WebCore::IDBDatabaseBackendImpl::setVersion): |
| * Modules/indexeddb/IDBDatabaseError.h: |
| (WebCore::IDBDatabaseError::create): |
| (WebCore::IDBDatabaseError::code): |
| (WebCore::IDBDatabaseError::idbCode): |
| (WebCore::IDBDatabaseError::name): |
| (WebCore::IDBDatabaseError::IDBDatabaseError): |
| (IDBDatabaseError): |
| * Modules/indexeddb/IDBDatabaseException.cpp: |
| (WebCore): |
| (WebCore::getErrorEntry): |
| (WebCore::IDBDatabaseException::initializeDescription): |
| (WebCore::IDBDatabaseException::getErrorName): |
| (WebCore::IDBDatabaseException::getLegacyErrorCode): |
| * Modules/indexeddb/IDBDatabaseException.h: |
| (IDBDatabaseException): |
| * Modules/indexeddb/IDBObjectStore.cpp: |
| (WebCore::IDBObjectStore::createIndex): |
| * Modules/indexeddb/IDBRequest.cpp: |
| (WebCore::IDBRequest::error): |
| (WebCore): |
| (WebCore::IDBRequest::resetReadyState): |
| (WebCore::IDBRequest::abort): |
| (WebCore::IDBRequest::onError): |
| (WebCore::IDBRequest::onSuccess): |
| (WebCore::IDBRequest::onSuccessWithContinuation): |
| (WebCore::IDBRequest::dispatchEvent): |
| * Modules/indexeddb/IDBRequest.h: |
| (IDBRequest): |
| * Modules/indexeddb/IDBRequest.idl: |
| * Modules/indexeddb/IDBTransaction.cpp: |
| (WebCore::IDBTransaction::error): |
| (WebCore): |
| (WebCore::IDBTransaction::setError): |
| * Modules/indexeddb/IDBTransaction.h: |
| (IDBTransaction): |
| * Modules/indexeddb/IDBTransaction.idl: |
| |
| 2012-05-31 James Robinson <jamesr@chromium.org> |
| |
| [chromium] Assertion failures during compositor startup in lost context situations |
| https://bugs.webkit.org/show_bug.cgi?id=87912 |
| |
| Reviewed by Adrienne Walker. |
| |
| getShaderiv and getProgramiv may return 0 if the context is lost. We correctly recover in this case, so it's |
| bogus to fail an ASSERT in debug in this case. |
| |
| Added new unit test in LayerRendererChromiumTest to cover this. |
| |
| * platform/graphics/chromium/ProgramBinding.cpp: |
| (WebCore::contextLost): |
| (WebCore): |
| (WebCore::ProgramBindingBase::init): |
| (WebCore::ProgramBindingBase::createShaderProgram): |
| |
| 2012-05-31 Ben Murdoch <benm@google.com> |
| |
| Fix crash in V8Document::createTouchListCallback. |
| https://bugs.webkit.org/show_bug.cgi?id=87085 |
| |
| Reviewed by Abhishek Arya. |
| |
| Test: fast/events/touch/document-create-touch-list-crash.html |
| |
| * bindings/v8/custom/V8DocumentCustom.cpp: |
| (WebCore::V8Document::createTouchListCallback): Verify the native type |
| of the arguments passed to createTouchList are Touches before appending |
| them to the TouchList. In the case of a non-Touch argument, insert |
| null into the TouchList. This consolidates V8 and JSC bindings |
| behaviour. |
| * dom/Document.cpp: Remove dead code. |
| * dom/Document.h: ditto. |
| |
| 2012-05-31 Simon Fraser <simon.fraser@apple.com> |
| |
| Remove some duplicate code in RenderLayerCompositor |
| https://bugs.webkit.org/show_bug.cgi?id=88009 |
| |
| Reviewed by Anders Carlsson. |
| |
| RenderLayerCompositor::hasNonAffineTransform() has the same code |
| as the existing RenderLayer::has3DTransform(), so just use the |
| RenderLayer method and remove hasNonAffineTransform(). |
| |
| No behavior change. |
| |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::RenderLayerCompositor::computeCompositingRequirements): |
| * rendering/RenderLayerCompositor.h: |
| (RenderLayerCompositor): |
| |
| 2012-05-31 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r119125. |
| http://trac.webkit.org/changeset/119125 |
| https://bugs.webkit.org/show_bug.cgi?id=88007 |
| |
| Will break android build if rolled (Requested by rafaelw_ on |
| #webkit). |
| |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::HTMLMediaElement): |
| (WebCore::HTMLMediaElement::startProgressEventTimer): |
| (WebCore::HTMLMediaElement::changeNetworkStateFromLoadingToIdle): |
| (WebCore::HTMLMediaElement::progressEventTimerFired): |
| (WebCore::HTMLMediaElement::startPlaybackProgressTimer): |
| * platform/graphics/MediaPlayer.cpp: |
| (WebCore::NullMediaPlayerPrivate::bytesLoaded): |
| (WebCore::MediaPlayer::bytesLoaded): |
| * platform/graphics/MediaPlayer.h: |
| * platform/graphics/MediaPlayerPrivate.h: |
| (MediaPlayerPrivateInterface): |
| * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: |
| (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation): |
| (WebCore::MediaPlayerPrivateAVFoundation::bytesLoaded): |
| * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: |
| (MediaPlayerPrivateAVFoundation): |
| * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp: |
| (WebCore::MediaPlayerPrivate::bytesLoaded): |
| * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h: |
| (MediaPlayerPrivate): |
| * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: |
| (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer): |
| (WebCore::MediaPlayerPrivateGStreamer::bytesLoaded): |
| * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: |
| (MediaPlayerPrivateGStreamer): |
| * platform/graphics/mac/MediaPlayerPrivateQTKit.h: |
| (MediaPlayerPrivateQTKit): |
| * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: |
| (WebCore::MediaPlayerPrivateQTKit::MediaPlayerPrivateQTKit): |
| (WebCore::MediaPlayerPrivateQTKit::bytesLoaded): |
| * platform/graphics/qt/MediaPlayerPrivateQt.cpp: |
| (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt): |
| (WebCore::MediaPlayerPrivateQt::bytesLoaded): |
| * platform/graphics/qt/MediaPlayerPrivateQt.h: |
| (MediaPlayerPrivateQt): |
| * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: |
| (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext): |
| (WebCore::MediaPlayerPrivateQuickTimeVisualContext::bytesLoaded): |
| * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h: |
| (MediaPlayerPrivateQuickTimeVisualContext): |
| * platform/graphics/wince/MediaPlayerPrivateWinCE.h: |
| (MediaPlayerPrivate): |
| |
| 2012-05-31 Andy Estes <aestes@apple.com> |
| |
| Disentangle code that relies on USE(AUTOMATIC_TEXT_REPLACEMENT) from that which merely relies on PLATFORM(MAC) |
| https://bugs.webkit.org/show_bug.cgi?id=87933 |
| |
| Reviewed by Dan Bernstein. |
| |
| * editing/Editor.cpp: |
| * editing/Editor.h: |
| * loader/EmptyClients.h: |
| * page/ContextMenuController.cpp: |
| (WebCore::ContextMenuController::contextMenuItemSelected): |
| * page/EditorClient.h: |
| |
| 2012-05-31 Dana Jansens <danakj@chromium.org> |
| |
| [chromium] Move drawing code for RenderSurfaces into LayerRendererChromium |
| https://bugs.webkit.org/show_bug.cgi?id=87877 |
| |
| Reviewed by James Robinson. |
| |
| We add data to CCRenderSurfaceDrawQuad so that the only use of |
| CCRenderSurface directly from LayerRendererChromium is to |
| reserve, release, and use the surface's textures, and to set the |
| scissor rect. Each of these changes will be done independent |
| of this change. |
| |
| Covered by existing tests. |
| |
| * platform/graphics/chromium/LayerRendererChromium.cpp: |
| (WebCore::applyFilters): |
| (WebCore): |
| (WebCore::LayerRendererChromium::drawBackgroundFilters): |
| (WebCore::LayerRendererChromium::drawRenderSurfaceQuad): |
| (WebCore::LayerRendererChromium::copyTextureToFramebuffer): |
| * platform/graphics/chromium/LayerRendererChromium.h: |
| (LayerRendererChromium): |
| * platform/graphics/chromium/cc/CCLayerImpl.cpp: |
| (WebCore::CCLayerImpl::contentsTextureId): |
| * platform/graphics/chromium/cc/CCLayerImpl.h: |
| (CCLayerImpl): |
| * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp: |
| (WebCore::calculateDrawTransformsAndVisibilityInternal): |
| * platform/graphics/chromium/cc/CCQuadCuller.cpp: |
| * platform/graphics/chromium/cc/CCQuadCuller.h: |
| (CCQuadCuller): |
| * platform/graphics/chromium/cc/CCRenderPass.cpp: |
| (WebCore::CCRenderPass::appendQuadsForRenderSurfaceLayer): |
| * platform/graphics/chromium/cc/CCRenderSurface.cpp: |
| (WebCore): |
| (WebCore::CCRenderSurface::CCRenderSurface): |
| (WebCore::CCRenderSurface::prepareContentsTexture): |
| (WebCore::CCRenderSurface::releaseContentsTexture): |
| (WebCore::CCRenderSurface::hasValidContentsTexture): |
| (WebCore::CCRenderSurface::releaseBackgroundTexture): |
| (WebCore::CCRenderSurface::hasValidBackgroundTexture): |
| (WebCore::CCRenderSurface::hasMask): |
| (WebCore::CCRenderSurface::replicaHasMask): |
| (WebCore::CCRenderSurface::appendQuads): |
| * platform/graphics/chromium/cc/CCRenderSurface.h: |
| (WebCore): |
| (CCRenderSurface): |
| * platform/graphics/chromium/cc/CCRenderSurfaceDrawQuad.cpp: |
| (WebCore::CCRenderSurfaceDrawQuad::create): |
| (WebCore::CCRenderSurfaceDrawQuad::CCRenderSurfaceDrawQuad): |
| * platform/graphics/chromium/cc/CCRenderSurfaceDrawQuad.h: |
| (WebKit): |
| (CCRenderSurfaceDrawQuad): |
| (WebCore::CCRenderSurfaceDrawQuad::maskTextureId): |
| (WebCore::CCRenderSurfaceDrawQuad::filters): |
| (WebCore::CCRenderSurfaceDrawQuad::backgroundFilters): |
| * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp: |
| (WebCore::CCTiledLayerImpl::contentsTextureId): |
| * platform/graphics/chromium/cc/CCTiledLayerImpl.h: |
| (CCTiledLayerImpl): |
| |
| 2012-05-31 Brady Eidson <beidson@apple.com> |
| |
| <rdar://problem/11544454> and https://bugs.webkit.org/show_bug.cgi?id=87990 |
| Crashes unregistering DOMWindowProperties while releasing CachedPages |
| |
| Reviewed by Jessie Berlin. |
| |
| This patch rewrites DOMWindowProperty to always keep direct track of the DOMWindow |
| it has registered with and to only ever unregister from that very same DOMWindow. |
| |
| No new tests. (While the direct cause of the crash is understood, reproducing it is not) |
| |
| * page/DOMWindowProperty.cpp: |
| (WebCore::DOMWindowProperty::DOMWindowProperty): |
| (WebCore::DOMWindowProperty::~DOMWindowProperty): |
| (WebCore::DOMWindowProperty::disconnectFrameForPageCache): |
| (WebCore::DOMWindowProperty::reconnectFrameFromPageCache): |
| (WebCore::DOMWindowProperty::willDestroyGlobalObjectInCachedFrame): |
| (WebCore::DOMWindowProperty::willDestroyGlobalObjectInFrame): |
| (WebCore::DOMWindowProperty::willDetachGlobalObjectFromFrame): |
| * page/DOMWindowProperty.h: |
| (DOMWindowProperty): |
| |
| 2012-05-31 Tony Chang <tony@chromium.org> |
| |
| rename flexbox CSS properties from flex-align and flex-item-align to align-items and align-self |
| https://bugs.webkit.org/show_bug.cgi?id=87907 |
| |
| Reviewed by Ojan Vafai. |
| |
| This was recently changed in the spec: |
| http://dev.w3.org/csswg/css3-flexbox/#align-items-property |
| |
| No new tests, updated the tests to use the new naming. |
| |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore): |
| (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): |
| * css/CSSParser.cpp: |
| (WebCore::isValidKeywordPropertyAndValue): |
| (WebCore::isKeywordPropertyID): |
| (WebCore::CSSParser::parseValue): |
| * css/CSSPrimitiveValueMappings.h: |
| (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): |
| (WebCore::CSSPrimitiveValue::operator EAlignItems): |
| * css/CSSProperty.cpp: |
| (WebCore::CSSProperty::isInheritedProperty): |
| * css/CSSPropertyNames.in: |
| * css/StyleBuilder.cpp: |
| (WebCore::StyleBuilder::StyleBuilder): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::collectMatchingRulesForList): |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::sizesToIntrinsicLogicalWidth): |
| * rendering/RenderFlexibleBox.cpp: |
| (WebCore::alignmentForChild): |
| (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): |
| (WebCore::RenderFlexibleBox::alignChildren): |
| * rendering/style/RenderStyle.h: |
| * rendering/style/RenderStyleConstants.h: |
| * rendering/style/StyleFlexibleBoxData.cpp: |
| (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData): |
| (WebCore::StyleFlexibleBoxData::operator==): |
| * rendering/style/StyleFlexibleBoxData.h: |
| (StyleFlexibleBoxData): Move member variables to StyleRareNonInheritedData |
| because these values will eventually apply to more than just flexbox. |
| * rendering/style/StyleRareNonInheritedData.cpp: |
| (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): |
| (WebCore::StyleRareNonInheritedData::operator==): |
| * rendering/style/StyleRareNonInheritedData.h: |
| (StyleRareNonInheritedData): |
| |
| 2012-05-31 Ami Fischman <fischman@chromium.org> |
| |
| Replace WebMediaPlayer::bytesLoaded() with an explicit didLoadingProgress() |
| https://bugs.webkit.org/show_bug.cgi?id=86113 |
| |
| Reviewed by Eric Carlson. |
| |
| No new functionality, so no new tests. Loading progress is already tested by existing layouttests. |
| |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::HTMLMediaElement): |
| (WebCore::HTMLMediaElement::startProgressEventTimer): |
| (WebCore::HTMLMediaElement::changeNetworkStateFromLoadingToIdle): |
| (WebCore::HTMLMediaElement::progressEventTimerFired): |
| (WebCore::HTMLMediaElement::startPlaybackProgressTimer): |
| * platform/graphics/MediaPlayer.cpp: |
| (WebCore::NullMediaPlayerPrivate::didLoadingProgress): |
| (WebCore::MediaPlayer::didLoadingProgress): |
| * platform/graphics/MediaPlayer.h: |
| * platform/graphics/MediaPlayerPrivate.h: |
| (MediaPlayerPrivateInterface): |
| * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: |
| (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation): |
| * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: |
| (MediaPlayerPrivateAVFoundation): |
| * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp: |
| (WebCore::MediaPlayerPrivate::didLoadingProgress): |
| * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h: |
| (MediaPlayerPrivate): |
| * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: |
| (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer): |
| (WebCore::MediaPlayerPrivateGStreamer::didLoadingProgress): |
| * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: |
| (MediaPlayerPrivateGStreamer): |
| * platform/graphics/mac/MediaPlayerPrivateQTKit.h: |
| (MediaPlayerPrivateQTKit): |
| * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: |
| (WebCore::MediaPlayerPrivateQTKit::MediaPlayerPrivateQTKit): |
| (WebCore::MediaPlayerPrivateQTKit::didLoadingProgress): |
| * platform/graphics/qt/MediaPlayerPrivateQt.cpp: |
| (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt): |
| (WebCore::MediaPlayerPrivateQt::didLoadingProgress): |
| * platform/graphics/qt/MediaPlayerPrivateQt.h: |
| (MediaPlayerPrivateQt): |
| * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: |
| (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext): |
| (WebCore::MediaPlayerPrivateQuickTimeVisualContext::didLoadingProgress): |
| * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h: |
| (MediaPlayerPrivateQuickTimeVisualContext): |
| * platform/graphics/wince/MediaPlayerPrivateWinCE.h: |
| (MediaPlayerPrivate): |
| |
| 2012-05-31 Erik Arvidsson <arv@chromium.org> |
| |
| Make DOM Exceptions Errors |
| https://bugs.webkit.org/show_bug.cgi?id=85078 |
| |
| Reviewed by Oliver Hunt. |
| |
| WebIDL mandates that exceptions should have Error.prototype on its prototype chain. |
| |
| For JSC we have access to the Error.prototype from the binding code. |
| |
| For V8 we set a field in the WrapperTypeInfo and when the constructor function is created we |
| set the prototype as needed. |
| |
| Updated test: fast/dom/DOMException/prototype-object.html |
| |
| * ForwardingHeaders/runtime/ErrorPrototype.h: Added. |
| * bindings/scripts/CodeGeneratorJS.pm: |
| (GenerateHeader): |
| (GenerateImplementation): |
| * bindings/scripts/CodeGeneratorV8.pm: |
| (GenerateNamedConstructorCallback): |
| (GenerateImplementation): |
| * bindings/scripts/test/JS/JSTestException.cpp: |
| (WebCore::JSTestException::createPrototype): |
| * bindings/scripts/test/JS/JSTestException.h: |
| * bindings/scripts/test/V8/V8Float64Array.cpp: |
| (WebCore): |
| * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: |
| (WebCore): |
| * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp: |
| (WebCore): |
| * bindings/scripts/test/V8/V8TestEventConstructor.cpp: |
| (WebCore): |
| * bindings/scripts/test/V8/V8TestEventTarget.cpp: |
| (WebCore): |
| * bindings/scripts/test/V8/V8TestException.cpp: |
| (WebCore): |
| * bindings/scripts/test/V8/V8TestInterface.cpp: |
| (WebCore): |
| * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: |
| (WebCore): |
| * bindings/scripts/test/V8/V8TestNamedConstructor.cpp: |
| (WebCore): |
| * bindings/scripts/test/V8/V8TestNode.cpp: |
| (WebCore): |
| * bindings/scripts/test/V8/V8TestObj.cpp: |
| (WebCore): |
| (WebCore::V8TestObj::installPerContextProperties): |
| * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: |
| (WebCore): |
| * bindings/v8/NPV8Object.cpp: |
| (WebCore::npObjectTypeInfo): |
| * bindings/v8/V8BindingPerContextData.cpp: |
| (WebCore): |
| (WebCore::V8BindingPerContextData::init): |
| (WebCore::V8BindingPerContextData::createWrapperFromCacheSlowCase): |
| (WebCore::V8BindingPerContextData::constructorForTypeSlowCase): |
| * bindings/v8/V8BindingPerContextData.h: |
| (V8BindingPerContextData): |
| * bindings/v8/V8HiddenPropertyName.h: |
| (WebCore): |
| * bindings/v8/WrapperTypeInfo.h: |
| (WebCore): |
| (WrapperTypeInfo): |
| * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: |
| (WebCore): |
| |
| 2012-05-31 Ian Vollick <vollick@chromium.org> |
| |
| [chromium] create WebTransformOperation interface for chromium platform |
| https://bugs.webkit.org/show_bug.cgi?id=87510 |
| |
| Reviewed by James Robinson. |
| |
| Unit tests: |
| WebTransformOperationsTest.transformTypesAreUnique |
| WebTransformOperationsTest.matchesTypesSameLength |
| WebTransformOperationsTest.matchesTypesDifferentLength |
| WebTransformOperationsTest.applyTranslate |
| WebTransformOperationsTest.applyRotate |
| WebTransformOperationsTest.applyScale |
| WebTransformOperationsTest.applySkew |
| WebTransformOperationsTest.applyPerspective |
| WebTransformOperationsTest.applyMatrix |
| WebTransformOperationsTest.applyOrder |
| WebTransformOperationsTest.blendOrder |
| WebTransformOperationsTest.blendProgress |
| WebTransformOperationsTest.blendWhenTypesDoNotMatch |
| |
| * WebCore.gypi: |
| * platform/chromium/support/WebTransformOperations.cpp: Added. |
| (WebKit): |
| (WebTransformOperationsPrivate): |
| (WebKit::WebTransformOperations::apply): |
| (WebKit::WebTransformOperations::blend): |
| (WebKit::WebTransformOperations::matchesTypes): |
| (WebKit::WebTransformOperations::appendTranslate): |
| (WebKit::WebTransformOperations::appendRotate): |
| (WebKit::WebTransformOperations::appendScale): |
| (WebKit::WebTransformOperations::appendSkew): |
| (WebKit::WebTransformOperations::appendPerspective): |
| (WebKit::WebTransformOperations::appendMatrix): |
| (WebKit::WebTransformOperations::reset): |
| (WebKit::WebTransformOperations::initialize): |
| |
| 2012-05-31 Yury Semikhatsky <yurys@chromium.org> |
| |
| m_totalAllocated should be intialized in RenderArena constructor |
| https://bugs.webkit.org/show_bug.cgi?id=87967 |
| |
| Reviewed by Ojan Vafai. |
| |
| * rendering/RenderArena.cpp: |
| (WebCore::RenderArena::RenderArena): added missing initializer. |
| |
| 2012-05-31 Julien Chaffraix <jchaffraix@webkit.org> |
| |
| The difference between a column and a column group renderer is badly drawn |
| https://bugs.webkit.org/show_bug.cgi?id=87556 |
| |
| Reviewed by Abhishek Arya. |
| |
| No expected change in behavior. |
| |
| This patch tries to draw a better line between those 3 concepts: |
| - renderer is a RenderTableCol (RenderObject::isRenderTableCol). |
| - renderer is a column (RenderTableCol::isTableColumn()). |
| - renderer is a column group (RenderTableCol::isTableColumnGroup()). |
| (most of the code that needs to know the difference manipulate a RenderTableCol |
| so there was no need to move the 2 last helpers into RenderObject) |
| |
| * rendering/AutoTableLayout.cpp: |
| (WebCore::AutoTableLayout::recalcColumn): |
| Factored the code to use the column / column group iteration we |
| set up in the rest of the code. Made the code more self-describing |
| by using more RenderTableCol functions. |
| |
| * rendering/RenderObject.cpp: |
| (WebCore::RenderObject::addChild): |
| Factored the code to use the isTableColumn() and isTableColumnGroup() to |
| better underline what we check. |
| |
| * rendering/RenderObject.h: |
| (WebCore::RenderObject::isRenderTableCol): |
| (WebCore::RenderObject::isTablePart): |
| Renamed isTableCol to isRenderTableCol to match the class as this doesn't |
| imply that the renderer is actually a column. |
| |
| * html/HTMLTableColElement.cpp: |
| (WebCore::HTMLTableColElement::parseAttribute): |
| * rendering/AutoTableLayout.cpp: |
| (WebCore::AutoTableLayout::fullRecalc): |
| * rendering/RenderTable.cpp: |
| (WebCore::RenderTable::addChild): |
| (WebCore::RenderTable::layout): |
| (WebCore::RenderTable::firstColumn): |
| Updated after the isRenderTableCol rename. |
| |
| * dom/Text.cpp: |
| (WebCore::Text::rendererIsNeeded): |
| * editing/htmlediting.cpp: |
| (WebCore::isTableStructureNode): |
| Ditto and renamed some variables. |
| |
| * html/HTMLFormElement.cpp: |
| (WebCore::HTMLFormElement::rendererIsNeeded): |
| Ditto and added a FIXME as the logic doesn't seem very bullet proof. |
| |
| * rendering/RenderTableCell.cpp: |
| (WebCore::RenderTableCell::computeCollapsedStartBorder): |
| (WebCore::RenderTableCell::computeCollapsedEndBorder): |
| (WebCore::RenderTableCell::computeCollapsedBeforeBorder): |
| (WebCore::RenderTableCell::computeCollapsedAfterBorder): |
| Changed to use the enclosingColumnGroup* helpers. |
| |
| * rendering/RenderTableSection.cpp: |
| (WebCore::RenderTableSection::paintCell): |
| * rendering/RenderTableCol.cpp: |
| (WebCore::RenderTableCol::isChildAllowed): |
| (WebCore::RenderTableCol::canHaveChildren): |
| (WebCore::RenderTableCol::enclosingColumnGroup): |
| (WebCore::RenderTableCol::nextColumn): |
| Updated to use the new functions. |
| |
| * rendering/RenderTableCol.h: |
| (WebCore::RenderTableCol::isTableColumn): |
| (WebCore::RenderTableCol::isTableColumnGroup): |
| (WebCore::RenderTableCol::enclosingColumnGroupIfAdjacentBefore): |
| (WebCore::RenderTableCol::enclosingColumnGroupIfAdjacentAfter): |
| Added the following new helpers. |
| |
| 2012-05-31 Jessie Berlin <jberlin@apple.com> |
| |
| Fix Lion build after r119073. |
| |
| * platform/Decimal.cpp: |
| (WebCore::Decimal::toString): |
| Do not attempt to assign a unsigned long long to an int. |
| |
| 2012-05-31 Christophe Dumez <christophe.dumez@intel.com> |
| |
| [EFL] Enable CSS_IMAGE_SET flag |
| https://bugs.webkit.org/show_bug.cgi?id=87727 |
| |
| Reviewed by Adam Roben. |
| |
| Fix CMakeLists.txt so that CSSImageSetValue.cpp gets compiled if |
| CSS_IMAGE_SET flag is enabled. |
| |
| * CMakeLists.txt: |
| |
| 2012-05-31 Keyar Hood <keyar@chromium.org> |
| |
| the imageSmoothingEnabled flag needs to be in the state object |
| https://bugs.webkit.org/show_bug.cgi?id=87853 |
| |
| Reviewed by Darin Adler. |
| |
| Updated fast/canvas/canvas-imageSmoothingEnabled.html instead of |
| adding a new test. |
| |
| The imageSmoothingEnabled flag is saved in the draw state now. |
| * html/canvas/CanvasRenderingContext2D.cpp: |
| (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D): |
| (WebCore::CanvasRenderingContext2D::State::State): |
| (WebCore::CanvasRenderingContext2D::State::operator=): |
| (WebCore::CanvasRenderingContext2D::webkitImageSmoothingEnabled): |
| (WebCore::CanvasRenderingContext2D::setWebkitImageSmoothingEnabled): |
| * html/canvas/CanvasRenderingContext2D.h: |
| (State): |
| |
| 2012-05-31 Eugene Klyuchnikov <eustas.bug@gmail.com> |
| |
| Web Inspector: Fix checkbox position on Settings screen. |
| https://bugs.webkit.org/show_bug.cgi?id=87007 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| Checkbox seems to be improperly aligned. |
| It is "shifted" up on 1px on Mac and 2px on Linux. |
| Also, keyboard-shortcuts screen has "wrapped" key descriptions on Mac. |
| |
| UI changes, no new tests. |
| |
| * inspector/front-end/helpScreen.css: |
| (.help-container): Fixed column width. |
| (.help-block): Ditto. |
| (.help-key-cell): Ditto. |
| (body.platform-mac .help-container): Ditto. |
| (body.platform-mac .help-block): Ditto. |
| (body.platform-mac .help-key-cell): Ditto. |
| (.help-content p): Ajdusted spacing between lines |
| (.help-content input[type=checkbox]): Fixed alignment. |
| (body.platform-mac .help-content input[type=checkbox]): Ditto. |
| (.help-content input[type=radio]): Fixed alignment. |
| (body.platform-mac .help-content input[type=radio]): Ditto. |
| |
| 2012-05-30 Andreas Kling <kling@webkit.org> |
| |
| Have StylePropertySet constructor take array/length instead of vector. |
| <http://webkit.org/b/87876> |
| |
| Reviewed by Antti Koivisto. |
| |
| Remove the StylePropertyVector typedef and have StylePropertySet constructors |
| take CSSProperty*/length since we are copying the data into a tightly packed |
| array anyway. This frees up the call sites to use whatever storage they please |
| rather than being restricted to a vector with inlineCapacity=4. |
| |
| Change said call sites to use an arbitrary high inline capacity (256) for their |
| stack-allocated temporary vectors. |
| |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore::CSSComputedStyleDeclaration::copyPropertiesInSet): |
| * css/CSSParser.cpp: |
| (WebCore::filterProperties): |
| (WebCore::CSSParser::createStylePropertySet): |
| * css/StylePropertySet.cpp: |
| (WebCore::StylePropertySet::createImmutable): |
| (WebCore::StylePropertySet::StylePropertySet): |
| (WebCore::StylePropertySet::removePropertiesInSet): |
| (WebCore::StylePropertySet::copyPropertiesInSet): |
| * css/StylePropertySet.h: |
| (WebCore::StylePropertySet::create): |
| (StylePropertySet): |
| |
| 2012-05-31 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> |
| |
| [Qt] Simplify QT_VERSION_CHECKS for Qt5 by introducing HAVE(QT5) |
| https://bugs.webkit.org/show_bug.cgi?id=87955 |
| |
| Reviewed by Simon Hausmann. |
| |
| * bridge/qt/qt_class.cpp: |
| * bridge/qt/qt_instance.cpp: |
| * bridge/qt/qt_runtime.h: |
| * page/qt/EventHandlerQt.cpp: |
| * platform/graphics/GraphicsContext3D.h: |
| * platform/graphics/OpenGLShims.cpp: |
| * platform/graphics/OpenGLShims.h: |
| * platform/graphics/gstreamer/PlatformVideoWindowPrivate.h: |
| * platform/graphics/gstreamer/PlatformVideoWindowQt.cpp: |
| * platform/graphics/qt/GraphicsContext3DQt.cpp: |
| * platform/graphics/qt/SimpleFontDataQt.cpp: |
| * platform/graphics/texmap/TextureMapper.h: |
| * platform/graphics/texmap/TextureMapperGL.cpp: |
| * platform/qt/DeviceMotionProviderQt.h: |
| * platform/qt/DeviceOrientationProviderQt.h: |
| * platform/qt/KURLQt.cpp: |
| * platform/qt/PlatformScreenQt.cpp: |
| * platform/qt/QWebPageClient.h: |
| * plugins/qt/PluginPackageQt.cpp: |
| * plugins/qt/PluginViewQt.cpp: |
| |
| 2012-05-30 Andreas Kling <kling@webkit.org> |
| |
| Have StylePropertySet constructor take array/length instead of vector. |
| <http://webkit.org/b/87876> |
| |
| Reviewed by Antti Koivisto. |
| |
| Remove the StylePropertyVector typedef and have StylePropertySet constructors |
| take CSSProperty*/length since we are copying the data into a tightly packed |
| array anyway. This frees up the call sites to use whatever storage they please |
| rather than being restricted to a vector with inlineCapacity=4. |
| |
| Change said call sites to use an arbitrary high inline capacity (256) for their |
| stack-allocated temporary vectors. |
| |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore::CSSComputedStyleDeclaration::copyPropertiesInSet): |
| * css/CSSParser.cpp: |
| (WebCore::filterProperties): |
| (WebCore::CSSParser::createStylePropertySet): |
| * css/StylePropertySet.cpp: |
| (WebCore::StylePropertySet::createImmutable): |
| (WebCore::StylePropertySet::StylePropertySet): |
| (WebCore::StylePropertySet::removePropertiesInSet): |
| (WebCore::StylePropertySet::copyPropertiesInSet): |
| * css/StylePropertySet.h: |
| (WebCore::StylePropertySet::create): |
| (StylePropertySet): |
| |
| 2012-05-31 Mike West <mkwst@chromium.org> |
| |
| Fixing compilation with SVG disabled. |
| https://bugs.webkit.org/show_bug.cgi?id=87944 |
| |
| This patch adds the missing enumeration value |
| 'CSSPropertyWebkitBoxDecorationBreak' into switch statements to make |
| clang happy. |
| |
| Reviewed by Alexis Menard. |
| |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::parseValue): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::collectMatchingRulesForList): |
| |
| 2012-05-31 Yoshifumi Inoue <yosin@chromium.org> |
| |
| [Platform] Implementation of Decimal(int32_t) isn't portable. |
| https://bugs.webkit.org/show_bug.cgi?id=87941 |
| |
| Reviewed by Kent Tamura. |
| |
| This patch changes negation of integer to make unsigned integer |
| in portable way. |
| |
| No new tests. This patch doesn't change behavior. |
| |
| * platform/Decimal.cpp: |
| (WebCore::Decimal::Decimal): Use uint64_t(-int64_t(i32)) instead of uint64_t(-i32) |
| |
| 2012-05-31 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| [CMAKE][EFL] Remove unneeded include path |
| https://bugs.webkit.org/show_bug.cgi?id=87927 |
| |
| Reviewed by Kenneth Rohde Christiansen. |
| |
| Though *wtf* directory was moved to Source/WTF, PlatformEfl.cmake is still including the previous |
| path. In addition, files on EFL port are using "<wtf/gobject/XXX>" directly in #include line. |
| So, EFL port doesn't need to include ${JAVASCRIPTCORE_DIR}/wtf/gobject path anymore. |
| |
| * PlatformEfl.cmake: Remove '${JAVASCRIPTCORE_DIR}/wtf/gobject' path from include path list. |
| |
| 2012-05-31 Yoshifumi Inoue <yosin@chromium.org> |
| |
| [Platform] Introduce Decimal class for Number/Range input type. |
| https://bugs.webkit.org/show_bug.cgi?id=87360 |
| |
| Reviewed by Kent Tamura. |
| |
| This patch added new class Decimal for decimal arithmatic in two |
| files: platform/Decimal.cpp and Decimal.h with unit test. |
| |
| Test: WebKit/chromium/tests/DecimalTest.cpp |
| |
| * CMakeLists.txt: |
| * GNUmakefile.list.am: |
| * Target.pri: |
| * WebCore.gypi: |
| * WebCore.vcproj/WebCore.vcproj: |
| * WebCore.xcodeproj/project.pbxproj: |
| * platform/Decimal.cpp: Added. |
| (WebCore): |
| (DecimalPrivate): |
| (SpecialValueHandler): |
| (WebCore::DecimalPrivate::SpecialValueHandler::SpecialValueHandler): |
| (WebCore::DecimalPrivate::SpecialValueHandler::handle): |
| (WebCore::DecimalPrivate::SpecialValueHandler::value): |
| (UInt128): |
| (WebCore::DecimalPrivate::UInt128::UInt128): |
| (WebCore::DecimalPrivate::UInt128::high): |
| (WebCore::DecimalPrivate::UInt128::low): |
| (WebCore::DecimalPrivate::UInt128::multiply): |
| (WebCore::DecimalPrivate::UInt128::highUInt32): |
| (WebCore::DecimalPrivate::UInt128::lowUInt32): |
| (WebCore::DecimalPrivate::UInt128::isZero): |
| (WebCore::DecimalPrivate::UInt128::makeUInt64): |
| (WebCore::DecimalPrivate::UInt128::operator/=): |
| (WebCore::DecimalPrivate::UInt128::multiplyHigh): |
| (WebCore::DecimalPrivate::countDigits): |
| (WebCore::DecimalPrivate::scaleDown): |
| (WebCore::DecimalPrivate::scaleUp): |
| (WebCore::Decimal::EncodedData::EncodedData): |
| (WebCore::Decimal::EncodedData::operator==): |
| (WebCore::Decimal::Decimal): |
| (WebCore::Decimal::operator=): |
| (WebCore::Decimal::operator+=): |
| (WebCore::Decimal::operator-=): |
| (WebCore::Decimal::operator*=): |
| (WebCore::Decimal::operator/=): |
| (WebCore::Decimal::operator-): |
| (WebCore::Decimal::operator+): |
| (WebCore::Decimal::operator*): |
| (WebCore::Decimal::operator/): |
| (WebCore::Decimal::operator==): |
| (WebCore::Decimal::operator!=): |
| (WebCore::Decimal::operator<): |
| (WebCore::Decimal::operator<=): |
| (WebCore::Decimal::operator>): |
| (WebCore::Decimal::operator>=): |
| (WebCore::Decimal::abs): |
| (WebCore::Decimal::alignOperands): |
| (WebCore::Decimal::ceiling): |
| (WebCore::Decimal::compareTo): |
| (WebCore::Decimal::floor): |
| (WebCore::Decimal::fromString): |
| (WebCore::Decimal::infinity): |
| (WebCore::Decimal::nan): |
| (WebCore::Decimal::remainder): |
| (WebCore::Decimal::round): |
| (WebCore::Decimal::toString): |
| (WebCore::Decimal::zero): |
| * platform/Decimal.h: Added. |
| (WebCore): |
| (DecimalPrivate): |
| (Decimal): |
| (EncodedData): |
| (WebCore::Decimal::EncodedData::operator!=): |
| (WebCore::Decimal::EncodedData::coefficient): |
| (WebCore::Decimal::EncodedData::exponent): |
| (WebCore::Decimal::EncodedData::isFinite): |
| (WebCore::Decimal::EncodedData::isNaN): |
| (WebCore::Decimal::EncodedData::isSpecial): |
| (WebCore::Decimal::EncodedData::isZero): |
| (WebCore::Decimal::EncodedData::sign): |
| (WebCore::Decimal::EncodedData::setSign): |
| (WebCore::Decimal::EncodedData::formatClass): |
| (WebCore::Decimal::isFinite): |
| (WebCore::Decimal::isNaN): |
| (WebCore::Decimal::isNegative): |
| (WebCore::Decimal::isPositive): |
| (WebCore::Decimal::isSpecial): |
| (WebCore::Decimal::isZero): |
| (WebCore::Decimal::value): |
| (AlignedOperands): |
| (WebCore::Decimal::invertSign): |
| (WebCore::Decimal::exponent): |
| (WebCore::Decimal::sign): |
| |
| 2012-05-31 Kentaro Hara <haraken@chromium.org> |
| |
| [V8] Pass Isolate to v8String() in custom bindings |
| https://bugs.webkit.org/show_bug.cgi?id=87825 |
| |
| Reviewed by Adam Barth. |
| |
| The objective is to pass Isolate around in V8 bindings. |
| This patch passes Isolate to v8String() in custom bindings. |
| |
| No tests. No change in behavior. |
| |
| * bindings/v8/custom/V8ArrayBufferViewCustom.cpp: |
| (WebCore::installFastSet): |
| * bindings/v8/custom/V8ArrayBufferViewCustom.h: |
| (WebCore): |
| (WebCore::setWebGLArrayHelper): |
| * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp: |
| (WebCore::V8CSSStyleDeclaration::namedPropertyEnumerator): |
| (WebCore::V8CSSStyleDeclaration::namedPropertyGetter): |
| * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: |
| (WebCore::toV8Object): |
| * bindings/v8/custom/V8ClipboardCustom.cpp: |
| (WebCore::V8Clipboard::typesAccessorGetter): |
| * bindings/v8/custom/V8DOMStringMapCustom.cpp: |
| (WebCore::V8DOMStringMap::namedPropertyGetter): |
| (WebCore::V8DOMStringMap::namedPropertyEnumerator): |
| * bindings/v8/custom/V8FileReaderCustom.cpp: |
| (WebCore::V8FileReader::resultAccessorGetter): |
| * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: |
| (WebCore::V8HTMLCanvasElement::toDataURLCallback): |
| * bindings/v8/custom/V8HTMLElementCustom.cpp: |
| (WebCore::toV8Object): |
| * bindings/v8/custom/V8HTMLInputElementCustom.cpp: |
| (WebCore::V8HTMLInputElement::selectionDirectionAccessorGetter): |
| * bindings/v8/custom/V8IDBAnyCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8IDBKeyCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: |
| (WebCore::V8InjectedScriptHost::databaseIdCallback): |
| (WebCore::V8InjectedScriptHost::storageIdCallback): |
| * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp: |
| (WebCore::V8InspectorFrontendHost::platformCallback): |
| * bindings/v8/custom/V8JavaScriptCallFrameCustom.cpp: |
| (WebCore::V8JavaScriptCallFrame::typeAccessorGetter): |
| * bindings/v8/custom/V8LocationCustom.cpp: |
| (WebCore::V8Location::toStringCallback): |
| * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp: |
| (WebCore::V8SQLResultSetRowList::itemCallback): |
| * bindings/v8/custom/V8StorageCustom.cpp: |
| (WebCore::V8Storage::namedPropertyEnumerator): |
| (WebCore::storageGetter): |
| * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: |
| (WebCore::V8XMLHttpRequest::responseTextAccessorGetter): |
| * bindings/v8/custom/V8XSLTProcessorCustom.cpp: |
| (WebCore::V8XSLTProcessor::getParameterCallback): |
| |
| 2012-05-31 Hayato Ito <hayato@chromium.org> |
| |
| ComposedShadowTreeWalker should support traversing nodes in an orphaned shadow subtree. |
| https://bugs.webkit.org/show_bug.cgi?id=87493 |
| |
| Reviewed by Dimitri Glazkov. |
| |
| ComposedShadowTreeWalker assumed that a visited shadow root is |
| always assigned to a shadow insertion point since it only |
| traverses nodes which are rendered. But there is an exceptional |
| use case such as an event dispatching. Some events, such as a |
| 'click' event, may happen in an orphaned shadow subtree. In such |
| cases, traversal might start with a node in an orphaned shadow |
| subtree. So ComposedShadowTreeWalker can not assume that visited |
| shadow root is always assigned to a shadow insertion point. |
| |
| This patch only fixes ComposedShadowTreeWalker. |
| ComposedShadowTreeParentWalker will be fixed in another patch with |
| an event dispatching test. |
| |
| Test: fast/dom/shadow/composed-shadow-tree-walker.html |
| |
| * dom/ComposedShadowTreeWalker.cpp: |
| (WebCore::ComposedShadowTreeWalker::traverseParentBackToYoungerShadowRootOrHost): |
| |
| |
| 2012-05-30 Yury Semikhatsky <yurys@chromium.org> |
| |
| Web Inspector: add MemoryUsageSupport::processMemorySizesInBytes |
| https://bugs.webkit.org/show_bug.cgi?id=87830 |
| |
| Reviewed by James Robinson. |
| |
| Added a method for getting process memory usage in bytes. It is |
| used in the inspector memory instrumentation to get process total |
| memory usage. |
| |
| * inspector/InspectorMemoryAgent.cpp: |
| (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution): |
| * platform/MemoryUsageSupport.cpp: |
| (WebCore::MemoryUsageSupport::processMemorySizesInBytes): |
| (WebCore): |
| * platform/MemoryUsageSupport.h: |
| (MemoryUsageSupport): provided embedders with a way to report WebKit process |
| memory usage. |
| * platform/chromium/MemoryUsageSupportChromium.cpp: |
| (WebCore::MemoryUsageSupport::processMemorySizesInBytes): |
| (WebCore): |
| |
| 2012-05-31 Kent Tamura <tkent@chromium.org> |
| |
| Unreviewed, rolling out r119062 and r119064. |
| http://trac.webkit.org/changeset/119062 |
| http://trac.webkit.org/changeset/119064 |
| https://bugs.webkit.org/show_bug.cgi?id=87360 |
| |
| Broke build on Lion, SnowLoepard, Chromium Windows, and |
| Chromium Linux 32 |
| |
| * CMakeLists.txt: |
| * GNUmakefile.list.am: |
| * Target.pri: |
| * WebCore.gypi: |
| * WebCore.vcproj/WebCore.vcproj: |
| * WebCore.xcodeproj/project.pbxproj: |
| * platform/Decimal.cpp: Removed. |
| * platform/Decimal.h: Removed. |
| |
| 2012-05-31 Shane Stephens <shanestephens@google.com> |
| |
| text-decoration should not be propagated through absolutely positioned elements to <a> tags |
| https://bugs.webkit.org/show_bug.cgi?id=86517 |
| |
| Reviewed by Darin Adler. |
| |
| Test: fast/css/text-decoration-in-second-order-descendants.html |
| |
| * rendering/RenderObject.cpp: |
| (WebCore::RenderObject::getTextDecorationColors): |
| Remove fix from 18611 as it doesn't work on second order descendants. |
| |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::adjustRenderStyle): |
| Add floating and positioned checks when deciding whether to avoid propagating text decoration. Move all checks into new method to improve readability. |
| (WebCore::doesNotInheritTextDecoration): Added |
| |
| 2012-05-30 Yoshifumi Inoue <yosin@chromium.org> |
| |
| Build fix for Linon/SnowLeopard after r119062 |
| |
| * platform/Decimal.cpp: |
| (WebCore::Decimal::Decimal): |
| |
| 2012-05-30 Yoshifumi Inoue <yosin@chromium.org> |
| |
| [Platform] Introduce Decimal class for Number/Range input type. |
| https://bugs.webkit.org/show_bug.cgi?id=87360 |
| |
| Reviewed by Kent Tamura. |
| |
| This patch added new class Decimal for decimal arithmatic in two |
| files: platform/Decimal.cpp and Decimal.h with unit test. |
| |
| Test: WebKit/chromium/tests/DecimalTest.cpp |
| |
| * CMakeLists.txt: |
| * GNUmakefile.list.am: |
| * Target.pri: |
| * WebCore.gypi: |
| * WebCore.vcproj/WebCore.vcproj: |
| * WebCore.xcodeproj/project.pbxproj: |
| * platform/Decimal.cpp: Added. |
| (WebCore): |
| (DecimalPrivate): |
| (SpecialValueHandler): |
| (WebCore::DecimalPrivate::SpecialValueHandler::SpecialValueHandler): |
| (WebCore::DecimalPrivate::SpecialValueHandler::handle): |
| (WebCore::DecimalPrivate::SpecialValueHandler::value): |
| (UInt128): |
| (WebCore::DecimalPrivate::UInt128::UInt128): |
| (WebCore::DecimalPrivate::UInt128::high): |
| (WebCore::DecimalPrivate::UInt128::low): |
| (WebCore::DecimalPrivate::UInt128::multiply): |
| (WebCore::DecimalPrivate::UInt128::highUInt32): |
| (WebCore::DecimalPrivate::UInt128::lowUInt32): |
| (WebCore::DecimalPrivate::UInt128::isZero): |
| (WebCore::DecimalPrivate::UInt128::makeUInt64): |
| (WebCore::DecimalPrivate::UInt128::operator/=): |
| (WebCore::DecimalPrivate::UInt128::multiplyHigh): |
| (WebCore::DecimalPrivate::countDigits): |
| (WebCore::DecimalPrivate::scaleDown): |
| (WebCore::DecimalPrivate::scaleUp): |
| (WebCore::Decimal::EncodedData::EncodedData): |
| (WebCore::Decimal::EncodedData::operator==): |
| (WebCore::Decimal::Decimal): |
| (WebCore::Decimal::operator=): |
| (WebCore::Decimal::operator+=): |
| (WebCore::Decimal::operator-=): |
| (WebCore::Decimal::operator*=): |
| (WebCore::Decimal::operator/=): |
| (WebCore::Decimal::operator-): |
| (WebCore::Decimal::operator+): |
| (WebCore::Decimal::operator*): |
| (WebCore::Decimal::operator/): |
| (WebCore::Decimal::operator==): |
| (WebCore::Decimal::operator!=): |
| (WebCore::Decimal::operator<): |
| (WebCore::Decimal::operator<=): |
| (WebCore::Decimal::operator>): |
| (WebCore::Decimal::operator>=): |
| (WebCore::Decimal::abs): |
| (WebCore::Decimal::alignOperands): |
| (WebCore::Decimal::ceiling): |
| (WebCore::Decimal::compareTo): |
| (WebCore::Decimal::floor): |
| (WebCore::Decimal::fromString): |
| (WebCore::Decimal::infinity): |
| (WebCore::Decimal::nan): |
| (WebCore::Decimal::remainder): |
| (WebCore::Decimal::round): |
| (WebCore::Decimal::toString): |
| (WebCore::Decimal::zero): |
| * platform/Decimal.h: Added. |
| (WebCore): |
| (DecimalPrivate): |
| (Decimal): |
| (EncodedData): |
| (WebCore::Decimal::EncodedData::operator!=): |
| (WebCore::Decimal::EncodedData::coefficient): |
| (WebCore::Decimal::EncodedData::exponent): |
| (WebCore::Decimal::EncodedData::isFinite): |
| (WebCore::Decimal::EncodedData::isNaN): |
| (WebCore::Decimal::EncodedData::isSpecial): |
| (WebCore::Decimal::EncodedData::isZero): |
| (WebCore::Decimal::EncodedData::sign): |
| (WebCore::Decimal::EncodedData::setSign): |
| (WebCore::Decimal::EncodedData::formatClass): |
| (WebCore::Decimal::isFinite): |
| (WebCore::Decimal::isNaN): |
| (WebCore::Decimal::isNegative): |
| (WebCore::Decimal::isPositive): |
| (WebCore::Decimal::isSpecial): |
| (WebCore::Decimal::isZero): |
| (WebCore::Decimal::value): |
| (AlignedOperands): |
| (WebCore::Decimal::invertSign): |
| (WebCore::Decimal::exponent): |
| (WebCore::Decimal::sign): |
| |
| 2012-05-30 Patrick Gansterer <paroga@webkit.org> |
| |
| Build fix for WinCE after r116723. |
| |
| * platform/graphics/wince/FontWinCE.cpp: |
| (WebCore::TextRunComponent::TextRunComponent): |
| |
| 2012-05-30 Kentaro Hara <haraken@chromium.org> |
| |
| Implement CSSParser::determineNameInNamespace() as a helper function for CSSGrammar.y |
| https://bugs.webkit.org/show_bug.cgi?id=87799 |
| |
| Reviewed by Darin Adler. |
| |
| As pointed out by darin@ in https://bugs.webkit.org/show_bug.cgi?id=87627#c12, |
| we should avoid repeating the following code in CSSGrammar.y: |
| |
| if (p->m_styleSheet) |
| $$->setTag(QualifiedName(namespacePrefix, $2, p->m_styleSheet->determineNamespace(namespacePrefix))); |
| else |
| $$->setTag(QualifiedName(namespacePrefix, $2, p->m_defaultNamespace)); |
| |
| This patch implements CSSParser::determineNameInNamespace() as a helper function |
| and replaces the above code. |
| |
| Tests: fast/dom/SelectorAPI/*. No change in test results. |
| |
| * css/CSSGrammar.y: |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::determineNameInNamespace): |
| (WebCore): |
| * css/CSSParser.h: |
| |
| 2012-05-30 Patrick Gansterer <paroga@webkit.org> |
| |
| Build fix for WinCE after r117697. |
| |
| * page/wince/FrameWinCE.cpp: |
| (WebCore::computePageRectsForFrame): |
| |
| 2012-05-30 Shawn Singh <shawnsingh@chromium.org> |
| |
| [chromium] Fix min/max bounds error in CCMathUtil.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=87915 |
| |
| Reviewed by James Robinson. |
| |
| Two unit tests added to CCMathUtilTest: |
| CCMathUtilTest.verifyEnclosingClippedRectUsesCorrectInitialBounds |
| CCMathUtilTest.verifyEnclosingRectOfVerticesUsesCorrectInitialBounds |
| |
| While computing bounds, the initial values for xmax and ymax are |
| intended to be set to -float_max. It turns out that |
| std::numeric_limits<float>::min() actually returns the smallest |
| positive value close to zero, which is not what was intended. This |
| patch fixes the code to use -float_max instead, which is the |
| intended value. |
| |
| * platform/graphics/chromium/cc/CCMathUtil.cpp: |
| (WebCore::CCMathUtil::mapClippedRect): |
| (WebCore::CCMathUtil::projectClippedRect): |
| (WebCore::CCMathUtil::computeEnclosingRectOfVertices): |
| (WebCore::CCMathUtil::computeEnclosingClippedRect): |
| (WebCore): |
| * platform/graphics/chromium/cc/CCMathUtil.h: |
| (WebCore::HomogeneousCoordinate::HomogeneousCoordinate): |
| (HomogeneousCoordinate): |
| (WebCore::HomogeneousCoordinate::shouldBeClipped): |
| (WebCore::HomogeneousCoordinate::cartesianPoint2d): |
| (WebCore): |
| (CCMathUtil): |
| |
| 2012-05-30 Patrick Gansterer <paroga@webkit.org> |
| |
| Build fix for WinCE after r118568. |
| |
| * platform/text/wince/TextBreakIteratorWinCE.cpp: |
| (WebCore::NonSharedCharacterBreakIterator::NonSharedCharacterBreakIterator): |
| |
| 2012-05-30 Abhishek Arya <inferno@chromium.org> |
| |
| Crash in ContainerNode::parserAddChild. |
| https://bugs.webkit.org/show_bug.cgi?id=87903 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Call the ChildNodeInsertionNotifier.notify call at the end since |
| it can destroy |this| and some of the local pointers like |last|. |
| This also matches the order of calls - childrenChanged precedes |
| ChildNodeInsertionNotifier.notify in updateTreeAfterInsertion and |
| ContainerNode::parserInsertBefore. |
| |
| Also remove a FIXME since we use ChildNodeInsertionNotifier.notify |
| instead of ChildNodeInsertionNotifier.notifyInsertedIntoDocument |
| (as recommended in the FIXME). |
| |
| Test: fast/dom/child-insertion-notify-crash.html |
| |
| * dom/ContainerNode.cpp: |
| (WebCore::ContainerNode::parserAddChild): |
| |
| 2012-05-30 Rick Byers <rbyers@chromium.org> |
| |
| [chromium] Implement pointer and hover CSS media features |
| https://bugs.webkit.org/show_bug.cgi?id=87403 |
| |
| Reviewed by Adam Barth. |
| |
| Add initial support for the pointer and hover media features as defined |
| here: |
| http://dev.w3.org/csswg/css4-mediaqueries/#pointer |
| http://dev.w3.org/csswg/css4-mediaqueries/#hover |
| |
| For now this only supports the case where we know a touch screen is |
| available (currently known only for the chromium port on certain |
| platforms). All other cases continue to behave exactly as if the media |
| feature isn't supported. |
| |
| Tests: fast/media/mq-pointer.html |
| |
| * css/CSSValueKeywords.in: |
| * css/MediaFeatureNames.h: |
| (MediaFeatureNames): |
| * css/MediaQueryEvaluator.cpp: |
| (WebCore::getLeastCapablePrimaryPointerDeviceType): |
| (WebCore): |
| (WebCore::hoverMediaFeatureEval): |
| (WebCore::pointerMediaFeatureEval): |
| |
| * testing/InternalSettings.cpp: |
| (WebCore::InternalSettings::InternalSettings): |
| (WebCore::InternalSettings::restoreTo): |
| (WebCore::InternalSettings::setDeviceSupportsTouch): |
| (WebCore): |
| * testing/InternalSettings.h: |
| (InternalSettings): |
| * testing/InternalSettings.idl: |
| |
| 2012-05-30 Julien Chaffraix <jchaffraix@webkit.org> |
| |
| Add an helper function to get the style for a cell's flow computation |
| https://bugs.webkit.org/show_bug.cgi?id=87902 |
| |
| Reviewed by Ojan Vafai. |
| |
| No expected change in behavior. |
| |
| This change introduces styleForCellFlow that unify which function we use |
| to determine a cell's direction and writing mode. |
| |
| This unification will make it easier to support direction on table row |
| group (section in WebKit land). |
| |
| * rendering/RenderTableCell.h: |
| (WebCore::RenderTableCell::styleForCellFlow): |
| Added the new function along with a comment as to its purpose. |
| |
| * rendering/RenderTableCell.cpp: |
| (WebCore::RenderTableCell::clippedOverflowRectForRepaint): |
| (WebCore::RenderTableCell::computeCollapsedStartBorder): |
| (WebCore::RenderTableCell::computeCollapsedEndBorder): |
| (WebCore::RenderTableCell::computeCollapsedBeforeBorder): |
| (WebCore::RenderTableCell::computeCollapsedAfterBorder): |
| (WebCore::RenderTableCell::borderHalfLeft): |
| (WebCore::RenderTableCell::borderHalfRight): |
| (WebCore::RenderTableCell::borderHalfTop): |
| (WebCore::RenderTableCell::borderHalfBottom): |
| (WebCore::RenderTableCell::borderHalfStart): |
| (WebCore::RenderTableCell::borderHalfEnd): |
| (WebCore::RenderTableCell::borderHalfBefore): |
| (WebCore::RenderTableCell::borderHalfAfter): |
| (WebCore::RenderTableCell::paintCollapsedBorders): |
| Mostly mechanical replacement. |
| |
| * rendering/RenderTableCell.cpp: |
| (WebCore::RenderTableCell::cachedCollapsedLeftBorder): |
| (WebCore::RenderTableCell::cachedCollapsedRightBorder): |
| (WebCore::RenderTableCell::cachedCollapsedTopBorder): |
| (WebCore::RenderTableCell::cachedCollapsedBottomBorder): |
| Made the argument 'const' now. |
| |
| * rendering/RenderTableSection.cpp: |
| (WebCore::RenderTableSection::layoutRows): |
| Added a FIXME to unify with the rest. |
| |
| 2012-05-30 Christophe Dumez <christophe.dumez@intel.com> |
| |
| [JSC] SerializedScriptValue.create() succeeds even if MessagePort object cannot be found in transferred ports |
| https://bugs.webkit.org/show_bug.cgi?id=87118 |
| |
| Reviewed by Adam Barth. |
| |
| Make SerializedScriptValue.create() throw an exception if one of the |
| MessagePort objects cannot be found in the transferred ports. This |
| matches the behavior of the V8 implementation. |
| |
| Test: webintents/web-intents-obj-constructor.html |
| |
| * bindings/js/SerializedScriptValue.cpp: |
| (WebCore::CloneSerializer::dumpIfTerminal): |
| |
| 2012-05-30 Mark Pilgrim <pilgrim@chromium.org> |
| |
| [Chromium] Call fileUtilities methods directly |
| https://bugs.webkit.org/show_bug.cgi?id=87852 |
| |
| Reviewed by Adam Barth. |
| |
| Part of a refactoring series. See tracking bug 82948. |
| |
| * platform/chromium/DragDataChromium.cpp: |
| (WebCore::DragData::asURL): |
| * platform/chromium/FileSystemChromium.cpp: |
| (WebCore::deleteFile): |
| (WebCore::deleteEmptyDirectory): |
| (WebCore::getFileSize): |
| (WebCore::getFileModificationTime): |
| (WebCore::getFileMetadata): |
| (WebCore::directoryName): |
| (WebCore::pathByAppendingComponent): |
| (WebCore::makeAllDirectories): |
| (WebCore::openFile): |
| (WebCore::closeFile): |
| (WebCore::seekFile): |
| (WebCore::truncateFile): |
| (WebCore::readFromFile): |
| (WebCore::writeToFile): |
| * platform/chromium/PlatformSupport.h: |
| (PlatformSupport): |
| |
| 2012-05-30 Kent Tamura <tkent@chromium.org> |
| |
| Form controls in <fieldset disabled> should not be focusable. |
| https://bugs.webkit.org/show_bug.cgi?id=87380 |
| |
| Reviewed by Darin Adler. |
| |
| Test: fast/forms/fieldset/focus-in-fieldset-disabled.html |
| |
| * html/HTMLFormControlElement.cpp: |
| (WebCore::HTMLFormControlElement::supportsFocus): |
| Refer to disabled() instead of m_disabled to take account of wrapping |
| fieldset elements. |
| |
| 2012-05-30 Robin Dunn <robin@alldunn.com> |
| |
| [wx] Implement HTML clipboard support. |
| https://bugs.webkit.org/show_bug.cgi?id=87883 |
| |
| Reviewed by Kevin Ollivier. |
| |
| * platform/wx/ClipboardWx.cpp: |
| (WebCore::ClipboardWx::writeRange): |
| * platform/wx/PasteboardWx.cpp: |
| (WebCore::Pasteboard::writeSelection): |
| (WebCore::Pasteboard::documentFragment): |
| |
| 2012-05-30 Garrett Casto <gcasto@chromium.org> |
| |
| TextFieldDecorationElement should respect style attribute |
| https://bugs.webkit.org/show_bug.cgi?id=87762 |
| |
| Reviewed by Kent Tamura. |
| |
| * html/shadow/TextFieldDecorationElement.cpp: Use style set on the |
| Element when creating rendering style. |
| (WebCore::TextFieldDecorationElement::customStyleForRenderer): |
| |
| 2012-05-30 Ojan Vafai <ojan@chromium.org> |
| |
| Avoid second layout for flex-direction:row, flex-basis:auto flex items |
| https://bugs.webkit.org/show_bug.cgi?id=87901 |
| |
| Reviewed by Tony Chang. |
| |
| No new tests. This is strictly a performance optimization and has no other |
| web visible changes. |
| |
| Also, add FIXMEs for other cases where we could avoid doing layouts. |
| |
| * rendering/RenderFlexibleBox.cpp: |
| (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes): |
| (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): |
| (WebCore::RenderFlexibleBox::applyStretchAlignmentToChild): |
| |
| 2012-05-30 Zhenyao Mo <zmo@google.com> |
| |
| WebKit incorrectly clears the alpha channel on readPixels, even for Framebuffers |
| https://bugs.webkit.org/show_bug.cgi?id=87310 |
| |
| Reviewed by Kenneth Russell. |
| |
| * html/canvas/WebGLRenderingContext.cpp: |
| (WebCore): |
| (WebCore::WebGLRenderingContext::getParameter): set DEPTH_BITS/STENCIL_BITS to 0 if related channels are not requested. |
| (WebCore::WebGLRenderingContext::readPixels): don't do the alpha value fix if the current bound is not the internal drawing buffer. |
| |
| 2012-05-30 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r118986. |
| http://trac.webkit.org/changeset/118986 |
| https://bugs.webkit.org/show_bug.cgi?id=87914 |
| |
| Caused several IndexedDB browser_test failures on Chromium |
| canary builders (Requested by rafaelw_ on #webkit). |
| |
| * Modules/indexeddb/IDBCursor.cpp: |
| (WebCore::IDBCursor::advance): |
| * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: |
| (WebCore::IDBDatabaseBackendImpl::setVersion): |
| * Modules/indexeddb/IDBDatabaseError.h: |
| (WebCore::IDBDatabaseError::create): |
| (IDBDatabaseError): |
| (WebCore::IDBDatabaseError::createWithoutOffset): |
| (WebCore::IDBDatabaseError::code): |
| (WebCore::IDBDatabaseError::setCode): |
| (WebCore::IDBDatabaseError::setMessage): |
| (WebCore::IDBDatabaseError::IDBDatabaseError): |
| * Modules/indexeddb/IDBDatabaseException.cpp: |
| (WebCore): |
| (WebCore::IDBDatabaseException::initializeDescription): |
| * Modules/indexeddb/IDBDatabaseException.h: |
| (IDBDatabaseException): |
| * Modules/indexeddb/IDBObjectStore.cpp: |
| (WebCore::IDBObjectStore::createIndex): |
| * Modules/indexeddb/IDBRequest.cpp: |
| (WebCore::IDBRequest::resetReadyState): |
| (WebCore::IDBRequest::abort): |
| (WebCore::IDBRequest::onError): |
| (WebCore::IDBRequest::onSuccess): |
| (WebCore::IDBRequest::onSuccessWithContinuation): |
| (WebCore::IDBRequest::dispatchEvent): |
| * Modules/indexeddb/IDBRequest.h: |
| (IDBRequest): |
| * Modules/indexeddb/IDBRequest.idl: |
| * Modules/indexeddb/IDBTransaction.cpp: |
| * Modules/indexeddb/IDBTransaction.h: |
| (IDBTransaction): |
| * Modules/indexeddb/IDBTransaction.idl: |
| |
| 2012-05-30 Dominic Mazzoni <dmazzoni@chromium.org> |
| |
| [Chromium] AX: WebAccessibilityObject should check if an AccessibilityObject is detached |
| https://bugs.webkit.org/show_bug.cgi?id=87778 |
| |
| Reviewed by Adam Barth. |
| |
| Chromium was never actually using AccessibilityObjectWrapper, so |
| this change deletes it. Instead, it's replaced with a simple bool |
| that keeps track of whether an AccessibilityObject was detached or |
| not. WebKit/chromium/public/WebAccessibilityObject can then use this |
| to determine if an object is still valid. |
| |
| Test: accessibility/accessibility-object-detached.html |
| |
| * WebCore.gypi: |
| * accessibility/AccessibilityObject.cpp: |
| (WebCore::AccessibilityObject::AccessibilityObject): |
| (WebCore::AccessibilityObject::detach): |
| (WebCore::AccessibilityObject::isDetached): |
| (WebCore): |
| * accessibility/AccessibilityObject.h: |
| (AccessibilityObject): |
| * accessibility/chromium/AXObjectCacheChromium.cpp: |
| (WebCore): |
| (WebCore::AXObjectCache::detachWrapper): |
| (WebCore::AXObjectCache::attachWrapper): |
| * accessibility/chromium/AccessibilityObjectWrapper.h: Removed. |
| |
| 2012-05-30 Shawn Singh <shawnsingh@chromium.org> |
| |
| Simplify TransformationMatrix rotation code to improve precision |
| https://bugs.webkit.org/show_bug.cgi?id=86666 |
| |
| Reviewed by Adrienne Walker. |
| |
| Change covered by existing layout tests; |
| Additional unit tests added. |
| |
| The original rotation code for WebCore::TransformationMatrix was |
| using indirect trig identities to compute basic rotation |
| matrices. As far as I can imagine, this is unnecessary, and brief |
| informal experiments showed that we can gain a few extra bits of |
| precision by avoiding that indirection. |
| |
| Indeed, precision improved such that it revealed a mistake on one |
| of the unit tests, where the test was actually degenerate so that |
| the layer was aligned with a viewport boundary. When it was |
| imprecise, it didnt appear to be aligned. Putting an additional |
| translation on that test fixes it so it is no longer a degenerate |
| test. |
| |
| This patch also revealed a few chinks in the unit testing armor of |
| this code, an error that should have been caught in unit tests was |
| luckily caught by SVG layout tests. This chink is fixed by adding |
| 2 extra unit tests. |
| |
| * platform/graphics/transforms/TransformationMatrix.cpp: |
| (WebCore::TransformationMatrix::rotate3d): |
| |
| 2012-05-30 Alec Flett <alecflett@chromium.org> |
| |
| IndexedDB: Remove old get/getKey implementations |
| https://bugs.webkit.org/show_bug.cgi?id=87879 |
| |
| Reviewed by Ojan Vafai. |
| |
| Removal of dead code, was scaffolding for a complicated |
| Chromium landing. |
| |
| * Modules/indexeddb/IDBIndexBackendImpl.cpp: |
| (WebCore::IDBIndexBackendImpl::getInternal): |
| (WebCore::IDBIndexBackendImpl::getKeyInternal): |
| (WebCore::IDBIndexBackendImpl::get): |
| (WebCore::IDBIndexBackendImpl::getKey): |
| * Modules/indexeddb/IDBIndexBackendImpl.h: |
| (IDBIndexBackendImpl): |
| * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: |
| (WebCore::IDBObjectStoreBackendImpl::get): |
| (WebCore::IDBObjectStoreBackendImpl::getInternal): |
| * Modules/indexeddb/IDBObjectStoreBackendImpl.h: |
| (IDBObjectStoreBackendImpl): |
| |
| 2012-05-30 Joe Mason <jmason@rim.com> |
| |
| [BlackBerry] Fix assertion fail on redirect due to multiple jobs per handle |
| https://bugs.webkit.org/show_bug.cgi?id=87579 |
| |
| Reviewed by George Staikos. |
| |
| RIM PR #158892: |
| |
| When we start a redirect, we now call cancelJob instead of just deleting it immediately to make sure |
| that all cleanup is performed. However, we also reassign the ResourceHandle to the new job, and |
| since cancelJob is asynchronous it is now assigned to two jobs simultaneously. |
| |
| Work around this by only returning handles that have not been cancelled from findJobForHandle. |
| Cancelled jobs still technically exist in the jobs list, but they're invisible to callers. This is |
| safe because there is literally nothing that can be done with a cancelled job - it is supposed to |
| merely consume any notifications that are already in progress and then kill itself off - so no |
| callers of findJobForHandle are expecting a cancelled job. (All existing callers call methods on the |
| returned job which are no-ops for cancelled jobs, so there is no behaviour change.) |
| |
| No new tests because there is no behaviour change (fixes a regression). |
| |
| * platform/network/blackberry/NetworkManager.cpp: |
| (WebCore::NetworkManager::findJobForHandle): |
| |
| 2012-05-30 Kentaro Hara <haraken@chromium.org> |
| |
| [V8][Performance] Optimize DOM attribute getters that return an empty string |
| https://bugs.webkit.org/show_bug.cgi?id=87820 |
| |
| Reviewed by Adam Barth. |
| |
| This patch optimizes the performance of DOM attribute getters that return an |
| empty string by 65.8% (e.g. div.id, div.className, div.title, div.lang ...etc) |
| |
| Performance test: Bindings/undefined-id-getter.html |
| |
| [Without the patch] |
| RESULT Bindings: undefined-id-getter= 441.984669644 runs/s |
| median= 445.544554455 runs/s, stdev= 11.8406070959 runs/s, min= 405.063291139 runs/s, max= 447.204968944 runs/s |
| |
| [With the patch] |
| RESULT Bindings: undefined-id-getter= 738.840460474 runs/s |
| median= 738.786279683 runs/s, stdev= 2.00249797161 runs/s, min= 733.944954128 runs/s, max= 741.721854305 runs/s |
| |
| - This patch passes Isolate to v8::String::Empty(), which removes Isolate |
| look-up inside v8::String::Empty(). |
| |
| - This patch inlines V8Binding::getElementStringAttr() and |
| V8Binding::setElementStringAttr(). |
| |
| No tests. No change in behavior. |
| |
| * bindings/scripts/CodeGeneratorV8.pm: |
| (GenerateNormalAttrGetter): |
| (GenerateNormalAttrSetter): |
| * bindings/v8/V8Binding.cpp: |
| (WebCore::StringCache::v8ExternalStringSlow): |
| * bindings/v8/V8Binding.h: |
| (WebCore::StringCache::v8ExternalString): |
| (StringCache): |
| (WebCore::v8ExternalString): |
| (WebCore): |
| |
| 2012-05-30 Kentaro Hara <haraken@chromium.org> |
| |
| [V8] Implement V8Binding::v8BooleanWithCheck(isolate) |
| https://bugs.webkit.org/show_bug.cgi?id=87814 |
| |
| Reviewed by Adam Barth. |
| |
| The objective is to pass Isolate to v8::True() and v8::False(). |
| Similarly to v8NullWithCheck() (bug 87713), this patch implements |
| V8Binding::v8BooleanWithCheck(isolate), which calls v8::True()/v8::False() |
| or v8::True(isolate)/v8::False(isolate) depending on whether the |
| passed isolate is null or not. |
| |
| This patch also passes Isolate to v8Boolean() in CodeGeneratorV8.pm. |
| |
| No tests. No behavior change. |
| |
| * bindings/scripts/CodeGeneratorV8.pm: |
| (NativeToJSValue): |
| * bindings/scripts/test/V8/V8TestEventTarget.cpp: |
| (WebCore::TestEventTargetV8Internal::dispatchEventCallback): |
| * bindings/scripts/test/V8/V8TestObj.cpp: |
| (WebCore::TestObjV8Internal::createAttrGetter): |
| (WebCore::TestObjV8Internal::reflectedBooleanAttrAttrGetter): |
| (WebCore::TestObjV8Internal::reflectedCustomBooleanAttrAttrGetter): |
| * bindings/v8/V8Binding.h: |
| (WebCore::v8Boolean): |
| (WebCore): |
| (WebCore::v8BooleanWithCheck): |
| |
| 2012-05-30 Kentaro Hara <haraken@chromium.org> |
| |
| [V8] Replace v8::True() and v8::False() with v8Boolean() |
| https://bugs.webkit.org/show_bug.cgi?id=87812 |
| |
| Reviewed by Adam Barth. |
| |
| To avoid implementing all of v8TrueWithCheck(isolate), v8FalseWithCheck(isolate) |
| and v8BooleanWithCheck(isolate), we can first replace v8::True() and v8::False() |
| with v8Boolean(). Then we can just implement v8BooleanWithCheck(isolate). |
| |
| No tests. No change in behavior. |
| |
| * bindings/v8/SerializedScriptValue.cpp: |
| * bindings/v8/V8Binding.h: |
| (WebCore::v8StringOrFalse): |
| * bindings/v8/V8NPUtils.cpp: |
| (WebCore::convertNPVariantToV8Object): |
| * bindings/v8/custom/V8DOMStringMapCustom.cpp: |
| (WebCore::V8DOMStringMap::namedPropertyDeleter): |
| * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: |
| (WebCore::V8InjectedScriptHost::isHTMLAllCollectionCallback): |
| * bindings/v8/custom/V8StorageCustom.cpp: |
| (WebCore::storageDeleter): |
| |
| 2012-05-30 Kentaro Hara <haraken@chromium.org> |
| |
| [V8] Replace v8::Null() with v8NullWithCheck(isolate) in custom bindings where isolate can be 0 |
| https://bugs.webkit.org/show_bug.cgi?id=87807 |
| |
| Reviewed by Adam Barth. |
| |
| The objective is to pass Isolate around in V8 bindings. |
| This patch replaces v8::Null() with v8NullWithCheck(isolate) |
| in custom bindings where isolate can be 0. |
| |
| 'where isolate can be 0' means all the places where we cannot |
| retrieve Isolate directly from AccessorInfo or Arguments. |
| |
| No tests. No behavior change. |
| |
| * bindings/v8/custom/V8BlobCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8CSSRuleCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8CSSStyleSheetCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8CSSValueCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8DOMStringMapCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8DOMTokenListCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8DOMWindowCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8DataViewCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8DocumentCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8EntryCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8EntrySyncCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8EventCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8Float32ArrayCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8Float64ArrayCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8HTMLDocumentCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8HTMLElementCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8IDBAnyCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8IDBKeyCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8ImageDataCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8Int16ArrayCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8Int32ArrayCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8Int8ArrayCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8LocationCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8NamedNodeMapCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8NodeCustom.cpp: |
| (WebCore::toV8Slow): |
| * bindings/v8/custom/V8SVGDocumentCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8SVGElementCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8SVGPathSegCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8ScriptProfileCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8StyleSheetCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8Uint16ArrayCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8Uint32ArrayCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8Uint8ArrayCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8WorkerContextCustom.cpp: |
| (WebCore::toV8): |
| |
| 2012-05-30 Kentaro Hara <haraken@chromium.org> |
| |
| [V8] Replace v8::Null() with v8::Null(isolate) or v8NullWithCheck(isolate) in non-custom bindings |
| https://bugs.webkit.org/show_bug.cgi?id=87810 |
| |
| Reviewed by Adam Barth. |
| |
| The objective is to pass Isolate around in V8 bindings. |
| For non-custom bindings, we replace v8::Null() with v8::Null(isolate) |
| where isolate cannot be 0, and replace v8::Null() with v8NullWithCheck(isolate) |
| where isolate can be 0. |
| |
| This will be the final patch for passing Isolate to v8::Null(). |
| |
| No tests. No change in behavior. |
| |
| * bindings/scripts/CodeGeneratorV8.pm: |
| (GenerateNormalAttrGetter): |
| (GenerateFunctionCallback): |
| * bindings/scripts/test/V8/V8TestObj.cpp: |
| (WebCore::TestObjV8Internal::contentDocumentAttrGetter): |
| (WebCore::TestObjV8Internal::getSVGDocumentCallback): |
| * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: |
| (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrGetter): |
| (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedReadonlyValueAttrGetter): |
| * bindings/v8/SerializedScriptValue.cpp: |
| (WebCore::SerializedScriptValue::deserialize): |
| * bindings/v8/V8DOMWrapper.cpp: |
| (WebCore::V8DOMWrapper::convertEventTargetToV8Object): |
| |
| 2012-05-30 Kentaro Hara <haraken@chromium.org> |
| |
| [V8] Replace v8::Null() with v8::Null(isolate) in custom bindings where isolate shouldn't be 0 |
| https://bugs.webkit.org/show_bug.cgi?id=87809 |
| |
| Reviewed by Adam Barth. |
| |
| The objective is to pass Isolate around in V8 bindings. |
| This patch replaces v8::Null() with v8::Null(isolate) in custom bindings |
| where isolate shouldn't be 0. 'where isolate shouldn't be 0' is the place |
| where isolate is retrieved directly from AccessorInfo and Arguments. |
| |
| This patch includes a couple of refactorings: |
| |
| - Makes V8DeviceMotionEvent::createAccelerationObject() and |
| V8DeviceMotionEvent::createRotationRateObject() static |
| |
| - Moves V8HTMLElement::toV8Object() into the existing ENABLE(MICRODATA) flag. |
| |
| No tests. No change in behavior. |
| |
| * bindings/v8/custom/V8ClipboardCustom.cpp: |
| (WebCore::V8Clipboard::typesAccessorGetter): |
| * bindings/v8/custom/V8CoordinatesCustom.cpp: |
| (WebCore::V8Coordinates::altitudeAccessorGetter): |
| (WebCore::V8Coordinates::altitudeAccuracyAccessorGetter): |
| (WebCore::V8Coordinates::headingAccessorGetter): |
| (WebCore::V8Coordinates::speedAccessorGetter): |
| * bindings/v8/custom/V8DeviceMotionEventCustom.cpp: |
| (WebCore::V8DeviceMotionEvent::accelerationAccessorGetter): |
| (WebCore::V8DeviceMotionEvent::accelerationIncludingGravityAccessorGetter): |
| (WebCore::V8DeviceMotionEvent::rotationRateAccessorGetter): |
| (WebCore::V8DeviceMotionEvent::intervalAccessorGetter): |
| * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp: |
| (WebCore::V8DeviceOrientationEvent::alphaAccessorGetter): |
| (WebCore::V8DeviceOrientationEvent::betaAccessorGetter): |
| (WebCore::V8DeviceOrientationEvent::gammaAccessorGetter): |
| (WebCore::V8DeviceOrientationEvent::absoluteAccessorGetter): |
| * bindings/v8/custom/V8DocumentLocationCustom.cpp: |
| (WebCore::V8Document::locationAccessorGetter): |
| * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: |
| (WebCore::V8HTMLCanvasElement::getContextCallback): |
| * bindings/v8/custom/V8HTMLElementCustom.cpp: |
| (WebCore::toV8): |
| (WebCore): |
| (WebCore::toV8Object): |
| * bindings/v8/custom/V8HistoryCustom.cpp: |
| (WebCore::V8History::stateAccessorGetter): |
| * bindings/v8/custom/V8MessageEventCustom.cpp: |
| (WebCore::V8MessageEvent::dataAccessorGetter): |
| * bindings/v8/custom/V8NodeCustom.cpp: |
| (WebCore::V8Node::insertBeforeCallback): |
| (WebCore::V8Node::replaceChildCallback): |
| (WebCore::V8Node::removeChildCallback): |
| (WebCore::V8Node::appendChildCallback): |
| * bindings/v8/custom/V8PopStateEventCustom.cpp: |
| (WebCore::V8PopStateEvent::stateAccessorGetter): |
| * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp: |
| (WebCore::V8SQLResultSetRowList::itemCallback): |
| * bindings/v8/custom/V8TrackEventCustom.cpp: |
| (WebCore::V8TrackEvent::trackAccessorGetter): |
| * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: |
| (WebCore::toV8Object): |
| (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback): |
| (WebCore::V8WebGLRenderingContext::getSupportedExtensionsCallback): |
| |
| 2012-05-30 Nico Weber <thakis@chromium.org> |
| |
| Make the files attribute of HTMLInputElement writable |
| https://bugs.webkit.org/show_bug.cgi?id=87154 |
| |
| Reviewed by Adam Barth. |
| |
| whatwg thread: |
| http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2012-May/036140.html |
| |
| * bindings/objc/PublicDOMInterfaces.h: |
| Remove readonly on files property. |
| * html/FileInputType.cpp: |
| (FileInputType): |
| Add a NULL check to setFiles(). |
| * html/FileInputType.h: |
| (FileInputType): |
| Let setFiles() overwrite the base class's method. |
| * html/HTMLInputElement.cpp: |
| (WebCore::HTMLInputElement::setFiles): |
| Add setFiles() implementation, delegate to input type. |
| * html/HTMLInputElement.h: |
| (HTMLInputElement): |
| * html/HTMLInputElement.idl: |
| * html/InputType.cpp: |
| (WebCore::InputType::setFiles): |
| setFiles() does nothing by default. |
| * html/InputType.h: |
| (InputType): |
| Add a virtual setFiles() method. |
| |
| 2012-05-30 Joe Mason <jmason@rim.com> |
| |
| [BlackBerry] Remove useless string->char*->string conversion in NetworkJob. |
| https://bugs.webkit.org/show_bug.cgi?id=87861 |
| |
| Reviewed by Antonio Gomes. |
| |
| RIM PR #152383: username is a WTF::String. ResourceHandleInternal::m_user is a string. Yet they're |
| assigned with "username = m_user.utf8().data()". Pointless: "username = m_user" will do. |
| |
| No new tests since there is no behaviour change. |
| |
| * platform/network/blackberry/NetworkJob.cpp: |
| (WebCore::NetworkJob::sendRequestWithCredentials): |
| |
| 2012-05-30 Dan Bernstein <mitz@apple.com> |
| |
| [Qt] REGRESSION(r118568): It broke fast/forms/textarea-maxlength.html on Qt 4.8 |
| https://bugs.webkit.org/show_bug.cgi?id=87740 |
| |
| Reviewed by Darin Adler. |
| |
| * platform/text/qt/TextBreakIteratorQt.cpp: |
| (WebCore::NonSharedCharacterBreakIterator::NonSharedCharacterBreakIterator): Changed to use |
| the return value of setUpIterator. |
| |
| 2012-05-30 Zeno Albisser <zeno@webkit.org> |
| |
| GraphicsSurface: allow importing and exporting of textures directly on GPU side. |
| https://bugs.webkit.org/show_bug.cgi?id=87725 |
| |
| Add copyFromFramebuffer function to copy a texture from an FBO |
| onto the GraphicsSurface. |
| Add getTextureID function to export the texture ID. |
| This allows binding/blitting the texture directly on the GPU. |
| |
| Reviewed by Noam Rosenthal. |
| |
| * platform/graphics/surfaces/GraphicsSurface.cpp: |
| (WebCore::GraphicsSurface::getTextureID): |
| (WebCore): |
| (WebCore::GraphicsSurface::copyFromFramebuffer): |
| * platform/graphics/surfaces/GraphicsSurface.h: |
| (GraphicsSurface): |
| * platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp: |
| (WebCore::GraphicsSurface::platformGetTextureID): |
| (WebCore): |
| (WebCore::GraphicsSurface::platformCopyFromFramebuffer): |
| |
| 2012-05-30 Alec Flett <alecflett@chromium.org> |
| |
| IndexedDB: Implement IDBTransaction.error and IDBRequest.error |
| https://bugs.webkit.org/show_bug.cgi?id=87865 |
| |
| Reviewed by Tony Chang. |
| |
| Added "error" attribute to IDBRequest and IDBTransaction. Update |
| IDBDatabaseError to honor the IDBDatabaseException behavior |
| of dealing with IDB-specific throws of DOMException codes, |
| as per the spec. |
| |
| Existing tests which previously tested 'errorCode' and |
| 'webkitErrorMessage' have been updated to use the new attribute. |
| |
| * Modules/indexeddb/IDBCursor.cpp: |
| (WebCore::IDBCursor::advance): |
| * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: |
| (WebCore::IDBDatabaseBackendImpl::setVersion): |
| * Modules/indexeddb/IDBDatabaseError.h: |
| (WebCore::IDBDatabaseError::create): |
| (WebCore::IDBDatabaseError::code): |
| (WebCore::IDBDatabaseError::idbCode): |
| (WebCore::IDBDatabaseError::name): |
| (WebCore::IDBDatabaseError::IDBDatabaseError): |
| (IDBDatabaseError): |
| * Modules/indexeddb/IDBDatabaseException.cpp: |
| (WebCore): |
| (WebCore::getErrorEntry): |
| (WebCore::IDBDatabaseException::initializeDescription): |
| (WebCore::IDBDatabaseException::getErrorName): |
| (WebCore::IDBDatabaseException::getLegacyErrorCode): |
| * Modules/indexeddb/IDBDatabaseException.h: |
| (IDBDatabaseException): |
| * Modules/indexeddb/IDBObjectStore.cpp: |
| (WebCore::IDBObjectStore::createIndex): |
| * Modules/indexeddb/IDBRequest.cpp: |
| (WebCore::IDBRequest::error): |
| (WebCore): |
| (WebCore::IDBRequest::resetReadyState): |
| (WebCore::IDBRequest::abort): |
| (WebCore::IDBRequest::onError): |
| (WebCore::IDBRequest::onSuccess): |
| (WebCore::IDBRequest::onSuccessWithContinuation): |
| (WebCore::IDBRequest::dispatchEvent): |
| * Modules/indexeddb/IDBRequest.h: |
| (IDBRequest): |
| * Modules/indexeddb/IDBRequest.idl: |
| * Modules/indexeddb/IDBTransaction.cpp: |
| (WebCore::IDBTransaction::error): |
| (WebCore): |
| (WebCore::IDBTransaction::setError): |
| * Modules/indexeddb/IDBTransaction.h: |
| (IDBTransaction): |
| * Modules/indexeddb/IDBTransaction.idl: |
| |
| 2012-05-30 Allan Sandfeld Jensen <allan.jensen@nokia.com> |
| |
| [Qt] ImageDecoderQt doesn't support some decoders. |
| https://bugs.webkit.org/show_bug.cgi?id=87851 |
| |
| Reviewed by Kenneth Rohde Christiansen. |
| |
| If forced to decode GIF and JPEG, ImageDecoderQt show several |
| artifacts. This is caused by mismatched decoded image-formats. |
| |
| Convert mismatched color spaces into ARGB color space, and perform |
| manual mem-copy when the image has been decoded into a new buffer. |
| |
| This patch also add support for down-scaling in the decoder. |
| |
| * platform/graphics/qt/ImageDecoderQt.cpp: |
| (WebCore::ImageDecoderQt::internalDecodeSize): |
| (WebCore::ImageDecoderQt::internalHandleCurrentImage): |
| |
| 2012-05-30 Emil A Eklund <eae@chromium.org> |
| |
| Floats wraps incorrectly when top edge has subpixel precision |
| https://bugs.webkit.org/show_bug.cgi?id=87688 |
| |
| Reviewed by Levi Weintraub. |
| |
| When computing the logical left and right offsets for a float we |
| incorrectly floored the logical top when passing it to the float search |
| adapter. This caused it to return incorrect values where the floored and |
| pixel snapped values are not the same. |
| |
| Test: fast/sub-pixel/float-wrap-with-subpixel-top.html |
| |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::logicalLeftOffsetForLine): |
| (WebCore::RenderBlock::logicalRightOffsetForLine): |
| |
| 2012-05-30 Emil A Eklund <eae@chromium.org> |
| |
| Inline blocks with margin wrap incorrectly with subpixel layout turned on |
| https://bugs.webkit.org/show_bug.cgi?id=87897 |
| |
| Reviewed by Levi Weintraub. |
| |
| Change WebCore::getBorderPaddingMargin and the helper function |
| getBPMWidth to return a LayoutUnit rather than an int as the padding and |
| margin values have subpixel precision. This fixes an issue where we would |
| incorrectly wrap inline blocks with a subpixel padding or margin. |
| |
| Test: fast/sub-pixel/inline-block-with-margin.html |
| |
| * rendering/RenderBlock.cpp: |
| (WebCore::getBPMWidth): |
| (WebCore::getBorderPaddingMargin): |
| (WebCore::RenderBlock::computeInlinePreferredLogicalWidths): |
| |
| 2012-05-30 Tony Chang <tony@chromium.org> |
| |
| rename flexbox css values from justify and distribute to space-between and space-around |
| https://bugs.webkit.org/show_bug.cgi?id=87867 |
| |
| Reviewed by Ojan Vafai. |
| |
| This was recently changed in the spec: |
| http://dev.w3.org/csswg/css3-flexbox/#justify-content |
| |
| No new tests, updated existing tests and expectations. |
| |
| * css/CSSParser.cpp: |
| (WebCore::isValidKeywordPropertyAndValue): |
| * css/CSSPrimitiveValueMappings.h: |
| (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): |
| (WebCore::CSSPrimitiveValue::operator EFlexPack): |
| (WebCore::CSSPrimitiveValue::operator EFlexLinePack): |
| * css/CSSValueKeywords.in: |
| * rendering/RenderFlexibleBox.cpp: |
| (WebCore::initialPackingOffset): |
| (WebCore::packingSpaceBetweenChildren): |
| (WebCore::initialLinePackingOffset): |
| (WebCore::linePackingSpaceBetweenChildren): |
| * rendering/style/RenderStyleConstants.h: |
| |
| 2012-05-30 Kevin Ollivier <kevino@theolliviers.com> |
| |
| [wx] Unreviewed build fix. Make sure we get the file size with the proper native type. |
| |
| * platform/wx/FileSystemWx.cpp: |
| (WebCore::getFileMetadata): |
| |
| 2012-05-30 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r118913. |
| http://trac.webkit.org/changeset/118913 |
| https://bugs.webkit.org/show_bug.cgi?id=87891 |
| |
| patch is incorrect (see comments in |
| https://bugs.webkit.org/show_bug.cgi?id=87889) (Requested by |
| thorton on #webkit). |
| |
| * css/CSSFontFaceSrcValue.cpp: |
| (WebCore::CSSFontFaceSrcValue::addSubresourceStyleURLs): |
| * css/CSSFontFaceSrcValue.h: |
| (CSSFontFaceSrcValue): |
| * css/CSSPrimitiveValue.cpp: |
| (WebCore::CSSPrimitiveValue::addSubresourceStyleURLs): |
| * css/CSSPrimitiveValue.h: |
| (CSSPrimitiveValue): |
| * css/CSSReflectValue.cpp: |
| (WebCore::CSSReflectValue::addSubresourceStyleURLs): |
| * css/CSSReflectValue.h: |
| (CSSReflectValue): |
| * css/CSSValue.cpp: |
| (WebCore::CSSValue::addSubresourceStyleURLs): |
| * css/CSSValue.h: |
| (CSSValue): |
| * css/CSSValueList.cpp: |
| (WebCore::CSSValueList::addSubresourceStyleURLs): |
| * css/CSSValueList.h: |
| (CSSValueList): |
| * css/StylePropertySet.cpp: |
| (WebCore::StylePropertySet::addSubresourceStyleURLs): |
| * css/StylePropertySet.h: |
| (StylePropertySet): |
| * css/StyleSheetContents.cpp: |
| (WebCore::StyleSheetContents::addSubresourceStyleURLs): |
| * css/StyleSheetContents.h: |
| (StyleSheetContents): |
| * dom/Element.h: |
| * dom/Node.cpp: |
| (WebCore::Node::getSubresourceURLs): |
| * dom/Node.h: |
| (WebCore::Node::addSubresourceAttributeURLs): |
| (WebCore): |
| * dom/ProcessingInstruction.cpp: |
| (WebCore::ProcessingInstruction::addSubresourceAttributeURLs): |
| * dom/ProcessingInstruction.h: |
| (ProcessingInstruction): |
| * dom/StyledElement.cpp: |
| (WebCore::StyledElement::addSubresourceAttributeURLs): |
| * dom/StyledElement.h: |
| (StyledElement): |
| * html/HTMLBodyElement.cpp: |
| (WebCore::HTMLBodyElement::addSubresourceAttributeURLs): |
| * html/HTMLBodyElement.h: |
| (HTMLBodyElement): |
| * html/HTMLEmbedElement.cpp: |
| (WebCore::HTMLEmbedElement::addSubresourceAttributeURLs): |
| * html/HTMLEmbedElement.h: |
| (HTMLEmbedElement): |
| * html/HTMLImageElement.cpp: |
| (WebCore::HTMLImageElement::addSubresourceAttributeURLs): |
| * html/HTMLImageElement.h: |
| (HTMLImageElement): |
| * html/HTMLInputElement.cpp: |
| (WebCore::HTMLInputElement::addSubresourceAttributeURLs): |
| * html/HTMLInputElement.h: |
| (HTMLInputElement): |
| * html/HTMLLinkElement.cpp: |
| (WebCore::HTMLLinkElement::addSubresourceAttributeURLs): |
| * html/HTMLLinkElement.h: |
| (HTMLLinkElement): |
| * html/HTMLObjectElement.cpp: |
| (WebCore::HTMLObjectElement::addSubresourceAttributeURLs): |
| * html/HTMLObjectElement.h: |
| (HTMLObjectElement): |
| * html/HTMLParamElement.cpp: |
| (WebCore::HTMLParamElement::addSubresourceAttributeURLs): |
| * html/HTMLParamElement.h: |
| (HTMLParamElement): |
| * html/HTMLScriptElement.cpp: |
| (WebCore::HTMLScriptElement::addSubresourceAttributeURLs): |
| * html/HTMLScriptElement.h: |
| (HTMLScriptElement): |
| * html/HTMLStyleElement.cpp: |
| (WebCore::HTMLStyleElement::addSubresourceAttributeURLs): |
| * html/HTMLStyleElement.h: |
| (HTMLStyleElement): |
| * html/HTMLTableCellElement.cpp: |
| (WebCore::HTMLTableCellElement::addSubresourceAttributeURLs): |
| * html/HTMLTableCellElement.h: |
| (HTMLTableCellElement): |
| * html/HTMLTableElement.cpp: |
| (WebCore::HTMLTableElement::addSubresourceAttributeURLs): |
| * html/HTMLTableElement.h: |
| (HTMLTableElement): |
| * svg/SVGCursorElement.cpp: |
| (WebCore::SVGCursorElement::addSubresourceAttributeURLs): |
| * svg/SVGCursorElement.h: |
| (SVGCursorElement): |
| * svg/SVGFEImageElement.cpp: |
| (WebCore::SVGFEImageElement::addSubresourceAttributeURLs): |
| * svg/SVGFEImageElement.h: |
| (SVGFEImageElement): |
| * svg/SVGImageElement.cpp: |
| (WebCore::SVGImageElement::addSubresourceAttributeURLs): |
| * svg/SVGImageElement.h: |
| (SVGImageElement): |
| * svg/SVGScriptElement.cpp: |
| (WebCore::SVGScriptElement::addSubresourceAttributeURLs): |
| * svg/SVGScriptElement.h: |
| (SVGScriptElement): |
| |
| 2012-05-30 Shezan Baig <shezbaig.wk@gmail.com> |
| |
| Rename offsetTopLeft in RenderBoxModelObject to something better |
| https://bugs.webkit.org/show_bug.cgi?id=85915 |
| |
| Reviewed by Darin Adler. |
| |
| Renamed offsetTopLeft in RenderBoxModelObject to |
| adjustedPositionRelativeToOffsetParent, because it returns the given |
| startPoint after adjusting it to be relative to the top-left corner of |
| the offsetParent. The definition of offsetParent itself is non-trivial |
| and is documented within the body of RenderObject::offsetParent, |
| therefore I decided to reuse this term, as-is, in the name of this |
| function. |
| |
| No new tests; no functional or visible changes. |
| |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::offsetLeft): |
| (WebCore::RenderBox::offsetTop): |
| * rendering/RenderBoxModelObject.cpp: |
| (WebCore::RenderBoxModelObject::adjustedPositionRelativeToOffsetParent): |
| (WebCore::RenderBoxModelObject::offsetLeft): |
| (WebCore::RenderBoxModelObject::offsetTop): |
| * rendering/RenderBoxModelObject.h: |
| (RenderBoxModelObject): |
| * rendering/RenderInline.cpp: |
| (WebCore::RenderInline::offsetLeft): |
| (WebCore::RenderInline::offsetTop): |
| |
| 2012-05-29 Adrienne Walker <enne@google.com> |
| |
| Transformed fixed position layers have an incorrect overlap map entry |
| https://bugs.webkit.org/show_bug.cgi?id=64201 |
| |
| Reviewed by Darin Adler. |
| |
| Previously, layers that both had a transform and were fixed position |
| were not considered as being fixed position in RenderGeometryMap or in |
| RenderBox::mapLocalToContainer (although this case is not incorrect in |
| the case of painting, so an external caller likely adjusts for this). |
| |
| Tests: compositing/layer-creation/fixed-position-and-transform.html |
| compositing/layer-creation/fixed-position-under-transform.html |
| |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::mapLocalToContainer): |
| * rendering/RenderGeometryMap.cpp: |
| (WebCore::RenderGeometryMap::mapToAbsolute): |
| |
| 2012-05-30 Ulan Degenbaev <ulan@chromium.org> |
| |
| [v8] Crash after redefining setter on typed array to a number |
| https://bugs.webkit.org/show_bug.cgi?id=87862 |
| |
| Reviewed by Kenneth Russell. |
| |
| Remove calls to typed array set() method from C++. |
| Store the copying script as a hidden property of a typed array prototype. |
| |
| Test: fast/canvas/webgl/array-override-set.html |
| |
| * bindings/v8/custom/V8ArrayBufferViewCustom.cpp: |
| (WebCore): |
| (WebCore::getHiddenCopyMethod): |
| (WebCore::installHiddenCopyMethod): |
| (WebCore::copyElements): |
| * bindings/v8/custom/V8ArrayBufferViewCustom.h: |
| (WebCore): |
| (WebCore::constructWebGLArray): |
| (WebCore::setWebGLArrayHelper): |
| * bindings/v8/custom/V8ArrayBufferViewCustomScript.js: |
| |
| 2012-05-30 David Hyatt <hyatt@apple.com> |
| |
| https://bugs.webkit.org/show_bug.cgi?id=87882 |
| |
| [New Multicolumn] Rename layoutColumns to relayoutForPagination and make it |
| virtual so that it can be implemented by RenderMultiColumnBlock. |
| |
| Reviewed by Anders Carlsson. |
| |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::layoutBlock): |
| (WebCore::RenderBlock::relayoutForPagination): |
| * rendering/RenderBlock.h: |
| (RenderBlock): |
| * rendering/RenderMultiColumnBlock.cpp: |
| (WebCore::RenderMultiColumnBlock::relayoutForPagination): |
| (WebCore): |
| * rendering/RenderMultiColumnBlock.h: |
| (RenderMultiColumnBlock): |
| |
| 2012-05-30 Daniel Drake <dsd@laptop.org> |
| |
| Check for GTK2/GTK3 symbol mismatch earlier |
| https://bugs.webkit.org/show_bug.cgi?id=87687 |
| |
| Reviewed by Martin Robinson. |
| |
| No new tests. Regressions in core behavior are covered by existing |
| plugin tests and the fix deals with particular aspects of the system |
| environment that are difficult to test. |
| |
| Detect plugins that would mix GTK+ symbols earlier, so that the |
| WebKit can skip them and choose a more appropriate plugin module. |
| |
| * plugins/gtk/PluginPackageGtk.cpp: Move this code from PluginViewGtk. |
| (WebCore::moduleMixesGtkSymbols): |
| (WebCore::PluginPackage::load): |
| * plugins/gtk/PluginViewGtk.cpp: Move this code to PluginPackageGtk. |
| (WebCore::PluginView::platformStart): |
| |
| 2012-05-30 Allan Sandfeld Jensen <allan.jensen@nokia.com> |
| |
| [Qt] Support IMAGE_DECODER_DOWN_SAMPLING flag. |
| https://bugs.webkit.org/show_bug.cgi?id=87840 |
| |
| Based on patches by Qi Zhang and Jussi Lehto. |
| Reviewed by Kenneth Rohde Christiansen. |
| |
| * platform/graphics/Image.cpp: |
| (WebCore::Image::adjustSourceRectForDownSampling): |
| * platform/graphics/Image.h: |
| (Image): |
| * platform/graphics/openvg/ImageOpenVG.cpp: |
| (WebCore::BitmapImage::draw): |
| * platform/graphics/qt/ImageQt.cpp: |
| (WebCore::Image::drawPattern): |
| (WebCore::BitmapImage::draw): |
| |
| 2012-05-30 Shinya Kawanaka <shinyak@chromium.org> |
| |
| comparePositions in htmlediting should consider nested Shadow DOM. |
| https://bugs.webkit.org/show_bug.cgi?id=87623 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| comparePositions in htmlediting.cpp didn't consider nested Shadow DOM. |
| This patch makes it possible to compare the nodes in nested Shadow DOM. |
| |
| The algorithm is: we calculate the common tree scope of node A and B, and |
| adjust the nodes to the treeScope, then compare them. If the adjusted nodes |
| are the same, we check the shadow descendent of each node. |
| |
| Test: editing/shadow/compare-positions-in-nested-shadow.html |
| |
| * dom/TreeScope.cpp: |
| (WebCore::listTreeScopes): |
| (WebCore): |
| (WebCore::commonTreeScope): |
| * dom/TreeScope.h: |
| (WebCore): |
| * editing/htmlediting.cpp: |
| (WebCore::comparePositions): |
| |
| 2012-05-30 Erik Arvidsson <arv@chromium.org> |
| |
| [V8] Clean up V8LazyEventListener to use one less function call |
| https://bugs.webkit.org/show_bug.cgi?id=87785 |
| |
| Reviewed by Kentaro Hara. |
| |
| Instead of relying on 'arguments' we rely on 'this'. 'this' cannot be intercepted by a |
| with-statement so it is safe to use that to bind the context objects. This allows us to |
| remove one layer of function indirection in the generated code. |
| |
| Covered by existing tests. |
| |
| * bindings/v8/V8LazyEventListener.cpp: |
| (WebCore::V8LazyEventListener::prepareListenerObject): |
| |
| 2012-05-30 Tim Horton <timothy_horton@apple.com> |
| |
| Factor DeferrableOneShotTimer out of GraphicsContextCG/GeneratorGeneratedImage |
| https://bugs.webkit.org/show_bug.cgi?id=87824 |
| |
| Reviewed by Simon Fraser. |
| |
| DeferrableOneShotTimer is a timer which takes a class and method to call (as Timer does), |
| and a delay. It exposes restart(), stop(), and isActive(), and none of the rest of |
| the TimerBase interface. On restart(), the timer is started with the given delay, |
| unless it's already running, in which case a flag is set to automatically restart |
| the timer when it fires instead of calling the given method. This provides a |
| low-overhead way to implement a deferrable timer. |
| |
| No new tests, refactoring. |
| |
| * platform/Timer.h: |
| (DeferrableOneShotTimer): |
| (WebCore::DeferrableOneShotTimer::DeferrableOneShotTimer): New class. |
| (WebCore::DeferrableOneShotTimer::restart): |
| (WebCore::DeferrableOneShotTimer::fired): |
| * platform/graphics/GeneratorGeneratedImage.cpp: |
| (WebCore::GeneratorGeneratedImage::invalidateCacheTimerFired): |
| * platform/graphics/GeneratorGeneratedImage.h: |
| (WebCore::GeneratorGeneratedImage::GeneratorGeneratedImage): Make use of DeferrableOneShotTimer. |
| * platform/graphics/cg/GraphicsContextCG.cpp: |
| (WebCore::SubimageCacheWithTimer::SubimageCacheWithTimer): Make use of DeferrableOneShotTimer. |
| (WebCore::SubimageCacheWithTimer::invalidateCacheTimerFired): |
| |
| 2012-05-30 Xueqing Huang <huangxueqing@baidu.com> |
| |
| eventSender.beginDragWithFiles should be implemented in Windows, which blocked drag and drop related tests. |
| https://bugs.webkit.org/show_bug.cgi?id=86296 |
| |
| Reviewed by Tony Chang. |
| |
| Test: This change was requirement for eventSender.beginDragWithFiles, update win/Skipped file to remove drag and drop related tests will valiate it. |
| |
| * platform/win/DragDataWin.cpp: |
| (WebCore::DragData::numberOfFiles): |
| |
| 2012-05-30 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> |
| |
| HashTable.h has using directives for std::pair and std::make_pair |
| https://bugs.webkit.org/show_bug.cgi?id=29919 |
| |
| Reviewed by Darin Adler. |
| |
| Change code to use std::pair and std::make_pair. |
| |
| * accessibility/AXObjectCache.cpp: |
| (WebCore::AXObjectCache::postNotification): |
| * html/MediaFragmentURIParser.cpp: |
| (WebCore::MediaFragmentURIParser::parseFragments): |
| * html/parser/HTMLMetaCharsetParser.cpp: |
| (WebCore::HTMLMetaCharsetParser::processMeta): |
| * loader/cache/CachedImage.cpp: |
| (WebCore::CachedImage::brokenImage): |
| * page/PageSerializer.cpp: |
| (WebCore::isCharsetSpecifyingNode): |
| |
| 2012-05-30 Peter Rybin <peter.rybin@gmail.com> |
| |
| Web Inspector: disable ExactlyInt feature in InspectorTypeBuilder since it breaks release Windows 7 WK2 |
| https://bugs.webkit.org/show_bug.cgi?id=87857 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| Code generator is patched to support old style of int parameter. |
| |
| * inspector/CodeGeneratorInspector.py: |
| (TypeModel.init_class): |
| |
| 2012-05-30 Alexei Filippov <alexeif@chromium.org> |
| |
| Web Inspector: Add trace() method to the WorkerConsole |
| https://bugs.webkit.org/show_bug.cgi?id=87656 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| * inspector/front-end/HeapSnapshotProxy.js: |
| (WebInspector.HeapSnapshotRealWorker.prototype._messageReceived): |
| * inspector/front-end/HeapSnapshotWorker.js: |
| (WebInspector.WorkerConsole.prototype.trace): |
| |
| 2012-05-30 Kinuko Yasuda <kinuko@chromium.org> |
| |
| File.lastModifiedDate must return null if the modified time info is not available |
| https://bugs.webkit.org/show_bug.cgi?id=87709 |
| |
| Reviewed by Kentaro Hara. |
| |
| Per File API spec, File.lastModifiedDate must return null if the |
| modified time info is not available. |
| http://dev.w3.org/2006/webapi/FileAPI/#dfn-lastModifiedDate |
| |
| Test: http/tests/local/fileapi/file-last-modified-after-delete.html |
| |
| * fileapi/File.cpp: |
| (WebCore::File::lastModifiedDateForBinding): Added. |
| (WebCore): |
| * fileapi/File.h: |
| (File): |
| * fileapi/File.idl: Added ImplementedAs=lastModifiedDateForBinding. |
| |
| 2012-05-30 Jochen Eisinger <jochen@chromium.org> |
| |
| Match Firefox restrictions to window.blur and window.focus |
| https://bugs.webkit.org/show_bug.cgi?id=86969 |
| |
| Reviewed by Adam Barth. |
| |
| Disallow window.blur altogether, and only allow window.focus to be |
| invoked from the context that created this very window. |
| |
| There's a new setting (windowFocusRestricted) that defaults to true. If |
| false, the new restrictions are lifted. This can be used by ports that |
| would prefer to stick with the old behavior. |
| |
| For tests, this setting is accessible in window.internals.settings |
| |
| To temporarily allow window.focus(), an object of type |
| WindowFocusAllowedIndicator can be created. It is currently used to |
| enable window.focus() during dispatch of the click event for |
| notifications. |
| |
| Tests: fast/dom/Window/mozilla-focus-blur.html |
| fast/notifications/notifications-click-event-focus.html |
| |
| * CMakeLists.txt: |
| * GNUmakefile.list.am: |
| * Target.pri: |
| * WebCore.gypi: |
| * WebCore.vcproj/WebCore.vcproj: |
| * WebCore.xcodeproj/project.pbxproj: |
| * notifications/Notification.cpp: |
| (WebCore::Notification::dispatchClickEvent): |
| * page/DOMWindow.cpp: |
| (WebCore::DOMWindow::focus): |
| (WebCore::DOMWindow::blur): |
| * page/DOMWindow.h: |
| (DOMWindow): |
| * page/DOMWindow.idl: |
| * page/Settings.cpp: |
| (WebCore::Settings::Settings): |
| * page/Settings.h: |
| (Settings): |
| (WebCore::Settings::setWindowFocusRestricted): |
| (WebCore::Settings::windowFocusRestricted): |
| * page/WindowFocusAllowedIndicator.cpp: Added. |
| (WebCore): |
| (WebCore::WindowFocusAllowedIndicator::windowFocusAllowed): |
| (WebCore::WindowFocusAllowedIndicator::WindowFocusAllowedIndicator): |
| (WebCore::WindowFocusAllowedIndicator::~WindowFocusAllowedIndicator): |
| * page/WindowFocusAllowedIndicator.h: Added. |
| (WebCore): |
| (WindowFocusAllowedIndicator): |
| * testing/InternalSettings.cpp: |
| (WebCore::InternalSettings::InternalSettings): |
| (WebCore::InternalSettings::restoreTo): |
| (WebCore::InternalSettings::setWindowFocusRestricted): |
| (WebCore): |
| * testing/InternalSettings.h: |
| (InternalSettings): |
| * testing/InternalSettings.idl: |
| |
| 2012-05-30 Mariusz Grzegorczyk <mariusz.g@samsung.com>, Ryuan Choi <ryuan.choi@samsung.com> |
| |
| [EFL][WK2] Fix WebKit2-EFL build |
| https://bugs.webkit.org/show_bug.cgi?id=83693 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * CMakeLists.txt: Add GestureTapHighlighter.cpp. |
| |
| 2012-05-29 Antti Koivisto <antti@apple.com> |
| |
| Rename Foo::addSubresourceStyleURLs and Node::addSubresourceAttributeURLs |
| https://bugs.webkit.org/show_bug.cgi?id=87739 |
| |
| Rubber-stamped by Andreas Kling. |
| |
| Rename them to collectSubresourceURLs and collectSubresourceURLsFromAttributes to match |
| the naming conventions. |
| |
| Move collectSubresourceURLsFromAttributes from Node to Element as only elements have attributes. |
| |
| * css/CSSFontFaceSrcValue.cpp: |
| (WebCore::CSSFontFaceSrcValue::collectSubresourceURLs): |
| * css/CSSFontFaceSrcValue.h: |
| (CSSFontFaceSrcValue): |
| * css/CSSPrimitiveValue.cpp: |
| (WebCore::CSSPrimitiveValue::collectSubresourceURLs): |
| * css/CSSPrimitiveValue.h: |
| (CSSPrimitiveValue): |
| * css/CSSReflectValue.cpp: |
| (WebCore::CSSReflectValue::collectSubresourceURLs): |
| * css/CSSReflectValue.h: |
| (CSSReflectValue): |
| * css/CSSValue.cpp: |
| (WebCore::CSSValue::collectSubresourceURLs): |
| * css/CSSValue.h: |
| (CSSValue): |
| * css/CSSValueList.cpp: |
| (WebCore::CSSValueList::collectSubresourceURLs): |
| * css/CSSValueList.h: |
| (CSSValueList): |
| * css/StylePropertySet.cpp: |
| (WebCore::StylePropertySet::collectSubresourceURLs): |
| * css/StylePropertySet.h: |
| (StylePropertySet): |
| * css/StyleSheetContents.cpp: |
| (WebCore::StyleSheetContents::collectSubresourceURLs): |
| * css/StyleSheetContents.h: |
| (StyleSheetContents): |
| * dom/Element.h: |
| (WebCore::Element::collectSubresourceURLsFromAttributes): |
| (Element): |
| * dom/Node.cpp: |
| (WebCore::Node::getSubresourceURLs): |
| * dom/Node.h: |
| (WebCore): |
| * dom/ProcessingInstruction.cpp: |
| (WebCore::ProcessingInstruction::collectSubresourceURLsFromAttributes): |
| * dom/ProcessingInstruction.h: |
| (ProcessingInstruction): |
| * dom/StyledElement.cpp: |
| (WebCore::StyledElement::collectSubresourceURLsFromAttributes): |
| * dom/StyledElement.h: |
| (StyledElement): |
| * html/HTMLBodyElement.cpp: |
| (WebCore::HTMLBodyElement::collectSubresourceURLsFromAttributes): |
| * html/HTMLBodyElement.h: |
| (HTMLBodyElement): |
| * html/HTMLEmbedElement.cpp: |
| (WebCore::HTMLEmbedElement::collectSubresourceURLsFromAttributes): |
| * html/HTMLEmbedElement.h: |
| (HTMLEmbedElement): |
| * html/HTMLImageElement.cpp: |
| (WebCore::HTMLImageElement::collectSubresourceURLsFromAttributes): |
| * html/HTMLImageElement.h: |
| (HTMLImageElement): |
| * html/HTMLInputElement.cpp: |
| (WebCore::HTMLInputElement::collectSubresourceURLsFromAttributes): |
| * html/HTMLInputElement.h: |
| (HTMLInputElement): |
| * html/HTMLLinkElement.cpp: |
| (WebCore::HTMLLinkElement::collectSubresourceURLsFromAttributes): |
| * html/HTMLLinkElement.h: |
| (HTMLLinkElement): |
| * html/HTMLObjectElement.cpp: |
| (WebCore::HTMLObjectElement::collectSubresourceURLsFromAttributes): |
| * html/HTMLObjectElement.h: |
| (HTMLObjectElement): |
| * html/HTMLParamElement.cpp: |
| (WebCore::HTMLParamElement::collectSubresourceURLsFromAttributes): |
| * html/HTMLParamElement.h: |
| (HTMLParamElement): |
| * html/HTMLScriptElement.cpp: |
| (WebCore::HTMLScriptElement::collectSubresourceURLsFromAttributes): |
| * html/HTMLScriptElement.h: |
| (HTMLScriptElement): |
| * html/HTMLStyleElement.cpp: |
| (WebCore::HTMLStyleElement::collectSubresourceURLsFromAttributes): |
| * html/HTMLStyleElement.h: |
| (HTMLStyleElement): |
| * html/HTMLTableCellElement.cpp: |
| (WebCore::HTMLTableCellElement::collectSubresourceURLsFromAttributes): |
| * html/HTMLTableCellElement.h: |
| (HTMLTableCellElement): |
| * html/HTMLTableElement.cpp: |
| (WebCore::HTMLTableElement::collectSubresourceURLsFromAttributes): |
| * html/HTMLTableElement.h: |
| (HTMLTableElement): |
| * svg/SVGCursorElement.cpp: |
| (WebCore::SVGCursorElement::collectSubresourceURLsFromAttributes): |
| * svg/SVGCursorElement.h: |
| (SVGCursorElement): |
| * svg/SVGFEImageElement.cpp: |
| (WebCore::SVGFEImageElement::collectSubresourceURLsFromAttributes): |
| * svg/SVGFEImageElement.h: |
| (SVGFEImageElement): |
| * svg/SVGImageElement.cpp: |
| (WebCore::SVGImageElement::collectSubresourceURLsFromAttributes): |
| * svg/SVGImageElement.h: |
| (SVGImageElement): |
| * svg/SVGScriptElement.cpp: |
| (WebCore::SVGScriptElement::collectSubresourceURLsFromAttributes): |
| * svg/SVGScriptElement.h: |
| (SVGScriptElement): |
| |
| 2012-05-30 Eugene Klyuchnikov <eustas.bug@gmail.com> |
| |
| Web Inspector: Fix JS compiler warning |
| https://bugs.webkit.org/show_bug.cgi?id=87836 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| * inspector/front-end/SettingsScreen.js: Fix method annotation. |
| |
| 2012-05-30 Zoltan Horvath <zoltan@webkit.org> |
| |
| [Qt] Set WebCore imagedecoders as default and add fallback to QImageDecoder |
| https://bugs.webkit.org/show_bug.cgi?id=80400 |
| |
| This change modifies the default ImageDecoder for Qt-port from QImageDecoder to WebCore ImageDecoder. |
| The new behavior is to use QImageDecoder only if WebCoreImageDecoder - and the platform - doesn't support |
| the requested image type. |
| The WTF_USE_QT_IMAGE_DECODER macro has been removed, since it is no longer needed. |
| |
| This change adds build depedency (except Qt-MAC and Qt-WIN platform) for libpng-dev and libjpeg-dev packages, |
| because PNG and JPEG imagedecoders need not only these libraries, but their headers also. Qmake-config |
| tests for these libraries were introduced in r110045. |
| |
| Notice: with using libjpeg-turbo as a system library I measured 10% performance improvement on Methanol benchmark |
| (collection of popular sites, page-loading benchmark) with this patch. |
| |
| Reviewed by Simon Hausmann. |
| |
| No new tests needed. |
| |
| * Target.pri: Move WebCore ImageDecoder files out of guards. Remove ImageFrameQt.cpp from sources. |
| * WebCore.pri: Move WebCore ImageDecoder include paths out of guards. |
| * platform/MIMETypeRegistry.cpp: |
| (WebCore::initializeSupportedImageMIMETypes): Add WebCore supported and Qt supported MIME types. |
| (WebCore::initializeSupportedImageMIMETypesForEncoding): Use Qt supported MIME types. |
| * platform/graphics/ImageSource.cpp: Remove unnecessary includes. |
| * platform/graphics/ImageSource.h: Remove unnecessary typedefs. |
| (WebCore): |
| * platform/graphics/qt/ImageDecoderQt.cpp: Remove ImageDecoder::create, since it is no longer needed. |
| (WebCore::ImageDecoderQt::filenameExtension): Remove unnecessary semicolon. |
| (WebCore::ImageDecoderQt::internalHandleCurrentImage): Use QImage and ImageFrame instead of QPixmap. |
| (WebCore): |
| (WebCore::ImageFrame::asNewNativeImage): Moved here from removed ImageFrameQt.cpp. |
| * platform/image-decoders/ImageDecoder.cpp: Reorganize the includes of the header. |
| (WebCore::ImageDecoder::create): Add platform macro guarded fallback case for QImageDecoder. Add guards |
| for JPEG, PNG, ICO decoder for Qt-MAC and Qt-WIN platform. |
| * platform/image-decoders/ImageDecoder.h: Remove Qt-specific codes. |
| (WebCore::ImageFrame::getAddr): Remove Qt-specific case, since it is no longer needed. |
| (ImageFrame): |
| * platform/image-decoders/qt/ImageFrameQt.cpp: Removed. Dead code, other code has been moved to |
| ImageDecoderQt.cpp. |
| |
| 2012-05-23 Kinuko Yasuda <kinuko@chromium.org> |
| |
| REGRESSION: We should allow null modificationTime when snapshot metadata is given |
| https://bugs.webkit.org/show_bug.cgi?id=86811 |
| |
| Reviewed by Jian Li. |
| |
| r117432 has introduced a new File constructor which allows the caller |
| to pass in a snapshot file metadata. In the change we had considered the |
| given metadata is valid if "metadata.length >= 0 AND metadata.lastModifiedDate != 0", |
| but we should drop the latter condition (lastModifiedDate != 0) because |
| |
| 1. the value 0 is used to indicate the time information is unavailable in File, and |
| 2. it is valid per spec (http://dev.w3.org/2006/webapi/FileAPI/#dfn-lastModifiedDate says the UA must return null if the information is not available). |
| |
| (Note: the current js/v8 binding returns Date(0) for the time value 0, |
| which is still valid as epoch time but would fail to indicate the |
| unavailability of the information. In this patch I added FIXME in |
| File.idl and filed a separate issue http://webkit.org/b/87709) |
| |
| No new tests as this change does not affect regular files/filesystems behavior. |
| (Tests in Chrome OS port should be able to verify this) |
| |
| * fileapi/File.cpp: |
| (WebCore::File::lastModifiedDate): |
| (WebCore::File::size): |
| (WebCore::File::captureSnapshot): |
| * fileapi/File.h: |
| (File): |
| |
| 2012-05-30 MORITA Hajime <morrita@google.com> |
| |
| [Shadow DOM] HTMLContentElement and HTMLShadowElement constructors should be visible. |
| https://bugs.webkit.org/show_bug.cgi?id=87818 |
| |
| Reviewed by Kentaro Hara. |
| |
| Added them as DOMWindow properties |
| |
| Tests: fast/dom/shadow/content-element-api.html |
| fast/dom/shadow/shadow-element.html |
| |
| * page/DOMWindow.idl: |
| |
| 2012-05-30 Mike Lawther <mikelawther@chromium.org> |
| |
| CSS3 calc: Implement CSSOM support |
| https://bugs.webkit.org/show_bug.cgi?id=84551 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Adds a pretty printer for the calc expression tree. |
| |
| Test: css3/calc/cssom.html |
| |
| * css/CSSCalculationValue.cpp: |
| (WebCore::CSSCalcValue::customCssText): |
| (WebCore::CSSCalcPrimitiveValue::customCssText): |
| (WebCore::CSSCalcBinaryOperation::customCssText): |
| (CSSCalcBinaryOperation): |
| * css/CSSCalculationValue.h: |
| (CSSCalcExpressionNode): |
| |
| 2012-05-29 Li Yin <li.yin@intel.com> |
| |
| [FileAPI] The result attribute of FileReader shuold use null to replace empty string |
| https://bugs.webkit.org/show_bug.cgi?id=87578 |
| |
| Reviewed by Jian Li. |
| |
| Spec: http://www.w3.org/TR/FileAPI/#dfn-result |
| If the readyState is EMPTY (no read method has been called) or an error |
| in reading the File or Blob has occurred (using any read method), then the |
| result attribute MUST return null. |
| |
| Currently, Firefox11, Opera and IE 10 follows the spec, but Webkit based |
| browser doesn't. |
| WebKit should change the returned value empty string into null to keep |
| conformance with the spec. |
| |
| Tests: fast/files/read-file-async.html |
| fast/files/workers/worker-read-file-async.html |
| |
| * fileapi/FileReader.cpp: |
| (WebCore::FileReader::arrayBufferResult): |
| (WebCore::FileReader::stringResult): |
| |
| 2012-05-29 Mark Pilgrim <pilgrim@chromium.org> |
| |
| [Chromium] Move fileExists to Platform.h |
| https://bugs.webkit.org/show_bug.cgi?id=87531 |
| |
| Reviewed by Adam Barth. |
| |
| Call fileExists through fileUtilities(), not directly. |
| |
| * platform/chromium/FileSystemChromium.cpp: |
| (WebCore::fileExists): |
| |
| 2012-05-29 Kentaro Hara <haraken@chromium.org> |
| |
| Remove a dummy style sheet from CSSParser::parseFlowThread() |
| https://bugs.webkit.org/show_bug.cgi?id=87715 |
| |
| Reviewed by Darin Adler. |
| |
| r118736 changed CSSGrammar.y so that it works fine with no style sheet. |
| r118736 removed a dummy style sheet from CSSParser::parserSelector(). |
| Now we can safely remove a dummy style sheet from parserFlowThread(). |
| |
| Tests: fast/regions. No change in test results. |
| |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::parseFlowThread): |
| |
| 2012-05-29 Yoshifumi Inoue <yosin@chromium.org> |
| |
| REGRESSION(r111497): The "option" element doesn't match CSS pseudo class :enabled |
| https://bugs.webkit.org/show_bug.cgi?id=87719 |
| |
| Reviewed by Kent Tamura. |
| |
| This patch added checking of "option" element for CSS pseudo class :enabled as same as |
| :disabled to selector checker. Before r111497, it was done by using isFormControlElement. |
| After that revision, HTMLOptionElement was no longer derived from HTMLFormControlElement. |
| |
| Test: fast/form/select/optgroup-rendering.html |
| |
| * css/SelectorChecker.cpp: |
| (WebCore::SelectorChecker::checkOneSelector): Checking element is option element as same |
| as PseudoDisabled in PseudoEnabled case. |
| |
| 2012-05-29 Hayato Ito <hayato@chromium.org> |
| |
| Introduces ComposedShadowTreeParentWalker, extracted from ComposedShadowTreeWalker. |
| https://bugs.webkit.org/show_bug.cgi?id=87004 |
| |
| Reviewed by Dimitri Glazkov. |
| |
| Introduces a ComposedShadowTreeParentWalker, which is only used |
| for traversing a parent node (including shadow roots and insertion |
| points) and get rid of an equivalent function from |
| ComposedShadowTreeWalker. |
| |
| Before this patch, there is an inconsistency inside of |
| ComposedShadowTreeWalker. The Walker uses 'Policy' to decide |
| whether it should visit shadow roots or not, but |
| parentIncludingInsertionPointAndShadowRoot() member function |
| ignores the policy. We can not add an assertion in its |
| constructor due to this inconsistency. To resolve it, we could |
| add yet another special policy, but that makes the implementation |
| complex and may add some overhead in runtime. So separate the |
| functionality into another class as ComposedShadowTreeParentWalker. |
| |
| No new tests, no new functionality except for assertion. |
| |
| * dom/ComposedShadowTreeWalker.cpp: |
| (WebCore::ComposedShadowTreeWalker::ComposedShadowTreeWalker): |
| (WebCore::ComposedShadowTreeParentWalker::ComposedShadowTreeParentWalker): |
| (WebCore): |
| (WebCore::ComposedShadowTreeParentWalker::parentIncludingInsertionPointAndShadowRoot): |
| (WebCore::ComposedShadowTreeParentWalker::traverseParentIncludingInsertionPointAndShadowRoot): |
| * dom/ComposedShadowTreeWalker.h: |
| (ComposedShadowTreeWalker): |
| (WebCore::ComposedShadowTreeWalker::assertPrecondition): |
| (WebCore): |
| (ComposedShadowTreeParentWalker): |
| (WebCore::ComposedShadowTreeParentWalker::get): |
| * dom/EventDispatcher.cpp: |
| (WebCore::EventRelatedTargetAdjuster::adjust): |
| (WebCore::EventDispatcher::ensureEventAncestors): |
| * page/EventHandler.cpp: |
| (WebCore::EventHandler::updateMouseEventTargetNode): |
| |
| 2012-05-29 Hayato Ito <hayato@chromium.org> |
| |
| Add assertions to make sure that event's target and relatedTarget are accessible. |
| https://bugs.webkit.org/show_bug.cgi?id=87641 |
| |
| Reviewed by Dimitri Glazkov. |
| |
| No new tests. No new functionality except for assertions. |
| |
| * dom/EventContext.cpp: |
| (WebCore::EventContext::EventContext): |
| * dom/EventContext.h: |
| (WebCore): |
| (EventContext): |
| (WebCore::EventContext::setRelatedTarget): |
| (WebCore::EventContext::accessible): |
| |
| 2012-05-29 Kent Tamura <tkent@chromium.org> |
| |
| Fix inefficient usage of traverseNextNode() |
| https://bugs.webkit.org/show_bug.cgi?id=87804 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| foo->traverseNextNode(foo) is equivalent to foo->firstChild(), and |
| firstChild() is more efficient. |
| |
| No new tests because of no behavior change. |
| |
| * html/HTMLFieldSetElement.cpp: |
| (WebCore::HTMLFieldSetElement::invalidateDisabledStateUnder): |
| Replace traverseNextNode() with firstChild(), and shorten a variable name. |
| * svg/SVGSVGElement.cpp: |
| (WebCore::SVGSVGElement::getElementById): |
| Replace traverseNextNode() with firstChild(). |
| |
| 2012-05-29 Jonathan Dong <jonathan.dong@torchmobile.com.cn> |
| |
| [BlackBerry] Loading media data with http authentication |
| https://bugs.webkit.org/show_bug.cgi?id=84214 |
| |
| Reviewed by George Staikos. |
| |
| RIM PR: 117618 |
| Implemented http authentication feature for media by implementing |
| two interface functions in class MediaPlayerPrivate: |
| onAuthenticationNeeded(): this function is triggered when MMR |
| engine requires http authentication. We search the CredentialStorage |
| to see if we have already stored existing credential information, |
| or challenge user to provide it. |
| OnAuthenticationAccepted(): this function is triggered when MMR |
| engine accepts the credential information, and we need to save |
| it in CredentialStorage for later use. |
| |
| Internally reviewed by Max Feil <mfeil@qnx.com>. |
| |
| Manual test case: blackberry/video-load-with-authentication.html |
| |
| * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp: |
| (WebCore::generateProtectionSpaceFromMMRAuthChallenge): |
| (WebCore): |
| (WebCore::MediaPlayerPrivate::onAuthenticationNeeded): |
| (WebCore::MediaPlayerPrivate::onAuthenticationAccepted): |
| * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h: |
| (MediaPlayerPrivate): |
| |
| 2012-05-29 MORITA Hajime <morrita@google.com> |
| |
| [Shadow DOM] Node distribution should be orthogonal from node attachment |
| https://bugs.webkit.org/show_bug.cgi?id=87223 |
| |
| Reviewed by Dimitri Glazkov. |
| |
| This chagne reorganizes Shadow DOM subtree distribution implementation. |
| |
| Originally, it was interleaved across attach() of several classes like |
| InsertionPoint and ShadowRoot. Its invalidation was also mixed as a part of |
| the style recalculation and detach()-es. |
| |
| This change extracts these bits of code to a set of ContentDistributor methods, which are |
| facaded by two ElementShadow API. Following two API are the primary entry points: |
| |
| - ElementShadow::ensureDistribution() |
| - ElementShadow::invalidateDistribution() |
| |
| The actual implementations are ContentDistributor::distribute() and |
| ContentDistributor::invalidate() respectively. |
| |
| When clients need to traverse composed tree, before attach() for |
| example, they should call ensureDistribution() to make sure that |
| the traversal data structure ("the distribution") is ready. When |
| there is any DOM mutation which can result a composed tree |
| mutation, then clients should call invalidateDistribution() to |
| mark the distribution being dated. |
| |
| Here are such DOM mutations: |
| |
| - The children of any ShadowRoots are changed, |
| - The children of any InsertionPoints are changed, |
| - The children of any host elements are changed, |
| - Any insertion point is inserted to or removed from the shadow tree, |
| - @select attribute of <content> is modified and |
| - New ShadowRoot is added to the shadow tree. |
| |
| Note that the validity of the distribution is tracked and |
| unnecessary distribution requests are ignored. |
| |
| After the invalidation, that shadow subtrees are detached once and |
| request their re-attachment through the style recalculation. |
| Then, on the responding style recalculation and attach(), new |
| distribution will be computed. |
| |
| No new tests. Covered by existing tests. |
| |
| * dom/Element.cpp: |
| (WebCore::Element::~Element): |
| (WebCore::Element::childrenChanged): |
| * dom/ElementShadow.cpp: |
| (WebCore::ElementShadow::~ElementShadow): |
| (WebCore::ElementShadow::addShadowRoot): |
| (WebCore::ElementShadow::removeAllShadowRoots): |
| (WebCore::ElementShadow::attach): |
| (WebCore::ElementShadow::recalcStyle): |
| (WebCore::ElementShadow::ensureDistribution): |
| (WebCore::ElementShadow::invalidateDistribution): |
| * dom/ElementShadow.h: |
| (ElementShadow): |
| * dom/NodeRenderingContext.cpp: |
| (WebCore::NodeRenderingContext::NodeRenderingContext): |
| (WebCore::NodeRendererFactory::createRendererIfNeeded): |
| * dom/NodeRenderingContext.h: |
| (NodeRenderingContext): |
| * dom/ShadowRoot.cpp: |
| (WebCore::ShadowRoot::setApplyAuthorStyles): |
| (WebCore::ShadowRoot::attach): |
| (WebCore::ShadowRoot::childrenChanged): |
| (WebCore): |
| * dom/ShadowRoot.h: |
| (ShadowRoot): |
| * html/HTMLFormControlElement.cpp: |
| * html/ValidationMessage.cpp: |
| (WebCore::ValidationMessage::buildBubbleTree): |
| * html/shadow/ContentDistributor.cpp: |
| (WebCore::ContentDistributor::ContentDistributor): |
| (WebCore::ContentDistributor::~ContentDistributor): |
| (WebCore::ContentDistributor::findInsertionPointFor): |
| (WebCore::ContentDistributor::distribute): |
| (WebCore::ContentDistributor::invalidate): |
| (WebCore::ContentDistributor::finishInivalidation): |
| (WebCore::ContentDistributor::distributeSelectionsTo): |
| (WebCore::ContentDistributor::distributeShadowChildrenTo): |
| (WebCore::ContentDistributor::invalidateDistributionIn): |
| * html/shadow/ContentDistributor.h: |
| (WebCore::ContentDistributor::needsInvalidation): |
| (ContentDistributor): |
| (WebCore::ContentDistributor::needsDistribution): |
| * html/shadow/HTMLContentElement.cpp: |
| (WebCore::HTMLContentElement::parseAttribute): |
| * html/shadow/InsertionPoint.cpp: |
| (WebCore::InsertionPoint::attach): |
| (WebCore::InsertionPoint::detach): |
| (WebCore::InsertionPoint::nextTo): |
| (WebCore::InsertionPoint::previousTo): |
| (WebCore::InsertionPoint::childrenChanged): |
| * html/shadow/InsertionPoint.h: |
| (WebCore::InsertionPoint::setDistribution): |
| (WebCore::InsertionPoint::clearDistribution): |
| (InsertionPoint): |
| |
| 2012-05-29 Luke Macpherson <macpherson@chromium.org> |
| |
| Implement post-landing feedback for WebKitCSSTransformValue::customCSSText(). |
| https://bugs.webkit.org/show_bug.cgi?id=87684 |
| |
| Reviewed by Darin Adler. |
| |
| Darin provided some style suggesting on https://bugs.webkit.org/show_bug.cgi?id=87462 after it landed. |
| This patch incorporates those suggestions, namely using 0 instead of empty string for UnknownTransformOperation |
| and WTF_ARRAY_LENGTH instead of hard coding the array length. |
| |
| Covered by existing transform tests. |
| |
| * css/WebKitCSSTransformValue.cpp: |
| (WebCore): |
| (WebCore::WebKitCSSTransformValue::customCssText): |
| |
| 2012-05-29 Eric Seidel <eric@webkit.org> |
| |
| Fix ENABLE_IFRAME_SEAMLESS to actually fully disable <iframe seamless> |
| https://bugs.webkit.org/show_bug.cgi?id=87646 |
| |
| Reviewed by Adam Barth. |
| |
| In the process of moving the seamless feature out of github and into bugs.webkit.org |
| multiple versions of the shouldDisplaySeamlessly function got written |
| (and moved from HTMLIFrameElement to Document), but only one of them was wrapped |
| in ENABLE_IFRAME_SEAMLESS. HTMLIFrameElement was checking mayDisplaySeamlessly |
| directly (as was my original design), which got around the ENABLE_IFRAME_SEAMLESS check. |
| I've fixed this oversight, and the feature is now off when we tell it to be off. |
| |
| This is covered by many existing tests. I've verified locally that |
| all tests fail when ENABLE_IFRAME_SEAMLESS is disabled instead of |
| only some of them. |
| |
| * dom/SecurityContext.h: |
| (SecurityContext): |
| * html/HTMLIFrameElement.cpp: |
| (WebCore::HTMLIFrameElement::shouldDisplaySeamlessly): |
| |
| 2012-05-29 Scott Graham <scottmg@chromium.org> |
| |
| Fix warning in preprocessing Source/WebCore/dom/DOMError.idl |
| https://bugs.webkit.org/show_bug.cgi?id=87763 |
| |
| Reviewed by Adam Barth. |
| |
| Add newline at end of file to avoid warning: |
| ../dom/DOMError.idl:35:2: warning: no newline at end of file |
| |
| * dom/DOMError.idl: |
| |
| 2012-05-29 Mark Pilgrim <pilgrim@chromium.org> |
| |
| [Chromium] Move fileExists to Platform.h |
| https://bugs.webkit.org/show_bug.cgi?id=87531 |
| |
| Reviewed by Adam Barth. |
| |
| Part of a refactoring series. See tracking bug 82948. |
| |
| * platform/chromium/FileSystemChromium.cpp: |
| (WebCore::fileExists): |
| * platform/chromium/PlatformSupport.h: |
| (PlatformSupport): |
| |
| 2012-05-29 Kentaro Hara <haraken@chromium.org> |
| |
| [V8] Rename v8Null() to v8NullWithCheck() |
| https://bugs.webkit.org/show_bug.cgi?id=87713 |
| |
| Reviewed by Adam Barth. |
| |
| In IRC, cmarcelo@ pointed out that v8::Null() and v8Null() |
| are confusing. This patch renames v8Null() to v8NullWithCheck(). |
| |
| No tests. No behavior change. |
| |
| * bindings/scripts/CodeGeneratorV8.pm: |
| (GenerateHeader): |
| * bindings/scripts/test/V8/V8TestActiveDOMObject.h: |
| (WebCore::toV8): |
| * bindings/scripts/test/V8/V8TestCustomNamedGetter.h: |
| (WebCore::toV8): |
| * bindings/scripts/test/V8/V8TestEventConstructor.h: |
| (WebCore::toV8): |
| * bindings/scripts/test/V8/V8TestEventTarget.h: |
| (WebCore::toV8): |
| * bindings/scripts/test/V8/V8TestException.h: |
| (WebCore::toV8): |
| * bindings/scripts/test/V8/V8TestInterface.h: |
| (WebCore::toV8): |
| * bindings/scripts/test/V8/V8TestMediaQueryListListener.h: |
| (WebCore::toV8): |
| * bindings/scripts/test/V8/V8TestNamedConstructor.h: |
| (WebCore::toV8): |
| * bindings/scripts/test/V8/V8TestNode.h: |
| (WebCore::toV8): |
| * bindings/scripts/test/V8/V8TestObj.h: |
| (WebCore::toV8): |
| * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h: |
| (WebCore::toV8): |
| * bindings/v8/V8Binding.h: |
| (WebCore::v8NullWithCheck): |
| (WebCore::v8DateOrNull): |
| |
| 2012-05-29 Christophe Dumez <christophe.dumez@intel.com> |
| |
| Some Content Security Policy console messages are missing line numbers in JSC |
| https://bugs.webkit.org/show_bug.cgi?id=87558 |
| |
| Reviewed by Adam Barth. |
| |
| Make ScriptController::eventHandlerPosition() behave the same way on |
| JSC than V8. This means that TextPosition::minimumPosition() is |
| returned if parser is null, instead of |
| TextPosition::belowRangePosition(). The line numbers are now correctly |
| printed in the output of Content Security Policy tests. |
| |
| Tests: http/tests/security/contentSecurityPolicy/inline-script-blocked-javascript-url.html |
| http/tests/security/contentSecurityPolicy/javascript-url-blocked.html |
| |
| * bindings/js/ScriptController.cpp: |
| (WebCore::ScriptController::eventHandlerPosition): |
| |
| 2012-05-29 Shawn Singh <shawnsingh@chromium.org> |
| |
| [chromium] make WebTransformationMatrix object usable by non-webkit code |
| https://bugs.webkit.org/show_bug.cgi?id=87315 |
| |
| Reviewed by James Robinson. |
| |
| This change is covered by existing tests and by whether it |
| compiles. There should be no changes in behavior. |
| |
| * platform/chromium/support/WebTransformationMatrix.cpp: |
| (WebKit::WebTransformationMatrix::WebTransformationMatrix): |
| (WebKit::WebTransformationMatrix::operator=): |
| (WebKit::WebTransformationMatrix::operator==): |
| (WebKit::WebTransformationMatrix::inverse): |
| (WebKit::WebTransformationMatrix::to2dTransform): |
| (WebKit::WebTransformationMatrix::multiply): |
| (WebKit::WebTransformationMatrix::makeIdentity): |
| (WebKit::WebTransformationMatrix::translate): |
| (WebKit::WebTransformationMatrix::translate3d): |
| (WebKit::WebTransformationMatrix::translateRight3d): |
| (WebKit::WebTransformationMatrix::scale): |
| (WebKit::WebTransformationMatrix::scaleNonUniform): |
| (WebKit::WebTransformationMatrix::scale3d): |
| (WebKit::WebTransformationMatrix::rotate): |
| (WebKit::WebTransformationMatrix::rotate3d): |
| (WebKit::WebTransformationMatrix::skewX): |
| (WebKit::WebTransformationMatrix::skewY): |
| (WebKit::WebTransformationMatrix::applyPerspective): |
| (WebKit::WebTransformationMatrix::blend): |
| (WebKit::WebTransformationMatrix::hasPerspective): |
| (WebKit::WebTransformationMatrix::isInvertible): |
| (WebKit::WebTransformationMatrix::isBackFaceVisible): |
| (WebKit::WebTransformationMatrix::isIdentity): |
| (WebKit::WebTransformationMatrix::isIdentityOrTranslation): |
| (WebKit::WebTransformationMatrix::isIntegerTranslation): |
| (WebKit::WebTransformationMatrix::m11): |
| (WebKit::WebTransformationMatrix::setM11): |
| (WebKit::WebTransformationMatrix::m12): |
| (WebKit::WebTransformationMatrix::setM12): |
| (WebKit::WebTransformationMatrix::m13): |
| (WebKit::WebTransformationMatrix::setM13): |
| (WebKit::WebTransformationMatrix::m14): |
| (WebKit::WebTransformationMatrix::setM14): |
| (WebKit::WebTransformationMatrix::m21): |
| (WebKit::WebTransformationMatrix::setM21): |
| (WebKit::WebTransformationMatrix::m22): |
| (WebKit::WebTransformationMatrix::setM22): |
| (WebKit::WebTransformationMatrix::m23): |
| (WebKit::WebTransformationMatrix::setM23): |
| (WebKit::WebTransformationMatrix::m24): |
| (WebKit::WebTransformationMatrix::setM24): |
| (WebKit::WebTransformationMatrix::m31): |
| (WebKit::WebTransformationMatrix::setM31): |
| (WebKit::WebTransformationMatrix::m32): |
| (WebKit::WebTransformationMatrix::setM32): |
| (WebKit::WebTransformationMatrix::m33): |
| (WebKit::WebTransformationMatrix::setM33): |
| (WebKit::WebTransformationMatrix::m34): |
| (WebKit::WebTransformationMatrix::setM34): |
| (WebKit::WebTransformationMatrix::m41): |
| (WebKit::WebTransformationMatrix::setM41): |
| (WebKit::WebTransformationMatrix::m42): |
| (WebKit::WebTransformationMatrix::setM42): |
| (WebKit::WebTransformationMatrix::m43): |
| (WebKit::WebTransformationMatrix::setM43): |
| (WebKit::WebTransformationMatrix::m44): |
| (WebKit::WebTransformationMatrix::setM44): |
| (WebKit::WebTransformationMatrix::a): |
| (WebKit::WebTransformationMatrix::setA): |
| (WebKit::WebTransformationMatrix::b): |
| (WebKit::WebTransformationMatrix::setB): |
| (WebKit::WebTransformationMatrix::c): |
| (WebKit::WebTransformationMatrix::setC): |
| (WebKit::WebTransformationMatrix::d): |
| (WebKit::WebTransformationMatrix::setD): |
| (WebKit::WebTransformationMatrix::e): |
| (WebKit::WebTransformationMatrix::setE): |
| (WebKit::WebTransformationMatrix::f): |
| (WebKit::WebTransformationMatrix::setF): |
| (WebKit::WebTransformationMatrix::toWebCoreTransform): |
| (WebKit::WebTransformationMatrix::mapRect): |
| (WebKit::WebTransformationMatrix::mapPoint): |
| (WebKit::WebTransformationMatrix::mapQuad): |
| (WebKit::WebTransformationMatrix::projectPoint): |
| |
| 2012-05-29 Alexis Menard <alexis.menard@openbossa.org> |
| |
| [CSS3 Backgrounds and Borders] Implement box-decoration-break parsing. |
| https://bugs.webkit.org/show_bug.cgi?id=87678 |
| |
| Reviewed by Eric Seidel. |
| |
| Implement the parsing part of box-decoration-break. The specification |
| is located at http://www.w3.org/TR/css3-background/#box-decoration-break. |
| So far Opera implements it. This patch only implements the parsing part of |
| the property. A following patch will implement the rendering part. Despite |
| the rendering part missing it improves http://css3test.com by 1%. |
| |
| Test: fast/box-decoration-break/box-decoration-break-parsing.html |
| |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore): |
| (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): |
| * css/CSSParser.cpp: |
| (WebCore::isValidKeywordPropertyAndValue): |
| (WebCore::isKeywordPropertyID): |
| * css/CSSPrimitiveValueMappings.h: |
| (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): |
| (WebCore): |
| (WebCore::CSSPrimitiveValue::operator EBoxDecorationBreak): |
| * css/CSSProperty.cpp: |
| (WebCore::CSSProperty::isInheritedProperty): |
| * css/CSSPropertyNames.in: |
| * css/CSSValueKeywords.in: |
| * css/StyleBuilder.cpp: |
| (WebCore::StyleBuilder::StyleBuilder): |
| * rendering/style/RenderStyle.h: |
| * rendering/style/RenderStyleConstants.h: |
| * rendering/style/StyleBoxData.cpp: |
| (WebCore::StyleBoxData::StyleBoxData): |
| (WebCore::StyleBoxData::operator==): |
| * rendering/style/StyleBoxData.h: |
| (WebCore::StyleBoxData::boxDecorationBreak): |
| (StyleBoxData): |
| |
| 2012-05-29 David Barr <davidbarr@chromium.org> |
| |
| [text-overflow: ellipsis] WebKit should ignore the ellipsis for the purpose of dispatching mouse events |
| https://bugs.webkit.org/show_bug.cgi?id=63781 |
| |
| Reviewed by Eric Seidel. |
| |
| "Ellipsing only affects rendering and must not affect layout nor dispatching of pointer events." |
| http://www.w3.org/TR/2012/WD-css3-ui-20120117/#text-overflow |
| |
| Test: fast/css/text-overflow-ellipsis-hit-test.html |
| |
| * rendering/EllipsisBox.cpp: |
| (WebCore::EllipsisBox::nodeAtPoint): Always return false. |
| |
| 2012-05-29 Gavin Peters <gavinp@chromium.org> |
| |
| [Chromium] Remove assertions on state in Prerender.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=87746 |
| |
| Chrome was crashing in the new Prerender API on Google Web Search; this was because the DOM would stop(), setting the |
| state of the Prerenders in the document to Inactive, but an asyncronous GC would later come come along and trigger the |
| removedFromDocument behaviour on each element, including the <link> element launching the prerender. This causes an |
| assertion failure. |
| |
| I believe the late-deletion of the DOM, and the HTMLElement::removedFromDocument calls are legal, and it was the |
| overzealous assertions in Prerender that were inappropriate. |
| |
| Reviewed by Adam Barth. |
| |
| No new automated tests, working on a Chromium browser test. Manually test by entering many prerender and non-prerendered |
| queries into Google Web Search. |
| |
| * platform/chromium/Prerender.cpp: |
| (WebCore::Prerender::Prerender): |
| (WebCore::Prerender::add): |
| (WebCore::Prerender::cancel): |
| (WebCore::Prerender::abandon): |
| * platform/chromium/Prerender.h: |
| (Prerender): |
| |
| 2012-05-29 Victor Carbune <victor@rosedu.org> |
| |
| Display cues in the controls area |
| https://bugs.webkit.org/show_bug.cgi?id=87591 |
| |
| Reviewed by Eric Carlson. |
| |
| Changed the behaviour to implicitly hide the volume slidebar |
| if the controls are hidden (due mouse moving out of the video |
| area or controls are toggled through JS). |
| |
| This seems to be the simplest fix to this issue, otherwise |
| on toggling the display:none property on the controls the |
| volume slidebar might appear below the video. |
| |
| Re-enabled failing tests for this functionality. |
| |
| * html/shadow/MediaControlElements.cpp: |
| (WebCore::MediaControlPanelElement::makeTransparent): Re-enabled |
| timer to set the display:none property on the controls. |
| * html/shadow/MediaControlRootElement.cpp: |
| (WebCore::MediaControlRootElement::hide): Added a call to hide |
| the volume slider. |
| (WebCore::MediaControlRootElement::makeTransparent): Same. |
| * html/shadow/MediaControlRootElementChromium.cpp: |
| (WebCore::MediaControlRootElementChromium::hide): Same. |
| (WebCore::MediaControlRootElementChromium::makeTransparent): Same. |
| |
| 2012-05-29 Adrienne Walker <enne@google.com> |
| |
| Fix transparent iframes with composited contents in WK1 on Mac |
| https://bugs.webkit.org/show_bug.cgi?id=76478 |
| |
| Reviewed by Simon Fraser. |
| |
| Test: compositing/iframes/repaint-after-losing-scrollbars.html |
| |
| * page/FrameView.cpp: |
| (WebCore::FrameView::useSlowRepaints): |
| |
| 2012-05-29 David Hyatt <hyatt@apple.com> |
| |
| https://bugs.webkit.org/show_bug.cgi?id=87787 |
| |
| [New Multicolumn] Refactor the region and flow thread code so that it can pick up the correct column widths |
| and heights when determining the logical width and height of the flow thread itself. |
| |
| This patch adds new virtual methods to RenderRegion: logicalWidthForFlowThreadContent and logicalHeightForFlowThreadContent. |
| For normal regions, these methods return the contentWidth and contentHeight of the regions themselves. For column sets, |
| however, these methods actually return the column widths and heights. |
| |
| This allows the flow thread to properly lay out according to the column width. |
| |
| Region invalidation is also done properly by using these new methods. |
| |
| In some cases the code is actually simplified, since we can get rid of some isHorizontalWritingMode() switching. |
| |
| With this patch the flow thread now actually lays out and paints at the right width (spilling out of the region set in a single unbroken |
| column). |
| |
| Reviewed by Dan Bernstein. |
| |
| * rendering/RenderFlowThread.cpp: |
| (WebCore::RenderFlowThread::layout): |
| (WebCore::RenderFlowThread::computeLogicalWidth): |
| (WebCore::RenderFlowThread::computeLogicalHeight): |
| * rendering/RenderMultiColumnBlock.cpp: |
| (WebCore::RenderMultiColumnBlock::ensureColumnSets): |
| * rendering/RenderMultiColumnBlock.h: |
| (WebCore::RenderMultiColumnBlock::isRenderMultiColumnBlock): |
| (RenderMultiColumnBlock): |
| (WebCore::toRenderMultiColumnBlock): |
| (WebCore): |
| * rendering/RenderMultiColumnSet.cpp: |
| (WebCore::RenderMultiColumnSet::computeLogicalWidth): |
| (WebCore): |
| (WebCore::RenderMultiColumnSet::computeLogicalHeight): |
| * rendering/RenderMultiColumnSet.h: |
| (WebCore::RenderMultiColumnSet::setColumnWidthAndCount): |
| (RenderMultiColumnSet): |
| * rendering/RenderObject.h: |
| (WebCore::RenderObject::isRenderMultiColumnBlock): |
| * rendering/RenderRegion.cpp: |
| (WebCore::RenderRegion::logicalWidthForFlowThreadContent): |
| (WebCore): |
| (WebCore::RenderRegion::logicalHeightForFlowThreadContent): |
| (WebCore::RenderRegion::layout): |
| * rendering/RenderRegion.h: |
| (RenderRegion): |
| |
| 2012-05-29 Alec Flett <alecflett@chromium.org> |
| |
| IndexedDB: Align codes and names for IDB-specific and DOM-specific errors/exceptions |
| https://bugs.webkit.org/show_bug.cgi?id=87276 |
| |
| Reviewed by Tony Chang. |
| |
| No new tests. Existing tests have been updated to use the new |
| exception constant values. |
| |
| The IDB spec has evolved to DOM4-style DOMExceptions, which are |
| referred to with MixedCase, string-based style names for |
| exceptions rather than UNDERSCORE_CONSTANT_ERR codes. Change to |
| use MixedCase error/exception names, and tease out the |
| IDB-specific exception/error codes/names from the system-level |
| codes. Make sure that the legacy IDB-masked exception code values |
| match the DOM exception values. Make sure that |
| IDBDatabaseException[exception.name] still works. |
| |
| * Modules/indexeddb/IDBDatabase.cpp: |
| (WebCore::IDBDatabase::createObjectStore): |
| (WebCore::IDBDatabase::transaction): |
| * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: |
| (WebCore::IDBDatabaseBackendImpl::deleteObjectStore): |
| (WebCore::IDBDatabaseBackendImpl::setVersion): |
| (WebCore::IDBDatabaseBackendImpl::transaction): |
| * Modules/indexeddb/IDBDatabaseException.cpp: |
| (IDBDatabaseExceptionNameDescription): |
| (WebCore): |
| (WebCore::IDBDatabaseException::initializeDescription): |
| * Modules/indexeddb/IDBDatabaseException.h: |
| * Modules/indexeddb/IDBDatabaseException.idl: |
| * Modules/indexeddb/IDBObjectStore.cpp: |
| (WebCore::IDBObjectStore::createIndex): |
| * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: |
| (WebCore::IDBObjectStoreBackendImpl::index): |
| (WebCore::IDBObjectStoreBackendImpl::deleteIndex): |
| * Modules/indexeddb/IDBRequest.cpp: |
| (WebCore::IDBRequest::abort): |
| * Modules/indexeddb/IDBTransactionBackendImpl.cpp: |
| (WebCore::IDBTransactionBackendImpl::objectStore): |
| |
| 2012-05-29 David Hyatt <hyatt@apple.com> |
| |
| https://bugs.webkit.org/show_bug.cgi?id=87775 |
| |
| [New Multicolumn] Make sure RenderMultiColumnSets have their own copy of the count, width and height of their columns. |
| |
| Reviewed by Anders Carlsson. |
| |
| * rendering/RenderMultiColumnBlock.cpp: |
| (WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock): |
| (WebCore::RenderMultiColumnBlock::ensureColumnSets): |
| * rendering/RenderMultiColumnBlock.h: |
| (WebCore::RenderMultiColumnBlock::columnWidth): |
| (WebCore::RenderMultiColumnBlock::columnCount): |
| (RenderMultiColumnBlock): |
| * rendering/RenderMultiColumnSet.cpp: |
| (WebCore::RenderMultiColumnSet::RenderMultiColumnSet): |
| * rendering/RenderMultiColumnSet.h: |
| (WebCore::RenderMultiColumnSet::columnCount): |
| (WebCore::RenderMultiColumnSet::columnWidth): |
| (WebCore::RenderMultiColumnSet::columnHeight): |
| (RenderMultiColumnSet): |
| (WebCore::RenderMultiColumnSet::setColumnWidthAndCount): |
| (WebCore::RenderMultiColumnSet::setColumnHeight): |
| |
| 2012-05-29 Simon Fraser <simon.fraser@apple.com> |
| |
| Incomplete repaint on twitter.com when replying to a tweet |
| https://bugs.webkit.org/show_bug.cgi?id=87553 |
| |
| Reviewed by Dean Jackson. |
| |
| Style changes can cause a compositing layer to change between |
| requiring its own backing store or not, e.g. with the addition |
| or removal of a transform. |
| |
| When that happens, we need to repaint the ancesetor layer that |
| this layer was, or will be drawing into. |
| |
| Factored some code out of layerWillBeRemoved() to be able to |
| also call it from setRequiresOwnBackingStore(). |
| |
| New manual test, ManualTests/compositing/requires-backing-change.html. |
| I was not able to get an automated pixel test to work. |
| |
| * rendering/RenderLayerBacking.cpp: |
| (WebCore::RenderLayerBacking::setRequiresOwnBackingStore): |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::RenderLayerCompositor::updateCompositingLayers): Remove trailing whitespace. |
| (WebCore::RenderLayerCompositor::repaintInCompositedAncestor): |
| (WebCore::RenderLayerCompositor::layerWillBeRemoved): |
| * rendering/RenderLayerCompositor.h: |
| |
| 2012-05-29 David Hyatt <hyatt@apple.com> |
| |
| https://bugs.webkit.org/show_bug.cgi?id=87771 |
| |
| [New Multicolumn] Make sure we have one column set by default and add it to the flow thread's region list. |
| |
| Reviewed by Anders Carlsson. |
| |
| * rendering/RenderMultiColumnBlock.cpp: |
| (WebCore::RenderMultiColumnBlock::ensureColumnSets): |
| * rendering/RenderRegion.cpp: |
| (WebCore::RenderRegion::RenderRegion): |
| |
| 2012-05-29 John Sullivan <sullivan@apple.com> |
| |
| Update label for blacklisted plug-in |
| https://bugs.webkit.org/show_bug.cgi?id=87767 |
| rdar://problem/11550048 |
| |
| Reviewed by Kevin Decker. |
| |
| * English.lproj/Localizable.strings: |
| Regenerated. |
| |
| * platform/LocalizedStrings.cpp: |
| (WebCore::insecurePluginVersionText): |
| Changed this string. |
| |
| 2012-05-29 Julien Chaffraix <jchaffraix@webkit.org> |
| |
| REGRESSION(r111742): box-sizing: border-box doesn't work on fixed table layout |
| https://bugs.webkit.org/show_bug.cgi?id=87536 |
| |
| Reviewed by Tony Chang. |
| |
| Tests: fast/table/fixed-table-layout/cell-box-sizing-fixed-table-layout.html |
| fast/table/fixed-table-layout/column-box-sizing-fixed-table-layout.html |
| fast/table/fixed-table-layout/column-group-box-sizing-fixed-table-layout.html |
| fast/table/fixed-table-layout/column-in-column-group-box-sizing-fixed-table-layout.html |
| |
| The change in r111742 completely ignored border-sizing (following the table's code lead unfortunately). |
| The issue is that we would count the borders and paddings twice for the border-box case which would lead |
| to the content-box including them too. From a web-author, this behavior is equivalent to ignoring box-sizing. |
| |
| * rendering/FixedTableLayout.cpp: |
| (WebCore::FixedTableLayout::calcWidthArray): |
| Reworked the function to properly use computeBorderBoxLogicalWidth() for correctness. This matches |
| what RenderBox and the rendering code does generally. Also refactored the code to avoid the need |
| for local variables and make it more readable. |
| |
| 2012-05-25 Ojan Vafai <ojan@chromium.org> |
| |
| Absolute positioned elements in a relative positioned CSS3 Flexbox fail to display properly |
| https://bugs.webkit.org/show_bug.cgi?id=58453 |
| |
| Reviewed by Tony Chang. |
| |
| Test: css3/flexbox/align-absolute-child.html |
| |
| * rendering/RenderFlexibleBox.cpp: |
| (WebCore::RenderFlexibleBox::prepareChildForPositionedLayout): |
| (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): |
| (WebCore::RenderFlexibleBox::adjustAlignmentForChild): |
| When adjusting positioned items, adjust their static position, not their location. |
| (WebCore::RenderFlexibleBox::flipForRightToLeftColumn): |
| (WebCore::RenderFlexibleBox::flipForWrapReverse): |
| * rendering/RenderFlexibleBox.h: |
| |
| 2012-05-29 Abhishek Arya <inferno@chromium.org> |
| |
| Crash due to text fragment destruction when updating first-letter block. |
| https://bugs.webkit.org/show_bug.cgi?id=87751 |
| |
| Reviewed by Eric Seidel. |
| |
| Test: fast/text/text-fragment-first-letter-update-crash.html |
| |
| * rendering/RenderObject.cpp: |
| (WebCore::RenderObject::setStyle): |
| |
| 2012-05-29 David Hyatt <hyatt@apple.com> |
| |
| https://bugs.webkit.org/show_bug.cgi?id=87764 |
| |
| Add implementation of checkForPaginationLogicalHeightChange to RenderMultiColumnBlock. |
| |
| Also stub out ensureColumnSets() and write a comment describing how it's going to work. |
| |
| Reviewed by Anders Carlsson. |
| |
| * rendering/RenderMultiColumnBlock.cpp: |
| (WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock): |
| (WebCore::RenderMultiColumnBlock::checkForPaginationLogicalHeightChange): |
| (WebCore): |
| (WebCore::RenderMultiColumnBlock::ensureColumnSets): |
| * rendering/RenderMultiColumnBlock.h: |
| (WebCore::RenderMultiColumnBlock::columnHeight): |
| (WebCore::RenderMultiColumnBlock::setColumnHeight): |
| (RenderMultiColumnBlock): |
| |
| 2012-05-29 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r118620. |
| http://trac.webkit.org/changeset/118620 |
| https://bugs.webkit.org/show_bug.cgi?id=87760 |
| |
| This patch causes regression to read an empty file/blob via |
| FileReader (Requested by jianli on #webkit). |
| |
| * fileapi/FileReader.cpp: |
| (WebCore::FileReader::stringResult): |
| |
| 2012-05-29 Andreas Kling <kling@webkit.org> |
| |
| Make StylePropertySet a variable-sized object to reduce memory use. |
| <http://webkit.org/b/87506> |
| |
| Reviewed by Antti Koivisto. |
| |
| Make immutable StylePropertySet objects variable-sized and allocate exactly |
| the space needed to hold the CSSProperty objects passed at construction. |
| This lets us avoid the memory overhead of Vector<CSSProperty, 4>. |
| |
| Renamed StylePropertySet::adopt* to create and createImmutable since they no |
| longer adopt the incoming vector. More cleanup will follow in this area. |
| |
| This reduces memory usage across the board - the more CSS declarations, |
| the bigger the benefit. As an example, we save around ~0.5MB on wsj.com. |
| |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore::CSSComputedStyleDeclaration::copyPropertiesInSet): |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::createStylePropertySet): |
| * css/StylePropertySet.cpp: |
| (WebCore::StylePropertySet::createImmutable): |
| (WebCore::StylePropertySet::StylePropertySet): |
| (WebCore::StylePropertySet::~StylePropertySet): |
| (WebCore::StylePropertySet::copyPropertiesFrom): |
| (WebCore::StylePropertySet::removeProperty): |
| (WebCore::StylePropertySet::setProperty): |
| (WebCore::StylePropertySet::parseDeclaration): |
| (WebCore::StylePropertySet::addParsedProperties): |
| (WebCore::StylePropertySet::asText): |
| (WebCore::StylePropertySet::merge): |
| (WebCore::StylePropertySet::addSubresourceStyleURLs): |
| (WebCore::StylePropertySet::removePropertiesInSet): |
| (WebCore::StylePropertySet::findPropertyWithId): |
| (WebCore::StylePropertySet::removeEquivalentProperties): |
| (WebCore::StylePropertySet::copyPropertiesInSet): |
| (WebCore::StylePropertySet::averageSizeInBytes): |
| (SameSizeAsStylePropertySet): |
| (WebCore::StylePropertySet::append): |
| * css/StylePropertySet.h: |
| (WebCore::StylePropertySet::create): |
| (StylePropertySet): |
| (WebCore::StylePropertySet::propertyAt): |
| (WebCore::StylePropertySet::propertyCount): |
| (WebCore::StylePropertySet::isEmpty): |
| (WebCore::StylePropertySet::array): |
| * dom/StyledElement.cpp: |
| (WebCore::StyledElement::updateAttributeStyle): |
| |
| 2012-05-29 David Hyatt <hyatt@apple.com> |
| |
| https://bugs.webkit.org/show_bug.cgi?id=87759 |
| |
| Pull the initial page logical height checking for columns into its own separate function. This |
| will allow the derived RenderMultiColumnBlock class to do its own setup there. It also has the |
| effect of cleaning up layoutBlock even for the existing code. |
| |
| Reviewed by Anders Carlsson. |
| |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::checkForPaginationLogicalHeightChange): |
| (WebCore): |
| (WebCore::RenderBlock::layoutBlock): |
| * rendering/RenderBlock.h: |
| (RenderBlock): |
| |
| 2012-05-29 Victor Carbune <victor@rosedu.org> |
| |
| Update cue event dispatching for zero and negative duration cues |
| https://bugs.webkit.org/show_bug.cgi?id=85143 |
| |
| Reviewed by Eric Carlson. |
| |
| Updated existing test. |
| |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::updateActiveTextTrackCues): Explicitly |
| treated event dispatching for zero and negative duration cues. |
| (WebCore::HTMLMediaElement::textTrackAddCue): Interval tree doesn't |
| handle invalid cues with intervals - negative cues need to be treated |
| as zero-length cues as they are always missed cues anyway. |
| (WebCore::HTMLMediaElement::textTrackRemoveCue): Same. |
| |
| 2012-05-29 MORITA Hajime <morrita@google.com> |
| |
| ShadowRoot.getElementById() returns removed node. |
| https://bugs.webkit.org/show_bug.cgi?id=62184 |
| |
| Deregitration of m_elementsById map is done at Element::removedFrom() |
| But the tree scope of the removed node is already reset from a shadow root |
| to a document. |
| |
| This change lookup the old shadow root through its parent node and |
| deregitrater the node against it. |
| |
| Reviewed by Dimitri Glazkov. |
| |
| Test: fast/dom/shadow/get-element-by-id-in-shadow-mutation.html |
| |
| * dom/Element.cpp: |
| (WebCore::treeScopeOfParent): |
| (WebCore): |
| (WebCore::Element::removedFrom): |
| * dom/Element.h: |
| (Element): |
| (WebCore::Element::updateId): |
| (WebCore): |
| |
| 2012-05-29 Dana Jansens <danakj@chromium.org> |
| |
| [chromium] Unoccluded area in surfaces should always be clipped to the rootScissorRect |
| https://bugs.webkit.org/show_bug.cgi?id=87677 |
| |
| Reviewed by Adrienne Walker. |
| |
| When a contributing surface is visited, and we have not visited another |
| surface, then we know the surface is completely unoccluded. However, the |
| root scissor rect should still be applied, and anything outside of it |
| should be considered occluded. |
| |
| Unit test: WebKitTests::CCOcclusionTrackerTestTopmostSurfaceIsClippedToScissor |
| |
| * platform/graphics/chromium/RenderSurfaceChromium.cpp: |
| (WebCore::RenderSurfaceChromium::targetRenderSurface): |
| (WebCore): |
| * platform/graphics/chromium/RenderSurfaceChromium.h: |
| (RenderSurfaceChromium): |
| * platform/graphics/chromium/cc/CCOcclusionTracker.cpp: |
| (WebCore::::unoccludedContributingSurfaceContentRect): |
| * platform/graphics/chromium/cc/CCRenderSurface.cpp: |
| (WebCore::CCRenderSurface::targetRenderSurface): |
| (WebCore): |
| * platform/graphics/chromium/cc/CCRenderSurface.h: |
| (CCRenderSurface): |
| |
| 2012-05-29 Jonathan Dong <jonathan.dong@torchmobile.com.cn> |
| |
| [BlackBerry] Refactoring http/proxy authentication to use authcallback mechanism introduced with libcurl |
| https://bugs.webkit.org/show_bug.cgi?id=87706 |
| |
| Reviewed by Antonio Gomes. |
| |
| Because we use authentication callback mechanism of libcurl, |
| which will take care of all the authentication communication |
| between UA and server, so the only thing we need to do is to |
| provide credential information when authentication callback |
| is triggered. By using this we don't need to process |
| intermediate headers for each http authentication scheme. |
| |
| Implemented interface function notifyAuthReceived() in |
| NetworkJob to handle the authentication notification from |
| networking thread. |
| When the authentication callback is triggered, we should |
| cancel the current loading request and restart a new one with |
| credential information attached which comes from |
| credentialStorage or user input. |
| |
| Internally reviewed by Joe Mason <jmason@rim.com>. |
| |
| No new tests since there is no behavior change. |
| |
| * platform/network/blackberry/NetworkJob.cpp: |
| (WebCore::NetworkJob::notifyAuthReceived): |
| (WebCore): |
| (WebCore::NetworkJob::handleNotifyHeaderReceived): |
| (WebCore::NetworkJob::sendRequestWithCredentials): |
| * platform/network/blackberry/NetworkJob.h: |
| (NetworkJob): |
| |
| 2012-05-29 Jonathan Dong <jonathan.dong@torchmobile.com.cn> |
| |
| [BlackBerry] http authentication challenge issue when loading subresource |
| https://bugs.webkit.org/show_bug.cgi?id=87660 |
| |
| Reviewed by Rob Buis. |
| |
| We should try to store the credential information as soon as we |
| receive http status notification which indicates that the |
| authentication succeeds, instead of storing credentials when the |
| main resource receives notify done which is too late for loading |
| subresource. |
| |
| Internally reviewed by Joe Mason <jmason@rim.com> |
| |
| No new tests since there is no change in behavior. |
| |
| * platform/network/blackberry/NetworkJob.cpp: |
| (WebCore::NetworkJob::handleNotifyStatusReceived): |
| (WebCore::NetworkJob::handleNotifyClose): |
| |
| 2012-05-29 Alexey Proskuryakov <ap@apple.com> |
| |
| [Mac] Move DefaultFonts.plist to C++ code |
| https://bugs.webkit.org/show_bug.cgi?id=87560 |
| <rdar://problem/11466119> |
| |
| Reviewed by Dan Bernstein. |
| |
| * DerivedSources.make: |
| * Resources/DefaultFonts.plist.in: Removed. |
| * WebCore.xcodeproj/project.pbxproj: |
| * page/mac/SettingsMac.mm: (WebCore::Settings::initializeDefaultFontFamilies): |
| Instead of having a separate configuration file, just hardcode the settings in C++. |
| |
| 2012-05-29 Alexei Filippov <alexeif@chromium.org> |
| |
| Web Inspector: Retainers are missing for all objects |
| https://bugs.webkit.org/show_bug.cgi?id=87655 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| * inspector/front-end/HeapSnapshotDataGrids.js: |
| (WebInspector.HeapSnapshotContainmentDataGrid.prototype.setDataSource): |
| |
| 2012-05-29 Philippe Normand <pnormand@igalia.com> |
| |
| [GStreamer] Video sink doesn't respect WebKit code style |
| https://bugs.webkit.org/show_bug.cgi?id=87693 |
| |
| Reviewed by Alexis Menard. |
| |
| No change in behavior of the sink, this patch only adapts the code |
| style to WebKit's. |
| |
| * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: |
| * platform/graphics/gstreamer/VideoSinkGStreamer.cpp: |
| (_WebKitVideoSinkPrivate): |
| (webkitVideoSinkTimeoutCallback): |
| (webkitVideoSinkRender): |
| (webkitVideoSinkDispose): |
| (unlockBufferMutex): |
| (webkitVideoSinkUnlock): |
| (webkitVideoSinkUnlockStop): |
| (webkitVideoSinkStop): |
| (webkitVideoSinkStart): |
| (webkitVideoSinkMarshalVoidAndMiniObject): |
| (webkit_video_sink_class_init): |
| (webkitVideoSinkNew): |
| * platform/graphics/gstreamer/VideoSinkGStreamer.h: |
| (_WebKitVideoSink): |
| (_WebKitVideoSinkClass): |
| |
| 2012-05-29 Roland Takacs <takacs.roland@stud.u-szeged.hu> |
| |
| [Qt] Uninitialized shader compiler when GLES is used |
| https://bugs.webkit.org/show_bug.cgi?id=87712 |
| |
| The '#if !defined(QT_OPENGL_ES_2)' has been removed before the initialization |
| of shader compiler to compile shader codes for ES-platforms as well. |
| |
| Reviewed by Noam Rosenthal. |
| |
| * platform/graphics/qt/GraphicsContext3DQt.cpp: |
| (WebCore::GraphicsContext3D::GraphicsContext3D): |
| |
| 2012-05-29 Taiju Tsuiki <tzik@chromium.org> |
| |
| Add InspectorFileSystemAgent::FrontendProvider |
| https://bugs.webkit.org/show_bug.cgi?id=87635 |
| |
| InspectorFileSystemAgent needs weak reference to its frontend to perform |
| asynchronous operation. |
| |
| Reviewed by Yury Semikhatsky. |
| |
| * inspector/InspectorFileSystemAgent.cpp: |
| (InspectorFileSystemAgent::FrontendProvider): |
| (WebCore): |
| (WebCore::InspectorFileSystemAgent::~InspectorFileSystemAgent): |
| (WebCore::InspectorFileSystemAgent::enable): |
| (WebCore::InspectorFileSystemAgent::disable): |
| (WebCore::InspectorFileSystemAgent::setFrontend): |
| (WebCore::InspectorFileSystemAgent::clearFrontend): |
| (WebCore::InspectorFileSystemAgent::restore): |
| (WebCore::InspectorFileSystemAgent::InspectorFileSystemAgent): |
| * inspector/InspectorFileSystemAgent.h: |
| (InspectorFileSystemAgent): |
| |
| 2012-05-29 Yoshifumi Inoue <yosin@chromium.org> |
| |
| REGRESSION(r109729): The optgroup element's "disabled" attribute has no effect to rendering and selection |
| https://bugs.webkit.org/show_bug.cgi?id=87614 |
| |
| Reviewed by Kent Tamura. |
| |
| This patch adds HTMLOptGroupElement::disabled and isEnabledFormControl |
| methods which was implemented in HTMLFormControlElement at r109729 and |
| updates CSS pseudo class checker to check "optgroup" element. |
| |
| Tests: fast/forms/select/optgroup-clicking.html |
| fast/forms/select/optgroup-disabled.html |
| fast/forms/select/optgroup-rendering.html |
| |
| * css/SelectorChecker.cpp: |
| (WebCore::SelectorChecker::checkOneSelector): On disabled and enabled pseudo class checker. |
| We checked tag name "optgroup" in addition isFormControlElement. |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::canShareStyleWithElement): Checks optgroup.disabled. |
| * html/HTMLOptGroupElement.cpp: |
| (WebCore::HTMLOptGroupElement::disabled): Added. |
| * html/HTMLOptGroupElement.h: |
| (HTMLOptGroupElement): Added isEnabledFormControl. |
| |
| 2012-05-29 Alexander Pavlov <apavlov@chromium.org> |
| |
| [Chromium] [Regression] SELECT popup misplaced when there is not enough vertical space |
| https://bugs.webkit.org/show_bug.cgi?id=87735 |
| |
| Reviewed by Kent Tamura. |
| |
| This change fixes the obsolete WebWidget Y-repositioning code for the insufficient vertical space case, not removed in r113418. |
| |
| No new tests, as popups are not testable in Chromium. |
| |
| * platform/chromium/PopupContainer.cpp: |
| (WebCore::PopupContainer::layoutAndCalculateWidgetRect): |
| |
| 2012-05-29 Andrei Bucur <abucur@adobe.com> |
| |
| [CSS Regions]Rename NamedFlow::overflow to NamedFlow::overset |
| https://bugs.webkit.org/show_bug.cgi?id=87491 |
| |
| This patch updates the CSSOM property name overflow to overset. There are no changes in functionality. |
| Link to spec: http://www.w3.org/TR/2012/WD-css3-regions-20120503/ |
| |
| Reviewed by Andreas Kling. |
| |
| Test: fast/regions/webkit-named-flow-overset.html |
| |
| * dom/WebKitNamedFlow.cpp: |
| (WebCore::WebKitNamedFlow::overset): |
| * dom/WebKitNamedFlow.h: |
| (WebKitNamedFlow): |
| * dom/WebKitNamedFlow.idl: |
| * rendering/RenderFlowThread.cpp: |
| (WebCore::RenderFlowThread::RenderFlowThread): |
| (WebCore::RenderFlowThread::computeOverflowStateForRegions): |
| * rendering/RenderFlowThread.h: |
| |
| 2012-05-29 Andreas Kling <kling@webkit.org> |
| |
| Give StylePropertySet a proper mutability flag. |
| <http://webkit.org/b/87675> |
| |
| Reviewed by Antti Koivisto. |
| |
| Add a flag to StylePropertySet that determines whether it's mutable or not. Only objects |
| constructed from the CSS parser (by way of StylePropertySet::adopt()) are made immutable. |
| This is clean-up and prep work for implementing a more efficient storage scheme for immutable |
| StylePropertySets (fixed-size array instead of vector) as the vast majority of them are |
| unlikely to ever mutate during their lifetime. |
| |
| Sprinkled ASSERT(isMutable()) all over StylePropertySet to catch any attempts to modify |
| an immutable object. |
| |
| Also made properties() const on StyleRule and friends, which brought some additional code |
| churn along with it. |
| |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore::CSSComputedStyleDeclaration::copyPropertiesInSet): |
| * css/CSSFontFaceRule.cpp: |
| (WebCore::CSSFontFaceRule::style): |
| (WebCore::CSSFontFaceRule::reattach): |
| * css/CSSFontFaceSrcValue.cpp: |
| (WebCore::CSSFontFaceSrcValue::addSubresourceStyleURLs): |
| * css/CSSFontFaceSrcValue.h: |
| (CSSFontFaceSrcValue): |
| * css/CSSPageRule.cpp: |
| (WebCore::CSSPageRule::style): |
| (WebCore::CSSPageRule::reattach): |
| * css/CSSPrimitiveValue.cpp: |
| (WebCore::CSSPrimitiveValue::addSubresourceStyleURLs): |
| * css/CSSPrimitiveValue.h: |
| (CSSPrimitiveValue): |
| * css/CSSReflectValue.cpp: |
| (WebCore::CSSReflectValue::addSubresourceStyleURLs): |
| * css/CSSReflectValue.h: |
| (CSSReflectValue): |
| * css/CSSStyleRule.cpp: |
| (WebCore::CSSStyleRule::style): |
| (WebCore::CSSStyleRule::reattach): |
| * css/CSSValue.cpp: |
| (WebCore::CSSValue::addSubresourceStyleURLs): |
| * css/CSSValue.h: |
| (CSSValue): |
| * css/CSSValueList.cpp: |
| (WebCore::CSSValueList::addSubresourceStyleURLs): |
| * css/CSSValueList.h: |
| (CSSValueList): |
| * css/StylePropertySet.cpp: |
| (WebCore::StylePropertySet::StylePropertySet): |
| (WebCore::StylePropertySet::setCSSParserMode): |
| (WebCore): |
| (WebCore::StylePropertySet::copyPropertiesFrom): |
| (WebCore::StylePropertySet::removeShorthandProperty): |
| (WebCore::StylePropertySet::removeProperty): |
| (WebCore::StylePropertySet::setProperty): |
| (WebCore::StylePropertySet::parseDeclaration): |
| (WebCore::StylePropertySet::addParsedProperties): |
| (WebCore::StylePropertySet::addParsedProperty): |
| (WebCore::StylePropertySet::merge): |
| (WebCore::StylePropertySet::addSubresourceStyleURLs): |
| (WebCore::StylePropertySet::removePropertiesInSet): |
| (WebCore::StylePropertySet::findPropertyWithId): |
| (WebCore::StylePropertySet::removeEquivalentProperties): |
| (WebCore::StylePropertySet::copyPropertiesInSet): |
| * css/StylePropertySet.h: |
| (WebCore::StylePropertySet::adopt): |
| (WebCore::StylePropertySet::adoptMutable): |
| (StylePropertySet): |
| (WebCore::StylePropertySet::isMutable): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::addMatchedProperties): |
| (WebCore::StyleResolver::collectMatchingRulesForList): |
| * css/StyleResolver.h: |
| (StyleResolver): |
| * css/StyleRule.cpp: |
| (WebCore::StyleRule::mutableProperties): |
| (WebCore): |
| (WebCore::StyleRulePage::mutableProperties): |
| (WebCore::StyleRuleFontFace::mutableProperties): |
| * css/StyleRule.h: |
| (WebCore::StyleRule::properties): |
| (StyleRule): |
| (WebCore::StyleRuleFontFace::properties): |
| (StyleRuleFontFace): |
| (WebCore::StyleRulePage::properties): |
| (StyleRulePage): |
| * dom/ElementAttributeData.cpp: |
| (WebCore::ElementAttributeData::ensureInlineStyle): |
| (WebCore::ElementAttributeData::updateInlineStyleAvoidingMutation): |
| * editing/EditingStyle.cpp: |
| (WebCore::styleFromMatchedRulesForElement): |
| * svg/SVGFontFaceElement.cpp: |
| (WebCore::SVGFontFaceElement::parseAttribute): |
| (WebCore::SVGFontFaceElement::rebuildFontFace): |
| (WebCore::SVGFontFaceElement::removedFrom): |
| |
| 2012-05-29 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> |
| |
| [EFL] Refactoring. Get rid of unnecessary singleCharacterString() function |
| https://bugs.webkit.org/show_bug.cgi?id=87654 |
| |
| Reviewed by Csaba Osztrogonác. |
| |
| Evas key events already provide key string, so no practical need for singleCharacterString() |
| evaluating the event string from keyname. |
| Modified code related functionality is already covered with fast/events and fast/forms tests. |
| |
| * platform/efl/EflKeyboardUtilities.cpp: |
| * platform/efl/PlatformKeyboardEventEfl.cpp: |
| (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): |
| |
| 2012-05-29 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Unreviewed: Web Inspector: single line fix after r118742. |
| |
| * inspector/front-end/HeapSnapshotView.js: |
| (WebInspector.HeapProfileHeader.prototype.saveToFile): |
| |
| 2012-05-29 Kentaro Hara <haraken@chromium.org> |
| |
| Remove m_rootNode and m_selectorChecker from SelectorQuery.h |
| https://bugs.webkit.org/show_bug.cgi?id=87650 |
| |
| Reviewed by Antti Koivisto. |
| |
| To avoid parsing CSS selectors every time, I am planning to cache |
| SelectorQuery objects into a HashMap, which will be defined in |
| Node::querySelector(). To make the size of SelectorQuery small, |
| this patch removes m_rootNode and m_selectorChecker from SelectorQuery.h. |
| |
| Tests: fast/dom/SelectorAPI/*. No change in test results. |
| |
| * dom/Node.cpp: |
| (WebCore::Node::querySelector): |
| (WebCore::Node::querySelectorAll): |
| * dom/SelectorQuery.cpp: |
| (WebCore::SelectorQuery::SelectorQuery): |
| (WebCore): |
| (WebCore::SelectorQuery::queryAll): |
| (WebCore::SelectorQuery::queryFirst): |
| * dom/SelectorQuery.h: |
| (SelectorQuery): |
| |
| 2012-05-29 Eugene Klyuchnikov <eustas.bug@gmail.com> |
| |
| Web Inspector: Tabbed Settings Screen |
| https://bugs.webkit.org/show_bug.cgi?id=87497 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| Combine settings screen and shortcuts screen |
| to a single tabbed settings screen. |
| This will make shortcuts screen more discoverable. |
| |
| * inspector/front-end/HelpScreen.js: |
| (WebInspector.HelpScreen): Make titled tamplate optional. |
| (WebInspector.HelpScreen.prototype._createCloseButton): Extract method. |
| * inspector/front-end/SettingsScreen.js: |
| (WebInspector.SettingsScreen): Split initialization and UI construction. |
| (WebInspector.SettingsScreen.prototype._createSettingsTabView.appendSection): |
| (WebInspector.SettingsScreen.prototype._createSettingsTabView): |
| Extract GUI construction method. |
| (WebInspector.SettingsScreen.prototype._getOrCreateTabbedPane): |
| Make GUI construction lazy. |
| (WebInspector.SettingsScreen.prototype.selectTab): |
| Add method for external tab swithching. |
| (WebInspector.SettingsScreen.prototype.wasShown): |
| Make GUI construction lazy. |
| (WebInspector.SettingsScreenTabbedPane): |
| Extend class to access protected member. |
| (WebInspector.SettingsController.prototype._buttonClicked): |
| Change "showSettingsScreen" visibility and parameters. |
| (WebInspector.SettingsController.prototype._onHideSettingsScreen): |
| Preserve settings screen state. |
| (WebInspector.SettingsController.prototype.showSettingsScreen): |
| Change method visibility and parameters. |
| * inspector/front-end/ShortcutsScreen.js: |
| (WebInspector.ShortcutsScreen): Remove inheritance from HelpScreen. |
| (WebInspector.ShortcutsScreen.prototype._createShortcutsTabView): |
| Refactoring of GUI construction. |
| (WebInspector.ShortcutsSection.prototype.renderSection): |
| Ditto. |
| * inspector/front-end/helpScreen.css: |
| (.help-window-main ::-webkit-scrollbar): Rebind scrollbar settings. |
| (.help-window-main ::-webkit-resizer): Ditto. |
| (.help-window-main ::-webkit-scrollbar-thumb:vertical): Ditto. |
| (.help-window-main ::-webkit-scrollbar-thumb:vertical:active): Ditto. |
| (.help-window-main ::-webkit-scrollbar-track:vertical): Ditto. |
| (body:not(.compact) #settings-screen .tabbed-pane): Fix container height. |
| (#settings-screen .tabbed-pane-header): Ditto. |
| (#settings-screen .tabbed-pane-header-tabs): Adjust spacing. |
| (#settings-screen .tabbed-pane-header-tab): Adjust style. |
| (#settings-screen .help-close-button): Adjust spacing. |
| (#settings-screen .tabbed-pane-header-tab.selected): |
| Erase line below active tab. |
| (#settings-screen .tabbed-pane-content): Adjust spacing. |
| (#settings-screen .help-content): Ditto. |
| * inspector/front-end/inspector.js: |
| (WebInspector.documentKeyDown): Use Settings screen to show shortcuts. |
| |
| 2012-05-29 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: REGRESSION: load heap snapshot doesn't work. |
| https://bugs.webkit.org/show_bug.cgi?id=87642 |
| |
| HeapSnapshotReceiver interface was introduced. |
| It declares the API for HeapSnapshotLoader, HeapSnapshotLoaderProxy and HeapSnapshotSaveToFileReceiver. |
| The HeapProfileHeader was refactored and tests were added. |
| |
| Reviewed by Yury Semikhatsky. |
| |
| * inspector/front-end/HeapSnapshotLoader.js: |
| (WebInspector.HeapSnapshotLoader): |
| (WebInspector.HeapSnapshotLoader.prototype.startLoading): |
| (WebInspector.HeapSnapshotLoader.prototype.dispose): |
| (WebInspector.HeapSnapshotLoader.prototype._reset): |
| (WebInspector.HeapSnapshotLoader.prototype.finishLoading): |
| * inspector/front-end/HeapSnapshotProxy.js: |
| (WebInspector.HeapSnapshotWorker.prototype.startCheckingForLongRunningCalls): |
| (WebInspector.HeapSnapshotLoaderProxy.prototype.startLoading): |
| (WebInspector.HeapSnapshotLoaderProxy.prototype.pushJSONChunk): |
| (WebInspector.HeapSnapshotLoaderProxy.prototype.finishLoading): |
| * inspector/front-end/HeapSnapshotView.js: |
| (WebInspector.HeapSnapshotReceiver): |
| (WebInspector.HeapSnapshotReceiver.prototype.startLoading): |
| (WebInspector.HeapSnapshotReceiver.prototype.pushJSONChunk): |
| (WebInspector.HeapSnapshotReceiver.prototype.finishLoading): |
| (WebInspector.HeapSnapshotReceiver.prototype.dispose): |
| (WebInspector.HeapProfileHeader): |
| (WebInspector.HeapProfileHeader.prototype.load): |
| (WebInspector.HeapProfileHeader.prototype._setupWorker): |
| (WebInspector.HeapProfileHeader.prototype.dispose): |
| (WebInspector.HeapProfileHeader.prototype._saveStatusUpdate): |
| (WebInspector.HeapProfileHeader.prototype.pushJSONChunk): |
| (WebInspector.HeapProfileHeader.prototype._parsed): |
| (WebInspector.HeapProfileHeader.prototype.finishHeapSnapshot): |
| (WebInspector.HeapProfileHeader.prototype.saveToFile): |
| (WebInspector.HeapProfileHeader.prototype.loadFromFile.onLoad): |
| (WebInspector.HeapProfileHeader.prototype.loadFromFile): |
| (WebInspector.HeapProfileHeader.prototype._loadNextChunk): |
| (WebInspector.HeapProfileHeader.prototype._nextChunkLoaded): |
| (WebInspector.HeapProfileHeader.prototype._createFileReader): |
| (WebInspector.HeapSnapshotSaveToFileReceiver): |
| (WebInspector.HeapSnapshotSaveToFileReceiver.prototype.startLoading): |
| (WebInspector.HeapSnapshotSaveToFileReceiver.prototype.pushJSONChunk): |
| (WebInspector.HeapSnapshotSaveToFileReceiver.prototype.finishLoading): |
| (WebInspector.HeapSnapshotSaveToFileReceiver.prototype.dispose): |
| (WebInspector.HeapSnapshotSaveToFileReceiver.prototype._startSavingSnapshot): |
| (WebInspector.HeapSnapshotSaveToFileReceiver.prototype._saveStatusUpdate): |
| * inspector/front-end/ProfilesPanel.js: |
| (WebInspector.ProfilesPanel.prototype._createFileSelectorElement.onChange): |
| (WebInspector.ProfilesPanel.prototype._createFileSelectorElement): |
| (WebInspector.ProfilesPanel.prototype._loadFromFile): |
| |
| 2012-05-29 Eric Seidel <eric@webkit.org> |
| |
| Add HTMLIFrameElement.seamless property accessor now that seamless is enabled and works |
| https://bugs.webkit.org/show_bug.cgi?id=87708 |
| |
| Reviewed by Adam Barth. |
| |
| Lots of tests in fast/frames/seamless cover this property. |
| |
| * html/HTMLIFrameElement.idl: |
| |
| 2012-05-29 Kentaro Hara <haraken@chromium.org> |
| |
| [Performance] Optimize querySelector() and querySelectorAll() by removing |
| redundant dummy style sheet creations |
| https://bugs.webkit.org/show_bug.cgi?id=87627 |
| |
| Reviewed by Antti Koivisto. |
| |
| This patch improves performance of querySelector("#id") by 4.2% ~ 17.7% |
| in Safari and Chromium. |
| |
| Performance tests: https://bugs.webkit.org/attachment.cgi?id=144288 |
| |
| The performance test results in my desktop: |
| |
| [Safari/Mac] |
| document.querySelector("#headId") : 13.60 ms => 12.40 ms +9.68% |
| document.querySelector("#duplicatedId") : 14.80 ms => 14.20 ms +4.23% |
| document.querySelector("#tailId") : 13.80 ms => 12.20 ms +13.11% |
| document.querySelectorAll("#headId") : 17.80 ms => 14.60 ms +21.92% |
| document.querySelectorAll("#duplicatedId") : 513.80 ms => 471.60 ms +8.95% |
| document.querySelectorAll("#tailId") : 19.20 ms => 16.40 ms +17.07% |
| document.querySelector("h1") : 14.40 ms => 13.60 ms +5.88% |
| document.querySelector("h2") : 14.80 ms => 13.80 ms +7.25% |
| document.querySelector("h3") : 312.00 ms => 306.60 ms +1.76% |
| document.querySelectorAll("h1") : 322.00 ms => 314.60 ms +2.35% |
| document.querySelectorAll("h2") : 481.00 ms => 420.60 ms +14.36% |
| document.querySelectorAll("h3") : 326.80 ms => 315.80 ms +3.48% |
| document.querySelector(".headClass") : 16.20 ms => 15.40 ms +5.19% |
| document.querySelector(".duplicatedClass") : 17.00 ms => 15.40 ms +10.39% |
| document.querySelector(".tailClass") : 369.60 ms => 362.60 ms +1.93% |
| document.querySelectorAll(".headClass") : 388.20 ms => 377.60 ms +2.81% |
| document.querySelectorAll(".duplicatedClass") : 605.00 ms => 581.20 ms +4.09% |
| document.querySelectorAll(".tailClass") : 401.60 ms => 391.40 ms +2.61% |
| |
| [Chromium/Linux] |
| ocument.querySelector("#headId") : 16.00 ms => 13.60 ms +17.65% |
| document.querySelector("#duplicatedId") : 16.80 ms => 15.40 ms +9.09% |
| document.querySelector("#tailId") : 16.00 ms => 13.60 ms +17.65% |
| document.querySelectorAll("#headId") : 29.00 ms => 25.00 ms +16.00% |
| document.querySelectorAll("#duplicatedId") : 561.40 ms => 505.20 ms +11.12% |
| document.querySelectorAll("#tailId") : 34.00 ms => 26.80 ms +26.87% |
| document.querySelector("h1") : 18.20 ms => 15.80 ms +15.19% |
| document.querySelector("h2") : 19.00 ms => 16.60 ms +14.46% |
| document.querySelector("h3") : 280.40 ms => 274.00 ms +2.34% |
| document.querySelectorAll("h1") : 300.20 ms => 365.20 ms -17.80% |
| document.querySelectorAll("h2") : 487.60 ms => 504.20 ms -3.29% |
| document.querySelectorAll("h3") : 349.40 ms => 324.00 ms +7.84% |
| document.querySelector(".headClass") : 18.40 ms => 16.00 ms +15.00% |
| document.querySelector(".duplicatedClass") : 19.40 ms => 16.20 ms +19.75% |
| document.querySelector(".tailClass") : 349.60 ms => 345.40 ms +1.22% |
| document.querySelectorAll(".headClass") : 382.80 ms => 378.20 ms +1.22% |
| document.querySelectorAll(".duplicatedClass") : 550.80 ms => 574.20 ms -4.08% |
| document.querySelectorAll(".tailClass") : 381.00 ms => 387.00 ms -1.55% |
| |
| I've found that StyleSheetInternal::create() in CSSParser::parseSelector() |
| is a bottleneck of querySelector() and querySelectorAll(). |
| |
| void CSSParser::parseSelector(const String& string, CSSSelectorList& selectorList) |
| { |
| RefPtr<StyleSheetInternal> dummyStyleSheet = StyleSheetInternal::create(); |
| setStyleSheet(dummyStyleSheet.get()); |
| ...; |
| } |
| |
| This patch removes a dummy style sheet. Previously the dummy style sheet |
| was needed to avoid null checks of m_styleSheet in CSSGrammer.y. |
| This patch fixes CSSGrammer.y so that it works fine with a null m_styleSheet. |
| |
| Tests: fast/dom/SelectorAPI/*. No change in the test results. |
| |
| * css/CSSGrammar.y: |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::parseSelector): |
| |
| 2012-05-29 Nikolas Zimmermann <nzimmermann@rim.com> |
| |
| SVGViewSpec DOM bindings aka SVGSVGElement.currentView is unimplemented |
| https://bugs.webkit.org/show_bug.cgi?id=15495 |
| |
| Reviewed by Rob Buis. |
| |
| Finish SVGViewSpec implementation and expose it to the Web. Numerous smaller bugs are fixed: |
| - SVGViewSpec and all of its contents should be read-only. Enforce that and test it. |
| Add a new enum to SVGPropertyInfo so that each SVGAnimatedProperty knows if its content is supposed to be read-write or read-only. |
| - Make the 'transform' attribute of SVGViewSpec exposable by switching to a SVGTransformListProperty - it can now be accessed from JS. |
| - Assure that following XXXString methods are in sync with the corresponding SVG DOM interfaces |
| readonly attribute DOMString viewBoxString; |
| readonly attribute DOMString preserveAspectRatioString; |
| readonly attribute DOMString transformString; |
| readonly attribute DOMString viewTargetString; |
| - Cleanup code in svg/properties that was intended to handle SVGViewSpec. Turns out lot of the complexity was unncessary, and can be removed. |
| - Move SVGFitToViewBox to the same pattern SVGZoomAndPan uses since two days, that avoids any virtual function calls for attribute parsing. |
| - Create/expose ObjectiveC/JS bindings for SVGViewSpec. |
| - Enable SVGViewSpec constructor. |
| |
| Tests: svg/custom/linking-a-03-b-all-expected.svg |
| svg/dom/SVGViewSpec-defaults.html |
| svg/dom/SVGViewSpec.html |
| svg/dom/complex-svgView-specification.html |
| svg/dom/viewspec-parser.html |
| |
| * CMakeLists.txt: |
| * DerivedSources.cpp: |
| * DerivedSources.make: |
| * DerivedSources.pri: |
| * GNUmakefile.list.am: |
| * Target.pri: |
| * WebCore.gyp/WebCore.gyp: |
| * WebCore.gypi: |
| * WebCore.order: |
| * WebCore.vcproj/WebCore.vcproj: |
| * WebCore.xcodeproj/project.pbxproj: |
| * bindings/js/JSSVGLengthCustom.cpp: |
| (WebCore::JSSVGLength::setValue): |
| (WebCore::JSSVGLength::convertToSpecifiedUnits): |
| * bindings/objc/DOMSVG.h: |
| * bindings/scripts/CodeGeneratorJS.pm: |
| (GenerateImplementation): |
| (NativeToJSValue): |
| * bindings/scripts/CodeGeneratorObjC.pm: |
| (GenerateImplementation): |
| * bindings/scripts/CodeGeneratorV8.pm: |
| (GenerateNormalAttrGetter): |
| (GenerateNormalAttrSetter): |
| (GenerateFunctionCallback): |
| * bindings/v8/custom/V8SVGLengthCustom.cpp: |
| (WebCore::V8SVGLength::valueAccessorSetter): |
| (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback): |
| * page/DOMWindow.idl: |
| * rendering/svg/RenderSVGResourcePattern.cpp: |
| (WebCore::RenderSVGResourcePattern::buildTileImageTransform): |
| * svg/SVGFitToViewBox.cpp: |
| * svg/SVGFitToViewBox.h: |
| (SVGFitToViewBox): |
| (WebCore::SVGFitToViewBox::parseAttribute): |
| * svg/SVGMarkerElement.cpp: |
| (WebCore::SVGMarkerElement::orientTypePropertyInfo): |
| (WebCore::SVGMarkerElement::parseAttribute): |
| (WebCore::SVGMarkerElement::synchronizeOrientType): |
| (WebCore::SVGMarkerElement::lookupOrCreateOrientTypeWrapper): |
| * svg/SVGPathElement.cpp: |
| (WebCore::SVGPathElement::dPropertyInfo): |
| (WebCore::SVGPathElement::svgAttributeChanged): |
| (WebCore::SVGPathElement::pathByteStream): |
| (WebCore::SVGPathElement::lookupOrCreateDWrapper): |
| (WebCore::SVGPathElement::synchronizeD): |
| * svg/SVGPathSegWithContext.h: |
| (WebCore::SVGPathSegWithContext::animatedProperty): |
| * svg/SVGPatternElement.cpp: |
| (WebCore::SVGPatternElement::parseAttribute): |
| * svg/SVGPolyElement.cpp: |
| (WebCore::SVGPolyElement::pointsPropertyInfo): |
| (WebCore::SVGPolyElement::parseAttribute): |
| (WebCore::SVGPolyElement::synchronizePoints): |
| (WebCore::SVGPolyElement::lookupOrCreatePointsWrapper): |
| * svg/SVGRect.h: |
| * svg/SVGSVGElement.cpp: |
| (WebCore::SVGSVGElement::~SVGSVGElement): |
| (WebCore::SVGSVGElement::currentView): |
| (WebCore::SVGSVGElement::parseAttribute): |
| (WebCore::SVGSVGElement::currentViewBoxRect): |
| (WebCore::SVGSVGElement::viewBoxToViewTransform): |
| (WebCore::SVGSVGElement::setupInitialView): |
| (WebCore::SVGSVGElement::inheritViewAttributes): |
| * svg/SVGSVGElement.h: |
| (SVGSVGElement): |
| * svg/SVGSVGElement.idl: |
| * svg/SVGSymbolElement.cpp: |
| (WebCore::SVGSymbolElement::parseAttribute): |
| * svg/SVGTests.cpp: |
| (WebCore::SVGTests::requiredFeaturesPropertyInfo): |
| (WebCore::SVGTests::requiredExtensionsPropertyInfo): |
| (WebCore::SVGTests::systemLanguagePropertyInfo): |
| (WebCore::SVGTests::synchronizeRequiredFeatures): |
| (WebCore::SVGTests::synchronizeRequiredExtensions): |
| (WebCore::SVGTests::synchronizeSystemLanguage): |
| * svg/SVGTextContentElement.cpp: |
| (WebCore::SVGTextContentElement::textLengthPropertyInfo): |
| (WebCore::SVGTextContentElement::synchronizeTextLength): |
| (WebCore::SVGTextContentElement::lookupOrCreateTextLengthWrapper): |
| * svg/SVGViewElement.cpp: |
| (WebCore::SVGViewElement::parseAttribute): |
| * svg/SVGViewElement.h: |
| * svg/SVGViewSpec.cpp: |
| (WebCore::SVGViewSpec::viewBoxPropertyInfo): |
| (WebCore::SVGViewSpec::preserveAspectRatioPropertyInfo): |
| (WebCore::SVGViewSpec::transformPropertyInfo): |
| (WebCore::SVGViewSpec::SVGViewSpec): |
| (WebCore::SVGViewSpec::viewBoxIdentifier): |
| (WebCore::SVGViewSpec::preserveAspectRatioIdentifier): |
| (WebCore::SVGViewSpec::transformIdentifier): |
| (WebCore::SVGViewSpec::setZoomAndPan): |
| (WebCore::SVGViewSpec::setTransformString): |
| (WebCore::SVGViewSpec::transformString): |
| (WebCore::SVGViewSpec::viewBoxString): |
| (WebCore::SVGViewSpec::preserveAspectRatioString): |
| (WebCore::SVGViewSpec::viewTarget): |
| (WebCore::SVGViewSpec::transform): |
| (WebCore::SVGViewSpec::lookupOrCreateViewBoxWrapper): |
| (WebCore::SVGViewSpec::lookupOrCreatePreserveAspectRatioWrapper): |
| (WebCore::SVGViewSpec::lookupOrCreateTransformWrapper): |
| (WebCore::SVGViewSpec::reset): |
| (WebCore::SVGViewSpec::parseViewSpec): |
| * svg/SVGViewSpec.h: |
| (WebCore::SVGViewSpec::~SVGViewSpec): |
| (SVGViewSpec): |
| (WebCore::SVGViewSpec::create): |
| (WebCore::SVGViewSpec::setViewTargetString): |
| (WebCore::SVGViewSpec::setZoomAndPan): |
| (WebCore::SVGViewSpec::contextElement): |
| (WebCore::SVGViewSpec::resetContextElement): |
| (WebCore::SVGViewSpec::transformBaseValue): |
| (WebCore::SVGViewSpec::viewBoxAnimated): |
| (WebCore::SVGViewSpec::viewBox): |
| (WebCore::SVGViewSpec::viewBoxBaseValue): |
| (WebCore::SVGViewSpec::setViewBoxBaseValue): |
| (WebCore::SVGViewSpec::preserveAspectRatioAnimated): |
| (WebCore::SVGViewSpec::preserveAspectRatio): |
| (WebCore::SVGViewSpec::preserveAspectRatioBaseValue): |
| (WebCore::SVGViewSpec::setPreserveAspectRatioBaseValue): |
| * svg/SVGViewSpec.idl: |
| * svg/properties/SVGAnimatedProperty.h: |
| (WebCore::SVGAnimatedProperty::isReadOnly): |
| (WebCore::SVGAnimatedProperty::setIsReadOnly): |
| (SVGAnimatedProperty): |
| (WebCore::SVGAnimatedProperty::lookupOrCreateWrapper): |
| (WebCore::SVGAnimatedProperty::lookupWrapper): |
| (WebCore::SVGAnimatedProperty::SVGAnimatedProperty): |
| * svg/properties/SVGAnimatedPropertyMacros.h: |
| (WebCore::SVGSynchronizableAnimatedProperty::synchronize): |
| (SVGSynchronizableAnimatedProperty): |
| * svg/properties/SVGAnimatedPropertySynchronizer.h: Removed. |
| * svg/properties/SVGAttributeToPropertyMap.h: |
| * svg/properties/SVGListProperty.h: |
| * svg/properties/SVGListPropertyTearOff.h: |
| (SVGListPropertyTearOff): |
| (WebCore::SVGListPropertyTearOff::isReadOnly): |
| * svg/properties/SVGPathSegListPropertyTearOff.h: |
| (SVGPathSegListPropertyTearOff): |
| (WebCore::SVGPathSegListPropertyTearOff::isReadOnly): |
| * svg/properties/SVGProperty.h: |
| (SVGProperty): |
| * svg/properties/SVGPropertyInfo.h: |
| (WebCore::SVGPropertyInfo::SVGPropertyInfo): |
| (SVGPropertyInfo): |
| * svg/properties/SVGPropertyTearOff.h: |
| (WebCore::SVGPropertyTearOff::isReadOnly): |
| * svg/properties/SVGStaticListPropertyTearOff.h: |
| (SVGStaticListPropertyTearOff): |
| (WebCore::SVGStaticListPropertyTearOff::isReadOnly): |
| |
| 2012-05-29 Kent Tamura <tkent@chromium.org> |
| |
| REGRESSION (r90971): the cursor is painted “behind” the placeholder text |
| https://bugs.webkit.org/show_bug.cgi?id=87155 |
| |
| Reviewed by Hajime Morita. |
| |
| This regression happened only on platforms on which |
| RenderTheme::shouldShowPlaceholderWhenFocused() returns true. |
| |
| Because the order of renderers for the editable node and the placeholder |
| node was: |
| - A renderer for the editable node |
| - A renderer for the placeholder node, |
| The text caret was painted, then the palceholder was painted. |
| |
| We should not use z-index in the built-in shadow nodes. So the patch |
| fixes this bug by re-ordering these renderers. |
| |
| Tests: fast/forms/input-placeholder-paint-order-2.html |
| fast/forms/input-placeholder-paint-order.html |
| fast/forms/textarea/textarea-placeholder-paint-order-2.html |
| fast/forms/textarea/textarea-placeholder-paint-order.html |
| |
| * html/HTMLTextFormControlElement.cpp: |
| (WebCore::HTMLTextFormControlElement::fixPlaceholderRenderer): |
| Added. Reorder the order of renderers so that the placeholder renderer |
| precedes the inner text renderer. |
| * html/HTMLTextFormControlElement.h: Add fixPlaceholderRenderer() declaration. |
| |
| * html/HTMLTextAreaElement.cpp: |
| (WebCore::HTMLTextAreaElement::attach): Calls fixPlaceholderRenderer(). |
| (WebCore::HTMLTextAreaElement::updatePlaceholderText): |
| ditto. Also, use innerTextElement() to improvde code readability. |
| * html/HTMLTextAreaElement.h: |
| (HTMLTextAreaElement): Overrides attach(). |
| |
| * html/TextFieldInputType.cpp: |
| (WebCore::TextFieldInputType::updatePlaceholderText): |
| Calls fixPlaceholderRenderer(). |
| (WebCore::TextFieldInputType::attach): ditto. |
| * html/TextFieldInputType.h: |
| (TextFieldInputType): Overrides attach(). |
| |
| 2012-05-28 Kentaro Hara <haraken@chromium.org> |
| |
| [V8] Implement V8Binding::v8Null(isolate) and use it in CodeGeneratorV8.pm |
| https://bugs.webkit.org/show_bug.cgi?id=87692 |
| |
| Reviewed by Adam Barth. |
| |
| Since v8::Null(isolate) crashes if we pass a NULL isolate, we are planning |
| to pass Isolate to v8::Null() in the following steps: |
| |
| [1] Implement V8Bindings::v8Null(isolate). v8Null(isolate) does the NULL check. |
| If isolate is NULL, v8Null(isolate) calls v8::Null(). Otherwise, |
| v8Null(isolate) calls v8::Null(isolate). |
| |
| [2] In V8 bindings, we replace v8::Null() with v8::Null(isolate) for a non-optional |
| 'isolate' parameter. (e.g. void foo(..., Isolate* isolate) { v8::Null(); } ) |
| |
| [3] In V8 bindings, we replace v8::Null() with v8Null(isolate) for an optional |
| 'isolate' parameter. (e.g. void foo(..., Isolate* isolate = 0) { v8::Null(); } ) |
| |
| This bug fixes [1] by implementing V8Binding::v8Null(isolate). Also this patch uses |
| V8Binding::v8Null(isolate) in bindings/v8/*.{h,cpp}. |
| |
| No tests. No behavior change. |
| |
| * bindings/scripts/CodeGeneratorV8.pm: |
| (GenerateHeader): |
| (NativeToJSValue): |
| * bindings/scripts/test/V8/V8Float64Array.h: |
| * bindings/scripts/test/V8/V8TestActiveDOMObject.h: |
| (WebCore::toV8): |
| * bindings/scripts/test/V8/V8TestCustomNamedGetter.h: |
| (WebCore::toV8): |
| * bindings/scripts/test/V8/V8TestEventConstructor.h: |
| (WebCore::toV8): |
| * bindings/scripts/test/V8/V8TestEventTarget.h: |
| (WebCore::toV8): |
| * bindings/scripts/test/V8/V8TestException.h: |
| (WebCore::toV8): |
| * bindings/scripts/test/V8/V8TestInterface.h: |
| (WebCore::toV8): |
| * bindings/scripts/test/V8/V8TestMediaQueryListListener.h: |
| (WebCore::toV8): |
| * bindings/scripts/test/V8/V8TestNamedConstructor.h: |
| (WebCore::toV8): |
| * bindings/scripts/test/V8/V8TestNode.h: |
| (WebCore::toV8): |
| * bindings/scripts/test/V8/V8TestObj.h: |
| (WebCore::toV8): |
| * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: |
| (WebCore::TestSerializedScriptValueInterfaceV8Internal::valueAttrGetter): |
| (WebCore::TestSerializedScriptValueInterfaceV8Internal::readonlyValueAttrGetter): |
| * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h: |
| (WebCore::toV8): |
| * bindings/v8/V8Binding.h: |
| (WebCore::v8Null): |
| (WebCore): |
| (WebCore::v8DateOrNull): |
| * bindings/v8/V8DOMWrapper.cpp: |
| * bindings/v8/V8DOMWrapper.h: |
| (WebCore): |
| |
| 2012-05-28 Kent Tamura <tkent@chromium.org> |
| |
| Fix a crash in HTMLFormControlElement::disabled(). |
| https://bugs.webkit.org/show_bug.cgi?id=86534 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Stop to hold pointers of fildset and legend elements. We can avoid it by |
| holding ancestor's disabled state. |
| |
| The ancesotr's disabled state should be invalidated when |
| - fieldset's disabled value is changed. |
| - fieldset's children is updated because a legend position might be changed. |
| - A form control is attached to or detached from a tree. |
| |
| No new tests. It's almost impossible to make a reliable test. |
| |
| * html/HTMLFieldSetElement.cpp: |
| (WebCore::HTMLFieldSetElement::invalidateDisabledStateUnder): |
| Added. Invalidate disabled state of form controls under the specified node. |
| (WebCore::HTMLFieldSetElement::disabledAttributeChanged): |
| Uses invalidateDisabledStateUnder(). |
| (WebCore::HTMLFieldSetElement::childrenChanged): |
| Added new override function. We need invalidate disabled state of form |
| controls under legend elements. |
| |
| * html/HTMLFieldSetElement.h: |
| (HTMLFieldSetElement): Add invalidateDisabledStateUnder() and childrenChanged(). |
| |
| * html/HTMLFormControlElement.cpp: |
| (WebCore::HTMLFormControlElement::HTMLFormControlElement): |
| Remove initialization of the removed data members. |
| Initialize m_ancestorDisabledState. |
| (WebCore::HTMLFormControlElement::updateAncestorDisabledState): |
| Update m_ancestorDisabledState. It should be |
| AncestorDisabledStateDisabled if the control is under a disabled |
| fieldset and not under the first legend child of the disabled filedset. |
| (WebCore::HTMLFormControlElement::ancestorDisabledStateWasChanged): |
| Invalidate m_ancestorDisabledState. |
| (WebCore::HTMLFormControlElement::insertedInto): ditto. |
| (WebCore::HTMLFormControlElement::removedFrom): ditto. |
| (WebCore::HTMLFormControlElement::disabled): |
| Calls updateAncestorDisabledState() if needed. |
| (WebCore::HTMLFormControlElement::recalcWillValidate): |
| Remove unnecessary check for m_legendAncestor. |
| |
| * html/HTMLFormControlElement.h: |
| (HTMLFormControlElement): |
| - Rename updateFieldSetAndLegendAncestor() to updateAncestorDisabledState(), and make it private. |
| - Remove m_fieldSetAncestor, m_legendAncestor, and m_fieldSetAncestorValid. |
| - Add m_ancestorDisabledState. |
| |
| 2012-05-28 Takashi Toyoshima <toyoshim@chromium.org> |
| |
| [WebSocket] Receiving reserved close codes, 1005, 1006, and 1015 must appear as code=1006 and wasClean=false |
| https://bugs.webkit.org/show_bug.cgi?id=87084 |
| |
| Reviewed by Kent Tamura. |
| |
| Status codes 1005, 1006, and 1015 are forbidden to be sent in actual close frames. |
| If a client received these frames, the client should handle them as broken. |
| Close frames containing invalid body size are the same as these forbidden cases. |
| Update close-code-and-reason tests to verify this patch. |
| |
| * Modules/websockets/WebSocket.cpp: Handle AbnormalClosure as wasClean == false |
| (WebCore::WebSocket::didClose): |
| * Modules/websockets/WebSocketChannel.cpp: Handle close frames' status code carefully |
| (WebCore::WebSocketChannel::processFrame): |
| * Modules/websockets/WebSocketChannel.h: Update on newly defined close event codes |
| |
| 2012-05-28 Kentaro Hara <haraken@chromium.org> |
| |
| [V8] Avoid passing NULL to an 'isolate' parameter |
| https://bugs.webkit.org/show_bug.cgi?id=87689 |
| |
| Reviewed by Adam Barth. |
| |
| v8::Null(isolate) crashes if we pass a NULL isolate. |
| Thus we are planning to replace v8::Null()s in a following way: |
| |
| - Implement V8Bindings::v8Null(isolate). v8Null(isolate) does the NULL check. |
| If isolate is NULL, v8Null(isolate) calls v8::Null(). Otherwise, |
| v8Null(isolate) calls v8::Null(isolate). |
| |
| - In V8 bindings, we replace v8::Null() with v8::Null(isolate) for a |
| non-optional 'isolate' parameter. |
| (e.g. void foo(..., Isolate* isolate) { v8::Null(); } ) |
| |
| - In V8 bindings, we replace v8::Null() with v8Null(isolate) for an |
| optional 'isolate' parameter. |
| (e.g. void foo(..., Isolate* isolate = 0) { v8::Null(); } ) |
| |
| However, currently we cannot do the replacement mechanically, since some code |
| pass NULL to a non-optional 'isolate' parameter. In other words, currently |
| "non-optional" does not guarantee that 'isolate' is not NULL. |
| |
| This patch removes all the code that passes NULL to a non-optional 'isolate' |
| parameter. This will enable us to achieve the replacement mechanically. |
| |
| No tests. No behavior change. |
| |
| * bindings/scripts/CodeGeneratorV8.pm: |
| (GenerateCallbackImplementation): |
| (NativeToJSValue): |
| * bindings/scripts/test/V8/V8TestCallback.cpp: |
| (WebCore::V8TestCallback::callbackWithClass1Param): |
| (WebCore::V8TestCallback::callbackWithClass2Param): |
| (WebCore::V8TestCallback::callbackWithStringList): |
| (WebCore::V8TestCallback::callbackRequiresThisToPass): |
| * bindings/scripts/test/V8/V8TestObj.cpp: |
| (WebCore::V8TestObj::installPerContextProperties): |
| * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp: |
| (WebCore::V8SQLStatementErrorCallback::handleEvent): |
| * bindings/v8/custom/V8MutationCallbackCustom.cpp: |
| (WebCore::V8MutationCallback::handleEvent): |
| |
| 2012-05-28 Kent Tamura <tkent@chromium.org> |
| |
| Form controls in <fieldset disabled> should not be validated. |
| https://bugs.webkit.org/show_bug.cgi?id=87381 |
| |
| Reviewed by Hajime Morita. |
| |
| We need to use disabeld() instead of m_disabled to calculate |
| willValidate property. Also, we need to update willValidate if |
| necessary. |
| |
| Test: fast/forms/fieldset/validation-in-fieldset.html |
| |
| * html/HTMLFieldSetElement.cpp: |
| (WebCore::HTMLFieldSetElement::disabledAttributeChanged): |
| - Do not traverse this. |
| - Calls ancestorDisabledStateWasChanged() instead of |
| setNeedsStyleRecalc() because we'd like to do additional tasks. |
| * html/HTMLFormControlElement.cpp: |
| (WebCore::HTMLFormControlElement::ancestorDisabledStateWasChanged): |
| Added. Just calls disabledAttributeChanged(). |
| (WebCore::HTMLFormControlElement::parseAttribute): |
| Do not call setNeedsWillValidateCheck() whenever an attribute is updated. |
| It should be called only if disabled or readonly attribute is updated. |
| (WebCore::HTMLFormControlElement::disabledAttributeChanged): |
| Add setNeedsWillValidateCheck(). It was moved from parseAttribute(). |
| (WebCore::HTMLFormControlElement::insertedInto): |
| Invalidate ancestor information. |
| (WebCore::HTMLFormControlElement::recalcWillValidate): |
| Use disabled() instead of m_disabled. disabled() takes care of |
| ancestor's disabled state. |
| * html/HTMLFormControlElement.h: |
| (HTMLFormControlElement): |
| |
| 2012-05-28 Rakesh KN <rakesh.kn@motorola.com> |
| |
| [Forms] HTMLFieldSetElement.idl doesn't have elements attribute. |
| https://bugs.webkit.org/show_bug.cgi?id=80110 |
| |
| Reviewed by Kent Tamura. |
| |
| Implemented elements attribute for HTMLFieldSetElement. This is spec'ed at |
| http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#dom-fieldset-elements |
| |
| Tests: fast/forms/fieldset/fieldset-elements.html |
| fast/forms/fieldset/fieldset-form-collection-radionode-list.html |
| |
| * dom/Node.cpp: |
| (WebCore::Node::radioNodeList): |
| Extended ASSERT to assert if not HTMLFieldSetElement or HTMLFormElement. |
| * html/HTMLFieldSetElement.cpp: |
| (WebCore::HTMLFieldSetElement::elements): |
| Elements attribute implementation. |
| (WebCore::HTMLFieldSetElement::refreshElementsIfNeeded): |
| Update the formcontrol elements collections if dom tree got modified. |
| (WebCore::HTMLFieldSetElement::associatedElements): |
| FormControl elements collection accessor. |
| (WebCore::HTMLFieldSetElement::length): |
| Number of elements in the fieldset group. |
| * html/HTMLFieldSetElement.h: |
| Added elements collection member and form control collection members. |
| * html/HTMLFieldSetElement.idl: |
| Added elements attribute. |
| * html/HTMLFormCollection.cpp: |
| (WebCore::HTMLFormCollection::formControlElements): |
| Added support for HTMLFieldSetElement, based on base element type gets its associated elements. |
| (WebCore::HTMLFormCollection::numberOfFormControlElements): Ditto |
| (WebCore::HTMLFormCollection::getNamedFormItem): Process image elements only for form element. |
| (WebCore::HTMLFormCollection::updateNameCache): Ditto |
| * html/RadioNodeList.cpp: |
| (WebCore::RadioNodeList::RadioNodeList): |
| DynamicSubTree root element is decided based on the type whether base element is form or fieldset element. |
| Renamed m_formElement to m_baseElement. |
| (WebCore::RadioNodeList::~RadioNodeList): |
| Renamed m_formElement to m_baseElement. |
| (WebCore::RadioNodeList::checkElementMatchesRadioNodeListFilter): |
| Form element specific changes moved under form element check. |
| * html/RadioNodeList.h: |
| (WebCore::RadioNodeList::create): |
| (RadioNodeList): |
| Renamed m_formElement to m_baseElement. |
| |
| 2012-05-28 Jonathan Dong <jonathan.dong@torchmobile.com.cn> |
| |
| [BlackBerry] http authenticate dialog popup only once no matter authentication pass or fail |
| https://bugs.webkit.org/show_bug.cgi?id=80135 |
| |
| Reviewed by Rob Buis. |
| |
| RIM PR: 145660 |
| Fixed a regression introduced by r111810, we should cancel the new |
| request when user press cancel button in http authentication challenge |
| dialog, and we should also allow sending empty username and password |
| with the request. |
| Also removed redundant codes which checked the existence of the |
| FrameLoaderClient pointer, as we've already moved authenticationChallenge() |
| out of class FrameLoaderClient, it is not needed. |
| |
| Manual test added. Testing http authentication dialog relies on user interaction. |
| |
| Resubmit the patch reverted by r115104 after the digest infinite loop |
| issue for BlackBerry porting get identified and fixed. |
| |
| Internally reviewed by Joe Mason <jmason@rim.com> |
| |
| * platform/blackberry/PageClientBlackBerry.h: |
| * platform/network/blackberry/NetworkJob.cpp: |
| (WebCore::NetworkJob::sendRequestWithCredentials): |
| |
| 2012-05-28 Jonathan Dong <jonathan.dong@torchmobile.com.cn> |
| |
| [BlackBerry] http authentication challenge issue when loading favicon |
| https://bugs.webkit.org/show_bug.cgi?id=87665 |
| |
| Reviewed by Rob Buis. |
| |
| Provide the TargetType when generating a favicon loading |
| request. Loading favicons is triggered after the main resource |
| has been loaded and parsed, so if we cancel the authentication |
| challenge when loading main resource, we should also cancel |
| loading the favicon when it starts to load. If not we will |
| receive another challenge after we canceled the main resource |
| loading, which may confuse the user. |
| |
| Internally reviewed by Joe Mason <jmason@rim.com> |
| |
| No new tests because of no behavior changes. |
| |
| * loader/icon/IconLoader.cpp: |
| (WebCore::IconLoader::startLoading): |
| * platform/network/blackberry/NetworkJob.cpp: |
| (WebCore::NetworkJob::sendRequestWithCredentials): |
| |
| 2012-05-28 MORITA Hajime <morrita@google.com> |
| |
| Rename FrameLoaderClient::shadowDOMAllowed() to allowShadowDOM() |
| https://bugs.webkit.org/show_bug.cgi?id=87101 |
| |
| Reviewed by Kentaro Hara. |
| |
| No new tests. No behavior change. |
| |
| * bindings/generic/ContextEnabledFeatures.cpp: |
| (WebCore::ContextEnabledFeatures::shadowDOMEnabled): |
| * loader/FrameLoaderClient.h: |
| (WebCore::FrameLoaderClient::allowShadowDOM): |
| |
| 2012-05-28 David Barton <dbarton@mathscribe.com> |
| |
| mathml/presentation/mo-stretch.html and mroot-pref-width.html tests fail on Mac |
| https://bugs.webkit.org/show_bug.cgi?id=86786 |
| |
| Reviewed by Darin Adler. |
| |
| The fix to https://bugs.webkit.org/show_bug.cgi?id=84167 changed inline-table baselines, |
| including for <mtable>. We therefore have to correct <mtable>'s vertical-align CSS |
| property. |
| |
| Tested by existing tests mo-stretch.html, row-alignment.xhtml, and tables.xhtml. |
| |
| * css/mathml.css: |
| (mtable): |
| |
| 2012-05-28 Luke Macpherson <macpherson@chromium.org> |
| |
| Make CSSParser::filteredProperties() O(n) instead of O(n^2) and improve readability. |
| https://bugs.webkit.org/show_bug.cgi?id=87078 |
| |
| Reviewed by Darin Adler. |
| |
| This patch implements a number of improvements to filteredProperties: |
| 1) Make the code more linearly readable by separating out handling of important and non-important properties. |
| 2) Eliminate one BitArray instance (reduces hot memory so more cache friendly). |
| 3) Remove O(n^2) behavior caused by scanning for and removing previously encountered definitions of each property. |
| The key algorithmic change is to add properties in decreasing precedence: |
| a) Iterating once per (important, !important) so that important properties are visited first. |
| b) Reverse iteration of m_parsedProperties visits the properties in decreasing precedence. |
| |
| Covered by loads of existing tests - getting CSS property precedence wrong results in too many errors to list. |
| In particular fast/css contains test cases for important corner cases like duplicated important properties. |
| |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::createStylePropertySet): |
| * css/CSSProperty.h: |
| Add vector traits so that CSSProperty can just be memset by vector without calling constructor. |
| |
| 2012-05-28 MORITA Hajime <morrita@google.com> |
| |
| Can't edit <input> elements with :first-letter |
| https://bugs.webkit.org/show_bug.cgi?id=87615 |
| |
| Reviewed by Kent Tamura. |
| |
| A check using canHaveGeneratedChildren() should cover not only |
| button and menulist, but also RenderTextControl. |
| This change pulles canHaveGeneratedChildren() up |
| from RenderDeprecatedFlexibleBox to RenderObject, |
| and lets RenderTextControl override it. |
| |
| Test: fast/forms/input-first-letter-edit.html |
| |
| * rendering/RenderBlock.cpp: |
| (WebCore): |
| (WebCore::RenderBlock::styleDidChange): |
| (WebCore::RenderBlock::updateFirstLetter): |
| * rendering/RenderBlock.h: Removed a static function canHaveGeneratedChildren() |
| (RenderBlock): |
| * rendering/RenderDeprecatedFlexibleBox.h: |
| * rendering/RenderObject.cpp: |
| (WebCore): |
| (WebCore::RenderObject::canHaveGeneratedChildren): Added. |
| * rendering/RenderObject.h: |
| (RenderObject): |
| * rendering/RenderTextControl.h: |
| |
| 2012-05-28 Arvid Nilsson <anilsson@rim.com> |
| |
| [BlackBerry] Add support for layers with scale invariant size |
| https://bugs.webkit.org/show_bug.cgi?id=87601 |
| |
| Reviewed by Rob Buis. |
| |
| To support layers that have a "floating" appearance, i.e. don't change size |
| when the web page is drawn at a different scale, we add a new layer property |
| named "sizeIsScaleInvariant". |
| |
| The anchor position will still be given in document coordinates for these |
| "floating" layers, so this is well suited for interface elements like selection |
| handles whose size is always the same but move with the web page contents. |
| |
| PR #156812 |
| |
| * platform/graphics/blackberry/LayerCompositingThread.cpp: |
| (WebCore::LayerCompositingThread::setDrawTransform): |
| (WebCore::LayerCompositingThread::drawTextures): |
| (WebCore::LayerCompositingThread::drawMissingTextures): |
| * platform/graphics/blackberry/LayerCompositingThread.h: |
| (LayerCompositingThread): |
| * platform/graphics/blackberry/LayerCompositingThreadClient.h: |
| (LayerCompositingThreadClient): |
| (WebCore::LayerCompositingThreadClient::drawMissingTextures): |
| * platform/graphics/blackberry/LayerData.h: |
| (WebCore::LayerData::LayerData): |
| (WebCore::LayerData::sizeIsScaleInvariant): |
| (LayerData): |
| * platform/graphics/blackberry/LayerRenderer.cpp: |
| (WebCore::LayerRenderer::LayerRenderer): |
| (WebCore::LayerRenderer::compositeLayers): |
| (WebCore::LayerRenderer::updateLayersRecursive): |
| (WebCore::LayerRenderer::compositeLayersRecursive): |
| * platform/graphics/blackberry/LayerRenderer.h: |
| (LayerRenderer): |
| * platform/graphics/blackberry/LayerTiler.cpp: |
| (WebCore::LayerTiler::updateTextureContentsIfNeeded): |
| (WebCore::LayerTiler::drawTextures): |
| (WebCore::LayerTiler::drawMissingTextures): |
| (WebCore::LayerTiler::drawTexturesInternal): |
| * platform/graphics/blackberry/LayerTiler.h: |
| (LayerTiler): |
| * platform/graphics/blackberry/LayerWebKitThread.h: |
| (WebCore::LayerWebKitThread::setSizeIsScaleInvariant): |
| (LayerWebKitThread): |
| |
| 2012-05-28 Arvid Nilsson <anilsson@rim.com> |
| |
| [BlackBerry] Make it possible to manipulate layers on the compositing thread |
| https://bugs.webkit.org/show_bug.cgi?id=87602 |
| |
| Reviewed by Rob Buis. |
| |
| Normally, layers are manipulated on the WebKit thread, and the changes are |
| synced to the compositing thread during the next accelerated compositing commit |
| operation. |
| |
| However, for overlay layers the ability to manipulate layers on the compositing |
| thread is necessary for adequate user interface responsiveness. |
| |
| Two mechanisms are added: |
| 1. For a layer with a WebKit-thread counterpart, you can temporarily override |
| attributes or add animations whose output override attributes. |
| 2. For a layer with no WebKit-thread counterpart, you can now directly set the |
| compositing thread values for attributes. If you attempt to do this for layers |
| that do have a WebKit-thread counterpart, the compositing thread values will |
| be overwritten at the time of the next commit, which makes the override |
| mechanism more useful there. |
| |
| PR #156812 |
| |
| * platform/graphics/blackberry/LayerCompositingThread.cpp: |
| (WebCore::LayerCompositingThread::addSublayer): |
| (WebCore): |
| (WebCore::LayerCompositingThread::updateAnimations): |
| (WebCore::LayerCompositingThread::removeAnimation): |
| (WebCore::LayerCompositingThread::override): |
| (WebCore::LayerCompositingThread::clearOverride): |
| * platform/graphics/blackberry/LayerCompositingThread.h: |
| (LayerOverride): |
| (WebCore::LayerOverride::create): |
| (WebCore::LayerOverride::setPosition): |
| (WebCore::LayerOverride::setAnchorPoint): |
| (WebCore::LayerOverride::setBounds): |
| (WebCore::LayerOverride::setTransform): |
| (WebCore::LayerOverride::setOpacity): |
| (WebCore::LayerOverride::addAnimation): |
| (WebCore::LayerOverride::LayerOverride): |
| (WebCore): |
| (LayerCompositingThread): |
| (WebCore::LayerCompositingThread::setPosition): |
| (WebCore::LayerCompositingThread::setAnchorPoint): |
| (WebCore::LayerCompositingThread::setBounds): |
| (WebCore::LayerCompositingThread::setSizeIsScaleInvariant): |
| (WebCore::LayerCompositingThread::setTransform): |
| (WebCore::LayerCompositingThread::setOpacity): |
| (WebCore::LayerCompositingThread::setNeedsTexture): |
| * platform/graphics/blackberry/LayerWebKitThread.cpp: |
| (WebCore::LayerWebKitThread::LayerWebKitThread): |
| (WebCore::LayerWebKitThread::commitOnCompositingThread): |
| * platform/graphics/blackberry/LayerWebKitThread.h: |
| (LayerWebKitThread): |
| (WebCore::LayerWebKitThread::clearOverride): |
| |
| 2012-05-28 Rob Flack <flackr@chromium.org> |
| |
| [chromium] Only increase size of Combo Box Options when displayed on touch screen |
| https://bugs.webkit.org/show_bug.cgi?id=85921 |
| |
| Reviewed by Adam Barth. |
| |
| Adds a flag to set whether the current device is a touch screen, independent of whether touch events are supported and use this for the combo box sizing. |
| |
| No new tests as this is a flag change and covered by existing tests: WebKit/chromium/tests/PopupMenuTest.cpp |
| |
| * page/Settings.cpp: |
| (WebCore::Settings::Settings): |
| * page/Settings.h: |
| (WebCore::Settings::setDeviceSupportsTouch): |
| (WebCore::Settings::deviceSupportsTouch): |
| (Settings): |
| * platform/chromium/PopupListBox.cpp: |
| (WebCore::PopupListBox::getRowHeight): |
| * platform/chromium/PopupListBox.h: |
| (PopupContainerSettings): |
| * platform/chromium/PopupMenuChromium.cpp: |
| (WebCore::PopupMenuChromium::show): |
| |
| 2012-05-28 Arvid Nilsson <anilsson@rim.com> |
| |
| [BlackBerry] Make custom compositing thread layers more flexible |
| https://bugs.webkit.org/show_bug.cgi?id=87600 |
| |
| Reviewed by Rob Buis. |
| |
| Introduce a LayerCompositingThreadClient that's used to fine tune the |
| behaviour of custom layers. Let the LayerTiler be a |
| LayerCompositingThreadClient and thus decouple it from |
| LayerCompositingThread. Adjust method signatures to allow a one-to-many |
| relationship between Client and Layer. |
| |
| Remove the old LayerCompositingThread::drawCustom() in favour of this new |
| Client interface. |
| |
| PR #156812 |
| |
| * platform/graphics/blackberry/LayerCompositingThread.cpp: |
| (WebCore::LayerCompositingThread::create): |
| (WebCore::LayerCompositingThread::LayerCompositingThread): |
| (WebCore::LayerCompositingThread::~LayerCompositingThread): |
| (WebCore::LayerCompositingThread::deleteTextures): |
| (WebCore::LayerCompositingThread::drawTextures): |
| (WebCore::LayerCompositingThread::hasMissingTextures): |
| (WebCore::LayerCompositingThread::drawMissingTextures): |
| (WebCore::LayerCompositingThread::updateTextureContentsIfNeeded): |
| (WebCore::LayerCompositingThread::bindContentsTexture): |
| (WebCore::LayerCompositingThread::setVisible): |
| (WebCore::LayerCompositingThread::scheduleCommit): |
| * platform/graphics/blackberry/LayerCompositingThread.h: |
| (WebCore): |
| (LayerCompositingThread): |
| * platform/graphics/blackberry/LayerCompositingThreadClient.h: Added. |
| (WebCore): |
| (LayerCompositingThreadClient): |
| (WebCore::LayerCompositingThreadClient::~LayerCompositingThreadClient): |
| (WebCore::LayerCompositingThreadClient::bindContentsTexture): |
| (WebCore::LayerCompositingThreadClient::hasMissingTextures): |
| (WebCore::LayerCompositingThreadClient::drawMissingTextures): |
| (WebCore::LayerCompositingThreadClient::scheduleCommit): |
| * platform/graphics/blackberry/LayerRenderer.cpp: |
| (WebCore::LayerRenderer::drawDebugBorder): |
| * platform/graphics/blackberry/LayerTiler.cpp: |
| (WebCore::LayerTiler::LayerTiler): |
| (WebCore::LayerTiler::layerCompositingThreadDestroyed): |
| (WebCore::LayerTiler::layerVisibilityChanged): |
| (WebCore::LayerTiler::uploadTexturesIfNeeded): |
| (WebCore::LayerTiler::deleteTextures): |
| (WebCore::LayerTiler::scheduleCommit): |
| (WebCore): |
| (WebCore::LayerTiler::bindContentsTexture): |
| * platform/graphics/blackberry/LayerTiler.h: |
| (LayerTiler): |
| (WebCore::LayerTiler::hasMissingTextures): |
| * platform/graphics/blackberry/LayerWebKitThread.cpp: |
| (WebCore::LayerWebKitThread::LayerWebKitThread): |
| * platform/graphics/blackberry/LayerWebKitThread.h: |
| (LayerWebKitThread): |
| |
| 2012-05-25 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> |
| |
| WebKitTestRunner needs to support layoutTestController.setJavaScriptProfilingEnabled |
| https://bugs.webkit.org/show_bug.cgi?id=42328 |
| |
| Reviewed by Eric Seidel. |
| |
| Add setJavaScriptProfilingEnabled() to window.internals.settings. No new tests, but this |
| change will allow more tests to run in WebKitTestRunner and DRT for ports that weren't |
| implementing this function before. |
| This patch also refactors InspectorController::enableProfiler() and |
| InspectorController::disableProfiler() to InspectorController::setProfilerEnabled(bool). |
| |
| * WebCore.exp.in: |
| * inspector/InspectorController.cpp: |
| (WebCore::InspectorController::profilerEnabled): |
| (WebCore::InspectorController::setProfilerEnabled): |
| * inspector/InspectorController.h: |
| (InspectorController): |
| * testing/InternalSettings.cpp: |
| (WebCore::InternalSettings::InternalSettings): |
| (WebCore::InternalSettings::restoreTo): |
| (WebCore::InternalSettings::setJavaScriptProfilingEnabled): |
| (WebCore): |
| * testing/InternalSettings.h: |
| (InternalSettings): |
| * testing/InternalSettings.idl: |
| |
| 2012-05-28 Yong Li <yoli@rim.com> |
| |
| Crash on incomplete :not(). |
| https://bugs.webkit.org/show_bug.cgi?id=86673 |
| |
| Reviewed by Antti Koivisto. |
| |
| Add back null-checks for incomplete :not() class |
| which were dropped by r81845. |
| |
| * css/CSSSelector.cpp: |
| (WebCore::CSSSelector::specificityForOneSelector): |
| (WebCore::CSSSelector::selectorText): |
| * css/SelectorChecker.cpp: |
| (WebCore::SelectorChecker::checkOneSelector): |
| (WebCore::SelectorChecker::determineLinkMatchType): |
| |
| 2012-05-28 Leo Yang <leo.yang@torchmobile.com.cn> |
| |
| FileWriterSync binding should have no static table |
| https://bugs.webkit.org/show_bug.cgi?id=87645 |
| |
| Reviewed by George Staikos. |
| |
| FileWriterSync could be used in filesystem FileWriter in worker thread, so we should add ProgressEvent in idl file. |
| |
| Covered by existing test: fast/filesystem/workers/sync-operations.html. |
| |
| * Modules/filesystem/FileWriterSync.idl: |
| |
| 2012-05-28 Arvid Nilsson <anilsson@rim.com> |
| |
| [BlackBerry] Add an overlay layer |
| https://bugs.webkit.org/show_bug.cgi?id=87567 |
| |
| Reviewed by Antonio Gomes. |
| |
| The overlay layer allows us to have compositing layers even though the |
| web page is not currently using accelerated compositing. |
| |
| These layers can be used to implement tap highlight, inspector overlay |
| and more. |
| |
| The WebCore changes support the overlay layer functionality in WebKit |
| by making it possible to add animations from the compositing thread |
| without them being instantly overwritten during the next commit. |
| |
| Also a new custom layer type is added, which allow an overlay layer to |
| draw itself using raw OpenGL calls. An instance of a custom subclass of |
| LayerCompositingThread must be provided when creating the |
| LayerWebKitThread. Then, the custom layer can be used as the content |
| layer of a GraphicsLayer, or by itself. |
| |
| Reviewed internally by Filip Spacek. |
| |
| PR #154335 |
| |
| * platform/graphics/blackberry/LayerCompositingThread.cpp: |
| (WebCore::LayerCompositingThread::~LayerCompositingThread): |
| (WebCore::LayerCompositingThread::deleteTextures): |
| (WebCore::LayerCompositingThread::drawTextures): |
| (WebCore::LayerCompositingThread::drawMissingTextures): |
| (WebCore::LayerCompositingThread::updateTextureContentsIfNeeded): |
| (WebCore::LayerCompositingThread::setVisible): |
| (WebCore::LayerCompositingThread::scheduleCommit): |
| * platform/graphics/blackberry/LayerCompositingThread.h: |
| (WebCore::LayerCompositingThread::addAnimation): |
| (WebCore::LayerCompositingThread::setRunningAnimations): |
| (WebCore::LayerCompositingThread::setSuspendedAnimations): |
| (LayerCompositingThread): |
| (WebCore::LayerCompositingThread::drawCustom): |
| * platform/graphics/blackberry/LayerData.h: |
| (LayerData): |
| * platform/graphics/blackberry/LayerWebKitThread.cpp: |
| (WebCore::LayerWebKitThread::LayerWebKitThread): |
| (WebCore): |
| (WebCore::LayerWebKitThread::~LayerWebKitThread): |
| (WebCore::LayerWebKitThread::updateTextureContentsIfNeeded): |
| (WebCore::LayerWebKitThread::startAnimations): |
| (WebCore::LayerWebKitThread::commitOnCompositingThread): |
| (WebCore::LayerWebKitThread::setNeedsDisplayInRect): |
| (WebCore::LayerWebKitThread::setNeedsDisplay): |
| (WebCore::LayerWebKitThread::setIsMask): |
| (WebCore::LayerWebKitThread::setRunningAnimations): |
| (WebCore::LayerWebKitThread::setSuspendedAnimations): |
| * platform/graphics/blackberry/LayerWebKitThread.h: |
| (LayerWebKitThread): |
| |
| 2012-05-28 Leo Yang <leo.yang@torchmobile.com.cn> |
| |
| ProgressEvent JSC binding should have no static table |
| https://bugs.webkit.org/show_bug.cgi?id=87365 |
| |
| Reviewed by George Staikos. |
| |
| ProgressEvent could be used in filesystem FileWriter in worker thread, so we should add ProgressEvent in idl file. |
| |
| Covered by existing test: fast/filesystem/workers/file-writer-events.html. |
| |
| * dom/ProgressEvent.idl: |
| |
| 2012-05-28 Arvid Nilsson <anilsson@rim.com> |
| |
| [BlackBerry] Update WebPageCompositor::render() API |
| https://bugs.webkit.org/show_bug.cgi?id=87565 |
| |
| Reviewed by Rob Buis. |
| |
| The new API allows the embedder to specify the root transform and many |
| OpenGL related parameters. |
| |
| Also refactor the code to allow several sets of layers to be rendered, |
| and to allow interleaving the rendering of layers with rendering of |
| buffers and checkerboard. |
| |
| Reviewed internally by Filip Spacek. |
| |
| PR #154334 |
| |
| * platform/graphics/blackberry/LayerCompositingThread.cpp: |
| (WebCore::LayerCompositingThread::drawTextures): |
| (WebCore::LayerCompositingThread::drawSurface): |
| * platform/graphics/blackberry/LayerRenderer.cpp: |
| (WebCore::LayerRenderer::orthoMatrix): |
| (WebCore::LayerRenderer::LayerRenderer): |
| (WebCore::LayerRenderer::prepareFrame): |
| (WebCore): |
| (WebCore::LayerRenderer::setViewport): |
| (WebCore::LayerRenderer::compositeLayers): |
| (WebCore::LayerRenderer::compositeBuffer): |
| (WebCore::LayerRenderer::drawCheckerboardPattern): |
| (WebCore::LayerRenderer::drawLayersOnSurfaces): |
| (WebCore::LayerRenderer::prepareFrameRecursive): |
| (WebCore::LayerRenderer::updateLayersRecursive): |
| (WebCore::LayerRenderer::compositeLayersRecursive): |
| (WebCore::LayerRenderer::updateScissorIfNeeded): |
| (WebCore::LayerRenderingResults::addHolePunchRect): |
| * platform/graphics/blackberry/LayerRenderer.h: |
| (LayerRenderer): |
| |
| 2012-05-28 Antti Koivisto <antti@apple.com> |
| |
| REGRESSION(r96517): Attribute selector fails to match dynamically modified style attribute |
| https://bugs.webkit.org/show_bug.cgi?id=87349 |
| |
| Reviewed by Andreas Kling. |
| |
| Selector fast path does not trigger lazy style attribute generation. Since attribute selectors matching |
| style attribute are rare, disallow them from the fast path rather than making it more branchy. |
| |
| Test: fast/css/dynamic-style-attribute-query.html |
| |
| * css/SelectorChecker.cpp: |
| (WebCore::isFastCheckableMatch): |
| |
| 2012-05-28 Peter Rybin <peter.rybin@gmail.com> |
| |
| Web Inspector: Expose function (closure) scopes in remote protocol |
| https://bugs.webkit.org/show_bug.cgi?id=86861 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| A data transfer from V8's FunctionMirror via DebuggerScript.js via InjectedScriptHost is built. |
| Scope field is added to protocol declaration similar to scopes of stack call frame. |
| Test for function details is extended. |
| JSC code binging got fixme for implemting the corresponding feature. |
| |
| * bindings/js/JSInjectedScriptHostCustom.cpp: |
| (WebCore::JSInjectedScriptHost::functionDetails): |
| * bindings/v8/DebuggerScript.js: |
| * bindings/v8/ScriptDebugServer.cpp: |
| (WebCore::ScriptDebugServer::functionScopes): |
| (WebCore): |
| * bindings/v8/ScriptDebugServer.h: |
| (ScriptDebugServer): |
| * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: |
| (WebCore::V8InjectedScriptHost::functionDetailsCallback): |
| * inspector/InjectedScriptHost.cpp: |
| (WebCore): |
| (WebCore::InjectedScriptHost::scriptDebugServer): |
| * inspector/InjectedScriptHost.h: |
| (WebCore): |
| (WebCore::InjectedScriptHost::init): |
| (InjectedScriptHost): |
| * inspector/InjectedScriptSource.js: |
| (.): |
| * inspector/Inspector.json: |
| * inspector/InspectorController.cpp: |
| (WebCore::InspectorController::InspectorController): |
| * inspector/WorkerInspectorController.cpp: |
| (WebCore::WorkerInspectorController::WorkerInspectorController): |
| |
| 2012-05-28 Arvid Nilsson <anilsson@rim.com> |
| |
| [BlackBerry] Add a constructor to create a Path from an SkPath |
| https://bugs.webkit.org/show_bug.cgi?id=87566 |
| |
| Reviewed by Antonio Gomes. |
| |
| Skia allows the creation of more complex paths than WebCore would |
| allow. This will be used in the BlackBerry port to implement a default |
| tap highlight appearance. |
| |
| Reviewed internally by Mike Lattanzio. |
| |
| PR #154329 |
| |
| * platform/graphics/Path.h: |
| (Path): |
| * platform/graphics/skia/PathSkia.cpp: |
| (WebCore): |
| (WebCore::Path::Path): |
| |
| 2012-05-28 Alexis Menard <alexis.menard@openbossa.org> |
| |
| Unreviewed build fix for Mac on Lion. |
| |
| * inspector/CodeGeneratorInspector.py: |
| |
| 2012-05-28 Keishi Hattori <keishi@webkit.org> |
| |
| Expose value localization function of HTMLInputElement |
| https://bugs.webkit.org/show_bug.cgi?id=84356 |
| |
| Reviewed by Kent Tamura. |
| |
| No new tests. |
| |
| We want to localize the values that are defined in the datalist element. |
| This adds HTMLInputElement::localizeValue() which will localize a given |
| value. |
| |
| * html/BaseDateAndTimeInputType.cpp: |
| (WebCore::BaseDateAndTimeInputType::localizeValue): |
| (WebCore): |
| (WebCore::BaseDateAndTimeInputType::visibleValue): |
| * html/BaseDateAndTimeInputType.h: |
| (BaseDateAndTimeInputType): |
| * html/HTMLInputElement.cpp: |
| (WebCore::HTMLInputElement::localizeValue): |
| (WebCore): |
| * html/HTMLInputElement.h: |
| (HTMLInputElement): |
| * html/InputType.cpp: |
| (WebCore::InputType::localizeValue): |
| (WebCore): |
| * html/InputType.h: |
| (InputType): |
| * html/NumberInputType.cpp: |
| (WebCore::NumberInputType::localizeValue): |
| (WebCore): |
| (WebCore::NumberInputType::visibleValue): |
| * html/NumberInputType.h: |
| (NumberInputType): |
| |
| 2012-05-28 Yury Semikhatsky <yurys@chromium.org> |
| |
| Unreviewed. Test fix after r118670: saved timeline data may |
| not have DOM counters data and MemoryStatistics object should |
| take this into account. |
| |
| * inspector/front-end/MemoryStatistics.js: |
| (WebInspector.MemoryStatistics.prototype._onRecordAdded): |
| |
| 2012-05-28 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r118580. |
| http://trac.webkit.org/changeset/118580 |
| https://bugs.webkit.org/show_bug.cgi?id=87647 |
| |
| Caused webkit_unit_tests to crash on chromium. (Requested by |
| bulach on #webkit). |
| |
| * platform/graphics/chromium/ContentLayerChromium.cpp: |
| (WebCore::ContentLayerPainter::create): |
| (WebCore::ContentLayerPainter::paint): |
| (WebCore::ContentLayerPainter::ContentLayerPainter): |
| (ContentLayerPainter): |
| (WebCore::ContentLayerChromium::createTextureUpdaterIfNeeded): |
| * platform/graphics/chromium/TiledLayerChromium.cpp: |
| (UpdatableTile): |
| (WebCore::UpdatableTile::UpdatableTile): |
| (WebCore::TiledLayerChromium::updateTiles): |
| * platform/graphics/chromium/TiledLayerChromium.h: |
| (TiledLayerChromium): |
| * platform/graphics/chromium/cc/CCLayerTreeHost.h: |
| (WebCore::CCSettings::CCSettings): |
| (CCSettings): |
| |
| 2012-05-28 Peter Beverloo <peter@chromium.org> |
| |
| Æ doesn't get rendered as U+00C6 |
| https://bugs.webkit.org/show_bug.cgi?id=87465 |
| |
| Reviewed by Adam Barth. |
| |
| The if-statement to check whether the first entry of a certain letter |
| already exists in the index used .get(). The very first alphabetical |
| entry is in position "0", which evaluates to false, causing the first |
| entry to be ignored. Instead, use a "x not in y" check here. |
| |
| Also update WebCore.gyp to list the create-html-entity-table script as |
| an input for the action, to make sure the table will be recreated. |
| |
| Test: html5lib/resources/entities02.dat |
| |
| * WebCore.gyp/WebCore.gyp: |
| * html/parser/create-html-entity-table: |
| |
| 2012-05-28 Yury Semikhatsky <yurys@chromium.org> |
| |
| Web Inspector: dom counters graphs vanish on switching between timeline views |
| https://bugs.webkit.org/show_bug.cgi?id=87628 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| MemoryStatistics object now listens to the TimelineModel events instead of being |
| populated by timeline panel. This behavior mathes that of the overview pane. |
| |
| * inspector/front-end/MemoryStatistics.js: |
| (WebInspector.MemoryStatistics.prototype.addTimlineEvent): |
| * inspector/front-end/TimelinePanel.js: |
| (WebInspector.TimelinePanel.prototype._onTimelineEventRecorded): |
| (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline): |
| |
| 2012-05-28 Marcus Bulach <bulach@chromium.org> |
| |
| [chromium] Buildfix: remove obsolete file from gypi. |
| https://bugs.webkit.org/show_bug.cgi?id=87643 |
| |
| Reviewed by no-reviewer. |
| |
| Following http://trac.webkit.org/changeset/118610. |
| Removes reference to platform/graphics/gstreamer/ImageGStreamerCG.mm |
| |
| * WebCore.gypi: |
| |
| 2012-05-28 MORITA Hajime <morrita@google.com> |
| |
| HTMLFormControlElement::m_validationMessage shouldn't be cleared on detach() |
| https://bugs.webkit.org/show_bug.cgi?id=87608 |
| |
| Reviewed by Kent Tamura. |
| |
| Moved m_validationMessage clearance from detach() to removedFrom() and |
| remove detach(). |
| |
| No new tests. This change has no visible difference. Upcoming changes rely on this though. |
| |
| * html/HTMLFormControlElement.cpp: |
| (WebCore::HTMLFormControlElement::removedFrom): |
| |
| 2012-05-28 Yury Semikhatsky <yurys@chromium.org> |
| |
| Web Inspector: "Record CPU profile" button doesn't change its state after finishing profiling |
| https://bugs.webkit.org/show_bug.cgi?id=87624 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| Keep record button state in sync with the current profiling state. |
| |
| * inspector/front-end/ProfilesPanel.js: |
| (WebInspector.ProfilesPanel.prototype.toggleRecordButton): |
| |
| 2012-05-28 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r118650. |
| http://trac.webkit.org/changeset/118650 |
| https://bugs.webkit.org/show_bug.cgi?id=87639 |
| |
| Patch caused massive failures throughout the builders |
| (Requested by zdobersek on #webkit). |
| |
| * css/MediaQuery.cpp: |
| (WebCore): |
| (WebCore::MediaQuery::serialize): |
| (WebCore::MediaQuery::MediaQuery): |
| (WebCore::MediaQuery::cssText): |
| * css/MediaQuery.h: |
| (WebCore::MediaQuery::expressions): |
| (WebCore::MediaQuery::mediaType): |
| (MediaQuery): |
| (WebCore::MediaQuery::copy): |
| * css/MediaQueryEvaluator.cpp: |
| (WebCore::MediaQueryEvaluator::MediaQueryEvaluator): |
| (WebCore::MediaQueryEvaluator): |
| (WebCore::MediaQueryEvaluator::eval): |
| (WebCore::aspect_ratioMediaFeatureEval): |
| (WebCore::device_aspect_ratioMediaFeatureEval): |
| (WebCore::transform_3dMediaFeatureEval): |
| (WebCore::view_modeMediaFeatureEval): |
| (WebCore::createFunctionMap): |
| * css/MediaQueryEvaluator.h: |
| (WebCore): |
| (MediaQueryEvaluator): |
| * css/StyleResolver.cpp: |
| (WebCore): |
| (WebCore::StyleResolver::collectMatchingRulesForList): |
| * css/StyleResolver.h: |
| (MediaQueryResult): |
| (WebCore::MediaQueryResult::MediaQueryResult): |
| (WebCore): |
| (StyleResolver): |
| |
| 2012-05-28 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Move allowRoundingHacks to Internals interface |
| https://bugs.webkit.org/show_bug.cgi?id=87328 |
| |
| Reviewed by Hajime Morita. |
| |
| Add allowRoundingHacks function, because it is able to work in the |
| cross-port way by means of the Internals interface. |
| |
| In addition, a function is added in order to restore default setting values. |
| |
| No new tests, since we are improving here the infra-structure for testing |
| a specific method. |
| |
| * testing/Internals.cpp: |
| (WebCore::Internals::reset): |
| (WebCore): |
| (WebCore::Internals::resetDefaultsToConsistentValues): |
| (WebCore::Internals::allowRoundingHacks): |
| * testing/Internals.h: |
| (Internals): |
| * testing/Internals.idl: |
| |
| 2012-05-28 Jonathan Dong <jonathan.dong@torchmobile.com.cn> |
| |
| [BlackBerry] http authentication crash the browser when user commit or cancel the http authentication dialog |
| https://bugs.webkit.org/show_bug.cgi?id=87579 |
| |
| Reviewed by George Staikos. |
| |
| In function NetworkJob::startNewJobWithRequest, We should cancel the |
| NetworkJob first before we start a new NetworkJob which reuses the |
| resource handle of the old one. If we only set the m_handle = 0 of the |
| old NetworkJob without cancelling itself, it will still receives data |
| notification from network thread and handles the received data with |
| the released resource handler, which will cause the crash. |
| |
| No new tests because no behavior has changed. |
| |
| * platform/network/blackberry/NetworkJob.cpp: |
| (WebCore::NetworkJob::startNewJobWithRequest): |
| |
| 2012-05-27 MORITA Hajime <morrita@google.com> |
| |
| [Refactoring][ShadowDOM] Some ElementShadow methods can be inlined. |
| https://bugs.webkit.org/show_bug.cgi?id=87617 |
| |
| Reviewed by Kentaro Hara. |
| |
| Inlined ElementShadow::attachHost(), ElementShadow::detachHost() and |
| ElementShadow::reattach() |
| |
| No new tests. No behavior change. |
| |
| * dom/Element.cpp: |
| (WebCore::Element::attach): |
| (WebCore::Element::detach): |
| * dom/ElementShadow.cpp: |
| (WebCore::ElememtnShadow::reattachHostChildrenAndShadow): |
| * dom/ElementShadow.h: |
| (ElementShadow): |
| |
| 2012-05-28 Peter Rybin <peter.rybin@gmail.com> |
| |
| Web Inspector: CodeGeneratorInspector.py: protect typed API from C++ implicit float to int cast |
| https://bugs.webkit.org/show_bug.cgi?id=87183 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| An intermediate C++ class is introduced that uses C++ template technique to control actual type |
| of its constructor argument. |
| All input parameters of type "int" now have type ExactlyInt. |
| All usage sites are fixed accordingly. |
| |
| * inspector/CodeGeneratorInspector.py: |
| (TypeModel.RefPtrBased): |
| (TypeModel.Enum): |
| (TypeModel.ValueType): |
| (TypeModel.ValueType.get_opt_output_type_): |
| (TypeModel.ValueType.ValueOptional.get_command_return_pass_model): |
| (TypeModel.ExactlyInt): |
| (TypeModel.ExactlyInt.__init__): |
| (TypeModel.ExactlyInt.get_input_param_type_text): |
| (TypeModel.ExactlyInt.get_opt_output_type_): |
| (TypeModel.init_class): |
| (ExactlyInt): |
| * inspector/InspectorAgent.cpp: |
| (WebCore::InspectorAgent::enable): |
| (WebCore::InspectorAgent::didCreateWorker): |
| (WebCore::InspectorAgent::didDestroyWorker): |
| (WebCore::InspectorAgent::evaluateForTestInFrontend): |
| * inspector/InspectorApplicationCacheAgent.cpp: |
| (WebCore::InspectorApplicationCacheAgent::updateApplicationCacheStatus): |
| (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests): |
| * inspector/InspectorDOMAgent.cpp: |
| (WebCore::InspectorDOMAgent::buildObjectForNode): |
| * inspector/InspectorMemoryAgent.cpp: |
| (WebCore::jsHeapInfo): |
| (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution): |
| * inspector/PageRuntimeAgent.cpp: |
| (WebCore::PageRuntimeAgent::notifyContextCreated): |
| |
| 2012-05-28 Kentaro Hara <haraken@chromium.org> |
| |
| Unreviewed. Rebaselined run-binding-tests results. |
| |
| * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: |
| (WebCore::JSTestActiveDOMObjectOwner::finalize): |
| * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp: |
| (WebCore::JSTestCustomNamedGetterOwner::finalize): |
| * bindings/scripts/test/JS/JSTestEventConstructor.cpp: |
| (WebCore::JSTestEventConstructorOwner::finalize): |
| * bindings/scripts/test/JS/JSTestEventTarget.cpp: |
| (WebCore::JSTestEventTargetOwner::finalize): |
| * bindings/scripts/test/JS/JSTestException.cpp: |
| (WebCore::JSTestExceptionOwner::finalize): |
| * bindings/scripts/test/JS/JSTestInterface.cpp: |
| (WebCore::JSTestInterfaceOwner::finalize): |
| * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: |
| (WebCore::JSTestMediaQueryListListenerOwner::finalize): |
| * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: |
| (WebCore::JSTestNamedConstructorOwner::finalize): |
| * bindings/scripts/test/JS/JSTestObj.cpp: |
| (WebCore::JSTestObjOwner::finalize): |
| * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: |
| (WebCore::JSTestSerializedScriptValueInterfaceOwner::finalize): |
| * bindings/scripts/test/V8/V8TestObj.cpp: |
| (WebCore::V8TestObj::installPerContextProperties): |
| |
| 2012-05-28 Darin Adler <darin@apple.com> |
| |
| StyleResolver need not allocate each MediaQueryResult on the heap |
| https://bugs.webkit.org/show_bug.cgi?id=75223 |
| |
| Reviewed by Daniel Bates. |
| |
| * css/MediaQuery.cpp: Removed some comments that pointed to CSS documents. |
| There is no guarantee these links will be valid over time. |
| (WebCore::MediaQuery::MediaQuery): Rewrote for clarity, conventional WebKit coding |
| style, and simplicity. |
| (WebCore::MediaQuery::copy): Moved out of line; not performance critical, and this |
| allows us to cut down header dependencies. |
| (WebCore::MediaQuery::cssText): Updated for change to data member name. |
| |
| * css/MediaQuery.h: Removed unneeded includes. Removed non-helpful argument name |
| "exprs". Changed expressions function to return a reference instead of |
| a pointer. Changed mediaType and cssText functions to return a reference. Renamed |
| m_serializationCache to m_serializedQuery. Moved copy function out of header. |
| |
| * css/MediaQueryEvaluator.cpp: Renamed EvalFunc to MediaFeatureEvaluationFunction. |
| Broke a FIXME into three and reworded for clarity. |
| (WebCore::MediaQueryEvaluator): Updated for name changes. |
| (WebCore::MediaQueryEvaluator::eval): Rewrote this for clarity and to regularize |
| the logic a bit. |
| (WebCore::aspect_ratioMediaFeatureEval): Got rid of a != 0 that is contrary to the |
| normal WebKit style. |
| (WebCore::device_aspect_ratioMediaFeatureEval): Ditto. |
| (WebCore::transform_3dMediaFeatureEval): Fixed mangled #if that was here. |
| (WebCore::view_modeMediaFeatureEval): Replaced UNUSED_PARAM usage with ASSERT_UNUSED. |
| (WebCore::createFunctionMap): Changed this so it returns the map so we can use a |
| cleaner style in the caller. |
| (WebCore::MediaQueryEvaluator::eval): Updated to take a reference and improved the |
| comments and coding style a bit. |
| |
| * css/MediaQueryEvaluator.h: Updated comment style. Removed unused constructor. |
| Removed unneeded destructor declaration. Renamed m_expResult to m_mediaFeatureResult. |
| |
| * css/StyleResolver.cpp: Moved the MediaQueryResult class into this file |
| and made it a structure rather than a class. |
| (WebCore::StyleResolver::addViewportDependentMediaQueryResult): Updated to take |
| a reference argument instead of a pointer and for the new vector type. |
| (WebCore::StyleResolver::affectedByViewportChange): Updated for above changes. |
| |
| * css/StyleResolver.h: Removed many unneeded includes and forward declarations of |
| classes, including now-unneeded include of MediaQueryExp.h. Replaced MediaQueryResult |
| definition with a forward declaration. Changed addViewportDependentMediaQueryResult |
| to take a reference instead of a pointer. Changed m_viewportDependentMediaQueryResults |
| to be a vector of values rather than of pointers. |
| |
| 2012-05-27 Shinya Kawanaka <shinyak@chromium.org> |
| |
| cut, copy or paste event won't be fired in Shadow DOM. |
| https://bugs.webkit.org/show_bug.cgi?id=87352 |
| |
| Reviewed by Dimitri Glazkov. |
| |
| cut, copy or paste event was not fired in Shadow DOM. |
| Since event re-targeting has been implemented, it should be safe to fire them in Shadow DOM now. |
| |
| Tests: fast/dom/shadow/cppevent-in-shadow.html |
| fast/dom/shadow/cppevent-input-in-shadow.html |
| |
| * editing/Editor.cpp: |
| (WebCore::Editor::findEventTargetFrom): |
| |
| 2012-05-27 Hayato Ito <hayato@chromium.org> |
| |
| Support multiple shadow roots in event dispatching. |
| https://bugs.webkit.org/show_bug.cgi?id=87470 |
| |
| Reviewed by Dimitri Glazkov. |
| |
| The current implementation does not set event's target correctly |
| if an event happens on DOM tree with multiple shadow roots. So |
| this patch updates an event re-targeting algorithm so that it |
| works even if it is applied to multiple shadow roots. |
| |
| Tests: fast/dom/shadow/shadow-dom-event-dispatching.html |
| |
| * dom/ComposedShadowTreeWalker.cpp: |
| (WebCore::ComposedShadowTreeWalker::traverseParentIncludingInsertionPointAndShadowRoot): |
| * dom/EventDispatcher.cpp: |
| (WebCore::EventDispatcher::ensureEventAncestors): |
| |
| 2012-05-27 Benjamin Poulain <benjamin@webkit.org> |
| |
| Minor code cleaning for the interface of MainResourceLoader |
| https://bugs.webkit.org/show_bug.cgi?id=87607 |
| |
| Reviewed by Darin Adler. |
| |
| * loader/MainResourceLoader.cpp: |
| (WebCore::MainResourceLoader::MainResourceLoader): |
| (WebCore::MainResourceLoader::handleSubstituteDataLoadNow): |
| (WebCore::MainResourceLoader::handleSubstituteDataLoadSoon): |
| * loader/MainResourceLoader.h: |
| (MainResourceLoader): |
| -Add the OVERRIDE keyword for the methods inherited from ResourceLoader. |
| -Remove the useless declaration of handleDataLoad(ResourceRequest&), this method does not exist. |
| -Rename handleDataLoadNow() to handleSubstituteDataLoadNow() and make the method private. This should |
| only be used by handleSubstituteDataLoadSoon() and indirectly through the timer. |
| |
| 2012-05-27 Yoshifumi Inoue <yosin@chromium.org> |
| |
| [WTF] Introduce UINT64_C to MathExtras.h |
| https://bugs.webkit.org/show_bug.cgi?id=87485 |
| |
| Reviewed by Kent Tamura. |
| |
| This patch introduces UINT64_C for all platforms to avoid using |
| conditional compilation. |
| |
| No new tests. This patch doesn't change behavior. |
| |
| * Modules/websockets/WebSocketFrame.cpp: |
| (WebCore::WebSocketFrame::parseFrame): Replace conditional compilation with UINT64_C. |
| |
| 2012-05-27 Luke Macpherson <macpherson@chromium.org> |
| |
| Use StringBuilder in WebKitCSSTransformValue::customCssText() to allow code reuse with CSS Variables. |
| https://bugs.webkit.org/show_bug.cgi?id=87462 |
| |
| Reviewed by Dimitri Glazkov. |
| |
| Factor out strings into a const char* array, and use a StringBuilder instead of String concatenation. |
| This will allow future code to re-use the array of transform names, and StringBuilder is generally faster. |
| |
| Covered by existing CSS transform tests. |
| |
| * css/WebKitCSSTransformValue.cpp: |
| (WebCore): |
| (WebCore::WebKitCSSTransformValue::customCssText): |
| |
| 2012-05-27 Arvid Nilsson <anilsson@rim.com> |
| |
| [BlackBerry] Update color for tap highlight and selection |
| https://bugs.webkit.org/show_bug.cgi?id=87606 |
| |
| Reviewed by Antonio Gomes. |
| |
| PR #154813 |
| |
| * platform/blackberry/RenderThemeBlackBerry.cpp: |
| (WebCore::RenderThemeBlackBerry::platformTapHighlightColor): |
| (WebCore::RenderThemeBlackBerry::platformActiveSelectionBackgroundColor): |
| |
| 2012-05-27 Benjamin Poulain <bpoulain@apple.com> |
| |
| When pages are loaded from AppCache with DeferredLoading, willSendRequest() is never called |
| https://bugs.webkit.org/show_bug.cgi?id=87582 |
| |
| Reviewed by Darin Adler. |
| |
| Previously, there was a shortcut when a deferred MainResourceLoader is resumed: If the data |
| was coming from AppCache we could jump directly to startDataLoadTimer(). |
| |
| The problem with the shortcut is willSendRequest() is never called in that particular case |
| (substituteData + deferred-resume). The imbalance between willSendRequest() and didReceiveResponse() |
| causes problems. |
| |
| This patch removes the shortcut so that MainResourceLoader::loadNow() is used regardless of |
| the deferred loading. The method MainResourceLoader::loadNow() handle the substituteData as if the loading |
| was not deferred. |
| |
| Test: http/tests/appcache/load-from-appcache-defer-resume-crash.html |
| |
| * loader/MainResourceLoader.cpp: |
| (WebCore::MainResourceLoader::continueAfterNavigationPolicy): |
| (WebCore::MainResourceLoader::handleSubstituteDataLoadSoon): |
| Rename the method to be consistent with the attribute it uses, making the naming more explicit. |
| (WebCore::MainResourceLoader::loadNow): |
| (WebCore::MainResourceLoader::setDefersLoading): |
| * loader/MainResourceLoader.h: |
| (MainResourceLoader): |
| |
| 2012-05-27 David Kilzer <ddkilzer@apple.com> |
| |
| Use xcrun to find gperf path on platforms that use Xcode |
| <http://webkit.org/b/87587> |
| |
| Reviewed by Dan Bernstein. |
| |
| * WebCore.xcodeproj/project.pbxproj: |
| (Generate Derived Sources): Set GPERF environment variable using |
| xcrun. |
| * css/makeprop.pl: Use GPERF environment variable if set, else |
| "gperf". |
| * css/makevalues.pl: Ditto. |
| * make-hash-tools.pl: Ditto. |
| |
| 2012-05-27 Li Yin <li.yin@intel.com> |
| |
| [FileAPI] FileReader should fire progress event when blob has been completely read into memory |
| https://bugs.webkit.org/show_bug.cgi?id=87585 |
| |
| Reviewed by Kentaro Hara. |
| |
| From Spec: http://www.w3.org/TR/FileAPI/#dfn-progress-event |
| One progress event will fire when blob has been completely read into memory. |
| Firefox, Opera and IE follows the spec. |
| Webkit based browser doesn't do that, it only fires progress event at interval of 50ms. |
| WebKit should add the behavior to make the conformance with the spec. |
| |
| Tests: fast/files/file-reader-event-listener.html |
| |
| * fileapi/FileReader.cpp: |
| (WebCore::FileReader::didFinishLoading): |
| |
| 2012-05-26 Li Yin <li.yin@intel.com> |
| |
| [FileAPI] The result attribute of FileReader shuold use null to replace empty string |
| https://bugs.webkit.org/show_bug.cgi?id=87578 |
| |
| Reviewed by Kentaro Hara. |
| |
| From Spec: http://www.w3.org/TR/FileAPI/#filedata-attr |
| Before read method has been called or an error in reading has occurred, |
| the result attribute should be null, not empty string. |
| |
| Currently, Firefox, Opera and IE 10 follows the spec, but Webkit based |
| browser don't. |
| WebKit should change the returned value empty string into null to keep |
| conformance with the spec. |
| |
| Tests: fast/files/read-file-async.html |
| fast/files/blob-slice-test.html |
| fast/files/read-blob-async.html |
| fast/files/workers/worker-read-blob-async.html |
| fast/files/workers/worker-read-file-async.html |
| |
| * fileapi/FileReader.cpp: |
| (WebCore::FileReader::stringResult): |
| |
| 2012-05-26 Andy Estes <aestes@apple.com> |
| |
| Fix the build when NETSCAPE_PLUGIN_API is disabled by marking a |
| parameter as unused. |
| |
| * plugins/PluginData.cpp: |
| (WebCore::PluginData::initPlugins): |
| |
| 2012-05-26 Nate Chapin <japhet@chromium.org> |
| |
| Cancel CachedResource loads when the last client is removed. |
| https://bugs.webkit.org/show_bug.cgi?id=35377 |
| |
| Reviewed by Darin Adler. |
| |
| Test: http/tests/cache/cancel-in-progress-load.html |
| |
| * loader/SubresourceLoader.cpp: |
| (WebCore::SubresourceLoader::errorLoadingResource): |
| * loader/cache/CachedCSSStyleSheet.cpp: |
| (WebCore::CachedCSSStyleSheet::allClientsRemoved): |
| * loader/cache/CachedFont.cpp: |
| (WebCore::CachedFont::allClientsRemoved): |
| * loader/cache/CachedImage.cpp: |
| (WebCore::CachedImage::allClientsRemoved): |
| * loader/cache/CachedRawResource.cpp: |
| (WebCore): |
| * loader/cache/CachedRawResource.h: |
| (WebCore::CachedRawResource::shouldIgnoreHTTPStatusCodeErrors): |
| * loader/cache/CachedResource.cpp: |
| (WebCore::CachedResource::allClientsRemoved): |
| (WebCore): |
| * loader/cache/CachedResource.h: |
| (CachedResource): |
| * loader/cache/CachedScript.cpp: |
| (WebCore::CachedScript::allClientsRemoved): |
| |
| 2012-05-26 Simon Fraser <simon.fraser@apple.com> |
| |
| fast/block/inline-children-root-linebox-crash.html asserts after r118567 |
| https://bugs.webkit.org/show_bug.cgi?id=87544 |
| |
| Reviewed by Darin Adler. |
| |
| RenderInline::offsetFromContainer() set offsetDependsOnPoint to true based |
| on the container's flipped writing mode. However, offsetFromContainer() would |
| then overwrite that, since it only checked for columns. |
| |
| Fix by having RenderInline::offsetFromContainer() check for flipping on |
| the container. This fixes the assertion. |
| |
| The new testcase exercises fixes another issue; unlike mapLocalToAbsolute(), |
| RenderGeometryMap::absoluteRect() didn't pass the rect center point through |
| the mapping, which resulted in a different result in some flipping cases. |
| |
| Test: compositing/geometry/flipped-blocks-inline-mapping.html |
| |
| * rendering/RenderGeometryMap.cpp: |
| (WebCore::RenderGeometryMap::absoluteRect): |
| * rendering/RenderInline.cpp: |
| (WebCore::RenderInline::offsetFromContainer): |
| (WebCore::RenderInline::pushMappingToContainer): |
| |
| 2012-05-26 Geoffrey Garen <ggaren@apple.com> |
| |
| WebKit should be lazy-finalization-safe (esp. the DOM) v2 |
| https://bugs.webkit.org/show_bug.cgi?id=87581 |
| |
| Reviewed by Oliver Hunt. |
| |
| * bindings/js/JSDOMGlobalObject.cpp: |
| (WebCore::JSDOMGlobalObject::destroy): |
| * bindings/js/JSDOMWindowBase.cpp: |
| (WebCore::JSDOMWindowBase::destroy): |
| * bindings/js/JSDOMWindowShell.cpp: |
| (WebCore::JSDOMWindowShell::destroy): |
| * bindings/js/JSNodeCustom.cpp: |
| (WebCore::JSNodeOwner::finalize): |
| * bindings/js/JSWorkerContextBase.cpp: |
| (WebCore::JSWorkerContextBase::destroy): |
| * bindings/scripts/CodeGeneratorJS.pm: |
| (GenerateImplementation): |
| * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: |
| (WebCore::JSTestActiveDOMObject::destroy): |
| (WebCore::JSTestActiveDOMObjectOwner::finalize): |
| * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp: |
| (WebCore::JSTestCustomNamedGetter::destroy): |
| (WebCore::JSTestCustomNamedGetterOwner::finalize): |
| * bindings/scripts/test/JS/JSTestEventConstructor.cpp: |
| (WebCore::JSTestEventConstructor::destroy): |
| (WebCore::JSTestEventConstructorOwner::finalize): |
| * bindings/scripts/test/JS/JSTestEventTarget.cpp: |
| (WebCore::JSTestEventTarget::destroy): |
| (WebCore::JSTestEventTargetOwner::finalize): |
| * bindings/scripts/test/JS/JSTestException.cpp: |
| (WebCore::JSTestException::destroy): |
| (WebCore::JSTestExceptionOwner::finalize): |
| * bindings/scripts/test/JS/JSTestInterface.cpp: |
| (WebCore::JSTestInterface::destroy): |
| (WebCore::JSTestInterfaceOwner::finalize): |
| * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: |
| (WebCore::JSTestMediaQueryListListener::destroy): |
| (WebCore::JSTestMediaQueryListListenerOwner::finalize): |
| * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: |
| (WebCore::JSTestNamedConstructor::destroy): |
| (WebCore::JSTestNamedConstructorOwner::finalize): |
| * bindings/scripts/test/JS/JSTestObj.cpp: |
| (WebCore::JSTestObj::destroy): |
| (WebCore::JSTestObjOwner::finalize): |
| * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: |
| (WebCore::JSTestSerializedScriptValueInterface::destroy): |
| (WebCore::JSTestSerializedScriptValueInterfaceOwner::finalize): |
| * bridge/objc/objc_runtime.mm: |
| (JSC::Bindings::ObjcFallbackObjectImp::destroy): |
| * bridge/qt/qt_runtime.cpp: |
| (JSC::Bindings::QtRuntimeMethod::destroy): |
| * bridge/qt/qt_runtime_qt4.cpp: |
| (JSC::Bindings::QtRuntimeMethod::destroy): |
| * bridge/runtime_array.cpp: |
| (JSC::RuntimeArray::destroy): |
| * bridge/runtime_method.cpp: |
| (JSC::RuntimeMethod::destroy): |
| * bridge/runtime_object.cpp: |
| (JSC::Bindings::RuntimeObject::destroy): |
| * bridge/runtime_root.cpp: |
| (JSC::Bindings::RootObject::finalize): Use static_cast instead of jsCast because |
| jsCast does Structure-based validation, and our Structure is not guaranteed |
| to be alive when we get finalized. |
| |
| 2012-05-26 Simon Fraser <simon.fraser@apple.com> |
| |
| Clip rects assertion when hovering div with transform |
| https://bugs.webkit.org/show_bug.cgi?id=87580 |
| |
| Reviewed by Eric Seidel. |
| |
| Hit testing used to use temporary clip rects in composited documents, |
| until r118562. Now that we cache clip rects for hit testing, we need |
| to clear the cache on descendant layers when a layer gains or loses |
| a transform. |
| |
| Test: fast/layers/clip-rects-assertion.html |
| |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::updateTransform): |
| |
| 2012-05-25 Dan Bernstein <mitz@apple.com> |
| |
| <rdar://problem/11439771> WebProcess sends many synchronous messages to the UI process while scrolling beneath ScrollView::contentsToScreen() |
| https://bugs.webkit.org/show_bug.cgi?id=87571 |
| |
| Reviewed by Anders Carlsson. |
| |
| fakeMouseEventTimerFired() uses the last known mouse position for the fake mouse event, but |
| calls contentsToScreen() to compute a corresponding position in screen coordinates. Avoid |
| this by also recording the last known mouse position in screen coordinates, and using that |
| value. |
| |
| * page/EventHandler.cpp: |
| (WebCore::EventHandler::clear): Added resetting m_currentMouseGlobalPosition. |
| (WebCore::EventHandler::handleMousePressEvent): Added updating m_currentMouseGlobalPosition |
| when updating m_currentMousePosition. |
| (WebCore::EventHandler::handleMouseDoubleClickEvent): Ditto. |
| (WebCore::EventHandler::handleMouseMoveEvent): Ditto. |
| (WebCore::EventHandler::handleMouseReleaseEvent): Ditto. |
| (WebCore::EventHandler::fakeMouseMoveEventTimerFired): Changed to use m_currentMouseGlobalPosition |
| in the fake event instead of calling contentsToScreen(). |
| * page/EventHandler.h: Added m_currentMouseGlobalPosition data member. |
| |
| 2012-05-25 Philippe Normand <pnormand@igalia.com> |
| |
| [GStreamer] Remove ImageGStreamerCG implementation |
| https://bugs.webkit.org/show_bug.cgi?id=87559 |
| |
| The ImageGStreamerCG abstraction is being removed until I manage to |
| port my gst-mac WebKit branch over to the WebKit2 mac port. No |
| need to update the XCode project because this file is not |
| referenced there anyway. |
| |
| Reviewed by Martin Robinson. |
| |
| * platform/graphics/gstreamer/ImageGStreamer.h: |
| (ImageGStreamer): |
| * platform/graphics/gstreamer/ImageGStreamerCG.mm: Removed. |
| |
| 2012-05-26 Rob Buis <rwlbuis@webkit.org> |
| |
| Bug 15799: textPath element does not re-render when referenced path changes |
| https://bugs.webkit.org/show_bug.cgi?id=15799 |
| |
| Reviewed by Nikolas Zimmermann. |
| |
| Support textPath updating to changes on the referenced path. To make this possible |
| use the target reference functionality also used by SVGFEImageElement. |
| |
| Tests: svg/custom/textPath-change-id-expected.svg |
| svg/custom/textPath-change-id-pattern-expected.svg |
| svg/custom/textPath-change-id-pattern.svg |
| svg/custom/textPath-change-id.svg |
| svg/custom/textPath-change-id2-expected.svg |
| svg/custom/textPath-change-id2-pattern-expected.svg |
| svg/custom/textPath-change-id2-pattern.svg |
| svg/custom/textPath-change-id2.svg |
| svg/custom/textPath-change-reference-expected.svg |
| svg/custom/textPath-change-reference-pattern-expected.svg |
| svg/custom/textPath-change-reference-pattern.svg |
| svg/custom/textPath-change-reference-using-baseval-expected.svg |
| svg/custom/textPath-change-reference-using-baseval-pattern-expected.svg |
| svg/custom/textPath-change-reference-using-baseval-pattern.svg |
| svg/custom/textPath-change-reference-using-baseval.svg |
| svg/custom/textPath-change-reference.svg |
| svg/custom/textPath-change-reference2-expected.svg |
| svg/custom/textPath-change-reference2-pattern-expected.svg |
| svg/custom/textPath-change-reference2-pattern.svg |
| svg/custom/textPath-change-reference2-using-baseval-expected.svg |
| svg/custom/textPath-change-reference2-using-baseval-pattern-expected.svg |
| svg/custom/textPath-change-reference2-using-baseval-pattern.svg |
| svg/custom/textPath-change-reference2-using-baseval.svg |
| svg/custom/textPath-change-reference2.svg |
| svg/custom/textPath-insert-path-expected.svg |
| svg/custom/textPath-insert-path-pattern-expected.svg |
| svg/custom/textPath-insert-path-pattern.svg |
| svg/custom/textPath-insert-path.svg |
| svg/custom/textPath-modify-child-expected.svg |
| svg/custom/textPath-modify-child-pattern-expected.svg |
| svg/custom/textPath-modify-child-pattern.svg |
| svg/custom/textPath-modify-child.svg |
| svg/custom/textPath-path-change-expected.svg |
| svg/custom/textPath-path-change-pattern-expected.svg |
| svg/custom/textPath-path-change-pattern.svg |
| svg/custom/textPath-path-change-using-svg-dom-expected.svg |
| svg/custom/textPath-path-change-using-svg-dom-pattern-expected.svg |
| svg/custom/textPath-path-change-using-svg-dom-pattern.svg |
| svg/custom/textPath-path-change-using-svg-dom.svg |
| svg/custom/textPath-path-change.svg |
| svg/custom/textPath-path-change2-expected.svg |
| svg/custom/textPath-path-change2-pattern-expected.svg |
| svg/custom/textPath-path-change2-pattern.svg |
| svg/custom/textPath-path-change2.svg |
| svg/custom/textPath-remove-path-expected.svg |
| svg/custom/textPath-remove-path-pattern-expected.svg |
| svg/custom/textPath-remove-path-pattern.svg |
| svg/custom/textPath-remove-path.svg |
| svg/custom/textPath-set-id-expected.svg |
| svg/custom/textPath-set-id.svg |
| svg/custom/textPath-startoffset-expected.svg |
| svg/custom/textPath-startoffset-pattern-expected.svg |
| svg/custom/textPath-startoffset-pattern.svg |
| svg/custom/textPath-startoffset.svg |
| |
| * svg/SVGTextPathElement.cpp: |
| (WebCore::SVGTextPathElement::~SVGTextPathElement): |
| (WebCore): |
| (WebCore::SVGTextPathElement::clearResourceReferences): |
| (WebCore::SVGTextPathElement::svgAttributeChanged): |
| (WebCore::SVGTextPathElement::buildPendingResource): |
| (WebCore::SVGTextPathElement::insertedInto): |
| (WebCore::SVGTextPathElement::removedFrom): |
| * svg/SVGTextPathElement.h: |
| |
| 2012-05-26 Nikolas Zimmermann <nzimmermann@rim.com> |
| |
| Avoid updateFromElement() usage in SVG |
| https://bugs.webkit.org/show_bug.cgi?id=87573 |
| |
| Stop relying on updateFromElement() - instead rely on addChild/removeChild, which |
| allows us to optimize the resources re-fetching. When a child is added to the tree |
| we don't need to remove existing resources from the SVGResourcesCache - the renderer |
| can't be in the cache yet. Similary, remove the entry from the cache earlier: as soon |
| as the renderer is removed from the tree, instead of waiting for willBeDestroyed(). |
| |
| No new tests, refactoring only. |
| |
| * rendering/svg/RenderSVGBlock.cpp: |
| * rendering/svg/RenderSVGBlock.h: |
| (RenderSVGBlock): |
| * rendering/svg/RenderSVGContainer.cpp: |
| (WebCore::RenderSVGContainer::addChild): |
| (WebCore): |
| (WebCore::RenderSVGContainer::removeChild): |
| * rendering/svg/RenderSVGContainer.h: |
| (RenderSVGContainer): |
| * rendering/svg/RenderSVGInline.cpp: |
| (WebCore::RenderSVGInline::addChild): |
| (WebCore::RenderSVGInline::removeChild): |
| * rendering/svg/RenderSVGInline.h: |
| (RenderSVGInline): |
| * rendering/svg/RenderSVGModelObject.cpp: |
| * rendering/svg/RenderSVGModelObject.h: |
| (RenderSVGModelObject): |
| * rendering/svg/RenderSVGResourceContainer.cpp: |
| (WebCore::RenderSVGResourceContainer::registerResource): |
| * rendering/svg/RenderSVGRoot.cpp: |
| (WebCore::RenderSVGRoot::addChild): |
| (WebCore): |
| (WebCore::RenderSVGRoot::removeChild): |
| * rendering/svg/RenderSVGRoot.h: |
| (RenderSVGRoot): |
| * rendering/svg/RenderSVGText.cpp: |
| (WebCore::RenderSVGText::addChild): |
| (WebCore::RenderSVGText::removeChild): |
| * rendering/svg/SVGResourcesCache.cpp: |
| (WebCore::SVGResourcesCache::clientStyleChanged): |
| (WebCore::rendererCanHaveResources): |
| (WebCore): |
| (WebCore::SVGResourcesCache::clientWasAddedToTree): |
| (WebCore::SVGResourcesCache::clientWillBeRemovedFromTree): |
| * rendering/svg/SVGResourcesCache.h: |
| (SVGResourcesCache): |
| * svg/SVGStyledElement.cpp: |
| * svg/SVGStyledElement.h: |
| (SVGStyledElement): |
| |
| 2012-05-25 Nat Duca <nduca@chromium.org> |
| |
| [chromium] Instrument V8 GC with TraceEvent |
| https://bugs.webkit.org/show_bug.cgi?id=87530 |
| |
| Reviewed by Kentaro Hara. |
| |
| We sometimes get performance issues where performance stalls can |
| be attributed to badly timed GC operations, especially ones that |
| happen just before a frame running. This adds tracing calls around |
| GC so that we can better understand these kinds of hangs. |
| |
| * bindings/v8/V8GCController.cpp: |
| (WebCore::V8GCController::gcPrologue): |
| (WebCore::V8GCController::gcEpilogue): |
| |
| 2012-05-25 Garrett Casto <gcasto@chromium.org> |
| |
| Allow WebTextFieldDecoratorClient to see applied decorations. |
| https://bugs.webkit.org/show_bug.cgi?id=86557 |
| |
| Reviewed by Kent Tamura. |
| |
| * html/shadow/TextFieldDecorationElement.cpp: |
| (WebCore::TextFieldDecorationElement::fromShadowRoot): A function |
| that will extract a TextFielDecorationElement from a ShadowRoot, if |
| there is one. |
| * html/shadow/TextFieldDecorationElement.h: |
| (WebCore): |
| (TextFieldDecorator): |
| |
| 2012-05-25 Tony Chang <tony@chromium.org> |
| |
| implement new negative flexing algorithm |
| https://bugs.webkit.org/show_bug.cgi?id=86528 |
| |
| Reviewed by Ojan Vafai. |
| |
| Rather than just scale by the negative flexibility, we also take the |
| flex-basis (preferred size) into consideration. That means items with |
| a larger preferred size will shrink faster. |
| |
| Test: css3/flexbox/flex-algorithm.html (new test cases added) |
| |
| * rendering/RenderFlexibleBox.cpp: |
| (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild): Handle overflow. |
| (WebCore::RenderFlexibleBox::layoutFlexItems): |
| (WebCore::RenderFlexibleBox::computeNextFlexLine): Sum weighted negative flex. |
| (WebCore::RenderFlexibleBox::freezeViolations): |
| (WebCore::RenderFlexibleBox::resolveFlexibleLengths): Shrink by weighted amount. |
| Also handle large values by making sure the flex values are finite. |
| * rendering/RenderFlexibleBox.h: |
| |
| 2012-05-25 Mihai Parparita <mihaip@chromium.org> |
| |
| Allow synchronous XHRs to be disabled in documents |
| https://bugs.webkit.org/show_bug.cgi?id=87540 |
| |
| Reviewed by Eric Seidel. |
| |
| Test: fast/xmlhttprequest/xmlhttprequest-sync-disabled.html |
| |
| Synchronous XMLHttpRequests are a problematic API, since they result |
| in blocked UI threads. Some clients may wish to always disable them; |
| give them a setting to do so (see also r103629 for other cases where |
| synchronous XHRs are disabled). |
| |
| * page/Settings.cpp: |
| (WebCore): |
| (WebCore::Settings::Settings): |
| * page/Settings.h: |
| (Settings): |
| (WebCore::Settings::setSyncXHRInDocumentsEnabled): |
| (WebCore::Settings::syncXHRInDocumentsEnabled): |
| * testing/InternalSettings.cpp: |
| (WebCore::InternalSettings::InternalSettings): |
| (WebCore::InternalSettings::restoreTo): |
| (WebCore::InternalSettings::setSyncXHRInDocumentsEnabled): |
| (WebCore): |
| * testing/InternalSettings.h: |
| (InternalSettings): |
| * testing/InternalSettings.idl: |
| * xml/XMLHttpRequest.cpp: |
| (WebCore::XMLHttpRequest::open): |
| |
| 2012-05-25 Kinuko Yasuda <kinuko@chromium.org> |
| |
| [chromium] Deprecate FileUtilities::getFileSize and getFileModifiedTime in favor of getFileMetadata |
| https://bugs.webkit.org/show_bug.cgi?id=87492 |
| |
| Reviewed by Adam Barth. |
| |
| No new tests: existing tests (http/tests/local/fileapi/* and fast/files/*) should pass. |
| |
| * platform/chromium/FileSystemChromium.cpp: |
| (WebCore::getFileSize): |
| (WebCore::getFileModificationTime): |
| (WebCore::getFileMetadata): |
| * platform/chromium/PlatformSupport.h: |
| (PlatformSupport): |
| |
| 2012-05-25 Abhishek Arya <inferno@chromium.org> |
| |
| Crash in RenderTableSection::paintCell. |
| https://bugs.webkit.org/show_bug.cgi?id=87445 |
| |
| Reviewed by Eric Seidel and Julien Chaffraix. |
| |
| Fix the crash by preventing table parts from being set |
| as layout root. This prevents us from accessing removed |
| table cells which can happen if RenderTableSection::layout |
| is called directly without calling RenderTable::layout first |
| (in case of cell recalc). |
| |
| Add ASSERTs to RenderTableSection::layout to prevent |
| layout to happen when we are already pending cell recalc |
| or our table is pending section recalc. In those cases, |
| RenderTable::layout should be called first to relayout |
| the entire table. |
| |
| Test: tables/table-section-overflow-clip-crash.html |
| |
| * rendering/RenderObject.cpp: |
| (WebCore::objectIsRelayoutBoundary): |
| * rendering/RenderTableSection.cpp: |
| (WebCore::RenderTableSection::layout): |
| |
| 2012-05-25 Philip Rogers <pdr@google.com> |
| |
| Fix for self-closing <use> tags |
| https://bugs.webkit.org/show_bug.cgi?id=87504 |
| |
| Reviewed by Adam Barth. |
| |
| This change causes self-closing non-html tags to behave the same |
| as tags immediately followed by the closing tag. |
| |
| Test: svg/custom/svg-self-closing-use.html |
| |
| * html/parser/HTMLConstructionSite.cpp: |
| (WebCore::HTMLConstructionSite::attachLater): |
| (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement): |
| (WebCore::HTMLConstructionSite::insertForeignElement): |
| * html/parser/HTMLConstructionSite.h: |
| (HTMLConstructionSite): |
| |
| 2012-05-25 Dan Bernstein <mitz@apple.com> |
| |
| Make the ICU-based implementation of NonSharedCharacterBreakIterator work in configurations |
| that do not have COMPARE_AND_SWAP enabled. |
| |
| Reviewed by Jessie Berlin. |
| |
| * platform/text/TextBreakIteratorICU.cpp: |
| (WebCore::compareAndSwapNonSharedCharacterBreakIterator): Added this helper. It uses |
| weakCompareAndSwap when COMPARE_AND_SWAP is enabled, and uses a mutex to do the atomic |
| compare and swap otherwise. |
| (WebCore::NonSharedCharacterBreakIterator::NonSharedCharacterBreakIterator): Changed to use |
| compareAndSwapNonSharedCharacterBreakIterator(). |
| (WebCore::NonSharedCharacterBreakIterator::~NonSharedCharacterBreakIterator): Ditto. |
| |
| 2012-05-25 Tommy Widenflycht <tommyw@google.com> |
| |
| MediaStream API: Make sure IceCallback is valid for PeerConnection00 |
| https://bugs.webkit.org/show_bug.cgi?id=87480 |
| |
| Reviewed by Adam Barth. |
| |
| Existing tests have been extended to cover this change. |
| |
| * Modules/mediastream/PeerConnection00.cpp: |
| (WebCore::PeerConnection00::create): |
| * Modules/mediastream/PeerConnection00.h: |
| * Modules/mediastream/PeerConnection00.idl: |
| |
| 2012-05-25 Mike West <mkwst@chromium.org> |
| |
| Inline script and style blocked by Content Security Policy should provide more detailed console errors. |
| https://bugs.webkit.org/show_bug.cgi?id=86848 |
| |
| Reviewed by Adam Barth. |
| |
| This change adds a URL and line number for context to each call to |
| `ContentSecurityPolicy::allowInline*`, and pipes it through to the |
| console message generation in `CSPDirectiveList::reportViolation`. |
| |
| Line numbers are not added for injected scripts (`document.write(...)`, |
| `document.body.appendChild`, and etc.). |
| |
| Tests: http/tests/security/contentSecurityPolicy/injected-inline-script-allowed.html |
| http/tests/security/contentSecurityPolicy/injected-inline-script-blocked.html |
| http/tests/security/contentSecurityPolicy/injected-inline-style-allowed.html |
| http/tests/security/contentSecurityPolicy/injected-inline-style-blocked.html |
| |
| * bindings/ScriptControllerBase.cpp: |
| (WebCore::ScriptController::executeIfJavaScriptURL): |
| * bindings/js/JSLazyEventListener.cpp: |
| (WebCore::JSLazyEventListener::initializeJSFunction): |
| * bindings/v8/V8LazyEventListener.cpp: |
| (WebCore::V8LazyEventListener::prepareListenerObject): |
| * dom/ScriptElement.cpp: |
| (WebCore::ScriptElement::ScriptElement): |
| (WebCore::ScriptElement::executeScript): |
| * dom/ScriptElement.h: |
| (ScriptElement): |
| * dom/StyleElement.cpp: |
| (WebCore::StyleElement::StyleElement): |
| (WebCore::StyleElement::createSheet): |
| * dom/StyleElement.h: |
| (StyleElement): |
| * dom/StyledElement.cpp: |
| (WebCore::StyledElement::StyledElement): |
| (WebCore): |
| (WebCore::StyledElement::style): |
| (WebCore::StyledElement::styleAttributeChanged): |
| * dom/StyledElement.h: |
| (StyledElement): |
| * page/ContentSecurityPolicy.cpp: |
| (CSPDirectiveList): |
| (WebCore::CSPDirectiveList::reportViolation): |
| (WebCore::CSPDirectiveList::checkInlineAndReportViolation): |
| (WebCore::CSPDirectiveList::checkEvalAndReportViolation): |
| (WebCore::CSPDirectiveList::allowJavaScriptURLs): |
| (WebCore::CSPDirectiveList::allowInlineEventHandlers): |
| (WebCore::CSPDirectiveList::allowInlineScript): |
| (WebCore::CSPDirectiveList::allowInlineStyle): |
| (WebCore::CSPDirectiveList::allowEval): |
| (WebCore): |
| (WebCore::isAllowedByAllWithCallStack): |
| (WebCore::isAllowedByAllWithContext): |
| (WebCore::ContentSecurityPolicy::allowJavaScriptURLs): |
| (WebCore::ContentSecurityPolicy::allowInlineEventHandlers): |
| (WebCore::ContentSecurityPolicy::allowInlineScript): |
| (WebCore::ContentSecurityPolicy::allowInlineStyle): |
| * page/ContentSecurityPolicy.h: |
| (WTF): |
| |
| 2012-05-25 Tim Horton <timothy_horton@apple.com> |
| |
| ENABLE_CSS3_FLEXBOX is insufficient to disable all web-facing bits of the feature |
| https://bugs.webkit.org/show_bug.cgi?id=87537 |
| <rdar://problem/11524921> |
| |
| Reviewed by Simon Fraser. |
| |
| Allow the feature flag to disable more web-facing parts of the CSS3 flexbox |
| implementation (primarily fallout from hiding it from computed style). |
| |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): |
| * css/CSSParser.cpp: |
| (WebCore::isValidKeywordPropertyAndValue): |
| (WebCore::isKeywordPropertyID): |
| (WebCore::CSSParser::parseValue): |
| * css/CSSPrimitiveValueMappings.h: |
| (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): |
| * css/CSSProperty.cpp: |
| (WebCore::CSSProperty::isInheritedProperty): |
| * css/CSSPropertyNames.in: |
| * css/CSSValueKeywords.in: |
| * css/StyleBuilder.cpp: |
| (WebCore::StyleBuilder::StyleBuilder): |
| * css/StylePropertySet.cpp: |
| (WebCore::StylePropertySet::getPropertyValue): |
| (WebCore::StylePropertySet::asText): |
| * css/StylePropertyShorthand.cpp: |
| (WebCore::shorthandForProperty): |
| * css/StylePropertyShorthand.h: |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::collectMatchingRulesForList): |
| * page/animation/CSSPropertyAnimation.cpp: |
| (WebCore::CSSPropertyAnimation::ensurePropertyMap): |
| * rendering/RenderObject.cpp: |
| (WebCore::RenderObject::createObject): |
| * rendering/style/RenderStyleConstants.h: |
| |
| 2012-05-25 Adrienne Walker <enne@google.com> |
| |
| [chromium] Add setting for painting debug info onto tiles |
| https://bugs.webkit.org/show_bug.cgi?id=75763 |
| |
| Reviewed by James Robinson. |
| |
| Add a compile-time CCSetting to paint debug information onto tiles. This |
| can help to understand paint counts and layer indices. This setting is |
| off by default. |
| |
| * platform/graphics/chromium/ContentLayerChromium.cpp: |
| (WebCore::ContentLayerPainter::create): |
| (WebCore::ContentLayerPainter::paint): |
| (WebCore::ContentLayerPainter::ContentLayerPainter): |
| (WebCore::ContentLayerChromium::createTextureUpdater): |
| * platform/graphics/chromium/TiledLayerChromium.cpp: |
| (WebCore::UpdatableTile::UpdatableTile): |
| (WebCore::UpdatableTile::setUpdateFrame): |
| (WebCore::UpdatableTile::incrementPaintCount): |
| (WebCore::UpdatableTile::updateFrame): |
| (WebCore::UpdatableTile::paintCount): |
| (WebCore::TiledLayerChromium::TiledLayerChromium): |
| (WebCore::TiledLayerChromium::prepareToUpdateTiles): |
| (WebCore::TiledLayerChromium::paintDebugTileInfo): |
| * platform/graphics/chromium/TiledLayerChromium.h: |
| * platform/graphics/chromium/cc/CCLayerTreeHost.h: |
| (WebCore::CCSettings::CCSettings): |
| |
| 2012-05-25 Ami Fischman <fischman@chromium.org> |
| |
| [chromium] Default media controls should render only the currentTime-containing buffered range |
| https://bugs.webkit.org/show_bug.cgi?id=85925 |
| |
| Reviewed by Eric Carlson. |
| |
| Test: http/tests/media/video-buffered-range-contains-currentTime.html |
| |
| * rendering/RenderMediaControlsChromium.cpp: |
| (WebCore::paintMediaSlider): |
| |
| 2012-05-25 Simon Fraser <simon.fraser@apple.com> |
| |
| Build fix: add TransformationMatrix ctor from an AffineTransform. |
| |
| * platform/graphics/transforms/TransformationMatrix.cpp: |
| (WebCore::TransformationMatrix::TransformationMatrix): |
| (WebCore): |
| * platform/graphics/transforms/TransformationMatrix.h: |
| (TransformationMatrix): |
| |
| 2012-05-24 Ryosuke Niwa <rniwa@webkit.org> |
| |
| createContextualFragment and insertAdjacentHTML should throw syntax error |
| https://bugs.webkit.org/show_bug.cgi?id=87454 |
| |
| Reviewed by Darin Adler. |
| |
| Before this patch, createContextualFragment threw NOT_SUPPORTED_ERR and insertAdjacentHTML didn't throw any errors. |
| Make them throw SYNTAX_ERR to be consistent with the spec and Firefox: |
| http://html5.org/specs/dom-parsing.html#parsing |
| http://www.whatwg.org/specs/web-apps/current-work/multipage/the-xhtml-syntax.html#xml-fragment-parsing-algorithm |
| |
| Also reduced the code duplication. |
| |
| Test: fast/dom/xhtml-fragment-parsing-exceptions.xhtml |
| |
| * dom/Range.cpp: |
| (WebCore::Range::createContextualFragment): |
| * dom/ShadowRoot.cpp: |
| (WebCore::ShadowRoot::setInnerHTML): Explicitly pass AllowScriptingContent. |
| * editing/markup.cpp: |
| (WebCore::createFragmentFromMarkup): |
| (WebCore::createFragmentForInnerOuterHTML): Takes ExceptionCode now. |
| (WebCore::createContextualFragment): Share code with createFragmentForInnerOuterHTML |
| and propagate the exception code. |
| * editing/markup.h: |
| * html/HTMLElement.cpp: |
| (WebCore::HTMLElement::setInnerHTML): Explicitly pass AllowScriptingContent. |
| (WebCore::HTMLElement::setOuterHTML): Ditto. |
| (WebCore::HTMLElement::insertAdjacentHTML): Ditto; also rename ignoredEc to ignoredEC |
| per Darin's comment on the bug 87339. |
| |
| 2012-05-25 John Knottenbelt <jknotten@chromium.org> |
| |
| Body scrollWidth() and scrollHeight() should be page scale-invariant |
| https://bugs.webkit.org/show_bug.cgi?id=87494 |
| |
| RenderView::documentRect() is calculating the "scaled" document rect by applying |
| the current transformation matrix to the unscaledDocumentRect() and then |
| returning the rounded-out IntRect result. |
| |
| This rounding out is incorrect because it allows the scaled rectangle to |
| represent an area that is not actually covered by the document. |
| |
| We fix this by applying the current transform to the document rect |
| as a FloatRect and then explicitly converting to IntRect, which |
| takes the floor of the resulting rectangle coordinates instead of |
| rounding them out. |
| |
| This is evidenced by the document.body.scrollWidth() and |
| document.body.scrollHeight() changing under page scale factor when |
| they are expected to remain invariant. |
| |
| Reviewed by James Robinson. |
| |
| Test: fast/dom/window-scroll-scaling.html |
| |
| * rendering/RenderView.cpp: |
| (WebCore::RenderView::documentRect): |
| |
| 2012-05-25 Dan Bernstein <mitz@apple.com> |
| |
| characterBreakIterator() is not safe to use reentrantly or from multiple threads |
| https://bugs.webkit.org/show_bug.cgi?id=87521 |
| |
| Reviewed by Darin Adler. |
| |
| Replaced characterBreakIterator() with a NonSharedCharacterBreakIterator class, which |
| obtains a unique TextBreakIterator. Replaced the global shared instance with a single-entry |
| cache. |
| |
| * dom/CharacterData.cpp: |
| (WebCore::CharacterData::parserAppendData): Changed to use NonSharedCharacterBreakIterator. |
| |
| * platform/graphics/StringTruncator.cpp: |
| (WebCore::centerTruncateToBuffer): Ditto. |
| (WebCore::rightTruncateToBuffer): Ditto. |
| |
| * platform/text/String.cpp: |
| (WebCore::numGraphemeClusters): Ditto. |
| (WebCore::numCharactersInGraphemeClusters): Ditto. |
| |
| * platform/text/TextBreakIterator.h: Removed the declaration of characterBreakIterator(). |
| (NonSharedCharacterBreakIterator): Added. An instance of this class has a character break |
| iterator instance that is unique to it for the lifetime of the instance. |
| (WebCore::NonSharedCharacterBreakIterator::operator TextBreakIterator*): Added. |
| |
| * platform/text/TextBreakIteratorICU.cpp: |
| (WebCore::NonSharedCharacterBreakIterator::NonSharedCharacterBreakIterator): Added. Tries |
| to swap the m_iterator member variable with the cached instance. If that fails, initializes |
| m_iterator to a new character break iterator. |
| (WebCore::NonSharedCharacterBreakIterator::~NonSharedCharacterBreakIterator): Added. Tries |
| to put the m_iterator member variable back in the cache. If that fails, meaning there is |
| already something in the cache, destroys m_iterator. |
| |
| * platform/text/gtk/TextBreakIteratorGtk.cpp: |
| (WebCore::NonSharedCharacterBreakIterator::NonSharedCharacterBreakIterator): Same as in |
| TextBreakIteratorICU.cpp. |
| (WebCore::NonSharedCharacterBreakIterator::~NonSharedCharacterBreakIterator): Ditto. |
| (WebCore::cursorMovementIterator): Moved the old implementation of characterBreakIterator() |
| here. |
| |
| * platform/text/qt/TextBreakIteratorQt.cpp: |
| (WebCore::NonSharedCharacterBreakIterator::NonSharedCharacterBreakIterator): Same as in |
| TextBreakIteratorICU.cpp. |
| (WebCore::NonSharedCharacterBreakIterator::~NonSharedCharacterBreakIterator): Ditto. |
| (WebCore::cursorMovementIterator): Moved the old implementation of characterBreakIterator() |
| here. |
| |
| * platform/text/wince/TextBreakIteratorWinCE.cpp: |
| (WebCore::NonSharedCharacterBreakIterator::NonSharedCharacterBreakIterator): Same as in |
| TextBreakIteratorICU.cpp. |
| (WebCore::NonSharedCharacterBreakIterator::~NonSharedCharacterBreakIterator): Ditto. |
| (WebCore::cursorMovementIterator): Moved the old implementation of characterBreakIterator() |
| here. |
| |
| 2012-05-25 Simon Fraser <simon.fraser@apple.com> |
| |
| Terrible performance on http://alliances.commandandconquer.com/ and http://www.lordofultima.com/ |
| https://bugs.webkit.org/show_bug.cgi?id=84410 |
| |
| Reviewed by Dave Hyatt. |
| |
| First part of fixing O(N^2) issues when walking the RenderLayer tree |
| for computeCompositingRequirements(). |
| |
| For each layer that goes into the OverlapMap, we were computing an absolute |
| layer bounds, which requires walking back to the root of the tree. |
| Optimize this when possible by storing a stack of offsets as we walk |
| the tree, and using this stack to do the mapping. |
| |
| The stack of offsets and transforms is managed by RenderGeometryMap. |
| When visiting a RenderLayer, RenderLayerCompositor pushes onto |
| the geometry map stack data about offsets and transforms between |
| the current layer and its stacking-parent. RenderGeometryMap handles |
| the case where the previous renderer pushed is between the current |
| renderer and its container. RenderGeometryMap can also handle callers |
| pushing renderers with multiple containers between them. |
| |
| RenderGeometryMap stores some flags about whether the set of mapping |
| steps in the stack involve transforms, fixed position, or special non-uniform |
| mappings like CSS columns. In some cases, it falls back to mapping via |
| renderers. |
| |
| Once constructed, the RenderGeometryMap stack can be used to map multiple |
| rects or points efficiently. Stacks consisting of simple offsets are |
| collapsed to a single offset. |
| |
| Mappings between renderers and their containers are pushed by pushMappingToContainer() |
| methods, which are similar to mapLocalToContainer() methods. Having this code |
| in RenderObjects was deemed preferable to handling columns, transforms etc. all in |
| RenderLayer code. |
| |
| Tested by assertions in RenderGeometryMap code that its mapping matches |
| mapping via localToAbsolute() calls. |
| |
| RenderLayerCompositor::updateCompositingLayers() creates a RenderGeometryMap, |
| and pushes and pops layer renderers as it visits them. The geometry map is used |
| by RenderLayerCompositor::addToOverlapMap() when computing absolute layer bounds. |
| |
| Futher optimizations in RenderGeometryMap are possible, especially with stacks that |
| have many offsets and a few transforms. |
| |
| Tests: compositing/geometry/composited-in-columns.html |
| compositing/geometry/flipped-writing-mode.html |
| |
| * CMakeLists.txt: Add RenderGeometryMap |
| * GNUmakefile.list.am: Ditt |
| * Target.pri: Ditto |
| * WebCore.gypi: Ditto |
| * WebCore.vcproj/WebCore.vcproj: Ditto |
| * WebCore.xcodeproj/project.pbxproj: Ditto |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::absoluteContentBox): |
| (WebCore::RenderBox::pushMappingToContainer): |
| (WebCore::RenderBox::offsetFromContainer): |
| * rendering/RenderBox.h: |
| * rendering/RenderGeometryMap.cpp: Added. |
| (RenderGeometryMapStep): |
| (WebCore::RenderGeometryMapStep::RenderGeometryMapStep): |
| (WebCore::RenderGeometryMapStep::mapPoint): |
| (WebCore::RenderGeometryMapStep::mapQuad): |
| (WebCore::RenderGeometryMap::RenderGeometryMap): |
| (WebCore::RenderGeometryMap::~RenderGeometryMap): |
| (WebCore::RenderGeometryMap::absolutePoint): |
| (WebCore::RenderGeometryMap::absoluteRect): |
| (WebCore::RenderGeometryMap::mapToAbsolute): |
| (WebCore::RenderGeometryMap::pushMappingsToAncestor): |
| (WebCore::RenderGeometryMap::push): |
| (WebCore::RenderGeometryMap::pushView): |
| (WebCore::RenderGeometryMap::popMappingsToAncestor): |
| (WebCore::RenderGeometryMap::stepInserted): |
| (WebCore::RenderGeometryMap::stepRemoved): |
| * rendering/RenderGeometryMap.h: Added. |
| (RenderGeometryMap): |
| (WebCore::RenderGeometryMap::hasNonUniformStep): |
| (WebCore::RenderGeometryMap::hasTransformStep): |
| (WebCore::RenderGeometryMap::hasFixedPositionStep): |
| * rendering/RenderInline.cpp: |
| (WebCore::RenderInline::offsetFromContainer): |
| (WebCore::RenderInline::pushMappingToContainer): |
| * rendering/RenderInline.h: |
| (RenderInline): |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::RenderLayerCompositor::updateCompositingLayers): |
| (WebCore::RenderLayerCompositor::addToOverlapMap): |
| (WebCore::RenderLayerCompositor::addToOverlapMapRecursive): |
| (WebCore::RenderLayerCompositor::computeCompositingRequirements): |
| * rendering/RenderLayerCompositor.h: |
| (RenderLayerCompositor): |
| * rendering/RenderObject.cpp: |
| (WebCore::RenderObject::mapLocalToContainer): |
| (WebCore::RenderObject::pushMappingToContainer): |
| (WebCore::RenderObject::offsetFromContainer): |
| (WebCore::RenderObject::container): |
| * rendering/RenderObject.h: |
| * rendering/RenderTableCell.cpp: |
| (WebCore::RenderTableCell::offsetFromContainer): |
| * rendering/RenderTableCell.h: |
| (RenderTableCell): |
| * rendering/RenderView.cpp: |
| (WebCore::RenderView::pushMappingToContainer): |
| * rendering/RenderView.h: |
| * rendering/svg/RenderSVGForeignObject.cpp: |
| (WebCore::RenderSVGForeignObject::pushMappingToContainer): |
| * rendering/svg/RenderSVGForeignObject.h: |
| (RenderSVGForeignObject): |
| * rendering/svg/RenderSVGInline.cpp: |
| (WebCore::RenderSVGInline::pushMappingToContainer): |
| * rendering/svg/RenderSVGInline.h: |
| (RenderSVGInline): |
| * rendering/svg/RenderSVGModelObject.cpp: |
| (WebCore::RenderSVGModelObject::pushMappingToContainer): |
| * rendering/svg/RenderSVGModelObject.h: |
| (RenderSVGModelObject): |
| * rendering/svg/RenderSVGRoot.cpp: |
| (WebCore::RenderSVGRoot::pushMappingToContainer): |
| * rendering/svg/RenderSVGRoot.h: |
| (RenderSVGRoot): |
| * rendering/svg/RenderSVGText.cpp: |
| (WebCore::RenderSVGText::pushMappingToContainer): |
| * rendering/svg/RenderSVGText.h: |
| (RenderSVGText): |
| * rendering/svg/SVGRenderSupport.cpp: |
| (WebCore::SVGRenderSupport::pushMappingToContainer): |
| * rendering/svg/SVGRenderSupport.h: |
| (SVGRenderSupport): |
| |
| 2012-05-25 Simon Fraser <simon.fraser@apple.com> |
| |
| Cache absolute clip rects on RenderLayer for compositing overlap testing |
| https://bugs.webkit.org/show_bug.cgi?id=87212 |
| |
| Reviewed by Dave Hyatt. |
| |
| Enhance the cache of ClipRects on RenderLayers to store three |
| different types of ClipRects, rather than just one. |
| |
| We need to compute clip rects relative to different layers |
| for different purposes. For painting, we compute relative to |
| the compositing layer which is acting as a painting root. |
| For hit testing, we compute relative to the root, except |
| for transformed layers. For composting overlap testing, we |
| compute relative to the root ("absolute"). At other times, we do one-off |
| computation which we never want to cache ("temporary clip rects"). |
| |
| This change allows us to cache rects for hit testing, and for |
| compositing overlap testing. This has huge performance benefits |
| on some pages (bug 84410). |
| |
| This change also makes ClipRects not arena-allocated, so we |
| can use RefPtr<ClipRect>. |
| |
| No testable behavior change. |
| |
| * rendering/RenderBoxModelObject.cpp: |
| (WebCore::RenderBoxModelObject::willBeDestroyed): No need for the |
| explicit clipRects teardown, since clipRects don't need a live |
| RenderObject for arena-based destruction. |
| |
| * rendering/RenderLayer.cpp: Remove arena-related new and delete. |
| (WebCore::RenderLayer::RenderLayer): No need to explicitly initialize m_clipRects, |
| since it's an OwnPtr now. |
| (WebCore::RenderLayer::~RenderLayer): No explicit clipRect teardown required. |
| (WebCore::RenderLayer::clippingRootForPainting): Renamed to make its purpose |
| more obvious. |
| (WebCore::RenderLayer::paintLayer): Use the TemporaryClipRects type when necessary. |
| (WebCore::RenderLayer::paintLayerContents): Ditto |
| (WebCore::RenderLayer::hitTestLayer): No longer need to use temporary clipRects when |
| hit testing since we cache clip rects for hit testing. |
| (WebCore::RenderLayer::updateClipRects): Take a ClipRectsType and pass it through. |
| (WebCore::RenderLayer::calculateClipRects): Ditto |
| (WebCore::RenderLayer::parentClipRects): Ditto |
| (WebCore::RenderLayer::backgroundClipRect): Ditto |
| (WebCore::RenderLayer::calculateRects): Take ClipRectsType, which obviates temporaryClipRects. |
| (WebCore::RenderLayer::childrenClipRect): Use clippingRootForPainting(). |
| (WebCore::RenderLayer::selfClipRect): Ditto |
| (WebCore::RenderLayer::localClipRect): Ditto |
| (WebCore::RenderLayer::clearClipRectsIncludingDescendants): Take a type of clip rect to clear |
| (include all). Allows us to just clear painting clip rects. |
| (WebCore::RenderLayer::clearClipRects): |
| |
| * rendering/RenderLayer.h: |
| (WebCore::ClipRects::create): We don't use RefCounted<> in order to use a bit in |
| the refCount for a flag. Add create() method. |
| (WebCore::ClipRects::deref): No longer arena-allocated. |
| (WebCore::ClipRectsCache::ClipRectsCache): Struct that holds a small |
| array of the 3 types of clipRects (and, in debug, the layer relative |
| to which they were computed). |
| (WebCore::RenderLayer::clipRects): |
| |
| * rendering/RenderLayerBacking.cpp: |
| (WebCore::RenderLayerBacking::updateCompositedBounds): Use AbsoluteClipRects; rootLayer |
| is always the RenderView's layer here. |
| (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Use TemporaryClipRects. |
| (WebCore::RenderLayerBacking::setRequiresOwnBackingStore): When this variable changes, |
| we need to invalidate painting clipRects, since it affects the ancestor relative to which |
| those rects are computed. |
| |
| * rendering/RenderLayerBacking.h: |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::RenderLayerCompositor::updateBacking): When the composited state |
| of a layer changes, we have to clear all descendant clip rects, since this |
| can affect the layers relative to which clip rects are computed. |
| (WebCore::RenderLayerCompositor::addToOverlapMap): Use AbsoluteClipRects. |
| (WebCore::RenderLayerCompositor::computeCompositingRequirements): No need |
| to call updateLayerPosition(), since that should have always happened after |
| layout. That call cleared clip rects, so removing it is very beneficial. |
| (WebCore::RenderLayerCompositor::clippedByAncestor): Use TemporaryClipRects. |
| |
| * rendering/RenderTreeAsText.cpp: |
| (WebCore::writeLayers): Use TemporaryClipRects. |
| |
| 2012-05-25 Dean Jackson <dino@apple.com> |
| |
| Unreviewed, rolling out r112155. |
| http://trac.webkit.org/changeset/112155 |
| https://bugs.webkit.org/show_bug.cgi?id=79389 |
| Hitch (due to style recalc?) when starting CSS3 animation |
| |
| This caused a number of issues, including: |
| https://bugs.webkit.org/show_bug.cgi?id=87146 |
| https://bugs.webkit.org/show_bug.cgi?id=84194 |
| <rdar://problem/11506629> |
| <rdar://problem/11267408> |
| <rdar://problem/11531859> |
| |
| * dom/Element.cpp: |
| (WebCore::Element::recalcStyle): |
| |
| 2012-05-25 David Hyatt <hyatt@apple.com> |
| |
| https://bugs.webkit.org/show_bug.cgi?id=87525 |
| |
| For the new multi-column layout, create a flow thread and make sure the children get put inside it. |
| |
| Reviewed by Eric Seidel. |
| |
| * rendering/RenderMultiColumnBlock.cpp: |
| (WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock): |
| (WebCore::RenderMultiColumnBlock::addChild): |
| (WebCore): |
| * rendering/RenderMultiColumnBlock.h: |
| (WebCore): |
| (RenderMultiColumnBlock): |
| (WebCore::RenderMultiColumnBlock::flowThread): |
| * rendering/RenderMultiColumnFlowThread.cpp: |
| (WebCore::RenderMultiColumnFlowThread::~RenderMultiColumnFlowThread): |
| (WebCore): |
| * rendering/RenderMultiColumnFlowThread.h: |
| (RenderMultiColumnFlowThread): |
| * rendering/RenderMultiColumnSet.h: |
| * rendering/RenderObject.h: |
| (RenderObject): |
| (WebCore::RenderObject::isRenderMultiColumnSet): |
| |
| 2012-05-25 Emil A Eklund <eae@chromium.org> |
| |
| Change RenderBoxModelObject to compute relativePositionOffset as size |
| https://bugs.webkit.org/show_bug.cgi?id=87447 |
| |
| Reviewed by Eric Seidel. |
| |
| Compute relativePositionOffset as size instead of doing one axis at a |
| time as all call sites uses the size version of the method. This avoids |
| having to walk the DOM twice to accumulate the offsets. |
| |
| Also remove the relativePositionOffsetX and Y methods as they are no |
| longer used. |
| |
| No new tests, covered by existing tests. |
| |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::layoutOverflowRectForPropagation): |
| * rendering/RenderBoxModelObject.cpp: |
| (WebCore::accumulateRelativePositionOffsets): |
| (WebCore::RenderBoxModelObject::relativePositionOffset): |
| * rendering/RenderBoxModelObject.h: |
| (RenderBoxModelObject): |
| |
| 2012-05-25 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r118395. |
| http://trac.webkit.org/changeset/118395 |
| https://bugs.webkit.org/show_bug.cgi?id=87526 |
| |
| Breaking sites including GMail and Yahoo mail (Requested by |
| jsbell on #webkit). |
| |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::collapseMargins): |
| |
| 2012-05-25 Ken Buchanan <kenrb@chromium.org> |
| |
| Layout root not getting cleared for anonymous renderers geting destroyed |
| https://bugs.webkit.org/show_bug.cgi?id=84002 |
| |
| Reviewed by Abhishek Arya. |
| |
| This is a follow-up to r109406, which added a check to clear layout |
| roots when they point to a renderer that is being destroyed. The |
| thinking was that layout roots would never be anonymous renderers, |
| but there are some cases where this is not true (in particular, |
| generated content containers with overflow clips can be layout roots). |
| |
| As in r109406, this patch has no layout test. This is because any test |
| that exercises this behavior is caused by an existing layout bug where |
| a child is not properly getting layout (or a renderer is getting dirtied |
| out of order during layout) and will fail multiple ASSERTs: |
| in particular, ASSERT(!m_layoutRoot->container() || !m_layoutRoot-> |
| container()->needsLayout()) in FrameView::scheduleRelayoutOfSubtree(), |
| and ASSERT_NOT_REACHED() in RenderObject::clearLayoutRootIfNeeded(). |
| We are preventing those bugs from manifesting as security issues with |
| this patch. |
| |
| This also removes an ASSERT from the RenderObject destructor. This is |
| redundant with the condition in RenderObject::clearLayoutRootIfNeeded() |
| which is always called in RenderObject::willBeDestroyed(), so the check |
| is not needed. It had to be removed because it fails when I try to |
| adjust the ASSERT condition by removing the !node() |
| check, due to RenderWidget clearing its node() during destruction. |
| |
| * rendering/RenderObject.cpp: |
| (WebCore::RenderObject::~RenderObject): |
| (WebCore::RenderObject::willBeDestroyed): |
| |
| 2012-05-25 Alexander Pavlov <apavlov@chromium.org> |
| |
| Web Inspector: Hangup when continuously changing a css width value in Inspector |
| https://bugs.webkit.org/show_bug.cgi?id=85802 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| An error in the property whitespace prefix detection algorithm would append the previous line trailing whitespace, |
| thereby enormously increasing the actual prefix during multiple incremental property changes. |
| |
| * inspector/InspectorStyleSheet.cpp: |
| (WebCore::InspectorStyle::newLineAndWhitespaceDelimiters): |
| |
| 2012-05-25 Alexander Pavlov <apavlov@chromium.org> |
| |
| Web Inspector: Clean up Inspector.json after r118367 |
| https://bugs.webkit.org/show_bug.cgi?id=87499 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| This cleans up the semantic inconsistencies introduced into type/field names r118367. |
| |
| No new tests, as this is a refactoring. |
| |
| * inspector/Inspector.json: |
| * inspector/InspectorCSSAgent.cpp: |
| (WebCore::InspectorCSSAgent::asInspectorStyleSheet): |
| (WebCore::InspectorCSSAgent::viaInspectorStyleSheet): |
| (WebCore::InspectorCSSAgent::detectOrigin): |
| * inspector/InspectorCSSAgent.h: |
| (InspectorCSSAgent): |
| * inspector/InspectorStyleSheet.cpp: |
| (WebCore::InspectorStyleSheet::create): |
| (WebCore::InspectorStyleSheet::InspectorStyleSheet): |
| (WebCore::InspectorStyleSheet::buildObjectForRule): |
| (WebCore::InspectorStyleSheet::resourceStyleSheetText): |
| (WebCore::InspectorStyleSheetForInlineStyle::create): |
| (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle): |
| * inspector/InspectorStyleSheet.h: |
| (InspectorStyleSheet): |
| (WebCore::InspectorStyleSheet::canBind): |
| (InspectorStyleSheetForInlineStyle): |
| |
| 2012-05-25 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: speed-up HeapSnapshot._bfs method. |
| https://bugs.webkit.org/show_bug.cgi?id=87502 |
| |
| It had containmentEdges.length call in the loop that forced deoptimization. |
| |
| Reviewed by Yury Semikhatsky. |
| |
| * inspector/front-end/HeapSnapshot.js: |
| (WebInspector.HeapSnapshot.prototype._calculateObjectToWindowDistance): |
| (WebInspector.HeapSnapshot.prototype._bfs): |
| |
| 2012-05-25 Alexei Filippov <alexeif@chromium.org> |
| |
| Web Inspector: Speed up edges iteration in heap profiler |
| https://bugs.webkit.org/show_bug.cgi?id=87286 |
| |
| Add an extra node to nodes array that points to the end of edges array. |
| It allows to eliminate a check for the last node in iteration code. |
| |
| Reviewed by Yury Semikhatsky. |
| |
| * inspector/front-end/HeapSnapshot.js: |
| (WebInspector.HeapSnapshotNode.prototype._edgeIndexesStart): |
| (WebInspector.HeapSnapshotNode.prototype._edgeIndexesEnd): |
| (WebInspector.HeapSnapshotNodeIterator): |
| (WebInspector.HeapSnapshot.prototype._buildRetainers): |
| (WebInspector.HeapSnapshot.prototype._bfs): |
| (WebInspector.HeapSnapshot.prototype._buildAggregates): |
| (WebInspector.HeapSnapshot.prototype._buildPostOrderIndex): |
| (WebInspector.HeapSnapshot.prototype._buildDominatorTree): |
| (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects): |
| |
| 2012-05-25 Andrey Kosyakov <caseq@chromium.org> |
| |
| Web Inspector: put paint and compositing timeline events in a new category of their own |
| https://bugs.webkit.org/show_bug.cgi?id=86852 |
| |
| Reviewed by Pavel Feldman. |
| |
| - add forth timeline category, "Painting"; make it light-purple; |
| - assign paint and compositing events to Painting category; |
| |
| * WebCore.gypi: added timelineBarLightPurple.png; |
| * inspector/front-end/Images/timelineBarLightPurple.png: Added. |
| * inspector/front-end/Images/timelineCheckmarks.png: added light-purple icon; |
| * inspector/front-end/Images/timelineDots.png: ditto. |
| * inspector/front-end/TimelineOverviewPane.js: |
| (WebInspector.TimelineCategoryStrips.prototype.update.appendRecord): do not merge bars in same raw if these are from different categories; |
| (WebInspector.TimelineCategoryStrips.prototype.update): |
| * inspector/front-end/TimelinePresentationModel.js: |
| (WebInspector.TimelinePresentationModel.categories): |
| (WebInspector.TimelinePresentationModel.recordStyle): |
| * inspector/front-end/WebKit.qrc: added timelineBarLightPurple.png; |
| * inspector/front-end/timelinePanel.css: added styles for painting category; |
| (.timeline-category-statusbar-item.timeline-category-painting .timeline-category-checkbox): |
| (.timeline-category-painting .timeline-graph-bar): |
| (.popover .timeline-painting): |
| (.timeline-category-scripting .timeline-tree-icon): |
| (.timeline-category-rendering .timeline-tree-icon): |
| (.timeline-category-painting .timeline-tree-icon): |
| |
| 2012-05-25 W. James MacLean <wjmaclean@chromium.org> |
| |
| [chromium] LayerChromium should recognise existing layer active animations when the layer is added. |
| https://bugs.webkit.org/show_bug.cgi?id=87166 |
| |
| Reviewed by Adrienne Walker. |
| |
| Unit test added. |
| |
| LayerChromium needs to correctly recognize if a newly added layer has an existing |
| active animation. |
| |
| * platform/graphics/chromium/LayerChromium.cpp: |
| (WebCore::LayerChromium::setLayerTreeHost): |
| (WebCore::LayerChromium::notifyAnimationFinished): |
| * platform/graphics/chromium/cc/CCLayerTreeHost.h: |
| (CCLayerTreeHost): |
| |
| 2012-05-25 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: HeapSnapshot: introduce performance counter for HeapSnapshotConstructorsDataGrid._aggregatesReceived method. |
| https://bugs.webkit.org/show_bug.cgi?id=87393 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| * inspector/front-end/HeapSnapshotDataGrids.js: |
| (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._aggregatesReceived): |
| (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._populateChildren): |
| |
| 2012-05-25 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: drop obsolete WebInspector.Uint32Array and adjust snapshot chunk size for better transfer-snapshot metric. |
| https://bugs.webkit.org/show_bug.cgi?id=87490 |
| |
| Originally WebInspector.Uint32Array was used for dynamic array |
| reallocation because we had no information about expected arrays sizes. |
| Now we have these sizes and allocates array precisely. |
| |
| Reviewed by Yury Semikhatsky. |
| |
| * bindings/v8/ScriptHeapSnapshot.cpp: |
| (WebCore): |
| * inspector/front-end/HeapSnapshot.js: |
| * inspector/front-end/HeapSnapshotLoader.js: |
| (WebInspector.HeapSnapshotLoader.prototype._parseUintArray): |
| (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk): |
| |
| 2012-05-25 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: drop obsolete WebInspector.Uint32Array and adjust snapshot chunk size for better transfer-snapshot metric. |
| https://bugs.webkit.org/show_bug.cgi?id=87490 |
| |
| Originally WebInspector.Uint32Array was used for dynamic array |
| reallocation because we had no information about expected arrays sizes. |
| Now we have these sizes and allocates array precisely. |
| |
| Reviewed by Yury Semikhatsky. |
| |
| * bindings/v8/ScriptHeapSnapshot.cpp: |
| (WebCore): |
| * inspector/front-end/HeapSnapshot.js: |
| * inspector/front-end/HeapSnapshotLoader.js: |
| (WebInspector.HeapSnapshotLoader.prototype._parseUintArray): |
| (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk): |
| |
| 2012-05-25 Alexander Pavlov <apavlov@chromium.org> |
| |
| Web Inspector: cmd-[ shortcut navigates page and is fr-keyboard incompatible |
| https://bugs.webkit.org/show_bug.cgi?id=85312 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| Suppress the handling of panel history navigation events if the corresponding keyboard activities produce |
| the "keypress" event (which is the case on French keyboards, where AltGr+[ is translated into Ctrl+Alt+[ on Windows). |
| The event is also told to preventDefault() to avoid browser history navigation on Mac while traversing the Inspector panel history. |
| |
| * inspector/front-end/InspectorView.js: |
| (WebInspector.InspectorView): |
| (WebInspector.InspectorView.prototype._keyPress): |
| (WebInspector.InspectorView.prototype._keyDown): |
| (WebInspector.InspectorView.prototype._keyDownInternal): |
| * inspector/front-end/UIUtils.js: |
| (WebInspector.isWin): |
| |
| 2012-05-25 Yury Semikhatsky <yurys@google.com> |
| |
| Unreviewed. Fixed closure compiler warnings. |
| |
| * inspector/front-end/NativeMemorySnapshotView.js: |
| (WebInspector.NativeMemoryProfileType.prototype.buttonClicked): |
| (WebInspector.NativeMemoryProfileHeader.prototype.createView): |
| |
| 2012-05-25 Lu Guanqun <guanqun.lu@intel.com> |
| |
| [GTK] fix compilation warning in GtkInputMethodFilter.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=87475 |
| |
| Reviewed by Martin Robinson. |
| |
| * platform/gtk/GtkInputMethodFilter.cpp: |
| (WebCore::GtkInputMethodFilter::setWidget): |
| |
| 2012-05-25 Zalan Bujtas <zbujtas@gmail.com> |
| |
| [Qt] Broken controls rendering when transform is applied. |
| https://bugs.webkit.org/show_bug.cgi?id=87483 |
| |
| Reviewed by Simon Hausmann. |
| |
| Use only the scaling transform value to determine the size of |
| the control to be drawn. When other transforms present such as |
| rotate or skew, ignore them, unless scaling also involved. In |
| that case, calculate the scaling value out of the transformation. |
| |
| * ManualTests/qt/control_paiting_with_transforms.html: Added. |
| |
| * platform/qt/RenderThemeQtMobile.cpp: |
| (WebCore::painterScale): |
| (WebCore): |
| (WebCore::StylePainterMobile::sizeForPainterScale): |
| |
| 2012-05-17 Andrey Kosyakov <caseq@chromium.org> |
| |
| [chromium] add instrumentation for compositing |
| https://bugs.webkit.org/show_bug.cgi?id=83928 |
| |
| Reviewed by James Robinson. |
| |
| - plumb willCommit() and didBeginFrame() from CCSingleThreadProxy and CCThreadProxy to inspector instrumentation; |
| - note for threaded case, didBeginFrame() is invoked upon unblocking of main thread; |
| |
| * platform/graphics/chromium/cc/CCLayerTreeHost.h: |
| (CCLayerTreeHostClient): |
| (WebCore::CCLayerTreeHost::didBeginFrame): |
| (WebCore::CCLayerTreeHost::willCommit): |
| * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp: |
| (WebCore::CCSingleThreadProxy::commitAndComposite): |
| * platform/graphics/chromium/cc/CCThreadProxy.cpp: |
| (WebCore::CCThreadProxy::beginFrame): |
| |
| 2012-05-25 Taiju Tsuiki <tzik@chromium.org> |
| |
| Web Inspector: Drop InspectorFileSystemInstrumentation |
| https://bugs.webkit.org/show_bug.cgi?id=87460 |
| |
| Inspector does not need to track DOMFileSystem object now. So we can |
| drop InspectorFileSystemInstrumentation. |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| * GNUmakefile.list.am: |
| * Modules/filesystem/DOMFileSystem.cpp: |
| (WebCore::DOMFileSystem::create): |
| * WebCore.gypi: |
| * WebCore.vcproj/WebCore.vcproj: |
| * WebCore.xcodeproj/project.pbxproj: |
| * inspector/InspectorFileSystemAgent.cpp: |
| (WebCore::InspectorFileSystemAgent::enable): |
| * inspector/InspectorFileSystemAgent.h: |
| (InspectorFileSystemAgent): |
| * inspector/InspectorFileSystemInstrumentation.h: Removed. |
| * inspector/InspectorInstrumentation.cpp: |
| (WebCore): |
| * inspector/InspectorInstrumentation.h: |
| (WebCore): |
| (InspectorInstrumentation): |
| |
| 2012-05-25 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: HeapProfiler: speed-up _calculateClassesRetainedSize and _buildAggregates. |
| https://bugs.webkit.org/show_bug.cgi?id=87482 |
| |
| Engine didn't inline node's classIndex method because the switch statement in it wasn't inlineable. |
| |
| Reviewed by Yury Semikhatsky. |
| |
| * inspector/front-end/HeapSnapshot.js: |
| (WebInspector.HeapSnapshotNode.prototype.classIndex): |
| |
| 2012-05-24 Andreas Kling <kling@webkit.org> |
| |
| Dodge style recalc when id attribute is overwritten with same value. |
| <http://webkit.org/b/87211> |
| |
| Reviewed by Eric Seidel. |
| |
| Don't force style recalc when the id attribute is set to the same value it already had. |
| ~3.5% improvement on Dromaeo's "dom-attr" locally. |
| |
| * dom/Element.cpp: |
| (WebCore::Element::attributeChanged): |
| |
| 2012-05-24 Yury Semikhatsky <yurys@chromium.org> |
| |
| Web Inspector: add profile type for native memory snapshots |
| https://bugs.webkit.org/show_bug.cgi?id=87400 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| Introduced new profile type and view classes for native memory snapshots. |
| All the stuff is hidden behind an experimental setting. |
| |
| * WebCore.gypi: |
| * WebCore.vcproj/WebCore.vcproj: |
| * inspector/compile-front-end.py: |
| * inspector/front-end/NativeMemorySnapshotView.js: Added. |
| (WebInspector.NativeMemorySnapshotView): |
| (WebInspector.NativeMemorySnapshotView.prototype.dispose): |
| (WebInspector.NativeMemorySnapshotView.prototype.get statusBarItems): |
| (WebInspector.NativeMemorySnapshotView.prototype.get profile): |
| (WebInspector.NativeMemoryProfileType): |
| (WebInspector.NativeMemoryProfileType.prototype.get buttonTooltip): |
| (WebInspector.NativeMemoryProfileType.prototype.buttonClicked): |
| (WebInspector.NativeMemoryProfileType.prototype.get treeItemTitle): |
| (WebInspector.NativeMemoryProfileType.prototype.get description): |
| (WebInspector.NativeMemoryProfileType.prototype.createTemporaryProfile): |
| (WebInspector.NativeMemoryProfileType.prototype.createProfile): |
| (WebInspector.NativeMemoryProfileHeader): |
| (WebInspector.NativeMemoryProfileHeader.prototype.createSidebarTreeElement): |
| (WebInspector.NativeMemoryProfileHeader.prototype.createView): |
| * inspector/front-end/ProfilesPanel.js: |
| * inspector/front-end/Settings.js: |
| (WebInspector.ExperimentsSettings): |
| * inspector/front-end/WebKit.qrc: |
| * inspector/front-end/inspector.html: |
| |
| 2012-05-25 Yury Semikhatsky <yurys@chromium.org> |
| |
| Web Inspector: make some profiler methods private |
| https://bugs.webkit.org/show_bug.cgi?id=87479 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| - Removed unused methods. |
| - Renamed private methods so that their names start with underscore. |
| - ProfileLauncherView methods are called directly from ProfilesPanel instead |
| of sending events. |
| |
| * inspector/front-end/CPUProfileView.js: |
| * inspector/front-end/CSSSelectorProfileView.js: |
| (WebInspector.CSSSelectorProfileType.prototype.buttonClicked): |
| (WebInspector.CSSSelectorProfileType.prototype._startRecordingProfile): |
| (WebInspector.CSSSelectorProfileType.prototype.createTemporaryProfile): |
| * inspector/front-end/ProfileLauncherView.js: |
| (WebInspector.ProfileLauncherView.prototype.profileStarted): |
| (WebInspector.ProfileLauncherView.prototype.profileFinished): |
| * inspector/front-end/ProfilesPanel.js: |
| (WebInspector.ProfileType.prototype.createProfile): |
| (WebInspector.ProfilesPanel.prototype.toggleRecordButton): |
| (WebInspector.ProfilesPanel.prototype._reset): |
| (WebInspector.ProfilesPanel.prototype._populateProfiles.populateCallback.var): |
| (WebInspector.ProfilesPanel.prototype._populateProfiles.populateCallback): |
| (WebInspector.ProfilesPanel.prototype._populateProfiles): |
| (WebInspector.ProfilesPanel.prototype.setRecordingProfile): |
| (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot.done): |
| (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot): |
| |
| 2012-05-25 Keishi Hattori <keishi@webkit.org> |
| |
| Bad checkValidity result on recently "enabled" form fields |
| https://bugs.webkit.org/show_bug.cgi?id=85704 |
| |
| Reviewed by Kent Tamura. |
| |
| Test: fast/forms/disabled-attr-checkvalidity.html |
| |
| We were tripping on the assertion m_isValid == validity()->valid() |
| inside HTMLFormControlElement::isValidFormControlElement. |
| m_isValid was becoming stale because setNeedsValidityCheck wasn't called |
| after m_willValidate changed. |
| |
| * html/HTMLFormControlElement.cpp: |
| (WebCore::HTMLFormControlElement::willValidate): We used const_cast |
| because it was too difficult to remove const. We are checking if the |
| value from willValidate has changed to avoid an infinite loop. |
| (WebCore::HTMLFormControlElement::setNeedsWillValidateCheck): |
| |
| 2012-05-24 Kinuko Yasuda <kinuko@chromium.org> |
| |
| [chromium] DataTransferItem.webkitGetAsEntry() shouldn't be exposed without flag yet |
| https://bugs.webkit.org/show_bug.cgi?id=87457 |
| |
| Reviewed by Kent Tamura. |
| |
| No new tests, marking some tests SKIP as we stop exposing this by default. |
| |
| * Modules/filesystem/DataTransferItemFileSystem.idl: Removed webkitGetAsEntry |
| |
| 2012-05-25 Rakesh KN <rakesh.kn@motorola.com> |
| |
| RadioNodeList does not include a object element |
| https://bugs.webkit.org/show_bug.cgi?id=87371 |
| |
| Reviewed by Kent Tamura. |
| |
| As per spec http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#category-listed |
| Object element should also be listed in RadioNodeList object. |
| |
| Updated existing test. |
| |
| * html/RadioNodeList.cpp: |
| (WebCore::RadioNodeList::checkElementMatchesRadioNodeListFilter): |
| Compares if test element's name/id and form matches that of the RadioNodeList filter. |
| (WebCore::RadioNodeList::nodeMatches): |
| Added support for Object element, check if object elements name/id matches the RadioNodeList filter. |
| * html/RadioNodeList.h: |
| (RadioNodeList): Ditto |
| |
| 2012-05-25 Jan Keromnes <janx@linux.com> |
| |
| Web Inspector: Resource object has no methods getContent and setContent |
| https://bugs.webkit.org/show_bug.cgi?id=87424 |
| |
| This fixes the extension API so that it uses the `new Resource()` |
| constructor, which adds the missing `getContent` and `setContent` |
| methods to a `Resource` object. |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| The tests were fixed accordingly in: |
| LayoutTests/inspector/extensions/extensions-resources-expected.txt |
| |
| * inspector/front-end/ExtensionAPI.js: |
| (injectedExtensionAPI.Panels.prototype.setOpenResourceHandler.else.callbackWrapper): |
| (injectedExtensionAPI.Panels.prototype.setOpenResourceHandler): |
| |
| 2012-05-24 Tim Horton <timothy_horton@apple.com> |
| |
| Add feature defines for web-facing parts of CSS Regions and Exclusions |
| https://bugs.webkit.org/show_bug.cgi?id=87442 |
| <rdar://problem/10887709> |
| |
| Reviewed by Dan Bernstein. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| * GNUmakefile.am: |
| * bindings/generic/RuntimeEnabledFeatures.cpp: |
| * bindings/generic/RuntimeEnabledFeatures.h: |
| (RuntimeEnabledFeatures): |
| (WebCore::RuntimeEnabledFeatures::setCSSExclusionsEnabled): |
| (WebCore::RuntimeEnabledFeatures::cssExclusionsEnabled): |
| * bindings/js/JSCSSRuleCustom.cpp: |
| (WebCore::toJS): |
| * bindings/objc/DOMCSS.mm: |
| (kitClass): |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): |
| * css/CSSParser.cpp: |
| (WebCore::isSimpleLengthPropertyID): |
| (WebCore::isValidKeywordPropertyAndValue): |
| (WebCore::isKeywordPropertyID): |
| (WebCore::CSSParser::parseValue): |
| (WebCore::CSSParser::detectAtToken): |
| * css/CSSProperty.cpp: |
| (WebCore::CSSProperty::isInheritedProperty): |
| * css/CSSPropertyNames.in: |
| * css/CSSRule.cpp: |
| (WebCore::CSSRule::cssText): |
| (WebCore::CSSRule::destroy): |
| (WebCore::CSSRule::reattach): |
| * css/CSSRule.h: |
| (WebCore::CSSRule::isRegionRule): |
| * css/CSSRule.idl: |
| * css/StyleBuilder.cpp: |
| (WebCore::StyleBuilder::StyleBuilder): |
| * css/StylePropertySet.cpp: |
| (WebCore::StylePropertySet::getPropertyValue): |
| (WebCore::StylePropertySet::asText): |
| * css/StylePropertyShorthand.cpp: |
| (WebCore::shorthandForProperty): |
| * css/StylePropertyShorthand.h: |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::collectMatchingRulesForList): |
| * css/StyleRule.cpp: |
| (WebCore::StyleRuleBase::destroy): |
| (WebCore::StyleRuleBase::copy): |
| (WebCore::StyleRuleBase::createCSSOMWrapper): |
| * css/WebKitCSSRegionRule.cpp: |
| * css/WebKitCSSRegionRule.h: |
| * css/WebKitCSSRegionRule.idl: |
| * dom/Document.cpp: |
| * dom/Document.h: |
| * dom/Document.idl: |
| * page/DOMWindow.idl: |
| * page/Settings.cpp: |
| (WebCore::Settings::Settings): |
| * page/Settings.h: |
| (WebCore::Settings::setCSSRegionsEnabled): |
| (WebCore::Settings::cssRegionsEnabled): |
| |
| 2012-05-24 Geoffrey Garen <ggaren@apple.com> |
| |
| WebKit should be lazy-finalization-safe (esp. the DOM) |
| https://bugs.webkit.org/show_bug.cgi?id=87456 |
| |
| Reviewed by Filip Pizlo. |
| |
| * bindings/js/DOMWrapperWorld.cpp: |
| (WebCore::JSStringOwner::finalize): |
| * bindings/js/JSDOMBinding.cpp: |
| (WebCore::jsStringSlowCase): |
| * bindings/js/JSDOMBinding.h: |
| (WebCore::cacheWrapper): |
| (WebCore::uncacheWrapper): Use the new idioms. |
| |
| (WebCore::jsString): Use get instead of find because get is simpler in |
| the case of entries that are logically null. |
| |
| (WebCore::domObjectWrapperMapFor): Removed, since it was unused. |
| |
| * bindings/js/ScriptWrappable.h: |
| (WebCore::ScriptWrappable::clearWrapper): Use the new idioms. |
| |
| * bridge/runtime_root.cpp: |
| (JSC::Bindings::RootObject::invalidate): Check for null while iterating, |
| since that's possible now. |
| |
| (JSC::Bindings::RootObject::addRuntimeObject): |
| (JSC::Bindings::RootObject::removeRuntimeObject): |
| (JSC::Bindings::RootObject::finalize): Use the new idioms. |
| |
| * bridge/runtime_root.h: |
| (RootObject): Clarified the word "need". |
| |
| 2012-05-24 Kent Tamura <tkent@chromium.org> |
| |
| PAGE_POPUP: window.setValueAndClosePopup should be moved to a |
| per-context property of DOMWindow. |
| https://bugs.webkit.org/show_bug.cgi?id=87086 |
| |
| Reviewed by Adam Barth. |
| |
| - Introduce window.pagePagePopupController property as V8EnabledPerContext. |
| - Move window.setValueAndClosePopup() to window.pagePopupController. |
| So, we can remove ad-hoc ScriptController::installFunctionsForPagePopup(). |
| |
| No behavior change. |
| |
| Test: fast/forms/date/no-page-popup-controller.html |
| |
| * Resources/calendarPicker.js: |
| (submitValue): Use window.pagePopupController. |
| (handleCancel): ditto. |
| * WebCore.gypi: Add new files. |
| * bindings/generic/ContextEnabledFeatures.cpp: |
| (WebCore::ContextEnabledFeatures::pagePopupEnabled): Added. |
| * bindings/generic/ContextEnabledFeatures.h: |
| (ContextEnabledFeatures): Added. |
| * bindings/v8/ScriptController.cpp: Remove installFunctionsForPagePopup(). |
| * bindings/v8/ScriptController.h: ditto. |
| * loader/FrameLoaderClient.h: |
| (WebCore::FrameLoaderClient::allowPagePopup): Added. |
| * page/DOMWindowPagePopup.cpp: |
| (WebCore::DOMWindowPagePopup::DOMWindowPagePopup): |
| Creates a PagePopupController object for the specified PagePopupClient. |
| (WebCore::DOMWindowPagePopup::~DOMWindowPagePopup): |
| Empty destructor to generate the RefPtr<PagePopupController> destructor. |
| (WebCore::DOMWindowPagePopup::pagePopupController): |
| * page/DOMWindowPagePopup.h: |
| (DOMWindowPagePopup): |
| - Remove setValueAndClosePopup() |
| - Add pagePopupController() |
| - Change the data member from PagePopupClient to PagePopupController. |
| * page/DOMWindowPagePopup.idl: Supply per-context window.pagePopupController. |
| * page/PagePopupController.cpp: Added. This object is attached to window. |
| * page/PagePopupController.h: ditto. |
| * page/PagePopupController.idl: ditto. |
| |
| 2012-05-21 Kinuko Yasuda <kinuko@chromium.org> |
| |
| Cleanup: add a file system call which captures the file metadata at once. |
| https://bugs.webkit.org/show_bug.cgi?id=86995 |
| |
| Reviewed by David Levin. |
| |
| Current File.slice() (webkitSlice()) implementation calls two separate platform calls, |
| getFileSize() and getFileModificationTime() [both are defined in platform/FileSystem.h], |
| to capture the file metadata, but we should have a single file system call to get them at once |
| for two reasons: 1. save additional system call costs, and 2. atomically obtain the file metadata. |
| |
| No new tests: existing tests (http/tests/local/fileapi/* and fast/files/*) should pass. |
| |
| * fileapi/File.cpp: |
| (WebCore::File::captureSnapshot): |
| * platform/FileMetadata.h: |
| * platform/FileSystem.h: |
| * platform/chromium/FileSystemChromium.cpp: |
| (WebCore::getFileMetadata): Added. |
| * platform/chromium/PlatformSupport.h: |
| (PlatformSupport): |
| * platform/gtk/FileSystemGtk.cpp: |
| (WebCore::getFileMetadata): Added. |
| * platform/posix/FileSystemPOSIX.cpp: |
| (WebCore::getFileMetadata): Added. |
| * platform/qt/FileSystemQt.cpp: |
| (WebCore::getFileMetadata): Added. |
| * platform/win/FileSystemWin.cpp: |
| (WebCore::getFileSizeFromFindData): |
| (WebCore::getFileModificationTimeFromFindData): |
| (WebCore::getFileSize): |
| (WebCore::getFileModificationTime): |
| (WebCore::getFileMetadata): Added. |
| * platform/wince/FileSystemWinCE.cpp: |
| (WebCore::getFileSizeFromFileInfo): |
| (WebCore::getFileModificationTimeFromFileInfo): |
| (WebCore::getFileSize): |
| (WebCore::getFileModificationTime): |
| (WebCore::getFileMetadata): Added. |
| * platform/wx/FileSystemWx.cpp: |
| (WebCore::getFileMetadata): Added. |
| (WebCore): |
| |
| 2012-05-24 Hironori Bono <hbono@chromium.org> |
| |
| Enable grammar checking on Chromium when we paste text (Take 2) |
| https://bugs.webkit.org/show_bug.cgi?id=74393 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| This change enables grammar checking on Chromium and implements a mock grammar |
| checker to fix a failing test. |
| |
| Test: editing/spelling/grammar-markers.html |
| |
| * platform/graphics/skia/GraphicsContextSkia.cpp: |
| (WebCore::GraphicsContext::drawLineForDocumentMarker): render grammar markers in gray on Windows and Linux or in green on Mac. |
| |
| 2012-05-24 Dominic Mazzoni <dmazzoni@google.com> |
| |
| Crash in WebCore::AccessibilityTable::isDataTable |
| https://bugs.webkit.org/show_bug.cgi?id=87409 |
| |
| Reviewed by Abhishek Arya. |
| |
| Use Node::rendererIsEditable everywhere rather than |
| Node::isContentEditable because the latter can trigger a layout |
| and destroy the renderer. New test covers the change to |
| AccessibilityTable.cpp, changes to AccessibilityRenderObject.cpp |
| are covered by existing tests. |
| |
| Test: accessibility/contenteditable-table-check-causes-crash.html |
| |
| * accessibility/AccessibilityRenderObject.cpp: |
| (WebCore::AccessibilityRenderObject::isReadOnly): |
| (WebCore::AccessibilityRenderObject::contentChanged): |
| * accessibility/AccessibilityTable.cpp: |
| (WebCore::AccessibilityTable::isDataTable): |
| |
| 2012-05-24 Yoshifumi Inoue <yosin@chromium.org> |
| |
| [Forms][TextArea] Too long validation message doesn't count LF as CRLF |
| https://bugs.webkit.org/show_bug.cgi?id=87458 |
| |
| Reviewed by Kent Tamura. |
| |
| This patch changes current number of characters in "too long" validation message |
| parameter to counting newline as 2 characters (CR and LF) as submission data. |
| |
| No new tests. To have test for this change, we need to change localization |
| text handling during DRT. We'll try. |
| |
| * html/HTMLTextAreaElement.cpp: |
| (WebCore::HTMLTextAreaElement::validationMessage): Use computeLengthForSubmission instead of numGraphmeClusters. |
| |
| 2012-05-24 Hayato Ito <hayato@chromium.org> |
| |
| Fix crashes caused by a DOMCharacterDataModified event on a text node. |
| https://bugs.webkit.org/show_bug.cgi?id=86953 |
| |
| Reviewed by Dimitri Glazkov. |
| |
| TextNode can be released while CharacterData::setData() will dispatch a mutation event. |
| So protect it. |
| |
| Mutation event itself should not be dispatched on the test case. |
| This is being tracked by webkit bug https://bugs.webkit.org/show_bug.cgi?id=87372. |
| |
| Test: fast/events/dom-character-data-modified-textarea-crash.html |
| |
| * dom/CharacterData.cpp: |
| (WebCore::CharacterData::setData): |
| |
| 2012-05-24 Philippe Normand <pnormand@igalia.com> |
| |
| [GTK] Add --enable-css3-flexbox configure option after r118304. |
| https://bugs.webkit.org/show_bug.cgi?id=87455 |
| |
| Reviewed by Xan Lopez. |
| |
| * GNUmakefile.am: |
| |
| 2012-05-24 MORITA Hajime <morrita@google.com> |
| |
| Scoped stylesheet should be per-document-configurable. |
| https://bugs.webkit.org/show_bug.cgi?id=86985 |
| |
| Reviewed by Kent Tamura. |
| |
| This change replaced RuntimeEnabledFeatures::styleScopedEnabled() callsites |
| with newly introduced ContextEnabledFeatures::styleScopedEnabled(). |
| Clients can override the decision by implementing FrameLoaderClient::allowStyleScoped(). |
| |
| No new tests. This isn't testable on DRT. |
| |
| * bindings/generic/ContextEnabledFeatures.cpp: |
| (WebCore): |
| (WebCore::ContextEnabledFeatures::styleScopedEnabled): |
| * bindings/generic/ContextEnabledFeatures.h: |
| (WebCore): |
| (ContextEnabledFeatures): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::determineScope): |
| * css/StyleResolver.h: |
| (StyleResolver): |
| * html/HTMLStyleElement.cpp: |
| (WebCore::HTMLStyleElement::registerWithScopingNode): |
| (WebCore::HTMLStyleElement::unregisterWithScopingNode): |
| * loader/FrameLoaderClient.h: |
| (WebCore::FrameLoaderClient::allowStyleScoped): |
| |
| 2012-05-24 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r118452. |
| http://trac.webkit.org/changeset/118452 |
| https://bugs.webkit.org/show_bug.cgi?id=87446 |
| |
| Causes many tests to assert on Mac, NRWT bails out (Requested |
| by sundiamonde on #webkit). |
| |
| * rendering/RenderObject.cpp: |
| (WebCore::RenderObject::~RenderObject): |
| (WebCore::RenderObject::clearLayoutRootIfNeeded): |
| |
| 2012-05-24 Kevin Ollivier <kevino@theolliviers.com> |
| |
| [wx] Unreviewed build fix. Add contextMenuItemVector stub. |
| |
| * platform/wx/ContextMenuWx.cpp: |
| (WebCore): |
| (WebCore::contextMenuItemVector): |
| |
| 2012-05-24 Raymond Toy <rtoy@google.com> |
| |
| Use 32-byte alignment in AudioArray if using WEBAUDIO_FFMPEG |
| https://bugs.webkit.org/show_bug.cgi?id=87430 |
| |
| Reviewed by Chris Rogers. |
| |
| Covered by existing tests. |
| |
| * platform/audio/AudioArray.h: |
| (WebCore::AudioArray::allocate): |
| |
| 2012-05-24 Antoine Labour <piman@chromium.org> |
| |
| [chromium] Add a setForceRenderSurface to WebLayer for test/bench purpose |
| https://bugs.webkit.org/show_bug.cgi?id=87436 |
| |
| Reviewed by James Robinson. |
| |
| Tested by CCLayerTreeHostCommonTest.verifyForceRenderSurface |
| |
| * platform/graphics/chromium/LayerChromium.cpp: |
| (WebCore::LayerChromium::LayerChromium): |
| (WebCore::LayerChromium::setForceRenderSurface): |
| (WebCore): |
| (WebCore::LayerChromium::pushPropertiesTo): |
| * platform/graphics/chromium/LayerChromium.h: |
| (WebCore::LayerChromium::forceRenderSurface): |
| (LayerChromium): |
| * platform/graphics/chromium/cc/CCLayerImpl.cpp: |
| (WebCore::CCLayerImpl::CCLayerImpl): |
| * platform/graphics/chromium/cc/CCLayerImpl.h: |
| (WebCore::CCLayerImpl::forceRenderSurface): |
| (WebCore::CCLayerImpl::setForceRenderSurface): |
| (CCLayerImpl): |
| * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp: |
| (WebCore::subtreeShouldRenderToSeparateSurface): |
| |
| 2012-05-24 Ken Buchanan <kenrb@chromium.org> |
| |
| Layout root not getting cleared for anonymous renderers geting destroyed |
| https://bugs.webkit.org/show_bug.cgi?id=84002 |
| |
| Reviewed by Abhishek Arya. |
| |
| This is a follow-up to r109406, which added a check to clear layout |
| roots when they point to a renderer that is being destroyed. The |
| thinking was that layout roots would never be anonymous renderers, |
| but there are some cases where this is not true (in particular, |
| generated content containers with overflow clips can be layout roots). |
| |
| As in r109406, this patch has no layout test. This is because any test |
| that exercises this behavior is caused by an existing layout bug where |
| a child is not properly getting layout (or a renderer is getting dirtied |
| out of order during layout) and will fail multiple ASSERTs: |
| in particular, ASSERT(!m_layoutRoot->container() || !m_layoutRoot-> |
| container()->needsLayout()) in FrameView::scheduleRelayoutOfSubtree(), |
| and ASSERT_NOT_REACHED() in RenderObject::clearLayoutRootIfNeeded(). |
| We are preventing those bugs from manifesting as security issues with |
| this patch. |
| |
| * rendering/RenderObject.cpp: |
| (WebCore::RenderObject::~RenderObject): |
| (WebCore::RenderObject::willBeDestroyed): |
| |
| 2012-05-24 Anders Carlsson <andersca@apple.com> |
| |
| Corrupted pages rendering when images are zoomed on Google+ |
| https://bugs.webkit.org/show_bug.cgi?id=87439 |
| <rdar://problem/11503078> |
| |
| Reviewed by Beth Dakin. |
| |
| The rect that's given to scrollContentsSlowPath is in frame view coordinates, but if we end up |
| passing them to RenderLayer::setBackingNeedsRepaintInRect we need to account for the frame scale factor. |
| |
| * page/FrameView.cpp: |
| (WebCore::FrameView::scrollContentsSlowPath): |
| |
| 2012-05-24 Ryosuke Niwa <rniwa@webkit.org> |
| |
| REGRESSION (r112399): insertHTML doesn't respect current selection range and inserts HTML to incorrect position |
| https://bugs.webkit.org/show_bug.cgi?id=87195 |
| |
| Reviewed by Darin Adler. |
| |
| The bug was caused by our passing insertionPos.anchorNode() to splitTreeToNode's start node even when |
| the position's type was an offset in a container. Fixed the bug by passing the node after the insert position |
| or the container node if the position is at the end of the container. |
| |
| Test: editing/pasteboard/paste-at-end-of-node-followed-by-inline-element.html |
| |
| * editing/ReplaceSelectionCommand.cpp: |
| (WebCore::ReplaceSelectionCommand::doApply): |
| |
| 2012-05-24 Emil A Eklund <eae@chromium.org> |
| |
| REGRESSION (115573): Incorrect rounding of margins for floats |
| https://bugs.webkit.org/show_bug.cgi?id=87319 |
| |
| Reviewed by Eric Seidel. |
| |
| In RenderBlock::computeInlinePreferredLogicalWidths we used a float to |
| accumulate margins for floating children while the children themselves |
| represent their margins as LayoutUnits. Due to lack of rounding this can |
| cause the block to be too small at certain certain zoom levels, causing |
| unwanted wrapping. |
| |
| This patch changes computeInlinePreferredLogicalWidths to use a |
| LayoutUnit to accumulate the margins and thus ensures that the margin |
| values are rounded the same way. |
| |
| Test: fast/block/float/floats-with-margin-should-not-wrap.html |
| |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::computeInlinePreferredLogicalWidths): |
| |
| 2012-05-24 Christophe Dumez <christophe.dumez@intel.com> |
| |
| postMessage and webkitPostMessage should behave the same way |
| https://bugs.webkit.org/show_bug.cgi?id=87384 |
| |
| Reviewed by Adam Barth. |
| |
| Make postMessage behave the same way as webkitPostMessage, meaning |
| that it supports transfer of MessagePorts and ArrayBuffers as per |
| the spec. Both V8 and JSC implementations have been updated. |
| |
| Test: fast/dom/Window/window-postmessage-args.html |
| |
| * bindings/js/JSDOMWindowCustom.cpp: |
| (WebCore::handlePostMessage): |
| (WebCore::JSDOMWindow::postMessage): |
| (WebCore::JSDOMWindow::webkitPostMessage): |
| * bindings/v8/custom/V8DOMWindowCustom.cpp: |
| (WebCore::handlePostMessageCallback): |
| (WebCore::V8DOMWindow::postMessageCallback): |
| (WebCore::V8DOMWindow::webkitPostMessageCallback): |
| * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp: |
| (WebCore::handlePostMessageCallback): |
| (WebCore::V8DedicatedWorkerContext::postMessageCallback): |
| (WebCore::V8DedicatedWorkerContext::webkitPostMessageCallback): |
| * bindings/v8/custom/V8MessagePortCustom.cpp: |
| (WebCore::handlePostMessageCallback): |
| (WebCore::V8MessagePort::postMessageCallback): |
| (WebCore::V8MessagePort::webkitPostMessageCallback): |
| * bindings/v8/custom/V8WorkerCustom.cpp: |
| (WebCore::handlePostMessageCallback): |
| (WebCore::V8Worker::postMessageCallback): |
| (WebCore::V8Worker::webkitPostMessageCallback): |
| |
| 2012-05-24 Pablo Flouret <pablof@motorola.com> |
| |
| Submit button doesn't submit the form if the form is wrapped by an anchor tag |
| https://bugs.webkit.org/show_bug.cgi?id=86719 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| When a form's button is clicked or activated with the keyboard a |
| DOMActivate event is dispatched internally and the default handler for |
| it takes care of processing the form submission, but the underlying |
| event that prompted it is not set as handled and so it ends up |
| navigating the anchor, thereby cancelling the form submission. |
| |
| This patch sets the original click event as handled if the DOMActivate |
| event was handled. This matches the rest of the browsers for form |
| controls that submit a form (input type=submit, button type=submit, |
| input type=image, etc), and matches IE for the rest of the controls |
| (basically, IE never activates the anchor when clicking on form |
| controls, Presto and Gecko mostly don't either, except in a few cases. |
| |
| Test: fast/forms/form-in-anchor-controls-activation.html |
| |
| * dom/Node.cpp: |
| (WebCore::Node::dispatchDOMActivateEvent): |
| (WebCore::Node::defaultEventHandler): |
| * dom/Node.h: |
| (Node): |
| * html/HTMLButtonElement.cpp: |
| (WebCore::HTMLButtonElement::defaultEventHandler): |
| |
| 2012-05-24 Crystal Zhang <haizhang@rim.com> |
| |
| [BlackBerry] Implement select popup and remove old hook to air popup |
| https://bugs.webkit.org/show_bug.cgi?id=87419 |
| |
| Reviewed by Rob Buis. |
| |
| Add new files to make file, add css file for select popup. |
| |
| * PlatformBlackBerry.cmake: |
| * Resources/blackberry/popupControlBlackBerry.css: Added. |
| (html): |
| (body): |
| (.bottombuttonOK): |
| (.bottombuttonCancel): |
| (.tablebutton): |
| |
| 2012-05-24 Levi Weintraub <leviw@chromium.org> |
| |
| Avoid creating InlineBoxes for floating and positioned objects in isolates. |
| https://bugs.webkit.org/show_bug.cgi?id=87277 |
| |
| Reviewed by Eric Seidel. |
| |
| We currently will create a placeholder run for the first object we encounter inside an isolate. Then |
| in RenderBlockLineLayout's constructBidiRuns, we replace that run with the contents of the Isolate. |
| We run into problems when there are no valid contents in the Isolate. We can't simply remove the |
| placeholder if there's nothing to replace it with since it may be the logically last run, which we |
| track but can't rebuild by the time we're handling isolates (we've already shuffled the BidiRuns around). |
| |
| With this change, we avoid creating a placeholder altogether until we hit contents in the isolate |
| that would warrant a BidiRun in the first place. |
| |
| Test: fast/text/international/float-as-only-child-of-isolate-crash.html |
| |
| * rendering/InlineIterator.h: |
| (WebCore::IsolateTracker::addFakeRunIfNecessary): |
| * rendering/RenderBlock.h: |
| (RenderBlock): |
| (WebCore::RenderBlock::shouldSkipCreatingRunsForObject): |
| * rendering/RenderBlockLineLayout.cpp: |
| (WebCore::RenderBlock::appendRunsForObject): |
| |
| 2012-05-24 Ryosuke Niwa <rniwa@webkit.org> |
| |
| There are too many poorly named functions to create a fragment from markup |
| https://bugs.webkit.org/show_bug.cgi?id=87339 |
| |
| Reviewed by Eric Seidel. |
| |
| Moved all functions that create a fragment from markup to markup.h/cpp. |
| There should be no behavioral change. |
| |
| * dom/Range.cpp: |
| (WebCore::Range::createContextualFragment): |
| * dom/Range.h: Removed createDocumentFragmentForElement. |
| * dom/ShadowRoot.cpp: |
| (WebCore::ShadowRoot::setInnerHTML): |
| * editing/markup.cpp: |
| (WebCore::createFragmentFromMarkup): |
| (WebCore::createFragmentForInnerOuterHTML): Renamed from createFragmentFromSource. |
| (WebCore::createFragmentForTransformToFragment): Moved from XSLTProcessor. |
| (WebCore::removeElementPreservingChildren): Moved from Range. |
| (WebCore::createContextualFragment): Ditto. |
| * editing/markup.h: |
| * html/HTMLElement.cpp: |
| (WebCore::HTMLElement::setInnerHTML): |
| (WebCore::HTMLElement::setOuterHTML): |
| (WebCore::HTMLElement::insertAdjacentHTML): |
| * inspector/DOMPatchSupport.cpp: |
| (WebCore::DOMPatchSupport::patchNode): Added a FIXME since this code should be using |
| one of the functions listed in markup.h |
| * xml/XSLTProcessor.cpp: |
| (WebCore::XSLTProcessor::transformToFragment): |
| |
| 2012-05-24 Jer Noble <jer.noble@apple.com> |
| |
| MediaControlTimelineElement is adjusting time 3 times per click |
| https://bugs.webkit.org/show_bug.cgi?id=58160 |
| |
| Reviewed by Eric Carlson. |
| |
| No new tests; we intentionally throttle timeupdate events for the same |
| movie time, so there is no way to write a layout test for this case. |
| |
| Only call setCurrentTime() on mousedown or mousemove events. |
| |
| * html/shadow/MediaControlElements.cpp: |
| (WebCore::MediaControlTimelineElement::defaultEventHandler): |
| |
| 2012-05-24 John Mellor <johnme@chromium.org> |
| |
| Font Boosting: Add compile flag and runtime setting |
| https://bugs.webkit.org/show_bug.cgi?id=87394 |
| |
| Reviewed by Adam Barth. |
| |
| Add ENABLE_FONT_BOOSTING compile flag and fontBoostingEnabled runtime setting. |
| |
| No functionality yet, so no new tests. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| * GNUmakefile.am: |
| * Target.pri: |
| * page/Settings.cpp: |
| (WebCore::Settings::Settings): |
| (WebCore::Settings::setFontBoostingEnabled): |
| (WebCore): |
| * page/Settings.h: |
| (Settings): |
| (WebCore::Settings::fontBoostingEnabled): |
| |
| 2012-05-24 Greg Spencer <gspencer@chromium.org> |
| |
| MHTML files should be loadable from all schemes considered local, |
| not just "file:" |
| |
| https://bugs.webkit.org/show_bug.cgi?id=86540 |
| |
| Reviewed by Adam Barth. |
| |
| Existing tests should verify correct function. |
| |
| * loader/MainResourceLoader.cpp: |
| (WebCore::MainResourceLoader::continueAfterContentPolicy): |
| * loader/archive/mhtml/MHTMLArchive.cpp: |
| (WebCore::MHTMLArchive::create): |
| |
| 2012-05-24 Dana Jansens <danakj@chromium.org> |
| |
| [chromium] Remove some leftover references to LayerTilerChromium |
| https://bugs.webkit.org/show_bug.cgi?id=87405 |
| |
| Reviewed by James Robinson. |
| |
| * platform/graphics/chromium/LayerChromium.h: |
| (LayerChromium): |
| * platform/graphics/chromium/SolidColorLayerChromium.h: |
| |
| 2012-05-24 Jessie Berlin <jberlin@apple.com> |
| |
| REGRESSION(r109663) All the the dom/html/level2/html/HTMLFrameElement* tests crash on Windows |
| https://bugs.webkit.org/show_bug.cgi?id=87410 |
| |
| Reviewed by Anders Carlsson. |
| |
| Do not pass a reference type to va_start (see r75435). |
| |
| * platform/LocalizedStrings.cpp: |
| (WebCore::formatLocalizedString): |
| |
| 2012-05-24 Yael Aharon <yael.aharon@nokia.com> |
| |
| [Qt] Stop using the flag FIXED_POSITION_CREATES_STACKING_CONTEXT |
| https://bugs.webkit.org/show_bug.cgi?id=87392 |
| |
| Reviewed by Antonio Gomes. |
| |
| Remove our dependency on a build flag and use the new setting. |
| |
| No new tests. |
| |
| * css/StyleResolver.cpp: |
| |
| 2012-05-24 Alexey Proskuryakov <ap@apple.com> |
| |
| [WK2] Let the client give local files universal access on a case by case basis |
| https://bugs.webkit.org/show_bug.cgi?id=87174 |
| <rdar://problem/11024330> |
| |
| Reviewed by Maciej Stachowiak. |
| |
| * dom/Document.cpp: (WebCore::Document::initSecurityContext): When settings->allowUniversalAccessFromFileURLs() |
| is false, also try asking the client for an indulgence. |
| |
| * loader/FrameLoaderClient.h: (WebCore::FrameLoaderClient::shouldForceUniversalAccessFromLocalURL): |
| Default implementation doesn't change anything. |
| |
| 2012-05-24 Tony Chang <tony@chromium.org> |
| |
| improve StyleRareNonInheritedData bit packing on Windows |
| https://bugs.webkit.org/show_bug.cgi?id=87322 |
| |
| Reviewed by Eric Seidel. |
| |
| Accessors for m_runningAcceleratedAnimation and m_hasAspectRatio are on RenderStyle already. |
| |
| Also reorder the variables in operator== to be consistent with the constructor and header file. |
| This makes it easier to add or remove values. |
| |
| No new tests, just refactoring. |
| |
| * rendering/style/StyleRareNonInheritedData.cpp: |
| (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): |
| (WebCore::StyleRareNonInheritedData::operator==): |
| * rendering/style/StyleRareNonInheritedData.h: |
| (StyleRareNonInheritedData): |
| |
| 2012-05-24 Robert Hogan <robert@webkit.org> |
| |
| Negative margin block doesn't properly clear a float enclosed by a previous sibling |
| https://bugs.webkit.org/show_bug.cgi?id=10900 |
| |
| Reviewed by David Hyatt. |
| |
| Tests: fast/css/clear-float-sibling.html |
| |
| Parent blocks keep a list of child floats that extend out of the parent block and |
| by implication overhang into the parent's siblings. But this doesn't work if the |
| sibling has collapsing margins - it will not find the float in the previous block's |
| list so will ignore the float and fail to clear it. |
| |
| RenderBlock:collapseMargins() needs to check if a child's collapsing margin has |
| reduced the height of the parent up past the bottom of its previous sibling's lowest float |
| and add the now overhanging float to the parent's float list if appropriate. |
| |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::collapseMargins): |
| |
| 2012-05-24 Kinuko Yasuda <kinuko@chromium.org> |
| |
| Cleanup: introduce toFile() to reduce static cast from Blob to File |
| https://bugs.webkit.org/show_bug.cgi?id=87234 |
| |
| Reviewed by Eric Seidel. |
| |
| No new tests as this must have no side effect. |
| |
| * bindings/v8/custom/V8BlobCustom.cpp: |
| (WebCore::toV8): |
| * fileapi/Blob.cpp: |
| (WebCore::Blob::webkitSlice): |
| * fileapi/Blob.h: |
| (Blob): |
| * fileapi/File.h: |
| (WebCore::toFile): Added. |
| (WebCore): |
| * fileapi/FileReader.cpp: |
| (WebCore::FileReader::readAsArrayBuffer): |
| (WebCore::FileReader::readAsBinaryString): |
| (WebCore::FileReader::readAsText): |
| (WebCore::FileReader::readAsDataURL): |
| * fileapi/WebKitBlobBuilder.cpp: |
| (WebCore::WebKitBlobBuilder::append): |
| * platform/chromium/ClipboardChromium.cpp: |
| (WebCore::ClipboardChromium::files): |
| * platform/network/FormData.cpp: |
| (WebCore::FormData::appendKeyValuePairItems): |
| * xml/XMLHttpRequest.cpp: |
| (WebCore::XMLHttpRequest::send): |
| |
| 2012-05-24 Darin Adler <darin@apple.com> |
| |
| SVGElement::addEventListener has peculiar RefPtr usage |
| https://bugs.webkit.org/show_bug.cgi?id=86497 |
| |
| Reviewed by Andy Estes. |
| |
| * svg/SVGElement.cpp: |
| (WebCore::SVGElement::addEventListener): Switch to a more-standard style of RefPtr usage, |
| getting rid of some unneeded reference count churn; also removed an unneeded special case |
| for zero listeners. |
| |
| 2012-05-24 Raphael Kubo da Costa <rakuco@webkit.org> |
| |
| [EFL] Modify keycode conversion functions to return keycodes with location information after r118001. |
| https://bugs.webkit.org/show_bug.cgi?id=87203 |
| |
| Reviewed by Andreas Kling. |
| |
| Add the required changes to make |
| fast/events/keydown-leftright-keys.html pass after r118001. |
| |
| * platform/efl/EflKeyboardUtilities.cpp: |
| (WebCore::createWindowsKeyMap): Translate the keycodes for |
| "{left,right}{Shift,Alt,Control}" into the right windows keyboard |
| definitions. |
| |
| 2012-05-24 Claudio Saavedra <csaavedra@igalia.com> |
| |
| [Gtk] Wrong cursor used for ne-resize |
| https://bugs.webkit.org/show_bug.cgi?id=87366 |
| |
| Reviewed by Eric Seidel. |
| |
| * platform/gtk/CursorGtk.cpp: |
| (WebCore::Cursor::ensurePlatformCursor): Use GDK_TOP_RIGHT_CORNER |
| for Cursor::NorthEastPanning. |
| |
| 2012-05-24 Gabor Ballabas <gaborb@inf.u-szeged.hu> |
| |
| [Qt] Fix Webkit1 + V8 build. |
| https://bugs.webkit.org/show_bug.cgi?id=87368 |
| |
| Reviewed by Eric Seidel. |
| |
| No new tests, because this is a buildfix. |
| |
| * bindings/scripts/CodeGeneratorV8.pm: |
| (GenerateImplementation): |
| * bindings/v8/npruntime_impl.h: |
| * bindings/v8/npruntime_priv.h: |
| |
| 2012-05-24 Dana Jansens <danakj@chromium.org> |
| |
| [chromium] Only display frames created with memory allocations meant to be displayed |
| https://bugs.webkit.org/show_bug.cgi?id=85108 |
| |
| Reviewed by Adrienne Walker. |
| |
| In this patch we remove the setVisible() code paths from CCProxy, and |
| instead commit visiblity state along with a frame. We also commit a |
| flag with a frame that indicates if the frame is one that can be drawn. |
| |
| The impl host is set to visible during commit instead of using a |
| special channel through the proxy, and the scheduler allows |
| commits when we are waiting to draw our first frame but blocked on |
| being non-visible. |
| |
| canDraw is gated on a new flag that indicates if the frame is one meant |
| for display. A frame is meant for display if the frame was generated |
| with a memory allocation meant for display. At this time, any non-zero |
| memory allocation is considered meant for display. |
| |
| We prevent races by not changing the memory allocation at any time |
| except during a commit. So we force a commit when the memory |
| allocation needs to be adjusted and we are not visible. Similarly, |
| we force a commit when visibility changes so that we are able to |
| commit the visibility change to the impl tree. |
| |
| In order to prevent drawing frames that are not meant for display |
| with a single thread, we prevent compositing when the impl tree |
| is not visible, with an early out in CCSingleThreadProxy. |
| |
| Unit tests: CCLayerTreeHostTestVisibilityAndAllocationControlDrawing |
| |
| * platform/graphics/chromium/LayerChromium.h: |
| * platform/graphics/chromium/TiledLayerChromium.cpp: |
| * platform/graphics/chromium/TiledLayerChromium.h: |
| * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: |
| (WebCore::CCLayerTreeHost::CCLayerTreeHost): |
| (WebCore::CCLayerTreeHost::initializeLayerRenderer): |
| (WebCore::CCLayerTreeHost::finishCommitOnImplThread): |
| (WebCore::CCLayerTreeHost::setNeedsCommit): |
| (WebCore): |
| (WebCore::CCLayerTreeHost::setNeedsForcedCommit): |
| (WebCore::CCLayerTreeHost::setVisible): |
| (WebCore::CCLayerTreeHost::setContentsMemoryAllocationLimitBytes): |
| (WebCore::CCLayerTreeHost::scheduleComposite): |
| (WebCore::CCLayerTreeHost::updateLayers): |
| * platform/graphics/chromium/cc/CCLayerTreeHost.h: |
| (CCLayerTreeHost): |
| * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: |
| (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl): |
| (WebCore::CCLayerTreeHostImpl::canDraw): |
| * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: |
| (WebCore::CCLayerTreeHostImpl::sourceFrameCanBeDrawn): |
| (WebCore::CCLayerTreeHostImpl::setSourceFrameCanBeDrawn): |
| (CCLayerTreeHostImpl): |
| * platform/graphics/chromium/cc/CCProxy.h: |
| (CCProxy): |
| * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp: |
| (WebCore::CCSchedulerStateMachine::drawSuspendedUntilCommit): |
| (WebCore::CCSchedulerStateMachine::scheduledToDraw): |
| (WebCore::CCSchedulerStateMachine::updateState): |
| * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp: |
| (WebCore::CCSingleThreadProxy::doCommit): |
| (WebCore::CCSingleThreadProxy::setNeedsCommit): |
| (WebCore): |
| (WebCore::CCSingleThreadProxy::setNeedsForcedCommit): |
| (WebCore::CCSingleThreadProxy::doComposite): |
| * platform/graphics/chromium/cc/CCSingleThreadProxy.h: |
| * platform/graphics/chromium/cc/CCThreadProxy.cpp: |
| (WebCore::CCThreadProxy::CCThreadProxy): |
| (WebCore::CCThreadProxy::setNeedsForcedCommit): |
| (WebCore): |
| (WebCore::CCThreadProxy::setNeedsForcedCommitOnImplThread): |
| (WebCore::CCThreadProxy::forceBeginFrameOnImplThread): |
| (WebCore::CCThreadProxy::beginFrame): |
| (WebCore::CCThreadProxy::scheduledActionCommit): |
| * platform/graphics/chromium/cc/CCThreadProxy.h: |
| (CCThreadProxy): |
| |
| 2012-05-24 Pavel Feldman <pfeldman@chromium.org> |
| |
| Web Inspector: [regression] search in formatted scripts is broken. |
| https://bugs.webkit.org/show_bug.cgi?id=87377 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| Using formatted content in search. |
| |
| Test: inspector/debugger/script-formatter-search.html |
| |
| * inspector/front-end/JavaScriptSource.js: |
| (WebInspector.JavaScriptSource.prototype.workingCopyCommitted): |
| (WebInspector.JavaScriptSource.prototype.searchInContent.callbackWrapper): |
| (WebInspector.JavaScriptSource.prototype.searchInContent): |
| |
| 2012-05-24 Philip Rogers <pdr@google.com> |
| |
| Refactor SVGAnimateTransformElement to avoid expensive determineAnimatedPropertyType call |
| https://bugs.webkit.org/show_bug.cgi?id=87309 |
| |
| Reviewed by Nikolas Zimmermann. |
| |
| This is a simple refactor that matches the work done in |
| https://bugs.webkit.org/show_bug.cgi?id=87309 to avoid an expensive call. |
| |
| No new tests, no actual effects beyond performance improvement. |
| |
| * svg/SVGAnimateElement.h: |
| (SVGAnimateElement): |
| * svg/SVGAnimateTransformElement.cpp: |
| (WebCore::SVGAnimateTransformElement::hasValidAttributeType): |
| |
| 2012-05-24 Csaba Osztrogonác <ossy@webkit.org> |
| |
| [Qt] Unreviewed trvial fixes. |
| |
| * Target.pri: Typo fix after r118226. |
| * WebCore.pri: Warning fix after r117291. |
| |
| 2012-05-24 Antti Koivisto <antti@apple.com> |
| |
| Move StyleRuleImport to a file of its own |
| https://bugs.webkit.org/show_bug.cgi?id=87386 |
| |
| Rubber-stamped by Andreas Kling. |
| |
| Move StyleRuleImport out from CSSImportRule.cpp/.h |
| |
| * CMakeLists.txt: |
| * GNUmakefile.list.am: |
| * Target.pri: |
| * WebCore.gypi: |
| * WebCore.vcproj/WebCore.vcproj: |
| * WebCore.xcodeproj/project.pbxproj: |
| * css/CSSImportRule.cpp: |
| (WebCore): |
| (WebCore::CSSImportRule::href): |
| * css/CSSImportRule.h: |
| (WebCore): |
| (CSSImportRule): |
| * css/CSSParser.cpp: |
| * css/StyleRuleImport.cpp: Copied from Source/WebCore/css/CSSImportRule.cpp. |
| (WebCore): |
| * css/StyleRuleImport.h: Copied from Source/WebCore/css/CSSImportRule.h. |
| (WebCore): |
| * css/StyleSheetContents.cpp: |
| |
| 2012-05-24 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r118352. |
| http://trac.webkit.org/changeset/118352 |
| https://bugs.webkit.org/show_bug.cgi?id=87390 |
| |
| Caused 6 editing/spelling tests crash/fail on chromium in |
| debug. (Requested by vsevik on #webkit). |
| |
| * platform/graphics/skia/GraphicsContextSkia.cpp: |
| (WebCore::GraphicsContext::drawLineForDocumentMarker): |
| |
| 2012-05-24 Alexander Pavlov <apavlov@chromium.org> |
| |
| Web Inspector: Support hierarchical context menus |
| https://bugs.webkit.org/show_bug.cgi?id=86847 |
| |
| Reviewed by Pavel Feldman. |
| |
| This patch makes use of the WebMenuItemInfo SubMenu type to expose the capability of building submenu items |
| in the Web Inspector's context menu. ContextMenuItems are also passed/stored by reference/value rather than pointer |
| in order to be consistent with the PlatformMenuDescription typedef. |
| |
| * bindings/js/JSInspectorFrontendHostCustom.cpp: |
| (WebCore::populateContextMenuItems): Enable submenu item population. |
| (WebCore): |
| (WebCore::JSInspectorFrontendHost::showContextMenu): Extract the menu population part into populateContextMenuItems(). |
| * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp: |
| (WebCore::populateContextMenuItems): Enable submenu item population. |
| (WebCore): |
| (WebCore::V8InspectorFrontendHost::showContextMenuCallback): Extract the menu population part into populateContextMenuItems(). |
| * inspector/InspectorFrontendHost.cpp: |
| (WebCore::FrontendMenuProvider::create): Use reference instead of pointer for ContextMenuItems. |
| (WebCore::FrontendMenuProvider::FrontendMenuProvider): Use reference instead of pointer for ContextMenuItems. |
| (WebCore::FrontendMenuProvider::populateContextMenu): Use reference instead of pointer for ContextMenuItems. |
| (WebCore::FrontendMenuProvider::contextMenuCleared): |
| (FrontendMenuProvider): |
| (WebCore::InspectorFrontendHost::showContextMenu): Use reference instead of pointer for ContextMenuItems. |
| * inspector/InspectorFrontendHost.h: |
| (InspectorFrontendHost): |
| * inspector/front-end/ContextMenu.js: Support the tree-like structure of context menus. |
| (WebInspector.ContextMenuItem): |
| (WebInspector.ContextMenuItem.prototype.id): |
| (WebInspector.ContextMenuItem.prototype.type): |
| (WebInspector.ContextMenuItem.prototype._buildDescriptor): |
| (WebInspector.ContextSubMenuItem): |
| (WebInspector.ContextSubMenuItem.prototype.appendItem): |
| (WebInspector.ContextSubMenuItem.prototype.appendSubMenuItem): |
| (WebInspector.ContextSubMenuItem.prototype.appendCheckboxItem): |
| (WebInspector.ContextSubMenuItem.prototype.appendSeparator): |
| (WebInspector.ContextSubMenuItem.prototype._buildDescriptor): |
| (WebInspector.ContextMenu): |
| (WebInspector.ContextMenu.prototype.nextId): |
| (WebInspector.ContextMenu.prototype.show): |
| (WebInspector.ContextMenu.prototype._setHandler): |
| (WebInspector.ContextMenu.prototype._buildDescriptor): |
| * inspector/front-end/SoftContextMenu.js: |
| (.WebInspector.SoftContextMenu): Support sub-menus. |
| (.WebInspector.SoftContextMenu.prototype.show): |
| (.WebInspector.SoftContextMenu.prototype._parentGlassPaneElement): |
| (.WebInspector.SoftContextMenu.prototype._createMenuItem): |
| (.WebInspector.SoftContextMenu.prototype._createSubMenu): |
| (.WebInspector.SoftContextMenu.prototype._createSeparator): |
| (.WebInspector.SoftContextMenu.prototype._menuItemMouseUp): |
| (.WebInspector.SoftContextMenu.prototype._focus): |
| (.WebInspector.SoftContextMenu.prototype._triggerAction): |
| (.WebInspector.SoftContextMenu.prototype._showSubMenu): |
| (.WebInspector.SoftContextMenu.prototype._buildMouseEventForSubMenu): |
| (.WebInspector.SoftContextMenu.prototype._hideSubMenu): |
| (.WebInspector.SoftContextMenu.prototype._menuItemMouseOut): |
| (.WebInspector.SoftContextMenu.prototype._highlightMenuItem): |
| (.WebInspector.SoftContextMenu.prototype._menuKeyDown): |
| (.WebInspector.SoftContextMenu.prototype._glassPaneMouseUp): |
| (.WebInspector.SoftContextMenu.prototype._discardMenu): |
| (.WebInspector.SoftContextMenu.prototype._discardSubMenus): |
| * inspector/front-end/inspector.css: Support for sub-menus, separator improvement. |
| (.soft-context-menu-separator): |
| (.soft-context-menu-separator > .separator-line): |
| (.soft-context-menu-item-submenu-arrow): |
| * platform/chromium/ContextMenuChromium.cpp: |
| (WebCore::contextMenuItemVector): Implemented. |
| (WebCore): |
| |
| 2012-05-24 Vivek Galatage <vivekgalatage@gmail.com> |
| |
| Web Inspector: Breakpoints Pane should not show context menu with no breakpoints |
| https://bugs.webkit.org/show_bug.cgi?id=87340 |
| |
| Reviewed by Pavel Feldman. |
| |
| Removed the method _contextMenu as this would be redundant call |
| because _breakpointContextMenu would take care of showing the remove |
| all breakpoints option. |
| |
| * inspector/front-end/BreakpointsSidebarPane.js: |
| (WebInspector.JavaScriptBreakpointsSidebarPane): |
| (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointContextMenu): |
| |
| 2012-05-24 Yury Semikhatsky <yurys@chromium.org> |
| |
| Unreviewed. Chromium Mac build fix after r118357. |
| Use full name specifier instead of "using" directive. |
| |
| * inspector/InspectorMemoryAgent.cpp: |
| (WebCore::jsHeapInfo): |
| (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution): |
| |
| 2012-05-24 Pavel Feldman <pfeldman@chromium.org> |
| |
| Web Inspector: introduce virtual resource for inspector stylesheet. |
| https://bugs.webkit.org/show_bug.cgi?id=87357 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| This change introduces virtual resource that represents inspector stylesheet (that is added for styles added via inspector). |
| New resource has url of form "inspector://<page url folder>/inspector-stylesheet. It enables live editing and revision |
| history of the inspector stylesheet. |
| |
| Test: inspector/styles/edit-inspector-stylesheet.html |
| |
| * inspector/Inspector.json: |
| * inspector/InspectorCSSAgent.cpp: |
| (WebCore::InspectorCSSAgent::asInspectorStyleSheet): |
| (WebCore::InspectorCSSAgent::bindStyleSheet): |
| (WebCore::InspectorCSSAgent::viaInspectorStyleSheet): |
| (WebCore::InspectorCSSAgent::detectOrigin): |
| * inspector/InspectorCSSAgent.h: |
| (InspectorCSSAgent): |
| * inspector/InspectorDOMAgent.h: |
| (InspectorDOMAgent): |
| (WebCore::InspectorDOMAgent::pageAgent): |
| * inspector/InspectorStyleSheet.cpp: |
| (WebCore::InspectorStyleSheet::create): |
| (WebCore::InspectorStyleSheet::InspectorStyleSheet): |
| (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo): |
| (WebCore::InspectorStyleSheet::buildObjectForRule): |
| (WebCore::InspectorStyleSheet::resourceStyleSheetText): |
| (WebCore::InspectorStyleSheetForInlineStyle::create): |
| (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle): |
| * inspector/InspectorStyleSheet.h: |
| (WebCore): |
| (InspectorStyleSheet): |
| (WebCore::InspectorStyleSheet::canBind): |
| (InspectorStyleSheetForInlineStyle): |
| * inspector/front-end/CSSStyleModel.js: |
| (WebInspector.CSSStyleModel): |
| (WebInspector.CSSStyleModel.prototype._undoRedoCompleted): |
| (WebInspector.CSSStyleModel.prototype.getViaInspectorResourceForRule): |
| (WebInspector.CSSStyleModelResourceBinding): |
| (WebInspector.CSSStyleModelResourceBinding.prototype.setContent): |
| (WebInspector.CSSStyleModelResourceBinding.prototype._inspectedURLChanged): |
| (WebInspector.CSSStyleModelResourceBinding.prototype._loadStyleSheetHeaders): |
| (WebInspector.CSSStyleModelResourceBinding.prototype._innerStyleSheetChanged): |
| (WebInspector.CSSStyleModelResourceBinding.prototype._getViaInspectorResource.hadersLoaded): |
| (WebInspector.CSSStyleModelResourceBinding.prototype._getViaInspectorResource): |
| (WebInspector.CSSStyleModelResourceBinding.prototype._viaInspectorResource.overrideRequestContent.callbackWrapper): |
| (WebInspector.CSSStyleModelResourceBinding.prototype._viaInspectorResource.overrideRequestContent): |
| (WebInspector.CSSStyleModelResourceBinding.prototype._viaInspectorResource): |
| (WebInspector.CSSStyleModelResourceBinding.prototype._viaInspectorResourceURL): |
| * inspector/front-end/Resource.js: |
| (WebInspector.Resource): |
| (WebInspector.Resource.prototype.isHidden): |
| * inspector/front-end/ResourceTreeModel.js: |
| (WebInspector.ResourceTreeModel.prototype._onRequestUpdateDropped): |
| (WebInspector.ResourceTreeModel.prototype._addFramesRecursively): |
| (WebInspector.ResourceTreeFrame.prototype._navigate): |
| (WebInspector.ResourceTreeFrame.prototype.addResource): |
| * inspector/front-end/ResourcesPanel.js: |
| (WebInspector.FrameTreeElement.prototype.appendResource): |
| * inspector/front-end/ScriptsPanel.js: |
| (WebInspector.ScriptsPanel.prototype._createSourceFrame): |
| * inspector/front-end/StylesPanel.js: |
| (WebInspector.InspectorStyleSource): |
| * inspector/front-end/StylesSidebarPane.js: |
| (WebInspector.StylePropertiesSection.prototype._createRuleOriginNode.callback): |
| (WebInspector.StylePropertiesSection.prototype._createRuleOriginNode): |
| (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.successCallback): |
| (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted): |
| |
| 2012-05-24 Robin Cao <robin.cao@torchmobile.com.cn> |
| |
| [BlackBerry] Possible deadlock in the WebGL code path |
| https://bugs.webkit.org/show_bug.cgi?id=87375 |
| |
| Reviewed by Rob Buis. |
| |
| Fix a deadlock happening in the WebGL code path. The mutex is locked |
| but is not unlocked afterword. Also fix a possible double delete, |
| the mutex m_frontBufferLock will be destroyed in the base class. |
| |
| Covered by tests in fast/canvas/webgl. |
| |
| * platform/graphics/blackberry/LayerCompositingThread.cpp: |
| (WebCore::LayerCompositingThread::releaseTextureResources): |
| * platform/graphics/blackberry/WebGLLayerWebKitThread.cpp: |
| (WebCore::WebGLLayerWebKitThread::~WebGLLayerWebKitThread): |
| |
| 2012-05-24 Ian Vollick <vollick@chromium.org> |
| |
| [chromium] Forcibly sync running animations in the waiting state when synchronized start times are needed. |
| https://bugs.webkit.org/show_bug.cgi?id=87153 |
| |
| Reviewed by James Robinson. |
| |
| Unit test: CCLayerAnimationControllerTest.ForceSyncWhenSynchronizedStartTimeNeeded |
| |
| * platform/graphics/chromium/cc/CCLayerAnimationController.cpp: |
| (WebCore::CCLayerAnimationController::replaceImplThreadAnimations): |
| |
| 2012-05-24 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: convert HeapSnapshotGridNode._provider into getter. |
| https://bugs.webkit.org/show_bug.cgi?id=87382 |
| |
| I found that we create a provider for child nodes for the each DataGrid node in advance. |
| It cost us one async call to the HeapSnapshot's worker per each such the node. |
| I converted the property into the getter which is initializing the provider lazily. |
| |
| Reviewed by Yury Semikhatsky. |
| |
| * inspector/front-end/HeapSnapshot.js: |
| * inspector/front-end/HeapSnapshotGridNodes.js: |
| (WebInspector.HeapSnapshotGridNode): |
| (WebInspector.HeapSnapshotGridNode.prototype.createProvider): |
| (WebInspector.HeapSnapshotGridNode.prototype._provider): |
| (WebInspector.HeapSnapshotGridNode.prototype.dispose): |
| (WebInspector.HeapSnapshotGridNode.prototype._populate): |
| (WebInspector.HeapSnapshotGridNode.prototype.expandWithoutPopulate): |
| (WebInspector.HeapSnapshotGridNode.prototype._populateChildren.serializeNextChunk): |
| (WebInspector.HeapSnapshotGridNode.prototype.sort): |
| (WebInspector.HeapSnapshotGenericObjectNode): |
| (WebInspector.HeapSnapshotGenericObjectNode.prototype.updateHasChildren): |
| (WebInspector.HeapSnapshotObjectNode): |
| (WebInspector.HeapSnapshotInstanceNode): |
| (WebInspector.HeapSnapshotConstructorNode): |
| (WebInspector.HeapSnapshotConstructorNode.prototype.createProvider): |
| (WebInspector.HeapSnapshotConstructorNode.prototype.revealNodeBySnapshotObjectId): |
| (WebInspector.HeapSnapshotDiffNode): |
| (WebInspector.HeapSnapshotDiffNode.prototype.createProvider): |
| (WebInspector.HeapSnapshotDominatorObjectNode): |
| (WebInspector.HeapSnapshotDominatorObjectNode.prototype.createProvider): |
| (WebInspector.HeapSnapshotDominatorObjectNode.prototype.retrieveChildBySnapshotObjectId): |
| |
| 2012-05-24 Rakesh KN <rakesh.kn@motorola.com> |
| |
| Filter for RadioNodeList should be case sensitive. |
| https://bugs.webkit.org/show_bug.cgi?id=87369 |
| |
| Reviewed by Kent Tamura. |
| |
| Element's id/name attribute matching criteria is case sensitive now. |
| |
| Modified existing test. |
| |
| * html/RadioNodeList.cpp: |
| (WebCore::RadioNodeList::nodeMatches): |
| Element matching criteria is case sensitive. |
| |
| 2012-05-23 Yury Semikhatsky <yurys@chromium.org> |
| |
| Web Inspector: add a command to InspectorMemoryAgent for getting process memory break down |
| https://bugs.webkit.org/show_bug.cgi?id=87263 |
| |
| Reviewed by Pavel Feldman. |
| |
| Introduced new protocol command Memory.getProcessMemoryDistribution which returns |
| memory distribution for the inspected process. Currently only JS allocated and used |
| heap size is included. |
| |
| * inspector/Inspector.json: |
| * inspector/InspectorMemoryAgent.cpp: |
| (WebCore::jsHeapInfo): |
| (WebCore): |
| (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution): |
| * inspector/InspectorMemoryAgent.h: |
| (InspectorMemoryAgent): |
| * platform/chromium/PlatformSupport.h: |
| (PlatformSupport): |
| |
| 2012-05-24 Nikolas Zimmermann <nzimmermann@rim.com> |
| |
| SVGZoomAndPan constants are missing from window object |
| https://bugs.webkit.org/show_bug.cgi?id=15494 |
| |
| Reviewed by Rob Buis. |
| |
| Generate the SVGZoomAndPanConstructor, so that the constants defined in the IDL |
| can be reached from the bindings. Provide a stub-implementation of ref/deref |
| that's never used, as we don't actually use JSSVGZoomAndPan which needs this, but |
| only the JSSVGZoomAndPanConstructor. |
| |
| Add a new IDL flag "SuppressToJSObject" which disables generation of toJS/toV8 |
| methods for classes that are only used in SVGs interfaces via multiple inheritance. |
| This affects: SVGFitToViewBox, SVGTests, SVGLangSapce, SVGExternalResourcesRequired, etc. |
| |
| Unlike those classes SVGZoomAndPan defines constants, and thus needs a generated Constructor. |
| That requires us to build JSSVGZoomAndPan.* (JSSVGFitToViewBox/etc. is generated, but not built!). |
| Unfortunately this causes compilation problems on Windows, as it builds all sources in a single-file. |
| MSVC can't decide whether it should call toJS(Node*) or toJS(SVGZoomAndPan*) for a SVGSVGElement. |
| To avoid these problems stop generating toJS/toV8 completely for all SVG MI types. They were |
| never used before, so there's no point in actually generating them, as it's now causing problems. |
| |
| This is a preparation towards bug 15495, which covers implementing |
| SVGSVGElement.currentView and the SVGViewSpec interface. |
| |
| No new tests. The SVGZoomAndPan constructor is covered by existing tests, now that its enabled. |
| |
| * CMakeLists.txt: |
| * DerivedSources.cpp: |
| * DerivedSources.pri: |
| * GNUmakefile.list.am: |
| * WebCore.gyp/WebCore.gyp: |
| * WebCore.vcproj/WebCore.vcproj: |
| * WebCore.xcodeproj/project.pbxproj: |
| * bindings/scripts/CodeGeneratorJS.pm: |
| (ShouldGenerateToJSDeclaration): |
| (ShouldGenerateToJSImplementation): |
| (GenerateHeader): |
| (GenerateImplementation): |
| * bindings/scripts/CodeGeneratorV8.pm: |
| (GenerateHeader): |
| * bindings/scripts/IDLAttributes.txt: |
| * gyp/WebCore.gyp: |
| * page/DOMWindow.idl: |
| * svg/SVGDocument.cpp: |
| (WebCore::SVGDocument::zoomAndPanEnabled): |
| * svg/SVGExternalResourcesRequired.idl: |
| * svg/SVGFitToViewBox.idl: |
| * svg/SVGLangSpace.idl: |
| * svg/SVGLocatable.idl: |
| * svg/SVGRenderingIntent.idl: |
| * svg/SVGSVGElement.cpp: |
| (WebCore::SVGSVGElement::SVGSVGElement): |
| (WebCore::SVGSVGElement::parseAttribute): |
| (WebCore::SVGSVGElement::viewBoxToViewTransform): |
| (WebCore::SVGSVGElement::setupInitialView): |
| (WebCore::SVGSVGElement::inheritViewAttributes): |
| * svg/SVGSVGElement.h: |
| (SVGSVGElement): |
| (WebCore::SVGSVGElement::useCurrentView): |
| (WebCore::SVGSVGElement::setUseCurrentView): |
| (WebCore::SVGSVGElement::zoomAndPan): |
| (WebCore::SVGSVGElement::setZoomAndPan): |
| * svg/SVGStylable.idl: |
| * svg/SVGTests.idl: |
| * svg/SVGURIReference.idl: |
| * svg/SVGUnitTypes.idl: |
| * svg/SVGViewElement.cpp: |
| (WebCore::SVGViewElement::SVGViewElement): |
| (WebCore::SVGViewElement::parseAttribute): |
| * svg/SVGViewElement.h: |
| (SVGViewElement): |
| (WebCore::SVGViewElement::zoomAndPan): |
| (WebCore::SVGViewElement::setZoomAndPan): |
| * svg/SVGViewSpec.cpp: |
| (WebCore::SVGViewSpec::SVGViewSpec): |
| (WebCore::SVGViewSpec::setTransformString): |
| (WebCore::SVGViewSpec::parseViewSpec): |
| * svg/SVGViewSpec.h: |
| (SVGViewSpec): |
| (WebCore::SVGViewSpec::transformBaseValue): |
| (WebCore::SVGViewSpec::zoomAndPan): |
| (WebCore::SVGViewSpec::setZoomAndPanBaseValue): |
| * svg/SVGZoomAndPan.cpp: |
| (WebCore::SVGZoomAndPan::isKnownAttribute): |
| (WebCore::SVGZoomAndPan::addSupportedAttributes): |
| (WebCore): |
| (WebCore::SVGZoomAndPan::parseZoomAndPan): |
| (WebCore::SVGZoomAndPan::ref): |
| (WebCore::SVGZoomAndPan::deref): |
| (WebCore::SVGZoomAndPan::setZoomAndPan): |
| * svg/SVGZoomAndPan.h: |
| (SVGZoomAndPan): |
| (WebCore::SVGZoomAndPan::parseFromNumber): |
| (WebCore::SVGZoomAndPan::parseAttribute): |
| (WebCore::SVGZoomAndPan::zoomAndPan): |
| * svg/SVGZoomAndPan.idl: |
| |
| 2012-05-24 Hironori Bono <hbono@chromium.org> |
| |
| Enable grammar checking on Chromium when we paste text. |
| https://bugs.webkit.org/show_bug.cgi?id=74393 |
| |
| Reviewed by Hajime Morita. |
| |
| This change enables grammar checking on Chromium and implements a mock grammar |
| checker to fix a failing test. |
| |
| Test: editing/spelling/grammar-markers.html |
| |
| * platform/graphics/skia/GraphicsContextSkia.cpp: |
| (WebCore::GraphicsContext::drawLineForDocumentMarker): render grammar markers in gray on Windows and Linux or in green on Mac. |
| |
| 2012-05-17 Andrey Kosyakov <caseq@chromium.org> |
| |
| Web Inspector: add inspector instrumentation interface for compositing |
| https://bugs.webkit.org/show_bug.cgi?id=83842 |
| |
| Reviewed by Pavel Feldman. |
| |
| - added instrumentation methods to mark start/end of layer compositing; |
| - added associated timeline record type (CompositeLayers); |
| - plumbed the calls from instrumentation up to the timeline panel; |
| - actual call-sites are platform-specific and will come as separate patches. |
| |
| * inspector/InspectorInstrumentation.cpp: |
| (WebCore::InspectorInstrumentation::willCompositeImpl): |
| (WebCore): |
| (WebCore::InspectorInstrumentation::didCompositeImpl): |
| * inspector/InspectorInstrumentation.h: |
| (InspectorInstrumentation): |
| (WebCore::InspectorInstrumentation::willComposite): |
| (WebCore): |
| (WebCore::InspectorInstrumentation::didComposite): |
| * inspector/InspectorTimelineAgent.cpp: |
| (TimelineRecordType): |
| (WebCore::InspectorTimelineAgent::willComposite): |
| (WebCore): |
| (WebCore::InspectorTimelineAgent::didComposite): |
| * inspector/InspectorTimelineAgent.h: |
| (InspectorTimelineAgent): |
| * inspector/front-end/TimelineModel.js: |
| * inspector/front-end/TimelinePresentationModel.js: |
| (WebInspector.TimelinePresentationModel.recordStyle): |
| |
| 2012-05-24 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Unreviewed Web Inspector: remove obsolete isDetailedSnapshot method from HeapSnapshotView. |
| |
| * inspector/front-end/HeapSnapshotView.js: |
| |
| 2012-05-24 Vivek Galatage <vivekgalatage@gmail.com> |
| |
| Web Inspector: localStorage items are not updated when the storage changes |
| https://bugs.webkit.org/show_bug.cgi?id=83012 |
| |
| Reviewed by Pavel Feldman. |
| |
| Renamed the inspector protocol UpdateDOMStorage to domStorageUpdated. |
| Instrumented StorageEventDispatcher to send the update event to the |
| front-end. Also removed the way DOM Storage Agent used to listen for |
| the storage events. Added new test to verify the update notifications. |
| |
| Test: inspector/storage-panel-dom-storage-update.html |
| |
| * dom/EventListener.h: |
| * inspector/Inspector.json: |
| * inspector/InspectorDOMStorageAgent.cpp: |
| (WebCore): |
| (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries): |
| (WebCore::InspectorDOMStorageAgent::storageId): |
| (WebCore::InspectorDOMStorageAgent::didUseDOMStorage): |
| (WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent): |
| * inspector/InspectorDOMStorageAgent.h: |
| (InspectorDOMStorageAgent): |
| * inspector/InspectorDOMStorageResource.cpp: |
| (WebCore::InspectorDOMStorageResource::InspectorDOMStorageResource): |
| (WebCore::InspectorDOMStorageResource::isSameHostAndType): |
| (WebCore::InspectorDOMStorageResource::unbind): |
| * inspector/InspectorDOMStorageResource.h: |
| (WebCore): |
| (InspectorDOMStorageResource): |
| (WebCore::InspectorDOMStorageResource::create): |
| (WebCore::InspectorDOMStorageResource::id): |
| (WebCore::InspectorDOMStorageResource::storageArea): |
| (WebCore::InspectorDOMStorageResource::frame): |
| * inspector/InspectorInstrumentation.cpp: |
| (WebCore::InspectorInstrumentation::didDispatchDOMStorageEventImpl): |
| (WebCore): |
| * inspector/InspectorInstrumentation.h: |
| (InspectorInstrumentation): |
| (WebCore::InspectorInstrumentation::didUseDOMStorage): |
| (WebCore): |
| (WebCore::InspectorInstrumentation::didDispatchDOMStorageEvent): |
| * inspector/front-end/DOMStorage.js: |
| (WebInspector.DOMStorageDispatcher.prototype.domStorageUpdated): |
| * inspector/front-end/ResourcesPanel.js: |
| (WebInspector.ResourcesPanel.prototype.domStorageUpdated): |
| * storage/StorageEventDispatcher.cpp: |
| (WebCore::StorageEventDispatcher::dispatch): |
| |
| 2012-05-23 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: introduce console proxy object for HeapSnapshot worker. |
| https://bugs.webkit.org/show_bug.cgi?id=87346 |
| |
| There is no console object in html5 workers at the moment. |
| This makes me sad when I'm troubleshooting the HeapSnapshot stuff. |
| I wrote a simplest proxy object which sends the log, info and error messages |
| to the WebInspector window. |
| |
| Reviewed by Pavel Feldman. |
| |
| * inspector/front-end/HeapSnapshotProxy.js: |
| (WebInspector.HeapSnapshotRealWorker.prototype._messageReceived): |
| * inspector/front-end/HeapSnapshotWorker.js: |
| (WebInspector.WorkerConsole): |
| (WebInspector.WorkerConsole.prototype.log): |
| (WebInspector.WorkerConsole.prototype.error): |
| (WebInspector.WorkerConsole.prototype.info): |
| (WebInspector.WorkerConsole.prototype._postMessage): |
| |
| 2012-05-24 Shinya Kawanaka <shinyak@chromium.org> |
| |
| Elements in Shadow DOM are not resizable. |
| https://bugs.webkit.org/show_bug.cgi?id=87342 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| In RenderLayer::resize(), shadowAncestorNode() was used but if the ancestor node is used, |
| it is not possible to resize elements in Shadow DOM. |
| |
| The comments said it is necessary for textarea, however actually it is not necessary now. |
| Existing test (fast/css/resize-corner-tracking) covers it. |
| |
| Test: fast/dom/shadow/resize-in-shadow-dom.html |
| |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::resize): |
| |
| 2012-05-24 Antti Koivisto <antti@apple.com> |
| |
| Move StyleSheetContents to a separate file |
| https://bugs.webkit.org/show_bug.cgi?id=87354 |
| |
| Reviewed by Eric Seidel. |
| |
| Move StyleSheetContents class to StyleSheetContents.h/cpp. |
| |
| * CMakeLists.txt: |
| * GNUmakefile.list.am: |
| * Target.pri: |
| * WebCore.gypi: |
| * WebCore.vcproj/WebCore.vcproj: |
| * WebCore.xcodeproj/project.pbxproj: |
| * css/CSSFontFaceSrcValue.cpp: |
| * css/CSSGrammar.y: |
| * css/CSSImportRule.cpp: |
| * css/CSSParser.cpp: |
| * css/CSSPrimitiveValue.cpp: |
| * css/CSSRule.cpp: |
| * css/CSSStyleSheet.cpp: |
| (WebCore::CSSStyleSheet::create): |
| (WebCore::CSSStyleSheet::href): |
| (WebCore): |
| (WebCore::CSSStyleSheet::baseURL): |
| (WebCore::CSSStyleSheet::isLoading): |
| * css/CSSStyleSheet.h: |
| (WebCore): |
| (CSSStyleSheet): |
| * css/StylePropertySet.cpp: |
| * css/StyleResolver.cpp: |
| * css/StyleSheetContents.cpp: Copied from css/CSSStyleSheet.cpp. |
| (WebCore): |
| * css/StyleSheetContents.h: Copied from css/CSSStyleSheet.h. |
| (WebCore): |
| * dom/DOMImplementation.cpp: |
| (WebCore::XMLMIMETypeRegExp::XMLMIMETypeRegExp): |
| * dom/Document.cpp: |
| * dom/ProcessingInstruction.cpp: |
| * dom/StyleElement.cpp: |
| * html/HTMLLinkElement.cpp: |
| * html/HTMLStyleElement.cpp: |
| * inspector/InspectorStyleSheet.cpp: |
| * loader/cache/CachedCSSStyleSheet.cpp: |
| * page/PageSerializer.cpp: |
| |
| 2012-05-24 Kristóf Kosztyó <kkristof@inf.u-szeged.hu> |
| |
| [Qt] Buildfix for the minimal build because the r118197 broke it. |
| https://bugs.webkit.org/show_bug.cgi?id=87096 |
| |
| Reviewed by Csaba Osztrogonác. |
| |
| * plugins/PluginData.cpp: |
| (WebCore): |
| (WebCore::PluginData::refresh): |
| (WebCore::PluginData::initPlugins): |
| |
| 2012-05-23 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Unreviewed: Web Inspector single line fix for r118162. |
| |
| * inspector/front-end/HeapSnapshotDataGrids.js: |
| (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._populateChildren): |
| |
| 2012-05-23 Lu Guanqun <guanqun.lu@intel.com> |
| |
| sort the array 'non_wrapper_types' |
| https://bugs.webkit.org/show_bug.cgi?id=87335 |
| |
| Reviewed by Kentaro Hara. |
| |
| * bindings/scripts/CodeGeneratorV8.pm: |
| |
| 2012-05-23 Shinya Kawanaka <shinyak@chromium.org> |
| |
| Document.elementFromPoint exposes inner element of Shadow DOM. |
| https://bugs.webkit.org/show_bug.cgi?id=87235 |
| |
| Reviewed by Dimitri Glazkov. |
| |
| Document::elementFromPoint didn't consider nested Shadow DOM. |
| The container node should be adjusted up to document TreeScope beyond ShadowRoot TreeScope. |
| |
| Test: fast/dom/shadow/element-from-point-in-nested-shadow.html |
| |
| * dom/Document.cpp: |
| (WebCore::Document::elementFromPoint): |
| |
| 2012-05-23 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r118297. |
| http://trac.webkit.org/changeset/118297 |
| https://bugs.webkit.org/show_bug.cgi?id=87338 |
| |
| It caused several layout failures on Mac (Requested by |
| sundiamonde on #webkit). |
| |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::computeInlinePreferredLogicalWidths): |
| |
| 2012-05-23 Shinya Kawanaka <shinyak@chromium.org> |
| |
| Document.caretRangeFromPoint exposes inner elemnet of Shadow DOM. |
| https://bugs.webkit.org/show_bug.cgi?id=87231 |
| |
| Reviewed by Dimitri Glazkov. |
| |
| Document::caretRangeFromPoint didn't consider nested Shadow DOM. |
| The container node should be adjusted up to document TreeScope beyond ShadowRoot TreeScope. |
| |
| Test: fast/dom/shadow/caret-range-from-point-in-nested-shadow.html |
| |
| * dom/Document.cpp: |
| (WebCore::Document::caretRangeFromPoint): |
| |
| 2012-05-23 Julien Chaffraix <jchaffraix@webkit.org> |
| |
| Crash in RenderTableCol::nextColumn |
| https://bugs.webkit.org/show_bug.cgi?id=87314 |
| |
| Reviewed by Abhishek Arya. |
| |
| Tests: fast/table/canvas-column-in-column-group.html |
| fast/table/columngroup-inside-columngroup.html |
| |
| The issue comes from elements not abiding by the display property (e.g. canvas). This means |
| that any renderer with display: table-column would pass the current isChildAllowed check and |
| would confuse our algorithm to iterate. |
| |
| We were getting away with allowing those children as table columns or column groups don't |
| paint themselves but it's better to just not allow such children in the first place. |
| |
| * rendering/RenderTableCol.cpp: |
| (WebCore::RenderTableCol::isChildAllowed): |
| Fixed the logic to only accept proper column renderer (RenderTableCol with display: column |
| to ignore column-groups). Also removed an unneeded NULL-check. |
| |
| 2012-05-23 Jer Noble <jer.noble@apple.com> |
| |
| REGRESSION: compositing/video/video-poster.html fails on Mac |
| https://bugs.webkit.org/show_bug.cgi?id=87199 |
| |
| Reviewed by Maciej Stachowiak. |
| |
| No new tests; fixes failing compositing/video/video-poster.html test. |
| |
| Instead of creating the video layer directly, simply allow the layer |
| to be created in updateStates() by changing the definition of |
| isReadyForVideoSetup() to bypass the m_isAllowedToRender check if |
| the player reports a video track is present. This causes the video layer |
| to be created and for future calls to prepareForRendering() to result |
| in calls to mediaPlayerRenderingModeChanged(). |
| |
| * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: |
| (WebCore::MediaPlayerPrivateAVFoundation::isReadyForVideoSetup): |
| (WebCore::MediaPlayerPrivateAVFoundation::metadataLoaded): |
| |
| 2012-05-23 Nico Weber <thakis@chromium.org> |
| |
| [chromium/mac] Unbreak popup menus. |
| https://bugs.webkit.org/show_bug.cgi?id=87325 |
| |
| Reviewed by David Levin. |
| |
| http://svn.webkit.org/repository/webkit/trunk@117607 added this function, but the |
| Chromium/Mac build doesn't use the file added in that change and hence didn't have |
| the category method.. Adding it doesn't help, as the category calls a |
| 10.7-only function. Just don't use the category for chromium/mac. Fixes |
| http://crbug.com/129418 |
| |
| * platform/mac/WebCoreNSCellExtras.h: |
| |
| 2012-05-23 Ojan Vafai <ojan@chromium.org> |
| |
| add back the ability to disable flexbox |
| https://bugs.webkit.org/show_bug.cgi?id=87147 |
| |
| Reviewed by Tony Chang. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| * css/CSSParser.cpp: |
| (WebCore::isValidKeywordPropertyAndValue): |
| |
| 2012-05-23 Shinya Kawanaka <shinyak@chromium.org> |
| |
| [Shadow] mousewheel event isn't fired on nodes in Shadow DOM. |
| https://bugs.webkit.org/show_bug.cgi?id=87218 |
| |
| Reviewed by Dimitri Glazkov. |
| |
| EventHander::handleWheelEvent re-targets an event to a shadow ancestor node, |
| however it should be done by adjusting event target. So we don't need to have it. |
| |
| Tests: fast/dom/shadow/wheel-event-in-shadow-dom.html |
| fast/dom/shadow/wheel-event-on-input-in-shadow-dom.html |
| |
| * page/EventHandler.cpp: |
| (WebCore::EventHandler::handleWheelEvent): |
| |
| 2012-05-23 Huang Dongsung <luxtella@company100.net> |
| |
| Remove an unused setter in CachedResource.h. |
| https://bugs.webkit.org/show_bug.cgi?id=87324 |
| |
| CachedResource::setInLiveDecodedResourcesList was defined in r24925, but it has |
| been unused. |
| |
| Reviewed by Darin Adler. |
| |
| * loader/cache/CachedResource.h: |
| |
| 2012-05-23 Hayato Ito <hayato@chromium.org> |
| |
| Adjust a target node of a mouse event correctly when a distributed text node is clicked. |
| https://bugs.webkit.org/show_bug.cgi?id=86999 |
| |
| Reviewed by Dimitri Glazkov. |
| |
| Make EventHandler::updateMouseEventTargetNode() be aware of shadow dom subtree |
| so that an insertion point can receive an event when a distributed text node is clicked. |
| |
| Tests: fast/dom/shadow/shadow-dom-event-dispatching.html |
| |
| * page/EventHandler.cpp: |
| (WebCore::EventHandler::updateMouseEventTargetNode): |
| |
| 2012-05-23 Shinya Kawanaka <shinyak@chromium.org> |
| |
| [Shadow] drop event is not fired on nodes in Shadow DOM |
| https://bugs.webkit.org/show_bug.cgi?id=85774 |
| |
| Reviewed by Dimitri Glazkov. |
| |
| EventHander::updateDragAndDrop re-targets an event to a shadow ancestor node, |
| however it should be done by adjusting event target. So we don't need to have it. |
| |
| Tests: fast/dom/shadow/drop-event-for-input-in-shadow.html |
| fast/dom/shadow/drop-event-in-shadow.html |
| |
| * page/EventHandler.cpp: |
| (WebCore::EventHandler::updateDragAndDrop): |
| |
| 2012-05-23 Emil A Eklund <eae@chromium.org> |
| |
| REGRESSION (115573): Incorrect rounding of margins for floats |
| https://bugs.webkit.org/show_bug.cgi?id=87319 |
| |
| Reviewed by Eric Seidel. |
| |
| In RenderBlock::computeInlinePreferredLogicalWidths we used a float to |
| accumulate margins for floating children while the children themselves |
| represent their margins as LayoutUnits. Due to lack of rounding this can |
| cause the block to be too small at certain certain zoom levels, causing |
| unwanted wrapping. |
| |
| This patch changes computeInlinePreferredLogicalWidths to use a |
| LayoutUnit to accumulate the margins and thus ensures that the margin |
| values are rounded the same way. |
| |
| Test: fast/block/float/floats-with-margin-should-not-wrap.html |
| |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::computeInlinePreferredLogicalWidths): |
| |
| 2012-05-23 Huang Dongsung <luxtella@company100.net> |
| |
| Remove unused declarations in MemoryCache.h |
| https://bugs.webkit.org/show_bug.cgi?id=87323 |
| |
| It is originated from r75912. |
| |
| Reviewed by Darin Adler. |
| |
| * loader/cache/MemoryCache.h: |
| |
| 2012-05-23 Eric Seidel <eric@webkit.org> |
| |
| Add seamless layout code (and pass most of the remaining seamless tests) |
| https://bugs.webkit.org/show_bug.cgi?id=86608 |
| |
| Reviewed by Ojan Vafai. |
| |
| This patch contains almost all the layout changes needed for seamless iframes. |
| I removed the scroll-bar avoiding code at the last moment, as it didn't |
| work for platforms other than mac-lion. I'll add that, as well as the |
| HTMLIFrameElement.seamless idl attribute in a follow-up patch. |
| |
| Seamless iframes piggy-back a bit on the existing frame-flattening |
| logic, however seamless is different from frame-flattening in a few ways: |
| - Frame flattening can only ever make an iframe larger (seamless just behaves like a normal div). |
| - Frame flattening disables scrollbars (seamless frames behave like normal overflow: auto divs). |
| - Seamless only has to work with iframes (flattening works with frame/frameset as well). |
| - Seamless support shrink-wrap size negotiation when the iframe is inline. |
| |
| Test: fast/frames/seamless/seamless-percent-height.html |
| |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::adjustRenderStyle): map inline -> inline-block for seamless iframes. |
| * dom/Document.cpp: |
| (WebCore::Document::scheduleStyleRecalc): |
| - Seamless iframes don't manage their own style recalc. |
| (WebCore::Document::recalcStyle): |
| - We should make sure our parent is resolved before we are, but currently that causes some tests to crash |
| I don't have a test to demonstrate this need yet, as presumably it's fulfilled through other codepaths atm. |
| * page/FrameView.cpp: |
| (WebCore::FrameView::scheduleRelayout): Do the cheaper check first. |
| (WebCore::FrameView::isInChildFrameWithFrameFlattening): Make frameview layout abort child layouts like how frame flattening does. |
| * rendering/RenderBox.h: |
| (WebCore::RenderBox::stretchesToViewport): Disable the stretch-to-viewport quirk for seamless iframes (it makes no sense and breaks the layout code). |
| * rendering/RenderIFrame.cpp: |
| (WebCore::RenderIFrame::computeLogicalHeight): |
| - This function is needed for the child document to participate in the normal block shrink-wrap algorithm. |
| Thankfully all the shrink-wrap logic is in RenderBox instead of RenderBlock. In the future we may make |
| RenderIframe a RenderBlock for the seamless case. We may just split RenderIframe into two renderers. |
| (WebCore::RenderIFrame::computeLogicalWidth): |
| (WebCore::RenderIFrame::shouldComputeSizeAsReplaced): |
| - seamless iframes behave like blocks, not inline replaced elements. |
| (WebCore): |
| (WebCore::RenderIFrame::isInlineBlockOrInlineTable): |
| - Behave like an inline-block when marked inline. |
| (WebCore::RenderIFrame::minPreferredLogicalWidth): |
| - When asked for our pref widths, return those of our child document. |
| (WebCore::RenderIFrame::maxPreferredLogicalWidth): |
| (WebCore::RenderIFrame::isSeamless): helper function |
| (WebCore::RenderIFrame::contentRootRenderer): helper function |
| (WebCore::RenderIFrame::flattenFrame): seamless iframes never use the frame-flattening feature. |
| (WebCore::RenderIFrame::layoutSeamlessly): The guts of seamless layout. |
| (WebCore::RenderIFrame::layout): |
| * rendering/RenderIFrame.h: |
| (WebCore): |
| (RenderIFrame): |
| |
| 2012-05-23 Rafael Brandao <rafael.lobo@openbossa.org> |
| |
| [Qt] GraphicsContext should avoid converting rotation angle to degrees |
| https://bugs.webkit.org/show_bug.cgi?id=87317 |
| |
| Reviewed by Noam Rosenthal. |
| |
| The angle for rotate is already in radians, so we should take advantage of it |
| by using QTransform::rotateRadians, rather than converting it back internally. |
| |
| * platform/graphics/qt/GraphicsContextQt.cpp: |
| (WebCore::GraphicsContext::rotate): |
| |
| 2012-05-23 David Tseng <dtseng@google.com> |
| |
| AX: Prevents assertion from potentially dereferencing null pointer. |
| https://bugs.webkit.org/show_bug.cgi?id=87290 |
| |
| Reviewed by Chris Fleizach. |
| |
| Changes to assertions. Coverage by existing tests. |
| |
| * accessibility/AccessibilityTable.cpp: |
| (WebCore::AccessibilityTable::cellForColumnAndRow): |
| |
| 2012-05-23 Tony Chang <tony@chromium.org> |
| |
| auto margins on flexbox should allocate space in the cross direction |
| https://bugs.webkit.org/show_bug.cgi?id=86913 |
| |
| Reviewed by Ojan Vafai. |
| |
| Test: css3/flexbox/auto-margins.html |
| |
| * rendering/RenderFlexibleBox.cpp: |
| (WebCore::RenderFlexibleBox::hasAutoMarginsInCrossAxis): |
| (WebCore): |
| (WebCore::RenderFlexibleBox::updateAutoMarginsInCrossAxis): |
| (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): If we have flex-align: baseline and auto margins, we ignore flex-align: baseline. |
| (WebCore::RenderFlexibleBox::alignChildren): auto margins apply before flex-align. |
| * rendering/RenderFlexibleBox.h: |
| |
| 2012-05-23 Kentaro Hara <haraken@chromium.org> |
| |
| Unreviewed, rolling out r118120. |
| http://trac.webkit.org/changeset/118120 |
| https://bugs.webkit.org/show_bug.cgi?id=87193 |
| |
| some LayoutTests crash since the patch passes a NULL to |
| Null(isolate) |
| |
| * bindings/scripts/CodeGeneratorV8.pm: |
| (GenerateHeader): |
| * bindings/scripts/test/V8/V8TestActiveDOMObject.h: |
| (WebCore::toV8): |
| * bindings/scripts/test/V8/V8TestCustomNamedGetter.h: |
| (WebCore::toV8): |
| * bindings/scripts/test/V8/V8TestEventConstructor.h: |
| (WebCore::toV8): |
| * bindings/scripts/test/V8/V8TestEventTarget.h: |
| (WebCore::toV8): |
| * bindings/scripts/test/V8/V8TestException.h: |
| (WebCore::toV8): |
| * bindings/scripts/test/V8/V8TestInterface.h: |
| (WebCore::toV8): |
| * bindings/scripts/test/V8/V8TestMediaQueryListListener.h: |
| (WebCore::toV8): |
| * bindings/scripts/test/V8/V8TestNamedConstructor.h: |
| (WebCore::toV8): |
| * bindings/scripts/test/V8/V8TestNode.h: |
| (WebCore::toV8): |
| * bindings/scripts/test/V8/V8TestObj.h: |
| (WebCore::toV8): |
| * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h: |
| (WebCore::toV8): |
| |
| 2012-05-23 Kentaro Hara <haraken@chromium.org> |
| |
| Unreviewed, rolling out r118129. |
| http://trac.webkit.org/changeset/118129 |
| https://bugs.webkit.org/show_bug.cgi?id=87202 |
| |
| some LayoutTests crash since the patch passes a NULL to |
| Null(isolate) |
| |
| * bindings/scripts/CodeGeneratorV8.pm: |
| (GenerateNormalAttrGetter): |
| (GenerateFunctionCallback): |
| (NativeToJSValue): |
| * bindings/scripts/test/V8/V8TestObj.cpp: |
| (WebCore::TestObjV8Internal::contentDocumentAttrGetter): |
| (WebCore::TestObjV8Internal::getSVGDocumentCallback): |
| * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: |
| (WebCore::TestSerializedScriptValueInterfaceV8Internal::valueAttrGetter): |
| (WebCore::TestSerializedScriptValueInterfaceV8Internal::readonlyValueAttrGetter): |
| (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrGetter): |
| (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedReadonlyValueAttrGetter): |
| |
| 2012-05-23 Kentaro Hara <haraken@chromium.org> |
| |
| Unreviewed, rolling out r118133. |
| http://trac.webkit.org/changeset/118133 |
| https://bugs.webkit.org/show_bug.cgi?id=87207 |
| |
| some LayoutTests crash since the patch passes a NULL to |
| Null(isolate) |
| |
| * bindings/v8/custom/V8BlobCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8CSSRuleCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8CSSStyleSheetCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8CSSValueCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8ClipboardCustom.cpp: |
| (WebCore::V8Clipboard::typesAccessorGetter): |
| * bindings/v8/custom/V8CoordinatesCustom.cpp: |
| (WebCore::V8Coordinates::altitudeAccessorGetter): |
| (WebCore::V8Coordinates::altitudeAccuracyAccessorGetter): |
| (WebCore::V8Coordinates::headingAccessorGetter): |
| (WebCore::V8Coordinates::speedAccessorGetter): |
| * bindings/v8/custom/V8DOMStringMapCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8DOMTokenListCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8DOMWindowCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8DataViewCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8DeviceMotionEventCustom.cpp: |
| (WebCore::V8DeviceMotionEvent::accelerationAccessorGetter): |
| (WebCore::V8DeviceMotionEvent::accelerationIncludingGravityAccessorGetter): |
| (WebCore::V8DeviceMotionEvent::rotationRateAccessorGetter): |
| (WebCore::V8DeviceMotionEvent::intervalAccessorGetter): |
| * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp: |
| (WebCore::V8DeviceOrientationEvent::alphaAccessorGetter): |
| (WebCore::V8DeviceOrientationEvent::betaAccessorGetter): |
| (WebCore::V8DeviceOrientationEvent::gammaAccessorGetter): |
| (WebCore::V8DeviceOrientationEvent::absoluteAccessorGetter): |
| * bindings/v8/custom/V8DocumentCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8DocumentLocationCustom.cpp: |
| (WebCore::V8Document::locationAccessorGetter): |
| * bindings/v8/custom/V8EntryCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8EntrySyncCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8EventCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8Float32ArrayCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8Float64ArrayCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: |
| (WebCore::V8HTMLCanvasElement::getContextCallback): |
| * bindings/v8/custom/V8HTMLDocumentCustom.cpp: |
| (WebCore::toV8): |
| |
| 2012-05-23 Kentaro Hara <haraken@chromium.org> |
| |
| Unreviewed, rolling out r118134. |
| http://trac.webkit.org/changeset/118134 |
| https://bugs.webkit.org/show_bug.cgi?id=87209 |
| |
| some LayoutTests crash since the patch passes a NULL to |
| Null(isolate) |
| |
| * bindings/v8/custom/V8HTMLElementCustom.cpp: |
| (WebCore::toV8Object): |
| (WebCore::toV8): |
| * bindings/v8/custom/V8HistoryCustom.cpp: |
| (WebCore::V8History::stateAccessorGetter): |
| * bindings/v8/custom/V8IDBAnyCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8IDBKeyCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8ImageDataCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8Int16ArrayCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8Int32ArrayCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8Int8ArrayCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8LocationCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8MessageEventCustom.cpp: |
| (WebCore::V8MessageEvent::dataAccessorGetter): |
| * bindings/v8/custom/V8NamedNodeMapCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8NodeCustom.cpp: |
| (WebCore::V8Node::insertBeforeCallback): |
| (WebCore::V8Node::replaceChildCallback): |
| (WebCore::V8Node::removeChildCallback): |
| (WebCore::V8Node::appendChildCallback): |
| (WebCore::toV8Slow): |
| * bindings/v8/custom/V8PopStateEventCustom.cpp: |
| (WebCore::V8PopStateEvent::stateAccessorGetter): |
| * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp: |
| (WebCore::V8SQLResultSetRowList::itemCallback): |
| * bindings/v8/custom/V8SVGDocumentCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8SVGElementCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8SVGPathSegCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8ScriptProfileCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8StyleSheetCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8TrackEventCustom.cpp: |
| (WebCore::V8TrackEvent::trackAccessorGetter): |
| * bindings/v8/custom/V8Uint16ArrayCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8Uint32ArrayCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8Uint8ArrayCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: |
| (WebCore::toV8Object): |
| (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback): |
| (WebCore::V8WebGLRenderingContext::getSupportedExtensionsCallback): |
| * bindings/v8/custom/V8WorkerContextCustom.cpp: |
| (WebCore::toV8): |
| |
| 2012-05-23 James Robinson <jamesr@chromium.org> |
| |
| Add a Setting to make position:fixed form a new stacking context |
| https://bugs.webkit.org/show_bug.cgi?id=87186 |
| |
| Reviewed by Adam Barth. |
| |
| position:fixed elements form a new stacking context in several mobile WebKit ports and in the Qt port always. To |
| be consistent across devices, we want to try turning it on everywhere. This will likely cause compatibility |
| issues, so we need a runtime setting in order to stage the change carefully. |
| |
| Tests: fast/block/positioning/fixed-position-stacking-context.html |
| fast/block/positioning/fixed-position-stacking-context2.html |
| |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::collectMatchingRulesForList): |
| * page/Settings.cpp: |
| (WebCore::Settings::Settings): |
| * page/Settings.h: |
| (WebCore::Settings::setFixedPositionCreatesStackingContext): |
| (WebCore::Settings::fixedPositionCreatesStackingContext): |
| (Settings): |
| * testing/InternalSettings.cpp: |
| (WebCore::InternalSettings::InternalSettings): |
| (WebCore::InternalSettings::restoreTo): |
| (WebCore::InternalSettings::setFixedPositionCreatesStackingContext): |
| (WebCore): |
| * testing/InternalSettings.h: |
| (InternalSettings): |
| * testing/InternalSettings.idl: |
| |
| 2012-05-23 Michael Nordman <michaeln@google.com> |
| |
| [chromium] DomStorage events handling needs TLC (3) |
| https://bugs.webkit.org/show_bug.cgi?id=87031 |
| https://code.google.com/p/chromium/issues/detail?id=128482 |
| Create WebCore::Storage instances as a side effect of attaching storage event handlers. |
| This allows storage events in chromium to be propagated with less IPC chatter. |
| |
| Worth noting that in non-chromium ports, creation of the localStorage instance can have |
| an additional side effect of scheduling a background task to read the area's values |
| from disk, which given the interest in events is probably a beneficial side effect. |
| |
| Reviewed by Adam Barth. |
| |
| No new tests. Existing tests cover this. |
| |
| * page/DOMWindow.cpp: |
| (WebCore::didAddStorageEventListener): |
| (WebCore::DOMWindow::addEventListener): |
| |
| 2012-05-23 Michael Saboff <msaboff@apple.com> |
| |
| Crash in fast/files/read tests during Garbage Collection |
| https://bugs.webkit.org/show_bug.cgi?id=87165 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Changed hasPendingActivity() processing to use ActiveDOMObject::hasPendingActivity() |
| and associated setPendingActivity() / unsetPendingActivity(). |
| |
| Fixed two existing tests with change. |
| |
| * Modules/filesystem/FileWriter.cpp: |
| (WebCore::FileWriter::stop): |
| (WebCore::FileWriter::write): |
| (WebCore::FileWriter::truncate): |
| (WebCore::FileWriter::signalCompletion): |
| * Modules/filesystem/FileWriter.h: |
| * fileapi/FileReader.cpp: |
| (WebCore::FileReader::readInternal): |
| (WebCore::FileReader::doAbort): |
| (WebCore::FileReader::didFinishLoading): |
| (WebCore::FileReader::didFail): |
| * fileapi/FileReader.h: |
| |
| 2012-05-23 Abhishek Arya <inferno@chromium.org> |
| |
| Crash in run-ins with continuations while moving back to original position. |
| https://bugs.webkit.org/show_bug.cgi?id=87264 |
| |
| Reviewed by Julien Chaffraix. |
| |
| Run-in that are now placed in sibling block can break up into continuation |
| chains when new children are added to it. We cannot easily send them back to their |
| original place since that requires writing integration logic with RenderInline::addChild |
| and all other places that might cause continuations to be created (without blowing away |
| |this|). Disabling this feature for now to prevent crashes. |
| |
| Test: fast/runin/runin-continuations-crash.html |
| |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::moveRunInToOriginalPosition): |
| |
| 2012-05-23 Abhishek Arya <inferno@chromium.org> |
| |
| Crash in RenderInline::linesVisualOverflowBoundingBox. |
| https://bugs.webkit.org/show_bug.cgi?id=85804 |
| |
| Reviewed by Dave Hyatt. |
| |
| Defer layout of replaced elements to the next line break function. |
| We shouldn't do it while we are clearing our inline chilren |
| lineboxes in full layout mode. |
| |
| Test: fast/block/inline-children-root-linebox-crash.html |
| |
| * rendering/RenderBlockLineLayout.cpp: |
| (WebCore::RenderBlock::layoutInlineChildren): |
| (WebCore::RenderBlock::LineBreaker::nextLineBreak): |
| |
| 2012-05-23 Chris Rogers <crogers@google.com> |
| |
| AudioParam must support fan-in (multiple audio connections) (take 2) |
| https://bugs.webkit.org/show_bug.cgi?id=83610 |
| |
| Reviewed by Kenneth Russell. |
| |
| This re-lands bug: https://bugs.webkit.org/show_bug.cgi?id=83610 |
| Now that a fix has been landed: http://trac.webkit.org/changeset/118099 |
| |
| Test: webaudio/audioparam-summingjunction.html |
| |
| * Modules/webaudio/AudioParam.cpp: |
| * Modules/webaudio/AudioParam.h: |
| (WebCore::AudioParam::calculateSampleAccurateValues): |
| (WebCore::AudioParam::calculateAudioRateSignalValues): |
| Sums intrinsic parameter value with all audio-rate connections. |
| |
| (WebCore::AudioParam::connect): |
| (WebCore::AudioParam::disconnect): |
| Support multiple connections. |
| |
| (WebCore::AudioParam::hasSampleAccurateValues): |
| If we have one or more audio-rate connections. |
| |
| (WebCore::AudioParam::AudioParam): |
| AudioParam now sub-classes AudioSummingJunction. |
| |
| 2012-05-23 Christophe Dumez <christophe.dumez@intel.com> |
| |
| [EFL] webintents/web-intents-delivery-reuse.html is failing on EFL port |
| https://bugs.webkit.org/show_bug.cgi?id=87092 |
| |
| Reviewed by Adam Barth. |
| |
| Remove readonly keyword from the webkitIntent attribute. This is |
| needed otherwise the [Replaceable] extended attribute has not effect |
| with JSC. This is tested by webintents/web-intents-delivery-reuse.html |
| test case. |
| |
| * Modules/intents/DOMWindowIntents.idl: |
| |
| 2012-05-23 Abhishek Arya <inferno@chromium.org> |
| |
| ASSERT failure toRenderProgress in HTMLProgressElement::didElementStateChange |
| https://bugs.webkit.org/show_bug.cgi?id=87274 |
| |
| Reviewed by Darin Adler. |
| |
| Progress bar can't run-in. Prevent it from becoming a run-in, leading to an |
| unworkable RenderInline. |
| |
| Test: fast/runin/progress-run-in-crash.html |
| |
| * html/HTMLProgressElement.cpp: |
| (WebCore::HTMLProgressElement::didElementStateChange): |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::moveRunInUnderSiblingBlockIfNeeded): |
| |
| 2012-05-23 Andrew Lo <anlo@rim.com> |
| |
| [BlackBerry] UI thread unnecessarily blocks on WebKit thread when servicing requestAnimationFrames |
| https://bugs.webkit.org/show_bug.cgi?id=87289 |
| |
| Reviewed by Antonio Gomes. |
| |
| requestAnimationFrame already covered by tests in LayoutTests/fast/animation. |
| |
| If UI thread cannot acquire DisplayRefreshMonitor mutex immediately, |
| avoid blocking on the mutex, it can trigger the frame change on the next |
| animation tick instead. |
| |
| * platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp: |
| (WebCore::DisplayRefreshMonitor::displayLinkFired): |
| |
| 2012-05-23 Alec Flett <alecflett@chromium.org> |
| |
| Implement DOM4 DOMError |
| https://bugs.webkit.org/show_bug.cgi?id=87055 |
| |
| Reviewed by Adam Barth. |
| |
| Implement the DOMError class and it's IDL interface. |
| |
| No new tests. Not testable yet, as it's not used. |
| |
| * WebCore.gypi: |
| * dom/DOMError.cpp: Added. |
| (WebCore): |
| (WebCore::DOMError::DOMError): |
| * dom/DOMError.h: Added. |
| (WebCore): |
| (DOMError): |
| (WebCore::DOMError::create): |
| (WebCore::DOMError::name): |
| * dom/DOMError.idl: Added. |
| |
| 2012-05-23 Kenneth Russell <kbr@google.com> |
| |
| REGRESSION(117918) - 4 webgl/tex-iomage-and-sub-image-2d-with-image tests failing on Mac bots. |
| https://bugs.webkit.org/show_bug.cgi?id=87136 |
| |
| Reviewed by Stephen White. |
| |
| Fixed longstanding bug in GraphicsContext3D constructor in Mac |
| port, and logic error in tracking of texture bound to unit 0. Also |
| fixed up Cairo port's constructor by code inspection. This code is |
| ripe for cleanup; Bug 87198 filed for this. |
| |
| Covered by existing tests. |
| |
| * platform/graphics/cairo/GraphicsContext3DCairo.cpp: |
| (WebCore::GraphicsContext3D::GraphicsContext3D): |
| Initialize missing members. |
| * platform/graphics/mac/GraphicsContext3DMac.mm: |
| (WebCore::GraphicsContext3D::GraphicsContext3D): |
| Correctly initialize m_activeTexture. |
| * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: |
| (WebCore::GraphicsContext3D::bindTexture): |
| Fix logic error in tracking of texture bound to unit 0. |
| |
| 2012-05-23 Dana Jansens <danakj@chromium.org> |
| |
| [chromium] Layers on main thread should get a RenderSurface for animating transform only if masksToBounds is true also |
| https://bugs.webkit.org/show_bug.cgi?id=87184 |
| |
| Reviewed by James Robinson. |
| |
| Layers on main thread get a RenderSurface if their impl counterpart may |
| have a RenderSurface due to its animating transform. We currently create |
| a RenderSurface for all layers with an animating transform and |
| a descendant that drawsContents. But a RenderSurface on impl also |
| implies that the layer masksToBounds. So only make a RenderSurface on |
| main thread when the layer also masksToBounds. |
| |
| Modified unit test CCLayerTreeHostCommonTest.verifyAnimationsForRenderSurfaceHierarchy. |
| |
| * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp: |
| (WebCore::subtreeShouldRenderToSeparateSurface): |
| |
| 2012-05-23 Chris Fleizach <cfleizach@apple.com> |
| |
| Regression(r112694): Crash in WebCore::AXObjectCache::postNotification |
| https://bugs.webkit.org/show_bug.cgi?id=86029 |
| |
| Reviewed by Abhishek Arya. |
| |
| Test: accessibility/content-changed-notification-causes-crash.html |
| |
| * accessibility/AccessibilityObject.h: |
| (WebCore::AccessibilityObject::isDetached): |
| (AccessibilityObject): |
| * accessibility/AccessibilityRenderObject.cpp: |
| (WebCore::AccessibilityRenderObject::contentChanged): |
| |
| 2012-05-23 Robin Dunn <robin@alldunn.com> |
| |
| [wx] Fix memory leak in FontHolder. |
| https://bugs.webkit.org/show_bug.cgi?id=87281 |
| |
| Reviewed by Kevin Ollivier. |
| |
| * platform/graphics/wx/FontPlatformData.h: |
| |
| 2012-05-23 Robin Dunn <robin@alldunn.com> |
| |
| [wx] Make sure we do not create a substitute font if the facename is not found. |
| https://bugs.webkit.org/show_bug.cgi?id=87280 |
| |
| Reviewed by Kevin Ollivier. |
| |
| * platform/graphics/wx/FontCacheWx.cpp: |
| (WebCore::FontCache::createFontPlatformData): |
| |
| 2012-05-23 Robin Dunn <robin@alldunn.com> |
| |
| [wx] Implement transparency layer support. |
| https://bugs.webkit.org/show_bug.cgi?id=87279 |
| |
| Reviewed by Kevin Ollivier. |
| |
| * platform/graphics/wx/GraphicsContextWx.cpp: |
| (WebCore::GraphicsContext::beginPlatformTransparencyLayer): |
| (WebCore::GraphicsContext::endPlatformTransparencyLayer): |
| (WebCore::GraphicsContext::supportsTransparencyLayers): |
| |
| 2012-05-23 Jer Noble <jer.noble@apple.com> |
| |
| GenericClock loses precision due to float->double conversion. |
| https://bugs.webkit.org/show_bug.cgi?id=87227 |
| |
| Reviewed by Darin Adler. |
| |
| No new tests; fixes media/media-controller-time.html on Chromium. |
| |
| Only narrow to float after the entire calculation is complete. This requires now() and m_offset |
| to be double-precision. |
| |
| * platform/ClockGeneric.cpp: |
| (ClockGeneric::currentTime): |
| (ClockGeneric::now): Make double-precision. |
| * platform/ClockGeneric.h: |
| (ClockGeneric): Make m_offset double-precision. |
| |
| 2012-05-22 Jer Noble <jer.noble@apple.com> |
| |
| PlatformClockCM has uninitialized m_rate member. |
| https://bugs.webkit.org/show_bug.cgi?id=87217 |
| |
| Reviewed by Eric Carlson. |
| |
| Test: media/media-controller-time.html |
| |
| Initialize the m_rate member to a default of 1 (second-per-second), matching the implementation |
| of ClockGeneric. |
| |
| * platform/mac/PlatformClockCM.mm: |
| (PlatformClockCM::PlatformClockCM): |
| |
| 2012-05-23 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r118096. |
| http://trac.webkit.org/changeset/118096 |
| https://bugs.webkit.org/show_bug.cgi?id=87285 |
| |
| caused multiple crashes on the mac bots (Requested by |
| jessieberlin on #webkit). |
| |
| * dom/ContainerNodeAlgorithms.h: |
| |
| 2012-05-23 Darin Adler <darin@apple.com> |
| |
| Speed up traverseNextNode when called on a ContainerNode or Element |
| https://bugs.webkit.org/show_bug.cgi?id=87224 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * dom/ContainerNode.h: Added overrides of traverseNextNode for ContainerNode. |
| That way, when we know at compile time something is ContainerNode, we can |
| skip a branch at the start of this hot function. |
| |
| 2012-05-23 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> |
| |
| Use PluginDataNone.cpp always when NETSCAPE_PLUGIN_API is OFF |
| https://bugs.webkit.org/show_bug.cgi?id=87096 |
| |
| Reviewed by Andy Estes. |
| |
| Fix a build error by adding an extra check in PluginData.cpp to use |
| PluginStrategy only when NETSCAPE_PLUGIN_API is ON. |
| |
| No new tests. This is only a build fix. |
| |
| * plugins/PluginData.cpp: |
| (WebCore): |
| |
| 2012-05-23 Malcolm MacLeod <malcolm.macleod@tshwanedje.com> |
| |
| [wx] Fix scrollbar drawing under wxGTK. |
| https://bugs.webkit.org/show_bug.cgi?id=87150 |
| |
| Reviewed by Kevin Ollivier. |
| |
| * platform/wx/wxcode/gtk/scrollbar_render.cpp: |
| (wxRenderer_DrawScrollbar): |
| |
| 2012-05-23 Antti Koivisto <antti@apple.com> |
| |
| Rename StyleSheetInternal to StyleSheetContents |
| https://bugs.webkit.org/show_bug.cgi?id=87272 |
| |
| Reviewed by Andreas Kling. |
| |
| The name is more descriptive and the code reads better. |
| |
| Plain "StyleSheet" would be good too but that is a CSSOM type and the name can't be used without |
| changing idl code generation and resolving bunch of other issues. |
| |
| * css/CSSFontFaceSrcValue.cpp: |
| (WebCore::CSSFontFaceSrcValue::addSubresourceStyleURLs): |
| * css/CSSFontFaceSrcValue.h: |
| (CSSFontFaceSrcValue): |
| * css/CSSImportRule.cpp: |
| (WebCore::StyleRuleImport::setCSSStyleSheet): |
| (WebCore::StyleRuleImport::requestStyleSheet): |
| * css/CSSImportRule.h: |
| (WebCore): |
| (WebCore::StyleRuleImport::parentStyleSheet): |
| (WebCore::StyleRuleImport::setParentStyleSheet): |
| (WebCore::StyleRuleImport::styleSheet): |
| (StyleRuleImport): |
| * css/CSSMediaRule.cpp: |
| (WebCore::CSSMediaRule::insertRule): |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::parseSheet): |
| (WebCore::CSSParser::parseRule): |
| (WebCore::CSSParser::parseKeyframeRule): |
| (WebCore::CSSParser::parseValue): |
| (WebCore::CSSParser::parseSelector): |
| (WebCore::CSSParser::parseDeclaration): |
| (WebCore::CSSParser::setStyleSheet): |
| (WebCore::CSSParser::parseFlowThread): |
| * css/CSSParser.h: |
| (WebCore): |
| (CSSParser): |
| * css/CSSPrimitiveValue.cpp: |
| (WebCore::CSSPrimitiveValue::addSubresourceStyleURLs): |
| * css/CSSPrimitiveValue.h: |
| (CSSPrimitiveValue): |
| * css/CSSReflectValue.cpp: |
| (WebCore::CSSReflectValue::addSubresourceStyleURLs): |
| * css/CSSReflectValue.h: |
| (CSSReflectValue): |
| * css/CSSRule.cpp: |
| (WebCore::CSSRule::parserContext): |
| * css/CSSStyleSheet.cpp: |
| (WebCore::StyleSheetContents::estimatedSizeInBytes): |
| (WebCore::StyleSheetContents::StyleSheetContents): |
| (WebCore::StyleSheetContents::~StyleSheetContents): |
| (WebCore::StyleSheetContents::isCacheable): |
| (WebCore::StyleSheetContents::parserAppendRule): |
| (WebCore::StyleSheetContents::ruleAt): |
| (WebCore::StyleSheetContents::ruleCount): |
| (WebCore::StyleSheetContents::clearCharsetRule): |
| (WebCore::StyleSheetContents::clearRules): |
| (WebCore::StyleSheetContents::parserSetEncodingFromCharsetRule): |
| (WebCore::StyleSheetContents::wrapperInsertRule): |
| (WebCore::StyleSheetContents::wrapperDeleteRule): |
| (WebCore::StyleSheetContents::parserAddNamespace): |
| (WebCore::StyleSheetContents::determineNamespace): |
| (WebCore::StyleSheetContents::parseAuthorStyleSheet): |
| (WebCore::StyleSheetContents::parseString): |
| (WebCore::StyleSheetContents::parseStringAtLine): |
| (WebCore::StyleSheetContents::isLoading): |
| (WebCore::StyleSheetContents::checkLoaded): |
| (WebCore::StyleSheetContents::notifyLoadedSheet): |
| (WebCore::StyleSheetContents::startLoadingDynamicSheet): |
| (WebCore::StyleSheetContents::rootStyleSheet): |
| (WebCore::StyleSheetContents::singleOwnerNode): |
| (WebCore::StyleSheetContents::singleOwnerDocument): |
| (WebCore::StyleSheetContents::completeURL): |
| (WebCore::StyleSheetContents::addSubresourceStyleURLs): |
| (WebCore::StyleSheetContents::parentStyleSheet): |
| (WebCore::StyleSheetContents::registerClient): |
| (WebCore::StyleSheetContents::unregisterClient): |
| (WebCore::StyleSheetContents::addedToMemoryCache): |
| (WebCore::StyleSheetContents::removedFromMemoryCache): |
| (WebCore::CSSStyleSheet::createInline): |
| (WebCore::CSSStyleSheet::CSSStyleSheet): |
| (WebCore::CSSStyleSheet::~CSSStyleSheet): |
| (WebCore::CSSStyleSheet::willMutateRules): |
| (WebCore::CSSStyleSheet::didMutateRules): |
| (WebCore::CSSStyleSheet::reattachChildRuleCSSOMWrappers): |
| (WebCore::CSSStyleSheet::length): |
| (WebCore::CSSStyleSheet::item): |
| (WebCore::CSSStyleSheet::rules): |
| (WebCore::CSSStyleSheet::insertRule): |
| (WebCore::CSSStyleSheet::deleteRule): |
| (WebCore::CSSStyleSheet::cssRules): |
| * css/CSSStyleSheet.h: |
| (WebCore::StyleSheetContents::create): |
| (StyleSheetContents): |
| (WebCore::StyleSheetContents::copy): |
| (WebCore::CSSStyleSheet::create): |
| (WebCore::CSSStyleSheet::contents): |
| (CSSStyleSheet): |
| * css/CSSValue.cpp: |
| (WebCore::CSSValue::addSubresourceStyleURLs): |
| * css/CSSValue.h: |
| (WebCore): |
| (CSSValue): |
| * css/CSSValueList.cpp: |
| (WebCore::CSSValueList::addSubresourceStyleURLs): |
| * css/CSSValueList.h: |
| (CSSValueList): |
| * css/PropertySetCSSStyleDeclaration.cpp: |
| (WebCore::PropertySetCSSStyleDeclaration::contextStyleSheet): |
| * css/PropertySetCSSStyleDeclaration.h: |
| (WebCore): |
| (PropertySetCSSStyleDeclaration): |
| * css/StylePropertySet.cpp: |
| (WebCore::StylePropertySet::setProperty): |
| (WebCore::StylePropertySet::parseDeclaration): |
| (WebCore::StylePropertySet::addSubresourceStyleURLs): |
| * css/StylePropertySet.h: |
| (WebCore): |
| (StylePropertySet): |
| * css/StyleResolver.cpp: |
| (RuleSet): |
| (WebCore): |
| (WebCore::StyleResolver::StyleResolver): |
| (WebCore::StyleResolver::addAuthorRulesAndCollectUserRulesFromSheets): |
| (WebCore::StyleResolver::appendAuthorStylesheets): |
| (WebCore::parseUASheet): |
| (WebCore::StyleResolver::collectMatchingRulesForList): |
| * css/StyleResolver.h: |
| (StyleResolver): |
| * css/WebKitCSSKeyframesRule.cpp: |
| (WebCore::WebKitCSSKeyframesRule::insertRule): |
| * dom/DOMImplementation.cpp: |
| (WebCore::DOMImplementation::createCSSStyleSheet): |
| * dom/Document.cpp: |
| (WebCore::Document::recalcStyle): |
| (WebCore::Document::updateBaseURL): |
| (WebCore::Document::pageUserSheet): |
| (WebCore::Document::pageGroupUserSheets): |
| (WebCore::Document::addUserSheet): |
| (WebCore::Document::testAddedStylesheetRequiresStyleRecalc): |
| (WebCore::Document::analyzeStylesheetChange): |
| (WebCore::styleSheetsUseRemUnits): |
| * dom/Document.h: |
| (WebCore): |
| (Document): |
| * dom/ElementAttributeData.cpp: |
| (WebCore::ElementAttributeData::updateInlineStyleAvoidingMutation): |
| * dom/ProcessingInstruction.cpp: |
| (WebCore::ProcessingInstruction::setCSSStyleSheet): |
| (WebCore::ProcessingInstruction::parseStyleSheet): |
| * dom/StyleElement.cpp: |
| (WebCore::StyleElement::createSheet): |
| * dom/StyledElement.cpp: |
| (WebCore::StyledElement::setInlineStyleProperty): |
| (WebCore::StyledElement::addSubresourceAttributeURLs): |
| (WebCore::StyledElement::addPropertyToAttributeStyle): |
| * html/HTMLLinkElement.cpp: |
| (WebCore::HTMLLinkElement::setCSSStyleSheet): |
| (WebCore::HTMLLinkElement::styleSheetIsLoading): |
| (WebCore::HTMLLinkElement::addSubresourceAttributeURLs): |
| * html/HTMLStyleElement.cpp: |
| (WebCore::HTMLStyleElement::addSubresourceAttributeURLs): |
| * inspector/InspectorStyleSheet.cpp: |
| (WebCore::fillMediaListChain): |
| (WebCore::InspectorStyle::setPropertyText): |
| (WebCore::InspectorStyleSheet::styleSheetURL): |
| (WebCore::InspectorStyleSheet::reparseStyleSheet): |
| (WebCore::InspectorStyleSheet::ensureSourceData): |
| (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges): |
| * loader/cache/CachedCSSStyleSheet.cpp: |
| (WebCore::CachedCSSStyleSheet::restoreParsedStyleSheet): |
| (WebCore::CachedCSSStyleSheet::saveParsedStyleSheet): |
| * loader/cache/CachedCSSStyleSheet.h: |
| (WebCore): |
| (CachedCSSStyleSheet): |
| * page/PageSerializer.cpp: |
| (WebCore::PageSerializer::serializeCSSStyleSheet): |
| |
| 2012-05-23 Darin Adler <darin@apple.com> |
| |
| Use ContainerNode instead of Node where possible |
| https://bugs.webkit.org/show_bug.cgi?id=87220 |
| |
| Reviewed by Geoffrey Garen. |
| |
| It's better to use a more specific type; in some cases we even generate |
| more efficient code if we have a more specific type. Also, we want any |
| type casts to be as close as possible to the corresponding type checks, |
| so eliminating these uses of toContainerNode is a plus, also. |
| |
| * dom/ContainerNodeAlgorithms.h: Changed insertionPoint to be a ContainerNode |
| instead of a Node. Fixed spelling error "inseretions". Changed |
| (WebCore::ChildFrameDisconnector::Target::Target): Changed type of frame owner |
| element to HTMLFrameOwnerElement from Node. |
| |
| * dom/DocumentType.cpp: |
| (WebCore::DocumentType::insertedInto): |
| (WebCore::DocumentType::removedFrom): |
| * dom/DocumentType.h: |
| * dom/Element.cpp: |
| (WebCore::Element::insertedInto): |
| (WebCore::Element::removedFrom): |
| * dom/Element.h: |
| * dom/Node.cpp: |
| (WebCore::Node::insertedInto): |
| (WebCore::Node::removedFrom): |
| * dom/Node.h: |
| * dom/ProcessingInstruction.cpp: |
| (WebCore::ProcessingInstruction::insertedInto): |
| (WebCore::ProcessingInstruction::removedFrom): |
| * dom/ProcessingInstruction.h: |
| * dom/ScriptElement.cpp: |
| (WebCore::ScriptElement::insertedInto): |
| * dom/ScriptElement.h: |
| * html/FormAssociatedElement.cpp: |
| (WebCore::FormAssociatedElement::insertedInto): |
| (WebCore::FormAssociatedElement::removedFrom): |
| * html/FormAssociatedElement.h: |
| * html/HTMLBaseElement.cpp: |
| (WebCore::HTMLBaseElement::insertedInto): |
| (WebCore::HTMLBaseElement::removedFrom): |
| * html/HTMLBaseElement.h: |
| * html/HTMLBodyElement.cpp: |
| (WebCore::HTMLBodyElement::insertedInto): |
| (WebCore::HTMLBodyElement::didNotifyDescendantInsertions): |
| * html/HTMLBodyElement.h: |
| * html/HTMLFormControlElement.cpp: |
| (WebCore::HTMLFormControlElement::insertedInto): |
| (WebCore::HTMLFormControlElement::removedFrom): |
| * html/HTMLFormControlElement.h: |
| * html/HTMLFormElement.cpp: |
| (WebCore::HTMLFormElement::insertedInto): |
| (WebCore::HTMLFormElement::didNotifyDescendantInsertions): |
| (WebCore::HTMLFormElement::removedFrom): |
| * html/HTMLFormElement.h: |
| * html/HTMLFrameElementBase.cpp: |
| (WebCore::HTMLFrameElementBase::insertedInto): |
| (WebCore::HTMLFrameElementBase::didNotifyDescendantInsertions): |
| * html/HTMLFrameElementBase.h: |
| * html/HTMLFrameSetElement.cpp: |
| (WebCore::HTMLFrameSetElement::insertedInto): |
| (WebCore::HTMLFrameSetElement::removedFrom): |
| * html/HTMLFrameSetElement.h: |
| * html/HTMLIFrameElement.cpp: |
| (WebCore::HTMLIFrameElement::insertedInto): |
| (WebCore::HTMLIFrameElement::removedFrom): |
| * html/HTMLIFrameElement.h: |
| * html/HTMLImageElement.cpp: |
| (WebCore::HTMLImageElement::insertedInto): |
| (WebCore::HTMLImageElement::removedFrom): |
| * html/HTMLImageElement.h: |
| * html/HTMLInputElement.cpp: |
| (WebCore::HTMLInputElement::insertedInto): |
| (WebCore::HTMLInputElement::removedFrom): |
| * html/HTMLInputElement.h: |
| * html/HTMLLinkElement.cpp: |
| (WebCore::HTMLLinkElement::insertedInto): |
| (WebCore::HTMLLinkElement::removedFrom): |
| * html/HTMLLinkElement.h: |
| * html/HTMLMapElement.cpp: |
| (WebCore::HTMLMapElement::insertedInto): |
| (WebCore::HTMLMapElement::removedFrom): |
| * html/HTMLMapElement.h: |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::insertedInto): |
| (WebCore::HTMLMediaElement::removedFrom): |
| * html/HTMLMediaElement.h: |
| * html/HTMLMetaElement.cpp: |
| (WebCore::HTMLMetaElement::insertedInto): |
| * html/HTMLMetaElement.h: |
| * html/HTMLObjectElement.cpp: |
| (WebCore::HTMLObjectElement::insertedInto): |
| (WebCore::HTMLObjectElement::removedFrom): |
| * html/HTMLObjectElement.h: |
| * html/HTMLOptionElement.cpp: |
| (WebCore::HTMLOptionElement::insertedInto): |
| * html/HTMLOptionElement.h: |
| * html/HTMLQuoteElement.cpp: |
| (WebCore::HTMLQuoteElement::insertedInto): |
| * html/HTMLQuoteElement.h: |
| * html/HTMLScriptElement.cpp: |
| (WebCore::HTMLScriptElement::insertedInto): |
| * html/HTMLScriptElement.h: |
| * html/HTMLSelectElement.cpp: |
| (WebCore::HTMLSelectElement::insertedInto): |
| * html/HTMLSelectElement.h: |
| * html/HTMLSourceElement.cpp: |
| (WebCore::HTMLSourceElement::insertedInto): |
| (WebCore::HTMLSourceElement::removedFrom): |
| * html/HTMLSourceElement.h: |
| * html/HTMLStyleElement.cpp: |
| (WebCore::HTMLStyleElement::insertedInto): |
| (WebCore::HTMLStyleElement::removedFrom): |
| * html/HTMLStyleElement.h: |
| * html/HTMLTextFormControlElement.cpp: |
| (WebCore::HTMLTextFormControlElement::insertedInto): |
| * html/HTMLTextFormControlElement.h: |
| * html/HTMLTitleElement.cpp: |
| (WebCore::HTMLTitleElement::insertedInto): |
| (WebCore::HTMLTitleElement::removedFrom): |
| * html/HTMLTitleElement.h: |
| * html/HTMLTrackElement.cpp: |
| (WebCore::HTMLTrackElement::insertedInto): |
| (WebCore::HTMLTrackElement::removedFrom): |
| * html/HTMLTrackElement.h: |
| * mathml/MathMLMathElement.cpp: |
| (WebCore::MathMLMathElement::insertedInto): |
| * mathml/MathMLMathElement.h: |
| * svg/SVGElement.cpp: |
| (WebCore::SVGElement::removedFrom): |
| * svg/SVGElement.h: |
| * svg/SVGFEImageElement.cpp: |
| (WebCore::SVGFEImageElement::insertedInto): |
| (WebCore::SVGFEImageElement::removedFrom): |
| * svg/SVGFEImageElement.h: |
| * svg/SVGFontFaceElement.cpp: |
| (WebCore::SVGFontFaceElement::insertedInto): |
| (WebCore::SVGFontFaceElement::removedFrom): |
| * svg/SVGFontFaceElement.h: |
| * svg/SVGFontFaceUriElement.cpp: |
| (WebCore::SVGFontFaceUriElement::insertedInto): |
| * svg/SVGFontFaceUriElement.h: |
| * svg/SVGGlyphElement.cpp: |
| (WebCore::SVGGlyphElement::insertedInto): |
| (WebCore::SVGGlyphElement::removedFrom): |
| * svg/SVGGlyphElement.h: |
| * svg/SVGHKernElement.cpp: |
| (WebCore::SVGHKernElement::insertedInto): |
| (WebCore::SVGHKernElement::removedFrom): |
| * svg/SVGHKernElement.h: |
| * svg/SVGImageElement.cpp: |
| (WebCore::SVGImageElement::insertedInto): |
| * svg/SVGImageElement.h: |
| * svg/SVGSVGElement.cpp: |
| (WebCore::SVGSVGElement::insertedInto): |
| (WebCore::SVGSVGElement::removedFrom): |
| * svg/SVGSVGElement.h: |
| * svg/SVGScriptElement.cpp: |
| (WebCore::SVGScriptElement::insertedInto): |
| * svg/SVGScriptElement.h: |
| * svg/SVGStyleElement.cpp: |
| (WebCore::SVGStyleElement::insertedInto): |
| (WebCore::SVGStyleElement::removedFrom): |
| * svg/SVGStyleElement.h: |
| * svg/SVGStyledElement.cpp: |
| (WebCore::SVGStyledElement::insertedInto): |
| (WebCore::SVGStyledElement::removedFrom): |
| * svg/SVGStyledElement.h: |
| * svg/SVGTRefElement.cpp: |
| (WebCore::SVGTRefElement::insertedInto): |
| (WebCore::SVGTRefElement::removedFrom): |
| * svg/SVGTRefElement.h: |
| * svg/SVGTextPathElement.cpp: |
| (WebCore::SVGTextPathElement::insertedInto): |
| * svg/SVGTextPathElement.h: |
| * svg/SVGTitleElement.cpp: |
| (WebCore::SVGTitleElement::insertedInto): |
| (WebCore::SVGTitleElement::removedFrom): |
| * svg/SVGTitleElement.h: |
| * svg/SVGUseElement.cpp: |
| (WebCore::SVGUseElement::insertedInto): |
| (WebCore::SVGUseElement::removedFrom): |
| * svg/SVGUseElement.h: |
| * svg/SVGVKernElement.cpp: |
| (WebCore::SVGVKernElement::insertedInto): |
| (WebCore::SVGVKernElement::removedFrom): |
| * svg/SVGVKernElement.h: |
| * svg/animation/SVGSMILElement.cpp: |
| (WebCore::SVGSMILElement::insertedInto): |
| (WebCore::SVGSMILElement::removedFrom): |
| * svg/animation/SVGSMILElement.h: |
| Changed arguments of insertedInto and removedFrom to ContainerNode instead of Node. |
| Did the same with didNotifyDescendantInsertions, while fixing the typo in its name. |
| |
| * editing/ReplaceSelectionCommand.cpp: |
| (WebCore::ReplaceSelectionCommand::doApply): Put a typecast toHTMLElement here. |
| The check for isListElement and isLegacyAppleStyleSpan takes care of the type checking. |
| (WebCore::ReplaceSelectionCommand::insertAsListItems): Changed this function to take |
| an HTMLElement instead of a Node, then we can drop use of the toContainerNode function. |
| * editing/ReplaceSelectionCommand.h: |
| |
| * editing/TextIterator.cpp: Fixed a typo in a comment. |
| |
| 2012-05-23 Alexei Filippov <alexeif@chromium.org> |
| |
| Web Inspector: filter out debugging stuff from the heap class view |
| https://bugs.webkit.org/show_bug.cgi?id=86723 |
| |
| We mark objects that are accessible from user roots (e.g. Window) |
| with pageObject attribute. This fix filters out all non-pageObjects |
| from the classes view. |
| |
| Reviewed by Yury Semikhatsky. |
| |
| * inspector/front-end/HeapSnapshot.js: |
| (WebInspector.HeapSnapshotNode.prototype.isPageObject): |
| (WebInspector.HeapSnapshot.prototype._buildAggregates): |
| (WebInspector.HeapSnapshot.prototype._calculateClassesRetainedSize): |
| (WebInspector.HeapSnapshot.prototype._buildPostOrderIndex): |
| (WebInspector.HeapSnapshot.prototype._markPageOwnedNodes): |
| (WebInspector.HeapSnapshot.prototype.createNodesProviderForClass): |
| |
| 2012-05-23 Andrei Bucur <abucur@adobe.com> |
| |
| [CSSRegions]Implement NamedFlow::name attribute |
| https://bugs.webkit.org/show_bug.cgi?id=79645 |
| |
| Implementation for the NamedFlow::name attribute per the CSS Regions WD 3-May-2012 recommendation: |
| http://www.w3.org/TR/2012/WD-css3-regions-20120503/ |
| |
| Reviewed by Andreas Kling. |
| |
| Test: fast/regions/webkit-named-flow-name.html |
| |
| * dom/WebKitNamedFlow.cpp: |
| (WebCore::WebKitNamedFlow::name): |
| (WebCore): |
| * dom/WebKitNamedFlow.h: |
| (WebKitNamedFlow): |
| * dom/WebKitNamedFlow.idl: |
| |
| 2012-05-23 Andreas Kling <kling@webkit.org> |
| |
| Let the compiler generate FontFamily's copy ctor and assignment operator. |
| |
| Blindly rubberstamped by the brave Antti Koivisto. |
| |
| * platform/graphics/FontFamily.cpp: |
| * platform/graphics/FontFamily.h: |
| |
| 2012-05-23 Andreas Kling <kling@webkit.org> |
| |
| CSSParser: Simplify StylePropertySet creation. |
| <http://webkit.org/b/87259> |
| |
| Reviewed by Alexis Menard. |
| |
| Turn CSSParser's filteredProperties() into createStylePropertySet() which filters the parsed |
| properties and creates a new StylePropertySet, adopting the vector to avoid the Vector copy we |
| were previously incurring. |
| |
| Added a StylePropertyVector typedef for Vector<CSSProperty, 4> since we need to pass this type |
| to the constructor for Vector::swap() to work. |
| |
| And thus StylePropertySet::create(const Vector<CSSProperty>&, CSSParserMode) became |
| StylePropertySet::adopt(StylePropertyVector&, CSSParserMode). |
| |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore::CSSComputedStyleDeclaration::copyPropertiesInSet): |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::createStylePropertySet): |
| (WebCore::CSSParser::createStyleRule): |
| (WebCore::CSSParser::createFontFaceRule): |
| (WebCore::CSSParser::createPageRule): |
| (WebCore::CSSParser::createKeyframe): |
| * css/CSSParser.h: |
| * css/StylePropertySet.cpp: |
| (WebCore::StylePropertySet::StylePropertySet): |
| (WebCore::StylePropertySet::removePropertiesInSet): |
| (WebCore::StylePropertySet::copyPropertiesInSet): |
| (SameSizeAsStylePropertySet): |
| * css/StylePropertySet.h: |
| (WebCore::StylePropertySet::adopt): |
| (StylePropertySet): |
| |
| 2012-05-23 Andreas Kling <kling@webkit.org> |
| |
| Kill some frivolous null-checking of Element::m_attributeData. |
| <http://webkit.org/b/87248> |
| |
| Reviewed by Antti Koivisto. |
| |
| Replace unnecessary Element::m_attributeData with assertions where it makes sense. |
| Others are flat out removed because it should be obvious from context that it's non-null. |
| E.g if an attribute has changed, we're obviously storing it somewhere. |
| |
| Also added a short-circuit to Element::normalize() if there are no Attr objects |
| associated with the element. |
| |
| * dom/Element.cpp: |
| (WebCore::Element::~Element): |
| (WebCore::Element::attributeChanged): |
| (WebCore::Element::insertedInto): |
| (WebCore::Element::removedFrom): |
| (WebCore::Element::removeAttributeNode): |
| (WebCore::Element::normalizeAttributes): |
| * dom/StyledElement.cpp: |
| (WebCore::StyledElement::classAttributeChanged): |
| |
| 2012-05-23 Andreas Kling <kling@webkit.org> |
| |
| Let Element::detachAttribute() handle removal of the attribute. |
| <http://webkit.org/b/87242> |
| |
| Reviewed by Antti Koivisto. |
| |
| All the call sites were removing the attribute after detaching it, so move |
| that into detachAttribute(). The function name already made it sound like it |
| removes the attribute anyway. |
| |
| Also sprinkle some assertions wrt being called with guaranteed presence of |
| attributeData() and the provided index in the attribute vector. |
| |
| * dom/Element.cpp: |
| (WebCore::Element::detachAttribute): |
| (WebCore::Element::removeAttributeNode): |
| * dom/NamedNodeMap.cpp: |
| (WebCore::NamedNodeMap::removeNamedItem): |
| (WebCore::NamedNodeMap::removeNamedItemNS): |
| |
| 2012-05-23 Andreas Kling <kling@webkit.org> |
| |
| Streamline Element teardown for the no-Attr-objects case. |
| <http://webkit.org/b/87228> |
| |
| Reviewed by Antti Koivisto. |
| |
| Dodge one function call in ~Element() if the element has no Attr objects |
| associated (the typical case.) |
| |
| Renamed detachAttributes to detachAttrObjectsFromElement to reduce ambiguity. |
| |
| * dom/Element.cpp: |
| (WebCore::Element::~Element): |
| * dom/ElementAttributeData.cpp: |
| (WebCore::ElementAttributeData::detachAttrObjectsFromElement): |
| (WebCore::ElementAttributeData::clearAttributes): |
| * dom/ElementAttributeData.h: |
| (ElementAttributeData): |
| |
| 2012-05-23 Jochen Eisinger <jochen@chromium.org> |
| |
| Fix incomplete switch statement in CSSParser after r118082 |
| https://bugs.webkit.org/show_bug.cgi?id=87250 |
| |
| Reviewed by Alexis Menard. |
| |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::parseValue): |
| |
| 2012-05-23 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r118105. |
| http://trac.webkit.org/changeset/118105 |
| https://bugs.webkit.org/show_bug.cgi?id=87255 |
| |
| New LayoutTest is causing several cookie tests to fail on |
| numerous bots (Requested by steveblock on #webkit). |
| |
| * platform/blackberry/CookieJarBlackBerry.cpp: |
| (WebCore::setCookies): |
| * platform/blackberry/CookieManager.cpp: |
| (WebCore::CookieManager::setCookies): |
| (WebCore::CookieManager::checkAndTreatCookie): |
| (WebCore::CookieManager::addCookieToMap): |
| (WebCore::CookieManager::setPrivateMode): |
| (WebCore): |
| * platform/blackberry/CookieManager.h: |
| * platform/blackberry/CookieMap.cpp: |
| (WebCore::CookieMap::addOrReplaceCookie): |
| (WebCore::CookieMap::removeCookie): |
| * platform/blackberry/CookieMap.h: |
| (CookieMap): |
| |
| 2012-05-23 Zan Dobersek <zandobersek@gmail.com> |
| |
| [Gtk] EventSender should properly handle (left|right)(control|shift|alt) after r118001 |
| https://bugs.webkit.org/show_bug.cgi?id=87221 |
| |
| Reviewed by Martin Robinson. |
| |
| No new tests - covered by fast/events/keydown-leftright-keys.html. |
| |
| Windows key code for shift, control and alt keys should respect the |
| left or right position of that key. This way the DOM location code of |
| a key event is properly determined for these keys. |
| |
| * platform/gtk/PlatformKeyboardEventGtk.cpp: |
| (WebCore::PlatformKeyboardEvent::windowsKeyCodeForGdkKeyCode): |
| |
| 2012-05-23 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: eliminate getters from HeapSnapshot.js |
| https://bugs.webkit.org/show_bug.cgi?id=87241 |
| |
| getters can't be inlined by engine at the moment. |
| I found that conversion getters into functions gives us about 600 ms |
| |
| RESULT heap-snapshot: switch-to-containment-view= 1920 ms |
| vs |
| RESULT heap-snapshot: switch-to-containment-view= 1367 ms |
| |
| Reviewed by Yury Semikhatsky. |
| |
| * inspector/front-end/HeapSnapshot.js: |
| (WebInspector.HeapSnapshotEdge.prototype.hasStringName): |
| (WebInspector.HeapSnapshotEdge.prototype.isElement): |
| (WebInspector.HeapSnapshotEdge.prototype.isHidden): |
| (WebInspector.HeapSnapshotEdge.prototype.isWeak): |
| (WebInspector.HeapSnapshotEdge.prototype.isInternal): |
| (WebInspector.HeapSnapshotEdge.prototype.isInvisible): |
| (WebInspector.HeapSnapshotEdge.prototype.isShortcut): |
| (WebInspector.HeapSnapshotEdge.prototype.name): |
| (WebInspector.HeapSnapshotEdge.prototype.node): |
| (WebInspector.HeapSnapshotEdge.prototype.nodeIndex): |
| (WebInspector.HeapSnapshotEdge.prototype.rawEdges): |
| (WebInspector.HeapSnapshotEdge.prototype.toString): |
| (WebInspector.HeapSnapshotEdge.prototype.type): |
| (WebInspector.HeapSnapshotEdge.prototype._hasStringName): |
| (WebInspector.HeapSnapshotEdge.prototype._name): |
| (WebInspector.HeapSnapshotEdge.prototype._nameOrIndex): |
| (WebInspector.HeapSnapshotEdgeIterator.prototype.index): |
| (WebInspector.HeapSnapshotEdgeIterator.prototype.setIndex): |
| (WebInspector.HeapSnapshotEdgeIterator.prototype.item): |
| (WebInspector.HeapSnapshotRetainerEdge): |
| (WebInspector.HeapSnapshotRetainerEdge.prototype.clone): |
| (WebInspector.HeapSnapshotRetainerEdge.prototype.hasStringName): |
| (WebInspector.HeapSnapshotRetainerEdge.prototype.isElement): |
| (WebInspector.HeapSnapshotRetainerEdge.prototype.isHidden): |
| (WebInspector.HeapSnapshotRetainerEdge.prototype.isInternal): |
| (WebInspector.HeapSnapshotRetainerEdge.prototype.isInvisible): |
| (WebInspector.HeapSnapshotRetainerEdge.prototype.isShortcut): |
| (WebInspector.HeapSnapshotRetainerEdge.prototype.isWeak): |
| (WebInspector.HeapSnapshotRetainerEdge.prototype.name): |
| (WebInspector.HeapSnapshotRetainerEdge.prototype.node): |
| (WebInspector.HeapSnapshotRetainerEdge.prototype.nodeIndex): |
| (WebInspector.HeapSnapshotRetainerEdge.prototype.retainerIndex): |
| (WebInspector.HeapSnapshotRetainerEdge.prototype.setRetainerIndex): |
| (WebInspector.HeapSnapshotRetainerEdge.prototype._node): |
| (WebInspector.HeapSnapshotRetainerEdge.prototype._edge): |
| (WebInspector.HeapSnapshotRetainerEdge.prototype.toString): |
| (WebInspector.HeapSnapshotRetainerEdge.prototype.type): |
| (WebInspector.HeapSnapshotRetainerEdgeIterator.prototype.first): |
| (WebInspector.HeapSnapshotRetainerEdgeIterator.prototype.hasNext): |
| (WebInspector.HeapSnapshotRetainerEdgeIterator.prototype.index): |
| (WebInspector.HeapSnapshotRetainerEdgeIterator.prototype.setIndex): |
| (WebInspector.HeapSnapshotRetainerEdgeIterator.prototype.item): |
| (WebInspector.HeapSnapshotRetainerEdgeIterator.prototype.next): |
| (WebInspector.HeapSnapshotNode.prototype.canBeQueried): |
| (WebInspector.HeapSnapshotNode.prototype.distanceToWindow): |
| (WebInspector.HeapSnapshotNode.prototype.className): |
| (WebInspector.HeapSnapshotNode.prototype.dominatorIndex): |
| (WebInspector.HeapSnapshotNode.prototype.edges): |
| (WebInspector.HeapSnapshotNode.prototype.edgesCount): |
| (WebInspector.HeapSnapshotNode.prototype.flags): |
| (WebInspector.HeapSnapshotNode.prototype.id): |
| (WebInspector.HeapSnapshotNode.prototype.isHidden): |
| (WebInspector.HeapSnapshotNode.prototype.isNative): |
| (WebInspector.HeapSnapshotNode.prototype.isSynthetic): |
| (WebInspector.HeapSnapshotNode.prototype.isWindow): |
| (WebInspector.HeapSnapshotNode.prototype.isDetachedDOMTreesRoot): |
| (WebInspector.HeapSnapshotNode.prototype.isDetachedDOMTree): |
| (WebInspector.HeapSnapshotNode.prototype.isRoot): |
| (WebInspector.HeapSnapshotNode.prototype.name): |
| (WebInspector.HeapSnapshotNode.prototype.rawEdges): |
| (WebInspector.HeapSnapshotNode.prototype.retainedSize): |
| (WebInspector.HeapSnapshotNode.prototype.retainers): |
| (WebInspector.HeapSnapshotNode.prototype.selfSize): |
| (WebInspector.HeapSnapshotNode.prototype.type): |
| (WebInspector.HeapSnapshotNode.prototype._name): |
| (WebInspector.HeapSnapshotNode.prototype._edgeIndexesEnd): |
| (WebInspector.HeapSnapshotNode.prototype._nextNodeIndex): |
| (WebInspector.HeapSnapshotNode.prototype._type): |
| (WebInspector.HeapSnapshotNodeIterator): |
| (WebInspector.HeapSnapshotNodeIterator.prototype.hasNext): |
| (WebInspector.HeapSnapshotNodeIterator.prototype.index): |
| (WebInspector.HeapSnapshotNodeIterator.prototype.setIndex): |
| (WebInspector.HeapSnapshotNodeIterator.prototype.item): |
| (WebInspector.HeapSnapshotNodeIterator.prototype.next): |
| (WebInspector.HeapSnapshot.prototype._allNodes): |
| (WebInspector.HeapSnapshot.prototype.rootNode): |
| (WebInspector.HeapSnapshot.prototype.get totalSize): |
| (WebInspector.HeapSnapshot.prototype._dominatedNodesOfNode): |
| (WebInspector.HeapSnapshot.prototype.aggregatesForDiff): |
| (WebInspector.HeapSnapshot.prototype._calculateObjectToWindowDistance): |
| (WebInspector.HeapSnapshot.prototype._buildAggregates): |
| (WebInspector.HeapSnapshot.prototype._calculateClassesRetainedSize): |
| (WebInspector.HeapSnapshot.prototype._sortAggregateIndexes): |
| (WebInspector.HeapSnapshot.prototype._markInvisibleEdges): |
| (WebInspector.HeapSnapshot.prototype._markDetachedDOMTreeNodes): |
| (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects): |
| (WebInspector.HeapSnapshot.prototype._calculateDiffForClass): |
| (WebInspector.HeapSnapshot.prototype._nodeForSnapshotObjectId): |
| (WebInspector.HeapSnapshot.prototype.nodeClassName): |
| (WebInspector.HeapSnapshot.prototype.dominatorIdsForNode): |
| (WebInspector.HeapSnapshot.prototype.createEdgesProvider): |
| (WebInspector.HeapSnapshot.prototype.createRetainingEdgesProvider): |
| (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype._createIterationOrder): |
| (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.isEmpty): |
| (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.item): |
| (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.serializeItemsRange): |
| (WebInspector.HeapSnapshotEdgesProvider.prototype.serializeItem): |
| (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareEdgeFieldName): |
| (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareNodeField): |
| (WebInspector.HeapSnapshotNodesProvider): |
| (WebInspector.HeapSnapshotNodesProvider.prototype.nodePosition): |
| (WebInspector.HeapSnapshotNodesProvider.prototype.serializeItem): |
| (WebInspector.HeapSnapshotNodesProvider.prototype.sort.sortByNodeField): |
| * inspector/front-end/HeapSnapshotGridNodes.js: |
| * inspector/front-end/HeapSnapshotProxy.js: |
| (WebInspector.HeapSnapshotProviderProxy.prototype.isEmpty): |
| |
| 2012-05-22 Yury Semikhatsky <yurys@chromium.org> |
| |
| Web Inspector: Debugger should correctly show catch scope |
| https://bugs.webkit.org/show_bug.cgi?id=87197 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| * bindings/v8/DebuggerScript.js: In case of Catch scope the scope object |
| is a synthetic one which means that it contains all standard object properties. |
| When passing this object further we need to leave only properties available in |
| the catch block(only variable thar stores the exception in fact). |
| |
| 2012-05-23 Allan Sandfeld Jensen <allan.jensen@nokia.com> |
| |
| [Qt] FloatSize Qt Support |
| https://bugs.webkit.org/show_bug.cgi?id=87237 |
| |
| Reviewed by Andreas Kling. |
| |
| No new functionality. No new tests. |
| |
| * Target.pri: |
| * platform/graphics/FloatSize.h: |
| (FloatSize): |
| * platform/graphics/qt/FloatSizeQt.cpp: Added. |
| (WebCore::FloatSize::FloatSize): |
| (WebCore::FloatSize::operator QSizeF): |
| |
| 2012-05-23 Alexei Filippov <alexeif@chromium.org> |
| |
| Web Inspector: Enable HeapSnapshotRealWorker in production mode. |
| https://bugs.webkit.org/show_bug.cgi?id=87240 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| * inspector/front-end/HeapSnapshotProxy.js: |
| (WebInspector.HeapSnapshotWorker): |
| |
| 2012-05-23 'Pavel Feldman' <pfeldman@chromium.org> |
| |
| Not reviewed: inspector's Find is not consuming event as of r117974. |
| |
| * inspector/front-end/AdvancedSearchController.js: |
| (WebInspector.AdvancedSearchController.prototype.handleShortcut): |
| * inspector/front-end/SearchController.js: |
| (WebInspector.SearchController.prototype.handleShortcut): |
| |
| 2012-05-23 Pavel Feldman <pfeldman@chromium.org> |
| |
| Web Inspector: enable drag-an-drop from the navigator panel. |
| https://bugs.webkit.org/show_bug.cgi?id=87238 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| Making tree item draggable. |
| |
| * inspector/front-end/NavigatorView.js: |
| (WebInspector.NavigatorSourceTreeElement.prototype.onattach): |
| (WebInspector.NavigatorSourceTreeElement.prototype._onmousedown.callback): |
| (WebInspector.NavigatorSourceTreeElement.prototype._onmousedown): |
| (WebInspector.NavigatorSourceTreeElement.prototype._ondragstart): |
| |
| 2012-05-23 Ryosuke Niwa <rniwa@webkit.org> |
| |
| WebKit spends ~20% of time in HTMLTextAreaElement::defaultValue() when opening a review page |
| https://bugs.webkit.org/show_bug.cgi?id=86813 |
| |
| Reviewed by Eric Seidel. |
| |
| Replace String and calls to String::operator+= by StringBuilder and calls to append respectively. |
| While there are other optimizations we can implement such as not replacing all nodes in the shadow DOM, |
| or not serializing the value when detecting whether the value had changed, they require considerable |
| amount of refactoring and this change alone seems to buy us a lot so let us defer those 'til later time. |
| |
| Also avoid the redundant call to setValue in childrenChanged when the value is dirty. |
| This should halve the time we spend in setting the value. |
| |
| * html/HTMLTextAreaElement.cpp: |
| (WebCore::HTMLTextAreaElement::childrenChanged): |
| (WebCore::HTMLTextAreaElement::defaultValue): |
| |
| 2012-05-23 Alice Boxhall <aboxhall@chromium.org> |
| |
| AX: Contenteditable tables should always be exposed as data tables |
| https://bugs.webkit.org/show_bug.cgi?id=87052 |
| |
| Reviewed by Chris Fleizach. |
| |
| Tested in accessibility/table-detection.html. |
| |
| * accessibility/AccessibilityTable.cpp: |
| (WebCore::AccessibilityTable::isDataTable): Return true if the node is contenteditable. |
| |
| 2012-05-23 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Fix a typo per Darin's comment. |
| |
| * rendering/RenderBlockLineLayout.cpp: |
| (WebCore::constructBidiRuns): |
| |
| 2012-05-23 Kentaro Hara <haraken@chromium.org> |
| |
| [V8] Pass Isolate to v8::Null() in custom bindings (Part 2) |
| https://bugs.webkit.org/show_bug.cgi?id=87209 |
| |
| Reviewed by Adam Barth. |
| |
| The objective is to pass Isolate around in V8 bindings. |
| This patch passes Isolate to v8::Null() in custom bindings. |
| |
| No tests. No change in behavior. |
| |
| * bindings/v8/custom/V8HTMLElementCustom.cpp: |
| (WebCore::toV8Object): |
| (WebCore::toV8): |
| * bindings/v8/custom/V8HistoryCustom.cpp: |
| (WebCore::V8History::stateAccessorGetter): |
| * bindings/v8/custom/V8IDBAnyCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8IDBKeyCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8ImageDataCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8Int16ArrayCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8Int32ArrayCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8Int8ArrayCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8LocationCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8MessageEventCustom.cpp: |
| (WebCore::V8MessageEvent::dataAccessorGetter): |
| * bindings/v8/custom/V8NamedNodeMapCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8NodeCustom.cpp: |
| (WebCore::V8Node::insertBeforeCallback): |
| (WebCore::V8Node::replaceChildCallback): |
| (WebCore::V8Node::removeChildCallback): |
| (WebCore::V8Node::appendChildCallback): |
| (WebCore::toV8Slow): |
| * bindings/v8/custom/V8PopStateEventCustom.cpp: |
| (WebCore::V8PopStateEvent::stateAccessorGetter): |
| * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp: |
| (WebCore::V8SQLResultSetRowList::itemCallback): |
| * bindings/v8/custom/V8SVGDocumentCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8SVGElementCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8SVGPathSegCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8ScriptProfileCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8StyleSheetCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8TrackEventCustom.cpp: |
| (WebCore::V8TrackEvent::trackAccessorGetter): |
| * bindings/v8/custom/V8Uint16ArrayCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8Uint32ArrayCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8Uint8ArrayCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: |
| (WebCore::toV8Object): |
| (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback): |
| (WebCore::V8WebGLRenderingContext::getSupportedExtensionsCallback): |
| * bindings/v8/custom/V8WorkerContextCustom.cpp: |
| (WebCore::toV8): |
| |
| 2012-05-23 Kentaro Hara <haraken@chromium.org> |
| |
| [V8] Pass Isolate to v8::Null() in custom bindings (Part 1) |
| https://bugs.webkit.org/show_bug.cgi?id=87207 |
| |
| Reviewed by Adam Barth. |
| |
| The objective is to pass Isolate around in V8 bindings. |
| This patch passes Isolate to v8::Null() in custom bindings. |
| |
| Also this patch makes V8DeviceMotionEventCustom::createAccelerationObject() |
| and V8DeviceMotionEventCustom::createRotationRateObject() static. |
| |
| No tests. No change in behavior. |
| |
| * bindings/v8/custom/V8BlobCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8CSSRuleCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8CSSStyleSheetCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8CSSValueCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8ClipboardCustom.cpp: |
| (WebCore::V8Clipboard::typesAccessorGetter): |
| * bindings/v8/custom/V8CoordinatesCustom.cpp: |
| (WebCore::V8Coordinates::altitudeAccessorGetter): |
| (WebCore::V8Coordinates::altitudeAccuracyAccessorGetter): |
| (WebCore::V8Coordinates::headingAccessorGetter): |
| (WebCore::V8Coordinates::speedAccessorGetter): |
| * bindings/v8/custom/V8DOMStringMapCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8DOMTokenListCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8DOMWindowCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8DataViewCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8DeviceMotionEventCustom.cpp: |
| (WebCore::V8DeviceMotionEvent::accelerationAccessorGetter): |
| (WebCore::V8DeviceMotionEvent::accelerationIncludingGravityAccessorGetter): |
| (WebCore::V8DeviceMotionEvent::rotationRateAccessorGetter): |
| (WebCore::V8DeviceMotionEvent::intervalAccessorGetter): |
| * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp: |
| (WebCore::V8DeviceOrientationEvent::alphaAccessorGetter): |
| (WebCore::V8DeviceOrientationEvent::betaAccessorGetter): |
| (WebCore::V8DeviceOrientationEvent::gammaAccessorGetter): |
| (WebCore::V8DeviceOrientationEvent::absoluteAccessorGetter): |
| * bindings/v8/custom/V8DocumentCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8DocumentLocationCustom.cpp: |
| (WebCore::V8Document::locationAccessorGetter): |
| * bindings/v8/custom/V8EntryCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8EntrySyncCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8EventCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8Float32ArrayCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8Float64ArrayCustom.cpp: |
| (WebCore::toV8): |
| * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: |
| (WebCore::V8HTMLCanvasElement::getContextCallback): |
| * bindings/v8/custom/V8HTMLDocumentCustom.cpp: |
| (WebCore::toV8): |
| |
| 2012-05-22 MORITA Hajime <morrita@google.com> |
| |
| [Refactoring] ElementShadow::m_needsRedistributing should be on ContentDistributor |
| https://bugs.webkit.org/show_bug.cgi?id=87216 |
| |
| Reviewed by Kentaro Hara. |
| |
| Moved ElementShadow::m_needsRedistributing to ContentDistributor::m_needsRedistributing |
| |
| No new tests. No behavior change. |
| |
| * dom/ElementShadow.cpp: |
| (WebCore::ElementShadow::recalcStyle): |
| (WebCore::ElementShadow::needsRedistributing): |
| (WebCore::ElementShadow::setNeedsRedistributing): |
| * dom/ElementShadow.h: |
| (ElementShadow): |
| * dom/ShadowRoot.h: Removed outdated declarations. |
| * html/shadow/ContentDistributor.cpp: |
| (WebCore::ContentDistributor::ContentDistributor): |
| * html/shadow/ContentDistributor.h: |
| (WebCore::ContentDistributor::needsRedistributing): |
| (WebCore::ContentDistributor::setNeedsRedistributing): |
| (WebCore::ContentDistributor::clearNeedsRedistributing): |
| |
| 2012-05-22 Kentaro Hara <haraken@chromium.org> |
| |
| [V8] Pass Isolate to v8::Null() in CodeGeneratorV8.pm |
| https://bugs.webkit.org/show_bug.cgi?id=87202 |
| |
| Reviewed by Adam Barth. |
| |
| The objective is to pass Isolate around in V8 bindings. |
| This patch passes Isolate to v8::Null() in CodeGeneratorV8.pm. |
| |
| No tests. No change in behavior. |
| |
| * bindings/scripts/CodeGeneratorV8.pm: |
| (GenerateNormalAttrGetter): |
| (GenerateFunctionCallback): |
| (NativeToJSValue): |
| * bindings/scripts/test/V8/V8TestObj.cpp: |
| (WebCore::TestObjV8Internal::contentDocumentAttrGetter): |
| (WebCore::TestObjV8Internal::getSVGDocumentCallback): |
| * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: |
| (WebCore::TestSerializedScriptValueInterfaceV8Internal::valueAttrGetter): |
| (WebCore::TestSerializedScriptValueInterfaceV8Internal::readonlyValueAttrGetter): |
| (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrGetter): |
| (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedReadonlyValueAttrGetter): |
| |
| 2012-05-22 Andreas Kling <kling@webkit.org> |
| |
| Short-circuit Element::attrIfExists() when the Element has no Attr list. |
| <http://webkit.org/b/87214> |
| |
| Reviewed by Ryosuke Niwa. |
| |
| This function was lukewarm on Dromaeo/dom-attr (0.4% of samples.) |
| Added an early return if !hasAttrList() to avoid the function call overhead of |
| ElementAttributeData::attrIfExists(). |
| |
| * dom/Element.cpp: |
| (WebCore::Element::attrIfExists): |
| |
| 2012-05-22 Hayato Ito <hayato@chromium.org> |
| |
| Remove an assertion since an event's target might be a shadow root if a text node is clicked. |
| https://bugs.webkit.org/show_bug.cgi?id=87072 |
| |
| Reviewed by Dimitri Glazkov. |
| |
| Tests: fast/dom/shadow/shadow-dom-event-dispatching.html |
| |
| * dom/ComposedShadowTreeWalker.cpp: |
| (WebCore::ComposedShadowTreeWalker::ComposedShadowTreeWalker): |
| |
| 2012-05-22 Dongwoo Im <dw.im@samsung.com> |
| |
| [EFL] Implements the registerProtocolHandler method and option. |
| https://bugs.webkit.org/show_bug.cgi?id=73638 |
| |
| Reviewed by Andreas Kling. |
| |
| The registerProtocolHandler() method allows Web sites to register themselves |
| as possible handlers for particular schemes. |
| |
| http://dev.w3.org/html5/spec/Overview.html#dom-navigator-registerprotocolhandler |
| |
| * CMakeLists.txt: Add page/NavigatorRegisterProtocolHandler.idl into WebCore_IDL_FILES. |
| |
| 2012-05-22 Kentaro Hara <haraken@chromium.org> |
| |
| [V8][Performance] Pass Isolate to v8::Null() in V8Node::toV8() |
| https://bugs.webkit.org/show_bug.cgi?id=87193 |
| |
| Reviewed by Adam Barth. |
| |
| This patch improves the performance of Bindings/undefined-first-child.html by 58.7%, |
| Bindings/undefined-get-element-by-id.html by 26.8%, |
| Dromaeo/dom-query.html(getElementById (not in document)) by 9.8%, |
| and Dromaeo/dom-query.html(getElementsByName (not in document)) by 2.1%. |
| These benchmarks test the performance of accessing an undefined Node object. |
| |
| Performance test results in my Linux desktop: |
| |
| [Bindings/undefined-first-child.html] |
| - without my patch |
| RESULT Bindings: undefined-first-child= 481.843775891 runs/s |
| median= 474.934036939 runs/s, stdev= 17.7753278263 runs/s, min= 471.204188482 runs/s, max= 534.629404617 runs/s |
| |
| - with my patch |
| RESULT Bindings: undefined-first-child= 764.720531908 runs/s |
| median= 803.515696424 runs/s, stdev= 54.7402312963 runs/s, min= 688.806888069 runs/s, max= 807.061790668 runs/s |
| |
| [Bindings/undefined-get-element-by-id.html] |
| - without my patch |
| RESULT Bindings: undefined-get-element-by-id= 236.642705579 runs/s |
| median= 234.527786832 runs/s, stdev= 5.77090297761 runs/s, min= 231.362467866 runs/s, max= 246.305418719 runs/s |
| |
| - with my patch |
| RESULT Bindings: undefined-get-element-by-id= 300.031032067 runs/s |
| median= 303.797468354 runs/s, stdev= 6.99060409266 runs/s, min= 287.581699346 runs/s, max= 304.955527319 runs/s |
| |
| [Dromaeo/dom-query.html(getElementById (not in document))] |
| - without my patch |
| 2855.80runs/s ±0.30% |
| |
| - with my patch |
| 3136.20runs/s ±0.22% |
| |
| [Dromaeo/dom-query.html(getElementsByName (not in document))] |
| - without my patch |
| 2198.00runs/s ±0.50% |
| |
| - with my patch |
| 2243.40runs/s ±3.39% |
| |
| Currently v8::Null() looks up Isolate, which is a bottleneck of |
| V8Node::toV8() for undefined Nodes. This patch removes the Isolate |
| look-up by passing Isolate to v8::Null(), like v8::Null(isolate). |
| |
| * bindings/scripts/CodeGeneratorV8.pm: Modified as described above. |
| (GenerateHeader): |
| |
| * bindings/scripts/test/V8/V8TestActiveDOMObject.h: Updated run-bindings-tests results. |
| (WebCore::toV8): |
| * bindings/scripts/test/V8/V8TestCustomNamedGetter.h: |
| (WebCore::toV8): |
| * bindings/scripts/test/V8/V8TestEventConstructor.h: |
| (WebCore::toV8): |
| * bindings/scripts/test/V8/V8TestEventTarget.h: |
| (WebCore::toV8): |
| * bindings/scripts/test/V8/V8TestException.h: |
| (WebCore::toV8): |
| * bindings/scripts/test/V8/V8TestInterface.h: |
| (WebCore::toV8): |
| * bindings/scripts/test/V8/V8TestMediaQueryListListener.h: |
| (WebCore::toV8): |
| * bindings/scripts/test/V8/V8TestNamedConstructor.h: |
| (WebCore::toV8): |
| * bindings/scripts/test/V8/V8TestNode.h: |
| (WebCore::toV8): |
| * bindings/scripts/test/V8/V8TestObj.h: |
| (WebCore::toV8): |
| * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h: |
| (WebCore::toV8): |
| |
| 2012-05-22 MORITA Hajime <morrita@google.com> |
| |
| REGRESSION(r116629) tests for <style scoped> is crashing |
| https://bugs.webkit.org/show_bug.cgi?id=87191 |
| |
| Reviewed by Kent Tamura. |
| |
| unregisterWithScopingNode() and registerWithScopingNode() doesn't follow |
| refactoring around removedFrom(), insertedInto() and willRemove(). |
| This change aligns them to such recent changes. |
| |
| No new tests. Covered by existing tests. |
| |
| * html/HTMLStyleElement.cpp: |
| (WebCore::HTMLStyleElement::unregisterWithScopingNode) |
| (WebCore::HTMLStyleElement::insertedInto): |
| - Allowed registerWithScopingNode() only for in-document traversal. |
| That is how it originally did. |
| (WebCore::HTMLStyleElement::removedFrom): |
| - Gave ex-parent to unregisterWithScopingNode(). |
| * html/HTMLStyleElement.h: |
| (WebCore::HTMLStyleElement::unregisterWithScopingNode): |
| (HTMLStyleElement): |
| |
| 2012-05-21 Shawn Singh <shawnsingh@chromium.org> |
| |
| Improve W3C conformance of backface-visibility |
| https://bugs.webkit.org/show_bug.cgi?id=84195 |
| |
| Reviewed by Adrienne Walker. |
| |
| Tests: compositing/backface-visibility/backface-visibility-3d.html |
| compositing/backface-visibility/backface-visibility-hierarchical-transform.html |
| compositing/backface-visibility/backface-visibility-non3d.html |
| compositing/backface-visibility/backface-visibility-simple.html |
| |
| Unit Tests: CCLayerTreeHostCommonTest::verifyBackFaceCullingWithoutPreserves3d |
| CCLayerTreeHostCommonTest::verifyBackFaceCullingWithPreserves3d |
| |
| Also updated a few other layout and unit tests. |
| |
| This patch updates chromium to conform to the W3C spec on CSS |
| transforms, Section 12 about backface visibility. This patch also |
| updates layout tests to reflect the latest W3C spec. In |
| particular, rule #1 on section 12, http://dev.w3.org/csswg/css3-transforms/#backface-visibility-property |
| states which transforms should be used to determine backface-visibility. |
| |
| Because chromium has an additional quirk of the concept of render |
| surfaces, unit tests needed to be updated as well. |
| |
| * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp: |
| (WebCore::layerIsRootOfNewRenderingContext): |
| (WebCore): |
| (WebCore::isLayerBackFaceVisible): |
| (WebCore::isSurfaceBackFaceVisible): |
| (WebCore::calculateVisibleLayerRect): |
| (WebCore::layerShouldBeSkipped): |
| (WebCore::calculateDrawTransformsAndVisibilityInternal): |
| |
| 2012-05-22 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r118095. |
| http://trac.webkit.org/changeset/118095 |
| https://bugs.webkit.org/show_bug.cgi?id=87201 |
| |
| "Causing crashes on Mac in |
| WebCore::StyleResolver::adjustRenderStyle (Requested by |
| sundiamonde on #webkit). |
| |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::collectMatchingRulesForList): |
| * page/Settings.cpp: |
| (WebCore::Settings::Settings): |
| * page/Settings.h: |
| (Settings): |
| * testing/InternalSettings.cpp: |
| (WebCore::InternalSettings::InternalSettings): |
| (WebCore::InternalSettings::restoreTo): |
| * testing/InternalSettings.h: |
| (InternalSettings): |
| * testing/InternalSettings.idl: |
| |
| 2012-05-22 Levi Weintraub <leviw@chromium.org> |
| |
| NULL ptr in WebCore::RenderBlock::layoutRunsAndFloatsInRange |
| https://bugs.webkit.org/show_bug.cgi?id=77786 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| InlineBidiResolver adds one fake TextRun for isolated inlines in the process of creating the |
| list of TextRuns to send to the UBA. After the UBA has been run and the TextRuns reordered, |
| we re-run InlineBidiResolver rooted in the isolate and replace the fake run with those |
| generated by the subsequent pass by calling the method BidiRunList::replaceRunWithRuns. |
| This method assumes there are runs to replace the fake run with. |
| |
| Positioned inline children are ignored when creating TextRuns, so when an isolated inline |
| has only positioned children we end up with an empty set of runs to pass to replaceRunWithRuns. |
| Ideally, we'd remove the fake run and not replace it with anything, but BidiRunList keeps |
| a pointer to the logically last run, which we're unable to easily re-determine after the UBA |
| has been run. Instead, we leave the fake run in the list and simply avoid calling |
| replaceRunWithRuns when we don't have any replacement runs. |
| |
| Test: fast/block/line-layout/crash-in-isolate-with-positioned-child.html |
| |
| * rendering/RenderBlockLineLayout.cpp: |
| (WebCore::constructBidiRuns): |
| |
| 2012-05-22 Kent Tamura <tkent@chromium.org> |
| |
| [V8] Refactor generation code for non-standard functions |
| https://bugs.webkit.org/show_bug.cgi?id=87185 |
| |
| Reviewed by Kentaro Hara. |
| |
| No behavior change. Just a refactoring. |
| |
| * bindings/scripts/CodeGeneratorV8.pm: |
| (IsStandardFunction): Introduce a new function to check if a |
| function can be in a batch registration. |
| (GenerateNonStandardFunction): Factor out a code to generate |
| non-standard functions. |
| (GenerateImplementation): |
| Use IsStandardFunction and GenerateNonStandardFunction. |
| |
| 2012-05-22 Hayato Ito <hayato@chromium.org> |
| |
| Make ComposedShadowTreeWalker traverse inactive insertion points correctly. |
| https://bugs.webkit.org/show_bug.cgi?id=86830 |
| |
| Reviewed by Dimitri Glazkov. |
| |
| Fixed InsertionPoint::isActive() issue, which may return true |
| wrongly even if the insertion point is not in Shadow DOM subtree. |
| Now ComposedShadowTreeWalker can traverse inactive insertion |
| points correctly using InsertionPoint::isActive(). |
| |
| Test: fast/dom/shadow/composed-shadow-tree-walker.html |
| |
| * dom/ComposedShadowTreeWalker.cpp: |
| (WebCore::ComposedShadowTreeWalker::traverseNode): |
| (WebCore::ComposedShadowTreeWalker::escapeFallbackContentElement): |
| (WebCore::ComposedShadowTreeWalker::traverseNodeEscapingFallbackContents): |
| * html/shadow/InsertionPoint.cpp: |
| (WebCore::InsertionPoint::isActive): |
| * html/shadow/InsertionPoint.h: |
| (WebCore::isActiveInsertionPoint): |
| (WebCore): |
| |
| 2012-05-22 Mark Pilgrim <pilgrim@chromium.org> |
| |
| [Chromium] Call canAccelerate2dCanvas directly |
| https://bugs.webkit.org/show_bug.cgi?id=86893 |
| |
| Reviewed by James Robinson. |
| |
| Part of a refactoring series. See tracking bug 82948. |
| |
| * html/HTMLCanvasElement.cpp: |
| (WebCore::HTMLCanvasElement::shouldAccelerate): |
| * platform/chromium/PlatformSupport.h: |
| |
| 2012-05-22 Jason Liu <jason.liu@torchmobile.com.cn> |
| |
| [BlackBerry] Possible to clobber httponly cookie. |
| https://bugs.webkit.org/show_bug.cgi?id=86067 |
| |
| Reviewed by Rob Buis. |
| |
| If a cookie is set by javaScript and there is already a same httpOnly cookie in cookieManager, |
| we should reject it. If it has a httpOnly property, we reject it, too. |
| |
| Test: http/tests/cookies/js-get-and-set-http-only-cookie.php |
| |
| * platform/blackberry/CookieJarBlackBerry.cpp: |
| (WebCore::setCookies): |
| * platform/blackberry/CookieManager.cpp: |
| (WebCore::CookieManager::setCookies): |
| (WebCore::CookieManager::shouldRejectNotHttpCookie): |
| (WebCore): |
| * platform/blackberry/CookieManager.h: |
| |
| 2012-05-22 Dana Jansens <danakj@chromium.org> |
| |
| [chromium] Don't drop children of a RenderSurface from the renderSurfaceLayerList when then position of the surface in its clipRect is not known |
| https://bugs.webkit.org/show_bug.cgi?id=87181 |
| |
| Reviewed by Adrienne Walker. |
| |
| We want to avoid dropping things from the renderSurfaceLayerList on main |
| thread when they may be in the renderSurfaceLayerList on impl thread due |
| to animation. A render surface would drop all its children if its |
| contentRect was clipped to become empty by its parent. But when the |
| surface is being animated, then we can't be sure how its parent will |
| clip the surface's content, so we don't clip it at all. |
| |
| Chromium bug: http://crbug.com/128739 |
| |
| Unit test: CCLayerTreeHostCommonTest.verifyClipRectCullsSurfaceWithoutVisibleContent |
| |
| * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp: |
| (WebCore::calculateDrawTransformsAndVisibilityInternal): |
| |
| 2012-05-22 Kangil Han <kangil.han@samsung.com> |
| |
| [EFL][DRT] Implement touch event |
| https://bugs.webkit.org/show_bug.cgi?id=86720 |
| |
| Reviewed by Hajime Morita. |
| |
| Currently EFL DRT doesn't support touch event. |
| Therefore, this patch enabled it and implemented some eventSender function callbacks. |
| |
| * platform/PlatformTouchEvent.h: |
| (PlatformTouchEvent): Implement meta state. |
| * platform/efl/PlatformTouchEventEfl.cpp: |
| (WebCore::PlatformTouchEvent::PlatformTouchEvent): Implement meta state. |
| |
| 2012-05-22 Chris Rogers <crogers@google.com> |
| |
| AudioNodeOutput::disconnectAllParams() must take care when iterating through its parameter list |
| https://bugs.webkit.org/show_bug.cgi?id=87190 |
| |
| Reviewed by Kenneth Russell. |
| |
| No new tests. Covered by existing tests. |
| |
| * Modules/webaudio/AudioNodeOutput.cpp: |
| (WebCore::AudioNodeOutput::disconnectAllParams): |
| |
| 2012-05-22 MORITA Hajime <morrita@google.com> |
| |
| <shadow> and <content> should be hidden behind ContextEnabledFeatures |
| https://bugs.webkit.org/show_bug.cgi?id=87063 |
| |
| This change repalces "runtimeConditional" tag definition property |
| with new "contextConditional" property, which refers |
| ContextEnabledFeatures instead of RuntimeEnabledFeatures. |
| |
| Reviewed by Dimitri Glazkov. |
| |
| No new tests. DRT cannot test this. No behaviour change on DRT. |
| |
| * dom/make_names.pl: |
| (defaultTagPropertyHash): |
| (printConstructorInterior): |
| (printFactoryCppFile): |
| (printWrapperFunctions): |
| (printWrapperFactoryCppFile): |
| * html/HTMLTagNames.in: |
| |
| 2012-05-22 Kent Tamura <tkent@chromium.org> |
| |
| Fix a crash in HTMLFormControlElement::disabled(). |
| https://bugs.webkit.org/show_bug.cgi?id=86534 |
| |
| Reviewed by Hajime Morita. |
| |
| Node::removedFrom() was not called in some cases. This patch fixes it. |
| |
| No new tests. It's almost impossible to make a reliable test. |
| |
| * dom/ContainerNodeAlgorithms.h: |
| Remove inDocument() check so that Node::removedFrom() is called even if |
| a parent node in an orphan tree is deleted but a child node remains, |
| |
| 2012-05-22 James Robinson <jamesr@chromium.org> |
| |
| Add a Setting to make position:fixed form a new stacking context |
| https://bugs.webkit.org/show_bug.cgi?id=87186 |
| |
| Reviewed by Adam Barth. |
| |
| position:fixed elements form a new stacking context in several mobile WebKit ports and in the Qt port always. To |
| be consistent across devices, we want to try turning it on everywhere. This will likely cause compatibility |
| issues, so we need a runtime setting in order to stage the change carefully. |
| |
| Tests: fast/block/positioning/fixed-position-stacking-context.html |
| fast/block/positioning/fixed-position-stacking-context2.html |
| |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::collectMatchingRulesForList): |
| * page/Settings.cpp: |
| (WebCore::Settings::Settings): |
| * page/Settings.h: |
| (WebCore::Settings::setFixedPositionCreatesStackingContext): |
| (WebCore::Settings::fixedPositionCreatesStackingContext): |
| (Settings): |
| * testing/InternalSettings.cpp: |
| (WebCore::InternalSettings::InternalSettings): |
| (WebCore::InternalSettings::restoreTo): |
| (WebCore::InternalSettings::setFixedPositionCreatesStackingContext): |
| (WebCore): |
| * testing/InternalSettings.h: |
| (InternalSettings): |
| * testing/InternalSettings.idl: |
| |
| 2012-05-22 Adam Barth <abarth@webkit.org> |
| |
| RenderInline::absoluteRects does some incorrect layout math |
| https://bugs.webkit.org/show_bug.cgi?id=87036 |
| |
| Reviewed by Eric Seidel. |
| |
| http://trac.webkit.org/changeset/88297/trunk/Source/WebCore/rendering/RenderInline.cpp |
| contained a typo. We should accumulate offsets, not add sizes to |
| offsets. |
| |
| Test: fast/inline/boundingBox-with-continuation.html |
| |
| * rendering/RenderInline.cpp: |
| (WebCore::RenderInline::absoluteRects): |
| (WebCore): |
| |
| 2012-05-22 Dana Jansens <danakj@chromium.org> |
| |
| [chromium] Don't force the visibleLayerRect to be empty for animating layers whose front face is not visible |
| https://bugs.webkit.org/show_bug.cgi?id=86886 |
| |
| Reviewed by Adrienne Walker. |
| |
| Previously we would force the visibleLayerRect to be empty for these |
| animating layers, and then special case the pre-painting code to |
| paint them if they were within some size limit, to avoid having the |
| layer steal too much memory. |
| |
| Instead, just use the visibleLayerRect given to the layer. Since the |
| transform flips the layer such that its back face is visible, it will |
| also compute a visibleLayerRect in the front face of the layer, and |
| its size will be bounded by the viewport. This will cause the |
| layer to be painted with visible priority instead of prepainted, but |
| ensures the visible parts of the layer is painted and ready to go when |
| the animation flips the layer around. |
| |
| * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp: |
| (WebCore::calculateVisibleLayerRect): |
| |
| 2012-05-22 Jer Noble <jer.noble@apple.com> |
| |
| REGRESSION (r98359): Video does not render on http://panic.com/dietcoda/ |
| https://bugs.webkit.org/show_bug.cgi?id=87171 |
| |
| Reviewed by Maciej Stachowiak. |
| |
| No new tests; behavior is very timing specific and only occurs on a subset of all platforms. |
| |
| Instead of calling prepareForRendering() from metadataLoaded(), which may fail and cause subsequent |
| calls to prepareForRendering() to short circuit, call createVideoLayer() directly, which achieves |
| the original goals of the fix for http://webkit.org/b/70448, but without breaking subsequent calls |
| to prepareForRendering() if called at the wrong time. |
| |
| * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: |
| (WebCore::MediaPlayerPrivateAVFoundation::metadataLoaded): |
| |
| 2012-05-22 Tim Horton <timothy_horton@apple.com> |
| |
| Add a quirk for applications that depend on the relative ordering of progressCompleted/didFinishLoad |
| https://bugs.webkit.org/show_bug.cgi?id=87178 |
| <rdar://problem/11468434> |
| |
| Reviewed by Maciej Stachowiak. |
| |
| Some applications depend on the relative ordering of progressCompleted/didFinishLoad, which was changed |
| to be more correct in http://trac.webkit.org/changeset/94105. For applications built before 94105, we can |
| provide the old behavior. For the time being, this will only apply to Mail.app. |
| |
| No new tests, will not affect behavior for any application except Mail. |
| |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::checkLoadCompleteForThisFrame): |
| * page/Settings.cpp: |
| (WebCore::Settings::Settings): |
| * page/Settings.h: |
| (WebCore::Settings::setNeedsDidFinishLoadOrderQuirk): |
| (WebCore::Settings::needsDidFinishLoadOrderQuirk): |
| |
| 2012-05-22 Alexis Menard <alexis.menard@openbossa.org> |
| |
| Move some CSS regions properties to CSSParser::isValidKeywordPropertyAndValue. |
| https://bugs.webkit.org/show_bug.cgi?id=87169 |
| |
| Reviewed by Tony Chang. |
| |
| Move some CSS regions properties to the fast path implemented by |
| CSSParser::isValidKeywordPropertyAndValue. |
| |
| No new tests : Existing tests should cover. |
| |
| * css/CSSParser.cpp: |
| (WebCore::isValidKeywordPropertyAndValue): |
| (WebCore::isKeywordPropertyID): |
| (WebCore::CSSParser::parseValue): |
| |
| 2012-05-22 Emil A Eklund <eae@chromium.org> |
| |
| Represents margins as box and simplify writing mode logic |
| https://bugs.webkit.org/show_bug.cgi?id=86952 |
| |
| Reviewed by Eric Seidel. |
| |
| Add a new class, FractionalLayoutBox, that represents the four sides of a |
| box and change RenderBox to use it to represent margins. |
| |
| The new box class is intended to be used to represent things like |
| margins, paddings and borders where the current rect class isn't a good |
| fit. It also encapsulated a lot of the horizontal/vertical writing mode |
| and bidi logic allowing it to be reused. |
| |
| No new tests, no change in functionality. |
| |
| * CMakeLists.txt: |
| * GNUmakefile.list.am: |
| * Target.pri: |
| * WebCore.gypi: |
| * WebCore.vcproj/WebCore.vcproj: |
| * WebCore.xcodeproj/project.pbxproj: |
| * platform/graphics/FractionalLayoutBoxExtent.cpp: Added. |
| * platform/graphics/FractionalLayoutBoxExtent.h: Added. |
| * rendering/LayoutTypes.h: |
| * rendering/RenderBlock.cpp: |
| * rendering/RenderBox.cpp: |
| * rendering/RenderBox.h: |
| * rendering/RenderScrollbarPart.cpp: |
| * rendering/RenderScrollbarPart.h: |
| |
| 2012-05-22 Kentaro Hara <haraken@chromium.org> |
| |
| [V8] Replace 'throwTypeError(); return Undefined();' with 'return throwTypeError();' |
| https://bugs.webkit.org/show_bug.cgi?id=87106 |
| |
| Reviewed by Adam Barth. |
| |
| This patch replaces |
| |
| throwTypeError(); |
| return v8::Undefined(); |
| |
| with |
| |
| return throwTypeError(); |
| |
| No tests. No change in behavior. |
| |
| * bindings/scripts/CodeGeneratorV8.pm: |
| (GenerateOverloadedFunctionCallback): |
| (GenerateParametersCheck): |
| * bindings/scripts/test/V8/V8TestObj.cpp: |
| (WebCore::TestObjV8Internal::overloadedMethodCallback): |
| (WebCore::TestObjV8Internal::overloadedMethod1Callback): |
| |
| 2012-05-22 Dan Bernstein <mitz@apple.com> |
| |
| REGRESSION (r105513): CSS max-width is not applied to SVG element |
| https://bugs.webkit.org/show_bug.cgi?id=87050 |
| |
| Reviewed by Darin Adler. |
| |
| Tests: svg/css/max-height.html |
| svg/css/max-width.html |
| |
| * rendering/svg/RenderSVGRoot.cpp: |
| (WebCore::RenderSVGRoot::computeReplacedLogicalWidth): Changed to also call into the base |
| class implementation of this function if max-width was specified. |
| (WebCore::RenderSVGRoot::computeReplacedLogicalHeight): Changed to call into the bas class |
| implementation of this function if either height or max-height were specified. |
| |
| 2012-05-22 Kentaro Hara <haraken@chromium.org> |
| |
| [V8] Pass Isolate to throwTypeError() |
| https://bugs.webkit.org/show_bug.cgi?id=87111 |
| |
| Reviewed by Adam Barth. |
| |
| The objective is to pass Isolate around in V8 bindings. |
| This patch passes Isolate to throwTypeError() in custom bindings. |
| |
| No tests. No change in behavior. |
| |
| * bindings/v8/custom/V8ArrayBufferCustom.cpp: |
| (WebCore::V8ArrayBuffer::constructorCallback): |
| * bindings/v8/custom/V8ArrayBufferViewCustom.h: |
| (WebCore::constructWebGLArrayWithArrayBufferArgument): |
| (WebCore::constructWebGLArray): |
| * bindings/v8/custom/V8AudioBufferSourceNodeCustom.cpp: |
| (WebCore::V8AudioBufferSourceNode::bufferAccessorSetter): |
| * bindings/v8/custom/V8AudioContextCustom.cpp: |
| (WebCore::V8AudioContext::constructorCallback): |
| * bindings/v8/custom/V8BlobCustom.cpp: |
| (WebCore::V8Blob::constructorCallback): |
| * bindings/v8/custom/V8ClipboardCustom.cpp: |
| (WebCore::V8Clipboard::setDragImageCallback): |
| * bindings/v8/custom/V8DOMFormDataCustom.cpp: |
| (WebCore::V8DOMFormData::constructorCallback): |
| * bindings/v8/custom/V8DataViewCustom.cpp: |
| (WebCore::V8DataView::constructorCallback): |
| * bindings/v8/custom/V8HTMLDocumentCustom.cpp: |
| (WebCore::V8HTMLDocument::openCallback): |
| * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: |
| (WebCore::v8HTMLImageElementConstructorCallback): |
| * bindings/v8/custom/V8HTMLInputElementCustom.cpp: |
| (WebCore::V8HTMLInputElement::selectionStartAccessorGetter): |
| (WebCore::V8HTMLInputElement::selectionStartAccessorSetter): |
| (WebCore::V8HTMLInputElement::selectionEndAccessorGetter): |
| (WebCore::V8HTMLInputElement::selectionEndAccessorSetter): |
| (WebCore::V8HTMLInputElement::selectionDirectionAccessorGetter): |
| (WebCore::V8HTMLInputElement::selectionDirectionAccessorSetter): |
| (WebCore::V8HTMLInputElement::setSelectionRangeCallback): |
| * bindings/v8/custom/V8HTMLMediaElementCustom.cpp: |
| (WebCore::V8HTMLMediaElement::controllerAccessorSetter): |
| * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: |
| (WebCore::V8InjectedScriptHost::inspectedObjectCallback): |
| * bindings/v8/custom/V8IntentConstructor.cpp: |
| (WebCore::V8Intent::constructorCallback): |
| * bindings/v8/custom/V8MessageChannelConstructor.cpp: |
| (WebCore::V8MessageChannel::constructorCallback): |
| * bindings/v8/custom/V8NotificationCenterCustom.cpp: |
| (WebCore::V8NotificationCenter::requestPermissionCallback): |
| * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp: |
| (WebCore::V8SQLResultSetRowList::itemCallback): |
| * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp: |
| (WebCore::V8WebKitMutationObserver::constructorCallback): |
| * bindings/v8/custom/V8WebKitPointConstructor.cpp: |
| (WebCore::V8WebKitPoint::constructorCallback): |
| * bindings/v8/custom/V8WebSocketCustom.cpp: |
| (WebCore::V8WebSocket::constructorCallback): |
| * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp: |
| (WebCore::V8XMLHttpRequest::constructorCallback): |
| |
| 2012-05-22 Kentaro Hara <haraken@chromium.org> |
| |
| [V8] Replace 'setDOMException(); return Undefined();' with 'return setDOMException();' |
| https://bugs.webkit.org/show_bug.cgi?id=87102 |
| |
| Reviewed by Adam Barth. |
| |
| This patch replaces |
| |
| setDOMException(); |
| return v8::Undefined(); |
| |
| with |
| |
| return setDOMException(); |
| |
| In addition, just in case, this patch replaces |
| |
| if (...) |
| setDOMException(); |
| return v8::Undefined(); |
| |
| with |
| |
| if (...) |
| return setDOMException(); |
| return v8::Undefined(); |
| |
| because people might insert some code just above |
| 'return v8::Undefined()' in the future. |
| |
| No tests. No change in behavior. |
| |
| * bindings/v8/custom/V8ArrayBufferViewCustom.h: |
| (WebCore::constructWebGLArrayWithArrayBufferArgument): |
| (WebCore::setWebGLArrayHelper): |
| * bindings/v8/custom/V8DOMWindowCustom.cpp: |
| (WebCore::WindowSetTimeoutImpl): |
| * bindings/v8/custom/V8DataViewCustom.cpp: |
| (WebCore::V8DataView::getInt8Callback): |
| (WebCore::V8DataView::getUint8Callback): |
| (WebCore::V8DataView::setInt8Callback): |
| (WebCore::V8DataView::setUint8Callback): |
| * bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp: |
| (WebCore::V8DirectoryEntrySync::getDirectoryCallback): |
| (WebCore::V8DirectoryEntrySync::getFileCallback): |
| * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: |
| (WebCore::V8HTMLOptionsCollection::addCallback): |
| * bindings/v8/custom/V8NodeCustom.cpp: |
| (WebCore::V8Node::insertBeforeCallback): |
| (WebCore::V8Node::replaceChildCallback): |
| (WebCore::V8Node::removeChildCallback): |
| (WebCore::V8Node::appendChildCallback): |
| * bindings/v8/custom/V8SVGLengthCustom.cpp: |
| (WebCore::V8SVGLength::valueAccessorGetter): |
| (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback): |
| * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: |
| (WebCore::getObjectParameter): |
| (WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback): |
| (WebCore::V8WebGLRenderingContext::getParameterCallback): |
| (WebCore::V8WebGLRenderingContext::getProgramParameterCallback): |
| (WebCore::V8WebGLRenderingContext::getShaderParameterCallback): |
| (WebCore::V8WebGLRenderingContext::getUniformCallback): |
| (WebCore::vertexAttribAndUniformHelperf): |
| (WebCore::uniformHelperi): |
| (WebCore::uniformMatrixHelper): |
| * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp: |
| (WebCore::V8WebKitMutationObserver::observeCallback): |
| * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: |
| (WebCore::V8XMLHttpRequest::responseAccessorGetter): |
| |
| 2012-05-22 Martin Robinson <mrobinson@igalia.com> |
| |
| [TextureMapper] [Cairo] Implement repaint counters |
| https://bugs.webkit.org/show_bug.cgi?id=87062 |
| |
| Reviewed by Gustavo Noronha Silva. |
| |
| No new tests. This just adds a debugging feature that shouldn't |
| affect the normal drawing of a page. |
| |
| * platform/graphics/texmap/TextureMapperLayer.cpp: |
| (WebCore::TextureMapperLayer::updateBackingStore): Now, if repaint counters are |
| enabled, increment the repaint count and call drawRepaintCounter. |
| (WebCore::TextureMapperLayer::drawRepaintCounter): Added. |
| * platform/graphics/texmap/TextureMapperLayer.h: |
| (TextureMapperLayer): Added declaration for drawRepaintCounter. |
| |
| 2012-05-22 Simon Fraser <simon.fraser@apple.com> |
| |
| Use the same animation begin time while updating compositing layers |
| https://bugs.webkit.org/show_bug.cgi?id=87080 |
| |
| Reviewed by Dean Jackson. |
| |
| Tidied up some beginAnimationUpdate/endAnimationUpdate logic, |
| but further cleaning is required. We currently bracket some calls |
| to recaclcStyle() with begin/endAnimationUpdate, but not all. |
| We don't bracket layout, or compositing updates. This patch |
| adds bracketing around compositing updates, in order to be |
| able to add some assertions in a later patch that rely on |
| RenderLayer::currentTransform() giving consistent results, |
| since currentTransform() depends on the animation begin time. |
| |
| Made AnimationController::beginAnimationUpdate() and |
| AnimationController::endAnimationUpdate() nestable by adding |
| a counter. |
| |
| Added a stack-based class, AnimationUpdateBlock, which |
| calls begin/endAnimationUpdate. |
| |
| Replaced calls to begin/endAnimationUpdate in Document::updateStyleIfNeeded() |
| and Document::styleResolverChanged() with AnimationUpdateBlock. Filed a bug |
| to cover other calls to recalcStyle which might need this (87159). |
| |
| Removed a call to beginAnimationUpdate() in Document::implicitOpen(), |
| which was added in r42415. I believe that r57390 makes this unnecessary, |
| and was not able to reproduce the original bug after removing it. It |
| was the only unpaired beginAnimationUpdate call. |
| |
| Made AnimationControllerPrivate::getAnimatedStyleForRenderer() not |
| use a new beginTime each time it was called, so its beginTime now |
| depends on some earlier beginAnimationUpdate. |
| |
| Fixed CSSComputedStyleDeclaration::getPropertyCSSValue() to use |
| an AnimationUpdateBlock so that calls to computed style do |
| use the current time to compute an animating value (as before). |
| |
| Not testable. |
| |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): |
| * dom/Document.cpp: |
| (WebCore::Document::updateStyleIfNeeded): |
| (WebCore::Document::implicitOpen): |
| (WebCore::Document::styleResolverChanged): |
| * page/animation/AnimationController.cpp: |
| (WebCore::AnimationControllerPrivate::getAnimatedStyleForRenderer): |
| (WebCore::AnimationController::AnimationController): |
| (WebCore::AnimationController::beginAnimationUpdate): |
| (WebCore::AnimationController::endAnimationUpdate): |
| * page/animation/AnimationController.h: |
| (AnimationController): |
| (WebCore): |
| (AnimationUpdateBlock): |
| (WebCore::AnimationUpdateBlock::AnimationUpdateBlock): |
| (WebCore::AnimationUpdateBlock::~AnimationUpdateBlock): |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::RenderLayerCompositor::updateCompositingLayers): |
| |
| 2012-05-22 Tony Chang <tony@chromium.org> |
| |
| REGRESSION(r117613): Dromaeo/jslib-style-prototype regressed by 20% |
| https://bugs.webkit.org/show_bug.cgi?id=87142 |
| |
| Reviewed by Alexis Menard. |
| |
| Move CSSPropertyDisplay back into isValidKeywordPropertyAndValue. |
| Pass in the parser context so we can check whether we're grid or not. |
| |
| No new tests. Covered by Dromaeo/jslib-style-prototype perf test. |
| |
| * css/CSSParser.cpp: |
| (WebCore::isValidKeywordPropertyAndValue): |
| (WebCore::isKeywordPropertyID): |
| (WebCore::parseKeywordValue): |
| (WebCore::CSSParser::parseValue): |
| (WebCore::CSSParser::parseFont): |
| |
| == Rolled over to ChangeLog-2012-05-22 == |