WebKit-https.git
8 years agoIf @font-face does not provide an explicit italic/bold variant, regular is used.
bashi@chromium.org [Mon, 13 Feb 2012 00:43:27 +0000 (00:43 +0000)]
If @font-face does not provide an explicit italic/bold variant, regular is used.
https://bugs.webkit.org/show_bug.cgi?id=34147

Reviewed by Dan Bernstein.

Source/WebCore:

Update @font-face handling code so that it matches @font-face behavior to the current draft of CSS3 Font spec. The original patch was written by yusukes@chromium.org.
- Drops support for "bolder", "lighter", and "all" value. These are no longer allowed.
- Only allows one value for font-style and font-weight.

Tests: fast/css/font-face-synthetic-bold-italic.html
       fast/css/font-face-weight-matching.html

* css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::addFontFaceRule): Removed "all", "lighter", "bolder" handling code.
(WebCore::compareFontFaces):Updated the weight matching algortihm.
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue): Replaced parseFontStyle() call with checking primitive values.
(WebCore::CSSParser::parseFontWeight): Changed to allow only primitive values.
(WebCore::CSSParser::createFontFaceRule): Removed checks for font-weight and font-style.
(WebCore::CSSParser::deleteFontFaceOnlyValues): Ditto.
* css/CSSParser.h: Removed parseFontStyle().

LayoutTests:

Added two tests to make sure font matching algorithm matches the current draft of CSS Fonts Module Level 3, and removed a test which uses obsoleted 'all' value for font-weight and font-style.

* fast/css/font-face-descriptor-multiple-values-parsing-expected.txt: Removed.
* fast/css/font-face-descriptor-multiple-values-parsing.html: Removed.
* fast/css/font-face-synthetic-bold-italic.html: Added.
* fast/css/font-face-weight-matching.html: Added.
* platform/chromium/test_expectations.txt: Needs rebaselines.

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

8 years ago[Chromium] Avoid unnecessary memset in per-tile layer updater.
commit-queue@webkit.org [Sun, 12 Feb 2012 23:53:41 +0000 (23:53 +0000)]
[Chromium] Avoid unnecessary memset in per-tile layer updater.
https://bugs.webkit.org/show_bug.cgi?id=78426

Patch by David Reveman <reveman@chromium.org> on 2012-02-12
Reviewed by Stephen White.

Use our own SkBitmap and call SkBitmap::allocPixels() instead of
letting SkDevice construct a SkBitmap. This avoids an unnecessary
memset otherwise done by SkDevice.

No new tests.

* platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
(WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::prepareRect):
(WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::updateRect):
* platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
(Texture):

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

8 years ago[CMake] Move source files in WTF_HEADERS to WTF_SOURCES.
kubo@profusion.mobi [Sun, 12 Feb 2012 23:51:59 +0000 (23:51 +0000)]
[CMake] Move source files in WTF_HEADERS to WTF_SOURCES.
https://bugs.webkit.org/show_bug.cgi?id=78436

Reviewed by Daniel Bates.

* wtf/CMakeLists.txt: Move .cpp files from WTF_HEADERS to WTF_SOURCES,
and correctly sort the files which start with 'M'.

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

8 years agoMove the NumberOfCores.h/cpp files into the WTF group of JavaScriptCore.xcodeproj.
weinig@apple.com [Sun, 12 Feb 2012 23:35:40 +0000 (23:35 +0000)]
Move the NumberOfCores.h/cpp files into the WTF group of JavaScriptCore.xcodeproj.

Rubber-stamped by Anders Carlsson.

* JavaScriptCore.xcodeproj/project.pbxproj:

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

8 years ago[CMake] Remove unused or empty variable definitions.
kubo@profusion.mobi [Sun, 12 Feb 2012 20:50:48 +0000 (20:50 +0000)]
[CMake] Remove unused or empty variable definitions.
https://bugs.webkit.org/show_bug.cgi?id=78437

Reviewed by Daniel Bates.

* CMakeLists.txt: Remove unused JavaScriptCore_HEADERS definition.
* shell/CMakeLists.txt: Remove unused JSC_HEADERS definition.
* wtf/CMakeLists.txt: Remove empty WTF_LIBRARIES definition, it will
be defined later by Platform*.cmake via LIST(APPEND WTF_LIBRARIES).

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

8 years ago[Qt] Unreviewed weekend gardening. Update expected files.
ossy@webkit.org [Sun, 12 Feb 2012 18:39:52 +0000 (18:39 +0000)]
[Qt] Unreviewed weekend gardening. Update expected files.

* platform/qt/fast/dom/Window/window-properties-expected.txt:
* platform/qt/fast/dom/prototype-inheritance-2-expected.txt:

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

8 years agoUnreviewed. Fix GTK+ build after r107454.
carlosgc@webkit.org [Sun, 12 Feb 2012 14:14:12 +0000 (14:14 +0000)]
Unreviewed. Fix GTK+ build after r107454.

* configure.ac: Disable Mutation observers build on GTK+ until it
can actually build.

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

8 years agoAdd toText and isTextNode helpers in Text class.
commit-queue@webkit.org [Sun, 12 Feb 2012 11:27:56 +0000 (11:27 +0000)]
Add toText and isTextNode helpers in Text class.
https://bugs.webkit.org/show_bug.cgi?id=78140

Source/WebCore:

Added a new helper function toText() in dom/Text.h which does the type casting operation to Text object.
Modified the code to make use of this helper function.

Patch by Joe Thomas <joethomas@motorola.com> on 2012-02-12
Reviewed by Adam Barth.

No new tests.

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::accessibleNameForNode):
* bindings/v8/custom/V8NodeCustom.cpp:
(WebCore::toV8Slow):
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOneSelector):
* dom/Attr.cpp:
(WebCore::Attr::childrenChanged):
* dom/Element.cpp:
(WebCore::Element::recalcStyle):
* dom/Node.cpp:
(WebCore::Node::normalize):
* dom/Position.cpp:
(WebCore::Position::containerText):
(WebCore::Position::leadingWhitespacePosition):
* dom/Range.cpp:
(WebCore::Range::insertNode):
(WebCore::Range::getBorderAndTextQuads):
* dom/ScriptElement.cpp:
(WebCore::ScriptElement::scriptContent):
* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::recalcShadowTreeStyle):
* dom/Text.h: Added new helper function toText.
(WebCore::toText): new helper function which does the type casting operation to Text object.
(WebCore):
* editing/ApplyBlockElementCommand.cpp:
(WebCore::isNewLineAtPosition):
(WebCore::ApplyBlockElementCommand::endOfNextParagrahSplittingTextNodesIfNeeded):
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::splitTextAtEnd):
(WebCore::ApplyStyleCommand::splitTextElementAtEnd):
(WebCore::ApplyStyleCommand::joinChildTextNodes):
* editing/BreakBlockquoteCommand.cpp:
(WebCore::BreakBlockquoteCommand::doApply):
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::insertNodeAt):
(WebCore::CompositeEditCommand::positionOutsideTabSpan):
(WebCore::CompositeEditCommand::canRebalance):
(WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
(WebCore::CompositeEditCommand::prepareWhitespaceAtPositionForSplit):
(WebCore::CompositeEditCommand::deleteInsignificantText):
(WebCore::CompositeEditCommand::removePlaceholderAt):
(WebCore::CompositeEditCommand::cleanupAfterDeletion):
(WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::handleGeneralDelete):
(WebCore::DeleteSelectionCommand::fixupWhitespace):
* editing/Editor.cpp:
(WebCore::Editor::setComposition):
* editing/InsertLineBreakCommand.cpp:
(WebCore::InsertLineBreakCommand::doApply):
* editing/InsertParagraphSeparatorCommand.cpp:
(WebCore::InsertParagraphSeparatorCommand::doApply):
* editing/InsertTextCommand.cpp:
(WebCore::InsertTextCommand::insertTab):
* editing/MarkupAccumulator.cpp:
(WebCore::MarkupAccumulator::appendStartMarkup):
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):
(WebCore::ReplaceSelectionCommand::addSpacesForSmartReplace):
(WebCore::ReplaceSelectionCommand::insertAsListItems):
(WebCore::ReplaceSelectionCommand::performTrivialReplace):
* editing/htmlediting.cpp:
(WebCore::lineBreakExistsAtPosition):
* editing/visible_units.cpp:
(WebCore::startPositionForLine):
(WebCore::endPositionForLine):
(WebCore::startOfParagraph):
(WebCore::endOfParagraph):
* html/HTMLElement.cpp:
(WebCore::replaceChildrenWithFragment):
(WebCore::replaceChildrenWithText):
(WebCore::mergeWithNextTextNode):
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::hasFallbackContent):
(WebCore::HTMLObjectElement::updateDocNamedItem):
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::setText):
* html/HTMLScriptElement.cpp:
(WebCore::HTMLScriptElement::setText):
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::defaultValue):
* html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::innerTextValue):
(WebCore::HTMLTextFormControlElement::valueWithHardLineBreaks):
* html/HTMLTitleElement.cpp:
(WebCore::HTMLTitleElement::text):
(WebCore::HTMLTitleElement::setText):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::setNodeValue):
* rendering/RenderText.cpp:
(WebCore::RenderText::originalText):
* rendering/RenderTextFragment.cpp:
(WebCore::RenderTextFragment::originalText):
(WebCore::RenderTextFragment::previousCharacter):

Tools:

Added a style checker to use toText rather than static_cast<Text*>.

Patch by Joe Thomas <joethomas@motorola.com> on 2012-02-12
Reviewed by Adam Barth.

* Scripts/webkitpy/style/checkers/cpp.py:
(check_language): Style checker for static_cast<Text*>.

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

8 years agoRemove [CPPCustom] from CodeGeneratorCPP.pm
haraken@chromium.org [Sun, 12 Feb 2012 11:16:23 +0000 (11:16 +0000)]
Remove [CPPCustom] from CodeGeneratorCPP.pm
https://bugs.webkit.org/show_bug.cgi?id=78342

Reviewed by Adam Barth.

This patch removes [CPPCustom].

[CPPCustom] has been used in DOMWindow.location only to indicate that
DOMWindow.location should be ignored in CPP. However, there are many
other attributes and methods that CPP does not support (e.g. [CallWith=...],
[CustomSetter], etc), and they are not yet marked with [CPPCustom].
CPP just generates "meaningless" code for those unsupported attributes
and methods. Ideally we can mark all unsupported attributes and methods
with [CPPCustom], but it would not be so practical. Otherwise, removing
[CPPCustom] would make sense. The side effect of removing [CPPCustom]
is just that CPP will generate "meaningless" code for DOMWindow.location.

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorCPP.pm:
(ShouldSkipType):
* page/DOMWindow.idl:

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

8 years agoUnreviewed, rebaseline after r107483 and r107498.
philn@webkit.org [Sun, 12 Feb 2012 10:53:24 +0000 (10:53 +0000)]
Unreviewed, rebaseline after r107483 and r107498.

* fast/dom/wrapper-classes-expected.txt:
* platform/gtk/fast/dom/Window/window-properties-expected.txt:
* platform/gtk/fast/dom/prototype-inheritance-2-expected.txt:

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

8 years agoRename [JSCustomPrototypeDefineOwnProperty] to [JSCustomDefineOwnPropertyOnPrototype]
haraken@chromium.org [Sun, 12 Feb 2012 10:41:24 +0000 (10:41 +0000)]
Rename [JSCustomPrototypeDefineOwnProperty] to [JSCustomDefineOwnPropertyOnPrototype]
https://bugs.webkit.org/show_bug.cgi?id=78354

Reviewed by Adam Barth.

This patch renames [JSCustomPrototypeDefineOwnProperty] to
[JSCustomDefineOwnPropertyOnPrototype], for naming consistency with
[JSCustomDefineOwnProperty] and [JSCustomNamedGetterOnPrototype].

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
* page/Location.idl:

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

8 years agoUnreviewed, skip mutation tests on GTK again after r107504.
philn@webkit.org [Sun, 12 Feb 2012 10:23:27 +0000 (10:23 +0000)]
Unreviewed, skip mutation tests on GTK again after r107504.

* platform/gtk/Skipped:

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

8 years agoUnreviewed, disable Mutation observers build on GTK until it can
philn@webkit.org [Sun, 12 Feb 2012 10:13:16 +0000 (10:13 +0000)]
Unreviewed, disable Mutation observers build on GTK until it can
actually build.

* Scripts/build-webkit:

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

8 years agoDFG::SpeculativeJIT calls fprintf() instead of dataLog in terminateSpeculativeExecution()
fpizlo@apple.com [Sun, 12 Feb 2012 07:59:50 +0000 (07:59 +0000)]
DFG::SpeculativeJIT calls fprintf() instead of dataLog in terminateSpeculativeExecution()
https://bugs.webkit.org/show_bug.cgi?id=78431

Reviewed by Gavin Barraclough.

* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::terminateSpeculativeExecution):

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

8 years agoAdd back WTFURL to WebKit
benjamin@webkit.org [Sun, 12 Feb 2012 06:32:25 +0000 (06:32 +0000)]
Add back WTFURL to WebKit
https://bugs.webkit.org/show_bug.cgi?id=77291

Reviewed by Adam Barth.

Source/JavaScriptCore:

WTFURL was removed from WebKit in r86787.

This patch adds the code back to WTF with the following changes:
-Guard the feature with USE(WTFURL).
-Change the typename CHAR to CharacterType to follow recent WebKit conventions.
-Fix some coding style to make check-webkit-style happy.

* JavaScriptCore.xcodeproj/project.pbxproj:
* wtf/Platform.h:
* wtf/url/api/ParsedURL.cpp: Added.
(WTF):
(WTF::ParsedURL::ParsedURL):
(WTF::ParsedURL::scheme):
(WTF::ParsedURL::username):
(WTF::ParsedURL::password):
(WTF::ParsedURL::host):
(WTF::ParsedURL::port):
(WTF::ParsedURL::path):
(WTF::ParsedURL::query):
(WTF::ParsedURL::fragment):
(WTF::ParsedURL::segment):
* wtf/url/api/ParsedURL.h: Added.
(WTF):
(ParsedURL):
(WTF::ParsedURL::spec):
* wtf/url/api/URLString.h: Added.
(WTF):
(URLString):
(WTF::URLString::URLString):
(WTF::URLString::string):
* wtf/url/src/RawURLBuffer.h: Added.
(WTF):
(RawURLBuffer):
(WTF::RawURLBuffer::RawURLBuffer):
(WTF::RawURLBuffer::~RawURLBuffer):
(WTF::RawURLBuffer::resize):
* wtf/url/src/URLBuffer.h: Added.
(WTF):
(URLBuffer):
(WTF::URLBuffer::URLBuffer):
(WTF::URLBuffer::~URLBuffer):
(WTF::URLBuffer::at):
(WTF::URLBuffer::set):
(WTF::URLBuffer::capacity):
(WTF::URLBuffer::length):
(WTF::URLBuffer::data):
(WTF::URLBuffer::setLength):
(WTF::URLBuffer::append):
(WTF::URLBuffer::grow):
* wtf/url/src/URLCharacterTypes.cpp: Added.
(WTF):
():
* wtf/url/src/URLCharacterTypes.h: Added.
(WTF):
(URLCharacterTypes):
(WTF::URLCharacterTypes::isQueryChar):
(WTF::URLCharacterTypes::isIPv4Char):
(WTF::URLCharacterTypes::isHexChar):
():
(WTF::URLCharacterTypes::isCharOfType):
* wtf/url/src/URLComponent.h: Added.
(WTF):
(URLComponent):
(WTF::URLComponent::URLComponent):
(WTF::URLComponent::fromRange):
(WTF::URLComponent::isValid):
(WTF::URLComponent::isNonEmpty):
(WTF::URLComponent::isEmptyOrInvalid):
(WTF::URLComponent::reset):
(WTF::URLComponent::operator==):
(WTF::URLComponent::begin):
(WTF::URLComponent::setBegin):
(WTF::URLComponent::length):
(WTF::URLComponent::setLength):
(WTF::URLComponent::end):
* wtf/url/src/URLEscape.cpp: Added.
(WTF):
():
* wtf/url/src/URLEscape.h: Added.
(WTF):
(WTF::appendURLEscapedCharacter):
* wtf/url/src/URLParser.h: Added.
(WTF):
(URLParser):
():
(WTF::URLParser::isPossibleAuthorityTerminator):
(WTF::URLParser::parseAuthority):
(WTF::URLParser::extractScheme):
(WTF::URLParser::parseAfterScheme):
(WTF::URLParser::parseStandardURL):
(WTF::URLParser::parsePath):
(WTF::URLParser::parsePathURL):
(WTF::URLParser::parseMailtoURL):
(WTF::URLParser::parsePort):
(WTF::URLParser::extractFileName):
(WTF::URLParser::extractQueryKeyValue):
(WTF::URLParser::isURLSlash):
(WTF::URLParser::shouldTrimFromURL):
(WTF::URLParser::trimURL):
(WTF::URLParser::consecutiveSlashes):
(WTF::URLParser::isPortDigit):
(WTF::URLParser::nextAuthorityTerminator):
(WTF::URLParser::parseUserInfo):
(WTF::URLParser::parseServerInfo):
* wtf/url/src/URLQueryCanonicalizer.h: Added.
(WTF):
(URLQueryCanonicalizer):
(WTF::URLQueryCanonicalizer::canonicalize):
(WTF::URLQueryCanonicalizer::isAllASCII):
(WTF::URLQueryCanonicalizer::isRaw8Bit):
(WTF::URLQueryCanonicalizer::appendRaw8BitQueryString):
(WTF::URLQueryCanonicalizer::convertToQueryEncoding):
* wtf/url/src/URLSegments.cpp: Added.
(WTF):
(WTF::URLSegments::length):
(WTF::URLSegments::charactersBefore):
* wtf/url/src/URLSegments.h: Added.
(WTF):
(URLSegments):
():
(WTF::URLSegments::URLSegments):

Tools:

Add a flag to build-webkit to easily build WebKit with WTFURL.

* Scripts/build-webkit:

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

8 years agoOld JIT put_by_id profiling counts every put_by_id_transition as taking slow path
fpizlo@apple.com [Sun, 12 Feb 2012 03:54:41 +0000 (03:54 +0000)]
Old JIT put_by_id profiling counts every put_by_id_transition as taking slow path
https://bugs.webkit.org/show_bug.cgi?id=78430
<rdar://problem/10849469> <rdar://problem/10849684>

Reviewed by Gavin Barraclough.

The old JIT's put_by_id transition caching involves repatching the slow call to
a generated stub. That means that the call is counted as "slow case". So, this
patch inserts code to decrement the slow case count if the stub succeeds.

Looks like a ~1% speed-up on V8.

* jit/JITPropertyAccess.cpp:
(JSC::JIT::privateCompilePutByIdTransition):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::privateCompilePutByIdTransition):

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

8 years agoBuild fix for Qt.
fpizlo@apple.com [Sun, 12 Feb 2012 03:38:08 +0000 (03:38 +0000)]
Build fix for Qt.

* wtf/DataLog.h:

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

8 years agoIt should be possible to send all JSC debug logging to a file
fpizlo@apple.com [Sun, 12 Feb 2012 03:21:32 +0000 (03:21 +0000)]
It should be possible to send all JSC debug logging to a file
https://bugs.webkit.org/show_bug.cgi?id=78418

Reviewed by Sam Weinig.

Introduced wtf/DataLog, which defines WTF::dataFile, WTF::dataLog,
and WTF::dataLogV. Changed all debugging- and profiling-related printfs
to use WTF::dataLog() or one of its friends. By default, debug logging
goes to stderr, unless you change the setting in wtf/DataLog.cpp.

Source/JavaScriptCore:

* GNUmakefile.list.am:
* JavaScriptCore.gypi:
* JavaScriptCore.vcproj/WTF/WTF.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* assembler/LinkBuffer.h:
(JSC::LinkBuffer::dumpLinkStatistics):
(JSC::LinkBuffer::dumpCode):
* assembler/SH4Assembler.h:
(JSC::SH4Assembler::vprintfStdoutInstr):
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::printUnaryOp):
(JSC::CodeBlock::printBinaryOp):
(JSC::CodeBlock::printConditionalJump):
(JSC::CodeBlock::printGetByIdOp):
(JSC::CodeBlock::printCallOp):
(JSC::CodeBlock::printPutByIdOp):
(JSC::printGlobalResolveInfo):
(JSC::printStructureStubInfo):
(JSC::CodeBlock::printStructure):
(JSC::CodeBlock::printStructures):
(JSC::CodeBlock::dump):
(JSC::CodeBlock::dumpStatistics):
(JSC::CodeBlock::finalizeUnconditionally):
(JSC::CodeBlock::shouldOptimizeNow):
(JSC::CodeBlock::tallyFrequentExitSites):
(JSC::CodeBlock::dumpValueProfiles):
* bytecode/Opcode.cpp:
(JSC::OpcodeStats::~OpcodeStats):
* bytecode/SamplingTool.cpp:
(JSC::SamplingFlags::stop):
(JSC::SamplingRegion::dumpInternal):
(JSC::SamplingTool::dump):
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::endBasicBlock):
(JSC::DFG::AbstractState::mergeStateAtTail):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::getPredictionWithoutOSRExit):
(JSC::DFG::ByteCodeParser::makeSafe):
(JSC::DFG::ByteCodeParser::makeDivSafe):
(JSC::DFG::ByteCodeParser::handleCall):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::processPhiStack):
(JSC::DFG::ByteCodeParser::linkBlock):
(JSC::DFG::ByteCodeParser::parseCodeBlock):
(JSC::DFG::ByteCodeParser::parse):
* dfg/DFGCommon.h:
* dfg/DFGDriver.cpp:
(JSC::DFG::compile):
* dfg/DFGGraph.cpp:
(JSC::DFG::printWhiteSpace):
(JSC::DFG::Graph::dumpCodeOrigin):
(JSC::DFG::Graph::dump):
(JSC::DFG::Graph::predictArgumentTypes):
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::link):
* dfg/DFGOSREntry.cpp:
(JSC::DFG::prepareOSREntry):
* dfg/DFGOSRExitCompiler.cpp:
* dfg/DFGOSRExitCompiler32_64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGOSRExitCompiler64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGOperations.cpp:
* dfg/DFGPropagator.cpp:
(JSC::DFG::Propagator::fixpoint):
(JSC::DFG::Propagator::propagateArithNodeFlags):
(JSC::DFG::Propagator::propagateArithNodeFlagsForward):
(JSC::DFG::Propagator::propagateArithNodeFlagsBackward):
(JSC::DFG::Propagator::propagateNodePredictions):
(JSC::DFG::Propagator::propagatePredictionsForward):
(JSC::DFG::Propagator::propagatePredictionsBackward):
(JSC::DFG::Propagator::doRoundOfDoubleVoting):
(JSC::DFG::Propagator::fixupNode):
(JSC::DFG::Propagator::fixup):
(JSC::DFG::Propagator::startIndexForChildren):
(JSC::DFG::Propagator::endIndexForPureCSE):
(JSC::DFG::Propagator::setReplacement):
(JSC::DFG::Propagator::eliminate):
(JSC::DFG::Propagator::performNodeCSE):
(JSC::DFG::Propagator::localCSE):
(JSC::DFG::Propagator::allocateVirtualRegisters):
(JSC::DFG::Propagator::performBlockCFA):
(JSC::DFG::Propagator::performForwardCFA):
* dfg/DFGRegisterBank.h:
(JSC::DFG::RegisterBank::dump):
* dfg/DFGScoreBoard.h:
(JSC::DFG::ScoreBoard::dump):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::dump):
(JSC::DFG::SpeculativeJIT::checkConsistency):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal):
(JSC::DFG::SpeculativeJIT::fillSpeculateDouble):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal):
(JSC::DFG::SpeculativeJIT::fillSpeculateDouble):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):
* heap/Heap.cpp:
(JSC::Heap::destroy):
* heap/MarkedBlock.h:
* interpreter/CallFrame.cpp:
(JSC::CallFrame::dumpCaller):
* interpreter/Interpreter.cpp:
(JSC::Interpreter::dumpRegisters):
* jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):
(JSC::JIT::privateCompile):
* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):
* profiler/Profile.cpp:
(JSC::Profile::debugPrintData):
(JSC::Profile::debugPrintDataSampleStyle):
* profiler/ProfileNode.cpp:
(JSC::ProfileNode::debugPrintData):
(JSC::ProfileNode::debugPrintDataSampleStyle):
* runtime/JSGlobalData.cpp:
(JSC::JSGlobalData::dumpRegExpTrace):
* runtime/RegExp.cpp:
(JSC::RegExp::matchCompareWithInterpreter):
* runtime/SamplingCounter.cpp:
(JSC::AbstractSamplingCounter::dump):
* runtime/SamplingCounter.h:
(JSC::DeletableSamplingCounter::~DeletableSamplingCounter):
* runtime/ScopeChain.cpp:
(JSC::ScopeChainNode::print):
* runtime/Structure.cpp:
(JSC::Structure::dumpStatistics):
(JSC::PropertyMapStatisticsExitLogger::~PropertyMapStatisticsExitLogger):
* tools/CodeProfile.cpp:
(JSC::CodeProfile::report):
* tools/ProfileTreeNode.h:
(JSC::ProfileTreeNode::dumpInternal):
* wtf/CMakeLists.txt:
* wtf/DataLog.cpp: Added.
(WTF):
(WTF::initializeLogFileOnce):
(WTF::initializeLogFile):
(WTF::dataFile):
(WTF::dataLogV):
(WTF::dataLog):
* wtf/DataLog.h: Added.
(WTF):
* wtf/HashTable.cpp:
(WTF::HashTableStats::~HashTableStats):
* wtf/MetaAllocator.cpp:
(WTF::MetaAllocator::dumpProfile):
* wtf/text/WTFString.cpp:
(String::show):
* yarr/YarrInterpreter.cpp:
(JSC::Yarr::ByteCompiler::dumpDisjunction):

Source/WebCore:

No new tests because behavior is unchanged.

* ForwardingHeaders/wtf/DataLog.h: Added.

Source/WTF:

* WTF.pro:

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

8 years agoMove special __proto__ property to Object.prototype
barraclough@apple.com [Sun, 12 Feb 2012 02:47:50 +0000 (02:47 +0000)]
Move special __proto__ property to Object.prototype
https://bugs.webkit.org/show_bug.cgi?id=78409

Reviewed by Oliver Hunt.

Re-implement this as a regular accessor property.  This has three key benefits:
1) It makes it possible for objects to be given properties named __proto__.
2) Object.prototype.__proto__ can be deleted, preventing object prototypes from being changed.
3) This largely removes the magic used the implement __proto__, it can just be made a regular accessor property.

Source/JavaScriptCore:

* parser/Parser.cpp:
(JSC::::parseFunctionInfo):
    - No need to prohibit functions named __proto__.
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::reset):
    - Add __proto__ accessor to Object.prototype.
* runtime/JSGlobalObjectFunctions.cpp:
(JSC::globalFuncProtoGetter):
(JSC::globalFuncProtoSetter):
    - Definition of the __proto__ accessor functions.
* runtime/JSGlobalObjectFunctions.h:
    - Declaration of the __proto__ accessor functions.
* runtime/JSObject.cpp:
(JSC::JSObject::put):
    - Remove the special handling for __proto__, there is still a check to allow for a fast guard for accessors excluding __proto__.
(JSC::JSObject::putDirectAccessor):
    - Track on the structure whether an object contains accessors other than one for __proto__.
(JSC::JSObject::defineOwnProperty):
    - No need to prohibit definition of own properties named __proto__.
* runtime/JSObject.h:
(JSC::JSObject::inlineGetOwnPropertySlot):
    - Remove the special handling for __proto__.
(JSC::JSValue::get):
    - Remove the special handling for __proto__.
* runtime/JSString.cpp:
(JSC::JSString::getOwnPropertySlot):
    - Remove the special handling for __proto__.
* runtime/JSValue.h:
(JSValue):
    - Made synthesizePrototype public (this may be needed by the __proto__ getter).
* runtime/ObjectConstructor.cpp:
(JSC::objectConstructorGetPrototypeOf):
    - Perform the security check & call prototype() directly.
* runtime/Structure.cpp:
(JSC::Structure::Structure):
    - Added 'ExcludingProto' variant of the 'hasGetterSetterProperties' state.
* runtime/Structure.h:
(JSC::Structure::hasGetterSetterPropertiesExcludingProto):
(JSC::Structure::setHasGetterSetterProperties):
(Structure):
    - Added 'ExcludingProto' variant of the 'hasGetterSetterProperties' state.

Source/WebCore:

* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::allowsAccessFrom):
(WebCore):
    - expose allowsAccessFrom check to JSC.
* bindings/js/JSDOMWindowBase.h:
(JSDOMWindowBase):
    - expose allowsAccessFrom check to JSC.

LayoutTests:

* fast/js/Object-getOwnPropertyNames-expected.txt:
* fast/js/cyclic-prototypes-expected.txt:
* fast/js/parser-syntax-check-expected.txt:
* fast/js/preventExtensions-expected.txt:
* fast/js/prototypes-expected.txt:
    - Update results
* fast/js/script-tests/Object-getOwnPropertyNames.js:
    - __proto__ is now a property of Object Prototype.
* fast/js/script-tests/cyclic-prototypes.js:
    - setting an object's prototype to null removes __proto__ setter, future usage won't set prototype.
* fast/js/script-tests/parser-syntax-check.js:
    - Allow functions named __proto__
* fast/js/script-tests/preventExtensions.js:
    - Setting __proto__ should not throw.
* fast/js/script-tests/prototypes.js:
    - Objects may contained own properties named __proto__, add new test cases.

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

8 years agoGet rid of WebCore::URLString
benjamin@webkit.org [Sun, 12 Feb 2012 02:33:54 +0000 (02:33 +0000)]
Get rid of WebCore::URLString
https://bugs.webkit.org/show_bug.cgi?id=78429

Reviewed by Adam Barth.

URLString is unused, remove the class.

* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* platform/KURL.cpp:
* platform/KURL.h:
(KURL):
* platform/URLString.h: Removed.

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

8 years agoDFG CFA assumes that a WeakJSConstant's structure is known
fpizlo@apple.com [Sun, 12 Feb 2012 02:26:06 +0000 (02:26 +0000)]
DFG CFA assumes that a WeakJSConstant's structure is known
https://bugs.webkit.org/show_bug.cgi?id=78428
<rdar://problem/10849492> <rdar://problem/10849621>

Source/JavaScriptCore:

Reviewed by Gavin Barraclough.

* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):

LayoutTests:

Rubber stamped by Gavin Barraclough.

* fast/js/dfg-put-by-id-prototype-check-expected.txt: Added.
* fast/js/dfg-put-by-id-prototype-check.html: Added.
* fast/js/script-tests/dfg-put-by-id-prototype-check.js: Added.
(foo):
(Foo):

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

8 years agoQt debug build fix
mhahnenberg@apple.com [Sun, 12 Feb 2012 01:27:01 +0000 (01:27 +0000)]
Qt debug build fix

* heap/MarkedBlock.cpp:
(JSC::MarkedBlock::callDestructor): Platforms that don't use clang will allocate
JSFinalObjects in the destuctor subspace, so we should remove this assert so it
doesn't cause crashes.

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

8 years agoOld 32_64 JIT should assert that its use of map() is consistent with the DFG
fpizlo@apple.com [Sun, 12 Feb 2012 01:24:49 +0000 (01:24 +0000)]
Old 32_64 JIT should assert that its use of map() is consistent with the DFG
OSR exit's expectations
https://bugs.webkit.org/show_bug.cgi?id=78419
<rdar://problem/10817121>

Reviewed by Oliver Hunt.

* jit/JITInlineMethods.h:
(JSC::JIT::map):

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

8 years agoReduce the reentrancy limit of the interpreter for the iOS simulator
mhahnenberg@apple.com [Sun, 12 Feb 2012 01:18:05 +0000 (01:18 +0000)]
Reduce the reentrancy limit of the interpreter for the iOS simulator
https://bugs.webkit.org/show_bug.cgi?id=78400

Reviewed by Gavin Barraclough.

* interpreter/Interpreter.h: Lowered the maximum reentrancy limit for large thread stacks.
(JSC):

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

8 years ago[DFG] Misuse of WeakJSConstants in silentFillGPR code.
fpizlo@apple.com [Sun, 12 Feb 2012 00:08:44 +0000 (00:08 +0000)]
[DFG] Misuse of WeakJSConstants in silentFillGPR code.
https://bugs.webkit.org/show_bug.cgi?id=78423
<rdar://problem/10849353> <rdar://problem/10804043>

Source/JavaScriptCore:

Reviewed by Sam Weinig.

The code was using Node::isConstant(), when it was supposed to use Node::hasConstant().
This patch is a surgical fix; the bigger problem is: why do we have isConstant() and
hasConstant() when hasConstant() is correct and isConstant() is almost always wrong?

* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::silentFillGPR):

LayoutTests:

Rubber stamped by Sam Weinig.

* fast/js/dfg-weak-js-constant-silent-fill.html: Added.
* fast/js/dfg-weak-js-constant-silent-fill-expected.txt: Added.
* fast/js/script-tests/dfg-weak-js-constant-silent-fill.js: Added.

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

8 years agoFix the windows build.
weinig@apple.com [Sat, 11 Feb 2012 23:58:18 +0000 (23:58 +0000)]
Fix the windows build.

Since Windows uses an all-in-one file to compile, the isRespectedPresentationAttribute()
functions all need unique names.

* html/HTMLBodyElement.cpp:
* html/HTMLHRElement.cpp:
* html/HTMLIFrameElement.cpp:
* html/HTMLImageElement.cpp:
* html/HTMLInputElement.cpp:
* html/HTMLMarqueeElement.cpp:
* html/HTMLPlugInElement.cpp:
* html/HTMLTableCellElement.cpp:
* html/HTMLTablePartElement.cpp:
* mathml/MathMLElement.cpp:

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

8 years agoOverlay scrollbars don't appear when scrolling on the scrolling thread
andersca@apple.com [Sat, 11 Feb 2012 23:36:34 +0000 (23:36 +0000)]
Overlay scrollbars don't appear when scrolling on the scrolling thread
https://bugs.webkit.org/show_bug.cgi?id=78427

Reviewed by Sam Weinig.

Add a ScrollAnimator::notifyContentAreaScrolled and call it from ScrollAnimator::notifyContentAreaScrolled.
It is then overridden in ScrollAnimatorMac to tickle AppKit so that overlay scrollbars will be shown.

* platform/ScrollAnimator.h:
(WebCore::ScrollAnimator::notifyContentAreaScrolled):
(ScrollAnimator):
* platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::notifyScrollPositionChanged):
* platform/mac/ScrollAnimatorMac.h:
(ScrollAnimatorMac):
* platform/mac/ScrollAnimatorMac.mm:
(WebCore::ScrollAnimatorMac::notifyPositionChanged):
(WebCore::ScrollAnimatorMac::notifyContentAreaScrolled):
(WebCore):

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

8 years agoPrepare JavaScriptCore to build with libc++
weinig@apple.com [Sat, 11 Feb 2012 23:10:24 +0000 (23:10 +0000)]
Prepare JavaScriptCore to build with libc++
<rdar://problem/10426673>
https://bugs.webkit.org/show_bug.cgi?id=78424

Reviewed by Anders Carlsson.

* wtf/NullPtr.cpp:
* wtf/NullPtr.h:
libc++ provides std::nullptr emulation, so we don't have to.

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

8 years agoImplement more ScrollElasticityControllerClient member functions
andersca@apple.com [Sat, 11 Feb 2012 23:02:59 +0000 (23:02 +0000)]
Implement more ScrollElasticityControllerClient member functions
https://bugs.webkit.org/show_bug.cgi?id=78425
<rdar://problem/10710727>

Reviewed by Sam Weinig.

* page/scrolling/ScrollingTreeNode.h:
(ScrollingTreeNode):
(WebCore::ScrollingTreeNode::horizontalScrollElasticity):
(WebCore::ScrollingTreeNode::verticalScrollElasticity):
(WebCore::ScrollingTreeNode::hasEnabledHorizontalScrollbar):
(WebCore::ScrollingTreeNode::hasEnabledVerticalScrollbar):
Add new getters.

* page/scrolling/mac/ScrollingTreeNodeMac.h:
* page/scrolling/mac/ScrollingTreeNodeMac.mm:
(WebCore::ScrollingTreeNodeMac::allowsHorizontalStretching):
(WebCore::ScrollingTreeNodeMac::allowsVerticalStretching):
(WebCore::ScrollingTreeNodeMac::stretchAmount):
(WebCore::ScrollingTreeNodeMac::pinnedInDirection):
(WebCore::ScrollingTreeNodeMac::canScrollHorizontally):
(WebCore::ScrollingTreeNodeMac::canScrollVertically):
(WebCore::ScrollingTreeNodeMac::absoluteScrollPosition):
(WebCore::ScrollingTreeNodeMac::immediateScrollByWithoutContentEdgeConstraints):
(WebCore::ScrollingTreeNodeMac::startSnapRubberbandTimer):
(WebCore::ScrollingTreeNodeMac::stopSnapRubberbandTimer):
(WebCore::ScrollingTreeNodeMac::scrollByWithoutContentEdgeConstraints):
Implement ScrollElasticityControllerClient member functions.

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

8 years agoAdd size assert for Length
antti@apple.com [Sat, 11 Feb 2012 21:44:47 +0000 (21:44 +0000)]
Add size assert for Length
https://bugs.webkit.org/show_bug.cgi?id=78420

Rubber-stamped by Andreas Kling.

Length type is memory critical and must not grow.

* platform/Length.cpp:
(SameSizeAsLength):
(WebCore):

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

8 years agoPass wheel events to a scroll elasticity controller on the scrolling thread
andersca@apple.com [Sat, 11 Feb 2012 21:37:44 +0000 (21:37 +0000)]
Pass wheel events to a scroll elasticity controller on the scrolling thread
https://bugs.webkit.org/show_bug.cgi?id=78421

Reviewed by Sam Weinig.

Add a ScrollElasticityController to ScrollingTreeNodeMac and pass wheel events to it.
Fix ScrollingTreeNodeMac::scrollBy to clamp by the minimum and maximum scroll positions.

* page/scrolling/mac/ScrollingTreeNodeMac.h:
(ScrollingTreeNodeMac):
* page/scrolling/mac/ScrollingTreeNodeMac.mm:
(WebCore::ScrollingTreeNodeMac::ScrollingTreeNodeMac):
(WebCore::ScrollingTreeNodeMac::handleWheelEvent):
(WebCore::ScrollingTreeNodeMac::immediateScrollBy):
(WebCore::ScrollingTreeNodeMac::setScrollLayerPosition):
(WebCore::ScrollingTreeNodeMac::minimumScrollPosition):
(WebCore):
(WebCore::ScrollingTreeNodeMac::maximumScrollPosition):
(WebCore::ScrollingTreeNodeMac::scrollBy):

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

8 years agoDFG should have polymorphic put_by_id caching
fpizlo@apple.com [Sat, 11 Feb 2012 21:07:25 +0000 (21:07 +0000)]
DFG should have polymorphic put_by_id caching
https://bugs.webkit.org/show_bug.cgi?id=78062
<rdar://problem/10326439> <rdar://problem/10824839>

Reviewed by Oliver Hunt.

Implemented polymorphic put_by_id caching in the DFG, and added much of the
machinery that would be needed to implement it in the old JIT as well.

I decided against using the old PolymorphicAccessStructureList mechanism as
this didn't quite fit with put_by_id. In particular, I wanted the ability to
have one list that captured all relevant cases (including proto put_by_id
if we ever decided to do it). And I wanted the code to have better
encapsulation. And I didn't want to get confused by the fact that the
original (non-list) put_by_id cache may itself consist of a stub routine.

This code is still sub-optimal (for example adding a replace to a list whose
previous elements are all transitions should just repatch the original code,
but here it will generate a stub) but it already generates a >20% speed-up
on V8-splay, leading to a 2% win overall in splay. Neutral elsewhere.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* bytecode/PolymorphicPutByIdList.cpp: Added.
(JSC):
(JSC::PutByIdAccess::fromStructureStubInfo):
(JSC::PutByIdAccess::visitWeak):
(JSC::PolymorphicPutByIdList::PolymorphicPutByIdList):
(JSC::PolymorphicPutByIdList::from):
(JSC::PolymorphicPutByIdList::~PolymorphicPutByIdList):
(JSC::PolymorphicPutByIdList::isFull):
(JSC::PolymorphicPutByIdList::isAlmostFull):
(JSC::PolymorphicPutByIdList::addAccess):
(JSC::PolymorphicPutByIdList::visitWeak):
* bytecode/PolymorphicPutByIdList.h: Added.
(JSC):
(PutByIdAccess):
(JSC::PutByIdAccess::PutByIdAccess):
(JSC::PutByIdAccess::transition):
(JSC::PutByIdAccess::replace):
(JSC::PutByIdAccess::isSet):
(JSC::PutByIdAccess::operator!):
(JSC::PutByIdAccess::type):
(JSC::PutByIdAccess::isTransition):
(JSC::PutByIdAccess::isReplace):
(JSC::PutByIdAccess::oldStructure):
(JSC::PutByIdAccess::structure):
(JSC::PutByIdAccess::newStructure):
(JSC::PutByIdAccess::chain):
(JSC::PutByIdAccess::stubRoutine):
(PolymorphicPutByIdList):
(JSC::PolymorphicPutByIdList::currentSlowPathTarget):
(JSC::PolymorphicPutByIdList::isEmpty):
(JSC::PolymorphicPutByIdList::size):
(JSC::PolymorphicPutByIdList::at):
(JSC::PolymorphicPutByIdList::operator[]):
(JSC::PolymorphicPutByIdList::kind):
* bytecode/PutKind.h: Added.
(JSC):
* bytecode/StructureStubInfo.cpp:
(JSC::StructureStubInfo::deref):
(JSC::StructureStubInfo::visitWeakReferences):
* bytecode/StructureStubInfo.h:
(JSC):
(JSC::isPutByIdAccess):
(JSC::StructureStubInfo::initPutByIdList):
(StructureStubInfo):
(JSC::StructureStubInfo::reset):
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
(DFG):
* dfg/DFGRepatch.cpp:
(JSC::DFG::appropriateGenericPutByIdFunction):
(JSC::DFG::appropriateListBuildingPutByIdFunction):
(DFG):
(JSC::DFG::emitPutReplaceStub):
(JSC::DFG::emitPutTransitionStub):
(JSC::DFG::tryCachePutByID):
(JSC::DFG::dfgRepatchPutByID):
(JSC::DFG::tryBuildPutByIdList):
(JSC::DFG::dfgBuildPutByIdList):
(JSC::DFG::dfgResetPutByID):
* dfg/DFGRepatch.h:
(DFG):
* runtime/WriteBarrier.h:
(WriteBarrierBase):
(JSC::WriteBarrierBase::copyFrom):

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

8 years agoAttribute styles should be created lazily.
kling@webkit.org [Sat, 11 Feb 2012 19:29:49 +0000 (19:29 +0000)]
Attribute styles should be created lazily.
<http://webkit.org/b/78381>

Reviewed by Antti Koivisto.

TL;DR summary: Lazily construct the StyledElement::attributeStyle() instead of
moving properties in/out of it in parseAttribute(). This allows us to enable
the matched declaration cache for elements with presentation attributes.

The matched declaration cache has been disabled for elements with presentation
attributes because attributeStyle() was mutable, and (simply put) the cache maps
a set of StylePropertySet pointers to a resulting RenderStyle. This requires
that the StylePropertySets are immutable.

To make them immutable, we now construct the attribute style lazily by adding
a flag (to Node) that gets set in parseAttribute() when a presentation attribute
respected by the element changes. A subsequent call to attributeStyle() checks
the flag and rebuilds the style by looping over the attributes and calling the
new virtual StyledElement::collectStyleForAttribute() on each one. Any dangling
references to the previous attribute style will be garbage collected by the
cache in CSSStyleSelector::sweepMatchedDeclarationCache().

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

    Enable matched declaration cache for elements with attribute style.

* dom/Node.h:
(WebCore::Node::attributeStyleDirty):
(WebCore::Node::setAttributeStyleDirty):
(WebCore::Node::clearAttributeStyleDirty):

    Add a Node flag to signify that a presentation attribute has changed and
    the attribute style needs to be rebuilt.

* dom/ElementAttributeData.h:
* dom/ElementAttributeData.cpp:
(WebCore::ElementAttributeData::setAttributeStyle):

    Added a setter for the attribute style, called by updateAttributeStyle().

* dom/StyledElement.cpp:
(WebCore::StyledElement::addHTMLLengthToStyle):
(WebCore::StyledElement::addHTMLColorToStyle):

    Moved and renamed two of the old addCSS* helpers from StyledElement.

(WebCore::StyledElement::updateAttributeStyle):

    Called by attributeStyle() in case the "attribute style dirty" flag is
    set. Rebuilds the attribute style from scratch by looping over the
    attribute map and calling collectStyleForAttribute() on each attribute.

* dom/StyledElement.h:
(WebCore::StyledElement::collectStyleForAttribute):
(WebCore::StyledElement::attributeStyle):
(WebCore::StyledElement::setNeedsAttributeStyleUpdate):

    Helper, sets the attribute style dirty flag and marks the element for
    full style recalc. This is what parseAttribute() calls in subclasses
    when they encounter a presentation attribute.

* html/HTMLBRElement.cpp:
(WebCore::HTMLBRElement::collectStyleForAttribute):
(WebCore::HTMLBRElement::parseAttribute):
* html/HTMLBRElement.h:
* html/HTMLBodyElement.cpp:
(WebCore::isRespectedPresentationAttribute):
(WebCore::HTMLBodyElement::collectStyleForAttribute):
(WebCore::HTMLBodyElement::parseAttribute):
* html/HTMLBodyElement.h:
* html/HTMLDivElement.cpp:
(WebCore::HTMLDivElement::collectStyleForAttribute):
(WebCore::HTMLDivElement::parseAttribute):
* html/HTMLDivElement.h:
* html/HTMLElement.cpp:
(WebCore::HTMLElement::applyBorderAttributeToStyle):
(WebCore::HTMLElement::mapLanguageAttributeToLocale):
(WebCore::HTMLElement::collectStyleForAttribute):
(WebCore::HTMLElement::parseAttribute):
(WebCore::HTMLElement::applyAlignmentAttributeToStyle):
* html/HTMLElement.h:
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::collectStyleForAttribute):
(WebCore::HTMLEmbedElement::parseAttribute):
* html/HTMLEmbedElement.h:
* html/HTMLFontElement.cpp:
(WebCore::HTMLFontElement::collectStyleForAttribute):
(WebCore::HTMLFontElement::parseAttribute):
* html/HTMLFontElement.h:
* html/HTMLFrameSetElement.cpp:
(WebCore::HTMLFrameSetElement::collectStyleForAttribute):
(WebCore::HTMLFrameSetElement::parseAttribute):
* html/HTMLFrameSetElement.h:
* html/HTMLHRElement.cpp:
(WebCore::isRespectedPresentationAttribute):
(WebCore::HTMLHRElement::collectStyleForAttribute):
(WebCore::HTMLHRElement::parseAttribute):
* html/HTMLHRElement.h:
* html/HTMLIFrameElement.cpp:
(WebCore::HTMLIFrameElement::collectStyleForAttribute):
(WebCore::HTMLIFrameElement::parseAttribute):
* html/HTMLIFrameElement.h:
* html/HTMLImageElement.cpp:
(WebCore::isRespectedPresentationAttribute):
(WebCore::HTMLImageElement::collectStyleForAttribute):
(WebCore::HTMLImageElement::parseAttribute):
* html/HTMLImageElement.h:
* html/HTMLInputElement.cpp:
(WebCore::isRespectedPresentationAttribute):
(WebCore::HTMLInputElement::collectStyleForAttribute):
(WebCore::HTMLInputElement::parseAttribute):
* html/HTMLInputElement.h:
* html/HTMLLIElement.cpp:
(WebCore::HTMLLIElement::collectStyleForAttribute):
(WebCore::HTMLLIElement::parseAttribute):
* html/HTMLLIElement.h:
* html/HTMLMarqueeElement.cpp:
(WebCore::isRespectedPresentationAttribute):
(WebCore::HTMLMarqueeElement::collectStyleForAttribute):
(WebCore::HTMLMarqueeElement::parseAttribute):
* html/HTMLMarqueeElement.h:
* html/HTMLOListElement.cpp:
(WebCore::HTMLOListElement::collectStyleForAttribute):
(WebCore::HTMLOListElement::parseAttribute):
* html/HTMLOListElement.h:
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::collectStyleForAttribute):
(WebCore::HTMLObjectElement::parseAttribute):
* html/HTMLObjectElement.h:
* html/HTMLParagraphElement.cpp:
(WebCore::HTMLParagraphElement::collectStyleForAttribute):
(WebCore::HTMLParagraphElement::parseAttribute):
* html/HTMLParagraphElement.h:
* html/HTMLPlugInElement.cpp:
(WebCore::isRespectedPresentationAttribute):
(WebCore::HTMLPlugInElement::collectStyleForAttribute):
(WebCore::HTMLPlugInElement::parseAttribute):
* html/HTMLPlugInElement.h:
* html/HTMLPreElement.cpp:
(WebCore::HTMLPreElement::collectStyleForAttribute):
(WebCore::HTMLPreElement::parseAttribute):
* html/HTMLPreElement.h:
* html/HTMLTableCaptionElement.cpp:
(WebCore::HTMLTableCaptionElement::collectStyleForAttribute):
(WebCore::HTMLTableCaptionElement::parseAttribute):
* html/HTMLTableCaptionElement.h:
* html/HTMLTableCellElement.cpp:
(WebCore::isRespectedPresentationAttribute):
(WebCore::HTMLTableCellElement::collectStyleForAttribute):
(WebCore::HTMLTableCellElement::parseAttribute):
* html/HTMLTableCellElement.h:
* html/HTMLTableColElement.cpp:
(WebCore::HTMLTableColElement::collectStyleForAttribute):
(WebCore::HTMLTableColElement::parseAttribute):
* html/HTMLTableColElement.h:
* html/HTMLTableElement.cpp:
(WebCore::getBordersFromFrameAttributeValue):
(WebCore::HTMLTableElement::collectStyleForAttribute):
(WebCore::HTMLTableElement::parseAttribute):
* html/HTMLTableElement.h:
* html/HTMLTablePartElement.cpp:
(WebCore::isRespectedPresentationAttribute):
(WebCore::HTMLTablePartElement::collectStyleForAttribute):
(WebCore::HTMLTablePartElement::parseAttribute):
* html/HTMLTablePartElement.h:
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::collectStyleForAttribute):
(WebCore::HTMLTextAreaElement::parseAttribute):
* html/HTMLTextAreaElement.h:
* html/HTMLUListElement.cpp:
(WebCore::HTMLUListElement::collectStyleForAttribute):
(WebCore::HTMLUListElement::parseAttribute):
* html/HTMLUListElement.h:
* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::collectStyleForAttribute):
(WebCore::HTMLVideoElement::parseAttribute):
* html/HTMLVideoElement.h:
* mathml/MathMLElement.cpp:
(WebCore::isRespectedPresentationAttribute):
(WebCore::MathMLElement::collectStyleForAttribute):
(WebCore::MathMLElement::parseAttribute):
* mathml/MathMLElement.h:
* svg/SVGImageElement.cpp:
(WebCore::SVGImageElement::collectStyleForAttribute):
(WebCore::SVGImageElement::parseAttribute):
* svg/SVGImageElement.h:
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::collectStyleForAttribute):
(WebCore::SVGStyledElement::parseAttribute):
* svg/SVGStyledElement.h:
* svg/SVGTextContentElement.cpp:
(WebCore::SVGTextContentElement::collectStyleForAttribute):
(WebCore::SVGTextContentElement::parseAttribute):
* svg/SVGTextContentElement.h:

    Split handling of presentation attributes between parseAttribute() and
    collectStyleForAttribute() as appropriate. Some minor refactorings here and
    there (mostly in HTMLTableElement) to avoid excessive code duplication.
    Also sprinkled FIXMEs about inefficiencies we should clean up.

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

8 years agoHTML 5: Support click() method on HTMLElement.
commit-queue@webkit.org [Sat, 11 Feb 2012 18:51:53 +0000 (18:51 +0000)]
HTML 5: Support click() method on HTMLElement.
https://bugs.webkit.org/show_bug.cgi?id=27880

Patch by Arko Saha <arko@motorola.com> on 2012-02-11
Reviewed by Timothy Hatcher.

Source/WebCore:

Test: fast/dom/click-method-on-html-element.html

* bindings/objc/PublicDOMInterfaces.h: Added click() method in DOMHTMLElement
with availability macro AVAILABLE_AFTER_WEBKIT_VERSION_5_1.
* html/HTMLButtonElement.idl: Moved click() method under LANGUAGE_OBJECTIVE_C.
* html/HTMLElement.idl: Added click() IDL method.
* html/HTMLInputElement.idl: Moved click() method under LANGUAGE_OBJECTIVE_C.

LayoutTests:

* fast/dom/click-method-on-html-element-expected.txt: Added.
* fast/dom/click-method-on-html-element.html: Added.

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

8 years ago[GStreamer] html5test.com says that gstreamer ports do not support WebM for audio
commit-queue@webkit.org [Sat, 11 Feb 2012 18:36:37 +0000 (18:36 +0000)]
[GStreamer] html5test.com says that gstreamer ports do not support WebM for audio
https://bugs.webkit.org/show_bug.cgi?id=78244

Patch by Martin Robinson <mrobinson@igalia.com> on 2012-02-11
Reviewed by Eric Seidel.

Specifically advertise support for audio/webm when we support the vorbis
audio codec. This is necessary because gstreamer doesn't advertise it.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::mimeTypeCache): Add an override for audio/webm.

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

8 years agoTry to fix the Windows build.
andersca@apple.com [Sat, 11 Feb 2012 18:18:08 +0000 (18:18 +0000)]
Try to fix the Windows build.

* platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenuWin::scrollToRevealSelection):

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

8 years ago[chromium] Enable CSS filters on composited layers.
senorblanco@chromium.org [Sat, 11 Feb 2012 17:46:49 +0000 (17:46 +0000)]
[chromium] Enable CSS filters on composited layers.
https://bugs.webkit.org/show_bug.cgi?id=77266

Reviewed by James Robinson.

Will be covered by existing tests in css3/filters (when enabled).

* WebCore.gypi:
Add CCRenderSurfaceFilters.* to the Chromium build.
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::setFilters):
* platform/graphics/chromium/GraphicsLayerChromium.h:
Override setFilters() virtual from GraphicsLayer.
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::setFilters):
Implement setFilters() to cache the filters here...
(WebCore::LayerChromium::pushPropertiesTo):
... and push them to the CCLayerImpl at commit time.
* platform/graphics/chromium/LayerChromium.h:
(WebCore::LayerChromium::filters):
Implement accessor.
* platform/graphics/chromium/RenderSurfaceChromium.h:
(WebCore::RenderSurfaceChromium::setFilters):
Implement stub version of setFilters(), to satisfy the templates.
* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::setFilters):
Implement setter to receive filters at commit time.
* platform/graphics/chromium/cc/CCLayerImpl.h:
(WebCore::CCLayerImpl::filters):
Implement member var and accessor for filters.
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
(WebCore::calculateDrawTransformsAndVisibilityInternal):
Add another clause here to force creation of a RenderSurface when
filters are present, and to forward them from the layer to the
RenderSurface.
* platform/graphics/chromium/cc/CCRenderSurface.cpp:
(WebCore::CCRenderSurface::draw):
(WebCore::CCRenderSurface::drawLayer):
Check for filters at draw time, apply them, and forward the result
through the drawing traversal.
(WebCore::CCRenderSurface::drawSurface):
If filter bitmap is present, bind it instead of the normal
RenderSurface texture.
(WebCore::CCRenderSurface::applyFilters):
Apply filters to the render surface texture, and return the result.
This function is a no-op for the threaded compositor, due to use
of the SharedGraphicsContext3D.
* platform/graphics/chromium/cc/CCRenderSurface.h:
(WebCore::CCRenderSurface::setFilters):
(WebCore::CCRenderSurface::filters):
(CCRenderSurface):
Filters getters and setters.
* platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp: Added.
(WebCore::CCRenderSurfaceFilters::apply):
External interface for this (static) class.  All internal
implementation and helper functions are in the unnamed namespace.
* platform/graphics/chromium/cc/CCRenderSurfaceFilters.h: Added.

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

8 years agoNode.isEqualNode() compares attributes twice.
kling@webkit.org [Sat, 11 Feb 2012 16:17:52 +0000 (16:17 +0000)]
Node.isEqualNode() compares attributes twice.
<http://webkit.org/b/78414>

Reviewed by Anders Carlsson.

Source/WebCore:

A single pass across the attribute maps should be enough for anyone.

Added a test verifying correct behavior of Node.isEqualNode() when comparing
two elements, one of which has had attributes that were all removed,
resulting in an empty but non-null NamedNodeMap hanging off of the element.
Note that this change is not fixing a regression, I'm just adding the test
since I came close to introducing a bug here.

Test: fast/dom/isEqualNode-after-removeAttribute.html

* dom/Node.cpp:
(WebCore::Node::isEqualNode):

LayoutTests:

* fast/dom/isEqualNode-after-removeAttribute-expected.txt: Added.
* fast/dom/isEqualNode-after-removeAttribute.html: Added.

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

8 years agoHTMLTablePartElement: Add helper method to find parent table.
kling@webkit.org [Sat, 11 Feb 2012 14:54:38 +0000 (14:54 +0000)]
HTMLTablePartElement: Add helper method to find parent table.
<http://webkit.org/b/78413>

Reviewed by Anders Carlsson.

Add HTMLTablePartElement::findParentTable() and use that in subclasses instead
of duplicating the code.

* html/HTMLTableCellElement.cpp:
(WebCore::HTMLTableCellElement::additionalAttributeStyle):
* html/HTMLTableColElement.cpp:
(WebCore::HTMLTableColElement::additionalAttributeStyle):
* html/HTMLTablePartElement.cpp:
(WebCore::HTMLTablePartElement::findParentTable):
(WebCore):
* html/HTMLTablePartElement.h:
(WebCore):
(HTMLTablePartElement):
* html/HTMLTableSectionElement.cpp:
(WebCore::HTMLTableSectionElement::additionalAttributeStyle):

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

8 years agoUse Element's hasName/hasID flags to avoid unnecessary work when looking up name...
kling@webkit.org [Sat, 11 Feb 2012 14:50:28 +0000 (14:50 +0000)]
Use Element's hasName/hasID flags to avoid unnecessary work when looking up name/id attributes.
<http://webkit.org/b/77845>

Reviewed by Anders Carlsson.

Have Element::getIdAttribute() check the hasID() flag before looking up the attribute.
Add an Element::getNameAttribute() to do the same thing with hasName().
Update call sites to make use of these helpers whenever possible.

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::accessibilityDescription):
* dom/DocumentOrderedMap.cpp:
(WebCore::keyMatchesId):
* dom/Element.h:
(Element):
(WebCore::Element::getIdAttribute):
(WebCore):
(WebCore::Element::getNameAttribute):
* dom/NameNodeList.cpp:
(WebCore::NameNodeList::nodeMatches):
* dom/StaticHashSetNodeList.cpp:
(WebCore::StaticHashSetNodeList::itemWithName):
* dom/StaticNodeList.cpp:
(WebCore::StaticNodeList::itemWithName):
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::name):
* html/HTMLAppletElement.cpp:
(WebCore::HTMLAppletElement::createRenderer):
* html/HTMLCollection.cpp:
(WebCore::HTMLCollection::checkForNameMatch):
(WebCore::HTMLCollection::updateNameCache):
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::updateWidget):
* html/HTMLFormCollection.cpp:
(WebCore::HTMLFormCollection::updateNameCache):
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::formControlName):
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::name):
* html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::setNameAndOpenURL):
* html/HTMLMetaElement.cpp:
(WebCore::HTMLMetaElement::name):
* html/HTMLNameCollection.cpp:
(WebCore::HTMLNameCollection::itemAfter):
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::updateWidget):
(WebCore::HTMLObjectElement::updateDocNamedItem):
(WebCore::HTMLObjectElement::containsJavaApplet):
(WebCore::HTMLObjectElement::formControlName):
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::buildObjectForFrame):
* page/Frame.cpp:
(WebCore::Frame::matchLabelsAgainstElement):
* rendering/svg/RenderSVGResourceContainer.cpp:
(WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer):
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::getElementById):

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

8 years ago[Qt] Unreviewed weekend gardening.
ossy@webkit.org [Sat, 11 Feb 2012 08:56:19 +0000 (08:56 +0000)]
[Qt] Unreviewed weekend gardening.

* platform/qt/Skipped: Skip tests because ENABLE(MUTATION_OBSERVERS) is disabled.

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

8 years agoUnreviewed, rolling out r107435.
ossy@webkit.org [Sat, 11 Feb 2012 08:33:57 +0000 (08:33 +0000)]
Unreviewed, rolling out r107435.
http://trac.webkit.org/changeset/107435
https://bugs.webkit.org/show_bug.cgi?id=78410

It broke the Qt build (Requested by Ossy on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-02-11

Source/WebCore:

* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* editing/mac/EditorMac.mm:
(WebCore::Editor::writeSelectionToPasteboard):
* platform/Pasteboard.h:
(WebCore):
(Pasteboard):
* platform/PasteboardStrategy.h: Removed.
* platform/PlatformPasteboard.h: Removed.
* platform/PlatformStrategies.h:
(WebCore):
(WebCore::PlatformStrategies::PlatformStrategies):
(PlatformStrategies):
* platform/mac/DragDataMac.mm:
(WebCore::DragData::canSmartReplace):
(WebCore::insertablePasteboardTypes):
(WebCore::DragData::asURL):
* platform/mac/PasteboardMac.mm:
(WebCore):
(WebCore::selectionPasteboardTypes):
(WebCore::writableTypesForURL):
(WebCore::createWritableTypesForImage):
(WebCore::writableTypesForImage):
(WebCore::Pasteboard::Pasteboard):
(WebCore::Pasteboard::clear):
(WebCore::Pasteboard::writeSelectionForTypes):
(WebCore::Pasteboard::writePlainText):
(WebCore::Pasteboard::writeSelection):
(WebCore::writeURLForTypes):
(WebCore::Pasteboard::writeURL):
(WebCore::writeFileWrapperAsRTFDAttachment):
(WebCore::Pasteboard::writeImage):
(WebCore::Pasteboard::writeClipboard):
(WebCore::Pasteboard::canSmartReplace):
(WebCore::Pasteboard::plainText):
(WebCore::documentFragmentWithRTF):
(WebCore::Pasteboard::documentFragment):
* platform/mac/PlatformPasteboardMac.mm: Removed.

Source/WebKit/mac:

* WebCoreSupport/WebPlatformStrategies.h:
(WebPlatformStrategies):
* WebCoreSupport/WebPlatformStrategies.mm:
(WebPlatformStrategies::addVisitedLink):

Source/WebKit2:

* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
* WebProcess/WebCoreSupport/WebPlatformStrategies.h:
(WebPlatformStrategies):

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

8 years agoMove CSSOM wrapper pointer out of StylePropertySet
antti@apple.com [Sat, 11 Feb 2012 07:52:11 +0000 (07:52 +0000)]
Move CSSOM wrapper pointer out of StylePropertySet
https://bugs.webkit.org/show_bug.cgi?id=78406

Reviewed by Andreas Kling.

Most StylePropertySet instances never have CSSOM wrappers so having a pointer to one in
each and and every object makes no sense.

Move the PropertySetCSSStyleDeclaration instances to a global HashMap. This shrinks
StylePropertySet by a pointer.

Added COMPILE_ASSERT for StylePropertySet size.

* css/StylePropertySet.cpp:
(WebCore):
(WebCore::StylePropertySet::StylePropertySet):
(WebCore::StylePropertySet::~StylePropertySet):
(WebCore::StylePropertySet::ensureCSSStyleDeclaration):
* css/StylePropertySet.h:
(StylePropertySet):

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

8 years agoMathML internals - use createXXX() function naming, ASSERT()s
commit-queue@webkit.org [Sat, 11 Feb 2012 04:28:26 +0000 (04:28 +0000)]
MathML internals - use createXXX() function naming, ASSERT()s
https://bugs.webkit.org/show_bug.cgi?id=78384

Patch by David Barton <dbarton@mathscribe.com> on 2012-02-10
Reviewed by Eric Seidel.

Standard RefPtr function naming uses "createXXX" instead of "makeXXX".
I also added a couple of ASSERT()s.

No new tests.

* rendering/mathml/RenderMathMLBlock.cpp:
(WebCore::RenderMathMLBlock::createBlockStyle):
* rendering/mathml/RenderMathMLBlock.h:
(RenderMathMLBlock):
* rendering/mathml/RenderMathMLFenced.cpp:
(WebCore::RenderMathMLFenced::createOperatorStyle):
(WebCore::RenderMathMLFenced::makeFences):
(WebCore::RenderMathMLFenced::addChild):
* rendering/mathml/RenderMathMLFenced.h:
(RenderMathMLFenced):
* rendering/mathml/RenderMathMLFraction.cpp:
(WebCore::RenderMathMLFraction::addChild):
* rendering/mathml/RenderMathMLRoot.cpp:
(WebCore::RenderMathMLRoot::addChild):
* rendering/mathml/RenderMathMLSubSup.cpp:
(WebCore::RenderMathMLSubSup::RenderMathMLSubSup):
* rendering/mathml/RenderMathMLUnderOver.cpp:
(WebCore::RenderMathMLUnderOver::RenderMathMLUnderOver):
(WebCore::RenderMathMLUnderOver::addChild):

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

8 years agoNon-threaded scrolling build fix.
mitz@apple.com [Sat, 11 Feb 2012 04:00:10 +0000 (04:00 +0000)]
Non-threaded scrolling build fix.

* page/FrameView.cpp:
(WebCore::FrameView::requestScrollPositionUpdate):

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

8 years agoBlackBerry Port - Input focus is suppressed during XHR loads
commit-queue@webkit.org [Sat, 11 Feb 2012 03:58:05 +0000 (03:58 +0000)]
BlackBerry Port - Input focus is suppressed during XHR loads
https://bugs.webkit.org/show_bug.cgi?id=78368

Allow JS to trigger the VKB and input focus when XHR scripting
is active.

This switching the loaded state to checking the webpages loaded state
which is only updated after initial load.   When additional loading
events happen for XHR, it remains false and focus events function.

Also add detailed FocusLog's to shouldAcceptInputFocus.

Patch by Mike Fenton <mifenton@rim.com> on 2012-02-10
Reviewed by Rob Buis.

* blackberry/WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::shouldAcceptInputFocus):

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

8 years agoChange values for WEBKIT_KEYFRAMES_RULE, WEBKIT_KEYFRAME_RULE
commit-queue@webkit.org [Sat, 11 Feb 2012 03:10:31 +0000 (03:10 +0000)]
Change values for WEBKIT_KEYFRAMES_RULE, WEBKIT_KEYFRAME_RULE
https://bugs.webkit.org/show_bug.cgi?id=71293

Patch by Edward O'Connor <eoconnor@apple.com> on 2012-02-10
Reviewed by Chris Marrin.

Source/WebCore:

Tests: animations/animation-css-rule-types.html

* css/CSSRule.h: Change WEBKIT_KEYFRAMES_RULE to 7 and
WEBKIT_KEYFRAME_RULE to 8.
* css/CSSRule.idl: Ditto.

LayoutTests:

* animations/animation-css-rule-types-expected.txt:
* animations/script-tests/animation-css-rule-types.js: Update
expected WEBKIT_KEYFRAMES_RULE and WEBKIT_KEYFRAME_RULE values.

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

8 years ago[chromium] Unreviewed gardening.
tony@chromium.org [Sat, 11 Feb 2012 02:53:12 +0000 (02:53 +0000)]
[chromium] Unreviewed gardening.
svg/text/non-bmp-positioning-lists.svg is missing glyphs. The other
tests are additional fallout from r107417.

* platform/chromium-mac-leopard/svg/as-object/deep-nested-embedded-svg-size-changes-no-layout-triggers-1-expected.png: Removed.
* platform/chromium-mac-leopard/svg/as-object/deep-nested-embedded-svg-size-changes-no-layout-triggers-2-expected.png: Removed.
* platform/chromium-mac-leopard/svg/carto.net/window-expected.txt: Removed.
* platform/chromium-mac-leopard/svg/custom/foreignObject-crash-on-hover-expected.png:
* platform/chromium-mac-leopard/svg/custom/hit-test-unclosed-subpaths-expected.png:
* platform/chromium-mac-leopard/svg/custom/js-update-stop-linked-gradient-expected.png:
* platform/chromium-mac-leopard/svg/custom/mask-invalidation-expected.png: Removed.
* platform/chromium-mac-leopard/svg/custom/relative-sized-content-with-resources-expected.png:
* platform/chromium-mac-leopard/svg/custom/text-repaint-including-stroke-expected.png:
* platform/chromium-mac-leopard/svg/custom/use-clipped-hit-expected.png:
* platform/chromium-mac-leopard/svg/custom/use-detach-expected.png:
* platform/chromium-mac-leopard/svg/filters/filter-refresh-expected.txt:
* platform/chromium-mac-leopard/svg/hixie/perf/004-expected.png: Removed.
* platform/chromium-mac-snowleopard/svg/as-object/deep-nested-embedded-svg-size-changes-no-layout-triggers-1-expected.png:
* platform/chromium-mac-snowleopard/svg/as-object/deep-nested-embedded-svg-size-changes-no-layout-triggers-2-expected.png:
* platform/chromium-mac-snowleopard/svg/carto.net/window-expected.png:
* platform/chromium-mac-snowleopard/svg/carto.net/window-expected.txt: Removed.
* platform/chromium-mac-snowleopard/svg/custom/foreignObject-crash-on-hover-expected.png:
* platform/chromium-mac-snowleopard/svg/custom/use-detach-expected.txt: Removed.
* platform/chromium-mac-snowleopard/svg/filters/animate-fill-expected.txt: Removed.
* platform/chromium-mac-snowleopard/svg/filters/filter-refresh-expected.txt:
* platform/chromium-mac-snowleopard/svg/hixie/perf/004-expected.png:
* platform/chromium-mac-snowleopard/svg/zoom/page/zoom-background-images-expected.png:
* platform/chromium/test_expectations.txt:

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

8 years agoAtomicMarkupTokenBase::initializeAttributes should not create a StringImpl if it...
eric@webkit.org [Sat, 11 Feb 2012 02:35:19 +0000 (02:35 +0000)]
AtomicMarkupTokenBase::initializeAttributes should not create a StringImpl if it doesn't need to
https://bugs.webkit.org/show_bug.cgi?id=78394

Reviewed by Adam Barth.

On the very next line is passes value to Attribute::create which takes
an AtomicString, so this code was just allocating a StringImpl (every time)
only to (much of the time) just release that StringImpl on the next line
when it got the AtomicString instead.

I discovered this while looking at DOM/Events.html, but it's unclear
if this fix actually makes that benchmark faster.

* xml/parser/MarkupTokenBase.h:
(WebCore::::initializeAttributes):

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

8 years agoAlways update the scroll position through the scrolling coordinator
andersca@apple.com [Sat, 11 Feb 2012 02:33:17 +0000 (02:33 +0000)]
Always update the scroll position through the scrolling coordinator
https://bugs.webkit.org/show_bug.cgi?id=78403

Reviewed by Sam Weinig.

To get correct behavior, we always want to update the scrolling layer position
on the scrolling thread. Do this by allowing the scrolling coordinator to intercept
scroll position update requests and send them to the scrolling tree.

* page/FrameView.cpp:
(WebCore::FrameView::requestScrollPositionUpdate):
Let the scrolling coordinator have a go at updating the scroll position for this frame view.

* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::requestScrollPositionUpdate):
If it's a frame view we're coordinating scrolling for, tell the scrolling tree to update
the scroll position.

* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::setMainFrameScrollPosition):
Call through to the scrolling tree node.

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

(WebCore::ScrollingTreeNodeMac::setScrollPosition):
Move most of the code from scrollBy here.

(WebCore::ScrollingTreeNodeMac::setScrollLayerPosition):
Rename this member function from setScrollPosition to avoid conflicts.

(WebCore::ScrollingTreeNodeMac::scrollBy):
Just call setScsrollPosition.

* platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::setScrollOffsetFromAnimation):
Call requestScrollPositionUpdate, which allows subclasses of scrollable area to intercept
the scroll operation and call it asynchronously.

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

8 years agoScrollableArea should have a function for noting that the scroll position changed
andersca@apple.com [Sat, 11 Feb 2012 02:03:27 +0000 (02:03 +0000)]
ScrollableArea should have a function for noting that the scroll position changed
https://bugs.webkit.org/show_bug.cgi?id=78402

Reviewed by Sam Weinig.

The scrolling coordinator needs a specialized function to call whenever the main frame
scrolling position has changed, so add ScrollableArea::notifyScrollPositionChanged and
call it from the scrolling coordinator.

* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::updateMainFrameScrollPosition):
(WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition):
* platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::notifyScrollPositionChanged):
New function.

(WebCore::ScrollableArea::setScrollOffsetFromAnimation):
Call ScrollableArea::notifyScrollPositionChanged.

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

8 years agoUnreviewed build fix.
leviw@chromium.org [Sat, 11 Feb 2012 01:41:32 +0000 (01:41 +0000)]
Unreviewed build fix.

Fixing the build by removing a duplicate definition of pixelSnappedIntRect in LayoutTypes.h and
removing conflict markers from the changelog.

* rendering/LayoutTypes.h:
(pixelSnappedIntRect):
* ChangeLog:

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

8 years agoCSS3 calc: convert font-size-fractional test to use pre/post js
mikelawther@chromium.org [Sat, 11 Feb 2012 01:37:23 +0000 (01:37 +0000)]
CSS3 calc: convert font-size-fractional test to use pre/post js
https://bugs.webkit.org/show_bug.cgi?id=78347

Reviewed by Ojan Vafai.

* css3/calc/font-size-fractional-expected.txt:
* css3/calc/font-size-fractional.html:

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

8 years agoDisable IndexedDB permissions check from shared workers
dgrogan@chromium.org [Sat, 11 Feb 2012 01:20:34 +0000 (01:20 +0000)]
Disable IndexedDB permissions check from shared workers
https://bugs.webkit.org/show_bug.cgi?id=78316

We want to temporarily bypass this check because it causes a crash
when called from a shared worker.  We'll have to fix it before
including idb on shared workers in a release but don't want to stop
developers from testing out idb on shared workers.

No new tests because it affects shared workers only, which aren't
testable by DRT.

Reviewed by Tony Chang.

* src/IDBFactoryBackendProxy.cpp:
(WebKit::IDBFactoryBackendProxy::allowIDBFromWorkerThread):

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

8 years ago[chromium] Unreviewed, remove a linux gpu result that is not needed after r107448.
tony@chromium.org [Sat, 11 Feb 2012 01:03:35 +0000 (01:03 +0000)]
[chromium] Unreviewed, remove a linux gpu result that is not needed after r107448.

* platform/chromium-gpu-linux/media/video-empty-source-expected.png: Removed.

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

8 years agoAdd pixelSnappedIntRect method
leviw@chromium.org [Sat, 11 Feb 2012 00:58:22 +0000 (00:58 +0000)]
Add pixelSnappedIntRect method
https://bugs.webkit.org/show_bug.cgi?id=78054

Reviewed by Eric Seidel.

This patch introduces a pixelSnappedIntRect method that will snap a sub-pixel LayoutRect to
pixel boundaries. These pixel snapped forms are what is used to communicate with the graphics
engine (to paint at whole pixel boundaries) and the embedding app (so they don't need to
understand we're using sub-pixel units).

No new tests. No change in behavior.

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::isOffScreen):
(WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
* dom/Range.cpp:
(WebCore::Range::boundingBox):
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::paint):
* html/shadow/TextControlInnerElements.cpp:
(WebCore::InputFieldSpeechButtonElement::startSpeechInput):
* page/Frame.cpp:
(WebCore::Frame::nodeImage):
* page/FrameView.cpp:
(WebCore::FrameView::repaintContentRectangle):
(WebCore::FrameView::doDeferredRepaints):
(WebCore::FrameView::windowClipRectForLayer):
* platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::paintGraphicsLayerContents):
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::paint):
* rendering/LayoutTypes.h:
(WebCore::pixelSnappedIntRect):
(WebCore):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintColumnContents):
(WebCore::RenderBlock::selectionGaps):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::paintBoxDecorations):
(WebCore::RenderBox::pushContentsClip):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
(WebCore::RenderBoxModelObject::drawBoxSideFromPath):
(WebCore::RenderBoxModelObject::paintBoxShadow):
* rendering/RenderDetailsMarker.cpp:
(WebCore::RenderDetailsMarker::paint):
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::paintIntoRegion):
* rendering/RenderFrameSet.cpp:
(WebCore::RenderFrameSet::paintColumnBorder):
(WebCore::RenderFrameSet::paintRowBorder):
(WebCore::RenderFrameSet::positionFramesWithFlattening):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::paintReplaced):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollRectToVisible):
(WebCore::RenderLayer::positionOverflowControls):
(WebCore::RenderLayer::calculateRects):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
(WebCore::paintScrollbar):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::calculateCompositedBounds):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::drawLineForBoxSide):
(WebCore::RenderObject::addPDFURLRect):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::showPopup):
(WebCore::RenderTextControlSingleLine::paint):
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::paint):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::getRoundedBorderFor):
(WebCore::RenderStyle::getRoundedInnerBorderFor):

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

8 years agoSource/WebCore: Web Inspector: Add the ability to jump to the source for a given...
bweinstein@apple.com [Sat, 11 Feb 2012 00:55:05 +0000 (00:55 +0000)]
Source/WebCore: Web Inspector: Add the ability to jump to the source for a given frame
https://bugs.webkit.org/show_bug.cgi?id=78396

Reviewed by Tim Hatcher.

* WebCore.exp.in: Add a new exported function.
* inspector/InspectorController.cpp: Add and expose the InspectorPageAgent.
(WebCore::InspectorController::InspectorController): Set m_pageAgent.
* inspector/InspectorController.h: Add m_pageAgent.
(WebCore::InspectorController::pageAgent): Return m_pageAgent.

* inspector/InspectorFrontendClientLocal.cpp:
(WebCore::InspectorFrontendClientLocal::showMainResourceForFrame): Get the inspector's frame ID
    of the frame that was passed in, and add a call to evaluate on load.
* inspector/InspectorFrontendClientLocal.h:

* inspector/front-end/InspectorFrontendAPI.js:
(InspectorFrontendAPI.showMainResourceForFrame): Add a FIXME to show the source code for the main
    resource of the given frame.

Source/WebKit2: Web Inspector: Add the ability to jump to the source for a given frame
https://bugs.webkit.org/show_bug.cgi?id=78396

Add WebKit2 API for the ability to show the source of a frame in the web inspector. This calls down
from the WK API all the way to InspectorFrontendClientLocal::showMainResourceForFrame.

Reviewed by Tim Hatcher.

* UIProcess/API/C/WKInspector.cpp:
(WKInspectorShowMainResourceForFrame): Call WebInspectorProxy::showMainResourceForFrame.
* UIProcess/API/C/WKInspector.h:

* UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::showMainResourceForFrame): Send a message to the web process, passing
    the frame ID of the frame we want to show the main resource of.
* UIProcess/WebInspectorProxy.h:

* WebProcess/WebPage/WebInspector.cpp:
(WebKit::WebInspector::showMainResourceForFrame): Get the WebFrame for the frame we want to show the
    main resource of from its ID. If we found a frame, call InspectorFrontendClientLocal::showMainResourceForFrame.
* WebProcess/WebPage/WebInspector.h:

* WebProcess/WebPage/WebInspector.messages.in: Add a new message.

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

8 years agoSource/JavaScriptCore: https://bugs.webkit.org/show_bug.cgi?id=72756
commit-queue@webkit.org [Sat, 11 Feb 2012 00:42:38 +0000 (00:42 +0000)]
Source/JavaScriptCore: https://bugs.webkit.org/show_bug.cgi?id=72756
DOMHTMLElement’s accessKey property is declared as available in WebKit version that didn’t have it

Patch by Vineet Chaudhary <rgf748@motorola.com> on 2012-02-10
Reviewed by Timothy Hatcher.

* API/WebKitAvailability.h: Added AVAILABLE_AFTER_WEBKIT_VERSION_5_1 and
  AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_5_1 for the new versions.

Source/WebCore: https://bugs.webkit.org/show_bug.cgi?id=72756
DOMHTMLElement’s accessKey property is declared as available in WebKit version that didn’t have it.

Patch by Vineet Chaudhary <rgf748@motorola.com> on 2012-02-10
Reviewed by Timothy Hatcher.

No new tests.

* bindings/objc/PublicDOMInterfaces.h: Moving accessKey property to DOMHTMLElement
  with an appropriate availability macro AVAILABLE_AFTER_WEBKIT_VERSION_5_1.
  Also Moving accessKey property to HTMLAnchorElement, HTMLAreaElement, HTMLButtonElement,
  HTMLInputElement, HTMLLabelElement, HTMLLegendElement  and HTMLTextAreaElement idls
  with an availability macro AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_5_1.
* html/HTMLAnchorElement.idl: Adding accessKey entries back to idls under LANGUAGE_OBJECTIVE_C.
* html/HTMLAreaElement.idl: Ditto.
* html/HTMLButtonElement.idl: Ditto.
* html/HTMLInputElement.idl: Ditto.
* html/HTMLLabelElement.idl: Ditto.
* html/HTMLLegendElement.idl: Ditto.
* html/HTMLTextAreaElement.idl: Ditto.

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

8 years agoSpeculative build fix.
bdakin@apple.com [Sat, 11 Feb 2012 00:36:12 +0000 (00:36 +0000)]
Speculative build fix.

* platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenuWin::scrollToRevealSelection):

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

8 years agoFixing windows build
mhahnenberg@apple.com [Sat, 11 Feb 2012 00:32:19 +0000 (00:32 +0000)]
Fixing windows build

Unreviewed build fix

* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:

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

8 years agoThese SVG tests all appear to pass (many due to my updating their
abarth@webkit.org [Sat, 11 Feb 2012 00:13:21 +0000 (00:13 +0000)]
These SVG tests all appear to pass (many due to my updating their
baselines last night).

* platform/chromium/test_expectations.txt:

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

8 years agoEnable MUTATION_OBSERVERS by default on all platforms
adamk@chromium.org [Sat, 11 Feb 2012 00:06:53 +0000 (00:06 +0000)]
Enable MUTATION_OBSERVERS by default on all platforms
https://bugs.webkit.org/show_bug.cgi?id=78196

Reviewed by Ojan Vafai.

.:

* configure.ac:

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

* Configurations/FeatureDefines.xcconfig:
* UseV8.cmake: Add some previously-missing files.
* WebCore.vcproj/WebCore.vcproj: ditto.
* bindings/js/JSBindingsAllInOne.cpp: ditto.
* dom/DOMAllInOne.cpp: ditto.

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:

Tools:

* Scripts/build-webkit:

WebKitLibraries:

* win/tools/vsprops/FeatureDefines.vsprops:
* win/tools/vsprops/FeatureDefinesCairo.vsprops:

LayoutTests:

* platform/efl/Skipped: Stop skipping the tests except for those known to fail.
* platform/gtk/Skipped: ditto.
* platform/mac/Skipped: ditto.
* platform/qt/Skipped: ditto.
* platform/win/Skipped: ditto.
* platform/wincairo/Skipped: ditto.

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

8 years agoAdd FractionalLayoutUnit type for sub-pixel layout
leviw@chromium.org [Sat, 11 Feb 2012 00:00:43 +0000 (00:00 +0000)]
Add FractionalLayoutUnit type for sub-pixel layout
https://bugs.webkit.org/show_bug.cgi?id=77485

Reviewed by Eric Seidel.

Add fixed point implementation (FractionalLayoutUnit).

FractionalLayoutUnit represents values as multiples of 1/60th pixel. This allows us
to represent sub-pixel values using integer math and avoids floating point precision
problems.

No new tests.

* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* platform/FractionalLayoutUnit.h: Added.

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

8 years agoAdd keyframes to LayoutTests/media/content/test.ogv to hasten test completion & avoid...
commit-queue@webkit.org [Fri, 10 Feb 2012 23:53:54 +0000 (23:53 +0000)]
Add keyframes to LayoutTests/media/content/test.ogv to hasten test completion & avoid timeouts.
https://bugs.webkit.org/show_bug.cgi?id=78058

Patch by Ami Fischman <fischman@chromium.org> on 2012-02-10
Reviewed by Eric Carlson.
File was created with ffmpeg2theora v0.24, command-line:
ffmpeg2theora --no-upscaling --no-skeleton -e 6.02 -K 21 test.mp4 -o test.ogv
The important bit was the addition of "-K 21" to force keyframe creation.
The other flags are important to minimize breakage of tests that hardcode
expectations like "the first 100k will contain the metadata" etc.

Before this, seeking to 5.6s would use the (only) keyframe at 2.4s and
have to decode all the way forward from there, which would be sometimes
timeout (presumably on overloaded bots).

* media/content/test.ogv:
* platform/chromium/test_expectations.txt:

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

8 years agoMove garden-o-matic's All Failures out of experimental
abarth@webkit.org [Fri, 10 Feb 2012 23:53:08 +0000 (23:53 +0000)]
Move garden-o-matic's All Failures out of experimental
https://bugs.webkit.org/show_bug.cgi?id=78395

Reviewed by Dimitri Glazkov.

Several folks have tried this feature and found it useful.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js:

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

8 years agoDon't lowercase ping URLs.
agl@chromium.org [Fri, 10 Feb 2012 23:49:13 +0000 (23:49 +0000)]
Don't lowercase ping URLs.

Previously, ping URLs would be lowercased when splitting them apart.
URLs are not, however, case-insensitive.

https://bugs.webkit.org/show_bug.cgi?id=78371

Reviewed by Tony Chang.

Source/WebCore:

* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::sendPings): Don't lowercase URL.

LayoutTests:

* http/tests/navigation/image-load-in-unload-handler.html: update to new URL
* http/tests/navigation/ping-cookie.html:
* http/tests/navigation/ping-cross-origin.html:
* http/tests/navigation/ping-same-origin.html:
* http/tests/navigation/resources/save-Ping.php: Renamed from LayoutTests/http/tests/navigation/resources/save-ping.php.

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

8 years agoBlackBerry Port - JS focus on blur can cause recursion
commit-queue@webkit.org [Fri, 10 Feb 2012 23:38:51 +0000 (23:38 +0000)]
BlackBerry Port - JS focus on blur can cause recursion
https://bugs.webkit.org/show_bug.cgi?id=78368

Prevent JS recursion of blur/focus by allowing focus
if we are already trying to prevent focus.

Patch by Mike Fenton <mifenton@rim.com> on 2012-02-10
Reviewed by Rob Buis.

* blackberry/WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::InputHandler):
(BlackBerry::WebKit::InputHandler::shouldAcceptInputFocus):
(BlackBerry::WebKit::InputHandler::setElementFocused):
* blackberry/WebKitSupport/InputHandler.h:
(InputHandler):

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

8 years agomedia/video-empty-source.html needs a rebaseline for chromium
commit-queue@webkit.org [Fri, 10 Feb 2012 23:30:45 +0000 (23:30 +0000)]
media/video-empty-source.html needs a rebaseline for chromium
https://bugs.webkit.org/show_bug.cgi?id=78233

Unreviewed rebaselining.

Patch by Ami Fischman <fischman@chromium.org> on 2012-02-10

* platform/chromium-linux-x86/media/video-empty-source-expected.txt: Copied from LayoutTests/platform/chromium-win/media/video-empty-source-expected.txt.
* platform/chromium-linux/media/video-empty-source-expected.png:
* platform/chromium-linux/media/video-empty-source-expected.txt: Copied from LayoutTests/platform/chromium-win/media/video-empty-source-expected.txt.
* platform/chromium-mac-leopard/media/video-empty-source-expected.png:
* platform/chromium-mac-leopard/media/video-empty-source-expected.txt: Added.
* platform/chromium-mac-snowleopard/media/video-empty-source-expected.png:
* platform/chromium-mac-snowleopard/media/video-empty-source-expected.txt: Added.
* platform/chromium-win-vista/media/video-empty-source-expected.txt: Copied from LayoutTests/platform/chromium-win/media/video-empty-source-expected.txt.
* platform/chromium-win-xp/media/video-empty-source-expected.txt: Copied from LayoutTests/platform/chromium-win/media/video-empty-source-expected.txt.
* platform/chromium-win/media/video-empty-source-expected.png:
* platform/chromium-win/media/video-empty-source-expected.txt:
* platform/chromium/test_expectations.txt:

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

8 years agoENABLE(ASSEMBLER_WX_EXCLUSIVE): LinkBuffer can leave pages not marked as executable.
commit-queue@webkit.org [Fri, 10 Feb 2012 23:01:54 +0000 (23:01 +0000)]
ENABLE(ASSEMBLER_WX_EXCLUSIVE): LinkBuffer can leave pages not marked as executable.
https://bugs.webkit.org/show_bug.cgi?id=76724

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

This issue only exists when both ENABLE(ASSEMBLER_WX_EXCLUSIVE) and ENABLE(BRANCH_COMPACTION) are on.
The size used to call makeExecutable can be smaller than the one that was used for makeWritable.
So it can leave pages behind that are not set back to default flags. When an assembly on one of those
pages is executed or JIT returns to those pages in the case it was already executing from there, the
software will crash.

* assembler/LinkBuffer.h: Add m_initialSize and use it in performFinalization().
(JSC::LinkBuffer::LinkBuffer):
(JSC::LinkBuffer::linkCode):
(JSC::LinkBuffer::performFinalization):
(LinkBuffer):

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

8 years agoflex-pack:center and flex-item-align:center should do true centering
ojan@chromium.org [Fri, 10 Feb 2012 23:01:40 +0000 (23:01 +0000)]
flex-pack:center and flex-item-align:center should do true centering
https://bugs.webkit.org/show_bug.cgi?id=77385

Reviewed by Tony Chang.

Source/WebCore:

Also, removed passing totalPositiveFlexibility around. We don't
need to know about positive/negative flex once we run the flexing algorithm.
We used to need to know this in order to flex margins, but margins can
no longer be flexed.

Test: css3/flexbox/true-centering.html

* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutFlexItems):
(WebCore::initialPackingOffset):
(WebCore::packingSpaceBetweenChildren):
(WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
(WebCore::RenderFlexibleBox::layoutColumnReverse):
* rendering/RenderFlexibleBox.h:
(RenderFlexibleBox):

LayoutTests:

* css3/flexbox/true-centering-expected.txt: Added.
* css3/flexbox/true-centering.html: Added.

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

8 years agoSplit MarkedSpace into destructor and destructor-free subspaces
mhahnenberg@apple.com [Fri, 10 Feb 2012 22:44:09 +0000 (22:44 +0000)]
Split MarkedSpace into destructor and destructor-free subspaces
https://bugs.webkit.org/show_bug.cgi?id=77761

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::emitAllocateJSFinalObject): Switched over to use destructor-free space.
* heap/Heap.h:
(JSC::Heap::allocatorForObjectWithoutDestructor): Added to give clients (e.g. the JIT) the ability to
pick which subspace they want to allocate out of.
(JSC::Heap::allocatorForObjectWithDestructor): Ditto.
(Heap):
(JSC::Heap::allocateWithDestructor): Added private function for CellAllocator to use.
(JSC):
(JSC::Heap::allocateWithoutDestructor): Ditto.
* heap/MarkedAllocator.cpp: Added the cellsNeedDestruction flag to allocators so that they can allocate
their MarkedBlocks correctly.
(JSC::MarkedAllocator::allocateBlock):
* heap/MarkedAllocator.h:
(JSC::MarkedAllocator::cellsNeedDestruction):
(MarkedAllocator):
(JSC::MarkedAllocator::MarkedAllocator):
(JSC):
(JSC::MarkedAllocator::init): Replaced custom set functions, which were only used upon initialization, with
an init function that does all of that stuff in fewer lines.
* heap/MarkedBlock.cpp:
(JSC::MarkedBlock::create):
(JSC::MarkedBlock::recycle):
(JSC::MarkedBlock::MarkedBlock):
(JSC::MarkedBlock::callDestructor): Templatized, along with specializedSweep and sweepHelper, to make
checking the m_cellsNeedDestructor flag faster and cleaner looking.
(JSC):
(JSC::MarkedBlock::specializedSweep):
(JSC::MarkedBlock::sweep):
(JSC::MarkedBlock::sweepHelper):
* heap/MarkedBlock.h:
(MarkedBlock):
(JSC::MarkedBlock::cellsNeedDestruction):
(JSC):
* heap/MarkedSpace.cpp:
(JSC::MarkedSpace::MarkedSpace):
(JSC::MarkedSpace::resetAllocators):
(JSC::MarkedSpace::canonicalizeCellLivenessData):
(JSC::TakeIfUnmarked::operator()):
* heap/MarkedSpace.h:
(MarkedSpace):
(Subspace):
(JSC::MarkedSpace::allocatorFor): Needed function to differentiate between the two broad subspaces of
allocators.
(JSC):
(JSC::MarkedSpace::destructorAllocatorFor): Ditto.
(JSC::MarkedSpace::allocateWithoutDestructor): Ditto.
(JSC::MarkedSpace::allocateWithDestructor): Ditto.
(JSC::MarkedSpace::forEachBlock):
* jit/JIT.h:
* jit/JITInlineMethods.h: Modified to use the proper allocator for JSFinalObjects and others.
(JSC::JIT::emitAllocateBasicJSObject):
(JSC::JIT::emitAllocateJSFinalObject):
(JSC::JIT::emitAllocateJSFunction):
* runtime/JSArray.cpp:
(JSC):
* runtime/JSArray.h:
(JSArray):
(JSC::JSArray::create):
(JSC):
(JSC::JSArray::tryCreateUninitialized):
* runtime/JSCell.h:
(JSCell):
(JSC):
(NeedsDestructor): Template struct that calculates at compile time whether the class in question requires
destruction or not using the compiler type trait __has_trivial_destructor. allocateCell then checks this
constant to decide whether to allocate in the destructor or destructor-free parts of the heap.
(JSC::allocateCell):
* runtime/JSFunction.cpp:
(JSC):
* runtime/JSFunction.h:
(JSFunction):
* runtime/JSObject.cpp:
(JSC):
* runtime/JSObject.h:
(JSNonFinalObject):
(JSC):
(JSFinalObject):
(JSC::JSFinalObject::create):

Source/WebCore:

No new tests.

* bindings/js/JSDOMWindowShell.cpp: Removed old operator new, which was just used in the create
function so that we can use allocateCell instead.
(WebCore):
* bindings/js/JSDOMWindowShell.h:
(WebCore::JSDOMWindowShell::create):
(JSDOMWindowShell):
* bindings/scripts/CodeGeneratorJS.pm: Added destructor back to root JS DOM nodes (e.g. JSNode, etc)
because their destroy functions need to be called, so we don't want the NeedsDestructor struct to
think they don't need destruction due to having empty/trivial destructors.
Removed ASSERT_HAS_TRIVIAL_DESTRUCTOR from all JS DOM wrapper auto-generated objects because their
ancestors now have non-trivial destructors.
(GenerateHeader):
(GenerateImplementation):
(GenerateConstructorDefinition):

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

8 years ago[chromium] Unreviewed, adding Leopard pixel baselines for
tony@chromium.org [Fri, 10 Feb 2012 22:42:10 +0000 (22:42 +0000)]
[chromium] Unreviewed, adding Leopard pixel baselines for
fast/forms/select-overflow-scroll* tests.  This was missed in r107084.

* platform/chromium-mac-leopard/fast/forms/select-overflow-scroll-expected.png: Added.
* platform/chromium-mac-leopard/fast/forms/select-overflow-scroll-inherited-expected.png: Added.

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

8 years agoRemove a bunch of unused ScrollableArea member functions
andersca@apple.com [Fri, 10 Feb 2012 22:25:10 +0000 (22:25 +0000)]
Remove a bunch of unused ScrollableArea member functions
https://bugs.webkit.org/show_bug.cgi?id=78388

Reviewed by Beth Dakin.

* platform/ScrollableArea.cpp:
* platform/ScrollableArea.h:

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

8 years agoFix a few typos in IDL exception names.
podivilov@chromium.org [Fri, 10 Feb 2012 22:20:53 +0000 (22:20 +0000)]
Fix a few typos in IDL exception names.
https://bugs.webkit.org/show_bug.cgi?id=78356

Reviewed by Adam Barth.

* dom/Node.idl:
* notifications/NotificationCenter.idl:
* page/Navigator.idl:

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

8 years ago[chromium] Unreviewed, fix up some baselines that were landed in r107417.
tony@chromium.org [Fri, 10 Feb 2012 22:19:03 +0000 (22:19 +0000)]
[chromium] Unreviewed, fix up some baselines that were landed in r107417.
Some bad results were checked in.

* platform/chromium-linux-x86/svg/filters/filter-refresh-expected.txt:
* platform/chromium-linux/svg/filters/filter-refresh-expected.txt:
* platform/chromium-linux/svg/text/append-text-node-to-tspan-expected.png:
* platform/chromium-mac-snowleopard/svg/filters/animate-fill-expected.txt: Renamed from LayoutTests/platform/chromium/svg/filters/animate-fill-expected.txt.
* platform/chromium-win-vista/svg/filters/filter-refresh-expected.txt:
* platform/chromium-win-xp/svg/filters/filter-refresh-expected.txt:
* platform/chromium-win-xp/svg/zoom/text/zoom-coords-viewattr-01-b-expected.png: Removed.
* platform/chromium-win/svg/dom/SVGRectElement/rect-modify-rx-expected.png:
* platform/chromium-win/svg/filters/filter-refresh-expected.txt:
* platform/chromium-win/svg/zoom/text/zoom-coords-viewattr-01-b-expected.png:

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

8 years agoDefaultLocalizationStrategy::htmlSelectMultipleItems() should use size_t instead...
benjamin@webkit.org [Fri, 10 Feb 2012 22:17:30 +0000 (22:17 +0000)]
DefaultLocalizationStrategy::htmlSelectMultipleItems() should use size_t instead of int
https://bugs.webkit.org/show_bug.cgi?id=78374

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-02-10
Reviewed by Joseph Pecoraro.

The value comes from size_t and is converted to int for no good reason. We should use
size_t.

* platform/DefaultLocalizationStrategy.cpp:
(WebCore::DefaultLocalizationStrategy::htmlSelectMultipleItems):
* platform/DefaultLocalizationStrategy.h:
(DefaultLocalizationStrategy):

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

8 years agoRemove platform/win/test_expectations.txt
jamesr@google.com [Fri, 10 Feb 2012 22:17:28 +0000 (22:17 +0000)]
Remove platform/win/test_expectations.txt
https://bugs.webkit.org/show_bug.cgi?id=78382

Reviewed by Adam Barth.

This files is unused, since the Apple win port does not use new-run-webkit-tests, and causes unnecessary
confusion.

* platform/win/test_expectations.txt:

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

8 years agoMore ScrollableArea cleanup
andersca@apple.com [Fri, 10 Feb 2012 22:01:16 +0000 (22:01 +0000)]
More ScrollableArea cleanup
https://bugs.webkit.org/show_bug.cgi?id=78383

Reviewed by Beth Dakin.

Get rid of setScrollOriginX and setScrollOriginY. Make ScrollableArea::setScrollOrigin private.

* platform/ScrollView.cpp:
(WebCore::ScrollView::updateScrollbars):
* platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::setScrollOrigin):
* platform/ScrollableArea.h:
(ScrollableArea):

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

8 years agoRename [JSCustomPrototypePutDelegate] to [JSCustomNamedGetterOnPrototype]
haraken@chromium.org [Fri, 10 Feb 2012 21:43:22 +0000 (21:43 +0000)]
Rename [JSCustomPrototypePutDelegate] to [JSCustomNamedGetterOnPrototype]
https://bugs.webkit.org/show_bug.cgi?id=78353

Reviewed by Adam Barth.

[JSCustomPrototypePutDelegate] is used to write custom code for named
getters on a prototype interface. "PutDelegate" is just a method name
in implementation and not so descriptive. This patch renames it to
[JSCustomNamedGetterOnPrototype]. This is also for naming consistency
with [CustomNamedGetter].

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
* page/Location.idl:

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

8 years agoRefactor Mac platform implementation of the Pasteboard class to use Platform Strategies.
enrica@apple.com [Fri, 10 Feb 2012 21:40:02 +0000 (21:40 +0000)]
Refactor Mac platform implementation of the Pasteboard class to use Platform Strategies.
https://bugs.webkit.org/show_bug.cgi?id=78282

This patch removes any accesss to the NSPasteboard object from the Pasteboard class which
now makes use of a new pasteboardStrategy object that is implemented both in WebKit and
WebKit2. The actual access to NSPasteboard is now performed inside the PlatformPasteboard
class. Currently both WebKit and WebKit2 use the same implementation of the PasteboardStrategy
interface but this one more step in the direction of removing access to NSPasteboard from
the WebProcess.
As part of the refactoring the I've reduced to a minimum the use of OBJ-C classes.

Reviewed by Anders Carlsson.

Source/WebCore:

No new tests. No change in behavior, just code refactoring.

* WebCore.exp.in: Added exported class PlatformPasteboard.
* WebCore.xcodeproj/project.pbxproj: Added new files to the build.
* editing/mac/EditorMac.mm:
(WebCore::Editor::writeSelectionToPasteboard): New method signature that doesn't use OBJ-C types.
* platform/Pasteboard.h:

* platform/PasteboardStrategy.h: Added PasteboardStrategy abstract class.
* platform/PlatformPasteboard.h: Added. This class implements access to NSPasteboard.
* platform/PlatformStrategies.h:
(WebCore::PlatformStrategies::pasteboardStrategy): Added.
* platform/mac/DragDataMac.mm:
(WebCore::DragData::canSmartReplace):
(WebCore::insertablePasteboardTypes):
(WebCore::DragData::asURL):
* platform/mac/PasteboardMac.mm:
(WebCore::selectionPasteboardTypes): Changed to use Vector<String> instead of NSArray.
(WebCore::writableTypesForURL): Ditto.
(WebCore::createWritableTypesForImage): Ditto.
(WebCore::writableTypesForImage): Ditto.
(WebCore::Pasteboard::Pasteboard): Removed access to NSPasteboard.
(WebCore::Pasteboard::clear): Modified to use platformStrategies()->pasteboardStrategy().
(WebCore::Pasteboard::writeSelectionForTypes): Ditto.
(WebCore::Pasteboard::writePlainText): Ditto.
(WebCore::Pasteboard::writeSelection): Ditto.
(WebCore::writeURLForTypes): Ditto.
(WebCore::Pasteboard::writeURL): Ditto.
(WebCore::writeFileWrapperAsRTFDAttachment): Ditto.
(WebCore::Pasteboard::writeImage): Ditto.
(WebCore::Pasteboard::writeClipboard): Ditto.
(WebCore::Pasteboard::canSmartReplace): Ditto.
(WebCore::Pasteboard::plainText): Ditto.
(WebCore::documentFragmentWithRTF): Ditto.
(WebCore::Pasteboard::documentFragment): Ditto.
* platform/mac/PlatformPasteboardMac.mm: Added.
(WebCore::PlatformPasteboard::PlatformPasteboard):
(WebCore::PlatformPasteboard::getTypes):
(WebCore::PlatformPasteboard::bufferForType):
(WebCore::PlatformPasteboard::getPathnamesForType):
(WebCore::PlatformPasteboard::stringForType):
(WebCore::PlatformPasteboard::copy):
(WebCore::PlatformPasteboard::setTypes):
(WebCore::PlatformPasteboard::setBufferForType):
(WebCore::PlatformPasteboard::setPathnamesForType):
(WebCore::PlatformPasteboard::setStringForType):

Source/WebKit/mac:

* WebCoreSupport/WebPlatformStrategies.h: Added PasteboardStrategy.
* WebCoreSupport/WebPlatformStrategies.mm: Added implementation of PasteboardStrategy interface.
(WebPlatformStrategies::createPasteboardStrategy):
(WebPlatformStrategies::getTypes):
(WebPlatformStrategies::bufferForType):
(WebPlatformStrategies::getPathnamesForType):
(WebPlatformStrategies::stringForType):
(WebPlatformStrategies::copy):
(WebPlatformStrategies::setTypes):
(WebPlatformStrategies::setBufferForType):
(WebPlatformStrategies::setPathnamesForType):
(WebPlatformStrategies::setStringForType):

Source/WebKit2:

* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added implementation of PasteboardStrategy
interface.
(WebKit::WebPlatformStrategies::createPasteboardStrategy):
(WebKit::WebPlatformStrategies::getTypes):
(WebKit::WebPlatformStrategies::bufferForType):
(WebKit::WebPlatformStrategies::getPathnamesForType):
(WebKit::WebPlatformStrategies::stringForType):
(WebKit::WebPlatformStrategies::copy):
(WebKit::WebPlatformStrategies::setTypes):
(WebKit::WebPlatformStrategies::setBufferForType):
(WebKit::WebPlatformStrategies::setPathnamesForType):
(WebKit::WebPlatformStrategies::setStringForType):
* WebProcess/WebCoreSupport/WebPlatformStrategies.h: Added PasteboardStrategy.

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

8 years ago[chromium] Unreviewed, update SnowLeopard results for
tony@chromium.org [Fri, 10 Feb 2012 21:33:23 +0000 (21:33 +0000)]
[chromium] Unreviewed, update SnowLeopard results for
compositing/geometry/fixed-position-composited.html. Minor differences
in fonts between Leopard and SL.

* platform/chromium-mac-snowleopard/compositing/geometry/fixed-position-composited-page-scale-down-expected.png: Renamed from LayoutTests/platform/chromium/compositing/geometry/fixed-position-composited-page-scale-down-expected.png.
* platform/mac/compositing/geometry/fixed-position-composited-page-scale-down-expected.txt: Removed.

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

8 years agoRename [JSCustomGetOwnPropertySlotDelegate] to [JSCustomGetOwnPropertySlotAndDescriptor]
haraken@chromium.org [Fri, 10 Feb 2012 21:03:13 +0000 (21:03 +0000)]
Rename [JSCustomGetOwnPropertySlotDelegate] to [JSCustomGetOwnPropertySlotAndDescriptor]
https://bugs.webkit.org/show_bug.cgi?id=78352

Reviewed by Adam Barth.

[JSCustomGetOwnPropertySlotDelegate] is used for "flexibly customizable"
named getter. It allows us to write custom code for getOwnPropertySlotDelegate()
and getOwnPropertyDescriptorDelegate(). To clarify that, we can rename
[JSCustomGetOwnPropertySlotDelegate] to [JSCustomGetOwnPropertySlotAndDescriptor].

No tests. No change in behavior.

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

* html/HTMLAppletElement.idl:
* html/HTMLEmbedElement.idl:
* html/HTMLObjectElement.idl:
* page/History.idl:
* page/Location.idl:
* workers/WorkerContext.idl:

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

8 years agoMinor ScrollAnimatorMac cleanup
andersca@apple.com [Fri, 10 Feb 2012 21:00:27 +0000 (21:00 +0000)]
Minor ScrollAnimatorMac cleanup
https://bugs.webkit.org/show_bug.cgi?id=78375

Reviewed by Beth Dakin.

Get rid of adjustScrollXPositionIfNecessary and adjustScrollYPositionIfNecessary.
Also, reduce nesting in willAdd/didAdd functions by using early returns.

* platform/mac/ScrollAnimatorMac.h:
(ScrollAnimatorMac):
* platform/mac/ScrollAnimatorMac.mm:
(WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
(WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
(WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
(WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
(WebCore::ScrollAnimatorMac::immediateScrollBy):

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

8 years agoMinor ScrollableArea cleanup
andersca@apple.com [Fri, 10 Feb 2012 20:49:45 +0000 (20:49 +0000)]
Minor ScrollableArea cleanup
https://bugs.webkit.org/show_bug.cgi?id=78372

Reviewed by Beth Dakin.

Get rid of scrollToXOffsetWithoutAnimation and scrollToYOffsetWithoutAnimation.

* platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::scrollToOffsetWithoutAnimation):
* platform/ScrollableArea.h:
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::computeLogicalHeight):
(WebCore::RenderListBox::scrollToRevealElementAtListIndex):
(WebCore::RenderListBox::setScrollTop):

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

8 years ago[Mac] DYLIB_INSTALL_NAME_BASE should not be prefixed by the SDKROOT
benjamin@webkit.org [Fri, 10 Feb 2012 20:17:49 +0000 (20:17 +0000)]
[Mac] DYLIB_INSTALL_NAME_BASE should not be prefixed by the SDKROOT
https://bugs.webkit.org/show_bug.cgi?id=78320

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-02-10
Reviewed by Joseph Pecoraro.

<rdar://problem/10839750>

Source/WebCore:

* Configurations/WebCore.xcconfig:

Source/WebKit/mac:

* Configurations/WebKit.xcconfig:

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

8 years ago[chromium] Unreviewed, mark compositing/rubberbanding tests as failing.
tony@chromium.org [Fri, 10 Feb 2012 20:15:15 +0000 (20:15 +0000)]
[chromium] Unreviewed, mark compositing/rubberbanding tests as failing.
There's too much flipping in the tests for me to narrow it down to a revision.

* platform/chromium/test_expectations.txt:

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

8 years ago[BlackBerry] Upstream graphics helper classes in WebKitSupport
rwlbuis@webkit.org [Fri, 10 Feb 2012 20:11:47 +0000 (20:11 +0000)]
[BlackBerry] Upstream graphics helper classes in WebKitSupport
https://bugs.webkit.org/show_bug.cgi?id=78278

Reviewed by Antonio Gomes.

Initial upstream, no new tests.

* blackberry/WebKitSupport/RenderQueue.cpp: Added.
* blackberry/WebKitSupport/RenderQueue.h: Added.

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

8 years agoCSS3 calc: update font-size test to use pre/post js
mikelawther@chromium.org [Fri, 10 Feb 2012 20:07:54 +0000 (20:07 +0000)]
CSS3 calc: update font-size test to use pre/post js
https://bugs.webkit.org/show_bug.cgi?id=78325

Reviewed by Ojan Vafai.

* css3/calc/font-size-expected.txt:
* css3/calc/font-size.html:

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

8 years agoUpdate the non-fast-scrollable region for subframe layout as well
andersca@apple.com [Fri, 10 Feb 2012 20:06:32 +0000 (20:06 +0000)]
Update the non-fast-scrollable region for subframe layout as well
https://bugs.webkit.org/show_bug.cgi?id=78366
<rdar://problem/10844064>

Reviewed by Beth Dakin.

* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::computeNonFastScrollableRegion):
Move the non-fast-scrollable region computation out into a new function.

(WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
Always recompute the non-fast-scrollable region whenever a frame view's layout is updated,
not just the main frame.

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

8 years ago[chromium] Unreviewed: The Leopard results were missed in r107140.
tony@chromium.org [Fri, 10 Feb 2012 19:54:42 +0000 (19:54 +0000)]
[chromium] Unreviewed: The Leopard results were missed in r107140.
The getComputedStyle change is due to r107289.

* platform/chromium-mac-leopard/tables/mozilla/bugs/bug23151-expected.png: Added.
* platform/chromium-mac-leopard/tables/mozilla_expected_failures/bugs/bug67915-2-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Added.

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

8 years agoImplement hardware animation of CSS filters
cmarrin@apple.com [Fri, 10 Feb 2012 19:41:35 +0000 (19:41 +0000)]
Implement hardware animation of CSS filters
https://bugs.webkit.org/show_bug.cgi?id=78155

Source/WebCore:

Added logic to PlatformCAAnimation to return enough information
to GraphicsLayerCA to be able to construct a keyPath animation
for each filter property. Some filters need to animate multiple
properties per filter, so PlatformCAAnimation also returns the number
of properties per filter and then an animation is constructed for
each one. Also added all the support logic to handle hardware filter
animation in the higher level logic, just like we do for transforms and
opacity.

Also stubbed out new PlatformCAAnimation functions for Windows. We don't yet
support hardware filters on Windows.

Reviewed by Dean Jackson.

Tests: css3/filters/filter-animation-from-none-hw.html
       css3/filters/filter-animation-from-none-multi-hw.html
       css3/filters/filter-animation-from-none-multi.html
       css3/filters/filter-animation-hw.html
       css3/filters/filter-animation-multi-hw.html
       css3/filters/filter-animation-multi.html

* page/animation/AnimationBase.cpp:
(WebCore):
(PropertyWrapperAcceleratedFilter):
(WebCore::PropertyWrapperAcceleratedFilter::PropertyWrapperAcceleratedFilter):
(WebCore::PropertyWrapperAcceleratedFilter::animationIsAccelerated):
(WebCore::PropertyWrapperAcceleratedFilter::blend):
(WebCore::AnimationBase::ensurePropertyMap):
* platform/graphics/GraphicsLayer.cpp:
(WebCore):
(WebCore::filterOperationsAt):
(WebCore::GraphicsLayer::validateFilterOperations):
* platform/graphics/GraphicsLayer.h:
(WebCore):
(FilterAnimationValue):
(WebCore::FilterAnimationValue::FilterAnimationValue):
(WebCore::FilterAnimationValue::clone):
(WebCore::FilterAnimationValue::value):
(GraphicsLayer):
* platform/graphics/GraphicsLayerClient.h:
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::propertyIdToString):
(WebCore::GraphicsLayerCA::moveOrCopyAnimations):
(WebCore::GraphicsLayerCA::addAnimation):
(WebCore::GraphicsLayerCA::ensureStructuralLayer):
(WebCore::GraphicsLayerCA::createAnimationFromKeyframes):
(WebCore::GraphicsLayerCA::appendToUncommittedAnimations):
(WebCore):
(WebCore::GraphicsLayerCA::createFilterAnimationsFromKeyframes):
(WebCore::GraphicsLayerCA::createBasicAnimation):
(WebCore::GraphicsLayerCA::createKeyframeAnimation):
(WebCore::GraphicsLayerCA::setFilterAnimationEndpoints):
(WebCore::GraphicsLayerCA::setFilterAnimationKeyframes):
(WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
(WebCore::GraphicsLayerCA::cloneLayer):
* platform/graphics/ca/GraphicsLayerCA.h:
(GraphicsLayerCA):
* platform/graphics/ca/PlatformCAAnimation.h:
(PlatformCAAnimation):
* platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
(PlatformCAAnimation::setFromValue):
(PlatformCAAnimation::setToValue):
(PlatformCAAnimation::setValues):
(PlatformCAAnimation::numAnimatedFilterProperties):
(PlatformCAAnimation::animatedFilterPropertyName):
* platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
(PlatformCAAnimation::setFromValue):
(PlatformCAAnimation::setToValue):
(PlatformCAAnimation::setValues):
(PlatformCAAnimation::numAnimatedFilterProperties):
(PlatformCAAnimation::animatedFilterPropertyName):
* platform/graphics/filters/FilterOperation.h:
(FilterOperation):
(WebCore::FilterOperation::isDefault):
(DefaultFilterOperation):
(WebCore::DefaultFilterOperation::create):
(WebCore::DefaultFilterOperation::operator==):
(WebCore::DefaultFilterOperation::isDefault):
(WebCore::DefaultFilterOperation::DefaultFilterOperation):
(WebCore):
* rendering/RenderLayer.h:
(WebCore::RenderLayer::hasFilter):
(RenderLayer):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::startAnimation):
(WebCore::RenderLayerBacking::startTransition):
(WebCore::RenderLayerBacking::graphicsLayerToCSSProperty):
(WebCore::RenderLayerBacking::cssToGraphicsLayerProperty):

LayoutTests:

New tests for hardware animated filters, cribbed from software animation tests.
Also added a -multi test, which uses 3 keyframes for each filter. Hardware animations
use the same logic for 2 keyframe animations and transitions, so this exercises the
other logic path.

Reviewed by Dean Jackson.

* css3/filters/filter-animation-from-none-hw-expected.txt: Added.
* css3/filters/filter-animation-from-none-hw.html: Added.
* css3/filters/filter-animation-from-none-multi-expected.txt: Added.
* css3/filters/filter-animation-from-none-multi-hw-expected.txt: Added.
* css3/filters/filter-animation-from-none-multi-hw.html: Added.
* css3/filters/filter-animation-from-none-multi.html: Added.
* css3/filters/filter-animation-hw-expected.txt: Added.
* css3/filters/filter-animation-hw.html: Added.
* css3/filters/filter-animation-multi-expected.txt: Added.
* css3/filters/filter-animation-multi-hw-expected.txt: Added.
* css3/filters/filter-animation-multi-hw.html: Added.
* css3/filters/filter-animation-multi.html: Added.

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

8 years agoRemove implicit copy constructor usage in HashMaps with OwnPtr
enne@google.com [Fri, 10 Feb 2012 19:36:38 +0000 (19:36 +0000)]
Remove implicit copy constructor usage in HashMaps with OwnPtr
https://bugs.webkit.org/show_bug.cgi?id=78071

Reviewed by Darin Adler.

Change the return type of emptyValue() in PairHashTraits to be the
actual type returned rather than the trait type to avoid an implicit
generation of the OwnPtr copy constructor. This happens for hash
traits involving OwnPtr where the empty value is not zero and each
hash bucket needs to be initialized with emptyValue().

Also, update StructureTransitionTable to use default hash traits
rather than rolling its own, in order to update it to handle
EmptyValueType.

Test: patch from bug 74154 compiles on Clang with this patch

* runtime/StructureTransitionTable.h:
(StructureTransitionTable):
* wtf/HashTraits.h:
(GenericHashTraits):
(PairHashTraits):
(WTF::PairHashTraits::emptyValue):

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

8 years agoCSS3 calc: convert font test to use pre/post js
mikelawther@chromium.org [Fri, 10 Feb 2012 19:33:59 +0000 (19:33 +0000)]
CSS3 calc: convert font test to use pre/post js
https://bugs.webkit.org/show_bug.cgi?id=78321

Reviewed by Ojan Vafai.

* css3/calc/font-expected.txt:
* css3/calc/font.html:

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

8 years ago[chromium] Unreviewed: Add baselines on Mac for 2 tests that got
tony@chromium.org [Fri, 10 Feb 2012 19:31:47 +0000 (19:31 +0000)]
[chromium] Unreviewed: Add baselines on Mac for 2 tests that got
missed in the jpeg change (r107389). I verified that the only diffs
were in the jpeg and very minor.

* platform/chromium-mac-leopard/tables/mozilla/bugs/bug101674-expected.png:
* platform/chromium-mac-leopard/tables/mozilla/bugs/bug86708-expected.png:
* platform/chromium-mac-snowleopard/tables/mozilla/bugs/bug101674-expected.png:
* platform/chromium-mac-snowleopard/tables/mozilla/bugs/bug86708-expected.png:

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

8 years ago[chromium] Unreviewed: Give fast/js/dfg-int8array.html more time to run in debug.
tony@chromium.org [Fri, 10 Feb 2012 19:20:57 +0000 (19:20 +0000)]
[chromium] Unreviewed: Give fast/js/dfg-int8array.html more time to run in debug.

The flakiness dashboard show it timing out regularly on Mac and occasionally on Windows.

* platform/chromium/test_expectations.txt:

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

8 years agoMassive SVG rebaselining on Chromium after bug 77736 and al.
jchaffraix@webkit.org [Fri, 10 Feb 2012 19:16:39 +0000 (19:16 +0000)]
Massive SVG rebaselining on Chromium after bug 77736 and al.

Output trimmed.

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

8 years agoNRWT should categorize options in --help
timothy_horton@apple.com [Fri, 10 Feb 2012 18:50:53 +0000 (18:50 +0000)]
NRWT should categorize options in --help
https://bugs.webkit.org/show_bug.cgi?id=76221

Reviewed by Eric Seidel.

Use optparse's OptionGroup mechanism to logically group NRWT's options,
providing a better experience when scanning all the options.

* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args):

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

8 years agoWeb Inspector: CodeGeneratorInspector.py: properly resolve output types of commands
commit-queue@webkit.org [Fri, 10 Feb 2012 18:39:58 +0000 (18:39 +0000)]
Web Inspector: CodeGeneratorInspector.py: properly resolve output types of commands
https://bugs.webkit.org/show_bug.cgi?id=78025

Patch by Peter Rybin <peter.rybin@gmail.com> on 2012-02-10
Reviewed by Vsevolod Vlasov.

Code for generating ad-hoc types is added. It was reused from event
generator part.

* inspector/CodeGeneratorInspector.py:
(Generator.process_event):
(Generator.process_command):
(Generator.resolve_type_and_generate_ad_hoc):
(Generator.resolve_type_and_generate_ad_hoc.AdHocTypeContext):
(Generator.resolve_type_and_generate_ad_hoc.AdHocTypeContext.get_type_name_fix):
(Generator.resolve_type_and_generate_ad_hoc.AdHocTypeContext.get_type_name_fix.NameFix):
(Generator.resolve_type_and_generate_ad_hoc.AdHocTypeContext.get_type_name_fix.NameFix.output_comment):
(Generator.resolve_type_and_generate_ad_hoc.AdHocTypeContext.add_type):
(Generator.resolve_type_and_generate_ad_hoc.InterfaceForwardListener):
(Generator.resolve_type_and_generate_ad_hoc.InterfaceForwardListener.add_type_data):
(Generator.resolve_type_and_generate_ad_hoc.InterfaceResolveContext):
(Generator.resolve_type_and_generate_ad_hoc.InterfaceGenerateContext):
(Generator):

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

8 years agoRename [CustomPropertyNames] to [CustomEnumerateProperty]
haraken@chromium.org [Fri, 10 Feb 2012 18:28:34 +0000 (18:28 +0000)]
Rename [CustomPropertyNames] to [CustomEnumerateProperty]
https://bugs.webkit.org/show_bug.cgi?id=78351

Reviewed by Adam Barth.

This patch renames [CustomPropertyNames] to [CustomEnumerateProperty],
for clarification and for naming consistency with [CustomDeleteProperty].

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeaderNamedAndIndexedPropertyAccessors):
(GenerateImplementationNamedPropertyGetter):

* css/CSSStyleDeclaration.idl:
* dom/DOMStringMap.idl:
* page/DOMWindow.idl:
* page/History.idl:
* page/Location.idl:
* storage/Storage.idl:

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

8 years agoUse underlying property set to refcount PropertySetCSSStyleDeclaration
antti@apple.com [Fri, 10 Feb 2012 18:22:24 +0000 (18:22 +0000)]
Use underlying property set to refcount PropertySetCSSStyleDeclaration
https://bugs.webkit.org/show_bug.cgi?id=78257

Reviewed by Andreas Kling.

Clean up the PropertySetCSSStyleDeclaration refcounting. PropertySetCSSStyleDeclaration now
forwards the ref/deref to the underlying StylePropertySet.

Also made CSSComputedStyleDeclaration construction use the standard create() pattern.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::ref):
(WebCore):
(WebCore::CSSComputedStyleDeclaration::deref):
* css/CSSComputedStyleDeclaration.h:
(WebCore::CSSComputedStyleDeclaration::create):
(CSSComputedStyleDeclaration):
(WebCore):
* css/CSSStyleDeclaration.h:
(CSSStyleDeclaration):
* css/StylePropertySet.cpp:
(WebCore::PropertySetCSSStyleDeclaration::PropertySetCSSStyleDeclaration):
(WebCore):
(WebCore::StylePropertySet::~StylePropertySet):
(WebCore::StylePropertySet::ensureCSSStyleDeclaration):
(WebCore::PropertySetCSSStyleDeclaration::makeMutable):
* css/StylePropertySet.h:
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi):
(WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
(WebCore::highestEmbeddingAncestor):
(WebCore::ApplyStyleCommand::computedFontSize):
* editing/EditingStyle.cpp:
(WebCore::EditingStyle::init):
(WebCore::EditingStyle::removeStyleAddedByNode):
(WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode):
(WebCore::EditingStyle::triStateOfStyle):
(WebCore::EditingStyle::styleIsPresentInComputedStyleOfNode):
(WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
(WebCore::backgroundColorInEffect):
* editing/Editor.cpp:
(WebCore::Editor::textDirectionForSelection):
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::getComputedStyleForNode):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::getComputedStyle):
* svg/SVGAnimateElement.cpp:
(WebCore::getPropertyValue):
* svg/animation/SMILTimeContainer.cpp:
(WebCore::SMILTimeContainer::baseValueFor):

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