Timeline



Nov 20, 2013:

11:52 PM Changeset in webkit [159613] by jae.park@company100.net
  • 6 edits in trunk/Source/WebCore

[CoordinatedGraphics] Use std::unique_ptrs rather than OwnPtrs
https://bugs.webkit.org/show_bug.cgi?id=124692

Reviewed by Noam Rosenthal.

No new tests, covered by existing ones.

  • platform/graphics/TiledBackingStore.cpp:

(WebCore::TiledBackingStore::TiledBackingStore):

  • platform/graphics/TiledBackingStore.h:
  • platform/graphics/TiledBackingStoreBackend.h:
  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::createBackingStore):

  • platform/graphics/texmap/coordinated/CoordinatedTile.h:
11:46 PM Changeset in webkit [159612] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

check-webkit-style should support C++11 rvalue references.
https://bugs.webkit.org/show_bug.cgi?id=123406

Patch by László Langó <lango@inf.u-szeged.hu> on 2013-11-20
Reviewed by Brent Fulgham.

  • Scripts/webkitpy/style/checkers/cpp.py:

(check_style):

  • Scripts/webkitpy/style/checkers/cpp_unittest.py:

(Cpp11StyleTest):
(Cpp11StyleTest.test_rvaule_reference_at_end_of_line):

11:04 PM Changeset in webkit [159611] by beidson@apple.com
  • 15 edits
    1 copy in trunk/Source

Add more infrastructure for ServerConnection communication between Web and Database processes
https://bugs.webkit.org/show_bug.cgi?id=124693

Reviewed by Anders Carlsson.

Source/WebCore:

  • WebCore.exp.in:

Source/WebKit2:

  • DatabaseProcess/DatabaseToWebProcessConnection.cpp:

(WebKit::DatabaseToWebProcessConnection::establishIDBConnection):
(WebKit::DatabaseToWebProcessConnection::removeDatabaseProcessIDBConnection): Added for WebProcess to be able

to invalidate the DatabaseProcess side of a server connection.

  • DatabaseProcess/DatabaseToWebProcessConnection.h:
  • DatabaseProcess/DatabaseToWebProcessConnection.messages.in:
  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:

(WebKit::DatabaseProcessIDBConnection::DatabaseProcessIDBConnection):
(WebKit::DatabaseProcessIDBConnection::disconnectedFromWebProcess): Added for future cleanup.
(WebKit::DatabaseProcessIDBConnection::establishConnection):
(WebKit::DatabaseProcessIDBConnection::getOrEstablishIDBDatabaseMetadata): Callback to the WebProcess, even if

it is just dummy data for now.

  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:

(WebKit::DatabaseProcessIDBConnection::create):

  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:

(WebKit::WebIDBServerConnection::create): Register the new object with the WebToDatabaseProcessConnection.
(WebKit::WebIDBServerConnection::~WebIDBServerConnection): Remove from the WebToDatabaseProcessConnection.
(WebKit::WebIDBServerConnection::getOrEstablishIDBDatabaseMetadata):
(WebKit::WebIDBServerConnection::didGetOrEstablishIDBDatabaseMetadata): Callback from the DatabaseProcess,

a no-op for now.

  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in: Copied from Source/WebKit2/DatabaseProcess/DatabaseToWebProcessConnection.messages.in.
  • WebProcess/Databases/WebToDatabaseProcessConnection.cpp:

(WebKit::WebToDatabaseProcessConnection::didReceiveMessage):
(WebKit::WebToDatabaseProcessConnection::didClose):
(WebKit::WebToDatabaseProcessConnection::registerWebIDBServerConnection): Hold a collection of all

server connections for messaging.

(WebKit::WebToDatabaseProcessConnection::removeWebIDBServerConnection): Remove a connection from the collection,

and also message the DatabaseProcess that it’s gone away.

  • WebProcess/Databases/WebToDatabaseProcessConnection.h:

Project files, etc etc:

  • DerivedSources.make:
  • Scripts/webkit2/messages.py:

(struct_or_class):

  • WebKit2.xcodeproj/project.pbxproj:
11:00 PM Changeset in webkit [159610] by rniwa@webkit.org
  • 4 edits in trunk

Hoist <template> to head when found between </head> and <body> for consistency with <script>
https://bugs.webkit.org/show_bug.cgi?id=123949

Reviewed by Antti Koivisto.

Source/WebCore:

Merge https://chromium.googlesource.com/chromium/blink/+/835fb468fd211054a920fb7612a6dc5043662495

Move template elements between head and body elements into the head to be consistent with script elements.
The HTML5 specification was changed in http://html5.org/tools/web-apps-tracker?from=8217&to=8218.

Inline comments below are cited from https://www.w3.org/Bugs/Public/show_bug.cgi?id=23002
and https://codereview.chromium.org/25900003 for clarity.

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::processStartTag): Add the template element to the list of elements to be hoisted into
the head element.
(WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):

Replace the assertion that isParsingFragment is true when item->node() == m_tree.openElements()->rootNode() since,
with this change, we can now invoke resetInsertionMode when parsing a normal document (not fragment) and there is
only the html element on the stack of open elements.

For the second change, consider: <head></head><template>

This example breaks in the old HTML parser because the template element is handled by "after head" state which
pushes the head element back on, processes the template element for "in head", then pops the head element off.
EOF is reached, which processes a fake close tag for the template element, which pops the template element off
and resets the insertion mode appropriately

The problem here is that "reset the insertion mode" is going to inspect the bottom-most element on the stack which
is now the html element and it will set the mode to "before head". Nothing good happens after this.

We fix this problem by having the reset algorithm check if the head element pointer is set, and if so, go to after
head instead of before head.

LayoutTests:

Merge https://chromium.googlesource.com/chromium/blink/+/835fb468fd211054a920fb7612a6dc5043662495
and added two more test cases discussed in https://www.w3.org/Bugs/Public/show_bug.cgi?id=23002.

  • html5lib/resources/template.dat:
10:57 PM Changeset in webkit [159609] by stavila@adobe.com
  • 51 edits
    1 copy
    18 adds
    5 deletes in trunk

[CSS Regions] Implement visual overflow for first & last regions
https://bugs.webkit.org/show_bug.cgi?id=118665

Source/WebCore:

In order to properly propagate the visual overflow of elements flowed inside regions,
the responsiblity of painting and hit-testing content inside flow threads has been
moved to the flow thread layer's level.
Each region keeps the associated overflow with each box in the RenderBoxRegionInfo
structure, including one for the flow thread itself. This data is used during
painting and hit-testing.

Reviewed by David Hyatt.

Tests: fast/regions/overflow-first-and-last-regions-in-container-hidden.html

fast/regions/overflow-first-and-last-regions.html
fast/regions/overflow-nested-regions.html
fast/regions/overflow-region-float.html
fast/regions/overflow-region-inline.html
fast/regions/overflow-region-transform.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::setLayoutOverflow):
(WebCore::InlineFlowBox::setVisualOverflow):

  • rendering/InlineFlowBox.h:
  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::addOverflowFromChildren):
(WebCore::RenderBlock::paint):
(WebCore::RenderBlock::paintObject):
(WebCore::RenderBlock::estimateRegionRangeForBoxChild):
(WebCore::RenderBlock::updateRegionRangeForBoxChild):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::hasNextPage):
(WebCore::RenderBlockFlow::relayoutForPagination):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::positionNewFloatOnLine):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::borderBoxRectInRegion):
(WebCore::RenderBox::computeRectForRepaint):
(WebCore::RenderBox::addLayoutOverflow):
(WebCore::RenderBox::addVisualOverflow):
(WebCore::RenderBox::isUnsplittableForPagination):
(WebCore::RenderBox::overflowRectForPaintRejection):

  • rendering/RenderBox.h:

(WebCore::RenderBox::canHaveOutsideRegionRange):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintMaskForTextFillBox):
(WebCore::RenderBoxModelObject::paintFillLayerExtended):

  • rendering/RenderBoxModelObject.h:
  • rendering/RenderBoxRegionInfo.h:

(WebCore::RenderBoxRegionInfo::createOverflow):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::objectShouldPaintInFlowRegion):
(WebCore::RenderFlowThread::mapFromLocalToFlowThread):
(WebCore::RenderFlowThread::mapFromFlowThreadToLocal):
(WebCore::RenderFlowThread::decorationsClipRectForBoxInRegion):
(WebCore::RenderFlowThread::flipForWritingModeLocalCoordinates):
(WebCore::RenderFlowThread::addRegionsOverflowFromChild):
(WebCore::RenderFlowThread::addRegionsVisualOverflow):
(WebCore::CurrentRenderFlowThreadMaintainer::CurrentRenderFlowThreadMaintainer):

  • rendering/RenderFlowThread.h:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateLayerPositions):
(WebCore::expandClipRectForRegionAndReflection):
(WebCore::expandClipRectForDescendantsAndReflection):
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::updatePaintingInfoForFragments):
(WebCore::RenderLayer::paintForegroundForFragments):
(WebCore::RenderLayer::hitTest):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer):
(WebCore::RenderLayer::calculateClipRects):
(WebCore::RenderLayer::parentClipRects):
(WebCore::RenderLayer::calculateRects):
(WebCore::RenderLayer::intersectsDamageRect):
(WebCore::RenderLayer::updateDescendantsLayerListsIfNeeded):
(WebCore::RenderLayer::repaintIncludingDescendants):
(WebCore::RenderLayer::paintNamedFlowThreadInsideRegion):
(WebCore::RenderLayer::paintFlowThreadIfRegion):
(WebCore::RenderLayer::hitTestFlowThreadIfRegion):

  • rendering/RenderLayer.h:

(WebCore::ClipRect::inflateX):
(WebCore::ClipRect::inflateY):
(WebCore::ClipRect::inflate):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::computeCompositingRequirements):

  • rendering/RenderListItem.cpp:

(WebCore::RenderListItem::addOverflowFromChildren):

  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
(WebCore::RenderMultiColumnSet::repaintFlowThreadContent):

  • rendering/RenderMultiColumnSet.h:
  • rendering/RenderNamedFlowFragment.cpp:

(WebCore::RenderNamedFlowFragment::createStyle):
(WebCore::RenderNamedFlowFragment::namedFlowThread):

  • rendering/RenderNamedFlowFragment.h:
  • rendering/RenderOverflow.h:
  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::flowThreadPortionOverflowRect):
(WebCore::RenderRegion::flowThreadPortionLocation):
(WebCore::RenderRegion::regionContainerLayer):
(WebCore::RenderRegion::overflowRectForFlowThreadPortion):
(WebCore::RenderRegion::computeOverflowFromFlowThread):
(WebCore::RenderRegion::repaintFlowThreadContent):
(WebCore::RenderRegion::repaintFlowThreadContentRectangle):
(WebCore::RenderRegion::insertedIntoTree):
(WebCore::RenderRegion::ensureOverflowForBox):
(WebCore::RenderRegion::rectFlowPortionForBox):
(WebCore::RenderRegion::addLayoutOverflowForBox):
(WebCore::RenderRegion::addVisualOverflowForBox):
(WebCore::RenderRegion::layoutOverflowRectForBox):
(WebCore::RenderRegion::visualOverflowRectForBox):
(WebCore::RenderRegion::visualOverflowRectForBoxForPropagation):

  • rendering/RenderRegion.h:
  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::shouldPaint):

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::paint):

LayoutTests:

Rebased some tests due to regions layers changes.
Updated some tests to increase clarity. Some of them were only passing because two
regions were close together and the fact that an element was being painted
inside the wrong region was not visible. Floats are now also unsplittable.

  • bottom-overflow-out-of-first-region
  • float-pushed-width-change-2
  • float-pushed-width-change
  • webkit-flow-float-unable-to-push

Changed top-overflow-out-of-second-region to reftest.

Added new tests for testing the visual overflow in different situations
(transformed, inline, opacity, floating).

Reviewed by David Hyatt.

  • fast/regions/bottom-overflow-out-of-first-region-expected.html:
  • fast/regions/bottom-overflow-out-of-first-region.html:
  • fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-005-expected.html:
  • fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-005.html:
  • fast/regions/element-in-named-flow-absolute-from-fixed-expected.txt:
  • fast/regions/element-in-named-flow-fixed-from-absolute-expected.txt:
  • fast/regions/element-inflow-fixed-from-outflow-static-expected.txt:
  • fast/regions/element-outflow-static-from-inflow-fixed-expected.txt:
  • fast/regions/float-pushed-width-change-2-expected.html:
  • fast/regions/float-pushed-width-change-2.html:
  • fast/regions/float-pushed-width-change-expected.html:
  • fast/regions/float-pushed-width-change.html:
  • fast/regions/layers/dynamic-layer-added-with-no-layout-expected.txt: Added.
  • fast/regions/layers/dynamic-layer-removed-with-no-layout-expected.txt: Added.
  • fast/regions/layers/regions-promoted-to-layers-expected.txt: Added.
  • fast/regions/layers/regions-promoted-to-layers-horizontal-bt-expected.txt: Added.
  • fast/regions/layers/regions-promoted-to-layers-vertical-lr-expected.txt: Added.
  • fast/regions/layers/regions-promoted-to-layers-vertical-rl-expected.txt: Added.
  • fast/regions/outline-sides-in-region-expected.html:
  • fast/regions/outline-sides-in-region.html:
  • fast/regions/overflow-first-and-last-regions-expected.html: Added.
  • fast/regions/overflow-first-and-last-regions-in-container-hidden-expected.html: Added.
  • fast/regions/overflow-first-and-last-regions-in-container-hidden.html: Added.
  • fast/regions/overflow-first-and-last-regions.html: Added.
  • fast/regions/overflow-last-region-expected.html: Removed.
  • fast/regions/overflow-last-region.html: Removed.
  • fast/regions/overflow-nested-regions-expected.html: Added.
  • fast/regions/overflow-nested-regions.html: Added.
  • fast/regions/overflow-region-float-expected.html: Added.
  • fast/regions/overflow-region-float.html: Added.
  • fast/regions/overflow-region-inline-expected.html: Added.
  • fast/regions/overflow-region-inline.html: Added.
  • fast/regions/overflow-region-transform-expected.html: Added.
  • fast/regions/overflow-region-transform.html: Added.
  • fast/regions/overflow-scrollable-rotated-fragment-expected.html:
  • fast/regions/overflow-scrollable-rotated-fragment.html:
  • fast/regions/top-overflow-out-of-second-region-expected.html: Copied from LayoutTests/fast/regions/top-overflow-out-of-second-region.html.
  • fast/regions/top-overflow-out-of-second-region.html:
  • fast/regions/webkit-flow-float-unable-to-push-expected.html:
  • fast/regions/webkit-flow-float-unable-to-push.html:
  • platform/gtk/fast/regions/text-region-split-vertical-rl-expected.txt: Removed.
  • platform/gtk/TestExpectations: Add new test expectations for failing tests.
  • platform/efl/TestExpectations: Add new test expectations for failing tests.
  • platform/mac-wk2/TestExpectations:
  • platform/mac/fast/regions/top-overflow-out-of-second-region-expected.png: Removed.
  • platform/mac/fast/regions/top-overflow-out-of-second-region-expected.txt: Removed.
10:22 PM Changeset in webkit [159608] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Test a template element appearing after a closing body tag in html5lib
https://bugs.webkit.org/show_bug.cgi?id=123864

Reviewed by Antti Koivisto.

Merge https://chromium.googlesource.com/chromium/blink/+/019d5daa14314972ac6b3e42e9446823ad9cffd2

  • html5lib/resources/template.dat:
10:10 PM Changeset in webkit [159607] by rniwa@webkit.org
  • 4 edits in trunk

[HTML parser] reset insertion mode appropriate must check for "in select in table" mode
https://bugs.webkit.org/show_bug.cgi?id=123850

Reviewed by Antti Koivisto.

Source/WebCore:

Merge https://chromium.googlesource.com/chromium/blink/+/2cb7523df57dfb48111f6aa16b7138cd54024ba7

The HTML specification has been updated to detect encountering a template element inside of a select element,
which in turn is inside of a table element. In this case, the select element will cause the parser to be in
"InSelectInTable" mode. Thus when the template element closes, it should return to that mode.

The fix here is that resetInsertionModeAppropriately must continue looking up the stack if the first node is
select element to see whether the select element is inside of a table element.

See also: http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#reset-the-insertion-mode-appropriately

Test: html5lib/resources/template.dat

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):

LayoutTests:

  • html5lib/resources/template.dat:
9:46 PM Changeset in webkit [159606] by mark.lam@apple.com
  • 2 edits in trunk/Source/WebCore

Build fix for last commit.
https://bugs.webkit.org/show_bug.cgi?id=124634.

Not reviewed.

No new tests.

  • bindings/js/JSCryptoAlgorithmBuilder.cpp:
9:29 PM Changeset in webkit [159605] by mark.lam@apple.com
  • 63 edits
    3 adds
    1 delete in trunk/Source

Introducing VMEntryScope to update the VM stack limit.
https://bugs.webkit.org/show_bug.cgi?id=124634.

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

  1. Introduced USE(SEPARATE_C_AND_JS_STACK) (defined in Platform.h). Currently, it is hardcoded to use separate C and JS stacks. Once we switch to using the C stack for JS frames, we'll need to fix this to only be enabled when ENABLE(LLINT_C_LOOP).
  1. Stack limits are now tracked in the VM.

Logically, there are 2 stack limits:

  1. m_stackLimit for the native C stack, and
  2. m_jsStackLimit for the JS stack.

If USE(SEPARATE_C_AND_JS_STACK), then the 2 limits are the same
value, and are implemented as 2 fields in a union.

  1. The VM native stackLimit is set as follows:
    1. Initially, the VM sets it to the limit of the stack of the thread that instantiated the VM. This allows the parser and bytecode generator to run before we enter the VM to execute JS code.
  1. Upon entry into the VM to execute JS code (via one of the Interpreter::execute...() functions), we instantiate a VMEntryScope that sets the VM's stackLimit to the limit of the current thread's stack. The VMEntryScope will automatically restore the previous entryScope and stack limit upon destruction.

If USE(SEPARATE_C_AND_JS_STACK), the JSStack's methods will set the VM's
jsStackLimit whenever it grows or shrinks.

  1. The VM now provides a isSafeToRecurse() function that compares the current stack pointer against its native stackLimit. This subsumes and obsoletes the VMStackBounds class.
  1. The VMEntryScope class also subsumes DynamicGlobalObjectScope for tracking the JSGlobalObject that we last entered the VM with.
  1. Renamed dynamicGlobalObject() to vmEntryGlobalObject() since that is the value that the function retrieves.
  1. Changed JIT and LLINT code to do stack checks against the jsStackLimit in the VM class instead of the JSStack.
  • API/JSBase.cpp:

(JSEvaluateScript):
(JSCheckScriptSyntax):

  • API/JSContextRef.cpp:

(JSGlobalContextRetain):
(JSGlobalContextRelease):

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):

  • bytecompiler/BytecodeGenerator.h:

(JSC::BytecodeGenerator::emitNode):
(JSC::BytecodeGenerator::emitNodeInConditionContext):

  • debugger/Debugger.cpp:

(JSC::Debugger::detach):
(JSC::Debugger::recompileAllJSFunctions):
(JSC::Debugger::pauseIfNeeded):

  • debugger/DebuggerCallFrame.cpp:

(JSC::DebuggerCallFrame::vmEntryGlobalObject):

  • debugger/DebuggerCallFrame.h:
  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::compileFunction):

  • dfg/DFGOSREntry.cpp:
  • ftl/FTLLink.cpp:

(JSC::FTL::link):

  • ftl/FTLOSREntry.cpp:
  • heap/Heap.cpp:

(JSC::Heap::lastChanceToFinalize):
(JSC::Heap::deleteAllCompiledCode):

  • interpreter/CachedCall.h:

(JSC::CachedCall::CachedCall):

  • interpreter/CallFrame.cpp:

(JSC::CallFrame::vmEntryGlobalObject):

  • interpreter/CallFrame.h:
  • interpreter/Interpreter.cpp:

(JSC::unwindCallFrame):
(JSC::Interpreter::unwind):
(JSC::Interpreter::execute):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
(JSC::Interpreter::prepareForRepeatCall):
(JSC::Interpreter::debug):

  • interpreter/JSStack.cpp:

(JSC::JSStack::JSStack):
(JSC::JSStack::growSlowCase):

  • interpreter/JSStack.h:
  • interpreter/JSStackInlines.h:

(JSC::JSStack::shrink):
(JSC::JSStack::grow):

  • Moved these inlined functions here from JSStack.h. It reduces some #include dependencies of JSSTack.h which had previously resulted in some EWS bots' unhappiness with this patch.

(JSC::JSStack::updateStackLimit):

  • jit/JIT.cpp:

(JSC::JIT::privateCompile):

  • jit/JITCall.cpp:

(JSC::JIT::compileLoadVarargs):

  • jit/JITCall32_64.cpp:

(JSC::JIT::compileLoadVarargs):

  • jit/JITOperations.cpp:
  • llint/LLIntSlowPaths.cpp:
  • llint/LowLevelInterpreter.asm:
  • parser/Parser.cpp:

(JSC::::Parser):

  • parser/Parser.h:

(JSC::Parser::canRecurse):

  • runtime/CommonSlowPaths.h:
  • runtime/Completion.cpp:

(JSC::evaluate):

  • runtime/FunctionConstructor.cpp:

(JSC::constructFunctionSkippingEvalEnabledCheck):

  • runtime/JSGlobalObject.cpp:
  • runtime/JSGlobalObject.h:
  • runtime/StringRecursionChecker.h:

(JSC::StringRecursionChecker::performCheck):

  • runtime/VM.cpp:

(JSC::VM::VM):
(JSC::VM::releaseExecutableMemory):
(JSC::VM::throwException):

  • runtime/VM.h:

(JSC::VM::addressOfJSStackLimit):
(JSC::VM::jsStackLimit):
(JSC::VM::setJSStackLimit):
(JSC::VM::stackLimit):
(JSC::VM::setStackLimit):
(JSC::VM::isSafeToRecurse):

  • runtime/VMEntryScope.cpp: Added.

(JSC::VMEntryScope::VMEntryScope):
(JSC::VMEntryScope::~VMEntryScope):
(JSC::VMEntryScope::requiredCapacity):

  • runtime/VMEntryScope.h: Added.

(JSC::VMEntryScope::globalObject):

  • runtime/VMStackBounds.h: Removed.

Source/WebCore:

No new tests.

Renamed dynamicGlobalObject() to vmEntryGlobalObject().
Replaced uses of DynamicGlobalObjectScope with VMEntryScope.

  • ForwardingHeaders/runtime/VMEntryScope.h: Added.
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • bindings/js/JSCryptoAlgorithmBuilder.cpp:

(WebCore::JSCryptoAlgorithmBuilder::add):

  • bindings/js/JSCustomXPathNSResolver.cpp:

(WebCore::JSCustomXPathNSResolver::create):

  • bindings/js/JSDOMBinding.cpp:

(WebCore::firstDOMWindow):

  • bindings/js/JSErrorHandler.cpp:

(WebCore::JSErrorHandler::handleEvent):

  • bindings/js/JSEventListener.cpp:

(WebCore::JSEventListener::handleEvent):

  • bindings/js/JavaScriptCallFrame.h:

(WebCore::JavaScriptCallFrame::vmEntryGlobalObject):

  • bindings/js/PageScriptDebugServer.cpp:

(WebCore::PageScriptDebugServer::recompileAllJSFunctions):

  • bindings/js/ScriptDebugServer.cpp:

(WebCore::ScriptDebugServer::evaluateBreakpointAction):
(WebCore::ScriptDebugServer::handlePause):

  • bindings/js/WorkerScriptDebugServer.cpp:

(WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):

  • bindings/objc/WebScriptObject.mm:

(WebCore::addExceptionToConsole):

  • bridge/c/c_utility.cpp:

(JSC::Bindings::convertValueToNPVariant):

  • bridge/objc/objc_instance.mm:

(ObjcInstance::moveGlobalExceptionToExecState):

  • bridge/objc/objc_runtime.mm:

(JSC::Bindings::convertValueToObjcObject):

  • bridge/objc/objc_utility.mm:

(JSC::Bindings::convertValueToObjcValue):

Source/WebKit/mac:

  • WebView/WebScriptDebugger.mm:

(WebScriptDebugger::sourceParsed):

Source/WTF:

  • wtf/Platform.h:
  • wtf/StackBounds.h:

(WTF::StackBounds::StackBounds):

8:45 PM Changeset in webkit [159604] by gyuyoung.kim@samsung.com
  • 19 edits in trunk/Source/WebCore

Generate toHTMLFooElement() to clean up static_cast<>
https://bugs.webkit.org/show_bug.cgi?id=124571

Reviewed by Ryosuke Niwa.

Though there are a lot of clean up commits before, there are still
use of static_cast<HTMLFooElement*>. To clean up them, we need to generate
toHTMLDetails|Meta|Summary|TableCaptionElement().

Additionally, other static_cast<> are removed as well.

No new tests, no behavior changes.

  • html/HTMLDetailsElement.h:
  • html/HTMLMediaElement.cpp:

(HTMLMediaElement::selectNextSourceChild):

  • html/HTMLMetaElement.h:
  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::shouldAllowQuickTimeClassIdQuirk):

  • html/HTMLOptionElement.cpp:

(WebCore::HTMLOptionElement::isDisabledFormControl):

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::updateWidgetCallback):

  • html/HTMLSummaryElement.cpp:

(WebCore::HTMLSummaryElement::detailsElement):

  • html/HTMLSummaryElement.h:
  • html/HTMLTableCaptionElement.h:
  • html/HTMLTableElement.cpp:

(WebCore::HTMLTableElement::caption):

  • html/HTMLTagNames.in:
  • html/MediaDocument.cpp:

(WebCore::MediaDocumentParser::createDocumentStructure):

  • html/shadow/DetailsMarkerControl.cpp:

(WebCore::DetailsMarkerControl::summaryElement):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::handleFallbackContent):

  • loader/ImageLoader.cpp:

(WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):

  • page/DragController.cpp:

(WebCore::DragController::canProcessDrag):

  • page/Frame.cpp:

(WebCore::Frame::searchForLabelsBeforeElement):

  • page/SpatialNavigation.cpp:

(WebCore::frameOwnerElement):

8:09 PM Changeset in webkit [159603] by weinig@apple.com
  • 21 edits in trunk/Source/WebKit2

WebPageGroup's should keep track of what processes they are being used by
https://bugs.webkit.org/show_bug.cgi?id=124556

Reviewed by Dan Bernstein.

  • Scripts/webkit2/messages.py:

(struct_or_class):
Mark WebPageGroupData as a struct.

  • Shared/UserMessageCoders.h:
  • Shared/mac/ObjCObjectGraphCoders.h:
  • Shared/mac/ObjCObjectGraphCoders.mm:
  • WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
  • UIProcess/WebConnectionToWebProcess.cpp:
  • UIProcess/WebContext.cpp:
  • UIProcess/WebContextUserMessageCoders.h:
  • UIProcess/WebPageProxy.cpp:
  • UIProcess/WebPageProxy.h:

Pass the WebProcess/WebProcessProxy to both encode and decode.

  • Shared/WebPageCreationParameters.h:

Pass the page group by ID when creating a page, as it will have had its own
creation message sent already.

  • UIProcess/WebPageGroup.cpp:
  • UIProcess/WebPageGroup.h:

Keep track of processes.

  • UIProcess/WebProcessProxy.cpp:
  • UIProcess/WebProcessProxy.h:

Keep track of the page groups used by the process.

  • WebProcess/WebPage/WebPage.cpp:

Get the already created page group on creation.

  • WebProcess/WebProcess.cpp:
  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:

Explicitly create page groups in the WebProcess.

6:00 PM Changeset in webkit [159602] by dino@apple.com
  • 4 edits in trunk/Tools

Allow settings to be shown/hidden on build.webkit.org/dashboard
https://bugs.webkit.org/show_bug.cgi?id=124694

Reviewed by Tim Horton.

In preparation for more options/buttons, allow the page to
show or hide all the interactive things using a little gear icon
in the top left corner.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Settings.js:

(Settings.prototype.toggleSettingsDisplay):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:

(div.cellButton.hide):
(div.cellButton.unhide):
(.settings-visible div.cellButton.hide, .settings-visible div.cellButton.unhide):
(.settings):
(.settings:hover):
(.settings-visible .settings):

5:59 PM Changeset in webkit [159601] by dino@apple.com
  • 2 edits in trunk/Tools

No need to base64 SVG on build.webkit.org/dashboard
https://bugs.webkit.org/show_bug.cgi?id=124687

Reviewed by Tim Horton.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/StatusLineView.css:

(.status-line.good .bubble.pictogram):

5:59 PM Changeset in webkit [159600] by dino@apple.com
  • 3 edits in trunk/Tools

Make links look more like links on build.webkit.org/dashboard
https://bugs.webkit.org/show_bug.cgi?id=124686

Reviewed by Tim Horton.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/BuildbotQueueView.css:

(.queue-view .queueLabel:hover):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/StatusLineView.css:

(.status-line.linked .label:hover):

5:39 PM Changeset in webkit [159599] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Modify webkitdirs to reuse checkForArgumentAndRemoveFromARGV
https://bugs.webkit.org/show_bug.cgi?id=124581

Patch by Nick Diego Yamane <nick.yamane@openbossa.org> on 2013-11-20
Reviewed by Daniel Bates.

Some subroutines are replicating code from checkForArgument
functions instead of reusing them as is being done by all other functions.

  • Scripts/webkitdirs.pm:

(determineXcodeSDK): Added.
(determinePassedConfiguration): Added.
(determinePassedArchitecture): Added.
(checkForArgumentAndRemoveFromARGV): Added.
(checkForArgumentAndRemoveFromARGVGettingValue): Added.

5:28 PM Changeset in webkit [159598] by beidson@apple.com
  • 8 edits in trunk/Source/WebKit2

IDB related cleanup in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=124691

Reviewed by Enrica Casucci.

  • WebIDBServerConnection.cpp should use the WebCore namespace and get rid of "WebCore::" throughout
  • "backendIndentifier" should be renamed to "serverConnectionIdentifier" throughout
  • DatabaseProcess/DatabaseToWebProcessConnection.cpp:

(WebKit::DatabaseToWebProcessConnection::establishIDBConnection):

  • DatabaseProcess/DatabaseToWebProcessConnection.h:
  • DatabaseProcess/DatabaseToWebProcessConnection.messages.in:
  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:

(WebKit::DatabaseProcessIDBConnection::DatabaseProcessIDBConnection):

  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:

(WebKit::DatabaseProcessIDBConnection::create):

  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:

(WebKit::generateServerConnectionIdentifier):
(WebKit::WebIDBServerConnection::WebIDBServerConnection):
(WebKit::WebIDBServerConnection::openTransaction):
(WebKit::WebIDBServerConnection::setIndexKeys):
(WebKit::WebIDBServerConnection::createObjectStore):
(WebKit::WebIDBServerConnection::createIndex):
(WebKit::WebIDBServerConnection::deleteIndex):
(WebKit::WebIDBServerConnection::get):
(WebKit::WebIDBServerConnection::put):
(WebKit::WebIDBServerConnection::openCursor):
(WebKit::WebIDBServerConnection::count):
(WebKit::WebIDBServerConnection::deleteRange):
(WebKit::WebIDBServerConnection::clearObjectStore):
(WebKit::WebIDBServerConnection::deleteObjectStore):
(WebKit::WebIDBServerConnection::changeDatabaseVersion):
(WebKit::WebIDBServerConnection::cursorAdvance):
(WebKit::WebIDBServerConnection::cursorIterate):
(WebKit::WebIDBServerConnection::cursorPrefetchIteration):
(WebKit::WebIDBServerConnection::cursorPrefetchReset):

  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
5:11 PM Changeset in webkit [159597] by beidson@apple.com
  • 3 edits in trunk/Source/WebKit2

Add argument coders for IDBDatabaseMetadata classes
https://bugs.webkit.org/show_bug.cgi?id=124689

Reviewed by Anders Carlsson.

Add coders for:

  • IDBDatabaseMetadata
  • IDBIndexMetadata
  • IDBKeyPath
  • IDBObjectStoreMetadata
  • Shared/WebCoreArgumentCoders.cpp:

(CoreIPC::::encode):
(CoreIPC::::decode):

  • Shared/WebCoreArgumentCoders.h:
5:07 PM Changeset in webkit [159596] by rniwa@webkit.org
  • 5 edits
    2 adds in trunk

Clear TemplateContentDocumentFragment::m_host when HTMLTemplateElement is destroyed
https://bugs.webkit.org/show_bug.cgi?id=122806

Reviewed by Antti Koivisto.

Source/WebCore:

Merge https://chromium.googlesource.com/chromium/blink/+/858ed5f6341de9d900768c1f4668fcfce870c52e

The document fragment of a template element outlives the element itself.
Clear the host property on the document fragment when that happens.

Test: fast/dom/HTMLTemplateElement/content-outlives-template-crash.html

  • dom/TemplateContentDocumentFragment.h:
  • html/HTMLTemplateElement.cpp:

(WebCore::HTMLTemplateElement::~HTMLTemplateElement):

  • html/HTMLTemplateElement.h:

LayoutTests:

  • fast/dom/HTMLTemplateElement/content-outlives-template-crash-expected.txt: Added.
  • fast/dom/HTMLTemplateElement/content-outlives-template-crash.html: Added.
4:54 PM Changeset in webkit [159595] by commit-queue@webkit.org
  • 3 edits
    2 deletes in trunk/Tools

Delete baseline optimizer
https://bugs.webkit.org/show_bug.cgi?id=122333

Patch by Jozsef Berta <jberta@inf.u-szeged.hu> on 2013-11-20
Reviewed by Ryosuke Niwa.

  • Scripts/webkitpy/common/checkout/baselineoptimizer.py: Removed.
  • Scripts/webkitpy/common/checkout/baselineoptimizer_unittest.py: Removed.
  • Scripts/webkitpy/tool/commands/rebaseline.py:

(RebaselineTest.execute):
(AbstractParallelRebaselineCommand._files_to_add):
(AbstractParallelRebaselineCommand._rebaseline):

  • Scripts/webkitpy/tool/commands/rebaseline_unittest.py:

(TestRebaselineJson.test_rebaseline_all):
(TestRebaselineJson.test_rebaseline_debug):
(TestRebaselineExpectations.disabled_test_overrides_are_included_correctly):

4:42 PM Changeset in webkit [159594] by Lucas Forschler
  • 5 edits in branches/safari-537.73-branch/Source

Versioning.

4:42 PM Changeset in webkit [159593] by msaboff@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

[Win] JavaScript JIT crash (with DFG enabled).
https://bugs.webkit.org/show_bug.cgi?id=124675

Reviewed by Geoffrey Garen.

Similar to the change in r159427, changed linkClosureCall to use regT0/regT1 (payload/tag) for the callee.
linkForThunkGenerator already expected the callee in regT0/regT1, but changed the comment to reflect that.

  • jit/Repatch.cpp:

(JSC::linkClosureCall):

  • jit/ThunkGenerators.cpp:

(JSC::linkForThunkGenerator):

4:41 PM Changeset in webkit [159592] by Lucas Forschler
  • 1 copy in tags/Safari-537.73.13

New Tag.

4:28 PM Changeset in webkit [159591] by Chris Fleizach
  • 16 edits
    2 adds in trunk

AX: Implement CSS -webkit-alt property (text alternative for generated content pseudo-elements ::before and ::after)
https://bugs.webkit.org/show_bug.cgi?id=120188

Reviewed by Dean Jackson.

Source/WebCore:

Add a -webkit-alt CSS property that can be used to label Image content or Text content for accessibility clients.

To accomplish this, it sets the string in the RenderStyle. Then when the ContentData creates an anonymous renderer,
it sets that string on the TextFragment or RenderImage, which can be queried by accessibility code.

Test: platform/mac/accessibility/webkit-alt-for-css-content.html

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::alternativeText):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::textUnderElement):
(WebCore::objectInclusionFromAltText):
(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::altTextToCSSValue):
(WebCore::ComputedStyleExtractor::propertyValue):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseAlt):

  • css/CSSParser.h:
  • css/CSSPropertyNames.in:
  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

  • rendering/RenderImage.h:

(WebCore::RenderImage::altText):
(WebCore::RenderImage::setAltText):

  • rendering/RenderTextFragment.h:
  • rendering/style/ContentData.cpp:

(WebCore::ImageContentData::createRenderer):
(WebCore::TextContentData::createRenderer):

  • rendering/style/ContentData.h:

(WebCore::ContentData::setAltText):
(WebCore::ContentData::altText):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::setContent):
(WebCore::RenderStyle::setContentAltText):
(WebCore::RenderStyle::contentAltText):

  • rendering/style/RenderStyle.h:
  • rendering/style/StyleRareNonInheritedData.h:

LayoutTests:

  • platform/mac/accessibility/webkit-alt-for-css-content-expected.txt: Added.
  • platform/mac/accessibility/webkit-alt-for-css-content.html: Added.
4:05 PM Changeset in webkit [159590] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Use compile flag SH_UNFOLD_SHORT_CIRCUIT when compiling shaders.
https://bugs.webkit.org/show_bug.cgi?id=124684.

Reviewed by Brent Fulgham.

Existing test webgl/1.0.2/conformance/glsl/misc/shader-with-short-circuiting-operators.html

  • platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:

(WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):

3:55 PM Changeset in webkit [159589] by dino@apple.com
  • 3 edits in trunk/LayoutTests

Unreviewed. Updated expected result following
https://bugs.webkit.org/show_bug.cgi?id=124666

  • platform/mac/fast/block/margin-collapse/empty-clear-blocks-expected.png:
  • platform/mac/fast/block/margin-collapse/empty-clear-blocks-expected.txt:
3:36 PM Changeset in webkit [159588] by Lucas Forschler
  • 5 edits
    2 copies in branches/safari-537.73-branch

Merged r159481. <rdar://problem/15517466>

3:25 PM Changeset in webkit [159587] by commit-queue@webkit.org
  • 8 edits
    2 adds in trunk/Source/WebCore

[curl] Improve detecting and handling of SSL related errors
https://bugs.webkit.org/show_bug.cgi?id=119436

Patch by Robert Sipka <sipka@inf.u-szeged.hu> on 2013-11-20
Reviewed by Brent Fulgham.

Set the exact SSL verification error on CURL
and store the enabled domain with certificate.

  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • platform/network/ResourceHandle.h:
  • platform/network/ResourceHandleInternal.h:

(WebCore::ResourceHandleInternal::ResourceHandleInternal):

  • platform/network/curl/ResourceError.h:

(WebCore::ResourceError::ResourceError):
(WebCore::ResourceError::sslErrors):
(WebCore::ResourceError::setSSLErrors):

  • platform/network/curl/ResourceHandleCurl.cpp:

(WebCore::ResourceHandle::setHostAllowsAnyHTTPSCertificate):

  • platform/network/curl/ResourceHandleManager.cpp:

(WebCore::ResourceHandleManager::downloadTimerCallback):
(WebCore::ResourceHandleManager::initializeHandle):

  • platform/network/curl/SSLHandle.cpp: Added.

(WebCore::allowsAnyHTTPSCertificateHosts):
(WebCore::sslIgnoreHTTPSCertificate):
(WebCore::sslCertificateFlag):
(WebCore::pemData):
(WebCore::certVerifyCallback):
(WebCore::sslctxfun):
(WebCore::setSSLVerifyOptions):

  • platform/network/curl/SSLHandle.h: Added.
3:22 PM Changeset in webkit [159586] by andersca@apple.com
  • 4 edits in trunk

Enable PageLoadTest assertions again
https://bugs.webkit.org/show_bug.cgi?id=124681

Reviewed by Tim Horton.

Source/WebKit2:

Remove an overzealous assertion and re-enable assertions in PageLoadState again.

  • UIProcess/PageLoadState.cpp:

(WebKit::PageLoadState::didCommitLoad):
Remove assertion - it's fine for a page to have a null URL.

(WebKit::PageLoadState::didFinishLoad):
Ditto.

(WebKit::PageLoadState::didFailLoad):
Update the state.

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:

Actually install all-content-in-one-iframe.html, noticed while debugging this assertion.

2:55 PM Changeset in webkit [159585] by Bem Jones-Bey
  • 16 edits in trunk

[css shapes] Parse new circle shape syntax
https://bugs.webkit.org/show_bug.cgi?id=124618

Reviewed by Antti Koivisto.

Source/WebCore:

Implement parsing of the new cicle shape syntax. The implementation of
the old syntax has been move aside as deprecated, and will be removed
once the new syntax is stable.

Updated existing parsing tests to cover this.

  • css/BasicShapeFunctions.cpp:

(WebCore::valueForCenterCoordinate): Create a CSSPrimitiveValue from a

BasicShapeCenterCoordinate.

(WebCore::valueForBasicShape): Convert new basic shape and rename old

one.

(WebCore::convertToCenterCoordinate): Create a

BasicShapeCenterCoordinate from a CSSPrimitiveValue.

(WebCore::basicShapeForValue): Convert new shape value and rename old

one.

  • css/CSSBasicShapes.cpp:

(WebCore::buildCircleString): Build a new circle string.
(WebCore::CSSBasicShapeCircle::cssText): Serialize the new circle

shape.

(WebCore::CSSBasicShapeCircle::equals): Compare new circle shapes.
(WebCore::CSSBasicShapeCircle::serializeResolvingVariables):

  • css/CSSBasicShapes.h:

(WebCore::CSSBasicShapeCircle::CSSBasicShapeCircle): Add class for new

circle shape.

(WebCore::CSSDeprecatedBasicShapeCircle::create): Renamed to move out

of the way of the new circle implementation.

(WebCore::CSSDeprecatedBasicShapeCircle::centerX): Ditto.
(WebCore::CSSDeprecatedBasicShapeCircle::centerY): Ditto.
(WebCore::CSSDeprecatedBasicShapeCircle::radius): Ditto.
(WebCore::CSSDeprecatedBasicShapeCircle::setCenterX): Ditto.
(WebCore::CSSDeprecatedBasicShapeCircle::setCenterY): Ditto.
(WebCore::CSSDeprecatedBasicShapeCircle::setRadius): Ditto.
(WebCore::CSSDeprecatedBasicShapeCircle::CSSDeprecatedBasicShapeCircle): Ditto.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseShapeRadius): Parse the radius for the new

circle syntax. Will also be used by the new ellipse syntax.

(WebCore::CSSParser::parseBasicShapeCircle): Parse the new circle

syntax.

(WebCore::CSSParser::parseDeprecatedBasicShapeCircle): Rename to make

way for the new implementation.

(WebCore::isDeprecatedBasicShape): Check if we have a new circle or an

old circle.

(WebCore::CSSParser::parseBasicShape): Update to parse the new circle

syntax.

  • css/CSSParser.h:
  • css/CSSValueKeywords.in: Add support for the new circle keywords.
  • rendering/shapes/Shape.cpp:

(WebCore::Shape::createShape):

  • rendering/style/BasicShapes.cpp: Deprecate old circle and add stub

for layout code.

(WebCore::DeprecatedBasicShapeCircle::path): Rename to make way for

the new implementation.

(WebCore::DeprecatedBasicShapeCircle::blend): Rename to make way for

the new implementation.

(WebCore::BasicShapeCircle::path): Create path for new circle shape.
(WebCore::BasicShapeCircle::blend): Interpolate the new circle shape.

  • rendering/style/BasicShapes.h:

(WebCore::BasicShapeCenterCoordinate::BasicShapeCenterCoordinate):

Represent an x or y coordinate for the center of a new circle,
since it can be either a keyword along with an offset that cannot
be resolved until layout time or an ordinary Length. This will
also be used by the new ellipse implementation.

(WebCore::BasicShapeCenterCoordinate::keyword):
(WebCore::BasicShapeCenterCoordinate::length):
(WebCore::BasicShapeCenterCoordinate::blend): Interpolate.
(WebCore::BasicShapeRadius::BasicShapeRadius): Represent the radius of

a new circle shape since it can either be a straightforward Length or
a keyword that cannot be resolved until layout time.

(WebCore::BasicShapeRadius::value):
(WebCore::BasicShapeRadius::type):
(WebCore::BasicShapeRadius::blend): Interpolate.
(WebCore::BasicShapeCircle::centerX):
(WebCore::BasicShapeCircle::centerY):
(WebCore::BasicShapeCircle::radius):
(WebCore::BasicShapeCircle::setCenterX):
(WebCore::BasicShapeCircle::setCenterY):
(WebCore::BasicShapeCircle::setRadius):
(WebCore::BasicShapeCircle::BasicShapeCircle): New circle class.
(WebCore::DeprecatedBasicShapeCircle::create): Rename to make room for

new circle implementation.

(WebCore::DeprecatedBasicShapeCircle::DeprecatedBasicShapeCircle): Ditto.

LayoutTests:

Test that the new circle shape syntax is properly parsed.

  • fast/shapes/parsing/parsing-shape-inside-expected.txt:
  • fast/shapes/parsing/parsing-shape-outside-expected.txt:
  • fast/shapes/parsing/parsing-test-utils.js:
  • fast/masking/parsing-clip-path-shape-expected.txt:
  • fast/masking/parsing-clip-path-shape.html:
2:22 PM Changeset in webkit [159584] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

PageLoadState should keep track of unreachable URLs
https://bugs.webkit.org/show_bug.cgi?id=124677

Reviewed by Dan Bernstein.

  • UIProcess/PageLoadState.cpp:

(WebKit::PageLoadState::reset):
(WebKit::PageLoadState::didStartProvisionalLoad):
(WebKit::PageLoadState::didFailProvisionalLoad):
(WebKit::PageLoadState::setUnreachableURL):

  • UIProcess/PageLoadState.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::loadAlternateHTMLString):

2:21 PM Changeset in webkit [159583] by hmuller@adobe.com
  • 7 edits
    4 adds in trunk/Source/WebCore

[CSS Shapes] Add BoxShape and FloatRoundingRect classes
https://bugs.webkit.org/show_bug.cgi?id=124368

Reviewed by Dean Jackson.

Added the BoxShape class. It's now used to represent shape-outside box
values: [margin/border/padding/content]-box. BoxShape depends on a new
FloatRoundedRect class, which is a float analog of the existing (int)
RoundedRect class. The FloatRoundedRect class contains the same basic
methods and accessors as BorderRect and adds a set of four methods,
for example topLeftCorner(), that return a FloatRect that represents the
bounds of one elliptical corner. I also added a method, xInterceptsAtY()
that returns two X coordinates of the intersection between a horizontal
line and the rounded rectangle.

No new tests, this is just an internal refactoring.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/FloatRoundedRect.cpp: Added.

(WebCore::FloatRoundedRect::FloatRoundedRect):
(WebCore::FloatRoundedRect::Radii::isZero):
(WebCore::FloatRoundedRect::Radii::scale):
(WebCore::FloatRoundedRect::Radii::expand):
(WebCore::cornerRectIntercept):
(WebCore::FloatRoundedRect::xInterceptsAtY):

  • platform/graphics/FloatRoundedRect.h: Added.

(WebCore::FloatRoundedRect::Radii::Radii):
(WebCore::FloatRoundedRect::Radii::setTopLeft):
(WebCore::FloatRoundedRect::Radii::setTopRight):
(WebCore::FloatRoundedRect::Radii::setBottomLeft):
(WebCore::FloatRoundedRect::Radii::setBottomRight):
(WebCore::FloatRoundedRect::Radii::topLeft):
(WebCore::FloatRoundedRect::Radii::topRight):
(WebCore::FloatRoundedRect::Radii::bottomLeft):
(WebCore::FloatRoundedRect::Radii::bottomRight):
(WebCore::FloatRoundedRect::Radii::expand):
(WebCore::FloatRoundedRect::Radii::shrink):
(WebCore::FloatRoundedRect::rect):
(WebCore::FloatRoundedRect::radii):
(WebCore::FloatRoundedRect::isRounded):
(WebCore::FloatRoundedRect::isEmpty):
(WebCore::FloatRoundedRect::setRect):
(WebCore::FloatRoundedRect::setRadii):
(WebCore::FloatRoundedRect::move):
(WebCore::FloatRoundedRect::inflate):
(WebCore::FloatRoundedRect::expandRadii):
(WebCore::FloatRoundedRect::shrinkRadii):
(WebCore::FloatRoundedRect::topLeftCorner):
(WebCore::FloatRoundedRect::topRightCorner):
(WebCore::FloatRoundedRect::bottomLeftCorner):
(WebCore::FloatRoundedRect::bottomRightCorner):
(WebCore::operator==):

  • rendering/shapes/BoxShape.cpp: Added.

(WebCore::BoxShape::BoxShape):
(WebCore::BoxShape::getExcludedIntervals):
(WebCore::BoxShape::getIncludedIntervals):
(WebCore::BoxShape::firstIncludedIntervalLogicalTop):

  • rendering/shapes/BoxShape.h: Added.
  • rendering/shapes/Shape.cpp:

(WebCore::createBoxShape):
(WebCore::Shape::createShape):

1:44 PM Changeset in webkit [159582] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Remote Layer Tree: 100% repro crasher on the IPC thread when creating lots of layers
https://bugs.webkit.org/show_bug.cgi?id=124643

Reviewed by Anders Carlsson.

  • Platform/CoreIPC/mac/ConnectionMac.cpp:

(CoreIPC::Connection::sendOutgoingMessage):
Dynamically allocate storage for the message if needed.

1:29 PM Changeset in webkit [159581] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

machMessageSize uses sizeof(mach_msg_ool_ports_descriptor_t) for out-of-line *memory*
https://bugs.webkit.org/show_bug.cgi?id=124644

Reviewed by Anders Carlsson.

  • Platform/CoreIPC/mac/ConnectionMac.cpp:

(CoreIPC::machMessageSize):
mach_msg_ool_descriptor_t is the correct type, given that
out-of-line memory descriptors use the mach_msg_ool_descriptor_t
member of the mach_msg_descriptor_t union.

1:24 PM Changeset in webkit [159580] by dino@apple.com
  • 4 edits in trunk/LayoutTests

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

Unreviewed. Adding HTMLTemplateElement to global constructor
test, but this time for more platforms. I'm not sure if
GTK and EFL need this too.

  • platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac/js/dom/global-constructors-attributes-expected.txt:
  • platform/win/js/dom/global-constructors-attributes-expected.txt:
1:23 PM Changeset in webkit [159579] by Antti Koivisto
  • 5 edits
    4 adds in trunk

Simple line layout should support floats
https://bugs.webkit.org/show_bug.cgi?id=124666

Reviewed by Dave Hyatt.

Source/WebCore:

Tests: fast/text/simple-lines-float-compare.html

fast/text/simple-lines-float.html

  • rendering/line/LineWidth.h:

(WebCore::LineWidth::logicalLeftOffset):

Expose the left offset so we don't need to recompute it.

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::canUseFor):
(WebCore::SimpleLineLayout::computeLineLeft):

Include the left offset from floats.

(WebCore::SimpleLineLayout::createTextRuns):

Keep the flow height updated during the loop as LineWidth reads the current position from there.

  • rendering/SimpleLineLayoutResolver.h:

(WebCore::SimpleLineLayout::RunResolver::Run::rect):
(WebCore::SimpleLineLayout::RunResolver::Run::baseline):
(WebCore::SimpleLineLayout::RunResolver::RunResolver):
(WebCore::SimpleLineLayout::RunResolver::lineIndexForHeight):

We now bake the border and the padding to the line left offset. No need to add it during resolve.

LayoutTests:

  • fast/text/simple-lines-float-compare-expected.html: Added.
  • fast/text/simple-lines-float-compare.html: Added.
  • fast/text/simple-lines-float-expected.html: Added.
  • fast/text/simple-lines-float.html: Added.
1:18 PM Changeset in webkit [159578] by ap@apple.com
  • 27 edits in trunk/Source/WebCore

Use std::function callbacks in CryptoAlgorithm instead of JS promises
https://bugs.webkit.org/show_bug.cgi?id=124673

Reviewed by Anders Carlsson.

To implement key wrapping/unwrapping, we'll need to chain existing operations.
It's much easier to do with C++ callbacks than with functions fulfilling JS
promises directly.

Also, this will decouple CryptoAlgorithm from JS, which is nice.

SubtleCrypto IDL says that all functions return Promise<any>, but in reality,
there is very little polymorphism, the only function whose return type depends
on algorithm is generateKey (it can create a Key or a KeyPair).

  • bindings/js/JSDOMPromise.cpp:

(WebCore::PromiseWrapper::PromiseWrapper):
(WebCore::PromiseWrapper::operator=):

  • bindings/js/JSDOMPromise.h:

Made it copyable, as each crypto function wraps the promise in success and failure
functional objects now.

  • bindings/js/JSSubtleCryptoCustom.cpp:

(WebCore::JSSubtleCrypto::encrypt):
(WebCore::JSSubtleCrypto::decrypt):
(WebCore::JSSubtleCrypto::sign):
(WebCore::JSSubtleCrypto::verify):
(WebCore::JSSubtleCrypto::digest):
(WebCore::JSSubtleCrypto::generateKey):
(WebCore::JSSubtleCrypto::importKey):
(WebCore::JSSubtleCrypto::exportKey):

  • crypto/CryptoAlgorithm.cpp:

(WebCore::CryptoAlgorithm::encrypt):
(WebCore::CryptoAlgorithm::decrypt):
(WebCore::CryptoAlgorithm::sign):
(WebCore::CryptoAlgorithm::verify):
(WebCore::CryptoAlgorithm::digest):
(WebCore::CryptoAlgorithm::generateKey):
(WebCore::CryptoAlgorithm::deriveKey):
(WebCore::CryptoAlgorithm::deriveBits):
(WebCore::CryptoAlgorithm::importKey):

  • crypto/CryptoAlgorithm.h:
  • crypto/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:

(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::sign):
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::verify):

  • crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:

(WebCore::CryptoAlgorithmAES_CBC::generateKey):
(WebCore::CryptoAlgorithmAES_CBC::importKey):

  • crypto/algorithms/CryptoAlgorithmAES_CBC.h:
  • crypto/algorithms/CryptoAlgorithmHMAC.cpp:

(WebCore::CryptoAlgorithmHMAC::generateKey):
(WebCore::CryptoAlgorithmHMAC::importKey):

  • crypto/algorithms/CryptoAlgorithmHMAC.h:
  • crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:

(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::generateKey):
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::importKey):

  • crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h:
  • crypto/algorithms/CryptoAlgorithmSHA1.cpp:

(WebCore::CryptoAlgorithmSHA1::digest):

  • crypto/algorithms/CryptoAlgorithmSHA1.h:
  • crypto/algorithms/CryptoAlgorithmSHA224.cpp:

(WebCore::CryptoAlgorithmSHA224::digest):

  • crypto/algorithms/CryptoAlgorithmSHA224.h:
  • crypto/algorithms/CryptoAlgorithmSHA256.cpp:

(WebCore::CryptoAlgorithmSHA256::digest):

  • crypto/algorithms/CryptoAlgorithmSHA256.h:
  • crypto/algorithms/CryptoAlgorithmSHA384.cpp:

(WebCore::CryptoAlgorithmSHA384::digest):

  • crypto/algorithms/CryptoAlgorithmSHA384.h:
  • crypto/algorithms/CryptoAlgorithmSHA512.cpp:

(WebCore::CryptoAlgorithmSHA512::digest):

  • crypto/algorithms/CryptoAlgorithmSHA512.h:
  • crypto/keys/CryptoKeyRSA.h:
  • crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:

(WebCore::transformAES_CBC):
(WebCore::CryptoAlgorithmAES_CBC::encrypt):
(WebCore::CryptoAlgorithmAES_CBC::decrypt):

  • crypto/mac/CryptoAlgorithmHMACMac.cpp:

(WebCore::CryptoAlgorithmHMAC::sign):
(WebCore::CryptoAlgorithmHMAC::verify):

  • crypto/mac/CryptoKeyRSAMac.cpp:

(WebCore::CryptoKeyRSA::generatePair):

1:15 PM Changeset in webkit [159577] by msaboff@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

ARMv7: Crash due to use after free of AssemblerBuffer
https://bugs.webkit.org/show_bug.cgi?id=124611

Reviewed by Geoffrey Garen.

Changed JITFinalizer constructor to take a MacroAssemblerCodePtr instead of a Label.
In finalizeFunction(), we use that value instead of calculating it from the label.

  • assembler/MacroAssembler.cpp:
  • dfg/DFGJITFinalizer.cpp:

(JSC::DFG::JITFinalizer::JITFinalizer):
(JSC::DFG::JITFinalizer::finalizeFunction):

  • dfg/DFGJITFinalizer.h:
1:02 PM Changeset in webkit [159576] by mrowe@apple.com
  • 2 edits in trunk/Tools

Remove some obsolete logic from WebKit.app.

Reviewed by Alexey Proskuryakov.

  • WebKitLauncher/WebKitNightlyEnabler.m:

(poseAsWebKitApp): Remove a pre-10.6 codepath.
(enableWebKitNightlyBehaviour): Remove a 10.4-specific codepath.

11:26 AM Changeset in webkit [159575] by robert@webkit.org
  • 10 edits
    2 adds in trunk

REGRESSION(r127163): Respect clearance set on ancestors when placing floats
https://bugs.webkit.org/show_bug.cgi?id=119979

Reviewed by David Hyatt.

Source/WebCore:

Refactor the way self-collapsing blocks with clearance are positioned so that they
get the correct logical-top position during margin-collapsing.

Test: fast/block/margin-collapse/self-collapsing-block-with-float-descendants.html

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::clearFloats):
(WebCore::RenderBlockFlow::marginOffsetForSelfCollapsingBlock):
(WebCore::RenderBlockFlow::collapseMargins):
(WebCore::RenderBlockFlow::clearFloatsIfNeeded):
(WebCore::RenderBlockFlow::handleAfterSideOfBlock):

  • rendering/RenderBlockFlow.h:

LayoutTests:

  • fast/block/float/clear-negative-margin-top-expected.html:
  • fast/block/float/clear-negative-margin-top.html:
  • fast/block/margin-collapse/self-collapsing-block-with-float-descendants-expected.html: Added.
  • fast/block/margin-collapse/self-collapsing-block-with-float-descendants.html: Added.
  • platform/mac/fast/block/float/024-expected.txt:
  • platform/mac/fast/block/margin-collapse/025-expected.txt:
  • platform/mac/fast/block/margin-collapse/block-inside-inline/025-expected.txt:
  • platform/mac/fast/block/margin-collapse/empty-clear-blocks-expected.txt:
11:08 AM WebKitGTK/2.2.x edited by vjaquez@igalia.com
I would like to integrate this patch in the release, but, as mrobinson … (diff)
11:03 AM Changeset in webkit [159574] by dino@apple.com
  • 2 edits in trunk/LayoutTests

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

Unreviewed. Adding HTMLTemplateElement to global constructor
test after r159550.

  • js/dom/global-constructors-attributes-expected.txt:
11:01 AM WebKitGTK/2.2.x edited by Carlos Garcia Campos
(diff)
10:57 AM Changeset in webkit [159573] by dino@apple.com
  • 3 edits in trunk/LayoutTests

Unreviewed. Trying to fix tests added in r159545.

  • js/regress/global-var-const-infer-fire-from-opt.html:
  • js/regress/global-var-const-infer.html:
10:44 AM Changeset in webkit [159572] by vjaquez@igalia.com
  • 2 edits in trunk/Source/WebCore

[GTK] Remove Chromium as user agent and claim to be Safari in OS X
https://bugs.webkit.org/show_bug.cgi?id=124229

Reviewed by Martin Robinson.

http://www.duolingo.com/ doesn't get render correctly because it uses
Chrome/Chromium specific variables, added after it was forked. Because
of this, it is necessary to remove the Chrome/Chromium identification
in the user agent. Also, from now on, by default, The GTK+ port will
claim to be Safari in OS X to avoid loading wrong resources.

  • platform/gtk/UserAgentGtk.cpp:

(WebCore::standardUserAgent):

10:32 AM Changeset in webkit [159571] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Fix CPU(ARM_TRADITIONAL) build after r159545.
https://bugs.webkit.org/show_bug.cgi?id=124649

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-11-20
Reviewed by Michael Saboff.

Add missing memoryFence, load8 and store8 implementations in macro assembler.

  • assembler/ARMAssembler.h:

(JSC::ARMAssembler::dmbSY):

  • assembler/MacroAssemblerARM.h:

(JSC::MacroAssemblerARM::load8):
(JSC::MacroAssemblerARM::store8):
(JSC::MacroAssemblerARM::memoryFence):

10:26 AM Changeset in webkit [159570] by commit-queue@webkit.org
  • 21 edits in trunk/Source/WebCore

Unreviewed, rolling out r159551.
http://trac.webkit.org/changeset/159551
https://bugs.webkit.org/show_bug.cgi?id=124669

made many tests asserts (Requested by anttik on #webkit).

  • html/HTMLDetailsElement.h:
  • html/HTMLMediaElement.cpp:

(HTMLMediaElement::selectNextSourceChild):

  • html/HTMLMetaElement.h:
  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::shouldAllowQuickTimeClassIdQuirk):

  • html/HTMLOptionElement.cpp:

(WebCore::HTMLOptionElement::isDisabledFormControl):

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::updateWidgetCallback):

  • html/HTMLSummaryElement.cpp:

(WebCore::HTMLSummaryElement::detailsElement):

  • html/HTMLSummaryElement.h:
  • html/HTMLTableCaptionElement.h:
  • html/HTMLTableElement.cpp:

(WebCore::HTMLTableElement::caption):
(WebCore::HTMLTableElement::tHead):
(WebCore::HTMLTableElement::tFoot):
(WebCore::HTMLTableElement::lastBody):

  • html/HTMLTableRowElement.cpp:

(WebCore::HTMLTableRowElement::rowIndex):

  • html/HTMLTableSectionElement.h:
  • html/HTMLTagNames.in:
  • html/MediaDocument.cpp:

(WebCore::MediaDocumentParser::createDocumentStructure):

  • html/shadow/DetailsMarkerControl.cpp:

(WebCore::DetailsMarkerControl::summaryElement):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::handleFallbackContent):

  • loader/ImageLoader.cpp:

(WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):

  • page/DragController.cpp:

(WebCore::DragController::canProcessDrag):

  • page/Frame.cpp:

(WebCore::Frame::searchForLabelsBeforeElement):

  • page/SpatialNavigation.cpp:

(WebCore::frameOwnerElement):

10:24 AM Changeset in webkit [159569] by zoltan@webkit.org
  • 6 edits
    2 moves in trunk/Source/WebCore

Move LineWidth.{h,cpp} into rendering/line
<https://webkit.org/b/124448>

Reviewed by David Hyatt.

In r159354 I introduced line directory. Now it's time to move the helper classes of RenderBlockLineLayout into 'line' subdirectory.

No new tests, no behavior change.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • rendering/line/LineWidth.cpp: Renamed from Source/WebCore/rendering/LineWidth.cpp.

(WebCore::LineWidth::LineWidth):
(WebCore::LineWidth::fitsOnLine):
(WebCore::LineWidth::fitsOnLineIncludingExtraWidth):
(WebCore::LineWidth::fitsOnLineExcludingTrailingWhitespace):
(WebCore::LineWidth::updateAvailableWidth):
(WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
(WebCore::LineWidth::commit):
(WebCore::LineWidth::applyOverhang):
(WebCore::LineWidth::fitBelowFloats):
(WebCore::LineWidth::setTrailingWhitespaceWidth):
(WebCore::LineWidth::updateCurrentShapeSegment):
(WebCore::LineWidth::computeAvailableWidthFromLeftAndRight):
(WebCore::LineWidth::fitsOnLineExcludingTrailingCollapsedWhitespace):

  • rendering/line/LineWidth.h: Renamed from Source/WebCore/rendering/LineWidth.h.

(WebCore::LineWidth::currentWidth):
(WebCore::LineWidth::uncommittedWidth):
(WebCore::LineWidth::committedWidth):
(WebCore::LineWidth::availableWidth):
(WebCore::LineWidth::addUncommittedWidth):
(WebCore::LineWidth::shouldIndentText):

10:09 AM Changeset in webkit [159568] by beidson@apple.com
  • 7 edits in trunk/Source/WebCore

Alphabetization followup to r159567

Reviewed by style-bot :(

  • Modules/indexeddb/IDBDatabaseBackend.h:
  • Modules/indexeddb/IDBIndex.h:
  • Modules/indexeddb/IDBObjectStore.h:
  • Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
  • Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
  • inspector/InspectorIndexedDBAgent.cpp:
10:02 AM Changeset in webkit [159567] by beidson@apple.com
  • 13 edits
    1 move in trunk/Source/WebCore

Rename IDBMetadata.h to IDBDatabaseMetadata.h
https://bugs.webkit.org/show_bug.cgi?id=124668

Reviewed by Dean Jackson.

  • GNUmakefile.list.am:
  • WebCore.xcodeproj/project.pbxproj:
  • Modules/indexeddb/IDBDatabase.h:
  • Modules/indexeddb/IDBDatabaseBackend.h:
  • Modules/indexeddb/IDBDatabaseMetadata.h: Renamed from Source/WebCore/Modules/indexeddb/IDBMetadata.h.

(WebCore::IDBIndexMetadata::IDBIndexMetadata):
(WebCore::IDBObjectStoreMetadata::IDBObjectStoreMetadata):
(WebCore::IDBDatabaseMetadata::IDBDatabaseMetadata):

  • Modules/indexeddb/IDBIndex.h:
  • Modules/indexeddb/IDBObjectStore.h:
  • Modules/indexeddb/IDBServerConnection.h:
  • Modules/indexeddb/IDBTransaction.h:
  • Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
  • Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
  • Modules/indexeddb/leveldb/IDBIndexWriterLevelDB.h:
  • inspector/InspectorIndexedDBAgent.cpp:
9:57 AM Changeset in webkit [159566] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove bogus assertions in updateNameForTreeScope and updateNameForDocument
https://bugs.webkit.org/show_bug.cgi?id=124639

Reviewed by Darin Adler.

Removed assertions. We can't assert that the element in a tree scope or a document
since these two functions are called from removedFrom.

  • dom/Element.cpp:

(WebCore::Element::updateNameForTreeScope):
(WebCore::Element::updateNameForDocument):

9:02 AM Changeset in webkit [159565] by Michał Pakuła vel Rutka
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening

  • platform/efl/TestExpectations: Add new test expectations for failing tests.
8:02 AM Changeset in webkit [159564] by commit-queue@webkit.org
  • 4 edits in trunk/Source/JavaScriptCore

[armv7][arm64] Speculative build fix after r159545.
https://bugs.webkit.org/show_bug.cgi?id=124646

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-11-20
Reviewed by Filip Pizlo.

  • assembler/ARMv7Assembler.h:
  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::memoryFence):

  • assembler/MacroAssemblerARMv7.h:

(JSC::MacroAssemblerARMv7::memoryFence):

8:00 AM Changeset in webkit [159563] by beidson@apple.com
  • 14 edits in trunk/Source

Cleanup getOrEstablishIDBDatabaseMetadata and stub it out in WK2
https://bugs.webkit.org/show_bug.cgi?id=124635

Reviewed by Tim Horton.

Source/WebCore:

getOrEstablishIDBDatabaseMetadata() should not have to take a database name parameter because the
server connection should already know what database name it represents.

  • Modules/indexeddb/IDBDatabaseBackend.cpp:

(WebCore::IDBDatabaseBackend::openInternalAsync):

  • Modules/indexeddb/IDBServerConnection.h:
  • Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:

(WebCore::IDBServerConnectionLevelDB::IDBServerConnectionLevelDB):
(WebCore::IDBServerConnectionLevelDB::getOrEstablishIDBDatabaseMetadata):

  • Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
  • Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:

(WebCore::IDBFactoryBackendLevelDB::deleteDatabase):
(WebCore::IDBFactoryBackendLevelDB::open):

Source/WebKit2:

Stub out the message for getOrEstablishIDBDatabaseMetadata in the DatabaseProcess.

  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:

(WebKit::DatabaseProcessIDBConnection::establishConnection):
(WebKit::DatabaseProcessIDBConnection::getOrEstablishIDBDatabaseMetadata):

  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
  • Shared/SecurityOriginData.cpp:

(WebKit::SecurityOriginData::fromSecurityOrigin):

  • Shared/SecurityOriginData.h:
  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:

(WebKit::WebIDBServerConnection::WebIDBServerConnection):
(WebKit::WebIDBServerConnection::deleteDatabase):
(WebKit::WebIDBServerConnection::getOrEstablishIDBDatabaseMetadata):

  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
7:49 AM Changeset in webkit [159562] by commit-queue@webkit.org
  • 4 edits in trunk/Tools

Moved stray urls from svn.py and statusserver.py into common.config.urls
https://bugs.webkit.org/show_bug.cgi?id=124650

Patch by Dániel Bátyai <Batyai.Daniel@stud.u-szeged.hu> on 2013-11-20
Reviewed by Ryosuke Niwa.

  • Scripts/webkitpy/common/checkout/scm/svn.py:

(SVNRepository):

  • Scripts/webkitpy/common/config/urls.py:
  • Scripts/webkitpy/common/net/statusserver.py:

(StatusServer.init):

  • Scripts/webkitpy/performance_tests/perftestsrunner.py:

(_generate_results_dict):

7:44 AM Changeset in webkit [159561] by commit-queue@webkit.org
  • 5 edits
    1 add in trunk

[EFL] <video> and <audio> should be accessible.
https://bugs.webkit.org/show_bug.cgi?id=124494

Patch by Andrzej Badowski <a.badowski@samsung.com> on 2013-11-20
Reviewed by Gyuyoung Kim.

Source/WebCore:

Adding descriptions of media-element controls.

  • platform/efl/LocalizedStringsEfl.cpp:

(WebCore::localizedMediaControlElementString):

LayoutTests:

Added new accessibility baseline for accessibility/media-elemen.html.

  • platform/efl-wk1/TestExpectations: test is no longer failing.
  • platform/efl-wk2/TestExpectations: test is no longer failing.
  • platform/efl/accessibility/media-element-expected.txt: Added.
7:14 AM Changeset in webkit [159560] by Antti Koivisto
  • 3 edits in trunk/Source/WebCore

Don't paint simple text runs outside the paint rect
https://bugs.webkit.org/show_bug.cgi?id=124651

Reviewed by Anders Carlsson.

This speeds up partial paints for long text paragraphs.
Also add the same optimization for hit testing.

  • rendering/SimpleLineLayoutFunctions.cpp:

(WebCore::SimpleLineLayout::paintFlow):

Iterate over the run range that needs painting.

(WebCore::SimpleLineLayout::hitTestFlow):

Iterate over the line range that needs painting.

  • rendering/SimpleLineLayoutResolver.h:

(WebCore::SimpleLineLayout::Range::Range):
(WebCore::SimpleLineLayout::Range::begin):
(WebCore::SimpleLineLayout::Range::end):

Add Range type.

(WebCore::SimpleLineLayout::RunResolver::Iterator::Iterator):
(WebCore::SimpleLineLayout::RunResolver::Iterator::operator++):
(WebCore::SimpleLineLayout::RunResolver::Iterator::advance):
(WebCore::SimpleLineLayout::RunResolver::Iterator::advanceLines):

Optimize case where runCount==lineCount. In this case we can just directly jump
to the right run/line.

(WebCore::SimpleLineLayout::RunResolver::begin):
(WebCore::SimpleLineLayout::RunResolver::end):
(WebCore::SimpleLineLayout::RunResolver::lineIndexForHeight):
(WebCore::SimpleLineLayout::RunResolver::rangeForRect):

Get the range corresponding to a rect. This currently cares about y coordinates only.

(WebCore::SimpleLineLayout::LineResolver::Iterator::operator++):
(WebCore::SimpleLineLayout::LineResolver::Iterator::operator*):
(WebCore::SimpleLineLayout::LineResolver::rangeForRect):

6:55 AM Changeset in webkit [159559] by Antoine Quint
  • 3 edits
    4 adds in trunk

Cannot animate "points" attribute for <svg:polygon>
https://bugs.webkit.org/show_bug.cgi?id=21371

Reviewed by Antti Koivisto.

Source/WebCore:

Ensure we use animated list of points for SVG <polygon> and <polyline> elements
when we build the path used to draw them, otherwise the animated changes won't
be rendered and the base value will be used.

Tests: svg/animations/polygon-set.svg

svg/animations/polyline-set.svg

  • rendering/svg/SVGPathData.cpp:

(WebCore::updatePathFromPolygonElement):
(WebCore::updatePathFromPolylineElement):

LayoutTests:

New tests covering the actual application of the animated value
for the "points" attribute of the SVG <polygon> and <polyline> elements.

  • svg/animations/polygon-set-expected.svg: Added.
  • svg/animations/polygon-set.svg: Added.
  • svg/animations/polyline-set-expected.svg: Added.
  • svg/animations/polyline-set.svg: Added.
3:12 AM Changeset in webkit [159558] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Configurability test of prototype's properties in fast/dom/webidl-operations-on-node-prototype.html is wrong
https://bugs.webkit.org/show_bug.cgi?id=124602

Reviewed by Darin Adler.

The test case landed in r159100 checks, among other tests, for configurability of properties on the Node's
interface prototype object. The test deletes the tested property from the prototype object and checks that
the property is undefined. This works for the Node's prototype object but is not technically correct since
there might be a property with the same identifier that's located upwards on the prototype chain.

Rather than testing that the property on the prototype object is undefined after it is deleted, a failure
should be reported if the value of the property remains the same even after it's deleted from the object.

  • fast/dom/webidl-operations-on-node-prototype.html:
2:35 AM Changeset in webkit [159557] by commit-queue@webkit.org
  • 2 edits in trunk/Source/ThirdParty/ANGLE

ANGLE doesn't build with bison 3.0
https://bugs.webkit.org/show_bug.cgi?id=124642

Patch by Sergio Correia <Sergio Correia> on 2013-11-20
Reviewed by Gyuyoung Kim.

This is a reedition of r154109, now that ANGLE source has been updated
in r159533.

  • src/compiler/glslang.y: Use %lex-param to set YYLEX_PARAM and stop

using the deprecated YYID macro.

2:35 AM Changeset in webkit [159556] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] Do not use deprecated callbacks in WebKitPolicyClient
https://bugs.webkit.org/show_bug.cgi?id=124648

Reviewed by Philippe Normand.

Fixes compile warnings for uninitialized callbacks.

  • UIProcess/API/gtk/WebKitPolicyClient.cpp:

(decidePolicyForNavigationAction): Add originatingFrame parameter.
(decidePolicyForNewWindowAction): Renamed for consistency.
(decidePolicyForResponse): Add canShowMIMEType parameter.
(attachPolicyClientToView): Add new callbacks.

1:48 AM Changeset in webkit [159555] by Carlos Garcia Campos
  • 2 edits in trunk/Source/ThirdParty/ANGLE

Unreviewed. Fix GTK build.

  • GNUmakefile.am: Remove duplicated entries.
1:22 AM Changeset in webkit [159554] by commit-queue@webkit.org
  • 4 edits in trunk

Unreviewed, rolling out r159496.
http://trac.webkit.org/changeset/159496
https://bugs.webkit.org/show_bug.cgi?id=124641

It caused warning and build break with cmake lower than 2.8.8
(Requested by ryuan on #webkit).

.:

  • Source/cmake/OptionsEfl.cmake:

Tools:

  • MiniBrowser/efl/CMakeLists.txt:
12:47 AM Changeset in webkit [159553] by abucur@adobe.com
  • 11 edits in trunk/Source/WebCore

[CSSRegions] Move region styling code into RenderNamedFlowFragment
https://bugs.webkit.org/show_bug.cgi?id=122957

Reviewed by Mihnea Ovidenie.

The patch moves all the region styling functionality outside of RenderRegion
to RenderNamedFlowFragment and outside of RenderFlowThread to RenderNamedFlowThread.
This generates a couple of undesired casts that will be removed in later patches
when everything CSS Regions specific will be located inside RenderNamedFlowThread
and RenderNamedFlowFragment (e.g. the move of the isValid flag, the auto-height
code etc.).

The painting function was also moved from RenderRegion to RenderNamedFlowFragment. It
was only used by the CSS Regions code. The new multi-column implementation has its own
painting mechanism.

Tests: No changed functionality, just refactorings.

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::RenderFlowThread):
(WebCore::RenderFlowThread::removeFlowChildInfo):
(WebCore::RenderFlowThread::clearRenderBoxRegionInfoAndCustomStyle):

  • rendering/RenderFlowThread.h:
  • rendering/RenderInline.cpp:

(WebCore::RenderInline::updateAlwaysCreateLineBoxes):

  • rendering/RenderNamedFlowFragment.cpp:

(WebCore::RenderNamedFlowFragment::RenderNamedFlowFragment):
(WebCore::RenderNamedFlowFragment::styleDidChange):
(WebCore::RenderNamedFlowFragment::checkRegionStyle):
(WebCore::RenderNamedFlowFragment::computeStyleInRegion):
(WebCore::RenderNamedFlowFragment::computeChildrenStyleInRegion):
(WebCore::RenderNamedFlowFragment::setObjectStyleInRegion):
(WebCore::RenderNamedFlowFragment::clearObjectStyleInRegion):
(WebCore::RenderNamedFlowFragment::setRegionObjectsRegionStyle):
(WebCore::RenderNamedFlowFragment::restoreRegionObjectsOriginalStyle):
(WebCore::shouldPaintRegionContentsInPhase):
(WebCore::RenderNamedFlowFragment::paintObject):

  • rendering/RenderNamedFlowFragment.h:
  • rendering/RenderNamedFlowThread.cpp:

(WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
(WebCore::RenderNamedFlowThread::checkRegionsWithStyling):
(WebCore::RenderNamedFlowThread::clearRenderObjectCustomStyle):
(WebCore::RenderNamedFlowThread::removeFlowChildInfo):

  • rendering/RenderNamedFlowThread.h:
  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::RenderRegion):
(WebCore::RenderRegion::styleDidChange):
(WebCore::RenderRegion::attachRegion):

  • rendering/RenderRegion.h:
  • rendering/RenderTreeAsText.cpp:

(WebCore::writeRenderRegionList):

12:30 AM Changeset in webkit [159552] by rgabor@webkit.org
  • 2 edits in trunk/Tools

[EFL] libseccomp-2.0.0 doesn't support ARM architecture
https://bugs.webkit.org/show_bug.cgi?id=124412

Reviewed by Gyuyoung Kim.

Update libseccomp to a newer 2.1.0 version.

  • efl/jhbuild.modules:

Nov 19, 2013:

11:21 PM Changeset in webkit [159551] by gyuyoung.kim@samsung.com
  • 21 edits in trunk/Source/WebCore

Generate toHTMLFooElement() to clean up static_cast<>
https://bugs.webkit.org/show_bug.cgi?id=124571

Reviewed by Darin Adler.

Though there are a lot of clean up commits before, there are still
use of static_cast<HTMLFooElement*>. To clean up them, we need to generate
toHTMLDetails|Meta|Summary|TableSection|TableCaptionElement().

Additionally, other static_cast<> are removed as well.

No new tests, no behavior changes.

  • html/HTMLDetailsElement.h:
  • html/HTMLMediaElement.cpp:

(HTMLMediaElement::selectNextSourceChild):

  • html/HTMLMetaElement.h:
  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::shouldAllowQuickTimeClassIdQuirk):

  • html/HTMLOptionElement.cpp:

(WebCore::HTMLOptionElement::isDisabledFormControl):

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::updateWidgetCallback):

  • html/HTMLSummaryElement.cpp:

(WebCore::HTMLSummaryElement::detailsElement):

  • html/HTMLSummaryElement.h:
  • html/HTMLTableCaptionElement.h:
  • html/HTMLTableElement.cpp:

(WebCore::HTMLTableElement::caption):
(WebCore::HTMLTableElement::tHead):
(WebCore::HTMLTableElement::tFoot):
(WebCore::HTMLTableElement::lastBody):

  • html/HTMLTableRowElement.cpp:

(WebCore::HTMLTableRowElement::rowIndex):

  • html/HTMLTableSectionElement.h:
  • html/HTMLTagNames.in:
  • html/MediaDocument.cpp:

(WebCore::MediaDocumentParser::createDocumentStructure):

  • html/shadow/DetailsMarkerControl.cpp:

(WebCore::DetailsMarkerControl::summaryElement):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::handleFallbackContent):

  • loader/ImageLoader.cpp:

(WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):

  • page/DragController.cpp:

(WebCore::DragController::canProcessDrag):

  • page/Frame.cpp:

(WebCore::Frame::searchForLabelsBeforeElement):

  • page/SpatialNavigation.cpp:

(WebCore::frameOwnerElement):

10:57 PM Changeset in webkit [159550] by rniwa@webkit.org
  • 10 edits in trunk

Enable HTMLTemplateElement on Mac port
https://bugs.webkit.org/show_bug.cgi?id=124637

Reviewed by Tim Horton.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Enabled the feature.

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

LayoutTests:

Unskip template element tests except fast/dom/HTMLTemplateElement/cycles-in-shadow.html
which depends on ENABLE(SHADOW_DOM).

  • platform/mac/TestExpectations:
10:01 PM Changeset in webkit [159549] by mrowe@apple.com
  • 2 edits in trunk/Tools

<rdar://problem/15487072> Modernize WebKit.app's OS X version checking logic.

Gestalt is deprecated on recent OS X versions so we should switch off it.

Reviewed by Sam Weinig.

  • WebKitLauncher/main.m:

(currentMacOSXVersion): Retrieve the version string from SystemVersion.plist.
(currentMacOSXMajorVersion): Split the version string at the periods, retrieve the first
two components, then join them back up.
(main): Switch to using currentMacOSXMajorVersion to make it clearer which part of
the version we care about.

9:59 PM Changeset in webkit [159548] by jinwoo7.song@samsung.com
  • 2 edits in trunk/Source/WebCore

Remove unused member function declaration in DocumentOrderedMap.h
https://bugs.webkit.org/show_bug.cgi?id=124629

Reviewed by Ryosuke Niwa.

checkConsistency() is not used anywhere.

  • dom/DocumentOrderedMap.h:
9:57 PM Changeset in webkit [159547] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, remove completely bogus assertion.

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::addFunction):

9:53 PM Changeset in webkit [159546] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, debug build fix.

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::addFunction):

9:49 PM Changeset in webkit [159545] by fpizlo@apple.com
  • 52 edits
    6 adds in trunk

Infer constant global variables
https://bugs.webkit.org/show_bug.cgi?id=124464

Source/JavaScriptCore:

Reviewed by Sam Weinig.

All global variables that are candidates for watchpoint-based constant inference (i.e.
not 'const' variables) will now have WatchpointSet's associated with them and those
are used to drive the inference by tracking three states of each variable:

Uninitialized: the variable's value is Undefined and the WatchpointSet state is

ClearWatchpoint.


Initialized: the variable's value was set to something (could even be explicitly set

to Undefined) and the WatchpointSet state is IsWatching.


Invalidated: the variable's value was set to something else (could even be the same

thing as before but the point is that a put operation did execute again) and the
WatchpointSet is IsInvalidated.


If the compiler tries to compile a GetGlobalVar and the WatchpointSet state is
IsWatching, then the current value of the variable can be folded in place of the get,
and a watchpoint on the variable can be registered.

We handle race conditions between the mutator and compiler by mandating that:

  • The mutator changes the WatchpointSet state after executing the put.


  • There is no opportunity to install code or call functions between when the mutator executes a put and changes the WatchpointSet state.


  • The compiler checks the WatchpointSet state prior to reading the value.


The concrete algorithm used by the mutator is:

  1. Store the new value into the variable. --- Execute a store-store fence.
  2. Bump the state (ClearWatchpoing becomes IsWatching, IsWatching becomes IsInvalidated); the IsWatching->IsInvalidated transition may end up firing watchpoints.


The concrete algorithm that the compiler uses is:

  1. Load the state. If it's *not* IsWatching, then give up on constant inference. --- Execute a load-load fence.
  2. Load the value of the variable and use that for folding, while also registering a DesiredWatchpoint. The various parts of this step can be done in any order.


The desired watchpoint registration will fail if the watchpoint set is already
invalidated. Now consider the following interesting interleavings:

Uninitialized->M1->M2->C1->C2: Compiler sees IsWatching because of the mutator's store

operation, and the variable is folded. The fencing ensures that C2 sees the value
stored in M1 - i.e. we fold on the value that will actually be watchpointed. If
before the compilation is installed the mutator executes another store then we
will be sure that it will be a complete sequence of M1+M2 since compilations get
installed at safepoints and never "in the middle" of a put_to_scope. Hence that
compilation installation will be invalidated. If the M1+M2 sequence happens after
the code is installed, then the code will be invalidated by triggering a jettison.


Uninitialized->M1->C1->C2->M2: Compiler sees Uninitialized and will not fold. This is

a sensible outcome since if the compiler read the variable's value, it would have
seen Undefined.


Uninitialized->C1->C2->M1->M2: Compiler sees Uninitialized and will not fold.
Uninitialized->C1->M1->C2->M2: Compiler sees Uninitialized and will not fold.
Uninitialized->C1->M1->M2->C2: Compiler sees Uninitialized and will not fold.
Uninitialized->M1->C1->M2->C2: Compiler sees Uninitialized and will not fold.

IsWatched->M1->M2->C1->C2: Compiler sees IsInvalidated and will not fold.

IsWatched->M1->C1->C2->M2: Compiler will fold, but will also register a desired

watchpoint, and that watchpoint will get invalidated before the code is installed.


IsWatched->M1->C1->M2->C2: As above, will fold but the code will get invalidated.
IsWatched->C1->C2->M1->M2: As above, will fold but the code will get invalidated.
IsWatched->C1->M1->C2->M2: As above, will fold but the code will get invalidated.
IsWatched->C1->M1->M2->C2: As above, will fold but the code will get invalidated.

Note that this kind of reasoning shows why having the mutator first bump the state and
then store the new value would be wrong. If we had done that (M1 = bump state, M2 =
execute put) then we could have the following deadly interleavings:

Uninitialized->M1->C1->C2->M2:
Uninitialized->M1->C1->M2->C2: Mutator bumps the state to IsWatched and then the

compiler folds Undefined, since M2 hasn't executed yet. Although C2 will set the
watchpoint, M1 didn't notify it - it mearly initiated watching. M2 then stores a
value other than Undefined, and you're toast.


You could fix this sort of thing by making the Desired Watchpoints machinery more
sophisticated, for example having it track the value that was folded; if the global
variable's value was later found to be different then we could invalidate the
compilation. You could also fix it by having the compiler also check that the value of
the variable is not Undefined before folding. While those all sound great, I decided
to instead just use the right interleaving since that results in less code and feels
more intuitive.

This is a 0.5% speed-up on SunSpider, mostly due to a 20% speed-up on math-cordic.
It's a 0.6% slow-down on LongSpider, mostly due to a 25% slow-down on 3d-cube. This is
because 3d-cube takes global variable assignment slow paths very often. Note that this
3d-cube slow-down doesn't manifest as much in SunSpider (only 6% there). This patch is
also a 1.5% speed-up on V8v7 and a 2.8% speed-up on Octane v1, mostly due to deltablue
(3.7%), richards (4%), and mandreel (26%). This is a 2% speed-up on Kraken, mostly due
to a 17.5% speed-up on imaging-gaussian-blur. Something that really illustrates the
slam-dunk-itude of this patch is the wide range of speed-ups on JSRegress. Casual JS
programming often leads to global-var-based idioms and those variables tend to be
assigned once, leading to excellent constant folding opportunities in an optimizing
JIT. This is very evident in the speed-ups on JSRegress.

  • assembler/ARM64Assembler.h:

(JSC::ARM64Assembler::dmbSY):

  • assembler/ARMv7Assembler.h:

(JSC::ARMv7Assembler::dmbSY):

  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::memfence):

  • assembler/MacroAssemblerARMv7.h:

(JSC::MacroAssemblerARMv7::load8):
(JSC::MacroAssemblerARMv7::memfence):

  • assembler/MacroAssemblerX86.h:

(JSC::MacroAssemblerX86::load8):
(JSC::MacroAssemblerX86::store8):

  • assembler/MacroAssemblerX86Common.h:

(JSC::MacroAssemblerX86Common::getUnusedRegister):
(JSC::MacroAssemblerX86Common::store8):
(JSC::MacroAssemblerX86Common::memoryFence):

  • assembler/MacroAssemblerX86_64.h:

(JSC::MacroAssemblerX86_64::load8):
(JSC::MacroAssemblerX86_64::store8):

  • assembler/X86Assembler.h:

(JSC::X86Assembler::movb_rm):
(JSC::X86Assembler::movzbl_mr):
(JSC::X86Assembler::mfence):
(JSC::X86Assembler::X86InstructionFormatter::threeByteOp):
(JSC::X86Assembler::X86InstructionFormatter::oneByteOp8):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):

  • bytecode/Watchpoint.cpp:

(JSC::WatchpointSet::WatchpointSet):
(JSC::WatchpointSet::add):
(JSC::WatchpointSet::notifyWriteSlow):

  • bytecode/Watchpoint.h:

(JSC::WatchpointSet::state):
(JSC::WatchpointSet::isStillValid):
(JSC::WatchpointSet::addressOfSetIsNotEmpty):

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::::executeEffects):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::getJSConstantForValue):
(JSC::DFG::ByteCodeParser::getJSConstant):
(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGNode.h:

(JSC::DFG::Node::isStronglyProvedConstantIn):
(JSC::DFG::Node::hasIdentifierNumberForCheck):
(JSC::DFG::Node::hasRegisterPointer):

  • dfg/DFGNodeFlags.h:
  • dfg/DFGNodeType.h:
  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileNotifyPutGlobalVar):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::callOperation):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLAbbreviatedTypes.h:
  • ftl/FTLAbbreviations.h:

(JSC::FTL::buildFence):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLIntrinsicRepository.h:
  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileNotifyPutGlobalVar):

  • ftl/FTLOutput.h:

(JSC::FTL::Output::fence):

  • jit/JIT.h:
  • jit/JITOperations.h:
  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emitPutGlobalVar):
(JSC::JIT::emit_op_put_to_scope):
(JSC::JIT::emitSlow_op_put_to_scope):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emitPutGlobalVar):
(JSC::JIT::emit_op_put_to_scope):
(JSC::JIT::emitSlow_op_put_to_scope):

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • llvm/LLVMAPIFunctions.h:
  • offlineasm/arm.rb:
  • offlineasm/arm64.rb:
  • offlineasm/cloop.rb:
  • offlineasm/instructions.rb:
  • offlineasm/x86.rb:
  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::addGlobalVar):
(JSC::JSGlobalObject::addFunction):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::addVar):
(JSC::JSGlobalObject::addConst):

  • runtime/JSScope.cpp:

(JSC::abstractAccess):

  • runtime/JSSymbolTableObject.h:

(JSC::symbolTablePut):
(JSC::symbolTablePutWithAttributes):

  • runtime/SymbolTable.cpp:

(JSC::SymbolTableEntry::couldBeWatched):
(JSC::SymbolTableEntry::prepareToWatch):
(JSC::SymbolTableEntry::notifyWriteSlow):

  • runtime/SymbolTable.h:

LayoutTests:

Reviewed by Sam Weinig.

  • js/regress/global-var-const-infer-expected.txt: Added.
  • js/regress/global-var-const-infer-fire-from-opt-expected.txt: Added.
  • js/regress/global-var-const-infer-fire-from-opt.html: Added.
  • js/regress/global-var-const-infer.html: Added.
  • js/regress/script-tests/global-var-const-infer-fire-from-opt.js: Added.

(foo):
(setA):
(setB):
(check):

  • js/regress/script-tests/global-var-const-infer.js: Added.

(foo):
(check):

9:19 PM Changeset in webkit [159544] by Seokju Kwon
  • 2 edits in trunk/Source/WebCore

Removal of redundant function call in Editor::insertTextWithoutSendingTextEvent
https://bugs.webkit.org/show_bug.cgi?id=124563

Reviewed by Brent Fulgham.

No new tests needed, no behavior change.

  • editing/Editor.cpp:

(WebCore::Editor::insertTextWithoutSendingTextEvent):

9:08 PM Changeset in webkit [159543] by roger_fong@apple.com
  • 5 edits in trunk/Source/ThirdParty/ANGLE

Unreviewed. Build fix for Mac.

  • src/compiler/glslang_tab.cpp:

(yysyntax_error):
(yyerror):

  • src/compiler/glslang_tab.h:
  • src/compiler/preprocessor/ExpressionParser.cpp:

(yysyntax_error):

9:04 PM Changeset in webkit [159542] by Martin Robinson
  • 2 edits in trunk/Source/ThirdParty/ANGLE

Fix the GTK+ build after the ANGLE update in r159533

  • GNUmakefile.am: Update the source list.
7:50 PM Changeset in webkit [159541] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebCore

Fix build break after r159533.

  • CMakeLists.txt: Update ANGLE files.
7:19 PM Changeset in webkit [159540] by commit-queue@webkit.org
  • 3 edits
    1 add in trunk/Tools

Unreviewed, rolling out r159538.
http://trac.webkit.org/changeset/159538
https://bugs.webkit.org/show_bug.cgi?id=124627

it broke run-jsc-stress-tests (Requested by mhahnenberg on
#webkit).

  • Scripts/jsc-stress-test-helpers/check-mozilla-failure: Added.
  • Scripts/run-javascriptcore-tests:
  • Scripts/run-jsc-stress-tests:
7:13 PM Changeset in webkit [159539] by roger_fong@apple.com
  • 2 edits in trunk/Source/ThirdParty/ANGLE

Unreviewed. Prospective build fix for GTK port following r159533.

  • GNUmakefile.am:
6:51 PM Changeset in webkit [159538] by mhahnenberg@apple.com
  • 3 edits
    1 delete in trunk/Tools

run-jsc-stress-tests should be able to package its tests and move them places
https://bugs.webkit.org/show_bug.cgi?id=124549

Reviewed by Geoff Garen and Filip Pizlo.

  • Scripts/jsc-stress-test-helpers/check-mozilla-failure: Removed. This script was just a ruby reimplementation

of grep -i -q

  • Scripts/run-javascriptcore-tests: Pass through the --make-bundle flag.
  • Scripts/run-jsc-stress-tests: Added the new concept of a "bundle", which is a collection of all tests and any

other files that those tests require to run in any environment along with a fixed root directory into which these
files and their expected directory structure are cloned. The default Bundle class is basically
a no-op so that it functions like run-jsc-stress-tests prior to this patch. MovableBundle is a Bundle that knows
how to translate local paths to bundle paths and does all the work of moving each test file into the right place
inside the .tests directory. After all the test files have been created in jsc-stress-results MovableBundle
creates a tarball of the entire directory for easy relocation. The --make-bundle flag causes run-jsc-stress-tests
to use MovableBundle instead of just Bundle.

6:50 PM Changeset in webkit [159537] by Lucas Forschler
  • 5 edits in branches/safari-537.73-branch/Source

Versioning.

6:49 PM Changeset in webkit [159536] by Lucas Forschler
  • 1 copy in tags/Safari-537.73.12

New Tag.

6:40 PM Changeset in webkit [159535] by commit-queue@webkit.org
  • 6 edits in trunk/LayoutTests

[EFL] Layout tests need to be rebaselined.
https://bugs.webkit.org/show_bug.cgi?id=124622

Unreviewed, EFL rebaseline.

EFL tests are rebaselined after r106181, r128728 and r133754.

Patch by Sun-woo Nam <sunny.nam@samsung.com> on 2013-11-19

  • platform/efl-wk2/TestExpectations:
  • platform/efl/fast/replaced/applet-disabled-positioned-expected.txt:
  • platform/efl/fast/replaced/applet-rendering-java-disabled-expected.txt:
  • platform/efl/fast/text/shaping/shaping-script-order-expected.txt:
  • platform/efl/fast/writing-mode/japanese-ruby-horizontal-bt-expected.txt:
6:12 PM Changeset in webkit [159534] by commit-queue@webkit.org
  • 4 edits in trunk/Source

Implement spin control on WinCE port.
https://bugs.webkit.org/show_bug.cgi?id=123254

Patch by Zhuang Zhigang <zhuangzg@cn.fujitsu.com> on 2013-11-19
Reviewed by Brent Fulgham.

  • rendering/RenderThemeWinCE.cpp:

(WebCore::RenderThemeWinCE::adjustInnerSpinButtonStyle):
(WebCore::RenderThemeWinCE::paintInnerSpinButton):

  • rendering/RenderThemeWinCE.h:
5:52 PM Changeset in webkit [159533] by roger_fong@apple.com
  • 135 edits
    23 adds
    8 deletes in trunk/Source

Update ANGLE sources.
https://bugs.webkit.org/show_bug.cgi?id=124615.

Reviewed by Dean Jackson.

Tests covered by Khronos WebGL conformance tests.

Update ANGLE to checkout a60e0805721f62c28a55faf2df74472cc5fc91fc.
Modify xcodeproj files as necessary, update plist.
Stop using DerivedSources.make and just use the generated sources that are checked into ANGLE.
Add a note to bison generated files indicating that Apple elects to distribute said files under the BSD license:
ExpressionParser.cpp, glslang_tab.cpp, glslang_tab.h.

  • ANGLE.plist:
  • ANGLE.xcodeproj/project.pbxproj:
  • DerivedSources.make: Removed.
  • platform/graphics/ANGLEWebKitBridge.cpp: Resolve a build error that resulted from updating ANGLE.

(WebCore::getSymbolInfo):
(WebCore::ANGLEWebKitBridge::compileShaderSource):

  • include/EGL/egl.h:
  • include/EGL/eglsoftlinking.h: Removed.
  • include/GLES2/gl2.h:
  • include/GLES2/gl2softlinking.h: Removed.
  • include/GLSLANG/ShaderLang.h:
  • include/KHR/khrplatform.h:
  • src/ANGLE.sln: Added.
  • src/build_angle.gypi:
  • src/common/debug.h:
  • src/common/event_tracer.cpp: Added.

(gl::TraceGetTraceCategoryEnabledFlag):
(gl::TraceAddTraceEvent):

  • src/common/event_tracer.h: Added.
  • src/common/version.h:
  • src/compiler/CodeGen.cpp: Added.

(ConstructCompiler):
(DeleteCompiler):

  • src/compiler/CodeGenGLSL.cpp: Removed.
  • src/compiler/CodeGenHLSL.cpp: Removed.
  • src/compiler/Common.h:

(NewPoolTString):

  • src/compiler/Compiler.cpp:

(TCompiler::Init):
(TCompiler::compile):
(TCompiler::InitBuiltInSymbolTable):
(TCompiler::clearResults):
(TCompiler::collectVariables):

  • src/compiler/ConstantUnion.h:
  • src/compiler/DetectDiscontinuity.cpp:
  • src/compiler/InfoSink.h:
  • src/compiler/InitializeDll.cpp:

(InitProcess):
(DetachProcess):

  • src/compiler/InitializeDll.h:
  • src/compiler/InitializeGLPosition.cpp: Added.

(InitializeGLPosition::visitAggregate):
(InitializeGLPosition::insertCode):

  • src/compiler/InitializeGLPosition.h: Added.

(InitializeGLPosition::InitializeGLPosition):
(InitializeGLPosition::visitBinary):
(InitializeGLPosition::visitUnary):
(InitializeGLPosition::visitSelection):
(InitializeGLPosition::visitLoop):
(InitializeGLPosition::visitBranch):

  • src/compiler/InitializeGlobals.h:
  • src/compiler/InitializeParseContext.cpp:

(InitializeParseContextIndex):
(FreeParseContextIndex):
(SetGlobalParseContext):
(GetGlobalParseContext):

  • src/compiler/InitializeParseContext.h:
  • src/compiler/IntermTraverse.cpp:

(TIntermSymbol::traverse):
(TIntermConstantUnion::traverse):
(TIntermBinary::traverse):
(TIntermUnary::traverse):
(TIntermAggregate::traverse):
(TIntermSelection::traverse):
(TIntermLoop::traverse):
(TIntermBranch::traverse):

  • src/compiler/Intermediate.cpp:

(GetHigherPrecision):
(getOperatorString):
(TIntermLoop::replaceChildNode):
(TIntermBranch::replaceChildNode):
(TIntermBinary::replaceChildNode):
(TIntermUnary::replaceChildNode):
(TIntermAggregate::replaceChildNode):
(TIntermSelection::replaceChildNode):
(TIntermOperator::isAssignment):
(TIntermediate::promoteConstantUnion):

  • src/compiler/MapLongVariableNames.cpp:
  • src/compiler/MapLongVariableNames.h:
  • src/compiler/NodeSearch.h: Added.

(sh::NodeSearchTraverser::NodeSearchTraverser):
(sh::NodeSearchTraverser::found):
(sh::NodeSearchTraverser::search):
(sh::FindDiscard::visitBranch):
(sh::FindSideEffectRewriting::visitBinary):

  • src/compiler/OutputGLSLBase.cpp:

(TOutputGLSLBase::visitSelection):
(TOutputGLSLBase::visitAggregate):
(TOutputGLSLBase::visitLoop):

  • src/compiler/OutputGLSLBase.h:
  • src/compiler/OutputHLSL.cpp:

(sh::OutputHLSL::OutputHLSL):
(sh::OutputHLSL::header):
(sh::OutputHLSL::visitBinary):
(sh::OutputHLSL::visitSelection):
(sh::OutputHLSL::visitBranch):
(sh::OutputHLSL::handleExcessiveLoop):
(sh::OutputHLSL::addConstructor):

  • src/compiler/OutputHLSL.h:
  • src/compiler/ParseContext.cpp: Added.

(TParseContext::parseVectorFields):
(TParseContext::parseMatrixFields):
(TParseContext::recover):
(TParseContext::error):
(TParseContext::warning):
(TParseContext::trace):
(TParseContext::assignError):
(TParseContext::unaryOpError):
(TParseContext::binaryOpError):
(TParseContext::precisionErrorCheck):
(TParseContext::lValueErrorCheck):
(TParseContext::constErrorCheck):
(TParseContext::integerErrorCheck):
(TParseContext::globalErrorCheck):
(TParseContext::reservedErrorCheck):
(TParseContext::constructorErrorCheck):
(TParseContext::voidErrorCheck):
(TParseContext::boolErrorCheck):
(TParseContext::samplerErrorCheck):
(TParseContext::structQualifierErrorCheck):
(TParseContext::parameterSamplerErrorCheck):
(TParseContext::containsSampler):
(TParseContext::arraySizeErrorCheck):
(TParseContext::arrayQualifierErrorCheck):
(TParseContext::arrayTypeErrorCheck):
(TParseContext::arrayErrorCheck):
(TParseContext::nonInitConstErrorCheck):
(TParseContext::nonInitErrorCheck):
(TParseContext::paramErrorCheck):
(TParseContext::extensionErrorCheck):
(TParseContext::supportsExtension):
(TParseContext::isExtensionEnabled):
(TParseContext::findFunction):
(TParseContext::executeInitializer):
(TParseContext::areAllChildConst):
(TParseContext::addConstructor):
(TParseContext::foldConstConstructor):
(TParseContext::constructBuiltIn):
(TParseContext::constructStruct):
(TParseContext::addConstVectorNode):
(TParseContext::addConstMatrixNode):
(TParseContext::addConstArrayNode):
(TParseContext::addConstStruct):
(TParseContext::enterStructDeclaration):
(TParseContext::exitStructDeclaration):
(TParseContext::structNestingErrorCheck):
(TParseContext::addIndexExpression):
(PaParseStrings):

  • src/compiler/ParseContext.h: Added.

(TParseContext::TParseContext):
(TParseContext::numErrors):
(TParseContext::infoSink):
(TParseContext::pragma):
(TParseContext::extensionBehavior):

  • src/compiler/ParseHelper.cpp: Removed.
  • src/compiler/ParseHelper.h: Removed.
  • src/compiler/PoolAlloc.cpp:

(InitializePoolIndex):
(FreePoolIndex):
(GetGlobalPoolAllocator):
(SetGlobalPoolAllocator):

  • src/compiler/PoolAlloc.h:

(pool_allocator::pool_allocator):

  • src/compiler/SearchSymbol.h:
  • src/compiler/ShHandle.h:

(TCompiler::getVaryings):

  • src/compiler/ShaderLang.cpp:

(checkVariableMaxLengths):
(ShInitialize):
(ShFinalize):
(ShConstructCompiler):
(ShCompile):
(ShGetInfo):
(ShGetVariableInfo):
(ShCheckVariablesWithinPackingLimits):

  • src/compiler/SymbolTable.cpp:

(TSymbolTable::~TSymbolTable):

  • src/compiler/SymbolTable.h:

(TSymbol::TSymbol):
(TSymbolTableLevel::insert):
(TSymbolTable::push):
(TSymbolTable::pop):
(TSymbolTable::findBuiltIn):
(TSymbolTable::relateToExtension):
(TSymbolTable::setDefaultPrecision):
(TSymbolTable::getDefaultPrecision):
(TSymbolTable::supportsPrecision):

  • src/compiler/Types.h:

(NewPoolTFieldList):
(TType::TType):
(TType::setNominalSize):
(TPublicType::setAggregate):

  • src/compiler/UnfoldShortCircuit.cpp:

(sh::UnfoldShortCircuit::visitBinary):
(sh::UnfoldShortCircuit::visitSelection):

  • src/compiler/UnfoldShortCircuit.h:
  • src/compiler/UnfoldShortCircuitAST.cpp: Added.

(UnfoldShortCircuitAST::visitBinary):
(UnfoldShortCircuitAST::updateTree):

  • src/compiler/UnfoldShortCircuitAST.h: Added.

(UnfoldShortCircuitAST::UnfoldShortCircuitAST):
(UnfoldShortCircuitAST::NodeUpdateEntry::NodeUpdateEntry):

  • src/compiler/Uniform.cpp:

(sh::Uniform::Uniform):

  • src/compiler/Uniform.h:
  • src/compiler/ValidateLimitations.cpp:

(ValidateLimitations::validateFunctionCall):
(ValidateLimitations::validateOperation):

  • src/compiler/VariableInfo.cpp:

(TVariableInfo::TVariableInfo):
(CollectVariables::CollectVariables):
(CollectVariables::visitSymbol):
(CollectVariables::visitAggregate):

  • src/compiler/VariableInfo.h:
  • src/compiler/debug.cpp:
  • src/compiler/depgraph/DependencyGraph.cpp:
  • src/compiler/depgraph/DependencyGraphBuilder.cpp:

(TDependencyGraphBuilder::visitBinary):

  • src/compiler/generate_parser.sh:
  • src/compiler/glslang.l:
  • src/compiler/glslang.y:
  • src/compiler/glslang_lex.cpp:

(input):
(yyerror):
(int_constant):
(float_constant):
(glslang_scan):

  • src/compiler/glslang_tab.cpp:

(yysyntax_error):
(glslang_parse):

  • src/compiler/glslang_tab.h:
  • src/compiler/intermediate.h:

(TIntermSymbol::hasSideEffects):
(TIntermSymbol::replaceChildNode):
(TIntermConstantUnion::hasSideEffects):
(TIntermConstantUnion::getIConst):
(TIntermConstantUnion::getFConst):
(TIntermConstantUnion::getBConst):
(TIntermConstantUnion::replaceChildNode):
(TIntermOperator::hasSideEffects):
(TIntermBinary::hasSideEffects):
(TIntermUnary::hasSideEffects):
(TIntermAggregate::hasSideEffects):
(TIntermSelection::hasSideEffects):
(TIntermTraverser::~TIntermTraverser):
(TIntermTraverser::incrementDepth):
(TIntermTraverser::decrementDepth):
(TIntermTraverser::getParentNode):

  • src/compiler/localintermediate.h:
  • src/compiler/parseConst.cpp:
  • src/compiler/preprocessor/ExpressionParser.cpp:

(yy_symbol_print):
(yy_stack_print):
(yy_reduce_print):
(yystrlen):
(yystpcpy):
(yytnamerr):
(yysyntax_error):
(yydestruct):
(yyparse):

  • src/compiler/preprocessor/ExpressionParser.y:
  • src/compiler/preprocessor/Preprocessor.cpp:

(pp::Preprocessor::setMaxTokenLength):
(pp::Preprocessor::lex):

  • src/compiler/preprocessor/Preprocessor.h:
  • src/compiler/preprocessor/Tokenizer.cpp:

(pp::Tokenizer::Tokenizer):
(pp::Tokenizer::lex):

  • src/compiler/preprocessor/Tokenizer.h:

(pp::Tokenizer::setMaxTokenLength):

  • src/compiler/preprocessor/Tokenizer.l:
  • src/compiler/preprocessor/generate_parser.sh:
  • src/compiler/preprocessor/preprocessor.vcxproj: Added.
  • src/compiler/preprocessor/preprocessor.vcxproj.filters: Added.
  • src/compiler/timing/RestrictFragmentShaderTiming.cpp:
  • src/compiler/translator.vcxproj: Added.
  • src/compiler/translator.vcxproj.filters: Added.
  • src/compiler/util.cpp:

(atof_clamp):
(atoi_clamp):

  • src/compiler/util.h:
  • src/libEGL/Surface.cpp:

(egl::Surface::checkForOutOfDateSwapChain):

  • src/libEGL/libEGL.cpp:
  • src/libEGL/libEGL.rc:
  • src/libEGL/libEGL.vcxproj: Added.
  • src/libEGL/libEGL.vcxproj.filters: Added.
  • src/libGLESv2/Buffer.cpp:

(gl::Buffer::bufferData):
(gl::Buffer::bufferSubData):
(gl::Buffer::size):
(gl::Buffer::getIndexRangeCache):

  • src/libGLESv2/Buffer.h:
  • src/libGLESv2/Context.cpp:

(gl::Context::applyTextures):
(gl::Context::getBoundFramebufferTextureSerials):

  • src/libGLESv2/Context.h:

(gl::Context::getRenderer):

  • src/libGLESv2/Framebuffer.h:
  • src/libGLESv2/ProgramBinary.cpp:

(gl::DiscardWorkaround):
(gl::ProgramBinary::load):
(gl::ProgramBinary::link):
(gl::ProgramBinary::linkAttributes):
(gl::AttributeSorter::AttributeSorter):
(gl::ProgramBinary::initAttributesByLayout):
(gl::ProgramBinary::sortAttributesByLayout):

  • src/libGLESv2/ProgramBinary.h:
  • src/libGLESv2/Renderbuffer.cpp:

(gl::RenderbufferTexture2D::getTextureSerial):
(gl::RenderbufferTextureCubeMap::getTextureSerial):
(gl::Renderbuffer::getTextureSerial):

  • src/libGLESv2/Renderbuffer.h:

(gl::RenderbufferStorage::getTextureSerial):

  • src/libGLESv2/Shader.cpp:

(gl::Shader::parseVaryings):
(gl::Shader::uncompile):

  • src/libGLESv2/Shader.h:
  • src/libGLESv2/Texture.cpp:

(gl::TextureCubeMap::storage):

  • src/libGLESv2/Uniform.cpp:

(gl::Uniform::Uniform):
(gl::Uniform::~Uniform):
(gl::Uniform::isArray):
(gl::Uniform::elementCount):

  • src/libGLESv2/Uniform.h:
  • src/libGLESv2/constants.h: Removed.
  • src/libGLESv2/libGLESv2.def:
  • src/libGLESv2/libGLESv2.rc:
  • src/libGLESv2/libGLESv2.vcxproj: Added.
  • src/libGLESv2/libGLESv2.vcxproj.filters: Added.
  • src/libGLESv2/precompiled.h:
  • src/libGLESv2/renderer/Image11.cpp:

(rx::Image11::generateMipmap):
(rx::Image11::loadData):
(rx::Image11::loadCompressedData):
(rx::Image11::copy):
(rx::Image11::createStagingTexture):
(rx::Image11::map):

  • src/libGLESv2/renderer/Image11.h:
  • src/libGLESv2/renderer/IndexBuffer.cpp:

(rx::IndexBufferInterface::mapBuffer):
(rx::StaticIndexBufferInterface::getIndexRangeCache):

  • src/libGLESv2/renderer/IndexBuffer.h:
  • src/libGLESv2/renderer/IndexBuffer11.cpp:

(rx::IndexBuffer11::mapBuffer):

  • src/libGLESv2/renderer/IndexDataManager.cpp:

(rx::IndexDataManager::prepareIndexData):
(rx::IndexDataManager::getCountingIndices):

  • src/libGLESv2/renderer/IndexRangeCache.cpp: Added.

(rx::IndexRangeCache::addRange):
(rx::IndexRangeCache::invalidateRange):
(rx::IndexRangeCache::findRange):
(rx::IndexRangeCache::clear):
(rx::IndexRangeCache::IndexRange::IndexRange):
(rx::IndexRangeCache::IndexRange::operator<):
(rx::IndexRangeCache::IndexBounds::IndexBounds):

  • src/libGLESv2/renderer/IndexRangeCache.h: Added.
  • src/libGLESv2/renderer/InputLayoutCache.cpp:

(rx::InputLayoutCache::InputLayoutCache):
(rx::InputLayoutCache::clear):
(rx::InputLayoutCache::markDirty):
(rx::InputLayoutCache::applyVertexBuffers):
(rx::InputLayoutCache::hashInputLayout):
(rx::InputLayoutCache::compareInputLayouts):

  • src/libGLESv2/renderer/InputLayoutCache.h:

(rx::InputLayoutCache::InputLayoutKey::begin):
(rx::InputLayoutCache::InputLayoutKey::end):

  • src/libGLESv2/renderer/RenderTarget11.cpp:

(rx::RenderTarget11::getTexture):
(rx::RenderTarget11::getRenderTargetView):
(rx::RenderTarget11::getDepthStencilView):
(rx::RenderTarget11::getShaderResourceView):

  • src/libGLESv2/renderer/RenderTarget11.h:
  • src/libGLESv2/renderer/Renderer.cpp:

(rx::Renderer::initializeCompiler):

  • src/libGLESv2/renderer/Renderer.h:
  • src/libGLESv2/renderer/Renderer11.cpp:

(rx::Renderer11::initialize):
(rx::Renderer11::applyPrimitiveType):
(rx::Renderer11::applyRenderTarget):
(rx::Renderer11::drawLineLoop):
(rx::Renderer11::drawTriangleFan):
(rx::Renderer11::applyUniforms):
(rx::Renderer11::clear):
(rx::Renderer11::markAllStateDirty):
(rx::Renderer11::copyImage):
(rx::Renderer11::compileToExecutable):
(rx::Renderer11::getRenderTargetResource):
(rx::Renderer11::blitRenderbufferRect):

  • src/libGLESv2/renderer/Renderer11.h:
  • src/libGLESv2/renderer/Renderer9.cpp:

(rx::Renderer9::initialize):
(rx::Renderer9::setViewport):
(rx::Renderer9::drawLineLoop):
(rx::Renderer9::compileToExecutable):

  • src/libGLESv2/renderer/Renderer9.h:
  • src/libGLESv2/renderer/SwapChain.h:
  • src/libGLESv2/renderer/SwapChain11.cpp:

(rx::SwapChain11::resetOffscreenTexture):
(rx::SwapChain11::reset):
(rx::SwapChain11::swapRect):

  • src/libGLESv2/renderer/SwapChain9.cpp:

(rx::convertInterval):

  • src/libGLESv2/renderer/TextureStorage11.cpp:

(rx::TextureStorage11::IsTextureFormatRenderable):
(rx::TextureStorage11::generateMipmapLayer):
(rx::TextureStorage11_Cube::getRenderTarget):

  • src/libGLESv2/renderer/VertexBuffer.cpp:

(rx::VertexBufferInterface::storeVertexAttributes):
(rx::VertexBufferInterface::storeRawData):
(rx::VertexBufferInterface::reserveVertexSpace):
(rx::StaticVertexBufferInterface::lookupAttribute):
(rx::StaticVertexBufferInterface::storeVertexAttributes):

  • src/libGLESv2/renderer/VertexBuffer.h:
  • src/libGLESv2/renderer/VertexBuffer11.cpp:

(rx::VertexBuffer11::getSpaceRequired):

  • src/libGLESv2/renderer/VertexBuffer11.h:
  • src/libGLESv2/renderer/VertexBuffer9.cpp:

(rx::VertexBuffer9::storeVertexAttributes):
(rx::VertexBuffer9::getSpaceRequired):
(rx::VertexBuffer9::requiresConversion):
(rx::VertexBuffer9::getVertexSize):
(rx::VertexBuffer9::spaceRequired):

  • src/libGLESv2/renderer/VertexBuffer9.h:
  • src/libGLESv2/renderer/VertexDataManager.cpp:

(rx::elementsInBuffer):
(rx::StreamingBufferElementCount):
(rx::VertexDataManager::prepareVertexData):

  • src/libGLESv2/renderer/VertexDataManager.h:
  • src/libGLESv2/renderer/renderer11_utils.cpp:

(gl_d3d11::ConvertTextureFormat):

  • src/libGLESv2/renderer/shaders/compiled/clear11vs.h:
  • src/libGLESv2/renderer/shaders/compiled/clearmultiple11ps.h:
  • src/libGLESv2/renderer/shaders/compiled/clearsingle11ps.h:
  • src/libGLESv2/renderer/shaders/compiled/componentmaskps.h:
  • src/libGLESv2/renderer/shaders/compiled/flipyvs.h:
  • src/libGLESv2/renderer/shaders/compiled/luminanceps.h:
  • src/libGLESv2/renderer/shaders/compiled/passthrough11vs.h:
  • src/libGLESv2/renderer/shaders/compiled/passthroughlum11ps.h:
  • src/libGLESv2/renderer/shaders/compiled/passthroughlumalpha11ps.h:
  • src/libGLESv2/renderer/shaders/compiled/passthroughps.h:
  • src/libGLESv2/renderer/shaders/compiled/passthroughrgb11ps.h:
  • src/libGLESv2/renderer/shaders/compiled/passthroughrgba11ps.h:
  • src/libGLESv2/renderer/shaders/compiled/standardvs.h:
  • src/libGLESv2/renderer/shaders/generate_shaders.bat:
  • src/libGLESv2/utilities.cpp:

(gl::ComputeTypeSize):

  • src/libGLESv2/utilities.h:
  • src/third_party/murmurhash/MurmurHash3.cpp:

(rotl32):
(rotl64):
(getblock):
(fmix):
(MurmurHash3_x86_32):
(MurmurHash3_x86_128):
(MurmurHash3_x64_128):

  • src/third_party/murmurhash/MurmurHash3.h:
  • src/third_party/trace_event: Added.
  • src/third_party/trace_event/trace_event.h: Added.

(gl::TraceEvent::TraceID::TraceID):
(gl::TraceEvent::TraceID::data):
(gl::TraceEvent::TraceStringWithCopy::TraceStringWithCopy):
(gl::TraceEvent::TraceStringWithCopy::operator const char* ):
(gl::TraceEvent::setTraceValue):
(gl::TraceEvent::addTraceEvent):
(gl::TraceEvent::TraceEndOnScopeClose::TraceEndOnScopeClose):
(gl::TraceEvent::TraceEndOnScopeClose::~TraceEndOnScopeClose):
(gl::TraceEvent::TraceEndOnScopeClose::initialize):
(gl::TraceEvent::TraceEndOnScopeClose::addEventIfEnabled):
(gl::TraceEvent::SamplingStateScope::SamplingStateScope):
(gl::TraceEvent::SamplingStateScope::~SamplingStateScope):
(gl::TraceEvent::SamplingStateScope::current):
(gl::TraceEvent::SamplingStateScope::set):

4:35 PM Changeset in webkit [159532] by msaboff@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

REGRESSION(158384) ARMv7 point checks too restrictive for native calls to traditional ARM code
https://bugs.webkit.org/show_bug.cgi?id=124612

Reviewed by Geoffrey Garen.

Removed ASSERT checks (i.e. lower bit set) for ARM Thumb2 destination addresses related to
calls since we are calling native ARM traditional functions like sin() and cos().

  • assembler/ARMv7Assembler.h:

(JSC::ARMv7Assembler::linkCall):
(JSC::ARMv7Assembler::relinkCall):

  • assembler/MacroAssemblerCodeRef.h:
4:29 PM Changeset in webkit [159531] by commit-queue@webkit.org
  • 7 edits in trunk/Source/JavaScriptCore

Unreviewed, rolling out r159459.
http://trac.webkit.org/changeset/159459
https://bugs.webkit.org/show_bug.cgi?id=124616

tons of assertions on launch (Requested by thorton on
#webkit).

  • API/JSContext.mm:

(-[JSContext setException:]):
(-[JSContext wrapperForObjCObject:]):
(-[JSContext wrapperForJSObject:]):

  • API/JSContextRef.cpp:

(JSContextGroupRelease):
(JSGlobalContextRelease):

  • API/JSManagedValue.mm:

(-[JSManagedValue initWithValue:]):
(-[JSManagedValue value]):

  • API/JSObjectRef.cpp:

(JSObjectIsFunction):
(JSObjectCopyPropertyNames):

  • API/JSValue.mm:

(containerValueToObject):

  • API/JSWrapperMap.mm:

(tryUnwrapObjcObject):

3:58 PM Changeset in webkit [159530] by Lucas Forschler
  • 5 edits in branches/safari-537.73-branch/Source

Versioning.

3:54 PM Changeset in webkit [159529] by matthew_hanson@apple.com
  • 2 edits in tags/Safari-538.7/Source/JavaScriptCore

Merge of 159515.

3:48 PM Changeset in webkit [159528] by fpizlo@apple.com
  • 11 edits in trunk/Source

Rename WatchpointSet::notifyWrite() should be renamed to WatchpointSet::fireAll()
https://bugs.webkit.org/show_bug.cgi?id=124609

Source/JavaScriptCore:

Rubber stamped by Mark Lam.

notifyWrite() is a thing that SymbolTable does. WatchpointSet uses that terminology
because it was original designed to match exactly SymbolTable's semantics. But now
it's a confusing term.

  • bytecode/Watchpoint.cpp:

(JSC::WatchpointSet::fireAllSlow):

  • bytecode/Watchpoint.h:

(JSC::WatchpointSet::fireAll):
(JSC::InlineWatchpointSet::fireAll):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::execute):

  • runtime/JSFunction.cpp:

(JSC::JSFunction::put):
(JSC::JSFunction::defineOwnProperty):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::haveABadTime):

  • runtime/Structure.h:

(JSC::Structure::notifyTransitionFromThisStructure):

  • runtime/SymbolTable.cpp:

(JSC::SymbolTableEntry::notifyWriteSlow):

Source/WebCore:

Rubber stamped by Mark Lam.

No new tests because no new behavior.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):

  • bindings/scripts/test/JS/JSTestEventTarget.h:

(WebCore::JSTestEventTarget::create):

3:47 PM Changeset in webkit [159527] by matthew_hanson@apple.com
  • 5 edits in tags/Safari-538.7/Source/JavaScriptCore

Merge of 159508.

3:38 PM Changeset in webkit [159526] by betravis@adobe.com
  • 15 edits in trunk
[CSS Shapes] Parse [<box>
<shape>] values

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

Reviewed by Dirk Schulze.

Source/WebCore:

Shape values can now have an optional box specifying the coordinate sytem to use
for sizing and positioning the shape. This patch adds the functionality to support
parsing these new values.

  • css/BasicShapeFunctions.cpp:

(WebCore::valueForBox): Added function to convert between BasicShape::ReferenceBox
and CSSPrimitiveValue (which wraps a CSSValueID).
(WebCore::boxForValue): Ditto.
(WebCore::valueForBasicShape): Translations between CSSBasicShape and BasicShape
must now include the reference box.
(WebCore::basicShapeForValue): Ditto.

  • css/BasicShapeFunctions.h:
  • css/CSSBasicShapes.cpp:

(WebCore::buildRectangleString): Include the box in the built CSS string.
(WebCore::CSSBasicShapeRectangle::cssText): Ditto.
(WebCore::CSSBasicShapeRectangle::equals): Include the box in comparisions.
(WebCore::buildCircleString):
(WebCore::CSSBasicShapeCircle::cssText):
(WebCore::CSSBasicShapeCircle::equals):
(WebCore::buildEllipseString):
(WebCore::CSSBasicShapeEllipse::cssText):
(WebCore::CSSBasicShapeEllipse::equals):
(WebCore::buildPolygonString):
(WebCore::CSSBasicShapePolygon::cssText):
(WebCore::CSSBasicShapePolygon::equals):
(WebCore::buildInsetRectangleString):
(WebCore::CSSBasicShapeInsetRectangle::cssText):
(WebCore::CSSBasicShapeInsetRectangle::equals):

  • css/CSSBasicShapes.h:

(WebCore::CSSBasicShape::box): BasicShapes now have an reference box.
(WebCore::CSSBasicShape::setBox): Ditto.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue): Shape-inside can also
parse the box values.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue): The shape properties use parseShapeProperty,
while minor adjustments were made to parseBasicShape's return type.
(WebCore::isBoxValue): Is the CSSValueID one of the box values.
(WebCore::CSSParser::parseShapeProperty): Parse one of the shape properties
and return an appropriate CSSValue.
(WebCore::CSSParser::parseBasicShape): Return a CSSBasicShape rather than
adding a ShapeValue to the style.

  • css/CSSParser.h:
  • rendering/style/BasicShapes.h:

(WebCore::BasicShape::box): Add a box to BasicShape and getters/setters.
(WebCore::BasicShape::setBox): Ditto.
(WebCore::BasicShape::BasicShape): Ditto.

LayoutTests:

Test that <box> <shape> and <shape> <box> values are both supported and successfully parsed.
Currently, we order the parsed result as <shape> <box> when the value is output through
the CSSOM. Also test that other combinations with shapes and boxes are not parsed.

  • fast/shapes/parsing/parsing-shape-inside-expected.txt:
  • fast/shapes/parsing/parsing-shape-inside.html:
  • fast/shapes/parsing/parsing-shape-outside-expected.txt:
  • fast/shapes/parsing/parsing-shape-outside.html:
  • fast/shapes/parsing/parsing-test-utils.js:
3:06 PM Changeset in webkit [159525] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] 9 WebGL conformance failures after r159518.
https://bugs.webkit.org/show_bug.cgi?id=124608

Reviewed by Dean Jackson.

Once we removed the CIImage drawing path, there was no longer any reason to flip the
CGImageRef before drawing to the provided GraphicsContext.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput):

2:57 PM Changeset in webkit [159524] by matthew_hanson@apple.com
  • 14 edits
    1 copy in tags/Safari-538.7/Source/JavaScriptCore

Rollout r159483. This change effectively adds r159351 back into the tag.

2:50 PM Changeset in webkit [159523] by Chris Fleizach
  • 2 edits in trunk/Source/WebCore

Web Speech API crashes onboundary event handling with reload
https://bugs.webkit.org/show_bug.cgi?id=124607

Reviewed by Tim Horton.

If the page goes away, we need to cleanup the Mac platform synthesizer object, because
NSSpeechSynthesizer is retained elsewhere to handle the callbacks (so it doesn't automatically
get torn down).

The layout tests for speech rely on a Mock synthesizer, so there is no good way to test this
Mac platform specific behavior.

  • platform/mac/PlatformSpeechSynthesizerMac.mm:

(-[WebSpeechSynthesisWrapper invalidate]):
(WebCore::PlatformSpeechSynthesizer::~PlatformSpeechSynthesizer):

2:27 PM Changeset in webkit [159522] by mitz@apple.com
  • 2 edits in trunk/Tools

<rdar://problem/15139479> Reenable the JSC Objective-C API tests on Mountain Lion once the bots are running Xcode 5

Rubber-stamped by Mark Rowe.

Reverted r156840.

  • TestWebKitAPI/Tests/mac/WebViewDidCreateJavaScriptContext.mm:
1:59 PM Changeset in webkit [159521] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION (r159395): Error compiling for ARMv7
https://bugs.webkit.org/show_bug.cgi?id=124552

Reviewed by Geoffrey Garen.

Fixed the implementation of branch8(RelationalCondition cond, AbsoluteAddress address, TrustedImm32 right)
to materialize and use address similar to other ARMv7 branchXX() functions.

  • assembler/MacroAssemblerARMv7.h:

(JSC::MacroAssemblerARMv7::branch8):

1:55 PM Changeset in webkit [159520] by mark.lam@apple.com
  • 34 edits
    5 adds in trunk

Add tracking of endColumn for Executables.
https://bugs.webkit.org/show_bug.cgi?id=124245.

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

  1. Fixed computation of columns to take into account the startColumn from <script> tags. Previously, we were only computing the column relative to the char after the <script> tag. Now, the column number that JSC computes is always the column number you'll see when viewing the source in a text editor (assuming the first column position is 1, not 0).
  1. Previously, unlinkedExecutables kept the a base-1 startColumn for ProgramExecutables and EvalExecutables, but uses base-0 columns for FunctionExecutables. This has been fixed so that they all use base-0 columns. When the executable gets linked, the column is adjusted into a base-1 value.
  1. In the UnlinkedFunctionExecutable, renamed m_functionStartOffset to m_unlinkedFunctionNameStart because it actually points to the start column in the name part of the function declaration.

Similarly, renamed m_functionStartColumn to m_unlinkedBodyStartColumn
because it points to the first character in the function body. This is
usually '{' except for functions created from "global code" which
excludes its braces. See FunctionExecutable::fromGlobalCode().

The exclusion of braces for the global code case is needed so that

computed start and end columns will more readily map to what a JS
developer would expect them to be. Otherwise, the first column of the
function source will not be 1 (includes prepended characters added in
constructFunctionSkippingEvalEnabledCheck()).

Also, similarly, a m_unlinkedBodyEndColumn has been added to track the
end column of the UnlinkedFunctionExecutable.

  1. For unlinked executables, end column values are either:
    1. Relative to the start of the last line if (last line != first line).
    2. Relative to the start column position if (last line == first line).

The second case is needed so that we can add an appropriate adjustment
to the end column value (just like we do for the start column) when we
link the executable.

  1. This is not new to this patch, but it worth noting that the lineCount values used through this patch has the following meaning:
    • a lineCount of 0 means the source for this code block is on 1 line.
    • a lineCount of N means there are N + l lines of source.

This interpretation is janky, but was present before this patch. We can
clean that up later in another patch.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • In order to implement WebCore::Internals::parserMetaData(), we need to move some seemingly unrelated header files from the Project section to the Private section so that they can be #include'd by the forwarding CodeBlock.h from WebCore.
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::sourceCodeForTools):
(JSC::CodeBlock::CodeBlock):

  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::generateFunctionCodeBlock):
(JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable):

  • m_isFromGlobalCode is needed to support the exclusion of the open brace / prepended code for functions created from "global code".

(JSC::UnlinkedFunctionExecutable::link):
(JSC::UnlinkedFunctionExecutable::fromGlobalCode):
(JSC::UnlinkedCodeBlock::UnlinkedCodeBlock):

  • bytecode/UnlinkedCodeBlock.h:

(JSC::UnlinkedFunctionExecutable::create):
(JSC::UnlinkedFunctionExecutable::unlinkedFunctionNameStart):
(JSC::UnlinkedFunctionExecutable::unlinkedBodyStartColumn):
(JSC::UnlinkedFunctionExecutable::unlinkedBodyEndColumn):
(JSC::UnlinkedFunctionExecutable::recordParse):
(JSC::UnlinkedCodeBlock::recordParse):
(JSC::UnlinkedCodeBlock::endColumn):

  • bytecompiler/NodesCodegen.cpp:

(JSC::FunctionBodyNode::emitBytecode):

  • parser/ASTBuilder.h:

(JSC::ASTBuilder::createFunctionBody):
(JSC::ASTBuilder::setFunctionNameStart):

  • parser/Lexer.cpp:

(JSC::::shiftLineTerminator):

  • Removed an unused SourceCode Lexer<T>::sourceCode() function.
  • parser/Lexer.h:

(JSC::Lexer::positionBeforeLastNewline):
(JSC::Lexer::prevTerminator):

  • Added tracking of m_positionBeforeLastNewline in the Lexer to enable us to exclude the close brace / appended code for functions created from "global code".
  • parser/Nodes.cpp:

(JSC::ProgramNode::ProgramNode):
(JSC::ProgramNode::create):
(JSC::EvalNode::EvalNode):
(JSC::EvalNode::create):
(JSC::FunctionBodyNode::FunctionBodyNode):
(JSC::FunctionBodyNode::create):
(JSC::FunctionBodyNode::setEndPosition):

  • setEndPosition() is needed to fixed up the end position so that we can exclude the close brace / appended code for functions created from "global code".
  • parser/Nodes.h:

(JSC::ProgramNode::startColumn):
(JSC::ProgramNode::endColumn):
(JSC::EvalNode::startColumn):
(JSC::EvalNode::endColumn):
(JSC::FunctionBodyNode::setFunctionNameStart):
(JSC::FunctionBodyNode::functionNameStart):
(JSC::FunctionBodyNode::endColumn):

  • parser/Parser.cpp:

(JSC::::parseFunctionBody):
(JSC::::parseFunctionInfo):

  • parser/Parser.h:

(JSC::Parser::positionBeforeLastNewline):
(JSC::::parse):

  • Subtracted 1 from startColumn here to keep the node column values consistently base-0. See note 2 above.

(JSC::parse):

  • parser/SourceProviderCacheItem.h:

(JSC::SourceProviderCacheItem::SourceProviderCacheItem):

  • parser/SyntaxChecker.h:

(JSC::SyntaxChecker::createFunctionBody):
(JSC::SyntaxChecker::setFunctionNameStart):

  • runtime/CodeCache.cpp:

(JSC::CodeCache::getGlobalCodeBlock):
(JSC::CodeCache::getProgramCodeBlock):
(JSC::CodeCache::getEvalCodeBlock):
(JSC::CodeCache::getFunctionExecutableFromGlobalCode):

  • runtime/CodeCache.h:
  • runtime/Executable.cpp:

(JSC::ScriptExecutable::newCodeBlockFor):
(JSC::FunctionExecutable::FunctionExecutable):
(JSC::ProgramExecutable::initializeGlobalProperties):
(JSC::FunctionExecutable::fromGlobalCode):

  • runtime/Executable.h:

(JSC::ExecutableBase::isEvalExecutable):
(JSC::ExecutableBase::isProgramExecutable):
(JSC::ScriptExecutable::ScriptExecutable):
(JSC::ScriptExecutable::endColumn):
(JSC::ScriptExecutable::recordParse):
(JSC::FunctionExecutable::create):
(JSC::FunctionExecutable::bodyIncludesBraces):

  • runtime/FunctionConstructor.cpp:

(JSC::constructFunctionSkippingEvalEnabledCheck):

  • runtime/FunctionPrototype.cpp:

(JSC::insertSemicolonIfNeeded):
(JSC::functionProtoFuncToString):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::createProgramCodeBlock):
(JSC::JSGlobalObject::createEvalCodeBlock):

Source/WebCore:

Test: js/dom/script-start-end-locations.html

  • ForwardingHeaders/bytecode: Added.
  • ForwardingHeaders/bytecode/CodeBlock.h: Added.
  • WebCore.exp.in:
  • testing/Internals.cpp:

(WebCore::GetCallerCodeBlockFunctor::GetCallerCodeBlockFunctor):
(WebCore::GetCallerCodeBlockFunctor::operator()):
(WebCore::GetCallerCodeBlockFunctor::codeBlock):
(WebCore::Internals::parserMetaData):

  • testing/Internals.h:
  • testing/Internals.idl:

Source/WebKit:

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
  • Added an exported symbol to make the Win32 build happy. The Win64 symbol is currently a copy of the Win32 one. It'll need to be updated if the mangled symbol is different for Win64.

LayoutTests:

  • fast/events/window-onerror2-expected.txt:
  • inspector-protocol/debugger/setBreakpoint-actions-expected.txt:
  • js/dom/script-start-end-locations-expected.txt: Added.
  • js/dom/script-start-end-locations.html: Added.
  • js/dom/script-tests/script-start-end-locations.js: Added.
  • js/dom/stack-trace-expected.txt:
  • js/dom/stack-trace.html:
  • Changed tabs to spaces. The tabs were making it hard to visually confirm the exected column values for 2 functions.
1:39 PM Changeset in webkit [159519] by jer.noble@apple.com
  • 20 edits
    4 adds in trunk

[MSE] Support fastSeek() in MediaSource.
https://bugs.webkit.org/show_bug.cgi?id=124422

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/media-source/media-source-fastseek.html

  • Modules/mediasource/MediaSource.cpp:
  • Modules/mediasource/MediaSource.h:

Add support for "seek to the next fastest time" in MediaSource by
returning the time of the nearest Sync sample.

Move the data structure logic out of SourceBuffer and into it's own
class:

  • Modules/mediasource/SampleMap.cpp: Added.

(WebCore::SampleIsLessThanMediaTimeComparator::operator()):
(WebCore::SampleIsGreaterThanMediaTimeComparator::operator()):
(WebCore::SampleIsRandomAccess::operator()):
(WebCore::SamplePresentationTimeIsWithinRangeComparator::operator()):
(WebCore::SampleMap::addSample):
(WebCore::SampleMap::removeSample):
(WebCore::SampleMap::findSampleContainingPresentationTime):
(WebCore::SampleMap::findSampleAfterPresentationTime):
(WebCore::SampleMap::findSampleWithDecodeTime):
(WebCore::SampleMap::reverseFindSampleContainingPresentationTime):
(WebCore::SampleMap::reverseFindSampleBeforePresentationTime):
(WebCore::SampleMap::reverseFindSampleWithDecodeTime):
(WebCore::SampleMap::findSyncSamplePriorToPresentationTime):
(WebCore::SampleMap::findSyncSamplePriorToDecodeIterator):
(WebCore::SampleMap::findSyncSampleAfterPresentationTime):
(WebCore::SampleMap::findSyncSampleAfterDecodeIterator):
(WebCore::SampleMap::findSamplesBetweenPresentationTimes):
(WebCore::SampleMap::findDependentSamples):

  • Modules/mediasource/SampleMap.h: Added.

(WebCore::SampleMap::presentationBegin):
(WebCore::SampleMap::presentationEnd):
(WebCore::SampleMap::decodeBegin):
(WebCore::SampleMap::decodeEnd):
(WebCore::SampleMap::reversePresentationBegin):
(WebCore::SampleMap::reversePresentationEnd):
(WebCore::SampleMap::reverseDecodeBegin):
(WebCore::SampleMap::reverseDecodeEnd):

Add logic to find and return the time of the next & previous sync
sample, within the threshold provided:

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::TrackBuffer::TrackBuffer):
(WebCore::SourceBuffer::sourceBufferPrivateSeekToTime):
(WebCore::SourceBuffer::sourceBufferPrivateFastSeekTimeForMediaTime):
(WebCore::SourceBuffer::appendBufferTimerFired):
(WebCore::SourceBuffer::setActive):
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):
(WebCore::SourceBuffer::sourceBufferPrivateDidBecomeReadyForMoreSamples):
(WebCore::SourceBuffer::provideMediaData):

  • Modules/mediasource/SourceBuffer.h:
  • platform/graphics/SourceBufferPrivate.h:

(WebCore::SourceBufferPrivate::setActive):

  • platform/graphics/SourceBufferPrivateClient.h:

(WebCore::SourceBufferPrivateClient::sourceBufferPrivateFastSeekTimeForMediaTime):
(WebCore::SourceBufferPrivateClient::sourceBufferPrivateSeekToTime):

Add new files to the project:

  • WebCore.xcodeproj/project.pbxproj:

Drive-by fixes in HTMLMediaElement:

  • html/HTMLMediaSource.h:
  • html/HTMLMediaElement.cpp:

(HTMLMediaElement::finishSeek): Cause the MediaSource to check the ready state of all its buffers.
(HTMLMediaElement::selectNextSourceChild): Pass in whether the source element has a MediaSource URL.

Implement the seekWithTolerance behavior in MockMediaPlayerMediaSource:

  • platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:

(WebCore::MockMediaPlayerMediaSource::maxTimeSeekableDouble):
(WebCore::MockMediaPlayerMediaSource::currentTimeDouble):
(WebCore::MockMediaPlayerMediaSource::seekWithTolerance):
(WebCore::MockMediaPlayerMediaSource::advanceCurrentTime):

  • platform/mock/mediasource/MockMediaPlayerMediaSource.h:
  • platform/mock/mediasource/MockMediaSourcePrivate.cpp:

(WebCore::MockMediaSourcePrivate::seekToTime):

  • platform/mock/mediasource/MockMediaSourcePrivate.h:
  • platform/mock/mediasource/MockSourceBufferPrivate.cpp:

(WebCore::MockMediaSample::flags):
(WebCore::MockSourceBufferPrivate::setActive):
(WebCore::MockSourceBufferPrivate::fastSeekTimeForMediaTime):
(WebCore::MockSourceBufferPrivate::seekToTime):

  • platform/mock/mediasource/MockSourceBufferPrivate.h:

LayoutTests:

  • media/media-source/media-source-fastseek-expected.txt: Added.
  • media/media-source/media-source-fastseek.html: Added.
  • media/media-source/mock-media-source.js:

(var):

1:37 PM Changeset in webkit [159518] by jer.noble@apple.com
  • 9 edits in trunk/Source/WebCore

[Mac] 10X slower than Chrome when drawing a video into a canvas
https://bugs.webkit.org/show_bug.cgi?id=124599

Reviewed by Dean Jackson.

Improve performance by creating a CGImageRef which directly references the CVPixelBuffer provided
by AVPlayerItemVideoOutput:

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::CVPixelBufferGetBytePointerCallback):
(WebCore::CVPixelBufferReleaseBytePointerCallback):
(WebCore::CVPixelBufferReleaseInfoCallback):
(WebCore::createImageFromPixelBuffer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::updateLastImage):

Additionally, when asked to paint with an AVPlayerItemVideoOutput, block until the output notifies
its delegate that a pixel buffer is available:

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::globalPullDelegateQueue):
(WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoOutput):
(WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput):
(WebCore::MediaPlayerPrivateAVFoundationObjC::nativeImageForCurrentTime):
(WebCore::MediaPlayerPrivateAVFoundationObjC::waitForVideoOutputMediaDataWillChange):
(WebCore::MediaPlayerPrivateAVFoundationObjC::outputMediaDataWillChange):
(-[WebCoreAVFPullDelegate initWithCallback:]):
(-[WebCoreAVFPullDelegate outputMediaDataWillChange:]):
(-[WebCoreAVFPullDelegate outputSequenceWasFlushed:]):

To further optimize video -> canvas drawing, add a method which can return a PassNativeImage to be
drawn directly onto the canvas, rather than rendering into an intermediary context:

  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::nativeImageForCurrentTime):

  • html/HTMLVideoElement.h:
  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::drawImage):

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::nativeImageForCurrentTime):

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::nativeImageForCurrentTime):

1:23 PM Changeset in webkit [159517] by beidson@apple.com
  • 10 edits
    3 deletes in trunk/Source/WebCore

Consolidate IDBBackingStore*Interface and IDBBackingStore*LevelDB
https://bugs.webkit.org/show_bug.cgi?id=124597

Reviewed by Alexey Proskuryakov.

The Interface abstraction doesn’t make sense anymore, as LevelDB will be the only implementor.

  • Modules/indexeddb/IDBBackingStoreCursorInterface.h: Removed.
  • Modules/indexeddb/IDBBackingStoreInterface.h: Removed.
  • Modules/indexeddb/IDBBackingStoreTransactionInterface.h: Removed.
  • Modules/indexeddb/IDBServerConnection.h:
  • Modules/indexeddb/leveldb/IDBBackingStoreCursorLevelDB.h:

(WebCore::IDBBackingStoreCursorLevelDB::key):
(WebCore::IDBBackingStoreCursorLevelDB::primaryKey):
(WebCore::IDBBackingStoreCursorLevelDB::recordIdentifier):

  • Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:

(WebCore::IDBBackingStoreLevelDB::getOrEstablishIDBDatabaseMetadata):
(WebCore::IDBBackingStoreLevelDB::updateIDBDatabaseVersion):
(WebCore::IDBBackingStoreLevelDB::deleteDatabase):
(WebCore::IDBBackingStoreLevelDB::createObjectStore):
(WebCore::IDBBackingStoreLevelDB::deleteObjectStore):
(WebCore::IDBBackingStoreLevelDB::getRecord):
(WebCore::IDBBackingStoreLevelDB::putRecord):
(WebCore::IDBBackingStoreLevelDB::clearObjectStore):
(WebCore::IDBBackingStoreLevelDB::deleteRecord):
(WebCore::IDBBackingStoreLevelDB::getKeyGeneratorCurrentNumber):
(WebCore::IDBBackingStoreLevelDB::maybeUpdateKeyGeneratorCurrentNumber):
(WebCore::IDBBackingStoreLevelDB::keyExistsInObjectStore):
(WebCore::IDBBackingStoreLevelDB::createIndex):
(WebCore::IDBBackingStoreLevelDB::deleteIndex):
(WebCore::IDBBackingStoreLevelDB::putIndexDataForRecord):
(WebCore::IDBBackingStoreLevelDB::findKeyInIndex):
(WebCore::IDBBackingStoreLevelDB::getPrimaryKeyViaIndex):
(WebCore::IDBBackingStoreLevelDB::keyExistsInIndex):
(WebCore::IDBBackingStoreLevelDB::makeIndexWriters):
(WebCore::IDBBackingStoreLevelDB::openObjectStoreCursor):
(WebCore::IDBBackingStoreLevelDB::openObjectStoreKeyCursor):
(WebCore::IDBBackingStoreLevelDB::openIndexKeyCursor):
(WebCore::IDBBackingStoreLevelDB::openIndexCursor):

  • Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
  • Modules/indexeddb/leveldb/IDBBackingStoreTransactionLevelDB.h:

(WebCore::IDBBackingStoreTransactionLevelDB::levelDBTransactionFrom):

  • Modules/indexeddb/leveldb/IDBIndexWriterLevelDB.cpp:

(WebCore::IDBIndexWriterLevelDB::writeIndexKeys):
(WebCore::IDBIndexWriterLevelDB::verifyIndexKeys):
(WebCore::IDBIndexWriterLevelDB::addingKeyAllowed):

  • Modules/indexeddb/leveldb/IDBIndexWriterLevelDB.h:
  • Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:

(WebCore::IDBServerConnectionLevelDB::get):
(WebCore::IDBServerConnectionLevelDB::openCursor):
(WebCore::IDBServerConnectionLevelDB::count):
(WebCore::IDBServerConnectionLevelDB::deleteRange):

  • WebCore.xcodeproj/project.pbxproj:
1:14 PM Changeset in webkit [159516] by commit-queue@webkit.org
  • 20 edits in trunk/Source/WebCore

Get rid of bare new in SVGAnimatedColorAnimator::constructFromString()
https://bugs.webkit.org/show_bug.cgi?id=124595

Patch by Sergio Correia <Sergio Correia> on 2013-11-19
Reviewed by Darin Adler.

Use std::unique_ptr instead, to manage the arguments passed to the create
methods of SVGAnimatedType.

No new tests, covered by existing tests.

  • svg/SVGAnimatedAngle.cpp:

(WebCore::SVGAnimatedAngleAnimator::constructFromString): Replace bare
pointer with std::unique_ptr.

  • svg/SVGAnimatedBoolean.cpp:

(WebCore::SVGAnimatedBooleanAnimator::constructFromString): Ditto.

  • svg/SVGAnimatedColor.cpp:

(WebCore::SVGAnimatedColorAnimator::constructFromString): Ditto.

  • svg/SVGAnimatedEnumeration.cpp:

(WebCore::SVGAnimatedEnumerationAnimator::constructFromString): Ditto.

  • svg/SVGAnimatedInteger.cpp:

(WebCore::SVGAnimatedIntegerAnimator::constructFromString): Ditto.

  • svg/SVGAnimatedIntegerOptionalInteger.cpp:

(WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::constructFromString):
Ditto.

  • svg/SVGAnimatedLength.cpp:

(WebCore::SVGAnimatedLengthAnimator::constructFromString): Ditto.

  • svg/SVGAnimatedLengthList.cpp:

(WebCore::SVGAnimatedLengthListAnimator::constructFromString): Ditto.

  • svg/SVGAnimatedNumber.cpp:

(WebCore::SVGAnimatedNumberAnimator::constructFromString): Ditto.

  • svg/SVGAnimatedNumberList.cpp:

(WebCore::SVGAnimatedNumberListAnimator::constructFromString): Ditto.

  • svg/SVGAnimatedNumberOptionalNumber.cpp:

(WebCore::SVGAnimatedNumberOptionalNumberAnimator::constructFromString):
Ditto.

  • svg/SVGAnimatedPointList.cpp:

(WebCore::SVGAnimatedPointListAnimator::constructFromString): Ditto.

  • svg/SVGAnimatedPreserveAspectRatio.cpp:

(WebCore::SVGAnimatedPreserveAspectRatioAnimator::constructFromString):
Ditto.

  • svg/SVGAnimatedRect.cpp:

(WebCore::SVGAnimatedRectAnimator::constructFromString): Ditto.

  • svg/SVGAnimatedString.cpp:

(WebCore::SVGAnimatedStringAnimator::constructFromString): Ditto.

  • svg/SVGAnimatedTransformList.cpp:

(WebCore::SVGAnimatedTransformListAnimator::constructFromString):
Ditto.

  • svg/SVGAnimatedType.cpp:

(WebCore::SVGAnimatedType::createAngleAndEnumeration): Use
std::unique_ptr instead of bare pointer as parameter.
(WebCore::SVGAnimatedType::createBoolean): Ditto.
(WebCore::SVGAnimatedType::createColor): Ditto.
(WebCore::SVGAnimatedType::createEnumeration): Ditto.
(WebCore::SVGAnimatedType::createInteger): Ditto.
(WebCore::SVGAnimatedType::createIntegerOptionalInteger): Ditto.
(WebCore::SVGAnimatedType::createLength): Ditto.
(WebCore::SVGAnimatedType::createLengthList): Ditto.
(WebCore::SVGAnimatedType::createNumber): Ditto.
(WebCore::SVGAnimatedType::createNumberList): Ditto.
(WebCore::SVGAnimatedType::createNumberOptionalNumber): Ditto.
(WebCore::SVGAnimatedType::createPointList): Ditto.
(WebCore::SVGAnimatedType::createPreserveAspectRatio): Ditto.
(WebCore::SVGAnimatedType::createRect): Ditto.
(WebCore::SVGAnimatedType::createString): Ditto.
(WebCore::SVGAnimatedType::createTransformList): Ditto.

  • svg/SVGAnimatedType.h: Use std::unique_ptr as parameter in the

create methods.

  • svg/SVGAnimatedTypeAnimator.h:

(WebCore::SVGAnimatedTypeAnimator::constructFromBaseValue): Make
helper return std::unique_ptr instead of bare pointer.
(WebCore::SVGAnimatedTypeAnimator::constructFromBaseValues): Ditto.

12:59 PM Changeset in webkit [159515] by dino@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

MarkedSpace::resumeAllocating needs to delay release
https://bugs.webkit.org/show_bug.cgi?id=124596

Reviewed by Geoffrey Garen.

  • heap/MarkedSpace.cpp:

(JSC::MarkedSpace::resumeAllocating): Add DelayedReleaseScope protection.

12:34 PM Changeset in webkit [159514] by Antoine Quint
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: layer info sidebar should convert to MB for very large layers
https://bugs.webkit.org/show_bug.cgi?id=124570

Reviewed by Timothy Hatcher.

Setting higherResolution to true (its default value if omitted) when calling
Number.bytesToString() would always result in a KB-formatted string instead
since it didn't check for a < 1024 value as well.

  • UserInterface/Utilities.js:

(Number.bytesToString):

12:15 PM Changeset in webkit [159513] by hmuller@adobe.com
  • 3 edits in trunk/Source/WebCore

[CSS Shapes] Refactor RectangleShape
https://bugs.webkit.org/show_bug.cgi?id=124416

Privatize and rename the FloatRoundedRect class defined in RectangleShape.h.
The new class is called RectangleShape::ShapeBounds. This change enables
creating a proper FloatRoundedRect analog of the existing RoundedRect class;
part of adding support for box shapes, per the latest CSS spec.

Reviewed by Dean Jackson.

No new tests, just refactoring.

  • rendering/shapes/RectangleShape.cpp:

(WebCore::RectangleShape::ShapeBounds::paddingBounds):
(WebCore::RectangleShape::ShapeBounds::marginBounds):
(WebCore::RectangleShape::ShapeBounds::cornerInterceptForWidth):
(WebCore::RectangleShape::shapePaddingBounds):
(WebCore::RectangleShape::shapeMarginBounds):
(WebCore::RectangleShape::getExcludedIntervals):
(WebCore::RectangleShape::getIncludedIntervals):
(WebCore::RectangleShape::firstIncludedIntervalLogicalTop):

  • rendering/shapes/RectangleShape.h:

(WebCore::RectangleShape::ShapeBounds::ShapeBounds):
(WebCore::RectangleShape::ShapeBounds::rx):
(WebCore::RectangleShape::ShapeBounds::ry):

12:14 PM Changeset in webkit [159512] by commit-queue@webkit.org
  • 18 edits in trunk/Source/WebCore

Mark classes deriving from SVGAnimatedTypeAnimator as FINAL
https://bugs.webkit.org/show_bug.cgi?id=124456

Patch by Sergio Correia <Sergio Correia> on 2013-11-19
Reviewed by Darin Adler.

Also add OVERRIDE to their virtual methods appropriately and remove
existing empty virtual destructors.

No new tests, covered by existing ones.

  • svg/SVGAnimatedAngle.h:
  • svg/SVGAnimatedBoolean.h:
  • svg/SVGAnimatedColor.h:
  • svg/SVGAnimatedEnumeration.h:
  • svg/SVGAnimatedInteger.h:
  • svg/SVGAnimatedIntegerOptionalInteger.h:
  • svg/SVGAnimatedLength.h:
  • svg/SVGAnimatedLengthList.h:
  • svg/SVGAnimatedNumber.h:
  • svg/SVGAnimatedNumberList.h:
  • svg/SVGAnimatedNumberOptionalNumber.h:
  • svg/SVGAnimatedPath.h:
  • svg/SVGAnimatedPointList.h:
  • svg/SVGAnimatedPreserveAspectRatio.h:
  • svg/SVGAnimatedRect.h:
  • svg/SVGAnimatedString.h:
  • svg/SVGAnimatedTransformList.h:
12:08 PM Changeset in webkit [159511] by beidson@apple.com
  • 13 edits
    3 moves
    2 adds
    2 deletes in trunk/Source

Add WebIDBServerConnection and DatabaseProcessIDBConnection stubs
https://bugs.webkit.org/show_bug.cgi?id=124562

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Export some more symbols and headers for WK2 to use.

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:

Source/WebKit2:

Also remove Web/DatabaseProcessDatabaseBackend stubs, as that is no longer the abstraction layer.

  • DatabaseProcess/DatabaseToWebProcessConnection.cpp:

(WebKit::DatabaseToWebProcessConnection::didReceiveMessage):
(WebKit::DatabaseToWebProcessConnection::establishIDBConnection):

  • DatabaseProcess/DatabaseToWebProcessConnection.h:
  • DatabaseProcess/DatabaseToWebProcessConnection.messages.in:
  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp: Renamed from Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBDatabaseBackend.cpp.

(WebKit::DatabaseProcessIDBConnection::DatabaseProcessIDBConnection):
(WebKit::DatabaseProcessIDBConnection::~DatabaseProcessIDBConnection):
(WebKit::DatabaseProcessIDBConnection::establishConnection):
(WebKit::DatabaseProcessIDBConnection::messageSenderConnection):

  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h: Renamed from Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBDatabaseBackend.h.

(WebKit::DatabaseProcessIDBConnection::create):

  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in: Renamed from Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBDatabaseBackend.messages.in.
  • Shared/Databases/IndexedDB/IDBUtilities.cpp:

(WebKit::uniqueDatabaseIdentifier): Modified to take two security origin arguments.

  • Shared/Databases/IndexedDB/IDBUtilities.h:
  • WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:

(WebKit::WebIDBFactoryBackend::open):

  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: Added. Stubbed out all the pure virtual methods.

(WebKit::generateBackendIdentifier):
(WebKit::WebIDBServerConnection::WebIDBServerConnection):
(WebKit::WebIDBServerConnection::~WebIDBServerConnection):
(WebKit::WebIDBServerConnection::isClosed):
(WebKit::WebIDBServerConnection::getOrEstablishIDBDatabaseMetadata):
(WebKit::WebIDBServerConnection::deleteDatabase):
(WebKit::WebIDBServerConnection::close):
(WebKit::WebIDBServerConnection::openTransaction):
(WebKit::WebIDBServerConnection::beginTransaction):
(WebKit::WebIDBServerConnection::commitTransaction):
(WebKit::WebIDBServerConnection::resetTransaction):
(WebKit::WebIDBServerConnection::rollbackTransaction):
(WebKit::WebIDBServerConnection::setIndexKeys):
(WebKit::WebIDBServerConnection::createObjectStore):
(WebKit::WebIDBServerConnection::createIndex):
(WebKit::WebIDBServerConnection::deleteIndex):
(WebKit::WebIDBServerConnection::get):
(WebKit::WebIDBServerConnection::put):
(WebKit::WebIDBServerConnection::openCursor):
(WebKit::WebIDBServerConnection::count):
(WebKit::WebIDBServerConnection::deleteRange):
(WebKit::WebIDBServerConnection::clearObjectStore):
(WebKit::WebIDBServerConnection::deleteObjectStore):
(WebKit::WebIDBServerConnection::changeDatabaseVersion):
(WebKit::WebIDBServerConnection::cursorAdvance):
(WebKit::WebIDBServerConnection::cursorIterate):
(WebKit::WebIDBServerConnection::cursorPrefetchIteration):
(WebKit::WebIDBServerConnection::cursorPrefetchReset):
(WebKit::WebIDBServerConnection::messageSenderConnection):

  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.h: Added.
  • WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.cpp: Removed.
  • WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h: Removed.
  • WebProcess/Databases/WebToDatabaseProcessConnection.cpp:
  • DerivedSources.make:
  • WebKit2.xcodeproj/project.pbxproj:
11:55 AM Changeset in webkit [159510] by dino@apple.com
  • 2 edits in trunk/LayoutTests

fast/forms/form-associated-element-crash.html often times out on Mavericks WK1
https://bugs.webkit.org/show_bug.cgi?id=124593

Marked as occasionally timing out.

  • platform/mac/TestExpectations:
11:25 AM Changeset in webkit [159509] by Michał Pakuła vel Rutka
  • 3 edits in trunk/Source/WebKit2

Unreviewed EFL and GTK build fix attempt after r159507

  • CMakeLists.txt: Changed Platform/CoreIPC/DataReference.cpp to Platform/IPC/DataReference.cpp
  • GNUmakefile.list.am: Ditto
11:10 AM Changeset in webkit [159508] by mhahnenberg@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

IncrementalSweeper needs to use DelayedReleaseScope too
https://bugs.webkit.org/show_bug.cgi?id=124558

Reviewed by Filip Pizlo.

It does sweeping too, so it needs to use it. Also refactored an
ASSERT that should have caught this sooner.

  • heap/DelayedReleaseScope.h:

(JSC::DelayedReleaseScope::isInEffectFor):

  • heap/IncrementalSweeper.cpp:

(JSC::IncrementalSweeper::doSweep):

  • heap/MarkedBlock.cpp:

(JSC::MarkedBlock::sweep):

  • heap/MarkedSpace.cpp:

(JSC::MarkedSpace::sweep):

10:32 AM Changeset in webkit [159507] by andersca@apple.com
  • 2 edits
    2 moves in trunk/Source/WebKit2

Move DataReference to Platform/IPC.

  • Platform/IPC/DataReference.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/DataReference.cpp.
  • Platform/IPC/DataReference.h: Renamed from Source/WebKit2/Platform/CoreIPC/DataReference.h.
  • WebKit2.xcodeproj/project.pbxproj:
10:20 AM Changeset in webkit [159506] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Add and call PageLoadState::reset
https://bugs.webkit.org/show_bug.cgi?id=124591

Reviewed by Dan Bernstein.

  • UIProcess/PageLoadState.cpp:

(WebKit::PageLoadState::reset):

  • UIProcess/PageLoadState.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::processDidCrash):

10:14 AM Changeset in webkit [159505] by Antoine Quint
  • 2 edits in trunk/Source/WebInspectorUI

Remove some unused utilities from Utilities.js
https://bugs.webkit.org/show_bug.cgi?id=124590

Reviewed by Darin Adler.

Remove some methods and properties that were no longer used through the codebase.

  • UserInterface/Utilities.js:
9:36 AM Changeset in webkit [159504] by commit-queue@webkit.org
  • 7 edits
    4 adds in trunk

Map the dir attribute to the CSS direction property.
https://bugs.webkit.org/show_bug.cgi?id=124572.

Patch by Frédéric Wang <fred.wang@free.fr> on 2013-11-19
Reviewed by Darin Adler.

Source/WebCore:

Tests: mathml/presentation/direction-overall.html

mathml/presentation/direction-token.html
mathml/presentation/direction.html

  • mathml/MathMLElement.cpp:

(WebCore::MathMLElement::isPresentationAttribute): add dir
(WebCore::MathMLElement::collectStyleForPresentationAttribute): map dir

  • mathml/mathattrs.in: add the dir attribute
  • mathml/mathtags.in: add the mstyle tag (needed to use mstyleTag)

LayoutTests:

  • mathml/presentation/direction-expected.html: add more tests.
  • mathml/presentation/direction-overall-expected.html: Added.
  • mathml/presentation/direction-overall.html: Added.
  • mathml/presentation/direction-token-expected.html: Added.
  • mathml/presentation/direction-token.html: Added.
  • mathml/presentation/direction.html: add more tests.
9:22 AM Changeset in webkit [159503] by commit-queue@webkit.org
  • 68 edits in trunk/Source/WebCore

[SVG] Convert OwnPtr/PassOwnPtr to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=124382

Patch by Sergio Correia <Sergio Correia> on 2013-11-19
Reviewed by Darin Adler.

The files modified are mostly under WebCore/svg/; in a few cases, some
"external" files needed changes as well.

No new tests, covered by existing ones.

  • css/CSSFontFaceSource.cpp:
  • loader/cache/CachedImage.cpp:
  • loader/cache/CachedImage.h:
  • platform/graphics/SimpleFontData.cpp:
  • platform/graphics/SimpleFontData.h:
  • rendering/svg/RenderSVGResourceContainer.cpp:
  • svg/SVGAnimateElement.cpp:
  • svg/SVGAnimateElement.h:
  • svg/SVGAnimatedAngle.cpp:
  • svg/SVGAnimatedAngle.h:
  • svg/SVGAnimatedBoolean.cpp:
  • svg/SVGAnimatedBoolean.h:
  • svg/SVGAnimatedColor.cpp:
  • svg/SVGAnimatedColor.h:
  • svg/SVGAnimatedEnumeration.cpp:
  • svg/SVGAnimatedEnumeration.h:
  • svg/SVGAnimatedInteger.cpp:
  • svg/SVGAnimatedInteger.h:
  • svg/SVGAnimatedIntegerOptionalInteger.cpp:
  • svg/SVGAnimatedIntegerOptionalInteger.h:
  • svg/SVGAnimatedLength.cpp:
  • svg/SVGAnimatedLength.h:
  • svg/SVGAnimatedLengthList.cpp:
  • svg/SVGAnimatedLengthList.h:
  • svg/SVGAnimatedNumber.cpp:
  • svg/SVGAnimatedNumber.h:
  • svg/SVGAnimatedNumberList.cpp:
  • svg/SVGAnimatedNumberList.h:
  • svg/SVGAnimatedNumberOptionalNumber.cpp:
  • svg/SVGAnimatedNumberOptionalNumber.h:
  • svg/SVGAnimatedPath.cpp:
  • svg/SVGAnimatedPath.h:
  • svg/SVGAnimatedPointList.cpp:
  • svg/SVGAnimatedPointList.h:
  • svg/SVGAnimatedPreserveAspectRatio.cpp:
  • svg/SVGAnimatedPreserveAspectRatio.h:
  • svg/SVGAnimatedRect.cpp:
  • svg/SVGAnimatedRect.h:
  • svg/SVGAnimatedString.cpp:
  • svg/SVGAnimatedString.h:
  • svg/SVGAnimatedTransformList.cpp:
  • svg/SVGAnimatedTransformList.h:
  • svg/SVGAnimatedType.cpp:
  • svg/SVGAnimatedType.h:
  • svg/SVGAnimatedTypeAnimator.cpp:
  • svg/SVGAnimatedTypeAnimator.h:
  • svg/SVGAnimatorFactory.h:
  • svg/SVGDocumentExtensions.cpp:
  • svg/SVGDocumentExtensions.h:
  • svg/SVGFontData.h:
  • svg/SVGFontElement.cpp:
  • svg/SVGFontElement.h:
  • svg/SVGGraphicsElement.cpp:
  • svg/SVGGraphicsElement.h:
  • svg/SVGPathByteStreamSource.h:
  • svg/SVGPathParser.h:
  • svg/SVGPathSegListSource.h:
  • svg/SVGPathStringSource.h:
  • svg/SVGPathUtilities.cpp:
  • svg/SVGPathUtilities.h:
  • svg/animation/SMILTimeContainer.cpp:
  • svg/animation/SMILTimeContainer.h:
  • svg/graphics/SVGImage.cpp:
  • svg/graphics/SVGImage.h:
  • svg/graphics/SVGImageCache.h:
  • svg/properties/SVGAttributeToPropertyMap.cpp:
  • svg/properties/SVGAttributeToPropertyMap.h:
9:15 AM Changeset in webkit [159502] by zoltan@webkit.org
  • 2 edits in trunk/Source/WebCore

Add LineInlineHeaders.h to WebCore.xcodeproj
<https://webkit.org/b/124460>

Reviewed by Csaba Osztrogonác.

LineInlineHeaders.h (r159354) hasn't been added to WebCore.xcodeproj. This patch adds to it.

No new tests, no behavior change.

  • WebCore.xcodeproj/project.pbxproj:
9:11 AM Changeset in webkit [159501] by Michał Pakuła vel Rutka
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening

  • platform/efl/TestExpectations: Add new failure test expectations.
6:55 AM Changeset in webkit [159500] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[AX] Use std::unique_ptr to manage AXComputedObjectAttributeCache
https://bugs.webkit.org/show_bug.cgi?id=124404

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

Convert OwnPtr/PassOwnPtr to std::unique_ptr.

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::startCachingComputedObjectAttributesUntilTreeMutates):
(WebCore::AXObjectCache::stopCachingComputedObjectAttributes):

  • accessibility/AXObjectCache.h:

(WebCore::AXComputedObjectAttributeCache::AXComputedObjectAttributeCache):

6:01 AM Changeset in webkit [159499] by Csaba Osztrogonác
  • 275 edits in trunk

Unreviewed typo fix after r159494.

5:15 AM Changeset in webkit [159498] by rniwa@webkit.org
  • 3 edits in trunk/Tools

Yet another build fix. Just allow any character.
There are just too many special characters to be listed here.

  • Scripts/webkitpy/performance_tests/perftest.py:

(PerfTest._lines_to_ignore_in_parser_result):

  • Scripts/webkitpy/performance_tests/perftest_unittest.py:

(TestPerfTest.test_parse_output_with_subtests)

5:05 AM Changeset in webkit [159497] by rniwa@webkit.org
  • 3 edits in trunk/Tools

Another build fix. Allow ':' in subtest names.

  • Scripts/webkitpy/performance_tests/perftest.py:

(PerfTest._lines_to_ignore_in_parser_result):

  • Scripts/webkitpy/performance_tests/perftest_unittest.py:

(TestPerfTest.test_parse_output_with_subtests)

4:38 AM Changeset in webkit [159496] by ryuan.choi@samsung.com
  • 4 edits in trunk

[EFL] Use Config mode of find_package for EFL 1.8
https://bugs.webkit.org/show_bug.cgi?id=124555

Reviewed by Gyuyoung Kim.

.:

EFL 1.8 changed VERSION macro so it's difficult to use tricky approach
which parses header file to know the version. Instead, EFL 1.8 supports
Config mode of find_package using XXXConfig.cmake such as EinaConfig.cmake.

This patch tries to use Config mode if it is available after checking Eo.

  • Source/cmake/OptionsEfl.cmake:

Tools:

  • MiniBrowser/efl/CMakeLists.txt: Introduced a config mode to find elementary.
4:22 AM Changeset in webkit [159495] by rniwa@webkit.org
  • 3 edits in trunk/Tools

Build fix. Subtest names need to be more permissive.

  • Scripts/webkitpy/performance_tests/perftest.py:

(PerfTest._lines_to_ignore_in_parser_result):

  • Scripts/webkitpy/performance_tests/perftest_unittest.py:

(TestPerfTest.test_parse_output_with_subtests)

4:14 AM Changeset in webkit [159494] by Csaba Osztrogonác
  • 275 edits in trunk

Unreviewed. Set svn:eol-style=native for Windows project files.

3:45 AM Changeset in webkit [159493] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed, EFL gardening. Adding a crash expectation.

  • platform/efl/TestExpectations:
3:30 AM Changeset in webkit [159492] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed, EFL gardening. Adding a crash expectation for a test regarding
object-fit.

  • platform/efl/TestExpectations:
3:12 AM BuildingGtk edited by tomeu.vizoso@collabora.com
(diff)
3:08 AM Changeset in webkit [159491] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed, EFL gardening. descent-clip-in-scaled-page.html is being passed
after enabling subpixel layout on EFL port.

  • platform/efl/TestExpectations:
2:37 AM Changeset in webkit [159490] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening. Adding failure expectations for the remaining layout test failures.

  • platform/gtk/TestExpectations:
1:43 AM Changeset in webkit [159489] by rniwa@webkit.org
  • 8 edits in trunk/Source/WebCore

Add more assertions with security implications in DocumentOrderedMap
https://bugs.webkit.org/show_bug.cgi?id=124559

Reviewed by Antti Koivisto.

Assert that newly added elements and existing elements in the document ordered map are in the same tree scope
as the document ordered map. Also exit early if we're about to add an element in a wrong document to the map.
We don't exit early in get() because the damage has already been done at that point (the element may have been
deleted already).

  • dom/Document.cpp:

(WebCore::Document::addImageElementByLowercasedUsemap):

  • dom/DocumentOrderedMap.cpp:

(WebCore::DocumentOrderedMap::add): Assert that the newly added element is in the current tree scope.
Also exit early if either the element is not in the tree scope or not in the right document.
While this doesn't make the function completely fault safe, it'll catch when we try to add a detached node.
(WebCore::DocumentOrderedMap::remove): Convert existing assertions to ones with security implication.
(WebCore::DocumentOrderedMap::get): Assert with security implication that the element we're about to return
is in the current tree scope. The element may have already been deleted if we ever hit these assertions.
(WebCore::DocumentOrderedMap::getAllElementsById): Convert an existing assertion to an assertion with security
implication.

  • dom/DocumentOrderedMap.h:
  • dom/TreeScope.cpp:

(WebCore::TreeScope::addElementById):
(WebCore::TreeScope::addElementByName):
(WebCore::TreeScope::addImageMap):
(WebCore::TreeScope::addLabel):

  • html/HTMLDocument.cpp:

(WebCore::HTMLDocument::addDocumentNamedItem):
(WebCore::HTMLDocument::addWindowNamedItem):

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::insertedInto): Set InTreeScope flag before calling addImageElementByLowercasedUsemap.

  • html/HTMLMapElement.cpp:

(WebCore::HTMLMapElement::insertedInto): Ditto for addImageMap.

1:28 AM Changeset in webkit [159488] by Manuel Rego Casasnovas
  • 3 edits
    1 add in trunk/PerformanceTests

[CSS Regions] Add performance test for selection
https://bugs.webkit.org/show_bug.cgi?id=119230

Reviewed by Ryosuke Niwa.

Add new performance test for selection in CSS Regions. It checks a
selection from the first region to the last one, passing through all the
regions.

Test is skipped for now while implementation of selection in CSS Regions
is still evolving.

  • Layout/RegionsSelection.html: Added.
  • Layout/resources/regions.js:

(.):

  • Skipped:

Nov 18, 2013:

11:53 PM Changeset in webkit [159487] by commit-queue@webkit.org
  • 23 edits
    2 copies
    1 add
    2 deletes in trunk/Source

Unreviewed, rolling out r159455.
http://trac.webkit.org/changeset/159455
https://bugs.webkit.org/show_bug.cgi?id=124568

broke two api tests (see bug 124564) (Requested by thorton on
#webkit).

Source/WebCore:

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.exp.in:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/objc/DOM.mm:

(-[DOMNode renderedImage]):
(-[DOMRange renderedImageForcingBlackText:]):

  • dom/Clipboard.cpp:

(WebCore::Clipboard::createDragImage):

  • dom/ClipboardMac.mm:

(WebCore::Clipboard::createDragImage):

  • page/DragController.cpp:

(WebCore::DragController::startDrag):

  • page/Frame.cpp:

(WebCore::ScopedFramePaintingState::ScopedFramePaintingState):
(WebCore::ScopedFramePaintingState::~ScopedFramePaintingState):
(WebCore::Frame::nodeImage):
(WebCore::Frame::dragImageForSelection):

  • page/Frame.h:
  • page/FrameSnapshotting.cpp: Removed.
  • page/FrameSnapshotting.h: Removed.
  • page/mac/FrameMac.mm: Copied from Source/WebCore/page/win/FrameWin.h.

(WebCore::Frame::nodeImage):
(WebCore::Frame::dragImageForSelection):

  • page/mac/FrameSnapshottingMac.h: Copied from Source/WebCore/page/win/FrameWin.h.
  • page/mac/FrameSnapshottingMac.mm: Added.

(WebCore::imageFromRect):
(WebCore::selectionImage):
(WebCore::rangeImage):
(WebCore::snapshotDragImage):

  • page/win/FrameWin.cpp:

(WebCore::Frame::dragImageForSelection):
(WebCore::Frame::nodeImage):

  • page/win/FrameWin.h:
  • platform/DragImage.cpp:

(WebCore::fitDragImageToMaxSize):
(WebCore::createDragImageForLink):

  • platform/DragImage.h:

Source/WebKit/ios:

  • WebCoreSupport/WebFrameIOS.mm:

Source/WebKit/mac:

  • WebView/WebHTMLView.mm:

(-[WebHTMLView _selectionDraggingImage]):
(-[WebHTMLView selectionImageForcingBlackText:]):

Source/WebKit/win:

  • DOMCoreClasses.cpp:

(DOMElement::renderedImage):

11:52 PM Changeset in webkit [159486] by ryuan.choi@samsung.com
  • 4 edits in trunk/Source

[EFL] Initialize efreet before getting directories
https://bugs.webkit.org/show_bug.cgi?id=124560

Reviewed by Gyuyoung Kim.

efreet is used to get several directories including home dierectory since
r123731, but it does not call efreet_init/efreet_shutdown explicitly.

Source/WebKit/efl:

  • ewk/ewk_main.cpp: Call efreet_init()/efreet_shutdown() explicitly.

(ewk_init):
(ewk_shutdown):

Source/WebKit2:

  • UIProcess/API/efl/ewk_main.cpp: Call efreet_init()/efreet_shutdown() explicitly.

(ewk_init):
(ewk_shutdown):

11:20 PM Changeset in webkit [159485] by mrowe@apple.com
  • 12 edits in trunk

Use hw.activecpu for determining how many processes to spawn.

It's documented as the preferred way to determine the number of threads
or processes to create in a SMP aware application.

Rubber-stamped by Tim Horton.

Source/ThirdParty/ANGLE:

  • ANGLE.xcodeproj/project.pbxproj:

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:

Source/WebKit:

  • WebKit.xcodeproj/project.pbxproj:

Source/WebKit2:

  • WebKit2.xcodeproj/project.pbxproj:

Tools:

  • Scripts/copy-webkitlibraries-to-product-directory:
  • Scripts/run-jsc-stress-tests:
  • WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
10:47 PM Changeset in webkit [159484] by timothy_horton@apple.com
  • 5 edits in trunk/Tools

build.webkit.org/dashboard builder headers should link to the builder page
https://bugs.webkit.org/show_bug.cgi?id=124553

Reviewed by Timothy Hatcher.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js:

(BuildbotQueue.prototype.get overviewURL):
Add overviewURL(), which returns the URL to the builder overview page, with the last 50 builds shown.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotBuilderQueueView.js:

(BuildbotBuilderQueueView.prototype.update.appendBuildArchitecture):
(BuildbotBuilderQueueView.prototype.update):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js:

(BuildbotTesterQueueView.prototype.update.appendBuilderQueueStatus):
(BuildbotTesterQueueView.prototype.update.appendBuild):
(BuildbotTesterQueueView.prototype.update):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/BuildbotQueueView.css:

(.queue-view .queueLabel):
(.queue-view .queueLabel:not(:first-child)):
Make the header a link instead of a label, and wire it up to overviewURL.

10:30 PM Changeset in webkit [159483] by Lucas Forschler
  • 14 edits
    1 delete in tags/Safari-538.7/Source/JavaScriptCore

Rollout r159351. <rdar://problem/15500057>

10:10 PM Changeset in webkit [159482] by Samuel White
  • 3 edits
    2 adds in trunk

AX: aria-labelledby should be used in preference to aria-labeledby
https://bugs.webkit.org/show_bug.cgi?id=62351

Reviewed by Chris Fleizach.

Source/WebCore:

Making sure aria-labelled by overrides the incorrectly spelled aria-labeledby attribute.

Test: accessibility/aria-labelledby-overrides-aria-labeledby.html

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::ariaLabeledByElements):

LayoutTests:

Added test to make sure aria-labelledby overrides aria-labeledby correctly.

  • accessibility/aria-labelledby-overrides-aria-labeledby-expected.txt: Added.
  • accessibility/aria-labelledby-overrides-aria-labeledby.html: Added.
10:01 PM Changeset in webkit [159481] by Alan Bujtas
  • 5 edits
    2 adds in trunk

use after free in WebCore::DocumentOrderedMap::remove / WebCore::TreeScope::removeElementById
https://bugs.webkit.org/show_bug.cgi?id=121324

Reviewed by Ryosuke Niwa.

Update the document ordered map for an image element before dispatching load or error events
when it's inserted into a document.

Source/WebCore:

Test: fast/dom/modify-node-and-while-in-the-callback-too-crash.html

  • dom/DocumentOrderedMap.cpp: defensive fix to avoid use after free issues.

(WebCore::DocumentOrderedMap::remove):

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::insertedInto):

  • loader/ImageLoader.cpp:

(WebCore::ImageLoader::updateFromElement): setting m_failedLoadURL makes
repeated updateFromElement calls return early.

LayoutTests:

  • fast/dom/modify-node-and-while-in-the-callback-too-crash-expected.txt: Added.
  • fast/dom/modify-node-and-while-in-the-callback-too-crash.html: Added.
9:14 PM Changeset in webkit [159480] by mrowe@apple.com
  • 3 edits in trunk/Source/WebKit/mac

Disable deprecation warnings related to NSCalendarDate in WebHistory.

Reviewed by Anders Carlsson.

  • History/WebHistory.h: Use a #pragma to have the compiler treat this header as

a system header, even when not included from a system location. This has the effect
of suppressing warnings when including this header. It's a more general effect than
we're after but is also less invasive than disabling deprecation warnings around
the APIs that are defined in terms of NSCalendarDate. We'll hopefully revisit this
in the future.

  • History/WebHistory.mm: Disable deprecation warnings around uses of NSCalendarDate.
8:55 PM Changeset in webkit [159479] by benjamin@webkit.org
  • 5 edits in trunk/Source/WebCore

Upstream iOS's ResourceHandle implementation
https://bugs.webkit.org/show_bug.cgi?id=124554

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-11-18
Reviewed by Sam Weinig.

  • platform/network/ResourceHandle.h:

(WebCore::ResourceHandle::quickLookHandle):
(WebCore::ResourceHandle::setQuickLookHandle):

  • platform/network/ResourceHandleClient.h:

(WebCore::ResourceHandleClient::connectionProperties):
(WebCore::ResourceHandleClient::shouldCacheResponse):

  • platform/network/ResourceHandleInternal.h:

(WebCore::ResourceHandleInternal::ResourceHandleInternal):

  • platform/network/cf/ResourceHandleCFNet.cpp:

(WebCore::synthesizeRedirectResponseIfNecessary):
(WebCore::willSendRequest):
(WebCore::didReceiveResponse):
(WebCore::didReceiveDataArray):
(WebCore::didReceiveData):
(WebCore::didFinishLoading):
(WebCore::didFail):
(WebCore::willCacheResponse):
(WebCore::canRespondToProtectionSpace):
(WebCore::ResourceHandle::createCFURLConnection):
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::willSendRequest):
(WebCore::ResourceHandle::platformLoadResourceSynchronously):
(WebCore::ResourceHandle::currentRequest):
(WebCore::ResourceHandle::connectionClientCallbacks):

7:50 PM Changeset in webkit [159478] by Lucas Forschler
  • 5 edits in trunk/Source

Versioning.

7:47 PM Changeset in webkit [159477] by Lucas Forschler
  • 1 copy in tags/Safari-538.7

New Tag.

6:41 PM Changeset in webkit [159476] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[EFL] Layout tests need to be rebaselined.
https://bugs.webkit.org/show_bug.cgi?id=124477

Unreviewed, EFL rebaseline.

EFL tests are rebaselined after r126683 and r140149.

Patch by Sun-woo Nam <sunny.nam@samsung.com> on 2013-11-18

  • platform/efl/fast/block/float/016-expected.txt:
  • platform/efl/fast/forms/textAreaLineHeight-expected.txt:
5:13 PM Changeset in webkit [159475] by Alexandru Chiculita
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: Update WebInspectorUI to use the new "nodeIds" parameter for DOM.performSearch
https://bugs.webkit.org/show_bug.cgi?id=124544

Reviewed by Joseph Pecoraro.

Added the new DOM.performSearch "nodeIds" parameter and made the two implementations
of DOMTreeContentView provide the right context node ids.

DOMTreeContentView is just using the id of the document node while ContentFlowDOMTreeContentView
is passing the list of content nodes.

Note that adding an extra optional parameter to DOM.performSearch does not break iOS 6 and 7 compatibility.

  • UserInterface/ContentFlowDOMTreeContentView.js:

(WebInspector.ContentFlowDOMTreeContentView.prototype.getSearchContextNodes):

  • UserInterface/DOMTreeContentView.js:

(WebInspector.DOMTreeContentView.prototype.performSearch.contextNodesReady):
(WebInspector.DOMTreeContentView.prototype.performSearch):
(WebInspector.DOMTreeContentView.prototype.getSearchContextNodes):

  • UserInterface/FrameDOMTreeContentView.js:

(WebInspector.FrameDOMTreeContentView.prototype.getSearchContextNodes):

  • UserInterface/InspectorBackendCommands.js:
5:00 PM Changeset in webkit [159474] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Let's try this again.

  • UIProcess/PageLoadState.cpp:
4:56 PM Changeset in webkit [159473] by commit-queue@webkit.org
  • 4 edits in trunk/Source

Unreviewed, rolling out r159430.
http://trac.webkit.org/changeset/159430
https://bugs.webkit.org/show_bug.cgi?id=124548

WebCore can know nothing about nor use files from WebKit/
(Requested by thorton on #webkit).

Source/WebCore:

  • DerivedSources.make:

Source/WebKit/win:

  • WebView.cpp:

(webKitVersionString):

4:50 PM Changeset in webkit [159472] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Disable assertions in PageLoadState.cpp for now.

  • UIProcess/PageLoadState.cpp:
4:46 PM Changeset in webkit [159471] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

TestWebKitAPI crashes when running under GuardMalloc
https://bugs.webkit.org/show_bug.cgi?id=124546

Reviewed by Tim Horton.

  • UIProcess/Downloads/DownloadProxyMap.cpp:

(WebKit::DownloadProxyMap::downloadFinished):
Grab the download ID before removing the DownloadProxy from the map.

4:45 PM Changeset in webkit [159470] by beidson@apple.com
  • 4 edits in trunk/Source/WebCore

Remove IDBServerConnection's deprecatedBackingStore()
https://bugs.webkit.org/show_bug.cgi?id=124547

Reviewed by Tim Horton.

It is no longer needed, as the front end no longer knows about the backing store.

  • Modules/indexeddb/IDBServerConnection.h:
  • Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
  • Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
4:35 PM Changeset in webkit [159469] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

ARM64 CRASH: Debug builds crash in emitPointerValidation()
https://bugs.webkit.org/show_bug.cgi?id=124545

Reviewed by Filip Pizlo.

Changed emitPointerValidation() to use pushToSave() and popToRestore() as
all macro assemblers have an implementation of these functions.

  • jit/ThunkGenerators.cpp:

(JSC::emitPointerValidation):

4:32 PM Changeset in webkit [159468] by Samuel White
  • 15 edits
    2 adds in trunk

AX: Add ability to fetch only visible table rows.
https://bugs.webkit.org/show_bug.cgi?id=124430

Reviewed by Chris Fleizach.

Source/WebCore:

Adding AccessibilityTable::visibleRows method to support AXVisibleRows attribute mac platform.

Test: platform/mac/accessibility/table-visible-rows.html

  • accessibility/AccessibilityTable.cpp:

(WebCore::AccessibilityTable::columnHeaders):
(WebCore::AccessibilityTable::rowHeaders):
(WebCore::AccessibilityTable::visibleRows):

  • accessibility/AccessibilityTable.h:
  • accessibility/AccessibilityTableRow.h:
  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

Tools:

Adding method to fetch array of AccessibilityUIElements to help with test brevity and test breakage. Specifically, we
have a good deal of churn any time we add or update an element attribute. This happens because the number of tests
that rely on a simple element description text dump to verify a single attribute is non trivial. So any time you
change add an attribute, you have to update all the tests that are now implicitly verifying this new attribute. But
as the test guidelines state, our tests should be more focused and specific about what they test.

  • DumpRenderTree/AccessibilityUIElement.cpp:

(uiElementArrayAttributeValueCallback):
(AccessibilityUIElement::uiElementArrayAttributeValue):
(AccessibilityUIElement::getJSClass):

  • DumpRenderTree/AccessibilityUIElement.h:
  • DumpRenderTree/mac/AccessibilityUIElementMac.mm:

(AccessibilityUIElement::uiElementArrayAttributeValue):

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:

(WTR::AccessibilityUIElement::uiElementArrayAttributeValue):

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
  • WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::AccessibilityUIElement::uiElementArrayAttributeValue):

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(WTR::AccessibilityUIElement::getUIElementsWithAttribute):
(WTR::AccessibilityUIElement::uiElementArrayAttributeValue):

LayoutTests:

Adding test to make sure AXVisibleRows behaves correctly.

  • platform/mac/accessibility/table-visible-rows-expected.txt: Added.
  • platform/mac/accessibility/table-visible-rows.html: Added.
4:17 PM Changeset in webkit [159467] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Update localizedStrings, remove stale string
https://bugs.webkit.org/show_bug.cgi?id=124543

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2013-11-18
Reviewed by Jessie Berlin.

Remove stale localized strings after r124543 remove the old color picker.

  • Localizations/en.lproj/localizedStrings.js:
4:07 PM Changeset in webkit [159466] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

ARM64: Update getHostCallReturnValue() to use architected frame pointer register
https://bugs.webkit.org/show_bug.cgi?id=124520

Reviewed by Filip Pizlo.

Changed from using the prior JSC specific x25 callframe register to the ARM64
architected x29 (fp) register. This change should have been done as part of
https://bugs.webkit.org/show_bug.cgi?id=123956.

  • jit/JITOperations.cpp:
3:40 PM Changeset in webkit [159465] by rniwa@webkit.org
  • 9 edits in trunk

Simplify and reformat the output of performance tests inside test runners
https://bugs.webkit.org/show_bug.cgi?id=124496

Reviewed by Antti Koivisto.

PerformanceTests:

As a preparation to support subtests for Dromaeo and DoYouEvenBench, simplify the output performance tests generate.
Also modernize the output to better support "metric" concept we introduced a while ago.

New output on Dromaeo/dom-attr looks like this:


Running 5 times
getAttribute -> [1105, 1108, 1134, 1137, 1154]
element.property -> [1634, 1655, 1685, 1696, 1723]
setAttribute -> [646.3536463536464, 651, 651, 656.3436563436563, 658]
element.property = value -> [934, 949, 963, 964, 974]
element.expando = value -> [419, 419.5804195804196, 421.57842157842157, 425.57442557442556, 429]
element.expando -> [501, 517, 519.4805194805194, 521.4785214785214, 525]

1: 117.40644785571585 runs/s
2: 118.84720469666297 runs/s
3: 119.80547640905021 runs/s
4: 120.51886194758805 runs/s
5: 121.51924380569295 runs/s

:Time -> [117.40644785571585, 118.84720469666297, 119.80547640905021, 120.51886194758805, 121.51924380569295] runs/s

mean: 119.619446942942 runs/s
median: 119.80547640905021 runs/s
stdev: 1.5769040458730506 runs/s
min: 117.40644785571585 runs/s
max: 121.51924380569295 runs/s


  • Dromaeo/resources/dromaeorunner.js:

(DRT.progress): Use the new format for subtest reports.

  • resources/runner.js:

(.): Declare verboseLogging, which is set to true outside of test runners.
(PerfTestRunner.logInfo): Use verboseLogging instead of directly checking window.testRunner.
(PerfTestRunner.logDetail): Added. Logs informative text with a label such as "mean: 123 s" with 4-space indentation.
(PerfTestRunner.logStatistics): Use logDetail.
(.start): Initialize verboseLogging. Also log "Running 20 times" as an informative log using logDetail.
(.ignoreWarmUpAndLog): Use logDetail for showing the progress. These logs were useless inside test runners anyway
because perftest didn't get to see any output until the test finished running.
(.finish): Call logStatistics with metric name as opposed to a label. Each metric name is now prefixed with ':' to be
distinguishable from subtests, making the new format forward compatible.

Tools:

As a preparation to support subtests for Dromaeo and DoYouEvenBench, simplify the output
performance tests generate. Instead of spitting out noise in PerfTestRunner (runner.js)
and ignoring it in PerfTest._filter_output (perftest.py), simply avoid generating it in
the first place.

Also modernize the output to adopt "metric" concept better and make it forward compatible
with subtests.

With this patch, performance tests written using runner.js only produces empty lines or
lines of the following format inside test runners (DumpRenderTree and WebKitTestRunner):
<subtest name> -> [<value 1>, <value 2>, ...]
:<metric name> -> [<value 1>, <value 2>, ...]

This greatly simplifies the parsing logic inside PerfTest._run_with_driver.

  • Scripts/webkitpy/performance_tests/perftest.py:

(PerfTest): Removed a bunch of regular expressions that are no longer used.
(PerfTest._run_with_driver): Just parse the values and description and treat everything
else as errors.

  • Scripts/webkitpy/performance_tests/perftest_unittest.py:

(TestPerfTest.test_parse_output): Removed the junk.
(TestPerfTest._assert_failed_on_line): Extracted from test_parse_output_with_failing_line,
which was removed in favor of the tests below.
(TestPerfTest.test_parse_output_with_running_five_times): Added.
(TestPerfTest.test_parse_output_with_detailed_info): Added.
(TestPerfTest.test_parse_output_with_statistics): Added.
(TestPerfTest.test_parse_output_with_description): Removed the junk.
(TestPerfTest.test_parse_output_with_subtests): Ditto.
(TestSingleProcessPerfTest.test_use_only_one_process): Ditto.

  • Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py:

(EventTargetWrapperTestData): Ditto.
(SomeParserTestData): Ditto.
(MemoryTestData): Ditto.

LayoutTests:

Rebaseline the expected result now that the output has been simplified.

  • fast/harness/perftests/runs-per-second-log-expected.txt:
3:40 PM Changeset in webkit [159464] by ryuan.choi@samsung.com
  • 3 edits in trunk/Source/WebKit2

Unreviewed build fix attempt on GTK and EFL port after r159461

  • CMakeLists.txt: Added APINavigationData.cpp and removed WebNavigationData.cpp
  • GNUmakefile.list.am: Ditto.
3:33 PM Changeset in webkit [159463] by Simon Fraser
  • 4 edits in trunk/Source/WebCore

At some scales, opaque compositing layers have garbage pixels around the edges
https://bugs.webkit.org/show_bug.cgi?id=124541

Reviewed by Dean Jackson.

Layers get marked as having opaque contents when their background is
known to paint the entire layer. However, this failed to take into
account two reasons why every pixel may not get painted.

First, subpixel layout can result in non-integral RenderLayer
bounds, which will get rounded up to an integral GraphicsLayer
size. When this happens we may not paint edge pixels.

Second, at non-integral scale factors, graphics context scaling
may cause us to not paint edge pixels.

Fix by only marking PlatformCALayers as having opaque contents
when the contentsScale of the layer is integral.

Not testable, because we can't guarantee to get garbage pixels
in a ref test, and layer dumps show GraphicsLayer's notion of
content opaqueness, not the one we set on the PlatformCALayer.

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::isIntegral):
(WebCore::clampedContentsScaleForScale):
(WebCore::GraphicsLayerCA::updateRootRelativeScale):
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
(WebCore::GraphicsLayerCA::updateContentsOpaque):
(WebCore::GraphicsLayerCA::getTransformFromAnimationsWithMaxScaleImpact):
Drive-by typo fix.
(WebCore::GraphicsLayerCA::noteChangesForScaleSensitiveProperties):

  • platform/graphics/ca/GraphicsLayerCA.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):

3:19 PM Changeset in webkit [159462] by fpizlo@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

put_to_scope[5] should not point to the structure if it's a variable access, but it should point to the WatchpointSet
https://bugs.webkit.org/show_bug.cgi?id=124539

Reviewed by Mark Hahnenberg.

This is in preparation for getting put_to_scope to directly invalidate the watchpoint set
on stores, which will allow us to run constant inference on all globals.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::finalizeUnconditionally):

  • bytecode/Instruction.h:
  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • runtime/JSScope.cpp:

(JSC::abstractAccess):
(JSC::JSScope::abstractResolve):

  • runtime/JSScope.h:

(JSC::ResolveOp::ResolveOp):

  • runtime/SymbolTable.h:

(JSC::SymbolTableEntry::watchpointSet):

3:16 PM Changeset in webkit [159461] by andersca@apple.com
  • 8 edits
    2 moves in trunk/Source/WebKit2

Rename WebNavigationData to API::NavigationData
https://bugs.webkit.org/show_bug.cgi?id=124542

Reviewed by Dan Bernstein.

  • UIProcess/API/C/WKAPICast.h:
  • UIProcess/API/C/WKNavigationDataRef.cpp:

(WKNavigationDataGetTypeID):

  • UIProcess/API/Cocoa/WKNavigationData.mm:

(-[WKNavigationData dealloc]):
(-[WKNavigationData title]):
(-[WKNavigationData originalRequest]):
(-[WKNavigationData destinationURL]):
(-[WKNavigationData response]):

  • UIProcess/API/Cocoa/WKNavigationDataInternal.h:

(WebKit::wrapper):

  • UIProcess/API/mac/WKProcessGroup.mm:
  • UIProcess/APINavigationData.cpp: Renamed from Source/WebKit2/UIProcess/WebNavigationData.cpp.

(API::NavigationData::NavigationData):
(API::NavigationData::~NavigationData):

  • UIProcess/APINavigationData.h: Renamed from Source/WebKit2/UIProcess/WebNavigationData.h.

(API::NavigationData::create):
(API::NavigationData::title):
(API::NavigationData::url):
(API::NavigationData::originalRequest):
(API::NavigationData::response):

  • UIProcess/WebHistoryClient.cpp:

(WebKit::WebHistoryClient::didNavigateWithNavigationData):

  • WebKit2.xcodeproj/project.pbxproj:
3:08 PM Changeset in webkit [159460] by hyatt@apple.com
  • 14 edits
    2 adds in trunk

Add a quirk to not respect center text-align when positioning

<rdar://problem/15427571>
https://bugs.webkit.org/show_bug.cgi?id=124522

Reviewed by Simon Fraser.

Added fast/block/legacy-text-align-position-quirk.html

Source/WebCore:

  • page/Settings.in:

Add the quirk setting.

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::startAlignedOffsetForLine):
Don't pay attention to center text-align when the quirk is set.

Source/WebKit/mac:

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences useLegacyTextAlignPositionedElementBehavior]):
(-[WebPreferences setUseLegacyTextAlignPositionedElementBehavior:]):

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Source/WebKit2:

  • Shared/WebPreferencesStore.h:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesUseLegacyTextAlignPositionedElementBehavior):
(WKPreferencesSetUseLegacyTextAlignPositionedElementBehavior):

  • UIProcess/API/C/WKPreferencesPrivate.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

LayoutTests:

  • fast/block/legacy-text-align-position-quirk-expected.html: Added.
  • fast/block/legacy-text-align-position-quirk.html: Added.
3:07 PM Changeset in webkit [159459] by mhahnenberg@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

APIEntryShims need some love
https://bugs.webkit.org/show_bug.cgi?id=124540

Reviewed by Filip Pizlo.

We were missing them in key places which some other hacking revealed. These could have manifested as
race conditions for VMs being used in multithreaded environments.

  • API/JSContext.mm:

(-[JSContext setException:]):
(-[JSContext wrapperForObjCObject:]):
(-[JSContext wrapperForJSObject:]):

  • API/JSContextRef.cpp:

(JSContextGroupRelease):
(JSGlobalContextRelease):

  • API/JSManagedValue.mm:

(-[JSManagedValue initWithValue:]):
(-[JSManagedValue value]):

  • API/JSObjectRef.cpp:

(JSObjectIsFunction):
(JSObjectCopyPropertyNames):

  • API/JSValue.mm:

(containerValueToObject):

  • API/JSWrapperMap.mm:

(tryUnwrapObjcObject):

2:43 PM Changeset in webkit [159458] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Add State to PageLoadState
https://bugs.webkit.org/show_bug.cgi?id=124538

Reviewed by Tim Horton.

  • UIProcess/PageLoadState.cpp:

(WebKit::PageLoadState::PageLoadState):
(WebKit::PageLoadState::didStartProvisionalLoad):
(WebKit::PageLoadState::didReceiveServerRedirectForProvisionalLoad):
(WebKit::PageLoadState::didFailProvisionalLoad):
(WebKit::PageLoadState::didCommitLoad):
(WebKit::PageLoadState::didFinishLoad):
(WebKit::PageLoadState::didSameDocumentNavigation):

  • UIProcess/PageLoadState.h:
2:40 PM Changeset in webkit [159457] by bshafiei@apple.com
  • 1 copy in tags/Safari-537.73.11

New tag.

2:14 PM Changeset in webkit [159456] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

The PageLoadState object should keep track of the current URL
https://bugs.webkit.org/show_bug.cgi?id=124536

Reviewed by Dan Bernstein.

  • UIProcess/PageLoadState.cpp:

(WebKit::PageLoadState::didCommitLoad):
(WebKit::PageLoadState::didFinishLoad):
(WebKit::PageLoadState::didFailLoad):
(WebKit::PageLoadState::didSameDocumentNavigation):

  • UIProcess/PageLoadState.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didFinishLoadForFrame):
(WebKit::WebPageProxy::didFailLoadForFrame):
(WebKit::WebPageProxy::didSameDocumentNavigationForFrame):

2:10 PM Changeset in webkit [159455] by commit-queue@webkit.org
  • 23 edits
    2 adds
    3 deletes in trunk/Source

Consolidate various frame snapshot capabilities.
https://bugs.webkit.org/show_bug.cgi?id=124325

Patch by Brian J. Burg <Brian Burg> on 2013-11-18
Reviewed by Timothy Hatcher.

Source/WebCore:

Various snapshot creation methods had duplicated code and were split
between Frame, DragImage, and platform-specific implementationss.
This patch puts WebCore snapshot methods into FrameSnapshotting
and removes platform implementations where possible.

DragImage methods reuse snapshot methods where possible. Inspector
will be able to take snapshots without using drag images.

No new tests, this is a refactoring.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.exp.in:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/objc/DOM.mm:

(-[DOMNode renderedImage]):
(-[DOMRange renderedImageForcingBlackText:]):

  • dom/Clipboard.cpp:

(WebCore::Clipboard::createDragImage):

  • dom/ClipboardMac.mm:

(WebCore::Clipboard::createDragImage):

  • page/DragController.cpp:

(WebCore::DragController::startDrag):

  • page/Frame.cpp:
  • page/Frame.h:
  • page/FrameSnapshotting.cpp: Added.

(WebCore::ScopedFramePaintingState::ScopedFramePaintingState):
(WebCore::ScopedFramePaintingState::~ScopedFramePaintingState):
(WebCore::snapshotFrameRect): Move most buffer logic to here.
(WebCore::snapshotSelection): Moved from Frame.
(WebCore::snapshotNode): Moved from Frame.

  • page/FrameSnapshotting.h: Added.
  • page/mac/FrameMac.mm: Removed.
  • page/mac/FrameSnapshottingMac.h: Removed.
  • page/mac/FrameSnapshottingMac.mm: Removed.
  • page/win/FrameWin.cpp: remove duplicate implementation.
  • page/win/FrameWin.h: Fix an incorrect parameter name.
  • platform/DragImage.cpp:

(WebCore::ScopedNodeDragState::ScopedNodeDragState):
(WebCore::ScopedNodeDragState::~ScopedNodeDragState):
(WebCore::createDragImageFromSnapshot): Boilerplate buffer conversion.
(WebCore::createDragImageForNode):
(WebCore::createDragImageForSelection):
(WebCore::ScopedFrameSelectionState::ScopedFrameSelectionState):
(WebCore::ScopedFrameSelectionState::~ScopedFrameSelectionState):
(WebCore::createDragImageForRange): Moved from Frame.
(WebCore::createDragImageForImage): Moved from FrameSnapshottingMac.
(WebCore::createDragImageForLink): use nullptr.

Source/WebKit/ios:

  • WebCoreSupport/WebFrameIOS.mm: use new header file.

Source/WebKit/mac:

Use new platform-independent methods instead of Mac methods.

  • WebView/WebHTMLView.mm:

(-[WebHTMLView _selectionDraggingImage]):
(-[WebHTMLView selectionImageForcingBlackText:]):

Source/WebKit/win:

  • DOMCoreClasses.cpp:

(DOMElement::renderedImage): use createDragImageForNode.

1:49 PM Changeset in webkit [159454] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GStreamer] Crash when using media source
https://bugs.webkit.org/show_bug.cgi?id=124525

Patch by Brendan Long <b.long@cablelabs.com> on 2013-11-18
Reviewed by Philippe Normand.

No new tests because this is already covered by tests in media/media-source (which aren't enabled because the feature isn't done).

  • platform/graphics/gstreamer/MediaSourceGStreamer.cpp:

(WebCore::MediaSourceGStreamer::MediaSourceGStreamer): Add missing adoptRef()

1:48 PM Changeset in webkit [159453] by timothy_horton@apple.com
  • 4 edits in trunk/Tools

Occasionally, hundreds of tests fail with small text diffs on Mavericks
https://bugs.webkit.org/show_bug.cgi?id=124312

Reviewed by Simon Fraser.

  • Scripts/webkitpy/layout_tests/controllers/manager.py:

(Manager._set_up_run):

  • Scripts/webkitpy/port/base.py:

(Port.to.reset_preferences):

  • Scripts/webkitpy/port/mac.py:

(MacPort.reset_preferences):
Delete DumpRenderTree and WebKitTestRunner defaults domains before running tests,
returning some of the functionality of 158652 after 159364 removed it.

1:44 PM Changeset in webkit [159452] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

URTBF after r159444.

  • GNUmakefile.list.am:
1:28 PM Changeset in webkit [159451] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

PageLoadState should keep track of the provisional URL
https://bugs.webkit.org/show_bug.cgi?id=124535

Reviewed by Dan Bernstein.

  • UIProcess/PageLoadState.cpp:

(WebKit::PageLoadState::didStartProvisionalLoad):
(WebKit::PageLoadState::didReceiveServerRedirectForProvisionalLoad):
(WebKit::PageLoadState::didCommitLoad):

  • UIProcess/PageLoadState.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
(WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
(WebKit::WebPageProxy::didCommitLoadForFrame):

1:21 PM Changeset in webkit [159450] by beidson@apple.com
  • 2 edits in trunk/Source/WebCore

Remove unneeded BackingStore-related #include from IDBFactoryBackendInterface

Rubberstamped by Beth Dakin.

  • Modules/indexeddb/IDBFactoryBackendInterface.h:
1:03 PM Changeset in webkit [159449] by andersca@apple.com
  • 7 edits in trunk/Source/WebKit2

Move m_pendingAPIRequestURL to PageLoadState
https://bugs.webkit.org/show_bug.cgi?id=124531

Reviewed by Tim Horton.

  • UIProcess/API/C/WKPage.cpp:

(WKPageCopyPendingAPIRequestURL):

  • UIProcess/PageLoadState.cpp:

(WebKit::PageLoadState::pendingAPIRequestURL):
(WebKit::PageLoadState::setPendingAPIRequestURL):
(WebKit::PageLoadState::clearPendingAPIRequestURL):

  • UIProcess/PageLoadState.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::loadURL):
(WebKit::WebPageProxy::loadURLRequest):
(WebKit::WebPageProxy::reload):
(WebKit::WebPageProxy::goForward):
(WebKit::WebPageProxy::goBack):
(WebKit::WebPageProxy::goToBackForwardItem):
(WebKit::WebPageProxy::activeURL):
(WebKit::WebPageProxy::receivedPolicyDecision):
(WebKit::WebPageProxy::estimatedProgress):
(WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
(WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::pageLoadState):

  • UIProcess/cf/WebPageProxyCF.cpp:

(WebKit::WebPageProxy::sessionStateData):
(WebKit::WebPageProxy::restoreFromSessionStateData):

12:52 PM Changeset in webkit [159448] by fpizlo@apple.com
  • 6 edits in trunk/Source

Allow the FTL debug dumps to include the new size field
https://bugs.webkit.org/show_bug.cgi?id=124479

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

  • ftl/FTLStackMaps.cpp:

(JSC::FTL::StackMaps::Location::parse):
(JSC::FTL::StackMaps::Location::dump):

  • ftl/FTLStackMaps.h:

Source/WTF:

  • wtf/PrintStream.cpp:

(WTF::printInternal):

  • wtf/PrintStream.h:
12:42 PM Changeset in webkit [159447] by commit-queue@webkit.org
  • 11 edits in trunk/Source/WebCore

Change mediasource and mediastream modules to use nullptr
https://bugs.webkit.org/show_bug.cgi?id=124530

Patch by Nick Diego Yamane <nick.yamane@openbossa.org> on 2013-11-18
Reviewed by Tim Horton.

No new tests needed, no behavior change.

  • Modules/mediasource/MediaSource.cpp:
  • Modules/mediasource/SourceBuffer.cpp:
  • Modules/mediastream/MediaStream.cpp:
  • Modules/mediastream/RTCDTMFSender.cpp:
  • Modules/mediastream/RTCDataChannel.cpp:
  • Modules/mediastream/RTCIceCandidate.cpp:
  • Modules/mediastream/RTCPeerConnection.cpp:
  • Modules/mediastream/RTCSessionDescription.cpp:
  • Modules/mediastream/RTCStatsResponse.cpp:
  • Modules/mediastream/UserMediaRequest.cpp:
12:32 PM Changeset in webkit [159446] by Michał Pakuła vel Rutka
  • 2 edits in trunk/Source/WebKit2

Unreviewed EFL build fix after r159444

  • CMakeLists.txt: Added PageLoadState.cpp.
12:01 PM Changeset in webkit [159445] by beidson@apple.com
  • 13 edits in trunk/Source/WebCore

Move execution of IDBCursorBackendOperations to the IDBServerConnection
https://bugs.webkit.org/show_bug.cgi?id=124463

Reviewed by Tim Horton.

This almost entirely removes knowledge of the backing store from the front end.

The primary change here is to give cursors a unique ID.

This way the IDBCursorBackend can reference itself by ID, while the
IDBServerConnection can handle mapping that ID to a backing store.

  • Modules/indexeddb/IDBBackingStoreCursorInterface.h:
  • Modules/indexeddb/IDBBackingStoreInterface.h:
  • Modules/indexeddb/IDBCursorBackend.cpp:

(WebCore::IDBCursorBackend::IDBCursorBackend):
(WebCore::IDBCursorBackend::deleteFunction):
(WebCore::IDBCursorBackend::prefetchReset):
(WebCore::IDBCursorBackend::close):
(WebCore::IDBCursorBackend::updateCursorData):
(WebCore::IDBCursorBackend::clearCursorData):

  • Modules/indexeddb/IDBCursorBackend.h:

(WebCore::IDBCursorBackend::create):
(WebCore::IDBCursorBackend::key):
(WebCore::IDBCursorBackend::primaryKey):
(WebCore::IDBCursorBackend::value):
(WebCore::IDBCursorBackend::id):
(WebCore::IDBCursorBackend::transaction):
(WebCore::IDBCursorBackend::setSavedCursorID):

  • Modules/indexeddb/IDBCursorBackendOperations.cpp:

(WebCore::CursorAdvanceOperation::perform):
(WebCore::CursorIterationOperation::perform):
(WebCore::CursorPrefetchIterationOperation::perform):

  • Modules/indexeddb/IDBCursorBackendOperations.h:

(WebCore::CursorIterationOperation::key):
(WebCore::CursorIterationOperation::callbacks):
(WebCore::CursorAdvanceOperation::count):
(WebCore::CursorAdvanceOperation::callbacks):
(WebCore::CursorPrefetchIterationOperation::numberToFetch):
(WebCore::CursorPrefetchIterationOperation::callbacks):

  • Modules/indexeddb/IDBServerConnection.h:
  • Modules/indexeddb/leveldb/IDBBackingStoreCursorLevelDB.h:

(WebCore::IDBBackingStoreCursorLevelDB::IDBBackingStoreCursorLevelDB):

  • Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:

(WebCore::ObjectStoreKeyCursorImpl::create):
(WebCore::ObjectStoreKeyCursorImpl::clone):
(WebCore::ObjectStoreKeyCursorImpl::ObjectStoreKeyCursorImpl):
(WebCore::ObjectStoreCursorImpl::create):
(WebCore::ObjectStoreCursorImpl::clone):
(WebCore::ObjectStoreCursorImpl::ObjectStoreCursorImpl):
(WebCore::IDBBackingStoreLevelDB::openObjectStoreCursor):
(WebCore::IDBBackingStoreLevelDB::openObjectStoreKeyCursor):
(WebCore::IDBBackingStoreLevelDB::openIndexKeyCursor):
(WebCore::IDBBackingStoreLevelDB::openIndexCursor):

  • Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
  • Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:

(WebCore::IDBServerConnectionLevelDB::IDBServerConnectionLevelDB):
(WebCore::IDBServerConnectionLevelDB::setIndexKeys):
(WebCore::IDBServerConnectionLevelDB::createObjectStore):
(WebCore::IDBServerConnectionLevelDB::createIndex):
(WebCore::IDBServerConnectionLevelDB::deleteIndex):
(WebCore::IDBServerConnectionLevelDB::get):
(WebCore::IDBServerConnectionLevelDB::put):
(WebCore::IDBServerConnectionLevelDB::openCursor):
(WebCore::IDBServerConnectionLevelDB::count):
(WebCore::IDBServerConnectionLevelDB::deleteRange):
(WebCore::IDBServerConnectionLevelDB::clearObjectStore):
(WebCore::IDBServerConnectionLevelDB::deleteObjectStore):
(WebCore::IDBServerConnectionLevelDB::changeDatabaseVersion):
(WebCore::IDBServerConnectionLevelDB::cursorAdvance):
(WebCore::IDBServerConnectionLevelDB::cursorIterate):
(WebCore::IDBServerConnectionLevelDB::cursorPrefetchIteration):
(WebCore::IDBServerConnectionLevelDB::cursorPrefetchReset):

  • Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
12:00 PM Changeset in webkit [159444] by andersca@apple.com
  • 4 edits
    2 adds in trunk/Source/WebKit2

Add PageLoadState class
https://bugs.webkit.org/show_bug.cgi?id=124528

Reviewed by Dan Bernstein.

Trying to use the main frame load state as the page load state was a bad idea,
add a new PageLoadState and use it instead. Ultimately the long term plan is to
transition away from FrameLoadState entirely.

  • UIProcess/PageLoadState.cpp: Added.

(WebKit::PageLoadState::PageLoadState):
(WebKit::PageLoadState::~PageLoadState):
(WebKit::PageLoadState::didStartProvisionalLoad):

  • UIProcess/PageLoadState.h: Added.
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didStartProvisionalLoadForFrame):

  • UIProcess/WebPageProxy.h:
  • WebKit2.xcodeproj/project.pbxproj:
11:59 AM Changeset in webkit [159443] by jer.noble@apple.com
  • 4 edits in trunk/Source

[WTF] Media time should not have a constructor which accepts a single int or float.
https://bugs.webkit.org/show_bug.cgi?id=124470

Source/WebCore:

Reviewed by Eric Carlson.

Fix the compile error exposed by removing the default parameter in the MediaTime constructor.

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::setTimestampOffset):

Source/WTF:

Having a constructor taking a single number value, as it's very easy to accidentially mis-
initialize a MediaTime with a double (automatically casted to a int64_t).

Reviewed by Eric Carlson.

  • wtf/MediaTime.h:
11:53 AM Changeset in webkit [159442] by commit-queue@webkit.org
  • 10 edits in trunk/Source/WebCore

Change webaudio to use nullptr for null pointers
https://bugs.webkit.org/show_bug.cgi?id=124526

Patch by Nick Diego Yamane <nick.yamane@openbossa.org> on 2013-11-18
Reviewed by Anders Carlsson.

No new tests needed, no behavior change.

  • Modules/webaudio/AudioBuffer.cpp:
  • Modules/webaudio/AudioContext.cpp:
  • Modules/webaudio/AudioNode.cpp:
  • Modules/webaudio/ChannelMergerNode.cpp:
  • Modules/webaudio/ChannelSplitterNode.cpp:
  • Modules/webaudio/MediaStreamAudioSource.cpp:
  • Modules/webaudio/OfflineAudioContext.cpp:
  • Modules/webaudio/PeriodicWave.cpp:
  • Modules/webaudio/ScriptProcessorNode.cpp:
11:44 AM Changeset in webkit [159441] by dfarler@apple.com
  • 2 edits in trunk/Source/WebKit2

[ASAN] WebKit2: Remove calls to dead DownloadAuthenticationClient code
https://bugs.webkit.org/show_bug.cgi?id=124367

Reviewed by Alexey Proskuryakov.

  • Shared/Downloads/DownloadAuthenticationClient.cpp:

(WebKit::DownloadAuthenticationClient::receivedCredential):
(WebKit::DownloadAuthenticationClient::receivedRequestToContinueWithoutCredential):
(WebKit::DownloadAuthenticationClient::receivedCancellation):
Remove calls to nowhere:
WebKit::Download::cancelAuthenticationChallenge(WebCore::AuthenticationChallenge const&)
WebKit::Download::continueWithoutCredential(WebCore::AuthenticationChallenge const&)
WebKit::Download::useCredential(WebCore::AuthenticationChallenge const&, WebCore::Credential const&)

11:34 AM Changeset in webkit [159440] by timothy_horton@apple.com
  • 2 edits
    1 delete in trunk/Tools

Checkmarks are shifted down on iPhone at build.webkit.org/dashboard
https://bugs.webkit.org/show_bug.cgi?id=122909

Reviewed by Alexey Proskuryakov.

Put the checkmark SVG in the CSS file as a data URI so it loads immediately.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/StatusLineView.css:

(.status-line .bubble):
(.status-line.good .bubble.pictogram):

11:10 AM Changeset in webkit [159439] by andersca@apple.com
  • 7 edits in trunk/Source/WebKit2

Use a strong enum for frame load states
https://bugs.webkit.org/show_bug.cgi?id=124524

Reviewed by Dan Bernstein.

  • UIProcess/API/C/WKFrame.cpp:

(WKFrameGetFrameLoadState):

  • UIProcess/FrameLoadState.cpp:

(WebKit::FrameLoadState::FrameLoadState):
(WebKit::FrameLoadState::didStartProvisionalLoad):
(WebKit::FrameLoadState::didReceiveServerRedirectForProvisionalLoad):
(WebKit::FrameLoadState::didFailProvisionalLoad):
(WebKit::FrameLoadState::didCommitLoad):
(WebKit::FrameLoadState::didFinishLoad):
(WebKit::FrameLoadState::didFailLoad):

  • UIProcess/FrameLoadState.h:
  • UIProcess/WebFrameProxy.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::activeURL):
(WebKit::WebPageProxy::resetStateAfterProcessExited):

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::loadStateAtProcessExit):

11:00 AM Changeset in webkit [159438] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WTF

URTBF after r159432 to make WinCairo build happy.

  • wtf/text/WTFString.h:
10:54 AM Changeset in webkit [159437] by andersca@apple.com
  • 9 edits in trunk/Source

Remove unnecessary COMPILER(CLANG) #ifdefs in Mac-only code
https://bugs.webkit.org/show_bug.cgi?id=124523

Reviewed by Dan Bernstein.

Source/WebKit/mac:

  • Plugins/Hosted/NetscapePluginHostManager.mm:

(WebKit::NetscapePluginHostManager::spawnPluginHost):
(WebKit::NetscapePluginHostManager::didCreateWindow):

  • Plugins/Hosted/NetscapePluginHostProxy.mm:

(WebKit::NetscapePluginHostProxy::makeCurrentProcessFrontProcess):
(WebKit::NetscapePluginHostProxy::makePluginHostProcessFrontProcess):
(WebKit::NetscapePluginHostProxy::isPluginHostProcessFrontProcess):

Source/WebKit2:

  • PluginProcess/mac/PluginProcessMac.mm:

(WebKit::beginModal):

  • PluginProcess/mac/PluginProcessShim.mm:
  • Shared/Plugins/Netscape/NetscapePluginModule.cpp:

(WebKit::NetscapePluginModule::tryLoad):

  • Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
  • UIProcess/Plugins/mac/PluginProcessProxyMac.mm:

(WebKit::PluginProcessProxy::getPluginProcessSerialNumber):
(WebKit::PluginProcessProxy::makePluginProcessTheFrontProcess):
(WebKit::PluginProcessProxy::makeUIProcessTheFrontProcess):
(WebKit::PluginProcessProxy::exitFullscreen):

10:46 AM Changeset in webkit [159436] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/win

[Win] Optimization, no need to erase background before paint.
https://bugs.webkit.org/show_bug.cgi?id=124453

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-11-18
Reviewed by Brent Fulgham.

As the paint will blit a bitmap onto the invalid area (no alpha),
there is no need to erase the background first, as this will be overwritten by the blit.

  • WebView.cpp:

(WebView::WebViewWndProc): Avoid erasing background before paint.

10:45 AM Changeset in webkit [159435] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[Curl] Basic authentication is not reused.
https://bugs.webkit.org/show_bug.cgi?id=124452

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-11-18
Reviewed by Brent Fulgham.

After a successful basic authentication, the credentials are not reused for later requests.
In the CFNetwork port, this is solved by trying basic authentication first, if credentials exists.
Also, when a 401 response is received, the first thing the CFNetwork port does, is to use
m_user/m_pass as credentials in the following request if they are set.
This can be done the same way for the Curl version.

  • platform/network/curl/ResourceHandleCurl.cpp:

(WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Try using m_user/m_pass as credentials first, if they are set.

  • platform/network/curl/ResourceHandleManager.cpp:

(WebCore::ResourceHandleManager::applyAuthenticationToRequest): Try basic authentication first, if credentials exists.

10:42 AM Changeset in webkit [159434] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Ignore deprecation warnings for now.

  • History/WebHistory.h:
10:35 AM Changeset in webkit [159433] by Michał Pakuła vel Rutka
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening

  • platform/efl/TestExpectations: Add failure expectations for CSS filters layout tests.
10:35 AM Changeset in webkit [159432] by commit-queue@webkit.org
  • 4 edits
    4 adds in trunk/Source/WebCore

[curl] Add file cache
https://bugs.webkit.org/show_bug.cgi?id=123333

Patch by Mátyás Mustoha <mmatyas@inf.u-szeged.hu> on 2013-11-18
Reviewed by Brent Fulgham.

Implementation of on disc file cache
for the curl network backend.

  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • platform/network/curl/CurlCacheEntry.cpp: Added.

(WebCore::CurlCacheEntry::CurlCacheEntry):
(WebCore::CurlCacheEntry::~CurlCacheEntry):
(WebCore::CurlCacheEntry::isCached):
(WebCore::CurlCacheEntry::requestHeaders):
(WebCore::CurlCacheEntry::saveCachedData):
(WebCore::CurlCacheEntry::loadCachedData):
(WebCore::CurlCacheEntry::saveResponseHeaders):
(WebCore::CurlCacheEntry::loadResponseHeaders):
(WebCore::CurlCacheEntry::setResponseFromCachedHeaders):
(WebCore::CurlCacheEntry::didFail):
(WebCore::CurlCacheEntry::didFinishLoading):
(WebCore::CurlCacheEntry::generateBaseFilename):
(WebCore::CurlCacheEntry::loadFileToBuffer):
(WebCore::CurlCacheEntry::invalidate):
(WebCore::CurlCacheEntry::parseResponseHeaders):

  • platform/network/curl/CurlCacheEntry.h: Added.

(WebCore::CurlCacheEntry::isInMemory):

  • platform/network/curl/CurlCacheManager.cpp: Added.

(WebCore::CurlCacheManager::getInstance):
(WebCore::CurlCacheManager::CurlCacheManager):
(WebCore::CurlCacheManager::~CurlCacheManager):
(WebCore::CurlCacheManager::setCacheDirectory):
(WebCore::CurlCacheManager::loadIndex):
(WebCore::CurlCacheManager::saveIndex):
(WebCore::CurlCacheManager::didReceiveResponse):
(WebCore::CurlCacheManager::didFinishLoading):
(WebCore::CurlCacheManager::isCached):
(WebCore::CurlCacheManager::requestHeaders):
(WebCore::CurlCacheManager::didReceiveData):
(WebCore::CurlCacheManager::saveResponseHeaders):
(WebCore::CurlCacheManager::invalidateCacheEntry):
(WebCore::CurlCacheManager::didFail):
(WebCore::CurlCacheManager::loadCachedData):

  • platform/network/curl/CurlCacheManager.h: Added.

(WebCore::CurlCacheManager::getCacheDirectory):

  • platform/network/curl/ResourceHandleManager.cpp:

(WebCore::writeCallback):
(WebCore::headerCallback):
(WebCore::ResourceHandleManager::downloadTimerCallback):
(WebCore::ResourceHandleManager::initializeHandle):

10:30 AM Changeset in webkit [159431] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

[Win] Link fails when DFG JIT is enabled.
https://bugs.webkit.org/show_bug.cgi?id=123614

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-11-18
Reviewed by Brent Fulgham.

10:25 AM Changeset in webkit [159430] by commit-queue@webkit.org
  • 4 edits in trunk/Source

[Win] WebKit version in user agent string is incorrect.
https://bugs.webkit.org/show_bug.cgi?id=124454

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-11-18
Reviewed by Brent Fulgham.

Source/WebCore:

  • DerivedSources.make: Generate WebKitVersion.h

Source/WebKit/win:

  • WebView.cpp:

(webKitVersionString): Create WebKit version string from WebKitVersion.h.

10:22 AM Changeset in webkit [159429] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[sh4] Add missing implementation in MacroAssembler to fix build (broken since r159395).
https://bugs.webkit.org/show_bug.cgi?id=124484

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-11-18
Reviewed by Michael Saboff.

  • assembler/MacroAssemblerSH4.h:

(JSC::MacroAssemblerSH4::load8):
(JSC::MacroAssemblerSH4::branch8):

10:19 AM Changeset in webkit [159428] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

ARM64 CRASH: Improper offset in getHostCallReturnValue() to access callerFrame in CallFrame
https://bugs.webkit.org/show_bug.cgi?id=124481

Reviewed by Mark Lam.

Fixed the offset to access CallerFrame in the ARM64 version of getHostCallReturnValue() to be 0
to correspond with the change in CallFrame layout done in r158315.

  • jit/JITOperations.cpp:
9:56 AM Changeset in webkit [159427] by msaboff@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Crash in virtualForThunkGenerator generated code on ARM64
https://bugs.webkit.org/show_bug.cgi?id=124447

Reviewed by Geoffrey Garen.

The baseline JIT generates slow path call code with the caller in regT0. The DFG
generates call code with the caller in nonArgGPR0. The virtualForThunkGenerator
generates code with the caller in nonArgGPR0. For X86 and X86_64, regT0 and nonArgGPR0
are the same CPU register, eax. For other platforms this isn't the case. The same
issue exists for JSVALUE32_64 ports as well, where there also is an issue with the callee
tag registers being regT1 and nonArgGPR1 in the various locations.

Changed nonArgGPR0, nonArgGPR1 and nonArgGPR2 for X86 and X86_64 to not match up with
regT0-2. Changing these registers will cause a crash on all ports should we have a
similar problem in the future. Changed the DFG call generating code to use regT0 and
regT1. Now all slow path call code is generated using regT0 and for JSVALUE32_64 regT1.
Added r12 to X86_64 as a new temp register (regT9) and moved r13 down to regT10.
The new temp register decreases the likelihood of inadvertant register overlap.

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::emitCall):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::emitCall):

  • jit/GPRInfo.h:

(JSC::GPRInfo::toRegister):
(JSC::GPRInfo::toIndex):

  • jit/ThunkGenerators.cpp:

(JSC::virtualForThunkGenerator):

9:06 AM Changeset in webkit [159426] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.3.2

Tagging the WebKitGTK+ 2.3.2 release

8:58 AM Changeset in webkit [159425] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Add missing load8/branch8 with AbsoluteAddress parameter to MIPS port.

[MIPS] Build fails since r159395.
https://bugs.webkit.org/show_bug.cgi?id=124491

Patch by Balazs Kilvady <kilvadyb@homejinni.com> on 2013-11-18
Reviewed by Michael Saboff.

  • assembler/MacroAssemblerMIPS.h:

(JSC::MacroAssemblerMIPS::load8):
(JSC::MacroAssemblerMIPS::branch8):

8:54 AM Changeset in webkit [159424] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

  • platform/gtk/TestExpectations: Adding failure expectations for the current set

of untriaged failures on the 64-bit WK2 builder.

8:35 AM Changeset in webkit [159423] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION(r159351): It made zillion tests assert on !CF platforms
https://bugs.webkit.org/show_bug.cgi?id=124490

Reviewed by Mark Hahnenberg.

  • heap/MarkedSpace.cpp:

(JSC::MarkedSpace::sweep):

8:01 AM Changeset in webkit [159422] by commit-queue@webkit.org
  • 4 edits in trunk/Source/JavaScriptCore

Remove architecture specific code in LowLevelInterpreter.
https://bugs.webkit.org/show_bug.cgi?id=124501

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-11-18
Reviewed by Michael Saboff.

  • llint/LowLevelInterpreter.asm: Use generic path instead of sh4 specific code.
  • llint/LowLevelInterpreter32_64.asm: Merge sh4/mips path with arm path. The

"move t0, a0" is not needed for arm because t0 == a0 with this architecture.

  • offlineasm/sh4.rb: Handle move opcode with pr register.
7:28 AM Changeset in webkit [159421] by rniwa@webkit.org
  • 3 edits in trunk/PerformanceTests

[Performance tests] Interactive/SelectAll.html throws an exception
https://bugs.webkit.org/show_bug.cgi?id=124495

Reviewed by Antti Koivisto

Return a boolean indicating whether more values are needed or not in
PerfTestRunner.measureValueAsync so that runTest can terminate gracefully.

  • Interactive/SelectAll.html:

(runTest): Don't schedule a timer for runTest if we've got enough values.

  • resources/runner.js:

(PerfTestRunner.measureValueAsync): Returns true iff more values are needed.

6:52 AM Changeset in webkit [159420] by Carlos Garcia Campos
  • 4 edits in trunk

Unreviewed. Update NEWS and Versions.m4 for 2.3.2 release.

.:

  • Source/autotools/Versions.m4: Bump version numbers.

Source/WebKit/gtk:

  • NEWS: Added release notes for 2.3.2.
6:49 AM Changeset in webkit [159419] by Carlos Garcia Campos
  • 5 edits in trunk/Source

Unreviewed. Fix make distcheck.

Source/WebCore:

  • GNUmakefile.am: Add inspector json files to EXTRA_DIST and

remove maketokenizer from EXTRA_DIST.

  • GNUmakefile.list.am: Add missing header files.

Source/WTF:

  • GNUmakefile.list.am: Add missing header file.
6:42 AM Changeset in webkit [159418] by rniwa@webkit.org
  • 3 edits in trunk/Tools

Remove _lines_to_ignore_in_stderr, which was only used in Chromium port
https://bugs.webkit.org/show_bug.cgi?id=124499

Reviewed by Csaba Osztrogonác.

Removed the code. I didn't like this hack back when it was added, and I don't like it today.

  • Scripts/webkitpy/performance_tests/perftest.py:

(PerfTest._should_ignore_line):

  • Scripts/webkitpy/performance_tests/perftest_unittest.py:

(TestPerfTest): Removed the unit test.

4:45 AM WebKitGTK/Debugging edited by Manuel Rego Casasnovas
Fix error, you cannot pass --debug to GtkLauncher (diff)
4:23 AM Changeset in webkit [159417] by gyuyoung.kim@samsung.com
  • 12 edits in trunk/Source/WebCore

Generate toHTMLDataList|Html|EmbedElement
https://bugs.webkit.org/show_bug.cgi?id=124482

Reviewed by Tim Horton.

To clean up static_cast<HTMLFoo*>, toHTMLEmbedElement, toHTMLHtmlElement, toHTMLDataListElement
are generated.

No new tests, no behavior changes.

  • html/HTMLDataListElement.h:
  • html/HTMLEmbedElement.h:
  • html/HTMLHtmlElement.h:
  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::dataList):

  • html/HTMLOptionElement.cpp:

(WebCore::HTMLOptionElement::ownerDataListElement):

  • html/HTMLTagNames.in:
  • html/ImageDocument.cpp:

(WebCore::ImageDocument::createDocumentStructure):

  • html/MediaDocument.cpp:

(WebCore::MediaDocumentParser::createDocumentStructure):
(WebCore::MediaDocument::replaceMediaElementTimerFired):

  • html/PluginDocument.cpp:

(WebCore::PluginDocumentParser::createDocumentStructure):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::paintSliderTicks):

  • xml/parser/XMLDocumentParserLibxml2.cpp:

(WebCore::XMLDocumentParser::startElementNs):

3:48 AM Changeset in webkit [159416] by gyuyoung.kim@samsung.com
  • 18 edits in trunk/Source/WebCore

Clean up static_cast<HTMLFoo*> usage
https://bugs.webkit.org/show_bug.cgi?id=124480

Reviewed by Tim Horton.

Though there are toHTMLFoo(), some places are still using static_cast<>.
Additionally, toHTMLBodyElement() is supported from now.

No new tests, no behavior changes.

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::isRequired):

  • accessibility/AccessibilityTable.cpp:

(WebCore::AccessibilityTable::isDataTable):

  • bindings/js/JSHTMLFrameSetElementCustom.cpp:

(WebCore::JSHTMLFrameSetElement::nameGetter):

  • bindings/js/JSPluginElementFunctions.cpp:

(WebCore::pluginInstance):

  • dom/Document.cpp:

(WebCore::Document::openSearchDescriptionURL):
(WebCore::Document::iconURLs):

  • dom/DocumentStyleSheetCollection.cpp:

(WebCore::DocumentStyleSheetCollection::collectActiveStyleSheets):

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::ReplaceSelectionCommand::makeInsertedContentRoundTrippableWithHTMLTreeBuilder):

  • editing/ios/EditorIOS.mm:

(WebCore::Editor::setTextAlignmentForChangedBaseWritingDirection):

  • html/HTMLBodyElement.h:
  • html/HTMLDocument.cpp:

(WebCore::HTMLDocument::bgColor):
(WebCore::HTMLDocument::setBgColor):
(WebCore::HTMLDocument::fgColor):
(WebCore::HTMLDocument::setFgColor):
(WebCore::HTMLDocument::alinkColor):
(WebCore::HTMLDocument::setAlinkColor):
(WebCore::HTMLDocument::linkColor):
(WebCore::HTMLDocument::setLinkColor):
(WebCore::HTMLDocument::vlinkColor):
(WebCore::HTMLDocument::setVlinkColor):

  • html/HTMLEmbedElement.cpp:

(WebCore::HTMLEmbedElement::rendererIsNeeded):

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::updateAncestorDisabledState):
(WebCore::HTMLFormControlElement::enclosingFormControlElement):

  • html/HTMLFormElement.cpp:

(WebCore::submitElementFromEvent):

  • html/HTMLImageLoader.cpp:

(WebCore::HTMLImageLoader::notifyFinished):

  • html/HTMLLegendElement.cpp:

(WebCore::HTMLLegendElement::virtualForm):

  • html/RadioNodeList.cpp:

(WebCore::RadioNodeList::checkElementMatchesRadioNodeListFilter):

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::buildObjectForNode):

3:37 AM Changeset in webkit [159415] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[arm] Add missing implementation in MacroAssembler to fix build (broken since r159395).
https://bugs.webkit.org/show_bug.cgi?id=124488

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-11-18
Reviewed by Zoltan Herczeg.

  • assembler/MacroAssemblerARM.h:

(JSC::MacroAssemblerARM::branch8):

3:31 AM Changeset in webkit [159414] by ryuan.choi@samsung.com
  • 5 edits
    4 adds in trunk/Source

[EFL] Add EWebKitConfig.cmake and EWebKit2Config.cmake
https://bugs.webkit.org/show_bug.cgi?id=124478

Reviewed by Gyuyoung Kim.

EWebKit is built using CMake but applications use *.pc to use it.
This patch provides EWebKitConfig.cmake and EWebKit2Config.cmake
for applications which use EWebkit and is compiled by CMake.

Source/WebKit:

  • PlatformEfl.cmake:

Configure and install EWebKitConfig.cmake and EWebKitConfigVersion.cmake

Source/WebKit/efl:

  • EWebKitConfig.cmake.in: Added.
  • EWebKitConfigVersion.cmake.in: Added.

Source/WebKit2:

  • PlatformEfl.cmake:

Configure and install EWebKit2Config.cmake and EWebKit2ConfigVersion.cmake

  • efl/EWebKit2Config.cmake.in: Added.
  • efl/EWebKit2ConfigVersion.cmake.in: Added.
3:22 AM Changeset in webkit [159413] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

Unreviewed. Update GObject DOM symbols file after r158760.

  • bindings/gobject/webkitdom.symbols: Add

webkit_dom_text_track_get_id prototype.

3:19 AM Changeset in webkit [159412] by zandobersek@gmail.com
  • 4 edits in trunk/LayoutTests

Unreviewed GTK gardening.
Cleaning up expectations for unexpectedly passing tests, either removing or updating them
to reflect the current status of the test.

  • platform/gtk-wk1/TestExpectations:
  • platform/gtk-wk2/TestExpectations:
  • platform/gtk/TestExpectations:
3:05 AM Changeset in webkit [159411] by Carlos Garcia Campos
  • 4 edits in trunk/Source/WebCore

REGRESSION(r158821): [GTK] API break due to removed properties in GObject DOM bindings
https://bugs.webkit.org/show_bug.cgi?id=124489

Reviewed by Philippe Normand.

In r158821, several properties were changed from readonly to
CustomSetter. The GObject DOM bindings currently skips any
attribute having a custom getter or setter, and those properties
are not generated anymore. We should add support for generating
attributes having a custom getter or setter in GObject DOM
bindings generator, but to fix the ABI break now we bring the old
implementatiom back as custom implementation. This fixes the ABI
compatibility, but not the API since the GObject properties are
not generated.

  • bindings/gobject/WebKitDOMCustom.cpp:

(webkit_dom_audio_track_get_kind):
(webkit_dom_audio_track_get_language):
(webkit_dom_text_track_get_kind):
(webkit_dom_text_track_get_language):
(webkit_dom_video_track_get_kind):
(webkit_dom_video_track_get_language):

  • bindings/gobject/WebKitDOMCustom.h:
  • bindings/gobject/WebKitDOMCustom.symbols:
2:22 AM Changeset in webkit [159410] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

Unreviewed. Update GObject DOM symbols file after r158662.

  • bindings/gobject/webkitdom.symbols: Add missing prototypes.
2:19 AM Changeset in webkit [159409] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

  • platform/gtk/TestExpectations: Addressing the current set of timing-out tests. Timeout expectations

are added where appropriate, with one js/regress/ test speculatively marked as slow.

2:01 AM Changeset in webkit [159408] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

Unreviewed. Update GObject DOM symbols file after r159208 and r159363.

  • bindings/gobject/webkitdom.symbols: Add

webkit_dom_html_media_element_fast_seek prototype.

1:52 AM Changeset in webkit [159407] by zandobersek@gmail.com
  • 9 edits
    2 adds in trunk/LayoutTests

Unreviewed GTK gardening.

Update the global constructors' attibutes baseline for the WK2 flavor of the GTK port.
Update baselines for tests under media/.

  • platform/gtk-wk2/js/dom/global-constructors-attributes-expected.txt:
  • platform/gtk/media/W3C/video/canPlayType/canPlayType_codecs_order_1-expected.txt:
  • platform/gtk/media/W3C/video/canPlayType/canPlayType_supported_but_no_codecs_parameter_1-expected.txt:
  • platform/gtk/media/W3C/video/canPlayType/canPlayType_two_implies_one_1-expected.txt:
  • platform/gtk/media/W3C/video/canPlayType/canPlayType_two_implies_one_2-expected.txt:
  • platform/gtk/media/media-can-play-ogg-expected.txt:
  • platform/gtk/media/video-controls-captions-trackmenu-localized-expected.txt:
  • platform/gtk/media/video-controls-captions-trackmenu-only-captions-descriptions-and-subtitles-expected.txt: Added.
  • platform/gtk/media/video-controls-captions-trackmenu-sorted-expected.txt:
  • platform/gtk/media/volume-bar-empty-when-muted-expected.txt: Added.
1:51 AM Changeset in webkit [159406] by Carlos Garcia Campos
  • 5 edits in trunk/Source/WebCore

REGRESSION(r159363): [GTK] API break in webkit_dom_html_media_element_set_current_time
https://bugs.webkit.org/show_bug.cgi?id=124485

Reviewed by Philippe Normand.

In r159363 currentTime attribute was changed to not raise
exceptions. This breaks the API of GObject DOM bindings because we
use a GError parameter for exceptions that has been removed.

  • bindings/gobject/WebKitDOMCustom.cpp:

(webkit_dom_html_media_element_set_current_time): Custom
implementation that receives a GError for backwards
compatibility.

  • bindings/gobject/WebKitDOMCustom.h:
  • bindings/gobject/WebKitDOMCustom.symbols: Add

webkit_dom_html_media_element_set_current_time prototype.

  • bindings/scripts/CodeGeneratorGObject.pm:

(SkipFunction): Skip
webkit_dom_html_media_element_set_current_time since we are adding
a custom implementation.

1:20 AM Changeset in webkit [159405] by zandobersek@gmail.com
  • 6 edits
    9 adds in trunk/LayoutTests

Unreviewed GTK gardening. Updating GTK-specific baselines for tests under editing/, scrollingcoordinator/ and tables/.

  • platform/gtk/editing/deleting/smart-delete-003-expected.txt:
  • platform/gtk/editing/deleting/smart-delete-004-expected.txt:
  • platform/gtk/editing/spelling/centering-misspelling-dots-expected.png: Added.
  • platform/gtk/editing/spelling/centering-misspelling-dots-expected.txt: Added.
  • platform/gtk/editing/spelling/misspelling-dots-dont-extend-beyond-words-expected.png: Added.
  • platform/gtk/editing/spelling/misspelling-dots-dont-extend-beyond-words-expected.txt: Added.
  • platform/gtk/editing/unsupported-content/table-delete-001-expected.txt:
  • platform/gtk/editing/unsupported-content/table-delete-003-expected.txt:
  • platform/gtk/scrollingcoordinator: Added.
  • platform/gtk/scrollingcoordinator/non-fast-scrollable-region-scaled-iframe-expected.png: Added.
  • platform/gtk/scrollingcoordinator/non-fast-scrollable-region-scaled-iframe-expected.txt: Added.
  • platform/gtk/scrollingcoordinator/non-fast-scrollable-region-transformed-iframe-expected.png: Added.
  • platform/gtk/scrollingcoordinator/non-fast-scrollable-region-transformed-iframe-expected.txt: Added.
  • platform/gtk/tables/mozilla_expected_failures/bugs/bug91057-expected.txt:
12:51 AM Changeset in webkit [159404] by zandobersek@gmail.com
  • 19 edits
    3 adds in trunk/LayoutTests

Unreviewed GTK gardening. Rebaselining various tests under fast/.

  • platform/gtk/fast/backgrounds/size/contain-and-cover-zoomed-expected.png:
  • platform/gtk/fast/backgrounds/size/contain-and-cover-zoomed-expected.txt: Added.
  • platform/gtk/fast/block/float/016-expected.png:
  • platform/gtk/fast/block/float/016-expected.txt:
  • platform/gtk/fast/block/lineboxcontain/block-with-ideographs-expected.png: Added.
  • platform/gtk/fast/block/lineboxcontain/block-with-ideographs-expected.txt:
  • platform/gtk/fast/css/empty-pseudo-class-expected.txt:
  • platform/gtk/fast/css/fieldset-display-row-expected.png:
  • platform/gtk/fast/css/fieldset-display-row-expected.txt:
  • platform/gtk/fast/css/first-child-pseudo-class-expected.txt:
  • platform/gtk/fast/css/last-child-pseudo-class-expected.txt:
  • platform/gtk/fast/css/only-child-pseudo-class-expected.txt:
  • platform/gtk/fast/forms/basic-textareas-expected.png:
  • platform/gtk/fast/forms/basic-textareas-expected.txt:
  • platform/gtk/fast/forms/basic-textareas-quirks-expected.png:
  • platform/gtk/fast/forms/basic-textareas-quirks-expected.txt:
  • platform/gtk/fast/forms/textAreaLineHeight-expected.png:
  • platform/gtk/fast/forms/textAreaLineHeight-expected.txt:
  • platform/gtk/fast/parser/entity-comment-in-textarea-expected.png:
  • platform/gtk/fast/parser/entity-comment-in-textarea-expected.txt:
  • platform/gtk/fast/repaint/increasing-region-content-height-expected.txt: Added.
12:42 AM Changeset in webkit [159403] by ap@apple.com
  • 6 edits
    2 adds in trunk

Support exporting public RSASSA-PKCS1-v1_5 keys
https://bugs.webkit.org/show_bug.cgi?id=124475

Reviewed by Sam Weinig.

Source/WebCore:

Test: crypto/subtle/rsa-export-key.html

  • bindings/js/JSCryptoKeySerializationJWK.h:
  • bindings/js/JSCryptoKeySerializationJWK.cpp:

(WebCore::JSCryptoKeySerializationJWK::buildJSONForRSAComponents):
(WebCore::JSCryptoKeySerializationJWK::addJWKAlgorithmToJSON):
(WebCore::JSCryptoKeySerializationJWK::serialize):
Added said support (this part works with private keys too).

  • crypto/keys/CryptoKeyRSA.h:
  • crypto/mac/CryptoKeyRSAMac.cpp:

(WebCore::CryptoKeyRSA::getPublicKeyComponents): Moved the logic for getting a
public key from private one here for reuse in keySizeInBits().
(WebCore::CryptoKeyRSA::isRestrictedToHash):
(WebCore::CryptoKeyRSA::keySizeInBits):
(WebCore::CryptoKeyRSA::exportData):
Exposed information necessary for JWK serialization.

LayoutTests:

  • crypto/subtle/rsa-export-key-expected.txt: Added.
  • crypto/subtle/rsa-export-key.html: Added.
12:27 AM Changeset in webkit [159402] by zandobersek@gmail.com
  • 20 edits in trunk/LayoutTests

Unreviewed GTK gardening. Rebaselining CSS tests' expectations.

  • platform/gtk/css1/box_properties/margin_right-expected.png:
  • platform/gtk/css1/box_properties/margin_right-expected.txt:
  • platform/gtk/css1/box_properties/padding-expected.png:
  • platform/gtk/css1/box_properties/padding-expected.txt:
  • platform/gtk/css1/box_properties/padding_left-expected.png:
  • platform/gtk/css1/box_properties/padding_left-expected.txt:
  • platform/gtk/css1/box_properties/padding_right-expected.png:
  • platform/gtk/css1/box_properties/padding_right-expected.txt:
  • platform/gtk/css1/box_properties/padding_top-expected.png:
  • platform/gtk/css1/box_properties/padding_top-expected.txt:
  • platform/gtk/css1/formatting_model/vertical_formatting-expected.png:
  • platform/gtk/css1/formatting_model/vertical_formatting-expected.txt:
  • platform/gtk/css2.1/t080301-c411-vt-mrgn-00-b-expected.txt:
  • platform/gtk/css2.1/t0804-c5507-padn-r-00-c-ag-expected.png:
  • platform/gtk/css2.1/t0804-c5507-padn-r-00-c-ag-expected.txt:
  • platform/gtk/css2.1/t0804-c5509-padn-l-00-b-ag-expected.txt:
  • platform/gtk/css2.1/t0804-c5510-padn-00-b-ag-expected.txt:
  • platform/gtk/css2.1/t0905-c414-flt-wrap-00-e-expected.png:
  • platform/gtk/css2.1/t0905-c414-flt-wrap-00-e-expected.txt:
12:25 AM Changeset in webkit [159401] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebKit2

[EFL][WK2] Process single tap using mouse move, down and up event.
https://bugs.webkit.org/show_bug.cgi?id=106864

Patch by Eunmi Lee <eunmi15.lee@samsung.com> on 2013-11-18
Reviewed by Christophe Dumez.

Send mouse events to the web process to perform the clicking when
single tap gesture is recognized.
Additionally, add WKViewSendMouseDownEvent(), WKViewSendMouseUpEvent()
and WKViewSendMouseMoveEvent() to avoid using WK2 internals in the EFL
API implementation.

  • UIProcess/API/C/efl/WKViewEfl.cpp:

(WKViewSendMouseDownEvent):
(WKViewSendMouseUpEvent):
(WKViewSendMouseMoveEvent):

  • UIProcess/API/C/efl/WKViewEfl.h:
  • UIProcess/API/efl/GestureRecognizer.cpp:

(WebKit::GestureHandler::handleSingleTap):

  • UIProcess/efl/WebViewEfl.cpp:

(WebKit::WebViewEfl::sendMouseEvent):

  • UIProcess/efl/WebViewEfl.h:

Nov 17, 2013:

11:51 PM Changeset in webkit [159400] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

[sh4] Fix revertJumpReplacementToBranchPtrWithPatch in MacroAssembler.
https://bugs.webkit.org/show_bug.cgi?id=124468

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-11-17
Reviewed by Michael Saboff.

Current implementation of revertJumpReplacementToBranchPtrWithPatch is wrong in
the sh4 MacroAssembler part, leading to random instabilities. This patch fixes it
and also renames the bad-named revertJumpToMove to revertJumpReplacementToBranchPtrWithPatch
in the SH4Assembler.

  • assembler/MacroAssemblerSH4.h:

(JSC::MacroAssemblerSH4::revertJumpReplacementToBranchPtrWithPatch):

  • assembler/SH4Assembler.h:

(JSC::SH4Assembler::replaceWithJump):
(JSC::SH4Assembler::revertJumpReplacementToBranchPtrWithPatch):

11:37 PM Changeset in webkit [159399] by fpizlo@apple.com
  • 3 edits in trunk/WebKitLibraries

Update binary drops to include atrick's "Ran out of registers" fix in r194942.

  • LLVMIncludesMountainLion.tar.bz2:
  • LLVMLibrariesMountainLion.tar.bz2:
11:06 PM Changeset in webkit [159398] by fpizlo@apple.com
  • 2 edits in trunk/Tools

Unreviewed, fix this script for older Rubies where Pathname doesn't coerce to String
quite as easily.

With help from Andy Trick.

  • Scripts/export-llvm-build:
9:42 PM Changeset in webkit [159397] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening. Add webgl crash tests because webgl is not supported
by EFL WK2 fully yet as well as not fully supported by Intel and AMD hardware.

  • platform/efl-wk2/TestExpectations:
8:18 PM Changeset in webkit [159396] by timothy_horton@apple.com
  • 2 edits in trunk/LayoutTests

Layout Test platform/mac-wk2/plugins/slow/asynchronous-plugin-initialization-multiple.html is extremely flaky on Mac WK2 bots, especially debug
https://bugs.webkit.org/show_bug.cgi?id=124476

  • platform/mac-wk2/TestExpectations:

Mark test as flaky.

6:10 PM Changeset in webkit [159395] by fpizlo@apple.com
  • 18 edits in trunk/Source/JavaScriptCore

Simplify WatchpointSet state tracking
https://bugs.webkit.org/show_bug.cgi?id=124465

Reviewed by Sam Weinig.

We previously represented the state of watchpoint sets using two booleans. But that
makes it awkward to case over the state.

We also previously supported a watchpoint set being both watched and invalidated. We
never used that capability, and its presence was just purely confusing.

This turns the whole thing into an enum.

  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::branch8):

  • assembler/MacroAssemblerARMv7.h:

(JSC::MacroAssemblerARMv7::branch8):

  • assembler/MacroAssemblerX86.h:

(JSC::MacroAssemblerX86::branch8):

  • assembler/MacroAssemblerX86_64.h:

(JSC::MacroAssemblerX86_64::branch8):

  • bytecode/Watchpoint.cpp:

(JSC::WatchpointSet::WatchpointSet):
(JSC::WatchpointSet::add):
(JSC::WatchpointSet::notifyWriteSlow):
(JSC::InlineWatchpointSet::inflateSlow):

  • bytecode/Watchpoint.h:

(JSC::WatchpointSet::state):
(JSC::WatchpointSet::isStillValid):
(JSC::WatchpointSet::startWatching):
(JSC::WatchpointSet::notifyWrite):
(JSC::WatchpointSet::addressOfState):
(JSC::InlineWatchpointSet::InlineWatchpointSet):
(JSC::InlineWatchpointSet::hasBeenInvalidated):
(JSC::InlineWatchpointSet::startWatching):
(JSC::InlineWatchpointSet::notifyWrite):
(JSC::InlineWatchpointSet::decodeState):
(JSC::InlineWatchpointSet::encodeState):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emitVarInjectionCheck):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emitVarInjectionCheck):

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/JSFunction.cpp:

(JSC::JSFunction::JSFunction):

  • runtime/JSFunctionInlines.h:

(JSC::JSFunction::JSFunction):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::JSGlobalObject):

  • runtime/Structure.cpp:

(JSC::Structure::Structure):

  • runtime/SymbolTable.cpp:

(JSC::SymbolTableEntry::attemptToWatch):

  • runtime/SymbolTable.h:
5:46 PM Changeset in webkit [159394] by fpizlo@apple.com
  • 39 edits
    9 adds
    2 deletes in trunk

FTL should have an explicit notion of bytecode liveness
https://bugs.webkit.org/show_bug.cgi?id=124181

Source/JavaScriptCore:

Reviewed by Sam Weinig.

This makes FTL OSR exit use bytecode liveness analysis to determine which variables
to include values for. The decision of how to get the values of variables is based on
forward propagation of MovHints and SetLocals.

This fixes a bunch of bugs (like https://bugs.webkit.org/show_bug.cgi?id=124138 but
also others that I noticed when I started writing more targetted tests) and allows us
to remove some sketchy code.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/BytecodeBasicBlock.h:
  • bytecode/BytecodeLivenessAnalysis.cpp:

(JSC::isValidRegisterForLiveness):
(JSC::setForOperand):
(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
(JSC::stepOverInstruction):
(JSC::computeLocalLivenessForBytecodeOffset):
(JSC::BytecodeLivenessAnalysis::runLivenessFixpoint):
(JSC::BytecodeLivenessAnalysis::operandIsLiveAtBytecodeOffset):
(JSC::getLivenessInfo):
(JSC::BytecodeLivenessAnalysis::getLivenessInfoAtBytecodeOffset):
(JSC::BytecodeLivenessAnalysis::computeFullLiveness):

  • bytecode/BytecodeLivenessAnalysis.h:
  • bytecode/BytecodeLivenessAnalysisInlines.h: Added.

(JSC::operandIsAlwaysLive):
(JSC::operandThatIsNotAlwaysLiveIsLive):
(JSC::operandIsLive):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::captureCount):
(JSC::CodeBlock::captureStart):
(JSC::CodeBlock::captureEnd):

  • bytecode/CodeOrigin.cpp:

(JSC::InlineCallFrame::dumpInContext):

  • bytecode/FullBytecodeLiveness.h: Added.

(JSC::FullBytecodeLiveness::FullBytecodeLiveness):
(JSC::FullBytecodeLiveness::getOut):
(JSC::FullBytecodeLiveness::operandIsLive):
(JSC::FullBytecodeLiveness::getLiveness):

  • dfg/DFGAvailability.cpp: Added.

(JSC::DFG::Availability::dump):
(JSC::DFG::Availability::dumpInContext):

  • dfg/DFGAvailability.h: Added.

(JSC::DFG::Availability::Availability):
(JSC::DFG::Availability::unavailable):
(JSC::DFG::Availability::withFlush):
(JSC::DFG::Availability::withNode):
(JSC::DFG::Availability::withUnavailableNode):
(JSC::DFG::Availability::nodeIsUndecided):
(JSC::DFG::Availability::nodeIsUnavailable):
(JSC::DFG::Availability::hasNode):
(JSC::DFG::Availability::node):
(JSC::DFG::Availability::flushedAt):
(JSC::DFG::Availability::operator!):
(JSC::DFG::Availability::operator==):
(JSC::DFG::Availability::merge):
(JSC::DFG::Availability::mergeNodes):
(JSC::DFG::Availability::unavailableMarker):

  • dfg/DFGBasicBlock.h:
  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGDisassembler.cpp:

(JSC::DFG::Disassembler::Disassembler):

  • dfg/DFGFlushFormat.cpp:

(WTF::printInternal):

  • dfg/DFGFlushFormat.h:

(JSC::DFG::resultFor):
(JSC::DFG::useKindFor):
(JSC::DFG::dataFormatFor):

  • dfg/DFGFlushedAt.cpp:

(JSC::DFG::FlushedAt::dump):

  • dfg/DFGFlushedAt.h:

(JSC::DFG::FlushedAt::FlushedAt):
(JSC::DFG::FlushedAt::merge):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):
(JSC::DFG::Graph::livenessFor):
(JSC::DFG::Graph::isLiveInBytecode):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::baselineCodeBlockFor):

  • dfg/DFGOSRAvailabilityAnalysisPhase.cpp:

(JSC::DFG::OSRAvailabilityAnalysisPhase::run):

  • dfg/DFGOSRAvailabilityAnalysisPhase.h:
  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThreadImpl):

  • dfg/DFGResurrectionForValidationPhase.cpp: Added.

(JSC::DFG::ResurrectionForValidationPhase::ResurrectionForValidationPhase):
(JSC::DFG::ResurrectionForValidationPhase::run):
(JSC::DFG::performResurrectionForValidation):

  • dfg/DFGResurrectionForValidationPhase.h: Added.
  • dfg/DFGSSAConversionPhase.cpp:

(JSC::DFG::SSAConversionPhase::run):

  • dfg/DFGValueSource.h:

(JSC::DFG::ValueSource::forFlushFormat):

  • dfg/DFGVariableAccessData.h:
  • ftl/FTLExitValue.cpp:

(JSC::FTL::ExitValue::dumpInContext):

  • ftl/FTLInlineCacheSize.cpp:

(JSC::FTL::sizeOfGetById):

  • ftl/FTLLocation.cpp:

(JSC::FTL::Location::gpr):
(JSC::FTL::Location::fpr):
(JSC::FTL::Location::directGPR):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::LowerDFGToLLVM):
(JSC::FTL::LowerDFGToLLVM::compileBlock):
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileSetLocal):
(JSC::FTL::LowerDFGToLLVM::compileZombieHint):
(JSC::FTL::LowerDFGToLLVM::compilePutById):
(JSC::FTL::LowerDFGToLLVM::compileInvalidationPoint):
(JSC::FTL::LowerDFGToLLVM::initializeOSRExitStateForBlock):
(JSC::FTL::LowerDFGToLLVM::appendOSRExit):
(JSC::FTL::LowerDFGToLLVM::emitOSRExitCall):
(JSC::FTL::LowerDFGToLLVM::buildExitArguments):
(JSC::FTL::LowerDFGToLLVM::addExitArgumentForNode):
(JSC::FTL::LowerDFGToLLVM::observeMovHint):

  • ftl/FTLOutput.h:

(JSC::FTL::Output::alloca):

  • ftl/FTLValueSource.cpp: Removed.
  • ftl/FTLValueSource.h: Removed.
  • llvm/LLVMAPIFunctions.h:
  • runtime/DumpContext.cpp:

(JSC::DumpContext::DumpContext):

  • runtime/DumpContext.h:
  • runtime/Options.h:
  • runtime/SymbolTable.h:

(JSC::SharedSymbolTable::captureStart):
(JSC::SharedSymbolTable::captureEnd):
(JSC::SharedSymbolTable::captureCount):

Tools:

Reviewed by Mark Hahnenberg.

  • Scripts/run-jsc-stress-tests:

LayoutTests:

Reviewed by Mark Hahnenberg or Sam Weinig.

I totally added this test after the rest of the patch was r+'d. Under the right tier-up
modes this triggers one of the bugs that the rest of the patch is trying to avoid.

  • js/regress/script-tests/weird-inlining-const-prop.js: Added.

(foo):
(bar):
(fuzz):
(testImpl):
(test):

  • js/regress/weird-inlining-const-prop-expected.txt: Added.
  • js/regress/weird-inlining-const-prop.html: Added.
5:18 PM Changeset in webkit [159393] by ap@apple.com
  • 4 edits
    2 adds in trunk

RSASSA-PKCS1-v1_5 JWK import doesn't check key size
https://bugs.webkit.org/show_bug.cgi?id=124472

Reviewed by Sam Weinig.

Source/WebCore:

Test: crypto/subtle/rsassa-pkcs1-v1_5-import-jwk-small-key.html

  • bindings/js/JSCryptoKeySerializationJWK.cpp:

(WebCore::JSCryptoKeySerializationJWK::keySizeIsValid): Added the checks.
(WebCore::JSCryptoKeySerializationJWK::keyDataRSAComponents): Check key size when
importing.
(WebCore::JSCryptoKeySerializationJWK::serialize): Updated a comment.

  • crypto/keys/CryptoKeySerializationRaw.cpp: (WebCore::CryptoKeySerializationRaw::serialize):

Updated a comment.

LayoutTests:

  • crypto/subtle/rsassa-pkcs1-v1_5-import-jwk-small-key-expected.txt: Added.
  • crypto/subtle/rsassa-pkcs1-v1_5-import-jwk-small-key.html: Added.
5:17 PM Changeset in webkit [159392] by ap@apple.com
  • 6 edits in trunk

JWK crypto key export result is a DOM string instead of an array buffer
https://bugs.webkit.org/show_bug.cgi?id=124473

Reviewed by Sam Weinig.

Source/WebCore:

  • bindings/js/JSSubtleCryptoCustom.cpp: (WebCore::JSSubtleCrypto::exportKey):

Fix it.

LayoutTests:

  • crypto/subtle/aes-export-key.html:
  • crypto/subtle/hmac-export-key.html:
  • crypto/subtle/resources/common.js: (bytesToASCIIString): Added a function that

converts an ArrayBuffer to a string, assuming it's all ASCII.

5:12 PM Changeset in webkit [159391] by weinig@apple.com
  • 20 edits in trunk/Source/WebCore

LayoutStateMaintainer should use references where possible
https://bugs.webkit.org/show_bug.cgi?id=124471

Reviewed by Dan Bernstein.

  • page/FrameView.cpp:

(WebCore::FrameView::layout):

  • rendering/LayoutState.cpp:

(WebCore::LayoutState::LayoutState):

  • rendering/LayoutState.h:
  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::simplifiedLayout):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlock):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::layout):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutBlock):

  • rendering/RenderEmbeddedObject.cpp:

(WebCore::RenderEmbeddedObject::layout):

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::layoutBlock):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::pushFlowThreadLayoutState):

  • rendering/RenderFlowThread.h:
  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::layoutBlock):

  • rendering/RenderMedia.cpp:

(WebCore::RenderMedia::layout):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::layout):

  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::calcRowLogicalHeight):
(WebCore::RenderTableSection::layout):
(WebCore::RenderTableSection::layoutRows):

  • rendering/RenderTextTrackCue.cpp:

(WebCore::RenderTextTrackCue::layout):

  • rendering/RenderView.cpp:

(WebCore::RenderView::pushLayoutState):
(WebCore::RenderView::pushLayoutStateForCurrentFlowThread):

  • rendering/RenderView.h:

(WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
(WebCore::LayoutStateMaintainer::push):
(WebCore::LayoutStateMaintainer::pop):

1:41 PM Changeset in webkit [159390] by ap@apple.com
  • 32 edits in trunk/Source

Use uint8_t vectors for WebCrypto data
https://bugs.webkit.org/show_bug.cgi?id=124466

Reviewed by Sam Weinig.

Source/WebCore:

Using Vector<char> for crypto key data is somewhat non-idiomatic, and it gets simply
dangerous for bignums, because signed arithmetic is not appropriate for bignum digits.

  • Modules/websockets/WebSocketHandshake.cpp:

(WebCore::generateSecWebSocketKey):
(WebCore::WebSocketHandshake::getExpectedWebSocketAccept):
No longer need to cast data to char* here.

  • bindings/js/JSCryptoKeySerializationJWK.cpp:
  • bindings/js/JSCryptoKeySerializationJWK.h:
  • crypto/CryptoDigest.h:
  • crypto/CryptoKey.h:
  • crypto/keys/CryptoKeyAES.cpp:
  • crypto/keys/CryptoKeyAES.h:
  • crypto/keys/CryptoKeyDataOctetSequence.h:
  • crypto/keys/CryptoKeyDataRSAComponents.cpp:
  • crypto/keys/CryptoKeyDataRSAComponents.h:
  • crypto/keys/CryptoKeyHMAC.cpp:
  • crypto/keys/CryptoKeyHMAC.h:
  • crypto/keys/CryptoKeyRSA.h:
  • crypto/keys/CryptoKeySerializationRaw.cpp:
  • crypto/keys/CryptoKeySerializationRaw.h:
  • crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:
  • crypto/mac/CryptoAlgorithmHMACMac.cpp:
  • crypto/mac/CryptoDigestMac.cpp:
  • crypto/mac/CryptoKeyMac.cpp:
  • crypto/parameters/CryptoAlgorithmRsaKeyGenParams.h:

Switched to Vector<uint8_t>.

  • crypto/mac/CryptoKeyRSAMac.cpp:

(WebCore::getPublicKeyComponents): Extracted from buildAlgorithmDescription() and simplified.
(WebCore::CryptoKeyRSA::create): Switched to Vector<uint8_t>.
(WebCore::CryptoKeyRSA::buildAlgorithmDescription): No longer need to copy data just
to change type from Vector<char> to Vector<unsigned char>.
(WebCore::bigIntegerToUInt32): Ditto. No longer need to cast types when dealing with the bignum.
(WebCore::CryptoKeyRSA::generatePair): Improved an error message a little.

  • fileapi/FileReaderLoader.cpp: (WebCore::FileReaderLoader::convertToDataURL):
  • inspector/DOMPatchSupport.cpp: (WebCore::DOMPatchSupport::createDigest):
  • inspector/InspectorPageAgent.cpp: (WebCore::InspectorPageAgent::archive):
  • platform/graphics/cg/ImageBufferCG.cpp: (WebCore::CGImageToDataURL):

No longer need to cast data to char* here.

Source/WTF:

Binary data can be UTF-8, in which case "char*" is idiomatic, or it can be arbitrary
binary data, in which case "uint8_t*" is more common.

Changed encode functions that took "const char *" to "const void*", and decode
functions that took "Vector<char>&" now take an adapter class.

The adapter relies on Vector<char> and Vector<uint8_t> classes having an identical layout.

  • wtf/text/Base64.cpp:

(WTF::base64Encode):
(WTF::base64URLEncode):
(WTF::base64DecodeInternal):
(WTF::base64Decode):
(WTF::base64URLDecode):

  • wtf/text/Base64.h:

(WTF::SignedOrUnsignedCharVectorAdapter):
(WTF::ConstSignedOrUnsignedCharVectorAdapter):
(WTF::base64Encode):
(WTF::base64URLEncode):

1:37 PM Changeset in webkit [159389] by Antti Koivisto
  • 3 edits
    2 adds in trunk

REGRESSION (r158774): Iteration over element children is broken
https://bugs.webkit.org/show_bug.cgi?id=124145

Source/WebCore:

Reviewed by Anders Carlsson.

Mutation during traversal invalidates the position cache. After the mid-point we start
traversing backwards as it the shortest path. However backward traversal of children-only
HTMLCollection was wrong and would end up going to descendants.

Reduction by yannick.poirier@inverto.tv.

Test: fast/dom/htmlcollection-children-mutation.html

  • html/HTMLCollection.cpp:

(WebCore::HTMLCollection::collectionTraverseBackward):

Traverse direct children only when m_shouldOnlyIncludeDirectChildren bit is set.

LayoutTests:

Reviewed by Anders Carlsson.

  • fast/dom/htmlcollection-children-mutation-expected.txt: Added.
  • fast/dom/htmlcollection-children-mutation.html: Added.
1:00 PM Changeset in webkit [159388] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

Try to fix the EFL build.

  • UIProcess/efl/PagePolicyClientEfl.cpp:

(WebKit::PagePolicyClientEfl::decidePolicyForResponseCallback): No need to call
WKFrameCanShowMIMEType now that this information is passed in as a parameter.

12:30 PM Changeset in webkit [159387] by mitz@apple.com
  • 19 edits in trunk

No way for policy client to determine if a the response’s MIME type can be shown
https://bugs.webkit.org/show_bug.cgi?id=124445

Reviewed by Sam Weinig.

Source/WebKit2:

  • Platform/CoreIPC/HandleMessage.h:

(CoreIPC::callMemberFunction): Added a fifth message parameter to this template.

  • UIProcess/API/C/WKPage.h: Added a canShowMIMEType parameter to

WKPageDecidePolicyForResponseCallback and deprecated the old version.

  • UIProcess/API/mac/WKBrowsingContextController.mm:

(setUpPagePolicyClient): Include whether the response MIME type can be shown under a new key
in the action information dictionary.

  • UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h: Declared

WKActionCanShowMIMETypeKey.

  • UIProcess/WebInspectorProxy.cpp:

(WebKit::WebInspectorProxy::createInspectorPage): Updated for changes in the policy client.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::decidePolicyForResponse): Added canShowMIMEType parameter, which is
passed to the policy client.
(WebKit::WebPageProxy::decidePolicyForResponseSync): Added canShowMIMEType parameter, which
is passed to the above function.

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in: Added canShowMIMEType paramter to

DecidePolicyForResponseSync.

  • UIProcess/WebPolicyClient.cpp:

(WebKit::WebPolicyClient::decidePolicyForResponse): Added canShowMIMEType parameter, which
is passed to the client callback.

  • UIProcess/WebPolicyClient.h:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse): Determine if the response
MIME type can be shown and pass this information along in the message to the UI process.

Tools:

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(decidePolicyForResponse): Added canShowMIMEType parameter.
(-[WK2BrowserWindowController awakeFromNib]): Updated for changes in the policy client.

  • TestWebKitAPI/Tests/WebKit2/PageLoadBasic.cpp:

(TestWebKitAPI::decidePolicyForResponse): Added canShowMIMEType parameter.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::createWebViewWithOptions): Updated for changes in the policy client.
(WTR::TestController::decidePolicyForResponse): Added canShowMIMEType parameter.

  • WebKitTestRunner/TestController.h:
10:25 AM Changeset in webkit [159386] by zoltan@webkit.org
  • 4 edits
    1 move in trunk/Source/WebCore

Move LineLayoutState.h into rendering/line
<https://webkit.org/b/124458>

Reviewed by Mihnea Ovidenie.

LineLayoutState is a helper class of RenderBlockLineLayout, so I'm moving it into line subdirectory.

No new tests, no behavior change.

  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.xcodeproj/project.pbxproj:
  • rendering/line/LineLayoutState.h: Renamed from Source/WebCore/rendering/LineLayoutState.h.

(WebCore::FloatWithRect::FloatWithRect):
(WebCore::LineLayoutState::LineLayoutState):
(WebCore::LineLayoutState::lineInfo):
(WebCore::LineLayoutState::endLineLogicalTop):
(WebCore::LineLayoutState::setEndLineLogicalTop):
(WebCore::LineLayoutState::endLine):
(WebCore::LineLayoutState::setEndLine):
(WebCore::LineLayoutState::lastFloat):
(WebCore::LineLayoutState::setLastFloat):
(WebCore::LineLayoutState::floats):
(WebCore::LineLayoutState::floatIndex):
(WebCore::LineLayoutState::setFloatIndex):
(WebCore::LineLayoutState::adjustedLogicalLineTop):
(WebCore::LineLayoutState::setAdjustedLogicalLineTop):
(WebCore::LineLayoutState::flowThread):
(WebCore::LineLayoutState::setFlowThread):
(WebCore::LineLayoutState::endLineMatched):
(WebCore::LineLayoutState::setEndLineMatched):
(WebCore::LineLayoutState::checkForFloatsFromLastLine):
(WebCore::LineLayoutState::setCheckForFloatsFromLastLine):
(WebCore::LineLayoutState::markForFullLayout):
(WebCore::LineLayoutState::isFullLayout):
(WebCore::LineLayoutState::usesRepaintBounds):
(WebCore::LineLayoutState::setRepaintRange):
(WebCore::LineLayoutState::updateRepaintRangeFromBox):

9:29 AM Changeset in webkit [159385] by Antti Koivisto
  • 3 edits
    2 adds in trunk

Simple line path does not respect visibility:hidden
https://bugs.webkit.org/show_bug.cgi?id=124467

Reviewed by Anders Carlsson.

Source/WebCore:

Test: fast/text/text-visibility.html

  • rendering/SimpleLineLayoutFunctions.cpp:

(WebCore::SimpleLineLayout::paintFlow):

LayoutTests:

  • fast/text/text-visibility-expected.html: Added.
  • fast/text/text-visibility.html: Added.

Nov 16, 2013:

7:49 PM Changeset in webkit [159384] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix indentation of JSActivation.h.

Rubber stamped by Mark Hahnenberg.

  • runtime/JSActivation.h:
7:41 PM Changeset in webkit [159383] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix indentation of JSVariableObject.h.

Rubber stamped by Mark Hahnenberg.

I'm about to do some damage to this file. I wanted to give it some sanity first.

  • runtime/JSVariableObject.h:
3:19 PM Changeset in webkit [159382] by timothy_horton@apple.com
  • 3 edits
    1 add in trunk/Tools

Checkmarks are shifted down on iPhone at build.webkit.org/dashboard
https://bugs.webkit.org/show_bug.cgi?id=122909

Reviewed by Timothy Hatcher.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/checkmark.svg: Added.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/StatusLineView.js:

(StatusLineView.prototype.set repeatCount):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/StatusLineView.css:

(.status-line.good .bubble.pictogram):
Use an SVG image instead of an obscure font for the checkboxes so they
render identically on all platforms.

2:28 PM Changeset in webkit [159381] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[sh4] Fix build (broken since r159346).
https://bugs.webkit.org/show_bug.cgi?id=124455

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-11-16
Reviewed by Oliver Hunt.

Fix LLINT implementation for sh4 architecture to handle properly load and store operations with pr register.

  • offlineasm/sh4.rb:
11:14 AM Changeset in webkit [159380] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

WebCrypto no longer uses sequences of ArrayBuffers
https://bugs.webkit.org/show_bug.cgi?id=124451

Build fix.

  • crypto/mac/CryptoAlgorithmHMACMac.cpp: (WebCore::calculateSignature):

Now that the function became shorter, clang realized that a variable was used
uninitialized in an impossible code path.

10:58 AM Changeset in webkit [159379] by ap@apple.com
  • 48 edits in trunk

WebCrypto no longer uses sequences of ArrayBuffers
https://bugs.webkit.org/show_bug.cgi?id=124451

Reviewed by Sam Weinig.

Source/WebCore:

Covered by existing tests.

Changed all operations to take single CryptoOperationData objects.

  • bindings/js/JSCryptoOperationData.cpp:
  • bindings/js/JSCryptoOperationData.h:
  • bindings/js/JSSubtleCryptoCustom.cpp:

(WebCore::JSSubtleCrypto::encrypt):
(WebCore::JSSubtleCrypto::decrypt):
(WebCore::JSSubtleCrypto::sign):
(WebCore::JSSubtleCrypto::verify):
(WebCore::JSSubtleCrypto::digest):

  • crypto/CryptoAlgorithm.cpp:

(WebCore::CryptoAlgorithm::encrypt):
(WebCore::CryptoAlgorithm::decrypt):
(WebCore::CryptoAlgorithm::sign):
(WebCore::CryptoAlgorithm::verify):
(WebCore::CryptoAlgorithm::digest):

  • crypto/CryptoAlgorithm.h:
  • crypto/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:

(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::sign):
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::verify):

  • crypto/algorithms/CryptoAlgorithmAES_CBC.h:
  • crypto/algorithms/CryptoAlgorithmHMAC.h:
  • crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h:
  • crypto/algorithms/CryptoAlgorithmSHA1.cpp:

(WebCore::CryptoAlgorithmSHA1::digest):

  • crypto/algorithms/CryptoAlgorithmSHA1.h:
  • crypto/algorithms/CryptoAlgorithmSHA224.cpp:

(WebCore::CryptoAlgorithmSHA224::digest):

  • crypto/algorithms/CryptoAlgorithmSHA224.h:
  • crypto/algorithms/CryptoAlgorithmSHA256.cpp:

(WebCore::CryptoAlgorithmSHA256::digest):

  • crypto/algorithms/CryptoAlgorithmSHA256.h:
  • crypto/algorithms/CryptoAlgorithmSHA384.cpp:

(WebCore::CryptoAlgorithmSHA384::digest):

  • crypto/algorithms/CryptoAlgorithmSHA384.h:
  • crypto/algorithms/CryptoAlgorithmSHA512.cpp:

(WebCore::CryptoAlgorithmSHA512::digest):

  • crypto/algorithms/CryptoAlgorithmSHA512.h:
  • crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:

(WebCore::transformAES_CBC):
(WebCore::CryptoAlgorithmAES_CBC::encrypt):
(WebCore::CryptoAlgorithmAES_CBC::decrypt):

  • crypto/mac/CryptoAlgorithmHMACMac.cpp:

(WebCore::calculateSignature):
(WebCore::CryptoAlgorithmHMAC::sign):
(WebCore::CryptoAlgorithmHMAC::verify):

  • crypto/parameters/CryptoAlgorithmRsaKeyGenParams.h:

LayoutTests:

Updated tests accordingly.

  • crypto/subtle/aes-cbc-192-encrypt-decrypt.html:
  • crypto/subtle/aes-cbc-256-encrypt-decrypt.html:
  • crypto/subtle/aes-cbc-encrypt-decrypt-expected.txt:
  • crypto/subtle/aes-cbc-encrypt-decrypt-with-padding.html:
  • crypto/subtle/aes-cbc-encrypt-decrypt.html:
  • crypto/subtle/aes-cbc-import-jwk.html:
  • crypto/subtle/aes-cbc-wrong-key-class-expected.txt:
  • crypto/subtle/aes-cbc-wrong-key-class.html:
  • crypto/subtle/argument-conversion-expected.txt:
  • crypto/subtle/argument-conversion.html:
  • crypto/subtle/hmac-import-jwk.html:
  • crypto/subtle/hmac-sign-verify-empty-key.html:
  • crypto/subtle/hmac-sign-verify.html:
  • crypto/subtle/rsassa-pkcs1-v1_5-sign-verify.html:
  • crypto/subtle/sha-1-expected.txt:
  • crypto/subtle/sha-1.html:
  • crypto/subtle/sha-224-expected.txt:
  • crypto/subtle/sha-224.html:
  • crypto/subtle/sha-256-expected.txt:
  • crypto/subtle/sha-256.html:
  • crypto/subtle/sha-384-expected.txt:
  • crypto/subtle/sha-384.html:
  • crypto/subtle/sha-512-expected.txt:
  • crypto/subtle/sha-512.html:
2:08 AM Changeset in webkit [159378] by zoltan@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove the include of LineWidth.h from SimpleLineLayoutFunctions.cpp
<https://webkit.org/b/124449>

Reviewed by Antti Koivisto.

I removed the include of LineWidth, since SimpleLineLayoutFunctions.cpp doesn't use it.

No new tests, no behavior change.

  • rendering/SimpleLineLayoutFunctions.cpp:
Note: See TracTimeline for information about the timeline view.