WebKit-https.git
8 years ago[EFL] accessibility/loading-iframe-sends-notification.html is failing
commit-queue@webkit.org [Wed, 25 Sep 2013 11:02:23 +0000 (11:02 +0000)]
[EFL] accessibility/loading-iframe-sends-notification.html is failing
https://bugs.webkit.org/show_bug.cgi?id=112003

Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-09-25
Reviewed by Mario Sanchez Prada.

Source/WebCore:

Enabled AXLayoutComplete on EFL platform.

* dom/Document.cpp:
(WebCore::Document::implicitClose):
* page/FrameView.cpp:
(WebCore::FrameView::layout):

Tools:

Enabled addNotificationListener and removeNotificationListener for EFL port.

* WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
* WebKitTestRunner/InjectedBundle/atk/AccessibilityControllerAtk.cpp:
(WTR::AccessibilityController::removeNotificationListener):

LayoutTests:

* platform/efl-wk1/TestExpectations: Removed loading-iframe-sends-notification.html.
* platform/efl-wk2/TestExpectations: Removed loading-iframe-sends-notification.html.

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

8 years agoRemove erroneous reference to libWTF.a in the WebKit2 Xcode project file.
weinig@apple.com [Wed, 25 Sep 2013 05:38:32 +0000 (05:38 +0000)]
Remove erroneous reference to libWTF.a in the WebKit2 Xcode project file.

Rubber-stamped by Alexey Proskuryakov.

* WebKit2.xcodeproj/project.pbxproj:

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

8 years agoRemove the Windows-specific rules from WebKit2's DerivedSources.make, Windows is...
weinig@apple.com [Wed, 25 Sep 2013 05:37:06 +0000 (05:37 +0000)]
Remove the Windows-specific rules from WebKit2's DerivedSources.make, Windows is not supported anymore
https://bugs.webkit.org/show_bug.cgi?id=121895

Reviewed by Alexey Proskuryakov.

* DerivedSources.make:
Remove Windows-specific rules, and, now that only the Mac is using this file, remove the
Mac checks.

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

8 years agoUnreviewed, rolling out r156379.
commit-queue@webkit.org [Wed, 25 Sep 2013 05:22:59 +0000 (05:22 +0000)]
Unreviewed, rolling out r156379.
http://trac.webkit.org/changeset/156379
https://bugs.webkit.org/show_bug.cgi?id=121894

Caused many assertion failures (Requested by ap on #webkit).

* css/CSSValue.cpp:
(WebCore::CSSValue::destroy):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
(WebCore::StyleResolver::createFilterOperations):
* css/TransformFunctions.cpp:
(WebCore::transformsForValue):
* css/WebKitCSSArrayFunctionValue.h:
* css/WebKitCSSFilterValue.h:
* css/WebKitCSSMatFunctionValue.h:
* css/WebKitCSSMixFunctionValue.h:
* css/WebKitCSSSVGDocumentValue.h:
* css/WebKitCSSShaderValue.h:
(WebCore::toWebKitCSSShaderValue):
* css/WebKitCSSTransformValue.h:

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

8 years agoCrash in Document::setFocusedElement
rniwa@webkit.org [Wed, 25 Sep 2013 03:34:56 +0000 (03:34 +0000)]
Crash in Document::setFocusedElement
https://bugs.webkit.org/show_bug.cgi?id=121888

Reviewed by Andreas Kling.

Source/WebCore:

Merge https://chromium.googlesource.com/chromium/blink/+/4a594a3de7d9761462b55fb27a6850d767419af2

The crash was caused by attempting to call Chrome:focusedNodeChanged() after m_page had already
been cleared. This could happen when blur's event handler removes the iframe from which
the focus had been moved. Fixed the bug by adding a null pointer check.

Test: fast/events/blur-remove-parent-crash.html

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

LayoutTests:

* fast/events/blur-remove-parent-crash-expected.txt: Added.
* fast/events/blur-remove-parent-crash.html: Added.

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

8 years agoRemove HTMLContentElement
antti@apple.com [Wed, 25 Sep 2013 03:09:41 +0000 (03:09 +0000)]
Remove HTMLContentElement
https://bugs.webkit.org/show_bug.cgi?id=121891

Reviewed by Andreas Kling.

Remove an unsused Shadow DOM type.

* DerivedSources.make:
* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* html/HTMLDetailsElement.cpp:
* html/HTMLSummaryElement.cpp:
* html/HTMLTagNames.in:
* html/shadow/ContentDistributor.cpp:
* html/shadow/HTMLContentElement.cpp: Removed.
* html/shadow/HTMLContentElement.h: Removed.
* html/shadow/HTMLContentElement.idl: Removed.
* html/shadow/InsertionPoint.h:
(WebCore::InsertionPoint::matchTypeFor):
* testing/Internals.cpp:
* testing/Internals.h:
* testing/Internals.idl:

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

8 years agoRemove a contradiction from SelectorChecker
benjamin@webkit.org [Wed, 25 Sep 2013 01:18:49 +0000 (01:18 +0000)]
Remove a contradiction from SelectorChecker
https://bugs.webkit.org/show_bug.cgi?id=121881

Reviewed by Andreas Kling.

The matching code for PseudoHover and PseudoActive is done on the current
selector pseudo type. The current selector match type must be CSSSelector::PseudoClass
in order to reach this code. Consequently, selector->m_match == CSSSelector::Tag can
never be true.

* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne):

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

8 years agoAdd toWebKitCSS*Value functions to cast from CSSValue
gyuyoung.kim@samsung.com [Wed, 25 Sep 2013 01:17:53 +0000 (01:17 +0000)]
Add toWebKitCSS*Value functions to cast from CSSValue
https://bugs.webkit.org/show_bug.cgi?id=121776

Reviewed by Darin Adler.

CSS_VALUE_TYPE_CASTS can't cover WebKitCSS*Value classes. So, this patch adds toWebKitCSS*Value manually.

No new tests, no behavior change.

* css/CSSValue.cpp:
(WebCore::CSSValue::destroy):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
(WebCore::StyleResolver::createFilterOperations):
* css/TransformFunctions.cpp:
(WebCore::transformsForValue):
* css/WebKitCSSArrayFunctionValue.h:
(WebCore::toWebKitCSSArrayFunctionValue):
* css/WebKitCSSFilterValue.h:
(WebCore::toWebKitCSSFilterValue):
* css/WebKitCSSMatFunctionValue.h:
(WebCore::toWebKitCSSMatFunctionValue):
* css/WebKitCSSMixFunctionValue.h:
(WebCore::toWebKitCSSMixFunctionValue):
* css/WebKitCSSSVGDocumentValue.h:
(WebCore::toWebKitCSSSVGDocumentValue):
* css/WebKitCSSShaderValue.h:
(WebCore::toWebKitCSSShaderValue):
* css/WebKitCSSTransformValue.h:
(WebCore::toWebKitCSSTransformValue):

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

8 years agoOnly allow rvalues to be passed as synchronous message replies
andersca@apple.com [Wed, 25 Sep 2013 01:03:31 +0000 (01:03 +0000)]
Only allow rvalues to be passed as synchronous message replies
https://bugs.webkit.org/show_bug.cgi?id=121870

Reviewed by Andreas Kling.

This lets us get rid of a nasty const cast and is more logical.

* Platform/CoreIPC/Connection.h:
(CoreIPC::Connection::sendSync):
* Platform/CoreIPC/MessageSender.h:
(CoreIPC::MessageSender::send):
(CoreIPC::MessageSender::sendSync):
* Shared/ChildProcessProxy.h:
(WebKit::ChildProcessProxy::sendSync):

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

8 years agoClean up some uses of first/lastChildSlow
antti@apple.com [Wed, 25 Sep 2013 01:01:17 +0000 (01:01 +0000)]
Clean up some uses of first/lastChildSlow
https://bugs.webkit.org/show_bug.cgi?id=121882

Reviewed by Andreas Kling.

Tighten typing and use first/lastChild instead.

* dom/Position.cpp:
(WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
(WebCore::Position::isCandidate):
(WebCore::Position::getInlineBoxAndOffset):
* dom/Position.h:
* dom/PositionIterator.cpp:
(WebCore::PositionIterator::isCandidate):
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
* rendering/RenderBlock.cpp:
(WebCore::canMergeAnonymousBlock):
(WebCore::canMergeContiguousAnonymousBlocks):
(WebCore::RenderBlock::firstLineBlock):
(WebCore::RenderBlock::updateFirstLetter):
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::setRegionObjectsRegionStyle):
(WebCore::RenderRegion::computeChildrenStyleInRegion):
* rendering/RenderRegion.h:
* rendering/RenderRuby.cpp:
(WebCore::rubyBeforeBlock):
(WebCore::rubyAfterBlock):
(WebCore::lastRubyRun):
* rendering/RenderTreeAsText.cpp:
(WebCore::write):
(WebCore::writeCounterValuesFromChildren):
* rendering/svg/RenderSVGText.cpp:
(WebCore::findPreviousAndNextAttributes):
* style/StyleResolveTree.cpp:
(WebCore::Style::textRendererIsNeeded):

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

8 years agoop_get_callee shouldn't use value profiling
mhahnenberg@apple.com [Wed, 25 Sep 2013 00:37:57 +0000 (00:37 +0000)]
op_get_callee shouldn't use value profiling
https://bugs.webkit.org/show_bug.cgi?id=121821

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

Currently it's one of the two opcodes that uses m_singletonValue, which is unnecessary.
Our current plan is to remove m_singletonValue so that GenGC can have a simpler story
for handling CodeBlocks/FunctionExecutables during nursery collections.

Instead of using a ValueProfile op_get_callee now has a simple inline cache of the most
recent JSFunction that we saw.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::finalizeUnconditionally):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitCreateThis):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* jit/JIT.cpp:
(JSC::JIT::privateCompileSlowCases):
* jit/JIT.h:
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_get_callee):
(JSC::JIT::emitSlow_op_get_callee):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_get_callee):
(JSC::JIT::emitSlow_op_get_callee):
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
* runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
* runtime/CommonSlowPaths.h:

LayoutTests:

Added two tests to make sure we didn't regress the performance of op_get_callee.

* js/regress/get_callee_monomorphic-expected.txt: Added.
* js/regress/get_callee_monomorphic.html: Added.
* js/regress/get_callee_polymorphic-expected.txt: Added.
* js/regress/get_callee_polymorphic.html: Added.
* js/regress/script-tests/get_callee_monomorphic.js: Added.
* js/regress/script-tests/get_callee_polymorphic.js: Added.

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

8 years agoinitial commit
betravis@adobe.com [Wed, 25 Sep 2013 00:14:46 +0000 (00:14 +0000)]
initial commit

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

8 years agoChange JSC debug hooks to pass a CallFrame* instead of a DebuggerCallFrame.
mark.lam@apple.com [Tue, 24 Sep 2013 23:52:57 +0000 (23:52 +0000)]
Change JSC debug hooks to pass a CallFrame* instead of a DebuggerCallFrame.
https://bugs.webkit.org/show_bug.cgi?id=121867.

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

1. Removed the need for passing the line and column info to the debug hook
   callbacks. We now get the line and column info from the CallFrame.

2. Simplify BytecodeGenerator::emitDebugHook() to only take 1 line number
   argument. The caller can determine whether to pass in the first or last
   line number of the block of source code as appropriate.
   Note: we still need to pass in the line and column info to emitDebugHook()
   because it uses this info to emit expression info which is later used by
   the StackVisitor to determine the line and column info for its "pc".

3. Pass the exceptionValue explicitly to the exception() debug hook
   callback. It should not be embedded in the CallFrame / DebuggerCallFrame.

4. Change the op_debug opcode size to 2 (from 5) since we've removing 3 arg
   values. Update the LLINT and JIT code to handle this.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::CodeBlock):
* bytecode/Opcode.h:
(JSC::padOpcodeName):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitDebugHook):
* bytecompiler/BytecodeGenerator.h:
* bytecompiler/NodesCodegen.cpp:
(JSC::ConstStatementNode::emitBytecode):
(JSC::EmptyStatementNode::emitBytecode):
(JSC::DebuggerStatementNode::emitBytecode):
(JSC::ExprStatementNode::emitBytecode):
(JSC::VarStatementNode::emitBytecode):
(JSC::IfElseNode::emitBytecode):
(JSC::DoWhileNode::emitBytecode):
(JSC::WhileNode::emitBytecode):
(JSC::ForNode::emitBytecode):
(JSC::ForInNode::emitBytecode):
(JSC::ContinueNode::emitBytecode):
(JSC::BreakNode::emitBytecode):
(JSC::ReturnNode::emitBytecode):
(JSC::WithNode::emitBytecode):
(JSC::SwitchNode::emitBytecode):
(JSC::LabelNode::emitBytecode):
(JSC::ThrowNode::emitBytecode):
(JSC::TryNode::emitBytecode):
(JSC::ProgramNode::emitBytecode):
(JSC::EvalNode::emitBytecode):
(JSC::FunctionBodyNode::emitBytecode):
* debugger/Debugger.h:
* debugger/DebuggerCallFrame.cpp:
(JSC::LineAndColumnFunctor::operator()):
(JSC::LineAndColumnFunctor::line):
(JSC::LineAndColumnFunctor::column):
(JSC::DebuggerCallFrame::DebuggerCallFrame):
(JSC::DebuggerCallFrame::clear):
* debugger/DebuggerCallFrame.h:
(JSC::DebuggerCallFrame::line):
(JSC::DebuggerCallFrame::column):
* interpreter/Interpreter.cpp:
(JSC::unwindCallFrame):
(JSC::UnwindFunctor::UnwindFunctor):
(JSC::UnwindFunctor::operator()):
(JSC::Interpreter::unwind):
(JSC::Interpreter::debug):
* interpreter/Interpreter.h:
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_debug):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_debug):
* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
* llint/LowLevelInterpreter.asm:

Source/WebCore:

No new tests.

* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::createCallFrame):
(WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
(WebCore::ScriptDebugServer::callEvent):
(WebCore::ScriptDebugServer::atStatement):
(WebCore::ScriptDebugServer::returnEvent):
(WebCore::ScriptDebugServer::exception):
(WebCore::ScriptDebugServer::willExecuteProgram):
(WebCore::ScriptDebugServer::didExecuteProgram):
(WebCore::ScriptDebugServer::didReachBreakpoint):
* bindings/js/ScriptDebugServer.h:
* bindings/js/WorkerScriptDebugServer.cpp:
(WebCore::WorkerScriptDebugServer::willExecuteProgram):
* bindings/js/WorkerScriptDebugServer.h:

Source/WebKit/mac:

* WebView/WebScriptDebugDelegate.mm:
(-[WebScriptCallFrame _initWithGlobalObject:debuggerCallFrame:exceptionValue:JSC::]):
(-[WebScriptCallFrame exception]):
* WebView/WebScriptDebugger.h:
* WebView/WebScriptDebugger.mm:
(WebScriptDebugger::exception):

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

8 years agowebgl/conformance/extensions/oes-element-index-uint.html failing after r156351 or...
dino@apple.com [Tue, 24 Sep 2013 23:47:57 +0000 (23:47 +0000)]
webgl/conformance/extensions/oes-element-index-uint.html failing after r156351 or 156352
https://bugs.webkit.org/show_bug.cgi?id=121863
<rdar://problem/15069481>

Reviewed by Beth Dakin.

This test was not querying the vertex attribute locations
before binding data to them. When we enabled symbol mangling
we started seeing attributes appear in a different order
than the order defined in the shader source. Update this test
to ask getAttribLocation first.

Note that there are two important issues.

Firstly, this is updating our local copy of the Khronos test.
I've opened pull request #377 to get it addressed in the source.
https://github.com/KhronosGroup/WebGL/pull/377

Secondly, this indicates that we might have a lot of problems
with existing content that does not expect the order of
attributes to change.

* webgl/resources/webgl_test_files/conformance/extensions/oes-element-index-uint.html:
* TestExpectations: Unskip test.

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

8 years agoMove keyboard event dispatch from Node to Element.
akling@apple.com [Tue, 24 Sep 2013 23:39:51 +0000 (23:39 +0000)]
Move keyboard event dispatch from Node to Element.
<https://webkit.org/b/121873>

Reviewed by Antti Koivisto.

We only dispatch keyboard events on Elements so that logic shouldn't be in Node.

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

    Reworked to return Element instead of Node.

* dom/Document.h:
* dom/Element.h:
* dom/Element.cpp:
(WebCore::Element::dispatchKeyEvent):

    Moved from Node to Element.

* editing/AlternativeTextController.cpp:
(WebCore::AlternativeTextController::insertDictatedText):
* page/EventHandler.cpp:
(WebCore::EventHandler::keyEvent):
(WebCore::EventHandler::handleTextInputEvent):

    Adjusted for above changes.

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

8 years agoCrashing under JSC::DFG::SpeculativeJIT::spill visiting citicards.com
fpizlo@apple.com [Tue, 24 Sep 2013 23:27:51 +0000 (23:27 +0000)]
Crashing under JSC::DFG::SpeculativeJIT::spill visiting citicards.com
https://bugs.webkit.org/show_bug.cgi?id=121844

Source/JavaScriptCore:

Reviewed by Mark Hahnenberg.

Fix some int52 bugs that caused this.

* bytecode/ValueRecovery.h:
(JSC::ValueRecovery::dumpInContext): There's no such thing as int53.
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::spill): Actually spill int52's, instead of hitting an assert and crashing.
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::fillSpeculateInt32Internal): Use the right format (from before when we clobber it).

Tools:

Reviewed by Mark Hahnenberg.

* Scripts/run-javascriptcore-tests: Be more clear about what test suite failed.

LayoutTests:

Reviewed by Mark Hahnenberg.

* js/dfg-int52-spill-expected.txt: Added.
* js/dfg-int52-spill-trickier-expected.txt: Added.
* js/dfg-int52-spill-trickier.html: Added.
* js/dfg-int52-spill.html: Added.
* js/script-tests/dfg-int52-spill-trickier.js: Added.
(foo):
* js/script-tests/dfg-int52-spill.js: Added.
(foo):

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

8 years agoFlaky Test: compositing/reflections/load-video-in-reflection.html
ap@apple.com [Tue, 24 Sep 2013 23:18:05 +0000 (23:18 +0000)]
Flaky Test: compositing/reflections/load-video-in-reflection.html
https://bugs.webkit.org/show_bug.cgi?id=117427

* platform/mac/TestExpectations: Marking the test accordingly.

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

8 years agoUnreviewed buildfix.
ossy@webkit.org [Tue, 24 Sep 2013 23:00:12 +0000 (23:00 +0000)]
Unreviewed buildfix.

* UIProcess/WebNetworkInfoManagerProxy.h:

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

8 years agoFix Mac build now.
ap@apple.com [Tue, 24 Sep 2013 22:57:31 +0000 (22:57 +0000)]
Fix Mac build now.

* UIProcess/WebContext.messages.in:

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

8 years agoSVG Animations are flaky
ap@apple.com [Tue, 24 Sep 2013 22:45:36 +0000 (22:45 +0000)]
SVG Animations are flaky
https://bugs.webkit.org/show_bug.cgi?id=107018

* platform/mac-wk2/TestExpectations: Marked some frequently failing tests

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

8 years agoUnreviewed buildfix after r156350.
ossy@webkit.org [Tue, 24 Sep 2013 22:40:55 +0000 (22:40 +0000)]
Unreviewed buildfix after r156350.

* UIProcess/WebContext.messages.in:

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

8 years ago[Mac][WK2] Multiple font tests fail is there is a global setting for font antialiasin...
ap@apple.com [Tue, 24 Sep 2013 22:35:23 +0000 (22:35 +0000)]
[Mac][WK2] Multiple font tests fail is there is a global setting for font antialiasing threshold
https://bugs.webkit.org/show_bug.cgi?id=121854

Reviewed by Anders Carlsson.

* WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm:
(WTR::InjectedBundle::platformInitialize): Post a notification to update cached
settings in underlying frameworks.

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

8 years ago[CSS Shapes] Modify updateSegmentsForShapes function to use logical coordinates
zoltan@webkit.org [Tue, 24 Sep 2013 22:24:39 +0000 (22:24 +0000)]
[CSS Shapes] Modify updateSegmentsForShapes function to use logical coordinates
https://bugs.webkit.org/show_bug.cgi?id=121864

Reviewed by David Hyatt.

When I landed updateSegmentsForShapes in r156022, I didn't use logical coordinates. This change modifies the
code to use coordinates for positioning the float and the content around the float in a shape-inside. Now I
added only one writing mode tests, but I will add more later in bug #121866.

Source/WebCore:

Test: fast/shapes/shape-inside/shape-inside-left-float-in-upper-left-triangle-vertical-lr-inline-content.html

* rendering/FloatingObjects.h:
(WebCore::FloatingObject::logicalHeight):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::computeLogicalLocationForFloat):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::updateSegmentsForShapes):

LayoutTests:

* fast/shapes/shape-inside/shape-inside-left-float-in-upper-left-triangle-vertical-lr-inline-content-expected.html: Added.
* fast/shapes/shape-inside/shape-inside-left-float-in-upper-left-triangle-vertical-lr-inline-content.html: Added.

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

8 years agoUnreviewed buildfix after r156354 and r156360.
ossy@webkit.org [Tue, 24 Sep 2013 22:18:17 +0000 (22:18 +0000)]
Unreviewed buildfix after r156354 and r156360.

* Platform/CoreIPC/unix/ConnectionUnix.cpp:
(CoreIPC::Connection::processMessage):
(CoreIPC::Connection::sendOutgoingMessage):

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

8 years agoFlaky Test: fast/history/history-subframe-with-name.html
ap@apple.com [Tue, 24 Sep 2013 22:09:19 +0000 (22:09 +0000)]
Flaky Test: fast/history/history-subframe-with-name.html
https://bugs.webkit.org/show_bug.cgi?id=51039

Reviewed by Anders Carlsson.

Speculative fix, I could not reproduce locally.

* fast/history/resources/history-subframe-with-name-container.html: Added a check
that onunload trick worked.

* fast/history/resources/history-subframe-with-name-2.html: Starting the navigation
used to race with loading another iframe in the parent. Wait until the parent loads.

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

8 years agoUnreviewed buildfix after r156349.
ossy@webkit.org [Tue, 24 Sep 2013 21:51:00 +0000 (21:51 +0000)]
Unreviewed buildfix after r156349.

* Platform/CoreIPC/unix/ConnectionUnix.cpp:
(CoreIPC::Connection::processMessage):

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

8 years agoUse std::unique_ptr for decoders as well
andersca@apple.com [Tue, 24 Sep 2013 21:46:18 +0000 (21:46 +0000)]
Use std::unique_ptr for decoders as well
https://bugs.webkit.org/show_bug.cgi?id=121868

Reviewed by Andreas Kling.

* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::SyncMessageState::processIncomingMessage):
(CoreIPC::Connection::SyncMessageState::dispatchMessages):
(CoreIPC::Connection::waitForMessage):
(CoreIPC::Connection::sendSyncMessage):
(CoreIPC::Connection::sendSyncMessageFromSecondaryThread):
(CoreIPC::Connection::waitForSyncReply):
(CoreIPC::Connection::processIncomingSyncReply):
(CoreIPC::Connection::processIncomingMessage):
(CoreIPC::Connection::enqueueIncomingMessage):
(CoreIPC::Connection::dispatchMessage):
(CoreIPC::Connection::dispatchOneMessage):
* Platform/CoreIPC/Connection.h:
(CoreIPC::Connection::sendSync):
(CoreIPC::Connection::waitForAndDispatchImmediately):
* Platform/CoreIPC/mac/ConnectionMac.cpp:
(CoreIPC::createMessageDecoder):
(CoreIPC::Connection::receiveSourceEventHandler):
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::postSynchronousMessage):

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

8 years agoRemove IDBTransactionCallbacks.h from the .xcodeproj, as it's gone from the repository.
beidson@apple.com [Tue, 24 Sep 2013 21:25:58 +0000 (21:25 +0000)]
Remove IDBTransactionCallbacks.h from the .xcodeproj, as it's gone from the repository.

Rubberstamped by Anders Carlsson and Alexey Proskuryakov.

* WebCore.xcodeproj/project.pbxproj:

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

8 years agoWeb Inspector: Using Breakpoint Actions Breaks iOS inspection
commit-queue@webkit.org [Tue, 24 Sep 2013 21:23:33 +0000 (21:23 +0000)]
Web Inspector: Using Breakpoint Actions Breaks iOS inspection
https://bugs.webkit.org/show_bug.cgi?id=121862

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-09-24
Reviewed by Timothy Hatcher.

Only use DebuggerAgent.BreakpointActionType if it is available.
Otherwise leave options undefined for breakpoints since the backend
does not support it.

* UserInterface/DebuggerManager.js:
(WebInspector.DebuggerManager.prototype._setBreakpoint):

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

8 years agoWeb Inspector: Include iOS 7 Inspector.json Version
commit-queue@webkit.org [Tue, 24 Sep 2013 21:19:23 +0000 (21:19 +0000)]
Web Inspector: Include iOS 7 Inspector.json Version
https://bugs.webkit.org/show_bug.cgi?id=121852

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-09-24
Reviewed by Timothy Hatcher.

* UserInterface/Legacy/7.0/InspectorBackendCommands.js: Added.
* Versions/Inspector-iOS-7.0.json: Added.

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

8 years agowebgl/conformance/extensions/oes-element-index-uint.html failing after r156351 or...
dino@apple.com [Tue, 24 Sep 2013 20:50:39 +0000 (20:50 +0000)]
webgl/conformance/extensions/oes-element-index-uint.html failing after r156351 or 156352
https://bugs.webkit.org/show_bug.cgi?id=121863
<rdar://problem/15069481>

Temporarily skipped while investigating.

* TestExpectations:

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

8 years agoTighten table rendering code
antti@apple.com [Tue, 24 Sep 2013 20:47:01 +0000 (20:47 +0000)]
Tighten table rendering code
https://bugs.webkit.org/show_bug.cgi?id=121860

Reviewed by Andreas Kling.

Hide firstChild/lastChild/nextSibling/previousSibling in table renderers,
expose correctly typed firstRow/nextCell etc instead.

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

8 years agoMove MessageEncoder and ArgumentEncoder to std::unique_ptr
andersca@apple.com [Tue, 24 Sep 2013 20:41:34 +0000 (20:41 +0000)]
Move MessageEncoder and ArgumentEncoder to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=121861

Reviewed by Andreas Kling.

* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::didReceiveSyncMessage):
* NetworkProcess/NetworkConnectionToWebProcess.h:
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::didReceiveSyncMessage):
* NetworkProcess/NetworkProcess.h:
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::dispatchWorkQueueMessageReceiverMessage):
(CoreIPC::Connection::createSyncMessageEncoder):
(CoreIPC::Connection::sendMessage):
(CoreIPC::Connection::sendSyncReply):
(CoreIPC::Connection::sendSyncMessage):
(CoreIPC::Connection::sendSyncMessageFromSecondaryThread):
(CoreIPC::Connection::sendOutgoingMessages):
(CoreIPC::Connection::dispatchSyncMessage):
* Platform/CoreIPC/Connection.h:
(CoreIPC::Connection::send):
(CoreIPC::Connection::sendSync):
* Platform/CoreIPC/HandleMessage.h:
(CoreIPC::handleMessageDelayed):
* Platform/CoreIPC/MessageReceiver.h:
(CoreIPC::MessageReceiver::didReceiveSyncMessage):
* Platform/CoreIPC/MessageReceiverMap.cpp:
(CoreIPC::MessageReceiverMap::dispatchSyncMessage):
* Platform/CoreIPC/MessageReceiverMap.h:
* Platform/CoreIPC/MessageSender.cpp:
(CoreIPC::MessageSender::sendMessage):
* Platform/CoreIPC/MessageSender.h:
(CoreIPC::MessageSender::send):
* Platform/CoreIPC/mac/ConnectionMac.cpp:
(CoreIPC::Connection::open):
(CoreIPC::Connection::sendOutgoingMessage):
* PluginProcess/PluginControllerProxy.h:
* PluginProcess/WebProcessConnection.cpp:
(WebKit::WebProcessConnection::didReceiveSyncMessage):
* PluginProcess/WebProcessConnection.h:
* Scripts/webkit2/messages.py:
(message_to_struct_declaration):
(generate_message_handler):
* Scripts/webkit2/messages_unittest.py:
* Shared/ChildProcessProxy.cpp:
(WebKit::ChildProcessProxy::sendMessage):
(WebKit::ChildProcessProxy::dispatchSyncMessage):
(WebKit::ChildProcessProxy::didFinishLaunching):
* Shared/ChildProcessProxy.h:
(WebKit::ChildProcessProxy::send):
* Shared/Plugins/NPObjectMessageReceiver.h:
* Shared/Plugins/NPRemoteObjectMap.cpp:
(WebKit::NPRemoteObjectMap::didReceiveSyncMessage):
* Shared/Plugins/NPRemoteObjectMap.h:
* Shared/WebConnection.cpp:
(WebKit::WebConnection::postMessage):
* UIProcess/Downloads/DownloadProxy.h:
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::didReceiveSyncMessage):
* UIProcess/Network/NetworkProcessProxy.h:
* UIProcess/Plugins/PluginProcessProxy.h:
* UIProcess/Storage/StorageManager.h:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::dispatchSyncMessage):
(WebKit::WebContext::didReceiveSyncMessage):
* UIProcess/WebContext.h:
* UIProcess/WebFullScreenManagerProxy.h:
* UIProcess/WebIconDatabase.h:
* UIProcess/WebInspectorProxy.h:
* UIProcess/WebPageProxy.h:
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didReceiveSyncMessage):
* UIProcess/WebProcessProxy.h:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::postMessage):
(WebKit::InjectedBundle::postSynchronousMessage):
* WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::didReceiveSyncMessage):
* WebProcess/Network/NetworkProcessConnection.h:
* WebProcess/Plugins/PluginProcessConnection.cpp:
(WebKit::PluginProcessConnection::didReceiveSyncMessage):
* WebProcess/Plugins/PluginProcessConnection.h:
* WebProcess/Plugins/PluginProxy.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didReceiveSyncMessage):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::didReceiveSyncMessage):
* WebProcess/WebProcess.h:

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

8 years agoRemove encoder create functions
andersca@apple.com [Tue, 24 Sep 2013 19:59:12 +0000 (19:59 +0000)]
Remove encoder create functions
https://bugs.webkit.org/show_bug.cgi?id=121853

Reviewed by Sam Weinig.

Source/WebKit2:

* Platform/CoreIPC/ArgumentEncoder.cpp:
* Platform/CoreIPC/ArgumentEncoder.h:
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::dispatchWorkQueueMessageReceiverMessage):
(CoreIPC::Connection::createSyncMessageEncoder):
(CoreIPC::Connection::dispatchSyncMessage):
* Platform/CoreIPC/Connection.h:
(CoreIPC::Connection::send):
* Platform/CoreIPC/MessageEncoder.cpp:
(CoreIPC::MessageEncoder::setIsSyncMessage):
* Platform/CoreIPC/MessageEncoder.h:
* Platform/CoreIPC/MessageSender.h:
(CoreIPC::MessageSender::send):
* Platform/CoreIPC/mac/ConnectionMac.cpp:
(CoreIPC::Connection::open):
* Shared/ChildProcessProxy.h:
(WebKit::ChildProcessProxy::send):
* Shared/WebConnection.cpp:
(WebKit::WebConnection::postMessage):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::createNewWebProcess):
(WebKit::WebContext::postMessageToInjectedBundle):
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::postMessage):
* WebProcess/WebPage/EncoderAdapter.cpp:
(WebKit::EncoderAdapter::EncoderAdapter):
(WebKit::EncoderAdapter::dataReference):
(WebKit::EncoderAdapter::encodeBytes):
(WebKit::EncoderAdapter::encodeBool):
(WebKit::EncoderAdapter::encodeUInt16):
(WebKit::EncoderAdapter::encodeUInt32):
(WebKit::EncoderAdapter::encodeUInt64):
(WebKit::EncoderAdapter::encodeInt32):
(WebKit::EncoderAdapter::encodeInt64):
(WebKit::EncoderAdapter::encodeFloat):
(WebKit::EncoderAdapter::encodeDouble):
(WebKit::EncoderAdapter::encodeString):
* WebProcess/WebPage/EncoderAdapter.h:

Source/WTF:

Add a variadic version of createOwned.

* wtf/OwnPtr.h:
(WTF::createOwned):

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

8 years agoImplement symbol name hashing for WebGL shaders
dino@apple.com [Tue, 24 Sep 2013 19:43:25 +0000 (19:43 +0000)]
Implement symbol name hashing for WebGL shaders
https://bugs.webkit.org/show_bug.cgi?id=121849

Reviewed by Anders Carlsson.

Turn on ANGLE's symbol name mapping for shader programs.
This avoids compilation failures (or worse, crashers)
on some hardware that doesn't like it when shaders redefine
symbols like "sin", even though that is valid.

The way ANGLE exposes this is via setting a pointer
to a char* -> uint64_t hash function. Since we only have
a 32-bit hash in WebKit, I combine the 32-bit value with
a counter value that exists over the lifetime of a GC3D context.
Before calling ANGLE, I point the global hash map to the local
hash map, and then clean up after we're done. This introduces
a memory hit, in that the symbol table will build up until
the context is released.

Covered by Khronos WebGL tests, including
conformance/glsl/misc/shader-with-non-reserved-words.html

* platform/graphics/GraphicsContext3D.h: Define a ShaderNameHash type,
and add an OwnPtr to one as a member variable.
* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::nameHashForShader): Global function used for ANGLE hashing.
(WebCore::GraphicsContext3D::compileShader): Set up the ANGLE properties,
point to the local hash map, and call compile/translate.

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

8 years agoUse mapped name in attribute location binding
dino@apple.com [Tue, 24 Sep 2013 19:43:22 +0000 (19:43 +0000)]
Use mapped name in attribute location binding
https://bugs.webkit.org/show_bug.cgi?id=121847
<rdar://problem/15067526>

Reviewed by Eric Carlson.

Source/WebCore:

The shader that we send down to OpenGL to compile
may have been translated by ANGLE, so we keep a
table around that maps input symbols to output symbols.
We used the table when binding to and looking up
uniforms, and when looking up attributes, but not
when actually binding to attribute locations.

Test: fast/canvas/webgl/gl-bind-attrib-mapped-names.html

* platform/graphics/ANGLEWebKitBridge.cpp:
(WebCore::getSymbolInfo): Add logging of symbol mapping.
* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::bindAttribLocation): Used the mapped name.
(WebCore::GraphicsContext3D::getAttribLocation): Remove comment since
we do the lookup everywhere.
(WebCore::GraphicsContext3D::getUniformLocation): Ditto.

LayoutTests:

New test that has an attribute name long enough
to trigger symbol mapping in all cases.

* fast/canvas/webgl/gl-bind-attrib-mapped-names-expected.txt: Added.
* fast/canvas/webgl/gl-bind-attrib-mapped-names.html: Added.

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

8 years agoUpstream changes to Pasteboard implementation for iOS.
enrica@apple.com [Tue, 24 Sep 2013 19:35:30 +0000 (19:35 +0000)]
Upstream changes to Pasteboard implementation for iOS.
https://bugs.webkit.org/show_bug.cgi?id=121818

Reviewed by Darin Adler.

Source/WebCore:

* WebCore.xcodeproj/project.pbxproj:
* editing/Editor.cpp:
(WebCore::Editor::cut):
(WebCore::Editor::copyImage):
* editing/ios/EditorIOS.mm:
(WebCore::attributedStringForRange):
(WebCore::dataInRTFDFormat):
(WebCore::dataInRTFFormat):
(WebCore::Editor::stringSelectionForPasteboardWithImageAltText):
(WebCore::Editor::selectionInWebArchiveFormat):
(WebCore::Editor::writeSelectionToPasteboard):
(WebCore::getImage):
(WebCore::Editor::writeImageToPasteboard):
* platform/Pasteboard.h:
* platform/PasteboardStrategy.h:
* platform/PlatformPasteboard.h:
* platform/ios/PasteboardIOS.mm:
* platform/ios/PlatformPasteboardIOS.mm: Added.
(WebCore::PlatformPasteboard::PlatformPasteboard):
(WebCore::PlatformPasteboard::getTypes):
(WebCore::PlatformPasteboard::bufferForType):
(WebCore::PlatformPasteboard::getPathnamesForType):
(WebCore::PlatformPasteboard::stringForType):
(WebCore::PlatformPasteboard::color):
(WebCore::PlatformPasteboard::url):
(WebCore::PlatformPasteboard::copy):
(WebCore::PlatformPasteboard::addTypes):
(WebCore::PlatformPasteboard::setTypes):
(WebCore::PlatformPasteboard::setBufferForType):
(WebCore::PlatformPasteboard::setPathnamesForType):
(WebCore::PlatformPasteboard::setStringForType):
(WebCore::PlatformPasteboard::changeCount):
(WebCore::PlatformPasteboard::uniqueName):
(WebCore::PlatformPasteboard::write):

Source/WebKit/mac:

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

Source/WebKit2:

* Scripts/webkit2/messages.py:
(struct_or_class):
(headers_for_type):
* Shared/WebCoreArgumentCoders.cpp:
(CoreIPC::encodeSharedBuffer):
(CoreIPC::decodeSharedBuffer):
(CoreIPC::::encode):
(CoreIPC::::decode):
* Shared/WebCoreArgumentCoders.h:
* UIProcess/WebContext.h:
* UIProcess/WebContext.messages.in:
* UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::writeWebContentToPasteboard):
(WebKit::WebContext::writeImageToPasteboard):
(WebKit::WebContext::writeStringToPasteboard):
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::writeToPasteboard):
* WebProcess/WebCoreSupport/WebPlatformStrategies.h:

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

8 years agoRemove create functions from MessageDecoder and ArgumentDecoder
andersca@apple.com [Tue, 24 Sep 2013 19:23:13 +0000 (19:23 +0000)]
Remove create functions from MessageDecoder and ArgumentDecoder
https://bugs.webkit.org/show_bug.cgi?id=121850

Reviewed by Antti Koivisto.

* Platform/CoreIPC/ArgumentDecoder.cpp:
(CoreIPC::ArgumentDecoder::ArgumentDecoder):
* Platform/CoreIPC/ArgumentDecoder.h:
* Platform/CoreIPC/MessageDecoder.cpp:
(CoreIPC::MessageDecoder::MessageDecoder):
* Platform/CoreIPC/MessageDecoder.h:
* Platform/CoreIPC/mac/ConnectionMac.cpp:
(CoreIPC::createMessageDecoder):
* WebProcess/WebPage/DecoderAdapter.cpp:
(WebKit::DecoderAdapter::DecoderAdapter):
(WebKit::DecoderAdapter::decodeBytes):
(WebKit::DecoderAdapter::decodeBool):
(WebKit::DecoderAdapter::decodeUInt16):
(WebKit::DecoderAdapter::decodeUInt32):
(WebKit::DecoderAdapter::decodeUInt64):
(WebKit::DecoderAdapter::decodeInt32):
(WebKit::DecoderAdapter::decodeInt64):
(WebKit::DecoderAdapter::decodeFloat):
(WebKit::DecoderAdapter::decodeDouble):
(WebKit::DecoderAdapter::decodeString):
* WebProcess/WebPage/DecoderAdapter.h:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::postInjectedBundleMessage):

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

8 years ago<rdar://problem/14971518> WebKit should build against the Xcode default toolchain...
mrowe@apple.com [Tue, 24 Sep 2013 19:18:46 +0000 (19:18 +0000)]
<rdar://problem/14971518> WebKit should build against the Xcode default toolchain when targeting OS X 10.8

Reviewed by Dan Bernstein.

Source/JavaScriptCore:

* Configurations/Base.xcconfig:

Source/ThirdParty/ANGLE:

* Configurations/Base.xcconfig:

Source/WebCore:

* Configurations/Base.xcconfig:

Source/WebInspectorUI:

* Configurations/Base.xcconfig:

Source/WebKit/mac:

* Configurations/Base.xcconfig:

Source/WebKit2:

* Configurations/Base.xcconfig:

Source/WTF:

* Configurations/Base.xcconfig:

Tools:

* DumpRenderTree/mac/Configurations/Base.xcconfig:
* MiniBrowser/Configurations/Base.xcconfig:
* TestWebKitAPI/Configurations/Base.xcconfig:
* WebKitLauncher/Configurations/Base.xcconfig:
* WebKitTestRunner/Configurations/Base.xcconfig:

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

8 years ago[iOS] Upstream -webkit-touch-callout
dbates@webkit.org [Tue, 24 Sep 2013 19:14:42 +0000 (19:14 +0000)]
[iOS] Upstream -webkit-touch-callout
https://bugs.webkit.org/show_bug.cgi?id=121507

Reviewed by Antti Koivisto.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/CSSPropertyNames.in: Added -webkit-touch-callout.
* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty):
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::willRespondToMouseClickEvents): Added.
* html/HTMLImageElement.h:
* rendering/style/RenderStyle.h:
* rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator==):
* rendering/style/StyleRareInheritedData.h:

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

8 years agoProperly handle bottom margin on float with shape-outside
bjonesbe@adobe.com [Tue, 24 Sep 2013 19:02:59 +0000 (19:02 +0000)]
Properly handle bottom margin on float with shape-outside
https://bugs.webkit.org/show_bug.cgi?id=121808

Reviewed by David Hyatt.

Source/WebCore:

When a float has a shape-outside, inline content must conform to the
shape, not to the margin box. Thus, if a float with shape-outside has
a bottom margin and the shape does not intrude into that margin, then
the inline content should ignore the margin. Before this patch, inline
content would drop below the margin box instead of obeying the shape.

Note that content that should clear the float still clears the margin
box, not the shape's contour.

Tests: csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-002.html
       csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-003.html
       csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-004.html

* rendering/LineWidth.cpp:
(WebCore::LineWidth::fitBelowFloats): Compute the logical bottom based
on the shape.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::nextFloatLogicalBottomBelow): Add option to
compute the logical bottom based on the shape instead of on the margin
box.
* rendering/RenderBlock.h:

LayoutTests:

Import new tests for floats wish shape-outside and bottom margins.

* csswg/contributors/adobe/submitted/shapes/shape-outside/resources/w3c-import.log:
* csswg/contributors/adobe/submitted/shapes/shape-outside/resources/rounded-rectangle.js: Remove whitespace at ends of lines.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-002.html: Added.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-003-expected.html: Added.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-003.html: Added.
* csswg/contributors/adobe/submitted/shapes/shape-outside/w3c-import.log:

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

8 years ago[GTK] Fix compilation problems when setting ENABLE_DRAG_SUPPORT = FALSE
commit-queue@webkit.org [Tue, 24 Sep 2013 18:58:12 +0000 (18:58 +0000)]
[GTK] Fix compilation problems when setting ENABLE_DRAG_SUPPORT = FALSE
https://bugs.webkit.org/show_bug.cgi?id=121782

Patch by Lorenzo Tilve <ltilve@igalia.com> on 2013-09-24
Reviewed by Martin Robinson.

Disabled drag functions.

Source/WebCore:

* page/gtk/EventHandlerGtk.cpp:
* platform/gtk/PasteboardGtk.cpp:

Source/WebKit/gtk:

* WebCoreSupport/DragClientGtk.cpp:
* WebCoreSupport/DragClientGtk.h:

Source/WebKit2:

* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkit_web_view_base_class_init):
* WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp:

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

8 years ago[Windows] Unreviewed crash fix after r156321.
bfulgham@apple.com [Tue, 24 Sep 2013 18:42:05 +0000 (18:42 +0000)]
[Windows] Unreviewed crash fix after r156321.

Fix a few mistakes in the use of Vectors and counting that introduced test crashes.

* WebHistory.cpp:
(WebHistory::removeAllItems): Loop termination tried to test an unsigned for negative size.
(WebHistory::removeItemFromDateCaches): Vector was being created with empty entries.
(WebHistory::addItemToDateCaches): Ditto.

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

8 years agoBegin adopting std::tuple for IPC decoding
andersca@apple.com [Tue, 24 Sep 2013 18:16:34 +0000 (18:16 +0000)]
Begin adopting std::tuple for IPC decoding
https://bugs.webkit.org/show_bug.cgi?id=121848

Reviewed by Sam Weinig.

This is the first step towards getting rid of the horrible Arguments class hierarchy.

* Platform/CoreIPC/Arguments.h:
(CoreIPC::TupleCoder::encode):
(CoreIPC::TupleCoder::decode):
* Platform/CoreIPC/HandleMessage.h:
(CoreIPC::callMemberFunction):
(CoreIPC::handleMessage):
(CoreIPC::handleMessageVariadic):
(CoreIPC::handleMessageDelayed):

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

8 years agoWeb Inspector: Breakpoint Actions input should disable spellchecking
commit-queue@webkit.org [Tue, 24 Sep 2013 18:11:39 +0000 (18:11 +0000)]
Web Inspector: Breakpoint Actions input should disable spellchecking
https://bugs.webkit.org/show_bug.cgi?id=121846

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-09-24
Reviewed by Timothy Hatcher.

* UserInterface/BreakpointActionView.js:

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

8 years agoAX: Replace AXObjectCache postNotification method boolean arguments with enum values.
commit-queue@webkit.org [Tue, 24 Sep 2013 17:57:25 +0000 (17:57 +0000)]
AX: Replace AXObjectCache postNotification method boolean arguments with enum values.
https://bugs.webkit.org/show_bug.cgi?id=121504

Patch by Samuel White <samuel_white@apple.com> on 2013-09-24
Reviewed by Chris Fleizach.

No new tests, no functional changes. Changed argument type from bool
to enum per "Names" rule #10 in the WebKit coding style guidelines.

* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::textChanged):
(WebCore::AXObjectCache::postNotification):
(WebCore::AXObjectCache::checkedStateChanged):
(WebCore::AXObjectCache::selectedChildrenChanged):
(WebCore::AXObjectCache::handleAttributeChanged):
* accessibility/AXObjectCache.h:
(WebCore::AXObjectCache::postNotification):
* accessibility/AccessibilityMenuList.cpp:
(WebCore::AccessibilityMenuList::didUpdateActiveOption):
* accessibility/AccessibilityMenuListPopup.cpp:
(WebCore::AccessibilityMenuListPopup::didUpdateActiveOption):
* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::childrenChanged):
(WebCore::AccessibilityNodeObject::changeValueByStep):
(WebCore::AccessibilityNodeObject::changeValueByPercent):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::handleAriaExpandedChanged):
(WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
(WebCore::AccessibilityRenderObject::textChanged):
* dom/Document.cpp:
(WebCore::Document::implicitClose):
* editing/Editor.cpp:
(WebCore::Editor::respondToChangedContents):
(WebCore::Editor::markAndReplaceFor):
* editing/mac/FrameSelectionMac.mm:
(WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
* html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::setInnerTextValue):
* html/InputType.cpp:
(WebCore::InputType::applyStep):
* html/RangeInputType.cpp:
(WebCore::RangeInputType::handleKeydownEvent):
* page/FocusController.cpp:
(WebCore::FocusController::setInitialFocus):
* page/FrameView.cpp:
(WebCore::FrameView::layout):

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

8 years agoMake hoverAncestor() a RenderElement concept.
akling@apple.com [Tue, 24 Sep 2013 17:51:16 +0000 (17:51 +0000)]
Make hoverAncestor() a RenderElement concept.
<https://webkit.org/b/121845>

Reviewed by Antti Koivisto.

The hover ancestor renderer is always a RenderElement, we only ever
ask RenderElements for their hover ancestors.

Updated Document::updateHoverActiveState() to take advantage of the
tighter typing, removing a few isElementNode() checks.

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

8 years ago[iOS] Initialize settings mediaPlayback{AllowsInline, RequiresUserGesture} and
dbates@webkit.org [Tue, 24 Sep 2013 17:12:37 +0000 (17:12 +0000)]
[iOS] Initialize settings mediaPlayback{AllowsInline, RequiresUserGesture} and
shouldRespectImageOrientation as appropriate
https://bugs.webkit.org/show_bug.cgi?id=121792

Reviewed by Darin Adler.

On iOS we explicitly want to disable mediaPlaybackAllowsInline, and enable
mediaPlaybackRequiresUserGesture and shouldRespectImageOrientation by default.
This differs from other platforms. We need to extract the initialization logic
for these settings into constants whose definition is conditioned on the platform.

* page/Settings.cpp:
* page/Settings.in:

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

8 years ago[WinCairo] Compile error.
commit-queue@webkit.org [Tue, 24 Sep 2013 16:45:40 +0000 (16:45 +0000)]
[WinCairo] Compile error.
https://bugs.webkit.org/show_bug.cgi?id=121839

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-09-24
Reviewed by Brent Fulgham.

* platform/graphics/GraphicsContext3DPrivate.cpp:
(WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate): Added missing guard.

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

8 years agoCache continuation() in a local to avoid repeat hash lookups.
akling@apple.com [Tue, 24 Sep 2013 16:20:20 +0000 (16:20 +0000)]
Cache continuation() in a local to avoid repeat hash lookups.
<https://webkit.org/b/121840>

Reviewed by Geoffrey Garen.

RenderBoxModelObject::continuation() does a hash lookup every time.
Cache the result in a local instead of calling it repeatedly.

* rendering/RenderBlock.h:
(WebCore::RenderBlock::isAnonymousBlockContinuation):

    Reorder to check bitfield before hash map.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::updateDragState):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::absoluteRects):
(WebCore::RenderInline::absoluteQuads):
(WebCore::RenderInline::clippedOverflowRectForRepaint):
(WebCore::RenderInline::updateDragState):
(WebCore::RenderInline::addFocusRingRects):

    Cache continuation() in locals where it's used more than once.

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

8 years ago[EFL] Build failed at ProcessLauncherEfl.cpp
changseok.oh@collabora.com [Tue, 24 Sep 2013 14:25:09 +0000 (14:25 +0000)]
[EFL] Build failed at ProcessLauncherEfl.cpp
https://bugs.webkit.org/show_bug.cgi?id=121826

Reviewed by Gyuyoung Kim.

Fixed a build failure with adding socket.h.

* UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:

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

8 years ago[ATK] Missing WTR AccessibilityController::addNotificationListener implementation
commit-queue@webkit.org [Tue, 24 Sep 2013 14:24:07 +0000 (14:24 +0000)]
[ATK] Missing WTR AccessibilityController::addNotificationListener implementation
https://bugs.webkit.org/show_bug.cgi?id=121674

Patch by Denis Nomiyama <d.nomiyama@samsung.com> on 2013-09-24
Reviewed by Mario Sanchez Prada.

Tools:

Implemented the global notification listener for
AccessibilityController. The signal is generated by
AXObjectCache::postPlatformNotification() and received by
axObjectEventListener(). axObjectEventListener will then invoke
JSObjectCallAsFunction() with the respective callback function.

There is no additional test for this patch since its implementation will
be tested by an accessibility layout test that is currently failing
(accessibility/loading-iframe-sends-notification.html).

* WebKitTestRunner/InjectedBundle/AccessibilityController.cpp: Removed
stub implementations of addNotificationListener and
removeNotificationListener for the GTK port.
* WebKitTestRunner/InjectedBundle/atk/AccessibilityControllerAtk.cpp:
(WTR::AccessibilityController::addNotificationListener): Creates the
notification handler and sets the notification function callback.
(WTR::AccessibilityController::removeNotificationListener): Removes the
global handler.

LayoutTests:

Updated the expectation of loading-iframe-sends-notification.html test,
which was failing before this fix.

* platform/gtk-wk2/TestExpectations: Removed
loading-iframe-sends-notification.html because it now passes with this
fix.

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

8 years ago[GTK] fast/images/exif-orientation-composited.html is failing
commit-queue@webkit.org [Tue, 24 Sep 2013 14:18:22 +0000 (14:18 +0000)]
[GTK] fast/images/exif-orientation-composited.html is failing
https://bugs.webkit.org/show_bug.cgi?id=119731

Patch by Anton Obzhirov <a.obzhirov@samsung.com> on 2013-09-24
Reviewed by Carlos Garcia Campos.

Tools:

Add handling respect image orientation property in DRT.

* DumpRenderTree/gtk/TestRunnerGtk.cpp:
(TestRunner::overridePreference):

LayoutTests:

Unskip fast/images/exif-orientation-composited.html for GTK WK1 and WK2.

* platform/gtk/TestExpectations:

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

8 years ago[Qt] Crash when trying to download blob url
allan.jensen@digia.com [Tue, 24 Sep 2013 14:16:20 +0000 (14:16 +0000)]
[Qt] Crash when trying to download blob url
https://bugs.webkit.org/show_bug.cgi?id=121681

Reviewed by Simon Hausmann.

Source/WebCore:

Resolve any blob URLs before creating a QUrl.

* platform/network/qt/ResourceRequestQt.cpp:
(WebCore::appendBlobResolved):
(WebCore::resolveBlobUrl):
(WebCore::ResourceRequest::toNetworkRequest):

Source/WebKit/qt:

Do not crash if a download was triggered on a resource WebCore handles internally.

* WebCoreSupport/FrameLoaderClientQt.cpp:
(WebCore::FrameLoaderClientQt::convertMainResourceLoadToDownload):

LayoutTests:

Unskip two tests that downloads blob URLs. Note the two tests do not use the download attribute feature.

* platform/qt/TestExpectations:

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

8 years ago[Qt] RepaintRequested signal sometimes not emitted
allan.jensen@digia.com [Tue, 24 Sep 2013 14:10:38 +0000 (14:10 +0000)]
[Qt] RepaintRequested signal sometimes not emitted
https://bugs.webkit.org/show_bug.cgi?id=121790

Reviewed by Simon Hausmann.

We should also emit repaintRequested after calling PageClient::update().

* WidgetSupport/PageClientQt.cpp:
(WebCore::PageClientQWidget::repaintViewport):
(WebCore::PageClientQGraphicsWidget::repaintViewport):

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

8 years ago[GTK] Enable the Wayland target if GTK+ dependency is found
zandobersek@gmail.com [Tue, 24 Sep 2013 13:14:37 +0000 (13:14 +0000)]
[GTK] Enable the Wayland target if GTK+ dependency is found
https://bugs.webkit.org/show_bug.cgi?id=121704

Reviewed by Gustavo Noronha Silva.

The Wayland target should be enabled by default if the GTK+ dependency is of version 3.9.14 or later.

* Source/autotools/FindDependencies.m4: If the Wayland target was not strictly disabled, the GTK+ dependency
is tested if it can provide the Wayland GDK backend, and that the version of that backend matches the version
of the master GTK+ dependency for which we already tested. If found, the target is enabled, otherwise we either
warn or error out, depending on whether the build target was set to auto or completely disabled through configuration.
* Source/autotools/ReadCommandLineArguments.m4: Switch the default Wayland target status to 'auto', meaning
it will be disabled if the GTK+ dependency is not found.
* Source/autotools/Versions.m4: Require GTK+ 3.9.14 for the Wayland target only.

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

8 years ago[GTK] Fix accelerated compositing disabling under Wayland displays
zandobersek@gmail.com [Tue, 24 Sep 2013 13:09:57 +0000 (13:09 +0000)]
[GTK] Fix accelerated compositing disabling under Wayland displays
https://bugs.webkit.org/show_bug.cgi?id=121788

Reviewed by Gustavo Noronha Silva.

* webkit/webkitwebview.cpp:
(updateAcceleratedCompositingSetting): Fix a ridiculous early return in the case of disabling the accelerated
compositing setting. There's no need to re-disable the setting if it was already disabled, but it should
definitely be disabled if the setting was previously enabled.

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

8 years ago[GTK] Bump the GTK+ dependency in the Wayland-specific Jhbuild moduleset
zandobersek@gmail.com [Tue, 24 Sep 2013 13:08:29 +0000 (13:08 +0000)]
[GTK] Bump the GTK+ dependency in the Wayland-specific Jhbuild moduleset
https://bugs.webkit.org/show_bug.cgi?id=121787

Reviewed by Gustavo Noronha Silva.

* gtk/jhbuild-wayland.modules: Bump the GTK+ dependency that's intended for use when building
with the Wayland target enabled to version 3.10.0.

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

8 years agoMove more style change code from RenderObject to RenderElement
antti@apple.com [Tue, 24 Sep 2013 12:22:10 +0000 (12:22 +0000)]
Move more style change code from RenderObject to RenderElement
https://bugs.webkit.org/show_bug.cgi?id=121822

Reviewed by Darin Adler.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::~RenderElement):

    RenderTexts are no longer registered as image clients. They don't need be unregistered either.

(WebCore::RenderElement::adjustStyleDifference):
(WebCore::RenderElement::hasImmediateNonWhitespaceTextChild):
(WebCore::RenderElement::shouldRepaintForStyleDifference):
(WebCore::RenderElement::updateFillImages):
(WebCore::RenderElement::updateImage):
(WebCore::RenderElement::updateShapeImage):
(WebCore::RenderElement::setStyle):

    Move from RenderObject and remove the text specific bits.

* rendering/RenderElement.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::setStyle):
(WebCore::RenderObject::arenaDelete):
* rendering/RenderObject.h:

    Remove styleWill/DidChange which move to subclasses.

* rendering/RenderText.cpp:
(WebCore::RenderText::setStyle):

    Add simple text specific setStyle.

* rendering/RenderText.h:

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

8 years ago[CSS Background] repeat: round should round the number of tiles to the nearest natura...
commit-queue@webkit.org [Tue, 24 Sep 2013 07:47:10 +0000 (07:47 +0000)]
[CSS Background] repeat: round should round the number of tiles to the nearest natural number
https://bugs.webkit.org/show_bug.cgi?id=120668

Source/WebCore:

Patch by Andrei Parvu <parvu@adobe.com> on 2013-09-24
Reviewed by Darin Adler.

Tests already available in css3/masking and css3/background

* rendering/RenderBoxModelObject.cpp: Rounded the number of tiles to the nearest natural number.
(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):

LayoutTests:

Changed the sizes of the images/masks in the tests to be compliant with the new behaviour.

Patch by Andrei Parvu <parvu@adobe.com> on 2013-09-24
Reviewed by Darin Adler.

* css3/background/background-repeat-round-auto1-expected.html:
* css3/background/background-repeat-round-auto2-expected.html:
* css3/background/background-repeat-round-border-expected.html:
* css3/background/background-repeat-round-content-expected.html:
* css3/background/background-repeat-round-padding-expected.html:
* css3/background/background-repeat-round-padding.html:
* css3/masking/mask-repeat-round-auto1-expected.html:
* css3/masking/mask-repeat-round-auto2-expected.html:
* css3/masking/mask-repeat-round-border-expected.html:
* css3/masking/mask-repeat-round-content-expected.html:
* css3/masking/mask-repeat-round-padding-expected.html:
* css3/masking/mask-repeat-round-padding.html:

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

8 years agoMake WebHistory more type safe
paroga@webkit.org [Tue, 24 Sep 2013 07:33:35 +0000 (07:33 +0000)]
Make WebHistory more type safe
https://bugs.webkit.org/show_bug.cgi?id=121801

Reviewed by Brent Fulgham.

Use a WTF::Vector instead of a CFMutableArray to avoid
casting from void* all the time when accessing the entries.
This reduces the dependencies on CoreFoundation too.

* WebHistory.cpp:
(getDayBoundaries):
(beginningOfDay):
(dateKey):
(WebHistory::orderedItemsLastVisitedOnDay):
(WebHistory::removeItemFromDateCaches):
(WebHistory::addItemToDateCaches):
* WebHistory.h:

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

8 years agoRemove ScrollView::platformInit() and ScrollView::platformDestroy()
ryuan.choi@samsung.com [Tue, 24 Sep 2013 07:30:28 +0000 (07:30 +0000)]
Remove ScrollView::platformInit() and ScrollView::platformDestroy()
https://bugs.webkit.org/show_bug.cgi?id=121824

Reviewed by Darin Adler.

ScrollView::platformInit() and ScrollView::platformDestroy() are just
empty functions for all ports after removed WX port at r149186.

* PlatformEfl.cmake: Removed ScrollViewEfl.cpp from source list.
* platform/ScrollView.cpp: Removed platformInit and PlatformDestroy.
(WebCore::ScrollView::ScrollView):
(WebCore::ScrollView::~ScrollView):
* platform/ScrollView.h: Ditto.
* platform/efl/ScrollViewEfl.cpp: Removed.

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

8 years agoUse unique_ptr instead of deleteAllValues in FloatingObject code
darin@apple.com [Tue, 24 Sep 2013 05:53:55 +0000 (05:53 +0000)]
Use unique_ptr instead of deleteAllValues in FloatingObject code
https://bugs.webkit.org/show_bug.cgi?id=121823

Reviewed by Sam Weinig.

* rendering/FloatingObjects.cpp:
(WebCore::FloatingObject::create): Return a unique_ptr instead of PassOwnPtr.
Use auto and a word for the local variable instead of an abbreviation. Also
changed to take a reference instead of a pointer.
(WebCore::FloatingObject::copyToNewContainer): Ditto.
(WebCore::FloatingObject::unsafeClone): Ditto.
(WebCore::FloatingObjects::~FloatingObjects): Removed call to deleteAllValues.
(WebCore::FloatingObjects::clearLineBoxTreePointers): Use auto to make this
read clearly.
(WebCore::FloatingObjects::clear): Removed call to deleteAllValues.
(WebCore::FloatingObjects::moveAllToFloatInfoMap): Use std::move to move values
out of the set, into the map. Removed code to clear the set, since it was a
trick to prevent the values from being deleted when they were not moved.
(WebCore::FloatingObjects::add): Changed to take a unique_ptr and to move the
pointer into the set instead of using leakPtr.
(WebCore::FloatingObjects::remove): Rearranged code so that the remove is at
the end of the function rather than the beginning. Also had to use a hash
translator and a find/remove combo since we don't have hash translator version
of the remove function.
(WebCore::FloatingObjects::computePlacedFloatsTree): Updated for changes to
the types.
(WebCore::FloatingObjects::placedFloatsTree): Moved this function here instead
of having it in the header, since it's only used within the file.

* rendering/FloatingObjects.h: Changed functions to take references instead
of pointers and return unique_ptr instead of PassOwnPtr. Also made
constructors public so we can use them with make_unique. Changed types to
use unique_ptr instead of raw pointers, and made the FloatingObjectHashTranslator
work for both RenderBox& and FloatingObject&.

* rendering/LineWidth.cpp:
(WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
Updated for changes to types.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::styleDidChange):
(WebCore::RenderBlock::moveAllChildrenIncludingFloatsTo):
(WebCore::RenderBlock::addOverflowFromFloats):
(WebCore::RenderBlock::repaintOverhangingFloats):
(WebCore::RenderBlock::paintFloats):
(WebCore::RenderBlock::selectionGaps):
(WebCore::RenderBlock::insertFloatingObject):
(WebCore::RenderBlock::removeFloatingObject):
(WebCore::RenderBlock::removeFloatingObjectsBelow):
(WebCore::RenderBlock::positionNewFloats):
(WebCore::RenderBlock::nextFloatLogicalBottomBelow):
(WebCore::RenderBlock::lowestFloatLogicalBottom):
(WebCore::RenderBlock::addOverhangingFloats):
(WebCore::RenderBlock::hasOverhangingFloat):
(WebCore::RenderBlock::addIntrudingFloats):
(WebCore::RenderBlock::containsFloat):
(WebCore::RenderBlock::markSiblingsWithFloatsForLayout):
(WebCore::RenderBlock::updateLocalFloatingObjectsForPaintingContainer):
(WebCore::RenderBlock::hitTestFloats):
(WebCore::RenderBlock::adjustForBorderFit):
Updated for changes to types.

* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::clearFloats): Updated to use take instead of
a combination of remove and delete.

* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::layoutRunsAndFloats):
(WebCore::RenderBlock::layoutRunsAndFloatsInRange):
(WebCore::RenderBlock::linkToEndLineIfNeeded):
(WebCore::RenderBlock::checkPaginationAndFloatsAtEndLine):
(WebCore::RenderBlock::positionNewFloatOnLine):
Updated for changes to types.

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

8 years agoCSS Unit vh, vw, vmin and vmax in box-shadow are not applied.
commit-queue@webkit.org [Tue, 24 Sep 2013 04:00:29 +0000 (04:00 +0000)]
CSS Unit vh, vw, vmin and vmax in box-shadow are not applied.
https://bugs.webkit.org/show_bug.cgi?id=121422

Patch by Gurpreet Kaur <k.gurpreet@samsung.com> on 2013-09-23
Reviewed by Darin Adler.

Source/WebCore:

Box-shadow properties were not applied incase its values
were given in vh, vw, vmax, vmin unit.

Tests: fast/css/box-shadow-negative-viewportlength.html
       fast/css/box-shadow-viewport-height.html
       fast/css/box-shadow-viewport-vmax.html
       fast/css/box-shadow-viewport-vmin.html
       fast/css/box-shadow-viewport-width.html

* css/CSSParser.cpp:
(WebCore::CSSParser::parseShadow):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty):
(WebCore::StyleResolver::MatchedProperties::~MatchedProperties):
(WebCore::StyleResolver::viewportPercentageHeight):
(WebCore::StyleResolver::viewportPercentageWidth):
(WebCore::StyleResolver::viewportPercentageMax):
(WebCore::StyleResolver::viewportPercentageMin):
* css/StyleResolver.h:
Parsing and calculating the shadow values which has been specified
in viewport units.The vh/vw units are calcultated as percent of
viewport height and viewport width respectively. 1vmax: 1vw or 1vh,
whatever is largest.1vmin: 1vw or 1vh, whatever is smallest.

LayoutTests:

* fast/css/box-shadow-negative-viewportlength-expected-mismatch.html: Added.
* fast/css/box-shadow-negative-viewportlength.html: Added.
* fast/css/box-shadow-viewport-height-expected-mismatch.html: Added.
* fast/css/box-shadow-viewport-height.html: Added.
* fast/css/box-shadow-viewport-vmax-expected-mismatch.html: Added.
* fast/css/box-shadow-viewport-vmax.html: Added.
* fast/css/box-shadow-viewport-vmin-expected-mismatch.html: Added.
* fast/css/box-shadow-viewport-vmin.html: Added.
* fast/css/box-shadow-viewport-width-expected-mismatch.html: Added.
* fast/css/box-shadow-viewport-width.html: Added.
Added new tests for verifying that box-shadow properties are
applied when its values are viewport units.
* fast/css/shadow-viewport-units-expected.txt:
* fast/css/shadow-viewport-units.html:
Rebaselining existing tests as per the new behavior. Support for shadow
properties with viewport units is added so modified the test case.

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

8 years agoUnreviewed build fix for CMake ports with INDEXED_DATABASE after r156296
ryuan.choi@samsung.com [Tue, 24 Sep 2013 02:48:14 +0000 (02:48 +0000)]
Unreviewed build fix for CMake ports with INDEXED_DATABASE after r156296

* CMakeLists.txt: Removed IDBBackingStore.cpp from source list.

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

8 years agoRemove WTF_USE_SCROLLBAR_PAINTER #define
andersca@apple.com [Tue, 24 Sep 2013 02:09:17 +0000 (02:09 +0000)]
Remove WTF_USE_SCROLLBAR_PAINTER #define
https://bugs.webkit.org/show_bug.cgi?id=121819

Reviewed by Sam Weinig.

Source/WebCore:

Remove unnecessary if checks and dead code.

* platform/mac/NSScrollerImpDetails.h:
* platform/mac/ScrollAnimatorMac.mm:
(WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
(WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
(WebCore::ScrollAnimatorMac::contentAreaWillPaint):
(WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
(WebCore::ScrollAnimatorMac::mouseExitedContentArea):
(WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
(WebCore::ScrollAnimatorMac::mouseEnteredScrollbar):
(WebCore::ScrollAnimatorMac::mouseExitedScrollbar):
(WebCore::ScrollAnimatorMac::willStartLiveResize):
(WebCore::ScrollAnimatorMac::contentsResized):
(WebCore::ScrollAnimatorMac::willEndLiveResize):
(WebCore::ScrollAnimatorMac::contentAreaDidShow):
(WebCore::ScrollAnimatorMac::contentAreaDidHide):
(WebCore::ScrollAnimatorMac::didBeginScrollGesture):
(WebCore::ScrollAnimatorMac::didEndScrollGesture):
(WebCore::ScrollAnimatorMac::mayBeginScrollGesture):
(WebCore::ScrollAnimatorMac::finishCurrentScrollAnimations):
(WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
(WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
(WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
(WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
(WebCore::ScrollAnimatorMac::shouldScrollbarParticipateInHitTesting):
(WebCore::ScrollAnimatorMac::notifyContentAreaScrolled):
(WebCore::ScrollAnimatorMac::cancelAnimations):
(WebCore::ScrollAnimatorMac::setIsActive):
(WebCore::ScrollAnimatorMac::updateScrollerStyle):
(WebCore::ScrollAnimatorMac::initialScrollbarPaintTimerFired):
* platform/mac/ScrollViewMac.mm:
(WebCore::toNSScrollerKnobStyle):
(WebCore::ScrollView::platformSetScrollbarOverlayStyle):
* platform/mac/ScrollbarThemeMac.mm:
(WebCore::updateArrowPlacement):
(WebCore::ScrollbarThemeMac::registerScrollbar):
(WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
(WebCore::ScrollbarThemeMac::scrollbarThickness):
(WebCore::ScrollbarThemeMac::usesOverlayScrollbarsChanged):
(WebCore::ScrollbarThemeMac::hasThumb):
(WebCore::ScrollbarThemeMac::minimumThumbLength):
(WebCore::ScrollbarThemeMac::updateEnabledState):
(WebCore::ScrollbarThemeMac::paint):

Source/WTF:

All our supported systems use the scrollbar painter now, so get rid of the #ifdef.

* wtf/Platform.h:

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

8 years ago[Windows] Moving back in history from a page with <video>, then moving forward causes...
bfulgham@apple.com [Tue, 24 Sep 2013 01:56:02 +0000 (01:56 +0000)]
[Windows] Moving back in history from a page with <video>, then moving forward causes crash.
https://bugs.webkit.org/show_bug.cgi?id=120475

Reviewed by Anders Carlsson.

* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::AVFWrapper::AVFWrapper): Add assertion that creation is on main thread.
(WebCore::AVFWrapper::~AVFWrapper): Add assertion that destruction is on main thread.
(WebCore::destroyAVFWrapper): Helper function to dispatch on main queue.
(WebCore::AVFWrapper::disconnectAndDeleteAVFWrapper): Spawn AVFoundationCF destruction to
main queue.

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

8 years agoRenderTextControlSingleLine::updateFromElement() override not needed.
akling@apple.com [Tue, 24 Sep 2013 01:44:10 +0000 (01:44 +0000)]
RenderTextControlSingleLine::updateFromElement() override not needed.
<https://webkit.org/b/121815>

Reviewed by Anders Carlsson.

* rendering/RenderTextControlSingleLine.cpp:
* rendering/RenderTextControlSingleLine.h:

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

8 years agoIntroduce CSS_VALUE_TYPE_CASTS macro in order to cast CSSValue type
gyuyoung.kim@samsung.com [Tue, 24 Sep 2013 00:57:43 +0000 (00:57 +0000)]
Introduce CSS_VALUE_TYPE_CASTS macro in order to cast CSSValue type
https://bugs.webkit.org/show_bug.cgi?id=121462

Reviewed by Darin Adler.

As r155429 introduced ELEMENT_TYPE_CASTS, CSS_VALUE_TYPE_CASTS can be used
by css value type casting as well. This type cast macros will help to detect
bad-cast bugs as well as improve a code readibility.

This patch adds the following methods,

- CSSFooValue* toCSSFooValue(CSSValue*)
- const CSSFooValue* toCSSFooValue(const CSSValue*)

This patch support CSSImageSetValue and CSSReflectValue first. Other CSS*Values
will use this macro step by step.

Besides this patch will remove unnecessary local variables.

No new tests, no behavior change.

* css/CSSCursorImageValue.cpp:
(WebCore::CSSCursorImageValue::cachedImage):
(WebCore::CSSCursorImageValue::cachedOrPendingImage):
* css/CSSImageSetValue.h:
* css/CSSReflectValue.h:
* css/CSSValue.cpp:
(WebCore::CSSValue::destroy):
* css/CSSValue.h:
* css/StyleResolver.cpp:
(WebCore::hasVariableReference):
(WebCore::StyleResolver::applyProperty):
(WebCore::StyleResolver::styleImage):
* rendering/style/StylePendingImage.h:
(WebCore::StylePendingImage::cssImageSetValue):

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

8 years agoMove style change analysis code to RenderElement
antti@apple.com [Tue, 24 Sep 2013 00:55:44 +0000 (00:55 +0000)]
Move style change analysis code to RenderElement
https://bugs.webkit.org/show_bug.cgi?id=121812

Reviewed by Andreas Kling.

Text renderers don't need this. There is no text renderer specific invalidation and text
style never changes independent from the containing RenderElement.

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

8 years agoUnreviewed, rolling out r156307.
commit-queue@webkit.org [Tue, 24 Sep 2013 00:51:34 +0000 (00:51 +0000)]
Unreviewed, rolling out r156307.
http://trac.webkit.org/changeset/156307
https://bugs.webkit.org/show_bug.cgi?id=121817

Broke the build, and crashes the compiler (Requested by ap on
#webkit).

Source/WebCore:

* css/MediaQuery.cpp:
(WebCore::expressionCompare):
(WebCore::MediaQuery::MediaQuery):
* dom/MutationObserver.cpp:
(WebCore::MutationObserver::ObserverLessThan::operator()):
(WebCore::MutationObserver::deliverAllMutations):
* page/CaptionUserPreferences.cpp:
(WebCore::textTrackCompare):
(WebCore::CaptionUserPreferences::sortedTrackListForMenu):

Source/WTF:

* wtf/ListDump.h:
(WTF::lessThan):
(WTF::sortedListDump):

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

8 years agoMove rendererForRootBackground() to RenderElement.
akling@apple.com [Tue, 24 Sep 2013 00:34:49 +0000 (00:34 +0000)]
Move rendererForRootBackground() to RenderElement.
<http://webkit.org/b/121813>

Reviewed by Antti Koivisto.

Move this to RenderElement (and make it return one, too) since the
document element renderer will always be a RenderElement.

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

8 years agoMake the Mac build work with IndexedDB enabled.
beidson@apple.com [Tue, 24 Sep 2013 00:14:13 +0000 (00:14 +0000)]
Make the Mac build work with IndexedDB enabled.
https://bugs.webkit.org/show_bug.cgi?id=121814

Reviewed by Alexey Proskuryakov.

This patch makes the Mac build work if one were to enable the IndexedDB feature flag.
This patch does not actually enable the flag for everyone.

* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:

* Modules/indexeddb/IDBBackingStore.cpp: Added.
(WebCore::IDBBackingStore::open):
(WebCore::IDBBackingStore::openInMemory):
(WebCore::IDBBackingStore::getObjectStores):
(WebCore::IDBBackingStore::Cursor::advance):
(WebCore::IDBBackingStore::Cursor::continueFunction):
(WebCore::IDBBackingStore::Transaction::Transaction):
(WebCore::IDBBackingStore::Transaction::begin):
(WebCore::IDBBackingStore::Transaction::commit):
(WebCore::IDBBackingStore::Transaction::rollback):
* Modules/indexeddb/IDBBackingStore.h:
(WebCore::LevelDBFactory::~LevelDBFactory):
(WebCore::IDBBackingStore::Transaction::reset):
(WebCore::IDBBackingStore::Transaction::levelDBTransactionFrom):

* Modules/indexeddb/IDBKeyPath.cpp:
(WebCore::IDBIsValidKeyPath):

* bindings/js/IDBBindingUtilities.cpp:
(WebCore::createIDBKeyFromValue):

* bindings/js/JSIDBAnyCustom.cpp:
(WebCore::toJS):

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

8 years agoCTTE: RenderObject::container() should return a RenderElement*.
akling@apple.com [Mon, 23 Sep 2013 23:55:20 +0000 (23:55 +0000)]
CTTE: RenderObject::container() should return a RenderElement*.
<https://webkit.org/b/121811>

Reviewed by Antti Koivisto.

The containing renderer is always a RenderElement.

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

8 years agoTest the waters and begin using lambdas
andersca@apple.com [Mon, 23 Sep 2013 23:53:28 +0000 (23:53 +0000)]
Test the waters and begin using lambdas
https://bugs.webkit.org/show_bug.cgi?id=121809

Reviewed by Andreas Kling.

Source/WebCore:

Use lambdas instead of static functions and function objects.

* css/MediaQuery.cpp:
(WebCore::MediaQuery::MediaQuery):
* dom/MutationObserver.cpp:
(WebCore::MutationObserver::deliverAllMutations):
* page/CaptionUserPreferences.cpp:
(WebCore::CaptionUserPreferences::sortedTrackListForMenu):

Source/WTF:

* wtf/ListDump.h:
(WTF::sortedListDump):
Use std::less instead of a custom lessThan function.

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

8 years ago[WIN] Add implementation for WebCore::readFromFile()
paroga@webkit.org [Mon, 23 Sep 2013 23:26:23 +0000 (23:26 +0000)]
[WIN] Add implementation for WebCore::readFromFile()
https://bugs.webkit.org/show_bug.cgi?id=119210

Reviewed by Brent Fulgham.

* platform/win/FileSystemWin.cpp:
(WebCore::readFromFile):

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

8 years agoListHashSet::removeLast should only remove one element.
andersca@apple.com [Mon, 23 Sep 2013 22:41:57 +0000 (22:41 +0000)]
ListHashSet::removeLast should only remove one element.

* wtf/ListHashSet.h:
(WTF::ListHashSet::removeLast):

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

8 years agoAdd hash traits for std::unique_ptr
andersca@apple.com [Mon, 23 Sep 2013 22:39:35 +0000 (22:39 +0000)]
Add hash traits for std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=121807

Reviewed by Antti Koivisto.

Also, convert the thread map over to using std::unique_ptr instead of OwnPtr.

* wtf/HashMap.h:
Remove unnecessary typedefs and add missing calls to std::forward.

* wtf/HashTraits.h:
Add hash trait for std::unique_ptr.

* wtf/RefPtrHashMap.h:
Use std::add_lvalue_reference.

* wtf/ThreadingPthreads.cpp:
(WTF::establishIdentifierForPthreadHandle):
Change ThreadMap to be a hash map from ThreadIdentifier to std::unique_ptr<PthreadState>.

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

8 years ago[WIN] Implement WebMutableURLRequest::setHTTPBody()
paroga@webkit.org [Mon, 23 Sep 2013 22:35:46 +0000 (22:35 +0000)]
[WIN] Implement WebMutableURLRequest::setHTTPBody()
https://bugs.webkit.org/show_bug.cgi?id=91920

Reviewed by Brent Fulgham.

Source/WebCore:

Add a method to FormData for growing the internal buffer with a given size.

* platform/network/FormData.cpp:
(WebCore::FormData::appendData):
(WebCore::FormData::expandDataStore):
* platform/network/FormData.h:

Source/WebKit/win:

* WebMutableURLRequest.cpp:
(WebMutableURLRequest::setHTTPBody):
(WebMutableURLRequest::setHTTPBodyStream):

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

8 years agouse NOMINMAX instead of #define min min
paroga@webkit.org [Mon, 23 Sep 2013 22:25:25 +0000 (22:25 +0000)]
use NOMINMAX instead of #define min min
https://bugs.webkit.org/show_bug.cgi?id=73563

Reviewed by Brent Fulgham.

Use NOMINMAX instead of #define min/max as a cleaner
way of ensuring that Windows system header files don't
define min/max as macro in the first place.

Source/JavaScriptCore:

* config.h:

Source/WebCore:

* WebCorePrefix.h:
* config.h:

Source/WebKit/win:

* WebKitPrefix.h:

Source/WebKit2:

* config.h:

Source/WTF:

* config.h:

Tools:

* DumpRenderTree/DumpRenderTreePrefix.h:
* DumpRenderTree/cg/ImageDiffCG.cpp:
* DumpRenderTree/config.h:
* DumpRenderTree/win/ImageDiffCairo.cpp:
* WebKitTestRunner/WebKitTestRunnerPrefix.h:
* WebKitTestRunner/config.h:

WebKitLibraries:

* win/tools/vsprops/common.props:

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

8 years agoREGRESSION (r155998): when zooming in, tiles are too small
simon.fraser@apple.com [Mon, 23 Sep 2013 22:16:44 +0000 (22:16 +0000)]
REGRESSION (r155998): when zooming in, tiles are too small
https://bugs.webkit.org/show_bug.cgi?id=121765

Source/WebCore:

Reviewed by Dean Jackson.

In r155998 I made GraphicsLayerCA take root-relative transforms
into account when computing contentsScale, and landed a bunch of
new results which should actually have told me that I broke page
scaling.

We don't want to take page scale into account when computing contentsScale,
because we already do so, so ignore the transform on the layer that
applies page scale (the only transform it should ever has is the page scale).

* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::updateRootRelativeScale):

LayoutTests:

Reviewed by Dean Jackson.

Fix results of tests that showed that we had incorrect tiling
behavior on zooming.

* platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-zoomed-expected.txt:
* platform/mac-wk2/tiled-drawing/tile-size-slow-zoomed-expected.txt:
* platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-expected.txt:
* platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-scrolled-expected.txt:
* platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt:

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

8 years agoNever use ReturnPC for exception handling and quit using exception check indices...
fpizlo@apple.com [Mon, 23 Sep 2013 22:09:24 +0000 (22:09 +0000)]
Never use ReturnPC for exception handling and quit using exception check indices as a lame replica of the CodeOrigin index
https://bugs.webkit.org/show_bug.cgi?id=121734

Reviewed by Mark Hahnenberg.

Exception handling can deduce where the exception was thrown from by looking at the
code origin that was stored into the call frame header. There is no need to pass any
additional meta-data into the exception throwing logic. But the DFG was still doing it
anyway.

This removes all of the logic to pass extra meta-data into lookupExceptionHandler()
and friends. It simplifies a lot of code.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::shrinkToFit):
* bytecode/CodeBlock.h:
(JSC::CodeBlock::codeOrigins):
(JSC::CodeBlock::hasCodeOrigins):
(JSC::CodeBlock::canGetCodeOrigin):
(JSC::CodeBlock::codeOrigin):
* bytecode/CodeOrigin.h:
(JSC::InlineCallFrame::InlineCallFrame):
* bytecode/InlineCallFrameSet.cpp: Added.
(JSC::InlineCallFrameSet::InlineCallFrameSet):
(JSC::InlineCallFrameSet::~InlineCallFrameSet):
(JSC::InlineCallFrameSet::add):
(JSC::InlineCallFrameSet::shrinkToFit):
* bytecode/InlineCallFrameSet.h: Added.
(JSC::InlineCallFrameSet::isEmpty):
(JSC::InlineCallFrameSet::size):
(JSC::InlineCallFrameSet::at):
* dfg/DFGArgumentsSimplificationPhase.cpp:
(JSC::DFG::ArgumentsSimplificationPhase::run):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
* dfg/DFGCommonData.cpp:
(JSC::DFG::CommonData::addCodeOrigin):
(JSC::DFG::CommonData::shrinkToFit):
* dfg/DFGCommonData.h:
* dfg/DFGDesiredWriteBarriers.cpp:
(JSC::DFG::DesiredWriteBarrier::DesiredWriteBarrier):
(JSC::DFG::DesiredWriteBarrier::trigger):
* dfg/DFGDesiredWriteBarriers.h:
(JSC::DFG::DesiredWriteBarriers::add):
(JSC::DFG::initializeLazyWriteBarrierForInlineCallFrameExecutable):
(JSC::DFG::initializeLazyWriteBarrierForInlineCallFrameCallee):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::Graph):
* dfg/DFGGraph.h:
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::JITCompiler):
(JSC::DFG::JITCompiler::compileExceptionHandlers):
(JSC::DFG::JITCompiler::link):
(JSC::DFG::JITCompiler::compileFunction):
* dfg/DFGJITCompiler.h:
(JSC::DFG::JITCompiler::emitStoreCodeOrigin):
(JSC::DFG::JITCompiler::exceptionCheck):
(JSC::DFG::JITCompiler::fastExceptionCheck):
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* dfg/DFGRepatch.cpp:
(JSC::DFG::tryBuildGetByIDList):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::appendCallWithExceptionCheck):
(JSC::DFG::SpeculativeJIT::appendCallSetResult):
(JSC::DFG::SpeculativeJIT::appendCall):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
* dfg/DFGVirtualRegisterAllocationPhase.cpp:
(JSC::DFG::VirtualRegisterAllocationPhase::run):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::callPreflight):
* jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::emitExceptionCheck):

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

8 years agoDelete TestWebKitAPI domain or some keys before running TestWebKitAPI
ap@apple.com [Mon, 23 Sep 2013 22:07:49 +0000 (22:07 +0000)]
Delete TestWebKitAPI domain or some keys before running TestWebKitAPI
https://bugs.webkit.org/show_bug.cgi?id=121715 & <rdar://problem/14269434>

Patch by Benjamin Poulain <benjamin@webkit.org> on 2013-09-23
Reviewed by Alexey Proskuryakov.

Previously, initalizing a WebPreference would change the cache model
to WebCacheModelDocumentBrowser. That behavior was due to a stale
preference file on disk.

This patch fixes the tests by resetting the default, and using the proper
default values after initializing WebPreference.

* TestWebKitAPI/Tests/mac/SetAndUpdateCacheModel.mm:
(TestWebKitAPI::TEST): Use the proper initial value, unrelated
to the previous runs.

* TestWebKitAPI/Tests/mac/SetAndUpdateCacheModel.mm:
(TestWebKitAPI::TEST): This test needs b/f cache to be enabled, so change
cache model to the one required.

* TestWebKitAPI/ios/mainIOS.mm:
(main): Reset the preferences before testing.
* TestWebKitAPI/mac/mainMac.mm:
(main): Ditto.

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

8 years agoRemove PassTraits.h
andersca@apple.com [Mon, 23 Sep 2013 21:53:38 +0000 (21:53 +0000)]
Remove PassTraits.h
https://bugs.webkit.org/show_bug.cgi?id=121805

Reviewed by Andreas Kling.

We no longer need PassTraits.h, get rid of it.

* GNUmakefile.list.am:
* WTF.vcxproj/WTF.vcxproj:
* WTF.vcxproj/WTF.vcxproj.filters:
* WTF.xcodeproj/project.pbxproj:
* wtf/CMakeLists.txt:
* wtf/PassTraits.h: Removed.

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

8 years agoiframe and scrollbar with "overflow:auto" should support autoscroll with mousedrag
commit-queue@webkit.org [Mon, 23 Sep 2013 21:50:16 +0000 (21:50 +0000)]
iframe and scrollbar with "overflow:auto" should support autoscroll with mousedrag
https://bugs.webkit.org/show_bug.cgi?id=40981

Patch by Antonio Gomes <a1.gomes@sisa.samsung.com> on 2013-09-23
Reviewed by Darin Adler.

Source/WebCore:

RenderBox::calculateAutoscrollDirection does not properly translate
inner frames' coordinates in order to determine its auto-scrollability.
By coincidence, if the inner frame box it placed near to page's 0, 0 position
(upper left corner), it might work.

Patch fixes it by changing ::calculateAutoscrollDirection algorithm to operate
with window coordinates, taking inner frames offset and scroll position into account.
The behavior of auto-scrollable non-frame overflow boxes, including divs, still works
as it is used to.

Test: fast/events/drag-and-drop-autoscroll-inner-frame.html

* rendering/RenderBox.cpp:
(WebCore::RenderBox::calculateAutoscrollDirection):

LayoutTests:

Test ensures that dragging an element close to the boundary of
scrollable Frames, scroll its content in that direction.

* fast/events/drag-and-drop-autoscroll-inner-frame-expected.txt: Added.
* fast/events/drag-and-drop-autoscroll-inner-frame.html: Added.

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

8 years agoMove LevelDB specific IDB files into their own subdirectory.
beidson@apple.com [Mon, 23 Sep 2013 21:45:21 +0000 (21:45 +0000)]
Move LevelDB specific IDB files into their own subdirectory.
https://bugs.webkit.org/show_bug.cgi?id=121804

Rubberstamped by Alexey Proskuryakov.

* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.xcodeproj/project.pbxproj:

* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBBackingStore.cpp.
(WebCore::recordInternalError):
(WebCore::putBool):
(WebCore::getInt):
(WebCore::putInt):
(WebCore::getVarInt):
(WebCore::putVarInt):
(WebCore::getString):
(WebCore::putString):
(WebCore::putIDBKeyPath):
(WebCore::compareKeys):
(WebCore::compareIndexKeys):
(WebCore::Comparator::compare):
(WebCore::Comparator::name):
(WebCore::isSchemaKnown):
(WebCore::setUpMetadata):
(WebCore::getMaxObjectStoreId):
(WebCore::DefaultLevelDBFactory::openLevelDB):
(WebCore::DefaultLevelDBFactory::destroyLevelDB):
(WebCore::IDBBackingStore::IDBBackingStore):
(WebCore::IDBBackingStore::~IDBBackingStore):
(WebCore::IDBBackingStore::open):
(WebCore::IDBBackingStore::openInMemory):
(WebCore::IDBBackingStore::create):
(WebCore::IDBBackingStore::getDatabaseNames):
(WebCore::IDBBackingStore::getIDBDatabaseMetaData):
(WebCore::getNewDatabaseId):
(WebCore::IDBBackingStore::createIDBDatabaseMetaData):
(WebCore::IDBBackingStore::updateIDBDatabaseIntVersion):
(WebCore::IDBBackingStore::updateIDBDatabaseMetaData):
(WebCore::deleteRange):
(WebCore::IDBBackingStore::deleteDatabase):
(WebCore::checkObjectStoreAndMetaDataType):
(WebCore::IDBBackingStore::getObjectStores):
(WebCore::setMaxObjectStoreId):
(WebCore::IDBBackingStore::createObjectStore):
(WebCore::IDBBackingStore::deleteObjectStore):
(WebCore::IDBBackingStore::getRecord):
(WebCore::getNewVersionNumber):
(WebCore::IDBBackingStore::putRecord):
(WebCore::IDBBackingStore::clearObjectStore):
(WebCore::IDBBackingStore::deleteRecord):
(WebCore::IDBBackingStore::getKeyGeneratorCurrentNumber):
(WebCore::IDBBackingStore::maybeUpdateKeyGeneratorCurrentNumber):
(WebCore::IDBBackingStore::keyExistsInObjectStore):
(WebCore::checkIndexAndMetaDataKey):
(WebCore::IDBBackingStore::getIndexes):
(WebCore::setMaxIndexId):
(WebCore::IDBBackingStore::createIndex):
(WebCore::IDBBackingStore::deleteIndex):
(WebCore::IDBBackingStore::putIndexDataForRecord):
(WebCore::findGreatestKeyLessThanOrEqual):
(WebCore::versionExists):
(WebCore::IDBBackingStore::findKeyInIndex):
(WebCore::IDBBackingStore::getPrimaryKeyViaIndex):
(WebCore::IDBBackingStore::keyExistsInIndex):
(WebCore::IDBBackingStore::Cursor::Cursor):
(WebCore::IDBBackingStore::Cursor::firstSeek):
(WebCore::IDBBackingStore::Cursor::advance):
(WebCore::IDBBackingStore::Cursor::continueFunction):
(WebCore::IDBBackingStore::Cursor::haveEnteredRange):
(WebCore::IDBBackingStore::Cursor::isPastBounds):
(WebCore::ObjectStoreKeyCursorImpl::create):
(WebCore::ObjectStoreKeyCursorImpl::clone):
(WebCore::ObjectStoreKeyCursorImpl::value):
(WebCore::ObjectStoreKeyCursorImpl::encodeKey):
(WebCore::ObjectStoreKeyCursorImpl::ObjectStoreKeyCursorImpl):
(WebCore::ObjectStoreKeyCursorImpl::loadCurrentRow):
(WebCore::ObjectStoreCursorImpl::create):
(WebCore::ObjectStoreCursorImpl::clone):
(WebCore::ObjectStoreCursorImpl::value):
(WebCore::ObjectStoreCursorImpl::encodeKey):
(WebCore::ObjectStoreCursorImpl::ObjectStoreCursorImpl):
(WebCore::ObjectStoreCursorImpl::loadCurrentRow):
(WebCore::IndexKeyCursorImpl::create):
(WebCore::IndexKeyCursorImpl::clone):
(WebCore::IndexKeyCursorImpl::value):
(WebCore::IndexKeyCursorImpl::primaryKey):
(WebCore::IndexKeyCursorImpl::recordIdentifier):
(WebCore::IndexKeyCursorImpl::encodeKey):
(WebCore::IndexKeyCursorImpl::IndexKeyCursorImpl):
(WebCore::IndexKeyCursorImpl::loadCurrentRow):
(WebCore::IndexCursorImpl::create):
(WebCore::IndexCursorImpl::clone):
(WebCore::IndexCursorImpl::value):
(WebCore::IndexCursorImpl::primaryKey):
(WebCore::IndexCursorImpl::recordIdentifier):
(WebCore::IndexCursorImpl::encodeKey):
(WebCore::IndexCursorImpl::IndexCursorImpl):
(WebCore::IndexCursorImpl::loadCurrentRow):
(WebCore::objectStoreCursorOptions):
(WebCore::indexCursorOptions):
(WebCore::IDBBackingStore::openObjectStoreCursor):
(WebCore::IDBBackingStore::openObjectStoreKeyCursor):
(WebCore::IDBBackingStore::openIndexKeyCursor):
(WebCore::IDBBackingStore::openIndexCursor):
(WebCore::IDBBackingStore::Transaction::Transaction):
(WebCore::IDBBackingStore::Transaction::begin):
(WebCore::IDBBackingStore::Transaction::commit):
(WebCore::IDBBackingStore::Transaction::rollback):
* Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBLevelDBCoding.cpp.
(WebCore::IDBLevelDBCoding::encodeByte):
(WebCore::IDBLevelDBCoding::decodeByte):
(WebCore::IDBLevelDBCoding::maxIDBKey):
(WebCore::IDBLevelDBCoding::minIDBKey):
(WebCore::IDBLevelDBCoding::encodeBool):
(WebCore::IDBLevelDBCoding::decodeBool):
(WebCore::IDBLevelDBCoding::encodeInt):
(WebCore::IDBLevelDBCoding::decodeInt):
(WebCore::IDBLevelDBCoding::compareInts):
(WebCore::IDBLevelDBCoding::encodeVarInt):
(WebCore::IDBLevelDBCoding::decodeVarInt):
(WebCore::IDBLevelDBCoding::encodeString):
(WebCore::IDBLevelDBCoding::decodeString):
(WebCore::IDBLevelDBCoding::encodeStringWithLength):
(WebCore::IDBLevelDBCoding::decodeStringWithLength):
(WebCore::IDBLevelDBCoding::compareEncodedStringsWithLength):
(WebCore::IDBLevelDBCoding::encodeDouble):
(WebCore::IDBLevelDBCoding::decodeDouble):
(WebCore::IDBLevelDBCoding::encodeIDBKey):
(WebCore::IDBLevelDBCoding::decodeIDBKey):
(WebCore::IDBLevelDBCoding::extractEncodedIDBKey):
(WebCore::IDBLevelDBCoding::keyTypeByteToKeyType):
(WebCore::IDBLevelDBCoding::compareEncodedIDBKeys):
(WebCore::IDBLevelDBCoding::encodeIDBKeyPath):
(WebCore::IDBLevelDBCoding::decodeIDBKeyPath):
(WebCore::IDBLevelDBCoding::compare):
(WebCore::IDBLevelDBCoding::KeyPrefix::KeyPrefix):
(WebCore::IDBLevelDBCoding::KeyPrefix::createWithSpecialIndex):
(WebCore::IDBLevelDBCoding::KeyPrefix::isValidDatabaseId):
(WebCore::IDBLevelDBCoding::KeyPrefix::isValidObjectStoreId):
(WebCore::IDBLevelDBCoding::KeyPrefix::isValidIndexId):
(WebCore::IDBLevelDBCoding::KeyPrefix::decode):
(WebCore::IDBLevelDBCoding::KeyPrefix::encodeEmpty):
(WebCore::IDBLevelDBCoding::KeyPrefix::encode):
(WebCore::IDBLevelDBCoding::KeyPrefix::encodeInternal):
(WebCore::IDBLevelDBCoding::KeyPrefix::compare):
(WebCore::IDBLevelDBCoding::KeyPrefix::type):
(WebCore::IDBLevelDBCoding::SchemaVersionKey::encode):
(WebCore::IDBLevelDBCoding::MaxDatabaseIdKey::encode):
(WebCore::IDBLevelDBCoding::DataVersionKey::encode):
(WebCore::IDBLevelDBCoding::DatabaseFreeListKey::DatabaseFreeListKey):
(WebCore::IDBLevelDBCoding::DatabaseFreeListKey::decode):
(WebCore::IDBLevelDBCoding::DatabaseFreeListKey::encode):
(WebCore::IDBLevelDBCoding::DatabaseFreeListKey::encodeMaxKey):
(WebCore::IDBLevelDBCoding::DatabaseFreeListKey::databaseId):
(WebCore::IDBLevelDBCoding::DatabaseFreeListKey::compare):
(WebCore::IDBLevelDBCoding::DatabaseNameKey::decode):
(WebCore::IDBLevelDBCoding::DatabaseNameKey::encode):
(WebCore::IDBLevelDBCoding::DatabaseNameKey::encodeMinKeyForOrigin):
(WebCore::IDBLevelDBCoding::DatabaseNameKey::encodeStopKeyForOrigin):
(WebCore::IDBLevelDBCoding::DatabaseNameKey::compare):
(WebCore::IDBLevelDBCoding::DatabaseMetaDataKey::encode):
(WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::ObjectStoreMetaDataKey):
(WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::decode):
(WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::encode):
(WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::encodeMaxKey):
(WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::objectStoreId):
(WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::metaDataType):
(WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::compare):
(WebCore::IDBLevelDBCoding::IndexMetaDataKey::IndexMetaDataKey):
(WebCore::IDBLevelDBCoding::IndexMetaDataKey::decode):
(WebCore::IDBLevelDBCoding::IndexMetaDataKey::encode):
(WebCore::IDBLevelDBCoding::IndexMetaDataKey::encodeMaxKey):
(WebCore::IDBLevelDBCoding::IndexMetaDataKey::compare):
(WebCore::IDBLevelDBCoding::IndexMetaDataKey::indexId):
(WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::ObjectStoreFreeListKey):
(WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::decode):
(WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::encode):
(WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::encodeMaxKey):
(WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::objectStoreId):
(WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::compare):
(WebCore::IDBLevelDBCoding::IndexFreeListKey::IndexFreeListKey):
(WebCore::IDBLevelDBCoding::IndexFreeListKey::decode):
(WebCore::IDBLevelDBCoding::IndexFreeListKey::encode):
(WebCore::IDBLevelDBCoding::IndexFreeListKey::encodeMaxKey):
(WebCore::IDBLevelDBCoding::IndexFreeListKey::compare):
(WebCore::IDBLevelDBCoding::IndexFreeListKey::objectStoreId):
(WebCore::IDBLevelDBCoding::IndexFreeListKey::indexId):
(WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::decode):
(WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::encode):
(WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::compare):
(WebCore::IDBLevelDBCoding::IndexNamesKey::IndexNamesKey):
(WebCore::IDBLevelDBCoding::IndexNamesKey::decode):
(WebCore::IDBLevelDBCoding::IndexNamesKey::encode):
(WebCore::IDBLevelDBCoding::IndexNamesKey::compare):
(WebCore::IDBLevelDBCoding::ObjectStoreDataKey::decode):
(WebCore::IDBLevelDBCoding::ObjectStoreDataKey::encode):
(WebCore::IDBLevelDBCoding::ObjectStoreDataKey::compare):
(WebCore::IDBLevelDBCoding::ObjectStoreDataKey::userKey):
(WebCore::IDBLevelDBCoding::ExistsEntryKey::decode):
(WebCore::IDBLevelDBCoding::ExistsEntryKey::encode):
(WebCore::IDBLevelDBCoding::ExistsEntryKey::compare):
(WebCore::IDBLevelDBCoding::ExistsEntryKey::userKey):
(WebCore::IDBLevelDBCoding::IndexDataKey::IndexDataKey):
(WebCore::IDBLevelDBCoding::IndexDataKey::decode):
(WebCore::IDBLevelDBCoding::IndexDataKey::encode):
(WebCore::IDBLevelDBCoding::IndexDataKey::encodeMinKey):
(WebCore::IDBLevelDBCoding::IndexDataKey::encodeMaxKey):
(WebCore::IDBLevelDBCoding::IndexDataKey::compare):
(WebCore::IDBLevelDBCoding::IndexDataKey::databaseId):
(WebCore::IDBLevelDBCoding::IndexDataKey::objectStoreId):
(WebCore::IDBLevelDBCoding::IndexDataKey::indexId):
(WebCore::IDBLevelDBCoding::IndexDataKey::userKey):
(WebCore::IDBLevelDBCoding::IndexDataKey::primaryKey):
* Modules/indexeddb/leveldb/IDBLevelDBCoding.h: Renamed from Source/WebCore/Modules/indexeddb/IDBLevelDBCoding.h.
(WebCore::IDBLevelDBCoding::encodeIntSafely):
(WebCore::IDBLevelDBCoding::KeyPrefix::validIds):
(WebCore::IDBLevelDBCoding::DatabaseNameKey::origin):
(WebCore::IDBLevelDBCoding::DatabaseNameKey::databaseName):
(WebCore::IDBLevelDBCoding::IndexMetaDataKey::metaDataType):
(WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::objectStoreName):
(WebCore::IDBLevelDBCoding::IndexNamesKey::indexName):

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

8 years agoTry to fix GTK build.
antti@apple.com [Mon, 23 Sep 2013 21:39:58 +0000 (21:39 +0000)]
Try to fix GTK build.

Not reviewed.

* accessibility/atk/AccessibilityObjectAtk.cpp:
(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
* accessibility/atk/WebKitAccessibleInterfaceText.cpp:
(textForRenderer):

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

8 years agoListHashSet should work with move-only types
andersca@apple.com [Mon, 23 Sep 2013 21:39:30 +0000 (21:39 +0000)]
ListHashSet should work with move-only types
https://bugs.webkit.org/show_bug.cgi?id=121802

Reviewed by Andreas Kling.

Source/WTF:

Add rvalue reference overloads and calls to std::forward and std::move where appropriate.

* wtf/ListHashSet.h:
(WTF::::removeFirst):
Implement this in terms of takeFirst.

(WTF::::takeFirst):
Look up the iterator before we move out the value so we won't break the hash invariant.

(WTF::::removeLast):
Implement this in terms of takeLast.

(WTF::::takeLast):
Look up the iterator before we move out the value so we won't break the hash invariant.

Tools:

* TestWebKitAPI/Tests/WTF/ListHashSet.cpp:
(TestWebKitAPI::TEST):
Add a test for move-only types.

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

8 years agovideo-object-fit tests are flaky
ap@apple.com [Mon, 23 Sep 2013 21:20:13 +0000 (21:20 +0000)]
video-object-fit tests are flaky
https://bugs.webkit.org/show_bug.cgi?id=121803

Rubber-stamped by Simon Fraser.

Removing an ad hoc 1.5 second timeout that these tests had. Loading video can take
longer.

* compositing/video/video-object-fit.html:
* media/video-object-fit-change.html:
* media/video-object-fit.html:

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

8 years agoWeb Inspector: [CSS Regions] Display CSS Regions flow name in the inspector overlay
achicu@adobe.com [Mon, 23 Sep 2013 20:45:55 +0000 (20:45 +0000)]
Web Inspector: [CSS Regions] Display CSS Regions flow name in the inspector overlay
https://bugs.webkit.org/show_bug.cgi?id=121794

Reviewed by Joseph Pecoraro.

Source/WebCore:

No new tests, the previous test for CSS Regions highlighting covers the flow name.

This patch adds the "Flow" property in the inspector overlay. The region
chain is already displayed with numbers, so it makes sense to have the flow
name around when a CSS region is highlighted.

I've consolidated the flow information into "elementInfo.flowInfo".
Flow info has two properties: "name" and "regions".

* inspector/InspectorOverlay.cpp:
(WebCore::buildObjectForCSSRegionsHighlight):
(WebCore::InspectorOverlay::buildObjectForHighlightedNode):
* inspector/InspectorOverlayPage.css:
(.css-property): Added the CSS property font color that the Inspector uses.
* inspector/InspectorOverlayPage.html: Added a new element to be used to display the flow-from property.
* inspector/InspectorOverlayPage.js:
(_drawElementTitle):
(drawNodeHighlight):

LayoutTests:

Updated the expected results after moving the regions to the elementInfo.flowInfo property.
Also, the test is now logging the name of the flow container in the output.

* http/tests/inspector/elements-test.js:
* inspector/elements/highlight-node-regions-expected.txt:

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

8 years agoRapidly loading pages can result in !needsLayout() assertions in FrameView::paintCont...
simon.fraser@apple.com [Mon, 23 Sep 2013 20:43:17 +0000 (20:43 +0000)]
Rapidly loading pages can result in !needsLayout() assertions in FrameView::paintContents() and RenderView::paint()
https://bugs.webkit.org/show_bug.cgi?id=121725
<rdar://problem/13982161> ASSERT(!needsLayout()) in WebCore::RenderView::paint (121196)

Reviewed by Dean Jackson.

Layout has to be up-to-date before we paint, and when composited we rely on a
CFRunLoopObserver owned by LayerFlushScheduler to enforce this. The contract is
that changes to GraphicsLayers accumulate in those layers, and are all pushed to
CALayers only inside of flushCompositingState(). CALayers must not be touched
directly outside of flushCompositingState(), since this may trigger a CA commit
and resultant painting without us having updated layout.

In addition, we rely on the CA commits only happening after our runloop observer
has fired in order for LayerFlushScheduler's suspend/resume to work (these are used
for freezing the layer tree during page transitions).

However, TileController was violating this contract. It called revalidateTiles()
at random times, and on a timer. This would result in CA commits happening when
layer flushing was suspended at the LayerFlushScheduler level, and thus before
we'd had a chance to do layout.

Fix by only ever revalidatingTiles inside of flushCompositingState(). Calls
that used to result in revalidateTiles() at other times now just set a bit
on GraphicsLayerCA to indicate that revalidation is required, and this triggers
a later flush like any other GraphicsLayerCA change.

There is one exception to the revalidate-inside-flush rule: when purging
files for background tabs on a timer, we are only dealing with an unparented
layer tree, so CALayer manipulation is safe at any time.

Very timing dependent, so hard to test.

* platform/graphics/TiledBacking.h: Expose revalidateTiles()
* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: Remove
platformCALayerDidCreateTiles() override.
* platform/graphics/ca/GraphicsLayerCA.h: Keep track of m_isCommittingChanges
so we can assert. Add TilingAreaChanged flag.
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::GraphicsLayerCA):
(WebCore::GraphicsLayerCA::recursiveCommitChanges): noteSublayersChanged() is
used inside of a commit in some cases to trigger a parent layer to update
children after the children have been processed. To avoid trying to pointlessly
schedule the flusher inside a flush, and for strong assertions, use a new flag
that indicates that flushing is not required in this situation.
Set the m_isCommittingChanges flag around committing state.
(WebCore::GraphicsLayerCA::platformCALayerSetNeedsToRevalidateTiles): We used
to use platformCALayerDidCreateTiles() to ensure that we would flush after adding
new tiles to avoid garbage flashes. Now that we only ever create tiles inside
a flush, this is no longer necessary.
The new platformCALayerSetNeedsToRevalidateTiles() function just sets the
TilingAreaChanged flag and triggers a flush.
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): After updating
visible rect, we look for the TilingAreaChanged flag to tell us whether to
revalidate TiledBacking tiles.
(WebCore::GraphicsLayerCA::ensureStructuralLayer): Use DontScheduleFlush when
telling a parent layer that it needs to reconsider sublayers.
(WebCore::GraphicsLayerCA::updateTiles): The caller of revalidateTiles().
(WebCore::GraphicsLayerCA::updateContentsRects): DontScheduleFlush again.
(WebCore::GraphicsLayerCA::noteSublayersChanged): Pass scheduleFlush along.
(WebCore::GraphicsLayerCA::noteLayerPropertyChanged): Handle scheduleFlush.
* platform/graphics/ca/PlatformCALayerClient.h:
(WebCore::PlatformCALayerClient::platformCALayerSetNeedsToRevalidateTiles): Added
so that TileController can call back out to GraphicsLayerCA.
(WebCore::PlatformCALayerClient::isCommittingChanges):
* platform/graphics/ca/mac/TileController.h: Need to keep track of secondary
coverage rects in m_secondaryTileCoverageRects.
* platform/graphics/ca/mac/TileController.mm:
(WebCore::TileController::tileCacheLayerBoundsChanged): Just trigger a tile revalidate,
which will happen later in this same commit.
(WebCore::TileController::setScale): This is called inside the commit. Does an extra
revalidate, which is needed to prune tiles. This could be optimized in future.
(WebCore::TileController::setVisibleRect): Assert that we're inside a commit,
and trigger a revalidate.
(WebCore::TileController::setExposedRect): Trigger a revalidate.
(WebCore::TileController::setClipsToExposedRect): Ditto.
(WebCore::TileController::prepopulateRect): Save the rect and trigger a revalidate.
(WebCore::TileController::setIsInWindow): If we're in the window, trigger a revalidate
otherwise schedule the timer.
(WebCore::TileController::revalidateTiles): Wrapper for the real revalidateTiles().
(WebCore::TileController::tileRevalidationTimerFired): If we're in the window,
schedule a revalidate. Otherwise our layer tree is disconnected, and it's OK to call revalidateTiles().
(WebCore::TileController::setNeedsRevalidateTiles): Call through the client to GraphicsLayerCA
which will schedule a layer tree flush.
(WebCore::TileController::revalidateTiles):
(WebCore::TileController::ensureTilesForRect): Move code from prepopulateRect
into here; ensureTilesForRect() for each secondary rect, then clear the rects.
No need to call platformCALayerDidCreateTiles() at the end.
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: Remove
platformCALayerDidCreateTiles() override.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::scheduleLayerFlush): This should only be
called when we're not inside a flush, otherwise it will fail to schedule
another one.

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

8 years agoAdded --64-bit option for Windows build.
alex.christensen@flexsim.com [Mon, 23 Sep 2013 20:38:36 +0000 (20:38 +0000)]
Added --64-bit option for Windows build.
https://bugs.webkit.org/show_bug.cgi?id=121799

Reviewed by Brent Fulgham.

* Scripts/webkitdirs.pm:
(determinePassedConfiguration): Add "|x64" for 64-bit configuration.
(isWin64): Added.
(determineIsWin64): Added.

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

8 years agoCTTE: htmlediting.h Element creation function should take a Document&
weinig@apple.com [Mon, 23 Sep 2013 20:24:47 +0000 (20:24 +0000)]
CTTE: htmlediting.h Element creation function should take a Document&
https://bugs.webkit.org/show_bug.cgi?id=121800

Reviewed by Antti Koivisto.

Thread the Document&!

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

8 years ago[BlackBerry] Poor rendering opening a Google map short link
zhajiang@rim.com [Mon, 23 Sep 2013 20:23:02 +0000 (20:23 +0000)]
[BlackBerry] Poor rendering opening a Google map short link
https://bugs.webkit.org/show_bug.cgi?id=121687

Source/WebCore:

Patch by Jacky Jiang <zhajiang@blackberry.com> on 2013-09-23.
Reviewed by Yong Li.
Internally reviewed by Liam Quinn and Joe Mason.

Fix a regression. It turns out that LayerCompositingThread already has
an API named isVisible() which by default returns false. So rename the
one in the LayerData to isLayerVisible().

* platform/graphics/blackberry/LayerData.h:
(WebCore::LayerData::isLayerVisible):
* platform/graphics/blackberry/LayerRenderer.cpp:
(WebCore::LayerRenderer::compositeLayersRecursive):

Source/WebKit/blackberry:

Patch by Jacky Jiang <zhajiang@blackberry.com> on 2013-09-23.
Reviewed by Yong Li.
Internally reviewed by Arvid Nilsson.

Clean up m_isAcceleratedCompositingActive as it has been deprecated.

* Api/WebPage_p.h:

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

8 years ago[GTK][WK2] A plugin dirtyRect within iframe remains after moving to a different page.
changseok.oh@collabora.com [Mon, 23 Sep 2013 20:09:41 +0000 (20:09 +0000)]
[GTK][WK2] A plugin dirtyRect within iframe remains after moving to a different page.
https://bugs.webkit.org/show_bug.cgi?id=121600

Reviewed by Gustavo Noronha Silva.

Nowhere to destroy NetscapePlugin::m_platformPluginWidget even after destroying
an instance of NetscapePlugin. So the created GtkWidget remains visible.

* WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
(WebKit::NetscapePlugin::platformDestroy):

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

8 years agoCodeLoad performance regression
oliver@apple.com [Mon, 23 Sep 2013 19:46:46 +0000 (19:46 +0000)]
CodeLoad performance regression

Reviewed by Filip Pizlo.

Temporarily remove the ExpressionInfo compression until we can
work out how to make it not clobber performance.
* bytecode/UnlinkedCodeBlock.cpp:
(JSC::UnlinkedCodeBlock::expressionRangeForBytecodeOffset):
(JSC::UnlinkedCodeBlock::addExpressionInfo):
* bytecode/UnlinkedCodeBlock.h:

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

8 years agoRename RenderObject::first/lastChild to RenderObject::first/lastChildSlow
antti@apple.com [Mon, 23 Sep 2013 19:32:15 +0000 (19:32 +0000)]
Rename RenderObject::first/lastChild to RenderObject::first/lastChildSlow
https://bugs.webkit.org/show_bug.cgi?id=121784

Reviewed by Andreas Kling.

This will make it obvious in code where typing should be tightened.
Handled some simple cases by tightening the code instead of renaming.

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

8 years agoHook up the initiator info and show it in the Resource details sidebar.
timothy@apple.com [Mon, 23 Sep 2013 19:27:38 +0000 (19:27 +0000)]
Hook up the initiator info and show it in the Resource details sidebar.

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

Reviewed by Joseph Pecoraro.

* UserInterface/FrameResourceManager.js:
(WebInspector.FrameResourceManager.prototype.resourceRequestWillBeSent):
(WebInspector.FrameResourceManager.prototype.resourceRequestWasServedFromMemoryCache):
(WebInspector.FrameResourceManager.prototype._addNewResourceToFrame):
(WebInspector.FrameResourceManager.prototype._initiatorSourceCodeLocationFromPayload):
* UserInterface/NetworkObserver.js:
(WebInspector.NetworkObserver.prototype.requestWillBeSent):
(WebInspector.NetworkObserver.prototype.requestServedFromMemoryCache):
* UserInterface/Resource.js:
(WebInspector.Resource):
(WebInspector.Resource.prototype.get initiatorSourceCodeLocation):
* UserInterface/ResourceDetailsSidebarPanel.js:
(WebInspector.ResourceDetailsSidebarPanel):
(WebInspector.ResourceDetailsSidebarPanel.prototype._refreshURL):

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

8 years agoClean up ListHashSet
andersca@apple.com [Mon, 23 Sep 2013 19:27:15 +0000 (19:27 +0000)]
Clean up ListHashSet
https://bugs.webkit.org/show_bug.cgi?id=121797

Reviewed by Antti Koivisto.

* wtf/ListHashSet.h:

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

8 years ago[Texmap] Reloading a webgl page doesn't work
changseok.oh@collabora.com [Mon, 23 Sep 2013 19:02:44 +0000 (19:02 +0000)]
[Texmap] Reloading a webgl page doesn't work
https://bugs.webkit.org/show_bug.cgi?id=120593

Reviewed by Noam Rosenthal.

Source/WebCore:

Let GraphicsLayerTextureMapper know it needs to detach the platform layer when a GraphicsContext3D is destroyed.

Test: fast/canvas/webgl/webgl-reload-crash.html

* platform/graphics/GraphicsContext3DPrivate.cpp:
(WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
* platform/graphics/texmap/GraphicsLayerTextureMapper.h:
* platform/graphics/texmap/TextureMapperPlatformLayer.h:

LayoutTests:

Add a new test case to check if a crash occurs while reloading a page which contains webgl.

* fast/canvas/webgl/webgl-reload-crash-expected.txt: Added.
* fast/canvas/webgl/webgl-reload-crash.html: Added.

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