diff options
Diffstat (limited to 'WebCore/ChangeLog')
-rw-r--r-- | WebCore/ChangeLog | 5851 |
1 files changed, 5851 insertions, 0 deletions
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog index c27e3b2..e0d5843 100644 --- a/WebCore/ChangeLog +++ b/WebCore/ChangeLog @@ -1,3 +1,5854 @@ +2010-07-12 Eric Seidel <eric@webkit.org> + + Reviewed by Sam Weinig. + + Fix a typo in the adoption agency causing test failures + https://bugs.webkit.org/show_bug.cgi?id=42133 + + The new behavior actually differs from old webkit. + <p><b><p>TEST + was not bold in the old parser, but is bold now. + This matches Minefield and the HTML5 spec. + + Covered by two tests in html5lib/runner.html. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::callTheAdoptionAgency): + +2010-07-12 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Joseph Pecoraro. + + Web Inspector: provide starts and ends for network phases instead of duration. + + https://bugs.webkit.org/show_bug.cgi?id=42091 + + * inspector/InspectorResource.cpp: + (WebCore::InspectorResource::updateResponse): + (WebCore::InspectorResource::updateScriptObject): + (WebCore::InspectorResource::buildObjectForTiming): + * platform/network/ResourceLoadTiming.h: + (WebCore::ResourceLoadTiming::deepCopy): + (WebCore::ResourceLoadTiming::operator==): + (WebCore::ResourceLoadTiming::ResourceLoadTiming): + * platform/network/ResourceResponseBase.cpp: + (WebCore::ResourceResponseBase::ResourceResponseBase): + (WebCore::ResourceResponseBase::wasCached): + (WebCore::ResourceResponseBase::setWasCached): + * platform/network/ResourceResponseBase.h: + +2010-07-12 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + HTML5 Parser: document.write after onload blows away document + https://bugs.webkit.org/show_bug.cgi?id=40745 + + Rather than blowing away the document when we get a document.write call + after the document is closed, we new ignore the write. This + technically violates the spec (which requires us to blow away the + document), but blowing away the document breaks too many web sites. + + Rather than this patch, we could go back to our old behavior (which was + to append the bytes just before EOF), but implementing this approach + (suggested by Henri) will let us gather data about whether his approach + is workable. + + See also: http://www.w3.org/Bugs/Public/show_bug.cgi?id=9767 + + * dom/Document.cpp: + (WebCore::Document::write): + * html/HTMLDocumentParser.cpp: + (WebCore::HTMLDocumentParser::insert): + +2010-07-12 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Oliver Hunt. + + Strip BOMs from source before passing to V8 + https://bugs.webkit.org/show_bug.cgi?id=42102 + + This extra copy may carry a performance penalty. We should investigate + whether this allows any simplification in v8/scanner.cc:SkipJavaScriptWhiteSpace(). + + No new tests because no new functionality. + + * bindings/v8/ScriptSourceCode.h: + (WebCore::ScriptSourceCode::ScriptSourceCode): + +2010-07-12 Gustavo Noronha Silva <gns@gnome.org> + + Unreviewed. make distcheck fix. + + * GNUmakefile.am: + +2010-07-12 Yuta Kitamura <yutak@chromium.org> + + Reviewed by Alexey Proskuryakov. + + Fix crash caused by unintentional deletion of worker bridge and channel. + + WebSocket: Crash caused by calling close() within onmessage handler + https://bugs.webkit.org/show_bug.cgi?id=41507 + + Test: websocket/tests/workers/close-in-onmessage-crash.html + + * websockets/WebSocket.cpp: + (WebCore::WebSocket::close): bufferedAmount() may call WebSocket::didClose(), + which causes m_channel to get freed. + * websockets/WorkerThreadableWebSocketChannel.cpp: + (WebCore::WorkerThreadableWebSocketChannel::Bridge::send): Add reference to + the bridge because waitForMethodCompletion() may dereference the bridge. + (WebCore::WorkerThreadableWebSocketChannel::Bridge::bufferedAmount): Ditto. + (WebCore::WorkerThreadableWebSocketChannel::Bridge::waitForMethodCompletion): + The root cause is a call to WorkerRunLoop::runInMode in this function. + It may call WebSocket::didClose() even inside WebSocket::close(), which frees + everything including the worker bridge and the channel. + +2010-07-12 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + REGRESSION (HTML5 parser?): Impossible to get past the CAPTCHA on postcode.royalmail.com + https://bugs.webkit.org/show_bug.cgi?id=41797 + + Once we resume parsing after script execution, we want to clear the + preload scanner so we don't scan any bytes it might have accumulated. + + Test: http/tests/loading/preload-slow-loading.php + + * html/HTMLDocumentParser.cpp: + (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution): + +2010-07-12 Albert J. Wong <ajwong@chromium.org> + + Reviewed by Jian Li. + + Adding directional property enums back into + CSSComputedStyleDeclaration::getPropertyCSSValue(). + + https://bugs.webkit.org/show_bug.cgi?id=42122 + + The four directional -webkit- properties -- CSSPropertyWebkitMarginEnd, + CSSPropertyWebkitMarginStart, CSSPropertyWebkitPaddingEnd, and + CSSPropertyWebkitPaddingStart -- are resolved into other css + properties before the swtich statement via a call to + CSSProperty::resolveDirectionAwareProperty(). Thus, they are never + seen by the switch statement. However, if you leave out a potential + enum value from the switch, gcc will generate a warning if -Wall is + specified. This warning breaks the Chromium build. To avoid this, + we add in the enum values and ASSERT_NOT_REACHED() if they are hit. + + + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + +2010-07-12 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler. + + AX converts AtomicStrings to .string() more than needed + https://bugs.webkit.org/show_bug.cgi?id=42056 + + No behavior change. No new tests. + + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::isPressed): + (WebCore::siblingWithAriaRole): + (WebCore::AccessibilityRenderObject::intValue): + (WebCore::AccessibilityRenderObject::accessibilityDescription): + (WebCore::AccessibilityRenderObject::hasTextAlternative): + (WebCore::AccessibilityRenderObject::supportsARIAFlowTo): + (WebCore::AccessibilityRenderObject::supportsARIADropping): + (WebCore::AccessibilityRenderObject::supportsARIADragging): + (WebCore::AccessibilityRenderObject::determineARIADropEffects): + (WebCore::AccessibilityRenderObject::isExpanded): + (WebCore::AccessibilityRenderObject::isRequired): + (WebCore::AccessibilityRenderObject::isSelected): + (WebCore::AccessibilityRenderObject::supportsARIAOwns): + (WebCore::AccessibilityRenderObject::isEnabled): + (WebCore::AccessibilityRenderObject::activeDescendant): + (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute): + (WebCore::AccessibilityRenderObject::orientation): + (WebCore::AccessibilityRenderObject::canSetExpandedAttribute): + (WebCore::AccessibilityRenderObject::canSetValueAttribute): + +2010-07-12 Tony Chang <tony@chromium.org> + + Reviewed by David Hyatt. + + crash in FrameView::detachCustomScrollbars + https://bugs.webkit.org/show_bug.cgi?id=41196 + + Test: scrollbars/hidden-iframe-scrollbar-crash.html + + * page/FrameView.cpp: + (WebCore::FrameView::detachCustomScrollbars): + +2010-07-12 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + HTML tags should break out of foreign content + https://bugs.webkit.org/show_bug.cgi?id=42106 + + Implement another paragraph of the spec to pass another + bunch of foreign content tests. + + This fixes a bunch of tests in html5lib/runner.html. + After this change we only have 4 remaining foreign content failures. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTag): + +2010-07-12 Zhenyao Mo <zmo@google.com> + + Reviewed by Darin Fisher. + + Bring bufferData and clear to GLES2 compliant + https://bugs.webkit.org/show_bug.cgi?id=41574 + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::bufferData): Call validateBufferDataUsage(). + (WebCore::WebGLRenderingContext::clear): Check mask. + (WebCore::WebGLRenderingContext::validateBufferDataUsage): Check usage. + * html/canvas/WebGLRenderingContext.h: Declare validateBufferDataUsage. + +2010-07-12 Eric Seidel <eric@webkit.org> + + Unreviewed. Attempt to fix Chromium Windows build. + + Always generate SVGNames and MathMLNames for all ports (to support HTML5) + https://bugs.webkit.org/show_bug.cgi?id=42050 + + Another way to fix this might be to mark all the .in files with + svn:eol=native. But fixing the perl to be more robust against + stray whitespace seems to be a better long-term fix. + + No functional change, thus no tests. + + * bindings/scripts/InFilesParser.pm: + +2010-07-12 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + Remove dependency on PlatformString.h in Color.h + https://bugs.webkit.org/show_bug.cgi?id=42109 + + * platform/graphics/Color.cpp: + * platform/graphics/Color.h: + +2010-07-12 Eric Seidel <eric@webkit.org> + + Unreviewed, build fix. + + Update HTMLTreeBuilder now that MathMLNames is always generated + https://bugs.webkit.org/show_bug.cgi?id=42059 + + Fix the Windows project file to build MathMLNames.*. + Also added MathMLElementFactory.* which is a NOOP now, but will + prevent folks from breaking the build when they turn MathML on. + + * WebCore.vcproj/WebCore.vcproj: + +2010-07-12 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Darin Adler. + + Update media element's handling of empty 'src' attribute + https://bugs.webkit.org/show_bug.cgi?id=42001 + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::src): Return getNonEmptyURLAttribute(). + (WebCore::HTMLMediaElement::selectMediaResource): Call noneSupported() for empty 'src'. + (WebCore::HTMLMediaElement::selectNextSourceChild): Use getNonEmptyURLAttribute() to convert + 'src' to URL instead of document()->completeURL(). Don't consider a <source> with an empty 'src'. + + * html/HTMLMediaElement.idl: Add 'NonEmpty' option to 'src' attribute. + + * html/HTMLSourceElement.cpp: + (WebCore::HTMLSourceElement::src): Return getNonEmptyURLAttribute(). + (WebCore::HTMLSourceElement::isURLAttribute): New, 'src' is a URL attribute. + * html/HTMLSourceElement.h: + + * html/HTMLSourceElement.idl: Add 'NonEmpty' option to 'src' attribute. + + * html/HTMLVideoElement.cpp: + (WebCore::HTMLVideoElement::parseMappedAttribute): Use getNonEmptyURLAttribute() to convert + 'poster' to URL instead of document()->completeURL(). + + * html/HTMLVideoElement.idl: Add 'NonEmpty' option to 'poster' attribute. + +2010-07-12 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] make dist is broken because of missing headers and other miscellaneous reasons + https://bugs.webkit.org/show_bug.cgi?id=42107 + + * GNUmakefile.am: Remove InspectorFrontend2.idl from the list of IDL files, so + that it is not built into libWebCoreJS. Add missing header to the source list. + Make sure to distribute the new file: WebCore/inspector/CodeGeneratorInspector.pm. + +2010-07-12 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + HTMLTreeBuilder needs to support mixing SVG and MathML content + https://bugs.webkit.org/show_bug.cgi?id=42096 + + This is just a direct transcription of another paragraph of the + HTML5 spec. + + This improved a couple results in html5lib/runner.html, but more + work to do yet to pass all the foreign content tests. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTag): + (WebCore::HTMLTreeBuilder::processEndTag): + (WebCore::HTMLTreeBuilder::processUsingSecondaryInsertionModeAndAdjustInsertionMode): + * html/HTMLTreeBuilder.h: + * mathml/mathtags.in: + +2010-07-12 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Update HTMLTreeBuilder now that MathMLNames is always generated + https://bugs.webkit.org/show_bug.cgi?id=42059 + + Fix the HTMLTreeBuilder MathML code path to compile and remove + the MathML and SVG guards now that SVGNames and MathMLNames are + always compiled into ever port after: + https://bugs.webkit.org/show_bug.cgi?id=42050 + + This fixed a whole bunch of libhtml5 tests now that we have the + mathml code paths enabled. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTagForInBody): + (WebCore::HTMLTreeBuilder::processStartTag): + (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately): + (WebCore::HTMLTreeBuilder::processEndTag): + * page/Frame.cpp: + (WebCore::Frame::Frame): + - Always init SVGNames and MathML names. + +2010-07-12 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + Don't go into compositing mode for 0x0 plugins + https://bugs.webkit.org/show_bug.cgi?id=34009 + + Don't use compositing for small (0-height or width, or 1x1) plugins, or iframes whose + height or width is zero. + + Previously we made all compositing decisions inside styleChanged(). However, + now that plugin and iframe compositing behavior depends on renderer size, we have + to wait until layout before deciding whether to composite these. This behavior + change is controlled by the m_compositingDependsOnGeometry flag. When set, + updateCompositingLayers() always does a hierarchy update. + + Tests: compositing/iframes/iframe-size-from-zero.html + compositing/iframes/iframe-size-to-zero.html + compositing/plugins/1x1-composited-plugin.html + compositing/plugins/large-to-small-composited-plugin.html + compositing/plugins/small-to-large-composited-plugin.html + + * page/FrameView.cpp: + (WebCore::FrameView::updateCompositingLayers): No longer bail if usesCompositing() is false; we + have to always enter updateCompositingLayers(). + (WebCore::FrameView::repaintFixedElementsAfterScrolling): Ditto + (WebCore::FrameView::enterCompositingMode): Remove bogus return of a void. + + * rendering/RenderLayerCompositor.h: Add m_compositingDependsOnGeometry. + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::RenderLayerCompositor): Initialize m_compositingDependsOnGeometry to false. + (WebCore::RenderLayerCompositor::updateCompositingLayers): If m_compositingDependsOnGeometry is true, + we always need to run through the layer hierarchy looking for things which need to be composited, even if + we're not (yet) in compositing mode. + + (WebCore::RenderLayerCompositor::computeCompositingRequirements): Because we can enter compositing mode + on the fly inside updateCompositingLayers() now, the state of willBeComposited needs to be updated + when processing the root layer, for the case where the compositing mode changes. + + (WebCore::RenderLayerCompositor::requiresCompositingForPlugin): Set the m_compositingDependsOnGeometry + flag if we see a potentially-composited plugin. Once we have layout information, only composite the plugin + if height * width > 1. + + (WebCore::RenderLayerCompositor::requiresCompositingForIFrame): Set the m_compositingDependsOnGeometry + flag if we see a potentially-composited iframe. Once we have layout information, only composite the plugin + if height or width is greater than zero. + +2010-07-12 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + Need to do a layout when RenderLayers come and go because of compositing + https://bugs.webkit.org/show_bug.cgi?id=42108 + + If we create or destroy RenderLayers for reasons other than style changes + (e.g. because of composited iframes or plugins), then we need to ensure + that we do a layout. + + Test: compositing/iframes/layout-on-compositing-change.html + + * rendering/RenderObject.cpp: + (WebCore::RenderObject::adjustStyleDifference): + +2010-07-11 Eric Seidel <eric@webkit.org> + + Reviewed by Darin Adler. + + Always generate SVGNames and MathMLNames for all ports (to support HTML5) + https://bugs.webkit.org/show_bug.cgi?id=42050 + + Historically, FOONames has only been generate when ENABLE(FOO) is defined. + However, for HTML5 parser support, we need to have access to the SVG + and MathML tag names regardless of whether we the engine is configured + to render SVG or MathML content. + + This change enables generation of SVGNames and MathMLNames on all ports and + makes it so that ports can include FOOElementFactory.* regardless of whether + ENABLE(FOO) is defined (and have it do the right thing). + + No functional change (yet) so no tests. + + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.gyp/WebCore.gyp: + * WebCore.pri: + * dom/make_names.pl: + +2010-07-10 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + make_names.pl should always generate all names in Names.* files + https://bugs.webkit.org/show_bug.cgi?id=42023 + + Only the *ElementFactory files need to have conditional contents + based on enabled features. WebCore should always have all known + names for SVG, MathML, XML, XLink, HTML, etc. generated in the + various *Names files, even if features are disabled. + + make_names.pl is kinda a big hack at this point. I tried to clean + up a little as I went. The way I made *Names include all names was to + read the .in files twice, once using the preprocessor and once without. + + * dom/make_names.pl: + +2010-07-12 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Oliver Hunt. + + Canvas: Move fillRect() save/restore into GraphicsContext implementations + https://bugs.webkit.org/show_bug.cgi?id=42088 + + Saving the platform painter state is an expensive operation, + so don't do it in fillRect() for platforms that don't need it. (CG, Qt) + + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::fillRect): + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::fillRect): + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::fillRect): + * platform/graphics/wince/GraphicsContextWince.cpp: + (WebCore::GraphicsContext::fillRect): + * platform/graphics/wx/GraphicsContextWx.cpp: + (WebCore::GraphicsContext::fillRect): + +2010-07-12 Nate Chapin <japhet@chromium.org> + + Reviewed by Darin Fisher. + + Ensure that a cache policy that forces validation is cleared once + the load event is fired, rather than only doing so at the next + navigation. This leads to a lot of unnecessary load on AJAX-y + websites. + + https://bugs.webkit.org/show_bug.cgi?id=41813 + + Test: http/tests/xmlhttprequest/cache-headers-after-reload.html + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::handledOnloadEvents): Reset m_loadType to FrameLoadTypeStandard. + (WebCore::FrameLoader::addExtraFieldsToRequest): Only respect the original request's cache policy if the + DocumentLoader is still loading, and handle the other cache policy settings that were scattered around the loader. + (WebCore::FrameLoader::loadResourceSynchronously): Merge cachePolicy setting into FrameLoader::addExtraFieldsToRequest. + * loader/SubresourceLoader.cpp: + (WebCore::SubresourceLoader::create): Merge cachePolicy setting into FrameLoader::addExtraFieldsToRequest. + +2010-07-12 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Oliver Hunt. + + CSS color parsing optimizations + https://bugs.webkit.org/show_bug.cgi?id=42073 + + - Avoid instantiating a CSSParser in parseColor() unless necessary. + - Fixed hex color fast-path to support strings starting with '#'. + - Avoid allocating a new string for the value part of a '#' color. + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseColor): + * platform/graphics/Color.cpp: + (WebCore::Color::parseHexColor): + (WebCore::Color::Color): + * platform/graphics/Color.h: + +2010-07-09 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=13075 + XMLHttpRequest with failed authentication should set status to 401 + + https://bugs.webkit.org/show_bug.cgi?id=6871 + <rdar://problem/3363403> 401 error page is never shown + + * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::receivedCredential): + Added a comment explaining why we handle empty credentials differently here. + + * platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::ResourceHandle::receivedCredential): + Bring this code in sync with Mac. + +2010-07-12 Anders Carlsson <andersca@apple.com> + + Reviewed by Adam Roben. + + Add a PluginController class, use it for invalidation and getting the user agent + https://bugs.webkit.org/show_bug.cgi?id=42084 + + * WebCore.exp.in: + Export Widget::convertToContainingWindow. + +2010-07-12 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Simon Hausmann. + + [Qt] Dragging within webkit with a drag created via Javascript ends up misinterpreting the data + https://bugs.webkit.org/show_bug.cgi?id=41457 + + Treat non-special-cased mime-types as Unicode strings in ClipboardQt's getData() + Fixes corruption when retrieving data that was set with anything other than text/plain + + Also use QMimeData::setHtml() when applicable to be consistent with PasteboardQt. + + * platform/qt/ClipboardQt.cpp: + (WebCore::isHtmlMimeType): + (WebCore::ClipboardQt::getData): + (WebCore::ClipboardQt::setData): + +2010-07-12 Steve Block <steveblock@google.com> + + Reviewed by Jeremy Orlow. + + add ANDROID to STORE_FONT_CUSTOM_PLATFORM_DATA + https://bugs.webkit.org/show_bug.cgi?id=32273 + + Tested by existing tests, just adding ANDROID to the list of platforms that use this feature. + + * loader/CachedFont.cpp: + +2010-07-12 Lucas De Marchi <lucas.demarchi@profusion.mobi> + + Unreviewed. + + [EFL] Move ScriptConcotrollerEfl.cpp from CMakeLists.txt to + CMakeListsEfl.txt. + + * CMakeLists.txt: + * CMakeListsEfl.txt: + +2010-07-12 Lucas De Marchi <lucas.demarchi@profusion.mobi> + + Unreviewed build fix after r60050. + + * CMakeLists.txt: Add WebCore/bindings to the include path. + +2010-07-09 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> + + Reviewed by Xan Lopez. + + [GTK] Crashes when going back with page cache in unknown circunstances + https://bugs.webkit.org/show_bug.cgi?id=41710 + + Could not yet find a way to reproduce this in a layout test. The + issue is document being NULL, so this NULL-check should be enough + to get rid of the crash. We are working on trying to find a better + solution for these null cases, like attaching the document earlier + when openning a cached page. + + * page/EventHandler.cpp: + (WebCore::EventHandler::sendScrollEvent): + +2010-07-12 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Yury Semikhatsky. + + [Chromium] Crash when stepping on a breakpoint while debugging Web Inspector + https://bugs.webkit.org/show_bug.cgi?id=41958 + + * page/PageGroupLoadDeferrer.cpp: + (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): + * page/PageGroupLoadDeferrer.h: + +2010-07-12 François Sausset <sausset@gmail.com> + + Reviewed by Kenneth Rohde Christiansen. + + Make the mathsize MathML attribute handle values in em, px, pt,... + https://bugs.webkit.org/show_bug.cgi?id=42067 + + Test: mathml/presentation/attributes.xhtml + + * css/mathml.css: + (math[mathsize="small"], mstyle[mathsize="small"], mo[mathsize="small"], mn[mathsize="small"], mi[mathsize="small"], mtext[mathsize="small"], mspace[mathsize="small"], ms[mathsize="small"]): + (math[mathsize="normal"], mstyle[mathsize="normal"], mo[mathsize="normal"], mn[mathsize="normal"], mi[mathsize="normal"], mtext[mathsize="normal"], mspace[mathsize="normal"], ms[mathsize="normal"]): + (math[mathsize="big"], mstyle[mathsize="big"], mo[mathsize="big"], mn[mathsize="big"], mi[mathsize="big"], mtext[mathsize="big"], mspace[mathsize="big"], ms[mathsize="big"]): + * mathml/MathMLElement.cpp: + (WebCore::MathMLElement::parseMappedAttribute): + +2010-07-12 Xan Lopez <xlopez@igalia.com> + + Reviewed by Gustavo Noronha. + + Fix compilation with sealed GTK+. + + * platform/gtk/GtkVersioning.h: + * platform/gtk/PasteboardHelper.cpp: + (WebCore::PasteboardHelper::fillDataObjectFromDropData): + +2010-07-12 François Sausset <sausset@gmail.com> + + Reviewed by Kenneth Rohde Christiansen. + + Fix a bug preventing msqrt and mfrac to use style color to draw themselves. + In mfrac, the fraction bar is now using the color defined by the element style instead of black. + In msqrt, the radical was always drawn in black due to a colorSpace problem. + https://bugs.webkit.org/show_bug.cgi?id=41889 + + Test: mathml/presentation/roots.xhtml + Test: mathml/presentation/fractions.xhtml + + * mathml/RenderMathMLFraction.cpp: + (WebCore::RenderMathMLFraction::paint): + * mathml/RenderMathMLSquareRoot.cpp: + (WebCore::RenderMathMLSquareRoot::paint): + +2010-07-12 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Antti Koivisto. + + Canvas: arc() with startAngle == endAngle shouldn't add to the path + https://bugs.webkit.org/show_bug.cgi?id=41420 + + Spec link: + http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-stroke + + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::arc): + +2010-07-12 Shinichiro Hamaji <hamaji@chromium.org> + + Reviewed by Ojan Vafai. + + Update padding on Windows? + https://bugs.webkit.org/show_bug.cgi?id=38016 + + Remove internal padding and add 1px vertical padding for Windows. + + * css/themeWin.css: + (input[type="button"], input[type="submit"], input[type="reset"], input[type="file"]::-webkit-file-upload-button, button): + * rendering/RenderButton.cpp: + (WebCore::RenderButton::setupInnerStyle): + * rendering/RenderTheme.h: + * rendering/RenderThemeWin.cpp: + * rendering/RenderThemeWin.h: + * rendering/RenderThemeWince.cpp: + * rendering/RenderThemeWince.h: + +2010-07-12 Pavel Feldman <pfeldman@chromium.org> + + Not reviewed. Chromium tests fix. + + [Chromium, V8] r63057 regressed url tests. + + https://bugs.webkit.org/show_bug.cgi?id=42063 + + * bindings/scripts/CodeGeneratorV8.pm: + +2010-07-12 Steve Block <steveblock@google.com> + + Reviewed by Alexey Proskuryakov. + + XPath substring function does not correctly handle non-positive values for the position argument + https://bugs.webkit.org/show_bug.cgi?id=41913 + + This patch changes the behavior of the XPath evaluate function when a non-positive + position argument is supplied and no length argument is supplied. In this case, + we reset the position to 1. This follows the spec and matches the current behaviour + when a length argument is supplied. + + Test: fast/xpath/substring-non-positive-postion.html + + * xml/XPathFunctions.cpp: + (WebCore::XPath::FunSubstring::evaluate): + +2010-06-27 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by Dumitru Daniliuc. + + Implement IDBObjectStore.get/set/remove + https://bugs.webkit.org/show_bug.cgi?id=41250 + + Implement these functions in IDBObjectStore, + add plumbing, teach IDBAny/Callbacks how to deal + with IDBKey, and a few small bits of cleanup. + + Test: Modified existing test to provide basic coverage. + Will add much more extensive layout test coverage + in future patches. + + * Android.derived.jscbindings.mk: + * Android.derived.v8bindings.mk: + * Android.jscbindings.mk: + * Android.mk: + * Android.v8bindings.mk: + * CMakeLists.txt: + * WebCore.gypi: + * WebCore.pri: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSIDBAnyCustom.cpp: + (WebCore::toJS): + * bindings/v8/custom/V8IDBAnyCustom.cpp: + (WebCore::toV8): + * storage/IDBAny.cpp: + (WebCore::IDBAny::idbKey): + (WebCore::IDBAny::set): + * storage/IDBAny.h: + (WebCore::IDBAny::): + * storage/IDBAny.idl: + * storage/IDBCallbacks.h: + * storage/IDBDatabaseRequest.h: + * storage/IDBDatabaseRequest.idl: + * storage/IDBKeyRange.h: + * storage/IDBObjectStore.h: + (WebCore::IDBObjectStore::): + * storage/IDBObjectStoreImpl.cpp: + (WebCore::IDBObjectStoreImpl::IDBObjectStoreImpl): + (WebCore::IDBObjectStoreImpl::get): + (WebCore::IDBObjectStoreImpl::set): + (WebCore::IDBObjectStoreImpl::remove): + * storage/IDBObjectStoreImpl.h: + * storage/IDBObjectStoreRequest.cpp: + (WebCore::IDBObjectStoreRequest::get): + (WebCore::IDBObjectStoreRequest::add): + (WebCore::IDBObjectStoreRequest::modify): + (WebCore::IDBObjectStoreRequest::addOrModify): + (WebCore::IDBObjectStoreRequest::remove): + * storage/IDBObjectStoreRequest.h: + * storage/IDBObjectStoreRequest.idl: + * storage/IDBRequest.cpp: + (WebCore::IDBRequest::onSuccess): + * storage/IDBRequest.h: + +2010-07-11 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Dan Bernstein. + + Implement animation-related methods for WebKitTestRunner + https://bugs.webkit.org/show_bug.cgi?id=42053 + + * WebCore.exp.in: Export Document::getElementById for WebKit2's benefit. + +2010-07-11 Adam Barth <abarth@webkit.org> + + Rubber-stamped by Eric Seidel + + Add a complete list of the HTML5 entities in JSON format. + + * html/HTMLEntityNames.json: Added. + +2010-07-11 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] WebKitWebView should support drops + https://bugs.webkit.org/show_bug.cgi?id=39843 + + Add support for dropping content onto GTK+ WebViews. + + No new tests, as the DRT does not support simulating drops yet. + + * platform/gtk/ClipboardUtilitiesGtk.cpp: + (WebCore::dragOperationToGdkDragAction): Added. + (WebCore::gdkDragActionToDragOperation): Properly detect DragOperationEvery. + * platform/gtk/ClipboardUtilitiesGtk.h: Add declaration for dragOperationToGdkDragAction. + * platform/gtk/PasteboardHelper.cpp: + Add new target atom and rename the markup target type to match the others. + Add a method which fills a data object from drop data. + (WebCore::PasteboardHelper::initializeTargetList): Add support for new atoms. + (WebCore::selectionDataToUTF8String): Added this helper. + (WebCore::PasteboardHelper::getClipboardContents): Use the selectionDataToUTF8String helper. + (WebCore::PasteboardHelper::targetListForDataObject): Change to reflect markup atom rename. + (WebCore::PasteboardHelper::fillDataObjectFromDropData): Added. + (WebCore::PasteboardHelper::dropAtoms): Added. + * platform/gtk/PasteboardHelper.h: Add declarations of new methods. + +2010-07-10 Darin Adler <darin@apple.com> + + Reviewed by Anders Carlsson. + + Enhance content attribute reflection for URL attributes, including adding a non-empty option + https://bugs.webkit.org/show_bug.cgi?id=42040 + + Test: fast/dom/URL-attribute-reflection.html + + Changed syntax from [ReflectURL] to [Reflect,URL] and also added support for + a new option, NonEmpty, which implements the non-empty URL concept from the + HTML5 specification. + + * bindings/scripts/CodeGenerator.pm: Changed code to expect the Reflect and URL + extended attributes to come in separately. The URL one simply means "the string + of this attribute is a URL", since we don't have a distinct type for URL. Also + added a new NonEmpty extended attribute. + + * bindings/scripts/CodeGeneratorJS.pm: Removed now-unneeded code to handle ReflectURL. + * bindings/scripts/CodeGeneratorV8.pm: Ditto. + + * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated for new added test cases + and the fix I made to the reflectedCustomURLAttr test. + * bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto. + * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto. + * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto. + * bindings/scripts/test/JS/JSTestObj.cpp: Ditto. + * bindings/scripts/test/JS/JSTestObj.h: Ditto. + * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto. + * bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto. + * bindings/scripts/test/V8/V8TestObj.cpp: Ditto. Also, for some reason the V8 + bindig writes out the keywords into the generated file as comments, so the keyword + change had a direct efffect on the output file. + + * bindings/scripts/test/TestObj.idl: Changed the test cases for ReflectURL to use + the new syntax. Added test cases for NonEmpty. Fixed the name of + reflectedNonEmptyURLAttr, which accidentally was repeating reflectedURLAttr + instead; never noticed because we never compile the test output. + + * dom/Element.cpp: + (WebCore::Element::getNonEmptyURLAttribute): Added. For use by NonEmpty and also + by any code that wants to implement the non-empty URL content attribute semantic. + * dom/Element.h: Ditto. + + * html/HTMLAnchorElement.idl: Use Reflect,URL instead of ReflectURL. + * html/HTMLAreaElement.idl: Ditto. + * html/HTMLFrameElement.idl: Ditto. + * html/HTMLImageElement.idl: Ditto. + * html/HTMLInputElement.idl: Ditto. + * html/HTMLLinkElement.idl: Ditto. + * html/HTMLMediaElement.idl: Ditto. + * html/HTMLObjectElement.idl: Ditto. + * html/HTMLScriptElement.idl: Ditto. + * html/HTMLVideoElement.idl: Ditto. + +2010-07-10 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Darin Adler. + + Add missing derrived sources to xcode project + https://bugs.webkit.org/show_bug.cgi?id=42034 + + This allows --web-timing to work with build-webkit on OSX with JSC. + This should have been done in bug 41442. + + No new tests because no new functionality. + + * WebCore.xcodeproj/project.pbxproj: + +2010-07-10 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Don't initialize plug-ins until allowed by the page + https://bugs.webkit.org/show_bug.cgi?id=42033 + + * WebCore.exp.in: + Export Document::addMediaCanStartListener and Document::removeMediaCanStartListener. + +2010-07-10 Sam Weinig <sam@webkit.org> + + Reviewed by Anders Carlsson. + + Patch for https://bugs.webkit.org/show_bug.cgi?id=42021 + isEqualNode should work for DocumentType nodes + + Test: fast/dom/Node/isEqualNode.html + + * dom/Node.cpp: + (WebCore::Node::isEqualNode): Add DocumentType logic from the DOM3 spec. + +2010-07-10 Daniel Bates <dbates@rim.com> + + Reviewed by Adam Barth. + + Move enum ReasonForCallingCanExecuteScripts to header ScriptControllerBase.h + https://bugs.webkit.org/show_bug.cgi?id=39339 + + Moved the enum ReasonForCallingCanExecuteScripts, which was + defined in both the JSC and V8 ScriptController.h file, into + a shared file called ScriptControllerBase.h. + + No functionality was changed, so no new tests. + + * GNUmakefile.am: Added file bindings/ScriptControllerBase.h. + * WebCore.gypi: Ditto. + * WebCore.pro: Ditto. + * WebCore.vcproj/WebCore.vcproj: Ditto. + * WebCore.vcproj/WebCoreCommon.vsprops: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + * bindings/ScriptControllerBase.h: Added. + (WebCore::): + * bindings/js/ScriptController.h: #include ScriptControllerBase.h + * bindings/v8/ScriptController.h: Ditto. + +2010-07-10 Dan Bernstein <mitz@apple.com> + + Reviewed by Anders Carlsson. + + <rdar://problem/8153214> Continuation outlines in layers do not paint correctly + + Test: fast/inline/continuation-outlines-with-layers-2.html + + Continuation outlines are normally painted by the containing block. However, when the + block and the inline are not enclosed by the same self-painting layer, the inline has to + paint its own outlines. This was handled correctly only for the case where the inline had + its own self-painting layer, but now when an ancestor inline had the self-painting layer. + + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::paint): Instead of testing for having a self-painting layer, test + whether any intermediate box between the inline and the containing block has a self-painting + layer. + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::paintObject): Ditto. + * rendering/RenderObject.cpp: + (WebCore::RenderObject::enclosingBoxModelObject): Added this utility method. + * rendering/RenderObject.h: + +2010-07-10 François Sausset <sausset@gmail.com> + + Reviewed by Kenneth Rohde Christiansen. + + Build fix: syntax and typo issues + https://bugs.webkit.org/show_bug.cgi?id=41859 + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTagForInBody): + (WebCore::HTMLTreeBuilder::processStartTag): + +2010-07-10 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + HTMLTreeBuilder needs adjustForeignAttributes support + https://bugs.webkit.org/show_bug.cgi?id=42022 + + To add adjust foreign attributes support I had to add an + AtomicString (prefixed name) to QualifiedName hash. Once I had + done that, I decided it would be best for the other "adjust" functions + to share the same hash logic, so I moved them to using the same + AtomicString -> QualifiedName hash as well. + + Tested by html5lib/runner.html + + * dom/Attribute.h: + (WebCore::Attribute::parserSetName): + * html/HTMLTreeBuilder.cpp: + +2010-07-10 Rob Buis <rwlbuis@gmail.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=41978 + Remove namespace prefixes from idl files + + No new tests, idl syntax fixes. + + * css/CSSImportRule.idl: + * css/CSSMediaRule.idl: + * css/CSSStyleSheet.idl: + * css/CSSVariablesRule.idl: + * svg/SVGAnimatedString.idl: + * svg/SVGColor.idl: + * svg/SVGDocument.idl: + * svg/SVGLangSpace.idl: + * svg/SVGSVGElement.idl: + * svg/SVGStringList.idl: + * svg/SVGStylable.idl: + * svg/SVGStyleElement.idl: + * svg/SVGTests.idl: + * svg/SVGZoomEvent.idl: + * xml/XPathEvaluator.idl: + +2010-07-10 Dumitru Daniliuc <dumi@chromium.org> + + Unreviewed, GTK build fix. + + * bindings/gobject/GObjectEventListener.h: + +2010-07-10 Dumitru Daniliuc <dumi@chromium.org> + + Reviewed by Darin Adler. + + Remove unnecessary includes in header files in WebCore/dom. + https://bugs.webkit.org/show_bug.cgi?id=41941 + + * css/StyleMedia.h: + * dom/BeforeLoadEvent.h: + * dom/CustomEvent.h: + * dom/DOMStringMap.h: + * dom/DeviceOrientationEvent.h: + * dom/EventListener.h: + * dom/MessagePort.h: + * dom/Node.cpp: + * dom/NodeFilter.h: + * dom/NodeRareData.h: + * dom/RegisteredEventListener.h: + * dom/SelectorNodeList.cpp: + * dom/SelectorNodeList.h: + * dom/StyleElement.h: + * dom/Traversal.h: + +2010-07-09 Tony Chang <tony@chromium.org> + + Reviewed by Ojan Vafai. + + crash in WebCore::CompositeEditCommand::splitTreeToNode when indenting pre + https://bugs.webkit.org/show_bug.cgi?id=38231 + + Test: editing/execCommand/indent-pre.html + + * editing/IndentOutdentCommand.cpp: + (WebCore::countParagraphs): + (WebCore::IndentOutdentCommand::indentRegion): Split text nodes into one node per paragraph + so moveParagraph doesn't get confused. + (WebCore::IndentOutdentCommand::splitTextNodes): + * editing/IndentOutdentCommand.h: + +2010-07-09 Erik Arvidsson <arv@chromium.org> + + Reviewed by Darin Adler. + + Computed style is not implemented for padding-start, padding-end, margin-start, margin-end + https://bugs.webkit.org/show_bug.cgi?id=41496 + + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + * css/CSSProperty.cpp: + (WebCore::CSSProperty::resolveDirectionAwareProperty): This function resolves the property ID for a direction aware property. + * css/CSSProperty.h: + * css/CSSStyleSelector.cpp: Use helper function. + (WebCore::CSSStyleSelector::applyProperty): + +2010-07-09 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + HTML5 tree builder should pass some LayoutTests + https://bugs.webkit.org/show_bug.cgi?id=41991 + + Before this patch, we weren't attaching text nodes to the render tree, + which turns out to be important. :) + + This patch fixes more than 10,000 LayoutTests. + + * html/HTMLConstructionSite.cpp: + (WebCore::HTMLConstructionSite::attach): + (WebCore::HTMLConstructionSite::attachAtSite): + +2010-07-09 Patrick Gansterer <paroga@paroga.com> + + Reviewed by Darin Adler. + + [WINCE] Buildfix for TextEncodingRegistry + https://bugs.webkit.org/show_bug.cgi?id=41992 + + Renamed TextCodecWince to TextCodecWinCE. + + * platform/text/TextEncodingRegistry.cpp: + (WebCore::buildBaseTextCodecMaps): + (WebCore::extendTextCodecMaps): + +2010-07-09 Leon Clarke <leonclarke@google.com> + + Reviewed by Adam Barth. + + add support for link prefetching + https://bugs.webkit.org/show_bug.cgi?id=3652 + + Test: fast/dom/HTMLLinkElement/prefetch.html + + * Configurations/FeatureDefines.xcconfig: + * html/HTMLLinkElement.cpp: + (WebCore::HTMLLinkElement::tokenizeRelAttribute): + (WebCore::HTMLLinkElement::process): + * html/HTMLLinkElement.h: + (WebCore::HTMLLinkElement::RelAttribute::RelAttribute): + * loader/Cache.cpp: + (WebCore::createResource): + * loader/CachedResource.cpp: + (WebCore::CachedResource::data): + (WebCore::CachedResource::didAddClient): + * loader/CachedResource.h: + (WebCore::CachedResource::): + (WebCore::CachedResource::error): + (WebCore::CachedResource::isPrefetch): + (WebCore::CachedResource::schedule): + * loader/CachedScript.cpp: + * loader/CachedScript.h: + * loader/DocLoader.cpp: + (WebCore::DocLoader::requestLinkPrefetch): + (WebCore::DocLoader::canRequest): + (WebCore::DocLoader::incrementRequestCount): + (WebCore::DocLoader::decrementRequestCount): + * loader/DocLoader.h: + * loader/loader.cpp: + (WebCore::cachedResourceTypeToTargetType): + (WebCore::Loader::determinePriority): + (WebCore::Loader::load): + (WebCore::Loader::Host::servePendingRequests): + (WebCore::Loader::Host::didFinishLoading): + (WebCore::Loader::Host::didFail): + (WebCore::Loader::Host::didReceiveResponse): + (WebCore::Loader::Host::cancelPendingRequests): + * loader/loader.h: + (WebCore::Loader::): + * platform/network/ResourceRequestBase.h: + (WebCore::ResourceRequestBase::): + +2010-07-09 James Robinson <jamesr@chromium.org> + + Unreviewed build fix. Add #include to pick up ExceptionCode values for config (like Qt) where it's not picked up indirectly. + + * html/HTMLCanvasElement.cpp: + +2010-07-09 James Robinson <jamesr@chromium.org> + + Reviewed by Darin Adler. + + Removes CanvasSurface and moves all of its functionality to HTMLCanvasElement. + https://bugs.webkit.org/show_bug.cgi?id=42005 + + http://trac.webkit.org/changeset/55201 introduced a new base class for HTMLCanvasElement called CanvasSurface. + The intention was that this would allow for code sharing with the then-proposed OffscreenCanvas. However, + there is no OffscreenCanvas and there's unlikely to be one soon. Additionally CanvasSurface breaks + encapsulation pretty badly by doing "static_cast<HTMLCanvasElement* const>(this)". Until an abstraction is + really needed we should just use HTMLCanvasElement when we want to talk about a canvas. + + This patch moves all of CanvasSurface's functionality back up to HTMLCanvasElement and reorders the header + to be a bit more logical. + + Refactor with no behavior change, thus no new tests. + + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * dom/CanvasSurface.cpp: Removed. + * dom/CanvasSurface.h: Removed. + * html/HTMLCanvasElement.cpp: + (WebCore::HTMLCanvasElement::HTMLCanvasElement): + (WebCore::HTMLCanvasElement::willDraw): + (WebCore::HTMLCanvasElement::setSurfaceSize): + (WebCore::HTMLCanvasElement::toDataURL): + (WebCore::HTMLCanvasElement::convertLogicalToDevice): + (WebCore::HTMLCanvasElement::securityOrigin): + (WebCore::HTMLCanvasElement::styleSelector): + (WebCore::HTMLCanvasElement::createImageBuffer): + (WebCore::HTMLCanvasElement::drawingContext): + (WebCore::HTMLCanvasElement::buffer): + (WebCore::HTMLCanvasElement::baseTransform): + * html/HTMLCanvasElement.h: + (WebCore::HTMLCanvasElement::setObserver): + (WebCore::HTMLCanvasElement::width): + (WebCore::HTMLCanvasElement::height): + (WebCore::HTMLCanvasElement::size): + (WebCore::HTMLCanvasElement::toDataURL): + (WebCore::HTMLCanvasElement::setOriginTainted): + (WebCore::HTMLCanvasElement::originClean): + (WebCore::HTMLCanvasElement::hasCreatedImageBuffer): + +2010-07-09 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Darin Adler. + + Calling layoutTestController.layerTreeAsText() should update layout + https://bugs.webkit.org/show_bug.cgi?id=41818 + + Need to call updateLayout() before we check for any layers, not after, + since layout will update compositing, and may create layers. + + * page/Frame.cpp: + (WebCore::Frame::layerTreeAsText): + +2010-07-09 Kenneth Russell <kbr@google.com> + + Reviewed by Nate Chapin. + + bufferSubData causes crash in WebGLBuffer::associateBufferSubData + https://bugs.webkit.org/show_bug.cgi?id=42004 + + Test: fast/canvas/webgl/index-validation-crash-with-buffer-sub-data.html + + * html/canvas/WebGLBuffer.cpp: + (WebCore::WebGLBuffer::associateBufferData): + - Allocate m_elementArrayBuffer for entry point taking only size. + Guard against allocation failures of m_elementArrayBuffer. + (WebCore::WebGLBuffer::associateBufferSubData): + - Guard against any possibility of crashes due to m_elementArrayBuffer being NULL. + +2010-07-09 Dumitru Daniliuc <dumi@chromium.org> + + Unreviewed, but pre-approved by Eric Seidel. + + Remove unnecessary includes in header files in WebCore/css. + https://bugs.webkit.org/show_bug.cgi?id=41941 + + * css/CSSComputedStyleDeclaration.h: + * css/CSSFontFaceSource.cpp: + (WebCore::CSSFontFaceSource::getFontData): + * css/CSSFontFaceSource.h: + * css/CSSPrimitiveValueMappings.h: + * css/StyleMedia.h: + +2010-07-09 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Get rid of manual case maps in HTMLTreeBuilder + https://bugs.webkit.org/show_bug.cgi?id=42000 + + No functional change, thus no tests. + + * html/HTMLTreeBuilder.cpp: + +2010-07-09 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Dimitri Glazkov. + + Implement performance.timing.navigationStart + https://bugs.webkit.org/show_bug.cgi?id=41815 + + See: http://dev.w3.org/2006/webapi/WebTiming/#nt-navigation-start + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::loadWithDocumentLoader): + * loader/FrameLoaderTypes.h: + (WebCore::FrameLoadTimeline::FrameLoadTimeline): + * page/Timing.cpp: + (WebCore::Timing::navigationStart): + +2010-07-09 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] GraphicsLayerQt must have syncCompositingStateForThisLayerOnly() implemented + https://bugs.webkit.org/show_bug.cgi?id=41954 + + Add GraphicsLayerQt::syncCompositingStateForThisLayerOnly, a non-recursive + implementation of GraphicsLayerQt::syncCompositingState and which targets + the current layer only. + + * platform/graphics/qt/GraphicsLayerQt.cpp: + (WebCore::GraphicsLayerQt::syncCompositingStateForThisLayerOnly): + * platform/graphics/qt/GraphicsLayerQt.h: + +2010-07-09 David Kozub <zub@linux.fjfi.cvut.cz> + + Reviewed by Darin Adler. + + Fix build by adding missing html/TimeRanges.idl to CMakeLists.txt. + + https://bugs.webkit.org/show_bug.cgi?id=41945 + + No functional changes, thus no tests. + + * CMakeLists.txt: + +2010-07-09 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Fix SVG tag name casing for HTMLTreeBuilder + https://bugs.webkit.org/show_bug.cgi?id=41998 + + Tested by html5lib/runner.html + + * html/HTMLTreeBuilder.cpp: + (WebCore::): + +2010-07-09 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Implement SVG attribute case mapping for HTMLTreeBuilder + https://bugs.webkit.org/show_bug.cgi?id=41949 + + Tested by html5lib/runner.html. + + * html/HTMLTreeBuilder.cpp: + +2010-07-09 Andy Estes <aestes@apple.com> + + Reviewed by Adele Peterson. + + Remove the workaround for a Core Animation bug on platforms where the + bug has been fixed. + https://bugs.webkit.org/show_bug.cgi?id=41927 + <rdar://problem/7920153> + + * platform/graphics/mac/GraphicsLayerCA.mm: + (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes): Add + a compile-time check for platforms that have a Core Animation bug that + needs working around. + +2010-07-08 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Nate Chapin. + + Implement unloadEventEnd, loadEventStart, and loadEventEnd for Web Timing + https://bugs.webkit.org/show_bug.cgi?id=41332 + + Test: fast/dom/webtiming.html + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::stopLoading): + (WebCore::FrameLoader::loadWithDocumentLoader): + * loader/FrameLoader.h: + (WebCore::FrameLoader::frameLoadTimeline): + * loader/FrameLoaderTypes.h: + (WebCore::FrameLoadTimeline::FrameLoadTimeline): + * page/DOMWindow.cpp: + (WebCore::DOMWindow::dispatchLoadEvent): + * page/Timing.cpp: + (WebCore::Timing::navigationStart): + (WebCore::Timing::unloadEventEnd): + (WebCore::Timing::loadEventStart): + (WebCore::Timing::loadEventEnd): + * page/Timing.h: + * page/Timing.idl: + +2010-07-09 Dumitru Daniliuc <dumi@chromium.org> + + Unreviewed, but pre-approved by Eric Seidel. + + Remove all unnecessary includes from the header files in WebCore/accessibility/. + https://bugs.webkit.org/show_bug.cgi?id=41941 + + * accessibility/AXObjectCache.h: + * accessibility/AccessibilityListBox.cpp: + * accessibility/AccessibilityListBox.h: + * accessibility/AccessibilityMenuList.h: + * accessibility/mac/AccessibilityObjectWrapper.h: + +2010-07-09 Patrick Gansterer <paroga@paroga.com> + + Reviewed by Kent Tamura. + + [WINCE] Buildfix for EventHandlerWin + https://bugs.webkit.org/show_bug.cgi?id=41909 + + Use Clipboard.h instead of ClipboardWin.h on WinCE. + + * page/win/EventHandlerWin.cpp: + +2010-07-09 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r62946. + http://trac.webkit.org/changeset/62946 + https://bugs.webkit.org/show_bug.cgi?id=41965 + + AppCache inspector support should be enabled in WebKit ToT. + (Requested by pfeldman_ on #webkit). + + * inspector/front-end/StoragePanel.js: + (WebInspector.StoragePanel): + (WebInspector.StoragePanel.prototype.reset): + (WebInspector.StoragePanel.prototype.addApplicationCache): + +2010-07-09 François Sausset <sausset@gmail.com> + + Reviewed by Kenneth Rohde Christiansen. + + Implement MathML mathcolor & mathbackground attributes + https://bugs.webkit.org/show_bug.cgi?id=41895 + + Test: mathml/presentation/attributes.xhtml + + * dom/MappedAttributeEntry.h: + (WebCore::): + * mathml/MathMLElement.cpp: + (WebCore::MathMLElement::MathMLElement): + (WebCore::MathMLElement::mapToEntry): + (WebCore::MathMLElement::parseMappedAttribute): + * mathml/MathMLElement.h: + * mathml/mathattrs.in: + +2010-07-09 Xiaomei Ji <xji@chromium.org> + + Reviewed by David Levin. + + Fix characters with unicode-bidi-mirror property are not correctly + mirrored in Linux. + https://bugs.webkit.org/show_bug.cgi?id=41305 + + Since harfbuzz does not do mirroring, chromium should iterate each + character in the string and mirror it if needed before passing the + string to harfbuzz for shaping. + + Test: fast/text/international/bidi-mirror-he-ar.html + + * platform/graphics/chromium/FontLinux.cpp: + (WebCore::TextRunWalker::TextRunWalker): + (WebCore::TextRunWalker::~TextRunWalker): + (WebCore::TextRunWalker::mirrorCharacters): + + +2010-07-09 Anders Carlsson <andersca@apple.com> + + Reviewed by Simon Fraser. + + Instantiate Netscape plug-ins, pass geometry information to Plugin + https://bugs.webkit.org/show_bug.cgi?id=41960 + + * WebCore.exp.in: + Export ScrollView::contentsToWindow. + +2010-07-09 Patrick Gansterer <paroga@paroga.com> + + Reviewed by Kent Tamura. + + [WINCE] Buildfix for FrameWince after r47440 + https://bugs.webkit.org/show_bug.cgi?id=41904 + + * page/wince/FrameWince.cpp: Added property svn:eol-style. + (WebCore::computePageRectsForFrame): + (WebCore::imageFromSelection): + +2010-07-09 Vitaly Repeshko <vitalyr@chromium.org> + + Reviewed by Pavel Feldman. + + [v8] Call JS gc in a fresh context to avoid retaining the current one. + https://bugs.webkit.org/show_bug.cgi?id=41963 + http://crbug.com/46571 + + * bindings/v8/ScriptController.cpp: + (WebCore::ScriptController::collectGarbage): + +2010-07-09 Kenneth Russell <kbr@google.com> + + Reviewed by Dimitri Glazkov. + + Crash with uniform array test + https://bugs.webkit.org/show_bug.cgi?id=36028 + + * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: + (WebCore::vertexAttribAndUniformHelperf): + (WebCore::uniformHelperi): + (WebCore::uniformMatrixHelper): + - Fixed type tests and casting of incoming arrays. + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::getUniform): + - Fixed crash when null WebGLUniform is passed to getUniform. + +2010-07-09 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler. + + AX: text editing not spoken by VO on web view contenteditable textbox + https://bugs.webkit.org/show_bug.cgi?id=41912 + + Test: platform/mac/accessibility/selection-value-changes-for-aria-textbox.html + + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::renderObjectIsObservable): + +2010-07-09 Michael Nordman <michaeln@google.com> + + Reviewed by Dumitru Daniliuc. + + Use class ProgressEvent when raising appcache related progress events and + set the 'total', 'loaded', and 'lengthComputable' attributes. + Also raise the final progress event with the 'total' and 'loaded' attribute + values are equal to one another to keep pace with the spec for this feature. + https://bugs.webkit.org/show_bug.cgi?id=37602 + + Test: http/tests/appcache/progress-counter.html + + * loader/appcache/ApplicationCacheGroup.cpp: + (WebCore::ApplicationCacheGroup::ApplicationCacheGroup): + (WebCore::ApplicationCacheGroup::didFinishLoadingManifest): + (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): + (WebCore::ApplicationCacheGroup::startLoadingEntry): + (WebCore::CallCacheListenerTask::create): + (WebCore::CallCacheListenerTask::performTask): + (WebCore::CallCacheListenerTask::CallCacheListenerTask): + (WebCore::ApplicationCacheGroup::postListenerTask): + * loader/appcache/ApplicationCacheGroup.h: + (WebCore::ApplicationCacheGroup::postListenerTask): + * loader/appcache/ApplicationCacheHost.cpp: + (WebCore::ApplicationCacheHost::notifyDOMApplicationCache): + (WebCore::ApplicationCacheHost::stopDeferringEvents): + (WebCore::ApplicationCacheHost::dispatchDOMEvent): + * loader/appcache/ApplicationCacheHost.h: + (WebCore::ApplicationCacheHost::DeferredEvent::DeferredEvent): + +2010-07-09 Sebastian Dröge <sebastian.droege@collabora.co.uk> + + Reviewed by Gustavo Noronha Silva. + + Bug 41340 - [GStreamer] Subtle race condition during seeks + https://bugs.webkit.org/show_bug.cgi?id=41340 + + * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: + (webKitWebSrcStop): + (webKitWebSrcNeedDataMainCb): + (webKitWebSrcNeedDataCb): + (webKitWebSrcEnoughDataMainCb): + (webKitWebSrcEnoughDataCb): + (webKitWebSrcSeekDataCb): + (StreamingClient::didFinishLoading): + Fix two subtle race conditions that can happen during seeks: + - The timeout callback could be called before the callback ID is + assigned to the instance private data. This causes the ID to + be set after the callback has finished and breaks all future + processing. + - The source must not go EOS while a seek is pending because + this confuses appsrc due to the different threads involved here. + +2010-07-09 Simon Hausmann <simon.hausmann@nokia.com> + + Reviewed by Tor Arne Vestbø. + + [Qt] Removed hard-coded enabled default of video support + + Properly detect video/audio instead of defaulting to true.Properly detect video/audio instead of defaulting to true.Properly detect video/audio instead of defaulting to true.Properly detect video/audio instead of defaulting to true. + + * WebCore.pri: + +2010-07-09 Ben Murdoch <benm@google.com> + + Reviewed by Steve Block. + + [Arm] Missing NaN check in XPath substring function + https://bugs.webkit.org/show_bug.cgi?id=41862 + + Test: fast/xpath/substring-nan-position.html + + * xml/XPathFunctions.cpp: + (WebCore::XPath::FunSubstring::evaluate): Add an isnan() + to the value returned from evaluating the position + argument and early out and return the empty string. + +2010-07-09 Simon Hausmann <simon.hausmann@nokia.com> + + Reviewed by Tor Arne Vestbø. + + [Qt] Prospective build fix. + + Moved the media element detection from WebCore.pro into WebCore.pri, where + all the features are detected. This is also used by build-webkit to determine + the defaults, which may be the reason for the build breakage. + + * WebCore.pri: + * WebCore.pro: + +2010-07-09 Simon Hausmann <simon.hausmann@nokia.com> + + Reviewed by Tor Arne Vestbø. + + [Qt] Re-enable support for QtMultimediaKit as backend for the media elements + + Experimental support is re-enabled if QtMobility is available and the Qt + version is 4.7 or above. + + * WebCore.pro: + * platform/graphics/MediaPlayer.cpp: + * platform/graphics/qt/MediaPlayerPrivateQt.cpp: + (WebCore::MediaPlayerPrivate::supportsType): Adapt to latest QtMultimediaKit API changes. + (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): + (WebCore::MediaPlayerPrivate::totalBytes): + +2010-07-09 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: do not show default tooltip when detailed network info is available. + + https://bugs.webkit.org/show_bug.cgi?id=41957 + + * English.lproj/localizedStrings.js: + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourcesPanel): + (WebInspector.ResourcesPanel.prototype.reset): + (WebInspector.ResourcesPanel.prototype.showResource): + (WebInspector.ResourcesPanel.prototype._getPopoverAnchor): + (WebInspector.ResourcesPanel.prototype._showPopover): + (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels): + +2010-07-09 François Sausset <sausset@gmail.com> + + Reviewed by Beth Dakin. + + Correct the default font variant of mtext (regular instead of italic). + https://bugs.webkit.org/show_bug.cgi?id=41626 + + Add test to be sure that only <mi> elements use italic fonts by default. + Update test with fractions to take into account the correct behaviour of mtext (regular instead of italic). + + * css/mathml.css: + (mi): + +2010-07-09 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Dimitri Glazkov. + + Implement performance.navigation.type + https://bugs.webkit.org/show_bug.cgi?id=41564 + + Tests: fast/dom/navigation-type-back-forward.html + fast/dom/navigation-type-navigate.html + fast/dom/navigation-type-reload.html + + * page/Navigation.cpp: + (WebCore::Navigation::type): + * page/Navigation.h: + (WebCore::Navigation::): + * page/Navigation.idl: + +2010-07-09 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: hide AppCache until implemented. + + https://bugs.webkit.org/show_bug.cgi?id=41858 + + * inspector/front-end/StoragePanel.js: + (WebInspector.StoragePanel): + (WebInspector.StoragePanel.prototype.reset): + (WebInspector.StoragePanel.prototype.addApplicationCache): + +2010-07-09 François Sausset <sausset@gmail.com> + + Reviewed by Kenneth Rohde Christiansen. + + Set the good default behaviour for the columalign attribute on MathML mtable element + https://bugs.webkit.org/show_bug.cgi?id=41631 + + Test update: mathml/tables.xhtml + + * css/mathml.css: + (math): + +2010-07-09 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r62937. + http://trac.webkit.org/changeset/62937 + https://bugs.webkit.org/show_bug.cgi?id=41955 + + Crashes SnowLeopard leaks and Windows debug bot in fast/xsl + /xslt-relative-path.xml, with assertion in + XSLTProcessorLibxslt.cpp:264 (Requested by WildFox on + #webkit). + + * xml/XSLTProcessor.h: + (WebCore::XSLTProcessor::XSLTProcessor): + * xml/XSLTProcessorLibxslt.cpp: + (WebCore::docLoaderFunc): + (WebCore::setXSLTLoadCallBack): + (WebCore::xsltStylesheetPointer): + (WebCore::XSLTProcessor::transformToString): + +2010-07-09 Yael Aharon <yael.aharon@nokia.com> + + Reviewed by Laszlo Gombos. + + NotificationPresenter needs a cancelRequestPermission API + https://bugs.webkit.org/show_bug.cgi?id=41783 + + Updated NotificationPresenter API, to use ScriptExecutionContext instead of origin. + Added new API NotificationPresenter::cancelRequestsForPermision + The new API will be implemented and a test will be added in a followup patch. + + * notifications/Notification.cpp: + (WebCore::Notification::Notification): + * notifications/NotificationCenter.cpp: + (WebCore::NotificationCenter::checkPermission): + (WebCore::NotificationCenter::requestPermission): + (WebCore::NotificationCenter::disconnectFrame): + * notifications/NotificationCenter.h: + * notifications/NotificationPresenter.h: + +2010-07-09 Andreas Wictor <andreas.wictor@xcerion.com> + + Reviewed by Alexey Proskuryakov. + + Remove global variables from XSLTProcessorLibxslt.cpp + https://bugs.webkit.org/show_bug.cgi?id=41348 + + Remove the globalProcessor and globalDocLoader global variables + by using the _private field that exists on most libxml structs. + + No new tests, existing tests covers this. + + * xml/XSLTProcessor.h: + (WebCore::XSLTProcessor::sourceNode): + (WebCore::XSLTProcessor::XSLTProcessor): + * xml/XSLTProcessorLibxslt.cpp: + (WebCore::registeredXSLTProcessors): + (WebCore::registeredXSLStyleSheets): + (WebCore::docLoaderFunc): + (WebCore::clearSavedStyleSheetPointers): + (WebCore::xsltStylesheetPointer): + (WebCore::XSLTProcessor::transformToString): + +2010-07-09 Adam Barth <abarth@webkit.org> + + Unreviewed build fix. + + We recently taught the HTMLTokenizer to recognize self-closing tags, + <http://trac.webkit.org/changeset/62926>, but that confused the + LegacyHTMLTreeBuilder. It turns out that it's much happier if we never + say a tag is self-closing. + + * html/HTMLTreeBuilder.cpp: + (WebCore::convertToOldStyle): + +2010-07-09 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Rob Buis. + + svg/custom/use-instanceRoot-event-bubbling.xhtml test crashes + https://bugs.webkit.org/show_bug.cgi?id=41931 + + Be careful to not mutate (marking it for recreation) the shadow tree, while building it. + The recent change that cloneNode() properly synchronizes the style/SVG attributes caused this problem. + + Fixes crash seen on the buildbots in svg/custom/use-instanceRoot-event-bubbling.xhtml. + + * svg/SVGUseElement.cpp: + (WebCore::SVGUseElement::SVGUseElement): + (WebCore::SVGUseElement::recalcStyle): + (WebCore::SVGUseElement::buildShadowAndInstanceTree): + (WebCore::SVGUseElement::invalidateShadowTree): + * svg/SVGUseElement.h: + (WebCore::SVGUseElement::setUpdatesBlocked): + +2010-07-09 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Skip leading newlines in <textarea> + https://bugs.webkit.org/show_bug.cgi?id=41947 + + We would have caught this earlier with the ASSERT. + + * html/HTMLTokenizer.cpp: + (WebCore::HTMLTokenizer::nextToken): + +2010-07-08 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Provide detailed network info in the resources panel. + + https://bugs.webkit.org/show_bug.cgi?id=40227 + + * English.lproj/localizedStrings.js: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::willSendRequest): + (WebCore::InspectorController::didReceiveResponse): + * inspector/InspectorController.h: + * inspector/InspectorResource.cpp: + (WebCore::InspectorResource::InspectorResource): + (WebCore::InspectorResource::updateResponse): + (WebCore::InspectorResource::updateScriptObject): + (WebCore::InspectorResource::buildObjectForTiming): + * inspector/InspectorResource.h: + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourcesPanel): + (WebInspector.ResourcesPanel.prototype.elementsToRestoreScrollPositionsFor): + (WebInspector.ResourcesPanel.prototype._getPopoverAnchor): + (WebInspector.ResourcesPanel.prototype._showPopover): + (WebInspector.ResourcesPanel.prototype.hide): + (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels): + (WebInspector.ResourceGraph): + * inspector/front-end/inspector.js: + (WebInspector.updateResource): + * platform/network/ResourceLoadTiming.h: + (WebCore::ResourceLoadTiming::create): + (WebCore::ResourceLoadTiming::deepCopy): + (WebCore::ResourceLoadTiming::operator==): + (WebCore::ResourceLoadTiming::ResourceLoadTiming): + * platform/network/ResourceRequestBase.h: + (WebCore::ResourceRequestBase::reportLoadTiming): + (WebCore::ResourceRequestBase::setReportLoadTiming): + (WebCore::ResourceRequestBase::ResourceRequestBase): + * platform/network/ResourceResponseBase.cpp: + (WebCore::ResourceResponseBase::connectionID): + (WebCore::ResourceResponseBase::setConnectionID): + * platform/network/ResourceResponseBase.h: + +2010-07-09 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Implement self closing start tag state in the tokenizer + https://bugs.webkit.org/show_bug.cgi?id=41946 + + Amazingly we got this far w/o needing self closing. + The LegacyHTMLTreeBuilder clearly uses the self-closing + state, but the fact that we never exposed it seems to + not have caused any test failures. Sad. + + The new HTMLTreeBuilder only needs the self closing state + for foreign content mode (and a few parse error cases). + + * html/HTMLToken.h: + (WebCore::HTMLToken::setSelfClosing): + * html/HTMLTokenizer.cpp: + (WebCore::HTMLTokenizer::nextToken): + * html/HTMLTreeBuilder.cpp: + (WebCore::): + +2010-07-09 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Add basic "in foreign content" support to the TreeBuilder + https://bugs.webkit.org/show_bug.cgi?id=41943 + + This is covered by numerous tests in html5lib/runner.html. + + "in foreign content" mode requires us to be able to process + tokens using the "secondary insertion mode". We have to set + a fake insertion mode to do that, so much of this code is enabling + setting of fake insertion modes, and then later restoration of the + insertion mode after execution. + + There is a lot more of foreign content mode to implement, but this is + a good start resulting in huge test progressions. + + * html/HTMLConstructionSite.cpp: + (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement): + - Use createHTMLElementAndAttachToCurrent instead of copy/paste code. + - No need to include HTMLElementFactory in this file. + * html/HTMLConstructionSite.h: + - RedirectToFosterParentGuard does not need to be a friend class. + * html/HTMLElementStack.cpp: + (WebCore::HTMLElementStack::isOnlyHTMLElementsInScope): + * html/HTMLElementStack.h: + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTagForInBody): + (WebCore::): + * html/HTMLTreeBuilder.h: + (WebCore::HTMLTreeBuilder::setInsertionMode): + (WebCore::HTMLTreeBuilder::isFakeInsertionMode): + (WebCore::HTMLTreeBuilder::setFakeInsertionMode): + +2010-07-09 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Coalesce text nodes when foster parenting + https://bugs.webkit.org/show_bug.cgi?id=41921 + + Introduces the notion of an AttachmentSite to the overall + HTMLConstructionSite. Maybe we should rename HTMLConstructionSite to + HTMLConstructionArea since we construct things all over the tree? :) + + There's something wrong in the internal layering in this class, but I + can't quite see what it is. I added a FIXME for the some of the + symptoms. + + * html/HTMLConstructionSite.cpp: + (WebCore::HTMLConstructionSite::attach): + (WebCore::HTMLConstructionSite::attachAtSite): + (WebCore::HTMLConstructionSite::insertTextNode): + (WebCore::HTMLConstructionSite::findFosterSite): + (WebCore::HTMLConstructionSite::fosterParent): + * html/HTMLConstructionSite.h: + +2010-07-08 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Dirk Schulze. + + RenderSVGRoot does not include border/padding while repainting + https://bugs.webkit.org/show_bug.cgi?id=41854 + + RenderSVGRoot does not include border/padding in the repaint rect. + clippedOverflowRectForRepaint() was missing. Affects all DRT results, + as <svg> now gets properly sized. + + Test: svg/custom/repaint-moving-svg-and-div.xhtml + + * rendering/RenderSVGRoot.cpp: + (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates): + (WebCore::RenderSVGRoot::clippedOverflowRectForRepaint): + * rendering/RenderSVGRoot.h: + +2010-07-09 Albert J. Wong <ajwong@chromium.org> + + Reviewed by Nikolas Zimmermann. + + Add RuntimeEnabledFeatures::timeRangesEnabled() required by r62880 + + https://bugs.webkit.org/show_bug.cgi?id=41935 + + * bindings/generic/RuntimeEnabledFeatures.cpp: + (WebCore::RuntimeEnabledFeatures::timeRangesEnabled): + Add in timeRangesEnabled() implementation. + * bindings/generic/RuntimeEnabledFeatures.h: + Add in timeRangesEnabled() declaration. + + +2010-07-09 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Add setInsertionMode setter in preparation for "in foreign content" mode + https://bugs.webkit.org/show_bug.cgi?id=41942 + + "in foreign content" mode needs to be able to use a fake + insertion mode for processing. We need to be able to save the + original insertion mode, set a fake one, and then restore the original + if it wasn't changed. To detect changes, we need all callsites to + use a setInsertionMode accessor instead of m_insertionMode = + + No functional changes, thus no tests. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTagForInBody): + (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup): + (WebCore::HTMLTreeBuilder::processStartTagForInTable): + (WebCore::HTMLTreeBuilder::processStartTag): + (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody): + (WebCore::HTMLTreeBuilder::setInsertionModeAndEnd): + (WebCore::HTMLTreeBuilder::processEndTagForInTableBody): + (WebCore::HTMLTreeBuilder::processEndTagForInCell): + (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption): + (WebCore::HTMLTreeBuilder::processTrEndTagForInRow): + (WebCore::HTMLTreeBuilder::processEndTag): + (WebCore::HTMLTreeBuilder::processCharacter): + (WebCore::HTMLTreeBuilder::processDefaultForInTableTextMode): + (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag): + (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag): + (WebCore::HTMLTreeBuilder::processScriptStartTag): + +2010-07-09 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Add insertForeignElement in preparation for adding "in foreign content" support + https://bugs.webkit.org/show_bug.cgi?id=41940 + + No functional changes, thus no tests. + + * html/HTMLConstructionSite.cpp: + (WebCore::HTMLConstructionSite::insertForeignElement): + (WebCore::HTMLConstructionSite::createElement): + (WebCore::HTMLConstructionSite::createHTMLElement): + * html/HTMLConstructionSite.h: + +2010-07-09 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Implementing pending table characters + https://bugs.webkit.org/show_bug.cgi?id=41916 + + This turned out to not be as scary as I thought it would be. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processDoctypeToken): + (WebCore::HTMLTreeBuilder::processStartTag): + (WebCore::HTMLTreeBuilder::processEndTag): + (WebCore::HTMLTreeBuilder::processComment): + (WebCore::HTMLTreeBuilder::processCharacter): + (WebCore::HTMLTreeBuilder::processEndOfFile): + (WebCore::HTMLTreeBuilder::processDefaultForInTableTextMode): + * html/HTMLTreeBuilder.h: + +2010-07-08 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Handle whitespace correctly + https://bugs.webkit.org/show_bug.cgi?id=41907 + + This patch introduces an extra memcpy in the character token pipeline. + I'll remove the memcpy in a future patch. + + * html/HTMLConstructionSite.cpp: + (WebCore::HTMLConstructionSite::insertTextNode): + * html/HTMLConstructionSite.h: + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processCharacter): + * html/HTMLTreeBuilder.h: + +2010-07-09 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Move more mode handling into functions for later re-use + https://bugs.webkit.org/show_bug.cgi?id=41939 + + No functional changes, thus no tests. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processEndTagForInTableBody): + (WebCore::HTMLTreeBuilder::processEndTagForInRow): + (WebCore::HTMLTreeBuilder::processEndTagForInCell): + (WebCore::HTMLTreeBuilder::processEndTag): + * html/HTMLTreeBuilder.h: + +2010-07-09 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Add new popUntilPopped functions to clean up code + https://bugs.webkit.org/show_bug.cgi?id=41936 + + Pretty self explanatory. Much awesome code reduction. + + No functional changes, thus no tests. + + * html/HTMLElementStack.cpp: + (WebCore::HTMLElementStack::popUntilPopped): + * html/HTMLElementStack.h: + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody): + (WebCore::HTMLTreeBuilder::callTheAdoptionAgency): + (WebCore::HTMLTreeBuilder::processEndTagForInBody): + (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption): + (WebCore::HTMLTreeBuilder::processTableEndTagForInTable): + (WebCore::HTMLTreeBuilder::processEndTag): + +2010-07-09 Eric Seidel <eric@webkit.org> + + Unreviewed. Just renaming (discussed with Adam Barth). + + Rename createElement* to createHTMLElement* to better reflect + behavior. This is in preparation for adding foreign content support. + + * html/HTMLConstructionSite.cpp: + (WebCore::HTMLConstructionSite::createHTMLElementAndAttachToCurrent): + (WebCore::HTMLConstructionSite::insertHTMLHtmlElement): + (WebCore::HTMLConstructionSite::insertHTMLHeadElement): + (WebCore::HTMLConstructionSite::insertHTMLBodyElement): + (WebCore::HTMLConstructionSite::insertHTMLElement): + (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement): + (WebCore::HTMLConstructionSite::createHTMLElement): + * html/HTMLConstructionSite.h: + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::callTheAdoptionAgency): + +2010-07-09 Eric Seidel <eric@webkit.org> + + Unreviewed. Just renaming (discussed with Adam Barth). + + Rename insertElement to insertHTMLElement and + insertSelfClosingElement to insertSelfClosingHTMLElement + to better reflect what they actually do. This is in preparation + for adding foreign content support. + + * html/HTMLConstructionSite.cpp: + (WebCore::HTMLConstructionSite::insertHTMLElement): + (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement): + (WebCore::HTMLConstructionSite::insertFormattingElement): + (WebCore::HTMLConstructionSite::reconstructTheActiveFormattingElements): + (WebCore::HTMLConstructionSite::fosterParent): + * html/HTMLConstructionSite.h: + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag): + (WebCore::HTMLTreeBuilder::processStartTagForInBody): + (WebCore::HTMLTreeBuilder::processStartTagForInTable): + (WebCore::HTMLTreeBuilder::processStartTag): + (WebCore::HTMLTreeBuilder::callTheAdoptionAgency): + (WebCore::HTMLTreeBuilder::processStartTagForInHead): + (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag): + (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag): + +2010-07-08 Rob Buis <rwlbuis@gmail.com> + + Reviewed by Eric Seidel. + + Implement SVGSVGElement.getElementById + https://bugs.webkit.org/show_bug.cgi?id=41655 + + Implement getElementById for SVGSVGElement by trying to + reuse Document.getElementById. If that fails to find an + SVG element in the document fragent do a subtree search. + + Test: svg/custom/svg-getelementid.xhtml + + * svg/SVGSVGElement.cpp: + (WebCore::SVGSVGElement::getElementById): + * svg/SVGSVGElement.h: + * svg/SVGSVGElement.idl: + +2010-07-08 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Unwrap a few || blocks for easier readability + https://bugs.webkit.org/show_bug.cgi?id=41838 + + No functional change, thus no tests. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::adjustedLexerState): + (WebCore::HTMLTreeBuilder::processStartTagForInBody): + (WebCore::HTMLTreeBuilder::processStartTagForInTable): + (WebCore::HTMLTreeBuilder::processStartTag): + (WebCore::HTMLTreeBuilder::processEndTagForInBody): + (WebCore::HTMLTreeBuilder::processEndTag): + (WebCore::HTMLTreeBuilder::processComment): + (WebCore::HTMLTreeBuilder::processStartTagForInHead): + +2010-07-08 Sam Magnuson <smagnuson@netflix.com> + + Reviewed by Simon Hausmann. + + [Qt] for debugging purposes nice I'm contributing back my FPS + counter in the AnimationQtBase + https://bugs.webkit.org/show_bug.cgi?id=40381 + + Simply start a timer and count frames in the AnimationQtBase and + spit out the FPS count at the end of a single animation. + + No new tests: this is a simple debugging aid. + + * platform/graphics/qt/GraphicsLayerQt.cpp: + (WebCore::AnimationQt::updateState): + (WebCore::AnimationQt::updateCurrentTime): + (WebCore::TransformAnimationQt::updateState): + (WebCore::OpacityAnimationQt::updateState): + +2010-07-08 Sam Magnuson <smagnuson@netflix.com> + + Reviewed by Simon Hausmann. + + [Qt] instance objects created for QObjects are somtimes GC'd + https://bugs.webkit.org/show_bug.cgi?id=40352 + + In markAggregate loop over all the current fields and for any that + still have a dynamic property or a child, mark them as + well. Otherwise the proxy instance will go away and the JS that + was bound to it will be lost. + + * bridge/qt/qt_instance.cpp: + (JSC::Bindings::QtInstance::getQtInstance): + (JSC::Bindings::QtInstance::removeCachedMethod): + (JSC::Bindings::QtInstance::markAggregate): + (JSC::Bindings::QtInstance::getPropertyNames): + +2010-07-08 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Pavel Feldman. + + WebInspector: migrate InspectorDOMAgent to the generated version of + InspectorFrontend interface. This is the next step on the way to + Remote Debugging. + + * bindings/js/ScriptEventListener.cpp: + (WebCore::eventListenerHandlerBody): + (WebCore::eventListenerHandlerLocation): + * bindings/js/ScriptEventListener.h: + * bindings/v8/ScriptEventListener.cpp: + (WebCore::eventListenerHandlerBody): + (WebCore::eventListenerHandlerLocation): + * bindings/v8/ScriptEventListener.h: + * inspector/CodeGeneratorInspector.pm: + * inspector/InspectorCSSStore.cpp: + (WebCore::InspectorCSSStore::inspectorStyleSheet): + * inspector/InspectorController.cpp: + (WebCore::InspectorController::connectFrontend): + * inspector/InspectorController.h: + (WebCore::InspectorController::inspectorFrontend2): + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::InspectorDOMAgent): + (WebCore::InspectorDOMAgent::setDocument): + (WebCore::InspectorDOMAgent::handleEvent): + (WebCore::InspectorDOMAgent::pushChildNodesToFrontend): + (WebCore::InspectorDOMAgent::getEventListenersForNode): + (WebCore::InspectorDOMAgent::buildObjectForNode): + (WebCore::InspectorDOMAgent::buildArrayForElementAttributes): + (WebCore::InspectorDOMAgent::buildArrayForContainerChildren): + (WebCore::InspectorDOMAgent::buildObjectForEventListener): + (WebCore::InspectorDOMAgent::didInsertDOMNode): + (WebCore::InspectorDOMAgent::getStyles): + (WebCore::InspectorDOMAgent::getAllStyles): + (WebCore::InspectorDOMAgent::getStyleSheet): + (WebCore::InspectorDOMAgent::getRuleRangesForStyleSheetId): + (WebCore::InspectorDOMAgent::getInlineStyle): + (WebCore::InspectorDOMAgent::getComputedStyle): + (WebCore::InspectorDOMAgent::buildObjectForAttributeStyles): + (WebCore::InspectorDOMAgent::buildArrayForCSSRules): + (WebCore::InspectorDOMAgent::buildArrayForPseudoElements): + (WebCore::InspectorDOMAgent::applyStyleText): + (WebCore::InspectorDOMAgent::toggleStyleEnabled): + (WebCore::InspectorDOMAgent::setRuleSelector): + (WebCore::InspectorDOMAgent::addRule): + (WebCore::InspectorDOMAgent::buildObjectForStyle): + (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties): + (WebCore::InspectorDOMAgent::buildArrayForDisabledStyleProperties): + (WebCore::InspectorDOMAgent::buildObjectForStyleSheet): + (WebCore::InspectorDOMAgent::buildObjectForRule): + (WebCore::InspectorDOMAgent::toArray): + (WebCore::InspectorDOMAgent::reportNodesAsSearchResults): + * inspector/InspectorDOMAgent.h: + (WebCore::InspectorDOMAgent::create): + * inspector/InspectorFrontend.cpp: + * inspector/InspectorFrontend.h: + * inspector/InspectorFrontend2.idl: + * inspector/front-end/inspector.js: + (WebInspector.dispatchMessageFromBackend): + +2010-07-08 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Darin Adler. + + compositing/iframes/iframe-resize.html displays incorrectly after the resize + https://bugs.webkit.org/show_bug.cgi?id=41794 + + The clip and scroll layers of a composited iframe's RenderLayerCompositor are updated from + from updateGraphicsLayerGeometry(), but this is too early to get the correct layoutWidth and + layoutHeight from the FrameView which happen later in layout. So when a widget size changes, + call updateAfterWidgetResize() directly on the RenderLayerBacking (if any). + + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::updateAfterWidgetResize): New method that updates the clip + and scroll layers of the iframe's content RenderLayerCompositor. + (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Call updateAfterWidgetResize() + * rendering/RenderLayerBacking.h: Add updateAfterWidgetResize(). + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::setWidgetGeometry): Call updateAfterWidgetResize(). + +2010-07-08 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + Calling layoutTestController.layerTreeAsText() should update layout + https://bugs.webkit.org/show_bug.cgi?id=41818 + + Call updateLayout() on the document before obtaining the layer tree. + This will update compositing layers. + + * page/Frame.cpp: + (WebCore::Frame::layerTreeAsText): + +2010-07-08 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Get my head wrapped around processCharacter + https://bugs.webkit.org/show_bug.cgi?id=41812 + + The bulk of the patch is just stubbing out functions to document what + the spec tells us to do. I'll implement these functions in subsequent + patches. + + * html/HTMLConstructionSite.h: + (WebCore::HTMLConstructionSite::insertLeadingWhitespace): + (WebCore::HTMLConstructionSite::insertLeadingWhitespaceWithActiveFormattingElements): + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processCharacter): + * html/HTMLTreeBuilder.h: + (WebCore::HTMLTreeBuilder::skipLeadingWhitespace): + +2010-07-08 Tony Chang <tony@chromium.org> + + Reviewed by Ojan Vafai. + + WebCore::InsertLineBreakCommand::shouldUseBreakElement ReadAV@NULL + https://bugs.webkit.org/show_bug.cgi?id=30116 + Fixing the crash causes text insertions on hidden elements to get ignored + (not a new bug). This is https://bugs.webkit.org/show_bug.cgi?id=40342 + + Test: editing/inserting/return-key-in-hidden-textarea.html + + * editing/InsertLineBreakCommand.cpp: + (WebCore::InsertLineBreakCommand::doApply): + * editing/InsertParagraphSeparatorCommand.cpp: + (WebCore::InsertParagraphSeparatorCommand::doApply): + +2010-07-08 Sam Weinig <sam@webkit.org> + + Reviewed by Oliver Hunt. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=41923 + TimeRanges should expose a JS constructor + + * html/TimeRanges.idl: Remove [OmitConstructor]. + * page/DOMWindow.idl: Add constructor. + +2010-07-08 Erik Arvidsson <arv@chromium.org> + + Reviewed by Ojan Vafai. + + Add missing padding-end and margin-end CSS properties. + https://bugs.webkit.org/show_bug.cgi?id=25761 + + Tests: fast/css/margin-start-end.html + fast/css/padding-start-end.html + + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): + * css/CSSPropertyNames.in: + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + * inspector/front-end/SourceCSSTokenizer.js: + (WebInspector.SourceCSSTokenizer): + +2010-07-08 Aaron Boodman <aa@chromium.org> + + Reviewed by Timothy Hatcher. + + Add the ability for user scripts and user styles to affect just the top frame. + + https://bugs.webkit.org/show_bug.cgi?id=41529 + + Tests: userscripts/user-script-all-frames.html + userscripts/user-script-top-frame-only.html + userscripts/user-style-all-frames.html + userscripts/user-style-top-frame-only.html + + * WebCore.base.exp: Update PageGroup method signatures. + * dom/Document.cpp: + (WebCore::Document::pageGroupUserSheets): Check allFrames before injecting. + * page/Frame.cpp: + (WebCore::Frame::injectUserScriptsForWorld): Ditto. + * page/PageGroup.cpp: + (WebCore::PageGroup::addUserScriptToWorld): + (WebCore::PageGroup::addUserStyleSheetToWorld): + * page/PageGroup.h: + * page/UserScript.h: + (WebCore::UserScript::UserScript): + (WebCore::UserScript::injectedFrames): + * page/UserScriptTypes.h: + (WebCore::): + * page/UserStyleSheet.h: + (WebCore::UserStyleSheet::UserStyleSheet): + (WebCore::UserStyleSheet::injectedFrames): + +2010-07-08 Adele Peterson <adele@apple.com> + + Reviewed by Jon Honeycutt, Adam Roben, and Darin Adler. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=41721 + <rdar://problem/8158561> Missing plug-in indicator should have a pressed state + + Test: plugins/clicking-missing-plugin-fires-delegate.html + + * html/HTMLPlugInElement.cpp: + (WebCore::HTMLPlugInElement::HTMLPlugInElement): Initialize m_isCapturingMouseEvents. + (WebCore::HTMLPlugInElement::detach): If we're still capturing when getting detached, clear the capturing node on the EventHandler. + (WebCore::HTMLPlugInElement::defaultEventHandler): Call handleMissingPluginIndicatorEvent when the missing plugin indicator is showing. + * html/HTMLPlugInElement.h: + (WebCore::HTMLPlugInElement::isCapturingMouseEvents): + (WebCore::HTMLPlugInElement::setIsCapturingMouseEvents): + * page/ChromeClient.h: + (WebCore::ChromeClient::shouldMissingPluginMessageBeButton): Added default implementation. + * rendering/RenderEmbeddedObject.cpp: + (WebCore::replacementTextRoundedRectPressedColor): + (WebCore::RenderEmbeddedObject::RenderEmbeddedObject): + (WebCore::RenderEmbeddedObject::setMissingPluginIndicatorIsPressed): Added. Causes a repaint when the state changes. + (WebCore::RenderEmbeddedObject::paintReplaced): Call getReplacementTextGeometry. + (WebCore::RenderEmbeddedObject::getReplacementTextGeometry): Factored this out so it can be used in paintReplaced and in isInMissingPluginIndicator. + (WebCore::RenderEmbeddedObject::isInMissingPluginIndicator): Hit test to see if the mouse event is in the missing plugin indicator. + (WebCore::RenderEmbeddedObject::handleMissingPluginIndicatorEvent): Capture mouse events as needed and track the pressed appearance. + * rendering/RenderEmbeddedObject.h: + +2010-07-08 James Robinson <jamesr@google.com> + + Reviewed by Darin Fisher. + + Allow resizing and getting the texture id from an offscreen GLES2Context + https://bugs.webkit.org/show_bug.cgi?id=41828 + + When using an offscreen GLES2Context the caller needs to be able to resize the backing store + managed by the embedder and get access to a texture id to pass to the compositor. WebGL + does these actions in an indirect way, it will be refactored to use this path. + + * platform/chromium/GLES2Context.h: + +2010-07-02 Ojan Vafai <ojan@chromium.org> + + Reviewed by Adam Barth. + + Crash in RenderObject::containingBlock when clearing selection in a display:none node. + https://bugs.webkit.org/show_bug.cgi?id=41523 + + updateStyleIfNeeded before clearing the selection in the RenderView. Otherwise, + m_selectionStart and m_selectionEnd in RenderView point to garbage object. + This fixes the crash because updateStyleIfNeeded clears the selection before + clobbering nodes that contain the selection. + + Test: editing/selection/crash-on-clear-selection.html + + * editing/SelectionController.cpp: + (WebCore::SelectionController::updateAppearance): + +2010-07-08 Brent Fulgham <bfulgham@webkit.org> + + Reviewed by Xan Lopez. + + Correct a mistake in calculating squiggle extents. The entire + quantity was being divided by two, rather than just the unitWidth. + This error caused the squiggle to be about half the expected length. + + * platform/graphics/cairo/DrawErrorUnderline.h: + (drawErrorUnderline): + +2010-07-08 John Abd-El-Malek <jam@chromium.org> + + Reviewed by Darin Fisher. + + [V8] Navigation policy doesn't play nicely with pepper plugins + https://bugs.webkit.org/show_bug.cgi?id=41864 + + * bindings/v8/V8Utilities.cpp: + (WebCore::callingOrEnteredFrame): + (WebCore::shouldAllowNavigation): + (WebCore::navigateIfAllowed): + +2010-07-08 Jon Honeycutt <jhoneycutt@apple.com> + + Missing plug-ins may cause an assertion failure. + https://bugs.webkit.org/show_bug.cgi?id=41900 + + Reviewed by Adele Peterson. + + Test: plugins/missing-plugin.html + + * plugins/PluginView.cpp: + (WebCore::PluginView::~PluginView): + Check whether m_instance is null before trying to remove it from the + map. Trying to remove a null instance results in an assertion failure. + (WebCore::PluginView::PluginView): + Initialize m_instance to 0, because there is an early return that may + skip its being assigned its proper value. + +2010-07-08 Darin Adler <darin@apple.com> + + Reviewed by Oliver Hunt. + + Fix a test failure seen only on the Leopard bot. + + * bindings/js/JSSharedWorkerCustom.cpp: + (WebCore::JSSharedWorkerConstructor::constructJSSharedWorker): + If SharedWorker::create returns an exception, don't try to create a wrapper + for its return value, which can be 0. + +2010-07-08 Albert J. Wong <ajwong@chromium.org> + + Not reviewed, build break fix for chromium. + + A new MediaControlElementType enum was added which caused a warning in + the Chromium build. + + * rendering/RenderMediaControlsChromium.cpp: + (WebCore::RenderMediaControlsChromium::paintMediaControlsPart): + Add MediaVolumeSliderMuteButton enumartion entry. + +2010-07-08 Dmitry Titov <dimich@chromium.org> + + Reviewed by David Levin. + + Remove IDL declarations and stubs for navigator.registerProtocolHandler and navigator.registerContentHandler. + https://bugs.webkit.org/show_bug.cgi?id=41878 + + This is practically a rollback of http://trac.webkit.org/changeset/50477. + + * page/Chrome.cpp: + * page/Chrome.h: + * page/ChromeClient.h: + * page/Navigator.cpp: + * page/Navigator.h: + * page/Navigator.idl: + +2010-07-08 Xan Lopez <xlopez@igalia.com> + + Reviewed by Darin Adler. + + Fix adoptRef assertion failures caused by stack-allocated ResourceHandle objects + https://bugs.webkit.org/show_bug.cgi?id=41823 + + Create the ResourceHandle manually for now instead of calling + ::create, since that methods does a few extra checks that make us + fail a couple of HTTP tests. + + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::): + +2010-07-08 Alexey Proskuryakov <ap@apple.com> + + Reviewed by David Levin. + + https://bugs.webkit.org/show_bug.cgi?id=41886 + Shorten access control failure explanation messages + + * loader/CrossOriginAccessControl.cpp: + (WebCore::passesAccessControlCheck): + * loader/CrossOriginPreflightResultCache.cpp: + (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginMethod): + (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders): + Removed "response header field" parts from error text - it's long, but doesn't add much + to header field name. + + * platform/network/ResourceErrorBase.cpp: + * platform/network/ResourceErrorBase.h: + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::didFail): + * loader/DocumentThreadableLoader.cpp: + (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): + (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest): + (WebCore::DocumentThreadableLoader::didReceiveResponse): + (WebCore::DocumentThreadableLoader::preflightFailure): + Renamed the constant for domain. WebCore shouldn't be creating errors observable by WebKit + clients, because it can't create a platform error, and cannot load a localized string. + We don't treat cross origin access check failures as true loading failures, so we don't tell + clients about these. + +2010-07-08 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Dan Bernstein. + + Mac OS X media controls should have a way to adjust volume incrementally + https://bugs.webkit.org/show_bug.cgi?id=41718 + <rdar://problem/5679472> + + * css/CSSPrimitiveValueMappings.h: + (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Handle MediaVolumeSliderMuteButtonPart. + + * css/CSSSelector.cpp: + (WebCore::CSSSelector::pseudoId): Handle PseudoMediaControlsVolumeSliderMuteButton. + (WebCore::nameToPseudoTypeMap): Define mediaControlsVolumeSliderMuteButton. + (WebCore::CSSSelector::extractPseudoType): Handle PseudoMediaControlsVolumeSliderMuteButton. + + * css/CSSSelector.h: + (WebCore::CSSSelector::): Define PseudoMediaControlsVolumeSliderMuteButton. + + * css/CSSValueKeywords.in: Define media-volume-slider-mute-button. + + * css/mediaControls.css: + (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button): New. + + * css/mediaControlsQuickTime.css: + (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel): Add "overflow: visible" + so volume slider pop-up will be visible. + + (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button): Make + mute button 14x12 instead of 15x14 so it matches the size in the volume slider. + + (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container): + (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider): + (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button): + New. + + * platform/ThemeTypes.h: Define MediaVolumeSliderMuteButtonPart. + + * rendering/MediaControlElements.cpp: + (WebCore::MediaControlInputElement::MediaControlInputElement): Handle MEDIA_CONTROLS_VOLUME_SLIDER_MUTE_BUTTON. + (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): Add ButtonLocation + parameter both mute buttons can be created. + (WebCore::MediaControlMuteButtonElement::create): Ditto. + + * rendering/MediaControlElements.h: Define MediaVolumeSliderMuteButton and ButtonLocation. + + * rendering/RenderMedia.cpp: + (WebCore::RenderMedia::styleDidChange): Update volume slider mute button. + (WebCore::RenderMedia::createMuteButton): Pass ButtonLocation parameter to MediaControlMuteButtonElement::create. + (WebCore::RenderMedia::createVolumeSliderMuteButton): New. + (WebCore::RenderMedia::updateControls): Deal with volume slider mute button. + (WebCore::RenderMedia::updateVolumeSliderContainer): Don't assume all ports want to position + the volume slider in the same place, call new volumeSliderOffsetFromMuteButton theme function. + (WebCore::RenderMedia::forwardEvent): Handle volume slider mute button. + * rendering/RenderMedia.h: + + * rendering/RenderTheme.cpp: + (WebCore::RenderTheme::paint): Handle MediaVolumeSliderMuteButtonPart. + (WebCore::RenderTheme::volumeSliderOffsetFromMuteButton): New, return location previously hard + coded in RenderMedia::updateVolumeSliderContainer. + * rendering/RenderTheme.h: + + * rendering/RenderThemeMac.h: + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::adjustMediaSliderThumbSize): Deal with the volume slider thumb. + (WebCore::RenderThemeMac::paintMediaVolumeSliderContainer): New, call the WKSI paint function + for this button. + (WebCore::RenderThemeMac::paintMediaVolumeSliderTrack): Ditto. + (WebCore::RenderThemeMac::paintMediaVolumeSliderThumb): Ditto. + (WebCore::RenderThemeMac::shouldRenderMediaControlPart): Draw the volume slider parts when + using the new controller UI for a movie that has audio. + (WebCore::RenderThemeMac::volumeSliderOffsetFromMuteButton): New, position the volume slider + directly above the mute button. + + * rendering/style/RenderStyleConstants.h: Define MEDIA_CONTROLS_VOLUME_SLIDER_MUTE_BUTTON. + +2010-07-08 Antonio Gomes <tonikitoo@webkit.org> + + Unreviewed complementary fix for r62815 + + One last time change made me blind to a "!" in a if statment. + + * editing/EditorCommand.cpp: + (WebCore::executeToggleStyle): + +2010-07-07 Ojan Vafai <ojan@chromium.org> + + Reviewed by Darin Adler. + + Regression: Selection anchor + focus swap when arrow keys after setBaseAndExtent + https://bugs.webkit.org/show_bug.cgi?id=32605 + + Only have selections be non-directional when they are set via the mouse. + Otherwise, all selections are directional. + + Test: editing/selection/extend-forward-after-set-base-and-extent.html + + * WebCore.base.exp: + * editing/SelectionController.cpp: + (WebCore::SelectionController::setSelection): + * editing/SelectionController.h: + (WebCore::SelectionController::setSelection): + * page/EventHandler.cpp: + (WebCore::EventHandler::selectClosestWordFromMouseEvent): + (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent): + (WebCore::EventHandler::handleMousePressEventTripleClick): + (WebCore::EventHandler::handleMousePressEventSingleClick): + (WebCore::EventHandler::updateSelectionForMouseDrag): + +2010-07-08 Antonio Gomes <tonikitoo@webkit.org> + + Reviewed by Ojan Vafai. + + Refactor platform dependent editing behavior code out of Settings (part II) + https://bugs.webkit.org/show_bug.cgi?id=39854 + + Mac port is currently the only port relying on a style to be present on the start + of a selection to consider the style as applied or not. All other ports + have to have the style present in all text node of the selection for such. + + Patch makes situations that depend on this check like this to be controlled by + the EditingBehavior class. + + Refactoring, so no new tests needed. + + * editing/EditingBehavior.h: + (WebCore::EditingBehavior::shouldToggleStyleBasedOnStartOfSelection): + * editing/EditorCommand.cpp: + (WebCore::executeToggleStyle): + +2010-07-08 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Add stubbed out PluginView class + https://bugs.webkit.org/show_bug.cgi?id=41879 + + Export functions needed by WebKit2. + + * WebCore.exp.in: + +2010-07-08 Ben Murdoch <benm@google.com> + + Reviewed by Pavel Feldman. + + Fix build break in V8ConsoleCustom.cpp + https://bugs.webkit.org/show_bug.cgi?id=40825 + + No new tests as just fixing a build break. + + * bindings/v8/custom/V8ConsoleCustom.cpp: Guard profilesAccessorGetter + appropriately. + +2010-07-08 Sam Weinig <sam@webkit.org> + + Reviewed by Anders Carlsson. + + Pass Page to BackForwardControllerClient::createBackForwardList since it + may be called before implementations of BackForwardControllerClient have + access to a Page. + + * history/BackForwardController.cpp: + (WebCore::BackForwardController::BackForwardController): + * history/BackForwardControllerClient.h: + +2010-07-08 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r62778. + http://trac.webkit.org/changeset/62778 + https://bugs.webkit.org/show_bug.cgi?id=41866 + + Broke svg/W3C-SVG-1.1/text-intro-05-t.svg in debug (Requested + by pfeldman on #webkit). + + * platform/graphics/chromium/FontLinux.cpp: + (WebCore::TextRunWalker::TextRunWalker): + (WebCore::TextRunWalker::~TextRunWalker): + +2010-07-08 Vitaly Repeshko <vitalyr@chromium.org> + + Reviewed by Pavel Feldman. + + Fix adoptRef usage violation in IDBObjectStoreRequest + https://bugs.webkit.org/show_bug.cgi?id=41869 + + * storage/IDBObjectStoreRequest.cpp: + (WebCore::IDBObjectStoreRequest::IDBObjectStoreRequest): + +2010-07-08 Sam Weinig <sam@webkit.org> + + Another chromium build fix. + + * history/BackForwardListChromium.cpp: + (WebCore::BackForwardListImpl::goBack): + (WebCore::BackForwardListImpl::goForward): + (WebCore::BackForwardListImpl::backListWithLimit): + (WebCore::BackForwardListImpl::forwardListWithLimit): + (WebCore::BackForwardListImpl::containsItem): + (WebCore::BackForwardListImpl::removeItem): + +2010-07-08 Sam Weinig <sam@webkit.org> + + Fix Chromium build. + + * WebCore.gyp/WebCore.gyp: + +2010-07-08 Sam Weinig <sam@webkit.org> + + Reviewed by Anders Carlsson. + + Patch for https://bugs.webkit.org/show_bug.cgi?id=41826 + Convert BackForwardList to an abstract base class and add BackForwardListImpl + as the concrete implementation of it. + + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.exp.in: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * history/BackForwardController.cpp: + (WebCore::BackForwardController::BackForwardController): + * history/BackForwardController.h: + * history/BackForwardList.cpp: Removed. + * history/BackForwardList.h: + (WebCore::BackForwardList::~BackForwardList): + (WebCore::BackForwardList::isBackForwardListImpl): + (WebCore::BackForwardList::BackForwardList): + * history/BackForwardListChromium.cpp: + * history/BackForwardListImpl.cpp: Copied from WebCore/history/BackForwardList.cpp. + * history/BackForwardListImpl.h: Copied from WebCore/history/BackForwardList.h. + (WebCore::BackForwardListImpl::isBackForwardListImpl): + +2010-07-08 Vitaly Repeshko <vitalyr@chromium.org> + + Reviewed by Pavel Feldman. + + Fix adoptRef usage violations (mostly in chromium) + https://bugs.webkit.org/show_bug.cgi?id=41863 + + * bindings/v8/V8DOMWrapper.cpp: + (WebCore::V8DOMWrapper::wrapNativeNodeFilter): + * bindings/v8/V8NodeFilterCondition.h: + (WebCore::V8NodeFilterCondition::create): + * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp: + (WebCore::getNamedItems): + * bindings/v8/custom/V8HTMLCollectionCustom.cpp: + (WebCore::getNamedItems): + * bindings/v8/custom/V8HTMLFormElementCustom.cpp: + (WebCore::V8HTMLFormElement::namedPropertyGetter): + * bindings/v8/custom/V8HTMLSelectElementCustom.cpp: + (WebCore::V8HTMLSelectElement::namedPropertyGetter): + * bindings/v8/custom/V8NamedNodesCollection.h: + (WebCore::V8NamedNodesCollection::create): + (WebCore::V8NamedNodesCollection::V8NamedNodesCollection): + * storage/IDBDatabaseRequest.cpp: + (WebCore::IDBDatabaseRequest::IDBDatabaseRequest): + * storage/IndexedDatabaseRequest.cpp: + (WebCore::IndexedDatabaseRequest::IndexedDatabaseRequest): + +2010-07-08 Xan Lopez <xlopez@igalia.com> + + Reviewed by Gustavo Noronha. + + Silence a few noisy build rules. + + * GNUmakefile.am: + +2010-07-08 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Simon Hausmann. + + [Qt] Canvas putImageData() resets painter state + https://bugs.webkit.org/show_bug.cgi?id=41827 + + Use drawImage() to copy pixels in putImageData() instead of QPixmap::operator= + + Test: fast/canvas/canvas-state-intact-after-putImageData.html + + * platform/graphics/qt/ImageBufferQt.cpp: + (WebCore::putImageData): + +2010-07-08 Andrey Kosyakov <caseq@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: Do not invoke shortcuts popup upon bare '?' if it's typed + into an input field. + https://bugs.webkit.org/show_bug.cgi?id=41760 + + * inspector/front-end/inspector.js: + (WebInspector.documentKeyDown): + +2010-07-08 Patrick Gansterer <paroga@paroga.com> + + Reviewed by Kent Tamura. + + [WINCE] Buildfix for EventHandler + https://bugs.webkit.org/show_bug.cgi?id=41829 + + SM_MENUDROPALIGNMENT isn't supported on WinCE. + + * page/EventHandler.cpp: + (WebCore::EventHandler::sendContextMenuEventForKey): + +2010-07-08 Xiaomei Ji <xji@chromium.org> + + Reviewed by David Levin. + + Fix characters with unicode-bidi-mirror property are not correctly + mirrored in Linux. + https://bugs.webkit.org/show_bug.cgi?id=41305 + + Since harfbuzz does not do mirroring, chromium should iterate each + character in the string and mirror it if needed before passing the + string to harfbuzz for shaping. + + Test: fast/text/international/bidi-mirror-he-ar.html + + * platform/graphics/chromium/FontLinux.cpp: + (WebCore::TextRunWalker::TextRunWalker): + (WebCore::TextRunWalker::~TextRunWalker): + +2010-07-08 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Rob Buis & Dirk Schulze. + + SVG text transformed incorrectly when a transform and gradient applied + https://bugs.webkit.org/show_bug.cgi?id=41563 + + When rendering filled/stroked text with a gradient, RenderSVGResourceGradient creates a mask image, + renders the text into the image, and then clips the current context against that image buffer, + and filling a rect afterwards. This happened in the wrong coordinate space so far. Don't actually + try to compute the right transformation matrix (which failed), but extract it directly from the + GraphicsContext and apply this transformation to the mask image context. + + Fixes pixellation in svg/batik/text/textEffect3.svg and makes the new test svg/custom/text-rotated-gradient.svg pass. + Only affects CoreGraphics platforms. + + Test: svg/custom/text-rotated-gradient.svg + + * rendering/RenderSVGResourceGradient.cpp: + (WebCore::absoluteTransformFromContext): + (WebCore::createMaskAndSwapContextForTextGradient): + (WebCore::clipToTextMask): + +2010-07-07 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Darin Fisher. + + [Chromium] Crash when re-entering message loop + https://bugs.webkit.org/show_bug.cgi?id=41697 + + A Chromium-specific test case will be submitted into Chromium shortly. + + * page/PageGroupLoadDeferrer.cpp: + (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): + * page/PageGroupLoadDeferrer.h: + (WebCore::PageGroupLoadDeferrer::nextDeferrer): + +2010-07-07 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: skip breakpoints when script is already paused + https://bugs.webkit.org/show_bug.cgi?id=41768 + + Test: inspector/debugger-no-nested-pause.html + + * bindings/v8/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::handleV8DebugEvent): + +2010-07-08 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + WebCore/benchmarks/parser/html-parser.html spends a lot of time in deprecatedParseURL + https://bugs.webkit.org/show_bug.cgi?id=41807 + + Wow. This was an awful bug. We were always taking the slow case + every time we parsed a URL. This is about a 10% speedup on our + parsing benchmark, and might cause as much as a 1% speedup for Apple's + PLT (even though I can't run that). + + We still spend a lot of time in deprecatedParseURL. We might consider + inlining it if its being kept around much longer. + + No behavioral change, just fixing a broken optimization. + + * css/CSSHelper.cpp: + (WebCore::deprecatedParseURL): + - We only need to strip characters <= '\r', not >. + +2010-07-08 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: factor out common part of debugger tests + https://bugs.webkit.org/show_bug.cgi?id=41836 + + * bindings/js/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::recompileAllJSFunctions): postpone script recompilation if JS stack is not empty. + +2010-07-08 Patrick Gansterer <paroga@paroga.com> + + Reviewed by Kent Tamura. + + Buildfix for !ENABLE(SVG_ANIMATION) after r51567. + https://bugs.webkit.org/show_bug.cgi?id=41803 + + * svg/SVGDocumentExtensions.cpp: + (WebCore::SVGDocumentExtensions::sampleAnimationAtTime): + +2010-07-07 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Nate Chapin. + + [V8] Fix document wrapper memory leak in bindings. + https://bugs.webkit.org/show_bug.cgi?id=41771 + + * bindings/v8/custom/V8HTMLDocumentCustom.cpp: + (WebCore::V8HTMLDocument::WrapInShadowObject): Do not create static persistent handle + to shadowConstructor because it keeps the first context alive forever. + +2010-07-07 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Tor Arne Vestbø. + + [Qt] Enable smooth pixmap transforms by default + https://bugs.webkit.org/show_bug.cgi?id=41774 + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): + (WebCore::GraphicsContext::setImageInterpolationQuality): + +2010-07-07 Jesus Sanchez-Palencia <jesus@webkit.org> + + Reviewed by Antti Koivisto. + + [Qt] Missing include to build QtWebKit with WebKit2 in MediaPlayerPrivatePhonon.cpp + https://bugs.webkit.org/show_bug.cgi?id=41767 + + * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: Add Logging.h include + +2010-07-07 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Move v8-related script offset conversion to DebuggerScript.js + https://bugs.webkit.org/show_bug.cgi?id=41755 + + * bindings/v8/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::dispatchDidParseSource): + +2010-07-07 Nicolas Weber <thakis@chromium.org> + + Reviewed by Dimitri Glazkov. + https://bugs.webkit.org/show_bug.cgi?id=41580 + + Fix rendering of radial gradients in skia if both points of the + gradient are the same and r0 > 0. + + Test: fast/gradients/radial-centered.html + + * platform/graphics/skia/GradientSkia.cpp: + (WebCore::Gradient::platformGradient): + +2010-06-18 MORITA Hajime <morrita@google.com> + + Reviewed by Ojan Vafai. + + https://bugs.webkit.org/show_bug.cgi?id=26526 + Add support for input events (oninput) to contentEditable elements + + Made a default event handler on the Node to dispatch an input event when + webkitEditableContentChanged arrived. + + Test: fast/events/event-input-contentEditable.html + + * dom/Node.cpp: + (WebCore::Node::defaultEventHandler): + +2010-07-07 Darin Adler <darin@apple.com> + + Reviewed by Anders Carlsson. + + Fix adoptRef assertion failures caused by stack-allocated ResourceHandle objects + https://bugs.webkit.org/show_bug.cgi?id=41823 + + * platform/network/android/ResourceHandleAndroid.cpp: + (WebCore::ResourceHandle::loadResourceSynchronously): Use adoptRef and new instead + of allocating an object on the stack. + * platform/network/curl/ResourceHandleCurl.cpp: + (WebCore::ResourceHandle::loadResourceSynchronously): Ditto. + * platform/network/qt/ResourceHandleQt.cpp: + (WebCore::ResourceHandle::loadResourceSynchronously): Ditto. + + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::ResourceHandle::loadResourceSynchronously): Use create instead of + allocating an object on the stack. + +2010-07-07 Joseph Pecoraro <joepeck@webkit.org> + + Rubber-stamped by Pavel Feldman. + + Web Inspector: All RefPtr arguments and return values should be changed to PassRefPtr according to common practice. + https://bugs.webkit.org/show_bug.cgi?id=41759 + + * inspector/CodeGeneratorInspector.pm: + +2010-07-07 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler. + + AX: TextArea should return AXSelectedTextRange of 0,0 if the cursor is not in the text area + https://bugs.webkit.org/show_bug.cgi?id=41810 + + Test: platform/mac/accessibility/selected-text-range-for-empty-textarea.html + + * accessibility/mac/AccessibilityObjectWrapper.mm: + (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): + +2010-07-07 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Beth Dakin. + + AX: Data table heuristics: assume data table if at least one row or column of TH cells exist + https://bugs.webkit.org/show_bug.cgi?id=41806 + + Test: platform/mac/accessibility/table-with-row-col-of-headers.html + + * accessibility/AccessibilityTable.cpp: + (WebCore::AccessibilityTable::isTableExposableThroughAccessibility): + +2010-07-07 Mark Rowe <mrowe@apple.com> + + Fix the build. + + Xcode decided to change the reference type from "Relative to Build Product" to "Relative to Group" + when I moved the file between folders. That's incredibly confusing so I'll file a bug against Xcode. + + * WebCore.xcodeproj/project.pbxproj: + +2010-07-07 Mark Rowe <mrowe@apple.com> + + Fix the MathML build. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately): Fix a typo in a variable name. + +2010-07-07 James Hawkins <jhawkins@chromium.org> + + Reviewed by Dimitri Glazkov. + + Move setSuggestedValue() and suggestedValue() back to public as it's + now used by WebInputElement. + https://bugs.webkit.org/show_bug.cgi?id=41785 + + No new tests, as the method is only being used by Chromium's WebKit + API. + + * html/HTMLInputElement.h: + +2010-07-07 Mark Rowe <mrowe@apple.com> + + Rubber-stamped by Sam Weinig. + + Clean up the project file slightly. + + Remove obsolete .exp files, add the new .exp.in file, and move ExportFileGenerator.cpp in to the Exports collection. + + * WebCore.xcodeproj/project.pbxproj: + +2010-07-07 James Robinson <jamesr@chromium.org> and Vincent Scheib <schieb@chromium.org> + + Reviewed by Dimitri Glazkov. + + WebCore::GLES2Context should allow creating onscreen and offscreen contexts + https://bugs.webkit.org/show_bug.cgi?id=41492 + + You should be able to create a GLES2Context for rendering both on screen + and off screen (to a texture). Chromium's layer renderer (used for compositing) + does the former. Currently WebGL does the latter by side stepping the + WebCore::GLES2Context API completely. Longer term it should move over to using this. + + * platform/chromium/GLES2Context.h: + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::initGL): + +2010-07-07 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + Document::ownerElement() should return an HTMLFrameOwnerElement + https://bugs.webkit.org/show_bug.cgi?id=41789 + + Change return type of RenderLayerCompositor::enclosingIFrameElement() to + HTMLFrameOwnerElement*. No behavioral changes. + + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame): + (WebCore::RenderLayerCompositor::enclosingIFrameElement): + * rendering/RenderLayerCompositor.h: + +2010-07-07 Adam Barth <abarth@webkit.org> + + Reviewed by Sam Weinig. + + Add reverseFind to Vector and deploy in HTML5 parser + https://bugs.webkit.org/show_bug.cgi?id=41778 + + This patch moves reverseFind from begin an + HTMLFormattingElementList-specific concept to begin a general Vector + concept. Also, instead of using Entry as the type for operator==, we + now use elements directly. The old code compiled because the Entry + constructor wasn't explicit, which means we were churning refs on every + comparison! + + * html/HTMLFormattingElementList.cpp: + (WebCore::HTMLFormattingElementList::find): + (WebCore::HTMLFormattingElementList::bookmarkFor): + (WebCore::HTMLFormattingElementList::insertAt): + (WebCore::HTMLFormattingElementList::remove): + * html/HTMLFormattingElementList.h: + (WebCore::HTMLFormattingElementList::Entry::operator==): + (WebCore::HTMLFormattingElementList::Entry::operator!=): + +2010-07-07 Darin Adler <darin@apple.com> + + Reviewed by Adam Barth. + + Turn on adoptRef assertion for RefCounted + https://bugs.webkit.org/show_bug.cgi?id=41547 + + The WebCore part of this fixes all the assertions I saw in testing. + + * html/FileReader.cpp: + (WebCore::FileReader::readAsBinaryString): Added null checks. + Callers from JavaScript can pass the wrong type, which becomes null. + (WebCore::FileReader::readAsText): Ditto. + (WebCore::FileReader::readAsDataURL): Ditto. + + * html/FileStreamClient.h: Removed unneeded include. + + * html/FileStreamProxy.cpp: + (WebCore::FileStreamProxy::FileStreamProxy): Made inline and moved + some of the code, including the ref, into the create function. + (WebCore::FileStreamProxy::create): Moved some of the code from + the constructor here. It's safe to ref once the object has been + created and adopted. + + * html/FileStreamProxy.h: Changed create function to no longer be + inlined. Also removed an unneeded include. + + * page/EventSource.cpp: + (WebCore::EventSource::EventSource): Made inline, changed arguments + and moved code that involves the need to ref this object into the + create function. Also moved failure handling out there since it's + cleaner to have a function that fails than a constructor. For + example, the function can return 0. + (WebCore::EventSource::create): Moved some of the code from the + constructor here. + + * page/EventSource.h: Removed unneeded includes. Made the + creation function non-inline. Changed the arguments to the constructor. + + * storage/StorageAreaSync.cpp: + (WebCore::StorageAreaSync::StorageAreaSync): Made inline. Moved + code that requires ref'ing this object out to the create function. + (WebCore::StorageAreaSync::create): Moved some of the code from the + constructor here. + + * storage/StorageAreaSync.h: Removed unneeded includes. Changed + the type of one of the constructor arguments from String to + const String&. + + * workers/SharedWorker.cpp: + (WebCore::SharedWorker::SharedWorker): Made inline. Moved most of + the setup code out of here into the create function. + (WebCore::SharedWorker::create): Moved the code here. + + * workers/SharedWorker.h: Removed unneeded includes. Made the + create function non-inline. Marked the toSharedWorker override private + to catch people doing an unnecessary virtual function call if they + already have a SharedWorker*. + + * workers/Worker.cpp: + (WebCore::Worker::Worker): Made inline. Moved most of the setup code + out of here into the create function. + (WebCore::Worker::create): Moved the code here. + + * workers/Worker.h: Made the create function non-inline. Changed + the arguments to the constructor. + +2010-07-07 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Beth Dakin. + + AX: when a node's role changes, the AX tree might need to be updated + https://bugs.webkit.org/show_bug.cgi?id=41784 + + Test: platform/mac/accessibility/update-children-when-aria-role-changes.html + + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::AccessibilityRenderObject): + (WebCore::AccessibilityRenderObject::updateAccessibilityRole): + +2010-07-07 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Beth Dakin. + + AX: when an element uses role="text" but no aria-label, it should default to textUnderElement() + https://bugs.webkit.org/show_bug.cgi?id=41780 + + Test: platform/mac/accessibility/static-text-role-uses-text-under-element.html + + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::stringValue): + Fallback to textUnderElement() if text() does not return any explicitly set text. + (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): + Remove erroneous check to ignore text elements that didn't have a explicit text value. + +2010-07-07 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Darin Adler. + + Document::ownerElement() should return an HTMLFrameOwnerElement + https://bugs.webkit.org/show_bug.cgi?id=41789 + + Change the return type of Document::ownerElement() to an HTMLFrameOwnerElement, for better + type checking. No behavioral changes. + + * accessibility/mac/AccessibilityObjectWrapper.mm: + * dom/Document.cpp: + (WebCore::Document::ownerElement): + * dom/Document.h: + * editing/SelectionController.cpp: + * rendering/RenderBoxModelObject.cpp: + * rendering/RenderLayer.cpp: + * rendering/RenderView.cpp: + +2010-07-07 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + REGRESSION: GMail becomes blank after closing other tabs + https://bugs.webkit.org/show_bug.cgi?id=40421 + + RenderLayerCompositor's attach/detachRootPlatformLayer methods use + setNeedsStyleRecalc() in order to trigger acclerated compositing layers + to be hooked together across iframe boundaries. However, it was possible + for these to get called while inside of Document::recalcStyle(), which + is bad because it can cause the recalc to fail to get processed. + + Fix this by using the existing queuePostAttachCallback() functionality + to delay the call to setNeedsStyleRecalc() if post-attach callbacks + are suspended (indicating that we're inside recalcStyle()). + + No new tests because I wasn't able to make a test that shows the problem. + + * dom/ContainerNode.h: Make queuePostAttachCallback() public. + * dom/ContainerNode.cpp: + (WebCore::ContainerNode::postAttachCallbacksAreSuspended): Added; returns + whether s_attachDepth is non-zero. + + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::attachRootPlatformLayer): Call scheduleNeedsStyleRecalc() + instead of setNeedsStyleRecalc(). + (WebCore::RenderLayerCompositor::detachRootPlatformLayer): Ditto. + (WebCore::needsStyleRecalcCallback): Here we call setNeedsStyleRecalc(). + (WebCore::RenderLayerCompositor::scheduleNeedsStyleRecalc): + (WebCore::RenderLayerCompositor::notifyIFramesOfCompositingChange): + * rendering/RenderLayerCompositor.h: Add scheduleNeedsStyleRecalc(). + +2010-07-06 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + Incorrect compositing order with negative z-index + https://bugs.webkit.org/show_bug.cgi?id=38959 + + When painting the contents of compositing layers whose phase is "GraphicsLayerPaintBackground" + (indicating that they are used for the background of elements with negative z-index children), + we need to paint the non-composited negative-z-order descendants at the end of the background phase, so + they appear behind composited negative-z-order descendants. + + Test: compositing/z-order/negative-z-index.html + + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::paintIntoLayer): + +2010-07-06 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + Incorrect compositing order with negative z-index + https://bugs.webkit.org/show_bug.cgi?id=38959 + + Prerequisite: adopt new paintList() method that was added when painting compositing layer contents. + No behavioral changes. + + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::paintIntoLayer): + +2010-07-07 Adam Barth <abarth@webkit.org> + + Unreviewed. + + Fix ASSERT in Eric's previous patch. I think he tested his patch in + Release and not Debug. + + * html/HTMLFormattingElementList.h: + (WebCore::HTMLFormattingElementList::Entry::Entry): + (WebCore::HTMLFormattingElementList::findIndex): + +2010-07-07 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Grease the TreeBuilder's lightning + https://bugs.webkit.org/show_bug.cgi?id=41756 + + Brings the new TreeBuilder from 7s to 3s on the parser benchmark. + This makes performance comparable to the old parser. + + We have not begun to fight! There is so much fat left on these bones. + + * html/HTMLFormattingElementList.cpp: + (WebCore::HTMLFormattingElementList::find): + (WebCore::HTMLFormattingElementList::bookmarkFor): + (WebCore::HTMLFormattingElementList::insertAt): + (WebCore::HTMLFormattingElementList::remove): + * html/HTMLFormattingElementList.h: + (WebCore::HTMLFormattingElementList::findIndex): + +2010-07-07 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + HTMLTreeBuilder is way too slow + https://bugs.webkit.org/show_bug.cgi?id=41754 + + This takes us from 14s to 7s on our parsing benchmark. + That's still much slower than the old tree builder, but there + is a huge amount of fat left to trim. + + Vector<T> wasn't able to inline all the Entry functions when + they were buried in the cpp. Turns out the active formatting elements + list is very hot. + + I'm not sure Vector<T> is going to be the right data structure for us + in the end, but it has done alright for bring-up. + + * html/HTMLFormattingElementList.cpp: + * html/HTMLFormattingElementList.h: + (WebCore::HTMLFormattingElementList::Entry::Entry): + (WebCore::HTMLFormattingElementList::Entry::~Entry): + (WebCore::HTMLFormattingElementList::Entry::isMarker): + (WebCore::HTMLFormattingElementList::Entry::element): + (WebCore::HTMLFormattingElementList::Entry::replaceElement): + (WebCore::HTMLFormattingElementList::Entry::operator==): + (WebCore::HTMLFormattingElementList::Entry::operator!=): + +2010-07-06 Darin Adler <darin@apple.com> + + Reviewed by Adam Barth. + + More OwnPtr work, including making clear set the pointer to 0 before deletion + https://bugs.webkit.org/show_bug.cgi?id=41727 + + * WebCore.exp.in: Updated. + + * css/CSSSelector.h: + (WebCore::CSSSelector::RareData::RareData): Use adoptPtr. + (WebCore::CSSSelector::createRareData): Ditto. + * dom/SpaceSplitString.h: + (WebCore::SpaceSplitString::SpaceSplitString): Ditto. + (WebCore::SpaceSplitString::set): Ditto. + * history/CachedFrame.cpp: + (WebCore::CachedFrame::CachedFrame): Ditto. + (WebCore::CachedFrame::setCachedFramePlatformData): Ditto. + + * history/CachedFrame.h: Use PassOwnPtr. + + * loader/appcache/ApplicationCacheGroup.cpp: + (WebCore::CallCacheListenerTask::create): Use adoptPtr. + * loader/appcache/ApplicationCacheStorage.cpp: + (WebCore::ApplicationCacheStorage::storeCopyOfCache): Ditto. + * platform/PurgeableBuffer.h: + (WebCore::PurgeableBuffer::create): Ditto. + * platform/graphics/GlyphMetricsMap.h: + (WebCore::::locatePageSlowCase): Ditto. + * platform/graphics/GraphicsLayer.h: + (WebCore::AnimationValue::AnimationValue): Ditto. + (WebCore::TransformAnimationValue::TransformAnimationValue): Ditto. + * platform/graphics/MediaPlayer.h: + (WebCore::MediaPlayer::create): Ditto. + * platform/graphics/SimpleFontData.h: + (WebCore::SimpleFontData::boundsForGlyph): Ditto. + * platform/mac/PurgeableBufferMac.cpp: + (WebCore::PurgeableBuffer::create): Ditto. + * rendering/InlineFlowBox.h: + (WebCore::InlineFlowBox::setHorizontalOverflowPositions): Ditto. + (WebCore::InlineFlowBox::setVerticalOverflowPositions): Ditto. + * rendering/RootInlineBox.h: + (WebCore::RootInlineBox::floats): Ditto. + * rendering/style/RenderStyle.h: + (WebCore::InheritedFlags::inheritAnimations): Ditto. + (WebCore::InheritedFlags::inheritTransitions): Ditto. + + * rendering/style/SVGRenderStyleDefs.h: Use PassOwnPtr. + +2010-07-07 Sam Weinig <sam@webkit.org> + + Reviewed by Anders Carlsson. + + Patch for https://bugs.webkit.org/show_bug.cgi?id=41772 + Add basic piping for BackForwardControllerClient. + + * WebCore.exp.in: + * WebCore.xcodeproj/project.pbxproj: + * history/BackForwardController.cpp: + (WebCore::BackForwardController::BackForwardController): + * history/BackForwardControllerClient.h: + * page/Page.cpp: + (WebCore::Page::Page): + * page/Page.h: + * svg/graphics/SVGImage.cpp: + (WebCore::SVGImage::dataChanged): + +2010-07-07 Lucas De Marchi <lucas.demarchi@profusion.mobi> + + Unreviewed build fix after r62577. + + [EFL] build fix after r62577 + https://bugs.webkit.org/show_bug.cgi?id=41764 + + No new functionality so no new tests. + +2010-07-07 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> + + Reviewed by Xan Lopez. + + [GTK] Scrollbars sometimes go dead and stop scrolling the view + https://bugs.webkit.org/show_bug.cgi?id=41711 + + Rework the setGtkAdjustment function slightly, make it have an + early return, and be more readable. + + * platform/gtk/ScrollViewGtk.cpp: + (WebCore::ScrollView::setGtkAdjustments): + +2010-07-07 Kristian Monsen <kristianm@google.com> + + Reviewed by Steve Block. + + Updating Android to use the UserGestureIndicator class instead of Android specific code. + The rest of the changes are in parts of the Android port which are yet to be upstreamed. + + No change in behavior, so no new test. + + * platform/network/android/ResourceRequest.h: + (WebCore::ResourceRequest::ResourceRequest): + (WebCore::ResourceRequest::doUpdateResourceRequest): + +2010-07-07 Andy Estes <aestes@apple.com> + + Reviewed by Adam Barth. + + Allow a beforeload listener to prevent loading of images in <object> tags. + https://bugs.webkit.org/show_bug.cgi?id=41027 + <rdar://problem/8120596> + + Tests: fast/dom/beforeload/image-object-before-load-innerHTML.html + fast/dom/beforeload/image-object-before-load.html + + * html/HTMLObjectElement.cpp: + (WebCore::HTMLObjectElement::attach): Do not call + RenderImage::setCachedImage() at the end of attach(). Instead, allow + this to happen conditionally after beforeload is dispatched. + * loader/ImageLoader.cpp: + (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent): Render fallback + content if an object's load was cancelled. + +2010-07-06 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Dirk Schulze. + + <use> on <font-face> causes crashes, if SVGUseElement gets detached + https://bugs.webkit.org/show_bug.cgi?id=41621 + + Do not call removeFromMappedElementSheet() from the SVGFontFaceElement destructor, + as that can potentially cause the element to be reattached while destructing. + + In order to fix the crash in the testcase, the order of calling the base-class detach + method in SVGUseElement and the instance/shadow tree destruction has to be reversed, + matching the order in removedFromDocument(). + + Test: svg/custom/use-font-face-crash.svg + + * svg/SVGFontFaceElement.cpp: + (WebCore::SVGFontFaceElement::~SVGFontFaceElement): Remove removeFromMappedElementSheet() call. + * svg/SVGUseElement.cpp: + (WebCore::SVGUseElement::detach): Reverse order of calling base-class detach method and instance/shadow tree destruction. + +2010-07-07 Steve Block <steveblock@google.com> + + Reviewed by Adam Barth. + + document.createEvent() should support DeviceOrientationEvent + https://bugs.webkit.org/show_bug.cgi?id=41618 + + Tests: fast/dom/DeviceOrientation/create-event.html + + * dom/Document.cpp: + (WebCore::Document::createEvent): + +2010-07-07 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: show functions from internal browser scripts on the call stack if they + are there. + https://bugs.webkit.org/show_bug.cgi?id=41762 + + * English.lproj/localizedStrings.js: + * inspector/front-end/CallStackSidebarPane.js: + (WebInspector.CallStackSidebarPane.prototype.update): + +2010-07-07 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: All RefPtr arguments and return values should be + changed to PassRefPtr whenever it is possible according to common practice. + https://bugs.webkit.org/show_bug.cgi?id=41759 + + * inspector/CodeGeneratorInspector.pm: + * inspector/InspectorTimelineAgent.cpp: + (WebCore::InspectorTimelineAgent::pushGCEventRecords): + (WebCore::InspectorTimelineAgent::didInstallTimer): + (WebCore::InspectorTimelineAgent::didRemoveTimer): + (WebCore::InspectorTimelineAgent::didScheduleResourceRequest): + (WebCore::InspectorTimelineAgent::willSendResourceRequest): + (WebCore::InspectorTimelineAgent::didFinishLoadingResource): + (WebCore::InspectorTimelineAgent::didMarkTimeline): + (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent): + (WebCore::InspectorTimelineAgent::didMarkLoadEvent): + (WebCore::InspectorTimelineAgent::addRecordToTimeline): + (WebCore::InspectorTimelineAgent::setHeapSizeStatistic): + (WebCore::InspectorTimelineAgent::pushCurrentRecord): + * inspector/InspectorTimelineAgent.h: + (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry): + * inspector/TimelineRecordFactory.cpp: + (WebCore::TimelineRecordFactory::createGenericRecord): + (WebCore::TimelineRecordFactory::createGCEventData): + (WebCore::TimelineRecordFactory::createFunctionCallData): + (WebCore::TimelineRecordFactory::createEventDispatchData): + (WebCore::TimelineRecordFactory::createGenericTimerData): + (WebCore::TimelineRecordFactory::createTimerInstallData): + (WebCore::TimelineRecordFactory::createXHRReadyStateChangeData): + (WebCore::TimelineRecordFactory::createXHRLoadData): + (WebCore::TimelineRecordFactory::createEvaluateScriptData): + (WebCore::TimelineRecordFactory::createMarkTimelineData): + (WebCore::TimelineRecordFactory::createScheduleResourceRequestData): + (WebCore::TimelineRecordFactory::createResourceSendRequestData): + (WebCore::TimelineRecordFactory::createResourceReceiveResponseData): + (WebCore::TimelineRecordFactory::createResourceFinishData): + (WebCore::TimelineRecordFactory::createReceiveResourceData): + (WebCore::TimelineRecordFactory::createPaintData): + (WebCore::TimelineRecordFactory::createParseHTMLData): + * inspector/TimelineRecordFactory.h: + +2010-07-07 Antti Koivisto <koivisto@iki.fi> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Initial WebKit2 implementation + https://bugs.webkit.org/show_bug.cgi?id=40233 + + Export some event conversion functions needed for WebKit2. + + * platform/PlatformKeyboardEvent.h: + * platform/qt/PlatformKeyboardEventQt.cpp: + (WebCore::keyIdentifierForQtKeyCode): + (WebCore::windowsKeyCodeForKeyEvent): + +2010-07-06 Steve Block <steveblock@google.com> + + Reviewed by Adam Barth. + + DeviceOrientationEventConstructor should be exposed at window.DeviceOrientationEvent + https://bugs.webkit.org/show_bug.cgi?id=41685 + + Test: fast/dom/Window/window-properties-device-orientation.html + fast/dom/DeviceOrientation/window-property.txt + + * page/DOMWindow.idl: + +2010-07-07 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r62645. + http://trac.webkit.org/changeset/62645 + https://bugs.webkit.org/show_bug.cgi?id=41757 + + "Broken inspector tests on several platforms" (Requested by + eseidel on #webkit). + + * inspector/front-end/ScriptView.js: + (WebInspector.ScriptView.prototype._addBreakpoint): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel): + (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished): + (WebInspector.ScriptsPanel.prototype._breakpointAdded): + (WebInspector.ScriptsPanel.prototype._scriptOrResourceForURLAndLine): + (WebInspector.ScriptsPanel.prototype._showScriptOrResource): + (WebInspector.ScriptsPanel.prototype._toggleBreakpointsClicked): + * inspector/front-end/SourceView.js: + (WebInspector.SourceView.prototype._addBreakpoint): + +2010-07-07 Steve Block <steveblock@google.com> + + Reviewed by Adam Barth. + + JavaInstanceV8 needs to push a local reference frame to avoid table overflow. + https://bugs.webkit.org/show_bug.cgi?id=41516 + + This change is required to help prevent the Java virtual machine from + running out of local references. The Java virtual machine supports only + a limited number of local references. Normally, local references are + cleared when the native method returns. + + This change adds calls to PushLocalFrame() and PopLocalFrame() around + each invocation of a method on JavaInstance. These calls instruct the + virtual machine to clear local references when the frame is popped. + This means that in the case where many calls to JavaInstance methods + are made within the same native call, local references are cleared as + soon as they are no longer needed, thus conserving references. + + This change mirrors exactly JavaInstanceJSC. + + No new tests. + + * bridge/jni/v8/JavaInstanceV8.cpp: + (JavaInstance::virtualBegin): + (JavaInstance::virtualEnd): + * bridge/jni/v8/JavaInstanceV8.h: + +2010-07-06 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Inspector should remember the size of sidebars set by the user + https://bugs.webkit.org/show_bug.cgi?id=19207 + + * inspector/front-end/AbstractTimelinePanel.js: + (WebInspector.AbstractTimelinePanel): + * inspector/front-end/AuditsPanel.js: + (WebInspector.AuditsPanel): + * inspector/front-end/ConsolePanel.js: + (WebInspector.ConsolePanel): + * inspector/front-end/ElementsPanel.js: + (WebInspector.ElementsPanel.prototype.rightSidebarResizerDragEnd): + * inspector/front-end/Panel.js: + (WebInspector.Panel): + (WebInspector.Panel.prototype.get toolbarItemClass): + (WebInspector.Panel.prototype.show): + (WebInspector.Panel.prototype.createSidebar): + (WebInspector.Panel.prototype.get _sidebarWidthSettingName): + (WebInspector.Panel.prototype._endSidebarDragging): + (WebInspector.Panel.prototype.updateSidebarWidth): + (WebInspector.Panel.prototype.restoreSidebarWidth): + (WebInspector.Panel.prototype.saveSidebarWidth): + * inspector/front-end/ProfilesPanel.js: + (WebInspector.ProfilesPanel): + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourcesPanel): + (WebInspector.ResourcesPanel.prototype.resourceTrackingWasEnabled): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel): + (WebInspector.ScriptsPanel.prototype._endSidebarResizeDrag): + (WebInspector.ScriptsPanel.prototype._sidebarResizeDrag): + (WebInspector.ScriptsPanel.prototype.setSidebarWidth): + * inspector/front-end/Settings.js: + (WebInspector.populateApplicationSettings): + * inspector/front-end/StoragePanel.js: + (WebInspector.StoragePanel): + * inspector/front-end/TimelinePanel.js: + (WebInspector.TimelinePanel): + +2010-07-05 Steve Block <steveblock@google.com> + + Reviewed by Adam Barth. + + DeviceOrientation should be renamed to DeviceOrientationController + https://bugs.webkit.org/show_bug.cgi?id=41608 + + No new tests, renaming only. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * dom/DeviceOrientation.cpp: Removed. + * dom/DeviceOrientation.h: Removed. + * dom/DeviceOrientationController.cpp: Copied from WebCore/dom/DeviceOrientation.cpp. + (WebCore::DeviceOrientationController::DeviceOrientationController): + (WebCore::DeviceOrientationController::onDeviceOrientationChange): + * dom/DeviceOrientationController.h: Copied from WebCore/dom/DeviceOrientation.h. + * page/Page.cpp: + (WebCore::Page::Page): + * page/Page.h: + (WebCore::Page::deviceOrientationController): + +2010-07-07 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: do not activate all breakpoints on page reload + https://bugs.webkit.org/show_bug.cgi?id=41461 + + Test: inspector/debugger-breakpoints-not-activated-on-reload.html + + * inspector/front-end/ScriptView.js: + (WebInspector.ScriptView.prototype._addBreakpoint): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel): + (WebInspector.ScriptsPanel.prototype._breakpointAdded): + (WebInspector.ScriptsPanel.prototype.toggleBreakpointsClicked): + * inspector/front-end/SourceView.js: + (WebInspector.SourceView.prototype._addBreakpoint): + +2010-07-07 Nikolas Zimmermann <nzimmermann@rim.com> + + Not reviewed. Rollout r62633 - test crashes after some last-minute modifications. + + * svg/SVGFontFaceElement.cpp: + (WebCore::SVGFontFaceElement::~SVGFontFaceElement): + +2010-07-07 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Fix </html> handling in before head mode + https://bugs.webkit.org/show_bug.cgi?id=41752 + + Covered by html5lib/runner.html. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processEndTag): + +2010-07-07 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + </div> pops too many <div> elements in body + https://bugs.webkit.org/show_bug.cgi?id=41751 + + Another missing return! + + While tracking this down I added some debugging code to both the + open elements stack and the active formatting elements list. + + I also unwrapped a very long || chain to make it more readable. + + * html/HTMLElementStack.cpp: + (WebCore::HTMLElementStack::show): + * html/HTMLElementStack.h: + * html/HTMLFormattingElementList.cpp: + (WebCore::HTMLFormattingElementList::show): + * html/HTMLFormattingElementList.h: + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processEndTagForInBody): + +2010-07-06 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + HTMLTreeBuilder needs to handle <table><input> + https://bugs.webkit.org/show_bug.cgi?id=41744 + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTagForInTable): + +2010-07-06 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Teach HTMLTreeBuilder how to handle <button><button> + https://bugs.webkit.org/show_bug.cgi?id=41743 + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTagForInBody): + +2010-07-06 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Teach TreeBuilder how to handle <form><form> + https://bugs.webkit.org/show_bug.cgi?id=41741 + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTagForInBody): + +2010-07-06 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + <table> should auto-close <p> when not in quirks mode + https://bugs.webkit.org/show_bug.cgi?id=41740 + + This is already covered by multiple tests in html5lib/runner.html + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTagForInBody): + +2010-07-06 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Make "in body" character handling reconstruct active formatting elements + https://bugs.webkit.org/show_bug.cgi?id=41739 + + This fixes a bunch of tests, and due to some other bug in our + formatting code, regresses two. I'll fix that bug in a separate + patch. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processCharacter): + +2010-07-06 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Darin Adler. + + <use> on <font-face> causes crashes, if SVGUseElement gets detached + https://bugs.webkit.org/show_bug.cgi?id=41621 + + Do not call removeFromMappedElementSheet() from the destructor, as the call to document()->updateStyleSelector() that can potentially + cause the element to be reattached while destructing. It's not needed at all, because removedFromDocument() is called before destruction, + which already calls removeFromMappedElementSheet() - at this point it's still safe to update the style selector. + + The crash is reproducable when using <use> on <font-face>. + + Test: svg/custom/use-font-face-crash.svg + + * svg/SVGFontFaceElement.cpp: + (WebCore::SVGFontFaceElement::~SVGFontFaceElement): + +2010-07-07 Hayato Ito <hayato@chromium.org> + + Reviewed by Darin Adler. + + Rolling out 'page-break-inside:avoid' part of the r54929. + Rebased the related layout tests, which are now expected to fail, as well. + + https://bugs.webkit.org/show_bug.cgi?id=41532 + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::paintChildren): + +2010-07-07 Mark Rowe <mrowe@apple.com> + + Fix failures in a handful of Java-related tests. + + * WebCore.exp.in: Remove an extraneous ENABLE_ from an #if so that the condition + evalutes to true when we expect it to. + +2010-07-06 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Joseph Pecoraro. + + Web Inspector: provide line numbers for inline styles. + + https://bugs.webkit.org/show_bug.cgi?id=41691 + + Test: inspector/styles-source-lines-inline.html + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseSheet): + * css/CSSParser.h: + * css/CSSStyleSheet.cpp: + (WebCore::CSSStyleSheet::parseString): + (WebCore::CSSStyleSheet::parseStringAtLine): + * css/CSSStyleSheet.h: + * dom/StyleElement.cpp: + (WebCore::StyleElement::process): + (WebCore::StyleElement::createSheet): + * dom/StyleElement.h: + * html/HTMLStyleElement.cpp: + (WebCore::HTMLStyleElement::HTMLStyleElement): + (WebCore::HTMLStyleElement::finishParsingChildren): + * html/HTMLStyleElement.h: + * inspector/InspectorCSSStore.cpp: + (WebCore::InspectorCSSStore::getRuleRangesForStyleSheet): + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::buildObjectForRule): + * inspector/front-end/DOMAgent.js: + (WebInspector.CSSStyleDeclaration.parseRule): + * inspector/front-end/StylesSidebarPane.js: + (WebInspector.StylePropertiesSection.else.linkifyUncopyable): + (WebInspector.StylePropertiesSection): + +2010-07-06 Dan Bernstein <mitz@apple.com> + + Reviewed by Jon Honeycutt. + + <rdar://problem/8163651> Wrong value type being supplied for kCTTypesetterOptionForcedEmbeddingLevel key + + No change in behavior, so no new test. + + * platform/graphics/mac/ComplexTextControllerCoreText.cpp: + (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): Use CFNumber instances + as the values of the kCTTypesetterOptionForcedEmbeddingLevel key, instead of CFBooleans. + +2010-07-06 Mark Rowe <mrowe@apple.com> + + Fix production builds on Mac OS X. + + * DerivedSources.make: Don't try and generate the export file during the installhdrs build phase. + It's not useful until much later in the build process, and it's not possible to generate it until + after the tool has been compiled anyway. + * WebCore.xcodeproj/project.pbxproj: Tweak how the ICU and forwarding headers are copied so that it + works in production builds once more. + +2010-07-06 Steve Falkenburg <sfalken@apple.com> + + Reviewed by Simon Fraser. + + Expose URL matching from WebUserContentURLPattern + https://bugs.webkit.org/show_bug.cgi?id=41726 + <rdar://problem/7910144> + + * WebCore.exp.in: Export UserContentURLPattern::matches for use in WebKit. + +2010-07-06 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Fix <nobr><nobr> case in HTMLTreeBuilder + https://bugs.webkit.org/show_bug.cgi?id=41735 + + We were both not handling <nobr> correctly, as well as + never hitting the <nobr> case because our formatting + elements check was overzealous. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTagForInBody): + +2010-07-06 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Implement start table tag in table mode + https://bugs.webkit.org/show_bug.cgi?id=41736 + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTagForInTable): + (WebCore::HTMLTreeBuilder::processTableEndTagForInTable): + (WebCore::HTMLTreeBuilder::processEndTagForInTable): + * html/HTMLTreeBuilder.h: + +2010-07-06 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Implement "act as if the banana has been peeled" (for lack of a better term) + https://bugs.webkit.org/show_bug.cgi?id=41734 + + The spec has a tricky passage that says "whenever a node would be + inserted into the current node, it must instead be foster parented." + This patch attempts to implement that requirement. + + * html/HTMLConstructionSite.cpp: + (WebCore::HTMLConstructionSite::attach): + (WebCore::HTMLConstructionSite::HTMLConstructionSite): + (WebCore::HTMLConstructionSite::insertHTMLHtmlElement): + (WebCore::HTMLConstructionSite::insertHTMLHeadElement): + (WebCore::HTMLConstructionSite::insertHTMLBodyElement): + (WebCore::HTMLConstructionSite::insertScriptElement): + (WebCore::HTMLConstructionSite::fosterParent): + * html/HTMLConstructionSite.h: + (WebCore::HTMLConstructionSite::RedirectToFosterParentGuard::RedirectToFosterParentGuard): + (WebCore::HTMLConstructionSite::RedirectToFosterParentGuard::~RedirectToFosterParentGuard): + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTagForInTable): + (WebCore::HTMLTreeBuilder::processEndTagForInTable): + * html/HTMLTreeBuilder.h: + +2010-07-06 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Fix </optgroup> in "in select" mode + https://bugs.webkit.org/show_bug.cgi?id=41733 + + I had to add a oneBelowTop() accessor. + I added some ASSERTs after looking at the fragment case + documentation. I'm now convinced that top() and oneBeforeTop() + should never be NULL, so we just ASSERT they aren't. + + This is a very obscure corner of the HTML spec, but at least + we have a test for it. This makes one more html5lib test pass. + + * html/HTMLConstructionSite.h: + (WebCore::HTMLConstructionSite::oneBelowTop): + * html/HTMLElementStack.cpp: + (WebCore::HTMLElementStack::topRecord): + (WebCore::HTMLElementStack::top): + (WebCore::HTMLElementStack::oneBelowTop): + * html/HTMLElementStack.h: + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processEndTag): + +2010-07-06 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Fix "in row" "Anything else" handling of end tags + https://bugs.webkit.org/show_bug.cgi?id=41731 + + I also fixed </br> handling to follow the spec more closely + since it implementation was old and didn't use all our + new processFake* hotness. + + This is already covered by 3 tests, however we don't + pass them yet, due to lack of table foster parenting + code (which Adam is working on as we speak). + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processEndTagForInBody): + (WebCore::HTMLTreeBuilder::processEndTag): + +2010-07-06 Mark Rowe <mrowe@apple.com> + + Fix clean builds on Mac OS X. + + Since "Copy Forwarding and ICU Headers" was split in to a separate target + from the WebCore framework it no longer had automatica access to the + PRIVATE_HEADERS_FOLDER_PATH variable. This caused it to copy the header + files in to the wrong location. Fix that by giving PRIVATE_HEADERS_FOLDER_PATH + its correct value and ensuring that the path exists. + + * WebCore.xcodeproj/project.pbxproj: + +2010-07-06 Sam Weinig <sam@webkit.org> + + Fix Gtk build. + + * GNUmakefile.am: + +2010-07-06 Mark Rowe <mrowe@apple.com> + + Tiger build fix. + + Don't use WebCore's LDFLAGS when building WebCoreExportFileGenerator. + + * WebCore.xcodeproj/project.pbxproj: + +2010-07-06 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + "In cell" does not correctly handle <td><tr> or <td><td> + https://bugs.webkit.org/show_bug.cgi?id=41729 + + This change is mostly cleanup to try and prevent forgetting + tag name checks in the future by using inlines to reduce + copy/paste code. + + 3 little bugs in InCellMode: + - Missing trTag from the long or statement (reason for the cleanup) + - Used || instead of && + - Forgot to reprocess the tag after closeTheCell() + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTagForInBody): + (WebCore::HTMLTreeBuilder::processStartTagForInTable): + (WebCore::HTMLTreeBuilder::processStartTag): + (WebCore::HTMLTreeBuilder::processEndTagForInTable): + (WebCore::HTMLTreeBuilder::processEndTag): + +2010-07-06 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Move fosterParent to HTMLConstructionSite + https://bugs.webkit.org/show_bug.cgi?id=41728 + + This paves the way for handling the default case of InTableMode + properly. + + * html/HTMLConstructionSite.cpp: + (WebCore::HTMLConstructionSite::fosterParent): + * html/HTMLConstructionSite.h: + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::callTheAdoptionAgency): + +2010-07-06 Adam Barth <abarth@webkit.org> + + Rubber-stamped by Eric Seidel. + + Move HTMLConstructionSite to its own file. No behavior change. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * html/HTMLConstructionSite.cpp: Copied from WebCore/html/HTMLTreeBuilder.cpp. + (WebCore::HTMLNames::hasImpliedEndTag): + (WebCore::HTMLConstructionSite::attach): + (WebCore::HTMLConstructionSite::HTMLConstructionSite): + (WebCore::HTMLConstructionSite::~HTMLConstructionSite): + (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML): + (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement): + (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody): + (WebCore::HTMLConstructionSite::insertHTMLBodyStartTagInBody): + * html/HTMLConstructionSite.h: Copied from WebCore/html/HTMLTreeBuilder.h. + * html/HTMLTreeBuilder.cpp: + * html/HTMLTreeBuilder.h: + +2010-07-06 Mark Rowe <mrowe@apple.com> + + Build fix. + + The path to the generated file needs to be relative to the built product directory, + not to the project file. + + * WebCore.xcodeproj/project.pbxproj: + +2010-07-06 Mark Rowe <mrowe@apple.com> + + Reviewed by Darin Adler. + + <http://webkit.org/b/41725> REGRESSION(r62283): No longer possible to build for Tiger from SnowLeopard due to export file shenanigans + + Change how the exports file is generated. Rather than having the logic for which symbols + to include be encoded in a Makefile that concatenated separate files, the logic is now + encoded as #if's in the base exports file. This ensures that the exact same preprocessor + settings are used when determining which symbols to export as when compiling the code that + defines the symbols. + + * DerivedSources.make: Remove logic that determines which export files to concatenate. + Replace with an invocation of WebCoreExportFileGenerator. + * WebCore.3DRendering.exp: Removed. + * WebCore.AcceleratedCompositing.exp: Removed. + * WebCore.ClientBasedGeolocation.exp: Removed. + * WebCore.ContextMenus.exp: Removed. + * WebCore.DashboardSupport.exp: Removed. + * WebCore.DragSupport.exp: Removed. + * WebCore.Geolocation.exp: Removed. + * WebCore.Inspector.exp: Removed. + * WebCore.JNI.exp: Removed. + * WebCore.NPAPI.exp: Removed. + * WebCore.OrientationEvents.exp: Removed. + * WebCore.PluginHostProcess.exp: Removed. + * WebCore.ProtectionSpaceAuthCallback.exp: Removed. + * WebCore.SVG.Animation.exp: Removed. + * WebCore.SVG.Filters.exp: Removed. + * WebCore.SVG.ForeignObject.exp: Removed. + * WebCore.SVG.exp: Removed. + * WebCore.Tiger.exp: Removed. + * WebCore.Video.exp: Removed. + * WebCore.VideoProxy.exp: Removed. + * WebCore.exp.in: Renamed from WebCore/WebCore.base.exp. Merge the individual .exp + files in, wrapping the appropriate parts with the necessary #if's. + * WebCore.xcodeproj/project.pbxproj: + * make-exports-file-generator: Added. + +2010-07-06 Sam Weinig <sam@webkit.org> + + Reviewed by Anders Carlsson. + + Patch for https://bugs.webkit.org/show_bug.cgi?id=41723 + Add BackForwardController class + + - Add BackForwardController which currently only forwards to the existing + BackForwardList implementation. This is a first step toward allowing + for a proxying BackForwardList implementation. + + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.base.exp: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * history/BackForwardController.cpp: Added. + (WebCore::BackForwardController::BackForwardController): + (WebCore::BackForwardController::~BackForwardController): + * history/BackForwardController.h: Added. + (WebCore::BackForwardController::client): + (WebCore::BackForwardController::list): + * history/BackForwardControllerClient.h: Added. + (WebCore::BackForwardControllerClient::~BackForwardControllerClient): + * page/Page.cpp: + (WebCore::Page::Page): + (WebCore::Page::~Page): + (WebCore::Page::backForwardList): + (WebCore::Page::goBack): + (WebCore::Page::goForward): + (WebCore::Page::canGoBackOrForward): + (WebCore::Page::goBackOrForward): + (WebCore::Page::getHistoryLength): + * page/Page.h: + +2010-07-06 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> + + Unreviewed. + + Fixes regression on API test by disabling the scrollbars before + configuring the adjustments. + + * platform/gtk/ScrollViewGtk.cpp: + (WebCore::ScrollView::setGtkAdjustments): + +2010-07-06 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Add support for <li>, <dd> and <dt> nested tag closing + https://bugs.webkit.org/show_bug.cgi?id=41720 + + li, dd, and dt have nearly identical logic in HTML5, so I + attempted to make them share as much code as possible. + + This fixes a bunch of subtests for html5lib/runner.html + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag): + (WebCore::HTMLTreeBuilder::processStartTagForInBody): + (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody): + (WebCore::HTMLTreeBuilder::furthestBlockForFormattingElement): + * html/HTMLTreeBuilder.h: + +2010-07-06 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Factor HTMLConstructionSite out of HTMLTreeBuilder + https://bugs.webkit.org/show_bug.cgi?id=41716 + + The HTMLContructionSite is the model object on which the + HTMLTreeBuilder (a controller) acts. + + No behavior change. I'll move this class into its own file in a + followup patch. + + * html/HTMLFormattingElementList.h: + (WebCore::HTMLFormattingElementList::at): + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): + (WebCore::HTMLConstructionSite::HTMLConstructionSite): + (WebCore::HTMLTreeBuilder::passTokenToLegacyParser): + (WebCore::HTMLTreeBuilder::processDoctypeToken): + (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML): + (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement): + (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody): + (WebCore::HTMLConstructionSite::insertHTMLBodyStartTagInBody): + (WebCore::HTMLTreeBuilder::processFakePEndTagIfPInScope): + (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody): + (WebCore::HTMLTreeBuilder::processStartTagForInBody): + (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup): + (WebCore::HTMLTreeBuilder::closeTheCell): + (WebCore::HTMLTreeBuilder::processStartTagForInTable): + (WebCore::HTMLTreeBuilder::processStartTag): + (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody): + (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody): + (WebCore::HTMLTreeBuilder::furthestBlockForFormattingElement): + (WebCore::HTMLTreeBuilder::findFosterParentFor): + (WebCore::HTMLTreeBuilder::callTheAdoptionAgency): + (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately): + (WebCore::HTMLTreeBuilder::processEndTagForInBody): + (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption): + (WebCore::HTMLTreeBuilder::processTrEndTagForInRow): + (WebCore::HTMLTreeBuilder::processEndTagForInTable): + (WebCore::HTMLTreeBuilder::processEndTag): + (WebCore::HTMLTreeBuilder::processComment): + (WebCore::HTMLTreeBuilder::processCharacter): + (WebCore::HTMLTreeBuilder::processEndOfFile): + (WebCore::HTMLTreeBuilder::processDefaultForBeforeHTMLMode): + (WebCore::HTMLTreeBuilder::processStartTagForInHead): + (WebCore::HTMLConstructionSite::insertDoctype): + (WebCore::HTMLConstructionSite::insertComment): + (WebCore::HTMLConstructionSite::insertCommentOnDocument): + (WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement): + (WebCore::HTMLConstructionSite::createElementAndAttachToCurrent): + (WebCore::HTMLConstructionSite::insertHTMLHtmlElement): + (WebCore::HTMLConstructionSite::insertHTMLHeadElement): + (WebCore::HTMLConstructionSite::insertHTMLBodyElement): + (WebCore::HTMLConstructionSite::insertElement): + (WebCore::HTMLConstructionSite::insertSelfClosingElement): + (WebCore::HTMLConstructionSite::insertFormattingElement): + (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag): + (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag): + (WebCore::HTMLConstructionSite::insertScriptElement): + (WebCore::HTMLTreeBuilder::processScriptStartTag): + (WebCore::HTMLConstructionSite::insertTextNode): + (WebCore::HTMLConstructionSite::createElement): + (WebCore::HTMLTreeBuilder::indexOfFirstUnopenFormattingElement): + (WebCore::HTMLTreeBuilder::reconstructTheActiveFormattingElements): + (WebCore::HTMLTreeBuilder::generateImpliedEndTagsWithExclusion): + (WebCore::HTMLTreeBuilder::generateImpliedEndTags): + * html/HTMLTreeBuilder.h: + (WebCore::HTMLConstructionSite::currentElement): + (WebCore::HTMLConstructionSite::openElements): + (WebCore::HTMLConstructionSite::activeFormattingElements): + (WebCore::HTMLConstructionSite::head): + (WebCore::HTMLConstructionSite::form): + (WebCore::HTMLConstructionSite::releaseForm): + (WebCore::HTMLConstructionSite::setForm): + (WebCore::HTMLConstructionSite::fragmentScriptingPermission): + (WebCore::HTMLConstructionSite::attach): + +2010-07-06 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> + + Reviewed by Xan Lopez. + + [GTK] Scrollbars sometimes go dead and stop scrolling the view + https://bugs.webkit.org/show_bug.cgi?id=41711 + + Fixes GtkScrolledWindow scrollbars not actually scrolling the page + in certain conditions. No tests because it is hard to reproduce, + and depends on interaction with a widget that is outside of the + WebView, which is tricky. + + * platform/gtk/ScrollViewGtk.cpp: + (WebCore::ScrollView::setGtkAdjustments): + +2010-07-06 Darin Adler <darin@apple.com> + + Reviewed by Geoffrey Garen. + + Simplify access to element attribute map, removing unneeded functions + https://bugs.webkit.org/show_bug.cgi?id=41703 + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::canShareStyleWithElement): Use the + attributeMap function instead of the mappedAttributes function. + (WebCore::CSSStyleSelector::styleForElement): Ditto. + + * dom/Element.cpp: + (WebCore::Element::~Element): Renamed namedAttrMap to m_attributeMap. + (WebCore::Element::removeAttribute): Ditto. + (WebCore::Element::getAttribute): Ditto. + (WebCore::Element::setAttribute): Ditto. + (WebCore::Element::setAttributeMap): Ditto. + (WebCore::Element::hasAttributes): Ditto. + (WebCore::Element::createAttributeMap): Ditto. + (WebCore::Element::insertedIntoDocument): Ditto. + (WebCore::Element::removedFromDocument): Ditto. + (WebCore::Element::getURLAttribute): Ditto. + + * dom/Element.h: Removed unneeded virtual attributes function. + Made read-only argument to attributes function default to false. + (Later, we'll eliminate this.) Renamed namedAttrMap to m_attributeMap + and made it private instead of protected. + + * dom/StyledElement.cpp: + (WebCore::StyledElement::attributeChanged): Use attributeMap function + instead of namedAttrMap data member or mappedAttributes function. + (WebCore::StyledElement::classAttributeChanged): Ditto. + (WebCore::StyledElement::parseMappedAttribute): Ditto. + + * dom/StyledElement.h: Removed mappedAttributes function and changed + callers to use attributeMap function instead. + + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::setInputType): Use attributeMap instead of + mappedAttributes. + * svg/SVGStyledElement.cpp: + (WebCore::SVGStyledElement::getPresentationAttribute): Ditto. + +2010-07-06 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Add a build rule that removes the old generated Obj-C bindings for PluginArray and MimeTypeArray. + + * DerivedSources.make: + +2010-07-06 Adam Barth <abarth@webkit.org> + + Unreviewed. + + Make the remaining insertion modes explicit. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTag): + (WebCore::HTMLTreeBuilder::processEndTag): + (WebCore::HTMLTreeBuilder::processCharacter): + (WebCore::HTMLTreeBuilder::processEndOfFile): + +2010-07-06 Alexey Proskuryakov <ap@apple.com> + + Not reviewed, fixing a simple copy/paste mistake. + + https://bugs.webkit.org/show_bug.cgi?id=41156 + Cross origin XMLHttpRequest should log the reason why connection failed + + Covered by xmlhttprequest/access-control-basic-non-simple-deny-cached.html + + * loader/CrossOriginPreflightResultCache.cpp: + (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders): Fix incorrectly + copy/pasted header field name. + +2010-07-06 Xan Lopez <xlopez@igalia.com> + + GTK+ fixes for the DOM plug-in renaming Apocalypse. + + * GNUmakefile.am: + +2010-07-06 Anders Carlsson <andersca@apple.com> + + Yet another Windows build fix. + + * DerivedSources.cpp: + +2010-07-06 Anders Carlsson <andersca@apple.com> + + Fix Windows build. + + * WebCore.vcproj/WebCore.vcproj: + +2010-07-06 Anders Carlsson <andersca@apple.com> + + More build fixes. + + * WebCore.gypi: + * WebCore.pro: + +2010-07-06 Anders Carlsson <andersca@apple.com> + + Try to fix Qt build. + + * WebCore.pro: + +2010-07-06 Anders Carlsson <andersca@apple.com> + + Attempt to fix GTK+ build. + + * GNUmakefile.am: + +2010-07-06 Adam Barth <abarth@webkit.org> + + Address reviewer comments from https://bugs.webkit.org/show_bug.cgi?id=41671 + + Deploy isTableBodyContextTag where possible. No behavior change. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTagForInBody): + (WebCore::HTMLTreeBuilder::processStartTag): + (WebCore::HTMLTreeBuilder::processEndTagForInTable): + (WebCore::HTMLTreeBuilder::processEndTag): + +2010-07-06 Anders Carlsson <andersca@apple.com> + + Build fixes. + + * WebCore.gypi: + * bindings/js/JSBindingsAllInOne.cpp: + +2010-07-06 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + DOM plug-in related renames + https://bugs.webkit.org/show_bug.cgi?id=41709 + + This is in preparation for using "Plugin" for something other than a DOM object. + + MimeType => DOMMimeType + MimeTypeArray => DOMMimeTypeArray + Plugin => DOMPlugin + PluginArray => DOMPluginArray + + * CMakeLists.txt: + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.pri: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSDOMMimeTypeArrayCustom.cpp: Added. + (WebCore::JSDOMMimeTypeArray::canGetItemsForName): + (WebCore::JSDOMMimeTypeArray::nameGetter): + * bindings/js/JSDOMPluginArrayCustom.cpp: Added. + (WebCore::JSDOMPluginArray::canGetItemsForName): + (WebCore::JSDOMPluginArray::nameGetter): + * bindings/js/JSDOMPluginCustom.cpp: Added. + (WebCore::JSDOMPlugin::canGetItemsForName): + (WebCore::JSDOMPlugin::nameGetter): + * bindings/js/JSMimeTypeArrayCustom.cpp: Removed. + * bindings/js/JSPluginArrayCustom.cpp: Removed. + * bindings/js/JSPluginCustom.cpp: Removed. + * bindings/scripts/CodeGeneratorJS.pm: + * page/DOMWindow.idl: + * page/Navigator.cpp: + (WebCore::Navigator::plugins): + (WebCore::Navigator::mimeTypes): + * page/Navigator.h: + * page/Navigator.idl: + * plugins/DOMMimeType.cpp: Added. + (WebCore::DOMMimeType::DOMMimeType): + (WebCore::DOMMimeType::~DOMMimeType): + (WebCore::DOMMimeType::type): + (WebCore::DOMMimeType::suffixes): + (WebCore::DOMMimeType::description): + (WebCore::DOMMimeType::enabledPlugin): + * plugins/DOMMimeType.h: Added. + (WebCore::DOMMimeType::create): + (WebCore::DOMMimeType::mimeClassInfo): + * plugins/DOMMimeType.idl: Added. + * plugins/DOMMimeTypeArray.cpp: Added. + (WebCore::DOMMimeTypeArray::DOMMimeTypeArray): + (WebCore::DOMMimeTypeArray::~DOMMimeTypeArray): + (WebCore::DOMMimeTypeArray::length): + (WebCore::DOMMimeTypeArray::item): + (WebCore::DOMMimeTypeArray::canGetItemsForName): + (WebCore::DOMMimeTypeArray::namedItem): + (WebCore::DOMMimeTypeArray::getPluginData): + * plugins/DOMMimeTypeArray.h: Added. + (WebCore::DOMMimeTypeArray::create): + (WebCore::DOMMimeTypeArray::disconnectFrame): + * plugins/DOMMimeTypeArray.idl: Added. + * plugins/DOMPlugin.cpp: Added. + (WebCore::DOMPlugin::DOMPlugin): + (WebCore::DOMPlugin::~DOMPlugin): + (WebCore::DOMPlugin::name): + (WebCore::DOMPlugin::filename): + (WebCore::DOMPlugin::description): + (WebCore::DOMPlugin::length): + (WebCore::DOMPlugin::item): + (WebCore::DOMPlugin::canGetItemsForName): + (WebCore::DOMPlugin::namedItem): + * plugins/DOMPlugin.h: Added. + (WebCore::DOMPlugin::create): + (WebCore::DOMPlugin::pluginInfo): + * plugins/DOMPlugin.idl: Added. + * plugins/DOMPluginArray.cpp: Added. + (WebCore::DOMPluginArray::DOMPluginArray): + (WebCore::DOMPluginArray::~DOMPluginArray): + (WebCore::DOMPluginArray::length): + (WebCore::DOMPluginArray::item): + (WebCore::DOMPluginArray::canGetItemsForName): + (WebCore::DOMPluginArray::namedItem): + (WebCore::DOMPluginArray::refresh): + (WebCore::DOMPluginArray::pluginData): + * plugins/DOMPluginArray.h: Added. + (WebCore::DOMPluginArray::create): + (WebCore::DOMPluginArray::disconnectFrame): + * plugins/DOMPluginArray.idl: Added. + * plugins/MimeType.cpp: Removed. + * plugins/MimeType.h: Removed. + * plugins/MimeType.idl: Removed. + * plugins/MimeTypeArray.cpp: Removed. + * plugins/MimeTypeArray.h: Removed. + * plugins/MimeTypeArray.idl: Removed. + * plugins/Plugin.cpp: Removed. + * plugins/Plugin.h: Removed. + * plugins/Plugin.idl: Removed. + * plugins/PluginArray.cpp: Removed. + * plugins/PluginArray.h: Removed. + * plugins/PluginArray.idl: Removed. + +2010-07-06 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=41156 + Cross origin XMLHttpRequest should log the reason why connection failed + + Covered by multiple existing tests. + + * loader/CrossOriginAccessControl.cpp: + (WebCore::passesAccessControlCheck): + * loader/CrossOriginAccessControl.h: + * loader/CrossOriginPreflightResultCache.cpp: + (WebCore::CrossOriginPreflightResultCacheItem::parse): + (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginMethod): + (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders): + (WebCore::CrossOriginPreflightResultCacheItem::allowsRequest): + * loader/CrossOriginPreflightResultCache.h: + Functions that check requests now take a string argument for error explanation. + + * loader/DocumentThreadableLoader.cpp: + (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Make an informative error + if crossOriginRequestPolicy is DenyCrossOriginRequests. This doesn't currently go anywhere, + since XMLHttpRequest is the only client that logs from didFail(), and it of course supports + cross origin requests. + (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest): Make an informative + error when trying to e.g. send a cross origin XMLHttpRequest to ftp://. + (WebCore::DocumentThreadableLoader::didReceiveResponse): Pass error explanation from cross + origin access control code. + (WebCore::DocumentThreadableLoader::preflightFailure): Ditto. + + * loader/DocumentThreadableLoader.h: preflightFailure() now takes arguments. + + * platform/network/ResourceErrorBase.cpp: + * platform/network/ResourceErrorBase.h: + Added a constant for WebKit error domain. + + * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::didFail): Report the error to console. + One day we'll be able to also provide script file and line number here, so it's best to + pass error all the way down to XHR for reporting. + +2010-07-06 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: convert script offset to webkit format in v8 ScriptDebugServer + https://bugs.webkit.org/show_bug.cgi?id=41696 + + * bindings/v8/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::dispatchDidParseSource): + +2010-07-06 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Implement InTableBodyMode + https://bugs.webkit.org/show_bug.cgi?id=41671 + + In the process of implementing this patch, Eric and I discussed some of + the high-level organization of the HTMLTreeBuilder class. We'd like to + split it up into smaller pieces. In the meantime, I've reordered some + of the declarations in the header to make the relations between the + different kinds of functions clearer. + + * html/HTMLElementStack.cpp: + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody): + (WebCore::HTMLTreeBuilder::processStartTagForInBody): + (WebCore::HTMLTreeBuilder::processStartTagForInTable): + (WebCore::HTMLTreeBuilder::processStartTag): + (WebCore::HTMLTreeBuilder::processEndTagForInTable): + (WebCore::HTMLTreeBuilder::processEndTag): + (WebCore::HTMLTreeBuilder::processCharacter): + (WebCore::HTMLTreeBuilder::processEndOfFile): + * html/HTMLTreeBuilder.h: + +2010-07-06 Leandro Pereira <leandro@profusion.mobi> + + Unreviewed build fix. + + [EFL] Generate code for RemoteInspector. + + * CMakeLists.txt: + +2010-07-06 Varun Jain <varunjain@chromium.org> + + Reviewed by Oliver Hunt. + + Implementing CURVE_TO_CUBIC specification for SVG Path Segments. Currently, + curves specified in relative cordinates such as using createCurvetoCubicRel() + javascript function are not displayed. + + SVG CurvetoCubic Path not implemented for relative cordinates + https://bugs.webkit.org/show_bug.cgi?id=41294 + + Test: svg/custom/svg-curve-with-relative-cordinates.html + + * svg/SVGPathSegList.cpp: + (WebCore::SVGPathSegList::toPathData): + +2010-07-06 Alexey Proskuryakov <ap@apple.com> + + Roll out patch for https://bugs.webkit.org/show_bug.cgi?id=41348 "Remove global variables + from XSLTProcessorLibxslt.cpp", as it causes crashes on buildbot. + + * xml/XSLTProcessor.h: + (WebCore::XSLTProcessor::xslStylesheet): + (WebCore::XSLTProcessor::XSLTProcessor): + * xml/XSLTProcessorLibxslt.cpp: + (WebCore::docLoaderFunc): + (WebCore::setXSLTLoadCallBack): + (WebCore::xsltStylesheetPointer): + (WebCore::XSLTProcessor::transformToString): + +2010-07-06 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Add processing for "in cell" mode and end tag processing for "in row" + https://bugs.webkit.org/show_bug.cgi?id=41688 + + I added several new table tests, not all of which pass yet. + Remaining failures exist due to lack of full "in table body" mode + support, which Adam has an outstanding patch for. + I believe all of the various branches added by this change are + covered now by our tests. + + * html/HTMLElementStack.cpp: + - Added QualifiedName versions of inScope functions. + Using tagName.localName() is wrong for non-HTML elements, + in preparation for supporting foreign content we should centralize + our handling of QualifiedName in these functions instead of + sprinkling more .localName() calls around the code. + (WebCore::HTMLElementStack::inScope): + (WebCore::HTMLElementStack::inListItemScope): + (WebCore::HTMLElementStack::inTableScope): + * html/HTMLElementStack.h: + * html/HTMLFormattingElementList.cpp: + (WebCore::HTMLFormattingElementList::Entry::operator==): + (WebCore::HTMLFormattingElementList::Entry::operator!=): + - Calling element() on markers will assert, so use m_element. + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::closeTheCell): + - Implemented per the spec. + (WebCore::HTMLTreeBuilder::processStartTag): + - Use isTableBodyContextTag where possible. + - Add InCellMode. + (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately): + - Use isTableBodyContextTag where possible. + (WebCore::HTMLTreeBuilder::processTrEndTagForInRow): + - This code is needed from at least two callsites. + (WebCore::HTMLTreeBuilder::processEndTag): + - Add InCellMode and InRowMode + (WebCore::HTMLTreeBuilder::processCharacter): + (WebCore::HTMLTreeBuilder::processEndOfFile): + * html/HTMLTreeBuilder.h: + +2010-07-06 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Make <a> auto-close any parent <a> tag + https://bugs.webkit.org/show_bug.cgi?id=41684 + + I first fixed <a> to auto-close surrounding <a> tags. + That caused about 3 more test passes and one new test failure. + The test failure was due to <marque> not adding a marker + to the active formatting elements. + + So I made a one-line change to fix <marque>. However that hit an + ASSERT due to a bug in indexOfFirstUnopenFormattingElement. + Fixing indexOfFirstUnopenFormattingElement fixed another bunch of + Adoption Agency related tests (clearly this was the second typo + which was causing all the adoption agency failures). + + However fixing <marque> and indexOfFirstUnopenFormattingElement, + added yet another failure due to missing support for </p> + automatically adding an implicit <p> tag. Fixing </p> finally + got the tests to a stable (all improving) state. + + In the end, these 4 minor (and very well tested) tweaks fixed a total + of 9 subtests in html5lib/runner.html. + Another subtest progressed, but did not fully pass due to missing + <table> foster-parenting support. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTagForInBody): + (WebCore::HTMLTreeBuilder::processEndTagForInBody): + (WebCore::HTMLTreeBuilder::indexOfFirstUnopenFormattingElement): + +2010-07-02 Philippe Normand <pnormand@igalia.com> + + Reviewed by Xan Lopez + + [GStreamer] can't seek past maxTimeLoaded value + https://bugs.webkit.org/show_bug.cgi?id=40526 + + Extended the seekable range to the whole media. This allows video + played with progressive download to be seeked past the current + buffered position. + + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: + (WebCore::MediaPlayerPrivateGStreamer::maxTimeSeekable): + (WebCore::MediaPlayerPrivateGStreamer::updateStates): + +2010-07-06 Andreas Wictor <andreas.wictor@xcerion.com> + + Reviewed by Alexey Proskuryakov. + + Remove global variables from XSLTProcessorLibxslt.cpp + https://bugs.webkit.org/show_bug.cgi?id=41348 + + Remove the globalProcessor and globalDocLoader global variables + by using the _private field that exists on most libxml structs. + + No new tests, existing tests covers this. + + * xml/XSLTProcessor.h: + (WebCore::XSLTProcessor::sourceNode): + (WebCore::XSLTProcessor::XSLTProcessor): + * xml/XSLTProcessorLibxslt.cpp: + (WebCore::registredXSLTProcessors): + (WebCore::registredXSLStyleSheets): + (WebCore::docLoaderFunc): + (WebCore::xsltStylesheetPointer): + (WebCore::XSLTProcessor::transformToString): + +2010-07-06 Darin Adler <darin@apple.com> + + Fix Cairo build. + + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::createPlatformShadow): Removed unnneded release + in code that passes a PassOwnPtr to another PassOwnPtr. + +2010-07-06 Darin Adler <darin@apple.com> + + Fix Chromium build. + + * platform/graphics/skia/SkiaUtils.cpp: + (WebCore::scratchContext): Use leakPtr instead of release. + +2010-07-06 Martin Robinson <mrobinson@igalia.com> + + Unreviewed. + + Build fix after r62549. + + * GNUmakefile.am: Generate RemoteInspector files by manually listing + them instead of building them into libWebCoreJS.la. + +2010-07-06 Darin Adler <darin@apple.com> + + Reviewed by Adam Barth. + + Add adoptPtr and leakPtr functions for OwnPtr and PassOwnPtr + https://bugs.webkit.org/show_bug.cgi?id=41320 + + Made code changes required because of the change to the release function. + The equivalent to the old release function is now named leakPtr and + should be used sparingly. The new release function returns a PassOwnPtr. + + * css/CSSFontFaceSource.cpp: + (WebCore::CSSFontFaceSource::getFontData): Changed code to call + leakPtr instead of release. + * css/CSSParser.cpp: + (WebCore::CSSParser::addProperty): Ditto. + + * css/CSSSegmentedFontFace.cpp: + (WebCore::CSSSegmentedFontFace::getFontData): Removed unneeded type + casting. Not sure why this changed the type to FontData* and then + casted back to SimpleFontData*. + + * css/MediaQuery.cpp: + (WebCore::MediaQuery::MediaQuery): Removed call to release on a + PassOwnPtr, since the data member is now an OwnPtr. + (WebCore::MediaQuery::~MediaQuery): Removed now-unneeded delete. + * css/MediaQuery.h: Changed m_expressions to be an OwnPtr. + + * html/HTMLToken.h: + (WebCore::AtomicHTMLToken::AtomicHTMLToken): Use assignment instead + of the set function since there are no raw pointers involved. + * loader/CachedResource.cpp: + (WebCore::CachedResource::makePurgeable): Ditto. + + * loader/CrossOriginPreflightResultCache.cpp: + (WebCore::CrossOriginPreflightResultCache::appendEntry): Use + leakPtr instead of release, and also add FIXME about deleting the + old value if the original and URL are already in the map. I + believe dealing with this FIXME may fix a storage leak. + + * loader/CrossOriginPreflightResultCache.h: Change the argument + to be PassOwnPtr instead of a raw pointer, since this function + does take ownership. + + * loader/DocumentThreadableLoader.cpp: + (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): + Use assignment instead of the set function since there are no raw + pointers involved. + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::startIconLoader): Ditto. + * loader/TextResourceDecoder.cpp: + (WebCore::TextResourceDecoder::decode): Ditto. + (WebCore::TextResourceDecoder::flush): Ditto. + + * page/DOMTimer.cpp: + (WebCore::DOMTimer::fired): Use OwnPtr instead of an explicit + delete. + + * platform/CrossThreadCopier.h: Removed explicit code that tried + to copy PassOwnPtr in a complicated way. It did nothing different + from just returning the PassOwnPtr. This presumably was done because + PassRefPtr has issues when copied cross-thread, but there are no + similar issues for PassOwnPtr. Someone with more experience than I + might be able to remove the specialization altogether, because + CrossThreadCopierPassThrough does the right thing in this case. + + * platform/SharedBuffer.cpp: + (WebCore::SharedBuffer::adoptPurgeableBuffer): Changed argument to + be a PassOwnPtr. + (WebCore::SharedBuffer::releasePurgeableBuffer): Changed result to + be a PassOwnPtr. + * platform/SharedBuffer.h: Updated for changes above. + + * rendering/RenderSVGResourceFilter.cpp: + (WebCore::RenderSVGResourceFilter::applyResource): Changed one site + to use assignment instead of the set function since there are no raw + pointers involved. Changed another site to use leakPtr instead + of release. + + * rendering/RenderSVGResourceGradient.cpp: + (WebCore::createMaskAndSwapContextForTextGradient): Use assignment + instead of the set function since there are no raw pointers involved. + + * rendering/style/RenderStyle.cpp: + (WebCore::RenderStyle::setContent): Use leakPtr instead of release. + (WebCore::RenderStyle::setBoxShadow): Ditto. + + * workers/DefaultSharedWorkerRepository.cpp: + (WebCore::DefaultSharedWorkerRepository::connectToWorker): + Removed unneeded call to release function in a code path that passes + a PassOwnPtr to a function that takes a PassOwnPtr. + + * workers/WorkerContext.cpp: + (WebCore::WorkerContext::setTimeout): Changed argument type to PassOwnPtr. + (WebCore::WorkerContext::setInterval): Ditto. + * workers/WorkerContext.h: Updated for changes above. + + * workers/WorkerMessagingProxy.cpp: + (WebCore::WorkerMessagingProxy::postMessageToWorkerObject): + (WebCore::WorkerMessagingProxy::postMessageToWorkerContext): + Removed unneeded call to release function in code paths that pass + a PassOwnPtr to a function that takes a PassOwnPtr. + +2010-07-06 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Yury Semikhatsky. + + WebInspector: generator part of the patch for bug 40675. + On the way to Remote Debugging we want to support JSON serialization + on both sides of WebInspector transport. + As far as InspectorFrontend class is a simple proxy to WebInspector + it would be better to generate it from an IDL file. + We have generator infrastructure for binding and will reuse it for + new generator. + https://bugs.webkit.org/show_bug.cgi?id=41692 + + + * CMakeLists.txt: + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.gyp/WebCore.gyp: + * WebCore.gyp/scripts/rule_binding.py: + * WebCore.gypi: + * WebCore.pri: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/scripts/CodeGenerator.pm: + * bindings/scripts/IDLParser.pm: + * bindings/scripts/generate-bindings.pl: + * inspector/CodeGeneratorInspector.pm: Added. + * inspector/InspectorController.cpp: + (WebCore::InspectorController::connectFrontend): + (WebCore::InspectorController::startTimelineProfiler): + * inspector/InspectorController.h: + * inspector/InspectorFrontend.cpp: + * inspector/InspectorFrontend.h: + * inspector/InspectorFrontend2.idl: Added. + * inspector/InspectorTimelineAgent.cpp: + (WebCore::InspectorTimelineAgent::InspectorTimelineAgent): + (WebCore::InspectorTimelineAgent::resetFrontendProxyObject): + (WebCore::InspectorTimelineAgent::addRecordToTimeline): + * inspector/InspectorTimelineAgent.h: + +2010-07-06 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> + + Rubber-stamped by Xan Lopez. + + [GTK] Crashes when going back with page cache in unknown circunstances + https://bugs.webkit.org/show_bug.cgi?id=41710 + + Also NULL-check document, in hopes of fixing this hard to + reproduce crash that we are getting reported quite a bit. + + * page/FrameView.cpp: + (WebCore::FrameView::windowClipRect): + +2010-07-05 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: On the way to Remote Debuging we want to support JSON + serialization on both sides of WebInspector transport. As far as + InspectorFrontend class is a simple proxy to WebInspector it would + be better to generate it from an IDL file. We have generator + infostructure for binding and will reuse it for new generator. + https://bugs.webkit.org/show_bug.cgi?id=40675 + + * bindings/js/ScriptCallStack.cpp: + (WebCore::ScriptCallStack::stackTrace): + * bindings/js/ScriptCallStack.h: + * bindings/v8/ScriptCallStack.cpp: + (WebCore::ScriptCallStack::stackTrace): + * bindings/v8/ScriptCallStack.h: + * inspector/InspectorFrontend.cpp: + (WebCore::InspectorFrontend::addRecordToTimeline): + * inspector/InspectorFrontend.h: + * inspector/InspectorTimelineAgent.cpp: + (WebCore::InspectorTimelineAgent::pushGCEventRecords): + (WebCore::InspectorTimelineAgent::willCallFunction): + (WebCore::InspectorTimelineAgent::willDispatchEvent): + (WebCore::InspectorTimelineAgent::willLayout): + (WebCore::InspectorTimelineAgent::willRecalculateStyle): + (WebCore::InspectorTimelineAgent::willPaint): + (WebCore::InspectorTimelineAgent::willWriteHTML): + (WebCore::InspectorTimelineAgent::didWriteHTML): + (WebCore::InspectorTimelineAgent::didInstallTimer): + (WebCore::InspectorTimelineAgent::didRemoveTimer): + (WebCore::InspectorTimelineAgent::willFireTimer): + (WebCore::InspectorTimelineAgent::willChangeXHRReadyState): + (WebCore::InspectorTimelineAgent::willLoadXHR): + (WebCore::InspectorTimelineAgent::willEvaluateScript): + (WebCore::InspectorTimelineAgent::didScheduleResourceRequest): + (WebCore::InspectorTimelineAgent::willSendResourceRequest): + (WebCore::InspectorTimelineAgent::willReceiveResourceData): + (WebCore::InspectorTimelineAgent::willReceiveResourceResponse): + (WebCore::InspectorTimelineAgent::didFinishLoadingResource): + (WebCore::InspectorTimelineAgent::didMarkTimeline): + (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent): + (WebCore::InspectorTimelineAgent::didMarkLoadEvent): + (WebCore::InspectorTimelineAgent::addRecordToTimeline): + (WebCore::InspectorTimelineAgent::setHeapSizeStatistic): + (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord): + (WebCore::InspectorTimelineAgent::pushCurrentRecord): + * inspector/InspectorTimelineAgent.h: + (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry): + * inspector/TimelineRecordFactory.cpp: + (WebCore::TimelineRecordFactory::createGenericRecord): + (WebCore::TimelineRecordFactory::createGCEventData): + (WebCore::TimelineRecordFactory::createFunctionCallData): + (WebCore::TimelineRecordFactory::createEventDispatchData): + (WebCore::TimelineRecordFactory::createGenericTimerData): + (WebCore::TimelineRecordFactory::createTimerInstallData): + (WebCore::TimelineRecordFactory::createXHRReadyStateChangeData): + (WebCore::TimelineRecordFactory::createXHRLoadData): + (WebCore::TimelineRecordFactory::createEvaluateScriptData): + (WebCore::TimelineRecordFactory::createMarkTimelineData): + (WebCore::TimelineRecordFactory::createScheduleResourceRequestData): + (WebCore::TimelineRecordFactory::createResourceSendRequestData): + (WebCore::TimelineRecordFactory::createResourceReceiveResponseData): + (WebCore::TimelineRecordFactory::createResourceFinishData): + (WebCore::TimelineRecordFactory::createReceiveResourceData): + (WebCore::TimelineRecordFactory::createPaintData): + (WebCore::TimelineRecordFactory::createParseHTMLData): + * inspector/TimelineRecordFactory.h: + +2010-07-06 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Implement InColgroupMode + https://bugs.webkit.org/show_bug.cgi?id=41663 + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup): + (WebCore::HTMLTreeBuilder::processStartTag): + (WebCore::HTMLTreeBuilder::processEndTag): + (WebCore::HTMLTreeBuilder::processCharacter): + (WebCore::HTMLTreeBuilder::processEndOfFile): + * html/HTMLTreeBuilder.h: + +2010-07-06 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Implement bookmarking for HTML5 Adoption Agency algorithm + https://bugs.webkit.org/show_bug.cgi?id=41659 + + Was easier than I expected it to be. + Fixes a bunch of html5lib/runner.html tests. + + * html/HTMLFormattingElementList.cpp: + (WebCore::HTMLFormattingElementList::bookmarkFor): + (WebCore::HTMLFormattingElementList::insertAt): + * html/HTMLFormattingElementList.h: + (WebCore::HTMLFormattingElementList::Bookmark::Bookmark): + (WebCore::HTMLFormattingElementList::Bookmark::moveToAfter): + (WebCore::HTMLFormattingElementList::Bookmark::elementBefore): + (WebCore::HTMLFormattingElementList::Bookmark::elementAfter): + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::callTheAdoptionAgency): + +2010-07-06 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Implement more of InTableMode + https://bugs.webkit.org/show_bug.cgi?id=41652 + + By the time we got around to landing this patch, it turns out to be + just a bit of cleanup (the functional changes where landed already.) + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processCharacter): + (WebCore::HTMLTreeBuilder::processEndOfFile): + +2010-07-06 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r62529. + http://trac.webkit.org/changeset/62529 + https://bugs.webkit.org/show_bug.cgi?id=41661 + + http/tests/inspector/resource-har-conversion.html is broken + (Requested by yutak on #webkit). + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::addResource): + (WebCore::InspectorController::removeResource): + * inspector/InspectorController.h: + * inspector/InspectorResource.cpp: + (WebCore::InspectorResource::InspectorResource): + (WebCore::InspectorResource::updateScriptObject): + (WebCore::InspectorResource::cachedResource): + (WebCore::InspectorResource::type): + (WebCore::InspectorResource::resourceData): + * inspector/InspectorResource.h: + (WebCore::InspectorResource::): + (WebCore::InspectorResource::create): + * inspector/front-end/Resource.js: + (WebInspector.Resource.Type.toString): + (WebInspector.Resource.prototype.set type): + (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType): + * inspector/front-end/ResourceView.js: + (WebInspector.ResourceView.prototype._refreshRequestHeaders): + (WebInspector.ResourceView.prototype._refreshResponseHeaders): + (WebInspector.ResourceView.prototype._refreshHeaders): + * inspector/front-end/inspector.css: + (.resources-category-scripts, .resources-category-xhr, .resources-category-fonts, .resources-category-other): + * inspector/front-end/inspector.js: + (WebInspector.loaded): + (WebInspector.updateResource): + * websockets/WebSocketChannel.cpp: + (WebCore::WebSocketChannel::WebSocketChannel): + (WebCore::WebSocketChannel::disconnect): + (WebCore::WebSocketChannel::didOpen): + (WebCore::WebSocketChannel::didClose): + (WebCore::WebSocketChannel::processBuffer): + * websockets/WebSocketChannel.h: + +2010-07-06 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Implement InCaptionMode + https://bugs.webkit.org/show_bug.cgi?id=41660 + + Implementing this mode also turned up a subtle bug in the adoption + agency code. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTag): + (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption): + (WebCore::HTMLTreeBuilder::processEndTag): + (WebCore::HTMLTreeBuilder::processCharacter): + (WebCore::HTMLTreeBuilder::indexOfFirstUnopenFormattingElement): + - We're supposed to reutrn the first *unopened* formatting element. + The old code returned the first *opened* formatting element. + * html/HTMLTreeBuilder.h: + +2010-07-06 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Implement defaut cases for InTableMode + https://bugs.webkit.org/show_bug.cgi?id=41656 + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTag): + (WebCore::HTMLTreeBuilder::processEndTagForInBody): + (WebCore::HTMLTreeBuilder::processEndTag): + * html/HTMLTreeBuilder.h: + +2010-07-05 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Dirk Schulze. + + SVGRenderContainer forces too many kids to relayout + https://bugs.webkit.org/show_bug.cgi?id=15391 + + Fixing a long-standing performance issue. We should only ever need to relayout container children when the parent bounds change. + The bounds of a container can only change, if the outermost RenderSVGRoot container uses relative length values and its size changes. + This can either happen when the window resizes for standalone SVG documents, or if an enclosing RenderBox changes width/height values. + + Only relayout container children if the container has selfNeedsLayout() true, or if the parent bounds change. + Lively Kernel doesn't do any relayouts anymore, except if you change the Safari window size, this is a great progression. + + * rendering/RenderPath.cpp: + (WebCore::RenderPath::layout): No need to special case Path updates, if the element uses relative lengths. SVGRenderSupport now handles this case. + * rendering/RenderSVGContainer.cpp: + (WebCore::RenderSVGContainer::layout): Fix some style issues. + * rendering/RenderSVGContainer.h: + (WebCore::RenderSVGContainer::setDrawsContents): Inlined for speed. + (WebCore::RenderSVGContainer::drawsContents): Ditto. + * rendering/RenderSVGRoot.cpp: + (WebCore::RenderSVGRoot::RenderSVGRoot): Initialize m_isLayoutSizeChanged to false. + (WebCore::RenderSVGRoot::layout): Set m_isLayoutSizeChanged=true when the RenderSVGRoot size changes during layout. + (WebCore::RenderSVGRoot::calcViewport): Remove hasRelativeLengths() special case. + * rendering/RenderSVGRoot.h: + (WebCore::RenderSVGRoot::isLayoutSizeChanged): New function, which returns true during layout() if the outermost <svg> size changes. + * rendering/RenderSVGViewportContainer.cpp: + (WebCore::RenderSVGViewportContainer::calcViewport): Cleanup code, and remove obsolete hasRelativeLengths() special case. + * rendering/SVGRenderSupport.cpp: + (WebCore::svgRootTreeObject): Added helper function, that returns the RenderSVGRoot for a given RenderObject. + (WebCore::SVGRenderSupport::layoutChildren): Remove FIXME, only relayout container children, if the parent bounds change and the child uses relative lengths. + * svg/SVGStyledElement.cpp: + (WebCore::SVGStyledElement::updateRelativeLengthsInformation): Implemented this function. Keeps track of relative lengths elements, so that the + hasRelativeLengths() information is always up2date. + * svg/SVGStyledElement.h: + (WebCore::SVGStyledElement::hasRelativeLengths): Don't call the virtual selfHasRelativeLengths() information, just return wheter m_elementsWithRelativeLengths is not empty. + +2010-07-05 Yuzo Fujishima <yuzo@google.com> + + Reviewed by Dan Bernstein. + + Fix for Bug 41509 - Ranges for @font-face unicode-range must be separated by commas + https://bugs.webkit.org/show_bug.cgi?id=41509 + + Test: fast/css/font-face-multiple-ranges-for-unicode-range.html + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseFontFaceUnicodeRange): + +2010-07-05 Yuta Kitamura <yutak@chromium.org> + + Reviewed by Pavel Feldman. + + Add WebSocket resource type to Web Inspector. + + When a new WebSocket connection is established, a line for that connection + will appear in Web Inspector's Resources tab. If the resource name is + clicked, the details of handshake request and response will be shown. + + Web Inspector: WebSocket in Resources tab + https://bugs.webkit.org/show_bug.cgi?id=40768 + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::addResource): WebSocket resource does not + have an associated loader, thus frame might be null. Need to check it. + (WebCore::InspectorController::removeResource): Ditto. + (WebCore::InspectorController::didCreateWebSocket): + (WebCore::InspectorController::willSendWebSocketHandshakeRequest): + (WebCore::InspectorController::didReceiveWebSocketHandshakeResponse): + (WebCore::InspectorController::didCloseWebSocket): + * inspector/InspectorController.h: + * inspector/InspectorResource.cpp: Add null checks of m_loader and m_frame, + because WebSocket does not have a loader and we need to allow null for + these variables. + (WebCore::createReadableStringFromBinary): + (WebCore::InspectorResource::InspectorResource): + (WebCore::InspectorResource::create): Factory function of + regular (non-WebSocket) resources. + (WebCore::InspectorResource::createWebSocket): Factory function of + WebSocket resources. + (WebCore::InspectorResource::updateWebSocketRequest): + (WebCore::InspectorResource::updateWebSocketResponse): + (WebCore::InspectorResource::updateScriptObject): + (WebCore::InspectorResource::cachedResource): + (WebCore::InspectorResource::type): + (WebCore::InspectorResource::resourceData): + * inspector/InspectorResource.h: + (WebCore::InspectorResource::): + (WebCore::InspectorResource::markWebSocket): + * inspector/front-end/Resource.js: + (WebInspector.Resource.Type.toString): + (WebInspector.Resource.prototype.set type): + (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType): + * inspector/front-end/ResourceView.js: + (WebInspector.ResourceView.prototype._refreshRequestHeaders): + (WebInspector.ResourceView.prototype._refreshResponseHeaders): + (WebInspector.ResourceView.prototype._refreshHeaders): + * inspector/front-end/inspector.css: + (.resources-category-websockets, .resources-category-other): + (.resources-category-websockets .resources-graph-bar): + (.resources-category-websockets.resource-cached .resources-graph-bar): + * inspector/front-end/inspector.js: + (WebInspector.loaded): + (WebInspector.updateResource): + * websockets/WebSocketChannel.cpp: + (WebCore::WebSocketChannel::WebSocketChannel): + (WebCore::WebSocketChannel::disconnect): + (WebCore::WebSocketChannel::didOpen): + (WebCore::WebSocketChannel::didClose): + (WebCore::WebSocketChannel::processBuffer): + (WebCore::WebSocketChannel::identifier): + * websockets/WebSocketChannel.h: + +2010-07-05 Yury Semikhatsky <yurys@chromium.org> + + Unreviewed. Fix Chromium build. + + * inspector/InspectorApplicationCacheAgent.cpp: + (WebCore::InspectorApplicationCacheAgent::fillResourceList): + (WebCore::InspectorApplicationCacheAgent::getApplicationCaches): + +2010-07-05 Adam Barth <abarth@webkit.org> + + Unreviewed. + + Move processStartTagForInBody to its own function. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTagForInBody): + (WebCore::HTMLTreeBuilder::processStartTag): + * html/HTMLTreeBuilder.cpp.orig: Added. + * html/HTMLTreeBuilder.h: + +2010-07-05 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Fix one more notImplemented in h1-h6 start tag handling + https://bugs.webkit.org/show_bug.cgi?id=41654 + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTag): + +2010-07-05 Eric Seidel <eric@webkit.org> + + Unreviewed. Just fixing proess to process. + Clearly Adam and I can't spell. Thankfully MikeSmith can. + + Add <isindex> support, per HTML5 + https://bugs.webkit.org/show_bug.cgi?id=41650 + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processFakeStartTag): + (WebCore::HTMLTreeBuilder::processFakeEndTag): + (WebCore::HTMLTreeBuilder::processIsindexStartTagForBody): + (WebCore::HTMLTreeBuilder::processStartTag): + * html/HTMLTreeBuilder.h: + +2010-07-05 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Add <isindex> support, per HTML5 + https://bugs.webkit.org/show_bug.cgi?id=41650 + + Covered by html5lib/runner.html including a new + isindex.dat test suite. + + * html/HTMLToken.h: + (WebCore::AtomicHTMLToken::AtomicHTMLToken): + - Support passing attributes to the constructor. + (WebCore::AtomicHTMLToken::name): + (WebCore::AtomicHTMLToken::setName): + (WebCore::AtomicHTMLToken::getAttributeItem): + (WebCore::AtomicHTMLToken::attributes): + (WebCore::AtomicHTMLToken::takeAtributes): + - Reduces ref-churn, and makes it possible for callers + to modify attributes w/o affecting future uses of the attributes. + (WebCore::AtomicHTMLToken::usesName): + - Used by ASSERTS. + (WebCore::AtomicHTMLToken::usesAttributes): + - Used by ASSERTS. + * html/HTMLTreeBuilder.cpp: + (WebCore::convertToOldStyle): + - Can't be const, now that we use takeAttributes() + (WebCore::HTMLTreeBuilder::insertHTMLStartTagBeforeHTML): + (WebCore::HTMLTreeBuilder::proesssFakeStartTag): + - New function. I'm not sure this is the perfect design + (I'd kinda like AtomicHTMLToken to be copyable so we can + have create functions for it), but this makes the callsites + using fake tokens much more readable. + (WebCore::HTMLTreeBuilder::proesssFakeEndTag): + (WebCore::HTMLTreeBuilder::processFakeCharacters): + (WebCore::HTMLTreeBuilder::attributesForIsindexInput): + (WebCore::HTMLTreeBuilder::processIsindexStartTagForBody): + (WebCore::HTMLTreeBuilder::processStartTag): + (WebCore::HTMLTreeBuilder::insertScriptElement): + - Use takeAttributes() for less ref-churn. + (WebCore::HTMLTreeBuilder::createElement): ditto + (WebCore::HTMLTreeBuilder::finished): + - Remove bogus use of AtomicHTMLToken constructor which + wasn't even being used now that we support emitting EOF tokens + from the Tokenizer directly. + * html/HTMLTreeBuilder.h: + +2010-07-05 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + ASSERT that we're processing the correct type of token + https://bugs.webkit.org/show_bug.cgi?id=41647 + + Making these asserts work required a small (non-observable) tweak to + some old code. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processDoctypeToken): + (WebCore::HTMLTreeBuilder::processStartTag): + (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody): + (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody): + (WebCore::HTMLTreeBuilder::processEndTag): + (WebCore::HTMLTreeBuilder::processComment): + (WebCore::HTMLTreeBuilder::processCharacter): + (WebCore::HTMLTreeBuilder::processEndOfFile): + (WebCore::HTMLTreeBuilder::processStartTagForInHead): + +2010-07-05 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Implement in select in table + https://bugs.webkit.org/show_bug.cgi?id=41646 + + This mode is mostly a fall-through to the InSelectMode. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTag): + (WebCore::HTMLTreeBuilder::processEndTag): + (WebCore::HTMLTreeBuilder::processCharacter): + (WebCore::HTMLTreeBuilder::processEndOfFile): + +2010-07-05 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Implement basic text node coalescing + https://bugs.webkit.org/show_bug.cgi?id=41623 + + This patch isn't the end-all, be-all of text node coalescing, but it's + a good start. + + * dom/CharacterData.cpp: + (WebCore::CharacterData::parserAppendData): + (WebCore::CharacterData::appendData): + * dom/CharacterData.h: + - Added a new method to dance around mutation events. + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::insertTextNode): + +2010-07-05 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Implement InSelectMode + https://bugs.webkit.org/show_bug.cgi?id=41627 + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTag): + (WebCore::HTMLTreeBuilder::processEndTag): + (WebCore::HTMLTreeBuilder::processCharacter): + (WebCore::HTMLTreeBuilder::processEndOfFile): + +2010-07-05 Fady Samuel <fsamuel@chromium.org> + + Reviewed by Darin Adler. + + Fixed a svg crash when setting class of an svg ellipse object. + + Altering the CSS class of an attached SVG element causes WebKit to crash + https://bugs.webkit.org/show_bug.cgi?id=40857 + + Test: svg/css/svg-ellipse-render-crash.html + + * dom/StyledElement.cpp: + (WebCore::StyledElement::classAttributeChanged): + +2010-07-05 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + Reproducible crash with Optimize Legibility extension + https://bugs.webkit.org/show_bug.cgi?id=41585 + + Test: fast/css/text-rendering-priority.html + + Moved the text-rendering CSS property to the “high priority” group, because applying it + during style selection invalidates the font. + + * css/CSSPropertyNames.in: Moved text-rendering to the “high priority” section at the top. + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyDeclarations): Updated compile-time assertion. + +2010-07-05 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + optimizeLegibility doesn't play nice with fonts that do not have a space glyph + https://bugs.webkit.org/show_bug.cgi?id=41599 + + No test because none of the fonts available to DumpRenderTree are missing a space glyph. + + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::findNextLineBreak): When the font does not map the space character + to a glyph, a fallback font is used for space. Therefore, wordTrailingSpaceWidth must be + initialized with the width of a space as measured by the Font rather than with the cached + space width. + +2010-07-05 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Implement HTML5's "reset insertion mode appropriately" + https://bugs.webkit.org/show_bug.cgi?id=41628 + + This has some minimal testing. One from my previous + </table> patch, and a few from the main suite. + + Mostly resetInsertionModeAppropriately isn't used yet + but we're about to add a bunch of states which do use it + and our test coverage will expand further as we do. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): + (WebCore::HTMLTreeBuilder::setInsertionModeAndEnd): + (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately): + * html/HTMLTreeBuilder.h: + +2010-07-04 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Add </table> support for "in table" insertion mode + https://bugs.webkit.org/show_bug.cgi?id=41591 + + resetInsertionModeAppropriately isn't implemented yet, however + I've added a test for the usage I added. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately): + (WebCore::HTMLTreeBuilder::processEndTag): + * html/HTMLTreeBuilder.h: + +2010-07-05 Joseph Pecoraro <joepeck@webkit.org> + + Unreviewed build fix for r62503. + + Chromium missing method. Filed bug 41632 to track. + + * loader/appcache/ApplicationCacheHost.h: + (WebCore::ApplicationCacheHost::applicationCache): + +2010-07-05 Joseph Pecoraro <joepeck@webkit.org> + + Unreviewed build fix for r62503. + + Missed GTK's build file. + + * GNUmakefile.am: + +2010-07-05 Joseph Pecoraro <joepeck@webkit.org> + + Unreviewed build fix for r62503. + + Pass a blank ResourceResponse instead of passing 0. + + * loader/appcache/ApplicationCacheGroup.cpp: + (WebCore::ApplicationCacheGroup::createResourceHandle): + +2010-07-05 Joseph Pecoraro <joepeck@webkit.org> + + Unreviewed build fix for r62503. + + Forward declare ApplicationCache for Chromium. + + * loader/appcache/ApplicationCacheHost.h: + +2010-07-05 Joseph Pecoraro <joepeck@webkit.org> + + Reviewed by Pavel Feldman. + + WebInspector: HTML5 Offline Web Applications Support (ApplicationCache) + https://bugs.webkit.org/show_bug.cgi?id=24529 + + Parts of this patch were written by Kavita Kanetkar <kkanetkar@chromium.org>. + + Part 2: Pulling ApplicationCache Resources to Display in the Inspector. + + The InspectorApplicationCacheAgent gathers the information it + needs and forwards it on to the inspector. + + * inspector/InspectorApplicationCacheAgent.cpp: + (WebCore::InspectorApplicationCacheAgent::fillResourceList): get information about the resources. + (WebCore::InspectorApplicationCacheAgent::getApplicationCaches): gathers all the information from the ApplicationCacheHost. + (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache): + (WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources): + (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource): + * inspector/InspectorApplicationCacheAgent.h: defines structures to hold information about caches and resources. + (WebCore::InspectorApplicationCacheAgent::ApplicationCacheInfo::ApplicationCacheInfo): + (WebCore::InspectorApplicationCacheAgent::ResourceInfo::ResourceInfo): + (WebCore::InspectorApplicationCacheAgent::~InspectorApplicationCacheAgent): + * loader/appcache/ApplicationCacheHost.h: + (WebCore::ApplicationCacheHost::applicationCacheForInspector): new convention, public cache accessor for the inspector. + (WebCore::ApplicationCacheHost::documentLoader): added const. + + The User Interface uses a DataGrid, like Cookies. + + * inspector/front-end/ApplicationCacheItemsView.js: + (WebInspector.ApplicationCacheItemsView.prototype._update): + (WebInspector.ApplicationCacheItemsView.prototype._updateCallback): + (WebInspector.ApplicationCacheItemsView.prototype._createDataGrid): + (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid.numberCompare): + (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid.localeCompare): + (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid): + + The usual frontend pull workflow, except this goes through + InspectorApplicationCacheAgent instead of InspectorController. + + * inspector/InspectorBackend.cpp: + (WebCore::InspectorBackend::getApplicationCaches): + (WebCore::InspectorBackend::inspectorApplicationCacheAgent): + * inspector/InspectorBackend.h: + * inspector/InspectorBackend.idl: + * inspector/InspectorFrontend.cpp: + (WebCore::InspectorFrontend::didGetApplicationCaches): + * inspector/InspectorFrontend.h: + * inspector/front-end/DOMAgent.js: + (WebInspector.DOMNode.prototype.hasChildNodes): style fix. + (WebInspector.DOMAgent.prototype.nodeForId): style fix. + (WebInspector.ApplicationCache.getApplicationCachesAsync): pull. + (WebInspector.Cookies.getCookiesAsync): + * inspector/front-end/StoragePanel.js: + (WebInspector.StoragePanel.prototype.updateManifest): + (WebInspector.ApplicationCacheSidebarTreeElement.prototype.onselect): + * inspector/front-end/inspector.js: + (WebInspector.updateResource): + (WebInspector._addAppCacheDomain): + (WebInspector.reset): + + Miscellaneous. Localized Strings and fixes. + + * English.lproj/localizedStrings.js: "Type", "%s (%s)" + * inspector/InspectorController.cpp: + (WebCore::InspectorController::deleteCookie): + * inspector/InspectorController.h: + +2010-07-04 Joseph Pecoraro <joepeck@webkit.org> + + Reviewed by Pavel Feldman. + + WebInspector: HTML5 Offline Web Applications Support (ApplicationCache) + https://bugs.webkit.org/show_bug.cgi?id=24529 + + Part 1: Backend -> Frontend Messages. ApplicationCache Status and Connectivity Status. + + This patch adds an InspectorApplicationCacheAgent to monitor application + cache changes, starts a UI in the Storage panel, handles the boilerplate + of adding new files. + + Added an agent to encapsulate and handle the application cache logic. + This is similar to the timeline agent. + + * inspector/InspectorApplicationCacheAgent.cpp: Added. + (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent): + (WebCore::InspectorApplicationCacheAgent::~InspectorApplicationCacheAgent): + (WebCore::InspectorApplicationCacheAgent::didReceiveManifestResponse): + (WebCore::InspectorApplicationCacheAgent::updateApplicationCacheStatus): + (WebCore::InspectorApplicationCacheAgent::updateNetworkState): + * inspector/InspectorApplicationCacheAgent.h: Added. + + InspectorController owns an InspectorApplicationCacheAgent. This + handles its lifetime management. + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::~InspectorController): + (WebCore::InspectorController::connectFrontend): create the agent with a frontend. + (WebCore::InspectorController::disconnectFrontend): remove the agent when closing. + (WebCore::InspectorController::releaseFrontendLifetimeAgents): + * inspector/InspectorController.h: + + User Interface for ApplicationCache in the StoragePanel. This follows + very closely to Cookies, it will have a sortable table of items. The + status bar contains connectivity and application cache status + indicators which update when backend messages are received. There + are some stubs which the next part will implement. + + * inspector/front-end/ApplicationCacheItemsView.js: Added. + (WebInspector.ApplicationCacheItemsView): + (WebInspector.ApplicationCacheItemsView.prototype.get statusBarItems): refresh, delete, connectivity, application cache status. + (WebInspector.ApplicationCacheItemsView.prototype.show): + (WebInspector.ApplicationCacheItemsView.prototype.hide): + (WebInspector.ApplicationCacheItemsView.prototype.updateStatus): this is the application cache status indicator. + (WebInspector.ApplicationCacheItemsView.prototype.updateNetworkState): this is the online/offline connectivity indicator. + (WebInspector.ApplicationCacheItemsView.prototype._update): + (WebInspector.ApplicationCacheItemsView.prototype._updateCallback): + (WebInspector.ApplicationCacheItemsView.prototype._createDataGrid): + (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid): + (WebInspector.ApplicationCacheItemsView.prototype.resize): + (WebInspector.ApplicationCacheItemsView.prototype._deleteButtonClicked): + (WebInspector.ApplicationCacheItemsView.prototype._deleteCallback): + (WebInspector.ApplicationCacheItemsView.prototype._refreshButtonClicked): + + The usual dispatch flow from the backend, to the frontend, to the + panel, and then to the visible view. Some slight refactoring to + eliminate duplicated code. + + * inspector/InspectorFrontend.cpp: + (WebCore::InspectorFrontend::updateDOMStorage): + (WebCore::InspectorFrontend::didGetApplicationCaches): + (WebCore::InspectorFrontend::updateApplicationCacheStatus): + * inspector/InspectorFrontend.h: + * inspector/front-end/StoragePanel.js: + (WebInspector.StoragePanel): + (WebInspector.StoragePanel.prototype.reset): + (WebInspector.StoragePanel.prototype.addApplicationCache): + (WebInspector.StoragePanel.prototype.showDatabase): + (WebInspector.StoragePanel.prototype.showDOMStorage): + (WebInspector.StoragePanel.prototype.showCookies): + (WebInspector.StoragePanel.prototype.showApplicationCache): + (WebInspector.StoragePanel.prototype._genericViewSetup): + (WebInspector.StoragePanel.prototype.updateApplicationCacheStatus): + (WebInspector.StoragePanel.prototype.updateNetworkState): + (WebInspector.CookieSidebarTreeElement.prototype.set subtitle): + (WebInspector.ApplicationCacheSidebarTreeElement): + (WebInspector.ApplicationCacheSidebarTreeElement.prototype.onselect): + (WebInspector.ApplicationCacheSidebarTreeElement.prototype.get mainTitle): + (WebInspector.ApplicationCacheSidebarTreeElement.prototype.set mainTitle): + (WebInspector.ApplicationCacheSidebarTreeElement.prototype.get subtitle): + (WebInspector.ApplicationCacheSidebarTreeElement.prototype.set subtitle): + * inspector/front-end/inspector.js: + (WebInspector.dispatch.delayDispatch): + (WebInspector.dispatch): + (WebInspector._addAppCacheDomain): + (WebInspector.addDOMStorage): + (WebInspector.updateDOMStorage): + + Notify the InspectorApplicationCacheAgent on application cache changes + or specifics. Notify the InspectorController on generic resource events. + That is because ApplicationCacheController is a ResourceClient and needs + to trigger the resource events normally handled by ResourceLoader. + + * loader/appcache/ApplicationCacheGroup.cpp: + (WebCore::inspectorUpdateApplicationCacheStatus): helper method to prevent duplicated code. + (WebCore::ApplicationCacheGroup::setNewestCache): status change. + (WebCore::ApplicationCacheGroup::makeObsolete): status change. + (WebCore::ApplicationCacheGroup::update): status change. + (WebCore::ApplicationCacheGroup::createResourceHandle): resource event. + (WebCore::ApplicationCacheGroup::willSendRequest): resource event. + (WebCore::ApplicationCacheGroup::didReceiveResponse): resource event. + (WebCore::ApplicationCacheGroup::didReceiveData): resource event. + (WebCore::ApplicationCacheGroup::didFinishLoading): resource event. + (WebCore::ApplicationCacheGroup::didFail): resource event. + (WebCore::ApplicationCacheGroup::didFinishLoadingManifest): resource event. + (WebCore::ApplicationCacheGroup::manifestNotFound): status change. + (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): status change. + (WebCore::ApplicationCacheGroup::setUpdateStatus): single access point for status changes. + * loader/appcache/ApplicationCacheGroup.h: + * page/Page.cpp: + (WebCore::networkStateChanged): connectivity status change. + + Final inspector details to add the new file, style new elements, + images, and localized strings. + + * inspector/front-end/inspector.css: + (.application-cache-sidebar-tree-item .icon): + (.timeline-records-counter, .storage-application-cache-status, .storage-application-cache-connectivity): + (.storage-application-cache-status-icon, .storage-application-cache-connectivity-icon): + (.status-bar-divider): + (.storage-application-cache-status, .storage-application-cache-connectivity): + * inspector/front-end/inspector.html: + * inspector/front-end/Images/applicationCache.png: Added. + * English.lproj/localizedStrings.js: "APPLICATION CACHE", "No Application Cache information available.", "Online", "Offline" + + Updated build files. + + * CMakeLists.txt: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * inspector/front-end/WebKit.qrc: + +2010-07-05 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Add basic <col> support to the treebuilder + https://bugs.webkit.org/show_bug.cgi?id=41590 + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTag): + +2010-07-05 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Add basic "in row" mode to support <td> and <th> insertion + https://bugs.webkit.org/show_bug.cgi?id=41588 + + Also fixed <td> or <th> as a direct child of <table>. + + Most of this was covered by html5lib/runner.html tests, + but I had to add a new tables01.dat to cover the <th> cases. + + * html/HTMLElementStack.cpp: + (WebCore::HTMLNames::isTableRowScopeMarker): + (WebCore::HTMLElementStack::popUntilTableRowScopeMarker): + * html/HTMLElementStack.h: + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTag): + +2010-07-05 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Finish implementing "any other end tag" for "in body" mode + https://bugs.webkit.org/show_bug.cgi?id=41582 + + I believe I found a "bug" in the HTML5 spec when writing this: + http://www.w3.org/Bugs/Public/show_bug.cgi?id=10080 + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody): + (WebCore::HTMLTreeBuilder::processEndTag): + * html/HTMLTreeBuilder.h: + +2010-07-05 Martin Robinson <mrobinson@igalia.com> + + Unreviewed. + + Add a missing slash to the list of generated sources. This + was missing from a previous build fix. + + * GNUmakefile.am: + 2010-07-05 Pavel Feldman <pfeldman@chromium.org> Reviewed by Joseph Pecoraro. |