WebKit-https.git
5 years agoFix www redirect again.
timothy@apple.com [Sat, 5 Dec 2015 21:41:09 +0000 (21:41 +0000)]
Fix www redirect again.

* wp-content/themes/webkit/.htaccess:

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

5 years agoFix www redirect when https was used and restore status URL code.
timothy@apple.com [Sat, 5 Dec 2015 21:39:41 +0000 (21:39 +0000)]
Fix www redirect when https was used and restore status URL code.

* wp-content/themes/webkit/.htaccess:
* wp-content/themes/webkit/status.php:

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

5 years agoAnother attempt to fix a 404 error when the site loads via www.webkit.org.
timothy@apple.com [Sat, 5 Dec 2015 21:26:29 +0000 (21:26 +0000)]
Another attempt to fix a 404 error when the site loads via webkit.org.

* wp-content/themes/webkit/status.php:

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

5 years agoFix a 404 error when the site loads via www.webkit.org.
timothy@apple.com [Sat, 5 Dec 2015 21:17:45 +0000 (21:17 +0000)]
Fix a 404 error when the site loads via webkit.org.

* wp-content/themes/webkit/status.php:

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

5 years agoprepare-ChangeLog: Fix some warning messages when using svn
ddkilzer@apple.com [Sat, 5 Dec 2015 17:08:20 +0000 (17:08 +0000)]
prepare-ChangeLog: Fix some warning messages when using svn
<http://webkit.org/b/151914>

Reviewed by Daniel Bates.

* Scripts/prepare-ChangeLog:
(generateFunctionLists): Simplify logic so that we never call
normalizePath() with an undefined value.
(attributeCommand): Quote $subPath for the shell so that we
don't try to run "svn propget" on invalid paths.

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

5 years agoREGRESSION (r193487): Modern IDB: storage/indexeddb/index-multientry.html crashes
ddkilzer@apple.com [Sat, 5 Dec 2015 13:53:27 +0000 (13:53 +0000)]
REGRESSION (r193487): Modern IDB: storage/indexeddb/index-multientry.html crashes

* platform/mac-wk1/TestExpectations: Skip test that crashes
on every run: storage/indexeddb/index-multientry.html.

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

5 years agoRemove CORETEXT_WEB_FONTS
mmaxfield@apple.com [Sat, 5 Dec 2015 07:55:41 +0000 (07:55 +0000)]
Remove CORETEXT_WEB_FONTS
https://bugs.webkit.org/show_bug.cgi?id=151891

Reviewed by Simon Fraser.

The only platform where this was turned off (Mavericks) is no longer supported.

No new tests because there is no behavior difference.

* platform/graphics/cocoa/FontCocoa.mm:
(WebCore::Font::platformCreateScaledFont): Deleted.
* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::registeredFont):
(WebCore::FontPlatformData::ctFont):
* platform/graphics/mac/FontCustomPlatformData.cpp:
(WebCore::FontCustomPlatformData::fontPlatformData): Deleted.
(WebCore::createFontCustomPlatformData): Deleted.
* platform/graphics/mac/FontCustomPlatformData.h:
(WebCore::FontCustomPlatformData::FontCustomPlatformData): Deleted.
* platform/text/TextFlags.h:

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

5 years agoGarbage in page tiles when document is too long.
zalan@apple.com [Sat, 5 Dec 2015 07:11:16 +0000 (07:11 +0000)]
Garbage in page tiles when document is too long.
https://bugs.webkit.org/show_bug.cgi?id=151906
rdar://problem/23695858

Reviewed by Simon Fraser.

Source/WebCore:

This patch partially fixes the broken concept(webkit.org/b/151908) of having a nearlyMax/2 sized rectangle to define infiniteness.
(see LayoutRect::infiniteRect() and ClipRect::isInfinite())

Covered by existing test.

* rendering/ClipRect.h: Branch for infinite clipping.
(WebCore::ClipRect::intersect):
(WebCore::ClipRect::intersects):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::clipToRect): Do not clip when clipping is infinite.
(WebCore::RenderLayer::restoreClip):
(WebCore::RenderLayer::calculateClipRects):

LayoutTests:

* platform/ios-simulator/fast/block/float/overhanging-tall-block-expected.txt:
* platform/mac-mavericks/fast/block/float/overhanging-tall-block-expected.txt:
* platform/mac/fast/block/float/overhanging-tall-block-expected.txt:

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

5 years agoModern IDB: Add some more custom exception messages, passing some more tests.
beidson@apple.com [Sat, 5 Dec 2015 05:25:11 +0000 (05:25 +0000)]
Modern IDB: Add some more custom exception messages, passing some more tests.
https://bugs.webkit.org/show_bug.cgi?id=151898

Reviewed by Alex Christensen.

Source/WebCore:

No new tests (Some failing tests now pass).

* Modules/indexeddb/client/IDBTransactionImpl.cpp:
(WebCore::IDBClient::IDBTransaction::objectStore):

LayoutTests:

* platform/mac-wk1/TestExpectations:
* storage/indexeddb/keypath-arrays-expected.txt:
* storage/indexeddb/noblobs-expected.txt:
* storage/indexeddb/object-lookups-in-versionchange-expected.txt:
* storage/indexeddb/request-result-cache-expected.txt:
* storage/indexeddb/transaction-after-close-expected.txt:
* storage/indexeddb/transaction-and-objectstore-calls-expected.txt:
* storage/indexeddb/transaction-read-only-expected.txt:

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

5 years agoTestNetscapePlugIn: Fix remaining static analyzer warnings
ddkilzer@apple.com [Sat, 5 Dec 2015 04:31:49 +0000 (04:31 +0000)]
TestNetscapePlugIn: Fix remaining static analyzer warnings
<http://webkit.org/b/151888>

Reviewed by Alexey Proskuryakov.

Fixes the following static analyzer warnings:
    Tools/DumpRenderTree/TestNetscapePlugIn/main.cpp:101:9: warning: Called function pointer is null (null dereference)
            CRASH();
            ^~~~~~~
    Tools/DumpRenderTree/TestNetscapePlugIn/main.cpp:46:5: note: expanded from macro 'CRASH'
        ((void(*)())0)(); /* More reliable, but doesn't say BBADBEEF */ \
        ^~~~~~~~~~~~~~~~
    Tools/DumpRenderTree/TestNetscapePlugIn/main.cpp:375:12: warning: Access to field 'pluginTest' results in a dereference of a null pointer (loaded from variable 'obj')
        return obj->pluginTest->NPP_SetWindow(window);
               ^~~~~~~~~~~~~~~
    2 warnings generated.

* DumpRenderTree/TestNetscapePlugIn/main.cpp:
(CRASH): Use __builtin_trap() for gcc/clang.
(NPP_SetWindow): Add early return if obj is nullptr.

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

5 years agoUnreviewed, rolling out r193486.
commit-queue@webkit.org [Sat, 5 Dec 2015 03:29:36 +0000 (03:29 +0000)]
Unreviewed, rolling out r193486.
https://bugs.webkit.org/show_bug.cgi?id=151904

Causes Infinite Recursion in Timeline Recording (Requested by
JoePeck on #webkit).

Reverted changeset:

"Web Inspector: when a marked-dirty subview is attached to a
parent View, dirtyDescendantsCount gets out of sync"
https://bugs.webkit.org/show_bug.cgi?id=151876
http://trac.webkit.org/changeset/193486

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

5 years agoWeb Inspector: Uncaught Exception with Reload shortcut in JSContext Inspector
commit-queue@webkit.org [Sat, 5 Dec 2015 03:20:38 +0000 (03:20 +0000)]
Web Inspector: Uncaught Exception with Reload shortcut in JSContext Inspector
https://bugs.webkit.org/show_bug.cgi?id=151896

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

* UserInterface/Base/Main.js:
(WebInspector.contentLoaded):
Do not implicitly prevent default on these keyboard shortcuts
so we can system beep if we do not do anything.

(WebInspector._reloadPage):
(WebInspector._reloadPageIgnoringCache):
Bail if there is no PageAgent without preventing default for
a beep system beep. Prevent default if we did something.

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

5 years ago[JSC] Some more cleanup of FTLB3Output
benjamin@webkit.org [Sat, 5 Dec 2015 02:57:03 +0000 (02:57 +0000)]
[JSC] Some more cleanup of FTLB3Output
https://bugs.webkit.org/show_bug.cgi?id=151834

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

* ftl/FTLB3Output.h:
(JSC::FTL::Output::trap):
(JSC::FTL::Output::stackmapIntrinsic): Deleted.
(JSC::FTL::Output::frameAddressIntrinsic): Deleted.
(JSC::FTL::Output::patchpointInt64Intrinsic): Deleted.
(JSC::FTL::Output::patchpointVoidIntrinsic): Deleted.
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::probe):

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

5 years ago[JSC] Fix Value::returnsBool() after r193436
benjamin@webkit.org [Sat, 5 Dec 2015 02:26:38 +0000 (02:26 +0000)]
[JSC] Fix Value::returnsBool() after r193436
https://bugs.webkit.org/show_bug.cgi?id=151902

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-12-04
Reviewed by Saam Barati.

I forgot to carry a test from Branch and Select :(

* b3/B3Value.cpp:
(JSC::B3::Value::returnsBool):

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

5 years agoPlace an upper bound on canvas pixel count
bfulgham@apple.com [Sat, 5 Dec 2015 01:45:33 +0000 (01:45 +0000)]
Place an upper bound on canvas pixel count
https://bugs.webkit.org/show_bug.cgi?id=151825
<rdar://problem/23324916>

Reviewed by Simon Fraser.

Malformed JavaScript can attempt to create lots of canvas contexts. Limit the amount of memory
we will use for this purpose to some percentage of system RAM.

* html/HTMLCanvasElement.cpp:
(WebCore::removeFromActivePixelMemory): Added helper function
(WebCore::HTMLCanvasElement::~HTMLCanvasElement): Call new 'releaseImageBufferAndContext' method
to ensure ImageBuffer and graphics context state are properly cleaned up.
(WebCore::maxActivePixels): Use one quarter of the system RAM, or 1 GB (whichever is more) as
an upper bound on active pixel memory.
(WebCore::HTMLCanvasElement::getContext): If we are attempting to create a context that will cause
us to exceed the allowed active pixel count, fail.
(WebCore::HTMLCanvasElement::releaseImageBufferAndContext): Added helper function
(WebCore::HTMLCanvasElement::setSurfaceSize): Use the new 'releaseImageBufferAndContext' method
to handle active pixel memory counts.
(WebCore::HTMLCanvasElement::createImageBuffer): Refuse to create a backing buffer if it will
exceed our available pixel memory.

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

5 years agoCrash when secondary clicking on a link on yahoo.com
andersca@apple.com [Sat, 5 Dec 2015 01:45:27 +0000 (01:45 +0000)]
Crash when secondary clicking on a link on yahoo.com
https://bugs.webkit.org/show_bug.cgi?id=151900
rdar://problem/23765149

Reviewed by Beth Dakin.

Don't use +[NSURL URLWithString:] since it doesn't handle invalid URLs as well as WebCore::URL.

* UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::createShareMenuItem):

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

5 years agoFix toggling so hidden links are not clickable still.
timothy@apple.com [Sat, 5 Dec 2015 01:35:47 +0000 (01:35 +0000)]
Fix toggling so hidden links are not clickable still.

* wp-content/themes/webkit/status.php:

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

5 years agoFix another place where feature status internal reference links were wrong.
timothy@apple.com [Sat, 5 Dec 2015 01:23:41 +0000 (01:23 +0000)]
Fix another place where feature status internal reference links were wrong.

* wp-content/themes/webkit/status.php:

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

5 years agoModern IDB: Add some more custom exception messages, passing some more tests.
beidson@apple.com [Sat, 5 Dec 2015 01:21:28 +0000 (01:21 +0000)]
Modern IDB: Add some more custom exception messages, passing some more tests.
https://bugs.webkit.org/show_bug.cgi?id=151895

Reviewed by Alex Christensen.

Source/WebCore:

No new tests (Some failing tests now pass).

* Modules/indexeddb/client/IDBDatabaseImpl.cpp:
(WebCore::IDBClient::IDBDatabase::transaction):

* Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
(WebCore::IDBClient::IDBObjectStore::deleteIndex):

LayoutTests:

* platform/mac-wk1/TestExpectations:
* storage/indexeddb/aborted-versionchange-closes-expected.txt:
* storage/indexeddb/cursor-continue-dir-expected.txt:
* storage/indexeddb/cursor-continue-expected.txt:
* storage/indexeddb/deleteIndex-expected.txt:
* storage/indexeddb/modern/idbdatabase-transaction-failures-expected.txt:

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

5 years ago[INTL] Implement Number.prototype.toLocaleString in ECMA-402
commit-queue@webkit.org [Sat, 5 Dec 2015 01:14:03 +0000 (01:14 +0000)]
[INTL] Implement Number.prototype.toLocaleString in ECMA-402
https://bugs.webkit.org/show_bug.cgi?id=147610

Patch by Andy VanWagoner <thetalecrafter@gmail.com> on 2015-12-04
Reviewed by Benjamin Poulain.

Source/JavaScriptCore:

Add toLocaleString in builtin JavaScript that delegates formatting to Intl.NumberFormat.
Keep exisiting native implementation for use if INTL flag is disabled.

* CMakeLists.txt: Add NumberPrototype.js.
* DerivedSources.make: Add NumberPrototype.js.
* JavaScriptCore.xcodeproj/project.pbxproj:
* builtins/NumberPrototype.js: Added.
(toLocaleString):
* runtime/CommonIdentifiers.h: Add private names for Intl constructors.
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init): Expose Intl constructors to builtin js.
* runtime/NumberPrototype.cpp:
(JSC::NumberPrototype::finishCreation): Replace toLocaleString implementation.

LayoutTests:

Add tests for ECMA-402 Number.prototype.toLocaleString.
Since NumberFormat is not fully implemented, don't test locale-specific behavior yet.

* js/number-toLocaleString-expected.txt: Added.
* js/number-toLocaleString.html: Added.
* js/script-tests/number-toLocaleString.js: Added.

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

5 years agoFixed feature status internal reference links.
jond@apple.com [Sat, 5 Dec 2015 01:06:50 +0000 (01:06 +0000)]
Fixed feature status internal reference links.

* wp-content/themes/webkit/status.php:

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

5 years agoCRASH: CodeBlock::setOptimizationThresholdBasedOnCompilationResult + 567
msaboff@apple.com [Sat, 5 Dec 2015 01:04:20 +0000 (01:04 +0000)]
CRASH: CodeBlock::setOptimizationThresholdBasedOnCompilationResult + 567
https://bugs.webkit.org/show_bug.cgi?id=151892

Reviewed by Mark Lam.

When the debugger is in the process of attaching and it recompiles functions
for debugging, there can also be a DFG compilation running concurrently.
When we go to update the optimization threshold and find that the replacement
is also baseline code, we shouldn't update the threshold.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::setOptimizationThresholdBasedOnCompilationResult):

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

5 years agoCrash in clients using userData in
bdakin@apple.com [Sat, 5 Dec 2015 00:53:03 +0000 (00:53 +0000)]
Crash in clients using userData in
_immediateActionAnimationControllerForHitTestResult
https://bugs.webkit.org/show_bug.cgi?id=151887

Rubber-stamped by Anders Carlsson.

Follow-up fix to handle null userData.
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _web_immediateActionAnimationControllerForHitTestResultInternal:withType:userData:]):

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

5 years agoUpdate feature status for up-to-date status information.
jond@apple.com [Sat, 5 Dec 2015 00:42:28 +0000 (00:42 +0000)]
Update feature status for up-to-date status information.
https://bugs.webkit.org/show_bug.cgi?id=151821

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

* features.json:

Source/WebCore:

* features.json:

Websites/webkit.org:

* wp-content/themes/webkit/status.php:

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

5 years agoModern IDB: Flip test expectations around so we only list failures.
beidson@apple.com [Sat, 5 Dec 2015 00:31:30 +0000 (00:31 +0000)]
Modern IDB: Flip test expectations around so we only list failures.
https://bugs.webkit.org/show_bug.cgi?id=151880

Reviewed by Alex Christensen.

Source/WebCore:

No new tests (Covered by all existing tests).

* Modules/indexeddb/client/IDBRequestImpl.cpp:
(WebCore::IDBClient::IDBRequest::stop):
(WebCore::IDBClient::IDBRequest::enqueueEvent):
(WebCore::IDBClient::IDBRequest::dispatchEvent):
* Modules/indexeddb/client/IDBRequestImpl.h:

* Modules/indexeddb/client/IDBTransactionImpl.cpp:
(WebCore::IDBClient::IDBTransaction::abortDueToFailedRequest):
(WebCore::IDBClient::IDBTransaction::hasPendingActivity):
(WebCore::IDBClient::IDBTransaction::stop):
(WebCore::IDBClient::IDBTransaction::enqueueEvent):
(WebCore::IDBClient::IDBTransaction::dispatchEvent):
* Modules/indexeddb/client/IDBTransactionImpl.h:

* bindings/js/IDBBindingUtilities.cpp:
(WebCore::idbKeyToScriptValue): Protection against a ScriptExecutionContext that no longer has an ExecState.
  A full reworking on the binding utilities to prevent this through is covered by b/151890

LayoutTests:

* platform/mac-wk1/TestExpectations:

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

5 years agoWeb Inspector: when a marked-dirty subview is attached to a parent View, dirtyDescend...
mattbaker@apple.com [Sat, 5 Dec 2015 00:12:23 +0000 (00:12 +0000)]
Web Inspector: when a marked-dirty subview is attached to a parent View, dirtyDescendantsCount gets out of sync
https://bugs.webkit.org/show_bug.cgi?id=151876

Reviewed by Brian Burg.

* UserInterface/Views/NewTabContentView.js:
(WebInspector.NewTabContentView.prototype._updateShownTabs):
Removed workaround added in https://bugs.webkit.org/show_bug.cgi?id=151594.

* UserInterface/Views/View.js:
(WebInspector.View._scheduleLayoutForView):
Always perform a synchronous layout when a view that isn't descended from the
root view schedules a layout.

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

5 years agoOSR exits that are exception handlers should emit less code eagerly in the thunk...
sbarati@apple.com [Sat, 5 Dec 2015 00:04:01 +0000 (00:04 +0000)]
OSR exits that are exception handlers should emit less code eagerly in the thunk generator, and instead, should defer as much code generation as possible to be lazily generated in the exit itself
https://bugs.webkit.org/show_bug.cgi?id=151406

Reviewed by Filip Pizlo.

We no longer emit any extra code eagerly for an OSRExit that
is an exception handler. We emit all code lazily in the exit
itself. This has one interesting consequence which is that the
actual C call to compile the exit goes through an OSR exit generation
thunk that must now be aware of resetting the call frame and the stack
pointer to their proper values before making the compileOSRExit C
call. This has one interesting consequence in the FTL because the
FTL will do a pushToSaveImmediateWithoutTouchingRegisters with the
OSR exit index. We must take care to preserve this exit index when
we reset the stack pointer by re-pushing it onto the stack.

* bytecode/CodeBlock.h:
(JSC::CodeBlock::setJITCode):
(JSC::CodeBlock::jitCode):
(JSC::CodeBlock::jitCodeOffset):
(JSC::CodeBlock::jitType):
* dfg/DFGCommonData.h:
(JSC::DFG::CommonData::frameRegisterCountOffset):
* dfg/DFGJITCode.h:
(JSC::DFG::JITCode::setOSREntryBlock):
(JSC::DFG::JITCode::clearOSREntryBlock):
(JSC::DFG::JITCode::commonDataOffset):
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::linkOSRExits):
* dfg/DFGOSRExitCompiler.cpp:
* dfg/DFGOSRExitCompilerCommon.h:
(JSC::DFG::adjustFrameAndStackInOSRExitCompilerThunk):
* dfg/DFGThunks.cpp:
(JSC::DFG::osrExitGenerationThunkGenerator):
* ftl/FTLCompile.cpp:
(JSC::FTL::mmAllocateDataSection):
* ftl/FTLExitThunkGenerator.cpp:
(JSC::FTL::ExitThunkGenerator::~ExitThunkGenerator):
(JSC::FTL::ExitThunkGenerator::emitThunk):
(JSC::FTL::ExitThunkGenerator::emitThunks):
* ftl/FTLExitThunkGenerator.h:
(JSC::FTL::ExitThunkGenerator::didThings):
* ftl/FTLJITCode.h:
(JSC::FTL::JITCode::commonDataOffset):
* ftl/FTLOSRExitCompiler.cpp:
(JSC::FTL::compileStub):
(JSC::FTL::compileFTLOSRExit):
* ftl/FTLThunks.cpp:
(JSC::FTL::genericGenerationThunkGenerator):
(JSC::FTL::osrExitGenerationThunkGenerator):
(JSC::FTL::lazySlowPathGenerationThunkGenerator):
(JSC::FTL::registerClobberCheck):

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

5 years ago[Cocoa] Some fonts cause CTFontCopyAvailableTables() to return nullptr
mmaxfield@apple.com [Fri, 4 Dec 2015 23:52:28 +0000 (23:52 +0000)]
[Cocoa] Some fonts cause CTFontCopyAvailableTables() to return nullptr
https://bugs.webkit.org/show_bug.cgi?id=151884
<rdar://problem/23752253>

Reviewed by Brian Burg.

No new tests.

* platform/graphics/opentype/OpenTypeCG.cpp:
(WebCore::OpenType::fontHasMathTable):

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

5 years agoCrash in clients using userData in
bdakin@apple.com [Fri, 4 Dec 2015 23:22:29 +0000 (23:22 +0000)]
Crash in clients using userData in
_immediateActionAnimationControllerForHitTestResult
https://bugs.webkit.org/show_bug.cgi?id=151887

Reviewed by Sam Weinig.

Cast this correctly.
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _web_immediateActionAnimationControllerForHitTestResultInternal:withType:userData:]):

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

5 years agoUnreviewed build-fix; Add new parameter to overloaded createSession() method in Media...
jer.noble@apple.com [Fri, 4 Dec 2015 23:15:34 +0000 (23:15 +0000)]
Unreviewed build-fix; Add new parameter to overloaded createSession() method in MediaPlayerPrivateAVFoundationCF.

* platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.cpp:
(WebCore::CDMSessionAVFoundationCF::CDMSessionAVFoundationCF):
* platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.h:
* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::MediaPlayerPrivateAVFoundationCF::createSession):
* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:

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

5 years agoBackground state not being tracked correctly for PDFs on iOS
barraclough@apple.com [Fri, 4 Dec 2015 23:09:37 +0000 (23:09 +0000)]
Background state not being tracked correctly for PDFs on iOS
https://bugs.webkit.org/show_bug.cgi?id=151886

Reviewed by Anders Carlson.

The problem here is that when viewing a PDF we don't have an ApplicationStateTracker.
(While we do have a content view - which normally holds the ApplicationStateTracker -
the content view is not in a window, and only has an ApplicationStateTracker while in a
window). For now, let's give the WKPDFView an ApplicationStateTracker of its very own.
In the future we may want to refactor ownership of the ApplicationStateTracker up to
the WKWebView.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _isBackground]):
    - Added, checks background state of content/PDF view.
* UIProcess/API/Cocoa/WKWebViewInternal.h:
    - expose _isBackground to PageClientImplIOS.
* UIProcess/ApplicationStateTracker.h:
(WebKit::ApplicationStateTracker::isInBackground):
* UIProcess/ApplicationStateTracker.mm:
(WebKit::isBackgroundState):
(WebKit::ApplicationStateTracker::ApplicationStateTracker):
    - generalize WKContentView -> UIView, so this may now also be a WKPDFView.
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::isViewVisible):
    - check background state via the WKWebView.
* UIProcess/ios/WKPDFView.h:
* UIProcess/ios/WKPDFView.mm:
(-[WKPDFView willMoveToWindow:]):
(-[WKPDFView didMoveToWindow]):
(-[WKPDFView isBackground]):
(-[WKPDFView _applicationDidEnterBackground]):
(-[WKPDFView _applicationWillEnterForeground]):
    - added methods to initialize ApplicationStateTracker, access background state, & callbacks to the page proxy.

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

5 years agoHaving a bad time has a really awful time when it runs at the same time as the JIT
fpizlo@apple.com [Fri, 4 Dec 2015 22:54:26 +0000 (22:54 +0000)]
Having a bad time has a really awful time when it runs at the same time as the JIT
https://bugs.webkit.org/show_bug.cgi?id=151882
rdar://problem/23547038

Unreviewed, really adding the test this time.

* tests/stress/ftl-has-a-bad-time.js: Added.
(foo):

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

5 years agoAdopt AVContentKeySession
jer.noble@apple.com [Fri, 4 Dec 2015 22:41:44 +0000 (22:41 +0000)]
Adopt AVContentKeySession
https://bugs.webkit.org/show_bug.cgi?id=151221

Reviewed by Eric Carlson.

Adopt a new API for managing key state, AVContentKeySession. Because this necessitates a change
in both the initialization data returned by the needkey event, and passed into the createSession()
method, bump the protocol version number (to 3), and keep supporting the old key management API
for legacy content.

To do so, move most of the implementation of CDMPrivateMediaSourceAVFObjC into a new subclass,
CDMSessionAVStreamSession, and add a new subclass, CDMSessionAVContentKeySession, to support the
new API.

* platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.h:
(WebCore::CDMPrivateMediaSourceAVFObjC::CDMPrivateMediaSourceAVFObjC): Moved to implementation file.
* platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.mm:
(WebCore::validKeySystemRE): Support "com.apple.fps.3_x".
(WebCore::CDMPrivateMediaSourceAVFObjC::~CDMPrivateMediaSourceAVFObjC): Invalidate all outstanding sessions.
(WebCore::CDMPrivateMediaSourceAVFObjC::supportsKeySystem): Only support "com.apple.fps.3_x" if the AVContentKeySession class is available.
(WebCore::CDMPrivateMediaSourceAVFObjC::createSession): Create an instance of CDMSessionAVContentKeySession if "com.apple.fps.3_x" is specified and AVContentKeySession is available.
(WebCore::CDMPrivateMediaSourceAVFObjC::invalidateSession): Remove session from the list of outstanding sessions.
(WebCore::CDMPrivateMediaSourceAVFObjC::supportsMIMEType): Deleted.
* platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.h: Copied from Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h.
(WebCore::CDMSessionAVContentKeySession::hasContentKeySession): Simple accessor.
(WebCore::toCDMSessionAVContentKeySession): Safe casting.
* platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm: Added.
(-[CDMSessionAVContentKeySessionDelegate initWithParent:]): Simple constructor.
(-[CDMSessionAVContentKeySessionDelegate invalidate]): Remove reference to parent.
(-[CDMSessionAVContentKeySessionDelegate contentKeySession:willProvideKeyRequestInitializationDataForTrackID:]): Pass to parent.
(-[CDMSessionAVContentKeySessionDelegate contentKeySession:didProvideKeyRequestInitializationData:requestHandling:]): Ditto.
(-[CDMSessionAVContentKeySessionDelegate contentKeySessionContentProtectionSessionIdentifierDidChange:]): Ditto.
(WebCore::CDMSessionAVContentKeySession::CDMSessionAVContentKeySession): Create the delegate.
(WebCore::CDMSessionAVContentKeySession::~CDMSessionAVContentKeySession): Invalidate the delegate and remove all parsers.
(WebCore::CDMSessionAVContentKeySession::isAvailable): Return true if AVContentKeySession class is available.
(WebCore::CDMSessionAVContentKeySession::generateKeyRequest): Support "keyrelease" message, setting of the certificate, and creating key request object.
(WebCore::CDMSessionAVContentKeySession::releaseKeys): Retrieve keys from storage location.
(WebCore::isEqual): Compares a Uint8Array to a char*.
(WebCore::CDMSessionAVContentKeySession::update): Support "acknowledged" message, "renew" message, and key addition.
(WebCore::CDMSessionAVContentKeySession::addParser): Add the parser to the AVContentKeySession.
(WebCore::CDMSessionAVContentKeySession::removeParser): Remove parser from same.
(WebCore::CDMSessionAVContentKeySession::generateKeyReleaseMessage): Retrieve key release message from AVContentKeySession.
(WebCore::CDMSessionAVContentKeySession::didProvideContentKeyRequest): Simple setter.
(WebCore::CDMSessionAVContentKeySession::contentKeySession): Lazily create the AVContentKeySession.
* platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.mm:
(WebCore::CDMSessionAVFoundationObjC::CDMSessionAVFoundationObjC):
* platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.h: Copied from Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h.
(WebCore::toCDMSessionAVStreamSession):
* platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.mm: Copied from Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm.
(-[CDMSessionAVStreamSessionObserver initWithParent:]): Moved from CDMSessionMediaSourceAVFObjcObserver.
(-[CDMSessionAVStreamSessionObserver contentProtectionSessionIdentifierChanged:]): Ditto.
(WebCore::CDMSessionAVStreamSession::CDMSessionAVStreamSession): Ditto.
(WebCore::CDMSessionAVStreamSession::~CDMSessionAVStreamSession): Ditto.
(WebCore::CDMSessionAVStreamSession::generateKeyRequest): Ditto.
(WebCore::CDMSessionAVStreamSession::releaseKeys): Ditto.
(WebCore::isEqual): Ditto.
(WebCore::CDMSessionAVStreamSession::update): Ditto.
(WebCore::CDMSessionAVStreamSession::setStreamSession): Ditto.
(WebCore::CDMSessionAVStreamSession::addParser): Ditto.
(WebCore::CDMSessionAVStreamSession::removeParser): Ditto.
(WebCore::CDMSessionAVStreamSession::generateKeyReleaseMessage): Ditto.
* platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h:
(WebCore::CDMSessionMediaSourceAVFObjC::invalidateCDM): Clear the m_cdm.
(WebCore::toCDMSessionMediaSourceAVFObjC):
* platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
(WebCore::CDMSessionMediaSourceAVFObjC::CDMSessionMediaSourceAVFObjC):
(WebCore::CDMSessionMediaSourceAVFObjC::~CDMSessionMediaSourceAVFObjC): Instruct our CDM to invalidate their references to us.
(WebCore::CDMSessionMediaSourceAVFObjC::addSourceBuffer): Call addParser().
(WebCore::CDMSessionMediaSourceAVFObjC::removeSourceBuffer): Call removeParser().
(WebCore::CDMSessionMediaSourceAVFObjC::layerDidReceiveError): Deleted.
(WebCore::CDMSessionMediaSourceAVFObjC::rendererDidReceiveError): Deleted.

To give us a chance to create a CDMPrivate before we continue decoding media data, "block" further decoding
on the background thread by creating a semaphore and passing it to the main thread, to be triggered when
a CDM is created and attached to this source buffer.

* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(-[WebAVStreamDataParserListener streamDataParser:didProvideContentKeyRequestInitializationData:forTrackID:]):
(WebCore::SourceBufferPrivateAVFObjC::~SourceBufferPrivateAVFObjC):
(WebCore::SourceBufferPrivateAVFObjC::willProvideContentKeyRequestInitializationDataForTrackID):
(WebCore::SourceBufferPrivateAVFObjC::didProvideContentKeyRequestInitializationDataForTrackID):
(WebCore::SourceBufferPrivateAVFObjC::setCDMSession):
(-[WebAVStreamDataParserListener streamDataParserWillProvideContentKeyRequestInitializationData:forTrackID:]): Deleted.
* platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:

Drive-by fix: Only throw an error from keyRequestTimerFired() if the underlying call to
generateKeyRequest() returned an error, rather than just failed to create a message.

* Modules/encryptedmedia/MediaKeySession.cpp:
(WebCore::MediaKeySession::keyRequestTimerFired):

Drive-by fix: Pass the CDMSessionClient into CDM::createSession() so that it is immediately available
in the CDMSessionPrivate constructor, rather than setting the client immediately after construction.

* Modules/encryptedmedia/CDM.cpp:
(WebCore::CDM::createSession):
* Modules/encryptedmedia/CDM.h:
* Modules/encryptedmedia/CDMPrivate.h:
* Modules/encryptedmedia/CDMPrivateClearKey.cpp:
(WebCore::CDMPrivateClearKey::createSession):
* Modules/encryptedmedia/CDMPrivateClearKey.h:
* Modules/encryptedmedia/CDMPrivateMediaPlayer.cpp:
(WebCore::CDMPrivateMediaPlayer::createSession):
* Modules/encryptedmedia/CDMPrivateMediaPlayer.h:
* Modules/encryptedmedia/CDMSessionClearKey.cpp:
(WebCore::CDMSessionClearKey::CDMSessionClearKey):
* Modules/encryptedmedia/CDMSessionClearKey.h:
* Modules/encryptedmedia/MediaKeySession.cpp:
(WebCore::MediaKeySession::MediaKeySession):
* platform/graphics/CDMSession.h:
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::createSession):
* platform/graphics/MediaPlayer.h:
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::createSession):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createSession):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::cdmSession):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setCDMSession):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::keyNeeded): Deleted.
* testing/MockCDM.cpp:
(WebCore::MockCDM::createSession):
(WebCore::MockCDMSession::MockCDMSession):
* testing/MockCDM.h:

Add new files to the project:

* WebCore.xcodeproj/project.pbxproj:

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

5 years agoSnippefy bitwise operators for the baseline JIT.
mark.lam@apple.com [Fri, 4 Dec 2015 22:28:11 +0000 (22:28 +0000)]
Snippefy bitwise operators for the baseline JIT.
https://bugs.webkit.org/show_bug.cgi?id=151680

Reviewed by Geoffrey Garen.

This patch has passed the JSC tests on x86 and x86_64.  It has also passed the
layout tests on x86_64.

With the DFG enabled, perf is neutral on x86_64 and x86.
With the DFG disabled on x86_64, some AsmBench tests are showing progressions e.g.
    gcc-loops.cpp           1.0269x faster
    stepanov_container.cpp  1.0180x faster

With the DFG disabled on x86, perf is neutral.

* CMakeLists.txt:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.xcodeproj/project.pbxproj:

* jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::moveValueRegs):
(JSC::AssemblyHelpers::branchIfNotInt32):
* jit/JIT.h:
* jit/JITArithmetic.cpp:
(JSC::JIT::emitBitwiseBinaryOpFastPath):
- Template for the bitwise operations.
(JSC::JIT::emit_op_bitand):
(JSC::JIT::emit_op_bitor):
(JSC::JIT::emit_op_bitxor):
- Specializes emitBitwiseBinaryOpFastPath() with the respective snippet generators.
(JSC::JIT::emitSlow_op_bitand):
(JSC::JIT::emitSlow_op_bitor):
(JSC::JIT::emitSlow_op_bitxor):
- Implement respective slow paths.

* jit/JITArithmetic32_64.cpp:
(JSC::JIT::emit_op_bitand): Deleted.
(JSC::JIT::emitSlow_op_bitand): Deleted.
(JSC::JIT::emit_op_bitor): Deleted.
(JSC::JIT::emitSlow_op_bitor): Deleted.
(JSC::JIT::emit_op_bitxor): Deleted.
(JSC::JIT::emitSlow_op_bitxor): Deleted.
- Now unified with the 64-bit version using snippets.

* jit/JITBitAndGenerator.cpp: Added.
(JSC::JITBitAndGenerator::generateFastPath):
* jit/JITBitAndGenerator.h: Added.
(JSC::JITBitAndGenerator::JITBitAndGenerator):
* jit/JITBitOrGenerator.cpp: Added.
(JSC::JITBitOrGenerator::generateFastPath):
* jit/JITBitOrGenerator.h: Added.
(JSC::JITBitOrGenerator::JITBitOrGenerator):
* jit/JITBitXorGenerator.cpp: Added.
(JSC::JITBitXorGenerator::generateFastPath):
* jit/JITBitXorGenerator.h: Added.
(JSC::JITBitXorGenerator::JITBitXorGenerator):
* jit/JITBitwiseBinaryOpGenerator.h: Added.
(JSC::JITBitwiseBinaryOpGenerator::JITBitwiseBinaryOpGenerator):
(JSC::JITBitwiseBinaryOpGenerator::didEmitFastPath):
(JSC::JITBitwiseBinaryOpGenerator::endJumpList):
(JSC::JITBitwiseBinaryOpGenerator::slowPathJumpList):

* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_bitxor): Deleted.
(JSC::JIT::emit_op_bitor): Deleted.
(JSC::JIT::emitSlow_op_bitxor): Deleted.
(JSC::JIT::emitSlow_op_bitor): Deleted.
* jit/SnippetOperand.h:
(JSC::SnippetOperand::SnippetOperand):

* tests/stress/op_bitand.js:
* tests/stress/op_bitor.js:
* tests/stress/op_bitxor.js:
- Fix a test value typo: it's supposed to be 0x7fffffff, not 0x7ffffff.

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

5 years agoHaving a bad time has a really awful time when it runs at the same time as the JIT
fpizlo@apple.com [Fri, 4 Dec 2015 22:25:26 +0000 (22:25 +0000)]
Having a bad time has a really awful time when it runs at the same time as the JIT
https://bugs.webkit.org/show_bug.cgi?id=151882
rdar://problem/23547038

Reviewed by Geoffrey Garen.

The DFG's use of watchpoints for havingABadTime goes back a long time. We introduced this feature
when we first introduced watchpoints. That left it open to a lot of bitrot. On top of that, this
code doesn't get tested much because having a bad time is not something that is really supposed to
happen.

Well, now I've got reports that it does happen - or at least, we know that it is because of
crashes in an assertion that could only be triggered if a bad time was had. In the meantime, we
added two new features without adequately testing havingABadTime: concurrent JIT and FTL.
Concurrency means that we have to worry about the havingABadTime watchpoint triggering during
compilation. FTL means that we have new code and new optimizations that needs to deal with this
feature correctly.

The bug can arise via race condition or just goofy profiling. As in the newly added test, we could
first profile an allocation thinking that it will allocate sane arrays. Then we might have a bad
time, and then compile that function with the FTL. The ByteCodeParser will represent the
allocation with a NewArray node that has a sane indexingType(). But when we go to lower the Node,
we observe that the Structure* that the JSGlobalObject tells us to use has a different indexing
type. This is a feature of havingABadTime that the DFG knew about, but the FTL didn't. The FTL
didn't know about it because we didn't have adequate tests, and this code rarely gets triggered in
the wild. So, the FTL had a silly assertion that the indexing types match. They absolutely don't
have to match.

There is another bug, a race condition, that remains even if we remove the bad assertion. We set
the havingABadTime watchpoint late in compilation, and we do it based on whether the watchpoint is
still OK. This means that we could parse a function before we have a bad time and then do
optimizations (for example in AbstractInterpreter) like proving that the structure set associated
with the value returned by the NewArray is the one with a sane indexing type. Then, after those
optimizations have already been done, we will go to set the watchpoint. But just as we are doing
this, we could haveABadTime on the main thread. Currently this sort of almost works because
having a bad time requires doing a GC, and we can't GC until the watchpoint collection phase. But
that feels too fragile. So, this phase moves the setting of the watchpoint to the FixupPhase. This
is consistent with our long-term goal of removing the WatchpointCollectionPhase. Moving this to
FixupPhase means that we set the watchpoint before doing any optimizations. So, if having a bad
time happens before the FixupPhase then all optimizations will agree that we're having a bad time
and so everything is fine; if we have a bad time after FixupPhase then we will cancel the
compilation anyway.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleConstantInternalFunction):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::watchHavingABadTime):
(JSC::DFG::FixupPhase::createToString):
* dfg/DFGNode.h:
(JSC::DFG::Node::hasIndexingType):
(JSC::DFG::Node::indexingType):
* dfg/DFGWatchpointCollectionPhase.cpp:
(JSC::DFG::WatchpointCollectionPhase::handle):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::compileNewArray):
(JSC::FTL::DFG::LowerDFGToLLVM::compileNewArrayBuffer):
* tests/stress/ftl-has-a-bad-time.js: Added.

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

5 years agoRename WebResourceLoadScheduler to WebLoaderStrategy
antti@apple.com [Fri, 4 Dec 2015 21:57:41 +0000 (21:57 +0000)]
Rename WebResourceLoadScheduler to WebLoaderStrategy
https://bugs.webkit.org/show_bug.cgi?id=151854

Reviewed by Anders Carlsson.

It implements WebCore::LoaderStrategy and doesn't do any scheduling.

* CMakeLists.txt:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::didReceiveMessage):
* WebProcess/Network/WebLoaderStrategy.cpp: Copied from Source/WebKit2/WebProcess/Network/WebResourceLoadScheduler.cpp.
(WebKit::WebLoaderStrategy::WebLoaderStrategy):
(WebKit::WebLoaderStrategy::~WebLoaderStrategy):
(WebKit::WebLoaderStrategy::loadResource):
(WebKit::WebLoaderStrategy::schedulePluginStreamLoad):
(WebKit::maximumBufferingTime):
(WebKit::WebLoaderStrategy::scheduleLoad):
(WebKit::WebLoaderStrategy::scheduleInternallyFailedLoad):
(WebKit::WebLoaderStrategy::internallyFailedLoadTimerFired):
(WebKit::WebLoaderStrategy::startLocalLoad):
(WebKit::WebLoaderStrategy::remove):
(WebKit::WebLoaderStrategy::setDefersLoading):
(WebKit::WebLoaderStrategy::crossOriginRedirectReceived):
(WebKit::WebLoaderStrategy::servePendingRequests):
(WebKit::WebLoaderStrategy::suspendPendingRequests):
(WebKit::WebLoaderStrategy::resumePendingRequests):
(WebKit::WebLoaderStrategy::networkProcessCrashed):
(WebKit::WebLoaderStrategy::loadResourceSynchronously):
(WebKit::WebLoaderStrategy::createPingHandle):
(WebKit::WebResourceLoadScheduler::WebResourceLoadScheduler): Deleted.
(WebKit::WebResourceLoadScheduler::~WebResourceLoadScheduler): Deleted.
(WebKit::WebResourceLoadScheduler::loadResource): Deleted.
(WebKit::WebResourceLoadScheduler::schedulePluginStreamLoad): Deleted.
(WebKit::WebResourceLoadScheduler::scheduleLoad): Deleted.
(WebKit::WebResourceLoadScheduler::scheduleInternallyFailedLoad): Deleted.
(WebKit::WebResourceLoadScheduler::internallyFailedLoadTimerFired): Deleted.
(WebKit::WebResourceLoadScheduler::startLocalLoad): Deleted.
(WebKit::WebResourceLoadScheduler::remove): Deleted.
(WebKit::WebResourceLoadScheduler::setDefersLoading): Deleted.
(WebKit::WebResourceLoadScheduler::crossOriginRedirectReceived): Deleted.
(WebKit::WebResourceLoadScheduler::servePendingRequests): Deleted.
(WebKit::WebResourceLoadScheduler::suspendPendingRequests): Deleted.
(WebKit::WebResourceLoadScheduler::resumePendingRequests): Deleted.
(WebKit::WebResourceLoadScheduler::networkProcessCrashed): Deleted.
(WebKit::WebResourceLoadScheduler::loadResourceSynchronously): Deleted.
(WebKit::WebResourceLoadScheduler::createPingHandle): Deleted.
* WebProcess/Network/WebLoaderStrategy.h: Copied from Source/WebKit2/WebProcess/Network/WebResourceLoadScheduler.h.
(WebKit::WebLoaderStrategy::webResourceLoaderForIdentifier):
(WebKit::WebResourceLoadScheduler::webResourceLoaderForIdentifier): Deleted.
* WebProcess/Network/WebResourceLoadScheduler.cpp: Removed.
* WebProcess/Network/WebResourceLoadScheduler.h: Removed.
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::Stream::start):
(WebKit::PluginView::Stream::cancel):
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::createLoaderStrategy):
(WebKit::WebPlatformStrategies::createPasteboardStrategy):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):
(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::networkProcessConnectionClosed):
(WebKit::WebProcess::webLoaderStrategy):
(WebKit::WebProcess::webResourceLoadScheduler): Deleted.
* WebProcess/WebProcess.h:

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

5 years ago[JSC] Use Div and ChillDiv in FTL(B3)Output
commit-queue@webkit.org [Fri, 4 Dec 2015 20:32:21 +0000 (20:32 +0000)]
[JSC] Use Div and ChillDiv in FTL(B3)Output
https://bugs.webkit.org/show_bug.cgi?id=151844

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-12-04
Reviewed by Geoffrey Garen.

I copied part of the code of compileArithDiv()
to create a new function FTLOutput::childDiv().

With childDiv() being a concept of FTLOutput,
FTLB3Output was updated accordingly.

* ftl/FTLB3Output.h:
(JSC::FTL::Output::div):
(JSC::FTL::Output::chillDiv):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::compileArithDiv):
* ftl/FTLOutput.cpp:
(JSC::FTL::Output::chillDiv):
* ftl/FTLOutput.h:

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

5 years ago[JSC] Extend the strength reduction of B3's BitAnd with booleans
commit-queue@webkit.org [Fri, 4 Dec 2015 20:31:14 +0000 (20:31 +0000)]
[JSC] Extend the strength reduction of B3's BitAnd with booleans
https://bugs.webkit.org/show_bug.cgi?id=151852

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-12-04
Reviewed by Saam Barati.

1) Masking a boolean with any pattern that has the lsb set
   remains a boolean.
2) ReduceStrength on that particular pattern of BitAnd.

* b3/B3ReduceStrength.cpp:
* b3/B3Value.cpp:
(JSC::B3::Value::returnsBool):
* b3/testb3.cpp:
(JSC::B3::testBitAndWithMaskReturnsBooleans):
(JSC::B3::run):

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

5 years ago[JSC] Add doubleRem() to FTLB3Output
commit-queue@webkit.org [Fri, 4 Dec 2015 20:29:49 +0000 (20:29 +0000)]
[JSC] Add doubleRem() to FTLB3Output
https://bugs.webkit.org/show_bug.cgi?id=151851

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-12-04
Reviewed by Geoffrey Garen.

* ftl/FTLB3Output.h:
(JSC::FTL::Output::doubleRem):

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

5 years ago[JSC] Add signExt() to FTLB3Output
commit-queue@webkit.org [Fri, 4 Dec 2015 20:27:37 +0000 (20:27 +0000)]
[JSC] Add signExt() to FTLB3Output
https://bugs.webkit.org/show_bug.cgi?id=151853

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-12-04
Reviewed by Geoffrey Garen.

Rename signExt() to signExt32To64(). This is just to separate
it explicitly from the remaining signExt() used inside FTLOutput.

Then use the SExt32 for implementing that in B3.

* ftl/FTLB3Output.h:
(JSC::FTL::Output::signExt32To64):
(JSC::FTL::Output::signExt): Deleted.
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::compileInt52Rep):
(JSC::FTL::DFG::LowerDFGToLLVM::compileGetDirectPname):
(JSC::FTL::DFG::LowerDFGToLLVM::strictInt52ToInt32):
(JSC::FTL::DFG::LowerDFGToLLVM::strictInt52ToJSValue):
(JSC::FTL::DFG::LowerDFGToLLVM::jsValueToStrictInt52):
* ftl/FTLOutput.h:
(JSC::FTL::Output::signExt32To64):
(JSC::FTL::Output::signExt):

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

5 years agoModern IDB: storage/indexeddb/cursor-update.html fails.
beidson@apple.com [Fri, 4 Dec 2015 20:15:14 +0000 (20:15 +0000)]
Modern IDB: storage/indexeddb/cursor-update.html fails.
https://bugs.webkit.org/show_bug.cgi?id=151879

Reviewed by Oliver Hunt.

Source/WebCore:

No new tests (At least one failing test now passes).

* Modules/indexeddb/client/IDBRequestImpl.cpp:
(WebCore::IDBClient::IDBRequest::IDBRequest):

LayoutTests:

* platform/mac-wk1/TestExpectations:

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

5 years agoWeb Inspector: support runtime registration of tab type associations
bburg@apple.com [Fri, 4 Dec 2015 19:53:05 +0000 (19:53 +0000)]
Web Inspector: support runtime registration of tab type associations
https://bugs.webkit.org/show_bug.cgi?id=151594

Reviewed by Joseph Pecoraro.

We want to add special tabs that only exist in engineering builds
for debugging purposes. Though the relevant models and views can be
put in the Debug/ directory to exclude them from production builds,
there's no way to register tabs conditionally at runtime; tabs are
hardcoded.

This patch makes it possible to register new tab types at runtime.
First, WebInspector keeps a map of known, registered tab classes.
Details that were hardcoded before---whether to show in New Tab,
whether a tab can be instantiated given the active domains, UI text,
etc.---are now static methods on the base TabContentView or overidden
in its subclasses. Lastly, a public method allows code in Bootstrap.js
to register tabs at runtime. Doing so sends a notification so the
NewTabContentView can show the newly available tab item.

* UserInterface/Base/Main.js:
(WebInspector.contentLoaded):
(WebInspector.isTabTypeAllowed):
(WebInspector.knownTabClasses): Added, used by NewTabContentView.
(WebInspector._createTabContentViewForType): Renamed from _tabContentViewForType.
(WebInspector._rememberOpenTabs):
(WebInspector._updateNewTabButtonState):
(WebInspector._tryToRestorePendingTabs): Added.

Whenever a new tab is registered, try to restore pending tabs, since
an extra tab won't be added initially when production tabs are added.
But, it could have been saved in the Setting for opened tabs.

(WebInspector.showNewTabTab):
(WebInspector.isNewTabWithTypeAllowed):
(WebInspector.createNewTabWithType):
(WebInspector._tabContentViewForType): Deleted.
* UserInterface/Base/Object.js:
* UserInterface/Views/ConsoleTabContentView.js:
(WebInspector.ConsoleTabContentView):
(WebInspector.ConsoleTabContentView.tabInfo): Added.
* UserInterface/Views/DebuggerTabContentView.js:
(WebInspector.DebuggerTabContentView):
(WebInspector.DebuggerTabContentView.tabInfo): Added.
* UserInterface/Views/ElementsTabContentView.js:
(WebInspector.ElementsTabContentView):
(WebInspector.ElementsTabContentView.tabInfo): Added.
(WebInspector.ElementsTabContentView.isTabAllowed): Added.
* UserInterface/Views/NetworkTabContentView.js:
(WebInspector.NetworkTabContentView):
(WebInspector.NetworkTabContentView.tabInfo): Added.
(WebInspector.NetworkTabContentView.isTabAllowed): Added.
* UserInterface/Views/NewTabContentView.js:

Keep a list of shown tab items, so we don't have to query the DOM
to update enabled/disabled state. Put tree construction inside a
layout() override and dirty the view whenever known tab types change.

(WebInspector.NewTabContentView):
(WebInspector.NewTabContentView.tabInfo): Added.
(WebInspector.NewTabContentView.isEphemeral): Added.
(WebInspector.NewTabContentView.shouldSaveTab): Added.
(WebInspector.NewTabContentView.prototype.layout): Added.
(WebInspector.NewTabContentView.prototype._updateShownTabs): Added.
(WebInspector.NewTabContentView.prototype._allowableTabTypes):
(WebInspector.NewTabContentView.prototype._updateTabItems):
(WebInspector.NewTabContentView.prototype.get tabItemElements): Deleted.
* UserInterface/Views/ResourcesTabContentView.js:
(WebInspector.ResourcesTabContentView):
(WebInspector.ResourcesTabContentView.tabInfo): Added.
* UserInterface/Views/SearchTabContentView.js:
(WebInspector.SearchTabContentView):
(WebInspector.SearchTabContentView.tabInfo): Added.
(WebInspector.SearchTabContentView.isEphemeral): Added.
* UserInterface/Views/SettingsTabContentView.js:
(WebInspector.SettingsTabContentView.isTabAllowed): Added.
(WebInspector.SettingsTabContentView.shouldSaveTab): Added.
* UserInterface/Views/StorageTabContentView.js:
(WebInspector.StorageTabContentView):
(WebInspector.StorageTabContentView.tabInfo): Added.
(WebInspector.StorageTabContentView.isTabAllowed): Added.
* UserInterface/Views/TabBrowser.js:
(WebInspector.TabBrowser.showTabForContentView):

Add a workaround for <https://webkit.org/b/151876>. This bug is
revealed by the changes to NewTabContentView in this patch.

* UserInterface/Views/TabContentView.js:
(WebInspector.TabContentView.isTabAllowed): Added.
(WebInspector.TabContentView.isEphemeral): Added.
(WebInspector.TabContentView.shouldSaveTab): Added.
* UserInterface/Views/TimelineTabContentView.js:
(WebInspector.TimelineTabContentView):
(WebInspector.TimelineTabContentView.tabInfo): Added.
(WebInspector.TimelineTabContentView.isTabAllowed): Added.

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

5 years agoModern IDB: storage/indexeddb/version-change-exclusive.html fails
beidson@apple.com [Fri, 4 Dec 2015 19:41:52 +0000 (19:41 +0000)]
Modern IDB: storage/indexeddb/version-change-exclusive.html fails
https://bugs.webkit.org/show_bug.cgi?id=151870

Reviewed by Alex Christensen.

Source/WebCore:

Test: storage/indexeddb/modern/double-open.html
      storage/indexeddb/version-change-exclusive.html

* Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::openDatabaseConnection): Delay handling open operations
  while the first is still in progress.
(WebCore::IDBServer::UniqueIDBDatabase::didOpenBackingStore):
* Modules/indexeddb/server/UniqueIDBDatabase.h:

LayoutTests:

* platform/mac-wk1/TestExpectations:
* storage/indexeddb/modern/double-open-expected.txt: Added.
* storage/indexeddb/modern/double-open.html: Added.
* storage/indexeddb/version-change-exclusive-expected.txt:

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

5 years agoAdded redirects for old webkit.org archive.
jond@apple.com [Fri, 4 Dec 2015 19:23:02 +0000 (19:23 +0000)]
Added redirects for old webkit.org archive.

* .htaccess:

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

5 years agoRemoving empty directories from the old site.
jond@apple.com [Fri, 4 Dec 2015 19:20:06 +0000 (19:20 +0000)]
Removing empty directories from the old site.

Reviewed by Timothy Hatcher.

* blog: Removed.
* blog/wp-admin: Removed.
* blog/wp-admin/css: Removed.
* blog/wp-admin/css/colors: Removed.
* blog/wp-admin/css/colors/blue: Removed.
* blog/wp-admin/css/colors/coffee: Removed.
* blog/wp-admin/css/colors/ectoplasm: Removed.
* blog/wp-admin/css/colors/light: Removed.
* blog/wp-admin/css/colors/midnight: Removed.
* blog/wp-admin/css/colors/ocean: Removed.
* blog/wp-admin/css/colors/sunrise: Removed.
* blog/wp-admin/images: Removed.
* blog/wp-admin/includes: Removed.
* blog/wp-admin/js: Removed.
* blog/wp-admin/maint: Removed.
* blog/wp-admin/network: Removed.
* blog/wp-admin/user: Removed.
* blog/wp-content: Removed.
* blog/wp-content/plugins: Removed.
* blog/wp-content/plugins/akismet: Removed.
* blog/wp-content/themes: Removed.
* blog/wp-content/themes/classic: Removed.
* blog/wp-content/themes/default: Removed.
* blog/wp-content/themes/default/images: Removed.
* blog/wp-content/themes/webkit: Removed.
* blog/wp-content/uploads: Removed.
* blog/wp-content/uploads/2007: Removed.
* blog/wp-content/uploads/2007/06: Removed.
* blog/wp-includes: Removed.
* blog/wp-includes/ID3: Removed.
* blog/wp-includes/SimplePie: Removed.
* blog/wp-includes/SimplePie/Cache: Removed.
* blog/wp-includes/SimplePie/Content: Removed.
* blog/wp-includes/SimplePie/Content/Type: Removed.
* blog/wp-includes/SimplePie/Decode: Removed.
* blog/wp-includes/SimplePie/Decode/HTML: Removed.
* blog/wp-includes/SimplePie/HTTP: Removed.
* blog/wp-includes/SimplePie/Net: Removed.
* blog/wp-includes/SimplePie/Parse: Removed.
* blog/wp-includes/SimplePie/XML: Removed.
* blog/wp-includes/SimplePie/XML/Declaration: Removed.
* blog/wp-includes/Text: Removed.
* blog/wp-includes/Text/Diff: Removed.
* blog/wp-includes/Text/Diff/Engine: Removed.
* blog/wp-includes/Text/Diff/Renderer: Removed.
* blog/wp-includes/certificates: Removed.
* blog/wp-includes/css: Removed.
* blog/wp-includes/fonts: Removed.
* blog/wp-includes/images: Removed.
* blog/wp-includes/images/crystal: Removed.
* blog/wp-includes/images/media: Removed.
* blog/wp-includes/images/smilies: Removed.
* blog/wp-includes/images/wlw: Removed.
* blog/wp-includes/js: Removed.
* blog/wp-includes/js/crop: Removed.
* blog/wp-includes/js/imgareaselect: Removed.
* blog/wp-includes/js/jcrop: Removed.
* blog/wp-includes/js/jquery: Removed.
* blog/wp-includes/js/jquery/ui: Removed.
* blog/wp-includes/js/mediaelement: Removed.
* blog/wp-includes/js/plupload: Removed.
* blog/wp-includes/js/scriptaculous: Removed.
* blog/wp-includes/js/swfupload: Removed.
* blog/wp-includes/js/swfupload/plugins: Removed.
* blog/wp-includes/js/thickbox: Removed.
* blog/wp-includes/js/tinymce: Removed.
* blog/wp-includes/js/tinymce/langs: Removed.
* blog/wp-includes/js/tinymce/plugins: Removed.
* blog/wp-includes/js/tinymce/plugins/charmap: Removed.
* blog/wp-includes/js/tinymce/plugins/colorpicker: Removed.
* blog/wp-includes/js/tinymce/plugins/compat3x: Removed.
* blog/wp-includes/js/tinymce/plugins/compat3x/css: Removed.
* blog/wp-includes/js/tinymce/plugins/directionality: Removed.
* blog/wp-includes/js/tinymce/plugins/fullscreen: Removed.
* blog/wp-includes/js/tinymce/plugins/hr: Removed.
* blog/wp-includes/js/tinymce/plugins/image: Removed.
* blog/wp-includes/js/tinymce/plugins/inlinepopups: Removed.
* blog/wp-includes/js/tinymce/plugins/inlinepopups/skins: Removed.
* blog/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2: Removed.
* blog/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img: Removed.
* blog/wp-includes/js/tinymce/plugins/lists: Removed.
* blog/wp-includes/js/tinymce/plugins/media: Removed.
* blog/wp-includes/js/tinymce/plugins/media/css: Removed.
* blog/wp-includes/js/tinymce/plugins/media/js: Removed.
* blog/wp-includes/js/tinymce/plugins/paste: Removed.
* blog/wp-includes/js/tinymce/plugins/paste/js: Removed.
* blog/wp-includes/js/tinymce/plugins/spellchecker: Removed.
* blog/wp-includes/js/tinymce/plugins/spellchecker/classes: Removed.
* blog/wp-includes/js/tinymce/plugins/spellchecker/classes/utils: Removed.
* blog/wp-includes/js/tinymce/plugins/spellchecker/css: Removed.
* blog/wp-includes/js/tinymce/plugins/spellchecker/img: Removed.
* blog/wp-includes/js/tinymce/plugins/spellchecker/includes: Removed.
* blog/wp-includes/js/tinymce/plugins/tabfocus: Removed.
* blog/wp-includes/js/tinymce/plugins/textcolor: Removed.
* blog/wp-includes/js/tinymce/plugins/wordpress: Removed.
* blog/wp-includes/js/tinymce/plugins/wordpress/css: Removed.
* blog/wp-includes/js/tinymce/plugins/wordpress/img: Removed.
* blog/wp-includes/js/tinymce/plugins/wpautoresize: Removed.
* blog/wp-includes/js/tinymce/plugins/wpdialogs: Removed.
* blog/wp-includes/js/tinymce/plugins/wpdialogs/js: Removed.
* blog/wp-includes/js/tinymce/plugins/wpeditimage: Removed.
* blog/wp-includes/js/tinymce/plugins/wpeditimage/css: Removed.
* blog/wp-includes/js/tinymce/plugins/wpeditimage/img: Removed.
* blog/wp-includes/js/tinymce/plugins/wpeditimage/js: Removed.
* blog/wp-includes/js/tinymce/plugins/wpemoji: Removed.
* blog/wp-includes/js/tinymce/plugins/wpfullscreen: Removed.
* blog/wp-includes/js/tinymce/plugins/wpfullscreen/css: Removed.
* blog/wp-includes/js/tinymce/plugins/wpgallery: Removed.
* blog/wp-includes/js/tinymce/plugins/wpgallery/img: Removed.
* blog/wp-includes/js/tinymce/plugins/wplink: Removed.
* blog/wp-includes/js/tinymce/plugins/wplink/css: Removed.
* blog/wp-includes/js/tinymce/plugins/wplink/img: Removed.
* blog/wp-includes/js/tinymce/plugins/wplink/js: Removed.
* blog/wp-includes/js/tinymce/plugins/wpview: Removed.
* blog/wp-includes/js/tinymce/skins: Removed.
* blog/wp-includes/js/tinymce/skins/lightgray: Removed.
* blog/wp-includes/js/tinymce/skins/lightgray/fonts: Removed.
* blog/wp-includes/js/tinymce/skins/lightgray/img: Removed.
* blog/wp-includes/js/tinymce/skins/wordpress: Removed.
* blog/wp-includes/js/tinymce/skins/wordpress/images: Removed.
* blog/wp-includes/js/tinymce/themes: Removed.
* blog/wp-includes/js/tinymce/themes/advanced: Removed.
* blog/wp-includes/js/tinymce/themes/advanced/img: Removed.
* blog/wp-includes/js/tinymce/themes/advanced/js: Removed.
* blog/wp-includes/js/tinymce/themes/advanced/skins: Removed.
* blog/wp-includes/js/tinymce/themes/advanced/skins/default: Removed.
* blog/wp-includes/js/tinymce/themes/advanced/skins/default/img: Removed.
* blog/wp-includes/js/tinymce/themes/advanced/skins/highcontrast: Removed.
* blog/wp-includes/js/tinymce/themes/advanced/skins/o2k7: Removed.
* blog/wp-includes/js/tinymce/themes/advanced/skins/o2k7/img: Removed.
* blog/wp-includes/js/tinymce/themes/advanced/skins/wp_theme: Removed.
* blog/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img: Removed.
* blog/wp-includes/js/tinymce/themes/modern: Removed.
* blog/wp-includes/js/tinymce/utils: Removed.
* blog/wp-includes/pomo: Removed.
* blog/wp-includes/theme-compat: Removed.
* building: Removed.
* coding: Removed.
* coding/images: Removed.
* css: Removed.
* images: Removed.
* misc: Removed.
* misc/DatabaseExample.html: Removed.
* misc/DatabaseTester.html: Removed.
* misc/WebKitDetect.html: Removed.
* misc/WebKitDetect.js: Removed.
* misc/drosera: Removed.
* misc/drosera/demo.js: Removed.
* misc/drosera/drosera.png: Removed.
* misc/drosera/index.html: Removed.
* misc/gradient-input.html: Removed.
* misc/morph.html: Removed.
* misc/related-target-and-shadow-dom.svg: Removed.
* projects: Removed.
* projects/accessibility: Removed.
* projects/cleanup: Removed.
* projects/compat: Removed.
* projects/css: Removed.
* projects/documentation: Removed.
* projects/dom: Removed.
* projects/editing: Removed.
* projects/forms: Removed.
* projects/html: Removed.
* projects/javascript: Removed.
* projects/layout: Removed.
* projects/mathml: Removed.
* projects/performance: Removed.
* projects/plugins: Removed.
* projects/portability: Removed.
* projects/printing: Removed.
* projects/svg: Removed.
* projects/webkit: Removed.
* projects/xml: Removed.
* projects/xslt: Removed.
* quality: Removed.
* security: Removed.

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

5 years agoModern IDB: storage/indexeddb/exceptions.html fails.
beidson@apple.com [Fri, 4 Dec 2015 19:07:19 +0000 (19:07 +0000)]
Modern IDB: storage/indexeddb/exceptions.html fails.
https://bugs.webkit.org/show_bug.cgi?id=151732

Reviewed by Alex Christensen.

Source/WebCore:

No new tests (At least one failing test now passes).

- Lots of customized exception messages for IDB code to match the text expectations.
- Updates to the test expectations where we can't/won't match them exactly.
- And a couple of little required behavior changes exposed by the test

* Modules/indexeddb/IDBCursor.h:
* Modules/indexeddb/IDBCursor.idl:
* Modules/indexeddb/IDBDatabase.h:
* Modules/indexeddb/IDBDatabase.idl:
* Modules/indexeddb/IDBDatabaseException.cpp:
(WebCore::IDBDatabaseException::initializeDescription):
* Modules/indexeddb/IDBFactory.h:
* Modules/indexeddb/IDBFactory.idl:
* Modules/indexeddb/IDBIndex.h:
* Modules/indexeddb/IDBIndex.idl:
* Modules/indexeddb/IDBObjectStore.h:
* Modules/indexeddb/IDBObjectStore.idl:
* Modules/indexeddb/IDBRequest.h:
* Modules/indexeddb/IDBRequest.idl:
* Modules/indexeddb/IDBTransaction.h:
* Modules/indexeddb/IDBTransaction.idl:

* Modules/indexeddb/client/IDBCursorImpl.cpp:
(WebCore::IDBClient::IDBCursor::update):
(WebCore::IDBClient::IDBCursor::advance):
(WebCore::IDBClient::IDBCursor::continueFunction):
(WebCore::IDBClient::IDBCursor::deleteFunction):
* Modules/indexeddb/client/IDBCursorImpl.h:

* Modules/indexeddb/client/IDBDatabaseImpl.cpp:
(WebCore::IDBClient::IDBDatabase::createObjectStore):
(WebCore::IDBClient::IDBDatabase::transaction):
(WebCore::IDBClient::IDBDatabase::deleteObjectStore):
* Modules/indexeddb/client/IDBDatabaseImpl.h:

* Modules/indexeddb/client/IDBFactoryImpl.cpp:
(WebCore::IDBClient::IDBFactory::cmp):
* Modules/indexeddb/client/IDBFactoryImpl.h:

* Modules/indexeddb/client/IDBIndexImpl.cpp:
(WebCore::IDBClient::IDBIndex::openCursor):
(WebCore::IDBClient::IDBIndex::count):
(WebCore::IDBClient::IDBIndex::doCount):
(WebCore::IDBClient::IDBIndex::openKeyCursor):
(WebCore::IDBClient::IDBIndex::get):
(WebCore::IDBClient::IDBIndex::doGet):
(WebCore::IDBClient::IDBIndex::getKey):
(WebCore::IDBClient::IDBIndex::doGetKey):
* Modules/indexeddb/client/IDBIndexImpl.h:

* Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
(WebCore::IDBClient::IDBObjectStore::openCursor):
(WebCore::IDBClient::IDBObjectStore::get):
(WebCore::IDBClient::IDBObjectStore::add):
(WebCore::IDBClient::IDBObjectStore::put):
(WebCore::IDBClient::IDBObjectStore::putForCursorUpdate):
(WebCore::IDBClient::IDBObjectStore::putOrAdd):
(WebCore::IDBClient::IDBObjectStore::deleteFunction):
(WebCore::IDBClient::IDBObjectStore::clear):
(WebCore::IDBClient::IDBObjectStore::createIndex):
(WebCore::IDBClient::IDBObjectStore::index):
(WebCore::IDBClient::IDBObjectStore::deleteIndex):
(WebCore::IDBClient::IDBObjectStore::count):
(WebCore::IDBClient::IDBObjectStore::doCount):
* Modules/indexeddb/client/IDBObjectStoreImpl.h:

* Modules/indexeddb/client/IDBRequestImpl.cpp:
(WebCore::IDBClient::IDBRequest::result):
(WebCore::IDBClient::IDBRequest::error):
* Modules/indexeddb/client/IDBRequestImpl.h:

* Modules/indexeddb/client/IDBTransactionImpl.cpp:
(WebCore::IDBClient::IDBTransaction::objectStore):
(WebCore::IDBClient::IDBTransaction::abortDueToFailedRequest):
(WebCore::IDBClient::IDBTransaction::abort):
* Modules/indexeddb/client/IDBTransactionImpl.h:

* Modules/indexeddb/legacy/LegacyCursor.cpp:
(WebCore::LegacyCursor::update):
(WebCore::LegacyCursor::continueFunction):
(WebCore::LegacyCursor::deleteFunction):
* Modules/indexeddb/legacy/LegacyCursor.h:

* Modules/indexeddb/legacy/LegacyDatabase.cpp:
(WebCore::LegacyDatabase::createObjectStore):
(WebCore::LegacyDatabase::deleteObjectStore):
(WebCore::LegacyDatabase::transaction):
(WebCore::LegacyDatabase::forceClose):
* Modules/indexeddb/legacy/LegacyDatabase.h:

* Modules/indexeddb/legacy/LegacyFactory.cpp:
(WebCore::LegacyFactory::cmp):
* Modules/indexeddb/legacy/LegacyFactory.h:

* Modules/indexeddb/legacy/LegacyIndex.cpp:
(WebCore::LegacyIndex::openCursor):
(WebCore::LegacyIndex::count):
(WebCore::LegacyIndex::openKeyCursor):
(WebCore::LegacyIndex::get):
(WebCore::LegacyIndex::getKey):
* Modules/indexeddb/legacy/LegacyIndex.h:

* Modules/indexeddb/legacy/LegacyObjectStore.cpp:
(WebCore::LegacyObjectStore::get):
(WebCore::LegacyObjectStore::add):
(WebCore::LegacyObjectStore::put):
(WebCore::LegacyObjectStore::deleteFunction):
(WebCore::LegacyObjectStore::clear):
(WebCore::LegacyObjectStore::createIndex):
(WebCore::LegacyObjectStore::index):
(WebCore::LegacyObjectStore::deleteIndex):
(WebCore::LegacyObjectStore::openCursor):
(WebCore::LegacyObjectStore::count):
* Modules/indexeddb/legacy/LegacyObjectStore.h:
(WebCore::LegacyObjectStore::createIndex):
(WebCore::LegacyObjectStore::count):

* Modules/indexeddb/legacy/LegacyRequest.cpp:
(WebCore::LegacyRequest::result):
(WebCore::LegacyRequest::error):
(WebCore::LegacyRequest::dispatchEvent):
(WebCore::LegacyRequest::uncaughtExceptionInEventHandler):
* Modules/indexeddb/legacy/LegacyRequest.h:

* Modules/indexeddb/legacy/LegacyTransaction.cpp:
(WebCore::LegacyTransaction::objectStore):
(WebCore::LegacyTransaction::abort):
(WebCore::LegacyTransaction::stop):
* Modules/indexeddb/legacy/LegacyTransaction.h:

* bindings/js/JSDOMBinding.cpp:
(WebCore::createDOMException): For IDBDatabase exceptions, use createWithDescriptionAsMessage

* bindings/js/JSIDBDatabaseCustom.cpp:
(WebCore::JSIDBDatabase::createObjectStore):
(WebCore::JSIDBDatabase::transaction):

* bindings/js/JSIDBObjectStoreCustom.cpp:
(WebCore::putOrAdd):
(WebCore::JSIDBObjectStore::createIndex):

* dom/DOMCoreException.h:
(WebCore::DOMCoreException::createWithDescriptionAsMessage): Create an exception whose message
  is the description.
(WebCore::DOMCoreException::DOMCoreException):

* dom/ExceptionBase.cpp:
(WebCore::ExceptionBase::ExceptionBase): Add a flag to determine where the message comes from
* dom/ExceptionBase.h:

* dom/make_dom_exceptions.pl:
(generateHeader): Add an IDBDatabaseException type

* inspector/InspectorIndexedDBAgent.cpp:

LayoutTests:

Lots of new wk2-specific expectations to keep Legacy IDB passing for now.

* platform/mac-wk1/TestExpectations:
* platform/wk2/imported/w3c/indexeddb/idbcursor_continue_index5-expected.txt: Added.
* platform/wk2/imported/w3c/indexeddb/idbcursor_continue_index6-expected.txt: Added.
* platform/wk2/imported/w3c/indexeddb/idbcursor_continue_invalid-expected.txt: Added.
* platform/wk2/imported/w3c/indexeddb/idbindex_get7-expected.txt: Added.
* platform/wk2/imported/w3c/indexeddb/idbindex_getKey7-expected.txt: Added.
* platform/wk2/imported/w3c/indexeddb/idbindex_openCursor2-expected.txt: Added.
* platform/wk2/imported/w3c/indexeddb/idbindex_openKeyCursor3-expected.txt: Added.
* platform/wk2/imported/w3c/indexeddb/keypath-expected.txt: Added.
* platform/wk2/storage/indexeddb/aborted-versionchange-closes-expected.txt: Copied from LayoutTests/storage/indexeddb/aborted-versionchange-closes-expected.txt.
* platform/wk2/storage/indexeddb/bad-keypath-expected.txt: Copied from LayoutTests/storage/indexeddb/mozilla/bad-keypath-expected.txt.
* platform/wk2/storage/indexeddb/basics-expected.txt: Copied from LayoutTests/storage/indexeddb/basics-expected.txt.
* platform/wk2/storage/indexeddb/clear-expected.txt: Copied from LayoutTests/storage/indexeddb/mozilla/clear-expected.txt.
* platform/wk2/storage/indexeddb/create-and-remove-object-store-expected.txt: Copied from LayoutTests/storage/indexeddb/create-and-remove-object-store-expected.txt.
* platform/wk2/storage/indexeddb/create-objectstore-basics-expected.txt: Copied from LayoutTests/storage/indexeddb/mozilla/create-objectstore-basics-expected.txt.
* platform/wk2/storage/indexeddb/cursor-continue-dir-expected.txt: Added.
* platform/wk2/storage/indexeddb/cursor-continue-expected.txt: Added.
* platform/wk2/storage/indexeddb/cursor-finished-expected.txt: Copied from LayoutTests/storage/indexeddb/cursor-finished-expected.txt.
* platform/wk2/storage/indexeddb/cursors-expected.txt: Copied from LayoutTests/storage/indexeddb/mozilla/cursors-expected.txt.
* platform/wk2/storage/indexeddb/database-basics-expected.txt: Added.
* platform/wk2/storage/indexeddb/deleteIndex-bug110792-expected.txt: Added.
* platform/wk2/storage/indexeddb/index-count-expected.txt: Added.
* platform/wk2/storage/indexeddb/intversion-close-in-oncomplete-expected.txt: Added.
* platform/wk2/storage/indexeddb/intversion-close-in-upgradeneeded-expected.txt: Added.
* platform/wk2/storage/indexeddb/invalid-keys-expected.txt: Added.
* platform/wk2/storage/indexeddb/key-requirements-delete-null-key-expected.txt: Copied from LayoutTests/storage/indexeddb/mozilla/key-requirements-delete-null-key-expected.txt.
* platform/wk2/storage/indexeddb/key-requirements-inline-and-passed-expected.txt: Copied from LayoutTests/storage/indexeddb/mozilla/key-requirements-inline-and-passed-expected.txt.
* platform/wk2/storage/indexeddb/key-requirements-put-no-key-expected.txt: Copied from LayoutTests/storage/indexeddb/mozilla/key-requirements-put-no-key-expected.txt.
* platform/wk2/storage/indexeddb/key-requirements-put-null-key-expected.txt: Copied from LayoutTests/storage/indexeddb/mozilla/key-requirements-put-null-key-expected.txt.
* platform/wk2/storage/indexeddb/key-type-array-expected.txt: Added.
* platform/wk2/storage/indexeddb/keypath-arrays-expected.txt: Added.
* platform/wk2/storage/indexeddb/keypath-edges-expected.txt: Added.
* platform/wk2/storage/indexeddb/keyrange-expected.txt: Added.
* platform/wk2/storage/indexeddb/mozilla/clear-expected.txt: Copied from LayoutTests/storage/indexeddb/mozilla/clear-expected.txt.
* platform/wk2/storage/indexeddb/mozilla/create-objectstore-basics-expected.txt: Copied from LayoutTests/storage/indexeddb/mozilla/create-objectstore-basics-expected.txt.
* platform/wk2/storage/indexeddb/mozilla/cursors-expected.txt: Copied from LayoutTests/storage/indexeddb/mozilla/cursors-expected.txt.
* platform/wk2/storage/indexeddb/mozilla/key-requirements-delete-null-key-expected.txt: Copied from LayoutTests/storage/indexeddb/mozilla/key-requirements-delete-null-key-expected.txt.
* platform/wk2/storage/indexeddb/mozilla/readonly-transactions-expected.txt: Copied from LayoutTests/storage/indexeddb/mozilla/readonly-transactions-expected.txt.
* platform/wk2/storage/indexeddb/object-lookups-in-versionchange-expected.txt: Added.
* platform/wk2/storage/indexeddb/objectstore-count-expected.txt: Added.
* platform/wk2/storage/indexeddb/open-cursor-expected.txt: Added.
* platform/wk2/storage/indexeddb/readonly-transactions-expected.txt: Copied from LayoutTests/storage/indexeddb/mozilla/readonly-transactions-expected.txt.
* platform/wk2/storage/indexeddb/removed-expected.txt: Added.
* platform/wk2/storage/indexeddb/request-result-cache-expected.txt: Added.
* platform/wk2/storage/indexeddb/transaction-abort-expected.txt: Copied from LayoutTests/storage/indexeddb/transaction-abort-expected.txt.
* platform/wk2/storage/indexeddb/transaction-active-flag-expected.txt: Added.
* platform/wk2/storage/indexeddb/transaction-after-close-expected.txt: Added.
* platform/wk2/storage/indexeddb/transaction-read-only-expected.txt: Added.
* platform/wk2/storage/indexeddb/version-change-exclusive-expected.txt: Added.
* storage/indexeddb/aborted-versionchange-closes-expected.txt:
* storage/indexeddb/basics-expected.txt:
* storage/indexeddb/create-and-remove-object-store-expected.txt:
* storage/indexeddb/cursor-finished-expected.txt:
* storage/indexeddb/exceptions-expected.txt:
* storage/indexeddb/modern/createobjectstore-failures-expected.txt:
* storage/indexeddb/modern/double-abort-expected.txt:
* storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures-expected.txt:
* storage/indexeddb/modern/idbdatabase-transaction-failures-expected.txt:
* storage/indexeddb/mozilla/bad-keypath-expected.txt:
* storage/indexeddb/mozilla/clear-expected.txt:
* storage/indexeddb/mozilla/create-objectstore-basics-expected.txt:
* storage/indexeddb/mozilla/cursors-expected.txt:
* storage/indexeddb/mozilla/key-requirements-delete-null-key-expected.txt:
* storage/indexeddb/mozilla/key-requirements-inline-and-passed-expected.txt:
* storage/indexeddb/mozilla/key-requirements-put-no-key-expected.txt:
* storage/indexeddb/mozilla/key-requirements-put-null-key-expected.txt:
* storage/indexeddb/mozilla/readonly-transactions-expected.txt:
* storage/indexeddb/resources/exceptions.js:
(testObjectStore):
* storage/indexeddb/transaction-abort-expected.txt:

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

5 years agoWeb Inspector: Unskip many inspector/debugger tests
joepeck@webkit.org [Fri, 4 Dec 2015 18:50:10 +0000 (18:50 +0000)]
Web Inspector: Unskip many inspector/debugger tests
https://bugs.webkit.org/show_bug.cgi?id=151843

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

* bindings/ScriptFunctionCall.cpp:
(Deprecated::ScriptFunctionCall::call):
Ignore TerminationExceptions, as those aren't real execution
exceptions and may be seen on Workers that have closed.

LayoutTests:

* TestExpectations:
* platform/mac/TestExpectations:
Skip specific tests.

* platform/mac-wk2/TestExpectations:
Test no longer existed.

* inspector/debugger/resources/exception.js:
(exceptionDOM):
Keep the code outputing a NotFoundException. This particular
invocation was recently changed to throw a TypeError.

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

5 years agoWeb Inspector: Remove untested and unused Worker inspection
joepeck@webkit.org [Fri, 4 Dec 2015 18:50:05 +0000 (18:50 +0000)]
Web Inspector: Remove untested and unused Worker inspection
https://bugs.webkit.org/show_bug.cgi?id=151848

Reviewed by Brian Burg.

Source/JavaScriptCore:

* CMakeLists.txt:
* DerivedSources.make:
* debugger/Debugger.cpp:
(JSC::Debugger::Debugger):
(JSC::Debugger::willExecuteProgram):
* debugger/Debugger.h:
* inspector/JSGlobalObjectScriptDebugServer.cpp:
(Inspector::JSGlobalObjectScriptDebugServer::JSGlobalObjectScriptDebugServer):
* inspector/ScriptDebugServer.cpp:
(Inspector::ScriptDebugServer::ScriptDebugServer):
* inspector/ScriptDebugServer.h:
* inspector/agents/InspectorConsoleAgent.h:
* inspector/agents/InspectorRuntimeAgent.cpp:
(Inspector::InspectorRuntimeAgent::run): Deleted.
* inspector/agents/InspectorRuntimeAgent.h:
* inspector/agents/JSGlobalObjectConsoleAgent.h:
* inspector/protocol/Runtime.json:
* inspector/protocol/Worker.json: Removed.

Source/WebCore:

* CMakeLists.txt:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSBindingsAllInOne.cpp:
* bindings/js/WorkerScriptController.cpp:
* bindings/js/WorkerScriptDebugServer.cpp: Removed.
* bindings/js/WorkerScriptDebugServer.h: Removed.
* inspector/InspectorAllInOne.cpp:
* inspector/InspectorConsoleInstrumentation.h:
(WebCore::InspectorInstrumentation::addMessageToConsole):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController): Deleted.
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::shouldPauseDedicatedWorkerOnStartImpl): Deleted.
(WebCore::InspectorInstrumentation::didStartWorkerGlobalScopeImpl): Deleted.
(WebCore::InspectorInstrumentation::willEvaluateWorkerScript): Deleted.
(WebCore::InspectorInstrumentation::workerGlobalScopeTerminatedImpl): Deleted.
(WebCore::InspectorInstrumentation::instrumentingAgentsForWorkerGlobalScope): Deleted.
(WebCore::InspectorInstrumentation::instrumentingAgentsForNonDocumentContext): Deleted.
* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::instrumentingAgentsForContext):
(WebCore::InspectorInstrumentation::shouldPauseDedicatedWorkerOnStart): Deleted.
(WebCore::InspectorInstrumentation::didStartWorkerGlobalScope): Deleted.
(WebCore::InspectorInstrumentation::workerGlobalScopeTerminated): Deleted.
* inspector/InspectorTimelineAgent.h:
* inspector/InspectorWebAgentBase.h:
(WebCore::WorkerAgentContext::WorkerAgentContext): Deleted.
* inspector/InspectorWorkerAgent.cpp: Removed.
* inspector/InspectorWorkerAgent.h: Removed.
* inspector/InspectorWorkerResource.h: Removed.
* inspector/InstrumentingAgents.cpp:
(WebCore::InstrumentingAgents::reset): Deleted.
* inspector/InstrumentingAgents.h:
(WebCore::InstrumentingAgents::workerRuntimeAgent): Deleted.
(WebCore::InstrumentingAgents::setWorkerRuntimeAgent): Deleted.
(WebCore::InstrumentingAgents::inspectorWorkerAgent): Deleted.
(WebCore::InstrumentingAgents::setInspectorWorkerAgent): Deleted.
* inspector/PageConsoleAgent.h:
* inspector/PageScriptDebugServer.cpp:
(WebCore::PageScriptDebugServer::PageScriptDebugServer):
* inspector/WorkerConsoleAgent.cpp: Removed.
* inspector/WorkerConsoleAgent.h: Removed.
* inspector/WorkerDebuggerAgent.cpp: Removed.
* inspector/WorkerDebuggerAgent.h: Removed.
* inspector/WorkerInspectorController.cpp: Removed.
* inspector/WorkerInspectorController.h: Removed.
* inspector/WorkerRuntimeAgent.cpp: Removed.
* inspector/WorkerRuntimeAgent.h: Removed.
* workers/Worker.cpp:
(WebCore::Worker::notifyFinished): Deleted.
* workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::WorkerGlobalScope): Deleted.
(WebCore::WorkerGlobalScope::~WorkerGlobalScope): Deleted.
* workers/WorkerGlobalScope.h:
(WebCore::WorkerGlobalScope::workerInspectorController): Deleted.
* workers/WorkerGlobalScopeProxy.h:
(WebCore::WorkerGlobalScopeProxy::PageInspector::~PageInspector): Deleted.
(WebCore::WorkerGlobalScopeProxy::connectToInspector): Deleted.
(WebCore::WorkerGlobalScopeProxy::disconnectFromInspector): Deleted.
(WebCore::WorkerGlobalScopeProxy::sendMessageToInspector): Deleted.
* workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::WorkerMessagingProxy): Deleted.
(WebCore::WorkerMessagingProxy::startWorkerGlobalScope): Deleted.
(WebCore::WorkerMessagingProxy::connectToInspector): Deleted.
(WebCore::WorkerMessagingProxy::disconnectFromInspector): Deleted.
(WebCore::WorkerMessagingProxy::sendMessageToInspector): Deleted.
(WebCore::WorkerMessagingProxy::workerGlobalScopeDestroyedInternal): Deleted.
(WebCore::WorkerMessagingProxy::terminateWorkerGlobalScope): Deleted.
(WebCore::WorkerMessagingProxy::postMessageToPageInspector): Deleted.
* workers/WorkerMessagingProxy.h:
* workers/WorkerReportingProxy.h:
* workers/WorkerThread.cpp:
(WebCore::WorkerThread::workerThread): Deleted.

Source/WebInspectorUI:

* UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js:
* UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js:
* UserInterface/Protocol/Legacy/9.0/InspectorBackendCommands.js:
* Versions/Inspector-iOS-7.0.json:
* Versions/Inspector-iOS-8.0.json:
* Versions/Inspector-iOS-9.0.json:
Since this was untested in older releases as well, remove
the protocol interfaces for legacy versions.

LayoutTests:

* inspector/debugger/pause-dedicated-worker-expected.txt: Removed.
* inspector/debugger/pause-dedicated-worker.html: Removed.
* inspector/debugger/resources/dedicated-worker.js: Removed.
* inspector/debugger/terminate-dedicated-worker-while-paused-expected.txt: Removed.
* inspector/debugger/terminate-dedicated-worker-while-paused.html: Removed.

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

5 years agoWeb Inspector: Specifically Identify the Global Lexical Environment Scope
joepeck@webkit.org [Fri, 4 Dec 2015 18:49:47 +0000 (18:49 +0000)]
Web Inspector: Specifically Identify the Global Lexical Environment Scope
https://bugs.webkit.org/show_bug.cgi?id=151828

Reviewed by Brian Burg.

Source/JavaScriptCore:

* inspector/InjectedScriptSource.js:
Include the new scope type.

* inspector/JSJavaScriptCallFrame.h:
* inspector/JSJavaScriptCallFrame.cpp:
(Inspector::JSJavaScriptCallFrame::scopeType):
Set the new value for the new scope type.

* inspector/JSJavaScriptCallFramePrototype.cpp:
(Inspector::JSJavaScriptCallFramePrototype::finishCreation): Deleted.
(Inspector::jsJavaScriptCallFrameConstantGLOBAL_SCOPE): Deleted.
(Inspector::jsJavaScriptCallFrameConstantLOCAL_SCOPE): Deleted.
(Inspector::jsJavaScriptCallFrameConstantWITH_SCOPE): Deleted.
(Inspector::jsJavaScriptCallFrameConstantCLOSURE_SCOPE): Deleted.
(Inspector::jsJavaScriptCallFrameConstantCATCH_SCOPE): Deleted.
(Inspector::jsJavaScriptCallFrameConstantFUNCTION_NAME_SCOPE): Deleted.
Remove unused constants on the JavaScriptCallFrame object.
Currently they are just hardcoded in InjectedScriptSource
and they don't make sense on instances anyways.

Source/WebInspectorUI:

* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Controllers/DebuggerManager.js:
(WebInspector.DebuggerManager.prototype._scopeChainNodeFromPayload):
* UserInterface/Models/ScopeChainNode.js:
* UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
(WebInspector.ScopeChainDetailsSidebarPanel.prototype._generateCallFramesSection):
Include a new scope type and give it a localized string.

LayoutTests:

* inspector/debugger/breakpoint-scope-expected.txt:
* inspector/debugger/breakpoint-scope.html:
* inspector/debugger/resources/scope.js:
Update the test to include something in the global lexical
environment and ensure it is identified as such.

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

5 years agoAdd an option to emit instructions validating exceptions in the DFG rather than alway...
keith_miller@apple.com [Fri, 4 Dec 2015 18:45:43 +0000 (18:45 +0000)]
Add an option to emit instructions validating exceptions in the DFG rather than always emiting them.
https://bugs.webkit.org/show_bug.cgi?id=151841

Reviewed by Saam Barati.

Add a new option that validates the DFG execption checking. The default value for the option is
true in Debug builds and false in Release builds. Additionally, renamed jitAssertNoException to
jitReleaseAssertNoException for consistency with our ASSERT naming convention.

* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileCurrentBlock):
* jit/AssemblyHelpers.cpp:
(JSC::AssemblyHelpers::jitReleaseAssertNoException):
(JSC::AssemblyHelpers::jitAssertNoException): Deleted.
* jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::jitAssertNoException): Deleted.
* runtime/Options.cpp:
(JSC::recomputeDependentOptions):
* runtime/Options.h:

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

5 years agoFix the !ENABLE(DFG_JIT) build after r190735
ossy@webkit.org [Fri, 4 Dec 2015 18:08:27 +0000 (18:08 +0000)]
Fix the !ENABLE(DFG_JIT) build after r190735
https://bugs.webkit.org/show_bug.cgi?id=151617

Reviewed by Filip Pizlo.

* jit/GCAwareJITStubRoutine.cpp:
(JSC::GCAwareJITStubRoutineWithExceptionHandler::observeZeroRefCount):

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

5 years ago[cmake] Fix the B3 build after r192946
ossy@webkit.org [Fri, 4 Dec 2015 13:16:05 +0000 (13:16 +0000)]
[cmake] Fix the B3 build after r192946
https://bugs.webkit.org/show_bug.cgi?id=151857

Reviewed by Michael Saboff.

* CMakeLists.txt:

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

5 years ago[AArch64] Typo fix after r189575
ossy@webkit.org [Fri, 4 Dec 2015 13:01:06 +0000 (13:01 +0000)]
[AArch64] Typo fix after r189575
https://bugs.webkit.org/show_bug.cgi?id=151855

Reviewed by Michael Saboff.

* ftl/FTLUnwindInfo.cpp:
(JSC::FTL::parseUnwindInfo):

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

5 years ago[css-grid] Fix height computation of grid items with borders inside fr tracks
svillar@igalia.com [Fri, 4 Dec 2015 11:14:49 +0000 (11:14 +0000)]
[css-grid] Fix height computation of grid items with borders inside fr tracks
https://bugs.webkit.org/show_bug.cgi?id=151798

Reviewed by Zalan Bujtas.

Source/WebCore:

Since r192154 we run a second pass of the track sizing
algorithm whenever the height of the grid is indefinite in
order to properly compute row sizes. The available space
passed to the track sizing algorithm must not contain neither
borders nor paddings, otherwise it will think that it has more
space available than the existing one. We should use the
height of the content box instead.

Test: fast/css-grid-layout/grid-item-with-border-in-fr.html

* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::layoutBlock):

LayoutTests:

* fast/css-grid-layout/grid-item-with-border-in-fr-expected.txt: Added.
* fast/css-grid-layout/grid-item-with-border-in-fr.html: Added.

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

5 years ago[GTK] Test /webkit2/WebKitWebResource/get-data is flaky
carlosgc@webkit.org [Fri, 4 Dec 2015 07:45:05 +0000 (07:45 +0000)]
[GTK] Test /webkit2/WebKitWebResource/get-data is flaky
https://bugs.webkit.org/show_bug.cgi?id=151797

Reviewed by Martin Robinson.

Since we switched to use the network process to run the unit tests
the test /webkit2/WebKitWebResource/get-data sometimes fails and
sometimes passes. We are now also getting the notification for the
css image. Since we wait for 3 resources, sometimes the css image
is loaded before and then checkResourceData is called for it, but
not handled. When the css image is the last one loaded the test
passes. So, we just need to wait for the 4 resources.

* TestWebKitAPI/Tests/WebKit2Gtk/TestResources.cpp:
(testWebResourceGetData):

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

5 years agoModern IDB: Fix up tests that refer to non-standard IDBVersionChangeEvent.dataLoss.
beidson@apple.com [Fri, 4 Dec 2015 06:40:16 +0000 (06:40 +0000)]
Modern IDB: Fix up tests that refer to non-standard IDBVersionChangeEvent.dataLoss.
https://bugs.webkit.org/show_bug.cgi?id=151850

Reviewed by Andy Estes.

* platform/mac-wk1/TestExpectations:

* storage/indexeddb/data-corruption-expected.txt: Removed.
* storage/indexeddb/data-corruption.html: Removed.
* storage/indexeddb/resources/data-corruption.js: Removed.

* storage/indexeddb/events-expected.txt:
* storage/indexeddb/resources/events.js:

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

5 years agoModern IDB: storage/indexeddb/cursor-index-delete.html fails.
beidson@apple.com [Fri, 4 Dec 2015 05:55:35 +0000 (05:55 +0000)]
Modern IDB: storage/indexeddb/cursor-index-delete.html fails.
https://bugs.webkit.org/show_bug.cgi?id=151847

Reviewed by Andy Estes.

Source/WebCore:

No new tests (At least one failing test now passes).

* Modules/indexeddb/server/MemoryIndexCursor.cpp:
(WebCore::IDBServer::MemoryIndexCursor::MemoryIndexCursor):
(WebCore::IDBServer::MemoryIndexCursor::currentData):

LayoutTests:

* platform/mac-wk1/TestExpectations:

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

5 years agoDumpRenderTree: Use-after-free in createBitmapContext() in PixelDumpSupportMac.mm
ddkilzer@apple.com [Fri, 4 Dec 2015 05:24:46 +0000 (05:24 +0000)]
DumpRenderTree: Use-after-free in createBitmapContext() in PixelDumpSupportMac.mm
<http://webkit.org/b/151845>

Reviewed by Simon Fraser.

Fixes the following static analyzer warning:
    DumpRenderTree/mac/PixelDumpSupportMac.mm:67:9: warning: Use of memory after it is freed
            WTFLogAlways("DumpRenderTree: CGBitmapContextCreate(%p, %llu, %llu, 8, %llu, %p, 0x%x) failed\n", buffer, pixelsHigh, pixelsWide, rowBytes, colorSpace.get(), kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Host);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* DumpRenderTree/mac/PixelDumpSupportMac.mm:
(createBitmapContext): Free 'buffer' after using it in logging
to fix the use-after-free.  Assign a value of nullptr to buffer
so we don't return with it set to a freed address.

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

5 years agoReduce uses of PassRefPtr in DOM - 1
gyuyoung.kim@webkit.org [Fri, 4 Dec 2015 05:21:45 +0000 (05:21 +0000)]
Reduce uses of PassRefPtr in DOM - 1
https://bugs.webkit.org/show_bug.cgi?id=149788

Reviewed by Darin Adler.

As a step to purge PassRefPtr, this patch reduces the uses in WebCore/dom.

* dom/ChildListMutationScope.cpp:
(WebCore::ChildListMutationAccumulator::getOrCreate):
* dom/ChildListMutationScope.h:
* dom/ClipboardEvent.cpp:
(WebCore::ClipboardEvent::ClipboardEvent):
* dom/ClipboardEvent.h:
* dom/CompositionEvent.cpp:
(WebCore::CompositionEvent::CompositionEvent):
(WebCore::CompositionEvent::initCompositionEvent):
* dom/CompositionEvent.h:
* dom/DOMNamedFlowCollection.cpp:
(WebCore::DOMNamedFlowCollection::item):
* dom/DOMNamedFlowCollection.h:
* dom/DOMStringList.h:
* dom/DeviceMotionController.cpp:
(WebCore::DeviceMotionController::getLastEvent):
* dom/DeviceMotionController.h:
* dom/DeviceOrientationController.cpp:
(WebCore::DeviceOrientationController::getLastEvent):
* dom/DeviceOrientationController.h:
* editing/Editor.cpp:
(WebCore::Editor::dispatchCPPEvent):
* page/DeviceController.h:
(WebCore::DeviceController::getLastEvent):

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

5 years agoAllow index.html indexes again.
timothy@apple.com [Fri, 4 Dec 2015 04:51:20 +0000 (04:51 +0000)]
Allow index.html indexes again.

* .htaccess:

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

5 years agoRemove the old site files.
timothy@apple.com [Fri, 4 Dec 2015 04:48:08 +0000 (04:48 +0000)]
Remove the old site files.

* asking_questions.html: Removed.
* building/active-scheme-xcode4.png: Removed.
* building/build-settings-tab-xcode4.png: Removed.
* building/build.html: Removed.
* building/checkout.html: Removed.
* building/custom-executable-xcode4.png: Removed.
* building/cygwin-downloader.zip: Removed.
* building/debug-mac-uiprocess.html: Removed.
* building/debug.html: Removed.
* building/launch-debugger-vs2010-small.png: Removed.
* building/launch-debugger-vs2010.png: Removed.
* building/run-xcode4.png: Removed.
* building/run.html: Removed.
* building/set-as-startup-project-vs2010.png: Removed.
* building/set-debugging-properties-vs2010-small.png: Removed.
* building/set-debugging-properties-vs2010.png: Removed.
* building/tools.html: Removed.
* coding/RefPtr.html: Removed.
* coding/adding-features.html: Removed.
* coding/assertion-guidelines.html: Removed.
* coding/bsd-license.html: Removed.
* coding/coding-style.html: Removed.
* coding/commit-review-policy.html: Removed.
* coding/contributing.html: Removed.
* coding/dom-element-attach.html: Removed.
* coding/images/contribute_add_attachment.png: Removed.
* coding/images/contribute_mark_review.png: Removed.
* coding/images/dom-element-attach-large.png: Removed.
* coding/images/dom-element-attach-small.png: Removed.
* coding/images/dom-element-attach.graffle: Removed.
* coding/lgpl-license.html: Removed.
* coding/major-objects.html: Removed.
* coding/scripts.html: Removed.
* coding/technical-articles.html: Removed.
* contact.html: Removed.
* css/blue.css: Removed.
* css/gray.css: Removed.
* css/green.css: Removed.
* css/ie.css: Removed.
* css/main.css: Removed.
* css/pink.css: Removed.
* css/purple.css: Removed.
* css/yellow.css: Removed.
* demos/index.html: Removed.
* footer.inc: Removed.
* header.inc: Removed.
* images/DroseraPic.png: Removed.
* images/blank.png: Removed.
* images/blue-background.png: Removed.
* images/blue-bullet.png: Removed.
* images/download.png: Removed.
* images/end.png: Removed.
* images/gray-background.png: Removed.
* images/green-background.png: Removed.
* images/green-bullet.png: Removed.
* images/icon-gold.png: Removed.
* images/icon.png: Removed.
* images/ie-nav.png: Removed.
* images/middle.png: Removed.
* images/nav.png: Removed.
* images/pink-background.png: Removed.
* images/pink-bullet.png: Removed.
* images/purple-background.png: Removed.
* images/purple-bullet.png: Removed.
* images/surfin-safari.icns: Removed.
* images/yellow-background.png: Removed.
* images/yellow-bullet.png: Removed.
* index.html: Removed.
* nav.inc: Removed.
* pngbehavior.htc: Removed.
* projects/accessibility/index.html: Removed.
* projects/cleanup/index.html: Removed.
* projects/compat/index.html: Removed.
* projects/css/index.html: Removed.
* projects/documentation/index.html: Removed.
* projects/dom/index.html: Removed.
* projects/editing/index.html: Removed.
* projects/forms/image-usemap.png: Removed.
* projects/forms/image1.png: Removed.
* projects/forms/image10.png: Removed.
* projects/forms/image16.png: Removed.
* projects/forms/index.html: Removed.
* projects/forms/survey.html: Removed.
* projects/goals.html: Removed.
* projects/html/index.html: Removed.
* projects/index.html: Removed.
* projects/javascript/index.html: Removed.
* projects/layout/index.html: Removed.
* projects/mathml/index.html: Removed.
* projects/performance/index.html: Removed.
* projects/plugins/index.html: Removed.
* projects/portability/index.html: Removed.
* projects/printing/index.html: Removed.
* projects/svg/index.html: Removed.
* projects/svg/status.xml: Removed.
* projects/svg/svg-status.css: Removed.
* projects/svg/svg-status.xsl: Removed.
* projects/webkit/index.html: Removed.
* projects/xml/index.html: Removed.
* projects/xslt/index.html: Removed.
* quality/.htaccess: Removed.
* quality/Ahem.ttf: Removed.
* quality/bugpriorities.html: Removed.
* quality/bugwriting.html: Removed.
* quality/bugzilla.html: Removed.
* quality/crashlogs.html: Removed.
* quality/leakhunting.html: Removed.
* quality/lifecycle.html: Removed.
* quality/mac_reportbox.jpg: Removed.
* quality/mac_viewtrace.jpg: Removed.
* quality/reduction.html: Removed.
* quality/reporting.html: Removed.
* quality/testing.html: Removed.
* quality/testwriting.html: Removed.
* quality/win_installwatson.jpg: Removed.
* quality/win_watsongui.jpg: Removed.
* quality/win_watsoninstalled.jpg: Removed.
* security/index.html: Removed.
* security/security-group-members.html: Removed.
* status.html: Removed.
* team.html: Removed.

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

5 years agoYet another attempt to fix the http blog redirects.
timothy@apple.com [Fri, 4 Dec 2015 04:39:04 +0000 (04:39 +0000)]
Yet another attempt to fix the http blog redirects.

Removing the blog folder should do it.

* .htaccess:
* blog: Removed.

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

5 years agoAnother attempt to fix the http blog redirects.
timothy@apple.com [Fri, 4 Dec 2015 04:30:47 +0000 (04:30 +0000)]
Another attempt to fix the http blog redirects.

* .htaccess:

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

5 years agoAttempt to fix the http blog redirects.
timothy@apple.com [Fri, 4 Dec 2015 04:20:57 +0000 (04:20 +0000)]
Attempt to fix the http blog redirects.

* .htaccess:

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

5 years agoAnother attempt to fix the https redirect.
timothy@apple.com [Fri, 4 Dec 2015 04:18:41 +0000 (04:18 +0000)]
Another attempt to fix the https redirect.

* .htaccess:

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

5 years agoAttempt to fix the https redirect.
timothy@apple.com [Fri, 4 Dec 2015 04:16:37 +0000 (04:16 +0000)]
Attempt to fix the https redirect.

* .htaccess:

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

5 years agoFix blog.webkit.org redirects.
timothy@apple.com [Fri, 4 Dec 2015 04:13:21 +0000 (04:13 +0000)]
Fix blog.webkit.org redirects.

* .htaccess:

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

5 years agoAdd redirects for the demos folder.
timothy@apple.com [Fri, 4 Dec 2015 03:58:25 +0000 (03:58 +0000)]
Add redirects for the demos folder.

* .htaccess:

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

5 years agoRemove duplicate redirect.
timothy@apple.com [Fri, 4 Dec 2015 03:52:16 +0000 (03:52 +0000)]
Remove duplicate redirect.

* .htaccess:

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

5 years agoOne more attempt to clean up redirects.
timothy@apple.com [Fri, 4 Dec 2015 03:46:27 +0000 (03:46 +0000)]
One more attempt to clean up redirects.

* .htaccess:

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

5 years agoAvoid double slashes after redirect for directories.
timothy@apple.com [Fri, 4 Dec 2015 03:37:00 +0000 (03:37 +0000)]
Avoid double slashes after redirect for directories.

* .htaccess:

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

5 years agoFix directory redirects some more.
timothy@apple.com [Fri, 4 Dec 2015 03:35:16 +0000 (03:35 +0000)]
Fix directory redirects some more.

* .htaccess:

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

5 years agoFix directory redirect ordering.
timothy@apple.com [Fri, 4 Dec 2015 03:30:32 +0000 (03:30 +0000)]
Fix directory redirect ordering.

* .htaccess:

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

5 years agoB3 Patchpoint and Check opcodes should be able to specify WarmAny, ColdAny, and LateC...
fpizlo@apple.com [Fri, 4 Dec 2015 03:29:39 +0000 (03:29 +0000)]
B3 Patchpoint and Check opcodes should be able to specify WarmAny, ColdAny, and LateColdAny
https://bugs.webkit.org/show_bug.cgi?id=151335

Reviewed by Geoffrey Garen.

This removes ValueRep::Any and replaces it with ValueRep::WarmAny, ValueRep::ColdAny, and
ValueRep::LateColdAny. I think that conceptually the most obvious users of patchpoints are inline
caches, which would use WarmAny for their non-OSR inputs. For this reason, I make WarmAny the
default.

However, the StackmapValue optimization that provides a default ValueRep for any that are missing
was meant for OSR. So, this optimization now uses ColdAny.

This patch wires this change through the whole compiler and adds some tests.

* b3/B3CheckSpecial.cpp:
(JSC::B3::CheckSpecial::Key::Key):
(JSC::B3::CheckSpecial::Key::dump):
(JSC::B3::CheckSpecial::CheckSpecial):
* b3/B3CheckSpecial.h:
(JSC::B3::CheckSpecial::Key::Key):
(JSC::B3::CheckSpecial::Key::opcode):
(JSC::B3::CheckSpecial::Key::numArgs):
(JSC::B3::CheckSpecial::Key::stackmapRole):
* b3/B3CheckValue.cpp:
(JSC::B3::CheckValue::CheckValue):
* b3/B3ConstrainedValue.h:
(JSC::B3::ConstrainedValue::ConstrainedValue):
* b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::fillStackmap):
(JSC::B3::Air::LowerToAir::lower):
* b3/B3MoveConstants.cpp:
* b3/B3PatchpointSpecial.cpp:
(JSC::B3::PatchpointSpecial::forEachArg):
(JSC::B3::PatchpointSpecial::isValid):
(JSC::B3::PatchpointSpecial::admitsStack):
* b3/B3PatchpointValue.cpp:
(JSC::B3::PatchpointValue::PatchpointValue):
* b3/B3PatchpointValue.h:
* b3/B3StackmapSpecial.cpp:
(JSC::B3::StackmapSpecial::forEachArgImpl):
(JSC::B3::StackmapSpecial::admitsStackImpl):
(JSC::B3::StackmapSpecial::isArgValidForRep):
(WTF::printInternal):
* b3/B3StackmapSpecial.h:
* b3/B3StackmapValue.cpp:
(JSC::B3::StackmapValue::append):
(JSC::B3::StackmapValue::setConstraint):
* b3/B3StackmapValue.h:
* b3/B3Validate.cpp:
* b3/B3ValueRep.cpp:
(JSC::B3::ValueRep::dump):
(WTF::printInternal):
* b3/B3ValueRep.h:
(JSC::B3::ValueRep::ValueRep):
(JSC::B3::ValueRep::reg):
(JSC::B3::ValueRep::operator!=):
(JSC::B3::ValueRep::operator bool):
(JSC::B3::ValueRep::isAny):
(JSC::B3::ValueRep::isSomeRegister):
* b3/testb3.cpp:
(JSC::B3::compileAndRun):
(JSC::B3::add32):
(JSC::B3::test42):
(JSC::B3::testSimplePatchpoint):
(JSC::B3::testPatchpointWithEarlyClobber):
(JSC::B3::testPatchpointFixedRegister):
(JSC::B3::testPatchpointAny):
(JSC::B3::testPatchpointLotsOfLateAnys):
(JSC::B3::testPatchpointAnyImm):
(JSC::B3::testPatchpointManyImms):
(JSC::B3::testPatchpointWithRegisterResult):
(JSC::B3::testPatchpointWithAnyResult):
(JSC::B3::run):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::blessSpeculation):

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

5 years agoFixed cache logic so download data is correctly available.
jond@apple.com [Fri, 4 Dec 2015 03:15:59 +0000 (03:15 +0000)]
Fixed cache logic so download data is correctly available.

* wp-content/themes/webkit/nightly.php:

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

5 years agoAdd some missing redirects for directories of the old site.
timothy@apple.com [Fri, 4 Dec 2015 03:06:05 +0000 (03:06 +0000)]
Add some missing redirects for directories of the old site.

* .htaccess:

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

5 years agoRemove the use of GraphicsContextStateSaver from RenderLayer::paintLayerByApplyingTra...
commit-queue@webkit.org [Fri, 4 Dec 2015 00:49:48 +0000 (00:49 +0000)]
Remove the use of GraphicsContextStateSaver from RenderLayer::paintLayerByApplyingTransform
https://bugs.webkit.org/show_bug.cgi?id=151829

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-12-03
Reviewed by Simon Fraser.

Set the CTM of the GraphicsContext to its original value before changing
it. This is a lot cheaper than using GraphicsContextStateSaver to save the
whole state of the GraphicsContext and restore it back;

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayerByApplyingTransform):

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

5 years ago[MediaStream] Update MediaStreamTrack.getCapabilities
eric.carlson@apple.com [Fri, 4 Dec 2015 00:34:55 +0000 (00:34 +0000)]
[MediaStream] Update MediaStreamTrack.getCapabilities
https://bugs.webkit.org/show_bug.cgi?id=151728

Reviewed by Jer Noble.

Source/WebCore:

Test: fast/mediastream/MediaStreamTrack-getCapabilities.html

* CMakeLists.txt: Remove files deleted from the repository.

* DerivedSources.make: Ditto.

* Modules/mediastream/AllAudioCapabilities.h: Removed.
* Modules/mediastream/AllAudioCapabilities.idl: Removed.
* Modules/mediastream/AllVideoCapabilities.h: Removed.
* Modules/mediastream/AllVideoCapabilities.idl: Removed.
* Modules/mediastream/CapabilityRange.cpp: Removed.
* Modules/mediastream/CapabilityRange.h: Removed.
* Modules/mediastream/CapabilityRange.idl: Removed.

* Modules/mediastream/MediaSourceSettings.h:
(WebCore::MediaSourceSettings::supportsVolume): Volume is a double.
(WebCore::MediaSourceSettings::volume): Double.

* Modules/mediastream/MediaStreamCapabilities.cpp: Removed.
* Modules/mediastream/MediaStreamCapabilities.h: Removed.
* Modules/mediastream/MediaStreamCapabilities.idl: Removed.

* Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::getCapabilities): MediaStreamCapabilities is gone, return a RealtimeMediaSourceCapabilities.
* Modules/mediastream/MediaStreamTrack.h:
* Modules/mediastream/MediaStreamTrack.idl:

* WebCore.xcodeproj/project.pbxproj: Remove files deleted from the repository.
* bindings/js/JSMediaStreamTrackCustom.cpp:
(WebCore::capabilityValue):
(WebCore::JSMediaStreamTrack::getCapabilities): Create and return a dictionary of capatilities.

* platform/mediastream/RealtimeMediaSourceCapabilities.h:
(WebCore::CapabilityValueOrRange::type):
(WebCore::CapabilityValueOrRange::CapabilityValueOrRange):
(WebCore::CapabilityValueOrRange::rangeMin):
(WebCore::CapabilityValueOrRange::rangeMax):
(WebCore::CapabilityValueOrRange::value):
(WebCore::RealtimeMediaSourceCapabilities::create):
(WebCore::RealtimeMediaSourceCapabilities::~RealtimeMediaSourceCapabilities):
(WebCore::RealtimeMediaSourceCapabilities::supportsWidth):
(WebCore::RealtimeMediaSourceCapabilities::width):
(WebCore::RealtimeMediaSourceCapabilities::setWidth):
(WebCore::RealtimeMediaSourceCapabilities::supportsHeight):
(WebCore::RealtimeMediaSourceCapabilities::height):
(WebCore::RealtimeMediaSourceCapabilities::setHeight):
(WebCore::RealtimeMediaSourceCapabilities::supportsFrameRate):
(WebCore::RealtimeMediaSourceCapabilities::frameRate):
(WebCore::RealtimeMediaSourceCapabilities::setFrameRate):
(WebCore::RealtimeMediaSourceCapabilities::supportsFacingMode):
(WebCore::RealtimeMediaSourceCapabilities::facingMode):
(WebCore::RealtimeMediaSourceCapabilities::addFacingMode):
(WebCore::RealtimeMediaSourceCapabilities::supportsAspectRatio):
(WebCore::RealtimeMediaSourceCapabilities::aspectRatio):
(WebCore::RealtimeMediaSourceCapabilities::setAspectRatio):
(WebCore::RealtimeMediaSourceCapabilities::supportsVolume):
(WebCore::RealtimeMediaSourceCapabilities::volume):
(WebCore::RealtimeMediaSourceCapabilities::setVolume):
(WebCore::RealtimeMediaSourceCapabilities::supportsSampleRate):
(WebCore::RealtimeMediaSourceCapabilities::sampleRate):
(WebCore::RealtimeMediaSourceCapabilities::setSampleRate):
(WebCore::RealtimeMediaSourceCapabilities::supportsSampleSize):
(WebCore::RealtimeMediaSourceCapabilities::sampleSize):
(WebCore::RealtimeMediaSourceCapabilities::setSampleSize):
(WebCore::RealtimeMediaSourceCapabilities::supportsEchoCancellation):
(WebCore::RealtimeMediaSourceCapabilities::echoCancellation):
(WebCore::RealtimeMediaSourceCapabilities::setEchoCancellation):
(WebCore::RealtimeMediaSourceCapabilities::supportsDeviceId):
(WebCore::RealtimeMediaSourceCapabilities::deviceId):
(WebCore::RealtimeMediaSourceCapabilities::setDeviceId):
(WebCore::RealtimeMediaSourceCapabilities::supportsGroupId):
(WebCore::RealtimeMediaSourceCapabilities::groupId):
(WebCore::RealtimeMediaSourceCapabilities::setGroupId):
(WebCore::RealtimeMediaSourceCapabilities::RealtimeMediaSourceCapabilities):
(WebCore::RealtimeMediaSourceCapabilityRange::RealtimeMediaSourceCapabilityRange): Deleted.
(WebCore::RealtimeMediaSourceCapabilityRange::min): Deleted.
(WebCore::RealtimeMediaSourceCapabilityRange::max): Deleted.
(WebCore::RealtimeMediaSourceCapabilityRange::type): Deleted.
(WebCore::RealtimeMediaSourceCapabilityRange::supported): Deleted.
(WebCore::RealtimeMediaSourceCapabilities::sourceId): Deleted.
(WebCore::RealtimeMediaSourceCapabilities::setSourceId): Deleted.
(WebCore::RealtimeMediaSourceCapabilities::facingModes): Deleted.
(WebCore::RealtimeMediaSourceCapabilities::setWidthRange): Deleted.
(WebCore::RealtimeMediaSourceCapabilities::setHeightRange): Deleted.
(WebCore::RealtimeMediaSourceCapabilities::setFrameRateRange): Deleted.
(WebCore::RealtimeMediaSourceCapabilities::setAspectRatioRange): Deleted.
(WebCore::RealtimeMediaSourceCapabilities::setVolumeRange): Deleted.
(WebCore::RealtimeMediaSourceCapabilities::hasVideoSource): Deleted.
(WebCore::RealtimeMediaSourceCapabilities::setHasVideoSource): Deleted.

* platform/mediastream/RealtimeMediaSourceSettings.h:
(WebCore::RealtimeMediaSourceSettings::volume): Volume is a double.
(WebCore::RealtimeMediaSourceSettings::setVolume): Ditt.

* platform/mediastream/mac/AVAudioCaptureSource.mm:
(WebCore::AVAudioCaptureSource::initializeCapabilities): Initialize volume capability.

* platform/mediastream/mac/AVMediaCaptureSource.mm:
(WebCore::AVMediaCaptureSource::capabilities): RealtimeMediaSourceCapabilities constructor takes
  supportedConstraints. sourceId -> deviceId.

* platform/mediastream/mac/AVVideoCaptureSource.mm:
(WebCore::AVVideoCaptureSource::initializeCapabilities): DeviceId is set by the base class.

* platform/mediastream/mac/WebAudioSourceProviderAVFObjC.mm: Drive-by cleanup, remove unused code.

* platform/mock/MockRealtimeAudioSource.cpp:
(WebCore::MockRealtimeAudioSource::initializeCapabilities): Updated.
(WebCore::MockRealtimeAudioSource::initializeSupportedConstraints): Ditto.

* platform/mock/MockRealtimeMediaSource.cpp:
(WebCore::MockRealtimeMediaSource::capabilities): sourceId -> deviceId.

* platform/mock/MockRealtimeVideoSource.cpp:
(WebCore::MockRealtimeVideoSource::initializeCapabilities): Updated.
(WebCore::MockRealtimeVideoSource::initializeSupportedConstraints): Ditto.

LayoutTests:

* fast/mediastream/MediaStreamTrack-getCapabilities-expected.txt: Added.
* fast/mediastream/MediaStreamTrack-getCapabilities.html: Added.
* fast/mediastream/MediaStreamTrack-getSettings-expected.txt:
* fast/mediastream/MediaStreamTrack-getSettings.html:

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

5 years agoFixed transient behavior when the cache plugin is enabled.
jond@apple.com [Fri, 4 Dec 2015 00:23:09 +0000 (00:23 +0000)]
Fixed transient behavior when the cache plugin is enabled.

* wp-content/themes/webkit/functions.php:
* wp-content/themes/webkit/includes.php:
* wp-content/themes/webkit/nightly.php:

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

5 years agoB3 patchpoints should allow specifying output constraints
fpizlo@apple.com [Fri, 4 Dec 2015 00:11:32 +0000 (00:11 +0000)]
B3 patchpoints should allow specifying output constraints
https://bugs.webkit.org/show_bug.cgi?id=151809

Reviewed by Benjamin Poulain.

JS call patchpoints should put their result into the result register, while most other patchpoints
should put their results into some register. I think that it's best if we just allow arbitrary
constraints on the result of a patchpoint. And by "arbitrary" I mean allowing the same kinds of
constraints as we allow on the stackmap children.

This also adds a large comment in B3StackmapValue.h that lays out the philosophy of our stackmaps
and patchpoints. I found it useful to write down the plan since it's pretty subtle.

* b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::lower):
* b3/B3PatchpointSpecial.cpp:
(JSC::B3::PatchpointSpecial::isValid):
(JSC::B3::PatchpointSpecial::admitsStack):
* b3/B3PatchpointValue.cpp:
(JSC::B3::PatchpointValue::~PatchpointValue):
(JSC::B3::PatchpointValue::dumpMeta):
(JSC::B3::PatchpointValue::PatchpointValue):
* b3/B3PatchpointValue.h:
(JSC::B3::PatchpointValue::accepts):
* b3/B3Procedure.h:
(JSC::B3::Procedure::code):
* b3/B3StackmapSpecial.cpp:
(JSC::B3::StackmapSpecial::isValidImpl):
(JSC::B3::StackmapSpecial::appendRepsImpl):
(JSC::B3::StackmapSpecial::isArgValidForValue):
(JSC::B3::StackmapSpecial::isArgValidForRep):
(JSC::B3::StackmapSpecial::repForArg):
* b3/B3StackmapSpecial.h:
* b3/B3StackmapValue.h:
* b3/B3Validate.cpp:
* b3/B3ValueRep.h:
(JSC::B3::ValueRep::doubleValue):
* b3/testb3.cpp:
(JSC::B3::testPatchpointManyImms):
(JSC::B3::testPatchpointWithRegisterResult):
(JSC::B3::testPatchpointWithStackArgumentResult):
(JSC::B3::testPatchpointWithAnyResult):
(JSC::B3::testSimpleCheck):
(JSC::B3::run):
* jit/RegisterSet.h:

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

5 years agoHave layer memory use consult the backing store format
simon.fraser@apple.com [Thu, 3 Dec 2015 23:44:52 +0000 (23:44 +0000)]
Have layer memory use consult the backing store format
https://bugs.webkit.org/show_bug.cgi?id=151827
rdar://problem/23746497

Reviewed by Dean Jackson.
Source/WebCore:

When computing the backing store memory size, take the pixel format into account,
rather than assuming 4 bytes per pixel.

* platform/graphics/ca/GraphicsLayerCA.cpp:
* platform/graphics/ca/PlatformCALayer.h:

Source/WebKit2:

When computing the backing store memory size, take the pixel format into account,
rather than assuming 4 bytes per pixel.

* Shared/mac/RemoteLayerBackingStore.h:
* Shared/mac/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::bytesPerPixel):
* WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(WebKit::PlatformCALayerRemote::backingStoreBytesPerPixel):
* WebProcess/WebPage/mac/PlatformCALayerRemote.h:

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

5 years agoExpose WebCore's InvisibleAutoplayNotPermitted setting to WebKit & WebKit2
jer.noble@apple.com [Thu, 3 Dec 2015 23:39:38 +0000 (23:39 +0000)]
Expose WebCore's InvisibleAutoplayNotPermitted setting to WebKit & WebKit2
https://bugs.webkit.org/show_bug.cgi?id=151830

Reviewed by Anders Carlsson.

Source/WebKit/mac:

Add a new WebPreferences property invisibleAutoplayNotPermitted.

* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(-[WebPreferences invisibleAutoplayNotPermitted]):
(-[WebPreferences setInvisibleAutoplayNotPermitted:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Source/WebKit2:

Add a new, private WKWebViewConfiguration property _invisibleAutoplayNotPermitted.

* Shared/WebPreferencesDefinitions.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]):
* UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration init]):
(-[WKWebViewConfiguration copyWithZone:]):
(-[WKWebViewConfiguration _invisibleAutoplayNotPermitted]):
(-[WKWebViewConfiguration _setInvisibleAutoplayNotPermitted:]):
* UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):

Tools:

Set invisibleAutoplayNotPermitted to NO by default both in WKTR and DRT.

* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::initializeWebViewConfiguration):

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

5 years agoIt should be possible to use version 6 of the WKPageUIClient without adopting the...
weinig@apple.com [Thu, 3 Dec 2015 22:54:40 +0000 (22:54 +0000)]
It should be possible to use version 6 of the WKPageUIClient without adopting the new createNewPage
https://bugs.webkit.org/show_bug.cgi?id=151826

Reviewed by Anders Carlsson.

* UIProcess/API/C/WKPage.cpp:
(WKPageSetPageUIClient):
Pick which variant of createNewPage to use based on which function pointer is available,
not the version number.

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

5 years agoAdd sub-section anchors to code style guidelines
jond@apple.com [Thu, 3 Dec 2015 22:47:29 +0000 (22:47 +0000)]
Add sub-section anchors to code style guidelines
https://bugs.webkit.org/show_bug.cgi?id=151770

Reviewed by Timothy Hatcher.

* code-style.md:
* wp-content/plugins/table-of-contents.php:
* wp-content/themes/webkit/includes.php:
* wp-content/themes/webkit/style.css:
(a[name]):
(p > a[name]::before):
(a[name]:hover):
(h6 a[name]):
(.admin-bar a[name]):
(.admin-bar p > a[name]::before):
(.screen-reader-text):
(.table-of-contents ul li > ul):
(#post-4132 pre:nth-child(-n+10)):
(#post-4132 pre:nth-child(-n+8)): Deleted.

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

5 years agoRemove Objective-C GC support
andersca@apple.com [Thu, 3 Dec 2015 22:41:36 +0000 (22:41 +0000)]
Remove Objective-C GC support
https://bugs.webkit.org/show_bug.cgi?id=151819
rdar://problem/23746991

Reviewed by Dan Bernstein.

Source/bmalloc:

* Configurations/Base.xcconfig:

Source/JavaScriptCore:

* Configurations/Base.xcconfig:
* Configurations/ToolExecutable.xcconfig:

Source/ThirdParty/ANGLE:

* Configurations/Base.xcconfig:

Source/WebCore:

* Configurations/Base.xcconfig:
* bindings/objc/WebScriptObject.mm:
(+[WebScriptObject initialize]): Deleted.
(-[WebScriptObject finalize]): Deleted.
* bindings/scripts/CodeGeneratorObjC.pm:
(GenerateImplementation):
* bindings/scripts/test/ObjC/DOMTestActiveDOMObject.mm:
(-[DOMTestActiveDOMObject finalize]): Deleted.
* bindings/scripts/test/ObjC/DOMTestCallback.mm:
(-[DOMTestCallback finalize]): Deleted.
* bindings/scripts/test/ObjC/DOMTestCallbackFunction.mm:
(-[DOMTestCallbackFunction finalize]): Deleted.
* bindings/scripts/test/ObjC/DOMTestCustomConstructorWithNoInterfaceObject.mm:
(-[DOMTestCustomConstructorWithNoInterfaceObject finalize]): Deleted.
* bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.mm:
(-[DOMTestCustomNamedGetter finalize]): Deleted.
* bindings/scripts/test/ObjC/DOMTestEventConstructor.mm:
(-[DOMTestEventConstructor finalize]): Deleted.
* bindings/scripts/test/ObjC/DOMTestEventTarget.mm:
(-[DOMTestEventTarget finalize]): Deleted.
* bindings/scripts/test/ObjC/DOMTestException.mm:
(-[DOMTestException finalize]): Deleted.
* bindings/scripts/test/ObjC/DOMTestGenerateIsReachable.mm:
(-[DOMTestGenerateIsReachable finalize]): Deleted.
* bindings/scripts/test/ObjC/DOMTestInterface.mm:
(-[DOMTestInterface finalize]): Deleted.
* bindings/scripts/test/ObjC/DOMTestJSBuiltinConstructor.mm:
(-[DOMTestJSBuiltinConstructor finalize]): Deleted.
* bindings/scripts/test/ObjC/DOMTestMediaQueryListListener.mm:
(-[DOMTestMediaQueryListListener finalize]): Deleted.
* bindings/scripts/test/ObjC/DOMTestNamedConstructor.mm:
(-[DOMTestNamedConstructor finalize]): Deleted.
* bindings/scripts/test/ObjC/DOMTestNondeterministic.mm:
(-[DOMTestNondeterministic finalize]): Deleted.
* bindings/scripts/test/ObjC/DOMTestObj.mm:
(-[DOMTestObj finalize]): Deleted.
* bindings/scripts/test/ObjC/DOMTestOverloadedConstructors.mm:
(-[DOMTestOverloadedConstructors finalize]): Deleted.
* bindings/scripts/test/ObjC/DOMTestOverrideBuiltins.mm:
(-[DOMTestOverrideBuiltins finalize]): Deleted.
* bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm:
(-[DOMTestSerializedScriptValueInterface finalize]): Deleted.
* bindings/scripts/test/ObjC/DOMTestTypedefs.mm:
(-[DOMTestTypedefs finalize]): Deleted.
* bindings/scripts/test/ObjC/DOMattribute.mm:
(-[DOMattribute finalize]): Deleted.
* bindings/scripts/test/ObjC/DOMreadonly.mm:
(-[DOMreadonly finalize]): Deleted.
* bridge/objc/objc_instance.mm:
(ObjcInstance::virtualBegin):
(allocateAutoReleasePool): Deleted.
* platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
* platform/mac/SharedBufferMac.mm:
(+[WebCoreSharedBufferData initialize]): Deleted.
(-[WebCoreSharedBufferData finalize]): Deleted.
* platform/mac/WebCoreObjCExtras.h:
(WebCoreObjCFinalizeOnMainThread): Deleted.

Source/WebInspectorUI:

* Configurations/Base.xcconfig:

Source/WebKit/mac:

* Carbon/CarbonWindowAdapter.mm:
(+[CarbonWindowAdapter initialize]): Deleted.
(-[CarbonWindowAdapter finalize]): Deleted.
* Configurations/Base.xcconfig:
* History/WebBackForwardList.mm:
(+[WebBackForwardList initialize]): Deleted.
(-[WebBackForwardList finalize]): Deleted.
* History/WebHistory.mm:
(-[WebHistoryPrivate finalize]): Deleted.
(-[WebHistory finalize]): Deleted.
* History/WebHistoryItem.mm:
(+[WebHistoryItem initialize]): Deleted.
(-[WebHistoryItem finalize]): Deleted.
* Misc/WebElementDictionary.mm:
(+[WebElementDictionary initialize]): Deleted.
(-[WebElementDictionary finalize]): Deleted.
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(+[WebHostedNetscapePluginView initialize]): Deleted.
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView finalize]): Deleted.
* Plugins/WebBasePluginPackage.mm:
(-[WebBasePluginPackage finalize]): Deleted.
* Plugins/WebNetscapePluginView.mm:
(+[WebNetscapePluginView initialize]): Deleted.
(-[WebNetscapePluginView finalize]): Deleted.
* Plugins/WebPluginContainerCheck.mm:
(-[WebPluginContainerCheck finalize]): Deleted.
* WebCoreSupport/WebEditorClient.mm:
(+[WebUndoStep initialize]): Deleted.
(-[WebUndoStep finalize]): Deleted.
* WebCoreSupport/WebFrameLoaderClient.mm:
* WebCoreSupport/WebOpenPanelResultListener.mm:
(-[WebOpenPanelResultListener finalize]): Deleted.
* WebCoreSupport/WebSecurityOrigin.mm:
(-[WebSecurityOrigin finalize]): Deleted.
* WebView/WebArchive.mm:
(+[WebArchivePrivate initialize]): Deleted.
* WebView/WebDataSource.mm:
(+[WebDataSource initialize]): Deleted.
(-[WebDataSource finalize]): Deleted.
* WebView/WebDynamicScrollBarsView.mm:
(-[WebDynamicScrollBarsView finalize]): Deleted.
* WebView/WebFrame.mm:
(-[WebFramePrivate setWebFrameView:]):
(-[WebFramePrivate finalize]): Deleted.
(-[WebFrame finalize]): Deleted.
* WebView/WebFrameView.mm:
(-[WebFrameView finalize]): Deleted.
* WebView/WebHTMLRepresentation.mm:
(-[WebHTMLRepresentation finalize]): Deleted.
* WebView/WebHTMLView.mm:
(+[WebHTMLViewPrivate initialize]):
(-[WebHTMLViewPrivate finalize]): Deleted.
(+[WebHTMLView initialize]): Deleted.
(-[WebHTMLView finalize]): Deleted.
* WebView/WebResource.mm:
(+[WebResourcePrivate initialize]): Deleted.
(-[WebResourcePrivate finalize]): Deleted.
* WebView/WebTextIterator.mm:
(+[WebTextIteratorPrivate initialize]): Deleted.
* WebView/WebView.mm:
(-[WebView finalize]): Deleted.
* WebView/WebViewData.mm:
(+[WebViewPrivate initialize]): Deleted.
(-[WebViewPrivate init]): Deleted.
(-[WebViewPrivate finalize]): Deleted.

Source/WebKit2:

* Configurations/Base.xcconfig:
* Configurations/BaseLegacyProcess.xcconfig:
* Configurations/BaseXPCService.xcconfig:
* Shared/Cocoa/APIObject.mm:
(API::Object::newObject): Deleted.

Source/WTF:

* Configurations/Base.xcconfig:
* wtf/ThreadingPthreads.cpp:
(WTF::initializeCurrentThreadInternal): Deleted.
* wtf/text/cf/StringImplCF.cpp:
(WTF::StringImpl::createCFString):
(garbageCollectionEnabled): Deleted.
(WTF::StringWrapperCFAllocator::create): Deleted.

Tools:

* asan/asan.xcconfig:

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

5 years agoAttempt to fix GTK again after r193125
benjamin@webkit.org [Thu, 3 Dec 2015 22:32:59 +0000 (22:32 +0000)]
Attempt to fix GTK again after r193125

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-12-03

* assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::supportsLZCNT):

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

5 years agoAttempt to fix GTK after r193125
benjamin@webkit.org [Thu, 3 Dec 2015 22:24:17 +0000 (22:24 +0000)]
Attempt to fix GTK after r193125

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-12-03

* assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::supportsLZCNT):
GCC is unable to handle EBX correctly when clobbered by inline asm.

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

5 years agoUncaught Exception in Web Inspector: TypeError: null is not an object (evaluating...
mattbaker@apple.com [Thu, 3 Dec 2015 22:06:17 +0000 (22:06 +0000)]
Uncaught Exception in Web Inspector: TypeError: null is not an object (evaluating 'dataGridNode.element.classList')
https://bugs.webkit.org/show_bug.cgi?id=151790

Reviewed by Timothy Hatcher.

* UserInterface/Views/DataGrid.js:
(WebInspector.DataGridNode):
(WebInspector.DataGridNode.prototype.get hidden):
(WebInspector.DataGridNode.prototype.set hidden):
Make hidden a property, so it can be set before the grid node's DOM element exists.
(WebInspector.DataGridNode.prototype.get selectable):
(WebInspector.DataGridNode.prototype.get element):
Add hidden style, if needed, when element is created.

* UserInterface/Views/TreeOutlineDataGridSynchronizer.js:
(WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementVisibilityDidChange):
(WebInspector.TreeOutlineDataGridSynchronizer):
Don't access the grid node's element directly, since it may not exist yet.

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

5 years agoSimple line layout: Print out simple line layout statistics for the current page...
zalan@apple.com [Thu, 3 Dec 2015 21:59:17 +0000 (21:59 +0000)]
Simple line layout: Print out simple line layout statistics for the current page from command line.
https://bugs.webkit.org/show_bug.cgi?id=151806

Reviewed Simon Fraser.

com.apple.WebKit.showSimpleLineLayoutCoverage prints out a coverage summary of the current page,
while com.apple.WebKit.showSimpleLineLayoutReasons lists the non-simple line layout blocks including the reasons why
they are not covered.

No change in functionality.

* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseForText):
(WebCore::SimpleLineLayout::canUseForFontAndText):
(WebCore::SimpleLineLayout::canUseForStyle):
(WebCore::SimpleLineLayout::canUseForWithReason):
(WebCore::SimpleLineLayout::canUseFor):
(WebCore::SimpleLineLayout::printReason):
(WebCore::SimpleLineLayout::printReasons):
(WebCore::SimpleLineLayout::printTextForSubtree):
(WebCore::SimpleLineLayout::textLengthForSubtree):
(WebCore::SimpleLineLayout::collectNonEmptyLeafRenderBlockFlows):
(WebCore::SimpleLineLayout::collectNonEmptyLeafRenderBlockFlowsForCurrentPage):
(WebCore::SimpleLineLayout::printSimpleLineLayoutBlockList):
(WebCore::SimpleLineLayout::printSimpleLineLayoutCoverage):

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

5 years agobmalloc: extra large allocations could be more efficient
msaboff@apple.com [Thu, 3 Dec 2015 21:44:51 +0000 (21:44 +0000)]
bmalloc: extra large allocations could be more efficient
https://bugs.webkit.org/show_bug.cgi?id=151817

Reviewed by Geoffrey Garen.

Reduced the super chunk size from 4MB to 2MB.

Added path to reallocate() of an extra large object to see if we can extend the allocation.

* bmalloc/Allocator.cpp:
(bmalloc::Allocator::reallocate):
* bmalloc/SegregatedFreeList.h:
* bmalloc/Sizes.h:
* bmalloc/VMAllocate.h:
(bmalloc::tryVMAllocate):
(bmalloc::tryVMExtend):
(bmalloc::vmAllocate):

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

5 years agoRemoving deleted test storage/indexeddb/objectstore-keycursor.html from TestExpectati...
ryanhaddad@apple.com [Thu, 3 Dec 2015 21:17:07 +0000 (21:17 +0000)]
Removing deleted test storage/indexeddb/objectstore-keycursor.html from TestExpectations file
https://bugs.webkit.org/show_bug.cgi?id=151772

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:

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

5 years agoFTL::OSRExitDescriptor should use less memory by having a companion object that dies...
sbarati@apple.com [Thu, 3 Dec 2015 21:09:41 +0000 (21:09 +0000)]
FTL::OSRExitDescriptor should use less memory by having a companion object that dies after compilation
https://bugs.webkit.org/show_bug.cgi?id=151795

Reviewed by Geoffrey Garen.

There were a few fields on FTL::OSRExitDescriptor that are only
needed during compilation. This patch introduces OSRExitDescriptorImpl
which is a struct that we create for each OSRExitDescriptor. The difference is
that OSRExitDescriptorImpl lives off of FTL::State so it dies after we compile.
This way no unnecessary fields persist after the compilation.

* ftl/FTLCompile.cpp:
(JSC::FTL::mmAllocateDataSection):
* ftl/FTLExceptionHandlerManager.cpp:
(JSC::FTL::ExceptionHandlerManager::lazySlowPathExceptionTarget):
(JSC::FTL::ExceptionHandlerManager::getCallOSRExitCommon):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::compileInvalidationPoint):
(JSC::FTL::DFG::LowerDFGToLLVM::appendOSRExitArgumentsForPatchpointIfWillCatchException):
(JSC::FTL::DFG::LowerDFGToLLVM::appendOSRExitDescriptor):
(JSC::FTL::DFG::LowerDFGToLLVM::appendOSRExit):
(JSC::FTL::DFG::LowerDFGToLLVM::blessSpeculation):
(JSC::FTL::DFG::LowerDFGToLLVM::emitOSRExitCall):
(JSC::FTL::DFG::LowerDFGToLLVM::buildExitArguments):
* ftl/FTLOSRExit.cpp:
(JSC::FTL::OSRExitDescriptor::OSRExitDescriptor):
(JSC::FTL::OSRExitDescriptor::validateReferences):
(JSC::FTL::OSRExitDescriptor::emitOSRExit):
(JSC::FTL::OSRExitDescriptor::emitOSRExitLater):
(JSC::FTL::OSRExitDescriptor::prepareOSRExitHandle):
(JSC::FTL::OSRExit::OSRExit):
(JSC::FTL::OSRExit::codeLocationForRepatch):
(JSC::FTL::OSRExit::gatherRegistersToSpillForCallIfException):
(JSC::FTL::OSRExit::willArriveAtExitFromIndirectExceptionCheck):
(JSC::FTL::exceptionTypeWillArriveAtOSRExitFromGenericUnwind):
(JSC::FTL::OSRExit::willArriveAtOSRExitFromGenericUnwind):
(JSC::FTL::OSRExit::willArriveAtOSRExitFromCallOperation):
(JSC::FTL::OSRExitDescriptor::isExceptionHandler): Deleted.
* ftl/FTLOSRExit.h:
(JSC::FTL::OSRExitDescriptorImpl::OSRExitDescriptorImpl):
* ftl/FTLOSRExitCompiler.cpp:
(JSC::FTL::compileFTLOSRExit):
* ftl/FTLState.h:

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

5 years agoUnreviewed build-fix; fix !HAVE(AVKIT) build after r193340.
jer.noble@apple.com [Thu, 3 Dec 2015 20:57:55 +0000 (20:57 +0000)]
Unreviewed build-fix; fix !HAVE(AVKIT) build after r193340.

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

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

5 years agoAdd WebCrypto to status page
jond@apple.com [Thu, 3 Dec 2015 20:56:40 +0000 (20:56 +0000)]
Add WebCrypto to status page
https://bugs.webkit.org/show_bug.cgi?id=151760

Reviewed by Timothy Hatcher.

* features.json:

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

5 years ago[Win] fast/forms/HTMLOptionElement_label03.html failing on win7
commit-queue@webkit.org [Thu, 3 Dec 2015 20:46:13 +0000 (20:46 +0000)]
[Win] fast/forms/HTMLOptionElement_label03.html failing on win7
https://bugs.webkit.org/show_bug.cgi?id=150909
rdar://problem/23539673

Patch by Keith Rollin <krollin@apple.com> on 2015-12-03
Reviewed by Darin Adler.

Source/WebCore:

When returning text to be displayed, an <option> element will return
the value of a label attribute if it exists, or the text content as a
fallback. The failing test concerned the display of a <select>
element when it contained a sole <option> element that had a label
attribute set to a single space. When displayed, various
platform-specific bits of code will strip off the leading and trailing
whitespace. However, when WebKit would use this text to measure how
wide the <select> popup menu button should be, it would not strip off
spaces, leading to the calculated width being wider than necessary.
The approach taken to fix this is to strip whitespace in the label
attribute before it is returned from the <option> element.

No new tests. fast/forms/HTMLOptionElement_label03.html had been
marked as being expected to fail in TestExpectations; that test now
succeeds.

* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::label):

LayoutTests:

Mark fast/forms/HTMLOptionElement_label03.html as being expected to
pass. Also update some text in HTMLOptionElement_label02.html and
HTMLOptionElement_label03.html so that it no longer refers to our
trying to match IE (which we are no longer doing).

* fast/forms/HTMLOptionElement_label02.html:
* fast/forms/HTMLOptionElement_label03.html:
* platform/win/TestExpectations:

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

5 years agoNeed completionHandler-based WebKit C SPI for alert, confirm, and prompt
weinig@apple.com [Thu, 3 Dec 2015 20:44:12 +0000 (20:44 +0000)]
Need completionHandler-based WebKit C SPI for alert, confirm, and prompt
<rdar://problem/23320863>
https://bugs.webkit.org/show_bug.cgi?id=151708

(Add missing function definitions)

* UIProcess/API/C/WKPage.cpp:
(WKPageRunJavaScriptAlertResultListenerGetTypeID):
(WKPageRunJavaScriptAlertResultListenerCall):
(WKPageRunJavaScriptConfirmResultListenerGetTypeID):
(WKPageRunJavaScriptConfirmResultListenerCall):
(WKPageRunJavaScriptPromptResultListenerGetTypeID):
(WKPageRunJavaScriptPromptResultListenerCall):

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

5 years agoTry to fix the Windows build.
weinig@apple.com [Thu, 3 Dec 2015 20:39:26 +0000 (20:39 +0000)]
Try to fix the Windows build.

* bindings/js/JSWorkerGlobalScopeBase.cpp:
(WebCore::JSWorkerGlobalScopeBase::javaScriptRuntimeFlags):
(WebCore::JSWorkerGlobalScopeBase::queueTaskToEventLoop):

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

5 years agoFix 64-bit Windows build after r193125.
achristensen@apple.com [Thu, 3 Dec 2015 20:12:38 +0000 (20:12 +0000)]
Fix 64-bit Windows build after r193125.
https://bugs.webkit.org/show_bug.cgi?id=151799

Reviewed by Michael Saboff.

* assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::supportsLZCNT):
Use __cpuid intrinsic instead of inline assembly.

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

5 years agoModern IDB: storage/indexeddb/cursor-advance.html fails.
beidson@apple.com [Thu, 3 Dec 2015 20:07:00 +0000 (20:07 +0000)]
Modern IDB: storage/indexeddb/cursor-advance.html fails.
https://bugs.webkit.org/show_bug.cgi?id=151731

Reviewed by Alex Christensen.

Source/WebCore:

No new tests (At least one failing test now passes).

* Modules/indexeddb/IDBCursor.h:
* Modules/indexeddb/IDBCursor.idl:

* Modules/indexeddb/client/IDBCursorImpl.cpp:
(WebCore::IDBClient::IDBCursor::advance): Return a custom exception message for TypeError.
* Modules/indexeddb/client/IDBCursorImpl.h:

* Modules/indexeddb/legacy/LegacyCursor.cpp:
(WebCore::LegacyCursor::advance):
* Modules/indexeddb/legacy/LegacyCursor.h:

* bindings/js/JSDOMBinding.cpp:
(WebCore::createDOMException):
(WebCore::setDOMException):
* bindings/js/JSDOMBinding.h:

* bindings/scripts/IDLAttributes.txt:

* inspector/InspectorIndexedDBAgent.cpp:

LayoutTests:

* platform/mac-wk1/TestExpectations:
* storage/indexeddb/cursor-advance-expected.txt:

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

5 years agoAllow JavaScript to iterate over plugins for local files
bfulgham@apple.com [Thu, 3 Dec 2015 20:06:17 +0000 (20:06 +0000)]
Allow JavaScript to iterate over plugins for local files
https://bugs.webkit.org/show_bug.cgi?id=151783
<rdar://problem/23692113>

Source/WebCore:

Reviewed by Alexey Proskuryakov.

Test: http/tests/plugins/plugin-javascript-access.html
      plugins/plugin-javascript-access.html

* page/Page.cpp:
(WebCore::Page::showAllPlugins): True if we set the debugging flag to show
all plugins, or if the document's origin is from a local file.
* page/Page.h:

LayoutTests:

Modify the existing 'local file' plugin tests so that they don't turn on the debugging
flag to allow iterating over all plugins. Then create a new HTTP test (based on the
existing plugin-javascript-access test) to make sure that plugin iteration is blocked
for non-local-file access.

Reviewed by Alexey Proskuryakov.

* http/tests/plugins/plugin-javascript-access-expected.txt: Added.
* http/tests/plugins/plugin-javascript-access.html: Added.
* plugins/plugin-javascript-access.html: Remove unneeded 'internals.setShowAllPlugins' call.
* plugins/script-tests/navigator-mimeTypes-length.js: Ditto.

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