Index: WebCore/ChangeLog |
=================================================================== |
--- WebCore/ChangeLog (revision 67731) |
+++ WebCore/ChangeLog (working copy) |
@@ -1,18 +1,215 @@ |
-210-09-13 Darin Fisher <darin@chromium.org> |
+2010-09-11 Mihai Parparita <mihaip@chromium.org> |
- Reviewed by David Levin. |
+ Reviewed by Adam Barth. |
- Add option to conditionally compile smooth scrolling support. |
- https://bugs.webkit.org/show_bug.cgi?id=45689 |
+ URIs in styles created via innerHTML are not resolved against the document's base URI |
+ https://bugs.webkit.org/show_bug.cgi?id=45565 |
- The OS(WINDOWS) conditional becomes unnecessary since |
- ENABLE(SMOOTH_SCROLLING) should only be specified on |
- platforms that have a smooth scrolling implementation. |
+ The dummy document used for fragment parsing created by |
+ FragmentParsingContext should use the base URI of the fragment's |
+ document. Since (HTML)Document doesn't expose a setter for the base URI |
+ (and shouldn't), we allow it to be set by the constructor/create |
+ function. |
+ |
+ Also remove some obsolete code that references the legacy tree builder |
+ from HTMLElement that I happened to notice. |
- * platform/ScrollAnimator.cpp: |
- * platform/ScrollAnimatorWin.cpp: |
- * platform/ScrollAnimatorWin.h: |
+ Test: fast/innerHTML/innerHTML-uri-resolution.html |
+ * dom/Document.cpp: |
+ (WebCore::Document::Document): |
+ * dom/Document.h: |
+ * html/HTMLDocument.cpp: |
+ (WebCore::HTMLDocument::HTMLDocument): |
+ * html/HTMLDocument.h: |
+ (WebCore::HTMLDocument::create): |
+ * html/HTMLElement.cpp: |
+ (WebCore::createFragmentFromSource): |
+ (WebCore::HTMLElement::setInnerHTML): |
+ * html/parser/HTMLTreeBuilder.cpp: |
+ (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext): |
+ |
+2010-09-10 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> |
+ |
+ Reviewed by Darin Adler. |
+ |
+ Add NetworkingContext to avoid layer violations |
+ https://bugs.webkit.org/show_bug.cgi?id=42292 |
+ |
+ Activate NetworkingContext: |
+ |
+ Since the ResourceHandle::create, ResourceHandle::start and |
+ ResourceHandle::loadResourceSynchronously API's were modified, |
+ having their Frame* parameter substituted by a NetworkingContext*, |
+ all implementations of them were also modified. |
+ This patch also modifies all functions that were calling the above |
+ ones. |
+ |
+ * loader/FrameLoader.cpp: |
+ (WebCore::FrameLoader::loadResourceSynchronously): |
+ * loader/FrameLoader.h: |
+ * loader/MainResourceLoader.cpp: |
+ (WebCore::MainResourceLoader::loadNow): |
+ * loader/PingLoader.cpp: |
+ (WebCore::PingLoader::PingLoader): |
+ * loader/ResourceLoader.cpp: |
+ (WebCore::ResourceLoader::load): |
+ * loader/appcache/ApplicationCacheGroup.cpp: |
+ (WebCore::ApplicationCacheGroup::createResourceHandle): |
+ * loader/icon/IconFetcher.cpp: |
+ (WebCore::IconFetcher::loadEntry): |
+ * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: |
+ (webKitWebSrcStart): |
+ * platform/network/ResourceHandle.cpp: |
+ (WebCore::ResourceHandle::create): |
+ * platform/network/ResourceHandle.h: |
+ * platform/network/ResourceHandleInternal.h: |
+ (WebCore::ResourceHandleInternal::ResourceHandleInternal): |
+ * platform/network/cf/ResourceHandleCFNet.cpp: |
+ (WebCore::ResourceHandle::start): |
+ (WebCore::ResourceHandle::loadResourceSynchronously): |
+ * platform/network/curl/ResourceHandleCurl.cpp: |
+ (WebCore::ResourceHandle::start): |
+ (WebCore::ResourceHandle::loadResourceSynchronously): |
+ * platform/network/mac/ResourceHandleMac.mm: |
+ (WebCore::ResourceHandle::start): |
+ (WebCore::ResourceHandle::loadResourceSynchronously): |
+ * platform/network/qt/QNetworkReplyHandler.cpp: |
+ (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): |
+ (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): |
+ (WebCore::QNetworkReplyHandler::start): |
+ * platform/network/qt/ResourceHandleQt.cpp: |
+ (WebCore::ResourceHandle::start): |
+ (WebCore::ResourceHandle::willLoadFromCache): |
+ (WebCore::ResourceHandle::loadResourceSynchronously): |
+ * platform/network/soup/ResourceHandleSoup.cpp: |
+ * platform/network/win/ResourceHandleWin.cpp: |
+ (WebCore::ResourceHandle::start): |
+ |
+2010-09-10 Jer Noble <jer.noble@apple.com> |
+ |
+ No review; build fix only. |
+ |
+ <CoreGraphics/CGAffineTransform.h> isn't on the build bots either. Wrap |
+ all references to m_movieTransform in #if USE(ACCELERATED_COMPOSITING) guards. |
+ |
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: |
+ (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext): |
+ (WebCore::MediaPlayerPrivateQuickTimeVisualContext::naturalSize): |
+ (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveAndResetMovieTransform): |
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h: |
+ |
+2010-09-10 Jer Noble <jer.noble@apple.com> |
+ |
+ No review; build fix only. |
+ |
+ <CoreGraphics/CGFloat.h> does not exist on the build bots. Replace |
+ instances of CGFAbs() with abs(). |
+ |
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: |
+ (WebCore::MediaPlayerPrivateQuickTimeVisualContext::naturalSize): |
+ |
+2010-09-10 Dan Bernstein <mitz@apple.com> |
+ |
+ Reviewed by Darin Adler. |
+ |
+ <rdar://problem/8414282> Can’t dynamically change first-letter to/from floating |
+ |
+ Test: fast/dynamic/first-letter-display-change.html |
+ |
+ * rendering/RenderBlock.cpp: |
+ (WebCore::styleForFirstLetter): Factored this helper function out. |
+ (WebCore::RenderBlock::updateFirstLetter): Renamed variables so that the |
+ “update style” and “create new” branches use the same terminology. In the |
+ update case, if the style change requires a new renderer, handle it. |
+ * rendering/RenderTextFragment.h: |
+ (WebCore::toRenderTextFragment): Added. |
+ |
+2010-09-10 Sam Weinig <sam@webkit.org> |
+ |
+ Reviewed by Darin Adler. |
+ |
+ Remove unnecessary constraint in WebCore of choosing either text zoom or full page zoom. |
+ Precursor to <rdar://problem/7660657> |
+ https://bugs.webkit.org/show_bug.cgi?id=45522 |
+ |
+ * GNUmakefile.am: |
+ * WebCore.exp.in: |
+ * WebCore.gypi: |
+ * WebCore.pro: |
+ * WebCore.vcproj/WebCore.vcproj: |
+ * WebCore.xcodeproj/project.pbxproj: |
+ Remove ZoomMode.h |
+ |
+ * css/CSSStyleSelector.cpp: |
+ (WebCore::CSSStyleSelector::applyProperty): |
+ (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): |
+ Remove uses of shouldApplyTextZoom(), it had turned into just a compare to 1.0f. |
+ |
+ * html/HTMLBodyElement.cpp: |
+ (WebCore::adjustForZoom): |
+ (WebCore::HTMLBodyElement::setScrollLeft): |
+ (WebCore::HTMLBodyElement::setScrollTop): |
+ Convert these to use the explicit pageZoomFactor() function, it made no sense for text zoom |
+ anyway. |
+ |
+ * page/Frame.h: |
+ Remove include of ZoomMode.h |
+ |
+ * page/FrameView.cpp: |
+ (WebCore::parentPageZoomFactor): |
+ (WebCore::parentTextZoomFactor): |
+ (WebCore::FrameView::FrameView): |
+ (WebCore::FrameView::setPageZoomFactor): |
+ (WebCore::FrameView::setTextZoomFactor): |
+ (WebCore::FrameView::setPageAndTextZoomFactors): |
+ * page/FrameView.h: |
+ (WebCore::FrameView::pageZoomFactor): |
+ (WebCore::FrameView::textZoomFactor): |
+ Change FrameView to store two values for zoom, one for page zoom and one for text zoom. |
+ |
+ * page/Settings.cpp: |
+ (WebCore::Settings::Settings): |
+ * page/Settings.h: |
+ Removed zoom mode. |
+ |
+ * page/ZoomMode.h: Removed. |
+ |
+ * rendering/RenderView.cpp: |
+ (WebCore::RenderView::zoomFactor): |
+ Remove now unnecessary call to shouldApplyPageZoom since it will be 1 if it should |
+ be ignored. |
+ |
+ * svg/SVGSVGElement.cpp: |
+ (WebCore::SVGSVGElement::setCurrentScale): |
+ Use explicit setPageZoomFactor function. |
+ |
+2010-09-10 Ryuan Choi <ryuan.choi@samsung.com> |
+ |
+ Unreviewed build fix for EFL. |
+ |
+ [EFL] REGRESSION(67167) build break because of newly added JSBindingState.cpp |
+ https://bugs.webkit.org/show_bug.cgi?id=45537 |
+ |
+ * CMakeLists.txt: |
+ |
+2010-09-10 Darin Adler <darin@apple.com> |
+ |
+ Reviewed by Sam Weinig. |
+ |
+ Move some Dashboard stuff from WebCore to WebKit along with a bit more FrameMac cleanup |
+ https://bugs.webkit.org/show_bug.cgi?id=45582 |
+ |
+ * WebCore.exp.in: Updated. |
+ |
+ * WebCore.xcodeproj/project.pbxproj: Removed WebDashboardRegion.h/m. |
+ * page/mac/WebDashboardRegion.h: Removed. |
+ * page/mac/WebDashboardRegion.m: Removed. |
+ |
+ * page/Frame.h: Removed unneeded #if. Removed dashboardRegionsDictionary function, now |
+ handled in WebKit. Removed searchForNSLabelsAboveCell function, which had become dead code. |
+ * page/mac/FrameMac.mm: Ditto. Also tweaked a place that said "int unsigned". |
+ |
2010-09-10 Peter Kasting <pkasting@google.com> |
Reviewed by Darin Adler. |
@@ -34,6 +231,146 @@ |
(WebCore::EventHandler::handleMouseDoubleClickEvent): |
(WebCore::EventHandler::handleMouseReleaseEvent): |
+2010-09-10 Adam Barth <abarth@webkit.org> |
+ |
+ Attempted build fix for Qt Minimal. |
+ |
+ * dom/Element.cpp: |
+ (WebCore::Element::getBoundingClientRect): |
+ |
+2010-09-10 Dan Bernstein <mitz@apple.com> |
+ |
+ Reviewed by Anders Carlsson. |
+ |
+ Pseudostyle resolution corrupts cached child index values |
+ https://bugs.webkit.org/show_bug.cgi?id=45574 |
+ |
+ Covered by fast/dom/firstline-fixed-crash.html and fast/dom/firstletter-tablecell-crash.html. |
+ |
+ RenderBlock::updateFirstLetter() calls getCachedPseudoStyle() passing as the parent style the |
+ style of the parent of the first letter, which is not always the parent of the element for |
+ which we are getting :first-letter style. As a result, style resolution caches childIndex values |
+ in the wrong element’s style. |
+ |
+ * css/CSSStyleSelector.cpp: |
+ (WebCore::CSSStyleSelector::pseudoStyleForElement): Create the new style and inherit from |
+ the parent style before matching rules, to avoid corrupting the parent style itself. |
+ (WebCore::CSSStyleSelector::checkSelector): Always pass the element’s parent style as |
+ the parent style here. |
+ * rendering/RenderBlock.cpp: |
+ (WebCore::RenderBlock::updateFirstLetter): Removed the null check that was added |
+ in r67183. |
+ * rendering/RenderBlockLineLayout.cpp: |
+ (WebCore::RenderBlock::findNextLineBreak): Removed the null check that was added |
+ in r67184. |
+ |
+2010-09-10 Jer Noble <jer.noble@apple.com> |
+ |
+ Reviewed by Simon Fraser. |
+ |
+ Movies with track or movie matrices don't display in <video> elements (Safari 5/Windows) |
+ https://bugs.webkit.org/show_bug.cgi?id=45333 |
+ rdar://problem/81333126 |
+ |
+ QuickTime will refuse to decode video frames for movies whose movie and track matrices |
+ are non-identity. To work around this problem, extract the movie and track matrices |
+ from the movie, and set that matrix on the video layer instead. |
+ |
+ * WebCore.vcproj/QTMovieWin.vcproj: |
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: |
+ (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayoutClient::LayoutClient): Added. |
+ (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayoutClient::layoutSublayersOfLayer): |
+ Layout the video layer according to its superlayer's size. |
+ (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext): |
+ (WebCore::MediaPlayerPrivateQuickTimeVisualContext::platformLayer): |
+ (WebCore::MediaPlayerPrivateQuickTimeVisualContext::naturalSize): |
+ Apply the m_movieTransform to the size reported by QTMovie. |
+ (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveAndResetMovieTransform): |
+ Calculate m_movieTransform and reset the movie and track matrices in the movie. |
+ (WebCore::MediaPlayerPrivateQuickTimeVisualContext::createLayerForMovie): |
+ Create two nested layers instead of one. |
+ (WebCore::MediaPlayerPrivateQuickTimeVisualContext::destroyLayerForMovie): |
+ Make sure to remove m_qtVideoLayer from any superlayer before dereferencing it. |
+ * platform/graphics/win/QTMovie.cpp: |
+ (QTMovie::videoTracks): Added. |
+ (QTMovie::getTransform): Added. |
+ (QTMovie::setTransform): Added. |
+ (QTMovie::resetTransform): Added. |
+ * platform/graphics/win/QTMovie.h: |
+ * platform/graphics/win/QTTrack.cpp: Added. |
+ * platform/graphics/win/QTTrack.h: Added. |
+ * platform/graphics/win/WKCACFLayer.cpp: |
+ (WebCore::WKCACFLayer::setBounds): Call setNeedsLayout() if a layoutClient is present. |
+ (WebCore::WKCACFLayer::setFrame): Call setNeedsLayout() if a layoutClient is present. |
+ |
+2010-09-10 Jer Noble <jer.noble@apple.com> |
+ |
+ No review; build fix only. |
+ |
+ Touch mediaControlsQuickTime in order to trigger the UserAgentStyleSheet.h to be rebuilt. |
+ |
+ * css/mediaControlsQuickTime.css: |
+ (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button): |
+ |
+2010-09-10 Adam Barth <abarth@webkit.org> |
+ |
+ Reviewed by Darin Fisher. |
+ |
+ Move code from WebKit-layer to DocumentLoader |
+ https://bugs.webkit.org/show_bug.cgi?id=45569 |
+ |
+ There's a bunch of code that's copy/pasted (poorly) across all the |
+ ports that really belongs in WebCore. This patch moves that logic into |
+ DocumentLoader. This patch is a step on the path to having |
+ DocumentLoader own DocumentWriter. |
+ |
+ * WebCore.exp.in: |
+ * loader/DocumentLoader.cpp: |
+ (WebCore::DocumentLoader::commitData): |
+ * loader/DocumentLoader.h: |
+ * loader/FrameLoader.cpp: |
+ (WebCore::FrameLoader::finishedLoadingDocument): |
+ |
+2010-09-10 Cosmin Truta <ctruta@chromium.org> |
+ |
+ Reviewed by Nikolas Zimmermann. |
+ |
+ getBoundingClientRect Broken for SVG Elements |
+ https://bugs.webkit.org/show_bug.cgi?id=42815 |
+ |
+ Use getBBox to retrieve the bounding rectangle for SVG elements. |
+ |
+ Test: svg/dom/getBoundingClientRect.xhtml |
+ |
+ * dom/Element.cpp: |
+ (Element::getBoundingClientRect): |
+ |
+2010-09-09 Jer Noble <jer.noble@apple.com> |
+ |
+ Reviewed by Eric Carlson. |
+ |
+ Adopt shared control drawing for <video> controls on Windows |
+ https://bugs.webkit.org/show_bug.cgi?id=45490 |
+ |
+ * DerivedSources.make: Remove the OS check around mediaControlsQuickTime.css. |
+ * rendering/RenderMediaControls.cpp: |
+ (WebCore::determineState): Use WKMediaControllerThemeState flags instead of SafariTheme ones. |
+ (WebCore::getUnzoomedRectAndAdjustCurrentContext): Added. Copied verbatim from RenderMediaMac.mm. |
+ (WebCore::RenderMediaControls::adjustMediaSliderThumbSize): Use wkMeasureMediaUIPart to adjust the thumb size. |
+ (WebCore::RenderMediaControls::paintMediaControlsPart): Use wkDrawMediaUIPart instead of paintThemePart. |
+ (WebCore::RenderMediaControls::volumeSliderOffsetFromMuteButton): Added. Copied verbatim from RenderMediaMac.mm. |
+ * rendering/RenderMediaControls.h: |
+ * rendering/RenderThemeWin.cpp: |
+ (WebCore::RenderThemeWin::adjustSliderThumbSize): Adjust both sliders and volume sliders. |
+ (WebCore::RenderThemeWin::extraMediaControlsStyleSheet): Added. Returns the mediaControlsQuickTime sheet. |
+ (WebCore::RenderThemeWin::paintMediaRewindButton): Added. Pass through to RenderMediaControls. |
+ (WebCore::RenderThemeWin::paintMediaControlsBackground): Added. Pass through to RenderMediaControls. |
+ (WebCore::RenderThemeWin::paintMediaVolumeSliderContainer): Added. Pass through to RenderMediaControls. |
+ (WebCore::RenderThemeWin::paintMediaVolumeSliderTrack): Added. Pass through to RenderMediaControls. |
+ (WebCore::RenderThemeWin::paintMediaVolumeSliderThumb): Added. Pass through to RenderMediaControls. |
+ (WebCore::RenderThemeWin::volumeSliderOffsetFromMuteButton): Added. Pass through to RenderMediaControls. |
+ * rendering/RenderThemeWin.h: |
+ |
2010-09-10 Peter Kasting <pkasting@google.com> |
Reviewed by Darin Adler. |
@@ -78,6 +415,2258 @@ |
* wml/WMLAElement.cpp: |
(WebCore::WMLAElement::defaultEventHandler): Ditto. |
+2010-09-10 Tony Gentilcore <tonyg@chromium.org> |
+ |
+ Reviewed by Eric Seidel. |
+ |
+ Implement HTML5 definition of script for-event neutering |
+ https://bugs.webkit.org/show_bug.cgi?id=45493 |
+ |
+ * dom/ScriptElement.cpp: |
+ (WebCore::ScriptElementData::shouldExecuteAsJavaScript): Same behavior, but reads more like the spec. Removed obsolete comments about supporting for-event. |
+ * html/parser/HTMLScriptRunner.cpp: |
+ (WebCore::HTMLScriptRunner::executeScript): Moved to runScript. |
+ (WebCore::HTMLScriptRunner::runScript): Checking shouldExecuteAsJavaScript() here means that external scripts which fail the check will never be requested. |
+ |
+2010-09-10 Nat Duca <nduca@chromium.org> |
+ |
+ Reviewed by Darin Fisher. |
+ |
+ [chromium] Accelerated Compositing: screen garbage when scrolling |
+ https://bugs.webkit.org/show_bug.cgi?id=45092 |
+ |
+ Split LayerRenderChromium::drawLayers into several different |
+ functions, responsible for preparing the backbuffer, updating the |
+ root texture, compositing and performing the final |
+ swapbuffers. This are then used by the new |
+ WebViewImpl::composite rendering path. |
+ |
+ * platform/graphics/chromium/LayerChromium.cpp: |
+ (WebCore::LayerChromium::setBounds): |
+ (WebCore::LayerChromium::setFrame): |
+ (WebCore::LayerChromium::setNeedsDisplay): |
+ (WebCore::LayerChromium::resetNeedsDisplay): |
+ * platform/graphics/chromium/LayerChromium.h: |
+ (WebCore::LayerChromium::dirtyRect): |
+ * platform/graphics/chromium/LayerRendererChromium.cpp: |
+ (WebCore::LayerRendererChromium::prepareToDrawLayers): |
+ (WebCore::LayerRendererChromium::updateRootLayerTextureRect): |
+ (WebCore::LayerRendererChromium::drawLayers): |
+ (WebCore::LayerRendererChromium::present): |
+ * platform/graphics/chromium/LayerRendererChromium.h: |
+ |
+2010-09-10 David Holloway <dhollowa@chromium.org> |
+ |
+ Reviewed by Adam Barth. |
+ |
+ Replace WebCore::HTMLFormElement::submissionTrigger with WebCore::HTMLFormElement::submittedByUserGesture. |
+ Chromium AutoFill feature semantics changed with respect to what we mean by "user submitted" form. A |
+ more accurate measure of the user manually submitting a form is via user gesture. |
+ https://bugs.webkit.org/show_bug.cgi?id=45128 |
+ |
+ No new tests as this is only used by the Chromium WebKit API. |
+ |
+ * html/HTMLFormElement.cpp: |
+ (WebCore::HTMLFormElement::HTMLFormElement): |
+ (WebCore::HTMLFormElement::prepareSubmit): |
+ (WebCore::HTMLFormElement::submit): |
+ (WebCore::HTMLFormElement::submittedByUserGesture): |
+ * html/HTMLFormElement.h: |
+ |
+2010-09-10 Adam Barth <abarth@webkit.org> |
+ |
+ Reviewed by Eric Seidel. |
+ |
+ Remove mention of "part" from Document.cpp |
+ https://bugs.webkit.org/show_bug.cgi?id=45566 |
+ |
+ This is an old KHTML name that's lingering around. |
+ |
+ * dom/Document.cpp: |
+ (WebCore::Document::parentDocument): |
+ |
+2010-09-09 Darin Adler <darin@apple.com> |
+ |
+ Reviewed by Adam Barth. |
+ |
+ Move functions from Frame to SelectionController as planned |
+ https://bugs.webkit.org/show_bug.cgi?id=45508 |
+ |
+ Also removed Frame::dragCaretController since it just called Page::dragCaretController. |
+ |
+ * editing/SelectionController.cpp: |
+ (WebCore::SelectionController::setSelection): |
+ (WebCore::SelectionController::modify): |
+ (WebCore::SelectionController::selectFrameElementInParentIfFullySelected): |
+ (WebCore::SelectionController::selectAll): |
+ (WebCore::SelectionController::focusedOrActiveStateChanged): |
+ (WebCore::SelectionController::notifyRendererOfSelectionChange): |
+ (WebCore::isFrameElement): |
+ (WebCore::SelectionController::setFocusedNodeIfNeeded): |
+ (WebCore::SelectionController::paintDragCaret): |
+ (WebCore::SelectionController::shouldDeleteSelection): |
+ (WebCore::SelectionController::selectionBounds): |
+ (WebCore::SelectionController::selectionTextRects): |
+ (WebCore::scanForForm): |
+ (WebCore::SelectionController::currentForm): |
+ (WebCore::SelectionController::revealSelection): |
+ (WebCore::SelectionController::setSelectionFromNone): |
+ (WebCore::SelectionController::shouldChangeSelection): |
+ * editing/SelectionController.h: |
+ Moved functions here from Frame. |
+ |
+ * page/Frame.cpp: |
+ * page/Frame.h: |
+ Moved functions to SelectionController. |
+ Reorganized header to be easier to read and a bit more logical. |
+ |
+ * WebCore.exp.in: Updated. |
+ |
+ * dom/Document.cpp: |
+ (WebCore::Document::nodeChildrenWillBeRemoved): |
+ (WebCore::Document::nodeWillBeRemoved): |
+ Call Page::dragCaretController directly. |
+ |
+ * dom/Element.cpp: |
+ (WebCore::Element::updateFocusAppearance): |
+ * dom/InputElement.cpp: |
+ (WebCore::InputElement::updateFocusAppearance): |
+ * editing/ApplyStyleCommand.cpp: |
+ (WebCore::ApplyStyleCommand::editingStyleAtPosition): |
+ * editing/DeleteSelectionCommand.cpp: |
+ (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): |
+ * editing/Editor.cpp: |
+ (WebCore::Editor::canSmartCopyOrDelete): |
+ (WebCore::Editor::textDirectionForSelection): |
+ (WebCore::Editor::appliedEditing): |
+ (WebCore::Editor::insertTextWithoutSendingTextEvent): |
+ (WebCore::Editor::advanceToNextMisspelling): |
+ (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): |
+ (WebCore::Editor::revealSelectionAfterEditingOperation): |
+ (WebCore::Editor::transpose): |
+ (WebCore::Editor::changeSelectionAfterCommand): |
+ (WebCore::Editor::computeAndSetTypingStyle): |
+ (WebCore::Editor::selectionComputedStyle): |
+ (WebCore::Editor::styleForSelectionStart): |
+ (WebCore::Editor::findString): |
+ * editing/EditorCommand.cpp: |
+ (WebCore::executeDelete): |
+ * editing/InsertLineBreakCommand.cpp: |
+ (WebCore::InsertLineBreakCommand::doApply): |
+ * editing/InsertTextCommand.cpp: |
+ (WebCore::InsertTextCommand::input): |
+ * editing/RemoveFormatCommand.cpp: |
+ (WebCore::RemoveFormatCommand::doApply): |
+ * editing/ReplaceSelectionCommand.cpp: |
+ (WebCore::ReplaceSelectionCommand::doApply): |
+ * editing/TypingCommand.cpp: |
+ (WebCore::TypingCommand::insertTextRunWithoutNewlines): |
+ (WebCore::TypingCommand::deleteKeyPressed): |
+ (WebCore::TypingCommand::forwardDeleteKeyPressed): |
+ * html/HTMLTextAreaElement.cpp: |
+ (WebCore::HTMLTextAreaElement::updateFocusAppearance): |
+ * page/ContextMenuController.cpp: |
+ (WebCore::ContextMenuController::contextMenuItemSelected): |
+ * page/DragController.cpp: |
+ (WebCore::DragController::concludeEditDrag): |
+ (WebCore::dragLocForSelectionDrag): |
+ * page/EventHandler.cpp: |
+ (WebCore::EventHandler::selectClosestWordFromMouseEvent): |
+ (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent): |
+ (WebCore::EventHandler::handleMousePressEventTripleClick): |
+ (WebCore::EventHandler::handleMousePressEventSingleClick): |
+ (WebCore::EventHandler::updateSelectionForMouseDrag): |
+ (WebCore::EventHandler::handleMouseReleaseEvent): |
+ * page/FocusController.cpp: |
+ (WebCore::FocusController::advanceFocusInDocumentOrder): |
+ * page/chromium/EventHandlerChromium.cpp: |
+ (WebCore::EventHandler::passMousePressEventToSubframe): |
+ * page/chromium/FrameChromium.cpp: |
+ (WebCore::Frame::dragImageForSelection): |
+ * page/mac/FrameMac.mm: |
+ (WebCore::Frame::selectionImage): |
+ * platform/mac/ClipboardMac.mm: |
+ (WebCore::ClipboardMac::writeRange): |
+ * rendering/RenderBlock.cpp: |
+ (WebCore::RenderBlock::paintCaret): |
+ Call functions on selection(). |
+ |
+2010-09-10 Justin Schuh <jschuh@chromium.org> |
+ |
+ Reviewed by Darin Adler. |
+ |
+ SVGGElement::rendererIsNeeded should return false when parent isn't SVG |
+ https://bugs.webkit.org/show_bug.cgi?id=45562 |
+ |
+ Test: svg/custom/g-outside-svg.html |
+ |
+ * svg/SVGGElement.cpp: |
+ (WebCore::SVGGElement::rendererIsNeeded): |
+ * svg/SVGGElement.h: |
+ |
+2010-09-10 Adam Barth <abarth@webkit.org> |
+ |
+ Reviewed by Darin Adler. |
+ |
+ REGRESSION (HTML Parser): CNN's Money site is not formatted correctly with AdBlock installed |
+ https://bugs.webkit.org/show_bug.cgi?id=41371 |
+ |
+ Drop support for closing comments with "-- >". This was an attempt to |
+ be more IE-like in comment parsing, but it turns out to cause problems |
+ for some high-profile sites. Firefox 4 is dropping support as well. |
+ We expect the spec to change soon too. |
+ |
+ * html/parser/HTMLTokenizer.cpp: |
+ (WebCore::HTMLTokenizer::nextToken): |
+ * html/parser/HTMLTokenizer.h: |
+ |
+2010-09-10 Chris Marrin <cmarrin@apple.com> |
+ |
+ Unreviewed. |
+ |
+ Adding file that should have been in http://trac.webkit.org/changeset/67226 but |
+ I forgot to svn add. |
+ |
+ * platform/graphics/opengl: Added. |
+ * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: Copied from platform/graphics/mac/GraphicsContext3DMac.mm. |
+ |
+2010-09-10 Paul Sawaya <psawaya@apple.com> |
+ |
+ Reviewed by Chris Marrin. |
+ |
+ Refactored non-Mac specific code into GraphicsContext3DOpenGL. |
+ |
+ Moving this file into platform/graphics/opengl and only building on Mac for now. |
+ |
+ https://bugs.webkit.org/show_bug.cgi?id=30625 |
+ |
+ * WebCore.xcodeproj/project.pbxproj: |
+ * platform/graphics/mac/GraphicsContext3DMac.mm: |
+ (WebCore::GraphicsContext3D::makeContextCurrent): |
+ (WebCore::GraphicsContext3D::isErrorGeneratedOnOutOfBoundsAccesses): |
+ * platform/graphics/opengl: Added. |
+ * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: Copied from platform/graphics/mac/GraphicsContext3DMac.mm. |
+ (WebCore::GraphicsContext3D::prepareTexture): |
+ (WebCore::GraphicsContext3D::activeTexture): |
+ (WebCore::GraphicsContext3D::attachShader): |
+ (WebCore::GraphicsContext3D::bindAttribLocation): |
+ (WebCore::GraphicsContext3D::bindBuffer): |
+ (WebCore::GraphicsContext3D::bindFramebuffer): |
+ (WebCore::GraphicsContext3D::bindRenderbuffer): |
+ (WebCore::GraphicsContext3D::bindTexture): |
+ (WebCore::GraphicsContext3D::blendColor): |
+ (WebCore::GraphicsContext3D::blendEquation): |
+ (WebCore::GraphicsContext3D::blendEquationSeparate): |
+ (WebCore::GraphicsContext3D::blendFunc): |
+ (WebCore::GraphicsContext3D::blendFuncSeparate): |
+ (WebCore::GraphicsContext3D::bufferData): |
+ (WebCore::GraphicsContext3D::bufferSubData): |
+ (WebCore::GraphicsContext3D::checkFramebufferStatus): |
+ (WebCore::GraphicsContext3D::clearColor): |
+ (WebCore::GraphicsContext3D::clear): |
+ (WebCore::GraphicsContext3D::clearDepth): |
+ (WebCore::GraphicsContext3D::clearStencil): |
+ (WebCore::GraphicsContext3D::colorMask): |
+ (WebCore::GraphicsContext3D::compileShader): |
+ (WebCore::GraphicsContext3D::copyTexImage2D): |
+ (WebCore::GraphicsContext3D::copyTexSubImage2D): |
+ (WebCore::GraphicsContext3D::cullFace): |
+ (WebCore::GraphicsContext3D::depthFunc): |
+ (WebCore::GraphicsContext3D::depthMask): |
+ (WebCore::GraphicsContext3D::depthRange): |
+ (WebCore::GraphicsContext3D::detachShader): |
+ (WebCore::GraphicsContext3D::disable): |
+ (WebCore::GraphicsContext3D::disableVertexAttribArray): |
+ (WebCore::GraphicsContext3D::drawArrays): |
+ (WebCore::GraphicsContext3D::drawElements): |
+ (WebCore::GraphicsContext3D::enable): |
+ (WebCore::GraphicsContext3D::enableVertexAttribArray): |
+ (WebCore::GraphicsContext3D::finish): |
+ (WebCore::GraphicsContext3D::flush): |
+ (WebCore::GraphicsContext3D::framebufferRenderbuffer): |
+ (WebCore::GraphicsContext3D::framebufferTexture2D): |
+ (WebCore::GraphicsContext3D::frontFace): |
+ (WebCore::GraphicsContext3D::generateMipmap): |
+ (WebCore::GraphicsContext3D::getActiveAttrib): |
+ (WebCore::GraphicsContext3D::getActiveUniform): |
+ (WebCore::GraphicsContext3D::getAttachedShaders): |
+ (WebCore::GraphicsContext3D::getAttribLocation): |
+ (WebCore::GraphicsContext3D::getError): |
+ (WebCore::GraphicsContext3D::getString): |
+ (WebCore::GraphicsContext3D::hint): |
+ (WebCore::GraphicsContext3D::isBuffer): |
+ (WebCore::GraphicsContext3D::isEnabled): |
+ (WebCore::GraphicsContext3D::isFramebuffer): |
+ (WebCore::GraphicsContext3D::isProgram): |
+ (WebCore::GraphicsContext3D::isRenderbuffer): |
+ (WebCore::GraphicsContext3D::isShader): |
+ (WebCore::GraphicsContext3D::isTexture): |
+ (WebCore::GraphicsContext3D::lineWidth): |
+ (WebCore::GraphicsContext3D::linkProgram): |
+ (WebCore::GraphicsContext3D::pixelStorei): |
+ (WebCore::GraphicsContext3D::polygonOffset): |
+ (WebCore::GraphicsContext3D::readPixels): |
+ (WebCore::GraphicsContext3D::releaseShaderCompiler): |
+ (WebCore::GraphicsContext3D::renderbufferStorage): |
+ (WebCore::GraphicsContext3D::sampleCoverage): |
+ (WebCore::GraphicsContext3D::scissor): |
+ (WebCore::GraphicsContext3D::shaderSource): |
+ (WebCore::GraphicsContext3D::stencilFunc): |
+ (WebCore::GraphicsContext3D::stencilFuncSeparate): |
+ (WebCore::GraphicsContext3D::stencilMask): |
+ (WebCore::GraphicsContext3D::stencilMaskSeparate): |
+ (WebCore::GraphicsContext3D::stencilOp): |
+ (WebCore::GraphicsContext3D::stencilOpSeparate): |
+ (WebCore::GraphicsContext3D::texParameterf): |
+ (WebCore::GraphicsContext3D::texParameteri): |
+ (WebCore::GraphicsContext3D::uniform1f): |
+ (WebCore::GraphicsContext3D::uniform1fv): |
+ (WebCore::GraphicsContext3D::uniform2f): |
+ (WebCore::GraphicsContext3D::uniform2fv): |
+ (WebCore::GraphicsContext3D::uniform3f): |
+ (WebCore::GraphicsContext3D::uniform3fv): |
+ (WebCore::GraphicsContext3D::uniform4f): |
+ (WebCore::GraphicsContext3D::uniform4fv): |
+ (WebCore::GraphicsContext3D::uniform1i): |
+ (WebCore::GraphicsContext3D::uniform1iv): |
+ (WebCore::GraphicsContext3D::uniform2i): |
+ (WebCore::GraphicsContext3D::uniform2iv): |
+ (WebCore::GraphicsContext3D::uniform3i): |
+ (WebCore::GraphicsContext3D::uniform3iv): |
+ (WebCore::GraphicsContext3D::uniform4i): |
+ (WebCore::GraphicsContext3D::uniform4iv): |
+ (WebCore::GraphicsContext3D::uniformMatrix2fv): |
+ (WebCore::GraphicsContext3D::uniformMatrix3fv): |
+ (WebCore::GraphicsContext3D::uniformMatrix4fv): |
+ (WebCore::GraphicsContext3D::useProgram): |
+ (WebCore::GraphicsContext3D::validateProgram): |
+ (WebCore::GraphicsContext3D::vertexAttrib1f): |
+ (WebCore::GraphicsContext3D::vertexAttrib1fv): |
+ (WebCore::GraphicsContext3D::vertexAttrib2f): |
+ (WebCore::GraphicsContext3D::vertexAttrib2fv): |
+ (WebCore::GraphicsContext3D::vertexAttrib3f): |
+ (WebCore::GraphicsContext3D::vertexAttrib3fv): |
+ (WebCore::GraphicsContext3D::vertexAttrib4f): |
+ (WebCore::GraphicsContext3D::vertexAttrib4fv): |
+ (WebCore::GraphicsContext3D::vertexAttribPointer): |
+ (WebCore::GraphicsContext3D::viewport): |
+ (WebCore::GraphicsContext3D::getBooleanv): |
+ (WebCore::GraphicsContext3D::getBufferParameteriv): |
+ (WebCore::GraphicsContext3D::getFloatv): |
+ (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv): |
+ (WebCore::GraphicsContext3D::getIntegerv): |
+ (WebCore::GraphicsContext3D::getProgramiv): |
+ (WebCore::GraphicsContext3D::getProgramInfoLog): |
+ (WebCore::GraphicsContext3D::getRenderbufferParameteriv): |
+ (WebCore::GraphicsContext3D::getShaderiv): |
+ (WebCore::GraphicsContext3D::getShaderInfoLog): |
+ (WebCore::GraphicsContext3D::getShaderSource): |
+ (WebCore::GraphicsContext3D::getTexParameterfv): |
+ (WebCore::GraphicsContext3D::getTexParameteriv): |
+ (WebCore::GraphicsContext3D::getUniformfv): |
+ (WebCore::GraphicsContext3D::getUniformiv): |
+ (WebCore::GraphicsContext3D::getUniformLocation): |
+ (WebCore::GraphicsContext3D::getVertexAttribfv): |
+ (WebCore::GraphicsContext3D::getVertexAttribiv): |
+ (WebCore::GraphicsContext3D::getVertexAttribOffset): |
+ (WebCore::GraphicsContext3D::texImage2D): |
+ (WebCore::GraphicsContext3D::texSubImage2D): |
+ (WebCore::GraphicsContext3D::createBuffer): |
+ (WebCore::GraphicsContext3D::createFramebuffer): |
+ (WebCore::GraphicsContext3D::createProgram): |
+ (WebCore::GraphicsContext3D::createRenderbuffer): |
+ (WebCore::GraphicsContext3D::createShader): |
+ (WebCore::GraphicsContext3D::createTexture): |
+ (WebCore::GraphicsContext3D::deleteBuffer): |
+ (WebCore::GraphicsContext3D::deleteFramebuffer): |
+ (WebCore::GraphicsContext3D::deleteProgram): |
+ (WebCore::GraphicsContext3D::deleteRenderbuffer): |
+ (WebCore::GraphicsContext3D::deleteShader): |
+ (WebCore::GraphicsContext3D::deleteTexture): |
+ |
+2010-09-10 Oliver Hunt <oliver@apple.com> |
+ |
+ Qt build fix. |
+ |
+ * bindings/js/SerializedScriptValue.cpp: |
+ (WebCore::CloneDeserializer::deserialize): |
+ |
+2010-09-10 Adam Barth <abarth@webkit.org> |
+ |
+ Reviewed by Darin Adler. |
+ |
+ Remove useless FrameLoader method |
+ https://bugs.webkit.org/show_bug.cgi?id=45492 |
+ |
+ This method has one caller, and that caller already has a more direct |
+ way of accessing the correct DocumentLoader. |
+ |
+ * loader/FrameLoader.cpp: |
+ * loader/FrameLoader.h: |
+ * loader/MainResourceLoader.cpp: |
+ (WebCore::MainResourceLoader::addData): |
+ |
+2010-09-10 Adam Barth <abarth@webkit.org> |
+ |
+ Reviewed by Eric Seidel. |
+ |
+ Main resource bytes shouldn't bounce through FrameLoader |
+ https://bugs.webkit.org/show_bug.cgi?id=45496 |
+ |
+ After the MainResourceLoader hands the bytes for the main resource to |
+ the DocumentLoader, the DocumentLoader hands the bytes to the |
+ FrameLoaderClient. The FrameLoaderClient, in turn, returns the bytes |
+ to WebCore. Prior to this patch, the FrameLoaderClient returned the |
+ bytes to the FrameLoader. However, the FrameLoader was actually adding |
+ any value. |
+ |
+ In this patch, we change the FrameLoaderClient to return the bytes to |
+ the DocumentLoader directly. In a future patch, we'll cut out the |
+ FrameLoaderClient middleman and handle the bytes internally in the |
+ DocumentLoader. |
+ |
+ * WebCore.exp.in: |
+ * loader/DocumentLoader.cpp: |
+ (WebCore::DocumentLoader::addData): |
+ * loader/DocumentLoader.h: |
+ * loader/FrameLoader.cpp: |
+ (WebCore::FrameLoader::finishedLoadingDocument): |
+ * loader/FrameLoader.h: |
+ |
+2010-09-10 Oliver Hunt <oliver@apple.com> |
+ |
+ Reviewed by Darin Adler. |
+ |
+ Speed up deserialisation of strings |
+ https://bugs.webkit.org/show_bug.cgi?id=45555 |
+ |
+ Rather than building a list of Identifiers for the string pool |
+ we now build a list of a tuple of UString and JSString*. This |
+ doesn't hurt the property name case as ustring->identifier conversion |
+ is essentially free if the ustring has already been converted to |
+ an Identifier, but saves an unnecessary Identifier creation for |
+ strings we only ever use to create JSStrings. We also reduce |
+ GC pressure for duplicate strings by caching the JSStrings. |
+ |
+ * bindings/js/SerializedScriptValue.cpp: |
+ (WebCore::CloneDeserializer::CachedString::CachedString): |
+ (WebCore::CloneDeserializer::CachedString::jsString): |
+ (WebCore::CloneDeserializer::CachedString::ustring): |
+ (WebCore::CloneDeserializer::readStringData): |
+ (WebCore::CloneDeserializer::putProperty): |
+ (WebCore::CloneDeserializer::readFile): |
+ (WebCore::CloneDeserializer::readTerminal): |
+ (WebCore::CloneDeserializer::deserialize): |
+ |
+2010-09-10 Ryosuke Niwa <rniwa@webkit.org> |
+ |
+ Reviewed by Antonio Gomes. |
+ |
+ REGRESSION(r67176): editing/selection/doubleclick-inline-first-last-contenteditable.html crashes |
+ https://bugs.webkit.org/show_bug.cgi?id=45525 |
+ |
+ The crash was caused by ancestorToRetainStructureAndAppearance not taking into consideration |
+ the case where there is no common block ancestor. Fixed this by adding a null check. |
+ |
+ Test: editing/pasteboard/copy-without-common-block-crash.html |
+ |
+ * editing/markup.cpp: |
+ (WebCore::ancestorToRetainStructureAndAppearance): Added a null check. |
+ |
+2010-09-09 Kinuko Yasuda <kinuko@chromium.org> |
+ |
+ Reviewed by Dumitru Daniliuc. |
+ |
+ [FileSystem] Do not call EntriesCallback more than once if there're no entries. |
+ https://bugs.webkit.org/show_bug.cgi?id=45498 |
+ |
+ No new tests, layout-tests that confirm the behavior will be added in later patches. |
+ |
+ * fileapi/FileSystemCallbacks.cpp: |
+ (WebCore::EntriesCallbacks::EntriesCallbacks): |
+ (WebCore::EntriesCallbacks::didReadDirectoryEntry): |
+ (WebCore::EntriesCallbacks::didReadDirectoryEntries): |
+ |
+2010-09-10 Patrick Gansterer <paroga@paroga.com> |
+ |
+ Reviewed by Darin Adler. |
+ |
+ Use String::fromUTF8 instead of UTF8Encoding().decode |
+ in the libxml XMLDocumentParser |
+ https://bugs.webkit.org/show_bug.cgi?id=45488 |
+ |
+ * dom/XMLDocumentParserLibxml2.cpp: |
+ (WebCore::toString): |
+ |
+2010-09-10 Chris Fleizach <cfleizach@apple.com> |
+ |
+ Reviewed by David Kilzer. |
+ |
+ AX: accessibility not returning strings when visibility is hidden |
+ https://bugs.webkit.org/show_bug.cgi?id=45116 |
+ |
+ AX code uses plainText() in TextIterator to get the text for a node. |
+ However, when that node is not visible, no text is returned because TextIterator ignores |
+ clipped nodes and other hidden elements. |
+ |
+ Solution is to add a new text iterator behavior for ignoring style visiblity. This allows |
+ for text to allows be returned for accessibility purposes. |
+ |
+ Test: platform/mac/accessibility/clipped-text-under-element.html |
+ |
+ * WebCore.exp.in: |
+ * accessibility/AccessibilityRenderObject.cpp: |
+ (WebCore::AccessibilityRenderObject::textUnderElement): |
+ (WebCore::AccessibilityRenderObject::stringValue): |
+ Use the new flag for plainText |
+ * editing/TextIterator.cpp: |
+ (WebCore::TextIterator::TextIterator): |
+ (WebCore::TextIterator::handleTextNode): |
+ (WebCore::TextIterator::handleTextBox): |
+ (WebCore::TextIterator::handleTextNodeFirstLetter): |
+ (WebCore::TextIterator::handleReplacedElement): |
+ Use the new flag to NOT skip hidden elements. |
+ (WebCore::plainTextToMallocAllocatedBuffer): |
+ (WebCore::plainText): |
+ * editing/TextIterator.h: |
+ Add the new text iterator behavior. |
+ |
+2010-09-10 Chris Fleizach <cfleizach@apple.com> |
+ |
+ Reviewed by David Kilzer. |
+ |
+ Mail crashes with searching for next misspelled word with VoiceOver |
+ https://bugs.webkit.org/show_bug.cgi?id=45501 |
+ |
+ Test: platform/mac/accessibility/crash-in-element-for-text-marker.html |
+ |
+ * accessibility/mac/AccessibilityObjectWrapper.mm: |
+ (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): |
+ Check that the AX object is not nil before asking for the wrapper(). |
+ |
+2010-09-10 Michael Nordman <michaeln@google.com> |
+ |
+ Reviewed by Dumitru Daniliuc. |
+ |
+ Decouple Blob from ScriptExecutionContext. |
+ https://bugs.webkit.org/show_bug.cgi?id=45410 |
+ |
+ - Removed ScriptExecutionContext pointers from Blob and File constructors. |
+ - Removed ScriptExecutionContext's collection of Blobs instance in that context. |
+ - Refactored BlobURL to make a distinction between 'public' blob urls and 'internal' |
+ urls that are used solely as identifiers. The former requires a SecurityOrigin to |
+ to manufacture, the latter does not. |
+ - Added a constant and accessor for the blob protocol scheme on the BlobURL class. |
+ |
+ No new tests are added since this is a cleanup. |
+ |
+ * bindings/js/SerializedScriptValue.cpp: |
+ (WebCore::CloneDeserializer::readFile): |
+ (WebCore::CloneDeserializer::readTerminal): |
+ * bindings/v8/SerializedScriptValue.cpp: |
+ (WebCore::ZigZag::Reader::readBlob): |
+ (WebCore::ZigZag::Reader::readFile): |
+ (WebCore::ZigZag::Reader::readFileList): |
+ * dom/ScriptExecutionContext.cpp: |
+ (WebCore::ScriptExecutionContext::~ScriptExecutionContext): |
+ (WebCore::ScriptExecutionContext::createPublicBlobURL): |
+ (WebCore::ScriptExecutionContext::revokePublicBlobURL): |
+ * dom/ScriptExecutionContext.h: |
+ * fileapi/Blob.cpp: |
+ (WebCore::Blob::Blob): |
+ (WebCore::Blob::~Blob): |
+ (WebCore::Blob::slice): |
+ * fileapi/Blob.h: |
+ (WebCore::Blob::create): |
+ (WebCore::Blob::url): |
+ * fileapi/Blob.idl: |
+ * fileapi/BlobBuilder.cpp: |
+ (WebCore::BlobBuilder::getBlob): |
+ * fileapi/BlobBuilder.h: |
+ * fileapi/BlobBuilder.idl: |
+ * fileapi/BlobURL.cpp: |
+ (WebCore::BlobURL::createPublicURL): |
+ (WebCore::BlobURL::createInternalURL): |
+ (WebCore::BlobURL::getOrigin): |
+ (WebCore::BlobURL::getIdentifier): |
+ (WebCore::BlobURL::createBlobURL): |
+ * fileapi/BlobURL.h: |
+ (WebCore::BlobURL::blobProtocol): |
+ (WebCore::BlobURL::BlobURL): |
+ * fileapi/File.cpp: |
+ (WebCore::File::File): |
+ * fileapi/File.h: |
+ (WebCore::File::create): |
+ * fileapi/FileReader.cpp: Register a public url to perform the read. |
+ (WebCore::FileReader::cleanup): |
+ (WebCore::FileReader::start): |
+ (WebCore::FileReader::didFinishLoading): |
+ (WebCore::FileReader::failed): |
+ * fileapi/FileReader.h: Added m_urlForReading data member. |
+ * fileapi/FileReaderSync.cpp: |
+ (WebCore::FileReaderSync::read): Register a public url to perform the read. |
+ * fileapi/ThreadableBlobRegistry.cpp: |
+ (WebCore::ThreadableBlobRegistry::registerBlobURL): |
+ (WebCore::ThreadableBlobRegistry::unregisterBlobURL): |
+ * fileapi/ThreadableBlobRegistry.h: |
+ * html/HTMLInputElement.cpp: |
+ (WebCore::HTMLInputElement::appendFormData): |
+ (WebCore::HTMLInputElement::setFileListFromRenderer): |
+ * page/SecurityOrigin.cpp: Use BlobURL.blobProtocol(). |
+ (WebCore::SecurityOrigin::create): |
+ (WebCore::SecurityOrigin::canRequest): |
+ (WebCore::SecurityOrigin::canDisplay): |
+ * platform/chromium/ClipboardChromium.cpp: |
+ (WebCore::ClipboardChromium::files): |
+ * platform/gtk/ClipboardGtk.cpp: |
+ (WebCore::ClipboardGtk::files): |
+ * platform/mac/ClipboardMac.mm: |
+ (WebCore::ClipboardMac::files): |
+ * platform/win/ClipboardWin.cpp: |
+ (WebCore::ClipboardWin::files): |
+ |
+2010-09-10 Xan Lopez <xlopez@igalia.com> |
+ |
+ Reviewed by Martin Robinson. |
+ |
+ GDK_DISPLAY was removed in GTK+ 3.x, re-declare it when built |
+ against that. |
+ |
+ * platform/gtk/GtkVersioning.h: |
+ |
+2010-09-10 Xan Lopez <xlopez@igalia.com> |
+ |
+ Reviewed by Martin Robinson. |
+ |
+ Fix compilation with GTK+ 3.x. |
+ |
+ GDK key macros were renamed from GDK_FOO to GDK_KEY_FOO, we need |
+ to include the compat header provided if we want to keep using the |
+ old names. |
+ |
+ * platform/gtk/GtkVersioning.h: add the compatibility header. |
+ * platform/gtk/KeyEventGtk.cpp: include GtkVersioning.h |
+ |
+2010-09-09 Tony Gentilcore <tonyg@chromium.org> |
+ |
+ Reviewed by Eric Seidel. |
+ |
+ Factor out the NestingLevelIncrementer |
+ https://bugs.webkit.org/show_bug.cgi?id=45471 |
+ |
+ No new tests because no new functionality. |
+ |
+ * GNUmakefile.am: |
+ * WebCore.gypi: |
+ * WebCore.vcproj/WebCore.vcproj: |
+ * WebCore.xcodeproj/project.pbxproj: |
+ * html/parser/HTMLDocumentParser.cpp: |
+ * html/parser/HTMLDocumentParser.h: |
+ * html/parser/HTMLScriptRunner.cpp: |
+ * html/parser/NestingLevelIncrementer.h: Added. |
+ (WebCore::NestingLevelIncrementer::NestingLevelIncrementer): |
+ (WebCore::NestingLevelIncrementer::~NestingLevelIncrementer): |
+ |
+2010-09-10 Nikolas Zimmermann <nzimmermann@rim.com> |
+ |
+ Reviewed by Dirk Schulze. |
+ |
+ SVG text chunk concept needs to be integrated in the InlineBox structure |
+ https://bugs.webkit.org/show_bug.cgi?id=45533 |
+ |
+ Begin rewriting the SVG text layout code. As first step move the text chunk concept right into the inline box structure. |
+ This obsoletes the whole text chunk part concept (see SVGTextChunkLayoutInfo.h for details), and will soon simplify the |
+ whole layout code a lot. Previously we hacked around the fact that a single InlineTextBox could contain multiple text chunks |
+ For example: <text x="20 30 40">ABC</text> only led to the creation of one InlineTextBox containing three chunks. When |
+ painting such an InlineTextBox, we had to do nasty hacks (same for text selection etc.) |
+ |
+ This is finally fixed by incorporating the knownledge about text chunks into the line layout algorithm. |
+ Note, this has no impact on HTML at all, no worries. |
+ |
+ It's even required to do it this way as BiDi reordering shouldn't happen across text chunks. |
+ These are only the first bits, and currently slows down text layouting. Follow-up patches will remove the old layout |
+ algorithm, and will rely on the stored SVGTextLayoutAttributes in the RenerSVGInlineText renderers (instead of computing again). |
+ |
+ * Android.mk: Add rendering/svg/SVGTextLayoutAttributes.* & rendering/svg/SVGTextLayoutBuilder.* to build. |
+ * CMakeLists.txt: Ditto. |
+ * GNUmakefile.am: Ditto. |
+ * WebCore.gyp/WebCore.gyp: Ditto. |
+ * WebCore.gypi: Ditto. |
+ * WebCore.pro: Ditto. |
+ * WebCore.vcproj/WebCore.vcproj: Ditto. |
+ * WebCore.vcproj/WebCoreCommon.vsprops: Ditto. (Recognize new rendering/svg directory.) |
+ * WebCore.vcproj/copyForwardingHeaders.cmd: Ditto. (Copy forwarding headers from rendering/svg directory.) |
+ * WebCore.xcodeproj/project.pbxproj: Ditto. |
+ * rendering/RenderBlockLineLayout.cpp: This is the key of the new concept, take text chunks into account when building the InlineBox structure. |
+ (WebCore::RenderBlock::findNextLineBreak): Split midpointState, if we encounter the beginning of a new text chunk. |
+ * rendering/RenderObject.h: |
+ (WebCore::RenderObject::isSVGInline): New method, which will be used to identify RenderSVGInline objects. |
+ * rendering/RenderSVGInline.h: |
+ (WebCore::RenderSVGInline::isSVGInline): Return true. |
+ * rendering/RenderSVGInlineText.cpp: |
+ (WebCore::RenderSVGInlineText::linesBoundingBox): Overriden, to simplify the calculations for SVG. |
+ (WebCore::RenderSVGInlineText::characterStartsNewTextChunk): Determines wheter the given position starts a new text chunk. |
+ * rendering/RenderSVGInlineText.h: |
+ (WebCore::RenderSVGInlineText::storeLayoutAttributes): Stores the layout attributes calculated in the text layout process (will be used everywhere in follow-up patches). |
+ * rendering/RenderSVGText.cpp: |
+ (WebCore::RenderSVGText::layout): Invoke SVGTextLayoutBuilder before creating the inline box tree, so we can decide which characters start new text chunks. |
+ * rendering/RenderText.h: Made linesBoundingBox() virtual so RenderSVGInlineText can override it. |
+ * rendering/svg: Added. |
+ * rendering/svg/SVGTextLayoutAttributes.cpp: Added. Holds x/y/dx/dy/rotate values and all kerning/ligature information used during layout. |
+ * rendering/svg/SVGTextLayoutAttributes.h: Added. |
+ * rendering/svg/SVGTextLayoutBuilder.cpp: Added. |
+ * rendering/svg/SVGTextLayoutBuilder.h: Added. |
+ |
+2010-09-10 Csaba Osztrogonác <ossy@webkit.org> |
+ |
+ Unreviewed fix after r67085. |
+ |
+ * WebCore.pro: Fix previously moved filenames. |
+ |
+2010-09-10 Adam Barth <abarth@webkit.org> |
+ |
+ Reviewed by Eric Seidel. |
+ |
+ Inline FrameLoader::committedLoad into its one caller |
+ https://bugs.webkit.org/show_bug.cgi?id=45481 |
+ |
+ This saves one round-trip through the FrameLoader when loading |
+ documents. |
+ |
+ * loader/DocumentLoader.cpp: |
+ (WebCore::DocumentLoader::commitLoad): |
+ * loader/FrameLoader.cpp: |
+ * loader/FrameLoader.h: |
+ |
+2010-09-10 Patrick Gansterer <paroga@paroga.com> |
+ |
+ Reviewed by Adam Roben. |
+ |
+ [WINCE] Remove ImageBuffer::toDataURL implementation |
+ https://bugs.webkit.org/show_bug.cgi?id=45478 |
+ |
+ At the moment ImageBuffer::toDataURL uses JPEGEncoder.h and PNGEncoder.h. |
+ Both files are not in the repository. So remove the implementation for now. |
+ |
+ * platform/graphics/wince/ImageBufferWince.cpp: |
+ (WebCore::ImageBuffer::toDataURL): |
+ |
+2010-09-10 Andreas Kling <andreas.kling@nokia.com> |
+ |
+ Reviewed by Antonio Gomes. |
+ |
+ WebGL: Fix GCC warnings about suggested parentheses around && within || |
+ https://bugs.webkit.org/show_bug.cgi?id=45534 |
+ |
+ * html/canvas/WebGLRenderingContext.cpp: |
+ (WebCore::WebGLRenderingContext::getVertexAttrib): |
+ (WebCore::WebGLRenderingContext::readPixels): |
+ (WebCore::WebGLRenderingContext::texParameter): |
+ (WebCore::WebGLRenderingContext::handleNPOTTextures): |
+ |
+2010-09-09 Alexander Pavlov <apavlov@chromium.org> |
+ |
+ Reviewed by Yury Semikhatsky. |
+ |
+ Web Inspector: Add navigation items into the Elements panel context menu. |
+ |
+ For all anchors that have the class of "webkit-html-resource-link" or "webkit-html-external-link", |
+ a custom context menu with the items "Open Link in New Window" (invokes InspectorBackend.openInInspectedWindow() with |
+ the related URL) and "Open Link in Resources Panel" (opens the related resource in the Resources panel) is shown |
+ (the latter item is displayed only if the corresponding resource is known to the Web Inspector). |
+ https://bugs.webkit.org/show_bug.cgi?id=34250 |
+ |
+ * English.lproj/localizedStrings.js: |
+ * inspector/front-end/ElementsPanel.js: |
+ (WebInspector.ElementsPanel.prototype.populateHrefContextMenu): |
+ * inspector/front-end/ElementsTreeOutline.js: |
+ (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired): |
+ (WebInspector.ElementsTreeElement.prototype._attributeHTML): |
+ * inspector/front-end/StylesSidebarPane.js: |
+ (WebInspector.StylesSidebarPane.prototype._contextMenuEventFired): |
+ * inspector/front-end/inspector.js: |
+ (WebInspector.openResource): |
+ (WebInspector.resourceURLForRelatedNode): |
+ |
+2010-09-10 Kwang Yul Seo <skyul@company100.net> |
+ |
+ Reviewed by James Robinson. |
+ |
+ Make sure skia is not Chromium specific |
+ https://bugs.webkit.org/show_bug.cgi?id=39672 |
+ |
+ Move Image::loadPlatformResource to platform/graphics/chromium/ImageChromium.cpp. |
+ Other ports can use ImageSkia.cpp. |
+ |
+ No new tests because this is pure refacotring. |
+ |
+ * WebCore.gyp/WebCore.gyp: |
+ * WebCore.gypi: |
+ * platform/graphics/chromium/ImageChromium.cpp: Added. |
+ (WebCore::Image::loadPlatformResource): |
+ * platform/graphics/skia/ImageSkia.cpp: |
+ |
+2010-09-09 Ilya Tikhonovsky <loislo@chromium.org> |
+ |
+ Reviewed by Joseph Pecoraro. |
+ |
+ WebInspector: Selecting 'inspect element' always shows body in inspector instead of clicked element. |
+ |
+ 1. Open any page |
+ 2. Right-click on any element, select "Inspect Element" |
+ 3. Web Inspector is opened but the <body> element (for HTML) is focused rather than the selected element |
+ 4. Inspect the Web Inspector. An error message is logged in the console. |
+ |
+ The regression was introduced in http://trac.webkit.org/changeset/66012 - focusNode() is invoked in |
+ InspectorController::populateScriptObjects() before the main document is set for the InspectorDOMAgent |
+ instance (which makes focusNode() bail out prematurely). |
+ |
+ https://bugs.webkit.org/show_bug.cgi?id=45374 |
+ |
+ * inspector/InspectorController.cpp: |
+ (WebCore::InspectorController::populateScriptObjects): |
+ |
+2010-09-10 Cris Neckar <cdn@chromium.org> |
+ |
+ Reviewed by Chris Fleizach. |
+ |
+ Null deref in RenderBlock::updateFirstLetter(). Check for null psuedo style. |
+ https://bugs.webkit.org/show_bug.cgi?id=45404 |
+ |
+ Test: fast/dom/firstletter-tablecell-crash.html |
+ |
+ * rendering/RenderBlock.cpp: |
+ (WebCore::RenderBlock::updateFirstLetter): |
+ |
+2010-09-10 Cris Neckar <cdn@chromium.org> |
+ |
+ Reviewed by Chris Fleizach. |
+ |
+ Null deref in RenderBlock::findNextLineBreak(). Check for null style with |
+ first-line style and fixed position. |
+ https://bugs.webkit.org/show_bug.cgi?id=45350 |
+ |
+ Test: fast/dom/firstline-fixed-crash.html |
+ |
+ * rendering/RenderBlockLineLayout.cpp: |
+ (WebCore::RenderBlock::findNextLineBreak): |
+ |
+2010-09-10 Eric Seidel <eric@webkit.org> |
+ |
+ Reviewed by Dimitri Glazkov. |
+ |
+ Remove support for non-lazy attach and fix frames to load from insertedIntoDocument instead of attach |
+ https://bugs.webkit.org/show_bug.cgi?id=45365 |
+ |
+ This change is the last piece of the puzzle which was preventing us from |
+ removing all eager-attach logic and moving WebCore to using an entirely |
+ recalcStyle-driven, on-demand renderer creation system, instead of every |
+ element being synchronously attached during parsing, regardless of whether |
+ it was ever going to be displayed or not. |
+ |
+ This does not change the places we call lazyAttach vs. attach. This only |
+ changes the behavior of frame/plugin elements when lazyAttach is called. |
+ Previously lazyAttach would eager-attach those elements (and their ancestors) |
+ because they were marked as canLazyAttach() { return false; }. |
+ |
+ This is a very tricky change, please review carefully. |
+ |
+ Mostly I'm moving logic which used to be in attach() into |
+ insertedIntoDocument. Once it was there, there was no longer any reason |
+ why frame elements couldn't lazyAttach, thus removing the need |
+ for the non-lazy attach code path entirely. |
+ We've not yet converted all callsites over to using lazyAttach() instead |
+ of attach() however. |
+ |
+ In order to move frame loading logic into insertedIntoDocument |
+ instead of attach, I needed to make sure that any javascript calls |
+ during the load would see an attached element. Thus I needed to mark |
+ the element as needing style resolve so that it would attach itself |
+ if needed. |
+ |
+ I was not able to just call lazyAttach() from insertedIntoDocument directly |
+ due to two conflicting assumptions in the rendering tree: |
+ 1. ContainerNode::attach() assumes its "safe" to call attach on all children |
+ without checking first if the child is already attached. This seems sane |
+ since its strange to think of a subtree as being attached w/o ancestors |
+ already being attached. Although it is a hard rule that subtrees may not |
+ have renderers w/o ancestors also having renderers, I do not believe it's |
+ a hard rule that subtrees may not be attached. Remember, attached() does |
+ not imply renderer()! It's possible ContainerNode::attach()'s assumption is wrong here. |
+ 2. Node::attach() asserts !attached(). This makes sense and I would not |
+ want to remove this assert, however it means that if insertedIntoDocument |
+ were to call lazyAttach() (thus marking the element as attached()) then |
+ all callers would need to check if the element was already attached after |
+ insertedIntoDocument (called by appendChild, parserAppendChild, etc.) |
+ before calling attach or lazyAttach(). The following example: |
+ element.innerHTML = "<span><iframe></span>" is one case where this |
+ ASSERT would be hit if insertedIntoDocument called lazyAttach, since |
+ ContainerNode::attach() (called on the span by in appendChild(DocumentFragment) code) |
+ does not check if iframe is already attached. |
+ |
+ Note: One subtle change here is that synchronous javascript which results |
+ from javascript: or beforeload is now run as part of insertedIntoDocument |
+ (thus any insert/append call *even* parserAddChild) instead of being |
+ run during attach (technically in the post-attach callbacks). |
+ |
+ This is covered by numerous layout tests. |
+ |
+ * dom/ContainerNode.cpp: |
+ (WebCore::willRemoveChild): |
+ (WebCore::willRemoveChildren): |
+ - Since insertedIntoDocument starts a load and yet does not mark the |
+ element as attached, we need to always call willRemove(). |
+ See note above as to why we don't just mark attached() in insertedIntoDocument. |
+ * dom/Node.cpp: |
+ (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc): |
+ - Share some code between lazyAttach and setNeedsStyleRecalc. |
+ (WebCore::Node::setNeedsStyleRecalc): |
+ - Use the new markAncestorsWithChildNeedsStyleRecalc |
+ (WebCore::Node::lazyAttach): |
+ - Remove the non-lazy code path, and use markAncestorsWithChildNeedsStyleRecalc. |
+ - Add an option to lazyAttach without marking attached(), used by HTMLFrameElementBase::insertedIntoDocument. |
+ * dom/Node.h: |
+ * html/HTMLFrameElementBase.cpp: |
+ - m_shouldOpenURLAfterAttach is no longer needed, yay! |
+ - m_checkAttachedTimer no longer has anything to do with attached(), so renamed it. |
+ I also documented that the newly named m_checkInDocumentTimer is all about the |
+ "magic iframe" performance quirk. (Which is actually speced in HTML5). |
+ I was initially baffled by this code, so I documented it. |
+ (WebCore::HTMLFrameElementBase::HTMLFrameElementBase) |
+ (WebCore::HTMLFrameElementBase::insertedIntoDocument): |
+ - This is the meat of this change, see discussion above. |
+ (WebCore::HTMLFrameElementBase::attach): |
+ - Code deleted or moved to insertedIntoDocument. |
+ (WebCore::HTMLFrameElementBase::width): |
+ - Fixed a bug in height()/width() which was probably causing crashes |
+ and was causing incorrect behavior after this change. |
+ renderBox() is not necessarily valid unless layout is up to date. |
+ Updating layout, can cause renderBox() to go invalid, thus this |
+ could have been a null-pointer crash. |
+ (WebCore::HTMLFrameElementBase::height): see width() |
+ (WebCore::HTMLFrameElementBase::setRemainsAliveOnRemovalFromTree): Timer rename. |
+ (WebCore::HTMLFrameElementBase::checkInDocumentTimerFired): Timer rename. |
+ * html/HTMLFrameElementBase.h: |
+ * html/HTMLFrameOwnerElement.cpp: |
+ (WebCore::HTMLFrameOwnerElement::willRemove): |
+ - Disconnecting the owner element removes the frame from the frame tree. |
+ frameDetached() calls Page::frameCount which expects that the frame is |
+ already gone at this point and asserts when it's not. It's unclear how |
+ this worked before, except that the frame removal was likely done in the |
+ post-attach callback, so the frameCount was wrong (too high) during |
+ frameDetached(), but was fixed up in the post-detach callback. |
+ * html/parser/HTMLConstructionSite.cpp: |
+ (WebCore::HTMLConstructionSite::attachAtSite): |
+ - Simplified this code, and added a check for the case when the node was already removed. |
+ Since the load logic is now run during insertedIntoDocument instead of attach(), |
+ synchronous javascript is now running during insertedIntoDocument and we need to |
+ make sure that the child is still in the tree. |
+ |
+2010-09-10 Dirk Pranke <dpranke@chromium.org> |
+ |
+ Unreviewed, rolling out r67178. |
+ http://trac.webkit.org/changeset/67178 |
+ https://bugs.webkit.org/show_bug.cgi?id=45524 |
+ |
+ re-roll-out patch to put original changes back in |
+ |
+ * html/HTMLObjectElement.cpp: |
+ (WebCore::HTMLObjectElement::parametersForPlugin): |
+ (WebCore::HTMLObjectElement::updateWidget): |
+ * loader/SubframeLoader.cpp: |
+ (WebCore::SubframeLoader::resourceWillUsePlugin): |
+ * loader/SubframeLoader.h: |
+ |
+2010-09-10 Dirk Pranke <dpranke@chromium.org> |
+ |
+ Reviewed by Kent Tamura. |
+ |
+ roll out r66992 and r66997 - possibly introduced a perf slowdown in chromium tests |
+ https://bugs.webkit.org/show_bug.cgi?id=45524 |
+ |
+ * html/HTMLObjectElement.cpp: |
+ (WebCore::HTMLObjectElement::parametersForPlugin): |
+ (WebCore::HTMLObjectElement::updateWidget): |
+ * loader/SubframeLoader.cpp: |
+ (WebCore::SubframeLoader::requestFrame): |
+ * loader/SubframeLoader.h: |
+ |
+2010-09-10 Ryosuke Niwa <rniwa@webkit.org> |
+ |
+ Reviewed by Tony Chang. |
+ |
+ Extract the code to find special ancestors in createMarkup into a function |
+ https://bugs.webkit.org/show_bug.cgi?id=45449 |
+ |
+ Extracted the code to find special common ancestors in createMarkup as highestAncestorToWrapMarkup. |
+ Also isolated the code to find ancestors required to retain structure and appearance into |
+ ancestorToRetainStructureAndAppearance. |
+ |
+ No new tests are added since this is a cleanup. |
+ |
+ * editing/markup.cpp: |
+ (WebCore::ancestorToRetainStructureAndAppearance): Added. |
+ (WebCore::propertyMissingOrEqualToNone): Moved. |
+ (WebCore::isElementPresentational): Moved. |
+ (WebCore::shouldIncludeWrapperForFullySelectedRoot): Added. isSpecialAncestorBlock is merged into this function. |
+ (WebCore::highestAncestorToWrapMarkup): Extracted from createMarkup. |
+ (WebCore::createMarkup): Calls highestAncestorToWrapMarkup. |
+ |
+2010-09-09 Adam Barth <abarth@webkit.org> |
+ |
+ Reviewed by Dimitri Glazkov. |
+ |
+ Spurious null check in MediaDocumentParser |
+ https://bugs.webkit.org/show_bug.cgi?id=45461 |
+ |
+ Trivial change. FrameLoader can never be null. |
+ |
+ * html/MediaDocument.cpp: |
+ (WebCore::MediaDocumentParser::createDocumentStructure): |
+ |
+2010-09-09 Ryosuke Niwa <rniwa@webkit.org> |
+ |
+ Reviewed by Eric Seidel. |
+ |
+ REGRESSION: applying new font size causes font-size outside selection to change |
+ https://bugs.webkit.org/show_bug.cgi?id=45026 |
+ |
+ The regression was caused by removeImplicitlyStyledElement not converting font size to CSS value properly. |
+ Namely, it was treating font size as a pixel value for font-size property. Fixed this by adding fontSizeToCSSValue |
+ which uses HTMLFontElement::cssValueFromFontSizeNumber and deployed it in removeImplicitlyStyledElement |
+ |
+ Also fixed a bug in StyleChange::extractTextStyles that it ignores font-size property when the values were |
+ relative terms such as x-small and -webkit-xxx-large. And replaced the logic to convert from pixel font size |
+ to legacy font size by CSSStyleSelector::legacyFontSize. |
+ |
+ Test: editing/style/push-down-font-styles.html |
+ |
+ * editing/ApplyStyleCommand.cpp: |
+ (WebCore::StyleChange::extractTextStyles): Fixed a bug. See above. |
+ (WebCore::stringToCSSValue): Converts string to CSSValue. |
+ (WebCore::fontSizeToCSSValue): Converts font size number (String) to CSSPrimitiveValue. |
+ (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Calls stringToCSSValue and fontSizeToCSSValue. |
+ * css/CSSStyleSelector.h: Made fontSizeForKeyword public. |
+ |
+2010-09-09 Kent Tamura <tkent@chromium.org> |
+ |
+ Unreviewed, build fix for Qt. |
+ |
+ * css/CSSStyleSelector.cpp: |
+ (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): |
+ |
+2010-09-09 Dominic Cooney <dominicc@google.com> |
+ |
+ Reviewed by Kent Tamura. |
+ |
+ Moves location.replace bindings logic into bindings/generic and |
+ instantiates it for JSC and V8. |
+ |
+ https://bugs.webkit.org/show_bug.cgi?id=44891 |
+ |
+ Covered by existing location.replace tests. |
+ |
+ * GNUmakefile.am: |
+ * WebCore.gypi: |
+ * WebCore.pro: |
+ * WebCore.vcproj/WebCore.vcproj: |
+ * WebCore.vcproj/WebCoreCommon.vsprops: |
+ * WebCore.xcodeproj/project.pbxproj: |
+ * bindings/generic/BindingDOMWindow.h: |
+ * bindings/generic/BindingFrame.h: Added. |
+ (WebCore::::navigateIfAllowed): |
+ * bindings/generic/BindingLocation.h: Added. |
+ (WebCore::::replace): |
+ * bindings/generic/GenericBinding.h: |
+ (WebCore::completeURL): |
+ * bindings/js/JSBinding.h: Added. |
+ * bindings/js/JSBindingsAllInOne.cpp: |
+ * bindings/js/JSDOMBinding.cpp: |
+ (WebCore::shouldAllowNavigation): |
+ (WebCore::toLexicalFrame): |
+ (WebCore::toDynamicFrame): |
+ (WebCore::processingUserGesture): |
+ (WebCore::completeURL): |
+ * bindings/js/JSLocationCustom.cpp: |
+ (WebCore::navigateIfAllowed): |
+ (WebCore::JSLocation::replace): |
+ * bindings/js/specialization/JSBindingState.cpp: Added. |
+ (WebCore::::getActiveFrame): |
+ (WebCore::::getFirstFrame): |
+ (WebCore::::processingUserGesture): |
+ (WebCore::::allowsAccessFromFrame): |
+ * bindings/js/specialization/JSBindingState.h: Added. |
+ * bindings/v8/V8Binding.h: |
+ * bindings/v8/V8Utilities.cpp: |
+ (WebCore::completeURL): |
+ (WebCore::navigateIfAllowed): |
+ * bindings/v8/custom/V8LocationCustom.cpp: |
+ (WebCore::V8Location::replaceCallback): |
+ * bindings/v8/specialization/V8BindingState.cpp: |
+ (WebCore::::allowsAccessFromFrame): |
+ * bindings/v8/specialization/V8BindingState.h: |
+ |
+2010-09-09 Kent Tamura <tkent@chromium.org> |
+ |
+ Reviewed by Dimitri Glazkov. |
+ |
+ Apply :invalid CSS class to <input type=number> with an unacceptable value |
+ https://bugs.webkit.org/show_bug.cgi?id=45376 |
+ |
+ Apply :invalid CSS class to <input type=number> elements with an |
+ unacceptable value in order to tell users that a value is not |
+ valid. |
+ |
+ Introducing Element::hasUnaccceptableValue(), and CSSStyleSelector |
+ applies :invalid to not only elements with !isValidFormControlElement() |
+ but also elements with hasUnaccceptableValue(). |
+ |
+ HTMLInputElement and RenderTextControlSingleLine need some changes |
+ to update style and to avoid updating renderer value during style |
+ update. |
+ |
+ Test: fast/forms/input-number-unacceptable-style.html |
+ |
+ * css/CSSStyleSelector.cpp: |
+ (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): |
+ * dom/Element.h: |
+ (WebCore::Element::hasUnacceptableValue): |
+ * html/HTMLInputElement.cpp: |
+ (WebCore::HTMLInputElement::handleBlurEvent): |
+ (WebCore::HTMLInputElement::hasUnacceptableValue): |
+ * html/HTMLInputElement.h: |
+ * rendering/RenderTextControlSingleLine.cpp: |
+ (WebCore::RenderTextControlSingleLine::subtreeHasChanged): |
+ (WebCore::RenderTextControlSingleLine::updateFromElement): |
+ |
+2010-09-09 Kent Tamura <tkent@chromium.org> |
+ |
+ Reviewed by Dimitri Glazkov. |
+ |
+ <input type=number> should not have an invalid number as its value |
+ https://bugs.webkit.org/show_bug.cgi?id=43973 |
+ |
+ This change implements the value sanitization algorithm for |
+ type=number, and remove validity.typeMismatch support for |
+ type=number in order to improve HTML5 conformance. |
+ |
+ HTMLInputElement::value for type=number always has a valid number |
+ string or an empty string. However, the input field for it, a |
+ RenderTextControlSingleLine, can have a non-number string. For |
+ example, '-' is a non-number string, but a user needs to type |
+ '-'. So, the string in the input field has never been committed to |
+ HTMLInputElement until the string becomes a valid number string. |
+ |
+ This change is also a preparation of supporting localized |
+ numbers. A localized string in the input field would not be |
+ matched with HTMLInputElement::value. |
+ |
+ Test: fast/forms/input-number-commit-valid-only.html |
+ |
+ * dom/InputElement.h: Add isAcceptableValue() |
+ * html/HTMLInputElement.cpp: |
+ (WebCore::HTMLInputElement::handleBlurEvent): |
+ Set formControlValueMatchesRenderer false to clean an invalid value in the renderer. |
+ (WebCore::HTMLInputElement::isAcceptableValue): |
+ (WebCore::HTMLInputElement::sanitizeValue): |
+ * html/HTMLInputElement.h: |
+ * html/ValidityState.cpp: |
+ (WebCore::ValidityState::typeMismatch): Always returns false for type=number. |
+ * rendering/RenderTextControlSingleLine.cpp: |
+ (WebCore::RenderTextControlSingleLine::subtreeHasChanged): |
+ * wml/WMLInputElement.h: |
+ (WebCore::WMLInputElement::isAcceptableValue): |
+ |
+2010-09-09 Tony Gentilcore <tonyg@chromium.org> |
+ |
+ Reviewed by Adam Barth. |
+ |
+ Support <script async> as specified by HTML5 |
+ https://bugs.webkit.org/show_bug.cgi?id=45310 |
+ |
+ Tests: fast/dom/HTMLScriptElement/async-inline-script.html |
+ fast/dom/HTMLScriptElement/async-onbeforeload.html |
+ fast/dom/HTMLScriptElement/async-write.html |
+ http/tests/misc/async-and-defer-script.html |
+ http/tests/misc/script-async.html |
+ |
+ * dom/AsyncScriptRunner.cpp: |
+ (WebCore::AsyncScriptRunner::AsyncScriptRunner): |
+ (WebCore::AsyncScriptRunner::~AsyncScriptRunner): |
+ (WebCore::AsyncScriptRunner::executeScriptSoon): Increment the delay count when a task to execute scripts is queued up. |
+ (WebCore::AsyncScriptRunner::timerFired): decrementLoadEventDelayCount handles calling checkCompleted(). |
+ * dom/AsyncScriptRunner.h: |
+ (WebCore::AsyncScriptRunner::create): |
+ * dom/Document.cpp: |
+ (WebCore::Document::Document): |
+ * dom/ScriptElement.cpp: |
+ (WebCore::ScriptElement::insertedIntoDocument): Treats async scripts just like a dynamically inserted script element rather than a parser inserted one. |
+ * html/parser/HTMLScriptRunner.cpp: |
+ (WebCore::HTMLScriptRunner::runScript): |
+ |
+2010-09-09 Alexey Marinichev <amarinichev@chromium.org> |
+ |
+ Reviewed by James Robinson. |
+ |
+ [chromium] Disable subpixel rendering in Linux when GPU compositor is active |
+ https://bugs.webkit.org/show_bug.cgi?id=45087 |
+ |
+ This extends windows-only logic to chromium linux as well. |
+ |
+ * platform/graphics/chromium/ContentLayerChromium.cpp: |
+ (WebCore::ContentLayerChromium::updateContents): |
+ * platform/graphics/chromium/FontLinux.cpp: |
+ (WebCore::adjustTextRenderMode): Added a check to see if the compositor is active. |
+ (WebCore::Font::drawGlyphs): |
+ (WebCore::Font::drawComplexText): |
+ * platform/graphics/chromium/LayerRendererChromium.cpp: |
+ (WebCore::LayerRendererChromium::setRootLayerCanvasSize): |
+ * platform/graphics/chromium/VideoLayerChromium.cpp: |
+ (WebCore::VideoLayerChromium::updateContents): |
+ * platform/graphics/skia/ImageBufferSkia.cpp: |
+ (WebCore::ImageBuffer::ImageBuffer): |
+ (WebCore::ImageBuffer::clip): |
+ * platform/graphics/skia/PlatformContextSkia.cpp: |
+ Made setDrawingToImageBuffer and isDrawingToImageBuffer available to |
+ Linux; removed all #if OS(WINDOWS) || OS(LINUX). |
+ (WebCore::PlatformContextSkia::State::State): |
+ (WebCore::PlatformContextSkia::PlatformContextSkia): |
+ (WebCore::PlatformContextSkia::isDrawingToImageBuffer): |
+ (WebCore::PlatformContextSkia::save): |
+ (WebCore::PlatformContextSkia::beginLayerClippedToImage): |
+ (WebCore::PlatformContextSkia::restore): |
+ (WebCore::PlatformContextSkia::applyClipFromImage): |
+ * platform/graphics/skia/PlatformContextSkia.h: |
+ |
+2010-09-09 Kinuko Yasuda <kinuko@chromium.org> |
+ |
+ Unreviewed, Windows build fix. |
+ |
+ * WebCore.vcproj/WebCore.vcproj: |
+ |
+2010-09-09 Kinuko Yasuda <kinuko@chromium.org> |
+ |
+ Reviewed by Jian Li. |
+ |
+ [FileSystem] Add File and FileWriter accessor methods in FileEntry |
+ https://bugs.webkit.org/show_bug.cgi?id=45440 |
+ |
+ Adding file() and createWrite() methods in FileEntry. |
+ http://dev.w3.org/2009/dap/file-system/file-dir-sys.html#the-fileentry-interface |
+ |
+ No new tests; this patch doesn't have implementation yet. |
+ |
+ * CMakeLists.txt: |
+ * DerivedSources.cpp: |
+ * DerivedSources.make: |
+ * GNUmakefile.am: |
+ * WebCore.gypi: |
+ * WebCore.pri: |
+ * WebCore.pro: |
+ * WebCore.vcproj/WebCore.vcproj: |
+ * WebCore.xcodeproj/project.pbxproj: |
+ * fileapi/FileEntry.cpp: |
+ (WebCore::FileEntry::createWriter): Added. |
+ (WebCore::FileEntry::file): Added. |
+ * fileapi/FileEntry.h: |
+ * fileapi/FileEntry.idl: |
+ * fileapi/FileCallback.h: Added. |
+ * fileapi/FileCallback.idl: Added. |
+ * fileapi/FileWriterCallback.h: Added. |
+ * fileapi/FileWriterCallback.idl: Added. |
+ |
+2010-09-09 Yuzo Fujishima <yuzo@google.com> |
+ |
+ Reviewed by Darin Adler. |
+ |
+ Fix for Bug 24742 - CSS tokenizer allows color in 6 hex digit notation to be followed by the next token without separation |
+ Stop checking in the flex definition the number of hexadecimal digits for a hex color. |
+ Instead, rely on the checking in Color::parseHexColor(). |
+ The resultant grammar is actually more close to the one in http://www.w3.org/TR/CSS21/grammar.html . |
+ |
+ https://bugs.webkit.org/show_bug.cgi?id=24742 |
+ |
+ Test: fast/css/invalid-hex-color.html |
+ |
+ * css/tokenizer.flex: |
+ |
+2010-09-09 Chris Rogers <crogers@google.com> |
+ |
+ Reviewed by Kenneth Russell. |
+ |
+ Add AudioSourceNode files |
+ https://bugs.webkit.org/show_bug.cgi?id=45010 |
+ |
+ No new tests since audio API is not yet implemented. |
+ |
+ * webaudio/AudioSourceNode.h: Added. |
+ (WebCore::AudioSourceNode::AudioSourceNode): |
+ * webaudio/AudioSourceNode.idl: Added. |
+ |
+2010-09-09 James Robinson <jamesr@chromium.org> |
+ |
+ Reviewed by Kenneth Russell. |
+ |
+ [chromium] Don't call deleteTexture on a texture attached to an FBO that is not currently bound |
+ https://bugs.webkit.org/show_bug.cgi?id=45504 |
+ |
+ The OpenGL semantics for glDeleteTextures() are that if one of the specified texture is attached |
+ to the currently bound FBO, that FBO's color attachment is removed. However, if the specified |
+ texture is attached to a non-current FBO then OpenGL states explicitly that that FBO's color |
+ attachment is not cleared and that the texture stays alive even though its ID is no longer |
+ valid to use. This is not the behavior we want in DrawingBuffer - we actually want the |
+ texture to be immediately deleted. This patch makes sure the DrawingBuffer's FBO is bound |
+ before deleting its color attachment texture. |
+ |
+ * platform/graphics/chromium/DrawingBufferChromium.cpp: |
+ (WebCore::DrawingBuffer::~DrawingBuffer): |
+ (WebCore::DrawingBuffer::reset): |
+ |
+2010-09-09 James Robinson <jamesr@chromium.org> |
+ |
+ Reviewed by Kenneth Russell. |
+ |
+ [chromium] Chromium mac build should exclude all Skia files in platform/graphics/skia/, not just some |
+ https://bugs.webkit.org/show_bug.cgi?id=45516 |
+ |
+ This excludes platform/graphics/skia/*Skia.(h|cpp) by pattern instead of individual files. |
+ None of these files should be compiled into the Chromium mac build and the old file list had |
+ both omissions and stale entries. |
+ |
+ * WebCore.gyp/WebCore.gyp: |
+ |
+2010-09-09 Dirk Pranke <dpranke@chromium.org> |
+ |
+ Unreviewed, rolling out r67145. |
+ http://trac.webkit.org/changeset/67145 |
+ https://bugs.webkit.org/show_bug.cgi?id=45431 |
+ |
+ broke editing/inserting/5994480-2.html on Chromium Linux |
+ |
+ * css/CSSStyleSelector.h: |
+ * editing/ApplyStyleCommand.cpp: |
+ (WebCore::StyleChange::init): |
+ (WebCore::StyleChange::extractTextStyles): |
+ (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): |
+ |
+2010-09-09 Dumitru Daniliuc <dumi@chromium.org> |
+ |
+ Reviewed by Alexey Proskuryakov. |
+ |
+ Removing an obsolete comment. |
+ https://bugs.webkit.org/show_bug.cgi?id=40112 |
+ |
+ * bindings/generic/ActiveDOMCallback.cpp: |
+ |
+2010-09-09 James Robinson <jamesr@chromium.org> |
+ |
+ Reviewed by Kenneth Russell. |
+ |
+ [chromium] Clear only the uploaded portion of the software backing store when in mixed mode |
+ https://bugs.webkit.org/show_bug.cgi?id=45503 |
+ |
+ This clears out only the dirty region of the software backing store when uploading results |
+ to hardware rather than clearing out the entire software backing store. This is a significant |
+ performance improvement when the dirty rects are small relative to the whole canvas. |
+ |
+ This also implements the non-swizzle path of copySubRect() using memcpy() to copy the rows, which |
+ is another respectable performance increase. |
+ |
+ * html/canvas/CanvasRenderingContext2D.cpp: |
+ * platform/graphics/gpu/Texture.cpp: |
+ (WebCore::copySubRect): |
+ * platform/graphics/skia/PlatformContextSkia.cpp: |
+ (WebCore::PlatformContextSkia::prepareForSoftwareDraw): |
+ (WebCore::PlatformContextSkia::uploadSoftwareToHardware): |
+ (WebCore::PlatformContextSkia::readbackHardwareToSoftware): |
+ |
+2010-09-09 Kenneth Russell <kbr@google.com> |
+ |
+ Reviewed by James Robinson. |
+ |
+ Add math utilities for cubic curve processing |
+ https://bugs.webkit.org/show_bug.cgi?id=45251 |
+ |
+ Adding mathematic utilities needed for the GPU accelerated path |
+ rendering algorithm from GPU Gems 3. No tests yet; will be tested |
+ in conjunction with later code. |
+ |
+ * platform/graphics/gpu/LoopBlinnMathUtils.cpp: Added. |
+ (WebCore::LoopBlinnMathUtils::roundToZero): |
+ (WebCore::LoopBlinnMathUtils::approxEqual): |
+ (WebCore::LoopBlinnMathUtils::linesIntersect): |
+ (WebCore::LoopBlinnMathUtils::pointInTriangle): |
+ (WebCore::LoopBlinnMathUtils::trianglesOverlap): |
+ (WebCore::LoopBlinnMathUtils::chopCubicAt): |
+ (WebCore::LoopBlinnMathUtils::xRayCrossesLine): |
+ (WebCore::LoopBlinnMathUtils::numXRayCrossingsForCubic): |
+ * platform/graphics/gpu/LoopBlinnMathUtils.h: Added. |
+ |
+2010-09-09 Kinuko Yasuda <kinuko@chromium.org> |
+ |
+ Reviewed by Dumitru Daniliuc. |
+ |
+ Add Entry.getMetadata for FileSystem API |
+ https://bugs.webkit.org/show_bug.cgi?id=45403 |
+ |
+ Add getMetadata to Entry.idl (I had missed to include this |
+ in my previous Entry.idl patch.) |
+ |
+ Also make some minor cleanups and nits fixes. |
+ |
+ No new tests; layout test is going be added later. |
+ |
+ * fileapi/DOMFileSystem.cpp: Bug fix. |
+ * fileapi/MetadataCallback.h: Nits fix. |
+ * fileapi/Entry.idl: Added getMetadata. |
+ * fileapi/ErrorCallback.h: Nits fix. |
+ |
+2010-09-09 Ryosuke Niwa <rniwa@webkit.org> |
+ |
+ Reviewed by Eric Seidel. |
+ |
+ REGRESSION: applying new font size causes font-size outside selection to change |
+ https://bugs.webkit.org/show_bug.cgi?id=45026 |
+ |
+ The regression was caused by removeImplicitlyStyledElement not converting font size to CSS value properly. |
+ Namely, it was treating font size as a pixel value for font-size property. Fixed this by adding fontSizeToCSSValue |
+ which uses HTMLFontElement::cssValueFromFontSizeNumber and deployed it in removeImplicitlyStyledElement |
+ |
+ Also fixed a bug in StyleChange::extractTextStyles that it ignores font-size property when the values were |
+ relative terms such as x-small and -webkit-xxx-large. And replaced the logic to convert from pixel font size |
+ to legacy font size by CSSStyleSelector::legacyFontSize. |
+ |
+ Test: editing/style/push-down-font-styles.html |
+ |
+ * editing/ApplyStyleCommand.cpp: |
+ (WebCore::StyleChange::extractTextStyles): Fixed a bug. See above. |
+ (WebCore::stringToCSSValue): Converts string to CSSValue. |
+ (WebCore::fontSizeToCSSValue): Converts font size number (String) to CSSPrimitiveValue. |
+ (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Calls stringToCSSValue and fontSizeToCSSValue. |
+ * css/CSSStyleSelector.h: Made fontSizeForKeyword public. |
+ |
+2010-09-09 Sheriff Bot <webkit.review.bot@gmail.com> |
+ |
+ Unreviewed, rolling out r67126. |
+ http://trac.webkit.org/changeset/67126 |
+ https://bugs.webkit.org/show_bug.cgi?id=45510 |
+ |
+ broke chromium mac compile, it also uses PlatformContextSkia |
+ (Requested by jamesr on #webkit). |
+ |
+ * platform/graphics/chromium/ContentLayerChromium.cpp: |
+ (WebCore::ContentLayerChromium::updateContents): |
+ * platform/graphics/chromium/FontLinux.cpp: |
+ (WebCore::adjustTextRenderMode): |
+ (WebCore::Font::drawGlyphs): |
+ (WebCore::Font::drawComplexText): |
+ * platform/graphics/chromium/LayerRendererChromium.cpp: |
+ (WebCore::LayerRendererChromium::setRootLayerCanvasSize): |
+ * platform/graphics/chromium/VideoLayerChromium.cpp: |
+ (WebCore::VideoLayerChromium::updateContents): |
+ * platform/graphics/skia/ImageBufferSkia.cpp: |
+ (WebCore::ImageBuffer::ImageBuffer): |
+ (WebCore::ImageBuffer::clip): |
+ * platform/graphics/skia/PlatformContextSkia.cpp: |
+ (WebCore::PlatformContextSkia::State::State): |
+ (WebCore::PlatformContextSkia::PlatformContextSkia): |
+ (WebCore::PlatformContextSkia::save): |
+ (WebCore::PlatformContextSkia::restore): |
+ * platform/graphics/skia/PlatformContextSkia.h: |
+ |
+2010-09-09 Simon Fraser <simon.fraser@apple.com> |
+ |
+ Attempt to fix Qt build. |
+ |
+ * WebCore.pro: |
+ |
+2010-09-09 Simon Fraser <simon.fraser@apple.com> |
+ |
+ Reviewed by Darin Adler. |
+ |
+ https://bugs.webkit.org/show_bug.cgi?id=45509 |
+ <rdar://problem/8142166> REGRESSION: WebView setDrawsBackground:NO no |
+ longer works without setBackgroundColor:clearColor |
+ |
+ r61215 caused RenderView to paint the viewport background when the |
+ document element's renderer is known to not fill opaquely paint |
+ the entire viewport, i.e. more often than it did before. |
+ |
+ This exposed a latent, long-standing bug which was introduced |
+ in r14638 (the RenderCanvas -> RenderView rename), where a call |
+ to view()->isTransparent() was not converted to frameView()->isTransparent(), |
+ yet happened to still compile because of RenderObject::isTransparent(). |
+ |
+ This resulted in us painting the viewport background, even when |
+ WebView clients explicitly said that they wanted a transparent |
+ WebView. |
+ |
+ Fixed by calling frameView()->isTransparent(), as intended. |
+ |
+ * rendering/RenderView.cpp: |
+ (WebCore::RenderView::paintBoxDecorations): |
+ |
+2010-09-09 Chris Rogers <crogers@google.com> |
+ |
+ Reviewed by Kenneth Russell. |
+ |
+ audio engine: add Biquad files |
+ https://bugs.webkit.org/show_bug.cgi?id=44795 |
+ |
+ No new tests since audio API is not yet implemented. |
+ |
+ * platform/audio/Biquad.cpp: Added. |
+ (WebCore::Biquad::Biquad): |
+ (WebCore::Biquad::process): |
+ (WebCore::Biquad::processFast): |
+ (WebCore::Biquad::processSliceFast): |
+ (WebCore::Biquad::reset): |
+ (WebCore::Biquad::setLowpassParams): |
+ (WebCore::Biquad::setHighpassParams): |
+ (WebCore::Biquad::setLowShelfParams): |
+ (WebCore::Biquad::setZeroPolePairs): |
+ (WebCore::Biquad::setAllpassPole): |
+ * platform/audio/Biquad.h: Added. |
+ (WebCore::Biquad::~Biquad): |
+ |
+2010-09-09 Chris Rogers <crogers@google.com> |
+ |
+ Reviewed by Kenneth Russell. |
+ |
+ Add AudioBuffer files |
+ https://bugs.webkit.org/show_bug.cgi?id=45003 |
+ |
+ No new tests since audio API is not yet implemented. |
+ |
+ * webaudio/AudioBuffer.cpp: Added. |
+ (WebCore::AudioBuffer::create): |
+ (WebCore::AudioBuffer::createFromAudioFileData): |
+ (WebCore::AudioBuffer::AudioBuffer): |
+ (WebCore::AudioBuffer::releaseMemory): |
+ (WebCore::AudioBuffer::getChannelData): |
+ (WebCore::AudioBuffer::zero): |
+ * webaudio/AudioBuffer.h: Added. |
+ (WebCore::AudioBuffer::length): |
+ (WebCore::AudioBuffer::duration): |
+ (WebCore::AudioBuffer::sampleRate): |
+ (WebCore::AudioBuffer::numberOfChannels): |
+ (WebCore::AudioBuffer::gain): |
+ (WebCore::AudioBuffer::setGain): |
+ * webaudio/AudioBuffer.idl: Added. |
+ |
+2010-09-09 Alexey Marinichev <amarinichev@chromium.org> |
+ |
+ Reviewed by James Robinson. |
+ |
+ [chromium] Disable subpixel rendering in Linux when GPU compositor is active |
+ https://bugs.webkit.org/show_bug.cgi?id=45087 |
+ |
+ Covered by all tests that activate the compositor and contain text. |
+ |
+ * platform/graphics/chromium/ContentLayerChromium.cpp: |
+ (WebCore::ContentLayerChromium::updateContents): |
+ * platform/graphics/chromium/FontLinux.cpp: |
+ (WebCore::adjustTextRenderMode): Added a check to see if the compositor is active. |
+ (WebCore::Font::drawGlyphs): |
+ (WebCore::Font::drawComplexText): |
+ * platform/graphics/chromium/LayerRendererChromium.cpp: |
+ (WebCore::LayerRendererChromium::setRootLayerCanvasSize): |
+ * platform/graphics/chromium/VideoLayerChromium.cpp: |
+ (WebCore::VideoLayerChromium::updateContents): |
+ * platform/graphics/skia/ImageBufferSkia.cpp: |
+ (WebCore::ImageBuffer::ImageBuffer): |
+ (WebCore::ImageBuffer::clip): |
+ * platform/graphics/skia/PlatformContextSkia.cpp: |
+ Made setDrawingToImageBuffer and isDrawingToImageBuffer available to |
+ Linux; removed all #if OS(WINDOWS) || OS(LINUX). |
+ (WebCore::PlatformContextSkia::State::State): |
+ (WebCore::PlatformContextSkia::PlatformContextSkia): |
+ (WebCore::PlatformContextSkia::isDrawingToImageBuffer): |
+ (WebCore::PlatformContextSkia::save): |
+ (WebCore::PlatformContextSkia::beginLayerClippedToImage): |
+ (WebCore::PlatformContextSkia::restore): |
+ (WebCore::PlatformContextSkia::applyClipFromImage): |
+ * platform/graphics/skia/PlatformContextSkia.h: |
+ |
+2010-09-09 Simon Fraser <simon.fraser@apple.com> |
+ |
+ Fix windows build by adding missing file. |
+ |
+ * platform/graphics/win/LocalWindowsContext.h: Added. |
+ (WebCore::LocalWindowsContext::LocalWindowsContext): |
+ (WebCore::LocalWindowsContext::~LocalWindowsContext): |
+ (WebCore::LocalWindowsContext::hdc): |
+ |
+2010-09-09 Simon Fraser <simon.fraser@apple.com> |
+ |
+ Reviewed by Adam Roben. |
+ |
+ Scrollbars fail to render in composited iframes. |
+ https://bugs.webkit.org/show_bug.cgi?id=45335 |
+ |
+ Add a stack-based class, LocalWindowsContext, which does a getWindowsContext/ |
+ releaseWindowsContext automatically. |
+ |
+ Also fix getWindowsContext to create a bitmap context if mayCreateBitmap |
+ is true, and if the context's HDC is null. This fixes scrollbar rendering |
+ in compositing layers. |
+ |
+ Use LocalWindowsContext in places where we had bare getWindowsContext() calls. |
+ |
+ * platform/graphics/win/LocalWindowsContext.h |
+ (WebCore::LocalWindowsContext::LocalWindowsContext): |
+ (WebCore::LocalWindowsContext::~LocalWindowsContext): |
+ (WebCore::LocalWindowsContext::hdc): |
+ * platform/graphics/win/GraphicsContextCGWin.cpp: |
+ (WebCore::GraphicsContext::releaseWindowsContext): |
+ * platform/graphics/win/GraphicsContextWin.cpp: |
+ (WebCore::GraphicsContext::getWindowsContext): |
+ * platform/graphics/win/IconWin.cpp: |
+ (WebCore::Icon::paint): |
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: |
+ (WebCore::MediaPlayerPrivate::paint): |
+ * platform/win/ScrollbarThemeWin.cpp: |
+ (WebCore::ScrollbarThemeWin::paintTrackPiece): |
+ (WebCore::ScrollbarThemeWin::paintButton): |
+ * plugins/win/PluginViewWin.cpp: |
+ (WebCore::PluginView::paintWindowedPluginIntoContext): |
+ (WebCore::PluginView::paint): |
+ * rendering/RenderThemeWin.cpp: |
+ (WebCore::drawControl): |
+ |
+2010-09-09 Vincent Scheib <scheib@chromium.org> |
+ |
+ Reviewed by James Robinson. |
+ |
+ [Chromium] Minimize uploads in canvas 2d mixed mode rendering |
+ https://bugs.webkit.org/show_bug.cgi?id=45476 |
+ |
+ No new tests - change is for performance, logic fixes only apparent when running hardware acceleration. |
+ |
+ - Enumeration values fixed, "CavasWillDraw" -> "CanvasDidDraw". |
+ - markDirtyRect() plumbed through GraphicsContext to PlatformContextSkia. |
+ - Texture::updateSubRect() added to allow uploading only a dirty rect. |
+ - Logic fix in ImageBuffer::draw(), caused canvas to canvas copies to be incorrect. |
+ |
+ * html/canvas/CanvasRenderingContext2D.cpp: |
+ (WebCore::CanvasRenderingContext2D::setAllAttributesToDefault): |
+ (WebCore::CanvasRenderingContext2D::strokeRect): |
+ (WebCore::CanvasRenderingContext2D::drawImage): |
+ (WebCore::CanvasRenderingContext2D::didDraw): |
+ - Logic fix for drawingContext()->markDirtyRect() call. |
+ (WebCore::CanvasRenderingContext2D::putImageData): |
+ (WebCore::CanvasRenderingContext2D::drawTextInternal): |
+ - Logic fix for calls to "didDraw()", use peer method first. |
+ * html/canvas/CanvasRenderingContext2D.h: |
+ * platform/graphics/GraphicsContext.cpp: |
+ (WebCore::GraphicsContext::drawImageBuffer): |
+ (WebCore::GraphicsContext::markDirtyRect): |
+ * platform/graphics/GraphicsContext.h: |
+ * platform/graphics/gpu/Texture.cpp: |
+ (WebCore::Texture::create): |
+ (WebCore::Texture::load): |
+ (WebCore::Texture::updateSubRect): |
+ * platform/graphics/gpu/Texture.h: |
+ * platform/graphics/gpu/TilingData.h: |
+ (WebCore::TilingData::borderTexels): |
+ * platform/graphics/skia/GraphicsContextSkia.cpp: |
+ (WebCore::GraphicsContext::clipConvexPolygon): |
+ (WebCore::GraphicsContext::markDirtyRect): |
+ * platform/graphics/skia/ImageBufferSkia.cpp: |
+ (WebCore::ImageBuffer::draw): |
+ * platform/graphics/skia/PlatformContextSkia.cpp: |
+ (WebCore::PlatformContextSkia::State::cloneInheritedProperties): |
+ (WebCore::PlatformContextSkia::drawRect): |
+ (WebCore::PlatformContextSkia::setFillColor): |
+ (WebCore::PlatformContextSkia::setStrokeColor): |
+ (WebCore::PlatformContextSkia::markDirtyRect): |
+ (WebCore::PlatformContextSkia::uploadSoftwareToHardware): |
+ * platform/graphics/skia/PlatformContextSkia.h: |
+ |
+2010-09-08 Darin Adler <darin@apple.com> |
+ |
+ Reviewed by Adam Barth. |
+ |
+ Move functions from Frame to Editor as planned |
+ https://bugs.webkit.org/show_bug.cgi?id=45218 |
+ |
+ Just executing the plan that has long been described in Frame.h |
+ to move a bunch of functions to Editor. |
+ |
+ * WebCore.exp.in: Updated. |
+ |
+ * editing/Editor.cpp: |
+ (WebCore::Editor::fontForSelection): |
+ (WebCore::Editor::textDirectionForSelection): |
+ (WebCore::Editor::applyStyle): |
+ (WebCore::Editor::selectionStartHasStyle): |
+ (WebCore::Editor::selectionHasStyle): |
+ (WebCore::Editor::selectionStartCSSPropertyValue): |
+ (WebCore::Editor::Editor): |
+ (WebCore::Editor::cut): |
+ (WebCore::Editor::copy): |
+ (WebCore::Editor::ignoreSpelling): |
+ (WebCore::Editor::learnSpelling): |
+ (WebCore::Editor::isSelectionMisspelled): |
+ (WebCore::Editor::guessesForMisspelledSelection): |
+ (WebCore::Editor::selectedText): |
+ (WebCore::Editor::firstRectForRange): |
+ (WebCore::Editor::shouldChangeSelection): |
+ (WebCore::Editor::computeAndSetTypingStyle): |
+ (WebCore::Editor::selectionComputedStyle): |
+ (WebCore::Editor::textFieldDidBeginEditing): |
+ (WebCore::Editor::textFieldDidEndEditing): |
+ (WebCore::Editor::textDidChangeInTextField): |
+ (WebCore::Editor::doTextFieldCommandFromEvent): |
+ (WebCore::Editor::textWillBeDeletedInTextField): |
+ (WebCore::Editor::textDidChangeInTextArea): |
+ (WebCore::Editor::applyEditingStyleToBodyElement): |
+ (WebCore::Editor::applyEditingStyleToElement): |
+ (WebCore::Editor::styleForSelectionStart): |
+ (WebCore::Editor::findString): |
+ (WebCore::Editor::countMatchesForText): |
+ (WebCore::Editor::setMarkedTextMatchesAreHighlighted): |
+ (WebCore::Editor::respondToChangedSelection): |
+ * editing/Editor.h: |
+ * editing/mac/EditorMac.mm: |
+ (WebCore::Editor::fontAttributesForSelectionStart): |
+ (WebCore::Editor::baseWritingDirectionForSelectionStart): |
+ Moved functions here. |
+ |
+ * page/Frame.cpp: |
+ (WebCore::Frame::Frame): |
+ (WebCore::Frame::shouldChangeSelection): |
+ * page/Frame.h: |
+ * page/mac/FrameMac.mm: |
+ Moved functions out of here. |
+ |
+ * dom/InputElement.cpp: |
+ (WebCore::InputElement::dispatchBlurEvent): |
+ (WebCore::InputElement::aboutToUnload): |
+ * editing/DeleteSelectionCommand.cpp: |
+ (WebCore::DeleteSelectionCommand::doApply): |
+ * editing/EditorCommand.cpp: |
+ (WebCore::executeToggleStyleInList): |
+ (WebCore::executeDeleteToMark): |
+ (WebCore::executeFindString): |
+ (WebCore::executeSelectToMark): |
+ (WebCore::executeSetMark): |
+ (WebCore::executeSwapWithMark): |
+ (WebCore::enabledVisibleSelectionAndMark): |
+ * editing/SelectionController.cpp: |
+ (WebCore::SelectionController::setSelection): |
+ * html/HTMLInputElement.cpp: |
+ (WebCore::HTMLInputElement::defaultEventHandler): |
+ * page/ContextMenuController.cpp: |
+ (WebCore::ContextMenuController::contextMenuItemSelected): |
+ * page/DOMWindow.cpp: |
+ (WebCore::DOMWindow::find): |
+ * page/DragController.cpp: |
+ (WebCore::DragController::startDrag): |
+ * page/EventHandler.cpp: |
+ (WebCore::EventHandler::sendContextMenuEventForKey): |
+ * page/Page.cpp: |
+ (WebCore::Page::findString): |
+ (WebCore::Page::markAllMatchesForText): |
+ * rendering/InlineTextBox.cpp: |
+ (WebCore::InlineTextBox::paintTextMatchMarker): |
+ * rendering/RenderTextControlMultiLine.cpp: |
+ (WebCore::RenderTextControlMultiLine::subtreeHasChanged): |
+ * rendering/RenderTextControlSingleLine.cpp: |
+ (WebCore::RenderTextControlSingleLine::subtreeHasChanged): |
+ Changed call sites to use editor(). |
+ |
+2010-09-09 Chris Rogers <crogers@google.com> |
+ |
+ Reviewed by Kenneth Russell. |
+ |
+ Add AudioDSPKernelProcessor files |
+ https://bugs.webkit.org/show_bug.cgi?id=45211 |
+ |
+ No new tests since audio API is not yet implemented. |
+ |
+ * platform/audio/AudioDSPKernelProcessor.cpp: Added. |
+ (WebCore::AudioDSPKernelProcessor::AudioDSPKernelProcessor): |
+ (WebCore::AudioDSPKernelProcessor::initialize): |
+ (WebCore::AudioDSPKernelProcessor::uninitialize): |
+ (WebCore::AudioDSPKernelProcessor::process): |
+ (WebCore::AudioDSPKernelProcessor::reset): |
+ (WebCore::AudioDSPKernelProcessor::setNumberOfChannels): |
+ * platform/audio/AudioDSPKernelProcessor.h: Added. |
+ (WebCore::AudioDSPKernelProcessor::numberOfChannels): |
+ |
+2010-09-09 Chris Rogers <crogers@google.com> |
+ |
+ Reviewed by Kenneth Russell. |
+ |
+ Add setRange() and zeroRange() methods to TypedArrayBase |
+ https://bugs.webkit.org/show_bug.cgi?id=45419 |
+ |
+ No new tests since adding new methods which are not yet called anywhere. |
+ |
+ * html/canvas/ArrayBufferView.cpp: |
+ (WebCore::ArrayBufferView::setRangeImpl): |
+ (WebCore::ArrayBufferView::zeroRangeImpl): |
+ * html/canvas/ArrayBufferView.h: |
+ * html/canvas/TypedArrayBase.h: |
+ (WebCore::TypedArrayBase::setRange): |
+ (WebCore::TypedArrayBase::zeroRange): |
+ |
+2010-09-09 Robert Hogan <robert@webkit.org> |
+ |
+ Reviewed by Andreas Kling. |
+ |
+ [Qt] always send an Accept header |
+ |
+ Ensure QtWebKit always sends an Accept header. This is required |
+ for compatibility with sites that expect the header in requests |
+ for subresources. |
+ |
+ See https://bugs.webkit.org/show_bug.cgi?id=33242 for more. |
+ |
+ https://bugs.webkit.org/show_bug.cgi?id=45458 |
+ |
+ * platform/network/qt/ResourceRequestQt.cpp: |
+ (WebCore::ResourceRequest::toNetworkRequest): |
+ |
+2010-09-09 Eric Carlson <eric.carlson@apple.com> |
+ |
+ Reviewed by Chris Marrin. |
+ |
+ Add media element logging |
+ https://bugs.webkit.org/show_bug.cgi?id=45469 |
+ |
+ Add logging at interesting points in a media element's lifecycle. |
+ |
+ * html/HTMLMediaElement.cpp: |
+ (WebCore::urlForLogging): |
+ (WebCore::boolString): |
+ (WebCore::HTMLMediaElement::scheduleEvent): |
+ (WebCore::HTMLMediaElement::asyncEventTimerFired): |
+ (WebCore::HTMLMediaElement::canPlayType): |
+ (WebCore::HTMLMediaElement::load): |
+ (WebCore::HTMLMediaElement::prepareForLoad): |
+ (WebCore::HTMLMediaElement::selectMediaResource): |
+ (WebCore::HTMLMediaElement::loadResource): |
+ (WebCore::HTMLMediaElement::isSafeToLoadURL): |
+ (WebCore::HTMLMediaElement::waitForSourceChange): |
+ (WebCore::HTMLMediaElement::noneSupported): |
+ (WebCore::HTMLMediaElement::mediaEngineError): |
+ (WebCore::HTMLMediaElement::cancelPendingEventsAndCallbacks): |
+ (WebCore::HTMLMediaElement::setNetworkState): |
+ (WebCore::HTMLMediaElement::setReadyState): |
+ (WebCore::HTMLMediaElement::rewind): |
+ (WebCore::HTMLMediaElement::returnToRealtime): |
+ (WebCore::HTMLMediaElement::addPlayedRange): |
+ (WebCore::HTMLMediaElement::seek): |
+ (WebCore::HTMLMediaElement::finishSeek): |
+ (WebCore::HTMLMediaElement::setPlaybackRate): |
+ (WebCore::HTMLMediaElement::setWebkitPreservesPitch): |
+ (WebCore::HTMLMediaElement::setAutoplay): |
+ (WebCore::HTMLMediaElement::setPreload): |
+ (WebCore::HTMLMediaElement::play): |
+ (WebCore::HTMLMediaElement::playInternal): |
+ (WebCore::HTMLMediaElement::pause): |
+ (WebCore::HTMLMediaElement::pauseInternal): |
+ (WebCore::HTMLMediaElement::setLoop): |
+ (WebCore::HTMLMediaElement::setControls): |
+ (WebCore::HTMLMediaElement::setVolume): |
+ (WebCore::HTMLMediaElement::setMuted): |
+ (WebCore::HTMLMediaElement::togglePlayState): |
+ (WebCore::HTMLMediaElement::beginScrubbing): |
+ (WebCore::HTMLMediaElement::endScrubbing): |
+ (WebCore::HTMLMediaElement::selectNextSourceChild): |
+ (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): |
+ (WebCore::HTMLMediaElement::mediaPlayerVolumeChanged): |
+ (WebCore::HTMLMediaElement::mediaPlayerMuteChanged): |
+ (WebCore::HTMLMediaElement::mediaPlayerDurationChanged): |
+ (WebCore::HTMLMediaElement::mediaPlayerRateChanged): |
+ (WebCore::HTMLMediaElement::mediaPlayerPlaybackStateChanged): |
+ (WebCore::HTMLMediaElement::mediaPlayerSawUnsupportedTracks): |
+ (WebCore::HTMLMediaElement::mediaPlayerSizeChanged): |
+ (WebCore::HTMLMediaElement::mediaPlayerRenderingModeChanged): |
+ (WebCore::HTMLMediaElement::updatePlayState): |
+ (WebCore::HTMLMediaElement::userCancelledLoad): |
+ (WebCore::HTMLMediaElement::stop): |
+ (WebCore::HTMLMediaElement::suspend): |
+ (WebCore::HTMLMediaElement::resume): |
+ (WebCore::HTMLMediaElement::hasPendingActivity): |
+ (WebCore::HTMLMediaElement::mediaVolumeDidChange): |
+ (WebCore::HTMLMediaElement::createMediaPlayerProxy): |
+ (WebCore::HTMLMediaElement::enterFullscreen): |
+ (WebCore::HTMLMediaElement::exitFullscreen): |
+ (WebCore::HTMLMediaElement::setClosedCaptionsVisible): |
+ (WebCore::HTMLMediaElement::mediaCanStart): |
+ (WebCore::HTMLMediaElement::setShouldDelayLoadEvent): |
+ |
+2010-09-09 Anton Muhin <antonm@chromium.org> |
+ |
+ Reviewed by Adam Barth. |
+ |
+ [v8] bypass caches when query memory usage from post GC and in crash handler. |
+ https://bugs.webkit.org/show_bug.cgi?id=45036 |
+ |
+ Second part of the whole change: now use API introduced in |
+ http://trac.webkit.org/changeset/66818 and now backed by Chromium. |
+ |
+ * bindings/v8/V8DOMWindowShell.cpp: |
+ (WebCore::reportFatalErrorInV8): |
+ * bindings/v8/V8GCController.cpp: |
+ (WebCore::V8GCController::gcEpilogue): |
+ |
+2010-09-09 Kwang Yul Seo <skyul@company100.net> |
+ |
+ Reviewed by James Robinson. |
+ |
+ Make sure skia is not Chromium specific |
+ https://bugs.webkit.org/show_bug.cgi?id=39672 |
+ |
+ FontCustomPlatformData is not Chromium-specific. Move it to platform/skia. |
+ |
+ No new tests because this is pure refactoring. |
+ |
+ * WebCore.gyp/WebCore.gyp: |
+ * WebCore.gypi: |
+ * platform/graphics/chromium/FontCustomPlatformData.cpp: Removed. |
+ * platform/graphics/chromium/FontCustomPlatformData.h: Removed. |
+ * platform/graphics/skia/FontCustomPlatformData.cpp: Copied from WebCore/platform/graphics/chromium/FontCustomPlatformData.cpp. |
+ * platform/graphics/skia/FontCustomPlatformData.h: Copied from WebCore/platform/graphics/chromium/FontCustomPlatformData.h. |
+ |
+2010-09-09 Chris Rogers <crogers@google.com> |
+ |
+ Reviewed by Chris Fleizach. |
+ |
+ Add AudioDSPKernel files |
+ https://bugs.webkit.org/show_bug.cgi?id=45319 |
+ |
+ No new tests since audio API is not yet implemented. |
+ |
+ * platform/audio/AudioDSPKernel.h: Added. |
+ (WebCore::AudioDSPKernel::AudioDSPKernel): |
+ (WebCore::AudioDSPKernel::~AudioDSPKernel): |
+ (WebCore::AudioDSPKernel::sampleRate): |
+ (WebCore::AudioDSPKernel::nyquist): |
+ (WebCore::AudioDSPKernel::processor): |
+ |
+2010-09-09 Chris Rogers <crogers@google.com> |
+ |
+ Reviewed by Chris Fleizach. |
+ |
+ Add AudioProcessor.h |
+ https://bugs.webkit.org/show_bug.cgi?id=45206 |
+ |
+ No new tests since audio API is not yet implemented. |
+ |
+ * platform/audio/AudioProcessor.h: Added. |
+ (WebCore::AudioProcessor::AudioProcessor): |
+ (WebCore::AudioProcessor::~AudioProcessor): |
+ (WebCore::AudioProcessor::isInitialized): |
+ (WebCore::AudioProcessor::sampleRate): |
+ |
+2010-09-09 Kenneth Russell <kbr@google.com> |
+ |
+ Reviewed by James Robinson. |
+ |
+ Add cubic texture coordinate computation |
+ https://bugs.webkit.org/show_bug.cgi?id=45250 |
+ |
+ Adding the texture coordinate computation for cubic curves per the |
+ GPU Gems 3 chapter. No tests yet; will be tested in conjunction |
+ with later code. |
+ |
+ * platform/graphics/gpu/LoopBlinnConstants.h: Added. |
+ * platform/graphics/gpu/LoopBlinnTextureCoords.cpp: Added. |
+ (WebCore::LoopBlinnTextureCoords::compute): |
+ * platform/graphics/gpu/LoopBlinnTextureCoords.h: Added. |
+ (WebCore::LoopBlinnTextureCoords::Result::Result): |
+ (WebCore::LoopBlinnTextureCoords::LoopBlinnTextureCoords): |
+ |
+2010-09-09 Kenneth Russell <kbr@google.com> |
+ |
+ Reviewed by James Robinson. |
+ |
+ Add cubic curve classifier |
+ https://bugs.webkit.org/show_bug.cgi?id=45249 |
+ |
+ Adding the cubic curve classification algorithm per the GPU Gems 3 |
+ chapter. No tests yet; will be tested in conjunction with later code. |
+ |
+ * platform/graphics/gpu/LoopBlinnClassifier.cpp: Added. |
+ (WebCore::LoopBlinnClassifier::classify): |
+ * platform/graphics/gpu/LoopBlinnClassifier.h: Added. |
+ (WebCore::LoopBlinnClassifier::Result::Result): |
+ (WebCore::LoopBlinnClassifier::LoopBlinnClassifier): |
+ |
+2010-09-09 Ryosuke Niwa <rniwa@webkit.org> |
+ |
+ Reviewed by Darin Adler. |
+ |
+ QueryCommandValue('FontSize') returns pixel values instead of IE font numbers |
+ https://bugs.webkit.org/show_bug.cgi?id=21033 |
+ |
+ Modified selectionStartCSSPropertyValue to return legacy font size instead of pixel size. |
+ To implement the conversion between pixel font size and legacy font size, |
+ added legacyFontSize to CSSStyleSelector with a helper static function findNearestLegacyFontSize. |
+ |
+ Fixed a bug in selectionComputedStyle where it obtains the style of the previous editing position |
+ even when the selection is a range. This change revealed a crash in executeToggleStyleInList, |
+ which was also fixed. |
+ |
+ Test: editing/execCommand/query-font-size.html |
+ |
+ * css/CSSComputedStyleDeclaration.cpp: |
+ (WebCore::CSSComputedStyleDeclaration::getFontSizeCSSValuePreferringKeyword): Corrected style. |
+ (WebCore::CSSComputedStyleDeclaration::useFixedFontDefaultSize): Added. |
+ * css/CSSComputedStyleDeclaration.h: |
+ * css/CSSStyleSelector.cpp: |
+ (WebCore::CSSStyleSelector::fontSizeForKeyword): Renamed fixed/monospace to shouldUseFixedDefaultSize. |
+ (WebCore::findNearestLegacyFontSize): Added, a helper for legacyFontSize. |
+ (WebCore::CSSStyleSelector::legacyFontSize): Added. |
+ * css/CSSStyleSelector.h: |
+ * editing/Editor.cpp: |
+ (WebCore::Editor::selectionStartCSSPropertyValue): Added a conversion from pixel to legacy font size. |
+ * editing/EditorCommand.cpp: |
+ (WebCore::executeToggleStyleInList): Crash fix. |
+ * page/Frame.cpp: |
+ (WebCore::Frame::selectionComputedStyle): See above. |
+ |
+2010-09-09 Robert Hogan <robert@webkit.org> |
+ |
+ Reviewed by Adam Barth. |
+ |
+ Give WebKit clients a way to replace window.screen |
+ to foil attempts to track users with it. |
+ |
+ This allows clients to overload the values returned by the |
+ Screen object through the JSC manipulation API (such as |
+ QWebFrame::addToJavaScriptWindowObject() in Qt). Clients will |
+ want to do this when they do not want to reveal too much |
+ explicit information about the user's desktop configuration. |
+ |
+ https://bugs.webkit.org/show_bug.cgi?id=41802 |
+ |
+ * page/DOMWindow.idl: |
+ |
+2010-09-09 Kenneth Russell <kbr@google.com> |
+ |
+ Reviewed by James Robinson. |
+ |
+ Memory leak in red/black tree |
+ https://bugs.webkit.org/show_bug.cgi?id=45472 |
+ |
+ Fixed memory leak in red/black tree where it was using operator |
+ new directly to allocate its internal nodes rather than the arena |
+ with which it was configured. Added allocateObject variant to |
+ arena supporting single-argument constructors. Added test to |
+ red/black tree unit tests to cover this functionality, and |
+ refactored TrackedAllocator into helper file to share between |
+ arena and red/black tree tests. |
+ |
+ * platform/graphics/gpu/PODArena.h: |
+ (WebCore::PODArena::allocateObject): |
+ (WebCore::PODArena::allocateBase): |
+ * platform/graphics/gpu/PODIntervalTree.h: |
+ (WebCore::PODIntervalTree::PODIntervalTree): |
+ * platform/graphics/gpu/PODRedBlackTree.h: |
+ (WebCore::PODRedBlackTree::add): |
+ |
+2010-09-09 Dean Jackson <dino@apple.com> |
+ |
+ Reviewed by Simon Fraser. |
+ |
+ Fill mode is broken with multiple keyframes |
+ https://bugs.webkit.org/show_bug.cgi?id=41209 |
+ |
+ With a forward fill mode the animation would tick after |
+ the end of the animation, causing the fractional |
+ duration of the animation to wrap. This meant the last |
+ style update would happen using the incorrect keyframes. |
+ The solution was to put clamps in for the elapsed time |
+ and current iteration count. |
+ |
+ Tests: animations/fill-mode-missing-from-to-keyframes.html |
+ animations/fill-mode-multiple-keyframes.html |
+ |
+ * page/animation/KeyframeAnimation.cpp: |
+ (WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty): |
+ |
+2010-09-09 Chris Fleizach <cfleizach@apple.com> |
+ |
+ Reviewed by David Kilzer. |
+ |
+ AX: Support AccessibilityTextMarkers in DRT |
+ https://bugs.webkit.org/show_bug.cgi?id=44778 |
+ |
+ Provide support in DRT for accessing and manipulating the text marker system that AX exposes. |
+ This will allow future bug fixes in the text marker system to be adequately tested. |
+ |
+ Tests: platform/mac/accessibility/element-for-text-marker.html |
+ platform/mac/accessibility/text-marker-length.html |
+ |
+ * accessibility/mac/AccessibilityObjectWrapper.mm: |
+ (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): |
+ |
+2010-09-09 Simon Fraser <simon.fraser@apple.com> |
+ |
+ Reviewed by Dan Bernstein. |
+ |
+ REGRESSION(r58875-r59046): Scrollable content drawn in wrong layer with Flash 10.1 |
+ https://bugs.webkit.org/show_bug.cgi?id=40743 |
+ |
+ We can't do partial compositing layer updates on scrolling if we have to look |
+ for overlap, because the overlap map needs to be populated by traversing the |
+ compositing layer hierarchy from the root. |
+ |
+ Test: compositing/layer-creation/scroll-partial-update.html |
+ |
+ * rendering/RenderLayerCompositor.cpp: |
+ (WebCore::RenderLayerCompositor::updateCompositingLayers): |
+ |
+2010-09-09 Philippe Normand <pnormand@igalia.com> |
+ |
+ Reviewed by Martin Robinson. |
+ |
+ [GTK] testmimehandling falsely succeeds testing Ogg mime type |
+ https://bugs.webkit.org/show_bug.cgi?id=45349 |
+ |
+ Advertize audio/x-vorbis+ogg so MediaDocuments loading local ogg |
+ files work as well. |
+ |
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: |
+ (WebCore::mimeTypeCache): |
+ |
+2010-09-09 Adam Barth <abarth@webkit.org> |
+ |
+ Move FTPDirectoryDocument, ImageDocument, MediaDocument, and |
+ PluginDocument from WebCore/loader to WebCore/html. These classes are |
+ subclasses of HTMLDocument. They don't belong in the loader. Further |
+ cleanup patches to follow. |
+ |
+ * Android.mk: |
+ * CMakeLists.txt: |
+ * GNUmakefile.am: |
+ * WebCore.gypi: |
+ * WebCore.pro: |
+ * WebCore.vcproj/WebCore.vcproj: |
+ * WebCore.xcodeproj/project.pbxproj: |
+ * html/FTPDirectoryDocument.cpp: Copied from WebCore/loader/FTPDirectoryDocument.cpp. |
+ * html/FTPDirectoryDocument.h: Copied from WebCore/loader/FTPDirectoryDocument.h. |
+ * html/ImageDocument.cpp: Copied from WebCore/loader/ImageDocument.cpp. |
+ * html/ImageDocument.h: Copied from WebCore/loader/ImageDocument.h. |
+ * html/MediaDocument.cpp: Copied from WebCore/loader/MediaDocument.cpp. |
+ * html/MediaDocument.h: Copied from WebCore/loader/MediaDocument.h. |
+ * html/PluginDocument.cpp: Copied from WebCore/loader/PluginDocument.cpp. |
+ * html/PluginDocument.h: Copied from WebCore/loader/PluginDocument.h. |
+ * loader/FTPDirectoryDocument.cpp: Removed. |
+ * loader/FTPDirectoryDocument.h: Removed. |
+ * loader/ImageDocument.cpp: Removed. |
+ * loader/ImageDocument.h: Removed. |
+ * loader/MediaDocument.cpp: Removed. |
+ * loader/MediaDocument.h: Removed. |
+ * loader/PluginDocument.cpp: Removed. |
+ * loader/PluginDocument.h: Removed. |
+ |
+2010-09-09 Andrey Kosyakov <caseq@chromium.org> |
+ |
+ Reviewed by Yury Semikhatsky. |
+ |
+ Web Inspector: use string representation of resource type in extension API |
+ Fixed Resoruce.Type.toString() to handle Resource.Type.Media. |
+ https://bugs.webkit.org/show_bug.cgi?id=45286 |
+ |
+ Test: inspector/extensions-resources.html |
+ |
+ * English.lproj/localizedStrings.js: Added "media". |
+ * inspector/front-end/ExtensionServer.js: Added webInspector.resources.Types. Return resource types as strings. |
+ (WebInspector.ExtensionServer.prototype._convertResource): |
+ (WebInspector.ExtensionServer.prototype._buildExtensionAPIInjectedScript): |
+ * inspector/front-end/Resource.js: Added toUIString(), changed toString() to return locale-independent representation. |
+ (WebInspector.Resource.Type.toUIString): |
+ (WebInspector.Resource.Type.toString): |
+ |
+2010-09-09 Kristian Amlie <kristian.amlie@nokia.com> |
+ |
+ Reviewed by Andreas Kling. |
+ |
+ [Qt] Fixed incorrect Symbian scoping. |
+ |
+ The missing install functionality is only true for mmp based systems. |
+ |
+ https://bugs.webkit.org/show_bug.cgi?id=45268 |
+ |
+ * WebCore.pro: |
+ |
+2010-09-09 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
+ |
+ Reviewed by Dirk Schulze. |
+ |
+ [WML] Add a parameter to fix build break. |
+ https://bugs.webkit.org/show_bug.cgi?id=45437 |
+ |
+ In WMLSelectElement.h, the setSelectedIndexByUser() needs to have one more parameter. |
+ Because, parent class's setSelectedIndexByUser() has one more param. |
+ |
+ * wml/WMLSelectElement.h: |
+ |
+2010-09-09 Ryuan Choi <ryuan.choi@samsung.com> |
+ |
+ Unreviewed attempt to fix EFL build after r67001. |
+ |
+ [EFL] Regression (67001) Build break |
+ https://bugs.webkit.org/show_bug.cgi?id=45422 |
+ |
+ * platform/efl/ScrollbarEfl.cpp: |
+ (scrollbarEflEdjeMessage): |
+ |
+2010-09-08 Ryosuke Niwa <rniwa@webkit.org> |
+ |
+ Reviewed by Tony Chang. |
+ |
+ MarkupAccumulator should be broken down into two classes |
+ https://bugs.webkit.org/show_bug.cgi?id=44854 |
+ |
+ Extracted wrapWithNode, wrapWithStyleNode, stringValueForRange, renderedText, removeExteriorStyles, |
+ shouldAnnotate, m_shouldAnnotate, and m_reversedPrecedingMarkup from MarkupAccumulator to create |
+ StyledMarkupAccumulator in order to isolate annotation related code and prepending of text. |
+ |
+ Isolating MarkupAccumulator as a separate class has two advantages: |
+ 1. Isolated serialization code is easier to understand and easier to security-review. |
+ 2. Embedder can use MarkupAccumulator to implement "Save as" feature. |
+ |
+ Also made takeResults, appendText, and appendElement in MarkupAccumulator virtual to override in |
+ StyledMarkupAccumulator because prepending text requires overriding takeResults, appendText needs |
+ to append only rendered text when shouldAnnotate() is true, and appendElement requires a different |
+ behavior when shouldAnnotate() is true or when called inside wrapWithNode with convertBlocksToInlines = true. |
+ |
+ No new tests are added since this is a cleanup. |
+ |
+ * editing/markup.cpp: |
+ (WebCore::MarkupAccumulator::MarkupAccumulator): Removed shouldAnnotate from argument. |
+ (WebCore::MarkupAccumulator::~MarkupAccumulator): Added. |
+ (WebCore::StyledMarkupAccumulator::): Added. |
+ (WebCore::StyledMarkupAccumulator::StyledMarkupAccumulator): Added. |
+ (WebCore::StyledMarkupAccumulator::appendElement): Added to support annotation. |
+ (WebCore::StyledMarkupAccumulator::shouldAnnotate): Moved from MarkupAccumulator. |
+ (WebCore::MarkupAccumulator::appendStartTag): No longer takes convertBlocksToInlines and RangeFullySelectsNode. |
+ (WebCore::StyledMarkupAccumulator::wrapWithStyleNode): Moved from MarkupAccumulator. |
+ (WebCore::MarkupAccumulator::takeResults): No longer accumulates prepended text, and made virtual. |
+ (WebCore::StyledMarkupAccumulator::takeResults): Added to support prepended text. |
+ (WebCore::MarkupAccumulator::shouldAddNamespaceAttribute): Takes a reference to Attribute instead of a pointer. |
+ (WebCore::MarkupAccumulator::entityMaskForText): Extracted from appendText. |
+ (WebCore::MarkupAccumulator::appendText): No longer deals with annotation. |
+ (WebCore::StyledMarkupAccumulator::appendText): Added to support annotation. |
+ (WebCore::StyledMarkupAccumulator::stringValueForRange): Moved from MarkupAccumulator. |
+ (WebCore::StyledMarkupAccumulator::renderedText): Moved from MarkupAccumulator. |
+ (WebCore::MarkupAccumulator::appendElement): No longer deals with annotation. |
+ (WebCore::StyledMarkupAccumulator::wrapWithNode): Moved from MarkupAccumulator. |
+ (WebCore::StyledMarkupAccumulator::removeExteriorStyles): Moved from MarkupAccumulator. |
+ (WebCore::MarkupAccumulator::appendOpenTag): Added. |
+ (WebCore::MarkupAccumulator::appendCloseTag): Added. |
+ (WebCore::MarkupAccumulator::appendAttribute): Added. |
+ (WebCore::MarkupAccumulator::appendStartMarkup): No longer takes convertBlocksToInlines and RangeFullySelectsNode. |
+ (WebCore::serializeNodes): Takes StyledMarkupAccumulator. |
+ (WebCore::createMarkup): Range version uses StyledMarkupAccumulator and node version uses MarkupAccumulator. |
+ |
2010-09-08 Peter Kasting <pkasting@google.com> |
Not reviewed, layout test fix. |
@@ -90,6 +2679,286 @@ |
(WebCore::ScrollAnimator::~ScrollAnimator): |
* platform/ScrollAnimator.h: |
+2010-09-08 MORITA Hajime <morrita@google.com> |
+ |
+ Reviewed by Tony Chang. |
+ |
+ spelling underline gets lost on backspace |
+ https://bugs.webkit.org/show_bug.cgi?id=41423 |
+ |
+ moveParagraphs() did make a DOM range by serializing source range |
+ and deserializing it back, and markers are gone during the process. |
+ This change marks that DOM range again. |
+ |
+ Test: editing/spelling/spelling-backspace-between-lines.html |
+ |
+ * editing/CompositeEditCommand.cpp: |
+ (WebCore::CompositeEditCommand::moveParagraphs): |
+ * editing/Editor.cpp: |
+ (WebCore::Editor::clearMisspellingsAndBadGrammar): Added. |
+ (WebCore::Editor::markMisspellingsAndBadGrammar): Added. |
+ * editing/Editor.h: |
+ |
+2010-09-08 Adam Barth <abarth@webkit.org> |
+ |
+ Reviewed by Eric Seidel. |
+ |
+ text/plain documents that start with \n trigger ASSERT |
+ https://bugs.webkit.org/show_bug.cgi?id=45409 |
+ |
+ Because the TextDocumentParser uses a <pre> element to show the text, |
+ it ran into a requirement from HTML5 to skip any initial \n character |
+ tokens inside a <pre> element. We don't want the behavior for |
+ TextDocuments, so I've loosened our ASSERTs and added a comment and a |
+ test to document the correct behavior. |
+ |
+ Test: fast/tokenizer/text-plain.html |
+ |
+ * html/parser/HTMLTokenizer.cpp: |
+ (WebCore::HTMLTokenizer::nextToken): |
+ |
+2010-09-08 James Robinson <jamesr@chromium.org> |
+ |
+ Reviewed by Kenneth Russell. |
+ |
+ [chromium] Always do 2d canvas clearRect() in hardware |
+ https://bugs.webkit.org/show_bug.cgi?id=45415 |
+ |
+ r67003 forced Canvas 2d's clearRect() to happen in software if a gradient/shadow/etc was |
+ active. This is subtly wrong for mixed mode rendering since it results in only the |
+ software backing store being cleared and not the hardware. This forces clearRect() to |
+ happen in hardware. Since we upload mixed mode results before doing any hardware draw |
+ this means we always clear everything. |
+ |
+ * platform/graphics/skia/GraphicsContextSkia.cpp: |
+ (WebCore::GraphicsContext::clearRect): |
+ |
+2010-09-08 Dean Jackson <dino@apple.com> |
+ |
+ Unreviewed attempt to fix the Mac builds. |
+ |
+ * css/CSSParser.cpp: |
+ (WebCore::CSSParser::parseAnimationTimingFunction): |
+ |
+2010-09-08 Dean Jackson <dino@apple.com> |
+ |
+ Unreviewed attempt to fix QT build. |
+ |
+ * platform/graphics/qt/GraphicsLayerQt.cpp: |
+ (WebCore::solveStepsFunction): |
+ (WebCore::applyTimingFunction): |
+ |
+2010-09-08 Dean Jackson <dino@apple.com> |
+ |
+ Reviewed by Simon Fraser. |
+ |
+ Implement steps() timing function for animations |
+ https://bugs.webkit.org/show_bug.cgi?id=44541 |
+ |
+ Tests: animations/timing-functions.html |
+ transitions/steps-timing-function.html |
+ |
+ * css/CSSComputedStyleDeclaration.cpp: |
+ (WebCore::getTimingFunctionValue): |
+ - when creating computed style we now test what |
+ type of timing function it being used |
+ * css/CSSParser.cpp: |
+ (WebCore::CSSParser::parseCubicBezierTimingFunctionValue): |
+ - rename this method from parseTimingFunctionValue |
+ (WebCore::CSSParser::parseAnimationTimingFunction): |
+ - support parsing the steps() function |
+ * css/CSSParser.h: |
+ - method rename |
+ * css/CSSStyleSelector.cpp: |
+ (WebCore::CSSStyleSelector::mapAnimationTimingFunction): |
+ - handle 'step-start' and 'step-end' identifiers. Also |
+ now use ::create when constructing objects |
+ * css/CSSTimingFunctionValue.cpp: |
+ (WebCore::CSSLinearTimingFunctionValue::cssText): |
+ (WebCore::CSSCubicBezierTimingFunctionValue::cssText): |
+ (WebCore::CSSStepsTimingFunctionValue::cssText): |
+ - new text output for computed style. We now produce |
+ the text 'linear' when appropriate. |
+ * css/CSSTimingFunctionValue.h: |
+ (WebCore::CSSTimingFunctionValue::isLinearTimingFunctionValue): |
+ (WebCore::CSSTimingFunctionValue::isCubicBezierTimingFunctionValue): |
+ (WebCore::CSSTimingFunctionValue::isStepsTimingFunctionValue): |
+ (WebCore::CSSTimingFunctionValue::CSSTimingFunctionValue): |
+ (WebCore::CSSTimingFunctionValue::isTimingFunctionValue): |
+ (WebCore::CSSLinearTimingFunctionValue::create): |
+ (WebCore::CSSLinearTimingFunctionValue::isLinearTimingFunctionValue): |
+ (WebCore::CSSLinearTimingFunctionValue::CSSLinearTimingFunctionValue): |
+ (WebCore::CSSCubicBezierTimingFunctionValue::create): |
+ (WebCore::CSSCubicBezierTimingFunctionValue::isCubicBezierTimingFunctionValue): |
+ (WebCore::CSSCubicBezierTimingFunctionValue::CSSCubicBezierTimingFunctionValue): |
+ (WebCore::CSSStepsTimingFunctionValue::create): |
+ (WebCore::CSSStepsTimingFunctionValue::numberOfSteps): |
+ (WebCore::CSSStepsTimingFunctionValue::stepAtStart): |
+ (WebCore::CSSStepsTimingFunctionValue::isStepsTimingFunctionValue): |
+ (WebCore::CSSStepsTimingFunctionValue::CSSStepsTimingFunctionValue): |
+ - CSSTimingFunction is now a pure virtual ref-counted base class, with |
+ subclasses for each of the three supported timing functions. |
+ * css/CSSValueKeywords.in: |
+ - new keywords step-start and step-end |
+ * page/animation/AnimationBase.cpp: |
+ (WebCore::solveStepsFunction): |
+ - produces the output value from a stepping function |
+ (WebCore::AnimationBase::progress): |
+ - now has to switch based on timing function type |
+ * page/animation/KeyframeAnimation.cpp: |
+ (WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty): |
+ - use ref-counted access |
+ * platform/animation/Animation.cpp: |
+ (WebCore::Animation::animationsMatch): |
+ - change timing function comparison for operator== |
+ * platform/animation/Animation.h: |
+ (WebCore::Animation::timingFunction): |
+ (WebCore::Animation::setTimingFunction): |
+ (WebCore::Animation::initialAnimationTimingFunction): |
+ - move to ref-counted timing function class |
+ * platform/animation/TimingFunction.h: |
+ (WebCore::TimingFunction::~TimingFunction): |
+ (WebCore::TimingFunction::isLinearTimingFunction): |
+ (WebCore::TimingFunction::isCubicBezierTimingFunction): |
+ (WebCore::TimingFunction::isStepsTimingFunction): |
+ (WebCore::TimingFunction::TimingFunction): |
+ (WebCore::LinearTimingFunction::create): |
+ (WebCore::LinearTimingFunction::~LinearTimingFunction): |
+ (WebCore::LinearTimingFunction::operator==): |
+ (WebCore::LinearTimingFunction::LinearTimingFunction): |
+ (WebCore::CubicBezierTimingFunction::create): |
+ (WebCore::CubicBezierTimingFunction::~CubicBezierTimingFunction): |
+ (WebCore::CubicBezierTimingFunction::operator==): |
+ (WebCore::CubicBezierTimingFunction::CubicBezierTimingFunction): |
+ (WebCore::StepsTimingFunction::create): |
+ (WebCore::StepsTimingFunction::~StepsTimingFunction): |
+ (WebCore::StepsTimingFunction::operator==): |
+ (WebCore::StepsTimingFunction::numberOfSteps): |
+ (WebCore::StepsTimingFunction::stepAtStart): |
+ (WebCore::StepsTimingFunction::StepsTimingFunction): |
+ - TimingFunction is now a ref-counted pure virtual base class, |
+ with three subclasses representing the types of timing functions |
+ that are supported. |
+ * platform/graphics/GraphicsLayer.h: |
+ (WebCore::AnimationValue::AnimationValue): |
+ (WebCore::FloatAnimationValue::FloatAnimationValue): |
+ (WebCore::TransformAnimationValue::TransformAnimationValue): |
+ - use PassRefPtr in function parameters |
+ * platform/graphics/qt/GraphicsLayerQt.cpp: |
+ (WebCore::solveStepsFunction): |
+ (WebCore::applyTimingFunction): |
+ (WebCore::AnimationQt::AnimationQt): |
+ (WebCore::AnimationQt::updateCurrentTime): |
+ - implement the timing function switch for QT |
+ * platform/graphics/mac/GraphicsLayerCA.mm: |
+ (WebCore::getCAMediaTimingFunction): |
+ - update for new timing function interface |
+ (WebCore::animationHasStepsTimingFunction): |
+ - new method to make sure animations with steps() functions |
+ never try to execute in Core Animation |
+ (WebCore::GraphicsLayerCA::addAnimation): |
+ - test for steps() timing function |
+ (WebCore::GraphicsLayerCA::timingFunctionForAnimationValue): |
+ * rendering/style/RenderStyleConstants.h: |
+ - remove old RenderStyle enum for timing function types |
+ |
+2010-09-08 Csaba Osztrogonác <ossy@webkit.org> |
+ |
+ Unreviewed trivial fix after r66960. |
+ |
+ * WebCore.pro: loader/TextDocument.h renamed to html/TextDocument.h |
+ |
+2010-09-08 Adam Barth <abarth@webkit.org> |
+ |
+ Reviewed by Eric Seidel. |
+ |
+ move-during-parse-parent.html crashes |
+ https://bugs.webkit.org/show_bug.cgi?id=45210 |
+ |
+ When inserting elements into the tree, they need to be associated with |
+ their parent's document, not the document for which the parser is |
+ running. These two are different when the parent has been moved to a |
+ different document during parsing. |
+ |
+ Test: fast/parser/move-during-parsing.html |
+ |
+ * html/parser/HTMLConstructionSite.cpp: |
+ (WebCore::HTMLConstructionSite::insertComment): |
+ (WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement): |
+ (WebCore::HTMLConstructionSite::insertScriptElement): |
+ (WebCore::HTMLConstructionSite::insertTextNode): |
+ (WebCore::HTMLConstructionSite::createElement): |
+ (WebCore::HTMLConstructionSite::createHTMLElement): |
+ |
+2010-09-08 Gabor Loki <loki@webkit.org> |
+ |
+ Reviewed by Andreas Kling. |
+ |
+ Fix increases required alignment of target type warning on ARM |
+ https://bugs.webkit.org/show_bug.cgi?id=45301 |
+ |
+ No new tests needed. |
+ |
+ * bindings/js/SerializedScriptValue.cpp: |
+ (WebCore::CloneDeserializer::readLittleEndian): |
+ (WebCore::CloneDeserializer::readString): |
+ * plugins/PluginDatabase.cpp: |
+ (WebCore::readTime): |
+ |
+2010-09-08 Antonio Gomes <agomes@rim.com> |
+ |
+ Reviewed by Daniel Bates. |
+ |
+ Make FocusController::focusedOrMainFrame method const |
+ https://bugs.webkit.org/show_bug.cgi?id=45406 |
+ |
+ No new tests. |
+ |
+ * page/FocusController.cpp: |
+ (WebCore::FocusController::focusedOrMainFrame): |
+ * page/FocusController.h: |
+ |
+2010-09-08 Jian Li <jianli@chromium.org> |
+ |
+ Reviewed by Darin Adler. |
+ |
+ Fix a problem in createCanonicalUUIDString that causes the last digit |
+ missing on Linux. |
+ https://bugs.webkit.org/show_bug.cgi?id=45412 |
+ |
+ This is caused by not including the final null character into the count |
+ that is provided to fgets. |
+ |
+ This is covered by the existing test: send-form-data-with-sliced-file.html. |
+ |
+ * platform/UUID.cpp: |
+ (WebCore::createCanonicalUUIDString): |
+ |
+2010-09-08 Nico Weber <thakis@chromium.org> |
+ |
+ Reviewed by Dimitri Glazkov. |
+ |
+ chromium/mac: Fix overrelease in ImageLayerChromium |
+ https://bugs.webkit.org/show_bug.cgi?id=45360 |
+ |
+ Only release colorSpace if we created it. |
+ |
+ * platform/graphics/chromium/ImageLayerChromium.cpp: |
+ (WebCore::ImageLayerChromium::updateContents): |
+ |
+2010-09-08 Robert Hogan <robert@webkit.org> |
+ |
+ Reviewed by Antonio Gomes. |
+ |
+ Remove some unnecessary duplicate calls to string functions |
+ |
+ https://bugs.webkit.org/show_bug.cgi?id=45314 |
+ |
+ * platform/network/curl/ResourceHandleManager.cpp: |
+ (WebCore::parseDataUrl): |
+ * websockets/WebSocketChannel.cpp: |
+ (WebCore::WebSocketChannel::send): |
+ |
2010-09-08 Peter Kasting <pkasting@google.com> |
Not reviewed, fallout from http://trac.webkit.org/changeset/67001 |
@@ -102,6 +2971,37 @@ |
(WebCore::PopupMenuWin::scrollToRevealSelection): |
(WebCore::PopupMenuWin::scrollSize): |
+2010-09-08 James Robinson <jamesr@chromium.org> |
+ |
+ Reviewed by Kenneth Russell. |
+ |
+ [chromium] Force canvas 2d draw calls to happen in software if a gradient, pattern, shadow, or clip are active |
+ https://bugs.webkit.org/show_bug.cgi?id=45405 |
+ |
+ This forces all draw calls to happen in software instead of hardware if there is a fill pattern, gradient, |
+ shadow, or clip applied; at least until we can handle these in hardware. Otherwise the pattern/gradient/etc |
+ is completely ignored by the hardware drawing routine and we render incorrectly. |
+ |
+ The test is slightly convervative - for example it will force drawImage() calls to happen in software if a |
+ fill gradient is set even though it's irrelevant. This doesn't seem to be an issue in practice and we |
+ can tighten the checks later if needed. |
+ |
+ Tested by fast/canvas/canvas-incremental-repaint.html. |
+ |
+ * platform/graphics/skia/GraphicsContextSkia.cpp: |
+ (WebCore::GraphicsContext::canvasClip): |
+ (WebCore::GraphicsContext::fillRect): |
+ * platform/graphics/skia/ImageBufferSkia.cpp: |
+ (WebCore::ImageBuffer::draw): |
+ * platform/graphics/skia/ImageSkia.cpp: |
+ (WebCore::BitmapImage::draw): |
+ (WebCore::BitmapImageSingleFrameSkia::draw): |
+ * platform/graphics/skia/PlatformContextSkia.cpp: |
+ (WebCore::PlatformContextSkia::State::State): |
+ (WebCore::PlatformContextSkia::canvasClipPath): |
+ (WebCore::PlatformContextSkia::canAccelerate): |
+ * platform/graphics/skia/PlatformContextSkia.h: |
+ |
2010-09-08 Peter Kasting <pkasting@google.com> |
Reviewed by David Hyatt. |
@@ -181,6 +3081,1799 @@ |
(WebCore::RenderListBox::setScrollTop): |
* rendering/RenderListBox.h: Implement new ScrollbarClient functions. |
+2010-09-08 Ryosuke Niwa <rniwa@webkit.org> |
+ |
+ Reviewed by Tony Chang. |
+ |
+ applyInlineStyleToRange needs cleanup |
+ https://bugs.webkit.org/show_bug.cgi?id=45008 |
+ |
+ Removed rangeIsEmpty and extracted the entire loop into applyInlineStyleToNodeRange. |
+ applyInlineStyleToRange is now a wrapper that fixes range and passes it on to applyInlineStyleToNodeRange. |
+ |
+ No new tests are added since this is a cleanup. |
+ |
+ * editing/ApplyStyleCommand.cpp: |
+ (WebCore::ApplyStyleCommand::applyInlineStyleToRange): Cleaned up. |
+ (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): Extracted from applyInlineStyleToRange. |
+ * editing/ApplyStyleCommand.h: |
+ |
+2010-09-08 Andy Estes <aestes@apple.com> |
+ |
+ Rubber-stamped by Darin Adler. |
+ |
+ Incorporate additional feedback from |
+ https://bugs.webkit.org/show_bug.cgi?id=45364. |
+ |
+ * html/HTMLObjectElement.cpp: |
+ (WebCore::HTMLObjectElement::parametersForPlugin): Rename urlParam to |
+ urlParameter. |
+ * loader/SubframeLoader.h: Add argument names to the definition of |
+ SubframeLoader::resourceWillUsePlugin(). |
+ |
+2010-09-07 Oliver Hunt <oliver@apple.com> |
+ |
+ Reviewed by Anders Carlsson. |
+ |
+ Support SerializedScriptValue in WebKit2 |
+ https://bugs.webkit.org/show_bug.cgi?id=45340 |
+ |
+ Add a new constructor that allows WebKit2 to create a SerializedScriptValue |
+ directly from serialized data. |
+ |
+ * WebCore.exp.in: |
+ * bindings/js/SerializedScriptValue.h: |
+ (WebCore::SerializedScriptValue::adopt): |
+ (WebCore::SerializedScriptValue::data): |
+ |
+2010-09-08 Andy Estes <aestes@apple.com> |
+ |
+ Reviewed by Eric Carlson. |
+ |
+ Fallback content should be rendered when an <object> doesn't specify a |
+ data, type or classid attribute. |
+ https://bugs.webkit.org/show_bug.cgi?id=45364 |
+ <rdar://problem/8375816> |
+ |
+ HTML5 says that if no data or type attribute is specified on an <object>, |
+ fallback content should be rendered. However, WebKit has traditionally |
+ supported specifying a URL and MIME type in <param> elements. |
+ |
+ To more closely match the spec while maintaining compatibility with |
+ content that relied on our old behavior, we will continue to load |
+ a resource specified by <param> elements if we can determine a priori |
+ that it will be handled by a plug-in. |
+ |
+ If we can't make this determination, and the <object> element has no |
+ "data" or "type" attribute, the <param> elements will be ignored and |
+ fallback content will be rendered. Otherwise, there is no change in |
+ behavior. |
+ |
+ * html/HTMLObjectElement.cpp: |
+ (WebCore::HTMLObjectElement::parametersForPlugin): If an empty url is |
+ passed to this function and a <param> exists that specifies a url that |
+ references a plug-in resource, set it to url, making it the url that |
+ will be loaded by the <object> element. |
+ (WebCore::HTMLObjectElement::updateWidget): If no type attribute was |
+ specified, but there is a classid attribute, try to map the classid to |
+ a MIME type. This needs to be done before calling |
+ HTMLObjectElement::parametersForPlugin(). |
+ * loader/SubframeLoader.cpp: |
+ (WebCore::SubframeLoader::resourceWillUsePlugin): Make a public method |
+ that determines if a resource will load a plug-in based on its url and |
+ MIME type. This is equivalent to calling |
+ SubframeLoader::shouldUsePlugin(), but does not burden the caller with |
+ the details of fallback content. |
+ * loader/SubframeLoader.h: |
+ |
+2010-09-08 Pavel Podivilov <podivilov@chromium.org> |
+ |
+ Reviewed by Yury Semikhatsky. |
+ |
+ Web Inspector: add breakpoints to source frame after content is loaded. |
+ https://bugs.webkit.org/show_bug.cgi?id=43056 |
+ |
+ * inspector/front-end/ScriptsPanel.js: |
+ (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished): |
+ (WebInspector.ScriptsPanel.prototype._showScriptOrResource): |
+ * inspector/front-end/SourceView.js: |
+ (WebInspector.SourceView.prototype._contentLoaded): |
+ |
+2010-09-08 Andreas Kling <andreas.kling@nokia.com> |
+ |
+ Reviewed by Kenneth Rohde Christiansen. |
+ |
+ Canvas: Remove unnecessary null-check of canvas() in getImageData() |
+ https://bugs.webkit.org/show_bug.cgi?id=45394 |
+ |
+ canvas() is already dereferenced earlier in the function so there is |
+ no use in checking it for null later. |
+ |
+ * html/canvas/CanvasRenderingContext2D.cpp: |
+ (WebCore::CanvasRenderingContext2D::getImageData): |
+ |
+2010-09-08 Philippe Normand <pnormand@igalia.com> |
+ |
+ Reviewed by Eric Carlson. |
+ |
+ [GStreamer] cache media duration in READY instead of PLAYING |
+ https://bugs.webkit.org/show_bug.cgi?id=39053 |
+ |
+ New cacheDuration private method used to in updateStates() and |
+ durationChanged(). |
+ |
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: |
+ (WebCore::MediaPlayerPrivateGStreamer::updateStates): |
+ (WebCore::MediaPlayerPrivateGStreamer::cacheDuration): |
+ (WebCore::MediaPlayerPrivateGStreamer::durationChanged): |
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: |
+ |
+2010-09-08 Martin Robinson <mrobinson@igalia.com> |
+ |
+ Reviewed by Xan Lopez. |
+ |
+ [GTK] Need a WebSocket implementation |
+ https://bugs.webkit.org/show_bug.cgi?id=45197 |
+ |
+ Add a GIO-based WebSocket implementation. This does not yet support |
+ SSL sockets or proxies, but these should be possible to add as support |
+ arrives in GLib/GIO for them. |
+ |
+ * platform/network/soup/SocketStreamHandle.h: |
+ * platform/network/soup/SocketStreamHandleSoup.cpp: Add a GIO-based WebSocket implementation. |
+ (WebCore::isActiveHandle): Added. |
+ (WebCore::deactivateHandle): Added. |
+ (WebCore::SocketStreamHandle::SocketStreamHandle): Filled out stub. |
+ (WebCore::SocketStreamHandle::~SocketStreamHandle): Ditto. |
+ (WebCore::SocketStreamHandle::connected): Added. |
+ (WebCore::SocketStreamHandle::readBytes): Added. |
+ (WebCore::SocketStreamHandle::writeReady): Added. |
+ (WebCore::SocketStreamHandle::platformSend): Filled out stub. |
+ (WebCore::SocketStreamHandle::platformClose): Filled out stub. |
+ (WebCore::SocketStreamHandle::beginWaitingForSocketWritability): Added. |
+ (WebCore::SocketStreamHandle::stopWaitingForSocketWritability): |
+ (WebCore::connectedCallback): Added. |
+ (WebCore::readReadyCallback): Added. |
+ (WebCore::writeReadyCallback): Added. |
+ |
+2010-09-07 Martin Robinson <mrobinson@igalia.com> |
+ |
+ Reviewed by Dirk Schulze. |
+ |
+ [Cairo] Actually use the antialias parameter of GraphicsContext::clipConvexPolygon |
+ https://bugs.webkit.org/show_bug.cgi?id=45355 |
+ |
+ r63864 added an additional boolean parameter to GraphicsContext::clipConvexPolygon, |
+ which determines whether or not to render the render the clip with anti-aliasing |
+ or not. The Cairo implementation now uses that parameter to determine the argument |
+ to pass to cairo_set_antialias(...) when clipping. |
+ |
+ Test: This is tested by many tests in fast/borders. |
+ |
+ * platform/graphics/cairo/GraphicsContextCairo.cpp: |
+ (WebCore::GraphicsContext::clipConvexPolygon): Actually use the boolean antialias parameter. |
+ |
+2010-09-08 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
+ |
+ Reviewed by Kenneth Rohde Christiansen. |
+ |
+ [EFL] Support to enable HTML5's Video based on gstreamer in WebKit-EFL |
+ https://bugs.webkit.org/show_bug.cgi?id=44098 |
+ |
+ To support video of HTML5 based on gstreamer, add files regarding gstreamer to |
+ CMakeListsEfl.txt. |
+ |
+ * CMakeListsEfl.txt: |
+ |
+2010-09-08 Jan E Hanssen <jhanssen@sencha.com> |
+ |
+ Reviewed by Dirk Schulze. |
+ |
+ [Qt] PathQt should use the QPainterPath functionality for calculations |
+ https://bugs.webkit.org/show_bug.cgi?id=43837 |
+ |
+ Change PathQt to use the built-in functionality of QPainterPath for |
+ calculating length(), pointAtLength() and normalAngleAtLength(). |
+ |
+ * platform/graphics/Path.cpp: |
+ * platform/graphics/qt/PathQt.cpp: |
+ (WebCore::Path::length): |
+ (WebCore::Path::pointAtLength): |
+ (WebCore::Path::normalAngleAtLength): |
+ |
+2010-09-08 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
+ |
+ Reviewed by Dirk Schulze. |
+ |
+ [WML] Remove create() function in WMLTaskElement because of build break. |
+ https://bugs.webkit.org/show_bug.cgi?id=44954 |
+ |
+ Remove create() function in WMLTaskElement.cpp because of build breaks. |
+ |
+ * wml/WMLTaskElement.cpp: |
+ * wml/WMLTaskElement.h: |
+ |
+2010-09-08 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
+ |
+ Reviewed by Dirk Schulze. |
+ |
+ [WML] Add create functions to WML. |
+ https://bugs.webkit.org/show_bug.cgi?id=44950 |
+ |
+ There are missing definitions of create function in WML area. |
+ So, there are build breaks when enabling WML. The create functions and the construction |
+ are added. In addition, a style error and duplicated adoptRef usage are fixed. |
+ |
+ * wml/WMLDocument.h: |
+ (WebCore::WMLDocument::create): |
+ * wml/WMLFormControlElement.h: |
+ * wml/WMLIntrinsicEvent.cpp: |
+ (WebCore::WMLIntrinsicEvent::WMLIntrinsicEvent): |
+ * wml/WMLIntrinsicEvent.h: |
+ |
+2010-09-08 Nico Weber <thakis@chromium.org> |
+ |
+ Reviewed by Kenneth Russell. |
+ |
+ chromium/mac: Fix crash with compositor due to missing current NSGraphicsContext |
+ https://bugs.webkit.org/show_bug.cgi?id=45354 |
+ |
+ * platform/graphics/chromium/ContentLayerChromium.cpp: |
+ (WebCore::ContentLayerChromium::updateContents): Set a current local context. |
+ |
+2010-09-08 Justin Schuh <jschuh@chromium.org> |
+ |
+ Reviewed by Nikolas Zimmermann. |
+ |
+ NULL deref when use target is reset, then set to display:none |
+ https://bugs.webkit.org/show_bug.cgi?id=45345 |
+ |
+ Move the NULL check on shadowRoot earlier in SVGUseElement::recalcStyle |
+ |
+ Test: svg/custom/use-display-none.svg |
+ |
+ * svg/SVGUseElement.cpp: |
+ (WebCore::SVGUseElement::recalcStyle): |
+ |
+2010-08-30 Maciej Stachowiak <mjs@apple.com> |
+ |
+ Reviewed by Darin Adler. |
+ |
+ Handle MediaQueryExp memory management exclusively with smart pointers |
+ https://bugs.webkit.org/show_bug.cgi?id=44874 |
+ |
+ Gace MediaQueryExp a create function, made the constructor private, and followed |
+ the implications. The one tricky bit was using a non-copying sort to sort |
+ the Vector<OwnPtr<MediaQueryExp> > in the MediaQuery constructor. |
+ |
+ * ForwardingHeaders/wtf/NonCopyingSort.h: Added. |
+ * css/CSSGrammar.y: |
+ * css/CSSParser.cpp: |
+ (WebCore::CSSParser::~CSSParser): |
+ (WebCore::CSSParser::createFloatingMediaQueryExp): |
+ (WebCore::CSSParser::createFloatingMediaQueryExpList): |
+ (WebCore::CSSParser::sinkFloatingMediaQueryExpList): |
+ (WebCore::CSSParser::createFloatingMediaQuery): |
+ * css/CSSParser.h: |
+ * css/MediaList.cpp: |
+ * css/MediaQuery.cpp: |
+ (WebCore::expressionCompare): |
+ (WebCore::MediaQuery::MediaQuery): |
+ (WebCore::MediaQuery::~MediaQuery): |
+ * css/MediaQuery.h: |
+ (WebCore::MediaQuery::expressions): |
+ * css/MediaQueryEvaluator.cpp: |
+ (WebCore::MediaQueryEvaluator::eval): |
+ * css/MediaQueryExp.h: |
+ (WebCore::MediaQueryExp::create): |
+ |
+2010-09-08 Adam Barth <abarth@webkit.org> |
+ |
+ Reviewed by Maciej Stachowiak. |
+ |
+ Remove unused member variable from DecodedDocumentParser |
+ https://bugs.webkit.org/show_bug.cgi?id=45379 |
+ |
+ This member variable isn't used because of the recent split of |
+ TextDocumentParser and TextViewSourceParser. |
+ |
+ * dom/DecodedDataDocumentParser.cpp: |
+ (WebCore::DecodedDataDocumentParser::DecodedDataDocumentParser): |
+ * dom/DecodedDataDocumentParser.h: |
+ * dom/ScriptableDocumentParser.cpp: |
+ (WebCore::ScriptableDocumentParser::ScriptableDocumentParser): |
+ * dom/ScriptableDocumentParser.h: |
+ |
+2010-09-08 Csaba Osztrogonác <ossy@webkit.org> |
+ |
+ Reviewed by Andreas Kling. |
+ |
+ Fix warning in rendering/RenderBlock.cpp. |
+ https://bugs.webkit.org/show_bug.cgi?id=45373 |
+ |
+ * rendering/RenderBlock.cpp: |
+ (WebCore::RenderBlock::hitTestColumns): Suggested parentheses added around && within || |
+ |
+2010-09-08 Mario Sanchez Prada <msanchez@igalia.com> |
+ |
+ Reviewed by Martin Robinson. |
+ |
+ [Gtk] A list item's number/bullet should not be a child of that list item |
+ https://bugs.webkit.org/show_bug.cgi?id=45190 |
+ |
+ Ignore list markers and prefix them to the text for the item |
+ |
+ * accessibility/gtk/AccessibilityObjectAtk.cpp: |
+ (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): |
+ Make list markers ignore accessibility for the GTK port. |
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: |
+ (webkit_accessible_text_get_text): Prefix the text of a marker |
+ along with the accessible text for its list item's AtkObject |
+ |
+2010-09-08 Adam Barth <abarth@webkit.org> |
+ |
+ Rubber-stamped by Eric Seidel. |
+ |
+ Rename DocLoader to CachedResourceLoader because that's what it does. |
+ |
+ * Android.mk: |
+ * CMakeLists.txt: |
+ * GNUmakefile.am: |
+ * WebCore.gypi: |
+ * WebCore.pro: |
+ * WebCore.vcproj/WebCore.vcproj: |
+ * WebCore.xcodeproj/project.pbxproj: |
+ * css/CSSCursorImageValue.cpp: |
+ (WebCore::CSSCursorImageValue::cachedImage): |
+ * css/CSSCursorImageValue.h: |
+ * css/CSSFontFaceSource.cpp: |
+ (WebCore::CSSFontFaceSource::getFontData): |
+ * css/CSSFontSelector.cpp: |
+ (WebCore::CSSFontSelector::cachedResourceLoader): |
+ (WebCore::CSSFontSelector::addFontFaceRule): |
+ * css/CSSFontSelector.h: |
+ * css/CSSImageValue.cpp: |
+ (WebCore::CSSImageValue::cachedImage): |
+ * css/CSSImageValue.h: |
+ * css/CSSImportRule.cpp: |
+ (WebCore::CSSImportRule::insertedIntoParent): |
+ * css/CSSStyleSelector.cpp: |
+ (WebCore::CSSStyleSelector::loadPendingImages): |
+ * css/CSSStyleSheet.h: |
+ * dom/Document.cpp: |
+ (WebCore::Document::Document): |
+ (WebCore::Document::~Document): |
+ (WebCore::Document::implicitClose): |
+ * dom/Document.h: |
+ (WebCore::Document::cachedResourceLoader): |
+ * dom/ProcessingInstruction.cpp: |
+ (WebCore::ProcessingInstruction::checkStyleSheet): |
+ * dom/ScriptElement.cpp: |
+ (WebCore::ScriptElementData::requestScript): |
+ * dom/XMLDocumentParser.cpp: |
+ * dom/XMLDocumentParser.h: |
+ * dom/XMLDocumentParserLibxml2.cpp: |
+ (WebCore::matchFunc): |
+ (WebCore::shouldAllowExternalLoad): |
+ (WebCore::openFunc): |
+ (WebCore::XMLDocumentParser::doWrite): |
+ (WebCore::XMLDocumentParser::endElementNs): |
+ (WebCore::XMLDocumentParser::initializeParserContext): |
+ (WebCore::XMLDocumentParser::doEnd): |
+ (WebCore::xmlDocPtrForString): |
+ * dom/XMLDocumentParserQt.cpp: |
+ (WebCore::XMLDocumentParser::parseEndElement): |
+ * dom/XMLDocumentParserScope.cpp: |
+ (WebCore::XMLDocumentParserScope::XMLDocumentParserScope): |
+ (WebCore::XMLDocumentParserScope::~XMLDocumentParserScope): |
+ * dom/XMLDocumentParserScope.h: |
+ * editing/Editor.cpp: |
+ (WebCore::Editor::paste): |
+ * editing/mac/EditorMac.mm: |
+ (WebCore::Editor::paste): |
+ * html/HTMLLinkElement.cpp: |
+ (WebCore::HTMLLinkElement::process): |
+ * html/parser/CSSPreloadScanner.cpp: |
+ (WebCore::CSSPreloadScanner::emitRule): |
+ * html/parser/HTMLPreloadScanner.cpp: |
+ (WebCore::HTMLNames::PreloadTask::preload): |
+ * html/parser/HTMLScriptRunner.cpp: |
+ (WebCore::HTMLScriptRunner::requestPendingScript): |
+ * inspector/InspectorResource.cpp: |
+ (WebCore::InspectorResource::cachedResource): |
+ * loader/Cache.cpp: |
+ (WebCore::Cache::requestResource): |
+ (WebCore::Cache::requestUserCSSStyleSheet): |
+ (WebCore::Cache::revalidateResource): |
+ (WebCore::Cache::addCachedResourceLoader): |
+ (WebCore::Cache::removeCachedResourceLoader): |
+ * loader/Cache.h: |
+ * loader/CachedCSSStyleSheet.h: |
+ * loader/CachedFont.cpp: |
+ (WebCore::CachedFont::load): |
+ (WebCore::CachedFont::beginLoadIfNeeded): |
+ * loader/CachedFont.h: |
+ * loader/CachedImage.cpp: |
+ (WebCore::CachedImage::load): |
+ (WebCore::CachedImage::maximumDecodedImageSize): |
+ * loader/CachedImage.h: |
+ * loader/CachedResource.cpp: |
+ (WebCore::CachedResource::CachedResource): |
+ (WebCore::CachedResource::~CachedResource): |
+ (WebCore::CachedResource::load): |
+ * loader/CachedResource.h: |
+ (WebCore::CachedResource::load): |
+ (WebCore::CachedResource::setCachedResourceLoader): |
+ * loader/CachedResourceLoader.cpp: Copied from WebCore/loader/DocLoader.cpp. |
+ (WebCore::CachedResourceLoader::CachedResourceLoader): |
+ (WebCore::CachedResourceLoader::~CachedResourceLoader): |
+ (WebCore::CachedResourceLoader::frame): |
+ (WebCore::CachedResourceLoader::checkForReload): |
+ (WebCore::CachedResourceLoader::requestImage): |
+ (WebCore::CachedResourceLoader::requestFont): |
+ (WebCore::CachedResourceLoader::requestCSSStyleSheet): |
+ (WebCore::CachedResourceLoader::requestUserCSSStyleSheet): |
+ (WebCore::CachedResourceLoader::requestScript): |
+ (WebCore::CachedResourceLoader::requestXSLStyleSheet): |
+ (WebCore::CachedResourceLoader::requestLinkPrefetch): |
+ (WebCore::CachedResourceLoader::canRequest): |
+ (WebCore::CachedResourceLoader::requestResource): |
+ (WebCore::CachedResourceLoader::printAccessDeniedMessage): |
+ (WebCore::CachedResourceLoader::setAutoLoadImages): |
+ (WebCore::CachedResourceLoader::cachePolicy): |
+ (WebCore::CachedResourceLoader::removeCachedResource): |
+ (WebCore::CachedResourceLoader::setLoadInProgress): |
+ (WebCore::CachedResourceLoader::checkCacheObjectStatus): |
+ (WebCore::CachedResourceLoader::incrementRequestCount): |
+ (WebCore::CachedResourceLoader::decrementRequestCount): |
+ (WebCore::CachedResourceLoader::requestCount): |
+ (WebCore::CachedResourceLoader::preload): |
+ (WebCore::CachedResourceLoader::checkForPendingPreloads): |
+ (WebCore::CachedResourceLoader::requestPreload): |
+ (WebCore::CachedResourceLoader::clearPreloads): |
+ (WebCore::CachedResourceLoader::clearPendingPreloads): |
+ (WebCore::CachedResourceLoader::printPreloadStats): |
+ * loader/CachedResourceLoader.h: Copied from WebCore/loader/DocLoader.h. |
+ * loader/CachedScript.h: |
+ * loader/CachedXSLStyleSheet.h: |
+ * loader/DocLoader.cpp: Removed. |
+ * loader/DocLoader.h: Removed. |
+ * loader/DocumentLoader.cpp: |
+ (WebCore::DocumentLoader::isLoadingInAPISense): |
+ (WebCore::DocumentLoader::subresource): |
+ (WebCore::DocumentLoader::getSubresources): |
+ * loader/FrameLoader.cpp: |
+ (WebCore::numRequests): |
+ (WebCore::FrameLoader::stopLoading): |
+ (WebCore::FrameLoader::didBeginDocument): |
+ * loader/HistoryController.cpp: |
+ (WebCore::HistoryController::createItem): |
+ * loader/ImageLoader.cpp: |
+ (WebCore::ImageLoader::updateFromElement): |
+ * loader/Request.cpp: |
+ (WebCore::Request::Request): |
+ * loader/Request.h: |
+ (WebCore::Request::cachedResourceLoader): |
+ * loader/loader.cpp: |
+ (WebCore::Loader::load): |
+ (WebCore::Loader::cancelRequests): |
+ (WebCore::Loader::Host::servePendingRequests): |
+ (WebCore::Loader::Host::didFinishLoading): |
+ (WebCore::Loader::Host::didFail): |
+ (WebCore::Loader::Host::didReceiveResponse): |
+ (WebCore::Loader::Host::cancelPendingRequests): |
+ (WebCore::Loader::Host::cancelRequests): |
+ * loader/loader.h: |
+ * page/DragController.cpp: |
+ (WebCore::DragController::concludeEditDrag): |
+ * page/Frame.cpp: |
+ * page/FrameView.cpp: |
+ (WebCore::FrameView::checkStopDelayingDeferredRepaints): |
+ (WebCore::FrameView::updateDeferredRepaintDelay): |
+ * page/Settings.cpp: |
+ (WebCore::setLoadsImagesAutomaticallyInAllFrames): |
+ * platform/android/TemporaryLinkStubs.cpp: |
+ (WebCore::CheckCacheObjectStatus): |
+ * platform/network/android/ResourceHandleAndroid.cpp: |
+ (WebCore::ResourceHandle::start): |
+ * platform/network/cf/ResourceHandleCFNet.cpp: |
+ * platform/network/curl/ResourceHandleCurl.cpp: |
+ * platform/network/mac/ResourceHandleMac.mm: |
+ * platform/network/qt/ResourceHandleQt.cpp: |
+ * platform/network/soup/ResourceHandleSoup.cpp: |
+ * platform/network/win/ResourceHandleWin.cpp: |
+ * svg/SVGFEImageElement.cpp: |
+ (WebCore::SVGFEImageElement::requestImageResource): |
+ * svg/SVGFontFaceUriElement.cpp: |
+ (WebCore::SVGFontFaceUriElement::loadFont): |
+ * workers/Worker.cpp: |
+ * xml/XSLImportRule.cpp: |
+ (WebCore::XSLImportRule::loadSheet): |
+ * xml/XSLStyleSheet.h: |
+ * xml/XSLStyleSheetLibxslt.cpp: |
+ (WebCore::XSLStyleSheet::cachedResourceLoader): |
+ (WebCore::XSLStyleSheet::parseString): |
+ * xml/XSLStyleSheetQt.cpp: |
+ (WebCore::XSLStyleSheet::cachedResourceLoader): |
+ * xml/XSLTProcessor.cpp: |
+ * xml/XSLTProcessorLibxslt.cpp: |
+ (WebCore::docLoaderFunc): |
+ (WebCore::setXSLTLoadCallBack): |
+ (WebCore::xmlDocPtrFromNode): |
+ (WebCore::XSLTProcessor::transformToString): |
+ |
+2010-09-06 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> |
+ |
+ Reviewed by Eric Carlson. |
+ |
+ Add mediaPlayerPlaybackStateChanged to MediaPlayerClient |
+ |
+ https://bugs.webkit.org/show_bug.cgi?id=45263 |
+ |
+ The platform backend may change state, for example as a result |
+ of an external plugin controlling the backend, so we need to |
+ react to this situation by syncing up the WebCore state with the |
+ platform backend. |
+ |
+ We call playInternal()/pauseInternal() depending on the backend |
+ state, to trigger the corresponding DOM events to match the state. |
+ |
+ updatePlayState() is then refactored to take into account the |
+ situation where the backend is already in the correct state but |
+ WebCore is not, so that we update the playback progress timer |
+ and set m_playing correctly. |
+ |
+ updatePlayState() changes Should be covered by existing tests. |
+ |
+ * html/HTMLMediaElement.cpp: |
+ (WebCore::HTMLMediaElement::mediaPlayerPlaybackStateChanged): |
+ (WebCore::HTMLMediaElement::updatePlayState): |
+ * html/HTMLMediaElement.h: |
+ * platform/graphics/MediaPlayer.cpp: |
+ (WebCore::MediaPlayer::playbackStateChanged): |
+ * platform/graphics/MediaPlayer.h: |
+ (WebCore::MediaPlayerClient::mediaPlayerPlaybackStateChanged): |
+ |
+2010-09-08 Adam Barth <abarth@webkit.org> |
+ |
+ Reviewed by Eric Seidel. |
+ |
+ TextDocument doesn't belong in WebCore/loader |
+ https://bugs.webkit.org/show_bug.cgi?id=45346 |
+ |
+ TextDocument has nothing to do with loading. It turns out that it |
+ should be in WebCore/html because TextDocument is actually a subclass |
+ of HTMLDocument (in quirks mode, no less). |
+ |
+ * Android.mk: |
+ * CMakeLists.txt: |
+ * GNUmakefile.am: |
+ * WebCore.gypi: |
+ * WebCore.pro: |
+ * WebCore.vcproj/WebCore.vcproj: |
+ * WebCore.xcodeproj/project.pbxproj: |
+ * html/TextDocument.cpp: Renamed from WebCore/loader/TextDocument.cpp. |
+ (WebCore::TextDocument::TextDocument): |
+ (WebCore::TextDocument::createParser): |
+ * html/TextDocument.h: Renamed from WebCore/loader/TextDocument.h. |
+ (WebCore::TextDocument::create): |
+ |
+2010-09-08 Adam Barth <abarth@webkit.org> |
+ |
+ Reviewed by Eric Seidel. |
+ |
+ Create TextViewSourceParser |
+ https://bugs.webkit.org/show_bug.cgi?id=45343 |
+ |
+ Rather than have the view source document set a flag on |
+ HTMLViewSourceParser to indicate whether we're parsing a text document, |
+ this patch creates a TextViewSourceParser for parsing text documents in |
+ view-source mode. Like the TextDocumentParser, the |
+ TextViewSourceParser implements this functionality by subclassing its |
+ HTML counterpart. |
+ |
+ * Android.mk: |
+ * CMakeLists.txt: |
+ * GNUmakefile.am: |
+ * WebCore.gypi: |
+ * WebCore.pro: |
+ * WebCore.vcproj/WebCore.vcproj: |
+ * WebCore.xcodeproj/project.pbxproj: |
+ * html/HTMLViewSourceDocument.cpp: |
+ (WebCore::HTMLViewSourceDocument::createParser): |
+ * html/parser/HTMLViewSourceParser.cpp: |
+ * html/parser/HTMLViewSourceParser.h: |
+ (WebCore::HTMLViewSourceParser::tokenizer): |
+ * html/parser/TextViewSourceParser.cpp: Added. |
+ (WebCore::TextViewSourceParser::TextViewSourceParser): |
+ (WebCore::TextViewSourceParser::~TextViewSourceParser): |
+ * html/parser/TextViewSourceParser.h: Added. |
+ (WebCore::TextViewSourceParser::create): |
+ |
+2010-09-08 Adam Barth <abarth@webkit.org> |
+ |
+ Reviewed by Darin Adler. |
+ |
+ Move HTMLInputStream to WebCore/html/parser |
+ https://bugs.webkit.org/show_bug.cgi?id=45339 |
+ |
+ I forgot to move this file before. |
+ |
+ * GNUmakefile.am: |
+ * WebCore.gypi: |
+ * WebCore.vcproj/WebCore.vcproj: |
+ * WebCore.xcodeproj/project.pbxproj: |
+ * html/parser/HTMLInputStream.h: Renamed from WebCore/html/HTMLInputStream.h. |
+ (WebCore::HTMLInputStream::HTMLInputStream): |
+ (WebCore::HTMLInputStream::appendToEnd): |
+ (WebCore::HTMLInputStream::insertAtCurrentInsertionPoint): |
+ (WebCore::HTMLInputStream::hasInsertionPoint): |
+ (WebCore::HTMLInputStream::markEndOfFile): |
+ (WebCore::HTMLInputStream::haveSeenEndOfFile): |
+ (WebCore::HTMLInputStream::current): |
+ (WebCore::HTMLInputStream::splitInto): |
+ (WebCore::HTMLInputStream::mergeFrom): |
+ (WebCore::InsertionPointRecord::InsertionPointRecord): |
+ (WebCore::InsertionPointRecord::~InsertionPointRecord): |
+ |
+2010-09-08 Adam Barth <abarth@webkit.org> |
+ |
+ Reviewed by Eric Seidel. |
+ |
+ TextDocument should come in from the cold |
+ https://bugs.webkit.org/show_bug.cgi?id=45334 |
+ |
+ Previously, TextDocument reinvented the wheel to parse text. This |
+ patch replaces TextDocument's hand-rolled parser with a parser built on |
+ the HTML parser infrustructure, which gives us that stuff for free. I |
+ also disentangled TextDocument from HTMLViewSourceDocument. |
+ |
+ In a future patch, I'll move TextDocument out of the "loader" directory. |
+ |
+ * Android.mk: |
+ * CMakeLists.txt: |
+ * GNUmakefile.am: |
+ * WebCore.gypi: |
+ * WebCore.pro: |
+ * WebCore.vcproj/WebCore.vcproj: |
+ * WebCore.xcodeproj/project.pbxproj: |
+ * html/HTMLViewSourceDocument.cpp: |
+ (WebCore::HTMLViewSourceDocument::createParser): |
+ * html/HTMLViewSourceDocument.h: |
+ * html/parser/HTMLTreeBuilder.cpp: |
+ (WebCore::HTMLTreeBuilder::constructTreeFromToken): |
+ (WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken): |
+ * html/parser/HTMLTreeBuilder.h: |
+ * html/parser/HTMLViewSourceParser.cpp: |
+ (WebCore::HTMLViewSourceParser::forcePlaintext): |
+ * html/parser/HTMLViewSourceParser.h: |
+ * html/parser/TextDocumentParser.cpp: Added. |
+ (WebCore::TextDocumentParser::TextDocumentParser): |
+ (WebCore::TextDocumentParser::~TextDocumentParser): |
+ (WebCore::TextDocumentParser::insertFakePreElement): |
+ * html/parser/TextDocumentParser.h: Added. |
+ (WebCore::TextDocumentParser::create): |
+ * loader/TextDocument.cpp: |
+ * loader/TextDocument.h: |
+ |
+2010-09-06 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> |
+ |
+ Reviewed by Andreas Kling. |
+ |
+ Implement MediaPlayerPrivate::platformMedia() for the Qt port |
+ |
+ https://bugs.webkit.org/show_bug.cgi?id=45264 |
+ |
+ * platform/graphics/MediaPlayer.h: |
+ * platform/graphics/qt/MediaPlayerPrivateQt.cpp: |
+ (WebCore::MediaPlayerPrivate::platformMedia): |
+ * platform/graphics/qt/MediaPlayerPrivateQt.h: |
+ |
+2010-09-08 Zoltan Herczeg <zherczeg@webkit.org> |
+ |
+ Reviewed by Dirk Schulze. |
+ |
+ An individual renderer should be assigned to each SVGFE*Element class |
+ https://bugs.webkit.org/show_bug.cgi?id=43954 |
+ |
+ RenderSVGResourceFilterPrimitive renderer is added to |
+ the project, and assigned to each object, which class is |
+ derived from SVGFilterPrimitiveStandardAttributes. The patch |
+ mainly contains build system changes, and it fixes one layout |
+ test in svg/dynamic-updates. |
+ |
+ * Android.mk: |
+ * CMakeLists.txt: |
+ * GNUmakefile.am: |
+ * WebCore.gypi: |
+ * WebCore.pro: |
+ * WebCore.vcproj/WebCore.vcproj: |
+ * WebCore.xcodeproj/project.pbxproj: |
+ * rendering/RenderObject.h: |
+ (WebCore::RenderObject::isSVGResourceFilterPrimitive): |
+ * rendering/RenderSVGResourceFilterPrimitive.cpp: Added. |
+ (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive): |
+ * rendering/RenderSVGResourceFilterPrimitive.h: Added. |
+ (WebCore::RenderSVGResourceFilterPrimitive::isSVGResourceFilterPrimitive): |
+ * rendering/SVGRenderTreeAsText.cpp: |
+ (WebCore::writeSVGContainer): |
+ * svg/SVGFEDiffuseLightingElement.cpp: |
+ (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged): |
+ * svg/SVGFELightElement.cpp: |
+ (WebCore::SVGFELightElement::svgAttributeChanged): |
+ (WebCore::SVGFELightElement::childrenChanged): |
+ * svg/SVGFEOffsetElement.cpp: |
+ (WebCore::SVGFEOffsetElement::svgAttributeChanged): |
+ * svg/SVGFilterElement.h: |
+ * svg/SVGFilterPrimitiveStandardAttributes.cpp: |
+ (WebCore::SVGFilterPrimitiveStandardAttributes::svgAttributeChanged): |
+ (WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged): |
+ (WebCore::SVGFilterPrimitiveStandardAttributes::createRenderer): |
+ * svg/SVGFilterPrimitiveStandardAttributes.h: |
+ (WebCore::SVGFilterPrimitiveStandardAttributes::invalidate): |
+ |
+2010-09-07 Sam Weinig <sam@webkit.org> |
+ |
+ Reviewed by Dan Bernstein. |
+ |
+ DatasetDOMStringMap does not have the right memory model |
+ https://bugs.webkit.org/show_bug.cgi?id=45358 |
+ |
+ Test: fast/dom/dataset-gc.html |
+ |
+ * bindings/js/JSElementCustom.cpp: |
+ (WebCore::JSElement::markChildren): |
+ Mark the dataset if it exists. |
+ |
+ * dom/Element.cpp: |
+ (WebCore::Element::optionalDataset): |
+ * dom/Element.h: |
+ Expose a way to get the dataset or null (depending on if anyone thing |
+ has forced its creation yet). |
+ |
+2010-09-07 Jan E Hanssen <jhanssen@sencha.com> |
+ |
+ Reviewed by Andreas Kling. |
+ |
+ [Qt] Add a separate Path::closeCanvasSubpath() function for canvas paths |
+ https://bugs.webkit.org/show_bug.cgi?id=45331 |
+ |
+ This is needed due to an adverse effect of the fix in 44061 that causes |
+ certain paths not to be closed. This is not important for canvas paths |
+ but it is for SVG paths, so splitting up the code in a generic (SVG) |
+ case and one specialized for canvas. |
+ |
+ Test: svg/dom/path-totalLength.html |
+ |
+ * html/canvas/CanvasRenderingContext2D.cpp: |
+ (WebCore::CanvasRenderingContext2D::closePath): |
+ * platform/graphics/Path.h: |
+ (WebCore::Path::closeCanvasSubpath): |
+ * platform/graphics/qt/PathQt.cpp: |
+ (WebCore::Path::closeSubpath): |
+ (WebCore::Path::closeCanvasSubpath): |
+ |
+2010-09-07 Simon Fraser <simon.fraser@apple.com> |
+ |
+ Reviewed by Chris Marrin. |
+ |
+ Transform animations always run in software now |
+ https://bugs.webkit.org/show_bug.cgi?id=45341 |
+ |
+ After r66339 we always fell into software animation, because we |
+ failed to detect transform or opacity properties in the keyframes, |
+ so would send an empty list of values to the GraphicsLayer. |
+ |
+ Fixed by using CSSProperty values, rather than GraphicsLayer |
+ values, when detecting the presence of properties in the keyframes. |
+ |
+ Test: manual-tests/transition-accelerated.html |
+ |
+ * rendering/RenderLayerBacking.cpp: |
+ (WebCore::RenderLayerBacking::startAnimation): |
+ |
+2010-09-07 Chris Rogers <crogers@google.com> |
+ |
+ Reviewed by Kenneth Russell. |
+ |
+ audio engine: add FFTFrame files |
+ https://bugs.webkit.org/show_bug.cgi?id=34827 |
+ |
+ No new tests since audio API is not yet implemented. |
+ |
+ * platform/audio/FFTFrame.cpp: Added. |
+ (WebCore::FFTFrame::doPaddedFFT): |
+ (WebCore::FFTFrame::createInterpolatedFrame): |
+ (WebCore::FFTFrame::interpolateFrequencyComponents): |
+ (WebCore::FFTFrame::extractAverageGroupDelay): |
+ (WebCore::FFTFrame::addConstantGroupDelay): |
+ (WebCore::FFTFrame::print): |
+ * platform/audio/FFTFrame.h: Added. |
+ (WebCore::FFTFrame::fftSize): |
+ (WebCore::FFTFrame::log2FFTSize): |
+ (WebCore::FFTFrame::dspSplitComplex): |
+ * platform/audio/mac/FFTFrameMac.cpp: Added. |
+ (WebCore::FFTFrame::FFTFrame): |
+ (WebCore::FFTFrame::~FFTFrame): |
+ (WebCore::FFTFrame::multiply): |
+ (WebCore::FFTFrame::doFFT): |
+ (WebCore::FFTFrame::doInverseFFT): |
+ (WebCore::FFTFrame::fftSetupForSize): |
+ (WebCore::FFTFrame::cleanup): |
+ (WebCore::FFTFrame::realData): |
+ (WebCore::FFTFrame::imagData): |
+ |
+2010-09-07 Brent Fulgham <bfulgham@webkit.org> |
+ |
+ Build fix, no review. |
+ |
+ Provide stubs to allow WebKit.dll to build |
+ for the WinCairo port. |
+ |
+ * platform/network/curl/ResourceRequest.h: |
+ (WebCore::ResourceRequest::ResourceRequest): |
+ * platform/network/curl/ResourceResponse.h: |
+ (WebCore::ResourceResponse::cfURLResponse): |
+ |
+2010-09-07 Chris Rogers <crogers@google.com> |
+ |
+ Reviewed by Kenneth Russell. |
+ |
+ Add AudioArray.h |
+ https://bugs.webkit.org/show_bug.cgi?id=45204 |
+ |
+ No new tests since audio API is not yet implemented. |
+ |
+ * platform/audio/AudioArray.h: Added. |
+ (WebCore::AudioArray::AudioArray): |
+ (WebCore::AudioArray::zero): |
+ (WebCore::AudioArray::zeroRange): |
+ (WebCore::AudioArray::copyToRange): |
+ |
+2010-09-07 Mihai Parparita <mihaip@chromium.org> |
+ |
+ Reviewed by Oliver Hunt. |
+ |
+ pushState and replaceState do not clone RegExp objects correctly |
+ https://bugs.webkit.org/show_bug.cgi?id=44718 |
+ |
+ Add RegExp support to the JSC implementation of SerializedScriptValue |
+ (it stores the pattern and flags read from a RegExpObject, and creates |
+ a new one on deserialization). |
+ |
+ Tests: fast/loader/stateobjects/pushstate-object-types.html |
+ |
+ * ForwardingHeaders/runtime/RegExp.h: Added. |
+ * ForwardingHeaders/runtime/RegExpObject.h: Added. |
+ * bindings/js/SerializedScriptValue.cpp: |
+ (WebCore::CloneSerializer::dumpIfTerminal): |
+ (WebCore::CloneDeserializer::readTerminal): |
+ |
+2010-09-07 James Robinson <jamesr@chromium.org> |
+ |
+ Reviewed by Kenneth Russell. |
+ |
+ Fix compile errors in DrawingBuffer if USE(ACCELERATED_COMPOSITING) is not set |
+ https://bugs.webkit.org/show_bug.cgi?id=45324 |
+ |
+ Adds appropriate #if guards around code that has to deal directly with the compositor. |
+ DrawingBuffer can still be used without the compositor as an off-screen rendering |
+ region. |
+ |
+ To test, compile without USE(ACCELERATED_COMPOSITING). |
+ |
+ * platform/graphics/chromium/DrawingBufferChromium.cpp: |
+ (WebCore::DrawingBuffer::~DrawingBuffer): |
+ (WebCore::DrawingBuffer::reset): |
+ * platform/graphics/gpu/DrawingBuffer.h: |
+ |
+2010-09-03 Joseph Pecoraro <joepeck@webkit.org> |
+ |
+ Reviewed by Darin Adler. |
+ |
+ Provide a way to trigger a <select multiple> onchange event on changes |
+ https://bugs.webkit.org/show_bug.cgi?id=45192 |
+ |
+ Test: LayoutTests/platform/mac/fast/objc/dom-html-select-activate.html |
+ |
+ This provides a way for a WebKit client using the Obj-C DOM bindings to |
+ trigger the "change" on a listbox select (<select multiple> or <select> |
+ with size > 1). This is because when a select is rendered as a listbox |
+ "change" events are triggered by mouse down events. |
+ |
+ This adds -[DOMHTMLSelectElement _activateItemAtIndex:allowMultipleSelection:] |
+ to allow for handling multiple selections if the select element is a |
+ multi-select. |
+ |
+ * bindings/objc/DOMHTML.mm: |
+ (-[DOMHTMLSelectElement _activateItemAtIndex:allowMultipleSelection:]): |
+ * bindings/objc/DOMPrivate.h: unified the Category name. Was "FormsAutocomplete" now all are "FormAutocomplete". |
+ * dom/SelectElement.h: |
+ * html/HTMLSelectElement.cpp: |
+ (WebCore::HTMLSelectElement::setSelectedIndexByUser): listboxs need to be treated specially to fire their "change" event. |
+ * html/HTMLSelectElement.h: |
+ * wml/WMLSelectElement.cpp: |
+ (WebCore::WMLSelectElement::setSelectedIndexByUser): |
+ |
+2010-09-07 Simon Fraser <simon.fraser@apple.com> |
+ |
+ Reviewed by Darin Adler. |
+ |
+ Minor WKCACFLayerRenderer cleanup |
+ https://bugs.webkit.org/show_bug.cgi?id=45201 |
+ |
+ Call initD3DGeometry() from createRenderer, rather than duplicating the code. |
+ |
+ No behavior changes. |
+ |
+ * platform/graphics/win/WKCACFLayerRenderer.cpp: |
+ (WebCore::WKCACFLayerRenderer::createRenderer): |
+ |
+2010-09-07 Vangelis Kokkevis <vangelis@chromium.org> |
+ |
+ Reviewed by Darin Fisher. |
+ |
+ [chromium] Reset the owner of PlatformLayer's once the GraphicsLayer they are associated with |
+ gets destroyed. |
+ https://bugs.webkit.org/show_bug.cgi?id=45329 |
+ |
+ Test: Fixes UI test failures downstream for all the Media tests when run on the buildbots (machines without GPUs). |
+ |
+ * platform/graphics/chromium/GraphicsLayerChromium.cpp: |
+ (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium): |
+ |
+2010-09-07 Anders Carlsson <andersca@apple.com> |
+ |
+ Reviewed by Darin Adler. |
+ |
+ <rdar://problem/8381749> -Wcast-align warning emitted when building with clang |
+ |
+ Remove the -Wcast-align-warning since it isn't really useful, and clang is more aggressive about warning than gcc. |
+ |
+ * Configurations/Base.xcconfig: |
+ |
+2010-09-07 Abhishek Arya <inferno@chromium.org> |
+ |
+ Reviewed by Darin Adler. |
+ |
+ Remove redundant bounds check in originalText(). Add bounds check |
+ to previousCharacter(). No need of start() > 0 check since m_start |
+ is unsigned and we already do start() null check inside function. |
+ https://bugs.webkit.org/show_bug.cgi?id=45303 |
+ |
+ Test: fast/text/one-letter-transform-crash.html |
+ |
+ * rendering/RenderTextFragment.cpp: |
+ (WebCore::RenderTextFragment::originalText): |
+ (WebCore::RenderTextFragment::previousCharacter): |
+ |
+2010-09-07 Kenneth Russell <kbr@google.com> |
+ |
+ Reviewed by Dimitri Glazkov. |
+ |
+ Regression in JPEG texture uploads on Mac OS X |
+ https://bugs.webkit.org/show_bug.cgi?id=45316 |
+ |
+ Fixed regression introduced in |
+ https://bugs.webkit.org/show_bug.cgi?id=44566 . Added regression |
+ test covering this case to gl-teximage.html in Khronos repository |
+ and synced test with WebKit's version. |
+ |
+ * platform/graphics/cg/GraphicsContext3DCG.cpp: |
+ (WebCore::GraphicsContext3D::getImageData): |
+ |
+2010-09-07 Martin Robinson <mrobinson@igalia.com> |
+ |
+ Add rendering/ColumnInfo.h to the sources list. |
+ |
+ * GNUmakefile.am: |
+ |
+2010-09-07 David Hyatt <hyatt@apple.com> |
+ |
+ Reviewed by Beth Dakin. |
+ |
+ https://bugs.webkit.org/show_bug.cgi?id=45317, encapsulate multi-column rectangle information. |
+ |
+ * WebCore.xcodeproj/project.pbxproj: |
+ * rendering/ColumnInfo.h: Added. |
+ (WebCore::ColumnInfo::ColumnInfo): |
+ (WebCore::ColumnInfo::desiredColumnWidth): |
+ (WebCore::ColumnInfo::setDesiredColumnWidth): |
+ (WebCore::ColumnInfo::desiredColumnCount): |
+ (WebCore::ColumnInfo::setDesiredColumnCount): |
+ (WebCore::ColumnInfo::columnCount): |
+ (WebCore::ColumnInfo::columnRectAt): |
+ (WebCore::ColumnInfo::clearColumns): |
+ (WebCore::ColumnInfo::addColumnRect): |
+ * rendering/RenderBlock.cpp: |
+ (WebCore::RenderBlock::paintColumnRules): |
+ (WebCore::RenderBlock::paintColumnContents): |
+ (WebCore::RenderBlock::lowestPosition): |
+ (WebCore::RenderBlock::rightmostPosition): |
+ (WebCore::RenderBlock::leftmostPosition): |
+ (WebCore::RenderBlock::hitTestColumns): |
+ (WebCore::RenderBlock::setDesiredColumnCountAndWidth): |
+ (WebCore::RenderBlock::desiredColumnWidth): |
+ (WebCore::RenderBlock::desiredColumnCount): |
+ (WebCore::RenderBlock::columnInfo): |
+ (WebCore::RenderBlock::layoutColumns): |
+ (WebCore::RenderBlock::adjustPointToColumnContents): |
+ (WebCore::RenderBlock::adjustRectForColumns): |
+ (WebCore::RenderBlock::adjustForColumns): |
+ * rendering/RenderBlock.h: |
+ * rendering/RenderLayer.cpp: |
+ (WebCore::RenderLayer::paintChildLayerIntoColumns): |
+ (WebCore::RenderLayer::hitTestChildLayerColumns): |
+ |
+2010-09-07 Dan Bernstein <mitz@apple.com> |
+ |
+ Reviewed by Dave Hyatt. |
+ |
+ <rdar://problem/7794761> Floats inside of multicol fail to hit test |
+ https://bugs.webkit.org/show_bug.cgi?id=44730 |
+ |
+ Test: fast/multicol/hit-test-float.html |
+ |
+ Factored float hit-testing out of nodeAtPoint so that hitTestColumns could |
+ call it with column-adjusted coordinates. |
+ |
+ * rendering/RenderBlock.cpp: |
+ (WebCore::RenderBlock::nodeAtPoint): |
+ (WebCore::RenderBlock::hitTestFloats): |
+ (WebCore::RenderBlock::hitTestColumns): |
+ * rendering/RenderBlock.h: |
+ |
+2010-09-07 François Sausset <sausset@gmail.com> |
+ |
+ Reviewed by Beth Dakin. |
+ |
+ <math> element should be centered when display attribute set to block. |
+ https://bugs.webkit.org/show_bug.cgi?id=44206 |
+ |
+ Test: mathml/presentation/attributes.xhtml |
+ |
+ * css/mathml.css: |
+ (math[display="block"]): |
+ |
+2010-09-07 Eric Carlson <eric.carlson@apple.com> |
+ |
+ Reviewed by Darin Adler. |
+ |
+ Media elements should derive from ActiveDOMObjects |
+ https://bugs.webkit.org/show_bug.cgi?id=45306 |
+ <rdar://problem/7929062> |
+ |
+ * html/HTMLMediaElement.cpp: |
+ (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize ActiveDOMObject |
+ (WebCore::HTMLMediaElement::stop): Call suspend, we want to do the same thing in both cases. |
+ (WebCore::HTMLMediaElement::suspend): Rename from documentWillBecomeInactive. |
+ (WebCore::HTMLMediaElement::resume): Rename from documentDidBecomeActive. |
+ (WebCore::HTMLMediaElement::hasPendingActivity): Return true if the event queue is not empty |
+ so the element can't be collected before they are sent. |
+ * html/HTMLMediaElement.h: |
+ (WebCore::HTMLMediaElement::canSuspend): |
+ |
+2010-09-07 Dimitri Glazkov <dglazkov@chromium.org> |
+ |
+ Unreviewed, rolling out r66886. |
+ http://trac.webkit.org/changeset/66886 |
+ https://bugs.webkit.org/show_bug.cgi?id=45112 |
+ |
+ Made |
+ |
+ * platform/chromium/GeolocationServiceChromium.cpp: |
+ * platform/chromium/GeolocationServiceChromium.h: |
+ |
+2010-09-07 Martin Robinson <mrobinson@igalia.com> |
+ |
+ Small build fix. Remove libWebCoreJS from CLEAN_FILES, as it |
+ is no longer built. |
+ |
+ * GNUmakefile.am: Remove reference to libWebCoreJS. |
+ |
+2010-09-07 Martin Robinson <mrobinson@igalia.com> |
+ |
+ Reviewed by Xan Lopez. |
+ |
+ [GTK] [REGRESSION] r66848 caused a crash in testwebview |
+ https://bugs.webkit.org/show_bug.cgi?id=45298 |
+ |
+ No new tests as this fixes a test failure. |
+ |
+ * platform/gtk/ScrollViewGtk.cpp: |
+ (WebCore::ScrollView::setGtkAdjustments): Don't actually attach the |
+ scrollbar adjustments unless this is a main frame ScrollView. If we do |
+ Scrollbars will be cast incorrectly to MainFrameScrollbarGtk, causing |
+ a segfault. |
+ |
+2010-09-07 Kristian Monsen <kristianm@google.com> |
+ |
+ Reviewed by Steve Block. |
+ |
+ Compile fix for Android. |
+ https://bugs.webkit.org/show_bug.cgi?id=45292 |
+ Explicitly add needed header for |
+ STRING_TO_V8PARAMETER_EXCEPTION_BLOCK as they do not get |
+ included through other headers on Android. |
+ |
+ No new tests, just a compile fix. |
+ |
+ * bindings/scripts/CodeGeneratorV8.pm: |
+ |
+2010-09-07 Martin Robinson <mrobinson@igalia.com> |
+ |
+ Reviewed by Xan Lopez. |
+ |
+ [GTK] Fix some feature guards |
+ https://bugs.webkit.org/show_bug.cgi?id=45302 |
+ |
+ No new tests as this is just a build change. |
+ |
+ * platform/graphics/gstreamer/DataSourceGStreamer.cpp: Guard with #if ENABLE(VIDEO) |
+ * platform/graphics/gstreamer/DataSourceGStreamer.h: Ditto. |
+ * platform/graphics/gstreamer/GOwnPtrGStreamer.cpp: Ditto. |
+ * platform/graphics/gstreamer/GOwnPtrGStreamer.h: Ditto. |
+ * platform/graphics/gstreamer/GStreamerGWorld.cpp: Ditto. |
+ * platform/graphics/gstreamer/GStreamerGWorld.h: Ditto. |
+ * platform/graphics/gstreamer/ImageGStreamer.h: Ditto. |
+ * platform/graphics/gstreamer/ImageGStreamerCG.mm: Ditto. |
+ * platform/graphics/gstreamer/ImageGStreamerCairo.cpp: Ditto. |
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Ditto. |
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: Ditto. |
+ * platform/graphics/gstreamer/PlatformVideoWindow.h: Ditto. |
+ * platform/graphics/gstreamer/PlatformVideoWindowEfl.cpp: Ditto. |
+ * platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp: Ditto. |
+ * platform/graphics/gstreamer/VideoSinkGStreamer.cpp: Ditto. |
+ * platform/graphics/gstreamer/VideoSinkGStreamer.h: Ditto. |
+ * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: Ditto. |
+ * platform/graphics/gstreamer/WebKitWebSourceGStreamer.h: Ditto. |
+ * platform/gtk/GeolocationServiceGtk.cpp: Guard with ENABLE(GEOLOCATION) |
+ * platform/gtk/GeolocationServiceGtk.h: Ditto. |
+ |
+2010-09-07 Jonathan Dixon <joth@chromium.org> |
+ |
+ Reviewed by Jeremy Orlow. |
+ |
+ Access to out-of-scope WebGeolocationServiceBridgeImpl |
+ https://bugs.webkit.org/show_bug.cgi?id=45112 |
+ |
+ Add missing virtual destructor to the abstract base class. |
+ |
+ * platform/chromium/GeolocationServiceChromium.cpp: |
+ (WebCore::GeolocationServiceBridge::~GeolocationServiceBridge): |
+ * platform/chromium/GeolocationServiceChromium.h: |
+ |
+2010-09-07 Martin Robinson <mrobinson@igalia.com> |
+ |
+ Reviewed by Xan Lopez. |
+ |
+ [GTK] [REGRESSION] r66848 caused a crash in testwebview |
+ https://bugs.webkit.org/show_bug.cgi?id=45298 |
+ |
+ No new tests as this fixes a test failure. |
+ |
+ * platform/gtk/ScrollViewGtk.cpp: |
+ (WebCore::ScrollView::setGtkAdjustments): Don't actually attach the |
+ scrollbar adjustments unless this is a main frame ScrollView. If we do |
+ Scrollbars will be cast incorrectly to MainFrameScrollbarGtk, causing |
+ a segfault. |
+ |
+2010-09-07 Adam Langley <agl@chromium.org> |
+ |
+ Reviewed by Tony Chang. |
+ |
+ [chromium] Fix complex text word spacing on Linux. |
+ |
+ I broke complex text word spacing with r66689. I misnamed a |
+ variable in the original code |glyphIndex| when it was |
+ actually indexing code points. That meant that I compared it |
+ against the wrong limit when working around Harfbuzz issues |
+ and neatly disabled word spacing. |
+ |
+ https://bugs.webkit.org/show_bug.cgi?id=45191 |
+ |
+ Test: fast/text/atsui-spacing-features.html |
+ |
+ * platform/graphics/chromium/FontLinux.cpp: |
+ (WebCore::TextRunWalker::setGlyphXPositions): |
+ |
+2010-09-07 Satish Sampath <satish@chromium.org> |
+ |
+ Reviewed by Steve Block. |
+ |
+ Fix speech button's hit test logic for RTL rendering. |
+ https://bugs.webkit.org/show_bug.cgi?id=45288 |
+ |
+ * rendering/RenderTextControlSingleLine.cpp: |
+ (WebCore::RenderTextControlSingleLine::forwardEvent): |
+ |
+2010-09-07 Satish Sampath <satish@chromium.org> |
+ |
+ Reviewed by Jeremy Orlow. |
+ |
+ Ignore programmatic clicks on speech input button for security reasons. |
+ https://bugs.webkit.org/show_bug.cgi?id=45181 |
+ |
+ Test: fast/speech/speech-button-ignore-generated-events.html |
+ |
+ * rendering/TextControlInnerElements.cpp: |
+ (WebCore::InputFieldSpeechButtonElement::defaultEventHandler): |
+ |
+2010-09-07 Kent Hansen <kent.hansen@nokia.com> |
+ |
+ Reviewed by Andreas Kling. |
+ |
+ [Qt] tst_QWebFrame::connectAndDisconnect() fails on WebKit trunk because __qt_sender__ is never set |
+ https://bugs.webkit.org/show_bug.cgi?id=44697 |
+ |
+ When the signal handler is a JS function, __qt_sender__ is stuffed into a temporary |
+ object that's pushed onto the function's scope before the function is invoked, and |
+ popped again afterwards. |
+ |
+ We were pushing this new scope object _after_ calling JSFunction::getCallData(), |
+ and relying on JSC::call() to use the fresh scope chain from the function object. |
+ However, this is no longer the case; JSC::call() uses the scope chain passed in |
+ the CallData argument. Hence, we need to set up the scope before the function's |
+ CallData is queried. |
+ |
+ * bridge/qt/qt_runtime.cpp: |
+ (JSC::Bindings::QtConnectionObject::execute): |
+ |
+2010-09-07 Kwang Yul Seo <skyul@company100.net> |
+ |
+ Reviewed by Kent Tamura. |
+ |
+ Add ENABLE(INSPECTOR) guard in InspectorController::inspectorControllerForNode |
+ https://bugs.webkit.org/show_bug.cgi?id=45272 |
+ |
+ Build fix. |
+ |
+ * inspector/InspectorController.h: |
+ (WebCore::InspectorController::inspectorControllerForNode): |
+ |
+2010-09-07 Joerg Bornemann <joerg.bornemann@nokia.com> |
+ |
+ Reviewed by Ariya Hidayat. |
+ |
+ Fix QtWebKit linker error on Windows CE 6. |
+ https://bugs.webkit.org/show_bug.cgi?id=43442 |
+ |
+ Doesn't affect any tests. |
+ |
+ * WebCore.pro: |
+ |
+2010-09-07 James Kozianski <koz@chromium.org> |
+ |
+ Reviewed by Kent Tamura. |
+ |
+ Crash rendering <meter/> with percent padding |
+ https://bugs.webkit.org/show_bug.cgi?id=45081 |
+ |
+ Avoids a crash caused by RenderMeter checking its own dimensions to |
+ determine whether it needs layout. The crash is avoided by removing |
+ the check and always calling setNeedsLayout(true). |
+ |
+ Test: fast/dom/HTMLMeterElement/meter-percent-size.html |
+ |
+ * rendering/RenderIndicator.cpp: |
+ (WebCore::RenderIndicator::updateFromElement): |
+ * rendering/RenderIndicator.h: |
+ |
+2010-09-06 Adam Barth <abarth@webkit.org> |
+ |
+ Reviewed by Sam Weinig. |
+ |
+ OOB read with svg polyline |
+ https://bugs.webkit.org/show_bug.cgi?id=45279 |
+ |
+ In principle, attributeChanged can do anything. If we supported more |
+ DOM mutation events, it could even run JavaScript. That means we need |
+ to be prepared for the attribute map to change when running |
+ attributeChanged. This patch makes this loop resilient to the |
+ attribute map changing by storing the list of changed attributes on the |
+ stack. |
+ |
+ Test: fast/parser/changing-attrbutes-crash.html |
+ |
+ * dom/Element.cpp: |
+ (WebCore::Element::setAttributeMap): |
+ |
+2010-09-06 Oliver Hunt <oliver@apple.com> |
+ |
+ Windows build fix |
+ |
+ * bindings/js/SerializedScriptValue.cpp: |
+ (WebCore::CloneSerializer::write): |
+ |
+2010-09-06 Oliver Hunt <oliver@apple.com> |
+ |
+ Windows build fix |
+ |
+ * bindings/js/SerializedScriptValue.cpp: |
+ (WebCore::CloneSerializer::write): |
+ |
+2010-09-05 Oliver Hunt <oliver@apple.com> |
+ |
+ Reviewed by Sam Weinig. |
+ |
+ SerializedScriptValue needs to use a flat storage mechanism |
+ https://bugs.webkit.org/show_bug.cgi?id=45244 |
+ |
+ Rewrite the old tree to tree serialization logic to use |
+ flat storage. Unfortunately this basically required a |
+ complete rewrite. |
+ |
+ * bindings/js/SerializedScriptValue.cpp: |
+ (WebCore::CloneBase::CloneBase): |
+ (WebCore::CloneBase::shouldTerminate): |
+ (WebCore::CloneBase::ticksUntilNextCheck): |
+ (WebCore::CloneBase::didTimeOut): |
+ (WebCore::CloneBase::throwStackOverflow): |
+ (WebCore::CloneBase::throwInterruptedException): |
+ (WebCore::CloneBase::fail): |
+ (WebCore::CloneSerializer::serialize): |
+ (WebCore::CloneSerializer::CloneSerializer): |
+ (WebCore::CloneSerializer::isArray): |
+ (WebCore::CloneSerializer::startObject): |
+ (WebCore::CloneSerializer::startArray): |
+ (WebCore::CloneSerializer::endObject): |
+ (WebCore::CloneSerializer::getSparseIndex): |
+ (WebCore::CloneSerializer::getProperty): |
+ (WebCore::CloneSerializer::dumpImmediate): |
+ (WebCore::CloneSerializer::dumpString): |
+ (WebCore::CloneSerializer::dumpIfTerminal): |
+ (WebCore::CloneSerializer::write): |
+ (WebCore::CloneSerializer::writeLittleEndian): |
+ (WebCore::CloneSerializer::writeStringIndex): |
+ (WebCore::CloneDeserializer::deserializeString): |
+ (WebCore::CloneDeserializer::deserialize): |
+ (WebCore::CloneDeserializer::CloneDeserializer): |
+ (WebCore::CloneDeserializer::throwValidationError): |
+ (WebCore::CloneDeserializer::isValid): |
+ (WebCore::CloneDeserializer::readLittleEndian): |
+ (WebCore::CloneDeserializer::read): |
+ (WebCore::CloneDeserializer::readStringIndex): |
+ (WebCore::CloneDeserializer::readString): |
+ (WebCore::CloneDeserializer::readStringData): |
+ (WebCore::CloneDeserializer::readTag): |
+ (WebCore::CloneDeserializer::putProperty): |
+ (WebCore::CloneDeserializer::readFile): |
+ (WebCore::CloneDeserializer::readTerminal): |
+ (WebCore::SerializedScriptValue::~SerializedScriptValue): |
+ (WebCore::SerializedScriptValue::SerializedScriptValue): |
+ (WebCore::SerializedScriptValue::create): |
+ (WebCore::SerializedScriptValue::toString): |
+ (WebCore::SerializedScriptValue::deserialize): |
+ (WebCore::SerializedScriptValue::nullValue): |
+ * bindings/js/SerializedScriptValue.h: |
+ * dom/MessagePortChannel.cpp: |
+ (WebCore::MessagePortChannel::EventData::EventData): |
+ * workers/WorkerMessagingProxy.cpp: |
+ (WebCore::MessageWorkerContextTask::MessageWorkerContextTask): |
+ (WebCore::MessageWorkerTask::MessageWorkerTask): |
+ |
+2010-09-06 Martin Robinson <mrobinson@igalia.com> |
+ |
+ Reviewed by Gustavo Noronha Silva. |
+ |
+ [GTK] ScrollbarThemeGtk should be enabled for interior frame scrollbars |
+ https://bugs.webkit.org/show_bug.cgi?id=45046 |
+ |
+ Make interior frame scrollbars "fully-fake," which means they do not rely |
+ at all on GTK+ for painting or behavior, but instead are typical WebCore |
+ scrollbars drawn according to the GTK+ theme. Move ScrollbarGtk to |
+ MainFrameScrollbarGtk and remove all logic in that file dealing with interior |
+ frame scrollbars. |
+ |
+ No new tests, as this is already covered by pixel tests for scrollbars, |
+ which were added in r66605. |
+ |
+ * GNUmakefile.am: Update sources list. |
+ * platform/ScrollView.h: Change the adjustment members to be smart pointers. |
+ * platform/Scrollbar.cpp: Enable THUMB_POSITION_AFFECTS_BUTTONS for GTK+ as well. |
+ * platform/gtk/MainFrameScrollbarGtk.cpp: Added. |
+ (MainFrameScrollbarGtk::create): Create a MainFrameScrollbarGtk instead of ScrollbarGtk. |
+ (MainFrameScrollbarGtk::MainFrameScrollbarGtk): |
+ (MainFrameScrollbarGtk::~MainFrameScrollbarGtk): |
+ (MainFrameScrollbarGtk::attachAdjustment): |
+ (MainFrameScrollbarGtk::detachAdjustment): |
+ (MainFrameScrollbarGtk::updateThumbPosition): |
+ (MainFrameScrollbarGtk::updateThumbProportion): |
+ (MainFrameScrollbarGtk::gtkValueChanged): |
+ (MainFrameScrollbarGtk::paint): |
+ * platform/gtk/MainFrameScrollbarGtk.h: Added. |
+ * platform/gtk/ScrollViewGtk.cpp: |
+ (WebCore::ScrollView::platformInit): Remove unnecessary initialization |
+ because of smart pointer change. |
+ (WebCore::ScrollView::createScrollbar): Instead of creating ScrollbarGtk for |
+ interior frame scrollbars, create a normal WebCore scrollbar. |
+ (WebCore::ScrollView::setGtkAdjustments): Added an extra assert which ensures |
+ that this method is never called with a non-null adjustment on an interior frame |
+ scrollbar. |
+ (WebCore::ScrollView::platformAddChild): Remove logic for interior frame scrollbars. |
+ (WebCore::ScrollView::platformRemoveChild): Remove logic for interior frame scrollbars. |
+ (WebCore::ScrollView::visibleContentRect): Use a more accurate guard for detecting |
+ transitionary states when accessing parent widgets. Explcitly guard against interior |
+ frame ScrollView's trying to determine size based on parent widgets. |
+ (WebCore::ScrollView::setScrollbarModes): This method was out of sync with the one |
+ it copy-and-pasted from. Update it and change the logic to do the right thing for |
+ interior frame scrollbars. |
+ * platform/gtk/ScrollbarGtk.cpp: Removed. |
+ * platform/gtk/ScrollbarGtk.h: Removed. |
+ |
+2010-09-06 Justin Schuh <jschuh@chromium.org> |
+ |
+ Reviewed by Nikolas Zimmermann. |
+ |
+ Make SVG PendingResources use RefPtr |
+ https://bugs.webkit.org/show_bug.cgi?id=43587 |
+ |
+ Convert SVGDocumentExtensions::m_pendingResources to use a RefPtr for |
+ pending elements instead of a raw pointer so that pending elements can't |
+ be freed prematurely. |
+ |
+ Test: svg/custom/use-invalid-pattern.svg |
+ |
+ * rendering/RenderSVGResourceContainer.cpp: |
+ (WebCore::RenderSVGResourceContainer::registerResource): |
+ * svg/SVGDocumentExtensions.cpp: |
+ (WebCore::SVGDocumentExtensions::addPendingResource): |
+ (WebCore::SVGDocumentExtensions::removePendingResource): |
+ * svg/SVGDocumentExtensions.h: |
+ * svg/SVGElement.cpp: |
+ (WebCore::SVGElement::insertedIntoDocument): |
+ |
+2010-09-06 Martin Robinson <mrobinson@igalia.com> |
+ |
+ Reviewed by Gustavo Noronha Silva. |
+ |
+ [GTK] ScrollbarThemeGtk should support secondary steppers |
+ https://bugs.webkit.org/show_bug.cgi?id=44791 |
+ |
+ Add support to ScrollbarThemeGtk for drawing alternate steppers. Adjust |
+ the algorithms for calculating forward and back button rects, if they |
+ are active in the theme. Expose this information via GtkScrollbarMetrics. |
+ |
+ * platform/gtk/ScrollbarThemeGtk.cpp: |
+ (WebCore::ScrollbarThemeGtk::updateThemeProperties): Access the secondary stepper properties |
+ of GtkScrollbarMetrics when updating the style cache. |
+ (WebCore::ScrollbarThemeGtk::backButtonRect): Account for alternate steppers. |
+ (WebCore::ScrollbarThemeGtk::forwardButtonRect): Ditto. |
+ (WebCore::ScrollbarThemeGtk::trackRect): Ditto. |
+ (WebCore::ScrollbarThemeGtk::paintButton): Ditto. |
+ * platform/gtk/ScrollbarThemeGtk.h: |
+ * platform/gtk/gtk2drawing.c: Expose whether or not the style uses alternate steppers |
+ via GtkScrollbarMetrics. |
+ * platform/gtk/gtkdrawing.h: Added fields to GtkScrollbarMetrics. |
+ |
+2010-09-06 Tony Gentilcore <tonyg@chromium.org> |
+ |
+ Reviewed by Adam Barth. |
+ |
+ Implement HTML5 definition of document.readyState |
+ https://bugs.webkit.org/show_bug.cgi?id=45119 |
+ |
+ The legacy behavior was "loading" -> "loaded" -> "complete". The new |
+ HTML5 behavior is "loading" -> "interactive" -> "complete". There is |
+ some potential for this to cause compat problems if for instance a |
+ page expects readyState to be "loaded" during the DOMContentLoaded event. |
+ |
+ Test: fast/dom/Document/readystate.html |
+ |
+ * dom/Document.cpp: |
+ (WebCore::Document::Document): Initial value is Complete because according to http://www.whatwg.org/specs/web-apps/current-work/#dom-document-readystate, |
+ when a Document is created the initial value is "complete" unless it has a parser associated with it, in which case it is "loading". |
+ So the ctor starts it Complete, and when the parser is created it is flipped to Loading. |
+ (WebCore::Document::readyState): |
+ (WebCore::Document::setReadyState): |
+ (WebCore::Document::implicitOpen): |
+ (WebCore::Document::finishedParsing): Ensure that XML and HTML parser have transition to Stopping state. |
+ * dom/Document.h: |
+ * dom/DocumentParser.cpp: |
+ (WebCore::DocumentParser::prepareToStopParsing): Previously this was being called when parsing had stopped. |
+ It is better to ensure it is only called while parsing. |
+ * dom/XMLDocumentParser.cpp: |
+ (WebCore::XMLDocumentParser::end): Transition to stopping before calling document finishedParsiong(). |
+ * html/parser/HTMLDocumentParser.cpp: |
+ (WebCore::HTMLDocumentParser::prepareToStopParsing): Set state to interactive before running deferred scripts. |
+ This method is also called when parsing fragments, so we need to ensure it isn't done in that case. |
+ (WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd): Added. Break out this part s that notifyFinished doesn't go through |
+ the additional steps of pumping tokenizer, setting the state, etc. |
+ (WebCore::HTMLDocumentParser::notifyFinished): Now that prepareToStopParsing is split up, we must protect. It also makes sense to add a couple of ASSERTs. |
+ * loader/FrameLoader.cpp: |
+ (WebCore::FrameLoader::stopLoading): It looks like an aborted load should never transition to "complete" according the HTML5. I've left the legacy behavior for now though. |
+ (WebCore::FrameLoader::checkCompleted): The FrameLoader now sets the state on the Document instead of the Document polling the FrameLoader. |
+ |
+2010-09-06 Anton Muhin <antonm@chromium.org> |
+ |
+ Reviewed by Adam Barth. |
+ |
+ [v8] Inline hot methods for V8 to WebCore and back conversions |
+ https://bugs.webkit.org/show_bug.cgi?id=45270 |
+ |
+ Inline fast paths of hot functions performing conversions from V8 wrappers |
+ to WebCore native objects and back. |
+ That slightly increases the size of binary (within 0.1% for both Ubuntu |
+ and Windows, but those builds are slightly different from official ones), |
+ but gives performance boost (3--5% on Windows, up to 8% on Ubuntu). |
+ |
+ * bindings/scripts/CodeGeneratorV8.pm: |
+ * bindings/v8/V8DOMWindowShell.cpp: |
+ (WebCore::V8DOMWindowShell::initContextIfNeeded): |
+ * bindings/v8/V8DOMWindowShell.h: |
+ * bindings/v8/V8DOMWrapper.cpp: |
+ (WebCore::V8DOMWrapper::getWrapperSlow): |
+ * bindings/v8/V8DOMWrapper.h: |
+ (WebCore::V8DOMWrapper::getWrapper): |
+ * bindings/v8/custom/V8NodeCustom.cpp: |
+ (WebCore::toV8Slow): |
+ |
+2010-09-06 Shane Stephens <shanestephens@google.com> |
+ |
+ Reviewed by Dimitri Glazkov. |
+ |
+ [Crash] <animateMotion> element directly inside <symbol> element causes crash when referenced by <use> |
+ https://bugs.webkit.org/show_bug.cgi?id=44750 |
+ |
+ Fixes crash by checking for null transforms and skipping update step |
+ when appropriate. |
+ |
+ Test: svg/dom/symbol-embeddedAnimation.svg |
+ |
+ * svg/SVGAnimateMotionElement.cpp: |
+ (WebCore::SVGAnimateMotionElement::applyResultsToTarget): |
+ |
+2010-09-06 Xan Lopez <xlopez@igalia.com> |
+ |
+ Rubber-stamped by Tor Arne Vestbø. |
+ |
+ WebCore already generates a focus-{out,in} events on its setFocus |
+ method, there's no need to duplicate it here. Previously this was |
+ needed because we were not catching all possible names of focus |
+ events in PluginView::handleEvent and were missing the ones |
+ WebCore does, but this has been fixed in r66827. |
+ |
+ * plugins/qt/PluginViewQt.cpp: |
+ (WebCore::PluginView::setFocus): |
+ |
+2010-09-06 Sheriff Bot <webkit.review.bot@gmail.com> |
+ |
+ Unreviewed, rolling out r66823. |
+ http://trac.webkit.org/changeset/66823 |
+ https://bugs.webkit.org/show_bug.cgi?id=45266 |
+ |
+ Windows build fails with unknown reason (Requested by zherczeg |
+ on #webkit). |
+ |
+ * Android.mk: |
+ * CMakeLists.txt: |
+ * GNUmakefile.am: |
+ * WebCore.gypi: |
+ * WebCore.pro: |
+ * WebCore.vcproj/WebCore.vcproj: |
+ * WebCore.xcodeproj/project.pbxproj: |
+ * rendering/RenderObject.h: |
+ * rendering/RenderSVGResourceFilterPrimitive.cpp: Removed. |
+ * rendering/RenderSVGResourceFilterPrimitive.h: Removed. |
+ * rendering/SVGRenderTreeAsText.cpp: |
+ (WebCore::writeSVGContainer): |
+ * svg/SVGFEDiffuseLightingElement.cpp: |
+ (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged): |
+ * svg/SVGFELightElement.cpp: |
+ (WebCore::SVGFELightElement::svgAttributeChanged): |
+ (WebCore::SVGFELightElement::childrenChanged): |
+ * svg/SVGFEOffsetElement.cpp: |
+ (WebCore::SVGFEOffsetElement::svgAttributeChanged): |
+ * svg/SVGFilterElement.h: |
+ (WebCore::SVGFilterElement::invalidateFilter): |
+ * svg/SVGFilterPrimitiveStandardAttributes.cpp: |
+ (WebCore::SVGFilterPrimitiveStandardAttributes::svgAttributeChanged): |
+ (WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged): |
+ * svg/SVGFilterPrimitiveStandardAttributes.h: |
+ (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded): |
+ |
+2010-09-06 Xan Lopez <xlopez@igalia.com> |
+ |
+ Reviewed by Martin Robinson. |
+ |
+ [GTK] Provide Keyboard Events to Windowless plugins |
+ https://bugs.webkit.org/show_bug.cgi?id=44613 |
+ |
+ Fix keyboard event delivery for windowless plugins. |
+ |
+ Based on a patch by Bharathwaaj. |
+ |
+ * plugins/PluginView.cpp: |
+ (WebCore::PluginView::handleEvent): also take into account |
+ focused{in,out} events |
+ * plugins/gtk/PluginViewGtk.cpp: |
+ (WebCore::PluginView::handleKeyboardEvent): we want the keyval |
+ here, not the hardware keycode |
+ (WebCore::PluginView::handleMouseEvent): focus the pluginview on mouse events |
+ |
+2010-09-06 Ilya Tikhonovsky <loislo@chromium.org> |
+ |
+ Reviewed by Yury Semikhatsky. |
+ |
+ WebInspector: it'd be nice to be able to pass undefined argument as a callback to InspectorBackend functions. |
+ |
+ There are some places where callback is passing via some wrapper. In that case sendMessageToBackend |
+ will be called with additional argument for callback but with undefined value. |
+ |
+ https://bugs.webkit.org/show_bug.cgi?id=45265 |
+ |
+ * inspector/CodeGeneratorInspector.pm: |
+ |
+2010-09-06 Zoltan Herczeg <zherczeg@webkit.org> |
+ |
+ Reviewed by Dirk Schulze. |
+ |
+ An individual renderer should be assigned to each SVGFE*Element class |
+ https://bugs.webkit.org/show_bug.cgi?id=43954 |
+ |
+ RenderSVGResourceFilterPrimitive renderer is added to |
+ the project, and assigned to each object, which class is |
+ derived from SVGFilterPrimitiveStandardAttributes. The patch |
+ mainly contains build system changes, and it fixes one layout |
+ test in svg/dynamic-updates. |
+ |
+ * Android.mk: |
+ * CMakeLists.txt: |
+ * GNUmakefile.am: |
+ * WebCore.gypi: |
+ * WebCore.pro: |
+ * WebCore.vcproj/WebCore.vcproj: |
+ * WebCore.xcodeproj/project.pbxproj: |
+ * rendering/RenderObject.h: |
+ (WebCore::RenderObject::isSVGResourceFilterPrimitive): |
+ * rendering/RenderSVGResourceFilterPrimitive.cpp: Added. |
+ (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive): |
+ * rendering/RenderSVGResourceFilterPrimitive.h: Added. |
+ (WebCore::RenderSVGResourceFilterPrimitive::isSVGResourceFilterPrimitive): |
+ * rendering/SVGRenderTreeAsText.cpp: |
+ (WebCore::writeSVGContainer): |
+ * svg/SVGFEDiffuseLightingElement.cpp: |
+ (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged): |
+ * svg/SVGFELightElement.cpp: |
+ (WebCore::SVGFELightElement::svgAttributeChanged): |
+ (WebCore::SVGFELightElement::childrenChanged): |
+ * svg/SVGFEOffsetElement.cpp: |
+ (WebCore::SVGFEOffsetElement::svgAttributeChanged): |
+ * svg/SVGFilterElement.h: |
+ * svg/SVGFilterPrimitiveStandardAttributes.cpp: |
+ (WebCore::SVGFilterPrimitiveStandardAttributes::svgAttributeChanged): |
+ (WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged): |
+ (WebCore::SVGFilterPrimitiveStandardAttributes::createRenderer): |
+ * svg/SVGFilterPrimitiveStandardAttributes.h: |
+ (WebCore::SVGFilterPrimitiveStandardAttributes::invalidate): |
+ |
+2010-09-06 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
+ |
+ Reviewed by Dirk Schulze. |
+ |
+ [WML] Use RenderImageResource in WMLImageElement.cpp |
+ https://bugs.webkit.org/show_bug.cgi?id=44952 |
+ |
+ The hasImage() and setCachedImage() were moved to RenderImageResource class. |
+ So, WML also should use the functions from RenderImageResource. |
+ |
+ * wml/WMLImageElement.cpp: |
+ (WebCore::WMLImageElement::attach): |
+ |
+2010-08-26 Jeremy Orlow <jorlow@chromium.org> |
+ |
+ Reviewed by Steve Block. |
+ |
+ Add index insertion support to IndexedDB. |
+ https://bugs.webkit.org/show_bug.cgi?id=44695 |
+ |
+ Whenever you insert an item into an ObjectStore, it should use all |
+ indexes' key paths to insert corresponding entries into each index. |
+ Also data should be deleted out of the index when it goes away. |
+ |
+ Not much testing yet since there's no way to directly observe indexes. |
+ More will be in next patch. |
+ |
+ * storage/IDBDatabaseBackendImpl.cpp: |
+ (WebCore::IDBDatabaseBackendImpl::removeObjectStore): |
+ * storage/IDBFactoryBackendImpl.cpp: |
+ (WebCore::createTables): |
+ * storage/IDBIndex.idl: |
+ * storage/IDBIndexBackendImpl.cpp: |
+ (WebCore::whereClause): |
+ (WebCore::bindWhereClause): |
+ (WebCore::IDBIndexBackendImpl::addingKeyAllowed): |
+ * storage/IDBIndexBackendImpl.h: |
+ (WebCore::IDBIndexBackendImpl::id): |
+ * storage/IDBKey.cpp: |
+ (WebCore::IDBKey::whereSyntax): |
+ (WebCore::IDBKey::bind): |
+ (WebCore::IDBKey::bindWithNulls): |
+ * storage/IDBKey.h: |
+ * storage/IDBObjectStore.idl: |
+ * storage/IDBObjectStoreBackendImpl.cpp: |
+ (WebCore::whereClause): |
+ (WebCore::bindWhereClause): |
+ (WebCore::IDBObjectStoreBackendImpl::get): |
+ (WebCore::fetchKeyFromKeyPath): |
+ (WebCore::putObjectStoreData): |
+ (WebCore::putIndexData): |
+ (WebCore::IDBObjectStoreBackendImpl::put): |
+ (WebCore::IDBObjectStoreBackendImpl::remove): |
+ (WebCore::IDBObjectStoreBackendImpl::createIndex): |
+ (WebCore::doDelete): |
+ (WebCore::IDBObjectStoreBackendImpl::removeIndex): |
+ (WebCore::IDBObjectStoreBackendImpl::openCursor): |
+ * storage/IDBObjectStoreBackendImpl.h: |
+ |
+2010-09-06 Anton Muhin <antonm@chromium.org> |
+ |
+ Reviewed by Adam Barth. |
+ |
+ [v8] bypass caches when query memory usage from post GC and in crash handler. |
+ https://bugs.webkit.org/show_bug.cgi?id=45036 |
+ |
+ Add Chromium-specific API to query actual memory usage which bypasses any caches. |
+ |
+ * platform/chromium/ChromiumBridge.h: |
+ |
+2010-09-06 Adam Barth <abarth@webkit.org> |
+ |
+ Reviewed by Darin Adler. |
+ |
+ Rename SecurityOrigin::canLoad to canDisplay |
+ https://bugs.webkit.org/show_bug.cgi?id=45214 |
+ |
+ canLoad is a pretty opaque name. This function is really about whether |
+ you can display the contents of the URL in an iframe, an image, or a |
+ plugin. |
+ |
+ * WebCore.exp.in: |
+ * html/HTMLMediaElement.cpp: |
+ (WebCore::HTMLMediaElement::isSafeToLoadURL): |
+ * loader/Cache.cpp: |
+ (WebCore::Cache::requestResource): |
+ * loader/FrameLoader.cpp: |
+ (WebCore::FrameLoader::loadFrameRequest): |
+ * loader/PingLoader.cpp: |
+ (WebCore::PingLoader::loadImage): |
+ * loader/SubframeLoader.cpp: |
+ (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin): |
+ (WebCore::SubframeLoader::createJavaAppletWidget): |
+ (WebCore::SubframeLoader::loadSubframe): |
+ (WebCore::SubframeLoader::loadPlugin): |
+ * loader/SubresourceLoader.cpp: |
+ (WebCore::SubresourceLoader::create): |
+ * page/SecurityOrigin.cpp: |
+ (WebCore::SecurityOrigin::canDisplay): |
+ * page/SecurityOrigin.h: |
+ * plugins/PluginView.cpp: |
+ (WebCore::PluginView::load): |
+ |
+2010-08-31 Yury Semikhatsky <yurys@chromium.org> |
+ |
+ Reviewed by Joseph Pecoraro. |
+ |
+ Web Inspector: browser crashes on attempt to evaluate "alert(1)" while staying on a breakpoint |
+ https://bugs.webkit.org/show_bug.cgi?id=44943 |
+ |
+ Test: inspector/debugger-suspend-active-dom-objects.html |
+ |
+ * page/PageGroupLoadDeferrer.cpp: |
+ (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): |
+ |
+2010-09-05 Kenneth Russell <kbr@google.com> |
+ |
+ Reviewed by Darin Fisher. |
+ |
+ Add unit tests for red-black tree and (POD) arena |
+ https://bugs.webkit.org/show_bug.cgi?id=45060 |
+ |
+ * platform/graphics/gpu/PODArena.h: Made DefaultChunkSize public so unit tests can access it. Fixed copyright header. |
+ * platform/graphics/gpu/PODInterval.h: Fixed copyright header. |
+ * platform/graphics/gpu/PODIntervalTree.h: Fixed copyright header. |
+ * platform/graphics/gpu/PODRedBlackTree.h: Fixed copyright header. |
+ |
2010-09-05 Jeremy Orlow <jorlow@chromium.org> |
Reviewed by Nate Chapin. |