WebKit-https.git
5 years agoAdd a context menu delegate method that takes a userInfo parameter
andersca@apple.com [Fri, 13 Nov 2015 00:49:17 +0000 (00:49 +0000)]
Add a context menu delegate method that takes a userInfo parameter
https://bugs.webkit.org/show_bug.cgi?id=151232

Reviewed by Tim Horton.

* UIProcess/API/APIContextMenuClient.h:
(API::ContextMenuClient::menuFromProposedMenu):
* UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
* UIProcess/Cocoa/UIDelegate.h:
* UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::setDelegate):
(WebKit::UIDelegate::ContextMenuClient::menuFromProposedMenu):
* UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::showContextMenu):

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

5 years agoModern IDB: Pipe through cursor functions from client to server.
beidson@apple.com [Fri, 13 Nov 2015 00:24:11 +0000 (00:24 +0000)]
Modern IDB: Pipe through cursor functions from client to server.
https://bugs.webkit.org/show_bug.cgi?id=151197

Reviewed by Alex Christensen.

Source/WebCore:

Tests: storage/indexeddb/modern/cursor-1.html
       storage/indexeddb/modern/opencursor-failures.html

This patch implements most IDBCursor considerations at the IDL level, as well as pipes the
appropriate messages through from client to server.

All operations currently end in errors. Bug 151196 will fix that by making cursors functional.

* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:

* Modules/indexeddb/IDBCursor.h:
(WebCore::IDBCursor::isKeyCursor): Deleted.
* Modules/indexeddb/IDBCursorWithValue.h:

* Modules/indexeddb/IDBGetResult.h:

* Modules/indexeddb/IDBKeyData.h:
(WebCore::IDBKeyData::string):
(WebCore::IDBKeyData::date):
(WebCore::IDBKeyData::number):
(WebCore::IDBKeyData::array):

* Modules/indexeddb/IndexedDB.h:

* Modules/indexeddb/client/IDBAnyImpl.cpp:
(WebCore::IDBClient::IDBAny::IDBAny):
(WebCore::IDBClient::IDBAny::idbCursor):
(WebCore::IDBClient::IDBAny::idbCursorWithValue):
(WebCore::IDBClient::IDBAny::idbIndex):
(WebCore::IDBClient::IDBAny::idbObjectStore):
(WebCore::IDBClient::IDBAny::modernIDBCursor):
* Modules/indexeddb/client/IDBAnyImpl.h:
(WebCore::IDBClient::IDBAny::create):

* Modules/indexeddb/client/IDBConnectionToServer.cpp:
(WebCore::IDBClient::IDBConnectionToServer::openCursor):
(WebCore::IDBClient::IDBConnectionToServer::didOpenCursor):
(WebCore::IDBClient::IDBConnectionToServer::iterateCursor):
(WebCore::IDBClient::IDBConnectionToServer::didIterateCursor):
* Modules/indexeddb/client/IDBConnectionToServer.h:
* Modules/indexeddb/client/IDBConnectionToServerDelegate.h:

* Modules/indexeddb/client/IDBCursorImpl.cpp:
(WebCore::IDBClient::IDBCursor::create):
(WebCore::IDBClient::IDBCursor::IDBCursor):
(WebCore::IDBClient::IDBCursor::sourcesDeleted):
(WebCore::IDBClient::IDBCursor::effectiveObjectStore):
(WebCore::IDBClient::IDBCursor::transaction):
(WebCore::IDBClient::IDBCursor::direction):
(WebCore::IDBClient::IDBCursor::key):
(WebCore::IDBClient::IDBCursor::primaryKey):
(WebCore::IDBClient::IDBCursor::value):
(WebCore::IDBClient::IDBCursor::source):
(WebCore::IDBClient::IDBCursor::update):
(WebCore::IDBClient::IDBCursor::advance):
(WebCore::IDBClient::IDBCursor::continueFunction):
(WebCore::IDBClient::IDBCursor::uncheckedIteratorCursor):
(WebCore::IDBClient::IDBCursor::deleteFunction):
(WebCore::IDBClient::IDBCursor::setGetResult):
* Modules/indexeddb/client/IDBCursorImpl.h:
(WebCore::IDBClient::IDBCursor::info):
(WebCore::IDBClient::IDBCursor::setRequest):
(WebCore::IDBClient::IDBCursor::clearRequest):
(WebCore::IDBClient::IDBCursor::request):

* Modules/indexeddb/client/IDBCursorWithValueImpl.cpp:
(WebCore::IDBClient::IDBCursorWithValue::create):
(WebCore::IDBClient::IDBCursorWithValue::IDBCursorWithValue):
(WebCore::IDBClient::IDBCursorWithValue::~IDBCursorWithValue):
* Modules/indexeddb/client/IDBCursorWithValueImpl.h:

* Modules/indexeddb/client/IDBIndexImpl.cpp:
(WebCore::IDBClient::IDBIndex::openCursor):
(WebCore::IDBClient::IDBIndex::openKeyCursor):
* Modules/indexeddb/client/IDBIndexImpl.h:
(WebCore::IDBClient::IDBIndex::modernObjectStore):
(WebCore::IDBClient::IDBIndex::isDeleted):

* Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
(WebCore::IDBClient::IDBObjectStore::openCursor):
(WebCore::IDBClient::IDBObjectStore::deleteFunction):
* Modules/indexeddb/client/IDBObjectStoreImpl.h:

* Modules/indexeddb/client/IDBRequestImpl.cpp:
(WebCore::IDBClient::IDBRequest::create):
(WebCore::IDBClient::IDBRequest::IDBRequest):
(WebCore::IDBClient::IDBRequest::~IDBRequest):
(WebCore::IDBClient::IDBRequest::source):
(WebCore::IDBClient::IDBRequest::resultCursor):
(WebCore::IDBClient::IDBRequest::willIterateCursor):
(WebCore::IDBClient::IDBRequest::didOpenOrIterateCursor):
(WebCore::IDBClient::IDBRequest::requestCompleted):
* Modules/indexeddb/client/IDBRequestImpl.h:
(WebCore::IDBClient::IDBRequest::modernResult):

* Modules/indexeddb/client/IDBTransactionImpl.cpp:
(WebCore::IDBClient::IDBTransaction::requestOpenCursor):
(WebCore::IDBClient::IDBTransaction::doRequestOpenCursor):
(WebCore::IDBClient::IDBTransaction::openCursorOnServer):
(WebCore::IDBClient::IDBTransaction::didOpenCursorOnServer):
(WebCore::IDBClient::IDBTransaction::iterateCursor):
(WebCore::IDBClient::IDBTransaction::iterateCursorOnServer):
(WebCore::IDBClient::IDBTransaction::didIterateCursorOnServer):
* Modules/indexeddb/client/IDBTransactionImpl.h:

* Modules/indexeddb/client/TransactionOperation.h:
(WebCore::IDBClient::createTransactionOperation):

* Modules/indexeddb/legacy/LegacyCursor.cpp:
(WebCore::LegacyCursor::source):
* Modules/indexeddb/legacy/LegacyCursor.h:
(WebCore::LegacyCursor::continueFunction): Deleted.
(WebCore::LegacyCursor::isKeyCursor): Deleted.
* Modules/indexeddb/legacy/LegacyCursorWithValue.h:

* Modules/indexeddb/server/IDBBackingStore.h:

* Modules/indexeddb/server/IDBConnectionToClient.cpp:
(WebCore::IDBServer::IDBConnectionToClient::didOpenCursor):
(WebCore::IDBServer::IDBConnectionToClient::didIterateCursor):
* Modules/indexeddb/server/IDBConnectionToClient.h:
* Modules/indexeddb/server/IDBConnectionToClientDelegate.h:

* Modules/indexeddb/server/IDBServer.cpp:
(WebCore::IDBServer::IDBServer::openCursor):
(WebCore::IDBServer::IDBServer::iterateCursor):
* Modules/indexeddb/server/IDBServer.h:

* Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
(WebCore::IDBServer::MemoryIDBBackingStore::openCursor):
(WebCore::IDBServer::MemoryIDBBackingStore::iterateCursor):
* Modules/indexeddb/server/MemoryIDBBackingStore.h:

* Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::openCursor):
(WebCore::IDBServer::UniqueIDBDatabase::performOpenCursor):
(WebCore::IDBServer::UniqueIDBDatabase::didPerformOpenCursor):
(WebCore::IDBServer::UniqueIDBDatabase::iterateCursor):
(WebCore::IDBServer::UniqueIDBDatabase::performIterateCursor):
(WebCore::IDBServer::UniqueIDBDatabase::didPerformIterateCursor):
* Modules/indexeddb/server/UniqueIDBDatabase.h:

* Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::deleteRecord):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::openCursor):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::iterateCursor):
* Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:

* Modules/indexeddb/shared/IDBCursorInfo.cpp: Added.
(WebCore::IDBCursorInfo::objectStoreCursor):
(WebCore::IDBCursorInfo::indexCursor):
(WebCore::IDBCursorInfo::IDBCursorInfo):
(WebCore::IDBCursorInfo::isDirectionForward):
(WebCore::IDBCursorInfo::isolatedCopy):
* Modules/indexeddb/shared/IDBCursorInfo.h: Added.
(WebCore::IDBCursorInfo::identifier):
(WebCore::IDBCursorInfo::sourceIdentifier):
(WebCore::IDBCursorInfo::cursorSource):
(WebCore::IDBCursorInfo::cursorDirection):
(WebCore::IDBCursorInfo::cursorType):

* Modules/indexeddb/shared/IDBResultData.cpp:
(WebCore::IDBResultData::openCursorSuccess):
(WebCore::IDBResultData::iterateCursorSuccess):
* Modules/indexeddb/shared/IDBResultData.h:

* Modules/indexeddb/shared/InProcessIDBServer.cpp:
(WebCore::InProcessIDBServer::didOpenCursor):
(WebCore::InProcessIDBServer::didIterateCursor):
(WebCore::InProcessIDBServer::openCursor):
(WebCore::InProcessIDBServer::iterateCursor):
* Modules/indexeddb/shared/InProcessIDBServer.h:

* bindings/js/IDBBindingUtilities.cpp:
(WebCore::idbKeyDataToJSValue):
* bindings/js/IDBBindingUtilities.h:

* platform/CrossThreadCopier.cpp:
(WebCore::IDBCursorInfo>::copy):
* platform/CrossThreadCopier.h:

LayoutTests:

* storage/indexeddb/modern/cursor-1-expected.txt: Added.
* storage/indexeddb/modern/cursor-1.html: Added.
* storage/indexeddb/modern/opencursor-failures-expected.txt: Added.
* storage/indexeddb/modern/opencursor-failures.html: Added.

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

5 years ago[Win] webkitpy is applying abspath to DOS paths, yielding invalid paths
bfulgham@apple.com [Fri, 13 Nov 2015 00:21:13 +0000 (00:21 +0000)]
[Win] webkitpy is applying abspath to DOS paths, yielding invalid paths
https://bugs.webkit.org/show_bug.cgi?id=151156

Reviewed by Anders Carlsson.

My earlier patch was incomplete. There are some Python libraries that want
to receive UNIX style paths, even though all of our applications and tools
use DOS paths. To handle this special case, we need to track a UNIX-style
absolute path that can be given to things like the Python socket server.

When we cut over to all-native Windows Python we can get rid of this
special case code.

* Scripts/webkitpy/common/system/filesystem.py:
(FileSystem.abspath): Add special code for Cygwin to convert a DOS-style
path into something Cygwin can use internally.
* Scripts/webkitpy/port/base.py:
(Port.results_directory): Remove custom Windows code. Instead, override
the method in the windows port object.
(Port.abs_results_directory): Add stub.
(Port.to.start_websocket_server): For Cygwin, use special cygwin absolute
path.
* Scripts/webkitpy/port/win.py:
(WinPort.__init__): Added to initialze new _abs_results_directory value.
(WinPort.abs_results_directory): Added,
(WinPort.results_directory): Modified to also create a value for
_abs_results_directory

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

5 years agoDelete PlatformMenuDescription.h
andersca@apple.com [Fri, 13 Nov 2015 00:15:35 +0000 (00:15 +0000)]
Delete PlatformMenuDescription.h
https://bugs.webkit.org/show_bug.cgi?id=151229

Reviewed by Beth Dakin.

* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* page/ContextMenuClient.h:
* platform/ContextMenu.h:
* platform/ContextMenuItem.h:
* platform/PlatformMenuDescription.h: Removed.

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

5 years agoContextMenuAction and WebMenuItemTag shouldn't have to be in sync
andersca@apple.com [Thu, 12 Nov 2015 23:55:49 +0000 (23:55 +0000)]
ContextMenuAction and WebMenuItemTag shouldn't have to be in sync
https://bugs.webkit.org/show_bug.cgi?id=151226

Reviewed by Tim Horton.

Source/WebCore:

* page/ContextMenuController.cpp:
* platform/ContextMenuItem.h:
Remove now unneeded comments. Also, remove ContextMenuItemTagOpenLinkInThisWindow since it wasn't used by any of our remaining ports.

Source/WebKit/mac:

* WebView/WebHTMLView.mm:
(toAction):
(toTag):
Add conversion functions.

(-[WebMenuTarget forwardContextMenuAction:]):
Use toAction.

(createMenuItem):
Use toTag.

(setMenuItemTarget): Deleted.
(setMenuTargets): Deleted.
(-[WebHTMLView menuForEvent:]):
Don't call setMenuTargets, that's already done when we create the menu items.

* WebView/WebUIDelegatePrivate.h:
Add missing menu item tags. This does break ABI, but the menu item tags were already out of sync
so it's very likely that nobody is relying on this.

Source/WebKit2:

* Shared/API/c/WKSharedAPICast.h:
(WebKit::toAPI):
(WebKit::toImpl):
Remove ContextMenuItemTagOpenLinkInThisWindow.

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

5 years agoLayout Test js/regress/ftl-object-sub.html is flaky.
mark.lam@apple.com [Thu, 12 Nov 2015 23:50:10 +0000 (23:50 +0000)]
Layout Test js/regress/ftl-object-sub.html is flaky.
https://bugs.webkit.org/show_bug.cgi?id=150730

Reviewed by Benjamin Poulain.

Shorten test time by 10x.  Looks like we don't need it to run that long
after all.  This should fix the timeouts.  Also undid the test expectations.

* TestExpectations:
* js/regress/script-tests/ftl-object-sub.js:
(foo):

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

5 years agoWeb Inspector: Reduce list of saved console messages
commit-queue@webkit.org [Thu, 12 Nov 2015 23:27:12 +0000 (23:27 +0000)]
Web Inspector: Reduce list of saved console messages
https://bugs.webkit.org/show_bug.cgi?id=151225

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-11-12
Reviewed by Geoffrey Garen.

Inspector saves messages so that when an inspector frontend opens it can report
these messages to the frontend. However we were saving a rather large list of
1000 messages. Most pages do not produce a large number of console messages.
However pages that live for a long time can generate many errors over time,
especially periodic engine issues such as cross-origin access errors. This could
result in a lot of wasted memory for console messages that may never be used.

Likewise when an inspector first open sending all 1000 messages to the frontend
results in a poor experience.

Lets reduce the list of saved messages. Developer will still be able to see
all messages as long as they have Web Inspector open at the time the messages
are generated.

* inspector/agents/InspectorConsoleAgent.cpp:
Reduce the list from 1000 to 100. Also, when expiring
messages from this list, chunk in 10s instead of 100s.

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

5 years agoAdjust timeout values in ExecutionTimeLimitTest.
mark.lam@apple.com [Thu, 12 Nov 2015 23:12:23 +0000 (23:12 +0000)]
Adjust timeout values in ExecutionTimeLimitTest.
https://bugs.webkit.org/show_bug.cgi?id=151223

Reviewed by Geoffrey Garen.

Some bots were not happy with the existing time out values.  I adjusted them to give
the system a little more time to fire the timer events, and this made the bots happy.

* API/tests/ExecutionTimeLimitTest.cpp:
(testExecutionTimeLimit):

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

5 years agoIgnore visited background color when deciding if the input renderer needs to be paint...
zalan@apple.com [Thu, 12 Nov 2015 22:12:40 +0000 (22:12 +0000)]
Ignore visited background color when deciding if the input renderer needs to be painted natively.
https://bugs.webkit.org/show_bug.cgi?id=151211
rdar://problem/21449823

Reviewed by Antti Koivisto.

Source/WebCore:

Test: fast/css/pseudo-visited-background-color-on-input.html

* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::isControlStyled):
* rendering/style/RenderStyle.h:

LayoutTests:

* fast/css/pseudo-visited-background-color-on-input-expected.html: Added.
* fast/css/pseudo-visited-background-color-on-input.html: Added.

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

5 years agoTatechuyoko shrink-to-fit breaks after changing color, background-color or text-decor...
hyatt@apple.com [Thu, 12 Nov 2015 22:07:51 +0000 (22:07 +0000)]
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.

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

5 years agoUse ContextMenuItemTagNoAction instead of ContextMenuItemCustomTagNoAction
andersca@apple.com [Thu, 12 Nov 2015 22:05:51 +0000 (22:05 +0000)]
Use ContextMenuItemTagNoAction instead of ContextMenuItemCustomTagNoAction
https://bugs.webkit.org/show_bug.cgi?id=151222

Reviewed by Joseph Pecoraro.

* bindings/js/JSInspectorFrontendHostCustom.cpp:
(WebCore::populateContextMenuItems):
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::checkOrEnableIfNeeded): Deleted.
* platform/ContextMenuItem.h:

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

5 years agoFix build.
andersca@apple.com [Thu, 12 Nov 2015 21:57:30 +0000 (21:57 +0000)]
Fix build.

* WebView/WebHTMLView.mm:
(fixMenusReceivedFromOldClients):

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

5 years agoUnreviewed, add Michael Saboff to the JavaScriptCore watchlist, per request.
keith_miller@apple.com [Thu, 12 Nov 2015 21:55:01 +0000 (21:55 +0000)]
Unreviewed, add Michael Saboff to the JavaScriptCore watchlist, per request.

* Scripts/webkitpy/common/config/watchlist:

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

5 years agoRemove a couple of unused menu item tag enums
andersca@apple.com [Thu, 12 Nov 2015 21:47:41 +0000 (21:47 +0000)]
Remove a couple of unused menu item tag enums
https://bugs.webkit.org/show_bug.cgi?id=151220

Reviewed by Sam Weinig.

Also, move the old internal tags away from the SPI header.

* WebView/WebHTMLView.mm:
(fixMenusReceivedFromOldClients):
* WebView/WebUIDelegatePrivate.h:

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

5 years agoWeb Inspector: Auto-log inspect node selected elements to the console
commit-queue@webkit.org [Thu, 12 Nov 2015 21:40:21 +0000 (21:40 +0000)]
Web Inspector: Auto-log inspect node selected elements to the console
https://bugs.webkit.org/show_bug.cgi?id=151178

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-11-12
Reviewed by Brian Burg.

Auto-logging user selected elements to the console helps with
quick use in the console. $0 is not very discoverable, and $n
values are expendable. This also makes it convenient to use the
inspect node toolbar search option to select a few different
nodes and use each of them in the console without extra work.

* UserInterface/Controllers/DOMTreeManager.js:
(WebInspector.DOMTreeManager.prototype.inspectNodeObject.nodeAvailable):
(WebInspector.DOMTreeManager.prototype.inspectNodeObject):
Log selected nodes to the console. Treat this as a synthetic log that
will not immediately open the console like normal evaluation results.

* UserInterface/Controllers/JavaScriptLogViewController.js:
(WebInspector.JavaScriptLogViewController.prototype.appendImmediateExecutionWithResult.saveResultCallback):
(WebInspector.JavaScriptLogViewController.prototype.appendImmediateExecutionWithResult):
(WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommitted.printResult):
(WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommitted):
Initialize ConsoleCommandResultMessage's synthetic properties.

* UserInterface/Views/DOMTreeOutline.js:
(WebInspector.DOMTreeOutline.prototype._populateContextMenu.logElement):
(WebInspector.DOMTreeOutline.prototype._populateContextMenu):
* UserInterface/Controllers/RuntimeManager.js:
Create a global for the special "console" object group used in multiple places.

* UserInterface/Models/ConsoleCommandResultMessage.js:
(WebInspector.ConsoleCommandResultMessage):
(WebInspector.ConsoleCommandResultMessage.prototype.get synthetic):
Add a synthetic property.

* UserInterface/Views/LogContentView.js:
(WebInspector.LogContentView.prototype.didAppendConsoleMessageView):
When the ConsoleResult is a synthetic result, do not auto-open the console.

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

5 years ago[Cocoa] Font fallback is not language-sensitive
mmaxfield@apple.com [Thu, 12 Nov 2015 21:29:40 +0000 (21:29 +0000)]
[Cocoa] Font fallback is not language-sensitive
https://bugs.webkit.org/show_bug.cgi?id=147390

Reviewed by Dean Jackson.

Test: fast/text/fallback-language-han-2.html

* platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::FontCache::systemFallbackForCharacters):

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

5 years agoContextMenuController::contextMenuItemSelected only needs the action and title, not...
andersca@apple.com [Thu, 12 Nov 2015 21:22:22 +0000 (21:22 +0000)]
ContextMenuController::contextMenuItemSelected only needs the action and title, not the full item
https://bugs.webkit.org/show_bug.cgi?id=151217

Reviewed by Joseph Pecoraro.

Source/WebCore:

* inspector/InspectorFrontendHost.cpp:
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::contextMenuItemSelected):
* page/ContextMenuController.h:
* page/ContextMenuProvider.h:

Source/WebKit/mac:

* WebView/WebHTMLView.mm:
(-[WebMenuTarget forwardContextMenuAction:]):

Source/WebKit/win:

* WebView.cpp:
(WebView::onMenuCommand):

Source/WebKit2:

* WebProcess/WebPage/WebContextMenu.cpp:
(WebKit::WebContextMenu::itemSelected):

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

5 years agoMarking storage/indexeddb/modern/idbindex-properties-basic.html as flaky on mac-wk1
ryanhaddad@apple.com [Thu, 12 Nov 2015 21:21:39 +0000 (21:21 +0000)]
Marking storage/indexeddb/modern/idbindex-properties-basic.html as flaky on mac-wk1
https://bugs.webkit.org/show_bug.cgi?id=151219

Unreviewed test gardening.

* platform/mac-wk1/TestExpectations:

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

5 years agoUnreviewed, add watchlist for Source/JavaScriptCore and add myself, Saam, and Mark.
keith_miller@apple.com [Thu, 12 Nov 2015 21:19:45 +0000 (21:19 +0000)]
Unreviewed, add watchlist for Source/JavaScriptCore and add myself, Saam, and Mark.

* Scripts/webkitpy/common/config/watchlist:

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

5 years agoRemove an unused function
andersca@apple.com [Thu, 12 Nov 2015 21:02:00 +0000 (21:02 +0000)]
Remove an unused function
https://bugs.webkit.org/show_bug.cgi?id=151215

Reviewed by Joseph Pecoraro.

Source/WebCore:

* loader/EmptyClients.h:
* page/ContextMenuClient.h:
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::contextMenuItemSelected): Deleted.

Source/WebKit/mac:

* WebCoreSupport/WebContextMenuClient.h:
* WebCoreSupport/WebContextMenuClient.mm:
(WebContextMenuClient::contextMenuItemSelected): Deleted.

Source/WebKit/win:

* WebCoreSupport/WebContextMenuClient.cpp:
(WebContextMenuClient::contextMenuItemSelected): Deleted.
* WebCoreSupport/WebContextMenuClient.h:

Source/WebKit2:

* WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
(WebKit::WebContextMenuClient::contextMenuItemSelected): Deleted.
* WebProcess/WebCoreSupport/WebContextMenuClient.h:

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

5 years agoB3 should be able to compile Patchpoints with Register and Any constraints
fpizlo@apple.com [Thu, 12 Nov 2015 20:41:06 +0000 (20:41 +0000)]
B3 should be able to compile Patchpoints with Register and Any constraints
https://bugs.webkit.org/show_bug.cgi?id=151209

Reviewed by Geoffrey Garen.

Most of this patch is about adding tests, since Register constraints already worked but
were untested, and almost all forms of the Any constraint worked.

One change that I'm making is that Patchpoints now default to forCall effects rather
than no effects. I think this is better because if a client of Patchpoint never supplies
any effects, it's best to assume the worst.

My testing uncovered only one real bug: moveConstants() would turn all non-zero double
constants into Loads, so the optimization to fold constants into a Stackmap would stop
working. Instead of telling the Stackmap that the double value it wanted is actually a
constant, we would tell it that it's a register and it would emit code to materialize
the double into that register. I worked around this by having moveConstants() create
ConstDoubleValue's just for the Stackmaps, which lowerToAir() recognizes and does the
right thing with (i.e. folds into the stackmap instead of materializing).

* b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::fillStackmap):
(JSC::B3::Air::LowerToAir::lower):
* b3/B3MoveConstants.cpp:
* b3/B3PatchpointValue.cpp:
(JSC::B3::PatchpointValue::PatchpointValue):
* b3/testb3.cpp:
(JSC::B3::testPatchpointCallArg):
(JSC::B3::testPatchpointFixedRegister):
(JSC::B3::testPatchpointAny):
(JSC::B3::testPatchpointAnyImm):
(JSC::B3::testPatchpointManyImms):
(JSC::B3::testSimpleCheck):
(JSC::B3::run):

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

5 years agoEnable cross-platform context menus by default
andersca@apple.com [Thu, 12 Nov 2015 20:06:41 +0000 (20:06 +0000)]
Enable cross-platform context menus by default
https://bugs.webkit.org/show_bug.cgi?id=151173

Reviewed by Tim Horton.

.:

* Source/cmake/OptionsEfl.cmake:

Source/WebCore:

* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSInspectorFrontendHostCustom.cpp:
(WebCore::JSInspectorFrontendHost::showContextMenu):
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::addInspectElementItem): Deleted.
* platform/ContextMenu.cpp:
* platform/ContextMenu.h:
* platform/ContextMenuItem.cpp:
* platform/ContextMenuItem.h:
(WebCore::ContextMenuItem::isNull): Deleted.
* platform/mac/ContextMenuItemMac.mm: Removed.
(WebCore::menuToArray): Deleted.
(WebCore::ContextMenuItem::ContextMenuItem): Deleted.
(WebCore::createPlatformMenuItemDescription): Deleted.
(WebCore::ContextMenuItem::~ContextMenuItem): Deleted.
(WebCore::ContextMenuItem::platformDescription): Deleted.
(WebCore::ContextMenuItem::type): Deleted.
(WebCore::ContextMenuItem::action): Deleted.
(WebCore::ContextMenuItem::title): Deleted.
(WebCore::ContextMenuItem::platformSubMenu): Deleted.
(WebCore::ContextMenuItem::setType): Deleted.
(WebCore::ContextMenuItem::setAction): Deleted.
(WebCore::ContextMenuItem::setTitle): Deleted.
(WebCore::ContextMenuItem::setSubMenu): Deleted.
(WebCore::ContextMenuItem::setChecked): Deleted.
(WebCore::ContextMenuItem::setEnabled): Deleted.
(WebCore::ContextMenuItem::enabled): Deleted.
(WebCore::ContextMenuItem::checked): Deleted.
* platform/mac/ContextMenuMac.mm: Removed.
(WebCore::ContextMenu::ContextMenu): Deleted.
(WebCore::ContextMenu::~ContextMenu): Deleted.
(WebCore::ContextMenu::appendItem): Deleted.
(WebCore::ContextMenu::insertItem): Deleted.
(WebCore::ContextMenu::itemCount): Deleted.
(WebCore::ContextMenu::setPlatformDescription): Deleted.
(WebCore::ContextMenu::platformDescription): Deleted.
(WebCore::ContextMenu::releasePlatformDescription): Deleted.
(WebCore::contextMenuItemVector): Deleted.
(WebCore::platformMenuDescription): Deleted.

Source/WebKit/mac:

* WebView/WebHTMLView.mm:
(createMenuItem):
(customMenuFromDefaultItems):

Source/WebKit2:

* Shared/WebContextMenuItemData.cpp:
(WebKit::WebContextMenuItemData::WebContextMenuItemData): Deleted.
* WebProcess/WebPage/WebContextMenu.cpp:
(WebKit::WebContextMenu::menuItemsWithUserData): Deleted.

Source/WTF:

* wtf/Platform.h:

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

5 years agoSupport building configuration Production of DumpRenderTree and WebKitTestRunner...
dbates@webkit.org [Thu, 12 Nov 2015 20:02:32 +0000 (20:02 +0000)]
Support building configuration Production of DumpRenderTree and WebKitTestRunner for iOS
https://bugs.webkit.org/show_bug.cgi?id=151191

Reviewed by Andy Estes.

* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Remove hardcoded SKIP_INTALL.
Will override this setting in DumpRenderTree.xcconfig.
* DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig: When building for iOS we now
compile source file DumpRenderTreeMain.mm to produce a built product and make the Apple
Internal build system happy. Do not waste time coping OpenType font files (*.otf files)
and skip installation when building for iOS since we are not interested in the build product
and are only building this target to make the Apple Internal build system happy.
* DumpRenderTree/mac/DumpRenderTreeMain.mm:
(main): Added dummy implementation for iOS so that we build an actual command line tool to
make the Apple Internal build system happy.
* WebKitTestRunner/Configurations/Base.xcconfig: Add iOS-specific definition for WEBKIT_UMBRELLA_FRAMEWORKS_DIR.
* WebKitTestRunner/Configurations/DebugRelease.xcconfig: Remove variable WEBKIT_UMBRELLA_FRAMEWORKS_DIR.
* WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig: Build file WebKitTestRunner/mac/main.mm
on iOS Only to produce a built product and make the Apple Internal build system happy. No need
to define OTHER_LDFLAGS when building this target for iOS as the default linker flags are sufficient.
* WebKitTestRunner/mac/main.mm:
(main): Added dummy implementation for iOS so that we build an actual command line tool to
make the Apple Internal build system happy.

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

5 years agoUnreviewed, add watchlist for history/ and add myself.
cdumez@apple.com [Thu, 12 Nov 2015 20:02:09 +0000 (20:02 +0000)]
Unreviewed, add watchlist for history/ and add myself.

* Scripts/webkitpy/common/config/watchlist:

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

5 years agoUnreviewed, update my watchlists.
cdumez@apple.com [Thu, 12 Nov 2015 19:57:44 +0000 (19:57 +0000)]
Unreviewed, update my watchlists.

* Scripts/webkitpy/common/config/watchlist:

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

5 years ago[Cocoa] Font fallback is not language-sensitive
mmaxfield@apple.com [Thu, 12 Nov 2015 19:37:53 +0000 (19:37 +0000)]
[Cocoa] Font fallback is not language-sensitive
https://bugs.webkit.org/show_bug.cgi?id=147390

Reviewed by Dean Jackson.

Source/WebCore:

This re-applies r190754 in a somewhat more performant way.

Test: fast/text/fallback-language-han-2.html

* platform/graphics/Font.cpp:
(WebCore::CharacterFallbackMapKey::CharacterFallbackMapKey):
(WebCore::CharacterFallbackMapKey::operator==):
(WebCore::CharacterFallbackMapKeyHash::hash):
(WebCore::Font::systemFallbackFontForCharacter):
* platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::FontCache::systemFallbackForCharacters):

LayoutTests:

This patch adds a mismatch test to make sure a codepoint gets rendered differently given two different langs.

* fast/text/fallback-language-han-2-expected-mismatch.html: Added.
* fast/text/fallback-language-han-2.html: Added.
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/win/TestExpectations:

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

5 years agoRename webkitdirs::willUseIOS{Device, Simulator}SDKWhenBuilding() to willUseIOS{Devic...
dbates@webkit.org [Thu, 12 Nov 2015 19:22:02 +0000 (19:22 +0000)]
Rename webkitdirs::willUseIOS{Device, Simulator}SDKWhenBuilding() to willUseIOS{Device, Simulator}SDK()
https://bugs.webkit.org/show_bug.cgi?id=151207

Rubber-stamped by Alexey Proskuryakov.

The functions webkitdirs::willUseIOS{Device, Simulator}SDKWhenBuilding() are not specific to building
iOS software. We should rename these functions to webkitdirs::willUseIOS{Device, Simulator}SDK() to
convey their general-purpose nature of determining whether we are using the iphoneos or iphonesimulator SDK.

* Scripts/build-jsc:
* Scripts/build-layouttestrelay:
* Scripts/build-webkit:
* Scripts/copy-webkitlibraries-to-product-directory:
* Scripts/run-api-tests:
(runTest):
(prepareEnvironmentForRunningTestTool):
* Scripts/run-javascriptcore-tests:
* Scripts/webkitdirs.pm:
(XcodeOptions):
(willUseIOSDeviceSDK): Formerly named willUseIOSDeviceSDKWhenBuilding.
(willUseIOSSimulatorSDK): Formerly name willUseIOSSimulatorSDKWhenBuilding.
(isIOSWebKit):
(runIOSWebKitApp):
(willUseIOSDeviceSDKWhenBuilding): Deleted.
(willUseIOSSimulatorSDKWhenBuilding): Deleted.

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

5 years agorun-api-tests fails to run with public iOS SDK
dbates@webkit.org [Thu, 12 Nov 2015 19:19:40 +0000 (19:19 +0000)]
run-api-tests fails to run with public iOS SDK
https://bugs.webkit.org/show_bug.cgi?id=151076

Reviewed by Alexey Proskuryakov.

Use the command line tool simctl as the sim tool was removed from the public iOS 9 SDK.

A side benefit of this change it is sufficient to run the tests without launching Simulator.app
to boot the simulator device beforehand because simctl will boot the device for us.

Additionally, use Perl pragma sigtrap to install signal handlers to catch SIG{HUP, INT, PIPE, TERM}
signals and ultimately run our END block so that we shutdown the simulator device (if applicable).
This makes Control-C terminate the app gracefully.

* Scripts/run-api-tests:
(runTest):
(listAllTests):
(prepareEnvironmentForRunningTestTool): When running for iOS Simulator use setupIOSWebKitEnvironment()
to setup the environment variables for iOS instead of using setupMacWebKitEnvironment(). We also
prefix the name of these environment variables with "SIMCTL_CHILD_" so that simctl sets these environment
variables in the simulator environment.
* Scripts/webkitdirs.pm:
(shutDownIOSSimulatorDevice): Added.
(restartIOSSimulatorDevice): Added.

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

5 years agopopstate event should be dispatched asynchronously
jhoneycutt@apple.com [Thu, 12 Nov 2015 18:39:08 +0000 (18:39 +0000)]
popstate event should be dispatched asynchronously
https://bugs.webkit.org/show_bug.cgi?id=36202
<rdar://problem/7761279>

Based on an original patch by Mihai Parparita <mihaip@chromium.org>.

Reviewed by Brent Fulgham.

Source/WebCore:

Tests: fast/loader/remove-iframe-during-history-navigation-different.html
       fast/loader/remove-iframe-during-history-navigation-same.html
       fast/loader/stateobjects/popstate-is-asynchronous.html

* dom/Document.cpp:
(WebCore::Document::enqueuePopstateEvent):
Use enqueueWindowEvent().

LayoutTests:

* fast/loader/remove-iframe-during-history-navigation-different-expected.txt: Added.
* fast/loader/remove-iframe-during-history-navigation-different.html: Added.
Imported from Blink.
* fast/loader/remove-iframe-during-history-navigation-same-expected.txt: Added.
* fast/loader/remove-iframe-during-history-navigation-same.html: Added.
Ditto.
* fast/loader/stateobjects/popstate-fires-on-history-traversal.html:
Modified to account for popstate firing asynchronously.
* fast/loader/stateobjects/popstate-is-asynchronous-expected.txt: Added.
* fast/loader/stateobjects/popstate-is-asynchronous.html: Added.
Based on Mihai's original test. Modified to pass in current WebKit.

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

5 years agoFix build failure due to missing NeverDestroyed.h include after r192169
ossy@webkit.org [Thu, 12 Nov 2015 18:21:34 +0000 (18:21 +0000)]
Fix build failure due to missing NeverDestroyed.h include after r192169
https://bugs.webkit.org/show_bug.cgi?id=151186

Reviewed by Darin Adler.

* rendering/RenderCombineText.cpp:

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

5 years agoFix build failure due to missing forward declaration of FontVariantSettings after...
ossy@webkit.org [Thu, 12 Nov 2015 18:17:16 +0000 (18:17 +0000)]
Fix build failure due to missing forward declaration of FontVariantSettings after r191968
https://bugs.webkit.org/show_bug.cgi?id=151185

Reviewed by Myles C. Maxfield.

* css/CSSFontFaceSource.h:

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

5 years agoMove some prototypes to header files.
mark.lam@apple.com [Thu, 12 Nov 2015 18:12:43 +0000 (18:12 +0000)]
Move some prototypes to header files.
https://bugs.webkit.org/show_bug.cgi?id=151194

Reviewed by Michael Saboff.

* assembler/MacroAssemblerPrinter.cpp:
(JSC::printIndent):
* assembler/MacroAssemblerPrinter.h:
(JSC::MacroAssembler::print):

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

5 years ago[MediaStream] Reflect media stream tracks as HTMLMediaElement tracks
eric.carlson@apple.com [Thu, 12 Nov 2015 18:03:08 +0000 (18:03 +0000)]
[MediaStream] Reflect media stream tracks as HTMLMediaElement tracks
https://bugs.webkit.org/show_bug.cgi?id=151145

Reviewed by Jer Noble.

Source/WebCore:

Test: fast/mediastream/MediaStream-video-element.html

* WebCore.xcodeproj/project.pbxproj: Add new header files.

* html/track/AudioTrack.h: Add comments to clean things up slightly.
* html/track/VideoTrack.h: Ditto.

Create a AudioTrackPrivateMediaStream or VideoTrackPrivateMediaStream for each track in
the MediaStream.
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::load): Call updateTracks.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::didAddTrack): Ditto.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::didRemoveTrack): Ditto.
(WebCore::updateTracksOfType): New, template function to update audio or video tracks.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::updateTracks): New.

* platform/mediastream/AudioTrackPrivateMediaStream.h: Added.

* platform/mediastream/MediaStreamPrivate.cpp:
(WebCore::MediaStreamPrivate::currentFrameImage): Fix a typo, early return if the track is
  not active OR there is no active video track.
* platform/mediastream/MediaStreamPrivate.h:
(WebCore::MediaStreamPrivate::activeVideoTrack): Accessor for active video track, if any.

* platform/mediastream/VideoTrackPrivateMediaStream.h: Added.

* platform/mediastream/mac/AVAudioCaptureSource.mm:
(WebCore::AVAudioCaptureSource::updateStates): Set current states.

* platform/mediastream/mac/AVMediaCaptureSource.mm:
(WebCore::AVMediaCaptureSource::states): Set source ID.
(WebCore::AVMediaCaptureSource::capabilities): Set source ID directly.

* platform/mediastream/mac/AVVideoCaptureSource.mm:
(WebCore::AVVideoCaptureSource::AVVideoCaptureSource):
(WebCore::AVVideoCaptureSource::updateStates): Set states here instead of in the constructor.

* platform/mock/MockRealtimeMediaSource.cpp:
(WebCore::MockRealtimeMediaSource::capabilities): Set source ID directly.

* platform/mock/MockRealtimeVideoSource.cpp:
(WebCore::MockRealtimeVideoSource::updateStates): Set source type.

LayoutTests:

* fast/mediastream/MediaStream-video-element-expected.txt: Added.
* fast/mediastream/MediaStream-video-element.html: Added.
* fast/mediastream/resources/getUserMedia-helper.js: Return early on error.
* platform/gtk/TestExpectations: Skip new test.
* platform/ios-simulator/TestExpectations: Ditto.
* platform/mac-wk2/TestExpectations: Ditto.
* platform/win/TestExpectations: Ditto.

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

5 years agoFixed the build.
mitz@apple.com [Thu, 12 Nov 2015 17:54:58 +0000 (17:54 +0000)]
Fixed the build.

* PluginProcess/EntryPoint/mac/XPCService/PluginServiceEntryPoint.mm:
(PluginServiceInitializer):

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

5 years agoWeb Inspector: timeline event markers are added to overview even when not capturing...
commit-queue@webkit.org [Thu, 12 Nov 2015 17:02:02 +0000 (17:02 +0000)]
Web Inspector: timeline event markers are added to overview even when not capturing a timeline recording
https://bugs.webkit.org/show_bug.cgi?id=151166

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

* UserInterface/Models/TimelineRecording.js:
(WebInspector.TimelineRecording.prototype.addEventMarker):
Do not add event markers when not capturing. This would have resulted in more
and more markers showing in the Timeline for page loads when the Timeline was
not active. For example reloading when a non-Timeline tab was active.

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

5 years ago[EFL] fix EvasGL configuration error
hyuki.kim@samsung.com [Thu, 12 Nov 2015 14:12:51 +0000 (14:12 +0000)]
[EFL] fix EvasGL configuration error
https://bugs.webkit.org/show_bug.cgi?id=151180

Reviewed by Csaba Osztrogon√°c.

EvasGL backend and depth, stencil buffer size should be specified before elm_win_add to let EvasGL keep quiet.
Additionally, duplicated elm_config_accel_preference_set() call is eleminated.

* MiniBrowser/efl/main.c:
(window_create):
(elm_main):

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

5 years agoXHR abort() event firing does not match spec
youenn.fablet@crf.canon.fr [Thu, 12 Nov 2015 13:34:01 +0000 (13:34 +0000)]
XHR abort() event firing does not match spec
https://bugs.webkit.org/show_bug.cgi?id=98404

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

* web-platform-tests/XMLHttpRequest/abort-after-receive-expected.txt:
* web-platform-tests/XMLHttpRequest/abort-after-timeout-expected.txt:
* web-platform-tests/XMLHttpRequest/abort-during-upload-expected.txt:
* web-platform-tests/XMLHttpRequest/abort-event-abort-expected.txt:
* web-platform-tests/XMLHttpRequest/abort-event-order-expected.txt:
* web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-aborted-expected.txt:
* web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-aborted-expected.txt:

Source/WebCore:

Introducing explicit sendFlag as in the specification.
Previously, sendFlag was computed using !!m_loader.
But this does not work well for loadstart events since sendFlag should be true but m_loader is still null at that time.

Updated abort event firing test according specification.
For instance, compared to previously, the abort event is not fired in DONE state or if sendFlag is not set.

Covered by rebased tests.

* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::callReadyStateChangeListener): Compute whether dispatching the load event before calling XHR readystatechange event callback.
(WebCore::XMLHttpRequest::setWithCredentials): Replacing m_loader by m_sendFlag to align with the spec.
(WebCore::XMLHttpRequest::open): Unsetting m_sendFlag..
(WebCore::XMLHttpRequest::initSend): Replacing m_loader by m_sendFlag to align with the spec.
(WebCore::XMLHttpRequest::createRequest): Setting m_sendFlag.
(WebCore::XMLHttpRequest::abort): Checking m_sendFlag and updating code to follow the specification.
(WebCore::XMLHttpRequest::genericError): Unsetting m_sendFlag.
(WebCore::XMLHttpRequest::setRequestHeader): Replacing m_loader by m_sendFlag to align with the spec.
(WebCore::XMLHttpRequest::didFinishLoading): Ditto.
(WebCore::XMLHttpRequest::didReachTimeout): Ditto.
* xml/XMLHttpRequest.h: Added m_sendFlag.

LayoutTests:

Rebasing test expectations.

* fast/events/event-fire-order-expected.txt:
* fast/events/event-fire-order.html: Updated so that it does not expect any event when aborting just after open().
* http/tests/xmlhttprequest/onloadend-event-after-sync-requests.html: Updated to expect load event and not abort event when XHR state is DONE.
* http/tests/xmlhttprequest/upload-onloadend-event-after-sync-requests.html: Ditto.
* platform/gtk/TestExpectations: Removing timeout expectation for imported/w3c/web-platform-tests/XMLHttpRequest/interfaces.html

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

5 years ago[EFL] Fix EFL 1.16 with enabled NEON support
ossy@webkit.org [Thu, 12 Nov 2015 13:19:30 +0000 (13:19 +0000)]
[EFL] Fix EFL 1.16 with enabled NEON support
https://bugs.webkit.org/show_bug.cgi?id=151188

Unreviewed buildfix, disable NEON temporarily after r192358.

* efl/jhbuild.modules:

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

5 years ago[GStreamer] Use RunLoop::timer in MediaPlayerPrivateGStreamerBase for GL drawing
carlosgc@webkit.org [Thu, 12 Nov 2015 11:19:55 +0000 (11:19 +0000)]
[GStreamer] Use RunLoop::timer in MediaPlayerPrivateGStreamerBase for GL drawing
https://bugs.webkit.org/show_bug.cgi?id=151099

Reviewed by Philippe Normand.

Instead of the GThreadSafeMainLoopSource.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
(WebCore::MediaPlayerPrivateGStreamerBase::repaint):
(WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
(WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase): Deleted.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:

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

5 years ago[EFL] Bump EFL version to 1.16.0
ossy@webkit.org [Thu, 12 Nov 2015 10:50:02 +0000 (10:50 +0000)]
[EFL] Bump EFL version to 1.16.0
https://bugs.webkit.org/show_bug.cgi?id=150228

Reviewed by Gyuyoung Kim.

* efl/jhbuild.modules:
* efl/patches/efl-remove-XPrint.patch: Removed.

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

5 years agoRemove ENABLE(SATURATED_LAYOUT_ARITHMETIC) guards
ossy@webkit.org [Thu, 12 Nov 2015 10:31:56 +0000 (10:31 +0000)]
Remove ENABLE(SATURATED_LAYOUT_ARITHMETIC) guards
https://bugs.webkit.org/show_bug.cgi?id=150972

Reviewed by Darin Adler.

.:

* Source/cmake/OptionsMac.cmake:
* Source/cmake/WebKitFeatures.cmake:

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

* Configurations/FeatureDefines.xcconfig:
* platform/LayoutUnit.h:
(WebCore::operator*):
(WebCore::LayoutUnit::LayoutUnit): Deleted.
(WebCore::LayoutUnit::fromFloatCeil): Deleted.
(WebCore::LayoutUnit::fromFloatFloor): Deleted.
(WebCore::LayoutUnit::fromFloatRound): Deleted.
(WebCore::LayoutUnit::ceil): Deleted.
(WebCore::LayoutUnit::round): Deleted.
(WebCore::LayoutUnit::floor): Deleted.
(WebCore::LayoutUnit::setValue): Deleted.
(WebCore::operator/): Deleted.
(WebCore::operator+): Deleted.
(WebCore::operator-): Deleted.
(WebCore::operator+=): Deleted.
(WebCore::operator-=): Deleted.
* rendering/LayoutState.cpp:
(WebCore::LayoutState::LayoutState):
* rendering/LayoutState.h:
(WebCore::LayoutState::LayoutState):
* rendering/RenderView.h:

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:

Source/WTF:

* wtf/FeatureDefines.h:

Tools:

* TestWebKitAPI/Tests/WebCore/LayoutUnit.cpp:

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

5 years ago[EFL] fix EvasGL configuration error
hyuki.kim@samsung.com [Thu, 12 Nov 2015 10:20:12 +0000 (10:20 +0000)]
[EFL] fix EvasGL configuration error
https://bugs.webkit.org/show_bug.cgi?id=151180

Reviewed by Gyuyoung Kim.

EvasGL backend and depth, stencil buffer size should be specified before elm_win_add to let EvasGL keep quiet

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

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

5 years ago[JSC] Air: we have more register than what the allocator believed
benjamin@webkit.org [Thu, 12 Nov 2015 07:38:00 +0000 (07:38 +0000)]
[JSC] Air: we have more register than what the allocator believed
https://bugs.webkit.org/show_bug.cgi?id=151182

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-11-11
Reviewed by Michael Saboff.

I was using GPRInfo/FPRInfo to get the number of register while coloring the interference graph.
The problem is, those classes are lying about register availability.

They don't report stuff reserved by the MacroAssembler and reserve some registers.
FPRInfo is the worst, reporting only 6 of the 15 registers we have.

The ground truth in our case is that we can color with all the registers returned
by regsInPriorityOrder(). I changed IteratedRegisterCoalescingAllocator to use that value.

The new test testSpillFP() covers simple spilling of doubles.

* b3/air/AirIteratedRegisterCoalescing.cpp:
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::IteratedRegisterCoalescingAllocator):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::makeWorkList):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::decrementDegree):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::precoloredCoalescingHeuristic):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::conservativeHeuristic):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::addWorkList):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::combine):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::freezeMoves):
* b3/testb3.cpp:
(JSC::B3::testSpillFP):
(JSC::B3::run):

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

5 years agoStop passing a PassRefPtr to dispatchEvent()
cdumez@apple.com [Thu, 12 Nov 2015 07:28:57 +0000 (07:28 +0000)]
Stop passing a PassRefPtr to dispatchEvent()
https://bugs.webkit.org/show_bug.cgi?id=151158

Reviewed by Alex Christensen.

Stop passing a PassRefPtr to dispatchEvent() because:
1. PassRefPtr is legacy and should no longer be used
2. We don't actually transfer ownership of the Event to the callee

Pass a C++ reference instead.

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

5 years agoThe BinarySnippetRegisterContext needs to copy the result back from the scratch register.
mark.lam@apple.com [Thu, 12 Nov 2015 07:17:09 +0000 (07:17 +0000)]
The BinarySnippetRegisterContext needs to copy the result back from the scratch register.
https://bugs.webkit.org/show_bug.cgi?id=150712

Reviewed by Geoffrey Garen.

If the BinarySnippetRegisterContext had re-assigned the result register to a scratch
before emitting the snippet, it needs to copy the result back from the scratch after
the snippet is done.

This fixes the cdjs-tests.yaml/main.js.ftl failure reported in
https://bugs.webkit.org/show_bug.cgi?id=150687.

Also added an optimization to check for the case where any of the left, right,
or result registers are aliased together, and to map them to the corresponding
allocated scratch register for their alias instead of allocating separate ones.

* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
- Added JITSubGenerator.h to these project files for completeness.

* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- Re-enable ArithSub handling of UntypedUse operands.

* ftl/FTLCompile.cpp:

* ftl/FTLInlineCacheSize.cpp:
(JSC::FTL::sizeOfArithSub):
- Adjusted IC sizes to account for the snippet changes.

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

5 years agoCrash in sorting-benchmark.js on ARM64 with full op_sub FTL coverage.
mark.lam@apple.com [Thu, 12 Nov 2015 06:59:13 +0000 (06:59 +0000)]
Crash in sorting-benchmark.js on ARM64 with full op_sub FTL coverage.
https://bugs.webkit.org/show_bug.cgi?id=150936

Reviewed by Michael Saboff.

The OSR entry thunk does not currently restore the callee saved registers that the baseline
JIT saves but the DFG does not.  As a result, sorting-benchmark.js was crashing with the
following scenario:

    1. There exists 2 functions: benchmark() and bottom_up_merge_sort().
       Let's call them A() and B() respectively for brevity.
    2. A() is FTL compiled.
    3. B() is FTL compiled.
    4. FTL A() calls FTL B().  FTL B() trashes register x26.
    5. FTL B() goes through an OSR exit, and deopts to baseline.  The OSR exit off-ramp
       puts x26's original value in the baseline B()'s stash location for x26 in its stack
       frame.  It expects baseline B() to restore x26 when it returns.
    6. Baseline B() gets DFG optimized, and we OSR enter into DFG B().
       The OSR entry thunk does nothing to restore x26's original value.  Hence, x26 contains
       whatever value FTL B() left in it.
    7. DFG B() returns to FTL A().
       x26 is not one of the callee saved registers used by DFG B().  Hence, it does nothing
       to restore it.
    8. FTL A() tries to use x26 and crashes, because x26 contains FTL B()'s value for it, and
       not FTL A()'s.

This patch fixes this issue by having the OSR entry thunk restore all the callee saved
registers before running the DFG code.

No new test needed because this issue will be covered by sorting-benchmark.js as soon as
https://bugs.webkit.org/show_bug.cgi?id=150712 lands.

* dfg/DFGThunks.cpp:
(JSC::DFG::osrEntryThunkGenerator):

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

5 years agoWeb Inspector: Add Debug toolbar button to toggle InspectorBackend.dumpInspectorProto...
commit-queue@webkit.org [Thu, 12 Nov 2015 06:33:53 +0000 (06:33 +0000)]
Web Inspector: Add Debug toolbar button to toggle InspectorBackend.dumpInspectorProtocolMessages
https://bugs.webkit.org/show_bug.cgi?id=151175

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-11-11
Reviewed by Brian Burg.

Add debug UI and a way to toggle it on and off in non-production builds.
To enable the debug UI use a keyboard shortcut in Inspector:
Option+Shift+Command+D (Mac) or Option+Shift+Ctrl+D (Windows / Linux)

The debug UI setting is a persistent setting, so those of use developing
Web Inspector will turn it on and leave it on.

Currently the only debug UI is a new toolbar button to toggle
the frontend logging on or off.

* Scripts/combine-resources.pl:
(concatenateFiles):
Exclude "Debug" files when combining resources for minification.

* UserInterface/Main.html:
Rename "Base/Bootstrap.js" to "Debug/Bootstrap" so that we can easily exclude it.

* UserInterface/Base/Main.js:
(WebInspector.contentLoaded):
Only evaluate bootstrap functions if they exist.

* UserInterface/Debug/Bootstrap.js: Renamed from Source/WebInspectorUI/UserInterface/Base/Bootstrap.js.
(WebInspector.runBootstrapOperations):
Add a debug setting, toolbar button, and keyboard shortcut.

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

5 years agoFix leaks in idbKeyFromInspectorObject()
cdumez@apple.com [Thu, 12 Nov 2015 06:09:40 +0000 (06:09 +0000)]
Fix leaks in idbKeyFromInspectorObject()
https://bugs.webkit.org/show_bug.cgi?id=151179

Reviewed by Brian Burg.

Fix leaks in idbKeyFromInspectorObject() that were caused by the
NeverDestroyed<> not being marked as static.

* inspector/InspectorIndexedDBAgent.cpp:

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

5 years agoPrint result of memory sampler more readable
gyuyoung.kim@webkit.org [Thu, 12 Nov 2015 05:48:19 +0000 (05:48 +0000)]
Print result of memory sampler more readable
https://bugs.webkit.org/show_bug.cgi?id=151085

Reviewed by Darin Adler.

Current memory sampler prints result of memory sample horizontally. It makes us hard to read
the result at a glance. To improve readability of the memory sampler result, this patch prints it
vertically.

* Shared/WebMemorySampler.cpp:
(WebKit::WebMemorySampler::appendCurrentMemoryUsageToFile):
(WebKit::WebMemorySampler::writeHeaders):

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

5 years ago[JSC] Add a comment explaining the opcode suffixes on x86
benjamin@webkit.org [Thu, 12 Nov 2015 05:19:40 +0000 (05:19 +0000)]
[JSC] Add a comment explaining the opcode suffixes on x86
https://bugs.webkit.org/show_bug.cgi?id=151176

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-11-11
Reviewed by Alex Christensen.

* assembler/X86Assembler.h:
I was always confused with the prefixes. Gavin pointed out the Intel documentation
explains everything.
I added a comment to help the next person confused about those suffixes.

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

5 years ago[JSC] Support Doubles with B3's Add
benjamin@webkit.org [Thu, 12 Nov 2015 05:12:20 +0000 (05:12 +0000)]
[JSC] Support Doubles with B3's Add
https://bugs.webkit.org/show_bug.cgi?id=151164

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

I tweaked ReduceStrength a bit to maintain correctness.
Nothing fancy otherwise.

* b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::lower):
* b3/B3ReduceStrength.cpp:
* b3/B3Value.h:
* b3/B3ValueInlines.h:
(JSC::B3::Value::isInteger):
* b3/air/AirOpcode.opcodes:
* b3/testb3.cpp:
(JSC::B3::bitWiseEqual):
(JSC::B3::testAddArgDouble):
(JSC::B3::testAddArgsDouble):
(JSC::B3::testAddArgImmDouble):
(JSC::B3::testAddImmArgDouble):
(JSC::B3::testAddImmsDouble):
(JSC::B3::run):

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

5 years agoB3 should be able to compile a program with Switch
fpizlo@apple.com [Thu, 12 Nov 2015 04:08:46 +0000 (04:08 +0000)]
B3 should be able to compile a program with Switch
https://bugs.webkit.org/show_bug.cgi?id=151115

Reviewed by Benjamin Poulain.

Adds lowering of Switch to a binary switch. This doesn't require any Air support.

* b3/B3BasicBlock.cpp:
(JSC::B3::BasicBlock::append):
(JSC::B3::BasicBlock::removeLast):
(JSC::B3::BasicBlock::replaceLast):
* b3/B3BasicBlock.h:
* b3/B3BlockInsertionSet.cpp:
(JSC::B3::BlockInsertionSet::insertBefore):
(JSC::B3::BlockInsertionSet::insertAfter):
(JSC::B3::BlockInsertionSet::splitForward):
* b3/B3BlockInsertionSet.h:
* b3/B3ControlValue.h:
* b3/B3Generate.cpp:
(JSC::B3::generateToAir):
* b3/B3LowerMacros.cpp:
* b3/B3SwitchValue.cpp:
(JSC::B3::SwitchValue::dumpMeta):
(JSC::B3::SwitchValue::SwitchValue):
* b3/B3SwitchValue.h:
* b3/testb3.cpp:
(JSC::B3::testChillDiv64):
(JSC::B3::testSwitch):
(JSC::B3::run):

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

5 years agoPatchpoints with stackArgument constraints should work
fpizlo@apple.com [Thu, 12 Nov 2015 03:39:00 +0000 (03:39 +0000)]
Patchpoints with stackArgument constraints should work
https://bugs.webkit.org/show_bug.cgi?id=151177

Reviewed by Saam Barati.

The only thing broken was that StackmapSpecial's isValidForm would reject Arg::addr, so
validation would fail after allocateStack.

In order for StackmapSpecial to validate Arg::addr, it needs to know the frame size. To know
the frame size, it needs access to Code&. So, this changes Air::Special to always have a
pointer back to Code.

Other than this already worked.

* b3/B3StackmapSpecial.cpp:
(JSC::B3::StackmapSpecial::isValidImpl):
* b3/air/AirCode.cpp:
(JSC::B3::Air::Code::addSpecial):
* b3/air/AirSpecial.cpp:
(JSC::B3::Air::Special::Special):
* b3/air/AirSpecial.h:
(JSC::B3::Air::Special::code):
* b3/testb3.cpp:
(JSC::B3::testSimplePatchpoint):
(JSC::B3::testPatchpointCallArg):
(JSC::B3::testSimpleCheck):
(JSC::B3::run):

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

5 years agoWeb Inspector: blank debugger tab when opening inspector on unvisited website
bburg@apple.com [Thu, 12 Nov 2015 03:13:39 +0000 (03:13 +0000)]
Web Inspector: blank debugger tab when opening inspector on unvisited website
https://bugs.webkit.org/show_bug.cgi?id=151149

Reviewed by Joseph Pecoraro.

When Inspector tries to show default content when initially showing a tab upon opening,
there may not be any tree elements added to the navigation bar yet. In the case of an
unvisited website, there will be no state restoration cookie to trigger deferred selection.
So, showDefaultContentView finds no tree elements it can show, and the main view is blank.

We can fix this by speculatively showing the first script/resource that's added to the tree
if no content view is being shown. If a state restoration cookie exists, it will take priority
over the default-displayed content view.

* UserInterface/Views/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel.prototype._addResource):
(WebInspector.DebuggerSidebarPanel.prototype._addScript):

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

5 years agoGet rid of -[WebMenuTarget validateMenuItem:]
andersca@apple.com [Thu, 12 Nov 2015 02:19:49 +0000 (02:19 +0000)]
Get rid of -[WebMenuTarget validateMenuItem:]
https://bugs.webkit.org/show_bug.cgi?id=151172

Reviewed by Beth Dakin.

We don't need the menu items to be validated since we handle enabling/disabling them ourselves (as well as setting their checked state).

* WebView/WebHTMLView.mm:
(-[WebMenuTarget validateMenuItem:]): Deleted.

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

5 years agoRename handle.*Event to dispatch.*Event
ggaren@apple.com [Thu, 12 Nov 2015 01:48:27 +0000 (01:48 +0000)]
Rename handle.*Event to dispatch.*Event
https://bugs.webkit.org/show_bug.cgi?id=151168

Reviewed by Chris Dumez.

Source/WebCore:

* dom/Document.cpp:
(WebCore::Document::implicitClose):
* dom/Document.h:
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::DocumentLoader):
(WebCore::DocumentLoader::getIconDataForIconURL):
(WebCore::DocumentLoader::dispatchOnloadEvents):
(WebCore::DocumentLoader::handledOnloadEvents): Deleted.
* loader/DocumentLoader.h:
(WebCore::DocumentLoader::isClientRedirect):
(WebCore::DocumentLoader::setIsClientRedirect):
(WebCore::DocumentLoader::wasOnloadDispatched):
(WebCore::DocumentLoader::overrideEncoding):
(WebCore::DocumentLoader::wasOnloadHandled): Deleted.
* loader/EmptyClients.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::submitForm):
(WebCore::FrameLoader::stopLoading):
(WebCore::FrameLoader::userAgent):
(WebCore::FrameLoader::dispatchOnloadEvents):
(WebCore::FrameLoader::frameDetached):
(WebCore::FrameLoader::shouldClose):
(WebCore::FrameLoader::dispatchUnloadEvents):
(WebCore::FrameLoader::dispatchBeforeUnloadEvent):
(WebCore::FrameLoader::handledOnloadEvents): Deleted.
(WebCore::FrameLoader::handleUnloadEvents): Deleted.
(WebCore::FrameLoader::handleBeforeUnloadEvent): Deleted.
* loader/FrameLoader.h:
* loader/FrameLoaderClient.h:
* loader/NavigationScheduler.cpp:
(WebCore::NavigationScheduler::mustLockBackForwardList):

Source/WebKit/mac:

* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDidFailLoading):
(WebFrameLoaderClient::dispatchDidDispatchOnloadEvents):
(WebFrameLoaderClient::dispatchDidHandleOnloadEvents): Deleted.

Source/WebKit/win:

* WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::shouldCacheResponse):
(WebFrameLoaderClient::dispatchDidDispatchOnloadEvents):
(WebFrameLoaderClient::dispatchDidHandleOnloadEvents): Deleted.
* WebCoreSupport/WebFrameLoaderClient.h:

Source/WebKit2:

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
(WebKit::WebFrameLoaderClient::dispatchDidDispatchOnloadEvents):
(WebKit::WebFrameLoaderClient::dispatchDidHandleOnloadEvents): Deleted.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:

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

5 years agoRemove more dead code
andersca@apple.com [Thu, 12 Nov 2015 01:47:04 +0000 (01:47 +0000)]
Remove more dead code
https://bugs.webkit.org/show_bug.cgi?id=151170

Reviewed by Beth Dakin.

* platform/ContextMenu.cpp:
(WebCore::findItemWithAction): Deleted.
(WebCore::ContextMenu::itemWithAction): Deleted.
* platform/ContextMenu.h:
(WebCore::ContextMenu::itemAtIndex): Deleted.
* platform/ContextMenuItem.h:

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

5 years agoDe-indent ContextMenu.h and ContextMenuItem.h.
andersca@apple.com [Thu, 12 Nov 2015 01:35:26 +0000 (01:35 +0000)]
De-indent ContextMenu.h and ContextMenuItem.h.

Rubber-stamped by Andreas Kling.

* platform/ContextMenu.h:
* platform/ContextMenuItem.h:

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

5 years agoRemove ContextMenuWin.cpp and ContextMenuItemWin.cpp
andersca@apple.com [Thu, 12 Nov 2015 01:29:31 +0000 (01:29 +0000)]
Remove ContextMenuWin.cpp and ContextMenuItemWin.cpp
https://bugs.webkit.org/show_bug.cgi?id=150467

Reviewed by Beth Dakin.

These files are not needed anymore.

* PlatformWin.cmake:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* platform/win/ContextMenuItemWin.cpp: Removed.
(WebCore::ContextMenuItem::ContextMenuItem): Deleted.
(WebCore::ContextMenuItem::platformContextMenuItem): Deleted.
* platform/win/ContextMenuWin.cpp: Removed.
(WebCore::ContextMenu::ContextMenu): Deleted.
(WebCore::ContextMenu::getContextMenuItems): Deleted.
(WebCore::ContextMenu::createPlatformContextMenuFromItems): Deleted.
(WebCore::ContextMenu::platformContextMenu): Deleted.

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

5 years agoGet rid of ContextMenuNone.cpp and ContextMenuItemNone.cpp
andersca@apple.com [Thu, 12 Nov 2015 01:19:55 +0000 (01:19 +0000)]
Get rid of ContextMenuNone.cpp and ContextMenuItemNone.cpp
https://bugs.webkit.org/show_bug.cgi?id=151169

Reviewed by Beth Dakin.

* PlatformEfl.cmake:
* platform/ContextMenuItemNone.cpp: Removed.
(WebCore::ContextMenuItem::platformContextMenuItem): Deleted.
* platform/ContextMenuNone.cpp: Removed.
(WebCore::ContextMenu::ContextMenu): Deleted.
(WebCore::ContextMenu::getContextMenuItems): Deleted.
(WebCore::ContextMenu::createPlatformContextMenuFromItems): Deleted.
(WebCore::ContextMenu::platformContextMenu): Deleted.

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

5 years agoFix builds.
andersca@apple.com [Thu, 12 Nov 2015 01:11:31 +0000 (01:11 +0000)]
Fix builds.

* WebProcess/WebCoreSupport/efl/WebContextMenuClientEfl.cpp:
(WebKit::WebContextMenuClient::shareMenuItem): Deleted.
* WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp:
(WebKit::WebContextMenuClient::shareMenuItem): Deleted.

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

5 years agobmalloc: Add libdl dependency
akiss@inf.u-szeged.hu [Thu, 12 Nov 2015 01:02:24 +0000 (01:02 +0000)]
bmalloc: Add libdl dependency
https://bugs.webkit.org/show_bug.cgi?id=151140

Reviewed by Csaba Osztrogon√°c.

Make sure that the linker links libdl and finds the references to
dlopen, dlsym and dlclose in Environment.cpp.

* CMakeLists.txt:

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

5 years agoREGRESSION (r191407): Context menus are missing Services
andersca@apple.com [Thu, 12 Nov 2015 00:47:29 +0000 (00:47 +0000)]
REGRESSION (r191407): Context menus are missing Services
https://bugs.webkit.org/show_bug.cgi?id=151167
rdar://problem/23500769

Reviewed by Tim Horton.

* UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::showContextMenu):
Use contentsToRootView to better indicate which coordinate system we're using.

* WebProcess/WebPage/WebContextMenu.cpp:
(WebKit::WebContextMenu::show):
Use +[NSMenu popUpContextMenu:withEvent:forView:] so we'll get service menus where applicable.

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

5 years agoAdd ability to insert probes in LLVM IR that we generate.
mark.lam@apple.com [Thu, 12 Nov 2015 00:41:12 +0000 (00:41 +0000)]
Add ability to insert probes in LLVM IR that we generate.
https://bugs.webkit.org/show_bug.cgi?id=151159

Reviewed by Geoffrey Garen.

This is done by inserting a stackmap intrinsic and emitting the probe there.

We can now insert probes that take a lambda like so:

    probe([] (CCallHelpers::ProbeContext*) {
        dataLog("Hello FTL\n");
    });

* ftl/FTLCompile.cpp:
* ftl/FTLInlineCacheDescriptor.h:
(JSC::FTL::ProbeDescriptor::ProbeDescriptor):
(JSC::FTL::ProbeDescriptor::probeFunction):
* ftl/FTLInlineCacheSize.cpp:
(JSC::FTL::sizeOfProbe):
* ftl/FTLInlineCacheSize.h:
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::probe):
* ftl/FTLState.h:

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

5 years agoRemove more dead context menu code
andersca@apple.com [Thu, 12 Nov 2015 00:29:53 +0000 (00:29 +0000)]
Remove more dead context menu code
https://bugs.webkit.org/show_bug.cgi?id=151163

Reviewed by Tim Horton.

Source/WebCore:

* loader/EmptyClients.h:
* page/ContextMenuClient.h:
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::populate):
* platform/ContextMenuItem.h:
* platform/mac/ContextMenuItemMac.mm:
(WebCore::ContextMenuItem::shareMenuItem): Deleted.

Source/WebKit/mac:

* WebCoreSupport/WebContextMenuClient.h:
* WebCoreSupport/WebContextMenuClient.mm:
(WebContextMenuClient::shareMenuItem): Deleted.

Source/WebKit2:

* WebProcess/WebCoreSupport/WebContextMenuClient.h:
* WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
(WebKit::WebContextMenuClient::shareMenuItem): Deleted.

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

5 years agoRemove an unnecessary zero-delay timer from swipe snapshot removal
timothy_horton@apple.com [Thu, 12 Nov 2015 00:14:01 +0000 (00:14 +0000)]
Remove an unnecessary zero-delay timer from swipe snapshot removal
https://bugs.webkit.org/show_bug.cgi?id=151161

Reviewed by Anders Carlsson.

* WebProcess/WebPage/ViewGestureGeometryCollector.cpp:
(WebKit::ViewGestureGeometryCollector::mainFrameDidLayout):
(WebKit::ViewGestureGeometryCollector::ViewGestureGeometryCollector): Deleted.
(WebKit::ViewGestureGeometryCollector::renderTreeSizeNotificationTimerFired): Deleted.
* WebProcess/WebPage/ViewGestureGeometryCollector.h:
There's no discernable reason for this zero-delay timer, and it dates back
to the original swipe patch with no explanation given. My only theory
is that I was depending on spinning the runloop to ensure we've painted,
but we have other mechanisms to do that now, on both platforms.

This also was a surprising waste of time in some cases where the web
process was very slow.

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

5 years agoUnreviewed attempt to fix the Mac CMake build.
cdumez@apple.com [Wed, 11 Nov 2015 23:45:58 +0000 (23:45 +0000)]
Unreviewed attempt to fix the Mac CMake build.

* CMakeLists.txt:

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

5 years ago[Win] webkitpy is applying abspath to DOS paths, yielding invalid paths
bfulgham@apple.com [Wed, 11 Nov 2015 23:39:25 +0000 (23:39 +0000)]
[Win] webkitpy is applying abspath to DOS paths, yielding invalid paths
https://bugs.webkit.org/show_bug.cgi?id=151156

Reviewed by Anders Carlsson.

* Scripts/webkitpy/port/base.py:
(Port.results_directory): Don't pass paths through 'abspath'
(Port._build_path): Ditto.
* Scripts/webkitpy/port/win.py:
(WinPort._build_path): Ditto.

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

5 years agoChange probe CPUState gpr() and fpr() to return references.
mark.lam@apple.com [Wed, 11 Nov 2015 23:04:09 +0000 (23:04 +0000)]
Change probe CPUState gpr() and fpr() to return references.
https://bugs.webkit.org/show_bug.cgi?id=151154

Reviewed by Saam Barati.

This will allow us to set their values as well as reading them.

* assembler/AbstractMacroAssembler.h:
(JSC::AbstractMacroAssembler::CPUState::gpr):
(JSC::AbstractMacroAssembler::CPUState::fpr):
(JSC::AbstractMacroAssembler::ProbeContext::gpr):
(JSC::AbstractMacroAssembler::ProbeContext::fpr):

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

5 years ago[WK2] Add initial support for speculative resource revalidation to the WebKit disk...
cdumez@apple.com [Wed, 11 Nov 2015 23:01:30 +0000 (23:01 +0000)]
[WK2] Add initial support for speculative resource revalidation to the WebKit disk cache
https://bugs.webkit.org/show_bug.cgi?id=150856
<rdar://problem/23092196>

Reviewed by Antti Koivisto.

Add initial support for speculative resource revalidation to the WebKit
disk cache. When a main resource is requested by WebCore, we look up its
list of subresources in the cache and speculatively warm them up before
WebCore asks for them, in order to improve page load time. In this
context, warming it up means:
1. If the cached resource is usable (has not expired), keep it around
   in a memory for a limited amount of time (10 seconds).
2. If the resource has expired, do a speculative revalidation of the
   resource and then keep it in memory for a while as well (10 seconds).

The feature is currently behind a compile-time flag that is only enabled
on COCOA. Also, it is currently disabled at run-time until it is mature
enough.

Initial results show that speculative revalidation gives a ~5%
progression on throttled warm PLT on iPhone 5s.

* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::start):
* NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::Cache::retrieve):
(WebKit::NetworkCache::Cache::store):
(WebKit::NetworkCache::Cache::update):
* NetworkProcess/cache/NetworkCache.h:
* NetworkProcess/cache/NetworkCacheEntry.cpp:
(WebKit::NetworkCache::Entry::Entry):
* NetworkProcess/cache/NetworkCacheEntry.h:
* NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp: Added.
(WebKit::NetworkCache::SpeculativeLoad::SpeculativeLoad):
(WebKit::NetworkCache::SpeculativeLoad::~SpeculativeLoad):
(WebKit::NetworkCache::SpeculativeLoad::willSendRedirectedRequest):
(WebKit::NetworkCache::SpeculativeLoad::didReceiveBuffer):
(WebKit::NetworkCache::SpeculativeLoad::didFinishLoading):
(WebKit::NetworkCache::SpeculativeLoad::didFailLoading):
(WebKit::NetworkCache::SpeculativeLoad::didComplete):
* NetworkProcess/cache/NetworkCacheSpeculativeLoad.h: Added.
* NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
(WebKit::NetworkCache::constructRevalidationRequest):
(WebKit::NetworkCache::responseNeedsRevalidation):
(WebKit::NetworkCache::SpeculativeLoadManager::PreloadedEntry::PreloadedEntry):
(WebKit::NetworkCache::SpeculativeLoadManager::PreloadedEntry::takeCacheEntry):
(WebKit::NetworkCache::SpeculativeLoadManager::PreloadedEntry::lifetimeTimerFired):
(WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::PendingFrameLoad):
(WebKit::NetworkCache::SpeculativeLoadManager::retrieve):
(WebKit::NetworkCache::SpeculativeLoadManager::registerLoad):
(WebKit::NetworkCache::SpeculativeLoadManager::addPreloadedEntry):
(WebKit::NetworkCache::SpeculativeLoadManager::retrieveEntryFromStorage):
(WebKit::NetworkCache::SpeculativeLoadManager::satisfyPendingRequests):
(WebKit::NetworkCache::SpeculativeLoadManager::revalidateEntry):
(WebKit::NetworkCache::SpeculativeLoadManager::preloadEntry):
(WebKit::NetworkCache::SpeculativeLoadManager::startSpeculativeRevalidation):
(WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::registerSubresource): Deleted.
(WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::encodeAsSubresourcesRecord): Deleted.
* NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.h:
* WebKit2.xcodeproj/project.pbxproj:

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

5 years agoWeb Inspector: Convert sidebars to use View base class
mattbaker@apple.com [Wed, 11 Nov 2015 22:57:41 +0000 (22:57 +0000)]
Web Inspector: Convert sidebars to use View base class
https://bugs.webkit.org/show_bug.cgi?id=151057

Reviewed by Timothy Hatcher.

This patch makes Sidebar a subclass of View. Mostly mechanical changes and cleanup,
such as adding navigation bars and panels as subviews, removing element getters,
and replacing external properties with symbols.

* UserInterface/Base/Main.js:
Added sidebars to view hierarchy.

* UserInterface/Views/DebuggerSidebarPanel.js:
Add navigation bar as a subview.

* UserInterface/Views/NetworkSidebarPanel.js:
Add navigation bar as a subview.
(WebInspector.NetworkSidebarPanel):
(WebInspector.NetworkSidebarPanel.prototype.matchTreeElementAgainstCustomFilters.match):
(WebInspector.NetworkSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
(WebInspector.NetworkSidebarPanel.prototype.treeElementAddedOrChanged):
(WebInspector.NetworkSidebarPanel.prototype._treeElementGoToArrowWasClicked):
External properties replaced with symbols.

* UserInterface/Views/ResourceSidebarPanel.js:
Add navigation bar as a subview.
(WebInspector.ResourceSidebarPanel):
(WebInspector.ResourceSidebarPanel.prototype.matchTreeElementAgainstCustomFilters.match):
(WebInspector.ResourceSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
External properties replaced with symbols.

* UserInterface/Views/Sidebar.js:
(WebInspector.Sidebar):
(WebInspector.Sidebar.prototype.addSidebarPanel):
(WebInspector.Sidebar.prototype.removeSidebarPanel):
Panels are now added and removed as subviews.
(WebInspector.Sidebar.prototype.get width):
(WebInspector.Sidebar.prototype.set width):
(WebInspector.Sidebar.prototype.get collapsed):
(WebInspector.Sidebar.prototype.set collapsed):
"collapsed" property now backed by private class variable, not DOM state.
(WebInspector.Sidebar.prototype.get element): Deleted.

* UserInterface/Views/SidebarPanel.js:
(WebInspector.SidebarPanel):
(WebInspector.SidebarPanel.prototype.get visible):
(WebInspector.SidebarPanel.prototype.get selected):
(WebInspector.SidebarPanel.prototype.set selected):
"selected" property now backed by private class variable, not DOM state.
(WebInspector.SidebarPanel.prototype.get parentSidebar):
No longer stored as separate property. Wrapper around View.prototype.parentView.
Original getter retained for clarity.
(WebInspector.SidebarPanel.prototype.show):
(WebInspector.SidebarPanel.prototype.hide):
(WebInspector.SidebarPanel.prototype.added):
(WebInspector.SidebarPanel.prototype.removed):
(WebInspector.SidebarPanel.prototype.get element): Deleted.

* UserInterface/Views/StorageSidebarPanel.js:
(WebInspector.StorageSidebarPanel):
Add navigation bar as a subview.

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

5 years agoAdd convenience utility to support dataLogging opcodeIDs.
mark.lam@apple.com [Wed, 11 Nov 2015 22:31:18 +0000 (22:31 +0000)]
Add convenience utility to support dataLogging opcodeIDs.
https://bugs.webkit.org/show_bug.cgi?id=151117

Reviewed by Saam Barati.

* bytecode/Opcode.cpp:
(WTF::printInternal):
* bytecode/Opcode.h:

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

5 years agoVersioning.
bshafiei@apple.com [Wed, 11 Nov 2015 22:19:57 +0000 (22:19 +0000)]
Versioning.

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

5 years agoUnreviewed, add myself to the committers list.
akiss@inf.u-szeged.hu [Wed, 11 Nov 2015 22:02:20 +0000 (22:02 +0000)]
Unreviewed, add myself to the committers list.

* Scripts/webkitpy/common/config/contributors.json:

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

5 years agoHandle custom menu items in WebKit instead of WebCore on Windows
andersca@apple.com [Wed, 11 Nov 2015 21:47:47 +0000 (21:47 +0000)]
Handle custom menu items in WebKit instead of WebCore on Windows
https://bugs.webkit.org/show_bug.cgi?id=151147

Reviewed by Tim Horton.

* WebCoreSupport/WebContextMenuClient.cpp:
(WebContextMenuClient::contextMenuItemSelected):
* WebView.cpp:
(WebView::onMenuCommand):

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

5 years agoRegression(r191815): 5.3% regression on Dromaeo JS Library Benchmark
keith_miller@apple.com [Wed, 11 Nov 2015 21:34:57 +0000 (21:34 +0000)]
Regression(r191815): 5.3% regression on Dromaeo JS Library Benchmark
https://bugs.webkit.org/show_bug.cgi?id=150945

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

This patch fixes a performance regression introduced by r191815. Before adding Symbol.toStringTag
we would cache the value of Object.prototype.toString() in the rareData of the structure.
In order to cache the result of Object.prototype.toString() we now need to ensure that the
value stored in Symbol.toStringTag is a known constant. Thus, in order to ensure the stored Symbol.toStringTag
value remains constant adaptive inferred value watchpoints have been re-factored to be generalizable and
a new version that clears the toString value cache when fired has been added.

* JavaScriptCore.xcodeproj/project.pbxproj:
* bytecode/AdaptiveInferredPropertyValueWatchpointBase.cpp: Copied from Source/JavaScriptCore/dfg/DFGAdaptiveInferredPropertyValueWatchpoint.cpp.
(JSC::AdaptiveInferredPropertyValueWatchpointBase::AdaptiveInferredPropertyValueWatchpointBase):
(JSC::AdaptiveInferredPropertyValueWatchpointBase::install):
(JSC::AdaptiveInferredPropertyValueWatchpointBase::fire):
(JSC::AdaptiveInferredPropertyValueWatchpointBase::StructureWatchpoint::fireInternal):
(JSC::AdaptiveInferredPropertyValueWatchpointBase::PropertyWatchpoint::fireInternal):
* bytecode/AdaptiveInferredPropertyValueWatchpointBase.h: Copied from Source/JavaScriptCore/dfg/DFGAdaptiveInferredPropertyValueWatchpoint.h.
(JSC::AdaptiveInferredPropertyValueWatchpointBase::key):
(JSC::AdaptiveInferredPropertyValueWatchpointBase::StructureWatchpoint::StructureWatchpoint):
(JSC::AdaptiveInferredPropertyValueWatchpointBase::PropertyWatchpoint::PropertyWatchpoint):
* dfg/DFGAdaptiveInferredPropertyValueWatchpoint.cpp:
(JSC::DFG::AdaptiveInferredPropertyValueWatchpoint::AdaptiveInferredPropertyValueWatchpoint):
(JSC::DFG::AdaptiveInferredPropertyValueWatchpoint::handleFire):
(JSC::DFG::AdaptiveInferredPropertyValueWatchpoint::install): Deleted.
(JSC::DFG::AdaptiveInferredPropertyValueWatchpoint::fire): Deleted.
(JSC::DFG::AdaptiveInferredPropertyValueWatchpoint::StructureWatchpoint::fireInternal): Deleted.
(JSC::DFG::AdaptiveInferredPropertyValueWatchpoint::PropertyWatchpoint::fireInternal): Deleted.
* dfg/DFGAdaptiveInferredPropertyValueWatchpoint.h:
(JSC::DFG::AdaptiveInferredPropertyValueWatchpoint::key): Deleted.
(JSC::DFG::AdaptiveInferredPropertyValueWatchpoint::StructureWatchpoint::StructureWatchpoint): Deleted.
(JSC::DFG::AdaptiveInferredPropertyValueWatchpoint::PropertyWatchpoint::PropertyWatchpoint): Deleted.
* runtime/ObjectPrototype.cpp:
(JSC::objectProtoFuncToString):
* runtime/Structure.h:
* runtime/StructureInlines.h:
(JSC::Structure::setObjectToStringValue):
* runtime/StructureRareData.cpp:
(JSC::StructureRareData::StructureRareData):
(JSC::StructureRareData::setObjectToStringValue):
(JSC::StructureRareData::clearObjectToStringValue):
(JSC::ObjectToStringAdaptiveStructureWatchpoint::ObjectToStringAdaptiveStructureWatchpoint):
(JSC::ObjectToStringAdaptiveStructureWatchpoint::install):
(JSC::ObjectToStringAdaptiveStructureWatchpoint::fireInternal):
(JSC::ObjectToStringAdaptiveInferredPropertyValueWatchpoint::ObjectToStringAdaptiveInferredPropertyValueWatchpoint):
(JSC::ObjectToStringAdaptiveInferredPropertyValueWatchpoint::handleFire):
* runtime/StructureRareData.h:
* runtime/StructureRareDataInlines.h:
(JSC::StructureRareData::setObjectToStringValue): Deleted.
* tests/stress/symbol-tostringtag-watchpoints.js: Added.
(Base):

* CMakeLists.txt:
* JavaScriptCore.xcodeproj/project.pbxproj:
* bytecode/AdaptiveInferredPropertyValueWatchpointBase.cpp: Copied from Source/JavaScriptCore/dfg/DFGAdaptiveInferredPropertyValueWatchpoint.cpp.
(JSC::AdaptiveInferredPropertyValueWatchpointBase::AdaptiveInferredPropertyValueWatchpointBase):
(JSC::AdaptiveInferredPropertyValueWatchpointBase::install):
(JSC::AdaptiveInferredPropertyValueWatchpointBase::fire):
(JSC::AdaptiveInferredPropertyValueWatchpointBase::StructureWatchpoint::fireInternal):
(JSC::AdaptiveInferredPropertyValueWatchpointBase::PropertyWatchpoint::fireInternal):
* bytecode/AdaptiveInferredPropertyValueWatchpointBase.h: Copied from Source/JavaScriptCore/dfg/DFGAdaptiveInferredPropertyValueWatchpoint.h.
(JSC::AdaptiveInferredPropertyValueWatchpointBase::key):
(JSC::AdaptiveInferredPropertyValueWatchpointBase::StructureWatchpoint::StructureWatchpoint):
(JSC::AdaptiveInferredPropertyValueWatchpointBase::PropertyWatchpoint::PropertyWatchpoint):
* dfg/DFGAdaptiveInferredPropertyValueWatchpoint.cpp:
(JSC::DFG::AdaptiveInferredPropertyValueWatchpoint::AdaptiveInferredPropertyValueWatchpoint):
(JSC::DFG::AdaptiveInferredPropertyValueWatchpoint::handleFire):
(JSC::DFG::AdaptiveInferredPropertyValueWatchpoint::install): Deleted.
(JSC::DFG::AdaptiveInferredPropertyValueWatchpoint::fire): Deleted.
(JSC::DFG::AdaptiveInferredPropertyValueWatchpoint::StructureWatchpoint::fireInternal): Deleted.
(JSC::DFG::AdaptiveInferredPropertyValueWatchpoint::PropertyWatchpoint::fireInternal): Deleted.
* dfg/DFGAdaptiveInferredPropertyValueWatchpoint.h:
(JSC::DFG::AdaptiveInferredPropertyValueWatchpoint::key): Deleted.
(JSC::DFG::AdaptiveInferredPropertyValueWatchpoint::StructureWatchpoint::StructureWatchpoint): Deleted.
(JSC::DFG::AdaptiveInferredPropertyValueWatchpoint::PropertyWatchpoint::PropertyWatchpoint): Deleted.
* runtime/ObjectPrototype.cpp:
(JSC::objectProtoFuncToString):
* runtime/Structure.h:
* runtime/StructureInlines.h:
(JSC::Structure::setObjectToStringValue):
* runtime/StructureRareData.cpp:
(JSC::StructureRareData::StructureRareData):
(JSC::StructureRareData::setObjectToStringValue):
(JSC::StructureRareData::clearObjectToStringValue):
(JSC::ObjectToStringAdaptiveStructureWatchpoint::ObjectToStringAdaptiveStructureWatchpoint):
(JSC::ObjectToStringAdaptiveStructureWatchpoint::install):
(JSC::ObjectToStringAdaptiveStructureWatchpoint::fireInternal):
(JSC::ObjectToStringAdaptiveInferredPropertyValueWatchpoint::ObjectToStringAdaptiveInferredPropertyValueWatchpoint):
(JSC::ObjectToStringAdaptiveInferredPropertyValueWatchpoint::handleFire):
* runtime/StructureRareData.h:
* runtime/StructureRareDataInlines.h:
(JSC::StructureRareData::setObjectToStringValue): Deleted.
* tests/stress/symbol-tostringtag-watchpoints.js: Added.
(Base):

LayoutTests:

Added a preformance regression test that checks the speed of Symbol.toStringTag.
The change to cross-origin-replace-history-object-child-expected.txt is a
result of the toString value being cached.

* http/tests/history/cross-origin-replace-history-object-child-expected.txt:
* js/regress/script-tests/symbol-tostringtag.js: Added.
(buildChain):
(body):
* js/regress/symbol-tostringtag-expected.txt: Added.
* js/regress/symbol-tostringtag.html: Added.

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

5 years agoB3 should be able to compile and canonicalize Mul
fpizlo@apple.com [Wed, 11 Nov 2015 20:35:31 +0000 (20:35 +0000)]
B3 should be able to compile and canonicalize Mul
https://bugs.webkit.org/show_bug.cgi?id=151124

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

This was a strange trip. I wanted to do a quick patch to implement Mul. But then I realized
that our tradition when adding new lowerings was to also add the corresponding strength
reductions. So then I wrote the Mul->Shl strength reduction. But that reminded me that I needed
to canonicalize between Add(x, x) and Shl(x, 1). I decided that it would probably be better to
use Shl(x, 1), since that only has one use of x. But that means that we should compile
Shl(x, 1) to Add x, x in the backend, since that's what X86 wants. While doing that, I almost
introduced a bug where Shl(Load(x), 1) would cause the compiler to either crash or generate bad
code. That's because I was using Add(x, x) to handle Shl(x, 1), so we'd end up with
Add(Load(x), Load(x)) - i.e. we would try to duplicate the Load.

The instruction selector already defends against this, and the only reason why I would have
created the bug was by using the Add helper when compiling a Shl. Still, this was so close to
a bad bug that I added a ton of new tests that cover the Op(x, x) where x = Load case.

* b3/B3Compilation.cpp:
(JSC::B3::Compilation::Compilation):
* b3/B3Compilation.h:
(JSC::B3::Compilation::code):
* b3/B3Const32Value.cpp:
(JSC::B3::Const32Value::subConstant):
(JSC::B3::Const32Value::mulConstant):
(JSC::B3::Const32Value::bitAndConstant):
* b3/B3Const32Value.h:
* b3/B3Const64Value.cpp:
(JSC::B3::Const64Value::subConstant):
(JSC::B3::Const64Value::mulConstant):
(JSC::B3::Const64Value::bitAndConstant):
* b3/B3Const64Value.h:
* b3/B3ConstDoubleValue.cpp:
(JSC::B3::ConstDoubleValue::subConstant):
(JSC::B3::ConstDoubleValue::mulConstant):
(JSC::B3::ConstDoubleValue::equalConstant):
* b3/B3ConstDoubleValue.h:
* b3/B3Generate.cpp:
(JSC::B3::generate):
(JSC::B3::generateToAir):
* b3/B3Generate.h:
* b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::appendBinOp):
(JSC::B3::Air::LowerToAir::createGenericCompare):
(JSC::B3::Air::LowerToAir::lower):
* b3/B3ReduceStrength.cpp:
* b3/B3Value.cpp:
(JSC::B3::Value::subConstant):
(JSC::B3::Value::mulConstant):
(JSC::B3::Value::bitAndConstant):
* b3/B3Value.h:
* b3/air/AirOpcode.opcodes:
* b3/testb3.cpp:
(JSC::B3::compile):
(JSC::B3::testReturnConst64):
(JSC::B3::testAddArg):
(JSC::B3::testAddArgs):
(JSC::B3::testAddArgs32):
(JSC::B3::testAddLoadTwice):
(JSC::B3::testMulArg):
(JSC::B3::testMulArgs):
(JSC::B3::testMulArgImm):
(JSC::B3::testMulImmArg):
(JSC::B3::testMulArgs32):
(JSC::B3::testMulLoadTwice):
(JSC::B3::testSubArg):
(JSC::B3::testSubArgs):
(JSC::B3::testShlArgImm):
(JSC::B3::testShlArg32):
(JSC::B3::testShlArgs32):
(JSC::B3::testSShrArgImm):
(JSC::B3::testSShrArg32):
(JSC::B3::testSShrArgs32):
(JSC::B3::testZShrArgImm):
(JSC::B3::testZShrArg32):
(JSC::B3::testZShrArgs32):
(JSC::B3::genericTestCompare):
(JSC::B3::testCompareLoad):
(JSC::B3::testCompareImpl):
(JSC::B3::run):

Source/WTF:

* wtf/MathExtras.h:
(WTF::fastLog2):

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

5 years ago_WKRemoteObjectInterface should handle specifying allowed classes for reply block...
andersca@apple.com [Wed, 11 Nov 2015 19:50:25 +0000 (19:50 +0000)]
_WKRemoteObjectInterface should handle specifying allowed classes for reply block arguments
https://bugs.webkit.org/show_bug.cgi?id=151144

Reviewed by Tim Horton.

Source/WebKit2:

* Shared/API/Cocoa/_WKRemoteObjectInterface.h:
* Shared/API/Cocoa/_WKRemoteObjectInterface.mm:
(classesForSelectorArgument):
(-[_WKRemoteObjectInterface classesForSelector:argumentIndex:ofReply:]):
(-[_WKRemoteObjectInterface setClasses:forSelector:argumentIndex:ofReply:]):
(-[_WKRemoteObjectInterface classesForSelector:argumentIndex:]):
(-[_WKRemoteObjectInterface setClasses:forSelector:argumentIndex:]):

Tools:

* TestWebKitAPI/Tests/WebKit2Cocoa/RemoteObjectRegistry.h:
(remoteObjectInterface):
* TestWebKitAPI/Tests/WebKit2Cocoa/RemoteObjectRegistry.mm:
(TEST):
* TestWebKitAPI/Tests/WebKit2Cocoa/RemoteObjectRegistryPlugIn.mm:
(-[RemoteObjectRegistryPlugIn webProcessPlugIn:didCreateBrowserContextController:]):
(-[RemoteObjectRegistryPlugIn selectionAndClickInformationForClickAtPoint:completionHandler:]):

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

5 years agoUpdate ES6 Generators' status to "In Development"
utatane.tea@gmail.com [Wed, 11 Nov 2015 19:25:56 +0000 (19:25 +0000)]
Update ES6 Generators' status to "In Development"
https://bugs.webkit.org/show_bug.cgi?id=151142

Reviewed by Saam Barati.

Currently, features.json raises some linting errors.
This should be cleaned up in another patch.

* features.json:

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

5 years agoFix a typo.
jhoneycutt@apple.com [Wed, 11 Nov 2015 19:02:53 +0000 (19:02 +0000)]
Fix a typo.

Rubber-stamped by Dan Bernstein.

* fast/parser/strip-script-attrs-on-input-expected.txt:
* fast/parser/strip-script-attrs-on-input.html:

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

5 years agoCrash loading Blink layout test fast/parser/strip-script-attrs-on-input.html
jhoneycutt@apple.com [Wed, 11 Nov 2015 18:48:33 +0000 (18:48 +0000)]
Crash loading Blink layout test fast/parser/strip-script-attrs-on-input.html
https://bugs.webkit.org/show_bug.cgi?id=150201
<rdar://problem/23136478>

Reviewed by Brent Fulgham.

Source/WebCore:

Test: fast/parser/strip-script-attrs-on-input.html

* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
Get the attribute after calling
HTMLConstructionSite::insertSelfClosingHTMLElement(), as this may
mutate the token's attributes.

LayoutTests:

* fast/parser/strip-script-attrs-on-input-expected.txt: Added.
* fast/parser/strip-script-attrs-on-input.html: Added.

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

5 years agoUse Win32 functions to get context menu item info
andersca@apple.com [Wed, 11 Nov 2015 18:20:43 +0000 (18:20 +0000)]
Use Win32 functions to get context menu item info
https://bugs.webkit.org/show_bug.cgi?id=151123

Reviewed by Tim Horton.

* WebView.cpp:
(WebView::handleContextMenuEvent):
Destroy the menu if it already exists. Before creating the menu, make sure to set its style
to MNS_NOTIFYBYPOS, so we'll be able to know which item was selected (instead of just the action ID).

(WebView::onMenuCommand):
Get the selected menu item's ID and title. Create a fake ContextMenuItem and pass it back to WebCore. In the future,
we'll be able to pass just the action and title.

(WebView::WebViewWndProc):
There's no need to listen for WM_COMMAND. Just always listen for WM_MENUCOMMAND. Rename performContextMenuAction to onMenuCommand.

* WebView.h:
Add new member.

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

5 years agoUI-side scripts in WebKitTestRunner should wait until event handling completes before...
wenson_hsieh@apple.com [Wed, 11 Nov 2015 18:15:56 +0000 (18:15 +0000)]
UI-side scripts in WebKitTestRunner should wait until event handling completes before finishing
https://bugs.webkit.org/show_bug.cgi?id=151101
<rdar://problem/23428601>

Reviewed by Simon Fraser.

Tools:

WebKitTestRunner may still crash in the scenario where a marker event is dequeued and handled
after uiScriptComplete has been called. This patch teaches the UI script execution context to
defer script completion until all non-persistent tasks (currently tap, double tap and hardware
keyboard) have been handled, so marker events will no longer bleed through tests.

We accomplish this by changing the behavior of uiScriptComplete. When calling uiScriptComplete,
we store that a request to complete the UI-side script for the current parent callback has been
made. Subsequently, when a callback (either persistent or non-persistent) finishes invoking and
a request has been made to complete the UI script (this request may have been made when running
a previous callback) we check if all the non-persistent callbacks that have the same parent
callback as the current one have finished. If so, we complete the callback immediately;
otherwise, we wait until the in-flight non-persistent callbacks finish execution to complete the
UI script.

This patch also refactors some logic in UIScriptContext. It introduces a new convention for
assigning IDs to callbacks: IDs 1000 and above are treated as non-persistent callbacks, whereas
IDs between 0 and 999 are persistent task callbacks. This is similar to the existing convention
for assigning IDs in the 100s range to parent callbacks, and allows us to easily differentiate
between callbacks that are persistent and non-persistent, as well as determine when an existing
persistent callback must be unregistered before a new callback function can be set.

* WebKitTestRunner/UIScriptContext/UIScriptContext.cpp:
(isPersistentCallbackID):
(UIScriptContext::runUIScript):
(UIScriptContext::nextTaskCallbackID):
(UIScriptContext::prepareForAsyncTask):
(UIScriptContext::asyncTaskComplete):
(UIScriptContext::registerCallback):
(UIScriptContext::fireCallback):
(UIScriptContext::requestUIScriptCompletion):
(UIScriptContext::tryToCompleteUIScriptForCurrentParentCallback):
(UIScriptContext::currentParentCallbackHasOutstandingAsyncTasks):
(UIScriptContext::uiScriptComplete): Deleted.
* WebKitTestRunner/UIScriptContext/UIScriptContext.h:
(WTR::UIScriptContext::currentParentCallbackIsPendingCompletion):
* WebKitTestRunner/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::setWillBeginZoomingCallback):
(WTR::UIScriptController::willBeginZoomingCallback):
(WTR::UIScriptController::setDidEndZoomingCallback):
(WTR::UIScriptController::didEndZoomingCallback):
(WTR::UIScriptController::setDidShowKeyboardCallback):
(WTR::UIScriptController::didShowKeyboardCallback):
(WTR::UIScriptController::setDidHideKeyboardCallback):
(WTR::UIScriptController::didHideKeyboardCallback):
(WTR::UIScriptController::uiScriptComplete):
* WebKitTestRunner/UIScriptContext/UIScriptController.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::doAsyncTask):
(WTR::UIScriptController::zoomToScale):
(WTR::UIScriptController::singleTapAtPoint):
(WTR::UIScriptController::doubleTapAtPoint):
(WTR::UIScriptController::typeCharacterUsingHardwareKeyboard):
(WTR::UIScriptController::platformSetWillBeginZoomingCallback):
(WTR::UIScriptController::platformSetDidEndZoomingCallback):
(WTR::UIScriptController::platformSetDidShowKeyboardCallback):
(WTR::UIScriptController::platformSetDidHideKeyboardCallback):
(WTR::UIScriptController::platformClearAllCallbacks): Deleted.
* WebKitTestRunner/mac/UIScriptControllerMac.mm:
(WTR::UIScriptController::doAsyncTask):

LayoutTests:

Ensures that all tests using UIScriptController properly complete the UI script from within
a completion callback.

* fast/events/ios/clicking-document-should-not-trigger-focus.html:
* fast/events/ios/input-value-after-oninput.html:
* fast/events/ios/single-tap-generates-click.html:

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

5 years agoAdd some font-related preferences to the modern API
timothy_horton@apple.com [Wed, 11 Nov 2015 18:12:53 +0000 (18:12 +0000)]
Add some font-related preferences to the modern API
https://bugs.webkit.org/show_bug.cgi?id=151138
<rdar://problem/23492636>

Reviewed by Anders Carlsson.

* UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _defaultFontSize]):
(-[WKPreferences _setDefaultFontSize:]):
(-[WKPreferences _defaultFixedPitchFontSize]):
(-[WKPreferences _setDefaultFixedPitchFontSize:]):
(-[WKPreferences _fixedPitchFontFamily]):
(-[WKPreferences _setFixedPitchFontFamily:]):
* UIProcess/API/Cocoa/WKPreferencesPrivate.h:

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

5 years ago[GTK][Mac] don't install .frameworks
commit-queue@webkit.org [Wed, 11 Nov 2015 18:03:00 +0000 (18:03 +0000)]
[GTK][Mac] don't install .frameworks
https://bugs.webkit.org/show_bug.cgi?id=151136

Patch by Philippe Normand <pnormand@igalia.com> on 2015-11-11
Reviewed by Alex Christensen.

* Source/cmake/WebKitMacros.cmake: Don't install framework files when building the GTK port on Mac.

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

5 years ago[GTK] Runtime critical warnings when closing a page containing windowed plugins
carlosgc@webkit.org [Wed, 11 Nov 2015 16:36:29 +0000 (16:36 +0000)]
[GTK] Runtime critical warnings when closing a page containing windowed plugins
https://bugs.webkit.org/show_bug.cgi?id=151132

Reviewed by Martin Robinson.

This is because our plugin widget, that is a GtkPlug (derived from
GtkWindow), can receive the delete-event signal before
NetscapePlugin::platformDestroy is called. The delete-event
signal, by default, destroys the window when the signal is not
handled. So, after the delete-event the GtkPlug is destroyed, but
our pointer hasn't been reset. We can handle the delete-event
using gtk_widget_hide_on_delete as callback, so that the plugin
widget is hidden instead of destroyed.

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

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

5 years agoREGRESSION(r191856): [GTK] SOCK_SEQPACKET no longer used after r191856
carlosgc@webkit.org [Wed, 11 Nov 2015 16:19:34 +0000 (16:19 +0000)]
REGRESSION(r191856): [GTK] SOCK_SEQPACKET no longer used after r191856
https://bugs.webkit.org/show_bug.cgi?id=151129

Reviewed by Martin Robinson.

r191856 unconditionally disabled SOCK_SEQPACKET for GTK port.

* Platform/IPC/unix/ConnectionUnix.cpp: Use always SOCK_SEQPACKET
when available.

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

5 years ago[Streams API] Remove bind usage
calvaris@igalia.com [Wed, 11 Nov 2015 13:25:29 +0000 (13:25 +0000)]
[Streams API] Remove bind usage
https://bugs.webkit.org/show_bug.cgi?id=151104

Reviewed by Youenn Fablet.

Instead of using bind, an inline error function was created.

Internal rework, no tests needed.

* Modules/streams/WritableStream.js:
(error):
(initializeWritableStream):

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

5 years agoB3 should be able to compile a program with ChillDiv
fpizlo@apple.com [Wed, 11 Nov 2015 07:21:23 +0000 (07:21 +0000)]
B3 should be able to compile a program with ChillDiv
https://bugs.webkit.org/show_bug.cgi?id=151114

Reviewed by Benjamin Poulain.

Source/JavaScriptCore:

This change is about a lot more than ChillDiv. I picked that as the next thing to lower
because I knew that it would force me to come up with a sensible idiom for doing
stepwise lowerings that require breaking basic blocks. The idea is that you want to
write a loop that iterates forward over the program, which turns some operations that
currently are just single Values into an entire little sub-CFGs. That requires splitting
the block that contained the original Value. That's tricky if you then want to keep
iterating: the index of the Value you were last looking at has now changed and your
InsertionSets are now invalid.

This introduces an idiom that handles this. It's BlockInsertionSet::splitBefore(). The
idea is that it uses the current block before the split as the continuation after the
split. When you call splitBefore(), you pass it your loop index and your InsertionSet
(if applicable). It makes sure that it changes those auxiliary things in such a way that
you can keep looping.

This uncovered some bugs, since this is the first time that we're compiling cross edges.

Because ChillDiv is really a division, I also had to write a bunch of code to support
the ordinary B3 Div. While doing that, I realized that there was asymmetry to that
constness of the Value constant folding methods, so I fixed that as well.

* JavaScriptCore.xcodeproj/project.pbxproj:
* assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::mul32):
(JSC::MacroAssemblerX86Common::x86ConvertToDoubleWord32):
(JSC::MacroAssemblerX86Common::x86Div32):
(JSC::MacroAssemblerX86Common::neg32):
* assembler/MacroAssemblerX86_64.h:
(JSC::MacroAssemblerX86_64::mul64):
(JSC::MacroAssemblerX86_64::x86ConvertToQuadWord64):
(JSC::MacroAssemblerX86_64::x86Div64):
(JSC::MacroAssemblerX86_64::neg64):
* assembler/X86Assembler.h:
(JSC::X86Assembler::idivl_r):
(JSC::X86Assembler::idivq_r):
(JSC::X86Assembler::cmpl_rr):
(JSC::X86Assembler::cdq):
(JSC::X86Assembler::cdqq):
(JSC::X86Assembler::fstps):
* b3/B3BasicBlock.cpp:
(JSC::B3::BasicBlock::append):
(JSC::B3::BasicBlock::replaceLast):
(JSC::B3::BasicBlock::appendIntConstant):
(JSC::B3::BasicBlock::replaceSuccessor):
(JSC::B3::BasicBlock::addPredecessor):
(JSC::B3::BasicBlock::replacePredecessor):
(JSC::B3::BasicBlock::updatePredecessors):
(JSC::B3::BasicBlock::dump):
* b3/B3BasicBlock.h:
(JSC::B3::BasicBlock::values):
(JSC::B3::BasicBlock::numPredecessors):
(JSC::B3::BasicBlock::predecessor):
(JSC::B3::BasicBlock::frequency):
* b3/B3BasicBlockInlines.h:
(JSC::B3::BasicBlock::appendNew):
(JSC::B3::BasicBlock::replaceLastWithNew):
(JSC::B3::BasicBlock::numSuccessors):
* b3/B3BasicBlockUtils.h:
(JSC::B3::replacePredecessor):
(JSC::B3::updatePredecessors):
(JSC::B3::resetReachability):
* b3/B3BlockInsertionSet.cpp: Added.
(JSC::B3::BlockInsertionSet::BlockInsertionSet):
(JSC::B3::BlockInsertionSet::~BlockInsertionSet):
(JSC::B3::BlockInsertionSet::insert):
(JSC::B3::BlockInsertionSet::insertBefore):
(JSC::B3::BlockInsertionSet::splitForward):
(JSC::B3::BlockInsertionSet::execute):
* b3/B3BlockInsertionSet.h: Added.
* b3/B3Common.h:
(JSC::B3::isRepresentableAs):
(JSC::B3::chillDiv):
* b3/B3Const32Value.cpp:
(JSC::B3::Const32Value::addConstant):
(JSC::B3::Const32Value::subConstant):
(JSC::B3::Const32Value::divConstant):
(JSC::B3::Const32Value::bitAndConstant):
(JSC::B3::Const32Value::bitOrConstant):
(JSC::B3::Const32Value::bitXorConstant):
(JSC::B3::Const32Value::shlConstant):
(JSC::B3::Const32Value::sShrConstant):
(JSC::B3::Const32Value::zShrConstant):
(JSC::B3::Const32Value::equalConstant):
(JSC::B3::Const32Value::notEqualConstant):
(JSC::B3::Const32Value::lessThanConstant):
(JSC::B3::Const32Value::greaterThanConstant):
(JSC::B3::Const32Value::lessEqualConstant):
(JSC::B3::Const32Value::greaterEqualConstant):
(JSC::B3::Const32Value::aboveConstant):
(JSC::B3::Const32Value::belowConstant):
(JSC::B3::Const32Value::aboveEqualConstant):
(JSC::B3::Const32Value::belowEqualConstant):
* b3/B3Const32Value.h:
* b3/B3Const64Value.cpp:
(JSC::B3::Const64Value::addConstant):
(JSC::B3::Const64Value::subConstant):
(JSC::B3::Const64Value::divConstant):
(JSC::B3::Const64Value::bitAndConstant):
(JSC::B3::Const64Value::bitOrConstant):
(JSC::B3::Const64Value::bitXorConstant):
(JSC::B3::Const64Value::shlConstant):
(JSC::B3::Const64Value::sShrConstant):
(JSC::B3::Const64Value::zShrConstant):
(JSC::B3::Const64Value::equalConstant):
(JSC::B3::Const64Value::notEqualConstant):
(JSC::B3::Const64Value::lessThanConstant):
(JSC::B3::Const64Value::greaterThanConstant):
(JSC::B3::Const64Value::lessEqualConstant):
(JSC::B3::Const64Value::greaterEqualConstant):
(JSC::B3::Const64Value::aboveConstant):
(JSC::B3::Const64Value::belowConstant):
(JSC::B3::Const64Value::aboveEqualConstant):
(JSC::B3::Const64Value::belowEqualConstant):
* b3/B3Const64Value.h:
* b3/B3ConstDoubleValue.cpp:
(JSC::B3::ConstDoubleValue::addConstant):
(JSC::B3::ConstDoubleValue::subConstant):
(JSC::B3::ConstDoubleValue::divConstant):
(JSC::B3::ConstDoubleValue::equalConstant):
(JSC::B3::ConstDoubleValue::notEqualConstant):
(JSC::B3::ConstDoubleValue::lessThanConstant):
(JSC::B3::ConstDoubleValue::greaterThanConstant):
(JSC::B3::ConstDoubleValue::lessEqualConstant):
(JSC::B3::ConstDoubleValue::greaterEqualConstant):
* b3/B3ConstDoubleValue.h:
* b3/B3ControlValue.cpp:
(JSC::B3::ControlValue::~ControlValue):
(JSC::B3::ControlValue::replaceSuccessor):
(JSC::B3::ControlValue::convertToJump):
* b3/B3ControlValue.h:
* b3/B3Generate.cpp:
(JSC::B3::generateToAir):
* b3/B3GenericFrequentedBlock.h:
(JSC::B3::GenericFrequentedBlock::block):
(JSC::B3::GenericFrequentedBlock::frequency):
(JSC::B3::GenericFrequentedBlock::dump):
* b3/B3InsertionSet.cpp:
(JSC::B3::InsertionSet::insertIntConstant):
(JSC::B3::InsertionSet::execute):
* b3/B3InsertionSet.h:
* b3/B3LowerMacros.cpp: Added.
(JSC::B3::lowerMacros):
* b3/B3LowerMacros.h: Added.
* b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::lower):
* b3/B3Opcode.h:
* b3/B3Procedure.cpp:
(JSC::B3::Procedure::addBlock):
(JSC::B3::Procedure::addIntConstant):
(JSC::B3::Procedure::addBoolConstant):
(JSC::B3::Procedure::resetValueOwners):
* b3/B3Procedure.h:
(JSC::B3::Procedure::takeByproducts):
* b3/B3ReduceStrength.cpp:
* b3/B3Validate.cpp:
* b3/B3Value.cpp:
(JSC::B3::Value::addConstant):
(JSC::B3::Value::subConstant):
(JSC::B3::Value::divConstant):
(JSC::B3::Value::bitAndConstant):
(JSC::B3::Value::bitOrConstant):
(JSC::B3::Value::bitXorConstant):
(JSC::B3::Value::shlConstant):
(JSC::B3::Value::sShrConstant):
(JSC::B3::Value::zShrConstant):
(JSC::B3::Value::equalConstant):
(JSC::B3::Value::notEqualConstant):
(JSC::B3::Value::lessThanConstant):
(JSC::B3::Value::greaterThanConstant):
(JSC::B3::Value::lessEqualConstant):
(JSC::B3::Value::greaterEqualConstant):
(JSC::B3::Value::aboveConstant):
(JSC::B3::Value::belowConstant):
(JSC::B3::Value::aboveEqualConstant):
(JSC::B3::Value::belowEqualConstant):
* b3/B3Value.h:
* b3/air/AirGenerate.cpp:
(JSC::B3::Air::generate):
* b3/air/AirInstInlines.h:
(JSC::B3::Air::isUrshift64Valid):
(JSC::B3::Air::isX86DivHelperValid):
(JSC::B3::Air::isX86ConvertToDoubleWord32Valid):
(JSC::B3::Air::isX86ConvertToDoubleWord64Valid):
(JSC::B3::Air::isX86Div32Valid):
(JSC::B3::Air::isX86Div64Valid):
* b3/air/AirOpcode.opcodes:
* b3/air/AirSimplifyCFG.cpp:
(JSC::B3::Air::simplifyCFG):
* b3/testb3.cpp:
(JSC::B3::testCallFunctionWithHellaDoubleArguments):
(JSC::B3::testChillDiv):
(JSC::B3::testChillDivTwice):
(JSC::B3::testChillDiv64):
(JSC::B3::run):
* dfg/DFGBlockInsertionSet.h:
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileArithDiv):
(JSC::DFG::SpeculativeJIT::compileArithMod):
* jit/JITArithmetic.cpp:
(JSC::JIT::emit_op_mod):
* jit/JITArithmetic32_64.cpp:
(JSC::JIT::emit_op_mod):
* wasm/WASMFunctionCompiler.h:
(JSC::WASMFunctionCompiler::buildBinaryI32):

Source/WTF:

Needed to beef up some compiler algorithms. All of the hardening was about making them
work with objects that have move semantics but not copy semantics. This arises in B3
basic block insertion sets.

* wtf/BubbleSort.h:
(WTF::bubbleSort):
* wtf/Insertion.h:
(WTF::Insertion::Insertion):
(WTF::Insertion::index):
(WTF::Insertion::element):
(WTF::Insertion::operator<):
(WTF::executeInsertions):

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

5 years agoModern IDB: Make indexes actually index.
beidson@apple.com [Wed, 11 Nov 2015 06:07:03 +0000 (06:07 +0000)]
Modern IDB: Make indexes actually index.
https://bugs.webkit.org/show_bug.cgi?id=150939

Reviewed by Alex Christensen.

Source/WebCore:

Tests: storage/indexeddb/modern/index-1.html
       storage/indexeddb/modern/index-2.html
       storage/indexeddb/modern/index-3.html

* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:

* Modules/indexeddb/IDBKeyData.h:
(WebCore::IDBKeyData::hash): Deleted.

* Modules/indexeddb/IDBKeyRangeData.cpp:
(WebCore::IDBKeyRangeData::isExactlyOneKey):

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

* Modules/indexeddb/server/IndexValueEntry.cpp: Copied from Source/WebCore/Modules/indexeddb/server/MemoryIndex.cpp.
(WebCore::IDBServer::IndexValueEntry::IndexValueEntry):
(WebCore::IDBServer::IndexValueEntry::~IndexValueEntry):
(WebCore::IDBServer::IndexValueEntry::addKey):
(WebCore::IDBServer::IndexValueEntry::removeKey):
(WebCore::IDBServer::IndexValueEntry::getLowest):
(WebCore::IDBServer::IndexValueEntry::getCount):
* Modules/indexeddb/server/IndexValueEntry.h: Copied from Source/WebCore/Modules/indexeddb/server/MemoryIndex.h.

* Modules/indexeddb/server/IndexValueStore.cpp: Added.
(WebCore::IDBServer::IndexValueStore::IndexValueStore):
(WebCore::IDBServer::IndexValueStore::lowestValueForKey):
(WebCore::IDBServer::IndexValueStore::countForKey):
(WebCore::IDBServer::IndexValueStore::contains):
(WebCore::IDBServer::IndexValueStore::addRecord):
(WebCore::IDBServer::IndexValueStore::removeRecord):
(WebCore::IDBServer::IndexValueStore::removeEntriesWithValueKey):
(WebCore::IDBServer::IndexValueStore::lowestKeyWithRecordInRange):
* Modules/indexeddb/server/IndexValueStore.h: Copied from Source/WebCore/Modules/indexeddb/server/MemoryIndex.h.

* Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:
(WebCore::IDBServer::MemoryBackingStoreTransaction::objectStoreCleared):
(WebCore::IDBServer::MemoryBackingStoreTransaction::indexCleared):
(WebCore::IDBServer::MemoryBackingStoreTransaction::abort):
* Modules/indexeddb/server/MemoryBackingStoreTransaction.h:

* Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
(WebCore::IDBServer::MemoryIDBBackingStore::addRecord):

* Modules/indexeddb/server/MemoryIndex.cpp:
(WebCore::IDBServer::MemoryIndex::create):
(WebCore::IDBServer::MemoryIndex::MemoryIndex):
(WebCore::IDBServer::MemoryIndex::objectStoreCleared):
(WebCore::IDBServer::MemoryIndex::replaceIndexValueStore):
(WebCore::IDBServer::MemoryIndex::getResultForKeyRange):
(WebCore::IDBServer::MemoryIndex::countForKeyRange):
(WebCore::IDBServer::MemoryIndex::putIndexKey):
(WebCore::IDBServer::MemoryIndex::removeRecord):
(WebCore::IDBServer::MemoryIndex::removeEntriesWithValueKey):
(WebCore::IDBServer::MemoryIndex::valueForKeyRange): Deleted.
* Modules/indexeddb/server/MemoryIndex.h:

* Modules/indexeddb/server/MemoryObjectStore.cpp:
(WebCore::IDBServer::MemoryObjectStore::createIndex):
(WebCore::IDBServer::MemoryObjectStore::clear):
(WebCore::IDBServer::MemoryObjectStore::deleteRecord):
(WebCore::IDBServer::MemoryObjectStore::addRecord):
(WebCore::IDBServer::indexVM):
(WebCore::IDBServer::indexGlobalExec):
(WebCore::IDBServer::MemoryObjectStore::updateIndexesForDeleteRecord):
(WebCore::IDBServer::MemoryObjectStore::updateIndexesForPutRecord):
(WebCore::IDBServer::MemoryObjectStore::indexValueForKeyRange):
* Modules/indexeddb/server/MemoryObjectStore.h:
(WebCore::IDBServer::MemoryObjectStore::writeTransaction):

* Modules/indexeddb/shared/IndexKey.cpp: Copied from Source/WebCore/Modules/indexeddb/IDBKeyRangeData.cpp.
(WebCore::IndexKey::IndexKey):
(WebCore::IndexKey::isolatedCopy):
(WebCore::IndexKey::asOneKey):
(WebCore::IndexKey::multiEntry):
* Modules/indexeddb/shared/IndexKey.h: Added.
(WebCore::IndexKey::isNull):

* bindings/js/IDBBindingUtilities.cpp:
(WebCore::idbValueDataToJSValue):
(WebCore::deserializeIDBValueBuffer):
(WebCore::idbKeyDataToScriptValue):
(WebCore::createKeyPathArray):
(WebCore::generateIndexKeyForValue):
* bindings/js/IDBBindingUtilities.h:

LayoutTests:

* storage/indexeddb/modern/index-1-expected.txt: Added.
* storage/indexeddb/modern/index-1.html: Added.
* storage/indexeddb/modern/index-2-expected.txt: Added.
* storage/indexeddb/modern/index-2.html: Added.
* storage/indexeddb/modern/index-3-expected.txt: Added.
* storage/indexeddb/modern/index-3.html: Added.
* storage/indexeddb/modern/index-get-count-basic-expected.txt:
* storage/indexeddb/modern/index-get-count-basic.html:

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

5 years agoTeach Makefile to build LayoutTestRelay when building for iOS Simulator
dbates@webkit.org [Wed, 11 Nov 2015 05:19:56 +0000 (05:19 +0000)]
Teach Makefile to build LayoutTestRelay when building for iOS Simulator
https://bugs.webkit.org/show_bug.cgi?id=150849

Reviewed by Alexey Proskuryakov.

Unless variable DO_NOT_BUILD_LAYOUT_TEST_RELAY is non-empty, build LayoutTestRelay when
building WebKit tools.

* Makefile:

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

5 years agoAir should allocate registers
benjamin@webkit.org [Wed, 11 Nov 2015 05:10:43 +0000 (05:10 +0000)]
Air should allocate registers
https://bugs.webkit.org/show_bug.cgi?id=150457

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

This is a direct implementation of the Iterated Register Coalescing allocator.

* JavaScriptCore.xcodeproj/project.pbxproj:
* b3/air/AirGenerate.cpp:
(JSC::B3::Air::generate):
* b3/air/AirInstInlines.h:
* b3/air/AirIteratedRegisterCoalescing.cpp: Added.
(JSC::B3::Air::MoveInstHelper<Arg::GP>::mayBeCoalescable):
(JSC::B3::Air::MoveInstHelper<Arg::FP>::mayBeCoalescable):
(JSC::B3::Air::AbsoluteTmpHelper<Arg::GP>::absoluteIndex):
(JSC::B3::Air::AbsoluteTmpHelper<Arg::GP>::tmpFromAbsoluteIndex):
(JSC::B3::Air::AbsoluteTmpHelper<Arg::FP>::absoluteIndex):
(JSC::B3::Air::AbsoluteTmpHelper<Arg::FP>::tmpFromAbsoluteIndex):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::IteratedRegisterCoalescingAllocator):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::build):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::allocate):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::getAlias):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::spilledTmp):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::allocatedReg):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::tmpArraySize):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::initializeDegrees):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::addEdges):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::addEdge):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::makeWorkList):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::simplify):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::forEachAdjacent):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::hasBeenSimplified):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::decrementDegree):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::forEachNodeMoves):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::isMoveRelated):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::enableMovesOnValue):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::enableMovesOnValueAndAdjacents):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::coalesce):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::canBeSafelyCoalesced):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::precoloredCoalescingHeuristic):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::conservativeHeuristic):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::addWorkList):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::combine):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::freeze):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::freezeMoves):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::selectSpill):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::assignColors):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::dumpInterferenceGraphInDot):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::dumpWorkLists):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::InterferenceEdge::InterferenceEdge):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::InterferenceEdge::first):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::InterferenceEdge::second):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::InterferenceEdge::operator==):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::InterferenceEdge::isHashTableDeletedValue):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::InterferenceEdge::hash):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::InterferenceEdgeHash::hash):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::InterferenceEdgeHash::equal):
(JSC::B3::Air::isUselessMoveInst):
(JSC::B3::Air::assignRegisterToTmpInProgram):
(JSC::B3::Air::addSpillAndFillToProgram):
(JSC::B3::Air::iteratedRegisterCoalescingOnType):
(JSC::B3::Air::iteratedRegisterCoalescing):
* b3/air/AirIteratedRegisterCoalescing.h: Added.
* b3/air/AirTmp.h:
(JSC::B3::Air::Tmp::internalValue):
(JSC::B3::Air::Tmp::tmpForInternalValue):
* b3/testb3.cpp:
(JSC::B3::testSpillGP):
(JSC::B3::run):

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

5 years agoUnreviewed, add a FIXME referencing https://bugs.webkit.org/show_bug.cgi?id=151128.
fpizlo@apple.com [Wed, 11 Nov 2015 04:29:59 +0000 (04:29 +0000)]
Unreviewed, add a FIXME referencing https://bugs.webkit.org/show_bug.cgi?id=151128.

* b3/air/AirInstInlines.h:

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

5 years agoMove locale information into FontDescription
mmaxfield@apple.com [Wed, 11 Nov 2015 04:21:36 +0000 (04:21 +0000)]
Move locale information into FontDescription
https://bugs.webkit.org/show_bug.cgi?id=147457

Reviewed by Andreas Kling.

Currently, the "lang" attribute on a node sets locale information in RenderStyle.
Font selection is sensitive to this locale information, and occurs deep within
platform/ code, far away from RenderStyle. Because every RenderStyle owns a
FontDescription, and font selection can consult with FontDescriptions, it makes
sense to move the variable from RenderStyle to FontDescription, and provide
convenience methods on RenderStyle which inspect its FontDescription for locale
information.

This patch is in preparation for correctly obeying locale information when
performing font fallback.

No new tests because there is no behavior change.

* css/CSSPropertyNames.in:
* css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyValueWebkitLocale):
* platform/graphics/FontCache.h:
* platform/graphics/FontDescription.cpp:
(WebCore::FontDescription::setLocale):
* platform/graphics/FontDescription.h:
(WebCore::FontDescription::locale):
(WebCore::FontDescription::operator==):
(WebCore::FontCascadeDescription::initialLocale):
(WebCore::FontDescription::setScript): Deleted.
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::changeRequiresLayout): Deleted.
* rendering/style/RenderStyle.h:
* rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData): Deleted.
(WebCore::StyleRareInheritedData::operator==): Deleted.
* rendering/style/StyleRareInheritedData.h:
* style/StyleResolveForDocument.cpp:
(WebCore::Style::resolveForDocument):

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

5 years agoSubstitute 'OVERRIDE' for 'OVERWRITE' in the ChangeLog entry for r192106.
dbates@webkit.org [Wed, 11 Nov 2015 04:01:47 +0000 (04:01 +0000)]
Substitute 'OVERRIDE' for 'OVERWRITE' in the ChangeLog entry for r192106.

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

5 years ago[EFL] Support an applicationVersion argument to UserAgentEfl::standardUserAgent()
gyuyoung.kim@webkit.org [Wed, 11 Nov 2015 03:41:13 +0000 (03:41 +0000)]
[EFL] Support an applicationVersion argument to UserAgentEfl::standardUserAgent()
https://bugs.webkit.org/show_bug.cgi?id=151060

Reviewed by Darin Adler.

*applicationVersion* was missed to support by r192148. This patch adds it as well as
missed Darin comments are fixed.

* platform/efl/UserAgentEfl.cpp:
(WebCore::platformVersionForUAString):
(WebCore::versionForUAString):
(WebCore::standardUserAgent):

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

5 years agoImplement authentication challenge handling when using NETWORK_SESSION
achristensen@apple.com [Wed, 11 Nov 2015 02:29:13 +0000 (02:29 +0000)]
Implement authentication challenge handling when using NETWORK_SESSION
https://bugs.webkit.org/show_bug.cgi?id=150968

Reviewed by Antti Koivisto.

* NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::didReceiveChallenge):
Copy functionality from NetworkLoad::canAuthenticateAgainstProtectionSpaceAsync (which is used when we don't use NETWORK_SESSION)
because there is no canAuthenticateAgainstProtectionSpace delegate callback when using NSURLSession, according to
https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/URLLoadingSystem/Articles/AuthenticationChallenges.html
Instead, all authentication challenge callbacks go to URLSession:task:didReceiveChallenge:completionHandler:
because we do not implement URLSession:didReceiveChallenge:completionHandler:
* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[NetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
(-[NetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
(-[NetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
Make a block copy of the completion handlers so we can copy the std::functions that wrap them into HashMaps and call them later,
in this case we call the completion handler after the UIProcess gives us credentials for an authentication challenge.
* Shared/Authentication/AuthenticationManager.cpp:
(WebKit::AuthenticationManager::AuthenticationManager):
(WebKit::AuthenticationManager::addChallengeToChallengeMap):
(WebKit::AuthenticationManager::shouldCoalesceChallenge):
(WebKit::AuthenticationManager::coalesceChallengesMatching):
(WebKit::AuthenticationManager::didReceiveAuthenticationChallenge):
Fix an existing bug that caused multiple calls to addChallengeToChallengeMap for one challenge.  This caused too many calls to
the AuthenticationClient methods, which did not cause a problem because they were not one-time-use block copies of completion handlers before.
(WebKit::AuthenticationManager::useCredentialForSingleChallenge):
(WebKit::AuthenticationManager::continueWithoutCredentialForChallenge):
(WebKit::AuthenticationManager::continueWithoutCredentialForSingleChallenge):
(WebKit::AuthenticationManager::cancelChallenge):
(WebKit::AuthenticationManager::cancelSingleChallenge):
(WebKit::AuthenticationManager::performDefaultHandling):
(WebKit::AuthenticationManager::performDefaultHandlingForSingleChallenge):
(WebKit::AuthenticationManager::rejectProtectionSpaceAndContinue):
(WebKit::AuthenticationManager::rejectProtectionSpaceAndContinueForSingleChallenge):
Call completion handlers which we stored in a HashMap before doing IPC if we are using NETWORK_SESSION,
which has completion handlers instead of continueSomething client calls.
* Shared/Authentication/AuthenticationManager.h:
(WebKit::AuthenticationManager::outstandingAuthenticationChallengeCount):
* Shared/Downloads/Download.cpp:
(WebKit::Download::didReceiveAuthenticationChallenge):
(WebKit::Download::didReceiveResponse):
* Shared/Downloads/DownloadAuthenticationClient.cpp:
(WebKit::DownloadAuthenticationClient::receivedChallengeRejection):
* Shared/Downloads/DownloadAuthenticationClient.h:
Add ifdefs for code related to downloading I will implement later.

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

5 years agoUpdating test expected results after r192269
mmaxfield@apple.com [Wed, 11 Nov 2015 01:39:19 +0000 (01:39 +0000)]
Updating test expected results after r192269

Unreviewed.

* platform/mac-mavericks/fast/text/international/text-combine-image-test-expected.txt:

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

5 years agoFixed crash loading Mozilla layout test editor/libeditor/crashtests/431086-1.xhtml.
bfulgham@apple.com [Wed, 11 Nov 2015 01:32:10 +0000 (01:32 +0000)]
Fixed crash loading Mozilla layout test editor/libeditor/crashtests/431086-1.xhtml.
https://bugs.webkit.org/show_bug.cgi?id=150252
<rdar://problem/23149470>

Patch by Pranjal Jumde <pjumde@apple.com> on 2015-11-10
Reviewed by Brent Fulgham.

* Source/WebCore/editing/ios/EditorIOS.mm
* Source/WebCore/editing/mac/EditorMac.mm
  In Editor::fontForSelection moved the node removal code, so that the
  node is only removed if style is not NULL.
* Source/WebCore/editing/cocoa/EditorCocoa.mm
  In Editor::styleForSelectionStart checking if the parentNode can
  accept the styleElement node.
* LayoutTests/editing/execCommand/150252.xhtml
* LayoutTests/editing/execCommand/150252_minimal.xhtml
* LayoutTests/editing/execCommand/150252-expected.txt
* LayoutTests/editing/execCommand/150252_minimal-expected.txt

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

5 years agoUse different pixel formats for displays that support them
simon.fraser@apple.com [Wed, 11 Nov 2015 01:31:55 +0000 (01:31 +0000)]
Use different pixel formats for displays that support them
https://bugs.webkit.org/show_bug.cgi?id=151122
rdar://problem/22846841

Reviewed by Tim Horton.
Source/WebCore:

Add new IOSurface format enum values, and set up the appropriate IOSurfaceCreate()
property dictionaries for them.

* platform/graphics/cocoa/IOSurface.h:
* platform/graphics/cocoa/IOSurface.mm:
(IOSurface::IOSurface):
* platform/spi/cocoa/IOSurfaceSPI.h:

Source/WebKit2:

New the new IOSurface formats when appropriate for the properties of the
display.

* Shared/mac/RemoteLayerBackingStore.mm:
(WebKit::bufferFormat):
(WebKit::RemoteLayerBackingStore::swapToValidFrontBuffer):

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