- 27 Jan, 2010 12 commits
-
-
zimmermann@webkit.org authored
Not reviewed. Attempt to fix V8 - change SetterMethod function signatures, just like it has been done for JSSVGPODTypeWrapper. * bindings/v8/V8SVGPODTypeWrapper.h: git-svn-id: svn://svn.chromium.org/blink/trunk@53881 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
zimmermann@webkit.org authored
Not reviewd. Revert Base.xcconfig changes, was not meant to be committed. * Configurations/Base.xcconfig: git-svn-id: svn://svn.chromium.org/blink/trunk@53880 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
zimmermann@webkit.org authored
Reviewed by Oliver Hunt. SVG consumes way too much memory to store animated properties in the DOM https://bugs.webkit.org/show_bug.cgi?id=34188 Shrink WebCore library size to 75% (measured in debug builds) and reduce SVG memory usage to <25%. Adding Oliver testcase as manual-tests/svg-node-count-vs-scroll.xhtml, which creates an arbitary number of rects (50.000 <rect> elements added to the DOM by default) - memory usage down to 111M from 503M (RPRVT). The SVG DOM side is almost fine, still some optimizations possible, that will be implemented soon - next target is the SVG render tree, there are plenty of possibilities to reduce memory usage there. Redesign the way we store animated properties in the individual SVG*Element files. Short story: In order to support SVG DOM through the bindings (e.g. JS) we need to associate SVGAnimatedProperty objects with the SVGElement object that created it - we used to store this pointer directly in the SVGAnimatedProperty. This means, every SVGAnimatedProperty stored in a SVGRectElement, stored a pointer to the SVGRectElement, resulting in excessive memory usage. This is now properly implemented, without wasting tons of memory. Unfortunately this requires touching all SVG*Element files. Detailed list of changes: - Remove template bloat by not specializing class templates for each attributeName/tagName combination. Instead SVGAnimatedProperty is a non-specialized template class now, only depending on the AnimatedType (ie. SVGLength for SVGAnimatedLength) -> This heavily reduces the generated code, thus shrinking WebCore size. I hope we can build windows again without SVGAllInOne.cpp - Remove "exportStrings" / "exportString" handling from make_names.pl - SVG defined string literals for each QualifiedName, in order to use template specialization based on "const char*" parameters. All that bloat is gone, so there's no need for it anymore. - Redesign SVGAnimatedProperty so it does not need any back-pointers to the SVGElement that created it - Don't actually store the XML DOM attribute name associated with a SVG DOM property in SVGAnimatedProperty, move the associatedAttributeName() function inside the macro declaration and just return the passed macro parameter DOMAttribute there, storing is inefficient and useless. - Remove SynchronizablePropertyController, which was living in SVGElement as member variable, keeping a HashMap<AttributeName, SVGAnimatedProperty>. It was needed before to lookup a SVGAnimatedProperty for a XML DOM attribute, in order to synchronize SVG <-> XML dom properties/attributes. Instead just add a "synchronizeProperty(const QualifiedName&)" method to all SVG*Element classes. As each SVG*Element class knows about its animated properties it can just ask them to synchronize themselves - no need for any dynamic lookups anymore. - Remove SynchronizableTypeWrapper which added more complexity for the sake of SVG <-> XML DOM synchronization, all replaced by synchronizeProperty. - Pass around any POD objects as const references, instead of copying them for no reason. - Clean up SVGAnimatedProperty, splitting up into SVGAnimatedProperty/PropertySynchronizer/PropertyTraits. - Remove baseValue/setBaseValue code from SVGDocumentExtensions, not needed anymore. ... and tons of changes to all SVG*Element classes, adapting to the new way of handling animated properties. * GNUmakefile.am: Remove Synchronizable* from build, add new SVGAnimatedPropertySynchronizer/Traits files * WebCore.gypi: Ditto. * WebCore.vcproj/WebCore.vcproj: Ditto. * WebCore.xcodeproj/project.pbxproj: Ditto. * bindings/js/JSSVGPODTypeWrapper.h: Change synchronization callback signatures, as we pass around const-references now. * dom/Element.cpp: Let updateAnimatedSVGAttribute take a QualifiedName instead of pure Strings. (WebCore::Element::getAttribute): (WebCore::Element::hasAttributes): * dom/Element.h: (WebCore::Element::updateAnimatedSVGAttribute): (WebCore::Element::attributes): * dom/make_names.pl: Remove SVG specific "exportString" / "exportStrings" functionality, see above. * html/HTMLAttributeNames.in: Remove "exportString" tag from "className" attribute. * manual-tests/svg-node-count-vs-scroll.xhtml: Added. Can be used to verify memory consumption with a lot of DOM objects. * mathml/mathattrs.in: MathML doesn't need "exportStrings" - remove it. * mathml/mathtags.in: Ditto. * svg/SVGAElement.cpp: (WebCore::SVGAElement::SVGAElement): (WebCore::SVGAElement::synchronizeProperty): * svg/SVGAElement.h: * svg/SVGAllInOne.cpp: Remove SynchronizablePropertyController.cpp * svg/SVGAltGlyphElement.cpp: (WebCore::SVGAltGlyphElement::SVGAltGlyphElement): (WebCore::SVGAltGlyphElement::synchronizeProperty): * svg/SVGAltGlyphElement.h: * svg/SVGAnimateTransformElement.cpp: (WebCore::SVGAnimateTransformElement::applyResultsToTarget): * svg/SVGAnimatedProperty.h: Rewritten, see above for details. (WebCore::SVGAnimatedPropertyTearOff::create): (WebCore::SVGAnimatedPropertyTearOff::setBaseVal): (WebCore::SVGAnimatedPropertyTearOff::setAnimVal): (WebCore::SVGAnimatedPropertyTearOff::baseVal): (WebCore::SVGAnimatedPropertyTearOff::animVal): (WebCore::SVGAnimatedPropertyTearOff::associatedAttributeName): (WebCore::SVGAnimatedPropertyTearOff::SVGAnimatedPropertyTearOff): (WebCore::SVGAnimatedPropertyTearOff::~SVGAnimatedPropertyTearOff): (WebCore::SVGAnimatedProperty::~SVGAnimatedProperty): (WebCore::SVGAnimatedProperty::SVGAnimatedProperty): (WebCore::SVGAnimatedProperty::value): (WebCore::SVGAnimatedProperty::baseValue): (WebCore::SVGAnimatedProperty::setValue): (WebCore::SVGAnimatedProperty::setBaseValue): (WebCore::SVGAnimatedProperty::shouldSynchronize): (WebCore::SVGAnimatedProperty::setShouldSynchronize): * svg/SVGAnimatedPropertySynchronizer.h: Added. (WebCore::): * svg/SVGAnimatedPropertyTraits.h: Added. (WebCore::): * svg/SVGAnimatedTemplate.h: Move SVGAnimatedPropertyTraits into its own file. (WebCore::SVGAnimatedTemplate::forgetWrapper): (WebCore::lookupOrCreateWrapper): * svg/SVGAnimationElement.cpp: (WebCore::SVGAnimationElement::SVGAnimationElement): (WebCore::SVGAnimationElement::synchronizeProperty): * svg/SVGAnimationElement.h: * svg/SVGCircleElement.cpp: (WebCore::SVGCircleElement::SVGCircleElement): (WebCore::SVGCircleElement::synchronizeProperty): * svg/SVGCircleElement.h: * svg/SVGClipPathElement.cpp: (WebCore::SVGClipPathElement::SVGClipPathElement): (WebCore::SVGClipPathElement::synchronizeProperty): * svg/SVGClipPathElement.h: * svg/SVGComponentTransferFunctionElement.cpp: (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement): (WebCore::SVGComponentTransferFunctionElement::parseMappedAttribute): (WebCore::SVGComponentTransferFunctionElement::synchronizeProperty): * svg/SVGComponentTransferFunctionElement.h: * svg/SVGCursorElement.cpp: (WebCore::SVGCursorElement::SVGCursorElement): (WebCore::SVGCursorElement::synchronizeProperty): * svg/SVGCursorElement.h: * svg/SVGDefsElement.cpp: (WebCore::SVGDefsElement::SVGDefsElement): (WebCore::SVGDefsElement::synchronizeProperty): * svg/SVGDefsElement.h: * svg/SVGDocumentExtensions.h: * svg/SVGElement.cpp: Adapt to synchronization changes: use synchronizeProperty() call, instead of SynchronizablePropertyController. (WebCore::SVGElement::updateAnimatedSVGAttribute): * svg/SVGElement.h: Don't store SynchronizablePropertyController anymore, it's gone. (WebCore::SVGElement::synchronizeProperty): (WebCore::SVGElement::setSynchronizedSVGAttributes): * svg/SVGEllipseElement.cpp: (WebCore::SVGEllipseElement::SVGEllipseElement): (WebCore::SVGEllipseElement::synchronizeProperty): * svg/SVGEllipseElement.h: * svg/SVGExternalResourcesRequired.cpp: * svg/SVGExternalResourcesRequired.h: * svg/SVGFEBlendElement.cpp: (WebCore::SVGFEBlendElement::SVGFEBlendElement): (WebCore::SVGFEBlendElement::synchronizeProperty): * svg/SVGFEBlendElement.h: * svg/SVGFEColorMatrixElement.cpp: (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement): (WebCore::SVGFEColorMatrixElement::synchronizeProperty): * svg/SVGFEColorMatrixElement.h: * svg/SVGFEComponentTransferElement.cpp: (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement): (WebCore::SVGFEComponentTransferElement::synchronizeProperty): * svg/SVGFEComponentTransferElement.h: * svg/SVGFECompositeElement.cpp: (WebCore::SVGFECompositeElement::SVGFECompositeElement): (WebCore::SVGFECompositeElement::parseMappedAttribute): (WebCore::SVGFECompositeElement::synchronizeProperty): * svg/SVGFECompositeElement.h: * svg/SVGFEDiffuseLightingElement.cpp: (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement): (WebCore::SVGFEDiffuseLightingElement::synchronizeProperty): * svg/SVGFEDiffuseLightingElement.h: * svg/SVGFEDisplacementMapElement.cpp: (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement): (WebCore::SVGFEDisplacementMapElement::synchronizeProperty): * svg/SVGFEDisplacementMapElement.h: * svg/SVGFEGaussianBlurElement.cpp: (WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement): (WebCore::SVGFEGaussianBlurElement::synchronizeProperty): * svg/SVGFEGaussianBlurElement.h: * svg/SVGFEImageElement.cpp: (WebCore::SVGFEImageElement::SVGFEImageElement): (WebCore::SVGFEImageElement::synchronizeProperty): * svg/SVGFEImageElement.h: * svg/SVGFELightElement.cpp: (WebCore::SVGFELightElement::SVGFELightElement): (WebCore::SVGFELightElement::synchronizeProperty): * svg/SVGFELightElement.h: * svg/SVGFEMergeNodeElement.cpp: (WebCore::SVGFEMergeNodeElement::SVGFEMergeNodeElement): (WebCore::SVGFEMergeNodeElement::synchronizeProperty): * svg/SVGFEMergeNodeElement.h: * svg/SVGFEMorphologyElement.cpp: (WebCore::SVGFEMorphologyElement::SVGFEMorphologyElement): (WebCore::SVGFEMorphologyElement::synchronizeProperty): * svg/SVGFEMorphologyElement.h: * svg/SVGFEOffsetElement.cpp: (WebCore::SVGFEOffsetElement::SVGFEOffsetElement): (WebCore::SVGFEOffsetElement::synchronizeProperty): * svg/SVGFEOffsetElement.h: * svg/SVGFESpecularLightingElement.cpp: (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement): (WebCore::SVGFESpecularLightingElement::synchronizeProperty): * svg/SVGFESpecularLightingElement.h: * svg/SVGFETileElement.cpp: (WebCore::SVGFETileElement::SVGFETileElement): (WebCore::SVGFETileElement::synchronizeProperty): * svg/SVGFETileElement.h: * svg/SVGFETurbulenceElement.cpp: (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement): (WebCore::SVGFETurbulenceElement::synchronizeProperty): * svg/SVGFETurbulenceElement.h: * svg/SVGFilterElement.cpp: (WebCore::SVGFilterElement::SVGFilterElement): (WebCore::SVGFilterElement::synchronizeProperty): * svg/SVGFilterElement.h: * svg/SVGFilterPrimitiveStandardAttributes.cpp: (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes): (WebCore::SVGFilterPrimitiveStandardAttributes::synchronizeProperty): * svg/SVGFilterPrimitiveStandardAttributes.h: * svg/SVGFitToViewBox.cpp: * svg/SVGFitToViewBox.h: * svg/SVGFontElement.cpp: (WebCore::SVGFontElement::SVGFontElement): (WebCore::SVGFontElement::synchronizeProperty): * svg/SVGFontElement.h: * svg/SVGForeignObjectElement.cpp: (WebCore::SVGForeignObjectElement::SVGForeignObjectElement): (WebCore::SVGForeignObjectElement::synchronizeProperty): * svg/SVGForeignObjectElement.h: * svg/SVGGElement.cpp: (WebCore::SVGGElement::SVGGElement): (WebCore::SVGGElement::synchronizeProperty): * svg/SVGGElement.h: * svg/SVGGradientElement.cpp: (WebCore::SVGGradientElement::SVGGradientElement): (WebCore::SVGGradientElement::synchronizeProperty): * svg/SVGGradientElement.h: * svg/SVGImageElement.cpp: (WebCore::SVGImageElement::SVGImageElement): (WebCore::SVGImageElement::synchronizeProperty): * svg/SVGImageElement.h: * svg/SVGLineElement.cpp: (WebCore::SVGLineElement::SVGLineElement): (WebCore::SVGLineElement::synchronizeProperty): * svg/SVGLineElement.h: * svg/SVGLinearGradientElement.cpp: (WebCore::SVGLinearGradientElement::SVGLinearGradientElement): (WebCore::SVGLinearGradientElement::synchronizeProperty): * svg/SVGLinearGradientElement.h: * svg/SVGList.h: Adapt to const-reference changes. (WebCore::SVGPODListItem::setValue): * svg/SVGMPathElement.cpp: (WebCore::SVGMPathElement::SVGMPathElement): (WebCore::SVGMPathElement::synchronizeProperty): * svg/SVGMPathElement.h: * svg/SVGMarkerElement.cpp: (WebCore::SVGMarkerElement::SVGMarkerElement): (WebCore::SVGMarkerElement::synchronizeProperty): * svg/SVGMarkerElement.h: * svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::SVGMaskElement): (WebCore::SVGMaskElement::synchronizeProperty): * svg/SVGMaskElement.h: * svg/SVGPathElement.cpp: (WebCore::SVGPathElement::SVGPathElement): (WebCore::SVGPathElement::synchronizeProperty): * svg/SVGPathElement.h: * svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::SVGPatternElement): (WebCore::SVGPatternElement::synchronizeProperty): * svg/SVGPatternElement.h: * svg/SVGPolyElement.cpp: (WebCore::SVGPolyElement::SVGPolyElement): (WebCore::SVGPolyElement::svgAttributeChanged): (WebCore::SVGPolyElement::synchronizeProperty): * svg/SVGPolyElement.h: * svg/SVGRadialGradientElement.cpp: (WebCore::SVGRadialGradientElement::SVGRadialGradientElement): (WebCore::SVGRadialGradientElement::synchronizeProperty): * svg/SVGRadialGradientElement.h: * svg/SVGRectElement.cpp: (WebCore::SVGRectElement::SVGRectElement): (WebCore::SVGRectElement::synchronizeProperty): * svg/SVGRectElement.h: * svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::SVGSVGElement): (WebCore::SVGSVGElement::synchronizeProperty): * svg/SVGSVGElement.h: * svg/SVGScriptElement.cpp: (WebCore::SVGScriptElement::SVGScriptElement): (WebCore::SVGScriptElement::synchronizeProperty): * svg/SVGScriptElement.h: * svg/SVGStopElement.cpp: (WebCore::SVGStopElement::SVGStopElement): (WebCore::SVGStopElement::synchronizeProperty): * svg/SVGStopElement.h: * svg/SVGStyledElement.cpp: (WebCore::SVGStyledElement::SVGStyledElement): (WebCore::SVGStyledElement::parseMappedAttribute): (WebCore::SVGStyledElement::synchronizeProperty): * svg/SVGStyledElement.h: * svg/SVGStyledTransformableElement.cpp: (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement): (WebCore::SVGStyledTransformableElement::synchronizeProperty): * svg/SVGStyledTransformableElement.h: * svg/SVGSwitchElement.cpp: (WebCore::SVGSwitchElement::SVGSwitchElement): (WebCore::SVGSwitchElement::synchronizeProperty): * svg/SVGSwitchElement.h: * svg/SVGSymbolElement.cpp: (WebCore::SVGSymbolElement::SVGSymbolElement): (WebCore::SVGSymbolElement::synchronizeProperty): * svg/SVGSymbolElement.h: * svg/SVGTRefElement.cpp: (WebCore::SVGTRefElement::SVGTRefElement): (WebCore::SVGTRefElement::synchronizeProperty): * svg/SVGTRefElement.h: * svg/SVGTextContentElement.cpp: (WebCore::SVGTextContentElement::SVGTextContentElement): (WebCore::SVGTextContentElement::synchronizeProperty): * svg/SVGTextContentElement.h: * svg/SVGTextElement.cpp: (WebCore::SVGTextElement::SVGTextElement): (WebCore::SVGTextElement::synchronizeProperty): * svg/SVGTextElement.h: * svg/SVGTextPathElement.cpp: (WebCore::SVGTextPathElement::SVGTextPathElement): (WebCore::SVGTextPathElement::synchronizeProperty): * svg/SVGTextPathElement.h: * svg/SVGTextPositioningElement.cpp: (WebCore::SVGTextPositioningElement::SVGTextPositioningElement): (WebCore::SVGTextPositioningElement::synchronizeProperty): * svg/SVGTextPositioningElement.h: * svg/SVGURIReference.cpp: * svg/SVGURIReference.h: * svg/SVGUseElement.cpp: (WebCore::SVGUseElement::SVGUseElement): (WebCore::SVGUseElement::synchronizeProperty): * svg/SVGUseElement.h: * svg/SVGViewElement.cpp: (WebCore::SVGViewElement::SVGViewElement): (WebCore::SVGViewElement::synchronizeProperty): * svg/SVGViewElement.h: * svg/SVGViewSpec.cpp: (WebCore::SVGViewSpec::SVGViewSpec): * svg/SVGViewSpec.h: (WebCore::SVGViewSpec::contextElement): * svg/SynchronizablePropertyController.cpp: Removed. * svg/SynchronizablePropertyController.h: Removed. * svg/SynchronizableTypeWrapper.h: Removed. * svg/svgattrs.in: Remove "exportStrings" tag. * svg/svgtags.in: Ditto. * svg/xlinkattrs.in: git-svn-id: svn://svn.chromium.org/blink/trunk@53879 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
rdar://problem/7169464adele@apple.com authored
WebCore: Fix for <rdar://problem/7169464> REGRESSION (r47444): PLT is 1% slower due to implementation of :valid and :invalid CSS selectors https://bugs.webkit.org/show_bug.cgi?id=34029 Reviewed by Darin Adler. If we never hit the valid or invalid selectors for a particular document, then we'll skip the validity checks when deciding about style sharing. * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::canShareStyleWithElement): (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): * dom/Document.cpp: (WebCore::Document::Document): * dom/Document.h: (WebCore::Document::considerValidity): (WebCore::Document::setConsiderValidity): LayoutTests: Test for <rdar://problem/7169464> REGRESSION (r47444): PLT is 1% slower due to implementation of :valid and :invalid CSS selectors https://bugs.webkit.org/show_bug.cgi?id=34029 Reviewed by Darin Adler. * fast/css/pseudo-valid-dynamic-expected.txt: Added. * fast/css/pseudo-valid-dynamic.html: Added. git-svn-id: svn://svn.chromium.org/blink/trunk@53878 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
jorlow@chromium.org authored
https://bugs.webkit.org/show_bug.cgi?id=34153 Patch by Jeremy Orlow <jorlow@chromium.org> on 2010-01-26 Reviewed by Simon Fraser. * page/FrameView.cpp: (WebCore::FrameView::useSlowRepaints): (WebCore::FrameView::useSlowRepaintsIfNotOverlapped): * page/FrameView.h: * platform/ScrollView.cpp: (WebCore::ScrollView::scrollContents): * platform/ScrollView.h: * rendering/RenderObject.cpp: (WebCore::RenderObject::styleWillChange): (WebCore::RenderObject::destroy): git-svn-id: svn://svn.chromium.org/blink/trunk@53877 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
dimich@chromium.org authored
DumpRenderTree silently crashes at the end of the run because geolocationControllerClient pointer is 0. https://bugs.webkit.org/show_bug.cgi?id=34191 Reviewed by Steve Falkenburg. * page/GeolocationController.cpp: (WebCore::GeolocationController::~GeolocationController): Add check for m_client being 0. (WebCore::GeolocationController::addObserver): Ditto. (WebCore::GeolocationController::removeObserver): Ditto. (WebCore::GeolocationController::lastPosition): Ditto. git-svn-id: svn://svn.chromium.org/blink/trunk@53876 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
ukai@chromium.org authored
Reviewed by Alexey Proskuryakov. Fix url used in websocket-event-target.html https://bugs.webkit.org/show_bug.cgi?id=34066 * websocket/tests/script-tests/websocket-event-target.js: git-svn-id: svn://svn.chromium.org/blink/trunk@53875 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
simon.fraser@apple.com authored
Reviewed by Adele Peterson. Enhance externalRepresentation() to make it more useful for layer debugging https://bugs.webkit.org/show_bug.cgi?id=34143 Enhance externalRepresentation() to output additional information about layers when certain flags are passed. The new flags allow you to show all layers (not just those that would paint), to the structure of the z-order and normal flow lists, and to show which layers are composited. * WebCore.base.exp: The signature of externalRepresentation() changed. * platform/text/TextStream.h: Add operator<<(void*) * platform/text/TextStream.cpp: Implement operator<<(void*) * rendering/RenderLayer.h: * rendering/RenderLayer.cpp: (showLayerTree): New method outside the WebCore namespace, for ease of calling from gdb. * rendering/RenderTreeAsText.h: New behavior flags for externalRepresentation(). * rendering/RenderTreeAsText.cpp: (WebCore::write): Output compositing information if requested. Also clean up some -1/1 magic numbers with an enum. (WebCore::writeLayers): If requested, show layer nesting via the z-order and normal flow lists. (WebCore::externalRepresentation): New arguments git-svn-id: svn://svn.chromium.org/blink/trunk@53874 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
enrica@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=34148 Reviewed by Jon Honeycutt. Changed url in anchor tag to avoid the additional trailing slash. * editing/pasteboard/paste-noscript-xhtml-expected.txt: * editing/resources/htmlcontent.html: git-svn-id: svn://svn.chromium.org/blink/trunk@53873 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
mitz@apple.com authored
Reviewed by Simon Fraser. * rendering/break_lines.cpp: (WebCore::shouldBreakAfter): git-svn-id: svn://svn.chromium.org/blink/trunk@53872 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
dimich@chromium.org authored
https://bugs.webkit.org/show_bug.cgi?id=32848 Reviewed by David Levin. WebCore: Achieved by setting a flag on iframe element when it is a target of document.adoptNode(node) operation. The flag prevents unload/load cycle and is reset once element is attached to a new document. If iframe is adopted but not actually inserted into the tree, it gets unloaded by async timer once JS yields, to avoid having active content in non-attached iframe. Test: fast/frames/iframe-reparenting.html * dom/Document.cpp: (WebCore::Document::adoptNode): If the adopted node is iframe, set a remainsAliveOnRemovalFromTree on it. * html/HTMLFrameElementBase.h: * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::HTMLFrameElementBase): (WebCore::HTMLFrameElementBase::attach): Skip actual loading of the frame if it has remainsAliveOnRemovalFromTree flag. Reset the flag. (WebCore::HTMLFrameElementBase::willRemove): Skip unloading the frame if it has remainsAliveOnRemovalFromTree flag set. (WebCore::HTMLFrameElementBase::setRemainsAliveOnRemovalFromTree): Set the flag, start the async timer to check if the frame was actually attached. (WebCore::HTMLFrameElementBase::checkAttachedTimerFired): * html/HTMLFrameOwnerElement.h: (WebCore::HTMLFrameOwnerElement::willRemove): Move from private to protected, since it is conditionally called in HTMLFrameElementBase::willRemove now. LayoutTests: * fast/frames/iframe-reparenting-expected.txt: Added. * fast/frames/iframe-reparenting.html: Added. * fast/frames/resources/iframe-reparenting-frame1.html: Added. * fast/frames/resources/iframe-reparenting-frame2.html: Added. * fast/frames/resources/iframe-reparenting-iframe-content.html: Added. git-svn-id: svn://svn.chromium.org/blink/trunk@53871 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
kevino@webkit.org authored
git-svn-id: svn://svn.chromium.org/blink/trunk@53870 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
- 26 Jan, 2010 28 commits
-
-
aroben@apple.com authored
No review, rolling out r53861. http://trac.webkit.org/changeset/53861 https://bugs.webkit.org/show_bug.cgi?id=33224 Caused 2 regression tests to fail. * fast/loader/stateobjects/document-destroyed-navigate-back-expected.txt: * fast/loader/stateobjects/document-destroyed-navigate-back.html: 2010-01-26 Adam Roben <aroben@apple.com> No review, rolling out r53861. http://trac.webkit.org/changeset/53861 https://bugs.webkit.org/show_bug.cgi?id=33224 Caused 2 regression tests to fail. * dom/Document.cpp: (WebCore::Document::detach): (WebCore::Document::registerHistoryItem): (WebCore::Document::unregisterHistoryItem): * dom/Document.h: * history/BackForwardList.cpp: (WebCore::BackForwardList::pushStateItem): * history/BackForwardListChromium.cpp: (WebCore::BackForwardList::pushStateItem): * history/HistoryItem.cpp: (WebCore::HistoryItem::HistoryItem): (WebCore::HistoryItem::~HistoryItem): (WebCore::HistoryItem::setStateObject): (WebCore::HistoryItem::setDocument): (WebCore::HistoryItem::documentDetached): * history/HistoryItem.h: (WebCore::HistoryItem::document): * loader/FrameLoader.cpp: (WebCore::FrameLoader::navigateWithinDocument): (WebCore::FrameLoader::loadItem): * loader/HistoryController.cpp: (WebCore::HistoryController::updateBackForwardListForFragmentScroll): (WebCore::HistoryController::pushState): (WebCore::HistoryController::replaceState): * loader/RedirectScheduler.cpp: (WebCore::RedirectScheduler::scheduleHistoryNavigation): * page/History.cpp: (WebCore::History::stateObjectAdded): * page/Page.cpp: (WebCore::Page::goToItem): git-svn-id: svn://svn.chromium.org/blink/trunk@53869 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
rdar://problem/7576663mitz@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=34183 Reviewed by Beth Dakin. WebCore: Test: fast/lists/anonymous-items.html enclosingList() and previousListItem() were DOM-based, but in order to work with anonymous list items, they need to work with rthe render tree. * rendering/RenderListItem.cpp: (WebCore::isList): Factored out. (WebCore::enclosingList): Added this variant that takes a RenderObject. (WebCore::previousListItem): Changed to travers the render tree. (WebCore::RenderListItem::calcValue): Use the RenderObject version of enclosingList() (WebCore::RenderListItem::setExplicitValue): Added an assertion. (WebCore::RenderListItem::clearExplicitValue): Ditto. LayoutTests: * fast/lists/anonymous-items.html: Added. * platform/mac/fast/lists/anonymous-items-expected.checksum: Added. * platform/mac/fast/lists/anonymous-items-expected.png: Added. * platform/mac/fast/lists/anonymous-items-expected.txt: Added. git-svn-id: svn://svn.chromium.org/blink/trunk@53868 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
bweinstein@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=34182 <rdar://7087757> Reviewed by Jon Honeycutt. Added bounds checks in RenderMenuList to make sure we are not making an out of bounds check in a vector once an option element has been deleted. If we are out of bounds, we fall back to a default value and return early, and in the case of itemStyle, we use a previous option's style, if it is available. * manual-tests/select-delete-item.html: Added. * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::itemText): If out of bounds check, return early. (WebCore::RenderMenuList::itemToolTip): Ditto. (WebCore::RenderMenuList::itemIsEnabled): Ditto. (WebCore::RenderMenuList::itemStyle): If out of bounds check, try using the 0th index option style, then fall back to the select's style if that option doesn't exist. (WebCore::RenderMenuList::itemBackgroundColor): If out of bounds check, return early. (WebCore::RenderMenuList::itemIsSeparator): Ditto. (WebCore::RenderMenuList::itemIsLabel): Ditto. (WebCore::RenderMenuList::itemIsSelected): Ditto. git-svn-id: svn://svn.chromium.org/blink/trunk@53867 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
barraclough@apple.com authored
git-svn-id: svn://svn.chromium.org/blink/trunk@53866 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
barraclough@apple.com authored
git-svn-id: svn://svn.chromium.org/blink/trunk@53865 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
sfalken@apple.com authored
Reviewed by Oliver Hunt. Windows build references non-existent include paths https://bugs.webkit.org/show_bug.cgi?id=34175 * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops: * JavaScriptCore.vcproj/WTF/WTFCommon.vsprops: * JavaScriptCore.vcproj/jsc/jscCommon.vsprops: * JavaScriptCore.vcproj/testapi/testapi.vcproj: * JavaScriptCore.vcproj/testapi/testapiCommon.vsprops: 2010-01-26 Steve Falkenburg <sfalken@apple.com> Reviewed by Oliver Hunt. Windows build references non-existent include paths https://bugs.webkit.org/show_bug.cgi?id=34175 * WebKit.vcproj/WebKit.vcproj: 2010-01-26 Steve Falkenburg <sfalken@apple.com> Reviewed by Oliver Hunt. Windows build references non-existent include paths https://bugs.webkit.org/show_bug.cgi?id=34175 * WebCore.vcproj/QTMovieWin.vcproj: * WebCore.vcproj/WebCoreCommon.vsprops: 2010-01-26 Steve Falkenburg <sfalken@apple.com> Reviewed by Oliver Hunt. Windows build references non-existent include paths https://bugs.webkit.org/show_bug.cgi?id=34175 * DumpRenderTree/win/DumpRenderTree.vcproj: * DumpRenderTree/win/ImageDiff.vcproj: * DumpRenderTree/win/TestNetscapePlugin/TestNetscapePlugin.vcproj: git-svn-id: svn://svn.chromium.org/blink/trunk@53864 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
cfleizach@apple.com authored
Add ability for image maps to be focused via tabbing https://bugs.webkit.org/show_bug.cgi?id=17513 * fast/events/tab-imagemap-expected.txt: * fast/events/tab-imagemap.html: git-svn-id: svn://svn.chromium.org/blink/trunk@53863 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
kenneth@webkit.org authored
own implementation and header file. Reviewed by Ariya Hidayat. * QtLauncher/main.cpp: (main): * QtLauncher/urlloader.cpp: Added. (UrlLoader::UrlLoader): (UrlLoader::loadNext): (UrlLoader::init): (UrlLoader::getUrl): * QtLauncher/urlloader.h: Added. git-svn-id: svn://svn.chromium.org/blink/trunk@53862 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
darin@chromium.org authored
Reviewed by Brady Eidson. Chains of history items representing same-document navigation need to always remember that association https://bugs.webkit.org/show_bug.cgi?id=33224 Replace HistoryItem's Document pointer with a DocumentSequenceNumber. During session history traversal, if the current HistoryItem and the target HistoryItem have the same DocumentSequenceNumber, then it means that the current Document should remain. NOTE: To support Chromium's serialization of HistoryItems, I generate DocumentSequenceNumbers that are unique across application launches. DocumentSequenceNumbers are generated using a counter initialized with the time of day. Test: fast/loader/stateobjects/document-destroyed-navigate-back.html * dom/Document.cpp: (WebCore::Document::detach): * dom/Document.h: * history/BackForwardList.cpp: (WebCore::BackForwardList::pushStateItem): * history/BackForwardListChromium.cpp: (WebCore::BackForwardList::pushStateItem): * history/HistoryItem.cpp: (WebCore::generateDocumentSequenceNumber): (WebCore::HistoryItem::HistoryItem): (WebCore::HistoryItem::~HistoryItem): (WebCore::HistoryItem::setStateObject): * history/HistoryItem.h: (WebCore::HistoryItem::setDocumentSequenceNumber): (WebCore::HistoryItem::documentSequenceNumber): * loader/FrameLoader.cpp: (WebCore::FrameLoader::navigateWithinDocument): (WebCore::FrameLoader::loadItem): * loader/HistoryController.cpp: (WebCore::HistoryController::updateBackForwardListForFragmentScroll): (WebCore::HistoryController::pushState): (WebCore::HistoryController::replaceState): * loader/RedirectScheduler.cpp: (WebCore::RedirectScheduler::scheduleHistoryNavigation): * page/History.cpp: (WebCore::History::stateObjectAdded): * page/Page.cpp: (WebCore::Page::goToItem): git-svn-id: svn://svn.chromium.org/blink/trunk@53861 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
oliver@apple.com authored
Reviewed by Geoffrey Garen. Using JavaScriptCore API with a webkit vended context can result in slow script dialog https://bugs.webkit.org/show_bug.cgi?id=34172 Make the APIShim correctly increment and decrement the timeout entry counter. * API/APIShims.h: (JSC::APIEntryShimWithoutLock::APIEntryShimWithoutLock): (JSC::APIEntryShimWithoutLock::~APIEntryShimWithoutLock): (JSC::APICallbackShim::APICallbackShim): (JSC::APICallbackShim::~APICallbackShim): git-svn-id: svn://svn.chromium.org/blink/trunk@53860 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
cfleizach@apple.com authored
Add ability for image maps to be focused via tabbing https://bugs.webkit.org/show_bug.cgi?id=17513 * fast/events/tab-imagemap-expected.txt: * fast/events/tab-imagemap.html: git-svn-id: svn://svn.chromium.org/blink/trunk@53859 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
cfleizach@apple.com authored
Attempt to make this test pass on GTK. Add ability for image maps to be focused via tabbing https://bugs.webkit.org/show_bug.cgi?id=17513 * fast/events/tab-imagemap.html: git-svn-id: svn://svn.chromium.org/blink/trunk@53858 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
cfleizach@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=17513 Reviewed by Darin Adler. WebCore: Test: fast/events/tab-imagemap.html * accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::focusedImageMapUIElement): (WebCore::AXObjectCache::focusedUIElementForPage): * accessibility/AXObjectCache.h: * accessibility/AccessibilityImageMapLink.h: (WebCore::AccessibilityImageMapLink::areaElement): (WebCore::AccessibilityImageMapLink::mapElement): (WebCore::AccessibilityImageMapLink::isImageMapLink): * accessibility/AccessibilityObject.h: (WebCore::AccessibilityObject::isImageMapLink): * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap): * html/HTMLAreaElement.cpp: (WebCore::HTMLAreaElement::getPath): (WebCore::HTMLAreaElement::getRect): (WebCore::HTMLAreaElement::imageElement): (WebCore::HTMLAreaElement::isKeyboardFocusable): (WebCore::HTMLAreaElement::isFocusable): (WebCore::HTMLAreaElement::dispatchBlurEvent): (WebCore::HTMLAreaElement::updateFocusAppearance): (WebCore::HTMLAreaElement::supportsFocus): * html/HTMLAreaElement.h: * html/HTMLMapElement.cpp: (WebCore::HTMLMapElement::imageElement): * html/HTMLMapElement.h: * platform/graphics/GraphicsContext.h: * platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::drawFocusRing): * platform/graphics/haiku/GraphicsContextHaiku.cpp: (WebCore::GraphicsContext::drawFocusRing): * platform/graphics/mac/GraphicsContextMac.mm: (WebCore::drawFocusRingToContext): (WebCore::GraphicsContext::drawFocusRing): * platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::drawFocusRing): * platform/graphics/skia/GraphicsContextSkia.cpp: (WebCore::GraphicsContext::drawFocusRing): * platform/graphics/win/GraphicsContextCGWin.cpp: (WebCore::GraphicsContext::drawFocusRing): * platform/graphics/wince/GraphicsContextWince.cpp: (WebCore::GraphicsContext::drawFocusRing): * platform/graphics/wx/GraphicsContextWx.cpp: (WebCore::GraphicsContext::drawFocusRing): * rendering/RenderImage.cpp: (WebCore::RenderImage::paint): (WebCore::RenderImage::paintFocusRings): (WebCore::RenderImage::imageMap): * rendering/RenderImage.h: * rendering/RenderReplaced.h: LayoutTests: * fast/events/resources/tabindex-focus-blur-all.js: (test): (testProgrammaticFocus): * fast/events/tab-imagemap-expected.txt: Added. * fast/events/tab-imagemap.html: Added. * fast/events/tabindex-focus-blur-all-expected.txt: git-svn-id: svn://svn.chromium.org/blink/trunk@53857 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
pfeldman@chromium.org authored
Reviewed by Timothy Hatcher. Web Inspector: add support for breakpoints, messages and search into the SourceFrame2. https://bugs.webkit.org/show_bug.cgi?id=34165 * inspector/front-end/SourceFrame2.js: (WebInspector.SourceFrame2): (WebInspector.SourceFrame2.prototype.get executionLine): (WebInspector.SourceFrame2.prototype.set executionLine): (WebInspector.SourceFrame2.prototype.revealLine): (WebInspector.SourceFrame2.prototype.addBreakpoint): (WebInspector.SourceFrame2.prototype.removeBreakpoint): (WebInspector.SourceFrame2.prototype.sizeToFitContentHeight): (WebInspector.SourceFrame2.prototype.setContent): (WebInspector.SourceFrame2.prototype.findSearchMatches): (WebInspector.SourceFrame2.prototype.setSelection): (WebInspector.SourceFrame2.prototype._addMessageToSource): (WebInspector.SourceFrame2.prototype._addExistingBreakpointsToSource): (WebInspector.SourceFrame2.prototype._addBreakpointToSource): (WebInspector.SourceFrame2.prototype._removeBreakpointFromSource): (WebInspector.SourceFrame2.prototype._contextMenu.addConditionalBreakpoint): (WebInspector.SourceFrame2.prototype._contextMenu): (WebInspector.SourceFrame2.prototype._toggleBreakpoint): (WebInspector.SourceFrame2.prototype._editBreakpointCondition.committed): (WebInspector.SourceFrame2.prototype._editBreakpointCondition.dismissed): (WebInspector.SourceFrame2.prototype._editBreakpointCondition): (WebInspector.SourceFrame2.prototype._showBreakpointConditionPopup): (WebInspector.SourceFrame2.prototype._createConditionElement): (WebInspector.SourceFrame2.prototype._keyDown): (WebInspector.SourceFrame2.prototype._evalSelectionInCallFrame): (WebInspector.SourceFrame2.prototype._breakpointChanged): (WebInspector.SourceFrame2.prototype.resize): (WebInspector.BreakpointLineNumberDecorator.prototype.decorate): (WebInspector.BreakpointLineNumberDecorator.prototype._paintBreakpoint): (WebInspector.BreakpointLineNumberDecorator.prototype.mouseDown): (WebInspector.BreakpointLineNumberDecorator.prototype.contextMenu): (WebInspector.ExecutionLineDecorator.prototype.decorate): * inspector/front-end/TextEditor.js: (WebInspector.TextEditor): (WebInspector.TextEditor.prototype.set mimeType): (WebInspector.TextEditor.prototype.set readOnly): (WebInspector.TextEditor.prototype.setDivDecoration): (WebInspector.TextEditor.prototype.reveal): (WebInspector.TextEditor.prototype.packAndRepaintAll): (WebInspector.TextEditor.prototype._updateSize): (WebInspector.TextEditor.prototype.updateCanvasSize): (WebInspector.TextEditor.prototype.repaintAll): (WebInspector.TextEditor.prototype._paintLinesContinuation): (WebInspector.TextEditor.prototype._repaintOnScroll): (WebInspector.TextEditor.prototype._mouseDown): (WebInspector.TextEditor.prototype._contextMenu): (WebInspector.TextEditor.prototype._caretForMouseEvent): (WebInspector.TextEditor.prototype._columnForOffset): (WebInspector.TextEditor.prototype._handleNavigationKey): (WebInspector.TextEditor.prototype._positionDivDecoration): (WebInspector.TextEditor.prototype._replaceSelectionWith): (WebInspector.TextEditor.prototype.setCoalescingUpdate): (WebInspector.TextEditor.prototype._handleUndo): (WebInspector.TextEditor.prototype._handleRedo): (WebInspector.TextEditor.prototype._changeFont): * inspector/front-end/TextEditorHighlighter.js: (WebInspector.TextEditorHighlighter): (WebInspector.TextEditorHighlighter.prototype.set mimeType): * inspector/front-end/inspector.css: * inspector/front-end/textEditor.css: git-svn-id: svn://svn.chromium.org/blink/trunk@53856 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
pfeldman@chromium.org authored
Reviewed by Timothy Hather. Web Inspector: add methods for getting resource content from within frontend. https://bugs.webkit.org/show_bug.cgi?id=34163 * inspector/InspectorBackend.cpp: (WebCore::InspectorBackend::getResourceContent): * inspector/InspectorBackend.h: * inspector/InspectorBackend.idl: * inspector/InspectorFrontend.cpp: (WebCore::InspectorFrontend::didGetResourceContent): * inspector/InspectorFrontend.h: * inspector/InspectorFrontendHost.cpp: * inspector/InspectorFrontendHost.h: * inspector/InspectorFrontendHost.idl: * inspector/front-end/InspectorBackendStub.js: (.WebInspector.InspectorBackendStub.prototype.getResourceContent): * inspector/front-end/InspectorFrontendHostStub.js: git-svn-id: svn://svn.chromium.org/blink/trunk@53855 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
hausmann@webkit.org authored
Variable length stack arrays are a gcc extension. Use QVarLengthArray as a more portable solution that still tries to allocate on the stack first. * qt/api/qscriptvalue_p.h: (QScriptValuePrivate::call): git-svn-id: svn://svn.chromium.org/blink/trunk@53854 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
hausmann@webkit.org authored
Reviewed by Tor Arne Vestbø. The JIT support should be determined at compile-time via wtf/Platform.h * qt/api/QtScript.pro: git-svn-id: svn://svn.chromium.org/blink/trunk@53853 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
pfeldman@chromium.org authored
Not reviewed: added null check into the timeline agent getter. * inspector/InspectorTimelineAgent.h: (WebCore::InspectorTimelineAgent::retrieve): git-svn-id: svn://svn.chromium.org/blink/trunk@53852 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
eric@webkit.org authored
Reviewed by Kenneth Rohde Christiansen. [Qt] Show comboboxes on Maemo 5 https://bugs.webkit.org/show_bug.cgi?id=34088 Don't try to show the combobox by simulating a mouse event from QCursor::pos() to get the combobox position right. The position on Maemo 5 is independent from the mouse and there's no QCursor::pos(). * WebCoreSupport/QtFallbackWebPopup.cpp: (WebCore::QtFallbackWebPopup::show): git-svn-id: svn://svn.chromium.org/blink/trunk@53851 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
eric@webkit.org authored
Reviewed by Simon Hausmann. First steps of the QtScript API. Two new classes were created; QScriptEngine and QScriptValue. The first should encapsulate a javascript context and the second a script value. This API is still in development, so it isn't compiled by default. To trigger compilation, pass --qmakearg="CONFIG+=build-qtscript" to build-webkit. https://bugs.webkit.org/show_bug.cgi?id=32565 * WebKit.pro: 2010-01-26 Jedrzej Nowacki <jedrzej.nowacki@nokia.com> Reviewed by Simon Hausmann. First steps of the QtScript API. Two new classes were created; QScriptEngine and QScriptValue. The first should encapsulate a javascript context and the second a script value. This API is still in development, so it isn't compiled by default. To trigger compilation, pass --qmakearg="CONFIG+=build-qtscript" to build-webkit. https://bugs.webkit.org/show_bug.cgi?id=32565 * qt/api/QtScript.pro: Added. * qt/api/qscriptconverter_p.h: Added. (QScriptConverter::toString): * qt/api/qscriptengine.cpp: Added. (QScriptEngine::QScriptEngine): (QScriptEngine::~QScriptEngine): (QScriptEngine::evaluate): (QScriptEngine::collectGarbage): * qt/api/qscriptengine.h: Added. * qt/api/qscriptengine_p.cpp: Added. (QScriptEnginePrivate::QScriptEnginePrivate): (QScriptEnginePrivate::~QScriptEnginePrivate): (QScriptEnginePrivate::evaluate): * qt/api/qscriptengine_p.h: Added. (QScriptEnginePrivate::get): (QScriptEnginePrivate::collectGarbage): (QScriptEnginePrivate::makeJSValue): (QScriptEnginePrivate::context): * qt/api/qscriptvalue.cpp: Added. (QScriptValue::QScriptValue): (QScriptValue::~QScriptValue): (QScriptValue::isValid): (QScriptValue::isBool): (QScriptValue::isBoolean): (QScriptValue::isNumber): (QScriptValue::isNull): (QScriptValue::isString): (QScriptValue::isUndefined): (QScriptValue::isError): (QScriptValue::isObject): (QScriptValue::isFunction): (QScriptValue::toString): (QScriptValue::toNumber): (QScriptValue::toBool): (QScriptValue::toBoolean): (QScriptValue::toInteger): (QScriptValue::toInt32): (QScriptValue::toUInt32): (QScriptValue::toUInt16): (QScriptValue::call): (QScriptValue::engine): (QScriptValue::operator=): (QScriptValue::equals): (QScriptValue::strictlyEquals): * qt/api/qscriptvalue.h: Added. (QScriptValue::): * qt/api/qscriptvalue_p.h: Added. (QScriptValuePrivate::): (QScriptValuePrivate::get): (QScriptValuePrivate::QScriptValuePrivate): (QScriptValuePrivate::isValid): (QScriptValuePrivate::isBool): (QScriptValuePrivate::isNumber): (QScriptValuePrivate::isNull): (QScriptValuePrivate::isString): (QScriptValuePrivate::isUndefined): (QScriptValuePrivate::isError): (QScriptValuePrivate::isObject): (QScriptValuePrivate::isFunction): (QScriptValuePrivate::toString): (QScriptValuePrivate::toNumber): (QScriptValuePrivate::toBool): (QScriptValuePrivate::toInteger): (QScriptValuePrivate::toInt32): (QScriptValuePrivate::toUInt32): (QScriptValuePrivate::toUInt16): (QScriptValuePrivate::equals): (QScriptValuePrivate::strictlyEquals): (QScriptValuePrivate::assignEngine): (QScriptValuePrivate::call): (QScriptValuePrivate::engine): (QScriptValuePrivate::context): (QScriptValuePrivate::value): (QScriptValuePrivate::object): (QScriptValuePrivate::inherits): (QScriptValuePrivate::isJSBased): (QScriptValuePrivate::isNumberBased): (QScriptValuePrivate::isStringBased): * qt/api/qtscriptglobal.h: Added. * qt/tests/qscriptengine/qscriptengine.pro: Added. * qt/tests/qscriptengine/tst_qscriptengine.cpp: Added. (tst_QScriptEngine::tst_QScriptEngine): (tst_QScriptEngine::~tst_QScriptEngine): (tst_QScriptEngine::init): (tst_QScriptEngine::cleanup): (tst_QScriptEngine::collectGarbage): (tst_QScriptEngine::evaluate): * qt/tests/qscriptvalue/qscriptvalue.pro: Added. * qt/tests/qscriptvalue/tst_qscriptvalue.cpp: Added. (tst_QScriptValue::tst_QScriptValue): (tst_QScriptValue::~tst_QScriptValue): (tst_QScriptValue::init): (tst_QScriptValue::cleanup): (tst_QScriptValue::ctor): (tst_QScriptValue::toString_data): (tst_QScriptValue::toString): (tst_QScriptValue::copyConstructor_data): (tst_QScriptValue::copyConstructor): (tst_QScriptValue::assignOperator_data): (tst_QScriptValue::assignOperator): (tst_QScriptValue::dataSharing): (tst_QScriptValue::constructors_data): (tst_QScriptValue::constructors): (tst_QScriptValue::call): * qt/tests/tests.pri: Added. * qt/tests/tests.pro: Added. 2010-01-26 Jedrzej Nowacki <jedrzej.nowacki@nokia.com> Reviewed by Simon Hausmann. First steps of the QtScript API. Two new classes were created; QScriptEngine and QScriptValue. The first should encapsulate a javascript context and the second a script value. This API is still in development, so it isn't compiled by default. To trigger compilation, pass --qmakearg="CONFIG+=build-qtscript" to build-webkit. https://bugs.webkit.org/show_bug.cgi?id=32565 * docs/qtwebkit.qdocconf: git-svn-id: svn://svn.chromium.org/blink/trunk@53850 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
eric@webkit.org authored
Reviewed by Adam Barth. Moves JSC-specific classes from bridge/jni/JNIBridge to bridge/jni/jsc/JNIBridgeJSC https://bugs.webkit.org/show_bug.cgi?id=33958 This allows bridge/jni/JNIBridge to be used with both JSC and V8. A later change will add the V8 equivalent of these JSC-specific classes. No new tests, refactoring only. * Android.jscbindings.mk: Modified. Added JNIBridgeJSC.cpp * GNUmakefile.am: Modified. Added JNIBridgeJSC.h * WebCore.xcodeproj/project.pbxproj: Modified. Added JNIBridgeJSC.[cpp|h] * bridge/jni/JNIBridge.cpp: Modified. Moved JavaField and JavaArray to JNIBridgeJSC.cpp (appendClassName): Modfied. Guard calls to JSLock (JavaMethod::signature): Modfied. Guard calls to JSLock * bridge/jni/JNIBridge.h: Modified. Moved JavaField and JavaArray to JNIBridgeJSC.h * bridge/jni/jsc/JNIBridgeJSC.cpp: Copied from WebCore/bridge/jni/JNIBridge.cpp. * bridge/jni/jsc/JNIBridgeJSC.h: Copied from WebCore/bridge/jni/JNIBridge.h. * bridge/jni/jsc/JNIUtilityPrivate.cpp: Modified. Include JNIBridgeJSC.h * bridge/jni/jsc/JavaClassJSC.h: Modified. Include JNIBridgeJSC.h * bridge/jni/jsc/JavaInstanceJSC.cpp: Modified. Include JNIBridgeJSC.h git-svn-id: svn://svn.chromium.org/blink/trunk@53849 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
jocelyn.turcotte@nokia.com authored
[Qt] Fix Windows build when sqlite is not available. * WebCore.pri: * WebCore.pro: git-svn-id: svn://svn.chromium.org/blink/trunk@53848 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
hausmann@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=30914 Patch by Holger Hans Peter Freyther <zecke@selfish.org> on 2010-01-26 Reviewed by Simon Hausmann. Remove the manual test case in favor of an automated test case in WebKit/qt/tests/qwebpage. * manual-tests/qt/java-script-prompt.html: Removed. WebKit/qt: [Qt] JavaScript prompt is currently broken https://bugs.webkit.org/show_bug.cgi?id=30914 Patch by Holger Hans Peter Freyther <zecke@selfish.org> on 2010-01-26 Reviewed by Simon Hausmann. In r52152 a patch was landed to convert a null QString to an empty WebCore::String in case the prompt was accepted but the default implementation returned the null QString. The patch tried to avoid assign to result twice and was not checking the QString if it is null but the default value. This lead to always returning an empty string on successful prompts. Fix it by checking the variable 'x' for isNull. The manual test case used didn't cover the case of non empty input, replace it with an automatic test case that should cover all cases. * WebCoreSupport/ChromeClientQt.cpp: (WebCore::ChromeClientQt::runJavaScriptPrompt): Fix the bug. * tests/qwebpage/tst_qwebpage.cpp: Add automatic test case (JSPromptPage::JSPromptPage): (JSPromptPage::javaScriptPrompt): (tst_QWebPage::testJSPrompt): git-svn-id: svn://svn.chromium.org/blink/trunk@53847 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
pfeldman@chromium.org authored
Reviewed by Timothy Hatcher. Web Inspector: Implement HTML and CSS highlighters. https://bugs.webkit.org/show_bug.cgi?id=34144 * WebCore.gypi: * WebCore.vcproj/WebCore.vcproj: * inspector/front-end/JavaScriptTokenizer.js: Removed. * inspector/front-end/JavaScriptTokenizer.re2js: Removed. * inspector/front-end/SourceCSSTokenizer.js: Added. (WebInspector.SourceCSSTokenizer): (WebInspector.SourceCSSTokenizer.prototype._stringToken): (WebInspector.SourceCSSTokenizer.prototype._isPropertyValue): (WebInspector.SourceCSSTokenizer.prototype.nextToken): * inspector/front-end/SourceCSSTokenizer.re2js: Added. * inspector/front-end/SourceHTMLTokenizer.js: Added. (WebInspector.SourceHTMLTokenizer): (WebInspector.SourceHTMLTokenizer.prototype._stringToken): (WebInspector.SourceHTMLTokenizer.prototype.nextToken): * inspector/front-end/SourceHTMLTokenizer.re2js: Added. * inspector/front-end/SourceJavaScriptTokenizer.js: Added. (WebInspector.SourceJavaScriptTokenizer): (WebInspector.SourceJavaScriptTokenizer.prototype.nextToken): * inspector/front-end/SourceJavaScriptTokenizer.re2js: Added. * inspector/front-end/TextEditorHighlighter.js: (WebInspector.TextEditorHighlighter): (WebInspector.TextEditorHighlighter.prototype._highlightLines): (WebInspector.TextEditorHighlighter.Tokenizer): (WebInspector.TextEditorHighlighter.Tokenizer.prototype.set line): (WebInspector.TextEditorHighlighter.Tokenizer.prototype.set condition): (WebInspector.TextEditorHighlighter.Tokenizer.prototype.get condition): (WebInspector.TextEditorHighlighter.Tokenizer.prototype.hasCondition): (WebInspector.TextEditorHighlighter.Tokenizer.prototype.getLexCondition): (WebInspector.TextEditorHighlighter.Tokenizer.prototype.setLexCondition): (WebInspector.TextEditorHighlighter.Tokenizer.prototype._charAt): * inspector/front-end/WebKit.qrc: * inspector/front-end/inspector.html: git-svn-id: svn://svn.chromium.org/blink/trunk@53846 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
hausmann@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=34157 Reviewed by Holger Freyther. WebCore: Pass the FragmentScriptingPermission correctly through to the DOM and disallow scripting elements in parseEndElement(), similar to the libxml tokenizer change in r53835. * dom/XMLTokenizerQt.cpp: (WebCore::handleElementNamespaces): (WebCore::handleElementAttributes): (WebCore::XMLTokenizer::parseStartElement): (WebCore::XMLTokenizer::parseEndElement): LayoutTests: Add Qt specific result for this test that differs from the cross-platform result in only one character: In htmlcontent.html the href attribute value is http://www.cnn.com, which somehow becomes http://www.cnn.com/ in the cross platform result. With the Qt xml parser that attribute is somehow preserved and so our result does not have the trailing slash. * platform/qt/editing/pasteboard/paste-noscript-xhtml-expected.txt: Added. git-svn-id: svn://svn.chromium.org/blink/trunk@53845 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
tkent@chromium.org authored
Reviewed by Shinichiro Hamaji. Convert textarea-rows-cols.html to dumpAsText() https://bugs.webkit.org/show_bug.cgi?id=34074 * fast/forms/script-tests/textarea-rows-cols.js: Added. * fast/forms/textarea-rows-cols-expected.txt: Added. * fast/forms/textarea-rows-cols.html: * platform/mac/fast/forms/textarea-rows-cols-expected.checksum: Removed. * platform/mac/fast/forms/textarea-rows-cols-expected.png: Removed. * platform/mac/fast/forms/textarea-rows-cols-expected.txt: Removed. * platform/qt/fast/forms/textarea-rows-cols-expected.txt: Removed. * platform/win/fast/forms/textarea-rows-cols-expected.txt: Removed. git-svn-id: svn://svn.chromium.org/blink/trunk@53844 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
eric@webkit.org authored
Reviewed by Eric Seidel. Add missing declaration for the feMorphology SVG element. https://bugs.webkit.org/show_bug.cgi?id=34151 * bindings/v8/V8DOMWrapper.cpp: git-svn-id: svn://svn.chromium.org/blink/trunk@53843 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
zoltan@webkit.org authored
Patch by Andras Becsi <abecsi@inf.u-szeged.hu> on 2010-01-26 [Qt] Build fix after API changes in r53835. No new tests needed. * dom/XMLTokenizerQt.cpp: (WebCore::XMLTokenizer::XMLTokenizer): (WebCore::parseXMLDocumentFragment): git-svn-id: svn://svn.chromium.org/blink/trunk@53842 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-