WebKit-https.git
6 years agoUI to associate bugs with an analysis task is crappy
rniwa@webkit.org [Wed, 20 May 2015 21:52:35 +0000 (21:52 +0000)]
UI to associate bugs with an analysis task is crappy
https://bugs.webkit.org/show_bug.cgi?id=145198

Reviewed by Andreas Kling.

Make the UI less crappy by linkifying bug numbers and adding an explicit button to disassociate
a bug and a separate select view with a text field to associate a new bug instead of implicitly
updating or deleting the existing record based on what the user had typed.

* init-database.sql: Removed the constraint that each bug tracker should appear exactly once for
a given analysis task since it's perfectly reasonable for a given task to be associated with
multiple WebKit bugs.

* public/privileged-api/associate-bug.php:
(main): Only remove the bug specified by newly added bugToDelete instead of implicitly deleting
one that matches the analysis task and the bug tracker when the bug number is falsey.

* public/v2/analysis.js:
(App.Bug.url): Added.
(App.BugAdapter.deleteRecord): Added. Uses the privileged API to delete the record.

* public/v2/app.css:

* public/v2/app.js:
(App.AnalysisTaskController.actions.addBug): Added.
(App.AnalysisTaskController.actions.deleteBug): Added.
(App.AnalysisTaskController.associateBug): Deleted.

* public/v2/index.html: Updated the templates.

* public/v2/manifest.js:
(App.BugTracker.urlFromBugNumber): Added.

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

6 years agoAX: AutoFill button is not accessible with VoiceOver
dbates@webkit.org [Wed, 20 May 2015 21:38:01 +0000 (21:38 +0000)]
AX: AutoFill button is not accessible with VoiceOver
https://bugs.webkit.org/show_bug.cgi?id=145200
<rdar://problem/20507480>

Reviewed by Chris Fleizach.

Source/WebCore:

Add ARIA label and role attributes to the AutoFill button markup so that VoiceOver
can identify and interact with it.

Test: accessibility/input-auto-fill-button.html

* English.lproj/Localizable.strings: Add placeholder localized string for AutoFill button.
* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::createAutoFillButton): Add ARIA label and role attributes.
* platform/LocalizedStrings.cpp:
(WebCore::AXAutoFillButtonText): Added; returns the localized string for the AutoFill button.
* platform/LocalizedStrings.h:
* platform/efl/LocalizedStringsEfl.cpp:
(WebCore::AXAutoFillButtonText): Ditto.
* platform/gtk/LocalizedStringsGtk.cpp:
(WebCore::AXAutoFillButtonText): Ditto.

LayoutTests:

Test that there is an accessibility element for the AutoFill button.

* accessibility/input-auto-fill-button-expected.txt: Added.
* accessibility/input-auto-fill-button.html: Added.
* platform/win/TestExpectations: For now, mark tests as failing. I suspect the cause
is <https://bugs.webkit.org/show_bug.cgi?id=140798>.

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

6 years agoLabel text for default buttons don’t have the correct white color
dino@apple.com [Wed, 20 May 2015 21:36:20 +0000 (21:36 +0000)]
Label text for default buttons don’t have the correct white color
https://bugs.webkit.org/show_bug.cgi?id=145221
<rdar://problem/20985817>

Reviewed by Tim Horton.

Use a 85% solid white for the active text color on buttons.

As has been disappointingly pointed out in other patches, we don't
have a good way to test ActiveButtonText since it only applies at
paint time.

* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::systemColor): Move to an 85% solid white.

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

6 years agoA/B testing rootSets should provide commit times as well as revisions
rniwa@webkit.org [Wed, 20 May 2015 21:22:21 +0000 (21:22 +0000)]
A/B testing rootSets should provide commit times as well as revisions
https://bugs.webkit.org/show_bug.cgi?id=145207

Reviewed by Andreas Kling.

Some continuous build systems need the commit time as well as the revision number / hash so provide one
in the root sets but maintain the backwards compatibility with buildbots that use revision number directly.

* public/include/build-requests-fetcher.php:
(BuildRequestsFetcher::fetch_roots_for_set): Made the revision info an associative array that contains
the revision number as well as the commit time.
* tools/sync-with-buildbot.py:
(schedule_request): Removed "replacement" which was a superfluous copy of "roots". Use "revision" values
when the JSON configuration refers to "root". This is necessary in buildbot instances that require WebKit
revision to be specified on its own field instead of it being a JSON that contains "revision" and "time".

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

6 years agoThreadableLoaderOptions::isolatedCopy() doesn't produce a copy that is safe for sendi...
ap@apple.com [Wed, 20 May 2015 21:08:24 +0000 (21:08 +0000)]
ThreadableLoaderOptions::isolatedCopy() doesn't produce a copy that is safe for sending to another thread
https://bugs.webkit.org/show_bug.cgi?id=145217

Reviewed by Anders Carlsson.

Caught by existing tests, rarely. I don't know how to catch such bugs more reliably.

* loader/ThreadableLoader.cpp: (WebCore::ThreadableLoaderOptions::isolatedCopy):
* loader/ThreadableLoader.h:

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

6 years agoAdd a mechanism to opt-out of the automatic scaling applied to not-really-responsive...
timothy_horton@apple.com [Wed, 20 May 2015 20:42:49 +0000 (20:42 +0000)]
Add a mechanism to opt-out of the automatic scaling applied to not-really-responsive sites
https://bugs.webkit.org/show_bug.cgi?id=144760

Reviewed by Darin Adler.

Add a new viewport property, shrink-to-fit, which can be used to disable
the automatic scaling introduced in r181400. This provides sites with a
way to tell WebKit that they're really sure they want to be laid out at
window-width/height, even if they fail to fit within that size.

* dom/ViewportArguments.cpp:
(WebCore::ViewportArguments::resolve):
(WebCore::findBooleanValue):
(WebCore::setViewportFeature):
* dom/ViewportArguments.h:
(WebCore::ViewportArguments::ViewportArguments):
(WebCore::ViewportArguments::operator==):
* page/ViewportConfiguration.cpp:
(WebCore::ViewportConfiguration::shouldIgnoreHorizontalScalingConstraints):
(WebCore::ViewportConfiguration::shouldIgnoreVerticalScalingConstraints):
(WebCore::ViewportConfiguration::webpageParameters):
(WebCore::ViewportConfiguration::textDocumentParameters):
(WebCore::ViewportConfiguration::imageDocumentParameters):
(WebCore::ViewportConfiguration::testingParameters):
(WebCore::booleanViewportArgumentIsSet):
(WebCore::ViewportConfiguration::updateConfiguration):
(WebCore::ViewportConfigurationTextStream::operator<<):
(WebCore::viewportArgumentUserZoomIsSet): Deleted.
* page/ViewportConfiguration.h:
(WebCore::ViewportConfiguration::Parameters::Parameters):
Plumb the shrink-to-fit viewport property through.
If shrink-to-fit is set to yes, or not set, we behave as usual; if it is
set to no, we will bail from shouldIgnore[Horizontal|Vertical]ScalingConstraints,
effectively disabling the automatic scaling introduced in r181400.

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

6 years agoAssertion failure in WebCore::BidiRun::BidiRun()
antti@apple.com [Wed, 20 May 2015 20:34:40 +0000 (20:34 +0000)]
Assertion failure in WebCore::BidiRun::BidiRun()
https://bugs.webkit.org/show_bug.cgi?id=145203
rdar://problem/20958973

Reviewed by Andreas Kling.

Source/WebCore:

Test: fast/text/text-combine-crash.html

* rendering/line/BreakingContext.h:
(WebCore::BreakingContext::handleText):

    Renove !isCombined() check. RenderCombineText::combineText() doesn't
    do any work unless needed and text may become uncombined too.

* rendering/line/LineBreaker.cpp:
(WebCore::LineBreaker::skipLeadingWhitespace):

    Same here.

LayoutTests:

* fast/text/text-combine-crash-expected.txt: Added.
* fast/text/text-combine-crash.html: Added.

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

6 years agoEden collections should extend the IncrementalSweeper work list, not replace it.
akling@apple.com [Wed, 20 May 2015 20:30:42 +0000 (20:30 +0000)]
Eden collections should extend the IncrementalSweeper work list, not replace it.
<https://webkit.org/b/145213>
<rdar://problem/21002666>

Reviewed by Geoffrey Garen.

After an eden collection, the garbage collector was adding all MarkedBlocks containing
new objects to the IncrementalSweeper's work list, to make sure they didn't have to
wait until the next full collection before getting swept.

Or at least, that's what it thought it was doing. It turns out that IncrementalSweeper's
internal work list is really just a reference to Heap::m_blockSnapshot. I didn't realize
this when writing the post-eden sweep code, and instead made eden collections cancel
all pending sweeps and *replace* them with the list of blocks with new objects.

This made it so that rapidly occurring eden collections could prevent large numbers of
heap blocks from ever getting swept. This would manifest as accumulation of MarkedBlocks
when a system under heavy load was also allocating short lived objects at a high rate.
Things would eventually get cleaned up when there was a lull and a full collection was
allowed to run its heap sweep to completion.

Fix this by moving all management of the block snapshot to Heap. snapshotMarkedSpace()
now handles eden collections by merging the list of blocks with new objects into the
existing block snapshot.

* heap/Heap.cpp:
(JSC::Heap::snapshotMarkedSpace):
(JSC::Heap::notifyIncrementalSweeper):
* heap/IncrementalSweeper.cpp:
(JSC::IncrementalSweeper::startSweeping):
(JSC::IncrementalSweeper::addBlocksAndContinueSweeping): Deleted.
* heap/IncrementalSweeper.h:

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

6 years agoAudioContext resume/close/suspend should reject promises with a DOM exception in...
youenn.fablet@crf.canon.fr [Wed, 20 May 2015 20:20:09 +0000 (20:20 +0000)]
AudioContext resume/close/suspend should reject promises with a DOM exception in lieu of throwing exceptions
https://bugs.webkit.org/show_bug.cgi?id=145064

Reviewed by Darin Adler.

Source/JavaScriptCore:

Added default message for TypeError.

* runtime/Error.cpp:
(JSC::throwTypeError):
* runtime/Error.h:

Source/WebCore:

Rejecting resume/suspend/close promises with InvalidStateError values in case context is offline.
Removed unneeded calls to postTask for resolving/rejecting promises.
Adding promise rejection of DOM Exception values, 0 being equivalent of no error passed to reject callback.

Test: webaudio/audiocontext-promise-throwing.html

* Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::suspendContext): Rejecting promise in lieu of throwing exception.
(WebCore::AudioContext::resumeContext): Ditto.
(WebCore::AudioContext::closeContext): Ditto.
* Modules/webaudio/AudioContext.h:
* bindings/js/JSAudioContextCustom.cpp:
(WebCore::JSAudioContext::suspend): Removing ExceptionCode handling.
(WebCore::JSAudioContext::resume): Ditto.
(WebCore::JSAudioContext::close): Ditto.
* bindings/js/JSDOMBinding.cpp:
(WebCore::createDOMException): Splitting DOM exception creation from throwing.
(WebCore::setDOMException): Ditto.
* bindings/js/JSDOMBinding.h: Adding createDOMException prototype.
* bindings/js/JSDOMPromise.h:
(WebCore::DeferredWrapper::reject<ExceptionCode>):

LayoutTests:

Adding test to cover resume/close/suspend rejecting with InvalidStateError.
Updating existing test to cover resume and suspend rejection with no error.

* webaudio/audiocontext-promise-throwing-expected.txt: Added.
* webaudio/audiocontext-promise-throwing.html: Added.
* webaudio/audiocontext-state-expected.txt:
* webaudio/audiocontext-state.html:

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

6 years agoUnreviewed, rolling out r184645.
commit-queue@webkit.org [Wed, 20 May 2015 20:12:39 +0000 (20:12 +0000)]
Unreviewed, rolling out r184645.
https://bugs.webkit.org/show_bug.cgi?id=145220

Broken build (Requested by jacob_nielsen on #webkit).

Reverted changeset:

"AX: AutoFill button is not accessible with VoiceOver"
https://bugs.webkit.org/show_bug.cgi?id=145200
http://trac.webkit.org/changeset/184645

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

6 years agoNo LLInt Test Failure: jsc-layout-tests.yaml/js/script-tests/object-literal-duplicate...
joepeck@webkit.org [Wed, 20 May 2015 19:35:17 +0000 (19:35 +0000)]
No LLInt Test Failure: jsc-layout-tests.yaml/js/script-tests/object-literal-duplicate-properties.js.layout-no-llint
https://bugs.webkit.org/show_bug.cgi?id=145219

Reviewed by Mark Lam.

* jit/JITOperations.cpp:
Throw the error we just got, instead of a stack overflow exception.
This matches other error handling for callers of prepareForExecution.

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

6 years agoAdd some assertions about the CFG in the loop pre-header creation phase
fpizlo@apple.com [Wed, 20 May 2015 18:40:42 +0000 (18:40 +0000)]
Add some assertions about the CFG in the loop pre-header creation phase
https://bugs.webkit.org/show_bug.cgi?id=145205

Reviewed by Geoffrey Garen.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::currentNodeOrigin): Add a FIXME.
* dfg/DFGLICMPhase.cpp:
(JSC::DFG::LICMPhase::run): Add a FIXME.
* dfg/DFGLoopPreHeaderCreationPhase.cpp:
(JSC::DFG::LoopPreHeaderCreationPhase::run): Add the assertions.

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

6 years agoAX: AutoFill button is not accessible with VoiceOver
dbates@webkit.org [Wed, 20 May 2015 17:58:37 +0000 (17:58 +0000)]
AX: AutoFill button is not accessible with VoiceOver
https://bugs.webkit.org/show_bug.cgi?id=145200
<rdar://problem/20507480>

Reviewed by Chris Fleizach.

Source/WebCore:

Add ARIA label and role attributes to the AutoFill button markup so that VoiceOver
can identify and interact with it.

Test: accessibility/input-auto-fill-button.html

* English.lproj/Localizable.strings: Add placeholder localized string for AutoFill button.
* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::createAutoFillButton): Add ARIA label and role attributes.
* platform/LocalizedStrings.cpp:
(WebCore::AXAutoFillButtonText): Added; returns the localized string for the AutoFill button.
* platform/LocalizedStrings.h:
* platform/efl/LocalizedStringsEfl.cpp:
(WebCore::AXAutoFillButtonText): Ditto.
* platform/gtk/LocalizedStringsGtk.cpp:
(WebCore::AXAutoFillButtonText): Ditto.

LayoutTests:

Test that there is an accessibility element for the AutoFill button.

* accessibility/input-auto-fill-button-expected.txt: Added.
* accessibility/input-auto-fill-button.html: Added.

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

6 years ago[Content Extensions] Relax restrictions on triggers that match everything.
achristensen@apple.com [Wed, 20 May 2015 17:56:17 +0000 (17:56 +0000)]
[Content Extensions] Relax restrictions on triggers that match everything.
https://bugs.webkit.org/show_bug.cgi?id=145069

Reviewed by Benjamin Poulain.

Source/WebCore:

Added API tests that cover the new functionality and test for correctness in behavior.

* contentextensions/CompiledContentExtension.cpp:
(WebCore::ContentExtensions::CompiledContentExtension::globalDisplayNoneSelectors):
* contentextensions/ContentExtensionCompiler.cpp:
(WebCore::ContentExtensions::addUniversalActionsToDFA):
(WebCore::ContentExtensions::compileRuleList):
Put universalActionsWithoutDomains into the DFA from filtersWithoutDomains and
put universalActionsWithDomains into the DFA from filtersWithDomains.
* contentextensions/ContentExtensionError.cpp:
(WebCore::ContentExtensions::contentExtensionErrorCategory):
* contentextensions/ContentExtensionError.h:
Remove error codes for errors that are not errors any more.
* contentextensions/ContentExtensionsBackend.cpp:
(WebCore::ContentExtensions::ContentExtensionsBackend::actionsForResourceLoad):
* contentextensions/ContentExtensionsBackend.h:
* contentextensions/DFABytecode.h:
(WebCore::ContentExtensions::instructionSizeWithArguments):
* contentextensions/DFABytecodeCompiler.cpp:
(WebCore::ContentExtensions::set32Bits):
(WebCore::ContentExtensions::DFABytecodeCompiler::emitAppendAction):
(WebCore::ContentExtensions::DFABytecodeCompiler::emitJump):
(WebCore::ContentExtensions::DFABytecodeCompiler::emitCheckValue):
(WebCore::ContentExtensions::DFABytecodeCompiler::emitCheckValueRange):
(WebCore::ContentExtensions::DFABytecodeCompiler::compileNode):
(WebCore::ContentExtensions::DFABytecodeCompiler::compile):
(WebCore::ContentExtensions::DFABytecodeCompiler::emitTestFlagsAndAppendAction): Deleted.
* contentextensions/DFABytecodeCompiler.h:
* contentextensions/DFABytecodeInterpreter.cpp:
(WebCore::ContentExtensions::DFABytecodeInterpreter::interpretAppendAction):
(WebCore::ContentExtensions::DFABytecodeInterpreter::interpretTestFlagsAndAppendAction):
(WebCore::ContentExtensions::DFABytecodeInterpreter::actionsForDefaultStylesheetFromDFARoot):
(WebCore::ContentExtensions::DFABytecodeInterpreter::interpret):
(WebCore::ContentExtensions::DFABytecodeInterpreter::actionsFromDFARoot): Deleted.
* contentextensions/DFABytecodeInterpreter.h:
Add a new bytecode AppendActionDefaultStylesheet to mark actions that are css-display-none
that need to be put in the default stylesheet to be ignored or not as a whole.
css-display-none actions with flags or domain rules and css-display-none actions
after ignore-previous-rules actions are not to be in this precompiled stylesheet, but
they will be applied as needed per page.  The precompiled stylesheet is already applied
if no ignore-previous-rules action is triggered.
* loader/ResourceLoadInfo.h:

Source/WebKit2:

* UIProcess/API/APIUserContentExtensionStore.h:
Increment version number to reflect changes in DFABytecode.

Tools:

* TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(TestWebKitAPI::TEST_F):
Update and add tests for new possibilities with .*

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

6 years agoJS binding generator should create a member variable for each Promise attribute of...
youenn.fablet@crf.canon.fr [Wed, 20 May 2015 17:39:11 +0000 (17:39 +0000)]
JS binding generator should create a member variable for each Promise attribute of an interface
https://bugs.webkit.org/show_bug.cgi?id=145056

Reviewed by Darin Adler.

For each attribute XXX whose type is Promise, a member m_XXXPromiseDeferred is created, its type being a JSC::Strong of JSPromiseDeferred.
The purpose is to enable custom getters to create the JSPromiseDeferred and store ino the class member to ensure the same promise is returned each time
the custom getter is called.
This patch will enable simplifying ReadableStreamReader custom binding.

Covered by added attribute in TestObj.idl.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
* bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
(webkit_dom_test_obj_get_property):
(webkit_dom_test_obj_class_init):
(webkit_dom_test_obj_get_test_promise_attr):
(webkit_dom_test_obj_set_nullable_string_value): Deleted.
* bindings/scripts/test/GObject/WebKitDOMTestObj.h:
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjTestPromiseAttr):
(WebCore::jsTestObjAttributeWithReservedEnumType): Deleted.
* bindings/scripts/test/JS/JSTestObj.h:
* bindings/scripts/test/ObjC/DOMTestObj.h:
* bindings/scripts/test/ObjC/DOMTestObj.mm:
(-[DOMTestObj testPromiseAttr]):
(-[DOMTestObj attribute]): Deleted.
* bindings/scripts/test/TestObj.idl:

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

6 years agoES6: Implement Object.setPrototypeOf
commit-queue@webkit.org [Wed, 20 May 2015 17:23:03 +0000 (17:23 +0000)]
ES6: Implement Object.setPrototypeOf
https://bugs.webkit.org/show_bug.cgi?id=145202

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-05-20
Reviewed by Darin Adler.

Source/JavaScriptCore:

* runtime/JSGlobalObjectFunctions.h:
* runtime/JSGlobalObjectFunctions.cpp:
(JSC::globalFuncProtoSetter):
(JSC::checkProtoSetterAccessAllowed):
Extract a helper to share this code between __proto__ setter and setPrototypeOf.

* runtime/ObjectConstructor.cpp:
(JSC::objectConstructorSetPrototypeOf):
Implementation is very similiar to __proto__ setter.

LayoutTests:

* http/tests/security/cross-frame-access-object-setPrototypeOf-expected.txt: Added.
* http/tests/security/cross-frame-access-object-setPrototypeOf.html: Added.
* http/tests/security/resources/cross-frame-iframe-for-object-setPrototypeOf-test.html: Added.
Test covering cross origin restriction behavior.

* js/Object-getOwnPropertyNames-expected.txt:
* js/script-tests/Object-getOwnPropertyNames.js:
Updated for the new exposed property.

* js/cyclic-prototypes-expected.txt:
* js/script-tests/cyclic-prototypes.js:
Extend this test to include setPrototypeOf cyclic checks.
Note that setPrototypeOf can still change the prototype
where __proto__ cannot.

* js/prototypes-expected.txt:
* js/script-tests/prototypes.js:
Extend this test to cover more types previously overlooked.

* js/script-tests/setPrototypeOf.js: Added.
(debugEval):
(getObjectDescriptions.myFunction):
(getObjectDescriptions):
* js/setPrototypeOf-expected.txt: Added.
* js/setPrototypeOf.html: Added.
Test coverage for all the different object / prototype combinations.
This is modeled after the other browser tests with coverage of a
few more basic functionality tests and object types.

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

6 years agoAudioContext suspend/resume/close should resolve promises immediately when state...
youenn.fablet@crf.canon.fr [Wed, 20 May 2015 17:02:24 +0000 (17:02 +0000)]
AudioContext suspend/resume/close should resolve promises immediately when state is already suspended/active/closed
https://bugs.webkit.org/show_bug.cgi?id=145164

Reviewed by Jer Noble.

Source/WebCore:

Test: webaudio/audiocontext-promise.html

* Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::suspendContext): Immediatly call callbacks whenever possible to resolve/reject promises.
(WebCore::AudioContext::resumeContext): Ditto.
(WebCore::AudioContext::closeContext): Ditto

LayoutTests:

* webaudio/audiocontext-promise-expected.txt: Added.
* webaudio/audiocontext-promise.html: Added.

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

6 years agoES6: Should not allow duplicate basic __proto__ properties in Object Literals
commit-queue@webkit.org [Wed, 20 May 2015 16:54:09 +0000 (16:54 +0000)]
ES6: Should not allow duplicate basic __proto__ properties in Object Literals
https://bugs.webkit.org/show_bug.cgi?id=145138

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-05-20
Reviewed by Darin Adler.

Source/JavaScriptCore:

Implement ES6 Annex B.3.1, which disallows duplicate basic __proto__
properties in object literals. This doesn't affect computed properties,
shorthand properties, or getters/setters all of which avoid setting
the actual prototype of the object anyway.

* interpreter/Interpreter.cpp:
(JSC::eval):
Remove out of date comment. Duplicate property names are allowed
now in ES6, they were not in ES5 strict mode.

* parser/ASTBuilder.h:
(JSC::ASTBuilder::getName):
(JSC::ASTBuilder::getType):
* parser/SyntaxChecker.h:
(JSC::SyntaxChecker::getName):
Add back getName to get the property name depending on the tree builder.
Also tighten up the parameter types.

* runtime/LiteralParser.cpp:
(JSC::LiteralParser<CharType>::parse):
In quick JSON literal parsing for eval, we actually need to evaluate
the __proto__ property assignment, instead of just building up a list
of direct properties. Only do this when not doing a strict JSON parse.

* parser/Nodes.h:
Add "Shorthand" to the list of PropertyNode types to allow it to
be distinguished without relying on other information.

* parser/Parser.h:
* parser/Parser.cpp:
(JSC::Parser<LexerType>::parseProperty):
Add the Shorthand type when parsing a shorthand property.

(JSC::Parser<LexerType>::shouldCheckPropertyForUnderscoreProtoDuplicate):
(JSC::Parser<LexerType>::parseObjectLiteral):
(JSC::Parser<LexerType>::parseStrictObjectLiteral):
Check for duplicate __proto__ properties, and throw a SyntaxError
if that was the case.

LayoutTests:

* js/dom/JSON-parse-expected.txt:
* js/resources/JSON-parse.js:
Update expected results for JSON parsing using eval() versus JSON.parse.
In eval, an object literal with a "__proto__" property modifies the prototype.
In JSON.parse, all properties are direct/own properties, no matter their name,
so "__proto__" does not get special treatment.

* js/eval-json-proto-expected.txt: Added.
* js/eval-json-proto.html: Added.
* js/script-tests/eval-json-proto.js: Added.
Direct test for LiteralParser behavior, in both eval and JSON.parse.

* js/object-literal-duplicate-properties-expected.txt:
* js/script-tests/object-literal-duplicate-properties.js:
(runProtoTestShouldThrow):
(runProtoTestShouldNotThrow):
Test for all cases of acceptable and unacceptable __proto__ duplicate
properties in literals.

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

6 years agoMinor cleanups to PluginProcessProxy.
commit-queue@webkit.org [Wed, 20 May 2015 16:18:03 +0000 (16:18 +0000)]
Minor cleanups to PluginProcessProxy.
https://bugs.webkit.org/show_bug.cgi?id=145199

Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-05-20
Reviewed by Anders Carlsson.

1. Remove unnecessary forward declaration.
2. Remove unnecessary #include.

* UIProcess/Plugins/PluginProcessProxy.cpp:
* UIProcess/Plugins/PluginProcessProxy.h:

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

6 years ago[GTK] Add some documentation to WebKitWebExtension
commit-queue@webkit.org [Wed, 20 May 2015 16:13:24 +0000 (16:13 +0000)]
[GTK] Add some documentation to WebKitWebExtension
https://bugs.webkit.org/show_bug.cgi?id=142786

Patch by Marcos Chavarría Teijeiro <mchavarria@igalia.com> on 2015-05-20
Reviewed by Carlos Garcia Campos.

WebKitWebExtension API documentation lacks of some details and the information
available is in some contributors blog posts. I add the section
documentation with a small guide about how to use WebExtensions.

The code examples were taken from Carlos García and Adrián Pérez blog
posts.

* WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.cpp:

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

6 years agoRename WebsiteDataStore::isNonPersistent() to WebsiteDataStore::isPersistent().
commit-queue@webkit.org [Wed, 20 May 2015 15:53:55 +0000 (15:53 +0000)]
Rename WebsiteDataStore::isNonPersistent() to WebsiteDataStore::isPersistent().
https://bugs.webkit.org/show_bug.cgi?id=145111

Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-05-20
Reviewed by Darin Adler.

This is a follow up to https://bugs.webkit.org/show_bug.cgi?id=144158.

* UIProcess/API/APIWebsiteDataStore.cpp:
(API::WebsiteDataStore::isPersistent):
* UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::fetchData):
(WebKit::WebsiteDataStore::removeData):
* UIProcess/WebsiteData/WebsiteDataStore.h:
(WebKit::WebsiteDataStore::isPersistent):
(WebKit::WebsiteDataStore::isNonPersistent): Deleted.

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

6 years ago[JSC] Add missing copyrights and licenses for some scripts
ossy@webkit.org [Wed, 20 May 2015 15:49:33 +0000 (15:49 +0000)]
[JSC] Add missing copyrights and licenses for some scripts
https://bugs.webkit.org/show_bug.cgi?id=145044

Reviewed by Darin Adler.

* build-symbol-table-index.py:
* create-llvm-ir-from-source-file.py:
* create-symbol-table-index.py:

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

6 years agoWeb Inspector: Slightly better node previews in arrays
commit-queue@webkit.org [Wed, 20 May 2015 15:46:04 +0000 (15:46 +0000)]
Web Inspector: Slightly better node previews in arrays
https://bugs.webkit.org/show_bug.cgi?id=145188

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-05-20
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

* inspector/InjectedScriptSource.js:
(InjectedScript.prototype._nodeDescription):
(InjectedScript.prototype._nodePreview):
Different stringified representations for a basic object description or in a preview.

(InjectedScript.RemoteObject.prototype._appendPropertyPreviews):
Use the node preview string representation inside previews.

LayoutTests:

* inspector/model/remote-object-expected.txt:
* inspector/model/remote-object.html:

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

6 years ago[EFL] Fix build failure, linker does not find libXext.
commit-queue@webkit.org [Wed, 20 May 2015 10:12:07 +0000 (10:12 +0000)]
[EFL] Fix build failure, linker does not find libXext.
https://bugs.webkit.org/show_bug.cgi?id=144100

Patch by Hyungwook Lee <hyungwook.lee@navercorp.com> on 2015-05-20
Reviewed by Gyuyoung Kim.

Move Xext library from WebProcess_LIBRARIES to WebKit2_LIBRARIES.

* PlatformEfl.cmake:

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

6 years agoREGRESSION(r184420): [GTK] webkit_dom_html_element_get_children has been removed
carlosgc@webkit.org [Wed, 20 May 2015 07:55:28 +0000 (07:55 +0000)]
REGRESSION(r184420): [GTK] webkit_dom_html_element_get_children has been removed
https://bugs.webkit.org/show_bug.cgi?id=145174

Reviewed by Philippe Normand.

children property has been moved to Element, Document and
DocumentFragment to match the spec, so we need to expose the new
get_children and bring back webkit_dom_html_element_get_children()
as deprecated.

* bindings/gobject/WebKitDOMDeprecated.cpp:
(webkit_dom_html_element_get_children):
* bindings/gobject/WebKitDOMDeprecated.h:
* bindings/gobject/WebKitDOMDeprecated.symbols:
* bindings/gobject/webkitdom.symbols:

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

6 years agonullptr cleanup in WebCore/xml.
commit-queue@webkit.org [Wed, 20 May 2015 07:39:12 +0000 (07:39 +0000)]
nullptr cleanup in WebCore/xml.
https://bugs.webkit.org/show_bug.cgi?id=145165

Patch by Hunseop Jeong <hs85.jeong@samsung.com> on 2015-05-20
Reviewed by Csaba Osztrogonác.

No new tests, no behavior changes

* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::responseXML):
(WebCore::XMLHttpRequest::internalAbort):
(WebCore::XMLHttpRequest::clearResponseBuffers):
(WebCore::XMLHttpRequest::clearRequest):
(WebCore::XMLHttpRequest::didFinishLoading):
* xml/XMLHttpRequestProgressEventThrottle.cpp:
(WebCore::XMLHttpRequestProgressEventThrottle::flushProgressEvent):
* xml/XSLImportRule.cpp:
(WebCore::XSLImportRule::XSLImportRule):
(WebCore::XSLImportRule::~XSLImportRule):
(WebCore::XSLImportRule::setXSLStyleSheet):
(WebCore::XSLImportRule::loadSheet):
* xml/XSLStyleSheet.h:
* xml/XSLStyleSheetLibxslt.cpp:
(WebCore::XSLStyleSheet::XSLStyleSheet):
(WebCore::XSLStyleSheet::~XSLStyleSheet):
(WebCore::XSLStyleSheet::clearDocuments):
* xml/XSLTProcessorLibxslt.cpp:
(WebCore::saveResultToString):
(WebCore::xsltParamArrayFromParameterMap):
(WebCore::xmlDocPtrFromNode):
(WebCore::XSLTProcessor::transformToString):
* xml/parser/XMLDocumentParser.cpp:
(WebCore::XMLDocumentParser::clearCurrentNodeStack):
(WebCore::XMLDocumentParser::exitText):
(WebCore::XMLDocumentParser::notifyFinished):
* xml/parser/XMLDocumentParser.h:
* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::openFunc):
(WebCore::XMLDocumentParser::XMLDocumentParser):
* xml/parser/XMLDocumentParserScope.cpp:
* xml/parser/XMLDocumentParserScope.h:

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

6 years ago[EFL][Minibrowser] Hide URL bar on fullscreen mode for HTML elements and browser...
commit-queue@webkit.org [Wed, 20 May 2015 07:26:56 +0000 (07:26 +0000)]
[EFL][Minibrowser] Hide URL bar on fullscreen mode for HTML elements and browser window in WebKit EFL Minibrowser
https://bugs.webkit.org/show_bug.cgi?id=144992

Patch by Rohit Kumar <kumar.rohit@samsung.com> on 2015-05-20
Reviewed by Gyuyoung Kim.

* MiniBrowser/efl/main.c:
(toggle_window_fullscreen): Method to toggle between fullscreen and normal mode.
(on_key_down):
(on_fullscreen_enter):
(on_fullscreen_exit):
(window_create):

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

6 years ago[SOUP] Network Cache: Implement ShareableResource for Soup and enable it for GTK...
carlosgc@webkit.org [Wed, 20 May 2015 07:04:34 +0000 (07:04 +0000)]
[SOUP] Network Cache: Implement ShareableResource for Soup and enable it for GTK platform
https://bugs.webkit.org/show_bug.cgi?id=144380

Reviewed by Antti Koivisto.

Source/WebCore:

Add a soup implementation of SharedBuffer::tryReplaceContentsWithPlatformBuffer().

Covered by http/tests/cache/disk-cache/ tests.

* loader/cache/CachedResource.cpp: Define
CachedResource::tryReplaceEncodedData() also for Soup.
* loader/cache/CachedResource.h: Ditto.
* platform/soup/SharedBufferSoup.cpp:
(WebCore::SharedBuffer::tryReplaceContentsWithPlatformBuffer):

Source/WebKit2:

It improves the network cache performance, by mmaping big
resources and sending only the file descriptor to the web process
instead of the actual file data. It needs some changes in
cross-platform code, because we can't use the same approach as
mac (it uses a platform specific implementation not available in
other platforms).

* NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::Cache::store): Use
Data::tryCreateSharedMemory() to create the shared memory used by
the ShareableResource. Also add an ASSERT instead of checking the
shareable resource created is not nullptr, because the
ShareableResource::create() that receives a shared memory should
never return nullptr.
* NetworkProcess/cache/NetworkCacheData.h:
* NetworkProcess/cache/NetworkCacheDataCocoa.mm:
(WebKit::NetworkCache::Data::tryCreateSharedMemory):
* NetworkProcess/cache/NetworkCacheDataSoup.cpp:
(WebKit::NetworkCache::Data::tryCreateSharedMemory): Create a
SharedMemory object to wrap the mapped file, but keeping the ownership.
* NetworkProcess/cache/NetworkCacheEntry.cpp:
(WebKit::NetworkCache::Entry::initializeShareableResourceHandleFromStorageRecord):
Use Data::tryCreateSharedMemory() to create the shared memory used
bythe ShareableResource. Also add an ASSERT instead of checking
the shareable resource created is not nullptr, because the
ShareableResource::create() that receives a shared memory should
never return nullptr.
* Platform/SharedMemory.h:
* Platform/unix/SharedMemoryUnix.cpp:
(WebKit::SharedMemory::map): Use wrapMap() and initialize
m_isWrappingMap to false.
(WebKit::SharedMemory::wrapMap): Create a SharedMemory object for
the given map, without taking its ownership.
(WebKit::SharedMemory::~SharedMemory): Do not unmap and close the
file descriptor if m_isWrappingMap is true.
* Shared/ShareableResource.cpp:
(WebKit::createShareableResourceDeallocator):
(WebKit::ShareableResource::wrapInSharedBuffer): Create a SharedBuffer
wrapping the ShareableResource data.
(WebKit::ShareableResource::Handle::tryWrapInSharedBuffer): Create
a ShareableResource for the handle and create a SharedBuffer
wrapping it.
* Shared/ShareableResource.h:
* WebKit2Prefix.h: Enable ENABLE_SHAREABLE_RESOURCE for GTK.
* WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::didReceiveResource): Get the CFData
from the SharedBuffer for QuickLook instead of wrapping the handle again.

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

6 years ago[SOUP] Network Cache: Disable network cache efficacy logging
carlosgc@webkit.org [Wed, 20 May 2015 06:29:13 +0000 (06:29 +0000)]
[SOUP] Network Cache: Disable network cache efficacy logging
https://bugs.webkit.org/show_bug.cgi?id=145172

Reviewed by Martin Robinson.

Disable network cache efficacy logging by default, since we are
not currently using the collected data.

* UIProcess/soup/WebProcessPoolSoup.cpp:
(WebKit::WebProcessPool::platformInitializeNetworkProcess):

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

6 years agoUnreviewed, rolling out r184613 and r184614.
commit-queue@webkit.org [Wed, 20 May 2015 06:14:03 +0000 (06:14 +0000)]
Unreviewed, rolling out r184613 and r184614.
https://bugs.webkit.org/show_bug.cgi?id=145206

Broke 10 tests :| (Requested by kling on #webkit).

Reverted changesets:

"[JSC] Speed up URL encode/decode by using bitmaps instead of
strchr()."
https://bugs.webkit.org/show_bug.cgi?id=145115
http://trac.webkit.org/changeset/184613

"[JSC] Speed up URL encode/decode by using bitmaps instead of
strchr()."
https://bugs.webkit.org/show_bug.cgi?id=145115
http://trac.webkit.org/changeset/184614

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

6 years agoGive StringView a utf8() API.
akling@apple.com [Wed, 20 May 2015 05:57:55 +0000 (05:57 +0000)]
Give StringView a utf8() API.
<https://webkit.org/b/145201>

Source/JavaScriptCore:

Reviewed by Anders Carlsson.

Use JSString::view() in a few places where we couldn't before due to StringView
lacking a utf8() API. This is a minor speed-up on Kraken's crypto subtests,
which like to call encode() with substring JSStrings.

* jsc.cpp:
(functionPrint):
(functionDebug):
* runtime/JSGlobalObjectFunctions.cpp:
(JSC::encode):

Source/WTF:

Reviewed by Anders Carlsson

Added an LChar version of StringImpl::utf8ForCharacters() and use that to give
StringView a utf8() API just like String has.

* wtf/text/StringImpl.cpp:
(WTF::StringImpl::utf8ForCharacters):
* wtf/text/StringImpl.h:
* wtf/text/StringView.cpp:
(WTF::StringView::utf8):
* wtf/text/StringView.h:

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

6 years agoOrganize event handlers a bit
weinig@apple.com [Wed, 20 May 2015 05:41:13 +0000 (05:41 +0000)]
Organize event handlers a bit
https://bugs.webkit.org/show_bug.cgi?id=145106

Reviewed by Darin Adler.

Source/WebCore:

- Add GlobalEventHandlers.idl (from https://html.spec.whatwg.org/multipage/webappapis.html#globaleventhandlers)
  and move all event handlers shared by Element, Document and DOMWindow there. Put all the standard defined
  event handlers at the top (commenting out the ones that aren't implemented yet) and the non-standard ones
  at the bottom.

  There is one change in behavior here. Previously, the media related event handlers where only exposed on
  Element and DOMWindow. The spec says they should also be on Document, so this adds support for that (this
  is tested in fast/dom/event-handler-attributes.html).

- Add WindowEventHandlers.idl (from https://html.spec.whatwg.org/multipage/webappapis.html#windoweventhandlers)
  and move all event handlers shared by DOMWindow, HTMLBodyElement and HTMLFrameSetElement there. Put all the
  standard defined event handlers at the top (commenting out the ones that aren't implemented yet) and the
  non-standard ones at the bottom.

- Group remaining event handlers in Element, Document, DOMWindow, HTMLBodyElement and HTMLFrameSetElement by
  their grouping, and add some FIXMEs for future cleaning.

* CMakeLists.txt:
* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
- Add GlobalEventHandlers.idl and WindowEventHandlers.idl.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
Add special cases for WindowEventHandler when used on DOMWindow and DocumentEventHandler when used on Document
so that event handlers using those extended attributes can be set on shared interfaces. This is used to allow
DOMWindow to implement WindowEventHandlers.

* dom/Document.idl:
Move event handlers to GlobalEventHandlers and have Document implement it. Group remaining event handlers.

* dom/Element.idl:
Move event handlers to GlobalEventHandlers and have Element implement it. Group remaining event handlers.

* dom/GlobalEventHandlers.idl:
Added.

* html/HTMLBodyElement.idl:
Move event handlers to WindowEventHandlers and have HTMLBodyElement implement it. Group remaining event handlers.

* html/HTMLFrameSetElement.idl:
Move event handlers to WindowEventHandlers and have HTMLFrameSetElement implement it. Group remaining event handlers.

* page/DOMWindow.idl:
Move event handlers to GlobalEventHandlers and WindowEventHandlers and have DOMWindow implement both of them. Group
remaining event handlers.

* page/WindowEventHandlers.idl:
Added.

LayoutTests:

* fast/dom/event-handler-attributes-expected.txt:
* fast/dom/event-handler-attributes.html:
Update for putting media related event handlers on Document in addition to
Element and DOMWindow.

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

6 years agoCrash under WebCore::invalidateStyleRecursively
antti@apple.com [Wed, 20 May 2015 05:28:02 +0000 (05:28 +0000)]
Crash under WebCore::invalidateStyleRecursively
https://bugs.webkit.org/show_bug.cgi?id=145186
rdar://problem/19736838

Reviewed by Andreas Kling

We have seen crashes where we run out of stack under invalidateStyleRecursively in StyleInvalidationAnalysis
on some devices.

Switch to iterative algorithm.

* css/StyleInvalidationAnalysis.cpp:
(WebCore::StyleInvalidationAnalysis::StyleInvalidationAnalysis):
(WebCore::invalidateIfNeeded):
(WebCore::invalidateStyleForTree):
(WebCore::StyleInvalidationAnalysis::invalidateStyle):
(WebCore::invalidateStyleRecursively): Deleted.

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

6 years agoFixup accidental ChangeLog switcheroo.
akling@apple.com [Wed, 20 May 2015 04:51:29 +0000 (04:51 +0000)]
Fixup accidental ChangeLog switcheroo.

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

6 years ago[JSC] Speed up URL encode/decode by using bitmaps instead of strchr().
akling@apple.com [Wed, 20 May 2015 04:49:36 +0000 (04:49 +0000)]
[JSC] Speed up URL encode/decode by using bitmaps instead of strchr().
<https://webkit.org/b/145115>

Incorporate review feedback from Darin, removing some unnecessary zero checks.

Patch by Yusuke Suzuki <utatane.tea@gmail.com> on 2015-05-19

* runtime/JSGlobalObjectFunctions.cpp:
(JSC::encode):
(JSC::decode):
(JSC::globalFuncEscape):

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

6 years agoMove AtomicStringImpl table related operations from AtomicString to AtomicStringImpl
utatane.tea@gmail.com [Wed, 20 May 2015 04:19:14 +0000 (04:19 +0000)]
Move AtomicStringImpl table related operations from AtomicString to AtomicStringImpl
https://bugs.webkit.org/show_bug.cgi?id=145109

Reviewed by Darin Adler.

Source/JavaScriptCore:

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::nameForRegister):
* runtime/Identifier.cpp:
(JSC::Identifier::add):
(JSC::Identifier::add8):
* runtime/Identifier.h:
(JSC::Identifier::add):
* runtime/IdentifierInlines.h:
(JSC::Identifier::Identifier):
(JSC::Identifier::add):
* runtime/JSString.cpp:
(JSC::JSRopeString::resolveRopeToExistingAtomicString):
* runtime/JSString.h:
(JSC::JSString::toExistingAtomicString):
* runtime/SmallStrings.cpp:
(JSC::SmallStringsStorage::SmallStringsStorage):
* runtime/TypeSet.cpp:
(JSC::StructureShape::propertyHash):

Source/WebCore:

* dom/TreeScope.cpp:
(WebCore::TreeScope::getElementById):

Source/WTF:

Now AtomicStringImpl table operations are located in AtomicString.
But they should be under AtomicStringImpl.
This patch simply moves these operations to AtomicStringImpl.

And this patch renames static AtomicString::find to static AtomicStringImpl::lookUp
because it conflicts with AtomicStringImpl's member function name.

* WTF.vcxproj/WTF.vcxproj:
* WTF.vcxproj/WTF.vcxproj.filters:
* WTF.vcxproj/copy-files.cmd:
* WTF.xcodeproj/project.pbxproj:
* wtf/CMakeLists.txt:
* wtf/PlatformMac.cmake:
* wtf/PlatformWin.cmake:
* wtf/text/AtomicString.cpp:
(WTF::AtomicString::lower):
(WTF::AtomicString::convertToASCIILowercase):
(WTF::AtomicString::fromUTF8Internal):
(WTF::AtomicStringTableLocker::AtomicStringTableLocker): Deleted.
(WTF::stringTable): Deleted.
(WTF::addToStringTable): Deleted.
(WTF::CStringTranslator::hash): Deleted.
(WTF::CStringTranslator::equal): Deleted.
(WTF::CStringTranslator::translate): Deleted.
(WTF::AtomicString::add): Deleted.
(WTF::UCharBufferTranslator::hash): Deleted.
(WTF::UCharBufferTranslator::equal): Deleted.
(WTF::UCharBufferTranslator::translate): Deleted.
(WTF::HashAndCharactersTranslator::hash): Deleted.
(WTF::HashAndCharactersTranslator::equal): Deleted.
(WTF::HashAndCharactersTranslator::translate): Deleted.
(WTF::HashAndUTF8CharactersTranslator::hash): Deleted.
(WTF::HashAndUTF8CharactersTranslator::equal): Deleted.
(WTF::HashAndUTF8CharactersTranslator::translate): Deleted.
(WTF::SubstringTranslator::translate): Deleted.
(WTF::SubstringTranslator8::hash): Deleted.
(WTF::SubstringTranslator8::equal): Deleted.
(WTF::SubstringTranslator16::hash): Deleted.
(WTF::SubstringTranslator16::equal): Deleted.
(WTF::LCharBufferTranslator::hash): Deleted.
(WTF::LCharBufferTranslator::equal): Deleted.
(WTF::LCharBufferTranslator::translate): Deleted.
(WTF::CharBufferFromLiteralDataTranslator::hash): Deleted.
(WTF::CharBufferFromLiteralDataTranslator::equal): Deleted.
(WTF::CharBufferFromLiteralDataTranslator::translate): Deleted.
(WTF::AtomicString::addFromLiteralData): Deleted.
(WTF::AtomicString::addSlowCase): Deleted.
(WTF::AtomicString::remove): Deleted.
(WTF::AtomicString::findSlowCase): Deleted.
(WTF::AtomicString::findInternal): Deleted.
(WTF::AtomicString::isInAtomicStringTable): Deleted.
* wtf/text/AtomicString.h:
(WTF::AtomicString::AtomicString):
(WTF::AtomicString::fromUTF8):
(WTF::AtomicString::find): Deleted.
(WTF::AtomicString::add): Deleted.
(WTF::AtomicString::addWithStringTableProvider): Deleted.
* wtf/text/AtomicStringImpl.cpp: Copied from Source/WTF/wtf/text/AtomicString.cpp.
(WTF::AtomicStringTableLocker::AtomicStringTableLocker):
(WTF::stringTable):
(WTF::addToStringTable):
(WTF::CStringTranslator::hash):
(WTF::CStringTranslator::equal):
(WTF::CStringTranslator::translate):
(WTF::AtomicStringImpl::add):
(WTF::UCharBufferTranslator::hash):
(WTF::UCharBufferTranslator::equal):
(WTF::UCharBufferTranslator::translate):
(WTF::HashAndCharactersTranslator::hash):
(WTF::HashAndCharactersTranslator::equal):
(WTF::HashAndCharactersTranslator::translate):
(WTF::HashAndUTF8CharactersTranslator::hash):
(WTF::HashAndUTF8CharactersTranslator::equal):
(WTF::HashAndUTF8CharactersTranslator::translate):
(WTF::SubstringTranslator::translate):
(WTF::SubstringTranslator8::hash):
(WTF::SubstringTranslator8::equal):
(WTF::SubstringTranslator16::hash):
(WTF::SubstringTranslator16::equal):
(WTF::LCharBufferTranslator::hash):
(WTF::LCharBufferTranslator::equal):
(WTF::LCharBufferTranslator::translate):
(WTF::CharBufferFromLiteralDataTranslator::hash):
(WTF::CharBufferFromLiteralDataTranslator::equal):
(WTF::CharBufferFromLiteralDataTranslator::translate):
(WTF::AtomicStringImpl::addLiteral):
(WTF::AtomicStringImpl::addSlowCase):
(WTF::AtomicStringImpl::remove):
(WTF::AtomicStringImpl::lookUpSlowCase):
(WTF::AtomicStringImpl::addUTF8):
(WTF::AtomicStringImpl::lookUpInternal):
(WTF::AtomicStringImpl::isInAtomicStringTable):
* wtf/text/AtomicStringImpl.h:
(WTF::AtomicStringImpl::lookUp):
(WTF::AtomicStringImpl::add):
(WTF::AtomicStringImpl::addWithStringTableProvider):
(WTF::AtomicStringImpl::AtomicStringImpl): Deleted.
* wtf/text/StringImpl.cpp:
(WTF::StringImpl::~StringImpl):
* wtf/text/StringImpl.h:
* wtf/text/WTFString.h:
(WTF::String::String):
* wtf/text/cf/AtomicStringCF.cpp:
(WTF::AtomicString::add): Deleted.
* wtf/text/cf/AtomicStringImplCF.cpp: Renamed from Source/WTF/wtf/text/cf/AtomicStringCF.cpp.
(WTF::AtomicStringImpl::add):

Tools:

* TestWebKitAPI/Tests/WTF/StringImpl.cpp:
(TestWebKitAPI::TEST):

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

6 years ago[iOS] Optimized fullscreen placeholder is incorrectly sized
jonlee@apple.com [Wed, 20 May 2015 03:34:35 +0000 (03:34 +0000)]
[iOS] Optimized fullscreen placeholder is incorrectly sized
https://bugs.webkit.org/show_bug.cgi?id=145196
rdar://problem/21031188

Reviewed by Dean Jackson.

Add a new media part UI for the placeholder text when entering optimized fullscreen,
and use it as part of the title text in the placeholder. Now the wireless playback status
div serves as a multi-purpose placeholder.

* Modules/mediacontrols/MediaControlsHost.cpp:
(WebCore::MediaControlsHost::mediaUIImageData): Return the placeholder text.
* Modules/mediacontrols/MediaControlsHost.idl: Add a new UI part for placeholder text.
* Modules/mediacontrols/mediaControlsApple.js: Add a new "optimized" ClassName when
the presentation mode is set to optimized.

* Modules/mediacontrols/mediaControlsiOS.css:
(audio::-webkit-media-controls-wireless-playback-status): The text should be at
medium weight, not light weight.
(audio::-webkit-media-controls-wireless-playback-text-top): The title text should be
white for both wireless playback and optimized fullscreen. It matches the style
when taking a video fullscreen.

Add new CSS rules when the placard is used for optimized fullscreen.
(audio::-webkit-media-controls-wireless-playback-status.optimized): Accommodate the
size of the graphic, and position appropriately.
(audio::-webkit-media-controls-wireless-playback-text-top.optimized): One line is
needed, so use this one, and place it where the bottom one is since more room is
needed to accommodate the graphic.
(audio::-webkit-media-controls-wireless-playback-text-bottom.optimized): One line is
needed, so hide this one.
* Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.createControls): Several of the container divs are already
created in Controller.prototype.createControls(). Fly-by fix to avoid creation of
those divs. Only the panelContainer is new for the iOS controls. Fly-by fix of a
missing semicolon.
(ControllerIOS.prototype.handlePresentationModeChange): When the presentation mode
changes do several things:
    1- Update the background image. Clear the inline background image when going back
       to inline or in wireless playback.
    2- Add the "optimized" ClassName to the placeholder container, and the two text
       divs when entering optimized fullscreen. Remove them in other cases.
    3- Set -webkit-media-controls-wireless-playback-text-top to the placeholder text.
       This is better than embedding it inside the graphic. Clear the -bottom text.
* platform/ios/WebCoreSystemInterfaceIOS.h: Add a new enum to obtain the placeholder
text.

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

6 years ago[EFL] Use GSimpleProxyResolver instead of custom SoupProxyResolver
ryuan.choi@navercorp.com [Wed, 20 May 2015 02:46:43 +0000 (02:46 +0000)]
[EFL] Use GSimpleProxyResolver instead of custom SoupProxyResolver
https://bugs.webkit.org/show_bug.cgi?id=145154

Reviewed by Gyuyoung Kim.

SoupProxyResolver was deprecated since libsoup 2.42.
So, this patch refactors the custom SoupProxyResolver to GSimpleProxyResolver
which provides same functionality in gio.

No new tests, because there is not behavior change.

* PlatformEfl.cmake:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* platform/network/soup/ProxyResolverSoup.cpp: Removed.
* platform/network/soup/ProxyResolverSoup.h: Removed.
* platform/network/soup/SoupNetworkSession.cpp:
(WebCore::SoupNetworkSession::setHTTPProxy): Moved to private member.
(WebCore::SoupNetworkSession::httpProxy): Deleted because nobody calls it.
* platform/network/soup/SoupNetworkSession.h:

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

6 years agoUnreviewed, rolling out r184595.
commit-queue@webkit.org [Wed, 20 May 2015 01:48:33 +0000 (01:48 +0000)]
Unreviewed, rolling out r184595.
https://bugs.webkit.org/show_bug.cgi?id=145197

Introduced a crash in 15 layout tests on Mavericks on #webkit
(Requested by rniwa on #webkit).

Reverted changeset:

"Media Controls stop updating after hovering for a few
seconds."
https://bugs.webkit.org/show_bug.cgi?id=144770
http://trac.webkit.org/changeset/184595

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

6 years agoREGRESSION(r181571): Build broken when USE(OPENGL_ES_2) is defined.
clopez@igalia.com [Wed, 20 May 2015 01:01:47 +0000 (01:01 +0000)]
REGRESSION(r181571): Build broken when USE(OPENGL_ES_2) is defined.
https://bugs.webkit.org/show_bug.cgi?id=145156

Reviewed by Alex Christensen.

Source/ThirdParty/ANGLE:

* include/GLES2/gl2softlinking.h: Revert r181589. Vertex Array Objects are not in GLESv2.

Source/WebCore:

No new tests, no behavior changes.

Vertex Array Objects are not available in OpenGLESv2.
Add guards to avoid using this when building with GLESv2.

* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::createVertexArray):
(WebCore::GraphicsContext3D::deleteVertexArray):
(WebCore::GraphicsContext3D::isVertexArray):
(WebCore::GraphicsContext3D::bindVertexArray):

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

6 years agoWeb Inspector: Improve Preview for NodeList / array like collections
commit-queue@webkit.org [Wed, 20 May 2015 00:35:52 +0000 (00:35 +0000)]
Web Inspector: Improve Preview for NodeList / array like collections
https://bugs.webkit.org/show_bug.cgi?id=145177

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-05-19
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

* inspector/InjectedScriptSource.js:
(InjectedScript.RemoteObject.prototype._appendPropertyPreviews):
For "array" like object previews skip over non-index properties.
We are not marking the object as lossless by choice, but we
may return to this decision later.

Source/WebInspectorUI:

* UserInterface/Views/ObjectPreviewView.js:
(WebInspector.ObjectPreviewView.prototype._appendPreview):
Show the class name for a non-basic-Array, but still hide
it for a basic Array.

LayoutTests:

* inspector/model/remote-object-expected.txt:

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

6 years agoUpper half of volume control should be filled, not hollow.
roger_fong@apple.com [Tue, 19 May 2015 23:59:27 +0000 (23:59 +0000)]
Upper half of volume control should be filled, not hollow.
https://bugs.webkit.org/show_bug.cgi?id=145187.
<rdar://problem/21021970>

Reviewed by Dean Jackson.

* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.drawVolumeBackground):

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

6 years agoREGRESSION(183787): JIT is enabled for all builds
msaboff@apple.com [Tue, 19 May 2015 23:09:43 +0000 (23:09 +0000)]
REGRESSION(183787): JIT is enabled for all builds
https://bugs.webkit.org/show_bug.cgi?id=145179

Reviewed by Geoffrey Garen.

Eliminated the setting of ENABLE_JIT, as wtf/Platform.h has appropriate logic to
set it depending on OS and CPU type.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Only changed the way build options are initialized.

* Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:

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

6 years ago[Mac] Font lookups are flakey due to caching
cdumez@apple.com [Tue, 19 May 2015 22:52:35 +0000 (22:52 +0000)]
[Mac] Font lookups are flakey due to caching
https://bugs.webkit.org/show_bug.cgi?id=145180
<rdar://problem/21012406>

Reviewed by Darin Adler.

Source/WebCore:

Font lookups were flakey on Mac due to the cache in fontWithFamily().
The reason is that the "desired family" to "available family" mapping
is sometimes dependent on the desired traits. However, our cache was
only using the "desired family" as key.

This patch now uses a std::pair as key containing both the "desired
family" and the "desired traits" for correctness. I also updated the
cache to use WTF types instead of NS types.

Test: platform/mac/fast/text/font-weights.html

* platform/graphics/mac/FontCacheMac.mm:
(WebCore::desiredFamilyToAvailableFamilyMap):
(WebCore::hasDesiredFamilyToAvailableFamilyMapping):
(WebCore::rememberDesiredFamilyToAvailableFamilyMapping):
(WebCore::fontWithFamily):
(WebCore::invalidateFontCache):
(WebCore::desiredFamilyToAvailableFamilyDictionary): Deleted.

LayoutTests:

* platform/mac/TestExpectations:
Unskip platform/mac/fast/text/font-weights.html as it is no longer
flakey after this change.

* platform/mac/fast/text/font-weights-expected.txt:
Rebaseline the test as the expected results were those based on the
bad caching behavior.

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

6 years agoX-Frame-Options headers not respected when loading from application cache.
beidson@apple.com [Tue, 19 May 2015 22:22:51 +0000 (22:22 +0000)]
X-Frame-Options headers not respected when loading from application cache.
<rdar://problem/14877623> and https://bugs.webkit.org/show_bug.cgi?id=131800

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Test: http/tests/appcache/x-frame-options-prevents-framing.php

This patch updates SubstituteData to hold on to a ResourceResponse instead of just a URL.

It also updates all users of SubstituteData to reflect this.

Finally it updates ApplicationCacheHost to put the full response (including x-frame-options header)
in the SubstituteData so they can be checked at the appropriate times.

* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::handleSubstituteDataLoadNow):
(WebCore::DocumentLoader::responseReceived): Update an ASSERT to reflect that it's okay to not have
  a main resource as long as you have a substitute identifier for it.
(WebCore::DocumentLoader::documentURL):
(WebCore::DocumentLoader::contentFilterDidDecide):

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadArchive):
(WebCore::FrameLoader::defaultSubstituteDataForURL):

* loader/SubstituteData.h:
(WebCore::SubstituteData::SubstituteData):
(WebCore::SubstituteData::shouldRevealToSessionHistory):
(WebCore::SubstituteData::mimeType):
(WebCore::SubstituteData::textEncoding):
(WebCore::SubstituteData::response):
(WebCore::SubstituteData::responseURL): Deleted.

* loader/appcache/ApplicationCacheHost.cpp:
(WebCore::ApplicationCacheHost::maybeLoadMainResource): Put the full ResourceResponse here, which
  includes x-frame-options headers sent back when the resources was initially loaded from the network.

* platform/network/ResourceResponseBase.h:

Source/WebKit/mac:

* WebView/WebFrame.mm:
(-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):

Source/WebKit/win:

* WebFrame.cpp:
(WebFrame::loadData):

Source/WebKit2:

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

LayoutTests:

* http/tests/appcache/resources/x-frame-options-prevents-framing-test.html: Added.
* http/tests/appcache/resources/x-frame-options-prevents-framing.manifest: Added.
* http/tests/appcache/x-frame-options-prevents-framing-expected.txt: Added.
* http/tests/appcache/x-frame-options-prevents-framing.php: Added.

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

6 years agoAdd PLUGIN_ARCHITECTURE(MAC) around WKNVCALayerRenderServerPort in NetscapeBrowserFunc.h.
commit-queue@webkit.org [Tue, 19 May 2015 22:10:07 +0000 (22:10 +0000)]
Add PLUGIN_ARCHITECTURE(MAC) around WKNVCALayerRenderServerPort in NetscapeBrowserFunc.h.
https://bugs.webkit.org/show_bug.cgi?id=145173

Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-05-19
Reviewed by Anders Carlsson.

WKNVCALayerRenderServerPort in NetscapeBrowserFunc.h is meaningful only for Mac.
So we need to add PLUGIN_ARCHITECTURE(MAC) around it.

* WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.h:

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

6 years agoREGRESSION(142590): Part 2: Scroll-snap points are improperly snapping to earlier...
bfulgham@apple.com [Tue, 19 May 2015 21:58:30 +0000 (21:58 +0000)]
REGRESSION(142590): Part 2: Scroll-snap points are improperly snapping to earlier index values (Scrolling Thread)
https://bugs.webkit.org/show_bug.cgi?id=145175
<rdar://problem/21023785>

Reviewed by Beth Dakin.

Source/WebCore:

Extend the main-thread scrolling changes done in Bug 145140 to also handle Scrolling Thread snapping.
The post-layout fixup (needed to handle window resize and device orientation changes) should not fire
while Scrolling Thread scroll-snap animations are running, since these animations will most likely
move the scroll view into the proper position. If we attempt to 'fix up' the scroll position before
these animations finish, we get an ugly 'jump' in the display.

* page/FrameView.cpp:
(WebCore::FrameView::isScrollSnapInProgress): New method based on isRubberBandInProgress, which considers
both the ScrollAnimator (main thread) scrolling, as well as the ScrollingCoordinator (Scrolling Thread)
scrolling operations. Returns true if a scroll-snap animation is still active.
* page/FrameView.h:
* page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::isScrollSnapInProgress): Added. Returns scrolling tree's
'isScrollSnapInProgress' state.
* page/scrolling/AsyncScrollingCoordinator.h:
* page/scrolling/ScrollingCoordinator.h:
(WebCore::ScrollingCoordinator::isScrollSnapInProgress): Added default 'false' stub.
* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::ScrollingTree): Use modern C++11 initializers.
(WebCore::ScrollingTree::isScrollSnapInProgress): Added.
(WebCore::ScrollingTree::setMainFrameIsScrollSnapping): Added.
* page/scrolling/ScrollingTree.h:
* page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
* page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
(WebCore::ScrollingTreeFrameScrollingNodeMac::handleWheelEvent): Update scrolling tree state to match the
ScrollController's scroll-snap state.
(WebCore::ScrollingTreeFrameScrollingNodeMac::startScrollSnapTimer): Added. When starting a scroll snap timer,
always set the scrolling tree scroll-snapping state to true.
(WebCore::ScrollingTreeFrameScrollingNodeMac::stopScrollSnapTimer): Added. When ending a scroll snap timer,
only set the scrolling tree scroll-snapping state to false if the other axis animator is inactive.
* platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::updateScrollSnapState): Revise implementation to use its 'isScrollSnapInProgress'
method, rather than only looking at the ScrollAnimator (main thread) state.
* platform/ScrollableArea.h:
(WebCore::ScrollableArea::isScrollSnapInProgress): Added.
* platform/cocoa/ScrollController.h:
* platform/cocoa/ScrollController.mm:
(WebCore::ScrollController::hasActiveScrollSnapTimerForAxis): Added. Reports if the scroll snap animation
timer on the requested axis is running or not.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::isScrollSnapInProgress): Added.
* rendering/RenderLayer.h:

Source/WebKit2:

Add a stub implementation of isScrollSnapInProgress to match ScrollingCoordinator signature.

* WebProcess/Scrolling/RemoteScrollingCoordinator.h:
* WebProcess/Scrolling/RemoteScrollingCoordinator.mm:
(WebKit::RemoteScrollingCoordinator::isScrollSnapInProgress): Added stub.

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

6 years agoMedia Controls stop updating after hovering for a few seconds.
roger_fong@apple.com [Tue, 19 May 2015 21:52:15 +0000 (21:52 +0000)]
Media Controls stop updating after hovering for a few seconds.
https://bugs.webkit.org/show_bug.cgi?id=144770.
<rdar://problem/19823121>

Reviewed by Jer Noble.

* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.createBase):
We should never hide controls immediately as a result of mousing out of the controls.
It should only happen when the mouse leaves the video entirely.
(Controller.prototype.updateTimelineMetricsIfNeeded):
Don’t update if controls are hidden, timeline dimensions will be 0.
(Controller.prototype.handlePanelTransitionEnd):
Instead of adjusting visibility via adding and removing classes,
remove controls entirely from the tree.
(Controller.prototype.showControls):
Add controls back into the tree when showing controls.
(Controller.prototype.updateForShowingControls):
Helper method for showControls.
(Controller.prototype.controlsAreHidden):
Controls also hidden if removed from tree.

Remove forceUpdate logic, no longer necessary.
(Controller.prototype.handleDurationChange):
(Controller.prototype.updateProgress):
(Controller.prototype.updateTime):

Override methods to use add and remove panelContainer for iOS.
* Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.handlePanelTransitionEnd):
(ControllerIOS.prototype.showControls):
(ControllerIOS.prototype.controlsAreHidden):

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

6 years agoBuild fix. Don't fall into an infinite loop when value (renamed from bytes) is zero.
rniwa@webkit.org [Tue, 19 May 2015 21:49:59 +0000 (21:49 +0000)]
Build fix. Don't fall into an infinite loop when value (renamed from bytes) is zero.

* public/v2/manifest.js:
(App.Manifest.Ember.Controller.extend.):
(App.Manifest.Ember.Controller.extend):

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

6 years agoDon't show unit (bytes) separaetly from SI suffixes (K, M, etc...)
rniwa@webkit.org [Tue, 19 May 2015 21:39:46 +0000 (21:39 +0000)]
Don't show unit (bytes) separaetly from SI suffixes (K, M, etc...)
https://bugs.webkit.org/show_bug.cgi?id=145181

Rubber-stamped by Chris Dumez.

Show 'MB' in each y-axis label instead of showing 'bytes' separately and suffixing each label with just 'M'
for clarity. This change also reduces the code complexity.

* public/index.html:
* public/v2/app.js:
(App.AnalysisTaskController._chartDataChanged):
(App.TestGroupPane._createConfigurationSummary):
* public/v2/data.js:
(RunsData.unitFromMetricName): Use 'B' instead of 'bytes' as the unit.

* public/v2/interactive-chart.js: Removed the support for showing units separately.
(App.InteractiveChartComponent._constructGraphIfPossible):
(App.InteractiveChartComponent._relayoutDataAndAxes)

* public/v2/manifest.js:
(App.Manifest._makeFormatter): Renamed from _formatBytes. Support more SI suffixes such as micro and mili.
Now takes the unit as the first argument. Adjust the base unit if it's 'ms'.
(App.Manifest._formatFetchedData): Removed unit and formatWithUnit now that all all formatters would
automatically include unit.

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

6 years agoAdd alternate menu items for performing operations on the default data store
andersca@apple.com [Tue, 19 May 2015 21:37:49 +0000 (21:37 +0000)]
Add alternate menu items for performing operations on the default data store
https://bugs.webkit.org/show_bug.cgi?id=145184

Reviewed by Sam Weinig.

This makes it possible to test WKWebsiteDataStore code paths when there are no live web views
associated with a data store.

* MiniBrowser/mac/AppDelegate.m:
(-[BrowserAppDelegate fetchDefaultStoreWebsiteData:]):
(-[BrowserAppDelegate fetchAndClearDefaultStoreWebsiteData:]):
(-[BrowserAppDelegate clearDefaultStoreWebsiteData:]):
* MiniBrowser/mac/MainMenu.xib:

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

6 years agoScroll-snap animations should not start on axes with zero-delta
bfulgham@apple.com [Tue, 19 May 2015 21:27:34 +0000 (21:27 +0000)]
Scroll-snap animations should not start on axes with zero-delta
https://bugs.webkit.org/show_bug.cgi?id=145148

Reviewed by Dean Jackson.

Don't begin a scroll snap animation on an axis that had no change in position (on that axis)
during the gesture.

* platform/cocoa/ScrollController.mm:
(WebCore::ScrollController::processWheelEventForScrollSnapOnAxis): Don't begin a scroll snap
animation if no movement on this axis was ever made.

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

6 years agoAudioContext should resolve promises with jsUndefined() and not jsNull()
youenn.fablet@crf.canon.fr [Tue, 19 May 2015 21:12:20 +0000 (21:12 +0000)]
AudioContext should resolve promises with jsUndefined() and not jsNull()
https://bugs.webkit.org/show_bug.cgi?id=145063

Reviewed by Sam Weinig.

Source/WebCore:

Covered by updated test.

* bindings/js/JSDOMPromise.h:
(WebCore::DeferredWrapper::resolve): resolving std::nullptr_t as jsUndefined() and not jsNull()

LayoutTests:

* webaudio/audiocontext-state.html: Added check of promise resolve value.

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

6 years agoiOS gardening. Update "fast" image and text results, delete wk2-only results.
eric.carlson@apple.com [Tue, 19 May 2015 20:53:49 +0000 (20:53 +0000)]
iOS gardening. Update "fast" image and text results, delete wk2-only results.

Rubber-stamped by Brent Fulgham.

* platform/ios-simulator-wk2/TestExpectations:
* platform/ios-simulator-wk2/fast/events/touch/gesture/long-press-on-draggable-element-triggers-drag-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/forms/search-vertical-alignment-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/forms/searchfield-heights-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/gradients/list-item-gradient-expected.txt: Removed.
* platform/ios-simulator/TestExpectations:
* platform/ios-simulator/fast/attachment/attachment-select-on-click-expected.txt: Added.
* platform/ios-simulator/fast/attachment/attachment-select-on-click-inside-user-select-all-expected.txt: Added.
* platform/ios-simulator/fast/backgrounds/selection-background-color-of-image-list-style-expected.txt: Added.
* platform/ios-simulator/fast/backgrounds/selection-background-color-of-list-style-expected.txt: Added.
* platform/ios-simulator/fast/block/basic/001-expected.png: Added.
* platform/ios-simulator/fast/block/margin-collapse/001-expected.png: Added.
* platform/ios-simulator/fast/block/positioning/001-expected.png: Added.
* platform/ios-simulator/fast/block/positioning/002-expected.png: Added.
* platform/ios-simulator/fast/block/positioning/003-expected.png: Added.
* platform/ios-simulator/fast/block/positioning/004-expected.png: Added.
* platform/ios-simulator/fast/block/positioning/005-expected.png: Added.
* platform/ios-simulator/fast/block/positioning/006-expected.png: Added.
* platform/ios-simulator/fast/block/positioning/007-expected.png: Added.
* platform/ios-simulator/fast/block/positioning/008-expected.png: Added.
* platform/ios-simulator/fast/block/positioning/009-expected.png: Added.
* platform/ios-simulator/fast/block/positioning/010-expected.png: Added.
* platform/ios-simulator/fast/block/positioning/011-expected.png: Added.
* platform/ios-simulator/fast/block/positioning/012-expected.png: Added.
* platform/ios-simulator/fast/block/positioning/013-expected.png: Added.
* platform/ios-simulator/fast/block/positioning/014-expected.png: Added.
* platform/ios-simulator/fast/block/positioning/015-expected.png: Added.
* platform/ios-simulator/fast/block/positioning/016-expected.png: Added.
* platform/ios-simulator/fast/block/positioning/017-expected.png: Added.
* platform/ios-simulator/fast/block/positioning/018-expected.png: Added.
* platform/ios-simulator/fast/block/positioning/019-expected.png: Added.
* platform/ios-simulator/fast/block/positioning/020-expected.png: Added.
* platform/ios-simulator/fast/block/positioning/021-expected.png: Added.
* platform/ios-simulator/fast/css/font-weight-1-expected.png: Added.
* platform/ios-simulator/fast/css/font-weight-1-expected.txt:
* platform/ios-simulator/fast/css/text-overflow-ellipsis-bidi-expected.png: Added.
* platform/ios-simulator/fast/css/text-overflow-ellipsis-bidi-expected.txt:
* platform/ios-simulator/fast/events/touch/gesture/long-press-on-draggable-element-triggers-drag-expected.txt:
* platform/ios-simulator/fast/forms/box-shadow-override-expected.png: Added.
* platform/ios-simulator/fast/forms/button-align-expected.png: Added.
* platform/ios-simulator/fast/forms/input-auto-fill-button-expected.png: Added.
* platform/ios-simulator/fast/forms/input-auto-fill-button-expected.txt: Added.
* platform/ios-simulator/fast/forms/input-spaces-expected.png: Added.
* platform/ios-simulator/fast/forms/input-table-expected.png: Added.
* platform/ios-simulator/fast/forms/input-text-click-inside-expected.png: Added.
* platform/ios-simulator/fast/forms/input-text-click-outside-expected.png: Added.
* platform/ios-simulator/fast/forms/input-text-double-click-expected.png: Added.
* platform/ios-simulator/fast/forms/input-text-drag-down-expected.png: Added.
* platform/ios-simulator/fast/forms/listbox-hit-test-zoomed-expected.png: Added.
* platform/ios-simulator/fast/forms/listbox-hit-test-zoomed-expected.txt:
* platform/ios-simulator/fast/forms/option-index-expected.png: Added.
* platform/ios-simulator/fast/forms/search-vertical-alignment-expected.png: Added.
* platform/ios-simulator/fast/forms/search-vertical-alignment-expected.txt:
* platform/ios-simulator/fast/forms/searchfield-heights-expected.png: Added.
* platform/ios-simulator/fast/forms/searchfield-heights-expected.txt:
* platform/ios-simulator/fast/forms/textarea-placeholder-pseudo-style-expected.png: Added.
* platform/ios-simulator/fast/frames/calculate-fixed-expected.png: Added.
* platform/ios-simulator/fast/frames/calculate-order-expected.png: Added.
* platform/ios-simulator/fast/frames/calculate-percentage-expected.png: Added.
* platform/ios-simulator/fast/frames/calculate-relative-expected.png: Added.
* platform/ios-simulator/fast/frames/calculate-round-expected.png: Added.
* platform/ios-simulator/fast/frames/content-opacity-1-expected.png: Added.
* platform/ios-simulator/fast/frames/content-opacity-2-expected.png: Added.
* platform/ios-simulator/fast/gradients/list-item-gradient-expected.png: Added.
* platform/ios-simulator/fast/gradients/list-item-gradient-expected.txt:
* platform/ios-simulator/fast/hidpi/broken-image-icon-very-hidpi-expected.txt: Added.
* platform/ios-simulator/fast/images/animated-gif-with-offsets-expected.png: Added.

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

6 years agoRename createIterResultObject as createIteratorResultObject
youenn.fablet@crf.canon.fr [Tue, 19 May 2015 20:07:55 +0000 (20:07 +0000)]
Rename createIterResultObject as createIteratorResultObject
https://bugs.webkit.org/show_bug.cgi?id=145116

Reviewed by Darin Adler.

Renamed createIterResultObject as createIteratorResultObject.
Made this function exportable for future use by streams API.

* runtime/IteratorOperations.cpp:
(JSC::createIteratorResultObject):
* runtime/IteratorOperations.h:
* runtime/MapIteratorPrototype.cpp:
(JSC::MapIteratorPrototypeFuncNext):
* runtime/SetIteratorPrototype.cpp:
(JSC::SetIteratorPrototypeFuncNext):

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

6 years ago[Streams API] Migrate closed promise handling from ReadableStreamReader to ReadableStream
youenn.fablet@crf.canon.fr [Tue, 19 May 2015 20:02:45 +0000 (20:02 +0000)]
[Streams API] Migrate closed promise handling from ReadableStreamReader to ReadableStream
https://bugs.webkit.org/show_bug.cgi?id=145110

Reviewed by Darin Adler.

Reader is now just checking whether it is the reader locking the stream or not.
If not and stream is readable, it resolves the closed promise.
Otherwise, it delegates the promise handling to its stream.

No change in behavior.

* Modules/streams/ReadableStream.cpp:
(WebCore::ReadableStream::cleanCallbacks): Cleaning of closed callbacks.
(WebCore::ReadableStream::changeStateToClosed): Resolving closed promise if set.
(WebCore::ReadableStream::changeStateToErrored): Rejecting closed promise if set.
(WebCore::ReadableStream::getReader): Removed reader state notification.
(WebCore::ReadableStream::closed): Moved from reader to stream.
* Modules/streams/ReadableStream.h:
(WebCore::ReadableStream::reader): Added to allow reader to check whether it is locking its stream or not.
(WebCore::ReadableStream::isReadable): Added as an improvement over internalState which is removed.
(WebCore::ReadableStream::internalState): Deleted.
* Modules/streams/ReadableStreamReader.cpp:
(WebCore::ReadableStreamReader::closed):
* Modules/streams/ReadableStreamReader.h: Removed state and closed promise callbacks.
* bindings/js/JSReadableStreamControllerCustom.cpp:
(WebCore::JSReadableStreamController::close): Refactoring of internalState to isReadable.
(WebCore::JSReadableStreamController::error): Ditto.
* bindings/js/JSReadableStreamReaderCustom.cpp:
(WebCore::JSReadableStreamReader::closed): Refactoring to have the promise value as callback parameter.

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

6 years agoRemove use of deprecated AVKit SPI cancelOptimizedFullscreen.
commit-queue@webkit.org [Tue, 19 May 2015 19:59:48 +0000 (19:59 +0000)]
Remove use of deprecated AVKit SPI cancelOptimizedFullscreen.
https://bugs.webkit.org/show_bug.cgi?id=145159

Patch by Jeremy Jones <jeremyj@apple.com> on 2015-05-19
Reviewed by Eric Carlson.

Remove cancelOptimizedFullscreen, and use stopOptimizedFullscreen instead.

* platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(WebVideoFullscreenInterfaceAVKit::cleanupFullscreenInternal):
* platform/spi/cocoa/AVKitSPI.h: remove declaration.

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

6 years agoWebVideoFullscreenManagerProxy has incorrect OS_VERSION_MIN_REQUIRED conditionals.
commit-queue@webkit.org [Tue, 19 May 2015 19:56:52 +0000 (19:56 +0000)]
WebVideoFullscreenManagerProxy has incorrect OS_VERSION_MIN_REQUIRED conditionals.
https://bugs.webkit.org/show_bug.cgi?id=145158

Patch by Jeremy Jones <jeremyj@apple.com> on 2015-05-19
Reviewed by Eric Carlson.

* UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
(WebKit::WebVideoFullscreenManagerProxy::setVideoLayerFrame):

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

6 years agoArray.prototype methods must use ToLength
utatane.tea@gmail.com [Tue, 19 May 2015 19:51:46 +0000 (19:51 +0000)]
Array.prototype methods must use ToLength
https://bugs.webkit.org/show_bug.cgi?id=144128

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

Per https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength

This patch introduces ToLength and ToInteger JS implementation to encourage the DFG/FTL's inlining.
These implementations are located in GlobalObject.js.
And set to the JSGlobalObject with the private symbols @ToLength and @ToInteger manually.

* builtins/Array.prototype.js:
(every):
(forEach):
(filter):
(map):
(some):
(fill):
(find):
(findIndex):
(includes):
* builtins/ArrayConstructor.js:
(from):
* builtins/GlobalObject.js: Copied from Source/JavaScriptCore/builtins/StringConstructor.js.
(ToInteger):
(ToLength):
* builtins/StringConstructor.js:
(raw):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
* runtime/JSGlobalObjectFunctions.h:

LayoutTests:

* fast/profiler/built-in-function-calls-anonymous-expected.txt:
* fast/profiler/built-in-function-calls-user-defined-function-expected.txt:
* js/array-every-expected.txt:
* js/array-fill-expected.txt:
* js/array-filter-expected.txt:
* js/array-find-expected.txt:
* js/array-findIndex-expected.txt:
* js/array-functions-non-arrays-expected.txt:
* js/array-includes-expected.txt:
* js/script-tests/array-every.js:
(throwError):
* js/script-tests/array-fill.js:
(throwError):
* js/script-tests/array-filter.js:
(throwError):
* js/script-tests/array-find.js:
(throwError):
* js/script-tests/array-findIndex.js:
(toObject):
(throwError):
* js/script-tests/array-functions-non-arrays.js:
(throwError):
* js/script-tests/array-includes.js:

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

6 years agoFix the build of a universal binary with ARMv7k of JavaScriptCore.
mark.lam@apple.com [Tue, 19 May 2015 19:31:57 +0000 (19:31 +0000)]
Fix the build of a universal binary with ARMv7k of JavaScriptCore.
https://bugs.webkit.org/show_bug.cgi?id=145143

Reviewed by Geoffrey Garen.

The offlineasm works in 3 phases:

Phase 1:
   Parse the llint asm files for config options and desired offsets.
   Let's say the offlineasm discovers C unique options and O unique offsets.
   The offlineasm will then generate a LLIntDesiredOffsets.h file with
   C x C build configurations, each with a set of O offsets.

   Each of these build configurations is given a unique configuration index number.

Phase 2:
   Compile the LLIntDesiredOffsets.h file into a JSCLLIntOffsetsExtractor binary.

   If we're building a fat binary with 2 configurations: armv7, and armv7k,
   then the fat binary will contain 2 blobs of offsets, one for each of these
   build configurations.

Phase 3:
   Parse the llint asm files and emit asm code using the offsets that are
   extracted from the JSCLLIntOffsetsExtractor binary for the corresponding
   configuration index number.

In the pre-existing code, there are no "if ARMv7k" statements in the llint asm
source.  As a result, OFFLINE_ASM_ARMv7k is not one of the config options in
the set of C unique options.

For armv7k builds, OFFLINE_ASM_ARMv7 is also true.  As a result, for an armv7k
target, we will end up building armv7 source.  In general, this is fine except:

1. armv7k has different alignment requirements from armv7.  Hence, their offset
   values (in JSCLLIntOffsetsExtractor) will be different.

2. The offlineasm was never told that it needed to make a different configuration
   for armv7k builds.  Hence, the armv7k build of LLIntDesiredOffsets.h will
   build the armv7 configuration, and consequently, the armv7k blob of offsets in
   JSCLLIntOffsetsExtractor will have the same configuration index number as
   the armv7 blob of offsets.

In phase 3, when the offlineasm parses the JSCLLIntOffsetsExtractor fat binary
looking for the armv7 build's configuration index number, it discovers the
armv7k blob which has the same configuration number.  As a result, it
erroneously thinks the armv7k offsets are appropriate for emitting armv7 code.
Needless to say, armv7 code using armv7k offsets will lead to incorrect behavior
and all round badness.

The fix is to add a simple "if ARMv7k" statement to the llint asm files.  While
the if statement has no body, it does make the offlineasm aware of the need for
ARMv7k as a configuration option.  As a result, it will generate an armv7k
variant configuration in the LLIntDesiredOffsets.h file with its own unique
configuration index number.  With that, the JSCLLIntOffsetsExtractor fat binary
will no longer have duplicate configuration index numbers for the armv7 and
armv7k blobs of offsets, and the issue is resolved.

* llint/LLIntOfflineAsmConfig.h:
* llint/LowLevelInterpreter.asm:

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

6 years agoMerged anonymous blocks should invalidate simple line layout path.
zalan@apple.com [Tue, 19 May 2015 17:49:40 +0000 (17:49 +0000)]
Merged anonymous blocks should invalidate simple line layout path.
https://bugs.webkit.org/show_bug.cgi?id=145104
rdar://problem/20980930

Reviewed by Antti Koivisto.

When anonymous blocks are merged together, it's not guaranteed that the final block can use simple line layout.
This patch ensures that the flow block, where the other block's content gets moved to, is no longer on simple line layout path.
Whether the final flow block ends up using inline boxes or simple line layout will be determined during the next layout.

Source/WebCore:

Test: fast/block/crash-when-anonymous-blocks-are-merged-with-simple-line-layout.html

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

LayoutTests:

* fast/block/crash-when-anonymous-blocks-are-merged-with-simple-line-layout-expected.txt: Added.
* fast/block/crash-when-anonymous-blocks-are-merged-with-simple-line-layout.html: Added.

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

6 years agoCrash in WebCore::RenderLayer::updateScrollbarsAfterLayout
bdakin@apple.com [Tue, 19 May 2015 17:26:23 +0000 (17:26 +0000)]
Crash in WebCore::RenderLayer::updateScrollbarsAfterLayout
https://bugs.webkit.org/show_bug.cgi?id=145142

Reviewed by Simon Fraser.

I have not been able to reproduce this crash, but according to symbolication
m_vBar is null. It seems like this crash was probably caused by
http://trac.webkit.org/changeset/173668 which made it so that overflow:scroll
behaves like overflow:auto when the scrollbars are overlay. I can see how you
could encounter this crash with that change if the layout caused
styleRequiresScrollbar() to return true when it used to return false. Then this
code, by failing to null-check the scrollbars, assumes that
styleRequiresScrollbar() could not have changed based on a layout. But it could
change if the css changed the scrollbars to be custom or if the user managed
switch to legacy style scrollbars at just the wrong time. Or I suppose it could
also happen if the user has legacy scrollbars and the style switched from auto to
scroll during the layout.

Anyway, we should null-check  the scrollbars. This is a speculative fix.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateScrollbarsAfterLayout):

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

6 years agoGive JSString a StringView getter and start using it.
akling@apple.com [Tue, 19 May 2015 17:06:23 +0000 (17:06 +0000)]
Give JSString a StringView getter and start using it.
<https://webkit.org/b/145131>

Reviewed by Anders Carlsson.

When JSString is a substring internally, calling value(ExecState*) on it
will reify the baseString/start/length tuple into a new StringImpl.

For clients that only want to look at the characters of a JSString, but
don't actually need a reffable StringImpl, adding a light-weight StringView
getter lets them avoid constructing anything.

This patch adds JSString::view(ExecState*) and uses it in a few places.
There are many more opportunities to use this API, but let's do a few things
at a time.

* runtime/FunctionConstructor.cpp:
(JSC::constructFunctionSkippingEvalEnabledCheck):
* runtime/JSGlobalObjectFunctions.cpp:
(JSC::decode):
(JSC::parseInt):
(JSC::jsToNumber):
(JSC::parseFloat):
(JSC::globalFuncParseInt):
(JSC::globalFuncParseFloat):
(JSC::globalFuncEscape):
(JSC::globalFuncUnescape):
* runtime/JSGlobalObjectFunctions.h:
* runtime/JSONObject.cpp:
(JSC::JSONProtoFuncParse):
* runtime/JSString.cpp:
(JSC::JSString::getPrimitiveNumber):
(JSC::JSString::toNumber):
* runtime/JSString.h:
(JSC::JSRopeString::view):
(JSC::JSString::view):

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

6 years ago[SOUP] Use st_birthtime to get creation time of files on systems support it
commit-queue@webkit.org [Tue, 19 May 2015 16:37:11 +0000 (16:37 +0000)]
[SOUP] Use st_birthtime to get creation time of files on systems support it
https://bugs.webkit.org/show_bug.cgi?id=144989

Patch by Ting-Wei Lan <lantw44@gmail.com> on 2015-05-19
Reviewed by Carlos Garcia Campos.

Source/WebKit2:

FreeBSD and NetBSD have either st_birthtime field or compatiblity macro
with the same name in stat. It is better to use it instead of manually
setting xattr, which is unreliable because both operating systems and
file systems support are required.

* NetworkProcess/cache/NetworkCacheFileSystemPosix.h:
(WebKit::NetworkCache::fileTimes):
* NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp:
(WebKit::NetworkCache::IOChannel::IOChannel):

Source/WTF:

Define HAVE(STAT_BIRTHTIME) as 1 on operating systems supporting
getting creation time of files using st_birthtime in stat.

* wtf/Platform.h:

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

6 years agoUse modern for-loops in WebCore/xml.
commit-queue@webkit.org [Tue, 19 May 2015 16:29:37 +0000 (16:29 +0000)]
Use modern for-loops in WebCore/xml.
https://bugs.webkit.org/show_bug.cgi?id=145046

Patch by Hunseop Jeong <hs85.jeong@samsung.com> on 2015-05-19
Reviewed by Chris Dumez.

No new tests, no new tests.

* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::uppercaseKnownHTTPMethod):
* xml/XPathExpressionNode.cpp:
(WebCore::XPath::Expression::setSubexpressions):
* xml/XPathFunctions.cpp:
(WebCore::XPath::FunSum::evaluate):
(WebCore::XPath::populateFunctionMap):
* xml/XPathNodeSet.cpp:
(WebCore::XPath::NodeSet::traversalSort):
* xml/XPathParser.cpp:
(WebCore::XPath::populateAxisNamesMap):
* xml/XPathPath.cpp:
(WebCore::XPath::Filter::evaluate):
(WebCore::XPath::LocationPath::evaluate):
* xml/XPathPredicate.cpp:
(WebCore::XPath::EqTestOp::compare):
(WebCore::XPath::Union::evaluate):
* xml/XPathStep.cpp:
(WebCore::XPath::Step::optimize):
(WebCore::XPath::Step::predicatesAreContextListInsensitive):
(WebCore::XPath::Step::evaluate):
(WebCore::XPath::nodeMatches):
* xml/XSLStyleSheetLibxslt.cpp:
(WebCore::XSLStyleSheet::~XSLStyleSheet):
(WebCore::XSLStyleSheet::isLoading):
(WebCore::XSLStyleSheet::clearDocuments):
(WebCore::XSLStyleSheet::locateStylesheetSubResource):
* xml/XSLTProcessorLibxslt.cpp:
(WebCore::xsltParamArrayFromParameterMap):

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

6 years agoImprove text rendering of placeholder
jonlee@apple.com [Tue, 19 May 2015 16:26:04 +0000 (16:26 +0000)]
Improve text rendering of placeholder
https://bugs.webkit.org/show_bug.cgi?id=145135

Reviewed by Eric Carlson.

* Modules/mediacontrols/mediaControlsApple.css: The <p> elements of the wireless playback
text are being popped out into separate layers, causing the text to render antialiased, which
looks bad on non-retina machines. Explicitly set the background color (which is ok since the
container element for the placeholder is also black). Also extend the height out 1pt to prevent
clipping of descenders.
(audio::-webkit-media-controls-wireless-playback-text-top): Set background color to black and add
1 to the height.
(audio::-webkit-media-controls-wireless-playback-text-bottom): Ditto.

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

6 years ago[iOS] Current time display should be right-aligned
jonlee@apple.com [Tue, 19 May 2015 16:24:08 +0000 (16:24 +0000)]
[iOS] Current time display should be right-aligned
https://bugs.webkit.org/show_bug.cgi?id=145163
rdar://problem/21014339

Reviewed by Eric Carlson.

* Modules/mediacontrols/mediaControlsiOS.css: Use flex-start and flex-end
instead of right and left, similar to the Mac controls.
(video::-webkit-media-controls-current-time-display):
(video::-webkit-media-controls-time-remaining-display):

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

6 years agoAX: Select text mechanism returns results outside of text control regions
cfleizach@apple.com [Tue, 19 May 2015 15:48:17 +0000 (15:48 +0000)]
AX: Select text mechanism returns results outside of text control regions
https://bugs.webkit.org/show_bug.cgi?id=145041

Reviewed by Mario Sanchez Prada.

Source/WebCore:

The behavior of the select text mechanism (inside accessibility) should make sure that results
returned stay within text control elements if the search was initiated inside a text control element.

Test: platform/mac/accessibility/select-text-stays-inside-text-controls.html

* accessibility/AccessibilityObject.cpp:
(WebCore::rangeClosestToRange):
(WebCore::AccessibilityObject::selectText):

LayoutTests:

* platform/mac/accessibility/select-text-stays-inside-text-controls-expected.txt: Added.
* platform/mac/accessibility/select-text-stays-inside-text-controls.html: Added.

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

6 years ago[GTK] Gardening 19th May
commit-queue@webkit.org [Tue, 19 May 2015 13:26:41 +0000 (13:26 +0000)]
[GTK] Gardening 19th May
https://bugs.webkit.org/show_bug.cgi?id=145166

Unreviewed.

Patch by Marcos Chavarría Teijeiro <mchavarria@igalia.com> on 2015-05-19

* platform/gtk/TestExpectations:

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

6 years agoiOS gardening. Update "editing" image and text results, delete wk2-only results.
eric.carlson@apple.com [Tue, 19 May 2015 13:22:26 +0000 (13:22 +0000)]
iOS gardening. Update "editing" image and text results, delete wk2-only results.

Rubber-stamped by Brent Fulgham.

* platform/ios-simulator-wk2/TestExpectations:
* platform/ios-simulator-wk2/editing/deleting/delete-3775172-fix-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-3857753-fix-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-3865854-fix-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-3928305-fix-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-4083333-fix-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-and-undo-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-at-paragraph-boundaries-002-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-at-paragraph-boundaries-003-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-at-paragraph-boundaries-004-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-at-paragraph-boundaries-005-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-at-paragraph-boundaries-006-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-at-paragraph-boundaries-007-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-at-paragraph-boundaries-008-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-at-paragraph-boundaries-009-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-at-paragraph-boundaries-010-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-at-paragraph-boundaries-011-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-block-contents-003-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-001-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-002-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-003-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-004-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-005-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-006-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-007-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-008-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-009-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-010-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-011-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-012-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-013-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-014-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-015-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-016-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-017-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-018-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-019-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-020-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-021-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-022-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-023-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-024-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-br-001-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-br-003-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-br-007-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-br-008-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-br-010-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-character-001-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-contiguous-ws-001-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-first-list-item-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-hr-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-image-001-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-image-002-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-image-003-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-line-001-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-line-002-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-line-003-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-line-004-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-line-005-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-line-006-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-line-007-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-line-008-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-line-009-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-line-010-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-line-012-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-line-013-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-line-014-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-line-015-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-line-016-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-line-017-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-listitem-001-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-listitem-002-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-selection-001-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-tab-002-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-tab-003-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-to-select-table-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-trailing-ws-001-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-trailing-ws-002-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-ws-fixup-001-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-ws-fixup-002-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-ws-fixup-003-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/delete-ws-fixup-004-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/forward-delete-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/list-item-1-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/merge-different-styles-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/merge-endOfParagraph-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/merge-no-br-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/merge-unrendered-space-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/non-smart-delete-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/pruning-after-merge-2-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/smart-delete-001-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/deleting/table-cells-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/execCommand/4641880-1-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/execCommand/4641880-2-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/execCommand/create-list-with-hr-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/execCommand/indent-empty-root-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/execCommand/indent-list-item-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/execCommand/indent-selection-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/execCommand/insert-list-and-stitch-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/execCommand/insertHorizontalRule-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/execCommand/insertImage-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/execCommand/nsresponder-indent-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/execCommand/nsresponder-outdent-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/execCommand/print-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/execCommand/remove-list-from-range-selection-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/pasteboard/4989774-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/3690703-2-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/3690703-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/3690719-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/4397952-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/4889598-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/4932260-1-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/4932260-2-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/4932260-3-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/4947387-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/5195166-2-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/7152-1-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/7152-2-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/after-line-wrap-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/focus_editable_html-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/iframe-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/image-before-linebreak-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/inline-table-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/leave-requested-block-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/mixed-editability-10-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/mixed-editability-3-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/mixed-editability-4-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/mixed-editability-5-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/mixed-editability-8-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/mixed-editability-9-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/move-3875618-fix-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/move-3875641-fix-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/move-backwords-by-word-001-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/move-between-blocks-no-001-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/move-between-blocks-yes-001-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/move-by-character-001-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/move-by-character-002-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/move-by-character-003-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/move-by-character-004-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/move-by-character-005-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/move-by-character-6-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/move-by-sentence-001-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/move-past-trailing-space-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/previous-line-position-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/replaced-boundaries-1-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/replaced-boundaries-2-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/replaced-boundaries-3-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/select-all-005-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/select-all-006-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/select-box-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/select-element-paragraph-boundary-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/selection-3748164-fix-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/table-caret-1-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/table-caret-2-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/table-caret-3-expected.txt: Removed.
* platform/ios-simulator-wk2/editing/selection/unrendered-space-expected.txt: Removed.
* platform/ios-simulator/editing/deleting/delete-3608462-fix-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-3608462-fix-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-3775172-fix-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-3857753-fix-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-3857753-fix-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-3865854-fix-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-3865854-fix-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-3928305-fix-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-3928305-fix-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-4083333-fix-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-4083333-fix-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-and-undo-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-and-undo-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-002-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-002-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-003-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-003-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-004-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-004-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-005-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-005-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-006-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-006-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-007-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-007-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-008-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-008-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-009-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-009-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-010-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-010-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-011-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-011-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-block-contents-003-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-block-contents-003-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-001-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-001-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-002-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-002-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-003-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-003-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-004-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-004-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-005-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-005-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-006-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-006-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-007-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-007-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-008-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-008-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-009-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-009-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-010-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-010-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-011-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-011-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-012-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-012-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-013-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-013-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-014-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-014-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-015-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-015-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-016-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-016-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-017-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-017-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-018-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-018-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-019-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-019-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-020-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-020-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-021-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-021-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-022-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-022-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-023-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-023-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-024-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-block-merge-contents-024-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-br-001-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-br-001-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-br-003-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-br-003-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-br-007-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-br-007-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-br-008-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-br-008-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-br-010-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-br-010-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-character-001-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-character-001-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-contiguous-ws-001-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-contiguous-ws-001-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-first-list-item-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-first-list-item-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-hr-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-hr-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-image-001-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-image-001-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-image-002-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-image-002-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-image-003-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-image-003-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-line-001-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-line-001-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-line-002-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-line-002-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-line-003-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-line-003-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-line-004-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-line-004-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-line-005-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-line-005-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-line-006-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-line-006-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-line-007-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-line-007-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-line-008-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-line-008-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-line-009-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-line-009-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-line-010-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-line-010-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-line-012-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-line-012-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-line-013-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-line-013-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-line-014-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-line-014-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-line-015-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-line-015-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-line-016-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-line-016-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-line-017-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-line-017-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-listitem-001-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-listitem-001-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-listitem-002-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-listitem-002-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-selection-001-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-selection-001-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-tab-002-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-tab-002-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-tab-003-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-tab-003-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-to-select-table-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-to-select-table-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-trailing-ws-001-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-trailing-ws-001-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-trailing-ws-002-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-trailing-ws-002-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-ws-fixup-001-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-ws-fixup-001-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-ws-fixup-002-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-ws-fixup-002-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-ws-fixup-003-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-ws-fixup-003-expected.txt: Added.
* platform/ios-simulator/editing/deleting/delete-ws-fixup-004-expected.png: Added.
* platform/ios-simulator/editing/deleting/delete-ws-fixup-004-expected.txt: Added.
* platform/ios-simulator/editing/deleting/forward-delete-expected.png: Added.
* platform/ios-simulator/editing/deleting/forward-delete-expected.txt: Added.
* platform/ios-simulator/editing/deleting/list-item-1-expected.png: Added.
* platform/ios-simulator/editing/deleting/list-item-1-expected.txt: Added.
* platform/ios-simulator/editing/deleting/merge-different-styles-expected.png: Added.
* platform/ios-simulator/editing/deleting/merge-different-styles-expected.txt: Added.
* platform/ios-simulator/editing/deleting/merge-endOfParagraph-expected.png: Added.
* platform/ios-simulator/editing/deleting/merge-endOfParagraph-expected.txt: Added.
* platform/ios-simulator/editing/deleting/merge-no-br-expected.png: Added.
* platform/ios-simulator/editing/deleting/merge-no-br-expected.txt: Added.
* platform/ios-simulator/editing/deleting/merge-unrendered-space-expected.png: Added.
* platform/ios-simulator/editing/deleting/merge-unrendered-space-expected.txt: Added.
* platform/ios-simulator/editing/deleting/non-smart-delete-expected.png: Added.
* platform/ios-simulator/editing/deleting/non-smart-delete-expected.txt: Added.
* platform/ios-simulator/editing/deleting/pruning-after-merge-2-expected.png: Added.
* platform/ios-simulator/editing/deleting/pruning-after-merge-2-expected.txt: Added.
* platform/ios-simulator/editing/deleting/smart-delete-001-expected.png: Added.
* platform/ios-simulator/editing/deleting/smart-delete-001-expected.txt: Added.
* platform/ios-simulator/editing/deleting/table-cells-expected.png: Added.
* platform/ios-simulator/editing/deleting/table-cells-expected.txt: Added.
* platform/ios-simulator/editing/execCommand/4641880-1-expected.png: Added.
* platform/ios-simulator/editing/execCommand/4641880-1-expected.txt: Added.
* platform/ios-simulator/editing/execCommand/4641880-2-expected.png: Added.
* platform/ios-simulator/editing/execCommand/4641880-2-expected.txt: Added.
* platform/ios-simulator/editing/execCommand/5142012-1-expected.png: Added.
* platform/ios-simulator/editing/execCommand/5142012-1-expected.txt:
* platform/ios-simulator/editing/execCommand/create-list-with-hr-expected.png: Added.
* platform/ios-simulator/editing/execCommand/create-list-with-hr-expected.txt: Added.
* platform/ios-simulator/editing/execCommand/indent-empty-root-expected.png: Added.
* platform/ios-simulator/editing/execCommand/indent-empty-root-expected.txt: Added.
* platform/ios-simulator/editing/execCommand/indent-list-item-expected.png: Added.
* platform/ios-simulator/editing/execCommand/indent-list-item-expected.txt: Added.
* platform/ios-simulator/editing/execCommand/indent-selection-expected.png: Added.
* platform/ios-simulator/editing/execCommand/indent-selection-expected.txt: Added.
* platform/ios-simulator/editing/execCommand/insert-list-and-stitch-expected.png: Added.
* platform/ios-simulator/editing/execCommand/insert-list-and-stitch-expected.txt: Added.
* platform/ios-simulator/editing/execCommand/insertHorizontalRule-expected.png: Added.
* platform/ios-simulator/editing/execCommand/insertHorizontalRule-expected.txt: Added.
* platform/ios-simulator/editing/execCommand/insertImage-expected.png: Added.
* platform/ios-simulator/editing/execCommand/insertImage-expected.txt: Added.
* platform/ios-simulator/editing/execCommand/nsresponder-indent-expected.png: Added.
* platform/ios-simulator/editing/execCommand/nsresponder-indent-expected.txt: Added.
* platform/ios-simulator/editing/execCommand/nsresponder-outdent-expected.png: Added.
* platform/ios-simulator/editing/execCommand/nsresponder-outdent-expected.txt: Added.
* platform/ios-simulator/editing/execCommand/print-expected.png: Added.
* platform/ios-simulator/editing/execCommand/print-expected.txt: Added.
* platform/ios-simulator/editing/execCommand/remove-list-from-range-selection-expected.png: Added.
* platform/ios-simulator/editing/execCommand/remove-list-from-range-selection-expected.txt: Added.
* platform/ios-simulator/editing/pasteboard/4989774-expected.png: Added.
* platform/ios-simulator/editing/pasteboard/4989774-expected.txt: Added.
* platform/ios-simulator/editing/pasteboard/drag-drop-dead-frame-expected.png: Added.
* platform/ios-simulator/editing/selection/3690703-2-expected.png: Added.
* platform/ios-simulator/editing/selection/3690703-2-expected.txt: Added.
* platform/ios-simulator/editing/selection/3690703-expected.png: Added.
* platform/ios-simulator/editing/selection/3690703-expected.txt: Added.
* platform/ios-simulator/editing/selection/3690719-expected.png: Added.
* platform/ios-simulator/editing/selection/3690719-expected.txt: Added.
* platform/ios-simulator/editing/selection/4397952-expected.png: Added.
* platform/ios-simulator/editing/selection/4397952-expected.txt: Added.
* platform/ios-simulator/editing/selection/4889598-expected.png: Added.
* platform/ios-simulator/editing/selection/4889598-expected.txt: Added.
* platform/ios-simulator/editing/selection/4932260-1-expected.png: Added.
* platform/ios-simulator/editing/selection/4932260-1-expected.txt: Added.
* platform/ios-simulator/editing/selection/4932260-2-expected.png: Added.
* platform/ios-simulator/editing/selection/4932260-2-expected.txt: Added.
* platform/ios-simulator/editing/selection/4932260-3-expected.png: Added.
* platform/ios-simulator/editing/selection/4932260-3-expected.txt: Added.
* platform/ios-simulator/editing/selection/4947387-expected.png: Added.
* platform/ios-simulator/editing/selection/4947387-expected.txt: Added.
* platform/ios-simulator/editing/selection/5195166-2-expected.png: Added.
* platform/ios-simulator/editing/selection/5195166-2-expected.txt: Added.
* platform/ios-simulator/editing/selection/7152-1-expected.png: Added.
* platform/ios-simulator/editing/selection/7152-1-expected.txt: Added.
* platform/ios-simulator/editing/selection/7152-2-expected.png: Added.
* platform/ios-simulator/editing/selection/7152-2-expected.txt: Added.
* platform/ios-simulator/editing/selection/after-line-wrap-expected.png: Added.
* platform/ios-simulator/editing/selection/after-line-wrap-expected.txt: Added.
* platform/ios-simulator/editing/selection/extend-by-character-007-expected.txt: Added.
* platform/ios-simulator/editing/selection/focus_editable_html-expected.png: Added.
* platform/ios-simulator/editing/selection/focus_editable_html-expected.txt: Added.
* platform/ios-simulator/editing/selection/iframe-expected.png: Added.
* platform/ios-simulator/editing/selection/iframe-expected.txt: Added.
* platform/ios-simulator/editing/selection/image-before-linebreak-expected.png: Added.
* platform/ios-simulator/editing/selection/image-before-linebreak-expected.txt: Added.
* platform/ios-simulator/editing/selection/inline-table-expected.png: Added.
* platform/ios-simulator/editing/selection/inline-table-expected.txt: Added.
* platform/ios-simulator/editing/selection/leave-requested-block-expected.png: Added.
* platform/ios-simulator/editing/selection/leave-requested-block-expected.txt: Added.
* platform/ios-simulator/editing/selection/mixed-editability-10-expected.txt: Added.
* platform/ios-simulator/editing/selection/mixed-editability-3-expected.png: Added.
* platform/ios-simulator/editing/selection/mixed-editability-3-expected.txt: Added.
* platform/ios-simulator/editing/selection/mixed-editability-4-expected.png: Added.
* platform/ios-simulator/editing/selection/mixed-editability-4-expected.txt: Added.
* platform/ios-simulator/editing/selection/mixed-editability-5-expected.png: Added.
* platform/ios-simulator/editing/selection/mixed-editability-5-expected.txt: Added.
* platform/ios-simulator/editing/selection/mixed-editability-8-expected.png: Added.
* platform/ios-simulator/editing/selection/mixed-editability-8-expected.txt: Added.
* platform/ios-simulator/editing/selection/mixed-editability-9-expected.png: Added.
* platform/ios-simulator/editing/selection/mixed-editability-9-expected.txt: Added.
* platform/ios-simulator/editing/selection/move-3875618-fix-expected.png: Added.
* platform/ios-simulator/editing/selection/move-3875618-fix-expected.txt: Added.
* platform/ios-simulator/editing/selection/move-3875641-fix-expected.png: Added.
* platform/ios-simulator/editing/selection/move-3875641-fix-expected.txt: Added.
* platform/ios-simulator/editing/selection/move-backwords-by-word-001-expected.png: Added.
* platform/ios-simulator/editing/selection/move-backwords-by-word-001-expected.txt: Added.
* platform/ios-simulator/editing/selection/move-between-blocks-no-001-expected.png: Added.
* platform/ios-simulator/editing/selection/move-between-blocks-no-001-expected.txt: Added.
* platform/ios-simulator/editing/selection/move-between-blocks-yes-001-expected.png: Added.
* platform/ios-simulator/editing/selection/move-between-blocks-yes-001-expected.txt: Added.
* platform/ios-simulator/editing/selection/move-by-character-001-expected.png: Added.
* platform/ios-simulator/editing/selection/move-by-character-001-expected.txt: Added.
* platform/ios-simulator/editing/selection/move-by-character-002-expected.png: Added.
* platform/ios-simulator/editing/selection/move-by-character-002-expected.txt: Added.
* platform/ios-simulator/editing/selection/move-by-character-003-expected.png: Added.
* platform/ios-simulator/editing/selection/move-by-character-003-expected.txt: Added.
* platform/ios-simulator/editing/selection/move-by-character-004-expected.png: Added.
* platform/ios-simulator/editing/selection/move-by-character-004-expected.txt: Added.
* platform/ios-simulator/editing/selection/move-by-character-005-expected.png: Added.
* platform/ios-simulator/editing/selection/move-by-character-005-expected.txt: Added.
* platform/ios-simulator/editing/selection/move-by-character-6-expected.png: Added.
* platform/ios-simulator/editing/selection/move-by-character-6-expected.txt: Added.
* platform/ios-simulator/editing/selection/move-by-sentence-001-expected.png: Added.
* platform/ios-simulator/editing/selection/move-by-sentence-001-expected.txt: Added.
* platform/ios-simulator/editing/selection/move-past-trailing-space-expected.png: Added.
* platform/ios-simulator/editing/selection/move-past-trailing-space-expected.txt: Added.
* platform/ios-simulator/editing/selection/previous-line-position-expected.png: Added.
* platform/ios-simulator/editing/selection/previous-line-position-expected.txt: Added.
* platform/ios-simulator/editing/selection/range-between-block-and-inline-expected.png: Added.
* platform/ios-simulator/editing/selection/replaced-boundaries-1-expected.png: Added.
* platform/ios-simulator/editing/selection/replaced-boundaries-1-expected.txt: Added.
* platform/ios-simulator/editing/selection/replaced-boundaries-2-expected.png: Added.
* platform/ios-simulator/editing/selection/replaced-boundaries-2-expected.txt: Added.
* platform/ios-simulator/editing/selection/replaced-boundaries-3-expected.png: Added.
* platform/ios-simulator/editing/selection/replaced-boundaries-3-expected.txt: Added.
* platform/ios-simulator/editing/selection/select-all-005-expected.png: Added.
* platform/ios-simulator/editing/selection/select-all-005-expected.txt: Added.
* platform/ios-simulator/editing/selection/select-all-006-expected.png: Added.
* platform/ios-simulator/editing/selection/select-all-006-expected.txt: Added.
* platform/ios-simulator/editing/selection/select-box-expected.png: Added.
* platform/ios-simulator/editing/selection/select-box-expected.txt: Added.
* platform/ios-simulator/editing/selection/select-element-paragraph-boundary-expected.png: Added.
* platform/ios-simulator/editing/selection/select-element-paragraph-boundary-expected.txt: Added.
* platform/ios-simulator/editing/selection/selection-3748164-fix-expected.png: Added.
* platform/ios-simulator/editing/selection/selection-3748164-fix-expected.txt: Added.
* platform/ios-simulator/editing/selection/table-caret-1-expected.png: Added.
* platform/ios-simulator/editing/selection/table-caret-1-expected.txt: Added.
* platform/ios-simulator/editing/selection/table-caret-2-expected.png: Added.
* platform/ios-simulator/editing/selection/table-caret-2-expected.txt: Added.
* platform/ios-simulator/editing/selection/table-caret-3-expected.png: Added.
* platform/ios-simulator/editing/selection/table-caret-3-expected.txt: Added.
* platform/ios-simulator/editing/selection/unrendered-space-expected.png: Added.
* platform/ios-simulator/editing/selection/unrendered-space-expected.txt: Added.
* platform/ios-simulator/editing/unsupported-content: Added.
* platform/ios-simulator/editing/unsupported-content/list-type-after-expected.png: Added.

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

6 years agoFix tautological-compare warning in AtomicString.cpp
ossy@webkit.org [Tue, 19 May 2015 08:21:48 +0000 (08:21 +0000)]
Fix tautological-compare warning in AtomicString.cpp
https://bugs.webkit.org/show_bug.cgi?id=145120

Reviewed by Alexey Proskuryakov.

* TestWebKitAPI/Tests/WTF/AtomicString.cpp:
(TestWebKitAPI::TEST): Removed always true assert.

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

6 years agoMark static variables as const when possible
cdumez@apple.com [Tue, 19 May 2015 07:22:36 +0000 (07:22 +0000)]
Mark static variables as const when possible
https://bugs.webkit.org/show_bug.cgi?id=145161

Reviewed by Andreas Kling.

Source/WebCore:

* Modules/mediasession/WebMediaSessionManager.cpp:
* Modules/mediasource/SourceBuffer.cpp:
* Modules/webdatabase/SQLException.cpp:
* dom/DOMCoreException.cpp:
* inspector/NetworkResourcesData.cpp:
* loader/icon/IconDatabase.cpp:
(WebCore::urlForLogging):
* page/AutoscrollController.cpp:
* page/Page.cpp:
* platform/RuntimeApplicationChecksIOS.mm:
(WebCore::applicationIsAdSheet):
(WebCore::applicationIsMobileMail):
(WebCore::applicationIsMobileSafari):
(WebCore::applicationIsDumpRenderTree):
(WebCore::applicationIsWebApp):
(WebCore::applicationIsOkCupid):
(WebCore::applicationIsFacebook):
(WebCore::applicationIsEpicurious):
(WebCore::applicationIsDaijisenDictionary):
(WebCore::applicationIsNASAHD):
(WebCore::applicationIsMASH):
(WebCore::applicationIsTheEconomistOnIPhone):
(WebCore::applicationIsWebProcess):
(WebCore::applicationIsIBooksOnIOS):
* platform/audio/HRTFElevation.cpp:
* platform/audio/mac/AudioHardwareListenerMac.cpp:
(WebCore::processIsRunningPropertyDescriptor):
(WebCore::outputDevicePropertyDescriptor):
* platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm:
* platform/graphics/ca/GraphicsLayerCA.cpp:
* platform/graphics/mac/FontCacheMac.mm:
(WebCore::toCoreTextFontWeight):
(WebCore::toAppKitFontWeight):
(WebCore::toNSFontWeight):
* platform/mac/ScrollAnimatorMac.mm:
(supportsUIStateTransitionProgress):
(supportsExpansionTransitionProgress):
(supportsContentAreaScrolledInDirection):
* platform/mac/ScrollbarThemeMac.mm:
* platform/mac/WebCoreNSURLExtras.mm:
(WebCore::dataForURLComponentType):
* platform/mock/ScrollbarThemeMock.cpp:
* platform/text/icu/UTextProviderLatin1.cpp:
* platform/text/ios/LocalizedDateCache.mm:
(WebCore::LocalizedDateCache::calculateMaximumWidth):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlockFlow::matchedEndLine):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintTranslucentBorderSides):
* rendering/RenderFrameBase.cpp:
(WebCore::shouldExpandFrame):
* rendering/RenderTableSection.cpp:
* rendering/RenderThemeIOS.mm:
(WebCore::getInsetGradient):
(WebCore::getShineGradient):
(WebCore::getShadeGradient):
(WebCore::getConvexGradient):
(WebCore::getConcaveGradient):
(WebCore::getSliderTrackGradient):
(WebCore::getReadonlySliderTrackGradient):
(WebCore::getSliderThumbOpaquePressedGradient):
(WebCore::RenderThemeIOS::paintCheckboxDecorations):
(WebCore::RenderThemeIOS::paintRadioDecorations):
* rendering/RenderThemeMac.mm:
(WebCore::toFontWeight):
(WebCore::TopGradientInterpolate):
(WebCore::BottomGradientInterpolate):
(WebCore::MainGradientInterpolate):
(WebCore::TrackGradientInterpolate):

Source/WebKit2:

* Platform/IPC/MessageEncoder.cpp:
* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::networkProcessLatencyQOS):
(WebKit::networkProcessThroughputQOS):
(WebKit::webProcessLatencyQOS):
(WebKit::webProcessThroughputQOS):
* UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
(WebKit::PluginProcessProxy::pluginNeedsExecutableHeap):
(WebKit::pluginProcessLatencyQOS):
(WebKit::pluginProcessThroughputQOS):
* WebProcess/WebPage/WebPage.cpp:

Source/WTF:

* wtf/dtoa.cpp:
(WTF::pow5mult):

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

6 years ago[EFL] Remove unnecessary PLATFORM(EFL) macro in EFL specific files
gyuyoung.kim@webkit.org [Tue, 19 May 2015 07:20:04 +0000 (07:20 +0000)]
[EFL] Remove unnecessary PLATFORM(EFL) macro in EFL specific files
https://bugs.webkit.org/show_bug.cgi?id=145160

Reviewed by Csaba Osztrogonác.

* wtf/efl/EflTypedefs.h: Remove PLATFORM(EFL).
* wtf/efl/UniquePtrEfl.h: ditto.

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

6 years agoWeb Inspector: Convert stackTrace from raw payload data to an array of CallFrames
nvasilyev@apple.com [Tue, 19 May 2015 07:12:40 +0000 (07:12 +0000)]
Web Inspector: Convert stackTrace from raw payload data to an array of CallFrames
https://bugs.webkit.org/show_bug.cgi?id=144982

Reviewed by Joseph Pecoraro.

* UserInterface/Controllers/LogManager.js:
* UserInterface/Main.html:
* UserInterface/Models/CallFrame.js:
(WebInspector.CallFrame.fromPayload):
Consider an empty string url as a native code as it was in
WebInspector.ConsoleMessageView.prototype._firstNonNativeCallFrame

* UserInterface/Models/ConsoleMessage.js:
(WebInspector.ConsoleMessage):
Convert _stackTrace from an array of payload objects to WebInspector.StackTrace model.

* UserInterface/Models/StackTrace.js: Added.
(WebInspector.StackTrace):
(WebInspector.StackTrace.prototype.get callFrames):
(WebInspector.StackTrace.prototype.get firstNonNativeCallFrame): Added.
(WebInspector.StackTrace.fromPayload):
* UserInterface/Test.html:
* UserInterface/Views/CallFrameView.js:
(WebInspector.CallFrameView):
Don't show a URL when sourceCodeLocation is missing, fix webkit.org/b/145071.

* UserInterface/Views/ConsoleMessageView.js:
(WebInspector.ConsoleMessageView):
(WebInspector.ConsoleMessageView.prototype.toClipboardString):
(WebInspector.ConsoleMessageView.prototype._appendLocationLink):
(WebInspector.ConsoleMessageView.prototype._appendStackTrace):
(WebInspector.ConsoleMessageView.prototype._shouldShowStackTrace):
(WebInspector.ConsoleMessageView.prototype._linkifyCallFrame):
(WebInspector.ConsoleMessageView.prototype._firstNonNativeCallFrame): Deleted.

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

6 years agoUse Ref instead of PassRefPtr in WebCore/bindings
gyuyoung.kim@webkit.org [Tue, 19 May 2015 05:55:22 +0000 (05:55 +0000)]
Use Ref instead of PassRefPtr in WebCore/bindings
https://bugs.webkit.org/show_bug.cgi?id=144981

Reviewed by Darin Adler.

As a step to purge PassRefPtr, remove PassRefPtr in WebCore/bindings.

No new tests, no behavior changes.

* bindings/gobject/GObjectNodeFilterCondition.h:
(WebCore::GObjectNodeFilterCondition::create):
* bindings/gobject/GObjectXPathNSResolver.h:
(WebCore::GObjectXPathNSResolver::create):
* bindings/js/JSCustomXPathNSResolver.cpp:
(WebCore::JSCustomXPathNSResolver::create):
* bindings/js/JSCustomXPathNSResolver.h:
* bindings/js/JSDOMGlobalObjectTask.cpp:
* bindings/js/JSErrorHandler.h:
(WebCore::JSErrorHandler::create):
* bindings/js/JSLazyEventListener.cpp:
(WebCore::JSLazyEventListener::createForNode):
(WebCore::JSLazyEventListener::createForDOMWindow):
* bindings/js/JSLazyEventListener.h:
* bindings/js/JSMutationCallback.h:
(WebCore::JSMutationCallback::create):
* bindings/js/JSNodeFilterCondition.h:
(WebCore::JSNodeFilterCondition::create):
* bindings/js/SerializedScriptValue.cpp:
(WebCore::SerializedScriptValue::create):
(WebCore::SerializedScriptValue::numberValue):
(WebCore::SerializedScriptValue::undefinedValue):
(WebCore::SerializedScriptValue::nullValue):
* bindings/js/SerializedScriptValue.h:
* bindings/objc/ObjCEventListener.h:
* bindings/objc/ObjCEventListener.mm:
(WebCore::ObjCEventListener::wrap):
* bindings/objc/ObjCNodeFilterCondition.h:
(WebCore::ObjCNodeFilterCondition::create):

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

6 years agoBetter optimize 'if' with ternaries conditional tests.
fpizlo@apple.com [Tue, 19 May 2015 04:46:26 +0000 (04:46 +0000)]
Better optimize 'if' with ternaries conditional tests.
https://bugs.webkit.org/show_bug.cgi?id=144136

Reviewed by Benjamin Poulain.

This is the last fix I'll do for this for now. BooleanToNumber(Untyped:) where the input
is proved to be either BoolInt32 or Boolean should be optimized to just masking the
lowest bit.

This is another 37% speed-up on JSRegress/slow-ternaries.

* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileBooleanToNumber):

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

6 years ago<rdar://problem/21003555> cloberrize() is wrong for ArithRound because it doesn't...
benjamin@webkit.org [Tue, 19 May 2015 03:39:14 +0000 (03:39 +0000)]
<rdar://problem/21003555> cloberrize() is wrong for ArithRound because it doesn't account for the arith mode
https://bugs.webkit.org/show_bug.cgi?id=145147

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-05-18
Reviewed by Filip Pizlo.

Really stupid bug: ArithRound nodes with different rounding modes
were not distinguished and CSE would happily unify with a node of
a different rounding mode.

DFG::clobberize() already support additional data but I was not using it.

* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* tests/stress/math-round-arith-rounding-mode.js: Added.
(firstCareAboutZeroSecondDoesNot):
(firstDoNotCareAboutZeroSecondDoes):
(warmup):
(verifyNegativeZeroIsPreserved):

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

6 years agoAdd SpecBoolInt32 type that means "I'm an int and I'm either 0 or 1"
fpizlo@apple.com [Tue, 19 May 2015 02:30:00 +0000 (02:30 +0000)]
Add SpecBoolInt32 type that means "I'm an int and I'm either 0 or 1"
https://bugs.webkit.org/show_bug.cgi?id=145137

Reviewed by Benjamin Poulain.

It's super useful to know if an integer value could be either zero or one. We have an
immediate need for this because of Int32|Boolean uses, where knowing that the Int32 is
either 0 or 1 means that there is no actual polymorphism if you just look at the low bit
(1 behaves like true, 0 behaves like false, and the low bit of 1|true is 1, and the low
bit of 0|false is 0).

We do this by splitting the SpecInt32 type into SpecBoolInt32 and SpecNonBoolInt32. This
change doesn't have any effect on behavior, yet. But it does give us the ability to
predict and prove when values are SpecBoolInt32; it's just we don't leverage this yet.

This is perf-neutral.

* bytecode/SpeculatedType.cpp:
(JSC::dumpSpeculation):
(JSC::speculationToAbbreviatedString):
(JSC::speculationFromValue):
* bytecode/SpeculatedType.h:
(JSC::isStringOrStringObjectSpeculation):
(JSC::isBoolInt32Speculation):
(JSC::isInt32Speculation):
(JSC::isInt32OrBooleanSpeculation):
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

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

6 years ago[EFL] Fix unsequenced warning in MiniBrowser's main.c
ossy@webkit.org [Tue, 19 May 2015 02:02:10 +0000 (02:02 +0000)]
[EFL] Fix unsequenced warning in MiniBrowser's main.c
https://bugs.webkit.org/show_bug.cgi?id=145123

Reviewed by Gyuyoung Kim.

* MiniBrowser/efl/main.c:
(on_key_down):

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

6 years agoImprove coverage of platform/mac/fast/text/font-weights.html
mmaxfield@apple.com [Tue, 19 May 2015 01:49:37 +0000 (01:49 +0000)]
Improve coverage of platform/mac/fast/text/font-weights.html
https://bugs.webkit.org/show_bug.cgi?id=145152

Reviewed by Anders Carlsson.

Add coverage of italics.

* platform/mac/fast/text/font-weights-expected.txt:
* platform/mac/fast/text/font-weights.html:

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

6 years agoFix uninitialized warnings in RealtimeMediaSourceCenterOwr.cpp
ossy@webkit.org [Tue, 19 May 2015 01:39:27 +0000 (01:39 +0000)]
Fix uninitialized warnings in RealtimeMediaSourceCenterOwr.cpp
https://bugs.webkit.org/show_bug.cgi?id=145119

Reviewed by Gyuyoung Kim.

* platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp:
(WebCore::RealtimeMediaSourceCenterOwr::validateRequestConstraints):
(WebCore::RealtimeMediaSourceCenterOwr::mediaSourcesAvailable):

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

6 years ago[CMake] Ignore warnings in system headers
mcatanzaro@igalia.com [Tue, 19 May 2015 01:35:57 +0000 (01:35 +0000)]
[CMake] Ignore warnings in system headers
https://bugs.webkit.org/show_bug.cgi?id=144747

Reviewed by Darin Adler.

.:

Require CMake 2.8.12 when compiling the GTK+ port. This is because we use the
target_include_directories command (added in 2.8.11) in GTK-specific cmake files, and also
use the SYSTEM argument to the command (added in 2.8.12).

* CMakeLists.txt:

Source/JavaScriptCore:

Separate include directories into WebKit project includes and system includes. Suppress all
warnings from headers in system include directories using the SYSTEM argument to
the include_directories command.

* CMakeLists.txt:
* PlatformGTK.cmake:

Source/WebCore:

Separate include directories into WebKit project includes and system includes. Suppress all
warnings from headers in system include directories using the SYSTEM argument to
the include_directories command.

* CMakeLists.txt:
* PlatformEfl.cmake:
* PlatformGTK.cmake:
* PlatformMac.cmake:

Source/WebKit:

Separate include directories into WebKit project includes and system includes. Suppress all
warnings from headers in system include directories using the SYSTEM argument to
the include_directories command.

* CMakeLists.txt:
* PlatformMac.cmake:

Source/WebKit2:

Separate include directories into WebKit project includes and system includes. Suppress all
warnings from headers in system include directories using the SYSTEM argument to
the include_directories command.

* CMakeLists.txt:
* PlatformEfl.cmake:
* PlatformGTK.cmake:

Source/WTF:

Separate include directories into WebKit project includes and system includes. Suppress all
warnings from headers in system include directories using the SYSTEM argument to
the include_directories command.

* wtf/CMakeLists.txt:
* wtf/PlatformEfl.cmake:
* wtf/PlatformGTK.cmake:

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

6 years agoFix return-type warnings in test_ewk2_color_picker.cpp
ossy@webkit.org [Tue, 19 May 2015 01:11:59 +0000 (01:11 +0000)]
Fix return-type warnings in test_ewk2_color_picker.cpp
https://bugs.webkit.org/show_bug.cgi?id=145122

Reviewed by Gyuyoung Kim.

* UIProcess/API/efl/tests/test_ewk2_color_picker.cpp:
(EWK2ColorPickerTest::hideColorPicker):
(EWK2ColorPickerTest::hideColorPickerByRemovingElement):

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

6 years agoplatform/mac/fast/text/font-weights.html is flakey
mmaxfield@apple.com [Tue, 19 May 2015 01:00:31 +0000 (01:00 +0000)]
platform/mac/fast/text/font-weights.html is flakey
https://bugs.webkit.org/show_bug.cgi?id=145149

Reviewed by Alexey Proskuryakov.

* platform/mac/TestExpectations:

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

6 years agoREGRESSION: v2 UI reports a higher memory usage
rniwa@webkit.org [Tue, 19 May 2015 00:24:19 +0000 (00:24 +0000)]
REGRESSION: v2 UI reports a higher memory usage
https://bugs.webkit.org/show_bug.cgi?id=145151

Reviewed by Chris Dumez.

The bug was caused by v2 UI using 1000 to divide the number of bytes instead of by 1024 as done in v1.
Fixed the bug by manually implementing the formatter as done in v1.

* public/v2/manifest.js:
(App.Manfiest._formatBytes): Added.
(App.Manifest._formatFetchedData): Use _formatByte instead of format('s').

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

6 years agoprepare-ChangeLog reports function above deleted function as deleted; uninitialized...
dbates@webkit.org [Mon, 18 May 2015 23:56:24 +0000 (23:56 +0000)]
prepare-ChangeLog reports function above deleted function as deleted; uninitialized value warning
when staged non-empty file for commit
https://bugs.webkit.org/show_bug.cgi?id=145082

Reviewed by Darin Adler.

Fixes two issues when running prepare-ChangeLog:
    1. The function above a deleted function is reported as changed.
    2. With a Git checkout of WebKit, a Perl uninitialized value warning is emitted when
    a new non-empty file is staged for commit (e.g. extractLineRangeBeforeAndAfterChange.pl,
    included in this patch).

Simplify code by using unified diff parsing logic for both SVN and Git support. Currently
prepare-ChangeLog has logic to parse normal diff- and unified diff- chunk range lines as
generated by `svn diff` and `git diff`, respectively. The logic for parsing these formats
has correctness issues. We should make use of the VCSUtil::parseChunkRange() to parse
chunk range lines of a unified diff as opposed to having specialized logic in prepare-ChangeLog.
VCSUtil::parseChunkRange() has existing test coverage.

* Scripts/prepare-ChangeLog:
(generateFunctionLists): Only add a line range to %line_ranges_before_changed, %line_ranges_after_changed
when the beginning line number, ending line number >= 1. Modified for-loop condition to iterate over
all the files represented by %line_ranges_before_changed and %line_ranges_after_changed so that we
examine files that only have deletions. Currently this works as a side effect of the behavior of
extractLineRangeAfterChange(), which always returns a well-formed (though nonsensical) line range for
a change that represents a deletion (e.g. extractLineRangeAfterChange("@@ -166,6 +165,0 @@") => [165, 165]).
(diffCommand): Generate a unified diff instead of a normal diff when using a SVN checkout of WebKit.
(extractLineRangeAfterChange): Remove logic to parse a normal diff chunk range line and write
the logic to parse a unified diff chunk range line in terms of VCSUtil::parseChunkRange().
We return (-1, -1) when the change represents a deletion.
(extractLineRangeBeforeChange): Remove logic to parse a normal diff chunk range line and write
the logic to parse a unified diff chunk range line in terms of VCSUtil::parseChunkRange().
We return (-1, -1) when the change represents an addition.
* Scripts/webkitperl/prepare-ChangeLog_unittest/extractLineRangeBeforeAndAfterChange.pl: Added;
unit tests.

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

6 years agoAddressing post-review comments on r184353
mmaxfield@apple.com [Mon, 18 May 2015 23:16:15 +0000 (23:16 +0000)]
Addressing post-review comments on r184353
https://bugs.webkit.org/show_bug.cgi?id=145146

Reviewed by Benjamin Poulain.

Source/WebCore:

See per-file comments.

No new tests because there is no behavior change.

* platform/graphics/mac/FontCacheMac.mm:
(WebCore::fontWithFamilySpecialCase): Use equalIgnoringASCIICase() AtomicString overload.
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::updateCachedSystemFontDescription): Implement Ben's ideas for
cheaply constructing AtomicStrings only when necessary.

Source/WTF:

Create an overload for equalIgnoringASCIICase() for AtomicString and string literals.

* wtf/text/AtomicString.h:
(WTF::equalIgnoringASCIICase):

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

6 years ago[ES6] Arrow function syntax. Feature flag for arrow function
commit-queue@webkit.org [Mon, 18 May 2015 22:53:08 +0000 (22:53 +0000)]
[ES6] Arrow function syntax. Feature flag for arrow function
https://bugs.webkit.org/show_bug.cgi?id=145108

Patch by Skachkov Alexandr <gskachkov@gmail.com> on 2015-05-18
Reviewed by Ryosuke Niwa.

Added feature flag ENABLE_ES6_ARROWFUNCTION_SYNTAX for arrow function

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:

Source/WTF:

* wtf/FeatureDefines.h:

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

6 years agoWKWebsiteDataStore should fully support session storage
andersca@apple.com [Mon, 18 May 2015 22:39:00 +0000 (22:39 +0000)]
WKWebsiteDataStore should fully support session storage
https://bugs.webkit.org/show_bug.cgi?id=145145
rdar://problem/10690447

Reviewed by Sam Weinig.

Add a session store data type and handle it when clearing and fetching data.

* Shared/WebsiteData/WebsiteDataTypes.h:
* UIProcess/API/Cocoa/WKWebsiteDataRecord.h:
* UIProcess/API/Cocoa/WKWebsiteDataRecord.mm:
(dataTypesToString):
* UIProcess/API/Cocoa/WKWebsiteDataRecordInternal.h:
(WebKit::toWebsiteDataTypes):
(WebKit::toWKWebsiteDataTypes):
* UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(+[WKWebsiteDataStore allWebsiteDataTypes]):
* UIProcess/Storage/StorageManager.cpp:
(WebKit::StorageManager::SessionStorageNamespace::origins):
(WebKit::StorageManager::SessionStorageNamespace::clearStorageAreasMatchingOrigin):
(WebKit::StorageManager::SessionStorageNamespace::clearAllStorageAreas):
(WebKit::StorageManager::getSessionStorageOrigins):
(WebKit::StorageManager::deleteSessionStorageOrigins):
(WebKit::StorageManager::deleteSessionStorageEntriesForOrigins):
* UIProcess/Storage/StorageManager.h:
* UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::fetchData):
(WebKit::WebsiteDataStore::removeData):

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

6 years agoWeb Inspector: Improve Reliability of Closing and Reopening Elements Tab
commit-queue@webkit.org [Mon, 18 May 2015 22:16:59 +0000 (22:16 +0000)]
Web Inspector: Improve Reliability of Closing and Reopening Elements Tab
https://bugs.webkit.org/show_bug.cgi?id=145139

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-05-18
Reviewed by Timothy Hatcher.

* UserInterface/Views/DOMTreeElement.js:
(WebInspector.DOMTreeElement.prototype.highlightSearchResults):
(WebInspector.DOMTreeElement.prototype.hideSearchHighlights):
(WebInspector.DOMTreeElement.prototype.emphasizeSearchHighlight.animationEnded):
(WebInspector.DOMTreeElement.prototype.emphasizeSearchHighlight):
(WebInspector.DOMTreeElement.prototype._updateChildren):
(WebInspector.DOMTreeElement.prototype.adjustCollapsedRange):
(WebInspector.DOMTreeElement.prototype._startEditingAsHTML.dispose):
(WebInspector.DOMTreeElement.prototype._startEditingAsHTML):
(WebInspector.DOMTreeElement.prototype.updateTitle):
Stop using the `delete` operator.

* UserInterface/Views/DOMTreeOutline.js:
(WebInspector.DOMTreeOutline.prototype.setVisible):
Trigger an update when the outline is made visible.

* UserInterface/Views/FrameDOMTreeContentView.js:
(WebInspector.FrameDOMTreeContentView.prototype._rootDOMNodeAvailable):
Provide a reasonable default selection if there is no body or document element.
For example in an augmented DOM tree.

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

6 years agoFollowup to: Networking process on iOS can be suspended and never exit
beidson@apple.com [Mon, 18 May 2015 22:09:53 +0000 (22:09 +0000)]
Followup to: Networking process on iOS can be suspended and never exit
https://bugs.webkit.org/show_bug.cgi?id=144971.

Unreviewed. Fixing API tests that revealed the unintentional change in behavior.

* Shared/ChildProcessProxy.cpp:
(WebKit::ChildProcessProxy::shutDownProcess): The on WebProcessProxy code path that this
  was adopted from had an m_connection null check, and that null check needs to remain.

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

6 years agoREGRESSION(142590): Scroll-snap points are improperly snapping to earlier index values
bfulgham@apple.com [Mon, 18 May 2015 22:01:23 +0000 (22:01 +0000)]
REGRESSION(142590): Scroll-snap points are improperly snapping to earlier index values
https://bugs.webkit.org/show_bug.cgi?id=145140
<rdar://problem/21006738>

Reviewed by Beth Dakin.

The new "nearestActiveSnapPoint" logic is firing while scroll snap animations are running. We need
to add an "isScrollSnapInProgress" predicate, much like the existing "isRubberBandInProgress" to avoid
certain "fix-up" logic that we don't want running while we are in the process of moving to a new position.

* platform/ScrollAnimator.h:
(WebCore::ScrollAnimator::ScrollAnimator::isScrollSnapInProgress): Added.
* platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::updateScrollSnapState): If we are in the midst of a scroll snap operation,
do not attempt to reset position to the current active snap point.
* platform/cocoa/ScrollController.h:
* platform/cocoa/ScrollController.mm:
(WebCore::ScrollController::isScrollSnapInProgress): Added.
* platform/mac/ScrollAnimatorMac.h:
* platform/mac/ScrollAnimatorMac.mm:
(WebCore::ScrollAnimatorMac::isScrollSnapInProgress): Added.

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

6 years agoAdd ATS keys to MiniBrowser
andersca@apple.com [Mon, 18 May 2015 21:28:52 +0000 (21:28 +0000)]
Add ATS keys to MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=145141

Reviewed by Sam Weinig.

* MiniBrowser/mac/Info.plist:

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

6 years ago[JSC] When entering a CheckTierUp without OSREntry, force the CheckTierUp for the...
benjamin@webkit.org [Mon, 18 May 2015 20:45:34 +0000 (20:45 +0000)]
[JSC] When entering a CheckTierUp without OSREntry, force the CheckTierUp for the outer loops with OSR Entry
https://bugs.webkit.org/show_bug.cgi?id=145092

Reviewed by Filip Pizlo.

When we have a hot loop without OSR Entry inside a slower loop that support OSR Entry,
we get the inside loop driving the tierUpCounter and we have very little chance of
doing a CheckTierUp on the outer loop. In turn, this give almost no opportunity to tier
up in the outer loop and OSR Enter there.

This patches changes CheckTierUp to force its outer loops to do a CheckTierUp themselves.

To do that, CheckTierUp sets a flag "nestedTriggerIsSet" to force the outer loop to
enter their CheckTierUp regardless of the tier-up counter.

* bytecode/ExecutionCounter.cpp:
(JSC::ExecutionCounter<countingVariant>::setThreshold):
This is somewhat unrelated. This assertion is incorrect because it relies on
m_counter, which changes on an other thread.

I have hit it a couple of times with this patch because we are a bit more aggressive
on CheckTierUp. What happens is:
1) ExecutionCounter<countingVariant>::checkIfThresholdCrossedAndSet() first checks
   hasCrossedThreshold(), and it is false.
2) On the main thread, the hot loops keeps running and the counter becomes large
   enough to cross the threshold.
3) ExecutionCounter<countingVariant>::checkIfThresholdCrossedAndSet() runs the next
   test, setThreshold(), where the assertion is. Since the counter is now large enough,
   the assertion fails.

* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):

* dfg/DFGJITCode.h:
I used a uint8_t instead of a boolean to make the code generation clearer
in DFGSpeculativeJIT64.

* dfg/DFGNodeType.h:
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:

* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
This is a bit annoying: we have the NaturalLoops analysis that provides us
everything we need to know about loops, but the TierUpCheck are conservative
and set on LoopHint.

To make the two work together, we first find all the CheckTierUp that cannot
OSR enter and we keep a list of all the natural loops containing them.

Then we do a second pass over the LoopHints, get their NaturalLoop, and check
if it contains a loop that cannot OSR enter.

* dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGTierUpCheckInjectionPhase.cpp:
(JSC::DFG::TierUpCheckInjectionPhase::run):
(JSC::DFG::TierUpCheckInjectionPhase::canOSREnterAtLoopHint):

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

6 years agoAdd a Int-or-Boolean speculation to Branch
fpizlo@apple.com [Mon, 18 May 2015 20:41:54 +0000 (20:41 +0000)]
Add a Int-or-Boolean speculation to Branch
https://bugs.webkit.org/show_bug.cgi?id=145134

Reviewed by Benjamin Poulain.

Source/JavaScriptCore:

After https://bugs.webkit.org/show_bug.cgi?id=126778 we no longer have a reason not to do the
int-or-boolean optimization that we already do everywhere else.

* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):

LayoutTests:

Added the reduced asm.js test case from https://bugs.webkit.org/show_bug.cgi?id=144136. We don't yet
run it as fast as we should but this is a big step.

* js/regress/script-tests/slow-ternaries.js: Added.
(.f):
(asmMod):
* js/regress/slow-ternaries-expected.txt: Added.
* js/regress/slow-ternaries.html: Added.

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

6 years agoWeb Inspector: Tab Restoration incorrectly makes ContentViews "shown" in background...
commit-queue@webkit.org [Mon, 18 May 2015 19:53:28 +0000 (19:53 +0000)]
Web Inspector: Tab Restoration incorrectly makes ContentViews "shown" in background tabs
https://bugs.webkit.org/show_bug.cgi?id=145080

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-05-18
Reviewed by Timothy Hatcher.

Many tabs have their own content browser / navigation sidebar. During
state restoration, each tab would immediately try to restore an
appropriate ContentView after the load / navigation. However, in doing
so, we weren't respecting whether or not the Tab the ContentBrowser
was in was hidden or not, so ContentViews in background tags were
still being treated as shown/visible.

This patch changes state restoration to only affect the foreground
tab, and be delayed on all background tabs until that tab is shown.
This reduces the amount of work on load and navigation to just a
single tab instead of all tabs. Most importantly, it avoids having
performing work on ContentBrowsers that are non-visible, so state
restoration only happens for visible ContentBrowsers.

For simplicity, in the case of a delayed tab restoration triggered
by the user switching tabs, we don't try twice (like we occasionally
do on load/reload). We could add back some hueristic here if needed.

* UserInterface/Base/Main.js:
(WebInspector.contentLoaded):
(WebInspector.activateExtraDomains):
(WebInspector._mainResourceDidChange):
(WebInspector._restoreCookieForOpenTabs):
* UserInterface/Views/NavigationSidebarPanel.js:

* UserInterface/Views/TabContentView.js:
(WebInspector.TabContentView.prototype.shown):
(WebInspector.TabContentView.prototype.restoreStateFromCookie):
(WebInspector.TabContentView.prototype.saveStateToCookie):
When asked to restore state, save that logic until the next time the tab is shown.

* UserInterface/Views/TextEditor.js:
(WebInspector.TextEditor.prototype.get visible):
* UserInterface/Views/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor.prototype.editingControllerDidStartEditing):
(WebInspector.SourceCodeTextEditor.prototype._setTypeTokenAnnotatorEnabledState): Deleted.
Although this didn't actually catch the issue, it could potentially
catch other issues in the future. We don't want to enable the annotators
in a non-visible text editor, as it could be a performance issue.

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

6 years ago[GTK] URTBF after r184503.
ossy@webkit.org [Mon, 18 May 2015 19:24:42 +0000 (19:24 +0000)]
[GTK] URTBF after r184503.

* PlatformGTK.cmake:

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

6 years agoNetworking process on iOS can be suspended and never exit.
beidson@apple.com [Mon, 18 May 2015 17:53:48 +0000 (17:53 +0000)]
Networking process on iOS can be suspended and never exit.
<rdar://problem/20368630> and https://bugs.webkit.org/show_bug.cgi?id=144971

Reviewed by Darin Adler.

There's a few issues here.

1 - When the NetworkProcessProxy goes away, it takes its process assertion with it. This causes
    the Network process to suspend indefinitely, unable to ever respond to IPC::Connection callbacks.
    We already solved this with WebProcess with a watchdog timer keeping both the process assertion
    and xpc_connection alive while the process shuts down. This patch expands that to the network
    process, and it will be easy to expand that to database and plugin processes doing forward.

2 - All of our child processes either decide to self-terminate or listen for their connection to
    close at which point they terminate. This leads to various races. We should
    move to a model where the UI process explicitly tells them to shutdown, and this patch starts us
    down that path.

* CMakeLists.txt:
* DerivedSources.make:
* WebKit2.xcodeproj/project.pbxproj:

* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::didReceiveMessage): Send ChildProcess messages to ChildProcess.

* Shared/ChildProcess.cpp:
(WebKit::ChildProcess::shutDown): For now, just terminate the process. In the future have the
  process do cleanup work before it is terminated.
* Shared/ChildProcess.h:
* Shared/ChildProcess.messages.in: Added.

* Shared/ChildProcessProxy.cpp:
(WebKit::ChildProcessProxy::shutDownProcess): Set a watchdog and - if possible - explicitly message
  the process to ShutDown.
(WebKit::ChildProcessProxy::abortProcessLaunchIfNeeded): Deleted.
* Shared/ChildProcessProxy.h:

* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::~WebProcessPool): Explicitly tell the network process to shut down.

* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::removeWebPage): Move abortProcessLaunchIfNeeded() and the watchdog timer
  code to ChildProcessProxy::shutDownProcess.

* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::didReceiveMessage): Send ChildProcess messages to ChildProcess::didReceiveMessage.

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

6 years ago[JSC] Speed up URL encode/decode by using bitmaps instead of strchr().
akling@apple.com [Mon, 18 May 2015 17:46:43 +0000 (17:46 +0000)]
[JSC] Speed up URL encode/decode by using bitmaps instead of strchr().
<https://webkit.org/b/145115>

Reviewed by Anders Carlsson.

We were calling strchr() for every character when doing URL encoding/decoding and it stood out
like a sore O(n) thumb in Instruments. Optimize this by using a Bitmap<256> instead.

5.5% progression on Kraken/stanford-crypto-sha256-iterative.

* runtime/JSGlobalObjectFunctions.cpp:
(JSC::makeCharacterBitmap):
(JSC::encode):
(JSC::decode):
(JSC::globalFuncDecodeURI):
(JSC::globalFuncDecodeURIComponent):
(JSC::globalFuncEncodeURI):
(JSC::globalFuncEncodeURIComponent):
(JSC::globalFuncEscape):

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

6 years agoNetwork Cache: Make Data::adoptMap take the ownership of the file descriptor
carlosgc@webkit.org [Mon, 18 May 2015 06:31:25 +0000 (06:31 +0000)]
Network Cache: Make Data::adoptMap take the ownership of the file descriptor
https://bugs.webkit.org/show_bug.cgi?id=144950

Reviewed by Antti Koivisto.

It will be required to implement ShareableResource for soup
network backend. Also move the common code of Data to a common
file and add mapToFile(). The mapFile version that receives a file
descriptor has been renamed to adoptAndMapFile().

* CMakeLists.txt: Add new file to compilation.
* NetworkProcess/cache/NetworkCacheBlobStorage.cpp:
(WebKit::NetworkCache::BlobStorage::add): Use mapToFile().
* NetworkProcess/cache/NetworkCacheData.cpp: Added.
(WebKit::NetworkCache::Data::mapToFile): Write the data to the
given file and map it.
(WebKit::NetworkCache::mapFile):
(WebKit::NetworkCache::adoptAndMapFile):
(WebKit::NetworkCache::computeSHA1):
(WebKit::NetworkCache::bytesEqual):
* NetworkProcess/cache/NetworkCacheData.h:
* NetworkProcess/cache/NetworkCacheDataCocoa.mm:
(WebKit::NetworkCache::Data::adoptMap): Close the file descriptor.
* NetworkProcess/cache/NetworkCacheDataSoup.cpp:
(WebKit::NetworkCache::Data::Data): Use a constructor that
receives a file descriptor instead of the one receiving
Backing. If the file descriptor is not -1 then the Data is a map.
(WebKit::NetworkCache::MapWrapper::~MapWrapper): Also close the
file descriptor.
(WebKit::NetworkCache::Data::adoptMap): Pass the file descriptor
to the MapWrapper and create the Data passing the file descriptor.
* UIProcess/API/APIUserContentExtensionStore.cpp:
(API::openAndMapContentExtension): Use mapFile that receives a
file path.
(API::compiledToFile): Use adoptAndMapFile() and don't close the
descriptor.

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