WebKit-https.git
9 years agoWeb Inspector: get rid of artificial heap snapshot nodes from the retaining tree.
loislo@chromium.org [Mon, 6 Feb 2012 07:52:59 +0000 (07:52 +0000)]
Web Inspector: get rid of artificial heap snapshot nodes from the retaining tree.
https://bugs.webkit.org/show_bug.cgi?id=77850

Reviewed by Yury Semikhatsky.

* inspector/front-end/DetailedHeapshotGridNodes.js:
(WebInspector.HeapSnapshotObjectNode):
(WebInspector.HeapSnapshotObjectNode.prototype.updateHasChildren):
(WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
* inspector/front-end/HeapSnapshot.js:
(WebInspector.HeapSnapshotNode.prototype.get isArtificial):
(WebInspector.HeapSnapshot.prototype._init):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106778 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoWeb Inspector: CodeGeneratorInspector.py: switch domain agents to formal interfaces...
yurys@chromium.org [Mon, 6 Feb 2012 07:39:40 +0000 (07:39 +0000)]
Web Inspector: CodeGeneratorInspector.py: switch domain agents to formal interfaces in BackendDispatcher
https://bugs.webkit.org/show_bug.cgi?id=77444

Patch by Peter Rybin <peter.rybin@gmail.com> on 2012-02-05
Reviewed by Yury Semikhatsky.

All agent code is switched to formal interfaces. Actual agent class
names and includes are dropped from InspectorBackendDispatcher.h.

* inspector/CodeGeneratorInspector.py:
(DomainNameFixes.get_fixed_data):
(Generator.go):
* inspector/InspectorAgent.h:
* inspector/InspectorApplicationCacheAgent.h:
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::getMatchedStylesForNode):
* inspector/InspectorCSSAgent.h:
(InspectorCSSAgent):
* inspector/InspectorConsoleAgent.h:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::highlightNode):
* inspector/InspectorDOMAgent.h:
(InspectorDOMAgent):
* inspector/InspectorDOMDebuggerAgent.h:
* inspector/InspectorDOMStorageAgent.h:
* inspector/InspectorDatabaseAgent.h:
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::setBreakpoint):
(WebCore::InspectorDebuggerAgent::continueToLocation):
* inspector/InspectorDebuggerAgent.h:
(InspectorDebuggerAgent):
* inspector/InspectorFileSystemAgent.h:
* inspector/InspectorIndexedDBAgent.h:
* inspector/InspectorMemoryAgent.h:
* inspector/InspectorPageAgent.h:
* inspector/InspectorProfilerAgent.cpp:
(WebCore::InspectorProfilerAgent::getProfile):
(WebCore::InspectorProfilerAgent::removeProfile):
* inspector/InspectorProfilerAgent.h:
(InspectorProfilerAgent):
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::setExtraHTTPHeaders):
* inspector/InspectorResourceAgent.h:
(InspectorResourceAgent):
* inspector/InspectorRuntimeAgent.h:
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::start):
* inspector/InspectorTimelineAgent.h:
(InspectorTimelineAgent):
* inspector/InspectorWorkerAgent.cpp:
(WebCore::InspectorWorkerAgent::sendMessageToWorker):
* inspector/InspectorWorkerAgent.h:
(InspectorWorkerAgent):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106777 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoRename [TreatNullAs=EmptyString] to [TreatNullAs=NullString],
haraken@chromium.org [Mon, 6 Feb 2012 07:06:00 +0000 (07:06 +0000)]
Rename [TreatNullAs=EmptyString] to [TreatNullAs=NullString],
[TreatUndefinedAs=EmptyString] to [TreatUndefinedAs=NullString]
https://bugs.webkit.org/show_bug.cgi?id=77611

Reviewed by Adam Barth.

While the Web IDL spec requires [TreatNullAs=EmptyString] and [TreatUndefinedAs=EmptyString],
the current WebKit treats them as (not an empty string but) a null string.
To avoid confusion, this patch renames [TreatNullAs=EmptyString] to [TreatNullAs=NullString],
and [TreatUndefinedAs=EmptyString] to [TreatUndefinedAs=NullString].
(Eventually we should fix WebKit so that it uses an empty string and then
rename them to [TreatNullAs=EmptyString] and [TreatUndefinedAs=EmptyString].)

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorJS.pm: Added FIXME.
(JSValueToNative):
* bindings/scripts/CodeGeneratorV8.pm: Ditto.
(GetNativeTypeFromSignature):

* bindings/scripts/test/TestObj.idl:
* css/CSSCharsetRule.idl:
* css/CSSPageRule.idl:
* css/CSSRule.idl:
* css/CSSStyleDeclaration.idl:
* css/CSSStyleRule.idl:
* css/CSSValue.idl:
* css/MediaList.idl:
* css/WebKitCSSKeyframesRule.idl:
* dom/Attr.idl:
* dom/CharacterData.idl:
* dom/DOMImplementation.idl:
* dom/Document.idl:
* dom/Element.idl:
* dom/NamedNodeMap.idl:
* dom/Node.idl:
* dom/ProcessingInstruction.idl:
* dom/ShadowRoot.idl:
* fileapi/Blob.idl:
* fileapi/DirectoryEntry.idl:
* fileapi/DirectoryEntrySync.idl:
* fileapi/Entry.idl:
* fileapi/EntrySync.idl:
* fileapi/WebKitBlobBuilder.idl:
* html/HTMLAnchorElement.idl:
* html/HTMLButtonElement.idl:
* html/HTMLCanvasElement.idl:
* html/HTMLDocument.idl:
* html/HTMLElement.idl:
* html/HTMLFieldSetElement.idl:
* html/HTMLFormElement.idl:
* html/HTMLFrameElement.idl:
* html/HTMLInputElement.idl:
* html/HTMLKeygenElement.idl:
* html/HTMLMediaElement.idl:
* html/HTMLObjectElement.idl:
* html/HTMLOutputElement.idl:
* html/HTMLScriptElement.idl:
* html/HTMLSelectElement.idl:
* html/HTMLTextAreaElement.idl:
* html/HTMLTitleElement.idl:
* html/canvas/CanvasRenderingContext2D.idl:
* page/Console.idl:
* page/DOMWindow.idl:
* storage/StorageEvent.idl:
* svg/SVGAngle.idl:
* svg/SVGElement.idl:
* svg/SVGLength.idl:
* svg/SVGScriptElement.idl:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106776 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoDFG's child references from one node to another should have room for type information
fpizlo@apple.com [Mon, 6 Feb 2012 06:44:24 +0000 (06:44 +0000)]
DFG's child references from one node to another should have room for type information
https://bugs.webkit.org/show_bug.cgi?id=77797

Reviewed by Oliver Hunt.

The DFG::Node::child fields now contain both a DFG::NodeIndex (which is just an unsigned)
and a DFG::UseKind (which is currently an effectively empty enum). They are encapsulated
together as a DFG::NodeUse, which can in most cases still be used as an index (for
example DFG::Graph, AbstractState, and SpeculativeJIT all accept NodeUse in most places
where they really want a NodeIndex).

The NodeUse stores both the index and the UseKind without bloating the memory usage of
DFG::Node, since we really don't need full 32 bits for the NodeIndex (a DFG::Node is
roughly 11 words, so if we assume that we never want to use more than 1GB to DFG compile
something - likely a sensible assumption! - then we will only be able to have room for
about 24 million nodes, which means we only need about 24.5 bits for the node index).
Currently the DFG::NodeUse allocates 4 bits for the UseKind and 28 bits for the index,
but stores the index as a signed number to make NoNode work naturally. Hence we really
just have 27 bits for the index.

This is performance-neutral on all benchmarks we track.

* JavaScriptCore.xcodeproj/project.pbxproj:
* dfg/DFGAbstractState.h:
(JSC::DFG::AbstractState::forNode):
(AbstractState):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::getLocal):
(JSC::DFG::ByteCodeParser::getArgument):
(JSC::DFG::ByteCodeParser::toInt32):
(JSC::DFG::ByteCodeParser::addVarArgChild):
(JSC::DFG::ByteCodeParser::processPhiStack):
* dfg/DFGCommon.h:
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dump):
(DFG):
* dfg/DFGGraph.h:
(Graph):
(JSC::DFG::Graph::operator[]):
(JSC::DFG::Graph::at):
(JSC::DFG::Graph::ref):
(JSC::DFG::Graph::deref):
(JSC::DFG::Graph::clearAndDerefChild1):
(JSC::DFG::Graph::clearAndDerefChild2):
(JSC::DFG::Graph::clearAndDerefChild3):
* dfg/DFGJITCompiler.h:
(JSC::DFG::JITCompiler::getPrediction):
* dfg/DFGNode.h:
(JSC::DFG::Node::Node):
(JSC::DFG::Node::child1):
(JSC::DFG::Node::child1Unchecked):
(JSC::DFG::Node::child2):
(JSC::DFG::Node::child3):
(JSC::DFG::Node::firstChild):
(JSC::DFG::Node::numChildren):
(JSC::DFG::Node::dumpChildren):
(Node):
* dfg/DFGNodeReferenceBlob.h: Added.
(DFG):
(NodeReferenceBlob):
(JSC::DFG::NodeReferenceBlob::NodeReferenceBlob):
(JSC::DFG::NodeReferenceBlob::child):
(JSC::DFG::NodeReferenceBlob::child1):
(JSC::DFG::NodeReferenceBlob::child2):
(JSC::DFG::NodeReferenceBlob::child3):
(JSC::DFG::NodeReferenceBlob::child1Unchecked):
(JSC::DFG::NodeReferenceBlob::initialize):
(JSC::DFG::NodeReferenceBlob::firstChild):
(JSC::DFG::NodeReferenceBlob::setFirstChild):
(JSC::DFG::NodeReferenceBlob::numChildren):
(JSC::DFG::NodeReferenceBlob::setNumChildren):
* dfg/DFGNodeUse.h: Added.
(DFG):
(NodeUse):
(JSC::DFG::NodeUse::NodeUse):
(JSC::DFG::NodeUse::indexUnchecked):
(JSC::DFG::NodeUse::index):
(JSC::DFG::NodeUse::setIndex):
(JSC::DFG::NodeUse::useKind):
(JSC::DFG::NodeUse::setUseKind):
(JSC::DFG::NodeUse::isSet):
(JSC::DFG::NodeUse::operator!):
(JSC::DFG::NodeUse::operator==):
(JSC::DFG::NodeUse::operator!=):
(JSC::DFG::NodeUse::shift):
(JSC::DFG::NodeUse::makeWord):
(JSC::DFG::operator==):
(JSC::DFG::operator!=):
* dfg/DFGPropagator.cpp:
(JSC::DFG::Propagator::propagateArithNodeFlags):
(JSC::DFG::Propagator::vote):
(JSC::DFG::Propagator::toDouble):
(JSC::DFG::Propagator::fixupNode):
(JSC::DFG::Propagator::canonicalize):
(JSC::DFG::Propagator::startIndex):
(JSC::DFG::Propagator::globalVarLoadElimination):
(JSC::DFG::Propagator::getByValLoadElimination):
(JSC::DFG::Propagator::getByOffsetLoadElimination):
(JSC::DFG::Propagator::performSubstitution):
(JSC::DFG::Propagator::performNodeCSE):
* dfg/DFGScoreBoard.h:
(JSC::DFG::ScoreBoard::use):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::useChildren):
(JSC::DFG::SpeculativeJIT::writeBarrier):
(JSC::DFG::SpeculativeJIT::nonSpeculativeStrictEq):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleIntegerBranch):
(JSC::DFG::SpeculativeJIT::compileMovHint):
(JSC::DFG::SpeculativeJIT::computeValueRecoveryFor):
(JSC::DFG::SpeculativeJIT::compilePutByValForByteArray):
(JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray):
(JSC::DFG::SpeculativeJIT::compilePutByValForFloatTypedArray):
(JSC::DFG::SpeculativeJIT::compileSoftModulo):
(JSC::DFG::SpeculativeJIT::compileAdd):
(JSC::DFG::SpeculativeJIT::compileArithSub):
(JSC::DFG::SpeculativeJIT::compileStrictEqForConstant):
(JSC::DFG::SpeculativeJIT::compileStrictEq):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::at):
(JSC::DFG::SpeculativeJIT::canReuse):
(JSC::DFG::SpeculativeJIT::use):
(SpeculativeJIT):
(JSC::DFG::SpeculativeJIT::detectPeepHoleBranch):
(JSC::DFG::SpeculativeJIT::speculationCheck):
(JSC::DFG::SpeculativeJIT::terminateSpeculativeExecution):
(JSC::DFG::IntegerOperand::IntegerOperand):
(JSC::DFG::DoubleOperand::DoubleOperand):
(JSC::DFG::JSValueOperand::JSValueOperand):
(JSC::DFG::StorageOperand::StorageOperand):
(JSC::DFG::SpeculateIntegerOperand::SpeculateIntegerOperand):
(JSC::DFG::SpeculateStrictInt32Operand::SpeculateStrictInt32Operand):
(JSC::DFG::SpeculateDoubleOperand::SpeculateDoubleOperand):
(JSC::DFG::SpeculateCellOperand::SpeculateCellOperand):
(JSC::DFG::SpeculateBooleanOperand::SpeculateBooleanOperand):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::nonSpeculativeValueToNumber):
(JSC::DFG::SpeculativeJIT::nonSpeculativeValueToInt32):
(JSC::DFG::SpeculativeJIT::cachedPutById):
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch):
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq):
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq):
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::compileValueAdd):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::compileLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::emitBranch):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::nonSpeculativeValueToNumber):
(JSC::DFG::SpeculativeJIT::nonSpeculativeValueToInt32):
(JSC::DFG::SpeculativeJIT::cachedPutById):
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch):
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq):
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq):
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileValueAdd):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::compileLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::emitBranch):
(JSC::DFG::SpeculativeJIT::compile):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106775 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoxss-DENIED-from-data-url-in-foreign-domain-subframe.html is flaky
abarth@webkit.org [Mon, 6 Feb 2012 05:55:10 +0000 (05:55 +0000)]
xss-DENIED-from-data-url-in-foreign-domain-subframe.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=77849

Reviewed by Kentaro Hara.

This test doesn't seem to be sequenced correctly w.r.t. the load events
of the various frames involved.  This patch re-orders some of the
triggers in the hopes of making the test no longer flaky.

* http/tests/security/dataURL/resources/foreign-domain-data-url-accessor-iframe.html:
* http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-subframe-expected.txt:
* http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-subframe.html:
* platform/chromium/http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-subframe-expected.txt:
* platform/chromium/test_expectations.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106774 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoRename [JSCCustom*] IDL to [JSCustom*] IDL
haraken@chromium.org [Mon, 6 Feb 2012 04:47:11 +0000 (04:47 +0000)]
Rename [JSCCustom*] IDL to [JSCustom*] IDL
https://bugs.webkit.org/show_bug.cgi?id=77844

Reviewed by Adam Barth.

Most existing JSC-specific IDLs have "JS" prefix. We can rename [JSCCustom] to
[JSCustom], [JSCCustomGetter] to [JSCustomGetter], and [JSCCustomSetter] to
[JSCustomSetter].

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
* css/CSSStyleDeclaration.idl:
* html/HTMLDocument.idl:
* html/canvas/DataView.idl:
* page/DOMWindow.idl:
* page/MemoryInfo.idl:
* webaudio/ConvolverNode.idl:
* webaudio/DOMWindowWebAudio.idl:
* webaudio/WaveShaperNode.idl:
* websockets/DOMWindowWebSocket.idl:
* workers/WorkerContext.idl:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106773 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago[EFL] Enable WebGL with glx backend
commit-queue@webkit.org [Mon, 6 Feb 2012 04:01:42 +0000 (04:01 +0000)]
[EFL] Enable WebGL with glx backend
https://bugs.webkit.org/show_bug.cgi?id=77308

Patch by ChangSeok Oh <shivamidow@gmail.com> on 2012-02-05
Reviewed by Martin Robinson.

.:

Enabled WebGL feature for EFL port. The way is very similar to the one of GTK port.

* Source/cmake/OptionsEfl.cmake: Added feature option for WebGL.

Source/WebCore:

Implemented WebGL feature for EFL port. The way is very similar to the one of GTK port.

No new tests required. We can verify this feature with the existing test cases.

* CMakeLists.txt: Revised common files required for WebGL.
* PlatformEfl.cmake: Added EFL specific files.
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::getContext):
* platform/graphics/ANGLEWebKitBridge.h:
* platform/graphics/GraphicsContext3D.h:
(WebCore):
(WebCore::GraphicsContext3D::platformTexture):
(GraphicsContext3D):
(WebCore::GraphicsContext3D::paintsIntoCanvasBuffer):
* platform/graphics/efl/DrawingBufferEfl.cpp: Copied from GTK port.
(WebCore):
(WebCore::DrawingBuffer::DrawingBuffer):
(WebCore::DrawingBuffer::~DrawingBuffer):
(WebCore::DrawingBuffer::platformColorBuffer):
(WebCore::DrawingBuffer::paintCompositedResultsToCanvas):
* platform/graphics/efl/GraphicsContext3DEfl.cpp: Almost same with GraphicsContext3DGtk.cpp.
(WebCore::GraphicsContext3D::create):
(WebCore::GraphicsContext3D::GraphicsContext3D):
(WebCore::GraphicsContext3D::~GraphicsContext3D):
(WebCore::GraphicsContext3D::makeContextCurrent):
(WebCore::GraphicsContext3D::platformGraphicsContext3D):
(WebCore::GraphicsContext3D::isGLES2Compliant):
* platform/graphics/opengl/Extensions3DOpenGL.cpp:
(WebCore::Extensions3DOpenGL::createVertexArrayOES):
(WebCore::Extensions3DOpenGL::deleteVertexArrayOES):
(WebCore::Extensions3DOpenGL::isVertexArrayOES):
(WebCore::Extensions3DOpenGL::bindVertexArrayOES):
* platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

Source/WebKit/efl:

Activated WebGL feature.

* ewk/ewk_view.cpp:
(_Ewk_View_Private_Data):
(_ewk_view_priv_new):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106772 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoCrash in FormSubmission::create.
inferno@chromium.org [Mon, 6 Feb 2012 03:53:42 +0000 (03:53 +0000)]
Crash in FormSubmission::create.
https://bugs.webkit.org/show_bug.cgi?id=77813

Reviewed by Kent Tamura.

Source/WebCore:

Test: fast/forms/form-submission-create-crash.xhtml

* loader/FormSubmission.cpp:
(WebCore::FormSubmission::create):

LayoutTests:

* fast/forms/form-submission-create-crash-expected.txt: Added.
* fast/forms/form-submission-create-crash.xhtml: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106771 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoRemove unused file MappedAttributeEntry.h.
kling@webkit.org [Mon, 6 Feb 2012 02:25:23 +0000 (02:25 +0000)]
Remove unused file MappedAttributeEntry.h.
<http://webkit.org/b/77841>

Reviewed by Anders Carlsson.

* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/MappedAttributeEntry.h: Removed.
* dom/StyledElement.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106770 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoStyledElement: Rename parseMappedAttribute() to parseAttribute().
kling@webkit.org [Mon, 6 Feb 2012 02:21:57 +0000 (02:21 +0000)]
StyledElement: Rename parseMappedAttribute() to parseAttribute().
<http://webkit.org/b/77830>

Reviewed by Anders Carlsson.

Rename across the board and decorate subclasses with OVERRIDE.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106769 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoUnreviewed syntax fix.
kov@webkit.org [Mon, 6 Feb 2012 02:06:35 +0000 (02:06 +0000)]
Unreviewed syntax fix.

* English.lproj/localizedStrings.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106768 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoSwedish buildfix.
kling@webkit.org [Mon, 6 Feb 2012 01:33:30 +0000 (01:33 +0000)]
Swedish buildfix.

* dom/Document.cpp:
(WebCore::wheelEventHandlerCountChanged):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106767 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoThe scrolling tree should be aware of any wheel event handlers on the page
andersca@apple.com [Mon, 6 Feb 2012 00:43:19 +0000 (00:43 +0000)]
The scrolling tree should be aware of any wheel event handlers on the page
https://bugs.webkit.org/show_bug.cgi?id=77840

Reviewed by Andreas Kling.

If there are wheel event handlers on the page, any wheel events must be redispatched
to the main thread so they can go through the DOM event handling.

* dom/Document.cpp:
(WebCore::wheelEventHandlerCountChanged):
Inform the scrolling coordinator that the wheel event count changed.

(WebCore::Document::didAddWheelEventHandler):
(WebCore::Document::didRemoveWheelEventHandler):
Call wheelEventHandlerCountChanged.

* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::frameViewWheelEventHandlerCountChanged):
Call recomputeWheelEventHandlerCount.

(WebCore::ScrollingCoordinator::recomputeWheelEventHandlerCount):
Update the scrolling tree state.

* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::ScrollingTree):
Initialize m_hasWheelEventHandlers to false.

(WebCore::ScrollingTree::tryToHandleWheelEvent):
If m_hasWheelEventHandlers is true, bail.

(WebCore::ScrollingTree::commitNewTreeState):
Update m_hasWheelEventHandlers.

* page/scrolling/ScrollingTreeState.cpp:
(WebCore::ScrollingTreeState::ScrollingTreeState):
(WebCore::ScrollingTreeState::setWheelEventHandlerCount):
Add getter and setter for the wheel event handler count.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106766 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoRebaseline xss-inactive-closure.html. This test "fails" because of a
abarth@webkit.org [Sun, 5 Feb 2012 22:27:19 +0000 (22:27 +0000)]
Rebaseline xss-inactive-closure.html.  This test "fails" because of a
subtle difference in how V8 and JSC do security checks.  Essentially,
V8 does security checks based on the current ScriptExecutionContext
whereas JSC does security checks based on the current DOMWindow.  I'm
working on fixing these differences in bugs like
https://bugs.webkit.org/show_bug.cgi?id=75793, but it's a long road.

In any case, the behavior indicated by this test is fine from a
security point of view, so it's better to rebaseline this test because
that will let us detect future regressions.

* platform/chromium/http/tests/security/listener/xss-inactive-closure-expected.txt: Added.
* platform/chromium/test_expectations.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106765 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoRebaseline xss-DENIED-defineProperty. These V8-specific results appear
abarth@webkit.org [Sun, 5 Feb 2012 22:16:21 +0000 (22:16 +0000)]
Rebaseline xss-DENIED-defineProperty.  These V8-specific results appear
to also be passing, just with slightly fewer console messages.

* platform/chromium/http/tests/security/xss-DENIED-defineProperty-expected.txt: Added.
* platform/chromium/test_expectations.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106764 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoFurther cleanup of failing and flaky security LayoutTests. This patch
abarth@webkit.org [Sun, 5 Feb 2012 22:02:02 +0000 (22:02 +0000)]
Further cleanup of failing and flaky security LayoutTests.  This patch
updates the expectations to match the behavior as described by the
flakiness dashboard.

* platform/chromium/test_expectations.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106763 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoThis test is no longer flaky. It appears to pass all the time.
abarth@webkit.org [Sun, 5 Feb 2012 21:54:21 +0000 (21:54 +0000)]
This test is no longer flaky.  It appears to pass all the time.

* platform/chromium/test_expectations.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106762 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago<rdar://problem/10809525> WebKit2’s WebFrameLoaderClient::shouldUseCredentialStorage...
mitz@apple.com [Sun, 5 Feb 2012 18:51:03 +0000 (18:51 +0000)]
<rdar://problem/10809525> WebKit2’s WebFrameLoaderClient::shouldUseCredentialStorage() always returns true
https://bugs.webkit.org/show_bug.cgi?id=77823

Reviewed by Anders Carlsson.

Source/WebKit2:

* WebProcess/InjectedBundle/API/c/WKBundlePage.h:
* WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:
(WebKit::InjectedBundlePageResourceLoadClient::shouldUseCredentialStorage): Added. Calls
through to the client if it implements shouldUseCredentialStorage. Returns true otherwise.
* WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::shouldUseCredentialStorage): Changed to call the injected
bundle resource load client.

Tools:

* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::InjectedBundlePage): Updated for the additional callback.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106761 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago[EFL] Remove g_thread_init() calls
gyuyoung.kim@samsung.com [Sun, 5 Feb 2012 14:02:03 +0000 (14:02 +0000)]
[EFL] Remove g_thread_init() calls
https://bugs.webkit.org/show_bug.cgi?id=77828

Reviewed by Andreas Kling.

g_thread_init has been deprecated since glib 2.32. This function is no longer necessary.
The GLib threading system is automatically initialized at the start of your program.

* ewk/ewk_main.cpp:
(_ewk_init_body):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106760 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago[CMAKE] Support javascriptcore test for EFL port.
gyuyoung.kim@samsung.com [Sun, 5 Feb 2012 09:36:24 +0000 (09:36 +0000)]
[CMAKE] Support javascriptcore test for EFL port.
https://bugs.webkit.org/show_bug.cgi?id=77425

Reviewed by Daniel Bates.

Efl and WinCE as well as Blackberry port are now using Cmake as its build system
and they are share the make file to create jsc excutable. In order to run
"run-javascriptcore-tests", EFL port needs to change jsc installation configuration
with executable output directory(e.g. Programs). So, this patch change jsc installation
configuration only for EFL port.

.:

* Source/cmake/OptionsEfl.cmake: Change *jsc_efl* name with *jsc*.

Source/JavaScriptCore:

* shell/CMakeLists.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106759 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago[CMAKE] Do not build Tools when building jsc only.
gyuyoung.kim@samsung.com [Sun, 5 Feb 2012 09:27:59 +0000 (09:27 +0000)]
[CMAKE] Do not build Tools when building jsc only.
https://bugs.webkit.org/show_bug.cgi?id=77826

Reviewed by Daniel Bates.

Do not build Tools when jsc is only built. Build breaks occur because
Tools is built together when building jsc.

* CMakeLists.txt: Build Tools directory when ENABLE_TOOLS is on.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106758 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoRemove mapped vs non-mapped attribute distinction.
kling@webkit.org [Sun, 5 Feb 2012 09:26:05 +0000 (09:26 +0000)]
Remove mapped vs non-mapped attribute distinction.
<http://webkit.org/b/77827>

Reviewed by Antti Koivisto.

Removed the isMappedAttribute flag from Attribute as it no longer serves
a practical purpose. Previously, StyledElement would generate mapped
attributes and plain Element would generate non-mapped ones.

The distinction is now made much more clearly by dividing the work between
Element's and StyledElement's attributeChanged() methods. The only thing
that StyledElement wants to do in addition to what Element does is
calling parseMappedAttribute() (which we'll rename in a later patch.)

* dom/Attribute.cpp:
(WebCore::Attribute::clone):
* dom/Attribute.h:
(WebCore::Attribute::create):
(WebCore::Attribute::Attribute):
(Attribute):
* dom/Document.cpp:
(WebCore::Document::createAttributeNS):
* dom/Element.cpp:
(WebCore::Element::attributeChanged):
* dom/Element.h:
(Element):
* dom/Node.cpp:
(WebCore::Node::dumpStatistics):
* dom/StyledElement.cpp:
(WebCore::StyledElement::attributeChanged):
(WebCore::StyledElement::parseMappedAttribute):
* dom/StyledElement.h:
(StyledElement):
* html/parser/HTMLConstructionSite.cpp:
(WebCore):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::attributesForIsindexInput):
* html/parser/TextDocumentParser.cpp:
(WebCore::TextDocumentParser::insertFakePreElement):
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::getPresentationAttribute):
* xml/parser/MarkupTokenBase.h:
(WebCore::::initializeAttributes):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106757 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoKill CSSMappedAttributeDeclaration.
kling@webkit.org [Sun, 5 Feb 2012 08:29:38 +0000 (08:29 +0000)]
Kill CSSMappedAttributeDeclaration.
<http://webkit.org/b/77820>

Reviewed by Antti Koivisto.

Replace all use of CSSMappedAttributeDeclaration by StylePropertySet.
Moved the setNeedsStyleRecalc() calls from CSSMappedAttributeDeclaration
to the add/remove-CSS-property helpers in StyledElement.

This removes one step of indirection for attribute styles and reduces
the size of elements that have presentational attributes by one pointer.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.order:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/CSSMappedAttributeDeclaration.cpp: Removed.
* dom/CSSMappedAttributeDeclaration.h: Removed.
* dom/DOMAllInOne.cpp:

    Remove CSSMappedAttributeDeclaration.{cpp,h}

* css/CSSParser.h:
* css/CSSParser.cpp:
(WebCore::parseSimpleLengthValue):

    Remove CSSParser::parseMappedAttributeValue(), we now use parseValue()
    directly instead. We lose the benefit of caching new CSSValues in the
    document's CSSValuePool but this optimization can be added back later.

* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::matchAllRules):
* dom/ElementAttributeData.h:
(ElementAttributeData):
* dom/NamedNodeMap.cpp:
(WebCore::NamedNodeMap::ensureAttributeStyle):
* dom/NamedNodeMap.h:
(WebCore::NamedNodeMap::attributeStyle):
(NamedNodeMap):
* dom/StyledElement.cpp:
(WebCore::StyledElement::removeCSSProperties):
(WebCore::StyledElement::addCSSProperty):
(WebCore::StyledElement::addCSSImageProperty):
(WebCore::StyledElement::addCSSLength):
(WebCore::StyledElement::addCSSColor):
* dom/StyledElement.h:
(WebCore):
(WebCore::StyledElement::attributeStyle):
(WebCore::StyledElement::ensureAttributeStyle):
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::buildArrayForAttributeStyles):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106756 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoWeb Inspector: beautify retaining tree items view.
loislo@chromium.org [Sun, 5 Feb 2012 08:27:07 +0000 (08:27 +0000)]
Web Inspector: beautify retaining tree items view.
https://bugs.webkit.org/show_bug.cgi?id=77810

Reviewed by Yury Semikhatsky.

* inspector/front-end/DetailedHeapshotGridNodes.js:
(WebInspector.HeapSnapshotGenericObjectNode.prototype._createObjectCell):
(WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
* inspector/front-end/heapProfiler.css:
(.cycled-ancessor-node):
* inspector/front-end/profilesPanel.css:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106755 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago[chromium] Add support to force full damage in CCDamageTracker
shawnsingh@chromium.org [Sun, 5 Feb 2012 06:13:47 +0000 (06:13 +0000)]
[chromium] Add support to force full damage in CCDamageTracker
https://bugs.webkit.org/show_bug.cgi?id=76805

Reviewed by James Robinson.

Source/WebCore:

Unit test added to CCDamageTrackerTest.cpp.

This feature is needed for events that should cause the entire
surface to be damaged, even if layers themselves had only partial
damage or no damage at all. For example, tab-switching is one such
event.

* platform/graphics/chromium/cc/CCDamageTracker.cpp:
(WebCore::CCDamageTracker::CCDamageTracker):
(WebCore::CCDamageTracker::updateDamageRectForNextFrame):
* platform/graphics/chromium/cc/CCDamageTracker.h:
(WebCore::CCDamageTracker::forceFullDamageNextUpdate):
(CCDamageTracker):

Source/WebKit/chromium:

* tests/CCDamageTrackerTest.cpp:
(WebKitTests::TEST_F):
(WebKitTests):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106754 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago<rdar://problem/10660698> Clients cannot prevent caching of individual responses
mitz@apple.com [Sun, 5 Feb 2012 02:53:18 +0000 (02:53 +0000)]
<rdar://problem/10660698> Clients cannot prevent caching of individual responses
https://bugs.webkit.org/show_bug.cgi?id=77822

Reviewed by Sam Weinig.

Source/WebKit2:

* Shared/APIClientTraits.cpp: Added definition of interfaceSizesByVersion for
WKBundlePageResourceLoadClient.
* Shared/APIClientTraits.h: Added APIClientTraits specialization for WKBundlePageResourceLoadClient.
* WebProcess/InjectedBundle/API/c/WKBundlePage.h: Added WKBundlePageShouldCacheResponseCallback
typedef, added shouldCacheResponse member to WKBundlePageResourceLoadClient, and bumped
kWKBundlePageResourceLoadClientCurrentVersion to 1.
* WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:
(WebKit::InjectedBundlePageResourceLoadClient::shouldCacheResponse): Added. Calls through
to the client if it implements shouldCacheResponse. Returns true otherwise.
* WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::willCacheResponse): Changed to call
InjectedBundlePageResourceLoadClient::shouldCacheResponse() and return nil if the former
returns false.
(WebKit::WebFrameLoaderClient::shouldCacheResponse): Changed to call
InjectedBundlePageResourceLoadClient::shouldCacheResponse().

Tools:

* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::InjectedBundlePage): Updated for the additional callback.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106753 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoRemove dead code from ScrollingCoordinator
andersca@apple.com [Sun, 5 Feb 2012 01:03:24 +0000 (01:03 +0000)]
Remove dead code from ScrollingCoordinator
https://bugs.webkit.org/show_bug.cgi?id=77821

Reviewed by Sam Weinig.

* WebCore.exp.in:
* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::ScrollingCoordinator):
* page/scrolling/ScrollingCoordinator.h:
(ScrollingCoordinator):
* page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinator::frameViewScrollLayerDidChange):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::frameViewDidChangeSize):
(WebCore::RenderLayerCompositor::updateRootLayerPosition):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106752 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoAdd ability to send WKURLRequests in WebKit2 API user messages
weinig@apple.com [Sun, 5 Feb 2012 00:55:32 +0000 (00:55 +0000)]
Add ability to send WKURLRequests in WebKit2 API user messages
https://bugs.webkit.org/show_bug.cgi?id=77819

Reviewed by Anders Carlsson.

Source/WebKit2:

Test: WebKit2UserMessageRoundTripTest API test.

* Shared/UserMessageCoders.h:
(WebKit::UserMessageEncoder::baseEncode):
(WebKit::UserMessageDecoder::baseDecode):
Add encode/decode for WebURLRequest.

Tools:

Add testing for round-tripping WKTypes from the UIProcess,
to the WebProcess, and back.

- This commit adds a test fixture and tests for WKURLRequestRef, WKURLRef, and WKStringRef.
  More can easily be added.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2/UserMessage.cpp: Added.
(TestWebKitAPI):
(WebKit2UserMessageRoundTripTest):
(TestWebKitAPI::WebKit2UserMessageRoundTripTest::WebKit2UserMessageRoundTripTest):
(TestWebKitAPI::WebKit2UserMessageRoundTripTest::didReceiveMessageFromInjectedBundle):
(TestWebKitAPI::WebKit2UserMessageRoundTripTest::didFinishLoadForFrame):
(TestWebKitAPI::WebKit2UserMessageRoundTripTest::setInjectedBundleClient):
(TestWebKitAPI::WebKit2UserMessageRoundTripTest::setPageLoaderClient):
(TestWebKitAPI::WebKit2UserMessageRoundTripTest::SetUp):
(TestWebKitAPI::WebKit2UserMessageRoundTripTest::roundTrip):
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/Tests/WebKit2/UserMessage_Bundle.cpp: Added.
(TestWebKitAPI):
(UserMessageTest):
(TestWebKitAPI::UserMessageTest::UserMessageTest):
(TestWebKitAPI::UserMessageTest::didReceiveMessage):
* TestWebKitAPI/mac/PlatformWebViewMac.mm:
(TestWebKitAPI::PlatformWebView::resizeTo):
(TestWebKitAPI):
* TestWebKitAPI/win/TestWebKitAPI.vcproj:
* TestWebKitAPI/win/TestWebKitAPIInjectedBundle.vcproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106751 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoThe scrolling tree should inform the main scrolling coordinator when the scroll posit...
andersca@apple.com [Sun, 5 Feb 2012 00:43:39 +0000 (00:43 +0000)]
The scrolling tree should inform the main scrolling coordinator when the scroll position changes
https://bugs.webkit.org/show_bug.cgi?id=77818

Reviewed by Sam Weinig.

* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::updateMainFrameScrollPosition):
Set the main frame scroll position.

* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::updateMainFrameScrollPosition):
Call ScrollingCoordinator::updateMainFrameScrollPosition on the main thread.

* page/scrolling/mac/ScrollingTreeNodeMac.mm:
(WebCore::ScrollingTreeNodeMac::scrollBy):
Call ScrollingTree::updateMainFrameScrollPosition.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106750 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago<rdar://problem/10772406> WKPreferences instances cannot be copied
mitz@apple.com [Sun, 5 Feb 2012 00:18:17 +0000 (00:18 +0000)]
<rdar://problem/10772406> WKPreferences instances cannot be copied
https://bugs.webkit.org/show_bug.cgi?id=77816

Reviewed by Sam Weinig.

Source/WebKit2:

Test added in TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp.

* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesCreateCopy): Added.
* UIProcess/API/C/WKPreferencesPrivate.h:
* UIProcess/WebPreferences.cpp:
(WebKit::WebPreferences::WebPreferences): Added this constructor that copies the
WebPreferencesStore of the given WebPreferences.
* UIProcess/WebPreferences.h:
(WebKit::WebPreferences::create): Added this create function that takes a WebPreferences
instance and creates a new instance with a copy of the given instance’s store.

Tools:

* TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp:
(TestWebKitAPI::TEST):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106749 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoRubber stamped by Sam Weinig.
barraclough@apple.com [Sat, 4 Feb 2012 23:49:37 +0000 (23:49 +0000)]
Rubber stamped by Sam Weinig.

* yarr/YarrPattern.cpp:
(JSC::Yarr::YarrPatternConstructor::quantifyAtom):
    - Fix comment.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106748 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoFix bug in svg-link-hover-use.svg
commit-queue@webkit.org [Sat, 4 Feb 2012 22:56:55 +0000 (22:56 +0000)]
Fix bug in svg-link-hover-use.svg
https://bugs.webkit.org/show_bug.cgi?id=77768

Patch by Philip Rogers <pdr@google.com> on 2012-02-04
Reviewed by Eric Seidel.

* ManualTests/svg-link-hover-use.svg:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106747 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoElement: Remove unnecessary attributeChanged() argument.
kling@webkit.org [Sat, 4 Feb 2012 22:56:28 +0000 (22:56 +0000)]
Element: Remove unnecessary attributeChanged() argument.
<http://webkit.org/b/77814>

Reviewed by Ryosuke Niwa.

Remove the 'preserveDecls' argument to Element::attributeChanged() as that is no
longer needed after the removal of per-attribute style declarations.
Decorated subclass overrides with OVERRIDE since we're touching the lines.

Also removed an old inaccurate comment in NamedNodeMap::setAttributes() - calling
attributeChanged() is absolutely necessary to initialize element-specific state.

* dom/Element.cpp:
(WebCore::Element::attributeChanged):
* dom/Element.h:
(Element):
* dom/NamedNodeMap.cpp:
(WebCore::NamedNodeMap::setAttributes):
* dom/StyledElement.cpp:
(WebCore::StyledElement::attributeChanged):
* dom/StyledElement.h:
(StyledElement):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::updateType):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::attributeChanged):
* html/HTMLMediaElement.h:
(HTMLMediaElement):
* html/HTMLScriptElement.cpp:
(WebCore::HTMLScriptElement::attributeChanged):
* html/HTMLScriptElement.h:
(HTMLScriptElement):
* html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::attributeChanged):
* html/HTMLTrackElement.h:
(HTMLTrackElement):
* svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::attributeChanged):
* svg/SVGAnimationElement.h:
* svg/SVGElement.cpp:
(WebCore::SVGElement::attributeChanged):
* svg/SVGElement.h:
(SVGElement):
* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::attributeChanged):
* svg/animation/SVGSMILElement.h:
(SVGSMILElement):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106746 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago[GTK] CurrentTime: Reorder headers for win32
commit-queue@webkit.org [Sat, 4 Feb 2012 22:44:40 +0000 (22:44 +0000)]
[GTK] CurrentTime: Reorder headers for win32
https://bugs.webkit.org/show_bug.cgi?id=77808

Patch by Kalev Lember <kalevlember@gmail.com> on 2012-02-04
Reviewed by Martin Robinson.

In GTK+ win32 port, monotonicallyIncreasingTime() implementation is
based on g_get_monotonic_time(). Reorder headers to make sure glib.h
gets included even when the platform is win32.

CurrentTime.cpp: In function 'double WTF::monotonicallyIncreasingTime()':
CurrentTime.cpp:321:53: error: 'g_get_monotonic_time' was not declared in this scope
CurrentTime.cpp:322:1: warning: control reaches end of non-void function [-Wreturn-type]

* wtf/CurrentTime.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106745 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoCrash when reparenting children of flexible boxes
commit-queue@webkit.org [Sat, 4 Feb 2012 22:40:52 +0000 (22:40 +0000)]
Crash when reparenting children of flexible boxes
https://bugs.webkit.org/show_bug.cgi?id=77458

Patch by Ken Buchanan <kenrb@chromium.org> on 2012-02-04
Reviewed by Ojan Vafai.

Source/WebCore:

This fixes some regressions I introduced in r106150. RenderBlock::
removeChild needs to be careful about not collapsing anonymous
blocks underneath flexible boxes, and also about node ordering
when there is an after block.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::removeChild):
(WebCore::RenderBlock::collapseAnonymousBoxChild):

LayoutTests:

This test case reparents a block node from under a flexible box so
that only anonymous blocks and floating generated blocks remain.
A recent patch caused these anonymous blocks to be collapsed, which
is incorrect.

* fast/css-generated-content/remove-div-from-flexible-box-with-floating-after-content-crash-expected.txt: Added
* fast/css-generated-content/remove-div-from-flexible-box-with-floating-after-content-crash.html: Added

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106744 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoDebug build fix after r106715.
rniwa@webkit.org [Sat, 4 Feb 2012 22:26:52 +0000 (22:26 +0000)]
Debug build fix after r106715.

* html/HTMLDetailsElement.cpp:
(WebCore::DetailsSummaryElement::create):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106743 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago[GTK] Use the wide character version of win32 API by default
commit-queue@webkit.org [Sat, 4 Feb 2012 22:24:01 +0000 (22:24 +0000)]
[GTK] Use the wide character version of win32 API by default
https://bugs.webkit.org/show_bug.cgi?id=77809

Patch by Kalev Lember <kalevlember@gmail.com> on 2012-02-04
Reviewed by Martin Robinson.

Certain win32-specific files (like PluginDatabaseWin.cpp) make the
assumption that the wide character version of win32 API is the default.
Define _UNICODE and UNICODE to do this, similar to what other win32
ports are doing.

* GNUmakefile.am:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106742 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoUnreviewed test fix after r106740.
kling@webkit.org [Sat, 4 Feb 2012 21:31:51 +0000 (21:31 +0000)]
Unreviewed test fix after r106740.
<http://webkit.org/b/77204>

Disable matched declaration caching for elements with attribute style until we can
figure out how it's supposed to work.

* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::matchAllRules):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106741 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoKill per-Attribute style declarations.
kling@webkit.org [Sat, 4 Feb 2012 12:24:19 +0000 (12:24 +0000)]
Kill per-Attribute style declarations.
<http://webkit.org/b/77204>

Reviewed by Antti Koivisto.

Source/WebCore:

TL;DR summary: Remove the per-Attribute style declarations and replace them by a single
style declaration on StyledElement that acts as a secondary inline style.

The previous design was conceived in the Age of the Old Web(tm) where the majority of
element styling was accomplished via attributes. Nowadays, CSS is a much better tool for
this and we should optimize around that instead.

StyledElements now have an attributeStyle() which contains all the styling from attributes.
parseMappedAttribute() is responsible for adding/removing properties to the attributeStyle
as the corresponding attributes come in/out of the element.

Each Attribute instance shrinks by one pointer, each element that has attributes grows by
one pointer. The styles from individual attributes are no longer shared, so content that
uses a lot of repeating styling attributes will see a slight memory regression from this.
Future improvements to this could enable sharing the attributeStyle between elements that
have the same exact attributes to mitigate some of the damage.

There should be no web-facing behavior change from this, but it does break two things:

- The Inspector feature for displaying per-attribute styles. To keep things manageable,
  this patch simply files all the attribute styles together under an anonymous attribute
  in the Inspector.

- The Obj-C DOM binding for Attr::style() has to be kept for compatibility reasons,
  though it's already deprecated. It will now always return nil, since there's no way to
  retrieve a live style declaration that's specific to a certain Attr.

* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::matchAllRules):
(WebCore::CSSStyleSelector::canShareStyleWithElement):
* dom/Attr.h:
(WebCore):
(Attr):
(WebCore::Attr::style):
* dom/Attribute.cpp:
(WebCore::Attribute::clone):
* dom/Attribute.h:
(WebCore):
(WebCore::Attribute::create):
(WebCore::Attribute::createMapped):
(Attribute):
(WebCore::Attribute::Attribute):
* dom/CSSMappedAttributeDeclaration.cpp:
(WebCore::CSSMappedAttributeDeclaration::~CSSMappedAttributeDeclaration):
(WebCore::CSSMappedAttributeDeclaration::setMappedProperty):
* dom/CSSMappedAttributeDeclaration.h:
(CSSMappedAttributeDeclaration):
(WebCore::CSSMappedAttributeDeclaration::CSSMappedAttributeDeclaration):
* dom/Element.h:
(Element):
* dom/ElementAttributeData.h:
(ElementAttributeData):
* dom/NamedNodeMap.cpp:
(WebCore::NamedNodeMap::ensureAttributeStyle):
(WebCore):
* dom/NamedNodeMap.h:
(WebCore::NamedNodeMap::attributeStyle):
(NamedNodeMap):
* dom/StyledElement.cpp:
(WebCore):
(WebCore::StyledElement::attributeChanged):
(WebCore::StyledElement::removeCSSProperties):
(WebCore::StyledElement::addCSSProperty):
(WebCore::StyledElement::addCSSImageProperty):
(WebCore::StyledElement::addCSSLength):
(WebCore::StyledElement::addCSSColor):
* dom/StyledElement.h:
(StyledElement):
(WebCore::StyledElement::removeCSSProperty):
(WebCore::StyledElement::attributeStyle):
(WebCore::StyledElement::ensureAttributeStyle):
* html/HTMLBRElement.cpp:
(WebCore::HTMLBRElement::parseMappedAttribute):
* html/HTMLBRElement.h:
(HTMLBRElement):
* html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::parseMappedAttribute):
* html/HTMLBodyElement.h:
(HTMLBodyElement):
* html/HTMLDivElement.cpp:
(WebCore::HTMLDivElement::parseMappedAttribute):
* html/HTMLDivElement.h:
(HTMLDivElement):
* html/HTMLElement.cpp:
(WebCore::HTMLElement::applyBorderAttribute):
(WebCore::HTMLElement::mapLanguageAttributeToLocale):
(WebCore::HTMLElement::parseMappedAttribute):
(WebCore::HTMLElement::removeHTMLAlignment):
(WebCore):
(WebCore::HTMLElement::addHTMLAlignmentToStyledElement):
(WebCore::HTMLElement::setContentEditable):
* html/HTMLElement.h:
(HTMLElement):
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::parseMappedAttribute):
* html/HTMLEmbedElement.h:
(HTMLEmbedElement):
* html/HTMLFontElement.cpp:
(WebCore::HTMLFontElement::parseMappedAttribute):
* html/HTMLFontElement.h:
(HTMLFontElement):
* html/HTMLFrameSetElement.cpp:
(WebCore::HTMLFrameSetElement::parseMappedAttribute):
* html/HTMLFrameSetElement.h:
(HTMLFrameSetElement):
* html/HTMLHRElement.cpp:
(WebCore::HTMLHRElement::parseMappedAttribute):
* html/HTMLHRElement.h:
(HTMLHRElement):
* html/HTMLIFrameElement.cpp:
(WebCore::HTMLIFrameElement::parseMappedAttribute):
* html/HTMLIFrameElement.h:
(HTMLIFrameElement):
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::parseMappedAttribute):
* html/HTMLImageElement.h:
(HTMLImageElement):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::parseMappedAttribute):
* html/HTMLInputElement.h:
(HTMLInputElement):
* html/HTMLLIElement.cpp:
(WebCore::HTMLLIElement::parseMappedAttribute):
* html/HTMLLIElement.h:
(HTMLLIElement):
* html/HTMLMarqueeElement.cpp:
(WebCore::HTMLMarqueeElement::parseMappedAttribute):
* html/HTMLMarqueeElement.h:
(HTMLMarqueeElement):
* html/HTMLOListElement.cpp:
(WebCore::HTMLOListElement::parseMappedAttribute):
* html/HTMLOListElement.h:
(HTMLOListElement):
* html/HTMLOutputElement.cpp:
* html/HTMLOutputElement.h:
(HTMLOutputElement):
* html/HTMLParagraphElement.cpp:
(WebCore::HTMLParagraphElement::parseMappedAttribute):
* html/HTMLParagraphElement.h:
(HTMLParagraphElement):
* html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::parseMappedAttribute):
* html/HTMLPlugInElement.h:
(HTMLPlugInElement):
* html/HTMLPreElement.cpp:
(WebCore::HTMLPreElement::parseMappedAttribute):
* html/HTMLPreElement.h:
(HTMLPreElement):
* html/HTMLTableCaptionElement.cpp:
(WebCore::HTMLTableCaptionElement::parseMappedAttribute):
* html/HTMLTableCaptionElement.h:
(HTMLTableCaptionElement):
* html/HTMLTableCellElement.cpp:
(WebCore::HTMLTableCellElement::parseMappedAttribute):
* html/HTMLTableCellElement.h:
(HTMLTableCellElement):
* html/HTMLTableColElement.cpp:
(WebCore::HTMLTableColElement::parseMappedAttribute):
* html/HTMLTableColElement.h:
(HTMLTableColElement):
* html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::parseMappedAttribute):
* html/HTMLTableElement.h:
(HTMLTableElement):
* html/HTMLTablePartElement.cpp:
(WebCore):
(WebCore::HTMLTablePartElement::parseMappedAttribute):
* html/HTMLTablePartElement.h:
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::parseMappedAttribute):
* html/HTMLUListElement.cpp:
(WebCore::HTMLUListElement::parseMappedAttribute):
* html/HTMLUListElement.h:
(HTMLUListElement):
* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::parseMappedAttribute):
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::buildArrayForAttributeStyles):
* mathml/MathMLElement.cpp:
(WebCore::MathMLElement::parseMappedAttribute):
* mathml/MathMLElement.h:
* svg/SVGImageElement.cpp:
(WebCore::SVGImageElement::parseMappedAttribute):
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::parseMappedAttribute):
(WebCore::SVGStyledElement::getPresentationAttribute):
* svg/SVGStyledElement.h:
(SVGStyledElement):
* svg/SVGTextContentElement.cpp:
(WebCore::SVGTextContentElement::parseMappedAttribute):

LayoutTests:

Rebaselined 3 inspector tests since attribute styles are no longer shown per-attribute.

* inspector/elements/elements-panel-styles-expected.txt:
* inspector/styles/styles-computed-trace-expected.txt:
* inspector/styles/styles-new-API-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106740 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agogarden-o-matic's All Failure tab should let you examine and rebaseline expected failures
abarth@webkit.org [Sat, 4 Feb 2012 10:22:12 +0000 (10:22 +0000)]
garden-o-matic's All Failure tab should let you examine and rebaseline expected failures
https://bugs.webkit.org/show_bug.cgi?id=77802

Reviewed by Eric Seidel.

This patch refactors our directory grouping code into base.js where it
can be shared between failures.js and notifications.js.  It then adds
an Examine action to each group of failures that triggers the "results"
view.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/base.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/controllers.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/failures.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications_unittests.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/failures.css:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106739 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoWeb Inspector: get rid of cycles in retaining tree
loislo@chromium.org [Sat, 4 Feb 2012 10:20:07 +0000 (10:20 +0000)]
Web Inspector: get rid of cycles in retaining tree
https://bugs.webkit.org/show_bug.cgi?id=77801

Drive by fix: 'retained by' prefix was removed.

Reviewed by Yury Semikhatsky.

* inspector/front-end/DetailedHeapshotGridNodes.js:
(WebInspector.HeapSnapshotObjectNode):
(WebInspector.HeapSnapshotObjectNode.prototype._updateHasChildren):
(WebInspector.HeapSnapshotObjectNode.prototype._createChildNode):
(WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
* inspector/front-end/profilesPanel.css:
(.cycled-ancessor-node):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106738 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoAdd the "JS" prefix to JSC specific IDL attributes
haraken@chromium.org [Sat, 4 Feb 2012 10:12:47 +0000 (10:12 +0000)]
Add the "JS" prefix to JSC specific IDL attributes
https://bugs.webkit.org/show_bug.cgi?id=77693

Reviewed by Darin Adler.

Some JSC specific IDLs do not have "JS" prefix, e.g. [CustomIsReachable].
It might be OK since JSC is the main JavaScript engine in WebKit, but
distinguishing IDLs widely used in WebKit and IDLs used in JSC only would help
people understand the role of IDLs.

This patch renames the following JSC specific IDLs:

    CustomFinalize => JSCustomFinalize
    CustomIsReachable => JSCustomIsReachable
    CustomMarkFunction => JSCustomMarkFunction
    CustomToJS => JSCustomToJS
    CustomNativeConverter => JSCustomToNativeObject (Note: For naming consistency with [JSCustomToJS])
    GenerateIsReachable => JSGenerateIsReachable
    GenerateToJS => JSGenerateToJS
    NoStaticTables => JSNoStaticTables
    WindowEventListener => JSWindowEventListener
    InlineGetOwnPropertySlot => JSInlineGetOwnPropertySlot
    DelegatingPrototypePutFunction => JSCustomPrototypePutDelegate

No tests. No changes in behavior.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateGetOwnPropertySlotBody):
(GenerateGetOwnPropertyDescriptorBody):
(GenerateHeader):
(GenerateImplementation):
* bindings/scripts/CodeGeneratorV8.pm:
(HasCustomToV8Implementation):

* bindings/scripts/test/TestTypedArray.idl: No change in run-bindings-tests results.

* css/CSSRule.idl:
* css/CSSRuleList.idl:
* css/CSSStyleDeclaration.idl:
* css/CSSValue.idl:
* css/MediaList.idl:
* css/MediaQueryListListener.idl:
* css/StyleMedia.idl:
* css/StyleSheet.idl:
* css/StyleSheetList.idl:
* dom/Attr.idl:
* dom/DOMCoreException.idl:
* dom/DOMImplementation.idl:
* dom/DOMStringMap.idl:
* dom/Document.idl:
* dom/Element.idl:
* dom/ErrorEvent.idl:
* dom/Event.idl:
* dom/EventException.idl:
* dom/EventListener.idl:
* dom/MessageChannel.idl:
* dom/MessageEvent.idl:
* dom/MessagePort.idl:
* dom/NamedNodeMap.idl:
* dom/Node.idl:
* dom/NodeFilter.idl:
* dom/NodeIterator.idl:
* dom/NodeList.idl:
* dom/TreeWalker.idl:
* dom/WebKitNamedFlow.idl:
* fileapi/Blob.idl:
* fileapi/DOMFileSystem.idl:
* fileapi/DOMFileSystemSync.idl:
* fileapi/DirectoryEntry.idl:
* fileapi/DirectoryEntrySync.idl:
* fileapi/DirectoryReader.idl:
* fileapi/DirectoryReaderSync.idl:
* fileapi/Entry.idl:
* fileapi/EntryArray.idl:
* fileapi/EntryArraySync.idl:
* fileapi/EntrySync.idl:
* fileapi/File.idl:
* fileapi/FileEntry.idl:
* fileapi/FileEntrySync.idl:
* fileapi/FileError.idl:
* fileapi/FileException.idl:
* fileapi/FileList.idl:
* fileapi/FileReader.idl:
* fileapi/FileReaderSync.idl:
* fileapi/FileWriter.idl:
* fileapi/Metadata.idl:
* fileapi/OperationNotAllowedException.idl:
* fileapi/WebKitBlobBuilder.idl:
* html/DOMFormData.idl:
* html/DOMSettableTokenList.idl:
* html/DOMTokenList.idl:
* html/DOMURL.idl:
* html/HTMLAllCollection.idl:
* html/HTMLBodyElement.idl:
* html/HTMLCollection.idl:
* html/HTMLFrameSetElement.idl:
* html/ImageData.idl:
* html/MediaController.idl:
* html/TextTrack.idl:
* html/TextTrackCue.idl:
* html/VoidCallback.idl:
* html/canvas/ArrayBuffer.idl:
* html/canvas/ArrayBufferView.idl:
* html/canvas/CanvasRenderingContext.idl:
* html/canvas/DataView.idl:
* html/canvas/Float32Array.idl:
* html/canvas/Float64Array.idl:
* html/canvas/Int16Array.idl:
* html/canvas/Int32Array.idl:
* html/canvas/Int8Array.idl:
* html/canvas/OESStandardDerivatives.idl:
* html/canvas/OESTextureFloat.idl:
* html/canvas/OESVertexArrayObject.idl:
* html/canvas/Uint16Array.idl:
* html/canvas/Uint32Array.idl:
* html/canvas/Uint8Array.idl:
* html/canvas/Uint8ClampedArray.idl:
* html/canvas/WebGLCompressedTextures.idl:
* html/canvas/WebGLDebugRendererInfo.idl:
* html/canvas/WebGLDebugShaders.idl:
* html/canvas/WebGLLoseContext.idl:
* html/canvas/WebGLRenderingContext.idl:
* html/track/TextTrackList.idl:
* loader/appcache/DOMApplicationCache.idl:
* mediastream/LocalMediaStream.idl:
* page/BarInfo.idl:
* page/Console.idl:
* page/DOMSelection.idl:
* page/DOMWindow.idl:
* page/EventSource.idl:
* page/Geolocation.idl:
* page/History.idl:
* page/Location.idl:
* page/Navigator.idl:
* page/Screen.idl:
* page/WorkerNavigator.idl:
* plugins/DOMMimeTypeArray.idl:
* plugins/DOMPluginArray.idl:
* storage/Database.idl:
* storage/DatabaseSync.idl:
* storage/IDBAny.idl:
* storage/IDBKey.idl:
* storage/SQLError.idl:
* storage/SQLException.idl:
* storage/SQLResultSet.idl:
* storage/SQLResultSetRowList.idl:
* storage/SQLTransaction.idl:
* storage/SQLTransactionSync.idl:
* storage/Storage.idl:
* svg/SVGElementInstance.idl:
* svg/SVGPathSeg.idl:
* webaudio/AudioBufferCallback.idl:
* webaudio/AudioBufferSourceNode.idl:
* webaudio/AudioContext.idl:
* webaudio/AudioDestinationNode.idl:
* webaudio/AudioGain.idl:
* webaudio/AudioGainNode.idl:
* webaudio/AudioPannerNode.idl:
* webaudio/AudioProcessingEvent.idl:
* webaudio/BiquadFilterNode.idl:
* webaudio/ConvolverNode.idl:
* webaudio/DelayNode.idl:
* webaudio/DynamicsCompressorNode.idl:
* webaudio/HighPass2FilterNode.idl:
* webaudio/JavaScriptAudioNode.idl:
* webaudio/LowPass2FilterNode.idl:
* webaudio/MediaElementAudioSourceNode.idl:
* webaudio/OfflineAudioCompletionEvent.idl:
* webaudio/RealtimeAnalyserNode.idl:
* webaudio/WaveShaperNode.idl:
* websockets/CloseEvent.idl:
* websockets/WebSocket.idl:
* workers/AbstractWorker.idl:
* workers/DedicatedWorkerContext.idl:
* workers/SharedWorker.idl:
* workers/SharedWorkerContext.idl:
* workers/Worker.idl:
* workers/WorkerContext.idl:
* workers/WorkerLocation.idl:
* xml/XMLHttpRequest.idl:
* xml/XMLHttpRequestException.idl:
* xml/XMLHttpRequestProgressEvent.idl:
* xml/XMLHttpRequestUpload.idl:
* xml/XPathResult.idl:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106737 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agohttp/tests/security/xss-eval fails due to difference in JSC and V8 eval
abarth@webkit.org [Sat, 4 Feb 2012 10:09:16 +0000 (10:09 +0000)]
http/tests/security/xss-eval fails due to difference in JSC and V8 eval
https://bugs.webkit.org/show_bug.cgi?id=77806

Reviewed by Eric Seidel.

Both the JSC and V8 behaviors are reasonable in this case.  This patch
modifies the test to show that either behavior isn't a security
vulnerability.

* http/tests/security/xss-eval.html:
* platform/chromium/http/tests/security/xss-eval-expected.txt:
* platform/chromium/test_expectations.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106736 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agocheck-webkit-style is throwing an exception
ojan@chromium.org [Sat, 4 Feb 2012 09:50:47 +0000 (09:50 +0000)]
check-webkit-style is throwing an exception
https://bugs.webkit.org/show_bug.cgi?id=77744

Reviewed by David Levin.

If the test_list is None, then we don't need to check for unsupported
feature tests to skip.

* Scripts/webkitpy/layout_tests/port/webkit.py:
(WebKitPort._has_test_in_directories):
* Scripts/webkitpy/layout_tests/port/webkit_unittest.py:
(test_skipped_tests_for_unsupported_features_empty_test_list):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106735 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoConvert RenderTheme over to new layout abstraction
eae@chromium.org [Sat, 4 Feb 2012 09:42:39 +0000 (09:42 +0000)]
Convert RenderTheme over to new layout abstraction
https://bugs.webkit.org/show_bug.cgi?id=77783

Reviewed by Eric Seidel.

Change the RenderTheme classes to use the new layout abstraction as a
part of the ongoing conversion work.

No new tests.

* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::volumeSliderOffsetFromMuteButton):
(WebCore::RenderTheme::baselinePosition):
(WebCore::RenderTheme::adjustRepaintRect):
(WebCore::RenderTheme::meterSizeForBounds):
* rendering/RenderTheme.h:
(RenderTheme):
(WebCore::RenderTheme::paintCapsLockIndicator):
* rendering/RenderThemeChromiumMac.h:
(RenderThemeChromiumMac):
* rendering/RenderThemeChromiumMac.mm:
(WebCore::RenderThemeChromiumMac::volumeSliderOffsetFromMuteButton):
* rendering/RenderThemeChromiumSkia.cpp:
(WebCore::RenderThemeChromiumSkia::convertToPaintingRect):
(WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
(WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
(WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
* rendering/RenderThemeChromiumSkia.h:
* rendering/RenderThemeMac.h:
(RenderThemeMac):
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::adjustRepaintRect):
(WebCore::RenderThemeMac::inflateRect):
(WebCore::RenderThemeMac::setControlSize):
(WebCore::RenderThemeMac::paintCapsLockIndicator):
(WebCore::RenderThemeMac::paintMenuList):
(WebCore::RenderThemeMac::meterSizeForBounds):
(WebCore::RenderThemeMac::paintMenuListButtonGradients):
(WebCore::RenderThemeMac::setPopupButtonCellState):
(WebCore::RenderThemeMac::paintSearchFieldCancelButton):
(WebCore::RenderThemeMac::volumeSliderOffsetFromMuteButton):
* rendering/RenderThemeSafari.cpp:
(WebCore::RenderThemeSafari::baselinePosition):
* rendering/RenderThemeSafari.h:
(RenderThemeSafari):
* rendering/RenderThemeWin.cpp:
(WebCore::RenderThemeWin::paintSearchFieldCancelButton):
(WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
(WebCore::RenderThemeWin::paintSearchFieldResultsButton):
(WebCore::RenderThemeWin::volumeSliderOffsetFromMuteButton):
* rendering/RenderThemeWin.h:
(RenderThemeWin):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106734 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoIndexedDB: mark quota layout test WONTFIX
dgrogan@chromium.org [Sat, 4 Feb 2012 09:40:39 +0000 (09:40 +0000)]
IndexedDB: mark quota layout test WONTFIX
https://bugs.webkit.org/show_bug.cgi?id=77459

Reviewed by Tony Chang.

* platform/chromium/test_expectations.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106733 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago[chromium] Fix multi-second hangs in compositor invalidating large layers
senorblanco@chromium.org [Sat, 4 Feb 2012 09:26:17 +0000 (09:26 +0000)]
[chromium] Fix multi-second hangs in compositor invalidating large layers
https://bugs.webkit.org/show_bug.cgi?id=77774

Reviewed by James Robinson.

Correctness covered by existing tests.

* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::pushPropertiesTo):
Remove tiles from the tiler when they are invalid (ie., no longer have
texture backing).
(WebCore::TiledLayerChromium::invalidateRect):
Instead of iterating over the tile indices (which may be very large),
iterate over the tile hash map instead.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106732 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago[BlackBerry] Upstream BlackBerry WebCoreSupport ClientExtension and GeolocationContro...
commit-queue@webkit.org [Sat, 4 Feb 2012 09:24:10 +0000 (09:24 +0000)]
[BlackBerry] Upstream BlackBerry WebCoreSupport ClientExtension and GeolocationControllerClientBlackBerry classes
https://bugs.webkit.org/show_bug.cgi?id=77751

Patch by Jacky Jiang <zhajiang@rim.com> on 2012-02-04
Reviewed by Rob Buis.

Initial upstream, no new tests.

* blackberry/WebCoreSupport/ClientExtension.cpp: Added.
* blackberry/WebCoreSupport/ClientExtension.h: Added.
* blackberry/WebCoreSupport/GeolocationControllerClientBlackBerry.cpp: Added.
* blackberry/WebCoreSupport/GeolocationControllerClientBlackBerry.h: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106731 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoSource/WebCore: Patch by Swapna P <spottabathini@innominds.com> on 2012-02-04
commit-queue@webkit.org [Sat, 4 Feb 2012 09:19:57 +0000 (09:19 +0000)]
Source/WebCore: Patch by Swapna P <spottabathini@innominds.com> on 2012-02-04
Reviewed by Antonio Gomes.

Bug: iframe with scrolling=no incorrectly autoscrollable
https://bugs.webkit.org/show_bug.cgi?id=61558

Added check for frame scrolling mode just before applying scroll on frame content in function RenderLayer::scrollRect

Testcase: LayoutTests/fast/events/autoscroll-with-non-scrollable-parent.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollRectToVisible):

LayoutTests: Patch by Swapna P <spottabathini@innominds.com> on 2012-02-04
Reviewed by Antonio Gomes.

Bug: iframe with scrolling=no incorrectly autoscrollable
https://bugs.webkit.org/show_bug.cgi?id=61558

Did change inorder to print correct log as per the description provided in test case.

* fast/events/autoscroll-with-non-scrollable-parent.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106730 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoCanvas-into-canvas drawing should respect backing store scale ratio
timothy_horton@apple.com [Sat, 4 Feb 2012 06:43:50 +0000 (06:43 +0000)]
Canvas-into-canvas drawing should respect backing store scale ratio
https://bugs.webkit.org/show_bug.cgi?id=77784
<rdar://problem/10549729>

Reviewed by Dan Bernstein.

Respect the backing store scale ratio when drawing a canvas into another
canvas via ctx.drawImage(canvas, x, y). Previous behavior caused canvas
drawing to differ based on the size of the backing store, which is ideally
an implementation detail to authors.

Also, rename the source canvas arguments to CanvasRenderingContext2D::drawImage
to be more clear.

No new tests.

* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawImage):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106729 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoAdd a Chromium-specific baseline for this test. These results appear to be passing.
abarth@webkit.org [Sat, 4 Feb 2012 04:45:42 +0000 (04:45 +0000)]
Add a Chromium-specific baseline for this test.  These results appear to be passing.

* platform/chromium-win/http/tests/security/cross-frame-access-put-expected.txt: Removed.
* platform/chromium/http/tests/security/cross-frame-access-put-expected.txt: Added.
* platform/chromium/test_expectations.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106728 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoList of all failures in garden-o-matic should actually list all the failures
abarth@webkit.org [Sat, 4 Feb 2012 03:59:10 +0000 (03:59 +0000)]
List of all failures in garden-o-matic should actually list all the failures
https://bugs.webkit.org/show_bug.cgi?id=77796

Reviewed by Eric Seidel.

This patch wires a bit more data into the new "All Failures" tab.  I've
also iterated on how we enable this experimental feature.  The tab is
still just a dumb list, but we'll make it smarter.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/controllers.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/garden-o-matic.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/failures.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106727 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoWindows build fix after r106692.
rniwa@webkit.org [Sat, 4 Feb 2012 03:50:50 +0000 (03:50 +0000)]
Windows build fix after r106692.

* Scripts/webkitpy/layout_tests/port/base_unittest.py:
(PortTest.test_reference_files):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106726 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agohttps://bugs.webkit.org/show_bug.cgi?id=77782
bdakin@apple.com [Sat, 4 Feb 2012 02:01:27 +0000 (02:01 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=77782
WebPageProxy::didNewFirstVisuallyNonEmptyLayout should is called more than
once on some pages with frames
-and corresponding-
<rdar://problem/10798474>

Reviewed by Sam Weinig.

Source/WebCore:

startCountingRelevantRepaintedObjects() should only be called for the main
frame. Otherwise, the counter will be re-set inappropriately, and
didNewFirstVisuallyNonEmptyLayout may even end up firing more than once.
* page/FrameView.cpp:
(WebCore::FrameView::performPostLayoutTasks):

Tools:

One new test.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFrames.cpp: Added.
(TestWebKitAPI):
(TestWebKitAPI::didForceRepaint):
(TestWebKitAPI::didFinishLoadForFrame):
(TestWebKitAPI::didNewFirstVisuallyNonEmptyLayout):
(TestWebKitAPI::setPageLoaderClient):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFrames_Bundle.cpp: Added.
(TestWebKitAPI):
(NewFirstVisuallyNonEmptyLayoutFramesTest):
(TestWebKitAPI::NewFirstVisuallyNonEmptyLayoutFramesTest::NewFirstVisuallyNonEmptyLayoutFramesTest):
(TestWebKitAPI::NewFirstVisuallyNonEmptyLayoutFramesTest::didCreatePage):
* TestWebKitAPI/Tests/WebKit2/lots-of-iframes.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106725 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoReduce the memory allocations of WebCore's cssPropertyName()
benjamin@webkit.org [Sat, 4 Feb 2012 01:59:41 +0000 (01:59 +0000)]
Reduce the memory allocations of WebCore's cssPropertyName()
https://bugs.webkit.org/show_bug.cgi?id=74782

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-02-03
Reviewed by Geoffrey Garen.

Add a fast path to avoid the use of the StringBuilder.

The string builder is needed for two cases:
-CSS prefix (the character after the prefix must be uppercase)
-JavaScript CamelCase name for CSS properties

We can skip all memory allocations if the property is not in those
two cases. We start by testing the string for uppercase characters,
and just return the an identical string.

This patch create a "fast case" 2.7 times faster than previously.
The "slow case" is 2-3% slower due to the additional check at the beginning.

* bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore):
(WebCore::containsASCIIUpperChar):
(WebCore::cssPropertyName):
(WebCore::isCSSPropertyName):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106724 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoWebKit2 should dispatch wheel events to the new ScrollingTree class
andersca@apple.com [Sat, 4 Feb 2012 01:56:42 +0000 (01:56 +0000)]
WebKit2 should dispatch wheel events to the new ScrollingTree class
https://bugs.webkit.org/show_bug.cgi?id=77795

Reviewed by Andreas Kling.

Source/WebCore:

* WebCore.exp.in:
Add new symbols needed by WebKit2.

* WebCore.xcodeproj/project.pbxproj:
Make ScrollingTree.h private so it can be included by WebKit2.

* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::scrollingTree):
* page/scrolling/ScrollingCoordinator.h:
Add a scrolling tree getter.

Source/WebKit2:

Replace all uses of ScrollingCoordinator with ScrollingTree instead.
Also, don't try to handle gesture events on the scrolling thread anymore;
we don't need to to that right now.

* WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::addScrollingTreeForPage):
(WebKit::EventDispatcher::removeScrollingTreeForPage):
(WebKit::EventDispatcher::wheelEvent):
(WebKit::EventDispatcher::gestureEvent):
* WebProcess/WebPage/EventDispatcher.h:
(WebCore):
(EventDispatcher):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
(WebKit::TiledCoreAnimationDrawingArea::~TiledCoreAnimationDrawingArea):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106723 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago[Chromium] WebCore::toV8Context crashes if DomWindow::frame() returns null.
dslomov@google.com [Sat, 4 Feb 2012 01:45:14 +0000 (01:45 +0000)]
[Chromium] WebCore::toV8Context crashes if DomWindow::frame() returns null.
https://bugs.webkit.org/show_bug.cgi?id=77686.

Reviewed by Adam Barth.

* bindings/v8/V8Helpers.cpp:
(WebCore::toV8Context):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106722 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agowebkitpy: change exit() calls to sys.exit(), fix a leak in outputcapture
dpranke@chromium.org [Sat, 4 Feb 2012 01:41:14 +0000 (01:41 +0000)]
webkitpy: change exit() calls to sys.exit(), fix a leak in outputcapture
https://bugs.webkit.org/show_bug.cgi?id=77781

Reviewed by Eric Seidel.

This change fixes a couple of issues discovered while debugging
test-webkitpy; both calling exit() instead of sys.exit() --
which is discouraged in program code instead of the interpreter
-- and a particular usage of outputcapture were stdin to get whacked
and preventing debugging.

This change introduces a couple of common _exit() methods that
will standardize how webkit-patch exit's, in case we need to do
something different in the future.

* Scripts/webkitpy/common/system/deprecated_logging.py:
(error):
* Scripts/webkitpy/common/system/outputcapture.py:
(OutputCapture.assert_outputs):
* Scripts/webkitpy/tool/bot/queueengine.py:
(QueueEngine.exit_after_handled_error):
* Scripts/webkitpy/tool/commands/abstractsequencedcommand.py:
(AbstractSequencedCommand.execute):
* Scripts/webkitpy/tool/commands/queues.py:
(StyleQueue.handle_script_error):
* Scripts/webkitpy/tool/commands/upload.py:
(MarkBugFixed.execute):
* Scripts/webkitpy/tool/multicommandtool.py:
(Command._exit):
* Scripts/webkitpy/tool/steps/abstractstep.py:
(AbstractStep._exit):
* Scripts/webkitpy/tool/steps/checkstyle.py:
(CheckStyle.run):
* Scripts/webkitpy/tool/steps/commit.py:
(Commit._check_test_expectations):
* Scripts/webkitpy/tool/steps/confirmdiff.py:
(ConfirmDiff.run):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106721 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoThe scrolling tree should be able to handle wheel events
andersca@apple.com [Sat, 4 Feb 2012 01:33:46 +0000 (01:33 +0000)]
The scrolling tree should be able to handle wheel events
https://bugs.webkit.org/show_bug.cgi?id=77794

Reviewed by Andreas Kling.

* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::tryToHandleWheelEvent):
New function. Currently this always returns that it was able to handle the wheel event,
but this will change in the future.

(WebCore::ScrollingTree::handleWheelEvent):
Ask the root node to handle the wheel event.

* page/scrolling/ScrollingTreeNode.h:
Add a handleWheelEvent pure virtual member function.

* page/scrolling/mac/ScrollingTreeNodeMac.mm:
(WebCore::ScrollingTreeNodeMac::handleWheelEvent):
Call scrollBy for now. Eventually this should use a scroll elasticity controller to handle
things like rubber-banding.

(WebCore::ScrollingTreeNodeMac::scrollPosition):
(WebCore::ScrollingTreeNodeMac::setScrollPosition):
Add getters and setters for the scroll position.

(WebCore::ScrollingTreeNodeMac::scrollBy):
Update the scroll position given the offset.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106720 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agobuildbot fix for curl.
lforschler@apple.com [Sat, 4 Feb 2012 01:32:31 +0000 (01:32 +0000)]
buildbot fix for curl.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106719 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago[WK2 Mac] No need to allow access to input methods or keyboard layouts
ap@apple.com [Sat, 4 Feb 2012 01:29:14 +0000 (01:29 +0000)]
[WK2 Mac] No need to allow access to input methods or keyboard layouts
https://bugs.webkit.org/show_bug.cgi?id=77775
<rdar://problem/9276253>
<rdar://problem/9276268>

Reviewed by Dan Bernstein.

* WebProcess/com.apple.WebProcess.sb: These rules were likely only necessary in early days
of WebKit2. If there are cases when this happens, that's likely wrong, and we need to know
about that.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106717 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoAnother http -> https fix for curl
lforschler@apple.com [Sat, 4 Feb 2012 01:26:01 +0000 (01:26 +0000)]
Another http -> https fix for curl

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106716 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoCrash in Node::dispatchSubtreeModifiedEvent
rniwa@webkit.org [Sat, 4 Feb 2012 01:22:38 +0000 (01:22 +0000)]
Crash in Node::dispatchSubtreeModifiedEvent
https://bugs.webkit.org/show_bug.cgi?id=77449

Reviewed by Alexey Proskuryakov.

Source/WebCore:

The bug was caused by appendChild not retaining this pointer.
This is normally okay because there's another owner within JSC/V8 binding code that
holds onto the node but this isn't the case when nodes are created as a part
of setting document.title. Fixed the crash by retaining the pointer as needed.

Test: fast/dom/remove-body-during-title-creation.html

* dom/ContainerNode.cpp:
(WebCore::ContainerNode::appendChild):

LayoutTests:

Add a regression test for the crash.

* fast/dom/remove-body-during-title-creation-expected.txt: Added.
* fast/dom/remove-body-during-title-creation.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106715 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoPerf bot build fix.
rniwa@webkit.org [Sat, 4 Feb 2012 01:19:05 +0000 (01:19 +0000)]
Perf bot build fix.

* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner._generate_json):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106714 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoAdd a blank "Expected Failures" tab to garden-o-matic
abarth@webkit.org [Sat, 4 Feb 2012 01:18:23 +0000 (01:18 +0000)]
Add a blank "Expected Failures" tab to garden-o-matic
https://bugs.webkit.org/show_bug.cgi?id=77793

Reviewed by Eric Seidel.

This tab will help us explore and manage our expected failures.  The
tab is hidden by default via a new "experimental features" flag.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/garden-o-matic.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/failures.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/onebar.css:
(#unexpected):
(#onebar.partytime #unexpected):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106713 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoFix other instances of http://developer links which should be https://developer
lforschler@apple.com [Sat, 4 Feb 2012 01:09:05 +0000 (01:09 +0000)]
Fix other instances of developer links which should be https://developer

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106712 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoApply changed properties from the updated scrolling tree state
andersca@apple.com [Sat, 4 Feb 2012 01:05:24 +0000 (01:05 +0000)]
Apply changed properties from the updated scrolling tree state
https://bugs.webkit.org/show_bug.cgi?id=77792

Reviewed by Andreas Kling.

* page/scrolling/ScrollingTreeNode.cpp:
(WebCore::ScrollingTreeNode::update):
Update the tree node properties from the scrolling tree state.

* page/scrolling/ScrollingTreeNode.h:
(WebCore::ScrollingTreeNode::scrollingTree):
(WebCore::ScrollingTreeNode::viewportRect):
(WebCore::ScrollingTreeNode::contentsSize):
Add getters.

* page/scrolling/ScrollingTreeState.h:
(WebCore::ScrollingTreeState::changedProperties):
New function for accessing the changed properties of the scrolling tree state.

* page/scrolling/mac/ScrollingTreeNodeMac.h:
* page/scrolling/mac/ScrollingTreeNodeMac.mm:
(WebCore::ScrollingTreeNodeMac::update):
Update the scroll layer from the scrolling tree if necessary.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106711 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoFix URL string
lforschler@apple.com [Sat, 4 Feb 2012 00:57:33 +0000 (00:57 +0000)]
Fix URL string

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106710 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago[WK2] Use properly quoted string literals
ap@apple.com [Sat, 4 Feb 2012 00:31:26 +0000 (00:31 +0000)]
[WK2] Use properly quoted string literals
https://bugs.webkit.org/show_bug.cgi?id=77583

Reviewed by Darin Adler.

Also added some FIXMEs.

* WebProcess/com.apple.WebProcess.sb:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106709 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoupdate-webkit-support-libraries is broken with the change from http to https on devel...
lforschler@apple.com [Sat, 4 Feb 2012 00:29:47 +0000 (00:29 +0000)]
update-webkit-support-libraries is broken with the change from http to https on developer.apple.com
https://bugs.webkit.org/show_bug.cgi?id=77785

Fix the build bots.

Pass the -k and --sslv3 keys to make curl work with https on https://developer.apple.com

* Scripts/update-webkit-support-libs:
(downloadExpectedVersionNumber):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106708 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoPrefix the typedef in WTF_MAKE_FAST_ALLOCATED with underscores
andersca@apple.com [Sat, 4 Feb 2012 00:24:02 +0000 (00:24 +0000)]
Prefix the typedef in WTF_MAKE_FAST_ALLOCATED with underscores
https://bugs.webkit.org/show_bug.cgi?id=77788

Reviewed by Andreas Kling.

The current typedef name, 'ThisIsHereToForceASemicolonAfterThisMacro', shows up when trying to
code-complete 'this' in Xcode. Prefix the typedef with two underscores to stop this from happening.

* wtf/FastAllocBase.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106707 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago2012-02-03 Brady Eidson <beidson@apple.com>
beidson@apple.com [Sat, 4 Feb 2012 00:22:32 +0000 (00:22 +0000)]
2012-02-03  Brady Eidson  <beidson@apple.com>

<rdar://problem/10742441> and https://bugs.webkit.org/show_bug.cgi?id=77766
Need a WK2 API to filter which subframes go into WebArchives as they are created.

Reviewed by Darin Adler.

Source/WebCore:

This adds a filter callback object that allows clients to get called back for each
subframe that might be added to a WebArchive.

API only, No new layout tests.

* WebCore.exp.in:
* loader/archive/cf/LegacyWebArchive.cpp:
(WebCore::LegacyWebArchive::create):
(WebCore::LegacyWebArchive::createFromSelection):
* loader/archive/cf/LegacyWebArchive.h:
(FrameFilter):
(WebCore:: FrameFilter::~ FrameFilter):
(LegacyWebArchive):

Source/WebKit2:

Add a new WKBundleFrame API that takes a filter callback object to allow or reject
subframes from a WebArchive:
* WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
(WKBundleFrameCopyWebArchive):
(WKBundleFrameCopyWebArchiveFilteringSubframes):
* WebProcess/InjectedBundle/API/c/WKBundleFrame.h:

Implement the above API by calling through to WebCore:
* WebProcess/WebPage/WebFrame.cpp:
(WebFrameFilter):
(WebKit::WebFrameFilter::WebFrameFilter):
(WebKit::WebFrameFilter::shouldIncludeSubframe):
(WebKit::WebFrame::webArchiveData):
* WebProcess/WebPage/WebFrame.h:
(WebFrame):

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::getWebArchiveOfFrame):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106706 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoIndexedDB: Key generators not rolled back if insertion fails or is aborted
jsbell@chromium.org [Sat, 4 Feb 2012 00:16:45 +0000 (00:16 +0000)]
IndexedDB: Key generators not rolled back if insertion fails or is aborted
https://bugs.webkit.org/show_bug.cgi?id=77060

Reviewed by Tony Chang.

Source/WebCore:

Test: storage/indexeddb/key-generator.html

* storage/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::put): Add abort task to reset cache.
(WebCore::IDBObjectStoreBackendImpl::revertAutoIncrementKeyCache):
(WebCore):
(WebCore::IDBObjectStoreBackendImpl::putInternal): Reset cache on error.
* storage/IDBObjectStoreBackendImpl.h:
(IDBObjectStoreBackendImpl):

LayoutTests:

* storage/indexeddb/key-generator-expected.txt: Added.
* storage/indexeddb/key-generator.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106705 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agopositive and negative flex values are not being cleared on style changes
tony@chromium.org [Sat, 4 Feb 2012 00:10:18 +0000 (00:10 +0000)]
positive and negative flex values are not being cleared on style changes
https://bugs.webkit.org/show_bug.cgi?id=77771

Reviewed by Ojan Vafai.

Source/WebCore:

If the width or height was a flex() value, but is no longer a flex
value, we weren't clearing the positive and negative flex values in
RenderStyle.

Test: css3/flexbox/flex-no-flex.html

* css/CSSStyleApplyProperty.cpp:
(WebCore::ApplyPropertyLength::applyValue):

LayoutTests:

* css3/flexbox/flex-no-flex-expected.txt: Added.
* css3/flexbox/flex-no-flex.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106704 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoAdd a Mac Lion Performance bot.
lforschler@apple.com [Sat, 4 Feb 2012 00:01:12 +0000 (00:01 +0000)]
Add a Mac Lion Performance bot.
https://bugs.webkit.org/show_bug.cgi?id=77765

Reviewed by Adam Roben.

This will update the master configuration in the following ways:
    Add a new performance slave (apple-xseve-11)
    Add a new Factory to download a build and run perf tests.

* BuildSlaveSupport/build.webkit.org-config/config.json:
* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(DownloadAndPerfTestFactory):
(DownloadAndPerfTestFactory.__init__):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106703 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoExtra TestWebKitAPI.gyp/TestWebKitAPI.target.chromium.mk in repository
dpranke@chromium.org [Fri, 3 Feb 2012 23:53:23 +0000 (23:53 +0000)]
Extra TestWebKitAPI.gyp/TestWebKitAPI.target.chromium.mk in repository
https://bugs.webkit.org/show_bug.cgi?id=77752

Reviewed by James Robinson.

Delete unneeded file accidentally checked in in r106481.

* TestWebKitAPI/TestWebKitAPI.gyp/TestWebKitAPI.target.chromium.mk: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106702 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago[Mac WK2] Use a minimally invasive way to fake plug-in process name
ap@apple.com [Fri, 3 Feb 2012 23:47:55 +0000 (23:47 +0000)]
[Mac WK2] Use a minimally invasive way to fake plug-in process name
https://bugs.webkit.org/show_bug.cgi?id=77682

Reviewed by Darin Adler.

* PluginProcess/PluginProcess.cpp: (WebKit::PluginProcess::netscapePluginModule):
Only change the name as it's seen from within the process.

* Shared/Plugins/PluginQuirks.h: Fixed a typo.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106701 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago[chromium] Defer makeContextCurrent in compositor until first frame
jamesr@google.com [Fri, 3 Feb 2012 23:18:56 +0000 (23:18 +0000)]
[chromium] Defer makeContextCurrent in compositor until first frame
https://bugs.webkit.org/show_bug.cgi?id=77269

Reviewed by Kenneth Russell.

Source/WebCore:

There are situations where we need to instantiate a compositor, but can't call makeContextCurrent() until some
initialization work completes on another thread that we cannot block for. This defers the first
makeContextCurrent() call until we need to produce the first frame at which point we know the call can succeed,
assuming that the scheduler does the right thing.

This is accomplished by splitting up proxy initialization into two pieces:
*) initializeContext() which attempts to instantiate a GraphicsContext3D. This can fail if we can't make a
context at all, in which case we abort completely and return NULL from CCLayerTreeHost::create().

*) initializeLayerRenderer() which uses the previously-created context to instantiate our compositor objects and
    grab our renderer capabilities. This can fail if the context is not usable for compositing, which we report
    to the client as a lost context event.

Internally this introduces a new state to the CCLayerTreeHostImpl where it has a context but does not yet have a
LayerRendererChromium, which has fairly minimal impact. One other change is that we don't instantiate the
TextureManagers until we have the renderer capabilities, but this isn't necessary until we want to start
painting so it doesn't have any impact outside of some overly intrustive unit tests.

* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerChromium::paintContentsIfDirty):
(WebCore::ContentLayerChromium::createTextureUpdater):
* platform/graphics/chromium/ContentLayerChromium.h:
(ContentLayerChromium):
* platform/graphics/chromium/ImageLayerChromium.cpp:
(WebCore::ImageLayerChromium::paintContentsIfDirty):
* platform/graphics/chromium/ImageLayerChromium.h:
(ImageLayerChromium):
* platform/graphics/chromium/TiledLayerChromium.cpp:
* platform/graphics/chromium/TiledLayerChromium.h:
(WebCore::TiledLayerChromium::setSampledTexelFormat):
(TiledLayerChromium):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::CCLayerTreeHost):
(WebCore::CCLayerTreeHost::initialize):
(WebCore::CCLayerTreeHost::initializeLayerRenderer):
(WebCore):
(WebCore::CCLayerTreeHost::beginCommitOnImplThread):
(WebCore::CCLayerTreeHost::compositeAndReadback):
(WebCore::CCLayerTreeHost::finishAllRendering):
(WebCore::CCLayerTreeHost::setViewportSize):
(WebCore::CCLayerTreeHost::setVisible):
(WebCore::CCLayerTreeHost::updateLayers):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(CCLayerTreeHost):
():
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::isContextLost):
* platform/graphics/chromium/cc/CCProxy.h:
(CCProxy):
* platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
(WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
(WebCore::CCSingleThreadProxy::compositeAndReadback):
(WebCore::CCSingleThreadProxy::initializeContext):
(WebCore::CCSingleThreadProxy::initializeLayerRenderer):
(WebCore::CCSingleThreadProxy::layerRendererCapabilities):
* platform/graphics/chromium/cc/CCSingleThreadProxy.h:
(CCSingleThreadProxy):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::CCThreadProxy):
(WebCore::CCThreadProxy::compositeAndReadback):
(WebCore::CCThreadProxy::initializeContext):
(WebCore):
(WebCore::CCThreadProxy::initializeLayerRenderer):
(WebCore::CCThreadProxy::layerRendererCapabilities):
(WebCore::CCThreadProxy::initializeImplOnImplThread):
(WebCore::CCThreadProxy::initializeContextOnImplThread):
(WebCore::CCThreadProxy::initializeLayerRendererOnImplThread):
* platform/graphics/chromium/cc/CCThreadProxy.h:
(CCThreadProxy):

Source/WebKit/chromium:

* tests/CCLayerTreeHostTest.cpp:
(WTF::CCLayerTreeHostTestSetViewportSize::beginTest):
* tests/TiledLayerChromiumTest.cpp:
(WTF::TEST):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106700 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoUnreviewed compile fix for chromium - add commas after entries in list in WebCore...
jamesr@google.com [Fri, 3 Feb 2012 23:13:41 +0000 (23:13 +0000)]
Unreviewed compile fix for chromium - add commas after entries in list in WebCore.gypi

* WebCore.gypi:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106699 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoUnreviewed build fix attempt after r106695.
kling@webkit.org [Fri, 3 Feb 2012 23:03:53 +0000 (23:03 +0000)]
Unreviewed build fix attempt after r106695.

CSSMutableStyleDeclaration was renamed to StylePropertySet.

* bindings/scripts/CodeGeneratorCPP.pm:
(AddIncludesForType):
* bindings/scripts/CodeGeneratorV8.pm:
(AddIncludesForType):
* bindings/v8/V8DOMWindowShell.cpp:
* bindings/v8/V8DOMWrapper.cpp:
* bindings/v8/V8Proxy.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106698 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago[BlackBerry] Let userIdleTime() return maximum number instead of 0 as
commit-queue@webkit.org [Fri, 3 Feb 2012 22:52:10 +0000 (22:52 +0000)]
[BlackBerry] Let userIdleTime() return maximum number instead of 0 as
most of other ports do.
https://bugs.webkit.org/show_bug.cgi?id=77769

Patch by Yong Li <yoli@rim.com> on 2012-02-03
Reviewed by Rob Buis.

userIdleTime() should return a big number so it won't block page cache
from releasing cached pages. See PageCache::releaseAutoreleasedPagesNowOrReschedule().

No new tests as no visible functional changes.

* platform/blackberry/SystemTimeBlackBerry.cpp:
(WebCore::userIdleTime):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106697 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoCommit scrolling tree state changes to the scrolling tree
andersca@apple.com [Fri, 3 Feb 2012 22:46:58 +0000 (22:46 +0000)]
Commit scrolling tree state changes to the scrolling tree
https://bugs.webkit.org/show_bug.cgi?id=77780

Reviewed by Darin Adler.

* WebCore.xcodeproj/project.pbxproj:
* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::commitTreeState):
Send the new scrolling tree state over to the ScrollingTree on the scrolling thread.

* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::ScrollingTree):
Create a root node.

(WebCore::ScrollingTree::commitNewTreeState):
Update the root node.

* page/scrolling/ScrollingTreeNode.cpp: Copied from Source/WebCore/page/scrolling/ScrollingTree.cpp.
* page/scrolling/ScrollingTreeNode.h: Copied from Source/WebCore/page/scrolling/ScrollingTree.cpp.
Stub out an abstract ScrollingTreeNode class.

* page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinator::frameViewScrollLayerDidChange):
Update the scroll layer on the tree state.

* page/scrolling/mac/ScrollingTreeNodeMac.h: Copied from Source/WebCore/page/scrolling/ScrollingTree.cpp.
* page/scrolling/mac/ScrollingTreeNodeMac.mm: Copied from Source/WebCore/page/scrolling/ScrollingTree.cpp.
Stub out the concrete ScrollingTreeNodeMac subclass.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106696 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoRename CSSMutableStyleDeclaration.h/.cpp to StylePropertySet.h/.cpp
antti@apple.com [Fri, 3 Feb 2012 22:41:09 +0000 (22:41 +0000)]
Rename CSSMutableStyleDeclaration.h/.cpp to StylePropertySet.h/.cpp
https://bugs.webkit.org/show_bug.cgi?id=77779

Reviewed by Darin Adler.

Source/WebCore:

Match the new class name.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSCSSStyleDeclarationCustom.cpp:
* bindings/js/JSDOMBinding.h:
* bindings/scripts/CodeGeneratorJS.pm:
(NativeToJSValue):
* bindings/scripts/CodeGeneratorObjC.pm:
(AddIncludesForType):
* css/CSSAllInOne.cpp:
* css/CSSComputedStyleDeclaration.cpp:
* css/CSSFontFaceRule.cpp:
* css/CSSFontFaceRule.h:
* css/CSSFontSelector.cpp:
* css/CSSMutableStyleDeclaration.cpp: Removed.
* css/CSSMutableStyleDeclaration.h: Removed.
* css/CSSPageRule.cpp:
* css/CSSParser.cpp:
* css/CSSStyleRule.cpp:
* css/CSSStyleRule.h:
* css/StylePropertySet.cpp: Copied from Source/WebCore/css/CSSMutableStyleDeclaration.cpp.
* css/StylePropertySet.h: Copied from Source/WebCore/css/CSSMutableStyleDeclaration.h.
* css/WebKitCSSKeyframeRule.cpp:
* css/WebKitCSSKeyframeRule.h:
* css/WebKitCSSKeyframesRule.cpp:
* css/WebKitCSSMatrix.cpp:
* dom/CSSMappedAttributeDeclaration.h:
* dom/ElementAttributeData.h:
* dom/StyledElement.cpp:
* dom/StyledElement.h:
* editing/ApplyStyleCommand.cpp:
* editing/DeleteButtonController.cpp:
* editing/EditingStyle.cpp:
* editing/Editor.cpp:
* editing/EditorCommand.cpp:
* editing/RemoveCSSPropertyCommand.cpp:
* editing/ReplaceSelectionCommand.cpp:
* editing/markup.cpp:
* html/canvas/CanvasRenderingContext2D.cpp:
* html/shadow/MeterShadowElement.cpp:
* inspector/InspectorCSSAgent.cpp:
* inspector/InspectorDOMAgent.cpp:
* page/DragController.cpp:
* page/Frame.cpp:
* rendering/RenderLayer.cpp:
* rendering/RenderTreeAsText.cpp:
* svg/SVGFontFaceElement.h:
(WebCore):

Source/WebKit/mac:

* WebView/WebHTMLView.mm:

Source/WebKit/qt:

* Api/qwebelement.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106695 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoCrash in RenderFlowThread::setRegionBoxesRegionStyle
mihnea@adobe.com [Fri, 3 Feb 2012 22:23:48 +0000 (22:23 +0000)]
Crash in RenderFlowThread::setRegionBoxesRegionStyle
https://bugs.webkit.org/show_bug.cgi?id=77474

Reviewed by David Hyatt.

Source/WebCore:

Flexbox and deprecated flexible box should also compute their region range
when they are part of a named flow. Until now, only RenderBlock elements
were doing that. Flexbox and deprecated flexible box, while implementing
their own layoutBlock method, were not doing that.

Tests: fast/regions/flexbox-in-region-crash.html
       fast/regions/select-in-region-crash.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::computeInitialRegionRangeForBlock):
(WebCore):
(WebCore::RenderBlock::computeRegionRangeForBlock):
(WebCore::RenderBlock::layoutBlock):
* rendering/RenderBlock.h:
(RenderBlock):
* rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutBlock):
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::removeRegionFromThread):
(WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::RenderRegion):
(WebCore::RenderRegion::paintReplaced):
* rendering/RenderRegion.h:
(RenderRegion):

LayoutTests:

* fast/regions/flexbox-in-region-crash-expected.txt: Added.
* fast/regions/flexbox-in-region-crash.html: Added.
* fast/regions/select-in-region-crash-expected.txt: Added.
* fast/regions/select-in-region-crash.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106694 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoRef Tests should support plain SVG files
rniwa@webkit.org [Fri, 3 Feb 2012 21:48:35 +0000 (21:48 +0000)]
Ref Tests should support plain SVG files
https://bugs.webkit.org/show_bug.cgi?id=77685

Reviewed by Tony Chang.

Don't assume reference files always use .html as the extension.
Instead, use the list of supported extension to look for -expected.* and -mismatch.*

Also fix various bugs in MockFileSystem and TestPort.

* Scripts/webkitpy/common/system/filesystem_mock.py:
(MockFileSystem.isdir):
* Scripts/webkitpy/layout_tests/port/base.py:
(Port.reference_files):
* Scripts/webkitpy/layout_tests/port/base_unittest.py:
(PortTest.test_is_test_file):
(PortTest.test_reference_files):
* Scripts/webkitpy/layout_tests/port/test.py:
(TestInstance.__init__):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106692 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoUpdate the tree state after layout and add a way to commit it
andersca@apple.com [Fri, 3 Feb 2012 21:25:44 +0000 (21:25 +0000)]
Update the tree state after layout and add a way to commit it
https://bugs.webkit.org/show_bug.cgi?id=77767

Reviewed by Andreas Kling.

* page/FrameView.cpp:
(WebCore::FrameView::performPostLayoutTasks):
Call ScrollingCoordinator::frameViewLayoutUpdated if we have a scrolling coordinator.

* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::ScrollingCoordinator):
Initialize m_scrollingTreeStateCommitterTimer.

(WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
Update the viewport rect and contents size of the frame view.

(WebCore::ScrollingCoordinator::scheduleTreeStateCommit):
Schedule a tree state commit unless we've already scheduled one or there are no changed properties.

(WebCore::ScrollingCoordinator::scrollingTreeStateCommitterTimerFired):
Call commitTreeState().

(WebCore::ScrollingCoordinator::commitTreeStateIfNeeded):
Commit the tree state unless there are no changed properties.

(WebCore::ScrollingCoordinator::commitTreeState):
Commit the tree state. We currently don't do anything with the committed state yet.

* page/scrolling/ScrollingCoordinator.h:
Add new member functions and the timer member variable.

* page/scrolling/ScrollingTreeState.cpp:
(WebCore::ScrollingTreeState::commit):
Copy the current tree state and restore the changed properties on the original.

* page/scrolling/ScrollingTreeState.h:
(WebCore::ScrollingTreeState::hasChangedProperties):
Return whether there are any changed properties in the tree state.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106690 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agocomplete rebaseline of box-shadow-clipped-slices
commit-queue@webkit.org [Fri, 3 Feb 2012 21:25:36 +0000 (21:25 +0000)]
complete rebaseline of box-shadow-clipped-slices
https://bugs.webkit.org/show_bug.cgi?id=77565

Patch by Elliot Poger <epoger@google.com> on 2012-02-03
Reviewed by Darin Adler.

* platform/chromium/test_expectations.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106689 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago[GTK] configure: Print out the -Wno-c++0x-compat test result
commit-queue@webkit.org [Fri, 3 Feb 2012 21:13:17 +0000 (21:13 +0000)]
[GTK] configure: Print out the -Wno-c++0x-compat test result
https://bugs.webkit.org/show_bug.cgi?id=77757

Patch by Kalev Lember <kalevlember@gmail.com> on 2012-02-03
Reviewed by Martin Robinson.

The check whether -Wno-c++0x-compat flag is needed didn't print out
the test result (and newline), which caused the following test to be
displayed on the same line.

checking if we have to disable C++0x compat warnings for GCC >= 4.6.0... checking pthread.h usability... yes

* configure.ac:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106688 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoperf-o-matic should store chromium svn revision
rniwa@webkit.org [Fri, 3 Feb 2012 21:10:22 +0000 (21:10 +0000)]
perf-o-matic should store chromium svn revision
https://bugs.webkit.org/show_bug.cgi?id=77725

Reviewed by Dirk Pranke.

.:

Store both WebKit and Chromium revisions when both are reported.

* Websites/webkit-perf.appspot.com/models.py:
(Build):
* Websites/webkit-perf.appspot.com/report_handler.py:
(ReportHandler.post):
(ReportHandler._create_build_if_possible):
(ReportHandler._create_build_if_possible.execute):
* Websites/webkit-perf.appspot.com/static/manual-submit.html:

Tools:

Report both WebKit and Chromium revisions to the graph server. Renamed test_repository_paths to
repository_paths since it's nothing to do with tests. Also refactored scm so that head_svn_revision
is implemented in terms of newly added svn_revision.

* Scripts/webkitpy/common/checkout/scm/git.py:
(Git.svn_revision):
* Scripts/webkitpy/common/checkout/scm/scm.py:
(SCM.head_svn_revision):
(SCM):
(SCM.svn_revision):
* Scripts/webkitpy/common/checkout/scm/scm_mock.py:
(MockSCM.svn_revision):
* Scripts/webkitpy/common/checkout/scm/svn.py:
(SVN.svn_revision):
* Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py:
(JSONLayoutResultsGenerator.__init__):
* Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
(JSONResultsGeneratorBase._insert_generic_metadata):
* Scripts/webkitpy/layout_tests/port/base.py:
(Port.repository_paths):
* Scripts/webkitpy/layout_tests/port/chromium.py:
(ChromiumPort.repository_paths):
* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner._generate_json):
* Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
(test_run_test_set_with_json_output):
(test_run_test_set_with_json_source):
(test_run_test_set_with_multiple_repositories):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106687 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoFix alignment warnings in ARMv7
commit-queue@webkit.org [Fri, 3 Feb 2012 20:59:00 +0000 (20:59 +0000)]
Fix alignment warnings in ARMv7
https://bugs.webkit.org/show_bug.cgi?id=55368

Patch by Rob Buis <rbuis@rim.com> on 2012-02-03
Reviewed by Filip Pizlo.

Use reinterpret_cast_ptr and static_cast to get rid of alignment issues in ARMv7 code.

* heap/HandleTypes.h:
(JSC::HandleTypes::getFromSlot):
* heap/MarkedBlock.cpp:
(JSC::MarkedBlock::specializedSweep):
* heap/MarkedBlock.h:
(JSC::MarkedBlock::forEachCell):
* runtime/WriteBarrier.h:
(JSC::WriteBarrierBase::get):
(JSC::WriteBarrierBase::unvalidatedGet):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106686 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoHTMLElement: Clean up tabindex attribute parsing.
kling@webkit.org [Fri, 3 Feb 2012 20:57:08 +0000 (20:57 +0000)]
HTMLElement: Clean up tabindex attribute parsing.
<http://webkit.org/b/77763>

Reviewed by Antti Koivisto.

Remove an unnecessary getAttribute() call when parsing tabindexAttr.

* html/HTMLElement.cpp:
(WebCore::HTMLElement::parseMappedAttribute):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106685 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoMake js-test-pre.js more worker friendly
dgrogan@chromium.org [Fri, 3 Feb 2012 20:46:37 +0000 (20:46 +0000)]
Make js-test-pre.js more worker friendly
https://bugs.webkit.org/show_bug.cgi?id=77487

Replace uses of 'window' with 'self'.

Reviewed by Ojan Vafai.

* fast/js/resources/js-test-pre.js:
* storage/indexeddb/resources/basics.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106684 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoScrollingTreeState should keep track of the scroll layer
andersca@apple.com [Fri, 3 Feb 2012 20:22:21 +0000 (20:22 +0000)]
ScrollingTreeState should keep track of the scroll layer
https://bugs.webkit.org/show_bug.cgi?id=77762

Reviewed by Andreas Kling.

* WebCore.xcodeproj/project.pbxproj:
* page/scrolling/ScrollingTreeState.h:
(ScrollingTreeState):
* page/scrolling/mac/ScrollingTreeStateMac.mm: Copied from Source/WebCore/page/scrolling/ScrollingTreeState.h.
(WebCore):
(WebCore::ScrollingTreeState::platformScrollLayer):
(WebCore::ScrollingTreeState::setScrollLayer):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106683 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agohttps://bugs.webkit.org/show_bug.cgi?id=77740
antti@apple.com [Fri, 3 Feb 2012 19:46:48 +0000 (19:46 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=77740
Split CSSMutableStyleDeclaration into separate internal and CSSOM types

Reviewed by Andreas Kling and Darin Adler.

Source/WebCore:

Split the CSSMutableStyleDeclaration into an internal type (StylePropertySet) and a CSSOM implementation type (PropertySetCSSStyleDeclaration).

To keep things somewhat manageable, this patch does NOT

- rename or add any files (so files names won't match types)
- rename fields, methods or variables to match new type names (like CSSStyleRule::declaration() -> CSSStyleRule::propertySet())
- try to realize any memory or performance gains (StylePropertySet loses the vptr but gains PropertySetCSSStyleDeclaration*)

* WebCore.exp.in:
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::copy):
(WebCore::CSSComputedStyleDeclaration::makeMutable):
(WebCore::CSSComputedStyleDeclaration::copyPropertiesInSet):
* css/CSSComputedStyleDeclaration.h:
(WebCore):
(CSSComputedStyleDeclaration):
* css/CSSFontFaceRule.h:
(WebCore::CSSFontFaceRule::style):
(WebCore::CSSFontFaceRule::declaration):
(WebCore::CSSFontFaceRule::setDeclaration):
(CSSFontFaceRule):
* css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::addFontFaceRule):
* css/CSSMutableStyleDeclaration.cpp:
(PropertySetCSSStyleDeclaration):
(WebCore::PropertySetCSSStyleDeclaration::create):
(WebCore::PropertySetCSSStyleDeclaration::PropertySetCSSStyleDeclaration):
(WebCore):
(WebCore::StylePropertySet::StylePropertySet):
(WebCore::StylePropertySet::~StylePropertySet):
(WebCore::StylePropertySet::deref):
(WebCore::StylePropertySet::contextStyleSheet):
(WebCore::StylePropertySet::copyPropertiesFrom):
(WebCore::StylePropertySet::getPropertyValue):
(WebCore::StylePropertySet::borderSpacingValue):
(WebCore::StylePropertySet::appendFontLonghandValueIfExplicit):
(WebCore::StylePropertySet::fontValue):
(WebCore::StylePropertySet::get4Values):
(WebCore::StylePropertySet::getLayeredShorthandValue):
(WebCore::StylePropertySet::getShorthandValue):
(WebCore::StylePropertySet::getCommonValue):
(WebCore::StylePropertySet::getPropertyCSSValue):
(WebCore::StylePropertySet::removeShorthandProperty):
(WebCore::StylePropertySet::removeProperty):
(WebCore::StylePropertySet::setNeedsStyleRecalc):
(WebCore::StylePropertySet::propertyIsImportant):
(WebCore::StylePropertySet::getPropertyShorthand):
(WebCore::StylePropertySet::isPropertyImplicit):
(WebCore::StylePropertySet::setProperty):
(WebCore::StylePropertySet::parseDeclaration):
(WebCore::StylePropertySet::addParsedProperties):
(WebCore::StylePropertySet::addParsedProperty):
(WebCore::StylePropertySet::asText):
(WebCore::StylePropertySet::merge):
(WebCore::StylePropertySet::addSubresourceStyleURLs):
(WebCore::StylePropertySet::copyBlockProperties):
(WebCore::StylePropertySet::removeBlockProperties):
(WebCore::StylePropertySet::removePropertiesInSet):
(WebCore::StylePropertySet::findPropertyWithId):
(WebCore::StylePropertySet::propertyMatches):
(WebCore::StylePropertySet::removeEquivalentProperties):
(WebCore::StylePropertySet::copy):
(WebCore::StylePropertySet::copyPropertiesInSet):
(WebCore::StylePropertySet::ensureCSSStyleDeclaration):
(WebCore::PropertySetCSSStyleDeclaration::length):
(WebCore::PropertySetCSSStyleDeclaration::item):
(WebCore::PropertySetCSSStyleDeclaration::parentRule):
(WebCore::PropertySetCSSStyleDeclaration::cssText):
(WebCore::PropertySetCSSStyleDeclaration::setCssText):
(WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValue):
(WebCore::PropertySetCSSStyleDeclaration::getPropertyValue):
(WebCore::PropertySetCSSStyleDeclaration::getPropertyPriority):
(WebCore::PropertySetCSSStyleDeclaration::getPropertyShorthand):
(WebCore::PropertySetCSSStyleDeclaration::isPropertyImplicit):
(WebCore::PropertySetCSSStyleDeclaration::setProperty):
(WebCore::PropertySetCSSStyleDeclaration::removeProperty):
(WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValueInternal):
(WebCore::PropertySetCSSStyleDeclaration::getPropertyValueInternal):
(WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
(WebCore::PropertySetCSSStyleDeclaration::parentStyleSheet):
(WebCore::PropertySetCSSStyleDeclaration::copy):
(WebCore::PropertySetCSSStyleDeclaration::makeMutable):
(WebCore::PropertySetCSSStyleDeclaration::cssPropertyMatches):
* css/CSSMutableStyleDeclaration.h:
(WebCore):
(StylePropertySet):
(WebCore::StylePropertySet::create):
(WebCore::StylePropertySet::createInline):
* css/CSSPageRule.h:
(WebCore):
* css/CSSParser.cpp:
(WebCore::parseColorValue):
(WebCore::parseSimpleLengthValue):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseDeclaration):
(WebCore::CSSParser::createStyleRule):
(WebCore::CSSParser::createFontFaceRule):
(WebCore::CSSParser::createPageRule):
(WebCore::CSSParser::createKeyframeRule):
* css/CSSParser.h:
(WebCore):
(CSSParser):
* css/CSSStyleDeclaration.h:
(WebCore):
(CSSStyleDeclaration):
* css/CSSStyleRule.h:
(WebCore::CSSStyleRule::style):
(WebCore::CSSStyleRule::setDeclaration):
(WebCore::CSSStyleRule::declaration):
(CSSStyleRule):
* css/CSSStyleSelector.cpp:
(WebCore::leftToRightDeclaration):
(WebCore::rightToLeftDeclaration):
(WebCore::CSSStyleSelector::addMatchedDeclaration):
(WebCore::CSSStyleSelector::collectMatchingRulesForList):
(WebCore::CSSStyleSelector::matchAllRules):
(WebCore::CSSStyleSelector::styleForKeyframe):
(WebCore::isInsideRegionRule):
(WebCore::CSSStyleSelector::applyDeclaration):
(WebCore::CSSStyleSelector::applyDeclarations):
(WebCore::CSSStyleSelector::matchPageRulesForList):
* css/CSSStyleSelector.h:
(CSSStyleSelector):
(MatchedStyleDeclaration):
* css/WebKitCSSKeyframeRule.cpp:
(WebCore::WebKitCSSKeyframeRule::setDeclaration):
* css/WebKitCSSKeyframeRule.h:
(WebCore::WebKitCSSKeyframeRule::style):
(WebCore::WebKitCSSKeyframeRule::declaration):
(WebKitCSSKeyframeRule):
* css/WebKitCSSMatrix.cpp:
(WebCore::WebKitCSSMatrix::setMatrixValue):
* dom/Attr.h:
(WebCore::Attr::style):
* dom/Attribute.h:
(WebCore::Attribute::decl):
* dom/CSSMappedAttributeDeclaration.h:
(WebCore::CSSMappedAttributeDeclaration::declaration):
(WebCore::CSSMappedAttributeDeclaration::CSSMappedAttributeDeclaration):
(CSSMappedAttributeDeclaration):
* dom/Document.cpp:
(WebCore::Document::createCSSStyleDeclaration):
* dom/ElementAttributeData.h:
(ElementAttributeData):
* dom/NamedNodeMap.cpp:
(WebCore::NamedNodeMap::ensureInlineStyleDecl):
* dom/NamedNodeMap.h:
(WebCore::NamedNodeMap::inlineStyleDecl):
(NamedNodeMap):
* dom/StyledElement.cpp:
(WebCore::StyledElement::updateStyleAttribute):
(WebCore::StyledElement::copyNonAttributeProperties):
(WebCore::StyledElement::addSubresourceAttributeURLs):
* dom/StyledElement.h:
(WebCore::StyledElement::additionalAttributeStyle):
(WebCore::StyledElement::inlineStyleDecl):
(WebCore::StyledElement::ensureInlineStyleDecl):
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
(WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
(WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
(WebCore::ApplyStyleCommand::removeCSSStyle):
(WebCore::ApplyStyleCommand::addBlockStyle):
(WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
* editing/DeleteButtonController.cpp:
(WebCore::DeleteButtonController::createDeletionUI):
* editing/EditingStyle.cpp:
(WebCore::copyEditingProperties):
(WebCore::editingStyleFromComputedStyle):
(WebCore):
(WebCore::HTMLElementEquivalent::propertyExistsInStyle):
(HTMLElementEquivalent):
(WebCore::HTMLElementEquivalent::valueIsPresentInStyle):
(HTMLTextDecorationEquivalent):
(WebCore::HTMLTextDecorationEquivalent::propertyExistsInStyle):
(WebCore::HTMLTextDecorationEquivalent::valueIsPresentInStyle):
(HTMLAttributeEquivalent):
(WebCore::HTMLAttributeEquivalent::valueIsPresentInStyle):
(WebCore::HTMLAttributeEquivalent::attributeValueAsCSSValue):
(WebCore::EditingStyle::EditingStyle):
(WebCore::getRGBAFontColor):
(WebCore::EditingStyle::setProperty):
(WebCore::EditingStyle::setStyle):
(WebCore::EditingStyle::overrideWithStyle):
(WebCore::EditingStyle::extractAndRemoveTextDirection):
(WebCore::EditingStyle::removeStyleAddedByNode):
(WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode):
(WebCore::EditingStyle::triStateOfStyle):
(WebCore::EditingStyle::conflictsWithInlineStyleOfElement):
(WebCore::EditingStyle::elementIsStyledSpanOrHTMLEquivalent):
(WebCore::elementMatchesAndPropertyIsNotInInlineStyleDecl):
(WebCore::EditingStyle::mergeStyle):
(WebCore::styleFromMatchedRulesForElement):
(WebCore::EditingStyle::mergeStyleFromRules):
(WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
(WebCore::removePropertiesInStyle):
(WebCore::EditingStyle::removeStyleFromRulesAndContext):
(WebCore::EditingStyle::removePropertiesInElementDefaultStyle):
(WebCore::EditingStyle::forceInline):
(WebCore::reconcileTextDecorationProperties):
(WebCore::StyleChange::StyleChange):
(WebCore::setTextDecorationProperty):
(WebCore::StyleChange::extractTextStyles):
(WebCore::diffTextDecorations):
(WebCore::fontWeightIsBold):
(WebCore::getTextAlignment):
(WebCore::getPropertiesNotIn):
(WebCore::getIdentifierValue):
(WebCore::isTransparentColorValue):
(WebCore::hasTransparentBackgroundColor):
* editing/EditingStyle.h:
(WebCore):
(WebCore::EditingStyle::create):
(EditingStyle):
(WebCore::EditingStyle::style):
(StyleChange):
* editing/Editor.cpp:
(WebCore::Editor::setBaseWritingDirection):
(WebCore::Editor::applyEditingStyleToElement):
* editing/EditorCommand.cpp:
(WebCore::applyCommandToFrame):
(WebCore::executeApplyStyle):
(WebCore::executeToggleStyleInList):
(WebCore::executeApplyParagraphStyle):
(WebCore::executeMakeTextWritingDirectionLeftToRight):
(WebCore::executeMakeTextWritingDirectionNatural):
(WebCore::executeMakeTextWritingDirectionRightToLeft):
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::copyTypingStyle):
* editing/FrameSelection.h:
(WebCore):
* editing/RemoveCSSPropertyCommand.cpp:
(WebCore::RemoveCSSPropertyCommand::doApply):
(WebCore::RemoveCSSPropertyCommand::doUnapply):
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
* editing/ReplaceSelectionCommand.h:
(WebCore):
* editing/markup.cpp:
(WebCore):
(StyledMarkupAccumulator):
(WebCore::StyledMarkupAccumulator::wrapWithStyleNode):
(WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag):
(WebCore::propertyMissingOrEqualToNone):
* html/HTMLTableCellElement.cpp:
(WebCore::HTMLTableCellElement::additionalAttributeStyle):
* html/HTMLTableCellElement.h:
(HTMLTableCellElement):
* html/HTMLTableColElement.cpp:
(WebCore::HTMLTableColElement::additionalAttributeStyle):
* html/HTMLTableColElement.h:
(HTMLTableColElement):
* html/HTMLTableElement.cpp:
(WebCore::leakBorderStyle):
(WebCore::HTMLTableElement::additionalAttributeStyle):
(WebCore::HTMLTableElement::createSharedCellStyle):
(WebCore::HTMLTableElement::additionalCellStyle):
(WebCore::leakGroupBorderStyle):
(WebCore::HTMLTableElement::additionalGroupStyle):
* html/HTMLTableElement.h:
(HTMLTableElement):
* html/HTMLTableSectionElement.cpp:
(WebCore::HTMLTableSectionElement::additionalAttributeStyle):
* html/HTMLTableSectionElement.h:
(HTMLTableSectionElement):
* html/ValidationMessage.cpp:
(WebCore::adjustBubblePosition):
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setFont):
* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlPanelElement::setPosition):
(WebCore::MediaControlPanelElement::resetPosition):
(WebCore::MediaControlPanelElement::makeOpaque):
(WebCore::MediaControlPanelElement::makeTransparent):
* html/shadow/SliderThumbElement.cpp:
(WebCore::TrackLimiterElement::create):
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::buildArrayForAttributeStyles):
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyle::setPropertyText):
(WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
* page/DragController.cpp:
(WebCore::DragController::concludeEditDrag):
* page/PageSerializer.cpp:
(WebCore::PageSerializer::retrieveResourcesForCSSDeclaration):
* page/PageSerializer.h:
(WebCore):
(PageSerializer):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::resize):
* rendering/RenderTreeAsText.cpp:
(WebCore::isEmptyOrUnstyledAppleStyleSpan):
* svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::SVGFontFaceElement):

Source/WebKit/mac:

* WebView/WebFrame.mm:
(-[WebFrame _typingStyle]):

Source/WebKit/qt:

* Api/qwebelement.cpp:
(QWebElement::styleProperty):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106681 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoRemove unneccesary canExecuteScripts check from v8 bindings, and correctly indeicate...
jochen@chromium.org [Fri, 3 Feb 2012 19:32:34 +0000 (19:32 +0000)]
Remove unneccesary canExecuteScripts check from v8 bindings, and correctly indeicate when we're about to execute a script
https://bugs.webkit.org/show_bug.cgi?id=76704

Reviewed by Adam Barth.

Source/WebCore:

Test: http/tests/security/isolatedWorld/sandboxed-iframe.html

* bindings/v8/ScheduledAction.cpp:
(WebCore::ScheduledAction::execute):
* bindings/v8/V8EventListener.cpp:
(WebCore::V8EventListener::callListenerFunction):
* bindings/v8/V8LazyEventListener.cpp:
(WebCore::V8LazyEventListener::callListenerFunction):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::handleOutOfMemory):
(WebCore::toV8Context):

LayoutTests:

* http/tests/security/isolatedWorld/resources/fail.html:
* http/tests/security/isolatedWorld/sandboxed-iframe-expected.txt:
* http/tests/security/isolatedWorld/sandboxed-iframe.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106680 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoAdd ScrollingTreeState class
andersca@apple.com [Fri, 3 Feb 2012 19:30:19 +0000 (19:30 +0000)]
Add ScrollingTreeState class
https://bugs.webkit.org/show_bug.cgi?id=77756

Reviewed by Andreas Kling.

Add a new ScrollingTreeState whose intent is to be a data container for the current
scrolling tree state. the ScrollingCoordinator class will update it and periodically
send over the new state to the ScrollingTree object on the scrolling thread.

* WebCore.xcodeproj/project.pbxproj:
* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::ScrollingCoordinator):
* page/scrolling/ScrollingCoordinator.h:
(WebCore):
(ScrollingCoordinator):
* page/scrolling/ScrollingTreeState.cpp: Added.
(WebCore):
(WebCore::ScrollingTreeState::create):
(WebCore::ScrollingTreeState::ScrollingTreeState):
(WebCore::ScrollingTreeState::~ScrollingTreeState):
(WebCore::ScrollingTreeState::setViewportRect):
(WebCore::ScrollingTreeState::setContentsSize):
* page/scrolling/ScrollingTreeState.h: Added.
(WebCore):
(ScrollingTreeState):
(WebCore::ScrollingTreeState::viewportRect):
(WebCore::ScrollingTreeState::contentsSize):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106679 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agohttps://bugs.webkit.org/show_bug.cgi?id=77691
bdakin@apple.com [Fri, 3 Feb 2012 19:29:13 +0000 (19:29 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=77691
Fix PlatformScreen layering violation and PlatformScreenMac's incorrect use
of device scale

Reviewed by Andy Estes.

Source/WebCore:

Make screenAvailableRect() and screenRect() take a Widget again instead of a
FrameView since taking a FrameView is a layering violation.
* WebCore.exp.in:
* platform/PlatformScreen.h:
(WebCore):
* platform/blackberry/PlatformScreenBlackBerry.cpp:
(WebCore::screenAvailableRect):
(WebCore::screenRect):
* platform/chromium/PlatformScreenChromium.cpp:
(WebCore::screenRect):
(WebCore::screenAvailableRect):
* platform/chromium/PlatformSupport.h:
(WebCore):
(PlatformSupport):
* platform/efl/PlatformScreenEfl.cpp:
(WebCore::screenRect):
(WebCore::screenAvailableRect):
* platform/gtk/PlatformScreenGtk.cpp:
(WebCore::screenRect):
(WebCore::screenAvailableRect):
* platform/qt/PlatformScreenQt.cpp:
(WebCore::screenRect):
(WebCore::screenAvailableRect):
* platform/win/PlatformScreenWin.cpp:
(WebCore::screenRect):
(WebCore::screenAvailableRect):
* platform/wx/ScreenWx.cpp:
(WebCore::screenRect):
(WebCore::screenAvailableRect):

It's wrong for the deviceScaleFactor to be taken into consideration here at
all.
* platform/mac/PlatformScreenMac.mm:
(WebCore::screenRect):
(WebCore::screenAvailableRect):
(WebCore::toUserSpace):
(WebCore::toDeviceSpace):

Source/WebKit/chromium:

These two functions now take a Widget again rather than a FrameView.
* src/PlatformSupport.cpp:
(WebCore::PlatformSupport::screenRect):
(WebCore::PlatformSupport::screenAvailableRect):

Source/WebKit/mac:

toUserSpace() and toDeviceSpace() don't need to take device scale. Also
restore a comment that I needlessly removed.
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::setWindowRect):
(WebChromeClient::windowRect):

Source/WebKit2:

toUserSpace() and toDeviceSpace() don't need to take device scale.
* UIProcess/API/mac/WKView.mm:
(-[WKView _convertToDeviceSpace:]):
(-[WKView _convertToUserSpace:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106678 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoBuild fix
mhahnenberg@apple.com [Fri, 3 Feb 2012 19:27:57 +0000 (19:27 +0000)]
Build fix

Unreviewed build fix

Forgot to add a couple files.

* heap/MarkedAllocator.cpp: Added.
(JSC):
(JSC::MarkedAllocator::tryAllocateHelper):
(JSC::MarkedAllocator::tryAllocate):
(JSC::MarkedAllocator::allocateSlowCase):
(JSC::MarkedAllocator::allocateBlock):
(JSC::MarkedAllocator::addBlock):
(JSC::MarkedAllocator::removeBlock):
* heap/MarkedAllocator.h: Added.
(JSC):
(DFG):
(MarkedAllocator):
(JSC::MarkedAllocator::cellSize):
(JSC::MarkedAllocator::heap):
(JSC::MarkedAllocator::setHeap):
(JSC::MarkedAllocator::setCellSize):
(JSC::MarkedAllocator::setMarkedSpace):
(JSC::MarkedAllocator::MarkedAllocator):
(JSC::MarkedAllocator::allocate):
(JSC::MarkedAllocator::reset):
(JSC::MarkedAllocator::zapFreeList):
(JSC::MarkedAllocator::forEachBlock):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106677 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoRefactor MarkedBlock::SizeClass into a separate class
mhahnenberg@apple.com [Fri, 3 Feb 2012 19:21:28 +0000 (19:21 +0000)]
Refactor MarkedBlock::SizeClass into a separate class
https://bugs.webkit.org/show_bug.cgi?id=77600

Reviewed by Geoffrey Garen.

We pulled SizeClass out into its own class, named MarkedAllocator, and gave it
the responsibility of allocating objects from the collection of MarkedBlocks
that it manages. Also limited the amount of coupling to internal data fields
from other places, although it's mostly unavoidable in the JIT code.

Eventually MarkedAllocator will implement various policies to do with object
management, e.g. whether or not to run destructors on objects that it manages.
MarkedSpace will manage a collection of MarkedAllocators with varying policies,
as it does now but to a larger extent.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::emitAllocateJSFinalObject):
* heap/Heap.cpp:
(JSC::Heap::collect):
(JSC::Heap::resetAllocators):
* heap/Heap.h:
(JSC::Heap::allocatorForObject):
(Heap):
* heap/MarkedAllocator.cpp: Added.
(JSC):
(JSC::MarkedAllocator::tryAllocateHelper):
(JSC::MarkedAllocator::tryAllocate):
(JSC::MarkedAllocator::allocateSlowCase):
(JSC::MarkedAllocator::allocateBlock):
(JSC::MarkedAllocator::addBlock):
(JSC::MarkedAllocator::removeBlock):
* heap/MarkedAllocator.h: Added.
(JSC):
(DFG):
(MarkedAllocator):
(JSC::MarkedAllocator::cellSize):
(JSC::MarkedAllocator::heap):
(JSC::MarkedAllocator::setHeap):
(JSC::MarkedAllocator::setCellSize):
(JSC::MarkedAllocator::setMarkedSpace):
(JSC::MarkedAllocator::MarkedAllocator):
(JSC::MarkedAllocator::allocate):
(JSC::MarkedAllocator::reset):
(JSC::MarkedAllocator::zapFreeList):
(JSC::MarkedAllocator::forEachBlock):
* heap/MarkedSpace.cpp:
(JSC::MarkedSpace::MarkedSpace):
(JSC::MarkedSpace::resetAllocators):
(JSC::MarkedSpace::canonicalizeCellLivenessData):
(JSC::TakeIfUnmarked::operator()):
* heap/MarkedSpace.h:
(MarkedSpace):
(JSC::MarkedSpace::allocatorFor):
(JSC::MarkedSpace::allocate):
(JSC::MarkedSpace::forEachBlock):
(JSC::MarkedSpace::didAddBlock):
(JSC::MarkedSpace::didConsumeFreeList):
* jit/JITInlineMethods.h:
(JSC::JIT::emitAllocateBasicJSObject):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106676 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoAdded Radar links
mitz@apple.com [Fri, 3 Feb 2012 18:25:07 +0000 (18:25 +0000)]
Added Radar links

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106674 268f45cc-cd09-0410-ab3c-d52691b4dbfc