Timeline



Oct 6, 2013:

11:56 PM Changeset in webkit [157025] by Carlos Garcia Campos
  • 90 edits in releases/WebKitGTK/webkit-2.2

Merge r154797 - Source/JavaScriptCore: https://bugs.webkit.org/show_bug.cgi?id=119548
Refactoring Exception throws.

Patch by Chris Curtis <chris_curtis@apple.com> on 2013-08-28
Reviewed by Geoffrey Garen.

Gardening of exception throws. The act of throwing an exception was being handled in
different ways depending on whether the code was running in the LLint, Baseline JIT,
or the DFG Jit. This made development in the vm exception and error objects difficult.

  • runtime/VM.cpp:

(JSC::appendSourceToError):
This function moved from the interpreter into the VM. It views the developers code
(if there is a codeBlock) to extract what was trying to be evaluated when the error
occurred.

(JSC::VM::throwException):
This function takes in the error object and sets the following:

1: The VM's exception stack
2: The VM's exception
3: Appends extra information on the error message(via appendSourceToError)
4: The error object's line number
5: The error object's column number
6: The error object's sourceURL
7: The error object's stack trace (unless it already exists because the developer

created the error object).

(JSC::VM::getExceptionInfo):
(JSC::VM::setExceptionInfo):
(JSC::VM::clearException):
(JSC::clearExceptionStack):

  • runtime/VM.h:

(JSC::VM::exceptionOffset):
(JSC::VM::exception):
(JSC::VM::addressOfException):
(JSC::VM::exceptionStack):
VM exception and exceptionStack are now private data members.

  • interpreter/Interpreter.h:

(JSC::ClearExceptionScope::ClearExceptionScope):
Created this structure to temporarily clear the exception within the VM. This
needed to see if addition errors occur when setting the debugger as we are
unwinding the stack.

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::unwind):
Removed the code that would try to add error information if it did not exist.
All of this functionality has moved into the VM and all error information is set
at the time the error occurs.

The rest of these functions reference the new calling convention to throw an error.

  • API/APICallbackFunction.h:

(JSC::APICallbackFunction::call):

  • API/JSCallbackConstructor.cpp:

(JSC::constructJSCallback):

  • API/JSCallbackObjectFunctions.h:

(JSC::::getOwnPropertySlot):
(JSC::::defaultValue):
(JSC::::put):
(JSC::::putByIndex):
(JSC::::deleteProperty):
(JSC::::construct):
(JSC::::customHasInstance):
(JSC::::call):
(JSC::::getStaticValue):
(JSC::::staticFunctionGetter):
(JSC::::callbackGetter):

  • debugger/Debugger.cpp:

(JSC::evaluateInGlobalCallFrame):

  • debugger/DebuggerCallFrame.cpp:

(JSC::DebuggerCallFrame::evaluate):

  • dfg/DFGAssemblyHelpers.h:

(JSC::DFG::AssemblyHelpers::emitExceptionCheck):

  • dfg/DFGOperations.cpp:

(JSC::DFG::operationPutByValInternal):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::callCheck):

  • heap/Heap.cpp:

(JSC::Heap::markRoots):

  • interpreter/CallFrame.h:

(JSC::ExecState::clearException):
(JSC::ExecState::exception):
(JSC::ExecState::hadException):

  • interpreter/Interpreter.cpp:

(JSC::eval):
(JSC::loadVarargs):
(JSC::stackTraceAsString):
(JSC::Interpreter::execute):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
(JSC::Interpreter::prepareForRepeatCall):

  • interpreter/Interpreter.h:

(JSC::ClearExceptionScope::ClearExceptionScope):

  • jit/JITCode.cpp:

(JSC::JITCode::execute):

  • jit/JITExceptions.cpp:

(JSC::genericThrow):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_catch):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::privateCompileCTINativeCall):
(JSC::JIT::emit_op_catch):

  • jit/JITStubs.cpp:

(JSC::returnToThrowTrampoline):
(JSC::throwExceptionFromOpCall):
(JSC::DEFINE_STUB_FUNCTION):
(JSC::jitCompileFor):
(JSC::lazyLinkFor):
(JSC::putByVal):
(JSC::cti_vm_handle_exception):

  • jit/SlowPathCall.h:

(JSC::JITSlowPathCall::call):

  • jit/ThunkGenerators.cpp:

(JSC::nativeForGenerator):

  • jsc.cpp:

(functionRun):
(functionLoad):
(functionCheckSyntax):

  • llint/LLIntExceptions.cpp:

(JSC::LLInt::doThrow):
(JSC::LLInt::returnToThrow):
(JSC::LLInt::callToThrow):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • llint/LowLevelInterpreter.cpp:

(JSC::CLoop::execute):

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/ArrayConstructor.cpp:

(JSC::constructArrayWithSizeQuirk):

  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

  • runtime/CommonSlowPaths.h:

(JSC::CommonSlowPaths::opIn):

  • runtime/CommonSlowPathsExceptions.cpp:

(JSC::CommonSlowPaths::interpreterThrowInCaller):

  • runtime/Completion.cpp:

(JSC::evaluate):

  • runtime/Error.cpp:

(JSC::addErrorInfo):
(JSC::throwTypeError):
(JSC::throwSyntaxError):

  • runtime/Error.h:

(JSC::throwVMError):

  • runtime/ExceptionHelpers.cpp:

(JSC::throwOutOfMemoryError):
(JSC::throwStackOverflowError):
(JSC::throwTerminatedExecutionException):

  • runtime/Executable.cpp:

(JSC::EvalExecutable::create):
(JSC::FunctionExecutable::produceCodeBlockFor):

  • runtime/FunctionConstructor.cpp:

(JSC::constructFunction):
(JSC::constructFunctionSkippingEvalEnabledCheck):

  • runtime/JSArray.cpp:

(JSC::JSArray::defineOwnProperty):
(JSC::JSArray::put):
(JSC::JSArray::push):

  • runtime/JSCJSValue.cpp:

(JSC::JSValue::toObjectSlowCase):
(JSC::JSValue::synthesizePrototype):
(JSC::JSValue::putToPrimitive):

  • runtime/JSFunction.cpp:

(JSC::JSFunction::defineOwnProperty):

  • runtime/JSGenericTypedArrayViewInlines.h:

(JSC::::create):
(JSC::::createUninitialized):
(JSC::::validateRange):
(JSC::::setWithSpecificType):

  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::encode):
(JSC::decode):
(JSC::globalFuncProtoSetter):

  • runtime/JSNameScope.cpp:

(JSC::JSNameScope::put):

  • runtime/JSONObject.cpp:

(JSC::Stringifier::appendStringifiedValue):
(JSC::Walker::walk):

  • runtime/JSObject.cpp:

(JSC::JSObject::put):
(JSC::JSObject::defaultValue):
(JSC::JSObject::hasInstance):
(JSC::JSObject::defaultHasInstance):
(JSC::JSObject::defineOwnNonIndexProperty):
(JSC::throwTypeError):

  • runtime/ObjectConstructor.cpp:

(JSC::toPropertyDescriptor):

  • runtime/RegExpConstructor.cpp:

(JSC::constructRegExp):

  • runtime/StringObject.cpp:

(JSC::StringObject::defineOwnProperty):

  • runtime/StringRecursionChecker.cpp:

(JSC::StringRecursionChecker::throwStackOverflowError):

Source/WebCore: https://bugs.webkit.org/show_bug.cgi?id=119548
Refactoring Exception throws.

Patch by Chris Curtis <chris_curtis@apple.com> on 2013-08-28
Reviewed by Geoffrey Garen.

Gets column information from the error object for reporting exceptions.

  • bindings/js/JSDOMBinding.cpp:

(WebCore::reportException):

  • bindings/js/ScriptCallStackFactory.cpp:

(WebCore::createScriptCallStackFromException):

Moved setting an exception into the vm, These functions changed to use the new functionality.

  • bindings/js/JSAudioBufferSourceNodeCustom.cpp:

(WebCore::JSAudioBufferSourceNode::setBuffer):

  • bindings/js/JSBiquadFilterNodeCustom.cpp:

(WebCore::JSBiquadFilterNode::setType):

  • bindings/js/JSCryptoCustom.cpp:

(WebCore::JSCrypto::getRandomValues):

  • bindings/js/JSDOMBinding.cpp:

(WebCore::setDOMException):

  • bindings/js/JSInjectedScriptHostCustom.cpp:

(WebCore::JSInjectedScriptHost::setFunctionVariableValue):

  • bindings/js/JSJavaScriptCallFrameCustom.cpp:

(WebCore::JSJavaScriptCallFrame::evaluate):
(WebCore::JSJavaScriptCallFrame::setVariableValue):

  • bindings/js/JSNodeFilterCondition.cpp:

(WebCore::JSNodeFilterCondition::acceptNode):

  • bindings/js/JSOscillatorNodeCustom.cpp:

(WebCore::JSOscillatorNode::setType):

  • bindings/js/JSPannerNodeCustom.cpp:

(WebCore::JSPannerNode::setPanningModel):
(WebCore::JSPannerNode::setDistanceModel):

  • bindings/js/JSSVGLengthCustom.cpp:

(WebCore::JSSVGLength::convertToSpecifiedUnits):

  • bindings/js/JSWebGLRenderingContextCustom.cpp:

(WebCore::getObjectParameter):
(WebCore::JSWebGLRenderingContext::getAttachedShaders):
(WebCore::JSWebGLRenderingContext::getExtension):
(WebCore::JSWebGLRenderingContext::getFramebufferAttachmentParameter):
(WebCore::JSWebGLRenderingContext::getParameter):
(WebCore::JSWebGLRenderingContext::getProgramParameter):
(WebCore::JSWebGLRenderingContext::getShaderParameter):
(WebCore::JSWebGLRenderingContext::getUniform):
(WebCore::dataFunctionf):
(WebCore::dataFunctioni):
(WebCore::dataFunctionMatrix):

  • bindings/js/JSXMLHttpRequestCustom.cpp:

(WebCore::JSXMLHttpRequest::open):

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneBase::throwStackOverflow):
(WebCore::CloneDeserializer::throwValidationError):
(WebCore::SerializedScriptValue::maybeThrowExceptionIfSerializationFailed):

  • bindings/js/WorkerScriptController.cpp:

(WebCore::WorkerScriptController::evaluate):
(WebCore::WorkerScriptController::setException):

  • bridge/c/c_instance.cpp:

(JSC::Bindings::CInstance::moveGlobalExceptionToExecState):
(JSC::Bindings::CInstance::invokeMethod):
(JSC::Bindings::CInstance::invokeDefaultMethod):
(JSC::Bindings::CInstance::invokeConstruct):
(JSC::Bindings::CInstance::toJSPrimitive):

  • bridge/objc/objc_instance.mm:

(ObjcInstance::invokeMethod):

  • bridge/objc/objc_runtime.mm:

(JSC::Bindings::ObjcArray::setValueAt):
(JSC::Bindings::ObjcArray::valueAt):

  • bridge/objc/objc_utility.mm:

(JSC::Bindings::throwError):

  • bridge/qt/qt_instance.cpp:

(JSC::Bindings::QtField::valueFromInstance):
(JSC::Bindings::QtField::setValueToInstance):

  • bridge/runtime_array.cpp:

(JSC::RuntimeArray::put):
(JSC::RuntimeArray::putByIndex):

  • bridge/runtime_object.cpp:

(JSC::Bindings::RuntimeObject::throwInvalidAccessError):

Source/WebKit/mac: https://bugs.webkit.org/show_bug.cgi?id=119548
Refactoring Exception throws.

Patch by Chris Curtis <chris_curtis@apple.com> on 2013-08-28
Reviewed by Geoffrey Garen.

Moved setting an exception into the vm, These functions changed to use the new functionality.

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState):

  • Plugins/Hosted/ProxyInstance.mm:

(WebKit::ProxyInstance::invokeMethod):

Source/WebKit2: https://bugs.webkit.org/show_bug.cgi?id=119548
Refactoring Exception throws.

Patch by Chris Curtis <chris_curtis@apple.com> on 2013-08-28
Reviewed by Geoffrey Garen.

Moved setting an exception into the vm, These functions changed to use the new functionality.

  • WebProcess/Plugins/Netscape/JSNPObject.cpp:

(WebKit::JSNPObject::callMethod):
(WebKit::JSNPObject::callObject):
(WebKit::JSNPObject::callConstructor):
(WebKit::JSNPObject::throwInvalidAccessError):

  • WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:

(WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState):

LayoutTests: https://bugs.webkit.org/show_bug.cgi?id=119548
Refactoring Exception throws.

Patch by Chris Curtis <chris_curtis@apple.com> on 2013-08-28
Reviewed by Geoffrey Garen.

Column/line information was added into these results.

  • fast/events/window-onerror4-expected.txt:
  • fast/js/global-recursion-on-full-stack-expected.txt:

fixed a variable name in a case when shouldThrowType failed.

  • fast/js/mozilla/resources/js-test-pre.js:

(shouldThrowType):

Sorted the properties to allow the results always show in the same order.

  • fast/js/script-tests/exception-properties.js:
  • fast/js/exception-properties-expected.txt:

This test needed to be modified to have the line numbers match on the output across
wk and wk2. This test is inherently flaky because is relies on size of the available
native stack. To account for the flakiness an additional call was made to force the
results to match.
This patch now records and outputs the line number where the errors were occurring.
This was causing the test results to no longer match because of the line numbers.
By changing how to account for the flakiness, the results match again.

  • fast/xmlhttprequest/xmlhttprequest-recursive-sync-event-expected.txt:
  • fast/xmlhttprequest/xmlhttprequest-recursive-sync-event.html:
11:39 PM Changeset in webkit [157024] by gyuyoung.kim@samsung.com
  • 10 edits in trunk/Source/WebCore

Generate toCSSFooValue() for CSSCursorImageValue, CSSCubicBezierTimingFunctionValue, CSSStepsTimingFunctionValue and CSSUnicodeRangeValue
https://bugs.webkit.org/show_bug.cgi?id=122408

Reviewed by Andreas Kling.

As a step to use toCSSFooValue, this patch generates toCSSFooValue() for CSSCursorImageValue,
CSSCubicBezierTimingFunctionValue, CSSStepsTimingFunctionValue and CSSUnicodeRangeValue.
This will help to detect bad type cast.

No new tests, no behavior changes.

  • css/CSSCursorImageValue.h:
  • css/CSSTimingFunctionValue.h:
  • css/CSSToStyleMap.cpp:

(WebCore::CSSToStyleMap::mapAnimationTimingFunction):

  • css/CSSUnicodeRangeValue.h:
  • css/CSSValue.cpp:

(WebCore::CSSValue::destroy):

  • css/DeprecatedStyleBuilder.cpp:

(WebCore::ApplyPropertyCursor::applyValue):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::styleImage):
(WebCore::StyleResolver::styleShader):

  • rendering/style/StylePendingImage.h:

(WebCore::StylePendingImage::cssCursorImageValue):

9:48 PM Changeset in webkit [157023] by akling@apple.com
  • 2 edits in trunk/Source/WebKit

No? Okay, let's try that again..

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
9:35 PM Changeset in webkit [157022] by akling@apple.com
  • 2 edits in trunk/Source/WebKit

Attempt to fix the Windows build.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
9:34 PM Changeset in webkit [157021] by timothy_horton@apple.com
  • 2 edits in trunk/LayoutTests

Remove an unnecessary test expectation, as the test was removed
along with the code it tested.

  • platform/mac/TestExpectations:
9:00 PM Changeset in webkit [157020] by timothy_horton@apple.com
  • 3 edits in trunk/LayoutTests

results.html doesn't support non-HTML reference tests or references with external resources
https://bugs.webkit.org/show_bug.cgi?id=122426

Reviewed by Ryosuke Niwa.

  • fast/harness/results.html:

Factor splitExtension() out of stripExtension(), so we can retrieve
the extension as well as strip it.

Factor layoutTestsBasePath() out of testLink(), so we can use it for
ref test expectation files as well.

Use layoutTestsBasePath() to link to ref test expectation files, and
use the extension of the test for the expectation, instead of hardcoding
HTML reference files.

This will work on the bots because we already use the same mechanism for
the link to the test itself.

  • fast/harness/resources/results-test.js:

Update the harness result viewer test results.

8:46 PM Changeset in webkit [157019] by mitz@apple.com
  • 2 edits in trunk/Source/ThirdParty

Build against the Xcode default toolchain when targeting OS X 10.8.

This fixes the build after r156632 in configurations that use another toolchain
by default.

  • gtest/xcode/Config/General.xcconfig:
8:39 PM Changeset in webkit [157018] by akling@apple.com
  • 38 edits in trunk/Source

Range constructors should take a Document&.
<https://webkit.org/b/122435>

Reviewed by Sam Weinig.

Source/WebCore:

Make all Range constructors take Document& instead of a PassRefPtr.
This removes one null check at every call site.

Also use a Ref<Document> for storage in Range.

Source/WTF:

Give Ref an assignment operator.

8:37 PM Changeset in webkit [157017] by fpizlo@apple.com
  • 4 edits in trunk/LayoutTests

jsc-layout-tests.yaml/js/script-tests/dfg-arguments-osr-exit.js.layout-dfg-eager-no-cjit fails in release mode on the bots
https://bugs.webkit.org/show_bug.cgi?id=122436

Unreviewed, green the bots by not running the eager variants of these tests.

Will unskip when I land the fix for https://bugs.webkit.org/show_bug.cgi?id=122418.

  • js/script-tests/dfg-arguments-osr-exit-multiple-blocks-before-exit.js:
  • js/script-tests/dfg-arguments-osr-exit-multiple-blocks.js:
  • js/script-tests/dfg-arguments-osr-exit.js:
7:37 PM Changeset in webkit [157016] by fpizlo@apple.com
  • 2 edits in trunk/Tools

Unreviewed, fix build on old Rubies.

  • Scripts/run-jsc-stress-tests:
7:17 PM Changeset in webkit [157015] by Antti Koivisto
  • 7 edits
    2 adds in trunk/Source/WebCore

Factor text paint style computation out from InlineTextBox
https://bugs.webkit.org/show_bug.cgi?id=122433

Reviewed by Andreas Kling.

Move it to TextPaintStyle.h/cpp. Other parts of the code may use it in the future.

7:14 PM Changeset in webkit [157014] by fpizlo@apple.com
  • 11 edits
    3 adds
    1 delete in trunk

Unified test infrastructure via the jsc shell
https://bugs.webkit.org/show_bug.cgi?id=120696

Source/JavaScriptCore:

Reviewed by Oliver Hunt.

Add a mozilla-tests.yaml list. This is autogenerated by create-mozilla-js-test-list.
I think it's better to leave this checked in; we may even just edit it directly in
the future. Also generating it is not cheap.

Fix some low-hanging fruit bugs that I caught by introducing more test coverage.

  • We were not emitting labels for CFA-unreachable blocks, which caused link errors. It's possible for a CFA-unreachable block to be jumped to, if the thing that causes it to be unreachable is a speculation in a Branch or peephole compare.


  • The register allocation assertions didn't handle peephole branches correctly. Since the peephole branch handling returns early from compile(), the clearBlahbittyBlah() method wasn't being called.
  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileCurrentBlock):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • tests/mozilla/mozilla-tests.yaml: Added.

Tools:

Reviewed by Oliver Hunt.

Make run-jsc-stress-tests smart enough to be able to handle different styles of test
output (silent or noisy) and different styles of test failure (just bad exit code,
text diff, filtering for some magical text, etc.). This allows me to get rid of the
layout-test-helper. It also allows me to switch all of the old Mozilla tests to
running in run-jsc-stress-tests.

Also removes all of the code paths that defended against not having shellwords. Just
install the shellwords gem if you want to run tests.

Also removes the non-parallel test running code. No reason for it to exist anymore.

This is a massive increase in test coverage. It uncovered bugs. I fixed two of them
as part of this patch, and left three more as new bugzillas.

  • Scripts/create-mozilla-js-test-list: Added.
  • Scripts/jsc-stress-test-helpers/check-mozilla-failure: Added.
  • Scripts/jsc-stress-test-helpers/layout-test-helper: Removed.
  • Scripts/run-javascriptcore-tests:
  • Scripts/run-jsc-stress-tests:

LayoutTests:

Reviewed by Oliver Hunt.

Suppress running the no-cjit and dfg-eager variants of these tests because there are
still some hard bugs to fix; they were revealed by the increase in test coverage.

  • js/script-tests/dfg-inline-arguments-capture-throw-exception.js:
  • js/script-tests/dfg-uint32-to-number-in-middle-of-copy-propagation.js:
  • js/script-tests/integer-division-neg2tothe32-by-neg1.js:
5:43 PM Changeset in webkit [157013] by Darin Adler
  • 3 edits in trunk/Source/WebCore

[GTK] Get rid of use of deleteAllValues in GtkDragAndDropHelper
https://bugs.webkit.org/show_bug.cgi?id=122417

Reviewed by Andreas Kling.

  • platform/gtk/GtkDragAndDropHelper.cpp: Removed unneeded typedefs.

(WebCore::GtkDragAndDropHelper::~GtkDragAndDropHelper): Removed call to
deleteAllValues.
(WebCore::GtkDragAndDropHelper::handleDragEnd): Use remove directly instead
of using find then remove. I believe this fixes a storage leak.
(WebCore::GtkDragAndDropHelper::handleGetDragData): Use get instead of find.
(WebCore::GtkDragAndDropHelper::handleDragLeaveLater): Remove the explicit
delete since remove will automatically delete.
(WebCore::GtkDragAndDropHelper::handleDragLeave): Use get instead of find.
(WebCore::GtkDragAndDropHelper::handleDragMotion): Use add instead of a
combination of find and set. Also user nullptr instead of 0.
(WebCore::GtkDragAndDropHelper::handleDragDataReceived): Use get instead of find.
(WebCore::GtkDragAndDropHelper::handleDragDrop): Use get instead of find.

  • platform/gtk/GtkDragAndDropHelper.h: Use nullptr instead of 0. Change value

type of m_droppingContexts to be a std::unique_ptr.

4:26 PM Changeset in webkit [157012] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Windows build fix attempt.

  • page/win/DragControllerWin.cpp:

(WebCore::DragController::declareAndWriteDragImage):

3:55 PM Changeset in webkit [157011] by Antti Koivisto
  • 34 edits in trunk/Source/WebCore

Move paint() to RenderElement
https://bugs.webkit.org/show_bug.cgi?id=122371

Reviewed by Darin Adler.

RenderText does not paint itself (text is painted by line boxes). We can move paint() down
to RenderElement.

This also requires some type tightening elsewhere in the code.

3:28 PM Changeset in webkit [157010] by Antti Koivisto
  • 3 edits in trunk/Source/WebCore

Don't try to dispatch resize events for SVG images
https://bugs.webkit.org/show_bug.cgi?id=122410

Reviewed by Darin Adler.

Tested by avoiding assertion in svg/custom/large-image-pattern-crash.html

  • page/FrameView.cpp:

(WebCore::FrameView::sendResizeEventIfNeeded):

Bail out for SVG images. They have scripting disabled so the event wouldn't do anything anyway.
Use of FrameView mechanisms is just an implementation detail for SVG images, they are not
meant to act like real frames.

  • rendering/svg/RenderSVGResourcePattern.cpp:

(WebCore::RenderSVGResourcePattern::createTileImage):

Switch to Element iterator. This will take NoEventDispatchAssertion verifying the change.

3:07 PM Changeset in webkit [157009] by rniwa@webkit.org
  • 2 edits in trunk/PerformanceTests

DoYouEvenBench: Make it work on Internet Explorer 11 Release Preview
https://bugs.webkit.org/show_bug.cgi?id=122406

Reviewed by Darin Adler.

On Internet Explorer 11, $(elem).closest('li').data('id') fails to find the containig li of elem once
the first item is marked complete or deleted until we get back to the event loop in the jQuery/TodoMVC.
Worked around this limitation by overriding app.getTodo to use each item's id computed in advance.

Also use $.text instead of execCommand('InsertText') in FlightJS/MailClient since Internet Explorer
doesn't support execCommand('InsertText'). Also select the recipient to avoid exceptions.

  • DoYouEvenBench/benchmark.html:
2:29 PM Changeset in webkit [157008] by akling@apple.com
  • 5 edits in trunk/Source/WebCore

Element ancestor iterator should have a first() for convenience.
<https://webkit.org/b/122425>

Reviewed by Antti Koivisto.

Added an easy way to get the first element ancestor of a certain type
and put it to use in a few places.

2:07 PM Changeset in webkit [157007] by akling@apple.com
  • 8 edits in trunk/Source/WebCore

CTTE: FrameLoader::notifier() should return a reference.
<https://webkit.org/b/122424>

Reviewed by Anders Carlsson.

It was just returning the address of an inline member, so we should
use a reference instead. Also made the backpointer to Frame in
ResourceLoadNotifier a reference.

1:53 PM Changeset in webkit [157006] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Avoid layout in window.scroll{Y,X} when at topmost/leftmost position.
<https://webkit.org/b/122423>

Reviewed by Antti Koivisto.

Add a fast path for these properties to skip synchronous layout when
we are just going to return 0 anyway.

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::scrollX):
(WebCore::DOMWindow::scrollY):

1:11 PM Changeset in webkit [157005] by andersca@apple.com
  • 7 edits in trunk/Source/WebCore

Clean up ContentData
https://bugs.webkit.org/show_bug.cgi?id=122421

Reviewed by Andreas Kling.

Replace uses of OwnPtr with std::unique_ptr and get rid of the ContentData::create overloads.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

  • rendering/style/ContentData.cpp:

(WebCore::ContentData::clone):

  • rendering/style/ContentData.h:

(WebCore::ContentData::setNext):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::appendContent):
(WebCore::RenderStyle::setContent):

  • rendering/style/RenderStyle.h:
  • rendering/style/StyleRareNonInheritedData.h:
12:48 PM Changeset in webkit [157004] by weinig@apple.com
  • 7 edits in trunk/Source/WebCore

Be a bit shouty about final classes while we look into why the bots don't like it.

  • dom/Comment.h:
  • dom/ProcessingInstruction.h:
  • editing/markup.cpp:
  • page/PageSerializer.cpp:
  • workers/SharedWorker.h:
  • workers/Worker.h:
12:35 PM Changeset in webkit [157003] by weinig@apple.com
  • 3 edits in trunk/Source/WebCore

Fix windows build.

  • platform/win/ClipboardUtilitiesWin.cpp:

(WebCore::fragmentFromCFHTML):
(WebCore::fragmentFromHTML):

  • platform/win/PasteboardWin.cpp:

(WebCore::Pasteboard::writeRangeToDataObject):
(WebCore::Pasteboard::writeSelection):

12:18 PM Changeset in webkit [157002] by weinig@apple.com
  • 47 edits in trunk/Source

CTTE: Thread references through markup.h
https://bugs.webkit.org/show_bug.cgi?id=122403

Reviewed by Darin Adler and Andreas Kling.

Source/WebCore:

Highlights:

  • Removed createFragmentFromMarkupWithContext(), it was unused.
  • Moved createFragmentFromNodes() into its one caller (in WebKit/mac)
  • Add a bunch more toFoo() overloads.

Source/WebKit/mac:

  • DOM/WebDOMOperations.mm:

(-[DOMNode markupString]):
(-[DOMRange markupString]):

  • WebView/WebFrame.mm:

(-[WebFrame _documentFragmentWithMarkupString:baseURLString:]):
(-[WebFrame _documentFragmentWithNodesAsParagraphs:]):

12:01 PM Changeset in webkit [157001] by zandobersek@gmail.com
  • 55 edits in trunk/Source/WebCore

[WebIDL] Annotate IDL interfaces under Source/WebCore/Modules/ with the OperationsNotDeletable attribute
https://bugs.webkit.org/show_bug.cgi?id=122281

Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
doesn't have any effect, but will keep the operations not configurable after the generator is modified
to preserve the original behavior. The attribute will be removed from each interface after checking
conformity with other browsers (in terms of configurability of operations of that interface) and the
WebKit's existing test suites.

This patch covers IDL interfaces under Source/WebCore/Modules/.

  • Modules/battery/BatteryManager.idl:
  • Modules/encryptedmedia/MediaKeySession.idl:
  • Modules/encryptedmedia/MediaKeys.idl:
  • Modules/gamepad/GamepadList.idl:
  • Modules/geolocation/Geolocation.idl:
  • Modules/indexeddb/IDBCursor.idl:
  • Modules/indexeddb/IDBDatabase.idl:
  • Modules/indexeddb/IDBFactory.idl:
  • Modules/indexeddb/IDBIndex.idl:
  • Modules/indexeddb/IDBKeyRange.idl:
  • Modules/indexeddb/IDBObjectStore.idl:
  • Modules/indexeddb/IDBTransaction.idl:
  • Modules/indexeddb/IDBVersionChangeEvent.idl:
  • Modules/mediacontrols/MediaControlsHost.idl:
  • Modules/mediasource/MediaSource.idl:
  • Modules/mediasource/SourceBuffer.idl:
  • Modules/mediasource/SourceBufferList.idl:
  • Modules/mediasource/WebKitMediaSource.idl:
  • Modules/mediasource/WebKitSourceBuffer.idl:
  • Modules/mediasource/WebKitSourceBufferList.idl:
  • Modules/mediastream/MediaStream.idl:
  • Modules/mediastream/MediaStreamTrack.idl:
  • Modules/mediastream/RTCDTMFSender.idl:
  • Modules/mediastream/RTCDataChannel.idl:
  • Modules/mediastream/RTCPeerConnection.idl:
  • Modules/mediastream/RTCStatsReport.idl:
  • Modules/mediastream/RTCStatsResponse.idl:
  • Modules/networkinfo/NetworkInfoConnection.idl:
  • Modules/notifications/Notification.idl:
  • Modules/notifications/NotificationCenter.idl:
  • Modules/proximity/DeviceProximityEvent.idl:
  • Modules/quota/StorageInfo.idl:
  • Modules/quota/StorageQuota.idl:
  • Modules/speech/SpeechGrammarList.idl:
  • Modules/speech/SpeechRecognition.idl:
  • Modules/speech/SpeechRecognitionResult.idl:
  • Modules/speech/SpeechRecognitionResultList.idl:
  • Modules/speech/SpeechSynthesis.idl:
  • Modules/webaudio/AnalyserNode.idl:
  • Modules/webaudio/AudioBuffer.idl:
  • Modules/webaudio/AudioBufferSourceNode.idl:
  • Modules/webaudio/AudioContext.idl:
  • Modules/webaudio/AudioListener.idl:
  • Modules/webaudio/AudioNode.idl:
  • Modules/webaudio/AudioParam.idl:
  • Modules/webaudio/BiquadFilterNode.idl:
  • Modules/webaudio/OscillatorNode.idl:
  • Modules/webaudio/PannerNode.idl:
  • Modules/webdatabase/Database.idl:
  • Modules/webdatabase/DatabaseSync.idl:
  • Modules/webdatabase/SQLResultSetRowList.idl:
  • Modules/webdatabase/SQLTransaction.idl:
  • Modules/webdatabase/SQLTransactionSync.idl:
  • Modules/websockets/WebSocket.idl:
11:47 AM Changeset in webkit [157000] by akling@apple.com
  • 9 edits in trunk/Source/WebCore

Tighten AbstractWorker and subclasses a bit.
<https://webkit.org/b/122402>

Reviewed by Darin Adler.

  • Make the Worker and SharedWorker classes final.
  • Have constructors take ScriptExecutionContext by reference.
  • Remove unnecessary AbstractWorker::contextDestroyed() override.
  • Make eventTargetInterface() inline.

Inlining eventTargetInterface() is quite neat - since we only ever
call this on tightly typed pointers from generated code, combining
final and inline turns the virtual call into a compile-time constant.

11:18 AM Changeset in webkit [156999] by zandobersek@gmail.com
  • 49 edits in trunk/Source/WebCore

[WebIDL] Annotate IDL interfaces under Source/WebCore/html/ with the OperationsNotDeletable attribute
https://bugs.webkit.org/show_bug.cgi?id=122280

Reviewed by Darin Adler.

Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
doesn't have any effect, but will keep the operations not configurable after the generator is modified
to preserve the original behavior. The attribute will be removed from each interface after checking
conformity with other browsers (in terms of configurability of operations of that interface) and the
WebKit's existing test suites.

This patch covers IDL interfaces under Source/WebCore/html/.

  • html/DOMFormData.idl:
  • html/DOMSettableTokenList.idl:
  • html/DOMTokenList.idl:
  • html/DOMURL.idl:
  • html/HTMLAllCollection.idl:
  • html/HTMLAnchorElement.idl:
  • html/HTMLButtonElement.idl:
  • html/HTMLCanvasElement.idl:
  • html/HTMLCollection.idl:
  • html/HTMLDocument.idl:
  • html/HTMLElement.idl:
  • html/HTMLEmbedElement.idl:
  • html/HTMLFieldSetElement.idl:
  • html/HTMLFormControlsCollection.idl:
  • html/HTMLFormElement.idl:
  • html/HTMLFrameElement.idl:
  • html/HTMLIFrameElement.idl:
  • html/HTMLInputElement.idl:
  • html/HTMLKeygenElement.idl:
  • html/HTMLMarqueeElement.idl:
  • html/HTMLMediaElement.idl:
  • html/HTMLObjectElement.idl:
  • html/HTMLOptionsCollection.idl:
  • html/HTMLOutputElement.idl:
  • html/HTMLSelectElement.idl:
  • html/HTMLTableElement.idl:
  • html/HTMLTableRowElement.idl:
  • html/HTMLTableSectionElement.idl:
  • html/HTMLTextAreaElement.idl:
  • html/HTMLVideoElement.idl:
  • html/MediaController.idl:
  • html/RadioNodeList.idl:
  • html/TimeRanges.idl:
  • html/canvas/CanvasGradient.idl:
  • html/canvas/CanvasRenderingContext2D.idl:
  • html/canvas/DOMPath.idl:
  • html/canvas/EXTDrawBuffers.idl:
  • html/canvas/OESVertexArrayObject.idl:
  • html/canvas/WebGLDebugShaders.idl:
  • html/canvas/WebGLLoseContext.idl:
  • html/canvas/WebGLRenderingContext.idl:
  • html/track/AudioTrackList.idl:
  • html/track/TextTrack.idl:
  • html/track/TextTrackCue.idl:
  • html/track/TextTrackCueList.idl:
  • html/track/TextTrackList.idl:
  • html/track/TextTrackRegionList.idl:
  • html/track/VideoTrackList.idl:
11:16 AM Changeset in webkit [156998] by akling@apple.com
  • 7 edits in trunk/Source

Pass VM instead of ExecState to StringObject constructor.
<https://webkit.org/b/122395>

Reviewed by Sam Weinig.

StringObject() only uses the ExecState to find the VM.

11:10 AM Changeset in webkit [156997] by zandobersek@gmail.com
  • 32 edits in trunk/Source/WebCore

[WebIIDL] Annotate IDL interfaces under Source/WebCore/svg/ with the OperationsNotDeletable attribute
https://bugs.webkit.org/show_bug.cgi?id=122279

Reviewed by Darin Adler.

Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
doesn't have any effect, but will keep the operations not configurable after the generator is modified
to preserve the original behavior. The attribute will be removed from each interface after checking
conformity with other browsers (in terms of configurability of operations of that interface) and the
WebKit's existing test suites.

This patch covers IDL interfaces under Source/WebCore/svg/.

  • svg/SVGAngle.idl:
  • svg/SVGAnimationElement.idl:
  • svg/SVGColor.idl:
  • svg/SVGCursorElement.idl:
  • svg/SVGDocument.idl:
  • svg/SVGElement.idl:
  • svg/SVGElementInstanceList.idl:
  • svg/SVGException.idl:
  • svg/SVGFEDropShadowElement.idl:
  • svg/SVGFEGaussianBlurElement.idl:
  • svg/SVGFEMorphologyElement.idl:
  • svg/SVGFilterElement.idl:
  • svg/SVGGraphicsElement.idl:
  • svg/SVGLength.idl:
  • svg/SVGLengthList.idl:
  • svg/SVGMarkerElement.idl:
  • svg/SVGMaskElement.idl:
  • svg/SVGMatrix.idl:
  • svg/SVGNumberList.idl:
  • svg/SVGPaint.idl:
  • svg/SVGPathElement.idl:
  • svg/SVGPathSegList.idl:
  • svg/SVGPatternElement.idl:
  • svg/SVGPoint.idl:
  • svg/SVGPointList.idl:
  • svg/SVGSVGElement.idl:
  • svg/SVGStringList.idl:
  • svg/SVGTests.idl:
  • svg/SVGTextContentElement.idl:
  • svg/SVGTransform.idl:
  • svg/SVGTransformList.idl:
11:07 AM Changeset in webkit [156996] by zandobersek@gmail.com
  • 15 edits in trunk/Source/WebCore

[WebIDL] Annotate IDL interfaces under Source/WebCore/page/ with the OperationsNotDeletable attribute
https://bugs.webkit.org/show_bug.cgi?id=122278

Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
doesn't have any effect, but will keep the operations not configurable after the generator is modified
to preserve the original behavior. The attribute will be removed from each interface after checking
conformity with other browsers (in terms of configurability of operations of that interface) and the
WebKit's existing test suites.

This patch covers IDL interfaces under Source/WebCore/page/.

  • page/Console.idl:
  • page/Crypto.idl:
  • page/DOMSecurityPolicy.idl:
  • page/DOMSelection.idl:
  • page/DOMWindow.idl:
  • page/EventSource.idl:
  • page/History.idl:
  • page/Location.idl:
  • page/Navigator.idl:
  • page/Performance.idl:
  • page/PerformanceEntryList.idl:
  • page/SpeechInputResultList.idl:
  • page/WindowBase64.idl:
  • page/WindowTimers.idl:
10:58 AM Changeset in webkit [156995] by mihnea@adobe.com
  • 1 edit
    6 moves in trunk/LayoutTests

[CSSRegions] Rename parsing tests to match current css properties
https://bugs.webkit.org/show_bug.cgi?id=122413

Reviewed by Sam Weinig.

Simple renaming of files, inline with the current stable version of properties.

  • fast/regions/script-tests/webkit-flow-from-parsing.js: Renamed from LayoutTests/fast/regions/script-tests/content-webkit-from-flow-parsing.js.
  • fast/regions/script-tests/webkit-flow-into-parsing.js: Renamed from LayoutTests/fast/regions/script-tests/webkit-flow-parsing.js.
  • fast/regions/webkit-flow-from-parsing-expected.txt: Renamed from LayoutTests/fast/regions/content-webkit-from-flow-parsing-expected.txt.
  • fast/regions/webkit-flow-from-parsing.html: Renamed from LayoutTests/fast/regions/content-webkit-from-flow-parsing.html.
  • fast/regions/webkit-flow-into-parsing-expected.txt: Renamed from LayoutTests/fast/regions/webkit-flow-parsing-expected.txt.
  • fast/regions/webkit-flow-into-parsing.html: Renamed from LayoutTests/fast/regions/webkit-flow-parsing.html.
10:52 AM Changeset in webkit [156994] by Darin Adler
  • 2 edits in trunk/Source/WebCore
  • rendering/RenderButton.cpp:

(WebCore::RenderButton::setupInnerStyle): Added a comment possibly relevant
to current failures seen on Windows bot.

10:44 AM Changeset in webkit [156993] by commit-queue@webkit.org
  • 9 edits in trunk/Source/WebCore

Unreviewed, rolling out r156988.
http://trac.webkit.org/changeset/156988
https://bugs.webkit.org/show_bug.cgi?id=122415

Broke debug build (Requested by ap on #webkit).

  • css/CSSCursorImageValue.h:
  • css/CSSTimingFunctionValue.h:
  • css/CSSToStyleMap.cpp:

(WebCore::CSSToStyleMap::mapAnimationTimingFunction):

  • css/CSSUnicodeRangeValue.h:
  • css/CSSValue.cpp:

(WebCore::CSSValue::destroy):

  • css/DeprecatedStyleBuilder.cpp:

(WebCore::ApplyPropertyCursor::applyValue):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::styleImage):
(WebCore::StyleResolver::styleShader):

  • rendering/style/StylePendingImage.h:

(WebCore::StylePendingImage::cssCursorImageValue):

10:41 AM Changeset in webkit [156992] by Darin Adler
  • 2 edits in trunk/Source/WebKit

Try to fix the Windows build.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

Removed export of non-existent Node::treeScope function returning
a TreeScope*. Probably will have to add an export to fix the next failure.

10:37 AM Changeset in webkit [156991] by gyuyoung.kim@samsung.com
  • 11 edits
    2 moves in trunk/Source/WebCore

Add *CSS* prefix to ShadowValue to generate toCSSShadowValue
https://bugs.webkit.org/show_bug.cgi?id=122409

Reviewed by Darin Adler.

To generate toCSSShadowValue(), we need to add *CSS* prefix to ShadowValue.
It is also to be sync with a naming rule of CSS child value.

No new tests, no behavior changes.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::valueForShadow):

  • css/CSSParser.cpp:

(WebCore::ShadowParseContext::commitValue):

  • css/CSSShadowValue.cpp: Renamed from Source/WebCore/css/ShadowValue.cpp.

(WebCore::CSSShadowValue::CSSShadowValue):
(WebCore::CSSShadowValue::customCSSText):
(WebCore::CSSShadowValue::equals):

  • css/CSSShadowValue.h: Renamed from Source/WebCore/css/ShadowValue.h.

(WebCore::CSSShadowValue::create):

  • css/CSSValue.cpp:

(WebCore::CSSValue::equals):
(WebCore::CSSValue::cssText):
(WebCore::CSSValue::destroy):

  • css/SVGCSSStyleSelector.cpp:

(WebCore::StyleResolver::applySVGProperty):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):
(WebCore::StyleResolver::createFilterOperations):

10:29 AM Changeset in webkit [156990] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Layout Test editing/spelling/context-menu-suggestions-multiword-selection.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=122414

  • platform/mac/TestExpectations: Marked as such.
10:15 AM Changeset in webkit [156989] by Darin Adler
  • 16 edits
    3 deletes in trunk/Source

Remove unneeded ScriptGCEvent class
https://bugs.webkit.org/show_bug.cgi?id=122390

Reviewed by Anders Carlsson.

Source/ThirdParty:

  • gtest/xcode/gtest.xcodeproj/project.pbxproj: Let Xcode update this file.

Not really part of this bug fix, but good to land anyway.

Source/WebCore:

  • GNUmakefile.list.am: Removed ScriptGCEvent files.
  • Target.pri: Ditto.
  • UseJSC.cmake: Ditto.
  • WebCore.exp.in: Ditto.
  • WebCore.vcxproj/WebCore.vcxproj: Ditto.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • bindings/js/JSBindingsAllInOne.cpp: Ditto.
  • bindings/js/ScriptGCEvent.cpp: Removed.
  • bindings/js/ScriptGCEvent.h: Removed.
  • inspector/InspectorMemoryAgent.cpp: Removed include.
  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::start): Removed GC event listening.
Some day we might add it back, but for now it is dead code.
(WebCore::InspectorTimelineAgent::stop): Ditto.
(WebCore::usedHeapSize): Renamed from getUsedHeapSize and put the
implementation here instead of indirecting through ScriptGCEvent.
(WebCore::InspectorTimelineAgent::setDOMCounters): Updated for above changes.
(WebCore::InspectorTimelineAgent::didCompleteCurrentRecord): Ditto.
(WebCore::InspectorTimelineAgent::pushCurrentRecord): Ditto.

  • inspector/InspectorTimelineAgent.h: Removed include.
  • inspector/ScriptGCEventListener.h: Removed.
  • testing/MemoryInfo.h: Updated to get heap capacity and size directly

instead of going through ScriptGCEvent.

Source/WebKit:

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

Replaced symbol from ScriptGCEvent with symbol from JSDOMWindowBase.

10:03 AM Changeset in webkit [156988] by gyuyoung.kim@samsung.com
  • 9 edits in trunk/Source/WebCore

Generate toCSSFooValue() for CSSCursorImageValue, CSSCubicBezierTimingFunctionValue, CSSStepsTimingFunctionValue and CSSUnicodeRangeValue
https://bugs.webkit.org/show_bug.cgi?id=122408

Reviewed by Darin Adler.

As a step to use toCSSFooValue, this patch generates toCSSFooValue() for CSSCursorImageValue,
CSSCubicBezierTimingFunctionValue, CSSStepsTimingFunctionValue and CSSUnicodeRangeValue.
This will help to detect bad type cast.

No new tests, no behavior changes.

  • css/CSSCursorImageValue.h:
  • css/CSSTimingFunctionValue.h:
  • css/CSSToStyleMap.cpp:

(WebCore::CSSToStyleMap::mapAnimationTimingFunction):

  • css/CSSUnicodeRangeValue.h:
  • css/CSSValue.cpp:

(WebCore::CSSValue::destroy):

  • css/DeprecatedStyleBuilder.cpp:

(WebCore::ApplyPropertyCursor::applyValue):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::styleImage):
(WebCore::StyleResolver::styleShader):

  • rendering/style/StylePendingImage.h:

(WebCore::StylePendingImage::cssCursorImageValue):

1:37 AM Changeset in webkit [156987] by akling@apple.com
  • 5 edits in trunk/Source/WebCore

CTTE: Teach CompositeEditCommand that link Nodes are always Elements.
<https://webkit.org/b/122400>

Reviewed by Sam Weinig.

Make pushAnchorElementDown() take an Element& instead of a Node* and
tweak the surrounding code a tiny bit.

1:37 AM Changeset in webkit [156986] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

CTTE: Node::enclosingLinkEventParentOrSelf() should return an Element.
<https://webkit.org/b/122401>

Reviewed by Sam Weinig.

Only Elements are ever linked, so make enclosingLinkEventParentOrSelf()
return an Element* instead of a Node*. The only call site was already
doing toElement() on the return value without checking, so this makes
things look a bit nicer.

12:33 AM Changeset in webkit [156985] by gyuyoung.kim@samsung.com
  • 10 edits
    2 moves in trunk/Source/WebCore

Add *CSS* prefix to FontFeatureValue to generate toCSSFontFeatureValue(), and use it
https://bugs.webkit.org/show_bug.cgi?id=122204

Reviewed by Darin Adler.

*CSS* prefix needs to be added to FontFeatureValue class in order to generate toCSSFontFeatureValue().
static_cast<FontFeatureValue*> is changed with toCSSFontFeatureValue() by using this change.

No new tests, no behavior changes.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue):

  • css/CSSFontFeatureValue.cpp: Renamed from Source/WebCore/css/FontFeatureValue.cpp.

(WebCore::CSSFontFeatureValue::CSSFontFeatureValue):
(WebCore::CSSFontFeatureValue::customCSSText):
(WebCore::CSSFontFeatureValue::equals):

  • css/CSSFontFeatureValue.h: Renamed from Source/WebCore/css/FontFeatureValue.h.

(WebCore::CSSFontFeatureValue::create):
(WebCore::CSSFontFeatureValue::tag):
(WebCore::CSSFontFeatureValue::value):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseFontFeatureTag):

  • css/CSSValue.cpp:

(WebCore::CSSValue::equals):
(WebCore::CSSValue::cssText):
(WebCore::CSSValue::destroy):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

Oct 5, 2013:

9:22 PM Changeset in webkit [156984] by fpizlo@apple.com
  • 51 edits
    4 adds in trunk/Source/JavaScriptCore

Compress DFG stack layout
https://bugs.webkit.org/show_bug.cgi?id=122024

Reviewed by Oliver Hunt.

The DFG needs to be able to store things at a known offset from frame pointer so that
the runtime can read those things. Prior to this patch, the DFG would use the exact
offsets that the bytecode asked for, even in the case of inlining, where it would use
the callsite stack offset to shift all of the inlined function's variables over just as
they would have been if a bytecode interpreter had really made the call.

But this won't work once WebKit-LLVM integration is complete. LLVM has no notion of
storing things at a fixed offset from the frame pointer. We could try to hack LLVM to do
that, but it would seriously complicate LLVM's stack layout. But what we might be able
to do is have LLVM tell us (via an addressof intrinsic and a side-channel) where some
alloca landed relative to the frame pointer. Hence if the DFG can put all of its flushed
variables in a contiguous range that can be expressed to LLVM as a struct that we
alloca, then all of this can still work just fine.

Previously the flushed variables didn't fit in a contiguous range, but this patch makes
them contiguous by allowing the stack layout to be compressed.

What this really means is that there is now a distinction between where the DFG saw a
variable stored in bytecode and where it will actually store it in the resulting machine
code. Henceforth when the DFG says "local" or "virtual register" it means the variable
according to bytecode (with the stack offsetting for inlined code as before), but when
it says "machine local" or "machine virtual register" it means the actual place where it
will store things in the resulting machine code. All of the OSR exit, inlined arguments,
captured variables, and various stack unwinding machine now knows about all of this.

Note that the DFG's abstract interpretation still uses bytecode variables rather than
machine variables. Same for CSE and abstract heaps. This makes sense since it means that
we don't have to decide on machine variable allocation just to do those optimizations.

The decision of what a local's machine location becomes is deferred to very late in
compilation. We only need to assign machine locations to variables that must be stored
to the stack. It's now mandatory to run some kind of "stack layout phase" that makes the
decision and updates all data structures.

So far the way that this is being used is just to compress the DFG stack layout, which
is something that we should have done anyway, a long time ago. And the compression isn't
even that good - the current StackLayoutPhase just identifies local indices that are
unused in machine code and slides all other variables towards zero. This doesn't achieve
particularly good compression but it is better than nothing. Note that this phase makes
it seem like the bytecode-machine mapping is based on bytecode local indices; for
example if bytecode local 4 is mapped to machine local 3 then it always will be. That's
true for the current StackLayoutPhase but it _will not_ be true for all possible stack
layout phases and it would be incorrect to assume that it should be true. This is why
the current data structures have each VariableAccessData hold its own copy of the
machine virtual register, and also have each InlineCallFrame report their own machine
virtual registers for the various things. The DFG backend is likely to always use the
dumb StackLayoutPhase since it is very cheap to run, but the FTL backend is likely to
eventually get a better one, where we do some kind of constraint-based coloring: we
institute constraints where some VariableAccessData's must have the same indices as some
other ones, and also must be right next to some other ones; then we process all
VariableAccessData's and attempt to assign them machine locals while preserving those
constraints. This could lead to two VariableAccessDatas for the same bytecode local
ending up with different machine locals.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::isCaptured):
(JSC::CodeBlock::framePointerOffsetToGetActivationRegisters):
(JSC::CodeBlock::machineSlowArguments):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::hasSlowArguments):

  • bytecode/CodeOrigin.cpp:

(JSC::CodeOrigin::dump):
(JSC::InlineCallFrame::calleeForCallFrame):
(JSC::InlineCallFrame::dumpInContext):

  • bytecode/CodeOrigin.h:

(JSC::InlineCallFrame::InlineCallFrame):
(JSC::InlineCallFrame::calleeConstant):

  • bytecode/Operands.h:

(JSC::Operands::indexForOperand):

  • dfg/DFGBasicBlock.cpp:

(JSC::DFG::BasicBlock::SSAData::SSAData):

  • dfg/DFGBasicBlock.h:
  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::ByteCodeParser):
(JSC::DFG::ByteCodeParser::get):
(JSC::DFG::ByteCodeParser::getLocal):
(JSC::DFG::ByteCodeParser::flushDirect):
(JSC::DFG::ByteCodeParser::flush):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
(JSC::DFG::ByteCodeParser::parse):

  • dfg/DFGCommon.h:
  • dfg/DFGCommonData.h:

(JSC::DFG::CommonData::CommonData):

  • dfg/DFGDesiredWriteBarriers.cpp:

(JSC::DFG::DesiredWriteBarrier::trigger):

  • dfg/DFGDesiredWriteBarriers.h:
  • dfg/DFGFlushLivenessAnalysisPhase.cpp:

(JSC::DFG::FlushLivenessAnalysisPhase::run):
(JSC::DFG::FlushLivenessAnalysisPhase::process):
(JSC::DFG::FlushLivenessAnalysisPhase::reportError):

  • dfg/DFGFlushedAt.cpp: Added.

(JSC::DFG::FlushedAt::dump):
(JSC::DFG::FlushedAt::dumpInContext):

  • dfg/DFGFlushedAt.h: Added.

(JSC::DFG::FlushedAt::FlushedAt):
(JSC::DFG::FlushedAt::operator!):
(JSC::DFG::FlushedAt::format):
(JSC::DFG::FlushedAt::virtualRegister):
(JSC::DFG::FlushedAt::operator==):
(JSC::DFG::FlushedAt::operator!=):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::Graph):
(JSC::DFG::Graph::dump):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::bytecodeRegisterForArgument):
(JSC::DFG::Graph::argumentsRegisterFor):
(JSC::DFG::Graph::machineArgumentsRegisterFor):
(JSC::DFG::Graph::uncheckedArgumentsRegisterFor):
(JSC::DFG::Graph::activationRegister):
(JSC::DFG::Graph::uncheckedActivationRegister):
(JSC::DFG::Graph::machineActivationRegister):
(JSC::DFG::Graph::uncheckedMachineActivationRegister):

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::link):

  • dfg/DFGJITCompiler.h:

(JSC::DFG::JITCompiler::noticeOSREntry):

  • dfg/DFGNode.h:

(JSC::DFG::Node::convertToGetLocalUnlinked):
(JSC::DFG::Node::convertToGetLocal):
(JSC::DFG::Node::machineLocal):
(JSC::DFG::Node::hasUnlinkedMachineLocal):
(JSC::DFG::Node::setUnlinkedMachineLocal):
(JSC::DFG::Node::unlinkedMachineLocal):
(JSC::DFG::Node::hasInlineStartData):
(JSC::DFG::Node::inlineStartData):

  • dfg/DFGNodeFlags.cpp:

(JSC::DFG::dumpNodeFlags):

  • dfg/DFGOSREntry.cpp:

(JSC::DFG::prepareOSREntry):

  • dfg/DFGOSREntry.h:

(JSC::DFG::OSREntryReshuffling::OSREntryReshuffling):

  • dfg/DFGOSRExitCompiler64.cpp:

(JSC::DFG::OSRExitCompiler::compileExit):

  • dfg/DFGOSRExitCompilerCommon.cpp:

(JSC::DFG::reifyInlinedCallFrames):

  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThreadImpl):

  • dfg/DFGScoreBoard.h:

(JSC::DFG::ScoreBoard::ScoreBoard):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileInlineStart):
(JSC::DFG::SpeculativeJIT::compileCurrentBlock):
(JSC::DFG::SpeculativeJIT::createOSREntries):
(JSC::DFG::SpeculativeJIT::compileGetByValOnArguments):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::calleeFrameOffset):
(JSC::DFG::SpeculativeJIT::callFrameSlot):
(JSC::DFG::SpeculativeJIT::argumentSlot):
(JSC::DFG::SpeculativeJIT::callFrameTagSlot):
(JSC::DFG::SpeculativeJIT::callFramePayloadSlot):
(JSC::DFG::SpeculativeJIT::argumentTagSlot):
(JSC::DFG::SpeculativeJIT::argumentPayloadSlot):
(JSC::DFG::SpeculativeJIT::framePointerOffsetToGetActivationRegisters):
(JSC::DFG::SpeculativeJIT::callOperation):
(JSC::DFG::SpeculativeJIT::recordSetLocal):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • dfg/DFGStackLayoutPhase.cpp: Added.

(JSC::DFG::StackLayoutPhase::StackLayoutPhase):
(JSC::DFG::StackLayoutPhase::run):
(JSC::DFG::performStackLayout):

  • dfg/DFGStackLayoutPhase.h: Added.
  • dfg/DFGValidate.cpp:

(JSC::DFG::Validate::validate):

  • dfg/DFGVariableAccessData.h:

(JSC::DFG::VariableAccessData::machineLocal):
(JSC::DFG::VariableAccessData::flushedAt):

  • dfg/DFGVirtualRegisterAllocationPhase.cpp:

(JSC::DFG::VirtualRegisterAllocationPhase::run):

  • ftl/FTLExitValue.h:

(JSC::FTL::ExitValue::inJSStack):
(JSC::FTL::ExitValue::inJSStackAsInt32):
(JSC::FTL::ExitValue::inJSStackAsInt52):
(JSC::FTL::ExitValue::inJSStackAsDouble):
(JSC::FTL::ExitValue::virtualRegister):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileGetArgument):
(JSC::FTL::LowerDFGToLLVM::compileGetLocal):
(JSC::FTL::LowerDFGToLLVM::compileSetLocal):
(JSC::FTL::LowerDFGToLLVM::initializeOSRExitStateForBlock):
(JSC::FTL::LowerDFGToLLVM::emitOSRExitCall):

  • ftl/FTLOSRExitCompiler.cpp:

(JSC::FTL::compileStub):

  • ftl/FTLValueSource.cpp:

(JSC::FTL::ValueSource::dump):

  • ftl/FTLValueSource.h:

(JSC::FTL::ValueSource::ValueSource):
(JSC::FTL::ValueSource::kind):
(JSC::FTL::ValueSource::operator!):
(JSC::FTL::ValueSource::node):
(JSC::FTL::ValueSource::virtualRegister):

  • interpreter/Interpreter.cpp:

(JSC::unwindCallFrame):

  • interpreter/StackVisitor.cpp:

(JSC::StackVisitor::readInlinedFrame):
(JSC::StackVisitor::Frame::createArguments):
(JSC::StackVisitor::Frame::existingArguments):

  • interpreter/StackVisitor.h:
  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::addressFor):
(JSC::AssemblyHelpers::tagFor):
(JSC::AssemblyHelpers::payloadFor):
(JSC::AssemblyHelpers::offsetOfArgumentsIncludingThis):

  • runtime/Arguments.cpp:

(JSC::Arguments::tearOff):

  • runtime/Arguments.h:

(JSC::Arguments::allocateSlowArguments):
(JSC::Arguments::tryDeleteArgument):
(JSC::Arguments::isDeletedArgument):
(JSC::Arguments::isArgument):
(JSC::Arguments::argument):
(JSC::Arguments::finishCreation):

  • runtime/JSActivation.h:

(JSC::JSActivation::create):
(JSC::JSActivation::JSActivation):

  • runtime/JSFunction.cpp:

(JSC::RetrieveArgumentsFunctor::operator()):

8:16 PM Changeset in webkit [156983] by fpizlo@apple.com
  • 2 edits in trunk/Tools

run-jsc-stress-tests should be less verbose
https://bugs.webkit.org/show_bug.cgi?id=122397

Reviewed by Sam Weinig.

It now just prints something like:

965/1831 ....


Where the first number is the number of tests that completed, the second number is the
number of tests total, and the dots are the number of tests running right now - which is
useful towards the end when you're waiting for the last slow tests to finish.

It will also print out the output from failing tests and it will print a line for skipped
tests (to annoy you into getting them into a shape where they can be unskipped). For
example, for LayoutTests, it will print just the diff, if the test fails. It's cool.

  • Scripts/run-jsc-stress-tests:
7:32 PM Changeset in webkit [156982] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

FrameSelection: Remove two unused member functions.

Rubber-stamped by Anders Carlsson.

  • rootEditableElementOrTreeScopeRootNode()
  • rootEditableElementRespectingShadowTree()
7:30 PM Changeset in webkit [156981] by akling@apple.com
  • 45 edits in trunk/Source/WebCore

CTTE: Node::treeScope() should return a reference.
<https://webkit.org/b/122399>

Reviewed by Superlative Sam.

Every Node belongs to a TreeScope. To enforce this, I've made
treeScope() return a TreeScope&, and setTreeScope() now takes a
TreeScope& so there is no way to clear it.

6:08 PM Changeset in webkit [156980] by weinig@apple.com
  • 45 edits in trunk/Source/WebCore

CTTE: Use references more for the Document parser
https://bugs.webkit.org/show_bug.cgi?id=122398

Reviewed by Andreas Kling.

Clarify the construction semantics of Document parsers.

5:34 PM Changeset in webkit [156979] by dbates@webkit.org
  • 3 edits in trunk/Source/WebCore

[iOS] Default initialize Settings::setFixedPositionCreatesStackingContext() to true
https://bugs.webkit.org/show_bug.cgi?id=122338
<rdar://problem/14908151>

Reviewed by Darin Adler.

On iOS we always want an element with a fixed position to create a stacking context.
See <rdar://problem/9813262> for more details.

  • page/Settings.cpp: Define constant defaultFixedPositionCreatesStackingContext to

be true when building for iOS and false otherwise.

  • page/Settings.in: Initialize the setting fixedPositionCreatesStackingContext with

the value of the constant defaultFixedPositionCreatesStackingContext.

4:59 PM Changeset in webkit [156978] by weinig@apple.com
  • 17 edits in trunk/Source

CTTE: Pass DocumentWriter around as a reference
https://bugs.webkit.org/show_bug.cgi?id=122396

Reviewed by Andreas Kling.

../WebCore:

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::executeIfJavaScriptURL):

  • dom/DecodedDataDocumentParser.cpp:

(WebCore::DecodedDataDocumentParser::appendBytes):
(WebCore::DecodedDataDocumentParser::flush):

  • dom/DecodedDataDocumentParser.h:
  • dom/DocumentParser.h:
  • dom/RawDataDocumentParser.h:

(WebCore::RawDataDocumentParser::flush):

  • html/ImageDocument.cpp:

(WebCore::ImageDocumentParser::appendBytes):

  • html/MediaDocument.cpp:

(WebCore::MediaDocumentParser::appendBytes):
(WebCore::MediaDocument::replaceMediaElementTimerFired):

  • html/PluginDocument.cpp:

(WebCore::PluginDocumentParser::createDocumentStructure):
(WebCore::PluginDocumentParser::appendBytes):

  • inspector/InspectorOverlay.cpp:

(WebCore::InspectorOverlay::overlayPage):

  • loader/DocumentLoader.h:

(WebCore::DocumentLoader::writer):

  • loader/DocumentWriter.cpp:

(WebCore::DocumentWriter::addData):
(WebCore::DocumentWriter::end):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::transitionToCommitted):

  • loader/SinkDocument.cpp:

(WebCore::SinkDocumentParser::appendBytes):

  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::dataChanged):

../WebKit/mac:

  • WebView/WebFrame.mm:

(-[WebFrame _canProvideDocumentSource]):

4:56 PM Changeset in webkit [156977] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

FrameView: Remove code for disabling repaints.
<https://webkit.org/b/122393>

Reviewed by Sam Weinig.

Nobody uses this mode for anything so let's just remove it.

It was added back in r110469 to fix an issue with SVGImageCache
and its only user disappeard in the cache overhaul in r142765.

4:53 PM Changeset in webkit [156976] by fpizlo@apple.com
  • 6 edits in trunk

Allow skipping of run-jsc-stress-tests that are configured using yaml files
https://bugs.webkit.org/show_bug.cgi?id=122385

Tools:

Reviewed by Sam Wieinig.

Make tests run via YAML be able to do the parse-for-commands trick that allows
us to skip tests and do other custom per-test stuff.

  • Scripts/jsc-stress-test-helpers/layout-test-helper:
  • Scripts/run-jsc-stress-tests:

LayoutTests:

Reviewed by Sam Weinig.

The way that we "skip" tests is by having a custom command at the top using @ notation,
and then use "
@ skip". But the machinery to do that also allows us to do things like
run tests in a no-concurrent-JIT mode - so I've also implemented that in this patch.

Use the skip machinery to skip large-expressions.js.

  • js/script-tests/large-expressions.js:
  • jsc-layout-tests.yaml:
4:02 PM Changeset in webkit [156975] by akling@apple.com
  • 1 edit
    2 deletes in trunk/Source/WebCore

Remove IFrameShimSupport, it was only used by dead ports.

Rubber-stamped by Anders Carlsson.

  • plugins/IFrameShimSupport.cpp: Removed.
  • plugins/IFrameShimSupport.h: Removed.
3:57 PM Changeset in webkit [156974] by akling@apple.com
  • 34 deletes in trunk

Remove remaining Qt files.

Rubber-stamped by Anders Carlsson.

2:57 PM Changeset in webkit [156973] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Try to fix the GTK+ build.

  • UIProcess/gtk/WebPageProxyGtk.cpp:

(WebKit::WebPageProxy::platformInitialize):

2:53 PM Changeset in webkit [156972] by andersca@apple.com
  • 19 edits in trunk/Source

Clean up MessageQueue.h
https://bugs.webkit.org/show_bug.cgi?id=122392

Reviewed by Andreas Kling.

Source/WebCore:

Update for changes to MessageQueue, mostly changing create functions to return std::unique_ptr.
I intentionally avoided using std::make_unique in a couple of places because I didn't want to make nested classes
public, and I believe that we can change some of this code to use std::function.

  • Modules/webaudio/AsyncAudioDecoder.cpp:

(WebCore::AsyncAudioDecoder::decodeAsync):
(WebCore::AsyncAudioDecoder::runLoop):
(WebCore::AsyncAudioDecoder::DecodingTask::create):

  • Modules/webaudio/AsyncAudioDecoder.h:
  • Modules/webdatabase/Database.cpp:

(WebCore::Database::markAsDeletedAndClose):
(WebCore::Database::tableNames):

  • Modules/webdatabase/DatabaseBackend.cpp:

(WebCore::DatabaseBackend::openAndVerifyVersion):
(WebCore::DatabaseBackend::scheduleTransaction):
(WebCore::DatabaseBackend::scheduleTransactionStep):

  • Modules/webdatabase/DatabaseTask.h:

(WebCore::DatabaseBackend::DatabaseOpenTask::create):
(WebCore::DatabaseBackend::DatabaseCloseTask::create):
(WebCore::DatabaseBackend::DatabaseTransactionTask::create):
(WebCore::DatabaseBackend::DatabaseTableNamesTask::create):

  • Modules/webdatabase/DatabaseThread.cpp:

(WebCore::DatabaseThread::databaseThread):
(WebCore::DatabaseThread::scheduleTask):
(WebCore::DatabaseThread::scheduleImmediateTask):
(WebCore::SameDatabasePredicate::operator()):

  • Modules/webdatabase/DatabaseThread.h:
  • dom/default/PlatformMessagePortChannel.cpp:

(WebCore::PlatformMessagePortChannel::EventData::create):
(WebCore::MessagePortChannel::tryGetMessageFromRemote):

  • dom/default/PlatformMessagePortChannel.h:

(WebCore::PlatformMessagePortChannel::MessagePortQueue::tryGetMessage):
(WebCore::PlatformMessagePortChannel::MessagePortQueue::appendAndCheckEmpty):

  • fileapi/FileThread.cpp:

(WebCore::FileThread::postTask):
(WebCore::SameInstancePredicate::operator()):
(WebCore::FileThread::runLoop):

  • fileapi/FileThread.h:
  • fileapi/FileThreadTask.h:

(WebCore::createFileThreadTask):

  • storage/StorageThread.cpp:

(WebCore::StorageThread::threadEntryPoint):
(WebCore::StorageThread::dispatch):
(WebCore::StorageThread::terminate):

  • workers/WorkerRunLoop.cpp:

(WebCore::ModePredicate::operator()):
(WebCore::WorkerRunLoop::runInMode):
(WebCore::WorkerRunLoop::runCleanupTasks):
(WebCore::WorkerRunLoop::Task::create):

  • workers/WorkerRunLoop.h:

Source/WTF:

Make MessageQueue use std::unique_ptr and change findIf and removeIf to take const references.

  • wtf/Deque.h:

Change findIf to take an rvalue reference.

  • wtf/MessageQueue.h:

(WTF::::append):
(WTF::::appendAndKill):
(WTF::::appendAndCheckEmpty):
(WTF::::prepend):
(WTF::::removeIf):

12:27 PM Changeset in webkit [156971] by dino@apple.com
  • 4 edits in trunk/Source/WebCore

[WebGL] program should not be able to link if a bad shader is attached
https://bugs.webkit.org/show_bug.cgi?id=94036

Reviewed by Darin Adler.

If you attempt to link a program when bad shaders are attached, the
link should fail. WebGL also requires that the previously linked
program should remain intact. We were doing the former, but not
the latter.

Fix this by not calling glLinkProgram if we know we have bad
shaders, and synthesize a bad link status instead.

Test: WebGL conformance test conformance/programs/program-test.html
(found in LayoutTests/webgl)

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::compileShader): Mark a shader as valid
if it compiled ok.
(WebCore::WebGLRenderingContext::linkProgram): Don't call into GraphicsContext3D::linkProgram
if we know that we don't have valid shaders.

  • html/canvas/WebGLShader.cpp:

(WebCore::WebGLShader::WebGLShader): Initialize m_isValid.

  • html/canvas/WebGLShader.h:

(WebCore::WebGLShader::isValid): New member variable getter and setter.
(WebCore::WebGLShader::setValid):

12:21 PM Changeset in webkit [156970] by dino@apple.com
  • 3 edits in trunk/Source/WebCore

Undo texture unit code refactoring - it is ok to bind a texture to multiple locations
https://bugs.webkit.org/show_bug.cgi?id=122369
<rdar://problem/15158465>

Reviewed by Darin Adler.

The optimisation in r152351 (http://webkit.org/b/117868) incorrectly
assumes that a texture cannot be bound to more than one location.
That's true only within the same program object. It's legal to
address TEXTURE_BINDING_2D and TEXTURE_BINDING_CUBE_MAP with the
same texture in different programs.

See https://github.com/KhronosGroup/WebGL/pull/391 for more information.

This change reverts the optimisation, but also does some minor
cleanup (0 -> nullptr, class -> struct).

Covered by the following Khronos WebGL 1.0.1 tests, which
now pass:

  • conformance/more/functions/texImage2DHTML.html
  • conformance/more/functions/texSubImage2D.html
  • conformance/more/functions/texSubImage2DHTML.html
  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::~WebGLRenderingContext):
(WebCore::WebGLRenderingContext::reshape):
(WebCore::WebGLRenderingContext::bindTexture):
(WebCore::WebGLRenderingContext::deleteTexture):
(WebCore::WebGLRenderingContext::getParameter):
(WebCore::WebGLRenderingContext::handleNPOTTextures):
(WebCore::WebGLRenderingContext::validateTextureBinding):
(WebCore::WebGLRenderingContext::restoreCurrentTexture2D):

  • html/canvas/WebGLRenderingContext.h:
12:02 PM Changeset in webkit [156969] by andersca@apple.com
  • 2 edits in trunk/Source/WTF

Try to #define final to sealed when building with MSVC
https://bugs.webkit.org/show_bug.cgi?id=122386

Reviewed by Darin Adler.

  • wtf/Compiler.h:
11:59 AM Changeset in webkit [156968] by andersca@apple.com
  • 34 edits in trunk/Source

Remove createOwned
https://bugs.webkit.org/show_bug.cgi?id=122388

Reviewed by Darin Adler.

Source/JavaScriptCore:

  • profiler/ProfilerDatabase.cpp:

(JSC::Profiler::Database::save):

Source/WebCore:

  • dom/Document.cpp:

(WebCore::Document::Document):
(WebCore::Document::~Document):
(WebCore::Document::createRenderTree):
(WebCore::Document::destroyRenderTree):

  • dom/Document.h:
  • page/Frame.cpp:

(WebCore::Frame::Frame):

  • page/Frame.h:
  • page/animation/AnimationController.cpp:

(WebCore::AnimationController::AnimationController):

  • page/animation/AnimationController.h:
  • platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.h:
  • platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.h:
  • platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.mm:

(WebCore::AudioTrackPrivateAVFObjC::AudioTrackPrivateAVFObjC):
(WebCore::AudioTrackPrivateAVFObjC::setPlayerItemTrack):

  • platform/graphics/avfoundation/objc/VideoTrackPrivateAVFObjC.cpp:

(WebCore::VideoTrackPrivateAVFObjC::VideoTrackPrivateAVFObjC):
(WebCore::VideoTrackPrivateAVFObjC::setPlayerItemTrack):

  • platform/graphics/avfoundation/objc/VideoTrackPrivateAVFObjC.h:
  • rendering/svg/RenderSVGResourceClipper.cpp:

(WebCore::RenderSVGResourceClipper::applyClippingToContext):

  • rendering/svg/RenderSVGResourceClipper.h:
  • rendering/svg/RenderSVGResourceFilter.cpp:

(WebCore::RenderSVGResourceFilter::applyResource):

  • rendering/svg/RenderSVGResourceFilter.h:
  • rendering/svg/RenderSVGResourceMasker.cpp:

(WebCore::RenderSVGResourceMasker::applyResource):

  • rendering/svg/RenderSVGResourceMasker.h:

Source/WebKit2:

  • UIProcess/API/mac/WKView.mm:

(-[WKView _setFindIndicator:fadeOut:animate:]):

  • WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:

(WKBundlePageOverlayCreate):

Source/WTF:

Since we're going with std::unique_ptr instead of OwnPtr, there's no need for makeOwned to exist.
Get rid of it and replace it with calls to std::make_unique.

  • wtf/FilePrintStream.cpp:

(WTF::FilePrintStream::open):

  • wtf/FilePrintStream.h:
  • wtf/HashTable.h:

(WTF::::HashTable):

  • wtf/ListHashSet.h:

(WTF::::ListHashSet):

  • wtf/OwnPtr.h:
  • wtf/Threading.cpp:

(WTF::compatEntryPoint):
(WTF::createThread):

  • wtf/ThreadingPthreads.cpp:

(WTF::wtfThreadEntryPoint):
(WTF::createThreadInternal):

  • wtf/unicode/Collator.h:
  • wtf/unicode/CollatorDefault.cpp:

(WTF::Collator::userDefault):

  • wtf/unicode/icu/CollatorICU.cpp:

(WTF::Collator::userDefault):

11:32 AM Changeset in webkit [156967] by Darin Adler
  • 10 edits in trunk/Source

Remove COMPILER_SUPPORTS(CXX_RVALUE_REFERENCES) since it's required now
https://bugs.webkit.org/show_bug.cgi?id=122387

Reviewed by Anders Carlsson.

Source/WebCore:

  • html/canvas/CanvasStyle.h: Take out conditionals.

Source/WebKit2:

  • UIProcess/API/cpp/WKRetainPtr.h: Take out conditionals.

Source/WTF:

  • wtf/RefPtr.h:
  • wtf/RetainPtr.h:
  • wtf/Vector.h:
  • wtf/text/AtomicString.h:
  • wtf/text/WTFString.h:

Take out conditionals.

11:31 AM Changeset in webkit [156966] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit/gtk

Unreviewed GTK build fix after r156946. The framePolicyFunction is an attribute
on the WebKitWebPolicyDecisionPrivate object.

  • webkit/webkitwebpolicydecision.cpp:

(webkit_web_policy_decision_use):
(webkit_web_policy_decision_ignore):
(webkit_web_policy_decision_download):

11:22 AM Changeset in webkit [156965] by Darin Adler
  • 22 edits in trunk/Source

Add AtomicString::number and use it
https://bugs.webkit.org/show_bug.cgi?id=122384

Reviewed by Anders Carlsson.

Source/WebCore:

  • css/CSSGrammar.y.in: Use AtomicString::number instead of String::number since

we are creating an AtomicString. This can save a memory allocation if the string
happens to already be in the atomic string table.

  • dom/Element.cpp:

(WebCore::Element::setIntegralAttribute): Ditto.
(WebCore::Element::setUnsignedIntegralAttribute): Ditto.

  • editing/BreakBlockquoteCommand.cpp:

(WebCore::BreakBlockquoteCommand::doApply): Ditto.

  • html/HTMLBodyElement.cpp:

(WebCore::HTMLBodyElement::insertedInto): Use setIntegralAttribute instead of
a local homegrown equivalent.

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::setHeight): Ditto.
(WebCore::HTMLCanvasElement::setWidth): Ditto.

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::setTabIndex): Ditto.

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::setHeight): Ditto.
(WebCore::HTMLImageElement::setWidth): Ditto.

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::setMaxLength): Ditto.
(WebCore::HTMLInputElement::setSize): Same, but setUnsignedIntegralAttribute.
(WebCore::HTMLInputElement::setHeight): Ditto.
(WebCore::HTMLInputElement::setWidth): Ditto.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::mediaPlayerSetSize): Ditto.

  • html/HTMLMeterElement.cpp:

(WebCore::HTMLMeterElement::setMin): More of the same.
(WebCore::HTMLMeterElement::setMax): Ditto.
(WebCore::HTMLMeterElement::setValue): Ditto.
(WebCore::HTMLMeterElement::setLow): Ditto.
(WebCore::HTMLMeterElement::setHigh): Ditto.
(WebCore::HTMLMeterElement::setOptimum): Ditto.

  • html/HTMLOListElement.cpp:

(WebCore::HTMLOListElement::setStart): Ditto.

  • html/HTMLProgressElement.cpp:

(WebCore::HTMLProgressElement::setValue): Ditto.
(WebCore::HTMLProgressElement::setMax): Ditto.

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::parseAttribute): Ditto.
(WebCore::HTMLSelectElement::setSize): Ditto.

  • html/HTMLTableCellElement.cpp:

(WebCore::HTMLTableCellElement::setColSpan): Ditto.
(WebCore::HTMLTableCellElement::setRowSpan): Ditto.

  • html/HTMLTableColElement.cpp:

(WebCore::HTMLTableColElement::setSpan): Ditto.

  • html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::setMaxLength): Ditto.
(WebCore::HTMLTextAreaElement::setCols): Ditto.
(WebCore::HTMLTextAreaElement::setRows): Ditto.

  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlTimelineElement::setDuration): Ditto.

Source/WTF:

  • wtf/text/AtomicString.cpp:

(WTF::AtomicString::number): Added.

  • wtf/text/AtomicString.h: Ditto.
  • wtf/text/IntegerToStringConversion.h: Simplify includes, renamed ConversionTrait to

IntegerToStringConversionTrait. Changed String version to use String since we no longer
need to use PassRefPtr to efficiently handle return values. Replaced UnsignedIntegerTrait
with std::make_unsigned. Added AtomicString support. Use nullptr instead of 0.

11:04 AM Changeset in webkit [156964] by Darin Adler
  • 16 edits in trunk/Source

Cut down on use of String::number
https://bugs.webkit.org/show_bug.cgi?id=122382

Reviewed by Anders Carlsson.

Source/JavaScriptCore:

  • API/JSCallbackObjectFunctions.h:

(JSC::JSCallbackObject::putByIndex): Use Identifier::from instead of calling
String::number and creating an identifier from that. Can save creating and then
destroying a string if an identifier already exists.

  • runtime/Arguments.cpp:

(JSC::Arguments::getOwnPropertySlotByIndex): Ditto.
(JSC::Arguments::getOwnPropertyNames): Ditto.
(JSC::Arguments::putByIndex): Ditto.

  • runtime/JSGenericTypedArrayViewInlines.h:

(JSC::::getOwnPropertyNames): Ditto.

  • runtime/StringObject.cpp:

(JSC::StringObject::getOwnPropertyNames): Ditto.

Source/WebCore:

  • css/CSSGradientValue.cpp:

(WebCore::CSSLinearGradientValue::customCSSText): Use StringBuilder::appendNumber,
instead of creating a string and then appending it.
(WebCore::CSSRadialGradientValue::customCSSText): Ditto.

  • css/CSSParser.cpp:

(WebCore::CSSParser::createKeyframe): Ditto.

  • editing/DeleteButtonController.cpp:

(WebCore::DeleteButtonController::createDeletionUI): Use ASCII literals instead of
converting numeric constants to strings at runtime with String::number.
(WebCore::DeleteButtonController::show): Ditto.

  • svg/SVGNumberList.cpp:

(WebCore::SVGNumberList::valueAsString): Use StringBuilder::appendNumber.

  • svg/SVGPointList.cpp:

(WebCore::SVGPointList::valueAsString): Ditto.

  • svg/SVGRect.h: Ditto.

Source/WebKit2:

  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::dumpChangedLayers): Use StringBuilder::appendNumber.

Source/WTF:

  • wtf/DateMath.cpp:

(WTF::appendTwoDigitNumber): Added. Replaces twoDigitStringFromNumber, which returned a
String and also allocated a temporary string for any number 10 or higher.
(WTF::makeRFC2822DateString): Updated to use the new function.

10:45 AM Changeset in webkit [156963] by andersca@apple.com
  • 6 edits in trunk/Source

Test the waters and begin using lambdas
https://bugs.webkit.org/show_bug.cgi?id=121809

Reviewed by Andreas Kling.

Source/WebCore:

Use lambdas instead of static functions and function objects.

  • css/MediaQuery.cpp:

(WebCore::MediaQuery::MediaQuery):

  • dom/MutationObserver.cpp:

(WebCore::MutationObserver::deliverAllMutations):

  • page/CaptionUserPreferences.cpp:

(WebCore::CaptionUserPreferences::sortedTrackListForMenu):

Source/WTF:

  • wtf/ListDump.h:

(WTF::sortedListDump):
Use std::less instead of a custom lessThan function.

10:07 AM Changeset in webkit [156962] by Manuel Rego Casasnovas
  • 2 edits
    8 adds in trunk/LayoutTests

[CSS Regions] Layout Test for selecting text ignoring region content
https://bugs.webkit.org/show_bug.cgi?id=122353

Reviewed by Darin Adler.

Add new reftests for selecting text in texts wrapping a region, where
the region content is ignored. It compares the behavior (highlighted
text and selected content) in regions and absolute positions.

Absolute positioned elements do not fill the gaps on the right during
the selection, unlike regular elements. This is the reason why some
regular elements are floated in order to avoid such problems in the
reftests.

Provided layout tests for different writing models.

  • fast/regions/resources/region-style.css: New CSS classes required for these tests.
  • fast/regions/selection/selecting-text-ignoring-region-expected.html: Added.
  • fast/regions/selection/selecting-text-ignoring-region-horiz-bt-expected.html: Added.
  • fast/regions/selection/selecting-text-ignoring-region-horiz-bt.html: Added.
  • fast/regions/selection/selecting-text-ignoring-region-vert-lr-expected.html: Added.
  • fast/regions/selection/selecting-text-ignoring-region-vert-lr.html: Added.
  • fast/regions/selection/selecting-text-ignoring-region-vert-rl-expected.html: Added.
  • fast/regions/selection/selecting-text-ignoring-region-vert-rl.html: Added.
  • fast/regions/selection/selecting-text-ignoring-region.html: Added.
10:06 AM Changeset in webkit [156961] by gyuyoung.kim@samsung.com
  • 11 edits
    2 moves in trunk/Source/WebCore

Add *CSS* prefix to FontValue to generate toCSSFontValue()
https://bugs.webkit.org/show_bug.cgi?id=122201

Reviewed by Darin Adler.

*CSS* prefix needs to be added to FontValue class in order to generate toCSSFontValue().
static_cast<FontValue*> is changed with toCSSFontValue() by this change.

No new tests, no behavior changes.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue):

  • css/CSSFontValue.cpp: Renamed from Source/WebCore/css/FontValue.cpp.

(WebCore::CSSFontValue::customCSSText):
(WebCore::CSSFontValue::equals):

  • css/CSSFontValue.h: Renamed from Source/WebCore/css/FontValue.h.

(WebCore::CSSFontValue::create):
(WebCore::CSSFontValue::CSSFontValue):

  • css/CSSParser.cpp:
  • css/CSSValue.cpp:

(WebCore::CSSValue::equals):
(WebCore::CSSValue::cssText):
(WebCore::CSSValue::destroy):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

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

Fix cut and paste errors.

  • Configurations/WebKit2.xcconfig:
9:55 AM Changeset in webkit [156959] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Add the rest of the std::function weak symbols in an attempt to fix the Lion build.

  • Configurations/WebKit2.xcconfig:
9:48 AM Changeset in webkit [156958] by fpizlo@apple.com
  • 2 edits in trunk/Tools

Unreviewed, fix tests on older Rubies.

  • Scripts/run-jsc-stress-tests:
9:46 AM Changeset in webkit [156957] by andersca@apple.com
  • 4 edits in trunk

Source/WebKit2: Another attempt at fixing the Lion build.

  • Configurations/WebKit2.xcconfig:

Tools: Don't filter the weak symbols.

  • Scripts/check-for-weak-vtables-and-externals:
9:32 AM Changeset in webkit [156956] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Attempt to fix the Lion build.

  • Configurations/WebKit2.xcconfig:

Try unexporting one of the weak symbols for now. If this succeeds, I'll add the rest.

9:27 AM Changeset in webkit [156955] by fpizlo@apple.com
  • 4 edits
    2 adds in trunk

Have run-javascriptcore-tests run JS LayoutTests using run-jsc-stress-tests so that it runs in parallel
https://bugs.webkit.org/show_bug.cgi?id=122376

Tools:

Reviewed by Mark Hahnenberg.

  • Scripts/jsc-stress-test-helpers/layout-test-helper: Added.
  • Scripts/run-javascriptcore-tests:

(printThingsFound):

  • Scripts/run-jsc-stress-tests:

LayoutTests:

Reviewed by Mark Hahnenberg.

Add a yaml file describing which directories contain JS LayoutTests. run-jsc-stress-tests
will use this file.

  • jsc-layout-tests.yaml: Added.
8:55 AM Changeset in webkit [156954] by commit-queue@webkit.org
  • 34 edits in trunk/Source/WebCore

Unreviewed, rolling out r156952.
http://trac.webkit.org/changeset/156952
https://bugs.webkit.org/show_bug.cgi?id=122381

Made svg/custom/large-image-pattern-crash.html assert
(Requested by ap on #webkit).

  • rendering/InlineBox.cpp:

(WebCore::InlineBox::paint):

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

(WebCore::InlineFlowBox::paintBoxDecorations):
(WebCore::InlineFlowBox::paintMask):

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paint):

  • rendering/PaintInfo.h:

(WebCore::PaintInfo::shouldPaintWithinRoot):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::paint):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::paint):
(WebCore::RenderBox::paintBoxDecorations):
(WebCore::RenderBox::paintMask):

  • rendering/RenderBox.h:
  • rendering/RenderElement.h:
  • rendering/RenderFieldset.cpp:

(WebCore::RenderFieldset::paintBoxDecorations):

  • rendering/RenderFrameSet.cpp:

(WebCore::RenderFrameSet::paint):

  • rendering/RenderLineBreak.h:
  • rendering/RenderObject.cpp:

(WebCore::RenderObject::paint):

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

(WebCore::RenderReplaced::paint):
(WebCore::RenderReplaced::shouldPaint):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::paintObject):
(WebCore::RenderTable::paintBoxDecorations):

  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::paintCollapsedBorders):
(WebCore::RenderTableCell::paintBackgroundsBehindCell):
(WebCore::RenderTableCell::paintBoxDecorations):

  • rendering/RenderTableCol.h:
  • rendering/RenderText.h:
  • rendering/RenderView.cpp:

(WebCore::RenderView::paint):
(WebCore::RenderView::paintBoxDecorations):

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::paintEllipsisBox):
(WebCore::RootInlineBox::paintCustomHighlight):

  • rendering/svg/RenderSVGContainer.cpp:

(WebCore::RenderSVGContainer::paint):

  • rendering/svg/RenderSVGGradientStop.h:
  • rendering/svg/RenderSVGResourceClipper.cpp:

(WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):

  • rendering/svg/RenderSVGResourceMasker.cpp:

(WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):

  • rendering/svg/RenderSVGResourcePattern.cpp:

(WebCore::RenderSVGResourcePattern::createTileImage):

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::paintReplaced):

  • rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::paintSelectionBackground):
(WebCore::SVGInlineTextBox::paint):

  • rendering/svg/SVGRenderingContext.cpp:

(WebCore::SVGRenderingContext::renderSubtreeToImageBuffer):

  • rendering/svg/SVGRenderingContext.h:
  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::rendererClipChild):

  • svg/SVGUseElement.h:
  • svg/graphics/filters/SVGFEImage.cpp:

(WebCore::FEImage::platformApplySoftware):

8:01 AM Changeset in webkit [156953] by Darin Adler
  • 5 edits
    2 adds in trunk

Need to check if some HTML child elements are HTMLUnknownElement
https://bugs.webkit.org/show_bug.cgi?id=120297

Reviewed by Andreas Kling.

Source/WebCore:

Test: fast/media/media-disable-crash.html

  • dom/make_names.pl:

(printConstructorInterior): Added additional comments about the
wrapperOnlyIfMediaIsAvailable feature.
(printTypeHelpers): Added an isHTMLUnknownElement check to the check helper
functions for tags with the wrapperOnlyIfMediaIsAvailable feature.
(printWrapperFunctions): Instead of redoing the media player check and the
settings check, and possibly making a wrapper of the wrong type, call
isHTMUnknownElement, guaranteeing that the wrapper will match the element
it is wrapping.

  • html/HTMLElement.h: Move HTMLElementTypeHelpers.h to the bottom of the

file so that functions from that file can be use the HTMLElement class and
other things defined in this file.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::paused): Added an assertion that made the regression
test reliably assert, rather than intermittently (for me, non-reproducibly) crash.

LayoutTests:

Based on a test written by Zan Dobersek <zdobersek@igalia.com>.

  • fast/media/media-disable-crash-expected.txt: Added.
  • fast/media/media-disable-crash.html: Added.
4:58 AM Changeset in webkit [156952] by Antti Koivisto
  • 34 edits in trunk/Source/WebCore

Move paint() to RenderElement
https://bugs.webkit.org/show_bug.cgi?id=122371

Reviewed by Darin Adler.

RenderText does not paint itself (text is painted by line boxes). We can move paint() down
to RenderElement.

This also requires some type tightening elsewhere in the code.

2:41 AM Changeset in webkit [156951] by rniwa@webkit.org
  • 2 edits
    28 adds in trunk/PerformanceTests

DoYouEvenBench: Add Facebook's React TodoMVC test case
https://bugs.webkit.org/show_bug.cgi?id=122379

Reviewed by Andreas Kling.

Add React/TodoMVC as a new test case. Somehow we beat Firefox on this one as well.

  • DoYouEvenBench/benchmark.html:
  • DoYouEvenBench/todomvc/labs: Added.
  • DoYouEvenBench/todomvc/labs/architecture-examples: Added.
  • DoYouEvenBench/todomvc/labs/architecture-examples/react: Added.
  • DoYouEvenBench/todomvc/labs/architecture-examples/react/bower.json: Added.
  • DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components: Added.
  • DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director: Added.
  • DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/LICENSE: Added.
  • DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/README.md: Added.
  • DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/build: Added.
  • DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/build/director.js: Added.
  • DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/build/director.min.js: Added.
  • DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/build/ender.js: Added.
  • DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react: Added.
  • DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react/JSXTransformer.js: Added.
  • DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react/bower.json: Added.
  • DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react/react.js: Added.
  • DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react/react.min.js: Added.
  • DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/todomvc-common: Added.
  • DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/todomvc-common/base.css: Added.
  • DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/todomvc-common/base.js: Added.
  • DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/todomvc-common/bg.png: Added.
  • DoYouEvenBench/todomvc/labs/architecture-examples/react/index.html: Added.
  • DoYouEvenBench/todomvc/labs/architecture-examples/react/js: Added.
  • DoYouEvenBench/todomvc/labs/architecture-examples/react/js/app.jsx: Added.
  • DoYouEvenBench/todomvc/labs/architecture-examples/react/js/footer.jsx: Added.
  • DoYouEvenBench/todomvc/labs/architecture-examples/react/js/todoItem.jsx: Added.
  • DoYouEvenBench/todomvc/labs/architecture-examples/react/js/utils.jsx: Added.
  • DoYouEvenBench/todomvc/labs/architecture-examples/react/readme.md: Added.

Oct 4, 2013:

11:54 PM Changeset in webkit [156950] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix an assertion failure introduced in r156925.

Add HTMLImageElement to the document-wide map only if it's in the document.

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::parseAttribute):

11:40 PM Changeset in webkit [156949] by ap@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Don't preflight spell checker when calling -setContinuousSpellCheckingEnabled repeatedly
https://bugs.webkit.org/show_bug.cgi?id=122329

Reviewed by Darin Adler.

  • WebView/WebView.mm: (-[WebView setContinuousSpellCheckingEnabled:]): Don't do any

work if preference didn't change (continuousSpellCheckingEnabled is a static that
starts with false).

11:38 PM Changeset in webkit [156948] by Darin Adler
  • 18 edits
    2 adds in trunk

text-transform: lowercase is not lang-dependent (Turkish languages : tr,az)
https://bugs.webkit.org/show_bug.cgi?id=21312

Reviewed by Ryosuke Niwa.

Source/WebCore:

Test: fast/text/text-transform-turkish-and-azeri.html

This patch covers text-transform: uppercase and text-transform: lowercase.
More changes will be needed to cover text-transform: capitalize.

  • inspector/DOMPatchSupport.cpp:

(WebCore::DOMPatchSupport::patchNode): Use String::upper instead of String::makeUpper.

  • page/EventHandler.cpp:

(WebCore::findDropZone): Use String::lower instead of String::makeLower.

  • platform/graphics/harfbuzz/HarfBuzzShaper.cpp:

(WebCore::HarfBuzzShaper::shapeHarfBuzzRuns): Use String::upper instead of String::makeUpper.

  • platform/network/blackberry/rss/RSS10Parser.cpp: [Seriously, how is an RSS parser

part of WebKit's networking layer? Where are the tests that cover this? Seems wrong
to have this code in the project.]
(WebCore::RSS10Parser::parseXmlDoc): Use lower instead of makeLower.
(WebCore::RSS10Parser::parseItem): Ditto.
(WebCore::RSS10Parser::parseFeed): Ditto.

  • platform/network/blackberry/rss/RSS20Parser.cpp:

(WebCore::RSS20Parser::parseXmlDoc): Ditto.
(WebCore::RSS20Parser::parseItem): Ditto.
(WebCore::RSS20Parser::parseFeed): Ditto.
(WebCore::RSS20Parser::parseEnclosure): Ditto.

  • platform/network/blackberry/rss/RSSAtomParser.cpp:

(WebCore::RSSAtomParser::parseXmlDoc): Ditto.
(WebCore::RSSAtomParser::parseItem): Ditto.
(WebCore::RSSAtomParser::parseFeed): Ditto.
(WebCore::RSSAtomParser::parseLink): Ditto.
(WebCore::RSSAtomParser::parseContent): Ditto.
(WebCore::RSSAtomParser::parseAuthor): Ditto.
(WebCore::RSSAtomParser::parseCategory): Ditto.

  • platform/text/win/LocaleWin.cpp:

(WebCore::convertLocaleNameToLCID): Use String::lower instead of String::makeLower.

  • rendering/RenderText.cpp:

(WebCore::applyTextTransform): Use String::upper and String::lower instead of
String::makeUpper and String::makeLower, and also pass in the locale to each.

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::uppercaseKnownHTTPMethod): Changed this so it doesn't call
upper just to return an already known string constant.

Source/WebKit/gtk:

  • WebCoreSupport/DumpRenderTreeSupportGtk.cpp:

(DumpRenderTreeSupportGtk::doCommand): Use StringImpl::upper instead of
StringImpl::makeUpper.

Source/WTF:

  • wtf/text/StringImpl.cpp:

(WTF::StringImpl::upper): Removed an extra call that would unnecessarily reallocate
a StringImpl in the general non-ASCII case. Added an overload that takes a locale identifier.
(WTF::StringImpl::lower): Ditto.

  • wtf/text/StringImpl.h: Ditto.
  • wtf/text/WTFString.cpp:

(WTF::String::lower): Ditto.
(WTF::String::upper): Ditto.

  • wtf/text/WTFString.h: Ditto. Also deleted the makeLower and makeUpper functions since they

offer no advantages over the lower and upper functions. Also added a constructor that takes
a RefPtr<StringImpl> with move construction to help.

LayoutTests:

  • fast/text/text-transform-turkish-and-azeri-expected.html: Added.
  • fast/text/text-transform-turkish-and-azeri.html: Added.
11:32 PM Changeset in webkit [156947] by ap@apple.com
  • 19 edits
    8 deletes in trunk

Roll out r156930 and r156937, they caused 34 assertion failures on bots.

9:52 PM Changeset in webkit [156946] by andersca@apple.com
  • 23 edits in trunk/Source

FramePolicyFunction should be an std::function
https://bugs.webkit.org/show_bug.cgi?id=122362

Reviewed by Darin Adler.

Source/WebCore:

This makes policy callback handling simpler inside WebKit.

  • loader/EmptyClients.cpp:

(WebCore::EmptyFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
(WebCore::EmptyFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
(WebCore::EmptyFrameLoaderClient::dispatchWillSubmitForm):

  • loader/EmptyClients.h:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::continueLoadAfterNavigationPolicy):

  • loader/FrameLoaderClient.h:
  • loader/PolicyChecker.cpp:

(WebCore::PolicyChecker::checkNavigationPolicy):
(WebCore::PolicyChecker::checkNewWindowPolicy):
(WebCore::PolicyChecker::checkContentPolicy):

Source/WebKit/efl:

  • WebCoreSupport/FrameLoaderClientEfl.cpp:

(WebCore::FrameLoaderClientEfl::callPolicyFunction):
(WebCore::FrameLoaderClientEfl::dispatchWillSubmitForm):
(WebCore::FrameLoaderClientEfl::dispatchDecidePolicyForResponse):
(WebCore::FrameLoaderClientEfl::dispatchDecidePolicyForNewWindowAction):
(WebCore::FrameLoaderClientEfl::dispatchDecidePolicyForNavigationAction):

  • WebCoreSupport/FrameLoaderClientEfl.h:

Source/WebKit/gtk:

  • WebCoreSupport/FrameLoaderClientGtk.cpp:

(WebKit::FrameLoaderClient::dispatchWillSubmitForm):
(WebKit::FrameLoaderClient::dispatchDecidePolicyForResponse):
(WebKit::FrameLoaderClient::dispatchDecidePolicyForNewWindowAction):

  • WebCoreSupport/FrameLoaderClientGtk.h:
  • webkit/webkitwebpolicydecision.cpp:

(webkit_web_policy_decision_use):
(webkit_web_policy_decision_ignore):
(webkit_web_policy_decision_download):

Source/WebKit/mac:

  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::dispatchDecidePolicyForResponse):
(WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
(WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
(WebFrameLoaderClient::dispatchWillSubmitForm):

Source/WebKit/win:

  • WebCoreSupport/WebFrameLoaderClient.cpp:

(WebFrameLoaderClient::dispatchDecidePolicyForResponse):
(WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
(WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
(WebFrameLoaderClient::dispatchWillSubmitForm):
(WebFrameLoaderClient::receivedPolicyDecision):

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
(WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::didReceivePolicyDecision):

9:48 PM Changeset in webkit [156945] by akling@apple.com
  • 6 edits in trunk/Source/WebCore

CTTE: IconController and IconLoader should have Frame& backpointer.
<https://webkit.org/b/122372>

Reviewed by Anders Carlsson.

Also slap IconLoader with FINAL glove.

9:30 PM Changeset in webkit [156944] by ryuan.choi@samsung.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed EFL build fix after r156924

  • UIProcess/efl/WebPageProxyEfl.cpp:

(WebKit::WebPageProxy::platformInitialize):

9:24 PM Changeset in webkit [156943] by fpizlo@apple.com
  • 2 edits in trunk/Tools

It should be even easier to run and debug a failing JSC stress test
https://bugs.webkit.org/show_bug.cgi?id=122337

Reviewed by Oliver Hunt.

If a test fails, you can now just say:

sh WebKitBuild/Debug/jsc-stress-results/regress/script-tests/emscripten-cube2hash.js.ftl-eager-no-cjit

and get the reproduction. You don't have to set any environment variables like before.
Also if you want to debug the failing test you can now just say:

sh WebKitBuild/Debug/jsc-stress-results/regress/script-tests/emscripten-cube2hash.js.ftl-eager-no-cjit lldb --

Broadly, any arguments passed to the reproduction script are prepended to the command to
run the test. This is sort of quirky and won't work for some tests (for example the
profiler tests run a ruby script that runs some other stuff) but it'll work for most of
them and that's good enough for now.

  • Scripts/run-jsc-stress-tests:
8:50 PM Changeset in webkit [156942] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

CTTE: RenderScrollbar DOM owner is always an Element.
<https://webkit.org/b/122348>

Reviewed by Antti Koivisto.

When RenderScrollbar is owned by a DOM node, it's always Element.
Tighten the code a bit with this knowledge.

Also marked the class FINAL and beat it with the OVERRIDE stick.

8:34 PM Changeset in webkit [156941] by akling@apple.com
  • 7 edits in trunk/Source/WebCore

TypingCommand helpers should take Document&.
<https://webkit.org/b/122370>

Reviewed by Anders Carlsson.

Instead of taking a Document* and immediately asserting that it's
non-null, just take Document&.

7:59 PM Changeset in webkit [156940] by rniwa@webkit.org
  • 18 edits in trunk/Source/WebCore

Use more references instead of pointers in DocumentOrderedMap
https://bugs.webkit.org/show_bug.cgi?id=122368

Reviewed by Andreas Kling.

Use AtomicStringImpl& instead of AtomicString* or AtomicString& to eliminate
assertions and nullity checks.

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::namedItemGetter):
(WebCore::JSDOMWindow::getOwnPropertySlot):
(WebCore::JSDOMWindow::getOwnPropertySlotByIndex):

  • bindings/js/JSHTMLDocumentCustom.cpp:

(WebCore::JSHTMLDocument::canGetItemsForName):
(WebCore::JSHTMLDocument::nameGetter):

  • dom/Document.cpp:

(WebCore::Document::addImageElementByLowercasedUsemap):
(WebCore::Document::removeImageElementByLowercasedUsemap):
(WebCore::Document::imageElementByLowercasedUsemap):

  • dom/Document.h:
  • dom/DocumentOrderedMap.cpp:

(WebCore::keyMatchesId):
(WebCore::keyMatchesName):
(WebCore::keyMatchesMapName):
(WebCore::keyMatchesLowercasedMapName):
(WebCore::keyMatchesLowercasedUsemap):
(WebCore::keyMatchesLabelForAttribute):
(WebCore::keyMatchesWindowNamedItem):
(WebCore::keyMatchesDocumentNamedItem):
(WebCore::DocumentOrderedMap::add):
(WebCore::DocumentOrderedMap::remove):
(WebCore::DocumentOrderedMap::get):
(WebCore::DocumentOrderedMap::getElementById):
(WebCore::DocumentOrderedMap::getElementByName):
(WebCore::DocumentOrderedMap::getElementByMapName):
(WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
(WebCore::DocumentOrderedMap::getElementByLowercasedUsemap):
(WebCore::DocumentOrderedMap::getElementByLabelForAttribute):
(WebCore::DocumentOrderedMap::getElementByWindowNamedItem):
(WebCore::DocumentOrderedMap::getElementByDocumentNamedItem):
(WebCore::DocumentOrderedMap::getAllElementsById):

  • dom/DocumentOrderedMap.h:

(WebCore::DocumentOrderedMap::containsSingle):
(WebCore::DocumentOrderedMap::contains):
(WebCore::DocumentOrderedMap::containsMultiple):

  • dom/Element.cpp:

(WebCore::Element::updateNameForTreeScope):
(WebCore::Element::updateNameForDocument):
(WebCore::Element::updateIdForTreeScope):
(WebCore::Element::updateIdForDocument):
(WebCore::Element::updateLabel):

  • dom/IdTargetObserverRegistry.cpp:

(WebCore::IdTargetObserverRegistry::notifyObserversInternal):

  • dom/IdTargetObserverRegistry.h:

(WebCore::IdTargetObserverRegistry::notifyObservers):

  • dom/TreeScope.cpp:

(WebCore::TreeScope::getElementById):
(WebCore::TreeScope::getAllElementsById):
(WebCore::TreeScope::addElementById):
(WebCore::TreeScope::removeElementById):
(WebCore::TreeScope::getElementByName):
(WebCore::TreeScope::addElementByName):
(WebCore::TreeScope::removeElementByName):
(WebCore::TreeScope::addImageMap):
(WebCore::TreeScope::removeImageMap):
(WebCore::TreeScope::getImageMap):
(WebCore::TreeScope::addLabel):
(WebCore::TreeScope::removeLabel):
(WebCore::TreeScope::labelElementForId):

  • dom/TreeScope.h:

(WebCore::TreeScope::hasElementWithId):
(WebCore::TreeScope::containsMultipleElementsWithId):
(WebCore::TreeScope::hasElementWithName):
(WebCore::TreeScope::containsMultipleElementsWithName):

  • html/HTMLCollection.cpp:

(WebCore::HTMLCollection::namedItem):

  • html/HTMLDocument.cpp:

(WebCore::HTMLDocument::addDocumentNamedItem):
(WebCore::HTMLDocument::removeDocumentNamedItem):
(WebCore::HTMLDocument::addWindowNamedItem):
(WebCore::HTMLDocument::removeWindowNamedItem):

  • html/HTMLDocument.h:

(WebCore::HTMLDocument::documentNamedItem):
(WebCore::HTMLDocument::hasDocumentNamedItem):
(WebCore::HTMLDocument::documentNamedItemContainsMultipleElements):
(WebCore::HTMLDocument::windowNamedItem):
(WebCore::HTMLDocument::hasWindowNamedItem):
(WebCore::HTMLDocument::windowNamedItemContainsMultipleElements):

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::parseAttribute):
(WebCore::HTMLImageElement::insertedInto):
(WebCore::HTMLImageElement::removedFrom):

  • html/HTMLMapElement.cpp:

(WebCore::HTMLMapElement::imageElement):
(WebCore::HTMLMapElement::parseAttribute):
(WebCore::HTMLMapElement::insertedInto):
(WebCore::HTMLMapElement::removedFrom):

  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::updateDocNamedItem):

7:06 PM Changeset in webkit [156939] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

CTTE: PolicyChecker backpointer to Frame should be a reference.
<https://webkit.org/b/122354>

Reviewed by Anders Carlsson.

PolicyChecker is tied to the lifetime of FrameLoader, which in turn
is tied to the lifetime of Frame.

6:06 PM Changeset in webkit [156938] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Editor should use reference-getting document() internally.
<https://webkit.org/b/122364>

Reviewed by Darin Adler.

Instead of grabbing at Editor::m_frame.document(), use the nice
Editor::document() helper that always returns a Document&.

Calling Editor methods on a Frame's editor() while there is no
Document in the Frame is a programming error and this is covered
by an assertion in document().

This removes a bunch of null checks and enables further cleanup.

6:03 PM Changeset in webkit [156937] by Martin Robinson
  • 2 edits in trunk/Source/WebCore

Try to fix the Windows build after r156930.

  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::RenderMathMLOperator::paintCharacter): Use ceilf and floorf to avoid issues
with overload collisions and implicit casts of LayoutUnits.

5:51 PM Changeset in webkit [156936] by mark.lam@apple.com
  • 19 edits
    8 adds in trunk

Change ScriptDebugServer to use DebuggerCallFrame instead of JavaScriptCallFrame.
https://bugs.webkit.org/show_bug.cgi?id=121969.

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

  1. Make JavaScriptCallFrame a thin shell around the DebuggerCallFrame. DebuggerCallFrame now tracks whether it is valid instead of needing JavaScriptCallFrame do it.
  2. ScriptDebugServer now only instantiates an DebuggerCallFrame when needed just before it pauses and calls back to its client, and then invalidates it immediately when the callback returns. Every subsequent callback to the client will use a new instance of the DebuggerCallFrame.
  3. Similarly, ScriptDebugServer now only creates a JavaScriptCallFrame when it "pauses".
  4. DebuggerCallFrame only creates its caller DebuggerCallFrame when it is needed i.e. when the client calls callerFrame(). Similarly, JavaScriptCallFrame only creates its caller when it's requested.
  5. DebuggerCallFrame's line() and column() now returns a base-zero int.
  6. WebScriptDebugDelegate now only caches the functionName of the frame instead of the entire DebuggerCallFrame because that is all that is needed.
  7. Also removed evaluateInGlobalCallFrame() which is not used anywhere.
  • debugger/Debugger.cpp:
  • debugger/Debugger.h:
  • debugger/DebuggerCallFrame.cpp:

(JSC::DebuggerCallFrame::DebuggerCallFrame):
(JSC::DebuggerCallFrame::callerFrame):
(JSC::DebuggerCallFrame::dynamicGlobalObject):
(JSC::DebuggerCallFrame::sourceId):
(JSC::DebuggerCallFrame::functionName):
(JSC::DebuggerCallFrame::scope):
(JSC::DebuggerCallFrame::type):
(JSC::DebuggerCallFrame::thisValue):
(JSC::DebuggerCallFrame::evaluate):
(JSC::DebuggerCallFrame::evaluateWithCallFrame):
(JSC::DebuggerCallFrame::invalidate):
(JSC::DebuggerCallFrame::positionForCallFrame):
(JSC::DebuggerCallFrame::sourceIdForCallFrame):
(JSC::DebuggerCallFrame::thisValueForCallFrame):

  • debugger/DebuggerCallFrame.h:

(JSC::DebuggerCallFrame::create):
(JSC::DebuggerCallFrame::exec):
(JSC::DebuggerCallFrame::line):
(JSC::DebuggerCallFrame::column):
(JSC::DebuggerCallFrame::position):
(JSC::DebuggerCallFrame::isValid):

  • interpreter/StackVisitor.cpp:

Source/WebCore:

Tests: inspector-protocol/debugger/call-frame-function-name.html

inspector-protocol/debugger/call-frame-this-host.html
inspector-protocol/debugger/call-frame-this-nonstrict.html
inspector-protocol/debugger/call-frame-this-strict.html

  1. Make JavaScriptCallFrame a thin shell around the DebuggerCallFrame. DebuggerCallFrame now tracks whether it is valid instead of needing JavaScriptCallFrame do it.
  2. ScriptDebugServer now only instantiates an DebuggerCallFrame when needed just before it pauses and calls back to its client, and then invalidates it immediately when the callback returns. Every subsequent callback to the client will use a new instance of the DebuggerCallFrame.
  3. Similarly, ScriptDebugServer now only creates a JavaScriptCallFrame when it "pauses".
  4. DebuggerCallFrame only creates its caller DebuggerCallFrame when it is needed i.e. when the client calls callerFrame(). Similarly, JavaScriptCallFrame only creates its caller when it's requested.
  5. DebuggerCallFrame's line() and column() now returns a base-zero int.
  6. WebScriptDebugDelegate now only caches the functionName of the frame instead of the entire DebuggerCallFrame because that is all that is needed.
  7. Also removed evaluateInGlobalCallFrame() which is not used anywhere.
  • bindings/js/JSJavaScriptCallFrameCustom.cpp:

(WebCore::JSJavaScriptCallFrame::thisObject):

  • bindings/js/JavaScriptCallFrame.cpp:

(WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
(WebCore::JavaScriptCallFrame::caller):

  • bindings/js/JavaScriptCallFrame.h:

(WebCore::JavaScriptCallFrame::create):
(WebCore::JavaScriptCallFrame::sourceID):
(WebCore::JavaScriptCallFrame::position):
(WebCore::JavaScriptCallFrame::line):
(WebCore::JavaScriptCallFrame::column):
(WebCore::JavaScriptCallFrame::functionName):
(WebCore::JavaScriptCallFrame::type):
(WebCore::JavaScriptCallFrame::scopeChain):
(WebCore::JavaScriptCallFrame::dynamicGlobalObject):
(WebCore::JavaScriptCallFrame::thisValue):
(WebCore::JavaScriptCallFrame::evaluate):

  • bindings/js/ScriptDebugServer.cpp:

(WebCore::DebuggerCallFrameScope::DebuggerCallFrameScope):
(WebCore::DebuggerCallFrameScope::~DebuggerCallFrameScope):
(WebCore::ScriptDebugServer::ScriptDebugServer):
(WebCore::ScriptDebugServer::setBreakpoint):
(WebCore::ScriptDebugServer::removeBreakpoint):
(WebCore::ScriptDebugServer::hasBreakpoint):
(WebCore::ScriptDebugServer::evaluateBreakpointAction):
(WebCore::ScriptDebugServer::breakProgram):
(WebCore::ScriptDebugServer::stepOverStatement):
(WebCore::ScriptDebugServer::stepOutOfFunction):
(WebCore::ScriptDebugServer::currentDebuggerCallFrame):
(WebCore::ScriptDebugServer::dispatchDidPause):
(WebCore::ScriptDebugServer::updateCallFrame):
(WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
(WebCore::ScriptDebugServer::pauseIfNeeded):
(WebCore::ScriptDebugServer::callEvent):
(WebCore::ScriptDebugServer::returnEvent):
(WebCore::ScriptDebugServer::willExecuteProgram):
(WebCore::ScriptDebugServer::didExecuteProgram):

  • bindings/js/ScriptDebugServer.h:
  • bindings/js/WorkerScriptDebugServer.cpp:

(WebCore::WorkerScriptDebugServer::willExecuteProgram):

Source/WebKit/mac:

  1. Make JavaScriptCallFrame a thin shell around the DebuggerCallFrame. DebuggerCallFrame now tracks whether it is valid instead of needing JavaScriptCallFrame do it.
  2. ScriptDebugServer now only instantiates an DebuggerCallFrame when needed just before it pauses and calls back to its client, and then invalidates it immediately when the callback returns. Every subsequent callback to the client will use a new instance of the DebuggerCallFrame.
  3. Similarly, ScriptDebugServer now only creates a JavaScriptCallFrame when it "pauses".
  4. DebuggerCallFrame only creates its caller DebuggerCallFrame when it is needed i.e. when the client calls callerFrame(). Similarly, JavaScriptCallFrame only creates its caller when it's requested.
  5. DebuggerCallFrame's line() and column() now returns a base-zero int.
  6. WebScriptDebugDelegate now only caches the functionName of the frame instead of the entire DebuggerCallFrame because that is all that is needed.
  7. Also removed evaluateInGlobalCallFrame() which is not used anywhere.
  • WebView/WebScriptDebugDelegate.mm:

(-[WebScriptCallFramePrivate dealloc]):
(-[WebScriptCallFrame _initWithGlobalObject:functionName:exceptionValue:JSC::]):
(-[WebScriptCallFrame functionName]):
(-[WebScriptCallFrame exception]):

  • WebView/WebScriptDebugger.mm:

(WebScriptDebugger::exception):

LayoutTests:

  • http/tests/inspector/debugger-test.js:

(initialize_DebuggerTest):

  • inspector-protocol/debugger/call-frame-function-name-expected.txt: Added.
  • inspector-protocol/debugger/call-frame-function-name.html: Added.
  • inspector-protocol/debugger/call-frame-this-host-expected.txt: Added.
  • inspector-protocol/debugger/call-frame-this-host.html: Added.
  • inspector-protocol/debugger/call-frame-this-nonstrict-expected.txt: Added.
  • inspector-protocol/debugger/call-frame-this-nonstrict.html: Added.
  • inspector-protocol/debugger/call-frame-this-strict-expected.txt: Added.
  • inspector-protocol/debugger/call-frame-this-strict.html: Added.
  • inspector/debugger/pause-in-internal-script-expected.txt:
5:40 PM Changeset in webkit [156935] by Brent Fulgham
  • 2 edits in trunk/Source/WTF

Remove Qt definitions from Platform.h
https://bugs.webkit.org/show_bug.cgi?id=122349

Reviewed by Anders Carlsson.

  • wtf/Platform.h: Remove unused PLATFORM(QT) stanzas from file.
5:40 PM Changeset in webkit [156934] by Brent Fulgham
  • 2 edits in trunk/Source/JavaScriptCore

Silence compiler warning when building 64-bit (on Windows)

Reviewed by Geoffrey Garen.

  • jit/JSInterfaceJIT.h: Add a static cast for assignment.
5:35 PM Changeset in webkit [156933] by Brent Fulgham
  • 2 edits in trunk/Source/WTF

[Win] Turn off FastMalloc on Windows
https://bugs.webkit.org/show_bug.cgi?id=122352

Reviewed by Darin Adler.

  • wtf/Platform.h: Enable USE_SYSTEM_MALLOC when building on

Windows to stick to the MSVCRT allocator/deallocator.

5:35 PM Changeset in webkit [156932] by akling@apple.com
  • 18 edits in trunk/Source

Ref-ify more stack guards.
<https://webkit.org/b/122360>

Reviewed by Anders Carlsson.

Make another pass turning RefPtr<T> into Ref<T> where possible.

5:26 PM Changeset in webkit [156931] by mikhail.pozdnyakov@intel.com
  • 4 edits in trunk/Source/WTF

Remove WTF smart pointers 'const_pointer_cast'
https://bugs.webkit.org/show_bug.cgi?id=122325

Reviewed by Darin Adler.

Removed WTF smart pointers 'const_pointer_cast' functions as:

  • they were not used
  • their implementation was wrong as they tried to cast to a different pointer type
  • wtf/PassOwnPtr.h:
  • wtf/PassRefPtr.h:
  • wtf/RefPtr.h:
5:08 PM Changeset in webkit [156930] by Martin Robinson
  • 19 edits
    8 adds in trunk

[MathML] Remove RenderTree modification during layout and refactor the StretchyOp code
https://bugs.webkit.org/show_bug.cgi?id=121416

Source/WebCore:

Reviewed by David Hyatt.

Tests: mathml/presentation/mo-minus.html

mathml/presentation/mo-stacked-glyphs.html
mathml/presentation/mo-stretchy-vertical-bar.html
mathml/very-large-stretchy-operators.html

MathML stretched operators by both modifying the width of the operator
and adding children to the operator node in the render tree.

Instead we make the operator width equal to the widest glyph possible that we use
to represent the operator. Additionally instead of rendering stretchy glyphs via
stacked operator pieces in separate render tree nodes, keep only one node for the
glyph, and use a custom paint method to paint the stacked representation.

With this patch, rendering seems roughly equivalent on Mac and markedly better
on Linux.

  • css/mathml.css:

Not sure what this line-height:0 was here for, but it caused bugs with the new code

  • mathml/MathMLTextElement.cpp:

(WebCore::MathMLTextElement::attach):
(WebCore):
(WebCore::MathMLTextElement::childrenChanged):
Need to update the anonymous render tree below <mo> elements when their
children change or when the renderer is first attached.

  • mathml/MathMLTextElement.h:

(MathMLTextElement):

  • rendering/mathml/RenderMathMLBlock.cpp:

(WebCore::RenderMathMLBlock::RenderMathMLBlock):

  • rendering/mathml/RenderMathMLBlock.h:

Now that the preferred width doesn't depend on the height, we don't
need to override computePreferredLogicalWidths at all.

  • rendering/mathml/RenderMathMLFenced.cpp:

(WebCore::RenderMathMLFenced::makeFences):
(WebCore::RenderMathMLFenced::styleDidChange):
Need to update the anonymous renderers for the anonymous RenderMathMLOperators.

  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::RenderMathMLOperator::expandedStretchHeight):
Store the non-expanded stretch height so that we can detect when the height
actually changed.

(WebCore::RenderMathMLOperator::stretchToHeight):
Only update the style on the anonymous render tree since this is called
from RenderMathMLRow::layout

(WebCore::RenderMathMLOperator::styleDidChange):
(WebCore::RenderMathMLOperator::glyphBoundsForCharacter): A helper to get glyph boundaries.
(WebCore::RenderMathMLOperator::glyphHeightForCharacter): Ditto for glyph width.
(WebCore::RenderMathMLOperator::advanceForCharacter): The advance is different from the width,
and we want the width of the operator to be the advance instead of the tight bounding width.
(WebCore::RenderMathMLOperator::computePreferredLogicalWidths): Use the max of all possible glyphs
we can use to render this operator.
(WebCore::RenderMathMLOperator::updateFromElement): We add a child for rendering the non-scaled
version of the glyph.
(WebCore::RenderMathMLOperator::firstCharacterForStretching): Helper to figure out what character
is the character used for stretching operations.
(WebCore::RenderMathMLOperator::findAcceptableStretchyCharacter): Helper to find an acceptable set
of glyph pieces for stretching characters.
(WebCore::RenderMathMLOperator::updateStyle): Resize the operator to the appropriate height and hide
the child if we are using the stretchy style.
(WebCore::RenderMathMLOperator::firstLineBoxBaseline):
(WebCore::RenderMathMLOperator::paintCharacter): Helper to paint a single character component of the
stretchy glyph.
(WebCore::RenderMathMLOperator::fillWithExtensionGlyph): Helper to paint the extender glue between
features of the stretchy glyph.
(WebCore::RenderMathMLOperator::paint): Properly paint stretchy glyphs.

  • rendering/mathml/RenderMathMLOperator.h: Update method declarations.

LayoutTests:

Patch by Frédéric Wang <fred.wang@free.fr> on 2013-10-04
Reviewed by David Hyatt.

Add some reftests for stretchy operators.

  • TestExpectations: The remaining MathML pixel tests are broken by this patch.
  • LayoutTests/platform/gtk/TestExpectations:
  • LayoutTests/platform/mac/TestExpectations:
  • LayoutTests/platform/win/TestExpectations:
  • mathml/presentation/mo-minus.html: Added.
  • mathml/presentation/mo-stacked-glyphs-expected.html: Added.
  • mathml/presentation/mo-stacked-glyphs.html: Added.
  • mathml/presentation/mo-stretchy-vertical-bar-expected-mismatch.html: Added.
  • mathml/presentation/mo-stretchy-vertical-bar.html: Added.
  • mathml/very-large-stretchy-operators-expected.txt: Added.
  • mathml/very-large-stretchy-operators.html: Added.
5:00 PM Changeset in webkit [156929] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Build fix after r156925. It collided with r156903.

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::insertedInto):
(WebCore::HTMLImageElement::removedFrom):

4:58 PM Changeset in webkit [156928] by Brent Fulgham
  • 2 edits in trunk/Tools

[Windows] Correct run-path when using 64-bit binaries.

Reviewed by David Kilzer.

  • Scripts/webkitdirs.pm:

(determineConfigurationProductDir): If running in 64-bit mode, use the 'bin64'
directory. Otherwise use the existing 'bin32' directory.

4:47 PM Changeset in webkit [156927] by akling@apple.com
  • 8 edits in trunk/Source/WebCore

Clean out some FrameLoaderClient hooks that no ports were using.
<https://webkit.org/b/122356>

Reviewed by Anders Carlsson.

Removed the following hooks that were leftovers from dead ports:

  • didExhaustMemoryAvailableForScript
  • didNotAllowScript
  • didNotAllowPlugins
  • willCheckAndDispatchMessageEvent
  • didChangeName
  • dispatchWillInsertBody
  • dispatchDidChangeResourcePriority
4:34 PM Changeset in webkit [156926] by Brent Fulgham
  • 2 edits in trunk/Tools

Teach webkitdirs.pm to honor the --64-bit flag
https://bugs.webkit.org/show_bug.cgi?id=122357

Reviewed by David Kilzer.

  • Scripts/webkitdirs.pm:

(argumentsForConfiguration): Modify to check if --64-bit is supplied
by the user.
(findMatchingArguments): Added.
(hasArgument): Added.
(checkForArgumentAndRemoveFromArrayRef): Refactor to use the new
findMatchingArguments subroutine.

4:33 PM Changeset in webkit [156925] by rniwa@webkit.org
  • 8 edits in trunk/Source/WebCore

FocusController::advanceFocus spends a lot of time in HTMLMapElement::imageElement
https://bugs.webkit.org/show_bug.cgi?id=122313

Reviewed by Andreas Kling.

The bug was caused by HTMLMapElement::imageElement traversing the entire document to look for
the image element associated with a given map element. Because HTMLCollection used to find the
image element is not cached, it traversed the entire document on every area element we visit,
resulting in O(n2) behavior.

Fixed the bug by adding the name-to-image-element map on document to avoid the traversal in
HTMLMapElement::imageElement.

  • dom/Document.cpp:

(WebCore::Document::addImageElementByLowercasedUsemap): Added.
(WebCore::Document::removeImageElementByLowercasedUsemap): Added.
(WebCore::Document::imageElementByLowercasedUsemap): Added.

  • dom/Document.h: Added m_imagesByUsemap.
  • dom/DocumentOrderedMap.cpp:

(WebCore::keyMatchesLowercasedUsemap): Added.
(WebCore::DocumentOrderedMap::getElementByLowercasedUsemap): Added.

  • dom/DocumentOrderedMap.h:
  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::parseAttribute): Update the name-to-usemap map. The code to parse
the usemap attribute and strip # was moved from HTMLMapElement::imageElement.
(WebCore::HTMLImageElement::insertedInto): Ditto.
(WebCore::HTMLImageElement::removedFrom): Ditto.
(WebCore::HTMLImageElement::matchesLowercasedUsemap): Added; called by DocumentOrderedMap.

  • html/HTMLImageElement.h:
  • html/HTMLMapElement.cpp:

(WebCore::HTMLMapElement::imageElement): Call Document::imageElementByUsemap instead of
looking through all image elements in the document.

4:25 PM Changeset in webkit [156924] by weinig@apple.com
  • 22 edits in trunk/Source

../WebCore: Unify rubberband control
https://bugs.webkit.org/show_bug.cgi?id=122341

Reviewed by Tim Horton.

  • Consolidates the two ways we were passing state about whether to rubber-band on a particular edge down to one.
  • WebCore.exp.in:
  • page/Page.cpp:
  • page/Page.h:
  • page/scrolling/ScrollingCoordinator.h:

(WebCore::ScrollingCoordinator::isRubberBandInProgress):

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::ScrollingTree):
(WebCore::ScrollingTree::setCanRubberBandState):
(WebCore::ScrollingTree::rubberBandsAtLeft):
(WebCore::ScrollingTree::rubberBandsAtRight):
(WebCore::ScrollingTree::rubberBandsAtBottom):
(WebCore::ScrollingTree::rubberBandsAtTop):
(WebCore::ScrollingTree::willWheelEventStartSwipeGesture):

  • page/scrolling/ScrollingTree.h:
  • page/scrolling/mac/ScrollingCoordinatorMac.h:
  • page/scrolling/mac/ScrollingCoordinatorMac.mm:
  • page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:

(WebCore::ScrollingTreeScrollingNodeMac::shouldRubberBandInDirection):

../WebKit2: Unify rubber-band control
https://bugs.webkit.org/show_bug.cgi?id=122341

Reviewed by Tim Horton.

  • Consolidates the two ways we were passing state about whether to rubber-band on a particular edge down to one.
  • Adds SPI to control whether you can rubber band on the left or right edge.
  • Add a linked-on-or-after check to control whether we use the legacy implicit rubber band control based on back/forward.
  • UIProcess/API/C/WKPage.cpp:

(WKPageRubberBandsAtLeft):
(WKPageSetRubberBandsAtLeft):
(WKPageRubberBandsAtRight):
(WKPageSetRubberBandsAtRight):
(WKPageRubberBandsAtBottom):
(WKPageSetRubberBandsAtBottom):

  • UIProcess/API/C/WKPage.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::sendWheelEvent):
(WebKit::WebPageProxy::rubberBandsAtLeft):
(WebKit::WebPageProxy::setRubberBandsAtLeft):
(WebKit::WebPageProxy::rubberBandsAtRight):
(WebKit::WebPageProxy::setRubberBandsAtRight):
(WebKit::WebPageProxy::rubberBandsAtTop):
(WebKit::WebPageProxy::setRubberBandsAtTop):
(WebKit::WebPageProxy::rubberBandsAtBottom):
(WebKit::WebPageProxy::setRubberBandsAtBottom):

  • UIProcess/WebPageProxy.h:
  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::shouldUseLegacyImplicitRubberBandControl):
(WebKit::WebPageProxy::platformInitialize):

  • WebProcess/WebPage/EventDispatcher.cpp:

(WebKit::EventDispatcher::wheelEvent):

  • WebProcess/WebPage/EventDispatcher.h:
  • WebProcess/WebPage/EventDispatcher.messages.in:
  • WebProcess/WebPage/WebPage.cpp:
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
4:01 PM Changeset in webkit [156923] by Antoine Quint
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: pressing the Cmd key over a CSS property should underline it immediately (jump to definition mode)
https://bugs.webkit.org/show_bug.cgi?id=119012

Reviewed by Joseph Pecoraro.

We add an "enabled" state to the tokenTrackingController to indicate that we're interested
in tracking hovered tokens. The tokenTrackingController is now only enabled in the
CSSStyleDeclarationTextEditor when the Cmd key is pressed and in the SourceCodeTextEditor
when either the Cmd key is pressed (NonSymbolTokens mode) or when the debugger is paused
(JavaScriptExpression mode).

The tokenTrackingController is now smarter about how it tracks mouse events when it's enabled,
tracking "mouseenter" and "mouseleave" events to enable tracking allowing immediate detection of
tokens being hovered or no longer being hovered even with quick mouse movements. Additioanlly,
using the new top-level mouse coordinates tracking, we can detect a hovered token as soon as
it's being enabled to provide instant feedback to the user.

This new top-level mouse coordinates tracking couple with tracking of modifier keys also fixes
http://webkit.org/b/119011.

  • UserInterface/CSSStyleDeclarationTextEditor.js:

(WebInspector.CSSStyleDeclarationTextEditor.prototype._updateJumpToSymbolTrackingMode):
Highlight the last known hovered candidate's range as soon as the Cmd key is pressed and enable
the tokenTrackingController if we're dealing with a non-read-only editor. When the Cmd key is
released, disable the tokenTrackingController.

  • UserInterface/CodeMirrorTokenTrackingController.js:

(WebInspector.CodeMirrorTokenTrackingController):
(WebInspector.CodeMirrorTokenTrackingController.prototype.get enabled):
(WebInspector.CodeMirrorTokenTrackingController.prototype.set enabled):
New enabled state for the tokenTrackingController which indicates whether it should be tracking
mouse events to track hovered tokens in the editor. Upon being enabled, the tokenTrackingController
looks up the mouse coordinates continuously tracked at the window level to check for a token
at the last known mouse coordinates in case we're already over a token that may be highlighted.

(WebInspector.CodeMirrorTokenTrackingController.prototype.highlightLastHoveredRange):
New public method allowing to highlight the last know candidate range, if any. This is used from
editor code when the Cmd key is pressed and we want to force the last know candidate to be
highlighted.

(WebInspector.CodeMirrorTokenTrackingController.prototype._startTracking):
(WebInspector.CodeMirrorTokenTrackingController.prototype._stopTracking):
Make these two methods private now that they're automatically called by the "mouseenter" and
"mouseleave" event handling when we're in the "enabled" state. Additionally, the public
"tracking" property has been removed since it is no longer useful to the developer.

(WebInspector.CodeMirrorTokenTrackingController.prototype.handleEvent):
(WebInspector.CodeMirrorTokenTrackingController.prototype._mouseEntered):
(WebInspector.CodeMirrorTokenTrackingController.prototype._mouseLeft):
New handlers for the "mouseenter" and "mouseleave" events enabling tracking of hovered tokens.

(WebInspector.CodeMirrorTokenTrackingController.prototype._mouseMovedOverEditor):
(WebInspector.CodeMirrorTokenTrackingController.prototype._updateHoveredTokenInfo):
Refactor _mouseMovedOverEditor() into two methods with the new _updateHoveredTokenInfo()
allowing to customize the mouse coordinates to be used since we may call
_updateHoveredTokenInfo() outside of the context of a mouse event (ie. a keypress event).

(WebInspector.CodeMirrorTokenTrackingController.prototype._windowLostFocus):
(WebInspector.CodeMirrorTokenTrackingController.prototype._resetTrackingStates):
New private method combining all the various states that need to be reset when tracking
is turned off, including the removal of the highlighted range if any. This is now called
when the window loses focus.

  • UserInterface/Main.js:

(WebInspector.loaded):
(WebInspector._mouseMoved):
Add a new window-level "mousemove" event handler to always track mouse coordinates and key modifier
states. This ensures that we may have the most accurate information possible for key modifiers and
allow code to query the last recorded mouse position in situations where it wouldn't be possible
to have dealt with a mouse event, as is the case when the tokenTrackingController just started tracking.

  • UserInterface/SourceCodeTextEditor.js:

(WebInspector.SourceCodeTextEditor.prototype._updateTokenTrackingControllerEnabled):
(WebInspector.SourceCodeTextEditor.prototype._debuggerDidPause):
(WebInspector.SourceCodeTextEditor.prototype._debuggerDidResume):
(WebInspector.SourceCodeTextEditor.prototype._enableJumpToSymbolTrackingModeSettings):
(WebInspector.SourceCodeTextEditor.prototype._disableJumpToSymbolTrackingModeSettings):
Update the "enabled" state on the tokenTrackingController when it may have changed based
on those two conditions: we should have either an active debugger call frame or the
Cmd key should have been pressed. This ensures we only track hovered tokens as needed.

(WebInspector.SourceCodeTextEditor.prototype._updateJumpToSymbolTrackingMode):
Highlight the last known hovered candidate's range as soon as the Cmd key is pressed.

3:49 PM Changeset in webkit [156922] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

CTTE: SubframeLoader backpointer to Frame should be a reference.
<https://webkit.org/b/122350>

Reviewed by Anders Carlsson.

SubframeLoader is tied to the lifetime of FrameLoader, which in turn
is tied to the lifetime of Frame.

3:46 PM Changeset in webkit [156921] by andersca@apple.com
  • 7 edits in trunk/Source

Remove some unneeded code from WidgetMac
https://bugs.webkit.org/show_bug.cgi?id=122355

Reviewed by Dan Bernstein.

Source/WebCore:

Remove code to manage the visible rect, it's not needed anymore.

  • platform/Widget.h:
  • platform/mac/WidgetMac.mm:

(WebCore::Widget::~Widget):
(WebCore::Widget::setFrameRect):
(WebCore::Widget::setPlatformWidget):

Source/WebKit/mac:

Remove code to handle the visible rect changing, it's not needed anymore since we always put Netscape plug-ins into their own layers now.

  • Plugins/Hosted/WebHostedNetscapePluginView.mm:
  • Plugins/WebBaseNetscapePluginView.h:
  • Plugins/WebBaseNetscapePluginView.mm:
3:45 PM Changeset in webkit [156920] by oliver@apple.com
  • 5 edits
    1 add in trunk/LayoutTests

Update all the tests, and include new file.

3:45 PM Changeset in webkit [156919] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

FTL: Add support for ValueToInt32(bool(x))
https://bugs.webkit.org/show_bug.cgi?id=122346

Patch by Nadav Rotem <nrotem@apple.com> on 2013-10-04
Reviewed by Geoffrey Garen.

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileValueToInt32):

3:41 PM Changeset in webkit [156918] by dbates@webkit.org
  • 24 edits
    8 adds in trunk/Source

[iOS] Upstream disk image cache
https://bugs.webkit.org/show_bug.cgi?id=121985

Reviewed by Joseph Pecoraro.

Source/WebCore:

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • loader/ResourceBuffer.cpp:

(WebCore::ResourceBuffer::isUsingDiskImageCache):

  • loader/ResourceBuffer.h:
  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::canUseDiskImageCache): Added.
(WebCore::CachedImage::useDiskImageCache): Added.

  • loader/cache/CachedImage.h:
  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::isSafeToMakePurgeable):
(WebCore::CachedResource::isUsingDiskImageCache): Added.

  • loader/cache/CachedResource.h:

(WebCore::CachedResource::canUseDiskImageCache): Added.
(WebCore::CachedResource::useDiskImageCache): Added.

  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::flushCachedImagesToDisk): Added.
(WebCore::MemoryCache::TypeStatistic::addResource):
(WebCore::MemoryCache::dumpStats):
(WebCore::MemoryCache::dumpLRULists):

  • loader/cache/MemoryCache.h:

(WebCore::MemoryCache::TypeStatistic::TypeStatistic):

  • loader/ios/DiskImageCacheClientIOS.h: Added.
  • loader/ios/DiskImageCacheIOS.h: Added.
  • loader/ios/DiskImageCacheIOS.mm: Added.
  • platform/Logging.h:
  • platform/SharedBuffer.cpp:

(WebCore::SharedBuffer::SharedBuffer):
(WebCore::SharedBuffer::~SharedBuffer):
(WebCore::SharedBuffer::isAllowedToBeMemoryMapped): Added.
(WebCore::SharedBuffer::allowToBeMemoryMapped): Added.
(WebCore::SharedBuffer::failedMemoryMap): Added.
(WebCore::SharedBuffer::markAsMemoryMapped): Added.
(WebCore::SharedBuffer::memoryMappedNotificationCallbackData): Added.
(WebCore::SharedBuffer::memoryMappedNotificationCallback): Added.
(WebCore::SharedBuffer::setMemoryMappedNotificationCallback): Added.
(WebCore::SharedBuffer::data):
(WebCore::SharedBuffer::append):
(WebCore::SharedBuffer::buffer):
(WebCore::SharedBuffer::getSomeData):

  • platform/SharedBuffer.h:

(WebCore::SharedBuffer::isMemoryMapped): Added.

  • platform/cf/SharedBufferCF.cpp:

(WebCore::SharedBuffer::SharedBuffer):

Source/WebKit:

  • WebKit.xcodeproj/project.pbxproj:
  • ios/WebCoreSupport/WebDiskImageCacheClientIOS.h: Added.
  • ios/WebCoreSupport/WebDiskImageCacheClientIOS.mm: Added.

Source/WebKit/mac:

  • Misc/WebCache.mm:

(+[WebCache statistics]):

  • WebView/WebDataSource.mm:

(BufferMemoryMapped): Added.
(-[WebDataSource _setAllowToBeMemoryMapped]): Added.
(-[WebDataSource setDataSourceDelegate:]): Added.
(-[WebDataSource dataSourceDelegate]): Added.
(-[WebDataSource dealloc]):

  • WebView/WebDataSourcePrivate.h: Declared private delegate

protocol, WebDataSourcePrivateDelegate.

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences diskImageCacheEnabled]): Added.
(-[WebPreferences setDiskImageCacheEnabled:]): Added.
(-[WebPreferences diskImageCacheMinimumImageSize]): Added.
(-[WebPreferences setDiskImageCacheMinimumImageSize:]): Added.
(-[WebPreferences diskImageCacheMaximumCacheSize]): Added.
(-[WebPreferences setDiskImageCacheMaximumCacheSize:]): Added.
(-[WebPreferences _diskImageCacheSavedCacheDirectory]): Added.
(-[WebPreferences _setDiskImageCacheSavedCacheDirectory:]): Added.

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView _preferencesChanged:]):

3:25 PM Changeset in webkit [156917] by ap@apple.com
  • 2 edits in trunk/Tools

Update svn-config for new Visual Studio extensions
https://bugs.webkit.org/show_bug.cgi?id=122344

Reviewed by Brent Fulgham.

  • svn-config: Add new Visual Studio extensions.
3:25 PM Changeset in webkit [156916] by betravis@adobe.com
  • 4 edits
    2 adds in trunk

[CSS Shapes] Basic shapes should be animatable for shape-outside
https://bugs.webkit.org/show_bug.cgi?id=122343

Reviewed by Dirk Schulze.

Source/WebCore:

Test: fast/shapes/shape-outside-floats/shape-outside-animation.html

Add shape outside to the list of animatable properties. The infrastructure
is already in place for animating basic shapes on shape-inside and clipping
paths. See https://bugs.webkit.org/show_bug.cgi?id=101854.

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

LayoutTests:

Add tests checking that shape-outside basic shape values correctly tween
between values.

  • animations/resources/animation-test-helpers.js:

(getPropertyValue): Add shape-outside to list of properties that do not parse
with the default behavior.
(comparePropertyValue): Compare shape-outsides after parsing their shape notation.

  • fast/shapes/shape-outside-floats/shape-outside-animation-expected.txt: Added.
  • fast/shapes/shape-outside-floats/shape-outside-animation.html: Added.
3:22 PM Changeset in webkit [156915] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

Tighten typing in some RenderLayer code.
<https://webkit.org/b/122342>

Reviewed by Antti Koivisto.

Use tighter types instead of Node and RenderObject inside RenderLayer
where applicable.

2:59 PM Changeset in webkit [156914] by Manuel Rego Casasnovas
  • 3 edits
    6 adds in trunk/LayoutTests

[CSS Regions] Layout Tests for selecting text in 2 regions for other writing modes
https://bugs.webkit.org/show_bug.cgi?id=122327

Reviewed by Alexandru Chiculita.

Add versions for other writing modes (horizontal-bt, vertical-lr and
vertical-rl) for test
fast/regions/selection/selecting-text-in-2-regions.html.

  • fast/regions/resources/helper.js:

(selectContentByIdsVert): Add new method when selecting context in a
vertical writing mode.

  • fast/regions/resources/region-style.css: Add some new CSS classes for

vertical writing mode.

  • fast/regions/selection/selecting-text-in-2-regions-horiz-bt-expected.html:

Added.

  • fast/regions/selection/selecting-text-in-2-regions-horiz-bt.html:

Added.

  • fast/regions/selection/selecting-text-in-2-regions-vert-lr-expected.html:

Added.

  • fast/regions/selection/selecting-text-in-2-regions-vert-lr.html:

Added.

  • fast/regions/selection/selecting-text-in-2-regions-vert-rl-expected.html:

Added.

  • fast/regions/selection/selecting-text-in-2-regions-vert-rl.html:

Added.

2:52 PM Changeset in webkit [156913] by oliver@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Build fix.

1:46 PM Changeset in webkit [156912] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Inserting a JS generated keyframe animation shouldn't trigger a whole document style recalc
https://bugs.webkit.org/show_bug.cgi?id=119479

Patch by Ralph Thomas <ralpht@gmail.com> on 2013-10-04
Reviewed by Antti Koivisto.

Change CSSStyleSheet::didMutateRules to not invalidate all node's styles when inserting a
@-webkit-keyframes rule, and to instead insert the rule directly into the StyleResolver.

Test: animation/keyframes-dynamic.html: adds and removes keyframe rules using JavaScript and
validates that the correct elements are animated.

  • css/CSSStyleSheet.cpp:

(WebCore::CSSStyleSheet::didMutateRules):
(WebCore::CSSStyleSheet::insertRule):

  • css/CSSStyleSheet.h:
1:37 PM Changeset in webkit [156911] by commit-queue@webkit.org
  • 5 edits
    1 add in trunk/Tools

Made WinLauncher have better error handling, crash reporting, and modifiability.
https://bugs.webkit.org/show_bug.cgi?id=122319

Patch by Alex Christensen <achristensen@webkit.org> on 2013-10-04
Reviewed by Brent Fulgham.

  • WinLauncher/WinLauncher.cpp:

(WinLauncherWebHost::didFailProvisionalLoadWithError):
Don't display the numerous "Cancelled" messages that are obviously from the user.
(createCrashReport): Added.
(dllLauncherEntryPoint):
Made main loop back into while loop and write a crash report if it crashes.

  • WinLauncher/WinLauncher.vcxproj/WinLauncherLib.vcxproj:
  • WinLauncher/WinLauncher.vcxproj/WinLauncherLib.vcxproj.filters:

Added WinLauncherReplace.h.

  • WinLauncher/WinLauncher.vcxproj/WinLauncherLibCommon.props:

Added linking to DbgHelp.lib.

  • WinLauncher/WinLauncherReplace.h:

Added to make modifying WinLauncher behaviour and appearance easy.
(processCrashDump): Added.

1:35 PM Changeset in webkit [156910] by oliver@apple.com
  • 29 edits
    11 adds in trunk

Support for-of syntax
https://bugs.webkit.org/show_bug.cgi?id=122339

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Add support for for-of syntax to JSC. As part of doing this I had to make
us support unique empty strings as identifiers. In a follow on patch i'm
going to remove the distinction entirely as it's purely a complicating
separation.

Otherwise the logic here is fairly self-explanatory.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::addConstant):
(JSC::BytecodeGenerator::emitCall):

  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/NodesCodegen.cpp:

(JSC::CallArguments::CallArguments):
(JSC::ForOfNode::emitBytecode):

  • jit/JITOperations.cpp:
  • parser/ASTBuilder.h:

(JSC::ASTBuilder::createForOfLoop):

  • parser/NodeConstructors.h:

(JSC::EnumerationNode::EnumerationNode):
(JSC::ForInNode::ForInNode):
(JSC::ForOfNode::ForOfNode):

  • parser/Nodes.h:
  • parser/Parser.cpp:

(JSC::::parseVarDeclarationList):
(JSC::::parseForStatement):

  • parser/Parser.h:

(JSC::Parser::isofToken):

  • parser/SyntaxChecker.h:

(JSC::SyntaxChecker::createForOfLoop):

  • runtime/ArrayIteratorPrototype.cpp:

(JSC::ArrayIteratorPrototype::finishCreation):
(JSC::arrayIteratorPrototypeIterate):

  • runtime/ArrayPrototype.cpp:

(JSC::ArrayPrototype::create):
(JSC::ArrayPrototype::finishCreation):

  • runtime/ArrayPrototype.h:
  • runtime/CommonIdentifiers.cpp:

(JSC::CommonIdentifiers::CommonIdentifiers):

  • runtime/CommonIdentifiers.h:
  • runtime/Identifier.h:

(JSC::Identifier::from):

  • runtime/JSCJSValue.cpp:

(JSC::JSValue::dumpInContext):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::reset):

  • runtime/JSObject.cpp:

(JSC::JSObject::putDirectNativeFunction):

  • runtime/PrivateName.h:

(JSC::PrivateName::PrivateName):

  • runtime/PropertyName.h:

(JSC::PropertyName::PropertyName):

Source/WTF:

Update assertions and add a helper function to StringImpl
to save repeated unique or identifier calls.

  • wtf/text/StringImpl.h:

(WTF::StringImpl::isIdentifierOrUnique):
(WTF::StringImpl::setIsIdentifier):
(WTF::StringImpl::setIsAtomic):

LayoutTests:

Add test cases for the one type that supports for-of so far

  • js/basic-for-of-expected.txt: Added.
  • js/basic-for-of.html: Added.
  • js/regress/for-of-iterate-array-entries.html: Added.
  • js/regress/for-of-iterate-array-keys.html: Added.
  • js/regress/for-of-iterate-array-values.html: Added.
  • js/regress/script-tests/for-of-iterate-array-entries.js: Added.

(foo):

  • js/regress/script-tests/for-of-iterate-array-keys.js: Added.

(foo):

  • js/regress/script-tests/for-of-iterate-array-values.js: Added.

(foo):

1:33 PM Changeset in webkit [156909] by zandobersek@gmail.com
  • 6 edits in trunk/Source/WebCore

[WebIDL] Annotate IDL interfaces under Source/WebCore/fileapi/ with the OperationsNotDeletable attribute
https://bugs.webkit.org/show_bug.cgi?id=122275

Reviewed by Darin Adler.

Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
doesn't have any effect, but will keep the operations not configurable after the generator is modified
to preserve the original behavior. The attribute will be removed from each interface after checking
conformity with other browsers (in terms of configurability of operations of that interface) and the
WebKit's existing test suites.

This patch covers IDL interfaces under Source/WebCore/fileapi/.

  • fileapi/Blob.idl:
  • fileapi/FileException.idl:
  • fileapi/FileList.idl:
  • fileapi/FileReader.idl:
  • fileapi/FileReaderSync.idl:
1:31 PM Changeset in webkit [156908] by zandobersek@gmail.com
  • 47 edits in trunk/Source/WebCore

[WebIDL] Annotate IDL interfaces under Source/WebCore/dom/ with the OperationsNotDeletable attribute
https://bugs.webkit.org/show_bug.cgi?id=122271

Reviewed by Darin Adler.

Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
doesn't have any effect, but will keep the operations not configurable after the generator is modified
to preserve the original behavior. The attribute will be removed from each interface after checking
conformity with other browsers (in terms of configurability of operations of that interface) and the
WebKit's existing test suites.

This patch covers IDL interfaces under Source/WebCore/dom/.

  • dom/CharacterData.idl:
  • dom/ChildNode.idl:
  • dom/ClientRectList.idl:
  • dom/Clipboard.idl:
  • dom/CompositionEvent.idl:
  • dom/CustomEvent.idl:
  • dom/DOMCoreException.idl:
  • dom/DOMImplementation.idl:
  • dom/DOMNamedFlowCollection.idl:
  • dom/DOMStringList.idl:
  • dom/DOMStringMap.idl:
  • dom/DataTransferItem.idl:
  • dom/DataTransferItemList.idl:
  • dom/DeviceMotionEvent.idl:
  • dom/DeviceOrientationEvent.idl:
  • dom/Document.idl:
  • dom/DocumentFragment.idl:
  • dom/DocumentType.idl:
  • dom/Element.idl:
  • dom/Event.idl:
  • dom/EventException.idl:
  • dom/EventListener.idl:
  • dom/EventTarget.idl:
  • dom/KeyboardEvent.idl:
  • dom/MessageEvent.idl:
  • dom/MessagePort.idl:
  • dom/MouseEvent.idl:
  • dom/MutationEvent.idl:
  • dom/MutationObserver.idl:
  • dom/NamedNodeMap.idl:
  • dom/Node.idl:
  • dom/NodeFilter.idl:
  • dom/NodeIterator.idl:
  • dom/NodeList.idl:
  • dom/Range.idl:
  • dom/RangeException.idl:
  • dom/ShadowRoot.idl:
  • dom/Text.idl:
  • dom/TextEvent.idl:
  • dom/TouchEvent.idl:
  • dom/TouchList.idl:
  • dom/TreeWalker.idl:
  • dom/UIEvent.idl:
  • dom/WebKitNamedFlow.idl:
  • dom/WheelEvent.idl:
1:22 PM Changeset in webkit [156907] by zandobersek@gmail.com
  • 12 edits in trunk/Source/WebCore

[WebIDL] Annotate IDL interfaces under Source/WebCore/xml/ with the OperationsNotDeletable attribute
https://bugs.webkit.org/show_bug.cgi?id=122269

Reviewed by Darin Adler.

Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
doesn't have any effect, but will keep the operations not configurable after the generator is modified
to preserve the original behavior. The attribute will be removed from each interface after checking
conformity with other browsers (in terms of configurability of operations of that interface) and the
WebKit's existing test suites.

This patch covers IDL interfaces under Source/WebCore/xml/.

  • xml/DOMParser.idl:
  • xml/XMLHttpRequest.idl:
  • xml/XMLHttpRequestException.idl:
  • xml/XMLHttpRequestUpload.idl:
  • xml/XMLSerializer.idl:
  • xml/XPathEvaluator.idl:
  • xml/XPathException.idl:
  • xml/XPathExpression.idl:
  • xml/XPathNSResolver.idl:
  • xml/XPathResult.idl:
  • xml/XSLTProcessor.idl:
12:36 PM Changeset in webkit [156906] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

FTL::OSRExit::convertToForward() shouldn't misuse Operands<>::operator[]
https://bugs.webkit.org/show_bug.cgi?id=122336

Reviewed by Geoffrey Garen.

Changed code in change set r156900 to use the operand() accessor instead of operator[].

  • ftl/FTLOSRExit.cpp:

(JSC::FTL::OSRExit::convertToForward):

12:31 PM Changeset in webkit [156905] by betravis@adobe.com
  • 4 edits
    4 adds in trunk

[CSS Shapes] Shape Outside should relayout when set dynamically
https://bugs.webkit.org/show_bug.cgi?id=122197

Reviewed by Alexandru Chiculita.

Source/WebCore:

Tests: fast/shapes/shape-outside-floats/shape-outside-dynamic-shape.html

fast/shapes/shape-outside-floats/shape-outside-dynamic-shape-overhang.html

When shape outside is modified, dependent content needs to relayout. This patch
removes the float from the float lists and marks dependents for layout using
RenderBox::removeFloatingOrPositionedChildFromBlockLists(). This is the same
method used when switching from float: left to float: right and vice versa
(see RenderElement::styleWillChange).

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::updateShapeOutsideInfoAfterStyleChange): Mark shape-outside dependents
for layout.

  • rendering/RenderBox.h:

(WebCore::RenderBox::markShapeOutsideDependentsForLayout): Mark all the items that may be
affected by this shape-outside for relayout.

LayoutTests:

Test that a shape can be dynamically added, modified, or removed and that
content does a proper relayout.

  • fast/shapes/shape-outside-floats/shape-outside-dynamic-shape-overhang-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-dynamic-shape-overhang.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-dynamic-shape-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-dynamic-shape.html: Added.
12:22 PM Changeset in webkit [156904] by Antti Koivisto
  • 5 edits in trunk/Source/WebCore

Tighten markContainingBlocksForLayout
https://bugs.webkit.org/show_bug.cgi?id=122326

Reviewed by Anders Carlsson.

11:51 AM Changeset in webkit [156903] by akling@apple.com
  • 98 edits in trunk/Source/WebCore

Node: removedFrom() and insertedInto() should use references.
<https://webkit.org/b/122315>

Reviewed by Anders Carlsson.

ContainerNode* -> ContainerNode&

11:41 AM Changeset in webkit [156902] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

Optimize strings copies in srcset parser
https://bugs.webkit.org/show_bug.cgi?id=121899

Patch by Romain Perier <Romain Perier> on 2013-10-04
Reviewed by Alexey Proskuryakov.

No new tests, covered by existing ones.

  • html/parser/HTMLParserIdioms.cpp:

(WebCore::parseImagesWithScaleFromSrcsetAttribute): Don't copy
image.imageURL at each loop iteration, save indexes instead.
(WebCore::bestFitSourceForImageAttributes): Make a String for
the URL only when the corresponding candidate is chosen
by the selection algorithm. It reduces the number of copies
significantly and improves performance
(around 30% with the "Release" profile and 60% with the "Debug" one).

11:40 AM Changeset in webkit [156901] by g.czajkowski@samsung.com
  • 14 edits
    4 moves in trunk/LayoutTests

Tests added in r141354 erroneously assume correction suggestion to be in the context menu
https://bugs.webkit.org/show_bug.cgi?id=113742

Reviewed by Ryosuke Niwa.

Tests from r141354 erroneously assume that all WebKit ports populate
spell checking suggestion in the context menu.

Remove verification of spell checking suggestion and all context menu stuff from tests
that do that unnecessarily. Instead of that check whether spelling markers behave correctly,
for example, after deleting a text, double click or selecting a misspellings.

However, two tests are adapted to verify spell checking suggestions (their availability
rather than correctness, similarly to context-menu-suggestions.html).
Those are useful for ports which populate spelling suggestion in the context menu.

  • editing/spelling/resources/util.js:

(initSpellTest):
Do not assume that the tests are running with "Windows" editing behavior.
Unix ports do not make a selection for the misspelled word and they don't
require selection to get spell checking suggestions.

  • editing/spelling/spelling-changed-text-expected.txt:
  • editing/spelling/spelling-changed-text.html:
  • editing/spelling/spelling-double-clicked-word-expected.txt:
  • editing/spelling/spelling-double-clicked-word.html:
  • editing/spelling/spelling-exactly-selected-word-expected.txt:
  • editing/spelling/spelling-exactly-selected-word.html:

Remove verification of correction suggestion.
Instead of that check whether the spelling markers behave correctly.

  • editing/spelling/context-menu-suggestions-multiword-selection-expected.txt: Renamed from LayoutTests/editing/spelling/spelling-multiword-selection-expected.txt.
  • editing/spelling/context-menu-suggestions-multiword-selection.html: Renamed from LayoutTests/editing/spelling/spelling-multiword-selection.html.
  • editing/spelling/context-menu-suggestions-subword-selection-expected.txt: Renamed from LayoutTests/editing/spelling/spelling-subword-selection-expected.txt.
  • editing/spelling/context-menu-suggestions-subword-selection.html: Renamed from LayoutTests/editing/spelling/spelling-subword-selection.html.

Adapt those tests for platforms which populate spell check suggestion
in the context menu.

  • platform/efl-wk2/TestExpectations:

Now context-menu-suggestions-multiword-selection.html and
context-menu-suggestions-subword-selection.html are passing for EFL.

  • platform/gtk-wk2/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac-wk2/TestExpectations:
  • platform/win/TestExpectations:
  • platform/wincairo/TestExpectations:

Update tests path due to rename.

11:38 AM Changeset in webkit [156900] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

FTL: Crash in OSRExit::convertToForward() using VirtualRegister.offset() as array index
https://bugs.webkit.org/show_bug.cgi?id=122332

Reviewed by Oliver Hunt.

Changed the uses of .offset(), which returns a negative number for locals, to be
toLocal() which returns a local's ordinal number.

  • ftl/FTLOSRExit.cpp:

(JSC::FTL::OSRExit::convertToForward):

11:34 AM Changeset in webkit [156899] by dpranke@chromium.org
  • 2 edits in trunk/Tools

remove dpranke from webkitpy watchlist
https://bugs.webkit.org/show_bug.cgi?id=122331

Reviewed by Brent Fulgham.

  • Scripts/webkitpy/common/config/watchlist:
11:30 AM Changeset in webkit [156898] by timothy_horton@apple.com
  • 3 edits in trunk/Tools

[mac][wk2] ScrollPinningBehaviors, SpacebarScrolling, and ScrollByLineCommands fail after r156793
https://bugs.webkit.org/show_bug.cgi?id=122299

Reviewed by Beth Dakin.

  • TestWebKitAPI/Tests/WebKit2/SpacebarScrolling.cpp:
  • TestWebKitAPI/Tests/WebKit2/mac/EditorCommands.mm:

The last fix didn't work; instead of trying to block, turn off threaded scrolling for all three tests.

11:26 AM Changeset in webkit [156897] by ap@apple.com
  • 2 edits in trunk/Tools

Watchlist is broken after <http://trac.webkit.org/r156880>

  • Scripts/webkitpy/common/config/watchlist: Remove an incorrect change.
11:20 AM Changeset in webkit [156896] by msaboff@apple.com
  • 11 edits in trunk/Source/JavaScriptCore

Add callOperation to Baseline JIT
https://bugs.webkit.org/show_bug.cgi?id=122306

Reviewed by Geoffrey Garen.

Created baseline JIT compatible versions for a few flavors of callOperation().
Migrated cti_op_new_regexp() and its caller to callOperation(operationNewRegexp()).

  • dfg/DFGOperations.cpp: Moved operationNewRegexp() to JITOperations
  • dfg/DFGOperations.h:
  • jit/JIT.h:

(JSC::JIT::appendCall):

  • jit/JITInlines.h:

(JSC::JIT::appendCallWithExceptionCheck):
(JSC::JIT::appendCallWithExceptionCheckSetJSValueResult):
(JSC::JIT::callOperation):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_new_regexp):

  • jit/JITOperations.cpp:
  • jit/JITOperations.h:
  • jit/JITStubs.cpp:
  • jit/JITStubs.h:
  • jit/JSInterfaceJIT.h:
11:20 AM Changeset in webkit [156895] by Brent Fulgham
  • 29 edits
    3 deletes in trunk/Tools

Remove Qt features from build and test tools
https://bugs.webkit.org/show_bug.cgi?id=122312

Reviewed by Anders Carlsson.

  • Scripts/build-dumprendertree:
  • Scripts/build-jsc:
  • Scripts/build-webkit:
  • Scripts/build-webkittestrunner:
  • Scripts/old-run-webkit-tests:

(openDumpTool):
(buildPlatformResultHierarchy):
(buildPlatformTestHierarchy):
(readSkippedFiles):

  • Scripts/run-launcher:
  • Scripts/run-qtwebkit-tests: Removed.
  • Scripts/run-webkit-tests:

(useNewRunWebKitTests):

  • Scripts/update-webkit:
  • Scripts/webkit-build-directory:
  • Scripts/webkitdirs.pm:

(argumentsForConfiguration):
(jscProductDir):
(builtDylibPathForName):
(isAppleWebKit):
(launcherPath):
(launcherName):
(checkRequiredSystemConfig):
(setupCygwinEnv):
(copyInspectorFrontendFiles):
(setPathForRunningWebKitApp):

  • Scripts/webkitpy/common/checkout/baselineoptimizer.py:
  • Scripts/webkitpy/common/checkout/baselineoptimizer_unittest.py:

(BaselineOptimizerTest.test_mac_future):
(BaselineOptimizerTest.test_win_does_not_drop_to_win_7sp0):
(BaselineOptimizerTest.test_common_directory_includes_root):
(BaselineOptimizerTest.test_virtual_ports_filtered):

  • Scripts/webkitpy/common/checkout/changelog_unittest.py:

(test_parse_reviewer_text):

  • Scripts/webkitpy/common/config/watchlist:
  • Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:

(PortTest.disabled_test_chromium_mac_lion_in_test_shell_mode):

  • Scripts/webkitpy/port/base.py:

(Port.init):
(Port._port_flag_for_scripts):
(Port._wk2_port_name):

  • Scripts/webkitpy/port/builders.py:
  • Scripts/webkitpy/port/factory.py:

(platform_options):
(PortFactory):
(PortFactory._default_port):

  • Scripts/webkitpy/port/factory_unittest.py:

(FactoryTest.test_gtk):

  • Scripts/webkitpy/port/qt.py: Removed.
  • Scripts/webkitpy/port/qt_unittest.py: Removed.
  • Scripts/webkitpy/style/checker.py:
  • Scripts/webkitpy/style/checker_unittest.py:

(GlobalVariablesTest.test_path_rules_specifier):

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

(CMakeChecker):

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

(_classify_include):
(check_include_line):
(check_identifier_name_in_declaration):

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

(OrderOfIncludesTest.test_classify_include):
(WebKitStyleTest.test_names):

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

(TestExpectationsTestCase.test_determine_port_from_expectations_path):

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

(TestRebaselineTest.test_baseline_directory):

  • Scripts/webkitpy/tool/main.py:

(WebKitPatch):

10:00 AM Changeset in webkit [156894] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

Add svn:ignore to *.pyc files in inspector/Scripts directory, so that they don't
show up as unversioned all the time.

  • inspector/Scripts: Added property svn:ignore.
9:15 AM Changeset in webkit [156893] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[Win][WebGL] Crash on exit
https://bugs.webkit.org/show_bug.cgi?id=120764

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-10-04
Reviewed by Martin Robinson.

On exit, libGLESv2.dll is detached from the process and relevant memory is released
before the atexit GL context cleanup handler is called, causing a NULL pointer crash.
The GL context cleanup code was originally written to avoid a X server crash on exit,
so it's only needed for PLATFORM(X11).

  • platform/graphics/GLContext.cpp: Only clean up active GL contexts on exit for PLATFORM(X11).

(WebCore::GLContext::cleanupSharedX11Display):
(WebCore::GLContext::cleanupActiveContextsAtExit):
(WebCore::GLContext::GLContext):
(WebCore::GLContext::~GLContext):

9:14 AM Changeset in webkit [156892] by commit-queue@webkit.org
  • 6 edits in trunk

[GTK] Enable text edition UndoOperations support in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=122305

Patch by Lorenzo Tilve <ltilve@igalia.com> on 2013-10-04
Reviewed by Carlos Garcia Campos.

Source/WebKit2:

Replaced the notImplemented() function calls for
the corresponding implementation of the edit operations
provided by the DefaultUndoController class.

  • GNUmakefile.list.am:
  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::registerEditCommand):
(WebKit::PageClientImpl::clearAllEditCommands):
(WebKit::PageClientImpl::canUndoRedo):
(WebKit::PageClientImpl::executeUndoRedo):

  • UIProcess/API/gtk/PageClientImpl.h:

LayoutTests:

  • platform/gtk-wk2/TestExpectations: Corrected the expectations

with the new results.

9:02 AM Changeset in webkit [156891] by mihnea@adobe.com
  • 6 edits
    2 adds in trunk

[CSSRegions] Regions as stacking contexts should paint over positioned sibling
https://bugs.webkit.org/show_bug.cgi?id=122321

Reviewed by Alexandru Chiculita.

Source/WebCore:

Test: fast/regions/layers/region-normalflow-stacking-context.html

Since regions are stacking contexts, they should not be in normal flow list of layers.
More clean-up after https://bugs.webkit.org/show_bug.cgi?id=117365 and https://bugs.webkit.org/show_bug.cgi?id=121828
which enabled the layers.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::shouldBeNormalFlowOnly):
(WebCore::RenderLayer::shouldBeSelfPaintingLayer):

LayoutTests:

Add a new test and modify existing tests to take into account the stacking context behavior
for non-positioned regions.

  • fast/regions/autoheight-regions-mark-expected.txt:
  • fast/regions/layers/region-normalflow-stacking-context-expected.html: Added.
  • fast/regions/layers/region-normalflow-stacking-context.html: Added.
  • fast/regions/shape-inside/shape-inside-on-regions-block-content-overflow-bottom-positioned-multiple-shapes-expected.html:
  • fast/regions/shape-inside/shape-inside-on-regions-inline-content-overflow-bottom-positioned-multiple-shapes-expected.html:
8:26 AM Changeset in webkit [156890] by andersca@apple.com
  • 3 edits
    1 delete in trunk/Source/WebKit

Remove WebAssertions.h
https://bugs.webkit.org/show_bug.cgi?id=122328

Reviewed by Jessie Berlin.

Source/WebKit:

  • WebKit.xcodeproj/project.pbxproj:

Source/WebKit/mac:

  • Misc/WebAssertions.h: Removed.
8:22 AM Changeset in webkit [156889] by Michał Pakuła vel Rutka
  • 3 edits in trunk/LayoutTests

Unreviewed EFL gardening

Remove failure expectations from tests that are passing.

  • platform/efl-wk2/TestExpectations: update js/dom/create-lots-of-workers.html path.
  • platform/efl/TestExpectations:
7:22 AM Changeset in webkit [156888] by commit-queue@webkit.org
  • 4 edits in trunk

[EFL] Enable correct behaviour for deleting regional indicator symbols
https://bugs.webkit.org/show_bug.cgi?id=122209

Patch by Krzysztof Wolanski <k.wolanski@samsung.com> on 2013-10-04
Reviewed by Gyuyoung Kim.

Source/WebCore:

Regional indicator symbols that are combined should behave as a single character when deleting.
Removed unused variable initialState.

  • rendering/RenderText.cpp:

(WebCore::RenderText::previousOffsetForBackwardDeletion):

LayoutTests:

Now editing/deleting/regional-indicators.html is passing on EFL port.

  • platform/efl/TestExpectations:
7:16 AM Changeset in webkit [156887] by commit-queue@webkit.org
  • 12 edits in trunk/Source/WebKit2

Remove Qt leftovers from WebKit2
https://bugs.webkit.org/show_bug.cgi?id=122317

Patch by Sergio Correia <Sergio Correia> on 2013-10-04
Reviewed by Anders Carlsson.

  • Platform/CoreIPC/unix/ConnectionUnix.cpp:

(CoreIPC::Connection::platformInitialize):
(CoreIPC::Connection::platformInvalidate):
(CoreIPC::Connection::readyReadHandler):
(CoreIPC::Connection::open):
(CoreIPC::Connection::sendOutgoingMessage):

  • Shared/API/c/WKBase.h:
  • Shared/NativeWebTouchEvent.h:
  • UIProcess/API/C/WebKit2_C.h:
  • UIProcess/BackingStore.h:
  • UIProcess/InspectorServer/WebInspectorServer.cpp:

(WebKit::WebInspectorServer::inspectorUrlForPageID):

  • UIProcess/InspectorServer/WebInspectorServer.h:
  • UIProcess/InspectorServer/WebSocketServer.cpp:
  • UIProcess/InspectorServer/WebSocketServer.h:
  • UIProcess/WebPageProxy.cpp:
  • WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:

(WebKit::getPluginDisplay):
(WebKit::x11Screen):
(WebKit::displayDepth):
(WebKit::rootWindowID):
(WebKit::NetscapePlugin::x11HostDisplay):
(WebKit::NetscapePlugin::platformPostInitializeWindowless):
(WebKit::NetscapePlugin::platformPaint):

5:23 AM Changeset in webkit [156886] by zandobersek@gmail.com
  • 21 edits in trunk/Source/WebCore

[WebIDL] Annotate IDL interfaces under Source/WebCore/css/ with the OperationsNotDeletable attribute
https://bugs.webkit.org/show_bug.cgi?id=122276

Reviewed by Darin Adler.

Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
doesn't have any effect, but will keep the operations not configurable after the generator is modified
to preserve the original behavior. The attribute will be removed from each interface after checking
conformity with other browsers (in terms of configurability of operations of that interface) and the
WebKit's existing test suites.

This patch covers IDL interfaces under Source/WebCore/css/.

  • css/CSSHostRule.idl:
  • css/CSSMediaRule.idl:
  • css/CSSPrimitiveValue.idl:
  • css/CSSRuleList.idl:
  • css/CSSStyleDeclaration.idl:
  • css/CSSStyleSheet.idl:
  • css/CSSSupportsRule.idl:
  • css/CSSValueList.idl:
  • css/DOMWindowCSS.idl:
  • css/FontLoader.idl:
  • css/MediaList.idl:
  • css/MediaQueryList.idl:
  • css/MediaQueryListListener.idl:
  • css/StyleMedia.idl:
  • css/StyleSheet.idl:
  • css/StyleSheetList.idl:
  • css/WebKitCSSFilterValue.idl:
  • css/WebKitCSSKeyframesRule.idl:
  • css/WebKitCSSMatrix.idl:
  • css/WebKitCSSTransformValue.idl:
4:59 AM Changeset in webkit [156885] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

[WebIDL] Annotate IDL interfaces under Source/WebCore/loader/appcache/ with the OperationsNotDeletable attribute
https://bugs.webkit.org/show_bug.cgi?id=122274

Reviewed by Darin Adler.

Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
doesn't have any effect, but will keep the operations not configurable after the generator is modified
to preserve the original behavior. The attribute will be removed from each interface after checking
conformity with other browsers (in terms of configurability of operations of that interface) and the
WebKit's existing test suites.

This patch covers IDL interfaces under Source/WebCore/loader/appcache/.

  • loader/appcache/DOMApplicationCache.idl:
4:55 AM Changeset in webkit [156884] by zandobersek@gmail.com
  • 4 edits in trunk/Source/WebCore

[WebIDL] Annotate IDL interfaces under Source/WebCore/plugins/ with the OperationsNotDeletable attribute
https://bugs.webkit.org/show_bug.cgi?id=122273

Reviewed by Darin Adler.

Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
doesn't have any effect, but will keep the operations not configurable after the generator is modified
to preserve the original behavior. The attribute will be removed from each interface after checking
conformity with other browsers (in terms of configurability of operations of that interface) and the
WebKit's existing test suites.

This patch covers IDL interfaces under Source/WebCore/plugins/.

  • plugins/DOMMimeTypeArray.idl:
  • plugins/DOMPlugin.idl:
  • plugins/DOMPluginArray.idl:
4:51 AM Changeset in webkit [156883] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebCore

[WebIDL] Annotate IDL interfaces under Source/WebCore/storage/ with the OperationsNotDeletable attribute
https://bugs.webkit.org/show_bug.cgi?id=122272

Reviewed by Darin Adler.

Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
doesn't have any effect, but will keep the operations not configurable after the generator is modified
to preserve the original behavior. The attribute will be removed from each interface after checking
conformity with other browsers (in terms of configurability of operations of that interface) and the
WebKit's existing test suites.

This patch covers IDL interfaces under Source/WebCore/storage/.

  • storage/Storage.idl:
  • storage/StorageEvent.idl:
4:41 AM Changeset in webkit [156882] by zandobersek@gmail.com
  • 5 edits in trunk/Source/WebCore

[WebIDL] Annotate IDL interfaces under Source/WebCore/workers/ with the OperationsNotDeletable attribute
https://bugs.webkit.org/show_bug.cgi?id=122270

Reviewed by Darin Adler.

Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
doesn't have any effect, but will keep the operations not configurable after the generator is modified
to preserve the original behavior. The attribute will be removed from each interface after checking
conformity with other browsers (in terms of configurability of operations of that interface) and the
WebKit's existing test suites.

This patch covers IDL interfaces under Source/WebCore/workers/.

  • workers/DedicatedWorkerGlobalScope.idl:
  • workers/Worker.idl:
  • workers/WorkerGlobalScope.idl:
  • workers/WorkerLocation.idl:
1:49 AM Changeset in webkit [156881] by abucur@adobe.com
  • 5 edits
    2 adds in trunk

[CSS Regions] Infinite loop when computing widows
https://bugs.webkit.org/show_bug.cgi?id=122215

Reviewed by David Hyatt.

Source/WebCore:

The patch ensures it's not possible to relayout a block indefinitely because of widows contraints. You can't
break a block more than once to account for widows. This can happen if, for example, some lines are moved
to the next container and there the content breaks in another container again without respecting the widows property.
This is in line with the idea of not leaving empty fragmentation containers during layout.

Test: fast/regions/regions-widows-stack-overflow.html

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::adjustLinePositionForPagination):
(WebCore::RenderBlockFlow::setBreakAtLineToAvoidWidow):
(WebCore::RenderBlockFlow::setDidBreakAtLineToAvoidWidow):
(WebCore::RenderBlockFlow::clearDidBreakAtLineToAvoidWidow):
(WebCore::RenderBlockFlow::clearShouldBreakAtLineToAvoidWidow):

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::RenderBlockFlowRareData::RenderBlockFlowRareData): Rename the m_shouldBreakAtLineToAvoidWidow
flag to m_didBreakAtLineToAvoidWidow.

(WebCore::RenderBlockFlow::shouldBreakAtLineToAvoidWidow): Use the line index to determine if it should break or not.
(WebCore::RenderBlockFlow::didBreakAtLineToAvoidWidow): Use to determine if a break already happened because of widows.

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::layoutRunsAndFloatsInRange):

LayoutTests:

Test there is no stack overflow when trying to break for widows that are caused by other widows.

  • fast/regions/regions-widows-stack-overflow-expected.html: Added.
  • fast/regions/regions-widows-stack-overflow.html: Added.

Oct 3, 2013:

11:05 PM Changeset in webkit [156880] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Tools

Unreviewed. Add myself to some watchlists.

  • Scripts/webkitpy/common/config/watchlist:
9:42 PM Changeset in webkit [156879] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Assert that we don't try to index past the end of the m_coreTextIndices array
https://bugs.webkit.org/show_bug.cgi?id=122308

Reviewed by Dan Bernstein.

Because an assertion failure is better than a random crash.

  • platform/graphics/mac/ComplexTextController.cpp:

(WebCore::ComplexTextController::ComplexTextRun::indexAt):

9:38 PM Changeset in webkit [156878] by andersca@apple.com
  • 4 edits
    2 deletes in trunk/Source/WebKit

Remove WebNSNotificationCenterExtras
https://bugs.webkit.org/show_bug.cgi?id=122316

Reviewed by Dan Bernstein.

Source/WebKit:

Update Xcode project.

  • WebKit.xcodeproj/project.pbxproj:

Source/WebKit/mac:

Use dispatch_async to ensure that notifications are posted on the main thread.

  • Misc/WebIconDatabase.mm:

(-[WebIconDatabase _sendNotificationForURL:]):
(-[WebIconDatabase _sendDidRemoveAllIconsNotification]):

  • Misc/WebNSNotificationCenterExtras.h: Removed.
  • Misc/WebNSNotificationCenterExtras.m: Removed.
9:11 PM Changeset in webkit [156877] by mrowe@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION (r155787): WebKitTestRunner rebuilds from scratch when doing an incremental build

Reviewed by Dan Bernstein.

  • WebKit2.xcodeproj/project.pbxproj: Have unifdef generate its output to a temporary file. If its exit status

indicates that the content did not change, remove the temporary file. If the content changed, moved the temporary file
over the destination. This avoids updating the modification date of the file when it has not changed.

9:04 PM Changeset in webkit [156876] by Antti Koivisto
  • 69 edits in trunk/Source/WebCore

Move setting of some layout bits to RenderElement
https://bugs.webkit.org/show_bug.cgi?id=122256

Reviewed by Andreas Kling.

These bits never apply to RenderText nodes:

normalChildNeedsLayout
posChildNeedsLayout
needsSimplifiedNormalFlowLayout
normalChildNeedsLayout
positionedMovementLayout

The code for setting them can be moved to RenderElement.

Also separated the code paths for setting and clearing the bits and uninlined
everything that is not massively popular.

8:42 PM Changeset in webkit [156875] by Lucas Forschler
  • 2 edits in tags/Safari-538.1.2/Source/ThirdParty/ANGLE

Merged r156870. <rdar://problem/15116673>

8:21 PM Changeset in webkit [156874] by Lucas Forschler
  • 5 edits in tags/Safari-538.1.2/Source

Versioning.

8:19 PM Changeset in webkit [156873] by mrowe@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION (r156811): WebCore rebuilds from scratch when doing an incremental build

The change in r156811 resulted in several public headers in the JavaScriptCore framework having their modification
date touched on every build, even if their contents had not changed. This resulted in a large portion of WebCore
needing to rebuilt after an incremental build of JavaScriptCore.

Reviewed by Dan Bernstein.

  • JavaScriptCore.xcodeproj/project.pbxproj: Have unifdef generate its output to a temporary file. If its exit status

indicates that the content did not change, remove the temporary file. If the content changed, moved the temporary file
over the destination.

8:19 PM Changeset in webkit [156872] by Lucas Forschler
  • 1 copy in tags/Safari-538.1.2

New Tag.

8:08 PM Changeset in webkit [156871] by weinig@apple.com
  • 23 edits in trunk/Source

Remove shouldRubberBandInDirection from the WKBundlePageUIClient
https://bugs.webkit.org/show_bug.cgi?id=122309

Reviewed by Andreas Kling.

../WebCore:

  • loader/EmptyClients.h:
  • page/ChromeClient.h:
  • page/FrameView.cpp:
  • page/FrameView.h:
  • platform/ScrollableArea.h:
  • platform/mac/ScrollAnimatorMac.mm:

(WebCore::ScrollAnimatorMac::shouldRubberBandInDirection):

../WebKit/efl:

  • WebCoreSupport/ChromeClientEfl.h:

../WebKit/gtk:

  • WebCoreSupport/ChromeClientGtk.h:

../WebKit/mac:

  • WebCoreSupport/WebChromeClient.h:

../WebKit/win:

  • WebCoreSupport/WebChromeClient.h:

../WebKit/wince:

  • WebCoreSupport/ChromeClientWinCE.h:

../WebKit2:

WKBundlePageUIClient's shouldRubberBandInDirection has never worked with
threaded scrolling, so remove it.

  • WebProcess/InjectedBundle/API/c/WKBundlePage.h:
  • WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
  • WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:
  • WebProcess/WebCoreSupport/WebChromeClient.h:
5:43 PM Changeset in webkit [156870] by mitz@apple.com
  • 2 edits in trunk/Source/ThirdParty/ANGLE

<rdar://problem/15116673> [mac] Build failure when the source directory is not named ANGLE
https://bugs.webkit.org/show_bug.cgi?id=122307

Reviewed by Mark Rowe.

  • ANGLE.xcodeproj/project.pbxproj: Ensure that the symlink to SRCROOT in

DerivedSources/ANGLE is named ANGLE.

4:38 PM Changeset in webkit [156869] by Christophe Dumez
  • 11 edits in trunk

Fix the HTMLSelectElement.prototype.remove() method
https://bugs.webkit.org/show_bug.cgi?id=121586

Reviewed by Darin Adler.

Source/WebCore:

Fix the HTMLSelectElement.prototype.remove() method so that it behaves like
Element.remove() if no argument is passed (from ChildNode). This behavior
is consistent with Firefox and Blink.

See https://www.w3.org/Bugs/Public/show_bug.cgi?id=20720 for more
information.

Tests: js/dom/select-options-remove.html

  • bindings/js/JSHTMLOptionsCollectionCustom.cpp:

(WebCore::JSHTMLOptionsCollection::remove):
Stop calling JSHTMLSelectElement::remove() blindly as it is dangerous, especially
now that calling it without argument now detaches the element. Instead, have the
bindings call the corresponding methods on the HTMLOptionsCollection implementation
object, as it should.

  • bindings/js/JSHTMLSelectElementCustom.cpp:

(WebCore::JSHTMLSelectElement::remove):
Call Element::remove() if no argument is given.

  • html/HTMLOptionsCollection.cpp:

(WebCore::HTMLOptionsCollection::remove):

  • html/HTMLOptionsCollection.h:
  • html/HTMLSelectElement.cpp:
  • html/HTMLSelectElement.h:

Rename remove(int) to removeByIndex(int) to avoid conflict with
Node::remove(ExceptionCode&).

LayoutTests:

Add test to make sure calling HTMLSelectElement.prototype.remove() detaches the
select element from its parent, as Element::remove() would.

  • js/dom/select-options-remove-expected.txt:
  • js/resources/select-options-remove.js:
4:31 PM Changeset in webkit [156868] by rniwa@webkit.org
  • 1 edit
    1 delete in trunk/LayoutTests

Re-remove Qt TestExpectations re-added in r156841 after r156866.

  • platform/qt: Removed.
  • platform/qt/TestExpectations: Removed.
4:29 PM Changeset in webkit [156867] by commit-queue@webkit.org
  • 8 edits
    2 adds in trunk

Regression: AX: <table><caption> no longer exposed as AXTitle.
https://bugs.webkit.org/show_bug.cgi?id=121977

Patch by Samuel White <Samuel White> on 2013-10-03
Reviewed by Darin Adler.

Source/WebCore:

Some cleanup of accessibilityText. Notably, subclasses were unnecessarily redeclaring this method as both private and
protected. Added OVERRIDE keyword to these subclasses as needed. Moved titleElementText to virtual so we can do subclass
overrides in cases like this bug. That is, AccessibilityTable can leverage the existing machinery for alternativeText,
visibleText, and helpText, but we do some custom work ONLY in titleElementText.

Test: accessibility/table-title.html

  • accessibility/AccessibilityImageMapLink.h:
  • accessibility/AccessibilityMediaControls.h:
  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::titleElementText):

  • accessibility/AccessibilityNodeObject.h:
  • accessibility/AccessibilityTable.cpp:

(WebCore::AccessibilityTable::titleElementText):

  • accessibility/AccessibilityTable.h:

LayoutTests:

Added test to verify that table elements correctly derive their AXTitle from their associated caption element.

  • accessibility/table-title-expected.txt: Added.
  • accessibility/table-title.html: Added.
4:24 PM Changeset in webkit [156866] by rniwa@webkit.org
  • 5 edits in trunk/Tools

Remove Qt builders from the flakiness dashboard.

  • TestResultServer/static-dashboards/builders.jsonp:
  • TestResultServer/static-dashboards/flakiness_dashboard.js:
  • TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:
  • TestResultServer/static-dashboards/loader_unittests.js:
4:18 PM Changeset in webkit [156865] by commit-queue@webkit.org
  • 1 edit
    3 adds in trunk/LayoutTests

Add a testcase for a bug that I had during the development. This code uses the asm.js style.
https://bugs.webkit.org/show_bug.cgi?id=122286

Patch by Nadav Rotem <nrotem@apple.com> on 2013-10-03
Reviewed by Filip Pizlo.

  • js/regress/asmjs_bool_bug-expected.txt: Added.
  • js/regress/asmjs_bool_bug.html: Added.
  • js/regress/script-tests/asmjs_bool_bug.js: Added.

(strlen):

4:10 PM Changeset in webkit [156864] by timothy_horton@apple.com
  • 4 edits in trunk/Tools

[mac][wk2] ScrollPinningBehaviors, SpacebarScrolling, and ScrollByLineCommands fail after r156793
https://bugs.webkit.org/show_bug.cgi?id=122299

Reviewed by Beth Dakin.

  • TestWebKitAPI/Tests/WebKit2/ScrollPinningBehaviors.cpp:

Disable threaded scrolling.

  • TestWebKitAPI/Tests/WebKit2/SpacebarScrolling.cpp:
  • TestWebKitAPI/Tests/WebKit2/mac/EditorCommands.mm:

Synchronously wait for the scrolling thread to inform the main thread of the new scroll position.

4:03 PM Changeset in webkit [156863] by Brent Fulgham
  • 2 edits in trunk/Source/JavaScriptCore

[Win] Unreviewed gardening.

paths for various files added outside of Visual Studio. They are all
displayed in the root of the project, rather than the proper sub-folder.

3:54 PM Changeset in webkit [156862] by Brent Fulgham
  • 6 edits in trunk/Source

../JavaScriptCore: [Win] Update solutions and projects to support 64-bit builds.
https://bugs.webkit.org/show_bug.cgi?id=122225

Reviewed by Anders Carlsson.

Revise ordering of CPU(X86) and CPU(X86_64) tests, because MSVC always defines
both when targeting a 64-bit build.

for 64-bit builds.

../WTF: [Win] Update solutions and projects to support 64-bit build.
https://bugs.webkit.org/show_bug.cgi?id=122225

Reviewed by Anders Carlsson.

  • WTF.vcxproj/WTF.submit.sln: Add x64 architecture targets.
  • WTF.vcxproj/WTF.vcxproj: Correct path to config.h file.
  • WTF.vcxproj/WTF.vcxproj.filters: Correct path to config.h file.
3:52 PM Changeset in webkit [156861] by commit-queue@webkit.org
  • 10 edits
    4 copies in trunk/Source/WebKit2

Create CoordinatedDrawingArea / CoordinatedDrawingAreaProxy
https://bugs.webkit.org/show_bug.cgi?id=122207

Patch by Sergio Correia <Sergio Correia> on 2013-10-03
Reviewed by Anders Carlsson.

Since Apple are moving away from DrawingAreaImpl, Coordinated Graphics
should have its own drawing area.

  • CMakeLists.txt: Use CoordinatedDrawingArea and

CoordinatedDrawingAreaProxy instead of the DrawingAreaImpl /
DrawingAreaProxyImpl.

  • Shared/DrawingAreaInfo.h: Add DrawingAreaTypeCoordinated.
  • UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp:

Added, copied from DrawingAreaProxyImpl.cpp.

  • UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.h: Added,

copied from DrawingAreaProxyImpl.h.

  • UIProcess/CoordinatedGraphics/WebView.cpp:

(WebKit::WebView::createDrawingAreaProxy): Use CoordinatedDrawingAreaProxy.

  • UIProcess/DrawingAreaProxyImpl.cpp: Remove Coordinated Graphics

bits.

  • UIProcess/DrawingAreaProxyImpl.h: Ditto.
  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp:

Added, copied from DrawingAreaImpl.cpp.

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h:

Added, copied from DrawingAreaImpl.h.

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:

(WebKit::CoordinatedLayerTreeHost::performScheduledLayerFlush): Use
CoordinatedDrawingArea.

  • WebProcess/WebPage/DrawingArea.cpp:

(WebKit::DrawingArea::create): Handle the DrawingAreaTypeCoordinated
in the DrawingArea creation code.

  • WebProcess/WebPage/DrawingAreaImpl.cpp: Remove Coordinated Graphics

bits.

  • WebProcess/WebPage/DrawingAreaImpl.h: Ditto.
3:15 PM Changeset in webkit [156860] by andersca@apple.com
  • 30 edits in trunk/Source

Ignore deprecation warnings
https://bugs.webkit.org/show_bug.cgi?id=122302

Reviewed by Mark Rowe.

Source/WebCore:

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper convertPointToScreenSpace:]):

  • bindings/objc/DOMHTML.mm:

(-[DOMHTMLInputElement _rectOnScreen]):

  • page/mac/EventHandlerMac.mm:

(WebCore::EventHandler::sendFakeEventsAfterWidgetTracking):

  • page/mac/FrameSnapshottingMac.mm:

(WebCore::imageFromRect):

  • platform/graphics/mac/IconMac.mm:

(WebCore::Icon::Icon):

  • platform/mac/DragImageMac.mm:

(WebCore::scaleDragImage):

  • platform/mac/PlatformEventFactoryMac.mm:

(WebCore::globalPoint):

  • platform/mac/ScrollViewMac.mm:

(WebCore::ScrollView::platformContentsToScreen):
(WebCore::ScrollView::platformScreenToContents):

Source/WebKit/mac:

  • Misc/WebIconDatabase.mm:

(-[WebIconDatabase _scaleIcon:toSize:]):
(webGetNSImage):

  • Misc/WebNSImageExtras.m:

(-[NSImage _web_scaleToMaxSize:]):
(-[NSImage _web_dissolveToFraction:]):

  • Misc/WebNSViewExtras.m:

(-[NSView _web_DragImageForElement:rect:event:pasteboard:source:offset:]):
(-[NSView _web_convertRect:toView:]):

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::NetscapePluginInstanceProxy::mouseEvent):

  • Plugins/Hosted/WebTextInputWindowController.m:

(-[WebTextInputPanel _interpretKeyEvent:string:]):

  • Plugins/WebBaseNetscapePluginView.mm:

(-[WebBaseNetscapePluginView convertFromX:andY:space:toX:andY:space:]):

  • WebCoreSupport/WebDragClient.mm:

(WebDragClient::startDrag):

  • WebInspector/WebNodeHighlight.mm:

(-[WebNodeHighlight _computeHighlightWindowFrame]):

  • WebView/WebFullScreenController.mm:

(-[WebFullScreenController _startEnterFullScreenAnimationWithDuration:]):
(-[WebFullScreenController _startExitFullScreenAnimationWithDuration:]):

  • WebView/WebHTMLView.mm:

(+[WebHTMLView _postFlagsChangedEvent:]):
(-[WebHTMLView _updateMouseoverWithFakeEvent]):
(-[WebHTMLView _autoscroll]):
(-[WebHTMLView mouseDown:]):
(-[WebHTMLView mouseDragged:]):
(-[WebHTMLView mouseUp:]):
(-[WebHTMLView accessibilityHitTest:]):
(-[WebHTMLView _executeSavedKeypressCommands]):
(-[WebHTMLView attachRootLayer:]):
(-[WebHTMLView textStorage]):
(-[WebHTMLView _updateSelectionForInputManager]):

  • WebView/WebTextCompletionController.mm:

(-[WebTextCompletionController _buildUI]):
(-[WebTextCompletionController _placePopupWindow:]):

Source/WebKit2:

  • Shared/mac/WebEventFactory.mm:

(WebKit::globalPoint):

  • UIProcess/API/mac/FindIndicatorWindow.mm:

(WebKit::FindIndicatorWindow::setFindIndicator):

  • UIProcess/API/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::screenToWindow):
(WebKit::PageClientImpl::windowToScreen):

  • UIProcess/API/mac/WKTextInputWindowController.mm:

(-[WKTextInputPanel _interpretKeyEvent:usingLegacyCocoaTextInput:string:]):
(-[WKTextInputPanel _hasMarkedText]):

  • UIProcess/API/mac/WKView.mm:

(-[WKView characterIndexForPoint:]):
(-[WKView firstRectForCharacterRange:actualRange:]):
(-[WKView _postFakeMouseMovedEventForFlagsChangedEvent:]):
(-[WKView _setDragImage:at:linkDrag:]):
(-[WKView performDictionaryLookupAtCurrentMouseLocation]):

  • UIProcess/mac/WKFullScreenWindowController.mm:

(-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]):
(-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]):

  • UIProcess/mac/WebContextMenuProxyMac.mm:

(WebKit::WebContextMenuProxyMac::showContextMenu):

  • UIProcess/mac/WebPopupMenuProxyMac.mm:

(WebKit::WebPopupMenuProxyMac::showPopupMenu):

2:46 PM Changeset in webkit [156859] by andersca@apple.com
  • 2 edits in trunk/Tools

Use numeric strings in the OS version dictionary
https://bugs.webkit.org/show_bug.cgi?id=122300

Reviewed by Mark Rowe.

  • Scripts/webkitpy/common/system/platforminfo.py:

(PlatformInfo._determine_mac_version):

2:14 PM Changeset in webkit [156858] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Eliminate unused JITStub function declarations
https://bugs.webkit.org/show_bug.cgi?id=122288

Reviewed by Geoffrey Garen.

Removed unused JITStub declarations.

  • jit/JITStubs.h:
2:07 PM Changeset in webkit [156857] by Manuel Rego Casasnovas
  • 3 edits
    2 adds in trunk/LayoutTests

[CSS Regions] Layout Test for selecting text in 2 regions
https://bugs.webkit.org/show_bug.cgi?id=121841

Reviewed by Alexandru Chiculita.

Add new reftest for selecting text in 2 regions. It compares the
behavior (highlighted text and selected content) in regions and absolute
positions.

  • fast/regions/resources/helper.js: Add new function to set selected

content in an element onmouseup.
(onMouseUpLogSelection.document.onmouseup):
(onMouseUpLogSelection):

  • fast/regions/resources/region-style.css: Define some styles that could

be reused in other tests.

  • fast/regions/selection/selecting-text-in-2-regions-expected.html:

Added.

  • fast/regions/selection/selecting-text-in-2-regions.html: Added.
1:49 PM Changeset in webkit [156856] by Lucas Forschler
  • 5 edits in tags/Safari-538.1.1/Source

Versioning.

1:44 PM Changeset in webkit [156855] by Lucas Forschler
  • 1 copy in tags/Safari-538.1.1

New Tag.

1:44 PM Changeset in webkit [156854] by ap@apple.com
  • 2 edits in trunk/Tools

Fix LeaksViewer to load leaks results from MountainLion, not Lion.

Rubber-stamped by Tim Horton.

  • BuildSlaveSupport/build.webkit.org-config/public_html/LeaksViewer/LeaksViewer.js:

(LeaksViewer._displayURLPrompt):

1:36 PM Changeset in webkit [156853] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Flaky Test: fast/history/history-back-while-pdf-in-pagecache.html
https://bugs.webkit.org/show_bug.cgi?id=121628

  • platform/mac/TestExpectations: Marking as such.
1:04 PM Changeset in webkit [156852] by hmuller@adobe.com
  • 3 edits
    4 adds in trunk

[CSS Shapes] Support the shape-image-threshold property
https://bugs.webkit.org/show_bug.cgi?id=122254

Reviewed by Andreas Kling.

Source/WebCore:

Replace the hardwired 0 Shape::createShape() threshold parameter with the style's
shapeImageThreshold() value (which has been clamped to [0,1]).

Tests: fast/shapes/shape-outside-floats/shape-outside-floats-image-threshold-001.html

fast/shapes/shape-outside-floats/shape-outside-floats-image-threshold-002.html

  • rendering/shapes/ShapeInfo.cpp:

(WebCore::::computedShape):

LayoutTests:

Verify that a shape-outside image whose pixels' alpha channels are all above shape-image-threshold causes
layout to skirt the shape, and similarly that an image whose pixels' alpha channels are all below the threshold
has no effect on the layout.

  • fast/shapes/shape-outside-floats/shape-outside-floats-image-threshold-001-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-image-threshold-001.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-image-threshold-002-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-image-threshold-002.html: Added.
1:00 PM Changeset in webkit [156851] by hmuller@adobe.com
  • 7 edits
    1 copy
    1 delete in trunk/LayoutTests

[CSS Shapes] Revise the CSS property parsing tests
https://bugs.webkit.org/show_bug.cgi?id=122251

Reviewed by Andreas Kling.

Flattened the shapes CSS property parsing tests by inserting the code from
the fast/shapes/parsing/script-tests subdirectory into the test HTML source
files. The subdirectory is now empty and the tests are easier to read.

  • fast/shapes/parsing/parsing-shape-image-threshold.html: Inserted parsing-shape-image-threshold.js instead of referring to it with script src.
  • fast/shapes/parsing/parsing-shape-inside.html: Likewise
  • fast/shapes/parsing/parsing-shape-lengths.html: Likewise
  • fast/shapes/parsing/parsing-shape-margin.html: Likewise
  • fast/shapes/parsing/parsing-shape-outside.html: Likewise
  • fast/shapes/parsing/parsing-shape-padding.html: Likewise
  • fast/shapes/parsing/parsing-test-utils.js: Renamed from LayoutTests/fast/shapes/parsing/script-tests/parsing-test-utils.js.

(getCSSText):
(getComputedStyleValue):
(getParentAndChildComputedStyles):
(getParentAndChildComputedStylesString):
(getChildComputedStyle):
(testShapeSpecifiedProperty):
(testShapeComputedProperty):
(testNotInheritedShapeChildProperty):
(property):

  • fast/shapes/parsing/script-tests/parsing-shape-image-threshold.js: Removed.
  • fast/shapes/parsing/script-tests/parsing-shape-inside.js: Removed.
  • fast/shapes/parsing/script-tests/parsing-shape-lengths.js: Removed.
  • fast/shapes/parsing/script-tests/parsing-shape-margin.js: Removed.
  • fast/shapes/parsing/script-tests/parsing-shape-outside.js: Removed.
  • fast/shapes/parsing/script-tests/parsing-shape-padding.js: Removed.
12:53 PM Changeset in webkit [156850] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

[CSS Regions] Follow-up code style change after bug #121828 All regions have layers
https://bugs.webkit.org/show_bug.cgi?id=122265

Patch by Mihai Maerean <Mihai Maerean> on 2013-10-03
Reviewed by Darin Adler.

Comments moved to the cpp file, as requested in the review of bug #121828 All regions have layers.

No new tests, no behavior change.

  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::requiresLayer):

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

(WebCore::RenderRegion::requiresLayer):

  • rendering/RenderRegion.h:
12:52 PM Changeset in webkit [156849] by ap@apple.com
  • 2 edits in trunk/LayoutTests

video-object-fit tests are flaky
https://bugs.webkit.org/show_bug.cgi?id=121803

I'm not quite sure what's going on, but [ Pass Failure ] expectations didn't cut it.
Trying [ Pass ImageOnlyFailure ], as the failures are always image only anyway.

  • platform/mac/TestExpectations:
12:48 PM Changeset in webkit [156848] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[cairo] Initialize the m_compositorTexture in GraphicsContext3DCairo.cpp
https://bugs.webkit.org/show_bug.cgi?id=122285

Patch by Alejandro G. Castro <alex@igalia.com> on 2013-10-03
Reviewed by Noam Rosenthal.

Initialize to the default texture to avoid the random texture name
and generate the texture name.

  • platform/graphics/cairo/GraphicsContext3DCairo.cpp:

(WebCore::GraphicsContext3D::GraphicsContext3D): Initialize
m_compositorTexture.
(WebCore::GraphicsContext3D::~GraphicsContext3D): Delete the
generated textures names.

  • platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:

(WebCore::GraphicsContext3D::reshapeFBOs): Generate the texture
names for m_compositorTexture and m_texture.

11:38 AM Changeset in webkit [156847] by andersca@apple.com
  • 41 edits in trunk/Source/WebKit2

Remove the last remnants of Qt from WebKit2
https://bugs.webkit.org/show_bug.cgi?id=122290

Reviewed by Andreas Kling.

  • Platform/PlatformProcessIdentifier.h:
  • Shared/API/c/WKSharedAPICast.h:

(WebKit::toAPI):
(WebKit::toImpl):

  • Shared/Downloads/Download.cpp:

(WebKit::Download::Download):

  • Shared/Downloads/Download.h:
  • Shared/Downloads/DownloadManager.cpp:
  • Shared/Downloads/DownloadManager.h:
  • Shared/EditorState.cpp:

(WebKit::EditorState::encode):
(WebKit::EditorState::decode):

  • Shared/EditorState.h:

(WebKit::EditorState::EditorState):

  • Shared/LayerTreeContext.h:
  • Shared/NativeWebKeyboardEvent.h:
  • Shared/NativeWebMouseEvent.h:
  • Shared/NativeWebWheelEvent.h:
  • Shared/PlatformPopupMenuData.cpp:

(WebKit::PlatformPopupMenuData::encode):
(WebKit::PlatformPopupMenuData::decode):

  • Shared/PlatformPopupMenuData.h:
  • Shared/ShareableBitmap.h:
  • Shared/WebPreferencesStore.h:
  • UIProcess/Downloads/DownloadProxy.cpp:
  • UIProcess/Downloads/DownloadProxy.h:
  • UIProcess/PageClient.h:
  • UIProcess/Plugins/PluginProcessProxy.cpp:

(WebKit::PluginProcessProxy::didFinishLaunching):

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::download):

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

(WebKit::WebPageProxy::performDragControllerAction):
(WebKit::WebPageProxy::receivedPolicyDecision):
(WebKit::WebPageProxy::editorStateChanged):
(WebKit::WebPageProxy::showPopupMenu):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/WebPopupMenuProxy.h:
  • WebProcess/InjectedBundle/InjectedBundle.h:
  • WebProcess/WebCoreSupport/WebDragClient.cpp:
  • WebProcess/WebCoreSupport/WebEditorClient.cpp:

(WebKit::WebEditorClient::respondToChangedSelection):
(WebKit::WebEditorClient::willSetInputMethodState):
(WebKit::WebEditorClient::supportsGlobalSelection):

  • WebProcess/WebCoreSupport/WebEditorClient.h:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::shouldFallBack):

  • WebProcess/WebCoreSupport/WebPopupMenu.cpp:

(WebKit::WebPopupMenu::didChangeSelectedIndex):

  • WebProcess/WebCoreSupport/WebPopupMenu.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::editorState):
(WebKit::WebPage::performDragControllerAction):

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

(WebKit::WebProcess::WebProcess):

  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:
  • config.h:
11:24 AM Changeset in webkit [156846] by zoltan@webkit.org
  • 7 edits
    10 adds in trunk

[CSS Shapes] Support block content with inline content around floats in shape-inside
https://bugs.webkit.org/show_bug.cgi?id=121616

Reviewed by David Hyatt.

In r156022 and r156364, I added support for floats inside shape-inside with inline content. This change extends
the existing implementation to support block content with inline content (paragraphs). I added an extra text for
positioning a float inside shape-inside without text content around it.

Source/WebCore:

Tests: fast/shapes/shape-inside/shape-inside-left-float-in-lower-left-triangle-block-content.html

fast/shapes/shape-inside/shape-inside-left-float-in-lower-right-triangle-block-content.html
fast/shapes/shape-inside/shape-inside-left-float-in-lower-right-triangle.html
fast/shapes/shape-inside/shape-inside-left-float-in-upper-left-triangle-block-content.html
fast/shapes/shape-inside/shape-inside-left-float-in-upper-right-triangle-block-content.html

  • rendering/FloatingObjects.h:

(WebCore::FloatingObject::logicalSize): Add new function to return the FloatingObject logical size.

  • rendering/LineWidth.cpp:

(WebCore::LineWidth::fitBelowFloats): When the lineBreaker code pushes down the content below the floating object,
we need to update the segments if we are in a shape-inside.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::computeLogicalLocationForFloat): Do the positioning based on the float actual size, and use the
recent shapeInsideInfo. (Calling layoutShapeInsideInfo which deals with the layoutStates also instead of shapeInsideInfo.)

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

(WebCore::RenderBlock::adjustLogicalLineTopAndLogicalHeightIfNeeded): If we don't have inline content we still need to positionize
our float content in a shape-inside.
(WebCore::updateSegmentsForShapes): Use the right coordinates for block content with inline content.

LayoutTests:

  • fast/shapes/shape-inside/shape-inside-left-float-in-lower-left-triangle-block-content-expected.html: Added.
  • fast/shapes/shape-inside/shape-inside-left-float-in-lower-left-triangle-block-content.html: Added.
  • fast/shapes/shape-inside/shape-inside-left-float-in-lower-right-triangle-block-content-expected.html: Added.
  • fast/shapes/shape-inside/shape-inside-left-float-in-lower-right-triangle-block-content.html: Added.
  • fast/shapes/shape-inside/shape-inside-left-float-in-lower-right-triangle-expected.html: Added.
  • fast/shapes/shape-inside/shape-inside-left-float-in-lower-right-triangle.html: Added.
  • fast/shapes/shape-inside/shape-inside-left-float-in-upper-left-triangle-block-content-expected.html: Added.
  • fast/shapes/shape-inside/shape-inside-left-float-in-upper-left-triangle-block-content.html: Added.
  • fast/shapes/shape-inside/shape-inside-left-float-in-upper-right-triangle-block-content-expected.html: Added.
  • fast/shapes/shape-inside/shape-inside-left-float-in-upper-right-triangle-block-content.html: Added.
11:06 AM Changeset in webkit [156845] by andersca@apple.com
  • 1 edit
    247 deletes in trunk/Source/WebKit2

Remove Qt files from WebKit2.

Rubber-stomped by Andreas Kling.

  • DerivedSources.pri: Removed.
  • PluginProcess.pro: Removed.
  • PluginProcess/qt/PluginControllerProxyQt.cpp: Removed.
  • PluginProcess/qt/PluginProcessMainQt.cpp: Removed.
  • PluginProcess/qt/PluginProcessQt.cpp: Removed.
  • SandboxProcess.pro: Removed.
  • Shared/API/c/qt/WKImageQt.cpp: Removed.
  • Shared/API/c/qt/WKImageQt.h: Removed.
  • Shared/Downloads/qt/DownloadQt.cpp: Removed.
  • Shared/Downloads/qt/QtFileDownloader.cpp: Removed.
  • Shared/Downloads/qt/QtFileDownloader.h: Removed.
  • Shared/qt/ArgumentCodersQt.cpp: Removed.
  • Shared/qt/ArgumentCodersQt.h: Removed.
  • Shared/qt/LayerTreeContextQt.cpp: Removed.
  • Shared/qt/NativeWebKeyboardEventQt.cpp: Removed.
  • Shared/qt/NativeWebMouseEventQt.cpp: Removed.
  • Shared/qt/NativeWebTouchEventQt.cpp: Removed.
  • Shared/qt/NativeWebWheelEventQt.cpp: Removed.
  • Shared/qt/PlatformCertificateInfo.h: Removed.
  • Shared/qt/ProcessExecutablePathQt.cpp: Removed.
  • Shared/qt/QtNetworkReplyData.cpp: Removed.
  • Shared/qt/QtNetworkReplyData.h: Removed.
  • Shared/qt/QtNetworkRequestData.cpp: Removed.
  • Shared/qt/QtNetworkRequestData.h: Removed.
  • Shared/qt/ShareableBitmapQt.cpp: Removed.
  • Shared/qt/WebCoreArgumentCodersQt.cpp: Removed.
  • Shared/qt/WebEventFactoryQt.cpp: Removed.
  • Shared/qt/WebEventFactoryQt.h: Removed.
  • Shared/qt/WebURLRequestQt.cpp: Removed.
  • Shared/qt/WebURLResponseQt.cpp: Removed.
  • Target.pri: Removed.
  • UIProcess/API/C/qt/WKIconDatabaseQt.cpp: Removed.
  • UIProcess/API/C/qt/WKIconDatabaseQt.h: Removed.
  • UIProcess/API/C/qt/WKNativeEvent.h: Removed.
  • UIProcess/API/cpp/qt/WKStringQt.cpp: Removed.
  • UIProcess/API/cpp/qt/WKStringQt.h: Removed.
  • UIProcess/API/cpp/qt/WKURLQt.cpp: Removed.
  • UIProcess/API/cpp/qt/WKURLQt.h: Removed.
  • UIProcess/API/qt/qquicknetworkreply.cpp: Removed.
  • UIProcess/API/qt/qquicknetworkreply_p.h: Removed.
  • UIProcess/API/qt/qquicknetworkrequest.cpp: Removed.
  • UIProcess/API/qt/qquicknetworkrequest_p.h: Removed.
  • UIProcess/API/qt/qquickurlschemedelegate.cpp: Removed.
  • UIProcess/API/qt/qquickurlschemedelegate_p.h: Removed.
  • UIProcess/API/qt/qquickwebpage.cpp: Removed.
  • UIProcess/API/qt/qquickwebpage_p.h: Removed.
  • UIProcess/API/qt/qquickwebpage_p_p.h: Removed.
  • UIProcess/API/qt/qquickwebview.cpp: Removed.
  • UIProcess/API/qt/qquickwebview_p.h: Removed.
  • UIProcess/API/qt/qquickwebview_p_p.h: Removed.
  • UIProcess/API/qt/qtwebsecurityorigin.cpp: Removed.
  • UIProcess/API/qt/qtwebsecurityorigin_p.h: Removed.
  • UIProcess/API/qt/qwebdownloaditem.cpp: Removed.
  • UIProcess/API/qt/qwebdownloaditem_p.h: Removed.
  • UIProcess/API/qt/qwebdownloaditem_p_p.h: Removed.
  • UIProcess/API/qt/qwebiconimageprovider.cpp: Removed.
  • UIProcess/API/qt/qwebiconimageprovider_p.h: Removed.
  • UIProcess/API/qt/qwebkittest.cpp: Removed.
  • UIProcess/API/qt/qwebkittest_p.h: Removed.
  • UIProcess/API/qt/qwebloadrequest.cpp: Removed.
  • UIProcess/API/qt/qwebloadrequest_p.h: Removed.
  • UIProcess/API/qt/qwebnavigationhistory.cpp: Removed.
  • UIProcess/API/qt/qwebnavigationhistory_p.h: Removed.
  • UIProcess/API/qt/qwebnavigationhistory_p_p.h: Removed.
  • UIProcess/API/qt/qwebnavigationrequest.cpp: Removed.
  • UIProcess/API/qt/qwebnavigationrequest_p.h: Removed.
  • UIProcess/API/qt/qwebpermissionrequest.cpp: Removed.
  • UIProcess/API/qt/qwebpermissionrequest_p.h: Removed.
  • UIProcess/API/qt/qwebpreferences.cpp: Removed.
  • UIProcess/API/qt/qwebpreferences_p.h: Removed.
  • UIProcess/API/qt/qwebpreferences_p_p.h: Removed.
  • UIProcess/API/qt/raw/qrawwebview.cpp: Removed.
  • UIProcess/API/qt/raw/qrawwebview_p.h: Removed.
  • UIProcess/API/qt/raw/qrawwebview_p_p.h: Removed.
  • UIProcess/API/qt/tests/bytearraytestdata.cpp: Removed.
  • UIProcess/API/qt/tests/bytearraytestdata.h: Removed.
  • UIProcess/API/qt/tests/html/basic_page.html: Removed.
  • UIProcess/API/qt/tests/html/basic_page2.html: Removed.
  • UIProcess/API/qt/tests/html/bluesquare.html: Removed.
  • UIProcess/API/qt/tests/html/direct-image-compositing.html: Removed.
  • UIProcess/API/qt/tests/html/inputmethod.html: Removed.
  • UIProcess/API/qt/tests/html/redsquare.html: Removed.
  • UIProcess/API/qt/tests/html/resources/qwkview_noBackground1.png: Removed.
  • UIProcess/API/qt/tests/html/resources/qwkview_noBackground3.png: Removed.
  • UIProcess/API/qt/tests/html/resources/qwkview_paint.png: Removed.
  • UIProcess/API/qt/tests/html/resources/simple_image.png: Removed.
  • UIProcess/API/qt/tests/html/scroll.html: Removed.
  • UIProcess/API/qt/tests/inspectorserver/inspectorserver.pro: Removed.
  • UIProcess/API/qt/tests/inspectorserver/tst_inspectorserver.cpp: Removed.
  • UIProcess/API/qt/tests/publicapi/publicapi.pro: Removed.
  • UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp: Removed.
  • UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro: Removed.
  • UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml: Removed.
  • UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml: Removed.
  • UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml: Removed.
  • UIProcess/API/qt/tests/qmltests/WebView.pro: Removed.
  • UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml: Removed.
  • UIProcess/API/qt/tests/qmltests/WebView/tst_colorChooser.qml: Removed.
  • UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml: Removed.
  • UIProcess/API/qt/tests/qmltests/WebView/tst_download.qml: Removed.
  • UIProcess/API/qt/tests/qmltests/WebView/tst_evaluateJavaScript.qml: Removed.
  • UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml: Removed.
  • UIProcess/API/qt/tests/qmltests/WebView/tst_findText.qml: Removed.
  • UIProcess/API/qt/tests/qmltests/WebView/tst_fitToView.qml: Removed.
  • UIProcess/API/qt/tests/qmltests/WebView/tst_geopermission.qml: Removed.
  • UIProcess/API/qt/tests/qmltests/WebView/tst_itemSelector.qml: Removed.
  • UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml: Removed.
  • UIProcess/API/qt/tests/qmltests/WebView/tst_loadFail.qml: Removed.
  • UIProcess/API/qt/tests/qmltests/WebView/tst_loadHtml.qml: Removed.
  • UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgress.qml: Removed.
  • UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgressSignal.qml: Removed.
  • UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml: Removed.
  • UIProcess/API/qt/tests/qmltests/WebView/tst_messaging.qml: Removed.
  • UIProcess/API/qt/tests/qmltests/WebView/tst_multiFileUpload.qml: Removed.
  • UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml: Removed.
  • UIProcess/API/qt/tests/qmltests/WebView/tst_notification.qml: Removed.
  • UIProcess/API/qt/tests/qmltests/WebView/tst_origin.qml: Removed.
  • UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml: Removed.
  • UIProcess/API/qt/tests/qmltests/WebView/tst_properties.qml: Removed.
  • UIProcess/API/qt/tests/qmltests/WebView/tst_resize.qml: Removed.
  • UIProcess/API/qt/tests/qmltests/WebView/tst_singleFileUpload.qml: Removed.
  • UIProcess/API/qt/tests/qmltests/WebView/tst_titleChanged.qml: Removed.
  • UIProcess/API/qt/tests/qmltests/WebView/tst_userScripts.qml: Removed.
  • UIProcess/API/qt/tests/qmltests/WebView/tst_wheelEventHandling.qml: Removed.
  • UIProcess/API/qt/tests/qmltests/common/TestWebView.qml: Removed.
  • UIProcess/API/qt/tests/qmltests/common/alert.html: Removed.
  • UIProcess/API/qt/tests/qmltests/common/append-document-title.js: Removed.
  • UIProcess/API/qt/tests/qmltests/common/big-user-script.js: Removed.
  • UIProcess/API/qt/tests/qmltests/common/change-document-title.js: Removed.
  • UIProcess/API/qt/tests/qmltests/common/colorChooser.html: Removed.
  • UIProcess/API/qt/tests/qmltests/common/confirm.html: Removed.
  • UIProcess/API/qt/tests/qmltests/common/download.zip: Removed.
  • UIProcess/API/qt/tests/qmltests/common/evaluatejavascript.html: Removed.
  • UIProcess/API/qt/tests/qmltests/common/favicon.html: Removed.
  • UIProcess/API/qt/tests/qmltests/common/favicon.png: Removed.
  • UIProcess/API/qt/tests/qmltests/common/favicon2.html: Removed.
  • UIProcess/API/qt/tests/qmltests/common/font-preferences.html: Removed.
  • UIProcess/API/qt/tests/qmltests/common/geolocation.html: Removed.
  • UIProcess/API/qt/tests/qmltests/common/javascript.html: Removed.
  • UIProcess/API/qt/tests/qmltests/common/link.html: Removed.
  • UIProcess/API/qt/tests/qmltests/common/localStorage.html: Removed.
  • UIProcess/API/qt/tests/qmltests/common/messaging.html: Removed.
  • UIProcess/API/qt/tests/qmltests/common/multifileupload.html: Removed.
  • UIProcess/API/qt/tests/qmltests/common/notification.html: Removed.
  • UIProcess/API/qt/tests/qmltests/common/prompt.html: Removed.
  • UIProcess/API/qt/tests/qmltests/common/qrctest.html: Removed.
  • UIProcess/API/qt/tests/qmltests/common/redirect.html: Removed.
  • UIProcess/API/qt/tests/qmltests/common/select.html: Removed.
  • UIProcess/API/qt/tests/qmltests/common/selectwithsize.html: Removed.
  • UIProcess/API/qt/tests/qmltests/common/singlefileupload.html: Removed.
  • UIProcess/API/qt/tests/qmltests/common/small-favicon.png: Removed.
  • UIProcess/API/qt/tests/qmltests/common/test1.html: Removed.
  • UIProcess/API/qt/tests/qmltests/common/test2.html: Removed.
  • UIProcess/API/qt/tests/qmltests/common/test3.html: Removed.
  • UIProcess/API/qt/tests/qmltests/common/test4.html: Removed.
  • UIProcess/API/qt/tests/qmltests/common/test5.html: Removed.
  • UIProcess/API/qt/tests/qmltests/common/titleupdate.js: Removed.
  • UIProcess/API/qt/tests/qmltests/qmltests.pro: Removed.
  • UIProcess/API/qt/tests/qmltests/resources.qrc: Removed.
  • UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp: Removed.
  • UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro: Removed.
  • UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: Removed.
  • UIProcess/API/qt/tests/qrawwebview/qrawwebview.pro: Removed.
  • UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp: Removed.
  • UIProcess/API/qt/tests/tests.pri: Removed.
  • UIProcess/API/qt/tests/testwindow.h: Removed.
  • UIProcess/API/qt/tests/util.cpp: Removed.
  • UIProcess/API/qt/tests/util.h: Removed.
  • UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp: Removed.
  • UIProcess/InspectorServer/qt/WebSocketServerQt.cpp: Removed.
  • UIProcess/InspectorServer/qt/WebSocketServerQt.h: Removed.
  • UIProcess/Launcher/qt/ProcessLauncherQt.cpp: Removed.
  • UIProcess/Plugins/qt/PluginProcessProxyQt.cpp: Removed.
  • UIProcess/qt/BackingStoreQt.cpp: Removed.
  • UIProcess/qt/PageViewportControllerClientQt.cpp: Removed.
  • UIProcess/qt/PageViewportControllerClientQt.h: Removed.
  • UIProcess/qt/QtDialogRunner.cpp: Removed.
  • UIProcess/qt/QtDialogRunner.h: Removed.
  • UIProcess/qt/QtDownloadManager.cpp: Removed.
  • UIProcess/qt/QtDownloadManager.h: Removed.
  • UIProcess/qt/QtGestureRecognizer.cpp: Removed.
  • UIProcess/qt/QtGestureRecognizer.h: Removed.
  • UIProcess/qt/QtPageClient.cpp: Removed.
  • UIProcess/qt/QtPageClient.h: Removed.
  • UIProcess/qt/QtPanGestureRecognizer.cpp: Removed.
  • UIProcess/qt/QtPanGestureRecognizer.h: Removed.
  • UIProcess/qt/QtPinchGestureRecognizer.cpp: Removed.
  • UIProcess/qt/QtPinchGestureRecognizer.h: Removed.
  • UIProcess/qt/QtTapGestureRecognizer.cpp: Removed.
  • UIProcess/qt/QtTapGestureRecognizer.h: Removed.
  • UIProcess/qt/QtWebContext.cpp: Removed.
  • UIProcess/qt/QtWebContext.h: Removed.
  • UIProcess/qt/QtWebError.cpp: Removed.
  • UIProcess/qt/QtWebError.h: Removed.
  • UIProcess/qt/QtWebIconDatabaseClient.cpp: Removed.
  • UIProcess/qt/QtWebIconDatabaseClient.h: Removed.
  • UIProcess/qt/QtWebPageEventHandler.cpp: Removed.
  • UIProcess/qt/QtWebPageEventHandler.h: Removed.
  • UIProcess/qt/QtWebPagePolicyClient.cpp: Removed.
  • UIProcess/qt/QtWebPagePolicyClient.h: Removed.
  • UIProcess/qt/QtWebPageSGNode.cpp: Removed.
  • UIProcess/qt/QtWebPageSGNode.h: Removed.
  • UIProcess/qt/QtWebPageUIClient.cpp: Removed.
  • UIProcess/qt/QtWebPageUIClient.h: Removed.
  • UIProcess/qt/TextCheckerQt.cpp: Removed.
  • UIProcess/qt/WebColorPickerQt.cpp: Removed.
  • UIProcess/qt/WebColorPickerQt.h: Removed.
  • UIProcess/qt/WebContextMenuProxyQt.cpp: Removed.
  • UIProcess/qt/WebContextMenuProxyQt.h: Removed.
  • UIProcess/qt/WebContextQt.cpp: Removed.
  • UIProcess/qt/WebFullScreenManagerProxyQt.cpp: Removed.
  • UIProcess/qt/WebGeolocationProviderQt.cpp: Removed.
  • UIProcess/qt/WebGeolocationProviderQt.h: Removed.
  • UIProcess/qt/WebInspectorProxyQt.cpp: Removed.
  • UIProcess/qt/WebPageProxyQt.cpp: Removed.
  • UIProcess/qt/WebPopupMenuProxyQt.cpp: Removed.
  • UIProcess/qt/WebPopupMenuProxyQt.h: Removed.
  • UIProcess/qt/WebPreferencesQt.cpp: Removed.
  • UIProcess/qt/WebProcessProxyQt.cpp: Removed.
  • WebKit2.pri: Removed.
  • WebKit2.pro: Removed.
  • WebProcess.pro: Removed.
  • WebProcess/Cookies/qt/WebCookieManagerQt.cpp: Removed.
  • WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp: Removed.
  • WebProcess/Plugins/Netscape/qt/PluginProxyQt.cpp: Removed.
  • WebProcess/WebCoreSupport/qt/WebContextMenuClientQt.cpp: Removed.
  • WebProcess/WebCoreSupport/qt/WebDragClientQt.cpp: Removed.
  • WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp: Removed.
  • WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp: Removed.
  • WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h: Removed.
  • WebProcess/WebCoreSupport/qt/WebPopupMenuQt.cpp: Removed.
  • WebProcess/WebPage/qt/WebInspectorQt.cpp: Removed.
  • WebProcess/WebPage/qt/WebPageQt.cpp: Removed.
  • WebProcess/qt/QtBuiltinBundle.cpp: Removed.
  • WebProcess/qt/QtBuiltinBundle.h: Removed.
  • WebProcess/qt/QtBuiltinBundlePage.cpp: Removed.
  • WebProcess/qt/QtBuiltinBundlePage.h: Removed.
  • WebProcess/qt/QtNetworkAccessManager.cpp: Removed.
  • WebProcess/qt/QtNetworkAccessManager.h: Removed.
  • WebProcess/qt/QtNetworkReply.cpp: Removed.
  • WebProcess/qt/QtNetworkReply.h: Removed.
  • WebProcess/qt/SeccompFiltersWebProcessQt.cpp: Removed.
  • WebProcess/qt/SeccompFiltersWebProcessQt.h: Removed.
  • WebProcess/qt/WebProcessMainQt.cpp: Removed.
  • WebProcess/qt/WebProcessQt.cpp: Removed.
  • qt/MainQt.cpp: Removed.
  • qt/PluginMainQt.cpp: Removed.
11:05 AM Changeset in webkit [156844] by timothy_horton@apple.com
  • 2 edits in trunk/LayoutTests

Add test expectation for one more test having color space issues after r156793.
(css3/filters/custom/custom-filter-composite-fractional-source-alpha.html)

  • platform/mac-wk2/TestExpectations:
10:58 AM Changeset in webkit [156843] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Layout Test media/click-volume-bar-not-pausing.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=122126

  • platform/mac/TestExpectations: Marked it as such.
10:55 AM Changeset in webkit [156842] by beidson@apple.com
  • 10 edits in trunk/Source

Move IDBFactoryBackend creation to DatabaseStrategy.
https://bugs.webkit.org/show_bug.cgi?id=122284

Reviewed by Alexey Proskuryakov.

Source/WebCore:

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • Modules/indexeddb/IDBFactory.h:
  • Modules/indexeddb/IDBFactoryBackendInterface.cpp:

(WebCore::IDBFactoryBackendInterface::create):

  • platform/DatabaseStrategy.cpp:

(WebCore::DatabaseStrategy::createIDBFactoryBackend): Implement a default.

  • platform/DatabaseStrategy.h:

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::createIDBFactoryBackend): Fallback to the default for now.

  • WebProcess/WebCoreSupport/WebPlatformStrategies.h:
10:45 AM Changeset in webkit [156841] by ap@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

Re-add Qt TestExpectations. Without it, the flakiness dashboard page loads as blank.

  • platform/qt: Added.
  • platform/qt/TestExpectations: Added.
10:29 AM Changeset in webkit [156840] by mitz@apple.com
  • 2 edits in trunk/Tools

REGRESSION (r156811): Objective-C JavaScriptCore API test failing on Mountain Lion bots
https://bugs.webkit.org/show_bug.cgi?id=122260

Reviewed by Alexey Proskuryakov.

For the API to work, the tests need to be compiled with a newer version of the LLVM
compiler. Until the bots are updated to that version, disable the tests on 10.8.

  • TestWebKitAPI/Tests/mac/WebViewDidCreateJavaScriptContext.mm:
10:24 AM Changeset in webkit [156839] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[WinCairo] Compile error with VIDEO disabled.
https://bugs.webkit.org/show_bug.cgi?id=122266

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-10-03
Reviewed by Brent Fulgham.

  • dom/Document.cpp:

(WebCore::Document::dispatchFullScreenChangeOrErrorEvent): Protect with ENABLE(VIDEO) guard.

10:20 AM Changeset in webkit [156838] by hmuller@adobe.com
  • 6 edits
    6 adds in trunk

[CSS Shapes] add shape-margin support for image valued shapes
https://bugs.webkit.org/show_bug.cgi?id=121619

Reviewed by Alexandru Chiculita.

Source/WebCore:

Add support for computing the shape-margin boundary for a shape-outside whose
value is an image.

Tests: fast/shapes/shape-outside-floats/shape-outside-floats-image-margin-001.html

fast/shapes/shape-outside-floats/shape-outside-floats-image-margin-002.html
fast/shapes/shape-outside-floats/shape-outside-floats-image-margin-003.html

  • rendering/shapes/RasterShape.cpp:

(WebCore::MarginIntervalGenerator::MarginIntervalGenerator): Internal utility that generates the margin intervals for the image interval specified with set().
(WebCore::MarginIntervalGenerator::set):
(WebCore::MarginIntervalGenerator::intervalAt):
(WebCore::findInsertionPoint): Find the insertion point index for the the specified X value, within a vector of intervals sorted by X1.
(WebCore::RasterShapeIntervals::uniteMarginInterval): Destructively unite one interval with an existing one, or append it.
(WebCore::RasterShapeIntervals::computeShapeMarginIntervals):
(WebCore::RasterShape::marginIntervals): Return the lazily computed value, or create it with computeShapeMarginIntervals().

  • rendering/shapes/RasterShape.h:

(WebCore::RasterShapeIntervals::getIntervals):
(WebCore::RasterShape::RasterShape):
(WebCore::RasterShapeIntervals::uniteMarginInterval):

  • WTF/wtf/MathExtras.h: Added clampToUnsigned() inline.

LayoutTests:

Verify that the shape-outside margin-boundary is computed correctly for image valued shapes.

  • fast/shapes/shape-outside-floats/shape-outside-floats-image-margin-001-expected.txt: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-image-margin-001.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-image-margin-002-expected.txt: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-image-margin-002.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-image-margin-003-expected.txt: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-image-margin-003.html: Added.
10:12 AM Changeset in webkit [156837] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[EFL] [DEBUG] JavaScriptCore fails to build
https://bugs.webkit.org/show_bug.cgi?id=122267

Patch by Sergio Correia <Sergio Correia> on 2013-10-03
Reviewed by Michael Saboff.

Build fails due to an expression containing comparison between signed
and unsigned integer.

  • llint/LLIntData.cpp:

(JSC::LLInt::Data::performAssertions): Add cast to avoid signed vs.
unsigned comparison warning.

9:02 AM Changeset in webkit [156836] by mihnea@adobe.com
  • 3 edits in trunk/Source/WebCore

[CSSRegions] Remove unused RenderLayerModelObject::updateLayerIfNeeded
https://bugs.webkit.org/show_bug.cgi?id=122262

Reviewed by Alexandru Chiculita.

All regions have layers by default therefore there is no need for this function.
No tests needed, just a minor cleanup.

  • rendering/RenderLayerModelObject.cpp:
  • rendering/RenderLayerModelObject.h:
8:21 AM Changeset in webkit [156835] by mario@webkit.org
  • 10 edits in trunk

[ATK] Expose aria-invalid as a text attribute (not object attribute)
https://bugs.webkit.org/show_bug.cgi?id=122015

Reviewed by Chris Fleizach.

Source/WebCore:

Expose the aria-invalid attribute correctly through a text
attribute (through the AtkText interface) instead of using an
object, according to what the WAI-ARIA specs says.
http://www.w3.org/TR/wai-aria-implementation/#mapping_state-property

This will be tested by accesibility/aria-invalid.html, which should
keep passing after thanks to the changes done in the DRT and WKTR.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::invalidStatus): Update this method
to only return values recognized by the WAI-ARIA specification.

  • accessibility/atk/WebKitAccessibleInterfaceText.cpp:

(getAttributeSetForAccessibilityObject): Expose aria-invalid as a
custom text attribute 'invalid', following the lead of Firefox.
Also register that custom attribute as a AtkTextAttribute.

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(webkitAccessibleGetAttributes): Remove exposure of aria-invalid
as an object attribute from here.

Tools:

Adapted DRT and WKTR to check the exposure of the aria-invalid
attribute as a text attribute, instead of an object attribute.

Also, done some refactoring of the code to try to keep things
simpler and more coherent, by defining new helper functions,
simplifying code, moving static variables and functions into
unnammed namespaces and so on, without altering the logic other
than for checking the text attribute for aria-invalid.

  • DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:

(coreAttributeToAtkAttribute): Consider 'invalid' as the name of
the attribute exposed by the ATK wrapper, not 'aria-invalid'.
Also, never return an empty string if not falling through any of
the cases checked here, and return the original attribute instead.
(atkAttributeValueToCoreAttributeValue): New helper function to
match the attributes values returned by the ATK wrapper with the
values expected by the layout tests. Moved the mappings for the
values of AXSortDirection here as well.
(getAttributeSet): New helper function to retrieve a list of
attributes (an AtkAttributeSet) from an AtkObject using the right
API depending on whether we want the object attributes or the text
attributes (in case the object implements AtkText).
(getAttributeSetValueForId): Simplified by using getAttributeSet
and atkAttributeValueToCoreAttributeValue. Also, added a new
parameter to indicater whether we are interested in object
attributes or text attributes.
(getAtkAttributeSetAsString): Ditto.
(attributesOfElement): Updated to pass the new required parameter
to getAtkAttributeSetAsString, indicating that we want the object
attributes in this case, for backwards compatibility.
(indexRangeInTable): Moved up in the file into the unnammed namespace.
(alterCurrentValue): Ditto.
(AccessibilityUIElement::stringAttributeValue): After moving most
of the code here to the new helper functions, simplified it by
just checking whether the required attribute is provided as an
object attribute or, if that's not the case, as a text attribute.
(AccessibilityUIElement::isAttributeSupported): Ditto.
(AccessibilityUIElement::intValue): Updated to pass the new
required parameter to getAttributeSetValueForId, indicating that
we want the object attributes in this case.
(AccessibilityUIElement::hasPopup): Ditto.

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::coreAttributeToAtkAttribute): Same changes than for DRT.
(WTR::atkAttributeValueToCoreAttributeValue): Ditto.
(WTR::getAttributeSet): Ditto.
(WTR::getAttributeSetValueForId): Ditto.
(WTR::getAtkAttributeSetAsString): Ditto.
(WTR::attributesOfElement): Ditto.
(WTR::AccessibilityUIElement::stringAttributeValue): Ditto.
(WTR::AccessibilityUIElement::isAttributeSupported): Ditto.
(WTR::AccessibilityUIElement::intValue): Ditto.
(WTR::AccessibilityUIElement::hasPopup): Ditto.

LayoutTests:

Updated the aria-invalid.html layout test to make sure that it
behaves as defined by the WAI-ARIA specification for values other
than 'false', 'true', 'grammar' and 'spelling'.

  • accessibility/aria-invalid.html: Updated test.
  • accessibility/aria-invalid-expected.txt: Updated expectations.
8:05 AM Changeset in webkit [156834] by Lucas Forschler
  • 5 edits in branches/safari-537.73-branch/Source

Versioning.

8:03 AM Changeset in webkit [156833] by Lucas Forschler
  • 1 copy in tags/Safari-537.73.1

New Tag.

3:19 AM Changeset in webkit [156832] by rniwa@webkit.org
  • 1 edit
    2 copies in trunk/LayoutTests

Add back .htaccess files erroneously removed in r156827.

  • http/tests/appcache/resources/intercept: Copied from LayoutTests/http/tests/appcache/resources/intercept.
  • http/tests/uri/intercept: Copied from LayoutTests/http/tests/uri/intercept.
2:30 AM Changeset in webkit [156831] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

Add the NotDeletable, OperationsNotDeletable IDL attributes
https://bugs.webkit.org/show_bug.cgi?id=122217

Reviewed by Darin Adler.

Before adjusting the JSC bindings generator to enforce configurable operations and thus conform to the
WebIDL specification in this regard, two no-op attributes are introduced that will preserve the current
behavior of operations being non-configurable.

All the relevant interfaces will be annotated with the OperationsNotDeletable attribute first. After the
generator is properly modified, this attribute will be removed from the interfaces after checking that
the operations' configurability also matches the configurability of operations in other browser engines
and that the change introduces no regressions in tests.

The NotDeletable attribute will be used as required to annotate operations that should stay
non-configurable for backwards compatibility or cross-browser compatibility.

  • bindings/scripts/IDLAttributes.txt:
1:43 AM Changeset in webkit [156830] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

DFG: ConstProp the pattern ValueToInt32(Bool(x)) -> Int32(x)
https://bugs.webkit.org/show_bug.cgi?id=122263

Patch by Nadav Rotem <nrotem@apple.com> on 2013-10-03
Reviewed by Geoffrey Garen.

  • dfg/DFGAbstractInterpreterInlines.h:

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

1:35 AM Changeset in webkit [156829] by kadam@inf.u-szeged.hu
  • 8 deletes in trunk/LayoutTests/platform

Remove Qt specific expected files and directories.
Reviewed by Csaba Osztrogonác.

12:58 AM Changeset in webkit [156828] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed fix of DrawingArea creation on non-Mac platforms after r156793.
std::make_unique<DrawingAreaImpl>() should be used, as before that revision.

  • WebProcess/WebPage/DrawingArea.cpp:

(WebKit::DrawingArea::create):

12:35 AM Changeset in webkit [156827] by Csaba Osztrogonác
  • 138 deletes in trunk

Unreviewed. Remove empty directories.

12:33 AM Changeset in webkit [156826] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove preDispatchEventHandler and postDispatchEventHandler,
functions that are supposed to be removed in the previous commit (r156825).

  • dom/Node.h:

Oct 2, 2013:

11:50 PM Changeset in webkit [156825] by rniwa@webkit.org
  • 16 edits in trunk/Source/WebCore

Get rid of Node::preDispatchEventHandler and Node::postDispatchEventHandler
https://bugs.webkit.org/show_bug.cgi?id=122144

Reviewed by Darin Adler.

Get rid of pre/post event dispatch callbacks preDispatchEventHandler and postDispatchEventHandler since
the former was only called by HTMLMediaElement and HTMLInputElement and the latter was only called by
HTMLInputElement.

Explicitly call HTMLMediaElement's willDispatchFullScreenChangeEvent in fullScreenChangeDelayTimerFired
of Document since this is the only place that fires the fullscreenchange event.

Also add an explicit call to willDispatchEvent and didDispatchClickEvent in EventDispatcher::dispatch.
This also allows us to stack-allocate InputElementClickHandlingState instead of having willDispatchEvent
heap-allocate it and pass it around as void*.

  • WebCore.order:
  • dom/Document.cpp:

(WebCore::Document::fullScreenChangeDelayTimerFired):
(WebCore::Document::dispatchFullScreenChangeOrErrorEvent):

  • dom/Document.h:
  • dom/EventContext.cpp:
  • dom/EventDispatcher.cpp:

(WebCore::EventDispatcher::dispatch):
(WebCore::EventDispatcher::callWillDispatchEventOnInputElement):
(WebCore::EventDispatcher::dispatchEventPostProcess):

  • dom/EventDispatcher.h:
  • html/CheckboxInputType.cpp:

(WebCore::CheckboxInputType::willDispatchClick):

  • html/CheckboxInputType.h:
  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::willDispatchEvent):
(WebCore::HTMLInputElement::didDispatchClickEvent):

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

(WebCore::HTMLMediaElement::willDispatchFullScreenChangeEvent): Renamed from preDispatchEventHandler.

  • html/HTMLTextFormControlElement.h:
  • html/InputType.cpp:

(WebCore::InputType::willDispatchClick):

  • html/InputType.h:
  • html/RadioInputType.cpp:

(WebCore::RadioInputType::willDispatchClick):

  • html/RadioInputType.h:
11:41 PM Changeset in webkit [156824] by rniwa@webkit.org
  • 5 edits in trunk/Source/WebCore

Update binding test results after r156808 for r156769.

  • bindings/scripts/test/JS/JSattribute.cpp:

(WebCore::JSattributeOwner::finalize):

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

(WebCore::wrapperOwner):
(WebCore::wrapperContext):

  • bindings/scripts/test/JS/JSreadonly.cpp:

(WebCore::JSreadonlyOwner::finalize):

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

(WebCore::wrapperOwner):
(WebCore::wrapperContext):

11:30 PM Changeset in webkit [156823] by mitz@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION (r156811): Objective-C JavaScriptCore API test failing on Mountain Lion bots
https://bugs.webkit.org/show_bug.cgi?id=122260

Reviewed by Mark Rowe.

For the API to work, the tests need to be compiled with a newer version of the LLVM
compiler. Until the bots are updated to that version, disable the tests on 10.8.

  • API/tests/testapi.mm:
10:59 PM Changeset in webkit [156822] by commit-queue@webkit.org
  • 69 edits in trunk/Source/WebCore

Unreviewed, rolling out r156816.
http://trac.webkit.org/changeset/156816
https://bugs.webkit.org/show_bug.cgi?id=122259

broke 8 tests (Requested by kling on #webkit).

  • html/HTMLFrameSetElement.cpp:

(WebCore::HTMLFrameSetElement::willRecalcStyle):

  • html/RangeInputType.cpp:

(WebCore::RangeInputType::listAttributeTargetChanged):

  • html/shadow/SliderThumbElement.cpp:

(WebCore::RenderSliderContainer::layout):
(WebCore::SliderThumbElement::setPositionFromValue):
(WebCore::SliderThumbElement::setPositionFromPoint):
(WebCore::SliderThumbElement::stopDragging):

  • page/FrameView.cpp:

(WebCore::FrameView::setHeaderHeight):
(WebCore::FrameView::setFooterHeight):
(WebCore::FrameView::layout):
(WebCore::FrameView::setViewportConstrainedObjectsNeedLayout):
(WebCore::FrameView::scheduleRelayout):
(WebCore::FrameView::setNeedsLayout):

  • page/Page.cpp:

(WebCore::Page::setPageScaleFactor):

  • rendering/FlowThreadController.h:

(WebCore::FlowThreadController::setIsRenderNamedFlowThreadOrderDirty):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::relayoutShapeDescendantIfMoved):
(WebCore::RenderBlock::markShapeInsideDescendantsForLayout):
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::updateBlockChildDirtyBitsBeforeLayout):
(WebCore::RenderBlock::dirtyForLayoutFromPercentageHeightDescendants):
(WebCore::RenderBlock::simplifiedNormalFlowLayout):
(WebCore::RenderBlock::simplifiedLayout):
(WebCore::RenderBlock::markFixedPositionObjectForLayoutIfNeeded):
(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markPositionedObjectsForLayout):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):
(WebCore::RenderBlock::removePositionedObjects):
(WebCore::RenderBlock::insertFloatingObject):
(WebCore::RenderBlock::positionNewFloats):
(WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
(WebCore::RenderBlock::getClearDelta):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlock):
(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustPositionedBlock):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::layoutRunsAndFloats):
(WebCore::RenderBlockFlow::layoutInlineChildren):
(WebCore::RenderBlock::positionNewFloatOnLine):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::styleWillChange):
(WebCore::RenderBox::styleDidChange):
(WebCore::RenderBox::layout):
(WebCore::RenderBox::positionLineBox):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
(WebCore::gatherFlexChildrenInfo):
(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
(WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
(WebCore::RenderDeprecatedFlexibleBox::clearLineClamp):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::insertChildInternal):

  • rendering/RenderElement.h:

(WebCore::RenderElement::setAncestorLineBoxDirty):
(WebCore::RenderObject::setNeedsLayout):

  • rendering/RenderEmbeddedObject.cpp:

(WebCore::RenderEmbeddedObject::layout):

  • rendering/RenderFieldset.cpp:

(WebCore::RenderFieldset::layoutSpecialExcludedChild):

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::styleDidChange):
(WebCore::RenderFlexibleBox::layoutBlock):
(WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
(WebCore::RenderFlexibleBox::prepareChildForPositionedLayout):
(WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
(WebCore::RenderFlexibleBox::applyStretchAlignmentToChild):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::invalidateRegions):
(WebCore::RenderFlowThread::markAutoLogicalHeightRegionsForLayout):

  • rendering/RenderFrameBase.cpp:

(WebCore::RenderFrameBase::layoutWithFlattening):

  • rendering/RenderFrameSet.cpp:

(WebCore::RenderFrameSet::layout):
(WebCore::RenderFrameSet::positionFrames):
(WebCore::RenderFrameSet::positionFramesWithFlattening):
(WebCore::RenderFrameSet::continueResizing):

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::layoutBlock):
(WebCore::RenderGrid::logicalContentHeightForChild):
(WebCore::RenderGrid::layoutGridItems):

  • rendering/RenderHTMLCanvas.cpp:

(WebCore::RenderHTMLCanvas::canvasSizeChanged):

  • rendering/RenderIFrame.cpp:

(WebCore::RenderIFrame::layout):

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::imageDimensionsChanged):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::styleDidChange):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateScrollbarsAfterLayout):

  • rendering/RenderLayerModelObject.cpp:

(WebCore::RenderLayerModelObject::styleDidChange):

  • rendering/RenderListMarker.cpp:

(WebCore::RenderListMarker::layout):

  • rendering/RenderMarquee.cpp:

(WebCore::RenderMarquee::updateMarqueeStyle):

  • rendering/RenderMedia.cpp:

(WebCore::RenderMedia::layout):

  • rendering/RenderMultiColumnBlock.cpp:

(WebCore::RenderMultiColumnBlock::relayoutForPagination):
(WebCore::RenderMultiColumnBlock::layoutSpecialExcludedChild):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::markContainingBlocksForLayout):
(WebCore::RenderObject::layout):

  • rendering/RenderObject.h:

(WebCore::RenderObject::setNeedsLayoutAndPrefWidthsRecalc):
(WebCore::RenderObject::setNeedsPositionedMovementLayout):
(WebCore::RenderObject::setNormalChildNeedsLayout):
(WebCore::RenderObject::setPosChildNeedsLayout):
(WebCore::RenderObject::setNeedsSimplifiedNormalFlowLayout):
(WebCore::RenderObject::setChildNeedsLayout):

  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::layout):

  • rendering/RenderReplica.cpp:

(WebCore::RenderReplica::layout):

  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::layoutSpecialExcludedChild):

  • rendering/RenderScrollbar.cpp:

(WebCore::RenderScrollbar::updateScrollbarParts):

  • rendering/RenderScrollbarPart.cpp:

(WebCore::RenderScrollbarPart::layout):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::layout):

  • rendering/RenderTable.h:

(WebCore::RenderTable::setNeedsSectionRecalc):

  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::computeIntrinsicPadding):
(WebCore::RenderTableCell::setCellLogicalWidth):
(WebCore::RenderTableCell::layout):

  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::styleDidChange):
(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::calcRowLogicalHeight):
(WebCore::RenderTableSection::layout):
(WebCore::RenderTableSection::layoutRows):
(WebCore::RenderTableSection::recalcCells):

  • rendering/RenderTextControl.cpp:

(WebCore::RenderTextControl::layoutSpecialExcludedChild):

  • rendering/RenderTextControlSingleLine.cpp:

(WebCore::setNeedsLayoutOnAncestors):
(WebCore::RenderTextControlSingleLine::layout):
(WebCore::RenderTextControlSingleLine::styleDidChange):

  • rendering/RenderVideo.cpp:

(WebCore::RenderVideo::updateIntrinsicSize):

  • rendering/RenderView.cpp:

(WebCore::RenderView::layout):

  • rendering/RenderWidget.cpp:

(WebCore::RenderWidget::layout):

  • rendering/mathml/RenderMathMLBlock.cpp:

(WebCore::RenderMathMLBlock::computeChildrenPreferredLogicalHeights):

  • rendering/mathml/RenderMathMLScripts.cpp:

(WebCore::RenderMathMLScripts::layout):

  • rendering/svg/RenderSVGContainer.cpp:

(WebCore::RenderSVGContainer::layout):

  • rendering/svg/RenderSVGGradientStop.cpp:

(WebCore::RenderSVGGradientStop::layout):

  • rendering/svg/RenderSVGHiddenContainer.cpp:

(WebCore::RenderSVGHiddenContainer::layout):

  • rendering/svg/RenderSVGImage.cpp:

(WebCore::RenderSVGImage::layout):

  • rendering/svg/RenderSVGResource.cpp:

(WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):

  • rendering/svg/RenderSVGResourceContainer.cpp:

(WebCore::RenderSVGResourceContainer::registerResource):

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::layout):

  • rendering/svg/RenderSVGShape.cpp:

(WebCore::RenderSVGShape::layout):

  • rendering/svg/RenderSVGText.cpp:

(WebCore::RenderSVGText::layout):

  • rendering/svg/SVGRenderSupport.cpp:

(WebCore::SVGRenderSupport::layoutChildren):

  • svg/SVGClipPathElement.cpp:

(WebCore::SVGClipPathElement::svgAttributeChanged):
(WebCore::SVGClipPathElement::childrenChanged):

  • svg/SVGFilterElement.cpp:

(WebCore::SVGFilterElement::setFilterRes):
(WebCore::SVGFilterElement::svgAttributeChanged):
(WebCore::SVGFilterElement::childrenChanged):

  • svg/SVGGradientElement.cpp:

(WebCore::SVGGradientElement::svgAttributeChanged):
(WebCore::SVGGradientElement::childrenChanged):

  • svg/SVGLinearGradientElement.cpp:

(WebCore::SVGLinearGradientElement::svgAttributeChanged):

  • svg/SVGMarkerElement.cpp:

(WebCore::SVGMarkerElement::svgAttributeChanged):
(WebCore::SVGMarkerElement::childrenChanged):

  • svg/SVGMaskElement.cpp:

(WebCore::SVGMaskElement::svgAttributeChanged):
(WebCore::SVGMaskElement::childrenChanged):

  • svg/SVGPatternElement.cpp:

(WebCore::SVGPatternElement::svgAttributeChanged):
(WebCore::SVGPatternElement::childrenChanged):

  • svg/SVGRadialGradientElement.cpp:

(WebCore::SVGRadialGradientElement::svgAttributeChanged):

  • svg/SVGSVGElement.cpp:

(WebCore::SVGSVGElement::updateCurrentTranslate):

9:31 PM Changeset in webkit [156821] by ggaren@apple.com
  • 3 edits in trunk/Websites/webkit.org

2013-10-02 Geoffrey Garen <ggaren@apple.com>

Sync'd sunspider-1.0.2 to PerformanceTests/SunSpider/hosted/sunspider-1.0.2.

  • perf/sunspider-1.0.2/sunspider-1.0.2/driver.html:
  • perf/sunspider-1.0.2/sunspider-1.0.2/sunspider-test-contents.js:
9:25 PM Changeset in webkit [156820] by ggaren@apple.com
  • 3 edits in trunk/PerformanceTests/SunSpider

Improved painting behavior in SunSpider 1.0.2
https://bugs.webkit.org/show_bug.cgi?id=122257

Reviewed by Oliver Hunt.

Individual test names with times was a good painting strategy years
back, when each benchmark took hundreds of milliseconds to run. Now,
the whole suite can finish in a a few hundres milliseconds, and things
look pretty flashy.

Instead, display a countdown that indicates which iteration of the
test we're on.

  • resources/TEMPLATE.html: Work around a bug in Firefox by specifying

our style inside the .html file instead of in an external stylesheet.
Under heavy JavaScript load, Firefox neglects to apply external
stylesheets -- probably due to a starved timer.

  • resources/driver-TEMPLATE.html: Delay a little between runs to ensure

that our countdown has enough time to paint.

8:21 PM Changeset in webkit [156819] by akling@apple.com
  • 5 edits in trunk/Source/WebCore

Keep SVGElementRareData in an SVGElement member instead of a hashmap.
<https://webkit.org/b/122253>

Reviewed by Antti Koivisto.

Free up another Node flag by moving SVGElement's SVG-specific rare data
to a member variable instead of tracking them in a hashmap on the side.

This grows SVGElement by one pointer, but I will make up for this in
subsequent patches.

7:44 PM Changeset in webkit [156818] by mark.lam@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

Make LLINT exception stack unwinding consistent with the JIT.
https://bugs.webkit.org/show_bug.cgi?id=122255.

Reviewed by Filip Pizlo.

Previously, the CommonSlowPaths code is expected to behave in an
inconsistent way in terms of whether to unwind the stack when handling
exceptions or not. For the LLINT, the slow path should unwind the stack
before returning. For the JIT, the slow path should not unwind the stack.
This can result in the stack being unwound twice when the exception
being handled is a TerminationException.

This patch fixes the LLINT's expectation so that it expects the same
slow path behavior as the JIT does.

  • llint/LLIntExceptions.cpp:

(JSC::LLInt::returnToThrow):
(JSC::LLInt::callToThrow):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • llint/LLIntSlowPaths.h:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/CommonSlowPathsExceptions.cpp:

(JSC::CommonSlowPaths::interpreterThrowInCaller):

7:27 PM Changeset in webkit [156817] by fpizlo@apple.com
  • 9 edits in trunk/Source/JavaScriptCore

The DFG should use always DFG::Graph methods for determining where special registers are
https://bugs.webkit.org/show_bug.cgi?id=122248

Reviewed by Michael Saboff.

This makes it possible to have the DFG use different registers than the other engines
for things like activation and arguments.

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::setLocalStoreElimination):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::activationRegister):
(JSC::DFG::Graph::uncheckedActivationRegister):

  • dfg/DFGOSRExitCompiler32_64.cpp:

(JSC::DFG::OSRExitCompiler::compileExit):

  • dfg/DFGOSRExitCompiler64.cpp:

(JSC::DFG::OSRExitCompiler::compileExit):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::baselineArgumentsRegisterFor):

7:26 PM Changeset in webkit [156816] by Antti Koivisto
  • 69 edits in trunk/Source/WebCore

Move setting of some layout bits to RenderElement
https://bugs.webkit.org/show_bug.cgi?id=122256

Reviewed by Andreas Kling.

These bits never apply to RenderText nodes:

normalChildNeedsLayout
posChildNeedsLayout
needsSimplifiedNormalFlowLayout
normalChildNeedsLayout
positionedMovementLayout

The code for setting them can be moved to RenderElement.

Also separated the code paths for setting and clearing the bits and uninlined
everything that is not massively popular.

6:32 PM Changeset in webkit [156815] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

CTTE: Drag events are only dispatched on Elements.
<https://webkit.org/b/122250>

Reviewed by Antti Koivisto.

We never dispatch drag events on non-Element nodes so tighten up the
code to operate on Elements instead.

5:54 PM Changeset in webkit [156814] by hmuller@adobe.com
  • 10 edits
    3 adds in trunk

[CSS Shapes] Implement the shape-image-threshold property
https://bugs.webkit.org/show_bug.cgi?id=122216

Reviewed by Andreas Kling.

Source/WebCore:

Added support for the CSS shape-image-threshold property. This change
just enables parsing the property, it's not connected to the
Shapes code yet.

The number valued shape-image-threshold property is defined here:
http://dev.w3.org/csswg/css-shapes-1/#shape-image-threshold-property
Its computed value is clamped to the range [0, 1].

Test: fast/shapes/parsing/parsing-shape-image-threshold.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):

  • css/CSSPropertyNames.in:
  • css/DeprecatedStyleBuilder.cpp:

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

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

(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):

  • rendering/style/StyleRareNonInheritedData.h:

LayoutTests:

Check parsing of the non-inherited CSS shape-image-threshold number property.
The property is defined here:
http://dev.w3.org/csswg/css-shapes-1/#shape-image-threshold-property

  • fast/shapes/parsing/parsing-shape-image-threshold-expected.txt: Added.
  • fast/shapes/parsing/parsing-shape-image-threshold.html: Added.
  • fast/shapes/parsing/script-tests/parsing-shape-image-threshold.js: Added.
5:10 PM Changeset in webkit [156813] by akling@apple.com
  • 10 edits
    1 delete in trunk/Source/WebCore

Remove Qt-specific code in WebCore/plugins.
<https://webkit.org/b/122247>

Reviewed by Anders Carlsson.

Purge PLATFORM(QT) blocks and Qt-specific files.

5:04 PM Changeset in webkit [156812] by andersca@apple.com
  • 1 edit
    7 deletes in trunk

Remove Qt related files from the root directories
https://bugs.webkit.org/show_bug.cgi?id=122249

Reviewed by Andreas Kling.

  • Source/QtWebKit.pro: Removed.
  • Source/api.pri: Removed.
  • Source/qtwebkit.qdocconf: Removed.
  • Source/sync.profile: Removed.
  • Source/tests.pri: Removed.
  • Source/widgetsapi.pri: Removed.
  • WebKit.pro: Removed.
4:47 PM Changeset in webkit [156811] by mitz@apple.com
  • 8 edits in trunk/Source/JavaScriptCore

The Objective-C API should be available in 10.8 builds
https://bugs.webkit.org/show_bug.cgi?id=122245

Reviewed by Mark Rowe.

Enabled the Objective-C API when building on OS X 10.8 with the modern Objective-C runtime,
but kept the availability attributes in API headers for 10.9 and later as they were.

  • API/JSBase.h: When JSC_OBJC_API_AVAILABLE_MAC_OS_X_1080 is defined, made

JSC_OBJC_API_ENABLED true on 10.8 and above.

  • API/JSContext.h: When JSC_OBJC_API_AVAILABLE_MAC_OS_X_1080 is defined, marked the class

as available on all OS X versions.

  • API/JSManagedValue.h: Ditto.
  • API/JSValue.h: Ditto.
  • API/JSVirtualMachine.h: Ditto.
  • Configurations/Base.xcconfig: Added JSC_OBJC_API_AVAILABLE_MAC_OS_X_1080 to

GCC_PREPROCESSOR_DEFINITIONS.

  • JavaScriptCore.xcodeproj/project.pbxproj: Added a script build phase to unifdef the

above header files with JSC_OBJC_API_AVAILABLE_MAC_OS_X_1080 either defined or not based on
the OS X version we are targeting.

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

Make Baseline JIT exception handling work like the DFG JIT
https://bugs.webkit.org/show_bug.cgi?id=122244

Reviewed by Filip Pizlo.

Added a jump list (m_exceptionChecks) to JIT as a common place for exception processing within
generated code. Added exceptionCheck() helpers that check for an exception which add a branch
to the list.

  • jit/JIT.cpp:

(JSC::JIT::privateCompile):
(JSC::JIT::privateCompileExceptionHandlers):

  • jit/JIT.h:

(JSC::JIT::exceptionCheck):

4:33 PM Changeset in webkit [156809] by commit-queue@webkit.org
  • 6 edits
    1 add in trunk/Source/WebInspectorUI

Web Inspector: save and restore source positions in back/forward history
https://bugs.webkit.org/show_bug.cgi?id=122062

Patch by Brian J. Burg <Brian Burg> on 2013-10-02
Reviewed by Timothy Hatcher.

Previously, the back/forward entries comprised of only the content
views, but not their positions if navigated via hyperlink (i.e.,
handling script.js:42). When multiple instances of the same
content view appeared in the back/forward list, the most recent
navigation was displayed rather than the linked position.

We now store context necessary to re-navigate such hyperlinks by
storing view- specific data inside a cookie object, and invoke a
supplied callback to take any position initialization actions,
such as calling TextEditor.revealPosition. This state is
encapsulated into BackForwardEntry instances.

Functions that save and restore scroll positions inside content
views have been changed to store state in BackForwardEntry
instances, so multiple scroll positions can be saved for a content
view appearing in the navigation history more than once.

  • UserInterface/BackForwardEntry.js: Added.

(WebInspector.BackForwardEntry):
(WebInspector.BackForwardEntry.prototype.get contentView):
(WebInspector.BackForwardEntry.prototype.get cookie):
(WebInspector.BackForwardEntry.prototype.prepareToShow):
(WebInspector.BackForwardEntry.prototype.prepareToHide):
(WebInspector.BackForwardEntry.prototype._restoreFromCookie):
(WebInspector.BackForwardEntry.prototype._restoreScrollPositions):
(WebInspector.BackForwardEntry.prototype._saveScrollPositions):

  • UserInterface/ContentBrowser.js:

(WebInspector.ContentBrowser.prototype.showContentView):
(WebInspector.ContentBrowser.prototype._updateContentViewNavigationItems):
(WebInspector.ContentBrowser.prototype._updateFindBanner):

  • UserInterface/ContentViewContainer.js:

(WebInspector.ContentViewContainer.prototype.get currentContentView):
(WebInspector.ContentViewContainer.prototype.get currentBackForwardEntry):
(WebInspector.ContentViewContainer.prototype.showContentView):
(WebInspector.ContentViewContainer.prototype.showBackForwardEntryForIndex):
(WebInspector.ContentViewContainer.prototype.replaceContentView):
(WebInspector.ContentViewContainer.prototype.closeAllContentViewsOfPrototype):
(WebInspector.ContentViewContainer.prototype.closeAllContentViews):
(WebInspector.ContentViewContainer.prototype.goBack):
(WebInspector.ContentViewContainer.prototype.goForward):
(WebInspector.ContentViewContainer.prototype.shown):
(WebInspector.ContentViewContainer.prototype.hidden):
(WebInspector.ContentViewContainer.prototype._showEntry):
(WebInspector.ContentViewContainer.prototype._hideEntry):

  • UserInterface/Main.html:
  • UserInterface/Main.js:

(WebInspector.openURL):

  • UserInterface/ResourceSidebarPanel.js:

(WebInspector.ResourceSidebarPanel.prototype.restoreCallback):
(WebInspector.ResourceSidebarPanel.prototype.showSourceCode):

4:32 PM Changeset in webkit [156808] by eric.carlson@apple.com
  • 14 edits
    22 adds in trunk/Source/WebCore

IDL parser should remove a leading "_" from identifier names
https://bugs.webkit.org/show_bug.cgi?id=122239

Reviewed by Jer Noble.

No new tests, updated bindings tests and results.

  • bindings/scripts/IDLParser.pm:

(identifierRemoveNullablePrefix): Remove leading "_".
(parseInterface): Call identifierRemoveNullablePrefix.
(parseException): Ditto.
(parseEnum): Ditto.
(parseConst): Ditto.
(parseAttributeRest): Ditto.
(parseOperationRest): Ditto.
(parseOptionalOrRequiredArgument): Ditto.
(parseExceptionField): Ditto.
(parseNonAnyType): Ditto.

Update tests and results.

  • bindings/scripts/test/CPP/WebDOMTestObj.cpp:
  • bindings/scripts/test/CPP/WebDOMTestObj.h:
  • bindings/scripts/test/CPP/WebDOMattribute.cpp: Added.
  • bindings/scripts/test/CPP/WebDOMattribute.h: Added.
  • bindings/scripts/test/CPP/WebDOMreadonly.cpp: Added.
  • bindings/scripts/test/CPP/WebDOMreadonly.h: Added.
  • bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
  • bindings/scripts/test/GObject/WebKitDOMTestObj.h:
  • bindings/scripts/test/GObject/WebKitDOMTestObj.symbols:
  • bindings/scripts/test/GObject/WebKitDOMattribute.cpp: Added.
  • bindings/scripts/test/GObject/WebKitDOMattribute.h: Added.
  • bindings/scripts/test/GObject/WebKitDOMattribute.symbols: Added.
  • bindings/scripts/test/GObject/WebKitDOMattributePrivate.h: Added.
  • bindings/scripts/test/GObject/WebKitDOMreadonly.cpp: Added.
  • bindings/scripts/test/GObject/WebKitDOMreadonly.h: Added.
  • bindings/scripts/test/GObject/WebKitDOMreadonly.symbols: Added.
  • bindings/scripts/test/GObject/WebKitDOMreadonlyPrivate.h: Added.
  • bindings/scripts/test/JS/JSTestObj.cpp:
  • bindings/scripts/test/JS/JSTestObj.h:
  • bindings/scripts/test/JS/JSattribute.cpp: Added.
  • bindings/scripts/test/JS/JSattribute.h: Added.
  • bindings/scripts/test/JS/JSreadonly.cpp: Added.
  • bindings/scripts/test/JS/JSreadonly.h: Added.
  • bindings/scripts/test/ObjC/DOMTestObj.h:
  • bindings/scripts/test/ObjC/DOMTestObj.mm:
  • bindings/scripts/test/ObjC/DOMattribute.h: Added.
  • bindings/scripts/test/ObjC/DOMattribute.mm: Added.
  • bindings/scripts/test/ObjC/DOMattributeInternal.h: Added.
  • bindings/scripts/test/ObjC/DOMreadonly.h: Added.
  • bindings/scripts/test/ObjC/DOMreadonly.mm: Added.
  • bindings/scripts/test/ObjC/DOMreadonlyInternal.h: Added.
  • bindings/scripts/test/TestException.idl:
  • bindings/scripts/test/TestInterface.idl:
  • bindings/scripts/test/TestObj.idl:
4:29 PM Changeset in webkit [156807] by Manuel Rego Casasnovas
  • 8 edits in trunk/LayoutTests

[CSS Regions] Helper functions for selection layout tests
https://bugs.webkit.org/show_bug.cgi?id=122128

Reviewed by Alexandru Chiculita.

Create new common JavaScript methods for CSS Regions layout tests
related to selection. Refactored tests in order to use them.

  • fast/regions/resources/helper.js: Added new functions.

(selectContentByRange): Select from start to end position.
(selectContentByIds): Select from the beginning of the first element to the end
of the second one.
(selectBaseAndExtent): Select from start to end with given offsets using
Selection.setBaseAndExtent() method.
(mouseClick): Clicks in a given position.

  • fast/regions/selection/selecting-text-in-empty-region.html: Refactored

test in order to use the new functions.

  • fast/regions/selection/selecting-text-through-different-region-flows-2-expected.html:

Ditto.

  • fast/regions/selection/selecting-text-through-different-region-flows-2.html:

Ditto.

  • fast/regions/selection/selecting-text-through-different-region-flows.html:

Ditto.

  • fast/regions/selection/selection-direction-expected.html: Ditto.
  • fast/regions/selection/selection-direction.html: Ditto.
4:27 PM Changeset in webkit [156806] by Bem Jones-Bey
  • 3 edits
    2 adds in trunk

[css-shapes] shape-outside does not properly handle the container and the float having different writing modes
https://bugs.webkit.org/show_bug.cgi?id=122243

Reviewed by Alexandru Chiculita.

Source/WebCore:

The margin box offset needs to be computed based on the writing mode
of the container, not the writihg mode of the float itself. This
patch makes that happen.

Test: fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-modes.html

  • rendering/shapes/ShapeOutsideInfo.cpp:

(WebCore::ShapeOutsideInfo::updateDeltasForContainingBlockLine):

LayoutTests:

Test that the margins and width are properly computed in the case of
different writing modes.

  • fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-modes-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-modes.html: Added.
4:11 PM Changeset in webkit [156805] by oliver@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix MSVC build

3:37 PM Changeset in webkit [156804] by akling@apple.com
  • 10 edits
    1 delete in trunk/Source/WebCore

Remove Qt-specific code in WebCore/{bindings,bridge,loader,icon,testing}.
<https://webkit.org/b/122242>

Reviewed by Anders Carlsson.

Purge PLATFORM(QT) blocks and Qt-specific files.

3:21 PM Changeset in webkit [156803] by rniwa@webkit.org
  • 2 edits in trunk/Tools

EWS build fix after the Qt EWS removal.

  • QueueStatusServer/model/attachment.py:

(Attachment._calculate_queue_positions):

3:14 PM Changeset in webkit [156802] by ggaren@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Optimized VM access from C++ code
https://bugs.webkit.org/show_bug.cgi?id=122241

Reviewed by Filip Pizlo.

  • runtime/JSScope.h:

(JSC::JSScope::vm): Use MarkedBlock instead of Heap, since both have a
pointer to the VM, and Heap is one extra load.

2:58 PM Changeset in webkit [156801] by timothy_horton@apple.com
  • 11 edits in trunk/LayoutTests

Unreviewed rebaseline, try to add newlines back that keep disappearing on me.

  • platform/mac-wk2/compositing/contents-opaque/body-background-painted-expected.txt:
  • platform/mac-wk2/compositing/contents-opaque/body-background-skipped-expected.txt:
  • platform/mac-wk2/compositing/repaint/fixed-background-scroll-expected.txt:
  • platform/mac-wk2/compositing/rtl/rtl-absolute-expected.txt:
  • platform/mac-wk2/compositing/rtl/rtl-absolute-overflow-expected.txt:
  • platform/mac-wk2/compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt:
  • platform/mac-wk2/compositing/tiling/rotated-tiled-clamped-expected.txt:
  • platform/mac-wk2/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
  • platform/mac-wk2/compositing/tiling/tile-cache-zoomed-expected.txt:
  • platform/mac-wk2/compositing/tiling/tiled-layer-resize-expected.txt:
2:57 PM Changeset in webkit [156800] by akling@apple.com
  • 3 edits
    2 deletes in trunk/Source/WebCore

Remove Qt-specific code in WebCore/{page,accessibility}.
<https://webkit.org/b/122222>

Reviewed by Anders Carlsson.

Purge PLATFORM(QT) blocks and FooBarQt.* files.

2:45 PM Changeset in webkit [156799] by andersca@apple.com
  • 8 edits
    1 delete in trunk/Source/WebKit2

Remove Qt code from Platform/
https://bugs.webkit.org/show_bug.cgi?id=122240

Reviewed by Andreas Kling.

  • Platform/CoreIPC/Connection.h:
  • Platform/Logging.cpp:
  • Platform/Logging.h:
  • Platform/Module.h:
  • Platform/PlatformProcessIdentifier.h:
  • Platform/SharedMemory.h:
  • Platform/WorkQueue.h:
  • Platform/qt/LoggingQt.cpp: Removed.
  • Platform/qt/ModuleQt.cpp: Removed.
  • Platform/qt/WorkQueueQt.cpp: Removed.
2:44 PM Changeset in webkit [156798] by zoltan@webkit.org
  • 3 edits in trunk/Source/WebCore

[CSS Shapes] Move ShapeInsideInfo::updateSegmentsForLine implementations into the cpp
https://bugs.webkit.org/show_bug.cgi?id=122236

Reviewed by Oliver Hunt.

There is no reason for updateSegmentsForLine methods to be inline. I moved them to the cpp.

No new tests, no behavior change.

  • rendering/shapes/ShapeInsideInfo.cpp:

(WebCore::ShapeInsideInfo::updateSegmentsForLine):

  • rendering/shapes/ShapeInsideInfo.h:
2:27 PM Changeset in webkit [156797] by andersca@apple.com
  • 10 edits
    25 deletes in trunk/Tools

Remove Qt code from Tools/
https://bugs.webkit.org/show_bug.cgi?id=122227

Reviewed by Andreas Kling.

  • DumpRenderTree/WorkQueue.cpp:
  • DumpRenderTree/blackberry/src.pro: Removed.
  • DumpRenderTree/qt/DumpRenderTree.pro: Removed.
  • DumpRenderTree/qt/DumpRenderTree.qrc: Removed.
  • DumpRenderTree/qt/DumpRenderTreeMain.cpp: Removed.
  • DumpRenderTree/qt/DumpRenderTreeQt.cpp: Removed.
  • DumpRenderTree/qt/DumpRenderTreeQt.h: Removed.
  • DumpRenderTree/qt/EventSenderQt.cpp: Removed.
  • DumpRenderTree/qt/EventSenderQt.h: Removed.
  • DumpRenderTree/qt/GCControllerQt.cpp: Removed.
  • DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro: Removed.
  • DumpRenderTree/qt/TestRunnerQt.cpp: Removed.
  • DumpRenderTree/qt/TestRunnerQt.h: Removed.
  • DumpRenderTree/qt/TextInputControllerQt.cpp: Removed.
  • DumpRenderTree/qt/TextInputControllerQt.h: Removed.
  • DumpRenderTree/qt/WorkQueueItemQt.cpp: Removed.
  • DumpRenderTree/qt/WorkQueueItemQt.h: Removed.
  • DumpRenderTree/qt/fonts/AHEM.TTF: Removed.
  • DumpRenderTree/qt/resources/user.css: Removed.
  • DumpRenderTree/qt/testplugin.cpp: Removed.
  • DumpRenderTree/qt/testplugin.h: Removed.
  • ImageDiff/ImageDiff.pro: Removed.
  • ImageDiff/qt/ImageDiff.cpp: Removed.
  • MiniBrowser/qt/BrowserWindow.cpp: Removed.
  • MiniBrowser/qt/BrowserWindow.h: Removed.
  • MiniBrowser/qt/MiniBrowser.pro: Removed.
  • MiniBrowser/qt/MiniBrowser.qrc: Removed.
  • MiniBrowser/qt/MiniBrowserApplication.cpp: Removed.
  • MiniBrowser/qt/MiniBrowserApplication.h: Removed.
  • MiniBrowser/qt/UrlLoader.cpp: Removed.
  • MiniBrowser/qt/UrlLoader.h: Removed.
  • MiniBrowser/qt/icons/checkbox_checked.png: Removed.
  • MiniBrowser/qt/icons/checkbox_unchecked.png: Removed.
  • MiniBrowser/qt/icons/contents_width.png: Removed.
  • MiniBrowser/qt/icons/favicon.png: Removed.
  • MiniBrowser/qt/icons/find.png: Removed.
  • MiniBrowser/qt/icons/folder.png: Removed.
  • MiniBrowser/qt/icons/info.png: Removed.
  • MiniBrowser/qt/icons/next.png: Removed.
  • MiniBrowser/qt/icons/plus.png: Removed.
  • MiniBrowser/qt/icons/previous.png: Removed.
  • MiniBrowser/qt/icons/refresh.png: Removed.
  • MiniBrowser/qt/icons/stop.png: Removed.
  • MiniBrowser/qt/icons/titlebar.png: Removed.
  • MiniBrowser/qt/icons/touch.png: Removed.
  • MiniBrowser/qt/icons/touchpoint.png: Removed.
  • MiniBrowser/qt/icons/up.png: Removed.
  • MiniBrowser/qt/js/MultiSelect.js: Removed.
  • MiniBrowser/qt/main.cpp: Removed.
  • MiniBrowser/qt/qml/AlertDialog.qml: Removed.
  • MiniBrowser/qt/qml/AuthenticationDialog.qml: Removed.
  • MiniBrowser/qt/qml/BrowserWindow.qml: Removed.
  • MiniBrowser/qt/qml/CheckBox.qml: Removed.
  • MiniBrowser/qt/qml/ColorChooser.qml: Removed.
  • MiniBrowser/qt/qml/ConfirmDialog.qml: Removed.
  • MiniBrowser/qt/qml/Dialog.qml: Removed.
  • MiniBrowser/qt/qml/DialogButton.qml: Removed.
  • MiniBrowser/qt/qml/DialogLineInput.qml: Removed.
  • MiniBrowser/qt/qml/FilePicker.qml: Removed.
  • MiniBrowser/qt/qml/ItemSelector.qml: Removed.
  • MiniBrowser/qt/qml/MockTouchPoint.qml: Removed.
  • MiniBrowser/qt/qml/PromptDialog.qml: Removed.
  • MiniBrowser/qt/qml/ProxyAuthenticationDialog.qml: Removed.
  • MiniBrowser/qt/qml/ScrollIndicator.qml: Removed.
  • MiniBrowser/qt/qml/ViewportInfoItem.qml: Removed.
  • MiniBrowser/qt/raw/DerivedSources.pri: Removed.
  • MiniBrowser/qt/raw/MiniBrowserRaw.pro: Removed.
  • MiniBrowser/qt/raw/Target.pri: Removed.
  • MiniBrowser/qt/raw/View.cpp: Removed.
  • MiniBrowser/qt/raw/View.h: Removed.
  • MiniBrowser/qt/utils.cpp: Removed.
  • MiniBrowser/qt/utils.h: Removed.
  • QtTestBrowser/QtTestBrowser.pro: Removed.
  • QtTestBrowser/QtTestBrowser.qrc: Removed.
  • QtTestBrowser/cookiejar.cpp: Removed.
  • QtTestBrowser/cookiejar.h: Removed.
  • QtTestBrowser/favicon.png: Removed.
  • QtTestBrowser/fpstimer.cpp: Removed.
  • QtTestBrowser/fpstimer.h: Removed.
  • QtTestBrowser/launcherwindow.cpp: Removed.
  • QtTestBrowser/launcherwindow.h: Removed.
  • QtTestBrowser/locationedit.cpp: Removed.
  • QtTestBrowser/locationedit.h: Removed.
  • QtTestBrowser/mainwindow.cpp: Removed.
  • QtTestBrowser/mainwindow.h: Removed.
  • QtTestBrowser/qttestbrowser.cpp: Removed.
  • QtTestBrowser/urlloader.cpp: Removed.
  • QtTestBrowser/urlloader.h: Removed.
  • QtTestBrowser/useragentlist.txt: Removed.
  • QtTestBrowser/utils.cpp: Removed.
  • QtTestBrowser/utils.h: Removed.
  • QtTestBrowser/webinspector.h: Removed.
  • QtTestBrowser/webpage.cpp: Removed.
  • QtTestBrowser/webpage.h: Removed.
  • QtTestBrowser/webview.cpp: Removed.
  • QtTestBrowser/webview.h: Removed.
  • TestWebKitAPI/DerivedSources.pri: Removed.
  • TestWebKitAPI/InjectedBundle.pri: Removed.
  • TestWebKitAPI/PlatformWebView.h:
  • TestWebKitAPI/TestWebKitAPI.pri: Removed.
  • TestWebKitAPI/TestWebKitAPI.pro: Removed.
  • TestWebKitAPI/Tests.pri: Removed.
  • TestWebKitAPI/Tests/JavaScriptCore/JavaScriptCore.pro: Removed.
  • TestWebKitAPI/Tests/WTF/IntegerToStringConversion.cpp:
  • TestWebKitAPI/Tests/WTF/WTF.pro: Removed.
  • TestWebKitAPI/Tests/WebKit2/WebKit2.pro: Removed.
  • TestWebKitAPI/qt/InjectedBundleControllerQt.cpp: Removed.
  • TestWebKitAPI/qt/PlatformUtilitiesQt.cpp: Removed.
  • TestWebKitAPI/qt/PlatformWebViewQt.cpp: Removed.
  • TestWebKitAPI/qt/main.cpp: Removed.
  • Tools.pro: Removed.
  • WebKitTestRunner/DerivedSources.pri: Removed.
  • WebKitTestRunner/EventSenderProxy.h:
  • WebKitTestRunner/InjectedBundle/DerivedSources.pri: Removed.
  • WebKitTestRunner/InjectedBundle/InjectedBundle.pro: Removed.
  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:

(WTR::InjectedBundlePage::resetAfterTest):
(WTR::InjectedBundlePage::dumpDOMAsWebArchive):
(WTR::InjectedBundlePage::didClearWindowForFrame):

  • WebKitTestRunner/InjectedBundle/Target.pri: Removed.
  • WebKitTestRunner/InjectedBundle/TestRunner.h:
  • WebKitTestRunner/InjectedBundle/qt/ActivateFontsQt.cpp: Removed.
  • WebKitTestRunner/InjectedBundle/qt/InjectedBundleQt.cpp: Removed.
  • WebKitTestRunner/InjectedBundle/qt/TestRunnerQt.cpp: Removed.
  • WebKitTestRunner/PlatformWebView.h:
  • WebKitTestRunner/Target.pri: Removed.
  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetStateToConsistentValues):

  • WebKitTestRunner/TestController.h:
  • WebKitTestRunner/WebKitTestRunner.pro: Removed.
  • WebKitTestRunner/qt/EventSenderProxyQt.cpp: Removed.
  • WebKitTestRunner/qt/PlatformWebViewQt.cpp: Removed.
  • WebKitTestRunner/qt/TestControllerQt.cpp: Removed.
  • WebKitTestRunner/qt/TestInvocationQt.cpp: Removed.
  • WebKitTestRunner/qt/WebKitTestRunner.qrc: Removed.
  • WebKitTestRunner/qt/main.cpp: Removed.
  • WebKitTestRunner/qt/resources/user.css: Removed.
  • qmake/.qmake.cache: Removed.
  • qmake/.qmake.conf: Removed.
  • qmake/README: Removed.
  • qmake/config.tests/README: Removed.
  • qmake/config.tests/fontconfig/fontconfig.cpp: Removed.
  • qmake/config.tests/fontconfig/fontconfig.pro: Removed.
  • qmake/config.tests/gccdepends/empty.cpp: Removed.
  • qmake/config.tests/gccdepends/gccdepends.pro: Removed.
  • qmake/config.tests/glx/glx.cpp: Removed.
  • qmake/config.tests/glx/glx.pro: Removed.
  • qmake/config.tests/gnuld/gnuld.pro: Removed.
  • qmake/config.tests/gnuld/main.cpp: Removed.
  • qmake/config.tests/libXcomposite/libXcomposite.cpp: Removed.
  • qmake/config.tests/libXcomposite/libXcomposite.pro: Removed.
  • qmake/config.tests/libXrender/libXrender.cpp: Removed.
  • qmake/config.tests/libXrender/libXrender.pro: Removed.
  • qmake/config.tests/libwebp/libwebp.cpp: Removed.
  • qmake/config.tests/libwebp/libwebp.pro: Removed.
  • qmake/config.tests/libxml2/libxml2.cpp: Removed.
  • qmake/config.tests/libxml2/libxml2.pro: Removed.
  • qmake/config.tests/libxslt/libxslt.cpp: Removed.
  • qmake/config.tests/libxslt/libxslt.pro: Removed.
  • qmake/config.tests/libzlib/libzlib.cpp: Removed.
  • qmake/config.tests/libzlib/libzlib.pro: Removed.
  • qmake/dump-features.pl: Removed.
  • qmake/mkspecs/features/configure.prf: Removed.
  • qmake/mkspecs/features/default_post.prf: Removed.
  • qmake/mkspecs/features/default_pre.prf: Removed.
  • qmake/mkspecs/features/features.prf: Removed.
  • qmake/mkspecs/features/features.pri: Removed.
  • qmake/mkspecs/features/force_static_libs_as_shared.prf: Removed.
  • qmake/mkspecs/features/functions.prf: Removed.
  • qmake/mkspecs/features/gprof.prf: Removed.
  • qmake/mkspecs/features/mac/default_post.prf: Removed.
  • qmake/mkspecs/features/mac/default_pre.prf: Removed.
  • qmake/mkspecs/features/minimal_qt.prf: Removed.
  • qmake/mkspecs/features/production_build.prf: Removed.
  • qmake/mkspecs/features/rpath.prf: Removed.
  • qmake/mkspecs/features/unix/default_post.prf: Removed.
  • qmake/mkspecs/features/unix/default_pre.prf: Removed.
  • qmake/mkspecs/features/unix/icc.prf: Removed.
  • qmake/mkspecs/features/use_all_in_one_files.prf: Removed.
  • qmake/mkspecs/features/valgrind.prf: Removed.
  • qmake/mkspecs/features/webkit_modules.prf: Removed.
  • qmake/mkspecs/features/win32/default_post.prf: Removed.
  • qmake/mkspecs/features/win32/default_pre.prf: Removed.
  • qmake/mkspecs/modules/angle.prf: Removed.
  • qmake/mkspecs/modules/javascriptcore.prf: Removed.
  • qmake/mkspecs/modules/webcore.prf: Removed.
  • qmake/mkspecs/modules/webkit1.prf: Removed.
  • qmake/mkspecs/modules/webkit2.prf: Removed.
  • qmake/mkspecs/modules/wtf.prf: Removed.
2:24 PM Changeset in webkit [156796] by Manuel Rego Casasnovas
  • 3 edits
    8 moves
    1 add in trunk/LayoutTests

[CSS Regions] Selection layout tests moved to specific folder
https://bugs.webkit.org/show_bug.cgi?id=122099

Reviewed by Alexandru Chiculita.

Moved CSS Regions layout tests related to selection to
"fast/regions/selection/".

  • fast/regions/selection/selecting-text-in-empty-region-expected.txt: Renamed from LayoutTests/fast/regions/selecting-text-in-empty-region-expected.txt.
  • fast/regions/selection/selecting-text-in-empty-region.html: Renamed from LayoutTests/fast/regions/selecting-text-in-empty-region.html.
  • fast/regions/selection/selecting-text-through-different-region-flows-2-expected.html: Renamed from LayoutTests/fast/regions/selecting-text-through-different-region-flows-2-expected.html.
  • fast/regions/selection/selecting-text-through-different-region-flows-2.html: Renamed from LayoutTests/fast/regions/selecting-text-through-different-region-flows-2.html.
  • fast/regions/selection/selecting-text-through-different-region-flows-expected.html: Renamed from LayoutTests/fast/regions/selecting-text-through-different-region-flows-expected.html.
  • fast/regions/selection/selecting-text-through-different-region-flows.html: Renamed from LayoutTests/fast/regions/selecting-text-through-different-region-flows.html.
  • fast/regions/selection/selection-direction-expected.html: Renamed from LayoutTests/fast/regions/selection-direction-expected.html.
  • fast/regions/selection/selection-direction.html: Renamed from LayoutTests/fast/regions/selection-direction.html.
  • platform/gtk-wk2/TestExpectations: Update path in skipped tests.
  • platform/qt-wk2/TestExpectations: Ditto.
2:24 PM WebKitGTK/2.2.x edited by ltilve@igalia.com
(diff)
2:23 PM Changeset in webkit [156795] by akling@apple.com
  • 79 edits
    11 deletes in trunk/Source/WebCore

Remove Qt from WebCore/platform.
<https://webkit.org/b/122228>

Reviewed by Anders Carlsson.

Purge PLATFORM(QT) blocks and FooBarQt.* files.

2:22 PM Changeset in webkit [156794] by msaboff@apple.com
  • 8 edits in trunk

The LLInt should not use JITStackFrame
https://bugs.webkit.org/show_bug.cgi?id=122231

Reviewed by Filip Pizlo.

Replaced uses of JITStackFrame::vm with code to either access the vm via the CodeBlock from
known JavaScript call frames or via the JSScope* for host call frames. This eliminates
all uses of JITStackFrame from the LLInt.

  • heap/MarkedBlock.h: Made LLIntOffsetsExtractor a friend to access member offsets.
  • heap/WeakSet.h: Made LLIntOffsetsExtractor a friend to access member offsets.
  • llint/LLIntData.cpp:

(JSC::LLInt::Data::performAssertions): Added an ASSERT for the newly added MarkedBlockMask

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
2:14 PM Changeset in webkit [156793] by timothy_horton@apple.com
  • 22 edits
    31 adds
    3 deletes in trunk

[mac] Stop using DrawingAreaImpl on PLATFORM(MAC)
https://bugs.webkit.org/show_bug.cgi?id=121859
<rdar://problem/15069359>

Reviewed by Anders Carlsson.

The Mac port will now use tiled drawing for all WebKit2 views.

  • Shared/DrawingAreaInfo.h:

Don't include DrawingAreaTypeImpl as a valid DrawingAreaType on Mac.

  • UIProcess/API/mac/WKView.mm:

(-[WKView drawRect:]):
Remove our implementation of drawRect that paints from DrawingAreaImpl's backing store.

(-[WKView _shouldUseTiledDrawingArea]):
Removed. Always treated as if it were true, now.

(-[WKView _createDrawingAreaProxy]):
Always create a TiledCoreAnimationDrawingAreaProxy now.

(-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
(-[WKView wantsUpdateLayer]):
WKView always wants a layer, etc.

  • UIProcess/BackingStore.h:

Remove Mac-specific BackingStore code, only used for DrawingAreaImpl on Mac.

  • UIProcess/DrawingAreaProxy.h:

Remove an unneeded include.

  • UIProcess/mac/BackingStoreMac.mm: Removed.
  • WebKit2.xcodeproj/project.pbxproj:

Remove a bunch of files we don't need to build anymore.

  • WebProcess/WebPage/DrawingArea.cpp:

(WebKit::DrawingArea::create):
Never create a DrawingAreaImpl on Mac.

  • WebProcess/WebPage/DrawingAreaImpl.cpp:

(WebKit::DrawingAreaImpl::updatePreferences):
(WebKit::DrawingAreaImpl::resumePainting):

  • WebProcess/WebPage/DrawingAreaImpl.h:

Remove Mac-specific DrawingAreaImpl code.

  • WebProcess/WebPage/LayerTreeHost.cpp:

(WebKit::LayerTreeHost::create):

  • WebProcess/WebPage/mac/LayerTreeHostMac.h: Removed.
  • WebProcess/WebPage/mac/LayerTreeHostMac.mm: Removed.
  • page/FrameView.cpp:

(WebCore::FrameView::addTrackedRepaintRect):
(WebCore::FrameView::repaintContentRectangle):

  • page/FrameView.h:

Factor out the coordinate conversion and appending of new repaint rects on FrameView.

  • platform/graphics/GraphicsLayer.cpp:

(WebCore::GraphicsLayer::dumpProperties):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::shouldDumpPropertyForLayer):
Don't dump repaint rects on the root tile cache, they'll be included at the top,
where FrameView's repaints are normally included.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::setContentsNeedDisplay):
(WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
Push the root tile cache's tracked repaint rects to FrameView instead.

  • WebKitTestRunner/TestInvocation.cpp:

(WTR::shouldUseThreadedScrolling):
(WTR::updateThreadedScrollingForCurrentTest):
(WTR::TestInvocation::invoke):

  • WebKitTestRunner/mac/PlatformWebViewMac.mm:

(-[TestRunnerWKView initWithFrame:contextRef:pageGroupRef:relatedToPage:useThreadedScrolling:]):
(WTR::PlatformWebView::PlatformWebView):
(WTR::PlatformWebView::viewSupportsOptions):
Rename the tiled drawing switch to threaded scrolling, since that's really
all it switches now that we use tiled drawing everywhere.

Use an unbuffered window, as well, to avoid snapshotting issues on some platforms
and to more closely match the case we're interested in testing.

  • platform/mac-wk2/TestExpectations:
  • platform/mac-wk2/compositing/contents-opaque/body-background-painted-expected.txt: Added.
  • platform/mac-wk2/compositing/contents-opaque/body-background-skipped-expected.txt: Added.
  • platform/mac-wk2/compositing/rtl/rtl-absolute-expected.txt: Added.
  • platform/mac-wk2/compositing/rtl/rtl-absolute-overflow-expected.txt: Added.
  • platform/mac-wk2/compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt: Added.

Add WebKit2 results, because we dump non-white background color on the root layer now.

  • platform/mac-wk2/compositing/repaint/fixed-background-scroll-expected.txt: Added.

New WebKit2 result; repaint rects are showing up now.

  • platform/mac-wk2/compositing/rtl/rtl-fixed-expected.txt:
  • platform/mac-wk2/compositing/rtl/rtl-fixed-overflow-expected.txt:

Slightly adjusted results.

  • platform/mac-wk2/compositing/tiling/rotated-tiled-clamped-expected.txt: Added.
  • platform/mac-wk2/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt: Added.
  • platform/mac-wk2/compositing/tiling/tile-cache-zoomed-expected.txt: Added.
  • platform/mac-wk2/compositing/tiling/tiled-layer-resize-expected.txt: Added.

New WebKit2 results; we show the root tile cache if layerTreeAsText is asked to dump tile caches.

  • platform/mac-wk2/editing/input/caret-at-the-edge-of-contenteditable-expected.txt: Added.
  • platform/mac-wk2/editing/input/reveal-caret-of-multiline-contenteditable-expected.txt: Added.
  • platform/mac-wk2/fast/block/basic/020-expected.txt: Added.
  • platform/mac-wk2/fast/dynamic/012-expected.txt: Added.
  • platform/mac-wk2/fast/dynamic/layer-hit-test-crash-expected.txt: Added.
  • platform/mac-wk2/fast/repaint/layer-hide-when-needs-layout-expected.txt: Added.
  • platform/mac-wk2/fast/text/whitespace/028-expected.txt: Added.
  • platform/mac-wk2/fast/layers/layer-visibility-expected.txt: Added.
  • platform/mac-wk2/fast/layers/layer-visibility-sublayer-expected.txt: Added.
  • platform/mac-wk2/fast/repaint/invisible-objects-expected.txt: Added.

New WebKit2 results; additional compositing layers.

  • platform/mac-wk2/tiled-drawing/window-server-snapshots-work-expected-mismatch.html: Added.
  • platform/mac-wk2/tiled-drawing/window-server-snapshots-work.html: Added.

New test to ensure that window-server snapshots work with tiled drawing.

1:34 PM Changeset in webkit [156792] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

Eliminate a branch in FastBitVector setAndCheck, make it vectorizable.
https://bugs.webkit.org/show_bug.cgi?id=122229

Patch by Nadav Rotem <nrotem@apple.com> on 2013-10-02
Reviewed by Geoffrey Garen.

The CPU is unlikely to predict the branch in setAndCheck. I changed the code to use conditional instructions.

  • wtf/FastBitVector.h:

(WTF::FastBitVector::setAndCheck):

1:34 PM Changeset in webkit [156791] by oliver@apple.com
  • 13 edits
    9 adds in trunk

Implement Array key, value and entries iterators
https://bugs.webkit.org/show_bug.cgi?id=122195

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

Add implementation of ES6 Array iterators for keys(), values() and entries()

Fairly self explanatory as we just need a simple implementation so that we can
implement and test other features.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • runtime/ArrayIteratorConstructor.cpp: Added.

(JSC::ArrayIteratorConstructor::finishCreation):

  • runtime/ArrayIteratorConstructor.h: Added.

(JSC::ArrayIteratorConstructor::create):
(JSC::ArrayIteratorConstructor::createStructure):
(JSC::ArrayIteratorConstructor::ArrayIteratorConstructor):

  • runtime/ArrayIteratorPrototype.cpp: Added.

(JSC::ArrayIteratorPrototype::finishCreation):
(JSC::createIteratorResult):
(JSC::arrayIteratorPrototypeNext):

  • runtime/ArrayIteratorPrototype.h: Added.

(JSC::ArrayIteratorPrototype::create):
(JSC::ArrayIteratorPrototype::createStructure):
(JSC::ArrayIteratorPrototype::ArrayIteratorPrototype):

  • runtime/ArrayPrototype.cpp:

(JSC::arrayProtoFuncValues):
(JSC::arrayProtoFuncEntries):
(JSC::arrayProtoFuncKeys):

  • runtime/CommonIdentifiers.h:
  • runtime/Identifier.h:

(JSC::Identifier::createEmptyUnique):

  • runtime/JSArrayIterator.cpp: Added.

(JSC::JSArrayIterator::finishCreation):

  • runtime/JSArrayIterator.h: Added.

(JSC::JSArrayIterator::createStructure):
(JSC::JSArrayIterator::create):
(JSC::JSArrayIterator::iterationKind):
(JSC::JSArrayIterator::iteratedObject):
(JSC::JSArrayIterator::nextIndex):
(JSC::JSArrayIterator::setNextIndex):
(JSC::JSArrayIterator::finish):
(JSC::JSArrayIterator::JSArrayIterator):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::reset):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::iteratorResultStructure):

LayoutTests:

Add tests

  • js/Object-getOwnPropertyNames-expected.txt:
  • js/array-iterators-expected.txt: Added.
  • js/array-iterators.html: Added.
  • js/script-tests/Object-getOwnPropertyNames.js:
  • js/script-tests/array-iterators.js: Added.
1:31 PM Changeset in webkit [156790] by Lucas Forschler
  • 1 edit in branches/safari-537.73-branch/LayoutTests/platform/mac-wk2/TestExpectations

Merge 156783.

1:16 PM Changeset in webkit [156789] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebKit/win

[Windows] Unreviewed build fix.

  • WebScriptWorld.cpp:

(WebScriptWorld::findOrCreateWorld):

12:55 PM Changeset in webkit [156788] by benjamin@webkit.org
  • 6 edits in trunk/Source/WebCore

Clean up more <style scoped> from style resolution
https://bugs.webkit.org/show_bug.cgi?id=122188

Reviewed by Darin Adler.

  • css/ElementRuleCollector.cpp:

(WebCore::MatchRequest::MatchRequest):
(WebCore::ElementRuleCollector::collectMatchingRules):
(WebCore::ElementRuleCollector::collectMatchingRulesForRegion):
(WebCore::ElementRuleCollector::matchAuthorRules):
(WebCore::ElementRuleCollector::ruleMatches):
(WebCore::ElementRuleCollector::doCollectMatchingRulesForList):

  • css/ElementRuleCollector.h:
  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::matchRecursively):

  • css/SelectorChecker.h:

(WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext):

  • dom/SelectorQuery.cpp:

(WebCore::SelectorDataList::selectorMatches):

12:38 PM Changeset in webkit [156787] by mhahnenberg@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

get_callee and to_this aren't properly cleared during finalizeUnconditionally
https://bugs.webkit.org/show_bug.cgi?id=122224

Reviewed by Geoffrey Garen.

Even though there is code to clear unmarked inline cache objects in finalizeUnconditionally,
it will never run because get_callee and to_this weren't added to the proper Vector in the
UnlinkedCodeBlock that is iterated during finalizeUnconditionally.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::emitCreateThis):

12:16 PM Changeset in webkit [156786] by andersca@apple.com
  • 2 edits
    1 move in trunk/Tools

Move AHEM.TTF from qt/fonts/ to fonts/.

Rubber-stamped by Andreas Kling.

  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
  • DumpRenderTree/fonts/AHEM.TTF: Renamed from Tools/DumpRenderTree/qt/fonts/AHEM.TTF.
12:11 PM Changeset in webkit [156785] by oliver@apple.com
  • 19 edits
    12 adds in trunk

Implement prefixed-destructuring assignment
https://bugs.webkit.org/show_bug.cgi?id=121930

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

Relanding with fix after rollout - it helps to not completely destroy
optimisations for no reason.

LayoutTests:

Relanding with fix after rollout - it helps to not completely destroy
optimisations for no reason.

11:52 AM Changeset in webkit [156784] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

FTL: Refactor compileArithDiv and compileArithMod into one function.
https://bugs.webkit.org/show_bug.cgi?id=122205

Patch by Nadav Rotem <nrotem@apple.com> on 2013-10-02
Reviewed by Filip Pizlo.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileAddSub):
(JSC::FTL::LowerDFGToLLVM::compileArithDivMod):

11:34 AM WebKitGTK/2.2.x edited by ltilve@igalia.com
(diff)
11:29 AM Changeset in webkit [156783] by Lucas Forschler
  • 1 edit in branches/safari-537-branch/LayoutTests/platform/mac-wk2/TestExpectations

Update Test Expectations.

11:23 AM Changeset in webkit [156782] by andersca@apple.com
  • 25 edits in trunk/Source/WebCore

Update bindings test results.

  • bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:

(WebCore::JSTestActiveDOMObjectOwner::finalize):

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

(WebCore::wrapperOwner):
(WebCore::wrapperContext):

  • bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:

(WebCore::JSTestCustomNamedGetterOwner::finalize):

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

(WebCore::wrapperOwner):
(WebCore::wrapperContext):

  • bindings/scripts/test/JS/JSTestEventConstructor.cpp:

(WebCore::JSTestEventConstructorOwner::finalize):

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

(WebCore::wrapperOwner):
(WebCore::wrapperContext):

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

(WebCore::JSTestEventTargetOwner::finalize):

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

(WebCore::wrapperOwner):
(WebCore::wrapperContext):

  • bindings/scripts/test/JS/JSTestException.cpp:

(WebCore::JSTestExceptionOwner::finalize):

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

(WebCore::wrapperOwner):
(WebCore::wrapperContext):

  • bindings/scripts/test/JS/JSTestInterface.cpp:

(WebCore::JSTestInterfaceOwner::finalize):

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

(WebCore::wrapperOwner):
(WebCore::wrapperContext):

  • bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:

(WebCore::JSTestMediaQueryListListenerOwner::finalize):

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

(WebCore::wrapperOwner):
(WebCore::wrapperContext):

  • bindings/scripts/test/JS/JSTestNamedConstructor.cpp:

(WebCore::JSTestNamedConstructorOwner::finalize):

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

(WebCore::wrapperOwner):
(WebCore::wrapperContext):

  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::JSTestObjOwner::finalize):

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

(WebCore::wrapperOwner):
(WebCore::wrapperContext):

  • bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:

(WebCore::JSTestOverloadedConstructorsOwner::finalize):

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

(WebCore::wrapperOwner):
(WebCore::wrapperContext):

  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:

(WebCore::JSTestSerializedScriptValueInterfaceOwner::finalize):

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

(WebCore::wrapperOwner):
(WebCore::wrapperContext):

  • bindings/scripts/test/JS/JSTestTypedefs.cpp:

(WebCore::JSTestTypedefsOwner::finalize):

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

(WebCore::wrapperOwner):
(WebCore::wrapperContext):

11:20 AM Changeset in webkit [156781] by andersca@apple.com
  • 1 edit
    263 deletes in trunk/Source/WebKit

Remove WebKit/qt.

Rubber-stamped by Andreas Kling.

  • qt/Api/qhttpheader.cpp: Removed.
  • qt/Api/qhttpheader_p.h: Removed.
  • qt/Api/qwebdatabase.cpp: Removed.
  • qt/Api/qwebdatabase.h: Removed.
  • qt/Api/qwebdatabase_p.h: Removed.
  • qt/Api/qwebelement.cpp: Removed.
  • qt/Api/qwebelement.h: Removed.
  • qt/Api/qwebelement_p.h: Removed.
  • qt/Api/qwebhistory.cpp: Removed.
  • qt/Api/qwebhistory.h: Removed.
  • qt/Api/qwebhistory_p.h: Removed.
  • qt/Api/qwebhistoryinterface.cpp: Removed.
  • qt/Api/qwebhistoryinterface.h: Removed.
  • qt/Api/qwebkitglobal.cpp: Removed.
  • qt/Api/qwebkitglobal.h: Removed.
  • qt/Api/qwebkitplatformplugin.h: Removed.
  • qt/Api/qwebplugindatabase.cpp: Removed.
  • qt/Api/qwebplugindatabase_p.h: Removed.
  • qt/Api/qwebpluginfactory.cpp: Removed.
  • qt/Api/qwebpluginfactory.h: Removed.
  • qt/Api/qwebscriptworld.cpp: Removed.
  • qt/Api/qwebscriptworld.h: Removed.
  • qt/Api/qwebscriptworld_p.h: Removed.
  • qt/Api/qwebsecurityorigin.cpp: Removed.
  • qt/Api/qwebsecurityorigin.h: Removed.
  • qt/Api/qwebsecurityorigin_p.h: Removed.
  • qt/Api/qwebsettings.cpp: Removed.
  • qt/Api/qwebsettings.h: Removed.
  • qt/ChangeLog-2011-02-16: Removed.
  • qt/WebCoreSupport/ChromeClientQt.cpp: Removed.
  • qt/WebCoreSupport/ChromeClientQt.h: Removed.
  • qt/WebCoreSupport/ContextMenuClientQt.cpp: Removed.
  • qt/WebCoreSupport/ContextMenuClientQt.h: Removed.
  • qt/WebCoreSupport/DragClientQt.cpp: Removed.
  • qt/WebCoreSupport/DragClientQt.h: Removed.
  • qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp: Removed.
  • qt/WebCoreSupport/DumpRenderTreeSupportQt.h: Removed.
  • qt/WebCoreSupport/EditorClientQt.cpp: Removed.
  • qt/WebCoreSupport/EditorClientQt.h: Removed.
  • qt/WebCoreSupport/FrameLoaderClientQt.cpp: Removed.
  • qt/WebCoreSupport/FrameLoaderClientQt.h: Removed.
  • qt/WebCoreSupport/FrameNetworkingContextQt.cpp: Removed.
  • qt/WebCoreSupport/FrameNetworkingContextQt.h: Removed.
  • qt/WebCoreSupport/FullScreenVideoQt.cpp: Removed.
  • qt/WebCoreSupport/FullScreenVideoQt.h: Removed.
  • qt/WebCoreSupport/GeolocationClientQt.cpp: Removed.
  • qt/WebCoreSupport/GeolocationClientQt.h: Removed.
  • qt/WebCoreSupport/GeolocationPermissionClientQt.cpp: Removed.
  • qt/WebCoreSupport/GeolocationPermissionClientQt.h: Removed.
  • qt/WebCoreSupport/IconDatabaseClientQt.cpp: Removed.
  • qt/WebCoreSupport/IconDatabaseClientQt.h: Removed.
  • qt/WebCoreSupport/InitWebCoreQt.cpp: Removed.
  • qt/WebCoreSupport/InitWebCoreQt.h: Removed.
  • qt/WebCoreSupport/InspectorClientQt.cpp: Removed.
  • qt/WebCoreSupport/InspectorClientQt.h: Removed.
  • qt/WebCoreSupport/InspectorServerQt.cpp: Removed.
  • qt/WebCoreSupport/InspectorServerQt.h: Removed.
  • qt/WebCoreSupport/NotificationPresenterClientQt.cpp: Removed.
  • qt/WebCoreSupport/NotificationPresenterClientQt.h: Removed.
  • qt/WebCoreSupport/PlatformStrategiesQt.cpp: Removed.
  • qt/WebCoreSupport/PlatformStrategiesQt.h: Removed.
  • qt/WebCoreSupport/PopupMenuQt.cpp: Removed.
  • qt/WebCoreSupport/PopupMenuQt.h: Removed.
  • qt/WebCoreSupport/QWebFrameAdapter.cpp: Removed.
  • qt/WebCoreSupport/QWebFrameAdapter.h: Removed.
  • qt/WebCoreSupport/QWebPageAdapter.cpp: Removed.
  • qt/WebCoreSupport/QWebPageAdapter.h: Removed.
  • qt/WebCoreSupport/QtPlatformPlugin.cpp: Removed.
  • qt/WebCoreSupport/QtPlatformPlugin.h: Removed.
  • qt/WebCoreSupport/QtPluginWidgetAdapter.cpp: Removed.
  • qt/WebCoreSupport/QtPluginWidgetAdapter.h: Removed.
  • qt/WebCoreSupport/QtPrintContext.cpp: Removed.
  • qt/WebCoreSupport/QtPrintContext.h: Removed.
  • qt/WebCoreSupport/SearchPopupMenuQt.cpp: Removed.
  • qt/WebCoreSupport/SearchPopupMenuQt.h: Removed.
  • qt/WebCoreSupport/TextCheckerClientQt.cpp: Removed.
  • qt/WebCoreSupport/TextCheckerClientQt.h: Removed.
  • qt/WebCoreSupport/TextureMapperLayerClientQt.cpp: Removed.
  • qt/WebCoreSupport/TextureMapperLayerClientQt.h: Removed.
  • qt/WebCoreSupport/UndoStepQt.cpp: Removed.
  • qt/WebCoreSupport/UndoStepQt.h: Removed.
  • qt/WebCoreSupport/WebEventConversion.cpp: Removed.
  • qt/WebCoreSupport/WebEventConversion.h: Removed.
  • qt/WidgetApi/qgraphicswebview.cpp: Removed.
  • qt/WidgetApi/qgraphicswebview.h: Removed.
  • qt/WidgetApi/qwebframe.cpp: Removed.
  • qt/WidgetApi/qwebframe.h: Removed.
  • qt/WidgetApi/qwebframe_p.h: Removed.
  • qt/WidgetApi/qwebinspector.cpp: Removed.
  • qt/WidgetApi/qwebinspector.h: Removed.
  • qt/WidgetApi/qwebinspector_p.h: Removed.
  • qt/WidgetApi/qwebpage.cpp: Removed.
  • qt/WidgetApi/qwebpage.h: Removed.
  • qt/WidgetApi/qwebpage_p.h: Removed.
  • qt/WidgetApi/qwebview.cpp: Removed.
  • qt/WidgetApi/qwebview.h: Removed.
  • qt/WidgetApi/qwebviewaccessible.cpp: Removed.
  • qt/WidgetApi/qwebviewaccessible_p.h: Removed.
  • qt/WidgetSupport/DefaultFullScreenVideoHandler.cpp: Removed.
  • qt/WidgetSupport/DefaultFullScreenVideoHandler.h: Removed.
  • qt/WidgetSupport/FullScreenVideoWidget.cpp: Removed.
  • qt/WidgetSupport/FullScreenVideoWidget.h: Removed.
  • qt/WidgetSupport/InitWebKitQt.cpp: Removed.
  • qt/WidgetSupport/InitWebKitQt.h: Removed.
  • qt/WidgetSupport/InspectorClientWebPage.cpp: Removed.
  • qt/WidgetSupport/InspectorClientWebPage.h: Removed.
  • qt/WidgetSupport/PageClientQt.cpp: Removed.
  • qt/WidgetSupport/PageClientQt.h: Removed.
  • qt/WidgetSupport/QGraphicsWidgetPluginImpl.cpp: Removed.
  • qt/WidgetSupport/QGraphicsWidgetPluginImpl.h: Removed.
  • qt/WidgetSupport/QStyleFacadeImp.cpp: Removed.
  • qt/WidgetSupport/QStyleFacadeImp.h: Removed.
  • qt/WidgetSupport/QWebUndoCommand.cpp: Removed.
  • qt/WidgetSupport/QWebUndoCommand.h: Removed.
  • qt/WidgetSupport/QWidgetPluginImpl.cpp: Removed.
  • qt/WidgetSupport/QWidgetPluginImpl.h: Removed.
  • qt/WidgetSupport/QtFallbackWebPopup.cpp: Removed.
  • qt/WidgetSupport/QtFallbackWebPopup.h: Removed.
  • qt/WidgetSupport/QtWebComboBox.cpp: Removed.
  • qt/WidgetSupport/QtWebComboBox.h: Removed.
  • qt/declarative/declarative.pro: Removed.
  • qt/declarative/experimental/experimental.pri: Removed.
  • qt/declarative/experimental/plugin.cpp: Removed.
  • qt/declarative/experimental/plugin.json: Removed.
  • qt/declarative/experimental/qmldir: Removed.
  • qt/declarative/plugin.cpp: Removed.
  • qt/declarative/plugin.json: Removed.
  • qt/declarative/plugins.qmltypes: Removed.
  • qt/declarative/public.pri: Removed.
  • qt/declarative/qmldir: Removed.
  • qt/docs/qtwebkit-bridge.qdoc: Removed.
  • qt/docs/qtwebkit-goes-mobile.qdoc: Removed.
  • qt/docs/qtwebkit.qdoc: Removed.
  • qt/docs/qwebview-diagram.png: Removed.
  • qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp: Removed.
  • qt/docs/webkitsnippets/qtwebkit_build_snippet.qdoc: Removed.
  • qt/docs/webkitsnippets/qtwebkit_goes_mobile_snippets.cpp: Removed.
  • qt/docs/webkitsnippets/qtwebkit_qwebinspector_snippet.cpp: Removed.
  • qt/docs/webkitsnippets/qtwebkit_qwebview_snippet.cpp: Removed.
  • qt/docs/webkitsnippets/simple/main.cpp: Removed.
  • qt/docs/webkitsnippets/simple/simple.pro: Removed.
  • qt/docs/webkitsnippets/webelement/main.cpp: Removed.
  • qt/docs/webkitsnippets/webelement/webelement.pro: Removed.
  • qt/docs/webkitsnippets/webpage/main.cpp: Removed.
  • qt/docs/webkitsnippets/webpage/webpage.pro: Removed.
  • qt/examples/examples.pro: Removed.
  • qt/examples/platformplugin/README: Removed.
  • qt/examples/platformplugin/WebNotificationPresenter.cpp: Removed.
  • qt/examples/platformplugin/WebNotificationPresenter.h: Removed.
  • qt/examples/platformplugin/WebPlugin.cpp: Removed.
  • qt/examples/platformplugin/WebPlugin.h: Removed.
  • qt/examples/platformplugin/platformplugin.pro: Removed.
  • qt/examples/platformplugin/qwebkitplatformplugin.h: Removed.
  • qt/tests/MIMESniffing/MIMESniffing.pro: Removed.
  • qt/tests/MIMESniffing/TestData.h: Removed.
  • qt/tests/MIMESniffing/resources.qrc: Removed.
  • qt/tests/MIMESniffing/resources/application_atom+xml: Removed.
  • qt/tests/MIMESniffing/resources/application_ogg: Removed.
  • qt/tests/MIMESniffing/resources/application_pdf: Removed.
  • qt/tests/MIMESniffing/resources/application_postscript: Removed.
  • qt/tests/MIMESniffing/resources/application_rdf+xml: Removed.
  • qt/tests/MIMESniffing/resources/application_rss+xml: Removed.
  • qt/tests/MIMESniffing/resources/application_x-gzip: Removed.
  • qt/tests/MIMESniffing/resources/application_x-rar-compressed: Removed.
  • qt/tests/MIMESniffing/resources/application_zip: Removed.
  • qt/tests/MIMESniffing/resources/audio_x-wave: Removed.
  • qt/tests/MIMESniffing/resources/image_bmp: Removed.
  • qt/tests/MIMESniffing/resources/image_gif: Removed.
  • qt/tests/MIMESniffing/resources/image_jpeg: Removed.
  • qt/tests/MIMESniffing/resources/image_png: Removed.
  • qt/tests/MIMESniffing/resources/image_vnd.microsoft.icon: Removed.
  • qt/tests/MIMESniffing/resources/image_webp: Removed.
  • qt/tests/MIMESniffing/resources/text_html: Removed.
  • qt/tests/MIMESniffing/resources/text_xml: Removed.
  • qt/tests/MIMESniffing/resources/video_webm: Removed.
  • qt/tests/MIMESniffing/tst_MIMESniffing.cpp: Removed.
  • qt/tests/benchmarks/loading/loading.pro: Removed.
  • qt/tests/benchmarks/loading/tst_loading.cpp: Removed.
  • qt/tests/benchmarks/painting/painting.pro: Removed.
  • qt/tests/benchmarks/painting/tst_painting.cpp: Removed.
  • qt/tests/benchmarks/webgl/10000_triangles.html: Removed.
  • qt/tests/benchmarks/webgl/tst_webgl.cpp: Removed.
  • qt/tests/benchmarks/webgl/tst_webgl.qrc: Removed.
  • qt/tests/benchmarks/webgl/webgl.pro: Removed.
  • qt/tests/cmake/CMakeLists.txt: Removed.
  • qt/tests/cmake/cmake.pro: Removed.
  • qt/tests/hybridPixmap/hybridPixmap.pro: Removed.
  • qt/tests/hybridPixmap/resources.qrc: Removed.
  • qt/tests/hybridPixmap/test.html: Removed.
  • qt/tests/hybridPixmap/tst_hybridPixmap.cpp: Removed.
  • qt/tests/hybridPixmap/widget.cpp: Removed.
  • qt/tests/hybridPixmap/widget.h: Removed.
  • qt/tests/hybridPixmap/widget.ui: Removed.
  • qt/tests/qgraphicswebview/qgraphicswebview.pro: Removed.
  • qt/tests/qgraphicswebview/resources/greendiv.html: Removed.
  • qt/tests/qgraphicswebview/resources/input_types.html: Removed.
  • qt/tests/qgraphicswebview/resources/pointing_right.html: Removed.
  • qt/tests/qgraphicswebview/resources/pointing_up.html: Removed.
  • qt/tests/qgraphicswebview/resources/scrolltest_page.html: Removed.
  • qt/tests/qgraphicswebview/tst_qgraphicswebview.cpp: Removed.
  • qt/tests/qgraphicswebview/tst_qgraphicswebview.qrc: Removed.
  • qt/tests/qobjectbridge/qobjectbridge.pro: Removed.
  • qt/tests/qobjectbridge/tst_qobjectbridge.cpp: Removed.
  • qt/tests/qwebelement/qwebelement.pro: Removed.
  • qt/tests/qwebelement/resources/image.png: Removed.
  • qt/tests/qwebelement/resources/style.css: Removed.
  • qt/tests/qwebelement/resources/style2.css: Removed.
  • qt/tests/qwebelement/tst_qwebelement.cpp: Removed.
  • qt/tests/qwebelement/tst_qwebelement.qrc: Removed.
  • qt/tests/qwebframe/qwebframe.pro: Removed.
  • qt/tests/qwebframe/resources/image.png: Removed.
  • qt/tests/qwebframe/resources/style.css: Removed.
  • qt/tests/qwebframe/resources/test1.html: Removed.
  • qt/tests/qwebframe/resources/test2.html: Removed.
  • qt/tests/qwebframe/resources/testiframe.html: Removed.
  • qt/tests/qwebframe/resources/testiframe2.html: Removed.
  • qt/tests/qwebframe/tst_qwebframe.cpp: Removed.
  • qt/tests/qwebframe/tst_qwebframe.qrc: Removed.
  • qt/tests/qwebhistory/qwebhistory.pro: Removed.
  • qt/tests/qwebhistory/resources/page1.html: Removed.
  • qt/tests/qwebhistory/resources/page2.html: Removed.
  • qt/tests/qwebhistory/resources/page3.html: Removed.
  • qt/tests/qwebhistory/resources/page4.html: Removed.
  • qt/tests/qwebhistory/resources/page5.html: Removed.
  • qt/tests/qwebhistory/resources/page6.html: Removed.
  • qt/tests/qwebhistory/tst_qwebhistory.cpp: Removed.
  • qt/tests/qwebhistory/tst_qwebhistory.qrc: Removed.
  • qt/tests/qwebhistoryinterface/qwebhistoryinterface.pro: Removed.
  • qt/tests/qwebhistoryinterface/tst_qwebhistoryinterface.cpp: Removed.
  • qt/tests/qwebinspector/qwebinspector.pro: Removed.
  • qt/tests/qwebinspector/tst_qwebinspector.cpp: Removed.
  • qt/tests/qwebpage/qwebpage.pro: Removed.
  • qt/tests/qwebpage/resources/content.html: Removed.
  • qt/tests/qwebpage/resources/frame_a.html: Removed.
  • qt/tests/qwebpage/resources/frame_c.html: Removed.
  • qt/tests/qwebpage/resources/framedindex.html: Removed.
  • qt/tests/qwebpage/resources/iframe.html: Removed.
  • qt/tests/qwebpage/resources/iframe2.html: Removed.
  • qt/tests/qwebpage/resources/iframe3.html: Removed.
  • qt/tests/qwebpage/resources/index.html: Removed.
  • qt/tests/qwebpage/resources/script.html: Removed.
  • qt/tests/qwebpage/resources/user.css: Removed.
  • qt/tests/qwebpage/tst_qwebpage.cpp: Removed.
  • qt/tests/qwebpage/tst_qwebpage.qrc: Removed.
  • qt/tests/qwebplugindatabase/qwebplugindatabase.pro: Removed.
  • qt/tests/qwebplugindatabase/tst_qwebplugindatabase.cpp: Removed.
  • qt/tests/qwebsecurityorigin/qwebsecurityorigin.pro: Removed.
  • qt/tests/qwebsecurityorigin/resources/test.html: Removed.
  • qt/tests/qwebsecurityorigin/tst_qwebsecurityorigin.cpp: Removed.
  • qt/tests/qwebsecurityorigin/tst_qwebsecurityorigin.qrc: Removed.
  • qt/tests/qwebview/.gitignore: Removed.
  • qt/tests/qwebview/qwebview.pro: Removed.
  • qt/tests/qwebview/resources/frame_a.html: Removed.
  • qt/tests/qwebview/resources/index.html: Removed.
  • qt/tests/qwebview/resources/input_types.html: Removed.
  • qt/tests/qwebview/resources/scrolltest_page.html: Removed.
  • qt/tests/qwebview/tst_qwebview.cpp: Removed.
  • qt/tests/qwebview/tst_qwebview.qrc: Removed.
  • qt/tests/resources/image2.png: Removed.
  • qt/tests/resources/test.swf: Removed.
  • qt/tests/tests.pri: Removed.
  • qt/tests/util.h: Removed.
11:17 AM Changeset in webkit [156780] by andersca@apple.com
  • 17 edits
    9 deletes in trunk/Source/JavaScriptCore

Get rid of Qt code from JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=122223

Reviewed by Oliver Hunt.

  • API/JSStringRefQt.cpp: Removed.
  • API/JSStringRefQt.h: Removed.
  • API/OpaqueJSString.h:
  • DerivedSources.pri: Removed.
  • JavaScriptCore.pri: Removed.
  • JavaScriptCore.pro: Removed.
  • LLIntOffsetsExtractor.pro: Removed.
  • Target.pri: Removed.
  • assembler/AbstractMacroAssembler.h:
  • assembler/MacroAssembler.h:

(JSC::MacroAssembler::urshift32):

  • assembler/MacroAssemblerARMv7.h:

(JSC::MacroAssemblerARMv7::shouldBlindForSpecificArch):

  • assembler/MacroAssemblerX86Common.h:
  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileArithSub):

  • heap/HeapTimer.cpp:

(JSC::HeapTimer::timerEvent):

  • heap/HeapTimer.h:
  • heap/IncrementalSweeper.cpp:

(JSC::IncrementalSweeper::scheduleTimer):

  • heap/IncrementalSweeper.h:
  • jit/JITArithmetic32_64.cpp:

(JSC::JIT::emitSub32Constant):

  • jsc.cpp:

(main):

  • jsc.pro: Removed.
  • runtime/DateConstructor.cpp:
  • runtime/GCActivityCallback.cpp:

(JSC::DefaultGCActivityCallback::DefaultGCActivityCallback):
(JSC::DefaultGCActivityCallback::cancelTimer):

  • runtime/GCActivityCallback.h:
  • testRegExp.cpp:

(main):

  • yarr/yarr.pri: Removed.
11:08 AM Changeset in webkit [156779] by akling@apple.com
  • 5 edits
    1 delete in trunk/Source/WebCore

Remove Qt-specific code in WebCore/{rendering,editing,history}.
<https://webkit.org/b/122220>

Reviewed by Anders Carlsson.

Purge PLATFORM(QT) blocks and FooBarQt.* files.

11:07 AM Changeset in webkit [156778] by akling@apple.com
  • 12 edits in trunk/Source/WebCore

Remove Qt-specific code in common WebCore/{html,dom} files.
<https://webkit.org/b/122219>

Reviewed by Anders Carlsson.

Purge PLATFORM(QT) blocks.

11:06 AM Changeset in webkit [156777] by ap@apple.com
  • 2 edits in trunk/LayoutTests

video-object-fit tests are flaky
https://bugs.webkit.org/show_bug.cgi?id=121803

  • platform/mac/TestExpectations: Marking as such.
11:06 AM Changeset in webkit [156776] by dbates@webkit.org
  • 2 edits in trunk/Source/WebKit2

Fix the Mac WebKit2 build following <http://trac.webkit.org/changeset/139241>
(https://bugs.webkit.org/show_bug.cgi?id=104197)

WebContextMac.mm fails to compile when building with network process disabled.

The constants WebKit2HTTPProxyDefaultsKey and WebKit2HTTPSProxyDefaultsKey,
defined in WebContextMac.mm, should only be defined when building with the
network process enabled as these constants are only referenced from
ENABLE(NETWORK_PROCESS)-guard code.

  • UIProcess/mac/WebContextMac.mm:
11:03 AM Changeset in webkit [156775] by andersca@apple.com
  • 11 edits
    3 deletes in trunk/Source/WTF

Remove Qt code from WTF
https://bugs.webkit.org/show_bug.cgi?id=122221

Reviewed by Antti Koivisto.

I'm keeping the PLATFORM(QT) defines in Platform.h for now so we can assess if there are any
Qt only features that we can remove later.

  • WTF.pri: Removed.
  • WTF.pro: Removed.
  • wtf/Assertions.cpp:
  • wtf/CurrentTime.cpp:
  • wtf/DisallowCType.h:
  • wtf/FastMalloc.cpp:
  • wtf/FeatureDefines.h:
  • wtf/qt/MainThreadQt.cpp: Removed.
  • wtf/qt/StringQt.cpp: Removed.
  • wtf/text/AtomicString.h:
  • wtf/text/StringImpl.cpp:

(WTF::StringImpl::~StringImpl):

  • wtf/text/StringImpl.h:
  • wtf/text/WTFString.cpp:

(WTF::String::format):

  • wtf/text/WTFString.h:
11:02 AM Changeset in webkit [156774] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Quirksmode: CSS1: WebKit fails dynamic :first-letter test
https://bugs.webkit.org/show_bug.cgi?id=15602

  • platform/mac/TestExpectations: Correcting Mac expectations too, now that we have results.
11:00 AM Changeset in webkit [156773] by ap@apple.com
  • 3 edits
    2 adds in trunk/LayoutTests

Quirksmode: CSS1: WebKit fails dynamic :first-letter test
https://bugs.webkit.org/show_bug.cgi?id=15602

  • platform/mac/fast/css/first-letter-block-change-expected.png: Added.
  • platform/mac/fast/css/first-letter-block-change-expected.txt: Added.

Added expected results for Mac.

  • platform/efl/TestExpectations: Corrected the expectation. This test is not

failing, it has no results.

10:26 AM Changeset in webkit [156772] by Lucas Forschler
  • 1 edit in trunk/Tools/BuildSlaveSupport/build.webkit.org-config/templates/root.html

remove Qt from the main buildbot page.

10:16 AM Changeset in webkit [156771] by andersca@apple.com
  • 4 edits in trunk/Tools

Remove Qt bots and EWS from trunk.
https://bugs.webkit.org/show_bug.cgi?id=122210.

Patch by Ádám Kallai <kadam@inf.u-szeged.hu> on 2013-10-02
Reviewed by Allan Sandfeld Jensen.

Remove Qt buil dbots.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
  • BuildSlaveSupport/build.webkit.org-config/master.cfg:

(appendCustomBuildFlags):
(RunGtkAPITests.getText2):
(Factory.init):
(TestFactory.init):
(BuildAndTestFactory.init):
(loadBuilderConfig):

  • BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
10:13 AM Changeset in webkit [156770] by andersca@apple.com
  • 3 edits in trunk/Tools

Remove Qt bots and EWS from trunk.
https://bugs.webkit.org/show_bug.cgi?id=122210.

Patch by Ádám Kallai <kadam@inf.u-szeged.hu> on 2013-10-02
Reviewed by Allan Sandfeld Jensen.

Remove Qt EWS bots.

  • QueueStatusServer/config/queues.py:
  • Scripts/webkitpy/common/config/ews.json:
10:03 AM Changeset in webkit [156769] by weinig@apple.com
  • 94 edits in trunk/Source

CTTE: DOMWrapperWorlds should be passed around by reference
https://bugs.webkit.org/show_bug.cgi?id=122206

Reviewed by Andreas Kling.

../WebCore:

  • bindings/js/DOMWrapperWorld.cpp:

(WebCore::DOMWrapperWorld::DOMWrapperWorld):
(WebCore::DOMWrapperWorld::~DOMWrapperWorld):
(WebCore::DOMWrapperWorld::clearWrappers):
(WebCore::normalWorld):
(WebCore::mainThreadNormalWorld):

  • bindings/js/DOMWrapperWorld.h:

(WebCore::debuggerWorld):
(WebCore::pluginWorld):
(WebCore::currentWorld):

  • bindings/js/JSCSSStyleDeclarationCustom.cpp:

(WebCore::JSCSSStyleDeclaration::getPropertyCSSValue):

  • bindings/js/JSCSSValueCustom.cpp:

(WebCore::JSCSSValueOwner::finalize):

  • bindings/js/JSDOMBinding.h:

(WebCore::wrapperOwner):
(WebCore::wrapperContext):
(WebCore::getInlineCachedWrapper):
(WebCore::setInlineCachedWrapper):
(WebCore::clearInlineCachedWrapper):
(WebCore::getCachedWrapper):
(WebCore::cacheWrapper):
(WebCore::uncacheWrapper):
(WebCore::jsStringWithCache):

  • bindings/js/JSDOMGlobalObject.cpp:

(WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
(WebCore::toJSDOMGlobalObject):

  • bindings/js/JSDOMGlobalObject.h:

(WebCore::JSDOMGlobalObject::world):

  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::JSDOMWindowBase):
(WebCore::toJSDOMWindow):

  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/JSDOMWindowShell.cpp:

(WebCore::JSDOMWindowShell::JSDOMWindowShell):
(WebCore::JSDOMWindowShell::setWindow):
(WebCore::toJSDOMWindowShell):

  • bindings/js/JSDOMWindowShell.h:

(WebCore::JSDOMWindowShell::create):
(WebCore::JSDOMWindowShell::world):

  • bindings/js/JSErrorHandler.cpp:

(WebCore::JSErrorHandler::JSErrorHandler):

  • bindings/js/JSErrorHandler.h:

(WebCore::JSErrorHandler::create):

  • bindings/js/JSEventListener.cpp:

(WebCore::JSEventListener::JSEventListener):
(WebCore::JSEventListener::handleEvent):

  • bindings/js/JSEventListener.h:

(WebCore::JSEventListener::create):
(WebCore::JSEventListener::isolatedWorld):

  • bindings/js/JSInjectedScriptHostCustom.cpp:

(WebCore::getJSListenerFunctions):

  • bindings/js/JSLazyEventListener.cpp:

(WebCore::JSLazyEventListener::JSLazyEventListener):

  • bindings/js/JSLazyEventListener.h:
  • bindings/js/JSMutationCallback.cpp:

(WebCore::JSMutationCallback::JSMutationCallback):
(WebCore::JSMutationCallback::call):

  • bindings/js/JSNodeCustom.cpp:

(WebCore::JSNodeOwner::finalize):

  • bindings/js/JSPluginElementFunctions.h:

(WebCore::pluginElementCustomGetOwnPropertySlot):

  • bindings/js/JSWorkerGlobalScopeBase.cpp:

(WebCore::JSWorkerGlobalScopeBase::JSWorkerGlobalScopeBase):

  • bindings/js/ScheduledAction.cpp:

(WebCore::ScheduledAction::create):
(WebCore::ScheduledAction::ScheduledAction):
(WebCore::ScheduledAction::execute):

  • bindings/js/ScheduledAction.h:

(WebCore::ScheduledAction::ScheduledAction):

  • bindings/js/ScriptCachedFrameData.cpp:

(WebCore::ScriptCachedFrameData::restore):

  • bindings/js/ScriptCachedFrameData.h:
  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::~ScriptController):
(WebCore::ScriptController::destroyWindowShell):
(WebCore::ScriptController::createWindowShell):
(WebCore::ScriptController::evaluateInWorld):
(WebCore::ScriptController::getAllWorlds):
(WebCore::ScriptController::initScript):
(WebCore::ScriptController::executeScriptInWorld):
(WebCore::ScriptController::shouldBypassMainWorldContentSecurityPolicy):

  • bindings/js/ScriptController.h:

(WebCore::ScriptController::windowShell):
(WebCore::ScriptController::existingWindowShell):
(WebCore::ScriptController::globalObject):

  • bindings/js/ScriptDebugServer.cpp:

(WebCore::ScriptDebugServer::isContentScript):

  • bindings/js/ScriptState.cpp:

(WebCore::execStateFromNode):
(WebCore::execStateFromPage):

  • bindings/js/ScriptState.h:
  • bindings/js/SerializedScriptValue.cpp:

(WebCore::SerializedScriptValue::transferArrayBuffers):

  • bindings/js/WebCoreJSClientData.h:

(WebCore::WebCoreJSClientData::WebCoreJSClientData):
(WebCore::WebCoreJSClientData::normalWorld):
(WebCore::WebCoreJSClientData::getAllWorlds):
(WebCore::WebCoreJSClientData::rememberWorld):
(WebCore::WebCoreJSClientData::forgetWorld):

  • bindings/js/WebCoreTypedArrayController.cpp:

(WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::finalize):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):
(GenerateImplementation):

  • dom/Document.cpp:

(WebCore::Document::ensurePlugInsInjectedScript):

  • dom/Document.h:
  • dom/DocumentStyleSheetCollection.cpp:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::ensureIsolatedWorld):
(WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript):
(WebCore::HTMLMediaElement::didAddUserAgentShadowRoot):

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

(WebCore::plugInImageElementIsolatedWorld):
(WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot):

  • inspector/InspectorAgent.cpp:

(WebCore::InspectorAgent::didClearWindowObjectInWorld):

  • inspector/InspectorAgent.h:
  • inspector/InspectorController.cpp:

(WebCore::InspectorController::didClearWindowObjectInWorld):

  • inspector/InspectorController.h:
  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::buildObjectForEventListener):

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::didClearWindowObjectInWorld):

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::didClearWindowObjectInWorld):

  • inspector/InspectorPageAgent.h:
  • loader/EmptyClients.h:

(WebCore::EmptyFrameLoaderClient::dispatchDidClearWindowObjectInWorld):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::dispatchDidClearWindowObjectsInAllWorlds):
(WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):
(WebCore::FrameLoader::dispatchGlobalObjectAvailableInAllWorlds):

  • loader/FrameLoader.h:
  • loader/FrameLoaderClient.h:

(WebCore::FrameLoaderClient::dispatchGlobalObjectAvailable):

  • page/CaptionUserPreferencesMediaAF.cpp:
  • page/DOMWindowExtension.cpp:

(WebCore::DOMWindowExtension::DOMWindowExtension):

  • page/DOMWindowExtension.h:

(WebCore::DOMWindowExtension::create):
(WebCore::DOMWindowExtension::world):

  • page/Frame.cpp:

(WebCore::Frame::injectUserScripts):
(WebCore::Frame::injectUserScriptsForWorld):

  • page/Frame.h:
  • page/PageGroup.cpp:

(WebCore::PageGroup::addUserScriptToWorld):
(WebCore::PageGroup::addUserStyleSheetToWorld):
(WebCore::PageGroup::removeUserScriptFromWorld):
(WebCore::PageGroup::removeUserStyleSheetFromWorld):
(WebCore::PageGroup::removeUserScriptsFromWorld):
(WebCore::PageGroup::removeUserStyleSheetsFromWorld):

  • page/PageGroup.h:

../WebKit/efl:

  • WebCoreSupport/DumpRenderTreeSupportEfl.cpp:

(DumpRenderTreeSupportEfl::evaluateScriptInIsolatedWorld):

  • WebCoreSupport/FrameLoaderClientEfl.cpp:

(WebCore::FrameLoaderClientEfl::dispatchDidClearWindowObjectInWorld):

  • WebCoreSupport/FrameLoaderClientEfl.h:

../WebKit/gtk:

  • WebCoreSupport/FrameLoaderClientGtk.cpp:

(WebKit::FrameLoaderClient::dispatchDidClearWindowObjectInWorld):

  • WebCoreSupport/FrameLoaderClientGtk.h:

../WebKit/mac:

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::NetscapePluginInstanceProxy::getWindowNPObject):
(WebKit::NetscapePluginInstanceProxy::getPluginElementNPObject):
(WebKit::NetscapePluginInstanceProxy::evaluate):

  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm:
  • WebView/WebFrame.mm:

(-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):
(-[WebFrame _globalContextForScriptWorld:]):
(-[WebFrame jsWrapperForNode:inScriptWorld:]):

  • WebView/WebScriptWorld.mm:

(+[WebScriptWorld standardWorld]):
(+[WebScriptWorld findOrCreateWorld:]):

  • WebView/WebScriptWorldInternal.h:
  • WebView/WebView.mm:

(-[WebView _injectOutlookQuirksScript]):
(+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:injectedFrames:]):
(+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:injectedFrames:]):
(+[WebView _removeUserScriptFromGroup:world:url:]):
(+[WebView _removeUserStyleSheetFromGroup:world:url:]):
(+[WebView _removeUserScriptsFromGroup:world:]):
(+[WebView _removeUserStyleSheetsFromGroup:world:]):

../WebKit/win:

  • WebCoreSupport/WebFrameLoaderClient.cpp:

(WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld):

  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebScriptWorld.cpp:

(WebScriptWorld::standardWorld):
(WebScriptWorld::findOrCreateWorld):

  • WebScriptWorld.h:

(WebScriptWorld::world):

../WebKit/wince:

  • WebCoreSupport/FrameLoaderClientWinCE.cpp:

(WebKit::FrameLoaderClientWinCE::dispatchDidClearWindowObjectInWorld):

  • WebCoreSupport/FrameLoaderClientWinCE.h:

../WebKit2:

  • WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:

(WebKit::InjectedBundlePageLoaderClient::didClearWindowObjectForFrame):
(WebKit::InjectedBundlePageLoaderClient::globalObjectIsAvailableForFrame):

  • WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
  • WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp:

(WebKit::InjectedBundleScriptWorld::getOrCreate):
(WebKit::InjectedBundleScriptWorld::normalWorld):
(WebKit::InjectedBundleScriptWorld::coreWorld):

  • WebProcess/InjectedBundle/InjectedBundleScriptWorld.h:
  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::windowScriptNPObject):
(WebKit::PluginView::pluginElementNPObject):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
(WebKit::WebFrameLoaderClient::dispatchGlobalObjectAvailable):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
9:43 AM Changeset in webkit [156768] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

Unreviewed, removing references to the recently removed Modules/filesystem directory.

  • GNUmakefile.am:
8:10 AM WebKitGTK/2.2.x edited by vjaquez@igalia.com
propose r156003 for 2.2.1 (diff)
6:07 AM Changeset in webkit [156767] by commit-queue@webkit.org
  • 47 edits
    5 copies
    103 deletes in trunk

[CSS Regions] Activate all regions to have layers, as CSS Regions create a new stacking context
https://bugs.webkit.org/show_bug.cgi?id=121828

Patch by Mihai Maerean <Mihai Maerean> on 2013-10-02
Reviewed by Darin Adler.

Source/WebCore:

The CSS Regions specification says "CSS Regions create a new stacking context." (http://dev.w3.org/csswg/css-regions/).

Divs that create stacking contexts are painted after the divs that don't create stacking contexts.

Test: fast/regions/layers/stacking-context-paint-order.html: While the existing region-sibling-paint-order.html
test verifies that regions paint correctly when the next sibling also creates a stacking context, this new test
verifies that regions paint correctly when the next sibling doesn't create a stacking context.

  • rendering/RenderBlock.cpp: Remove code that is not needed now that all regions have layers.
  • rendering/RenderBlock.h: Remove code that is not needed now that all regions have layers.
  • rendering/RenderBox.cpp: Remove code that is not needed now that all regions have layers.
  • rendering/RenderBox.h: Remove code that is not needed now that all regions have layers.
  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::updateLayerToRegionMappings): Remove code that is not needed now that all regions have layers.

  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::RenderRegion):

  • rendering/RenderRegion.h:

(WebCore::RenderRegion::requiresLayer): Always. CSS Regions create Stacking Contexts. RenderMultiColumnSet
implements its own behaviour so the behaviour of each class is contained within its own files.

  • rendering/RenderMultiColumnSet.h:

(WebCore::RenderMultiColumnSet::requiresLayer): RenderMultiColumnSet derives from RenderRegion, but unlike the
CSS Regions specification, the Multi-Columns CSS specification states that the column boxes do not establish new
Stacking Contexts.

  • rendering/RenderTreeAsText.cpp:

(WebCore::writeRenderRegionList): There's no need to output " hasLayer" since all regions now have layers.

LayoutTests:

For the ref tests, the divs in the expected results coresponding to the regions now have a CSS style causing
them to also create Stacking Contexts.

Most of the tests in fast/regions/layers/ have been deleted because they aren't relevant anymore.

The change in most of the *-expected.txt files is that the " hasLayer" part has been removed (since all regions
now have layers).

Platform (efl, efl-wk2, gtk, mac-lion, mac-wk2, qt, qt-wk2) specific expectated results need to be generated again.

  • fast/regions/autoheight-regions-mark-expected.txt:
  • fast/regions/flow-content-basic-expected.html: Added. The test is now a ref test.
  • fast/regions/flow-content-basic-vertical-expected.html: Added. The test is now a ref test.
  • fast/regions/flow-content-basic-vertical-rl-expected.html: Added.The test is now a ref test.
  • fast/regions/flow-content-basic-vertical-rl.html:
  • fast/regions/flow-content-basic-vertical.html:
  • fast/regions/flow-content-basic.html:
  • fast/regions/flows-dependency-dynamic-remove-expected.txt:
  • fast/regions/flows-dependency-same-flow-expected.txt:
  • fast/regions/layers/dynamic-layer-added-with-no-layout-expected.png: Removed.
  • fast/regions/layers/dynamic-layer-added-with-no-layout-expected.txt: Removed.
  • fast/regions/layers/dynamic-layer-added-with-no-layout.html: Removed.
  • fast/regions/layers/dynamic-layer-removed-with-no-layout-expected.png: Removed.
  • fast/regions/layers/dynamic-layer-removed-with-no-layout-expected.txt: Removed.
  • fast/regions/layers/dynamic-layer-removed-with-no-layout.html: Removed.
  • fast/regions/layers/regions-promoted-to-layers-expected.png: Removed.
  • fast/regions/layers/regions-promoted-to-layers-expected.txt: Removed.
  • fast/regions/layers/regions-promoted-to-layers-horizontal-bt-expected.png: Removed.
  • fast/regions/layers/regions-promoted-to-layers-horizontal-bt-expected.txt: Removed.
  • fast/regions/layers/regions-promoted-to-layers-horizontal-bt.html: Removed.
  • fast/regions/layers/regions-promoted-to-layers-vertical-lr-expected.png: Removed.
  • fast/regions/layers/regions-promoted-to-layers-vertical-lr-expected.txt: Removed.
  • fast/regions/layers/regions-promoted-to-layers-vertical-lr.html: Removed.
  • fast/regions/layers/regions-promoted-to-layers-vertical-rl-expected.png: Removed.
  • fast/regions/layers/regions-promoted-to-layers-vertical-rl-expected.txt: Removed.
  • fast/regions/layers/regions-promoted-to-layers-vertical-rl.html: Removed.
  • fast/regions/layers/regions-promoted-to-layers.html: Removed.
  • fast/regions/layers/stacking-context-paint-order-expected.html: Added.
  • fast/regions/layers/stacking-context-paint-order.html: Added. While the existing region-sibling-paint-order.html

test verifies that regions paint correctly when the next sibling also creates a stacking context, this new test
verifies that regions paint correctly when the next sibling doesn't create a stacking context.

  • fast/regions/region-sibling-paint-order-expected.html:
  • fast/regions/region-sibling-paint-order.html:
  • fast/repaint/overflow-flipped-writing-mode-block-in-regions-expected.txt:
  • fast/repaint/region-painting-composited-element-expected.html:
  • fast/repaint/region-painting-in-composited-view-expected.html:
  • fast/repaint/region-painting-in-composited-view.html:
  • fast/repaint/region-painting-via-layout-expected.txt:
  • platform/efl-wk2/TestExpectations:
  • platform/efl-wk2/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.png: Removed.
  • platform/efl-wk2/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.txt: Removed.
  • platform/efl/TestExpectations:
  • platform/efl/fast/regions/autoheight-regions-mark-expected.png: Removed.
  • platform/efl/fast/regions/autoheight-regions-mark-expected.txt: Removed.
  • platform/efl/fast/regions/flow-content-basic-expected.png: Removed. The test is now a ref test.
  • platform/efl/fast/regions/flow-content-basic-expected.txt: Removed.
  • platform/efl/fast/regions/flow-content-basic-vertical-expected.png: Removed.
  • platform/efl/fast/regions/flow-content-basic-vertical-expected.txt: Removed.
  • platform/efl/fast/regions/flow-content-basic-vertical-rl-expected.png: Removed.
  • platform/efl/fast/regions/flow-content-basic-vertical-rl-expected.txt: Removed.
  • platform/efl/fast/regions/flows-dependency-dynamic-remove-expected.png: Removed.
  • platform/efl/fast/regions/flows-dependency-dynamic-remove-expected.txt: Removed.
  • platform/efl/fast/regions/multiple-directionality-changes-in-variable-width-regions-expected.png: Removed.
  • platform/efl/fast/regions/multiple-directionality-changes-in-variable-width-regions-expected.txt: Removed.
  • platform/efl/fast/regions/region-dynamic-after-before-expected.txt:
  • platform/efl/fast/regions/region-generated-content-before-after-expected.txt:
  • platform/efl/fast/regions/text-region-split-small-pagination-expected.png: Removed.
  • platform/efl/fast/regions/text-region-split-small-pagination-expected.txt: Removed.
  • platform/efl/fast/regions/top-overflow-out-of-second-region-expected.png: Removed.
  • platform/efl/fast/regions/top-overflow-out-of-second-region-expected.txt: Removed.
  • platform/efl/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.png: Removed.
  • platform/efl/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.txt: Removed.
  • platform/efl/fast/repaint/region-painting-invalidation-expected.png: Removed.
  • platform/efl/fast/repaint/region-painting-invalidation-expected.txt: Removed.
  • platform/efl/fast/repaint/region-painting-via-layout-expected.png: Removed.
  • platform/efl/fast/repaint/region-painting-via-layout-expected.txt: Removed.
  • platform/gtk/TestExpectations:
  • platform/gtk/fast/regions/autoheight-regions-mark-expected.png: Removed.
  • platform/gtk/fast/regions/autoheight-regions-mark-expected.txt: Removed.
  • platform/gtk/fast/regions/flow-content-basic-expected.png: Removed.
  • platform/gtk/fast/regions/flow-content-basic-expected.txt: Removed.
  • platform/gtk/fast/regions/flow-content-basic-vertical-expected.png: Removed.
  • platform/gtk/fast/regions/flow-content-basic-vertical-expected.txt: Removed.
  • platform/gtk/fast/regions/flow-content-basic-vertical-rl-expected.png: Removed.
  • platform/gtk/fast/regions/flow-content-basic-vertical-rl-expected.txt: Removed.
  • platform/gtk/fast/regions/flows-dependency-dynamic-remove-expected.png: Removed.
  • platform/gtk/fast/regions/flows-dependency-dynamic-remove-expected.txt: Removed.
  • platform/gtk/fast/regions/multiple-directionality-changes-in-variable-width-regions-expected.png: Removed.
  • platform/gtk/fast/regions/multiple-directionality-changes-in-variable-width-regions-expected.txt: Removed.
  • platform/gtk/fast/regions/region-dynamic-after-before-expected.txt:
  • platform/gtk/fast/regions/region-generated-content-before-after-expected.txt:
  • platform/gtk/fast/regions/text-region-split-small-pagination-expected.png: Removed.
  • platform/gtk/fast/regions/text-region-split-small-pagination-expected.txt: Removed.
  • platform/gtk/fast/regions/top-overflow-out-of-second-region-expected.png: Removed.
  • platform/gtk/fast/regions/top-overflow-out-of-second-region-expected.txt: Removed.
  • platform/gtk/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.png: Removed.
  • platform/gtk/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.txt: Removed.
  • platform/gtk/fast/repaint/line-flow-with-floats-in-regions-expected.txt:
  • platform/gtk/fast/repaint/overflow-flipped-writing-mode-block-in-regions-expected.txt:
  • platform/gtk/fast/repaint/region-painting-invalidation-expected.png: Removed.
  • platform/gtk/fast/repaint/region-painting-invalidation-expected.txt: Removed.
  • platform/gtk/fast/repaint/region-painting-via-layout-expected.png: Removed.
  • platform/gtk/fast/repaint/region-painting-via-layout-expected.txt: Removed.
  • platform/mac-lion/TestExpectations:
  • platform/mac-lion/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.png: Removed.
  • platform/mac-lion/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.txt: Removed.
  • platform/mac-wk2/TestExpectations:
  • platform/mac/fast/regions/flow-content-basic-expected.png: Removed.
  • platform/mac/fast/regions/flow-content-basic-expected.txt: Removed.
  • platform/mac/fast/regions/flow-content-basic-vertical-expected.png: Removed.
  • platform/mac/fast/regions/flow-content-basic-vertical-expected.txt: Removed.
  • platform/mac/fast/regions/flow-content-basic-vertical-rl-expected.png: Removed.
  • platform/mac/fast/regions/flow-content-basic-vertical-rl-expected.txt: Removed.
  • platform/mac/fast/regions/multiple-directionality-changes-in-variable-width-regions-expected.txt:
  • platform/mac/fast/regions/region-dynamic-after-before-expected.txt:
  • platform/mac/fast/regions/region-generated-content-before-after-expected.txt:
  • platform/mac/fast/regions/text-region-split-small-pagination-expected.txt:
  • platform/mac/fast/regions/top-overflow-out-of-second-region-expected.txt:
  • platform/mac/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.png: Removed.
  • platform/mac/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.txt:
  • platform/mac/fast/repaint/line-flow-with-floats-in-regions-expected.txt:
  • platform/mac/fast/repaint/region-painting-invalidation-expected.txt:
  • platform/qt-wk2/TestExpectations:
  • platform/qt-wk2/fast/regions/flow-content-basic-expected.png: Removed.
  • platform/qt-wk2/fast/regions/flow-content-basic-vertical-expected.png: Removed.
  • platform/qt-wk2/fast/regions/flow-content-basic-vertical-rl-expected.png: Removed.
  • platform/qt-wk2/fast/regions/multiple-directionality-changes-in-variable-width-regions-expected.png: Removed.
  • platform/qt-wk2/fast/regions/text-region-split-small-pagination-expected.png: Removed.
  • platform/qt-wk2/fast/regions/top-overflow-out-of-second-region-expected.png: Removed.
  • platform/qt-wk2/fast/repaint/region-painting-invalidation-expected.png: Removed.
  • platform/qt-wk2/fast/repaint/region-painting-invalidation-expected.txt: Removed.
  • platform/qt-wk2/fast/repaint/region-painting-via-layout-expected.png: Removed.
  • platform/qt/TestExpectations:
  • platform/qt/fast/regions/autoheight-regions-mark-expected.png: Removed.
  • platform/qt/fast/regions/autoheight-regions-mark-expected.txt: Removed.
  • platform/qt/fast/regions/flow-content-basic-expected.png: Removed.
  • platform/qt/fast/regions/flow-content-basic-expected.txt: Removed.
  • platform/qt/fast/regions/flow-content-basic-vertical-expected.png: Removed.
  • platform/qt/fast/regions/flow-content-basic-vertical-expected.txt: Removed.
  • platform/qt/fast/regions/flow-content-basic-vertical-rl-expected.png: Removed.
  • platform/qt/fast/regions/flow-content-basic-vertical-rl-expected.txt: Removed.
  • platform/qt/fast/regions/flows-dependency-dynamic-remove-expected.png: Removed.
  • platform/qt/fast/regions/flows-dependency-dynamic-remove-expected.txt: Removed.
  • platform/qt/fast/regions/multiple-directionality-changes-in-variable-width-regions-expected.png: Removed.
  • platform/qt/fast/regions/multiple-directionality-changes-in-variable-width-regions-expected.txt: Removed.
  • platform/qt/fast/regions/text-region-split-small-pagination-expected.png: Removed.
  • platform/qt/fast/regions/text-region-split-small-pagination-expected.txt: Removed.
  • platform/qt/fast/regions/top-overflow-out-of-second-region-expected.png: Removed.
  • platform/qt/fast/regions/top-overflow-out-of-second-region-expected.txt: Removed.
  • platform/qt/fast/repaint/line-flow-with-floats-in-regions-expected.txt:
  • platform/qt/fast/repaint/overflow-flipped-writing-mode-block-in-regions-expected.txt:
  • platform/qt/fast/repaint/region-painting-invalidation-expected.png: Removed.
  • platform/qt/fast/repaint/region-painting-invalidation-expected.txt: Removed.
  • platform/qt/fast/repaint/region-painting-via-layout-expected.png: Removed.
  • platform/qt/fast/repaint/region-painting-via-layout-expected.txt: Removed.
  • platform/win/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.png: Removed.
  • platform/win/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.txt: Removed.
3:14 AM Changeset in webkit [156766] by reni@webkit.org
  • 4 edits
    2 adds in trunk

HTML listbox is not resized horizontally when zooming
https://bugs.webkit.org/show_bug.cgi?id=20445

Reviewed by Darin Adler.

Source/WebCore:

If any style changes happens on a HTMLSelectElement, we need to set the m_optionsChanged property
of its renderer (RenderListBox) otherwise its size won't follow the changed content.

Test: fast/transforms/listbox-zoom.html

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::didRecalcStyle):

  • html/HTMLSelectElement.h:

LayoutTests:

A test with a zoomed listbox is added to check whether the styleChange is catched.

  • fast/transforms/listbox-zoom.html: Added.
  • fast/transforms/listbox-zoom-expected.txt: Added.
2:32 AM Changeset in webkit [156765] by Antoine Quint
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: highlight newly added console messages in the Activity Viewer
https://bugs.webkit.org/show_bug.cgi?id=122093

Reviewed by Joseph Pecoraro.

Fade the appropriate console log button in the Activity Viewer for a short duration
to call attention to it when its count is incremented. The animation may be restarted
in-flight if the count is incremented as we were pulsing the opacity.

  • UserInterface/DashboardView.css:

(.toolbar .dashboard > .item.pulsing):
(@-webkit-keyframes console-item-pulse):
New pulse animation for a console item in the Activity Viewer, the new "pulsing" CSS
class is applied in WebInspector.DashboardView.prototype._setConsoleItemValue().

  • UserInterface/DashboardView.js:

(WebInspector.DashboardView.prototype.set logs):
(WebInspector.DashboardView.prototype.set issues):
(WebInspector.DashboardView.prototype.set errors):
Refactor setters to use the new WebInspector.DashboardView.prototype._setConsoleItemValue()
method.

(WebInspector.DashboardView.prototype._setConsoleItemValue):
We now set the ivar backing console item values in this new refactored method and additionally
apply an animation to the DOM element for the given item if its value is incremented such that
it pulses, subtly calling out the developer's attention to it.

  • UserInterface/Utilities.js:

New Element.prototype.recalculateStyles() method to abstract the hack required to force
a style recalc on a given element.

Note: See TracTimeline for information about the timeline view.