Timeline



Nov 6, 2015:

9:23 PM Changeset in webkit [192128] by dbates@webkit.org
  • 2 edits in trunk

Fix up ChangeLog entries for r192126 (https://bugs.webkit.org/show_bug.cgi?id=144938) to reflect
that the change was reviewed by Alexey Proskuryakov.

9:14 PM Changeset in webkit [192127] by dbates@webkit.org
  • 2 edits in trunk/Tools

Do not build LayoutTestRelay when --root is specified to run-webkit-tests
https://bugs.webkit.org/show_bug.cgi?id=150989

Reviewed by Alexey Proskuryakov.

The script run-webkit-tests should only check if LayoutTestRelay exists when invoked with
--root and exit with an error if it does not exist. That is, we should not build LayoutTestRelay
when it does not exist and an explicit directory of built executables was specified via --root.
This will make the criterion for building LayoutTestRelay match the criterion for building
DumpRenderTree/WebKitTestRunner.

  • Scripts/webkitpy/port/ios.py:

(IOSSimulatorPort._check_port_build): Moved logic from IOSSimulatorPort.{_check_build_relay, check_build} to here.
(IOSSimulatorPort._check_build_relay): Deleted.
(IOSSimulatorPort.check_build): Deleted.

8:44 PM Changeset in webkit [192126] by commit-queue@webkit.org
  • 12 edits
    2 adds in trunk

Source/WebCore:
Allow an optional hash algorithm to be passed to generateKey for RSA keys.
https://bugs.webkit.org/show_bug.cgi?id=144938

Unreviewed initial submission.

Test: crypto/subtle/rsa-export-generated-keys.html

This changeset allows an optional hash parameter to be passed to the generate
key function for RSA type keys. Previously, there was no way to export generated
keys, as no hash function could be associated with the key (required for JWK).

The current WebCrypto API draft requires the hash function to be specified in the
algorithm object passed to generateKey (http://www.w3.org/TR/WebCryptoAPI 20.4),
however, they were made optional in this implementation to maintain compatiblity.

Patch by Scott Valentine <svalentine@ikayzo.com> on 2015-11-06

  • bindings/js/JSCryptoAlgorithmDictionary.cpp:

(WebCore::getHashAlgorithm):
(WebCore::createHmacParams):
(WebCore::createHmacKeyParams):
(WebCore::createRsaKeyGenParams):
(WebCore::createRsaOaepParams):
(WebCore::createRsaSsaParams):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey): Deleted.

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneDeserializer::readRSAKey):

  • crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:

(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::generateKey):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::importKey):

  • crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:

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

  • crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:

(WebCore::CryptoAlgorithmRSA_OAEP::generateKey):
(WebCore::CryptoAlgorithmRSA_OAEP::importKey):

  • crypto/gnutls/CryptoKeyRSAGnuTLS.cpp:

(WebCore::CryptoKeyRSA::CryptoKeyRSA):
(WebCore::CryptoKeyRSA::create):
(WebCore::CryptoKeyRSA::generatePair):
(WebCore::CryptoKeyRSA::restrictToHash): Deleted.

  • crypto/keys/CryptoKeyRSA.h:
  • crypto/mac/CryptoKeyRSAMac.cpp:

(WebCore::CryptoKeyRSA::CryptoKeyRSA):
(WebCore::CryptoKeyRSA::create):
(WebCore::CryptoKeyRSA::generatePair):
(WebCore::CryptoKeyRSA::restrictToHash): Deleted.

  • crypto/parameters/CryptoAlgorithmRsaKeyGenParams.h:

LayoutTests:
Adding new tests for exporting generated RSA keys.
https://bugs.webkit.org/show_bug.cgi?id=144938

Unreviewed initial submission.

Patch by Scott Valentine <svalentine@ikayzo.com> on 2015-11-06

  • crypto/subtle/rsa-export-generated-keys-expected.txt: Added.
  • crypto/subtle/rsa-export-generated-keys.html: Added.
7:18 PM Changeset in webkit [192125] by sbarati@apple.com
  • 14 edits
    1 add in trunk/Source/JavaScriptCore

Control Flow Profiler should keep execution counts of basic blocks
https://bugs.webkit.org/show_bug.cgi?id=146099

Reviewed by Mark Lam.

This patch changes the control flow profiler to now
keep track of execution counts for each basic block
instead of a boolean indicating if the basic block has
executed at all. This has the consequence of us having to
always compile all op_profile_control_flows in the baseline and DFG.

This patch adds a new "executionCount" field to the inspector protocol
corresponding to the execution of a basic block. This patch, for now,
still maintains the previous field of "hasExecuted" even though this is
redundant with "executionCount".

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • inspector/agents/InspectorRuntimeAgent.cpp:

(Inspector::InspectorRuntimeAgent::getBasicBlocks):

  • inspector/protocol/Runtime.json:
  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_profile_control_flow):
(JSC::JIT::emit_op_create_direct_arguments):

  • jsc.cpp:

(GlobalObject::finishCreation):
(functionHasBasicBlockExecuted):
(functionBasicBlockExecutionCount):
(functionEnableExceptionFuzz):
(functionDrainMicrotasks):
(functionIs32BitPlatform):
(functionLoadWebAssembly):

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/BasicBlockLocation.cpp:

(JSC::BasicBlockLocation::BasicBlockLocation):
(JSC::BasicBlockLocation::dumpData):
(JSC::BasicBlockLocation::emitExecuteCode):

  • runtime/BasicBlockLocation.h:

(JSC::BasicBlockLocation::endOffset):
(JSC::BasicBlockLocation::setStartOffset):
(JSC::BasicBlockLocation::setEndOffset):
(JSC::BasicBlockLocation::hasExecuted):
(JSC::BasicBlockLocation::executionCount):

  • runtime/ControlFlowProfiler.cpp:

(JSC::ControlFlowProfiler::getBasicBlocksForSourceID):
(JSC::findBasicBlockAtTextOffset):
(JSC::ControlFlowProfiler::hasBasicBlockAtTextOffsetBeenExecuted):
(JSC::ControlFlowProfiler::basicBlockExecutionCountAtTextOffset):

  • runtime/ControlFlowProfiler.h:

(JSC::ControlFlowProfiler::dummyBasicBlock):

  • tests/controlFlowProfiler/execution-count.js: Added.

(noop):
(foo):
(a):
(b):
(baz):
(jaz):
(testWhile):
(is32BitPlatform.testMax):
(is32BitPlatform):

6:32 PM Changeset in webkit [192124] by Wenson Hsieh
  • 3 edits
    2 adds in trunk

Scrolling iframe inside scrollable div does not work with trackpad
https://bugs.webkit.org/show_bug.cgi?id=150168
<rdar://problem/23143931>

Reviewed by Brent Fulgham.

Source/WebCore:

When scrolling in an iframe nested under an overflow scrolling region, EventHandler::platformPrepareForWheelEvents
fails to compute the correct scrollableArea, using the overflow div's scrollable area instead of the iframe's view.
This causes the latching algorithm to bail out of handling the wheel event. To avoid this, we special-case the
decision to compute the scrollableArea from the scrollableContainer if we are attempting to scroll in an iframe.

Test: fast/scrolling/latching/scroll-iframe-in-overflow.html

  • page/mac/EventHandlerMac.mm:

(WebCore::EventHandler::platformPrepareForWheelEvents):

LayoutTests:

Tests that an iframe nested under an overflow scrolling div can be scrolled.

  • fast/scrolling/latching/scroll-iframe-in-overflow-expected.txt: Added.
  • fast/scrolling/latching/scroll-iframe-in-overflow.html: Added.
5:12 PM Changeset in webkit [192123] by beidson@apple.com
  • 18 edits in trunk/Source

Modern IDB: Make the result data for a "get" request be an IDBGetResult.
https://bugs.webkit.org/show_bug.cgi?id=150985

Reviewed by Alex Christensen.

Source/WebCore:

No new tests (Refactor, no change in behavior).

  • Modules/indexeddb/IDBGetResult.h:

(WebCore::IDBGetResult::IDBGetResult):
(WebCore::IDBGetResult::dataFromBuffer):
(WebCore::IDBGetResult::isolatedCopy):

  • Modules/indexeddb/client/IDBTransactionImpl.cpp:

(WebCore::IDBClient::IDBTransaction::didGetRecordOnServer):

  • Modules/indexeddb/legacy/IDBTransactionBackendOperations.cpp:

(WebCore::GetOperation::perform):

  • Modules/indexeddb/server/IDBBackingStore.h:
  • Modules/indexeddb/server/MemoryIDBBackingStore.cpp:

(WebCore::IDBServer::MemoryIDBBackingStore::getIndexRecord):

  • Modules/indexeddb/server/MemoryIDBBackingStore.h:
  • Modules/indexeddb/server/MemoryIndex.cpp:

(WebCore::IDBServer::MemoryIndex::valueForKeyRange):

  • Modules/indexeddb/server/MemoryIndex.h:
  • Modules/indexeddb/server/MemoryObjectStore.cpp:

(WebCore::IDBServer::MemoryObjectStore::indexValueForKeyRange):

  • Modules/indexeddb/server/MemoryObjectStore.h:
  • Modules/indexeddb/server/UniqueIDBDatabase.cpp:

(WebCore::IDBServer::UniqueIDBDatabase::storeCallback):
(WebCore::IDBServer::UniqueIDBDatabase::getRecord):
(WebCore::IDBServer::UniqueIDBDatabase::performGetIndexRecord):
(WebCore::IDBServer::UniqueIDBDatabase::didPerformGetRecord):
(WebCore::IDBServer::UniqueIDBDatabase::performGetResultCallback):
(WebCore::IDBServer::UniqueIDBDatabase::performValueDataCallback): Deleted.

  • Modules/indexeddb/server/UniqueIDBDatabase.h:
  • Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:

(WebCore::IDBServer::UniqueIDBDatabaseTransaction::getRecord):

  • Modules/indexeddb/shared/IDBResultData.cpp:

(WebCore::IDBResultData::IDBResultData):
(WebCore::IDBResultData::getRecordSuccess):
(WebCore::IDBResultData::getResult):

  • Modules/indexeddb/shared/IDBResultData.h:

(WebCore::IDBResultData::resultData): Deleted.

Source/WebKit2:

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<IDBGetResult>::encode):
(IPC::ArgumentCoder<IDBGetResult>::decode):

3:58 PM Changeset in webkit [192122] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Remove unused HTMLFormControlsCollection::namedItem()
https://bugs.webkit.org/show_bug.cgi?id=150975

Reviewed by Andreas Kling.

Remove unused HTMLFormControlsCollection::namedItem().
JSHTMLFormControlsCollection::namedItem() calls namedItems() on the
implementation object, not namedItem() because it returns a
RadioNodeList when there are several matches.

  • html/HTMLFormControlsCollection.cpp:

(WebCore::firstNamedItem): Deleted.
(WebCore::HTMLFormControlsCollection::namedItem): Deleted.

  • html/HTMLFormControlsCollection.h:
3:34 PM Changeset in webkit [192121] by fpizlo@apple.com
  • 14 edits
    2 adds in trunk/Source/JavaScriptCore

B3 and Air should simplify CFGs
https://bugs.webkit.org/show_bug.cgi?id=150960

Reviewed by Geoffrey Garen.

This adds CFG simplification to both B3 and Air.

In B3, the simplification is done inside the B3::reduceStrength() fixpoint because we expect
that it will help to reveal more optimization opportunities. This is going to be particularly
true when we add Phi elimination.

In Air, the simplification is its own phase. We expect it to produce most of its benefits once
we have coalescing. Then, CFG simplification in Air will unbreak critial edges.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • assembler/AbortReason.h:
  • assembler/MacroAssembler.h:

(JSC::MacroAssembler::oops): Reveal this as a method so that we can have an Oops instruction.

  • b3/B3BasicBlock.h:

(JSC::B3::BasicBlock::predecessor):
(JSC::B3::BasicBlock::predecessors):
(JSC::B3::BasicBlock::containsPredecessor):

  • b3/B3BasicBlockUtils.h: Bunch of fixes for blocks being killed.

(JSC::B3::replacePredecessor):
(JSC::B3::resetReachability):

  • b3/B3ReduceStrength.cpp: Implement B3 CFG simplification.
  • b3/B3ReduceStrength.h:
  • b3/air/AirBasicBlock.h:

(JSC::B3::Air::BasicBlock::resize):
(JSC::B3::Air::BasicBlock::insts):
(JSC::B3::Air::BasicBlock::appendInst):
(JSC::B3::Air::BasicBlock::containsPredecessor):

  • b3/air/AirGenerate.cpp:

(JSC::B3::Air::generate):

  • b3/air/AirInst.cpp:

(JSC::B3::Air::Inst::hasArgEffects):
(JSC::B3::Air::Inst::dump):

  • b3/air/AirInst.h:
  • b3/air/AirLiveness.h:

(JSC::B3::Air::Liveness::Liveness): Fix for when blocks were killed.

  • b3/air/AirOpcode.opcodes:
  • b3/air/AirSimplifyCFG.cpp: Added.

(JSC::B3::Air::simplifyCFG):

  • b3/air/AirSimplifyCFG.h: Added.
3:20 PM Changeset in webkit [192120] by mmaxfield@apple.com
  • 3 edits
    2 adds in trunk

REGRESSION(r182286): Tatechuyoko following ruby is drawn too far to the right
https://bugs.webkit.org/show_bug.cgi?id=150923

Reviewed by Zalan Bujtas.

Source/WebCore:

Ever since r182286, expansion opportunities in justified ruby were moved to their neighboring
elements (thereby forbidding trailing nor leading expansions inside ruby). However, when the
neighboring element is tatechuyoko, we will erroneously honor the expansion opportunity inside
the tatechuyoko, thereby moving it horizontally.

Tatechuyoko should never have expansion opportunities inside it.

Test: fast/text/ruby-justify-tatechuyoko.html

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::expansionBehaviorForInlineTextBox):

LayoutTests:

  • fast/text/ruby-justify-tatechuyoko-expected.html: Added.
  • fast/text/ruby-justify-tatechuyoko.html: Added.
12:58 PM Changeset in webkit [192119] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking fast/canvas/webgl/oes-texture-half-float-linear.html as flaky on mac
https://bugs.webkit.org/show_bug.cgi?id=150978

Unreviewed test gardening.

  • platform/mac/TestExpectations:
12:12 PM Changeset in webkit [192118] by bshafiei@apple.com
  • 5 edits in branches/safari-601.1.46-branch/Source

Versioning.

12:04 PM Changeset in webkit [192117] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking streams/reference-implementation/count-queuing-strategy.html as flaky on Win debug
https://bugs.webkit.org/show_bug.cgi?id=150976

Unreviewed test gardening.

  • platform/win/TestExpectations:
12:01 PM Changeset in webkit [192116] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.46.80

New tag.

11:58 AM Changeset in webkit [192115] by bshafiei@apple.com
  • 4 edits in branches/safari-601.1.46-branch/Source/WebKit2

Merged r189753. rdar://problem/23420358

11:57 AM Changeset in webkit [192114] by bshafiei@apple.com
  • 5 edits in branches/safari-601.1.46-branch/Source

Versioning.

11:54 AM WebKitGTK/2.10.x edited by Michael Catanzaro
(diff)
11:48 AM Changeset in webkit [192113] by timothy_horton@apple.com
  • 18 edits
    3 adds in trunk

Add preliminary (SPI) support for NSTextFinder on WKWebView
https://bugs.webkit.org/show_bug.cgi?id=150907
<rdar://problem/19171624>

Reviewed by Darin Adler.

New API test: WebKit2.FindInPage

  • Platform/spi/mac/AppKitSPI.h:

Add some SPI.

  • UIProcess/API/APIFindClient.h:

(API::FindClient::didFindString):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageFindClient):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didFindString):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/Cocoa/FindClient.h:
  • UIProcess/Cocoa/FindClient.mm:

(WebKit::FindClient::didFindString):
Make didFindString return the match rects like didFindStringMatches does.

  • WebProcess/WebPage/FindController.cpp:

(WebKit::FindController::updateFindUIAfterPageScroll):
(WebKit::FindController::findString):
Keep the most recent find match around for incremental find just like we do
for the non-incremental version. This way, getImageForFindMatch and selectFindMatch
will work for incremental find too!

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _ensureTextFinderClient]):
(-[WKWebView findMatchesForString:relativeToMatch:findOptions:maxResults:resultCollector:]):
(-[WKWebView documentContainerView]):
(-[WKWebView getSelectedText:]):
(-[WKWebView selectFindMatch:completionHandler:]):
Implement NSTextFinder's async client protocol and forward to the new WKTextFinderClient.

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:

Privately note our conformance to the aformentioned protocol.

  • UIProcess/mac/WKTextFinderClient.h: Added.
  • UIProcess/mac/WKTextFinderClient.mm: Added.

(WebKit::TextFinderFindClient::TextFinderFindClient):
(-[WKTextFinderMatch initWithClient:view:index:rects:]):
(-[WKTextFinderMatch containingView]):
(-[WKTextFinderMatch textRects]):
(-[WKTextFinderMatch generateTextImage:]):
(-[WKTextFinderMatch index]):
(-[WKTextFinderClient initWithPage:view:]):
(-[WKTextFinderClient willDestroyView:]):
(-[WKTextFinderClient findMatchesForString:relativeToMatch:findOptions:maxResults:resultCollector:]):
(-[WKTextFinderClient getSelectedText:]):
(-[WKTextFinderClient selectFindMatch:completionHandler:]):
(-[WKTextFinderClient didFindStringMatches:rects:index:]):
(-[WKTextFinderClient didGetImageForMatchResult:index:]):
(-[WKTextFinderClient didFindString:rects:index:]):
(-[WKTextFinderClient didFailToFindString:]):
(-[WKTextFinderClient getImageForMatchResult:completionHandler:]):

  • WebKit2.xcodeproj/project.pbxproj:

Add WKTextFinderClient. It installs itself as the FindClient and FindMatchesClient,
so you can only use one mechanism or the other.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2Cocoa/FindInPage.mm: Added.

(-[FindInPageNavigationDelegate webView:didFinishNavigation:]):
(TEST):
Add an API test.

  • WebEditingTester/WK1WebDocumentController.m:
  • WebEditingTester/WK2WebDocumentController.m:

(-[WK2WebDocumentController awakeFromNib]):
(-[WK2WebDocumentController contentView]):
Use incremental find, and show the overlay/indicator.

11:41 AM Changeset in webkit [192112] by bshafiei@apple.com
  • 5 edits in branches/safari-601.1.46-branch/Source

Versioning.

11:29 AM Changeset in webkit [192111] by Chris Dumez
  • 16 edits
    2 copies
    2 adds in trunk/Source/WebKit2

[WK2][SpeculativeRevalidation] Save to disk cache relationship between resources
https://bugs.webkit.org/show_bug.cgi?id=150951
<rdar://problem/23092196>

Reviewed by Darin Adler.

This patch is a first step towards speculative revalidation support in
the WebKit network cache. It maps sub-resources to the main resource
that caused them to be requested. We then write this information to the
network cache, as a list of subresource keys for each main resource,
even if the main resource is not cacheable.

To map sub-resources to main resources, we track the loads happening
in each frame and store the key of the main resource for the frame,
as well as the key of each sub-resource later loaded in the frame. We
use a HysteresisActivity to detect when loads settle down in each frame
(no loads happen for a while) and we then write the information to the
disk. If a new main resource is loaded in a frame where we were already
tracking a load, we save the data to disk before tracking the new load,
instead of waiting for the HysteresisActivity to detect the end of the
load.

The feature is currently behind a compile-time flag that is enabled on
Mac and iOS only. It is also behind a runtime flag (NSUserDefaults)
that is disabled by default.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::start):
Pass frameID in addition to the pageID. We need to globally identify
frames (using <pageID, frameID> pair) to be able to track loads in
each frame.

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::Cache::initialize):
Only initialize the SpeculativeLoader if the
enableNetworkCacheSpeculativeRevalidation run-time flag is set.

(WebKit::NetworkCache::Cache::retrieve):
Register the load with the SpeculativeLoader.

  • NetworkProcess/cache/NetworkCacheKey.h:

(WebKit::NetworkCache::Key::Key):
(WebKit::NetworkCache::Key::isHashTableDeletedValue):
(WebKit::NetworkCache::Key::range):
(WTF::NetworkCacheKeyHash::hash):
(WTF::NetworkCacheKeyHash::equal):
(WTF::HashTraits<WebKit::NetworkCache::Key>::isEmptyValue):
Add needed HashTraits for NetworkCache::Key so it can be used as key in
HashMap / HashSet.

  • NetworkProcess/cache/NetworkCacheSpeculativeLoader.cpp: Added.
  • NetworkProcess/cache/NetworkCacheSpeculativeLoader.h: Added.

Add new NetworkCacheSpeculativeLoader class that takes care of tracking
loads in each frame to map subresources to main resources and then write
this information to the network disk cache. In the future, this class we
also take care of triggering speculative revalidations, thus the naming.

  • NetworkProcess/cocoa/NetworkProcessCocoa.mm:

(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):

  • NetworkProcess/soup/NetworkProcessSoup.cpp:

(WebKit::NetworkProcess::platformInitializeNetworkProcess):

  • Shared/Network/NetworkProcessCreationParameters.cpp:

(WebKit::NetworkProcessCreationParameters::encode):
(WebKit::NetworkProcessCreationParameters::decode):

  • Shared/Network/NetworkProcessCreationParameters.h:
  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::registerUserDefaultsIfNeeded):
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
Add new NetworkProcess parameter to control at runtime if speculative loading
should be enabled or not. It is disabled by default.

  • WebKit2.xcodeproj/project.pbxproj:

Add new files to XCode project.

  • config.h:

Add ENABLE_NETWORK_CACHE_SPECULATIVE_REVALIDATION build flag for the new
feature that is enable by default on COCOA.

11:18 AM Changeset in webkit [192110] by timothy@apple.com
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Search Results tab causes jump to Resources tab on reload
https://bugs.webkit.org/show_bug.cgi?id=150817

Reviewed by Brian Burg.

Remove the "search on reload" behavior from the Search Results tab. It often didn't find everything
on large pages, since it only searched after 500ms of the main resource changing. The bug here
was caused by performSearch selecting the first result, even if it was a background tab. We now
avoid doing unnecessary search work in the background when the Search Results tab isn't visible.

  • UserInterface/Views/SearchSidebarPanel.js:

(WebInspector.SearchSidebarPanel): Deleted.
(WebInspector.SearchSidebarPanel.prototype._mainResourceDidChange): Remove children from the
sidebar since performSearch isn't doing it now and ScriptTreeElements were not being removed.
ResourceTreeElements were already being removed by NavigationSidebarPanel's prune behavior.
Removed the call to performSearch and related code.
(WebInspector.SearchSidebarPanel.prototype._mainResourceDidChange.delayedWork): Deleted.

10:52 AM Changeset in webkit [192109] by Chris Dumez
  • 2 edits in trunk/Source/WebKit2

Unreviewed, remove empty #if block landed by mistake in r192038.

  • NetworkProcess/NetworkLoad.cpp:
10:18 AM Changeset in webkit [192108] by ap@apple.com
  • 2 edits in trunk/Tools

iOS test results are not visible on the flakiness dashboard
https://bugs.webkit.org/show_bug.cgi?id=150884

Reviewed by Darin Adler.

One more change was needed for the minimal fix.

  • TestResultServer/static-dashboards/flakiness_dashboard.js:
9:55 AM Changeset in webkit [192107] by commit-queue@webkit.org
  • 5 edits in trunk/PerformanceTests

Initialize the graphics benchmark's Kalman filter with estimated 60 FPS
https://bugs.webkit.org/show_bug.cgi?id=150965

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-11-06
Reviewed by Darin Adler.

This should give the benchmark more accurate reading at warmup time. And
hence we can safely reduce the test running time to be 10 seconds.

  • Animometer/runner/animometer.html:

Add "defer" back when loading resources/animometer.js since this script
depends on many other scripts and we need to wait till the page is parsed.
Also change the default test interval to be 10 seconds.

  • Animometer/runner/resources/graph.js:

(graph): Make the test results curves smoother.

  • Animometer/tests/resources/main.js:

(Animator): Initialize the Kalman filter with 60 FPS which should be true
if the test page is empty.

(Animator.prototype.animate):

  • Animometer/tests/resources/math.js:

(KalmanEstimator): Fix the initial value of _vecX_est.

_vecX_est[0] = current FPS (= 60FPS when the test page is empty)
_vecX_est[1] = first time derivative of FPS (=0; FPS has been constant).
_vecX_est[2] = second time derivative of FPS (=0; since _vecX_est[1]=0).

(KalmanEstimator.prototype.estimate): Add some comments.

8:58 AM Changeset in webkit [192106] by dbates@webkit.org
  • 4 edits in trunk

Teach Makefile to build LayoutTestRelay when building for iOS Simulator
https://bugs.webkit.org/show_bug.cgi?id=150849

Reviewed by Alexey Proskuryakov.

.:

Add support for overriding the user-provided arguments SDKROOT and ARCHS
on a per Makefile basis.

  • Makefile.shared:

Tools:

Override the user-specified arguments SDKROOT and ARCHS to use the default SDK
and default ARCHS since LayoutTestRelay is a Mac command line tool.

  • LayoutTestRelay/Makefile: Define OVERWRITE_SDKROOT and OVERWRITE_ARCHS.
8:47 AM Changeset in webkit [192105] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking three sputnik/Conformance tests as flaky timeouts on win debug
https://bugs.webkit.org/show_bug.cgi?id=150973

Unreviewed test gardening.

  • platform/win/TestExpectations:
8:41 AM Changeset in webkit [192104] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Fixing typo in win TestExpectations file
https://bugs.webkit.org/show_bug.cgi?id=150949

Unreviewed test gardening.

  • platform/win/TestExpectations:
8:25 AM Changeset in webkit [192103] by mario@webkit.org
  • 4 edits in trunk

Layout Test accessibility/win/linked-elements.html is crashing on win debug
https://bugs.webkit.org/show_bug.cgi?id=150944

Reviewed by Chris Fleizach.

Source/WebCore:

Be more precise ASSERTing on textUnderElement, only checking that the render
tree is stable before using TextIteraror when in 'IncludeAllChildren' mode.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::textUnderElement):

LayoutTests:

Removed accessibility/win/linked-elements.html crashing expectation.

  • platform/win/TestExpectations: Removed crashing expectation.
8:22 AM WebKitGTK/2.10.x edited by philip.chimento@gmail.com
(diff)
6:51 AM Changeset in webkit [192102] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[GStreamer] Use MainThreadNotifier to send notifications to main thread in WebKitWebSourceGStreamer
https://bugs.webkit.org/show_bug.cgi?id=150890

Reviewed by Žan Doberšek.

Instead of the GThreadSafeMainLoopSources.

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(webKitWebSrcStop):
(webKitWebSrcChangeState):
(webKitWebSrcNeedData):
(webKitWebSrcEnoughData):
(webKitWebSrcSeek):
(StreamingClient::handleResponseReceived):
(StreamingClient::handleDataReceived):
(StreamingClient::handleNotifyFinished):
(webKitWebSrcFinalize): Deleted.
(webKitWebSrcSetProperty): Deleted.
(webKitWebSrcGetProperty): Deleted.
(webKitWebSrcSetExtraHeader): Deleted.
(webKitWebSrcStart): Deleted.
(webKitWebSrcGetProtocols): Deleted.
(webKitWebSrcGetUri): Deleted.
(webKitWebSrcSetUri): Deleted.
(webKitWebSrcUriHandlerInit): Deleted.

6:17 AM Changeset in webkit [192101] by Carlos Garcia Campos
  • 5 edits in trunk/Source/WebCore

[GStreamer] Use MainThreadNotifier to send notifications to main thread in TrackPrivateGStreamer
https://bugs.webkit.org/show_bug.cgi?id=150889

Reviewed by Žan Doberšek.

Instead of the GThreadSafeMainLoopSources.

  • platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:

(WebCore::InbandTextTrackPrivateGStreamer::InbandTextTrackPrivateGStreamer):
(WebCore::InbandTextTrackPrivateGStreamer::handleSample):
(WebCore::InbandTextTrackPrivateGStreamer::streamChanged):

  • platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h:
  • platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:

(WebCore::TrackPrivateBaseGStreamer::TrackPrivateBaseGStreamer):
(WebCore::TrackPrivateBaseGStreamer::disconnect):
(WebCore::TrackPrivateBaseGStreamer::activeChangedCallback):
(WebCore::TrackPrivateBaseGStreamer::tagsChangedCallback):
(WebCore::TrackPrivateBaseGStreamer::tagsChanged):
(WebCore::TrackPrivateBaseGStreamer::~TrackPrivateBaseGStreamer): Deleted.
(WebCore::TrackPrivateBaseGStreamer::notifyTrackOfActiveChanged): Deleted.

  • platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h:
5:07 AM Changeset in webkit [192100] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Suppress deprecated-declarations warning in WebCore/platform/URL.cpp
https://bugs.webkit.org/show_bug.cgi?id=150803

Reviewed by Alexey Proskuryakov.

  • platform/URL.cpp:

(WebCore::appendEncodedHostname):

4:56 AM Changeset in webkit [192099] by Carlos Garcia Campos
  • 5 edits
    1 add in trunk/Source/WebCore

[GStreamer] Do not use GThreadSafeMainLoopSource to send notifications to the main thread in MediaPlayerPrivateGStreamer
https://bugs.webkit.org/show_bug.cgi?id=150888

Reviewed by Žan Doberšek.

Analyzing how the main loop sources were used in GST code I've
noticed that in most of the cases they are used to send
notifications to the main thread. The way it works in those cases
is that some state is updated in whatever thread and we notify the
main thread to use the new state. There's no data passed to the
main thread, they are just notifications. I've also noticed that
we are not doing this exactly as expected in several of those
cases. GThreadSafeMainLoopSource cancels the current source when a
new one is scheduled, and that was done this way because previous
code in GST using GSources directly did it that way. But that's
not what we want, if there's a notification pending, since the
state is updated, we can just wait for it to happen instead of
cancelling and scheduling a new one. I've also noticed that in
most of the cases where we schedule notifications to the main
thread, we can be already in the main thread, so we could avoid
the schedule entirely.
We can use RunLoop::dispatch() to send notifications to the main
thread, but there's no way to cancel those tasks. This patch adds
a new helper class MainThreadNotifier that uses an enum of flags to
handle different kind of notifications. It uses
RunLoop::dispatch() to send notifications to the main thread, but
only if there isn't one pending for the given type.
This patch also makes signal callbacks static members to be able
to make the private methods actually private.

  • platform/graphics/gstreamer/MainThreadNotifier.h: Added.

(WebCore::MainThreadNotifier::MainThreadNotifier):
(WebCore::MainThreadNotifier::notify):
(WebCore::MainThreadNotifier::cancelPendingNotifications):
(WebCore::MainThreadNotifier::addPendingNotification):
(WebCore::MainThreadNotifier::removePendingNotification):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::setAudioStreamPropertiesCallback):
(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::videoChangedCallback):
(WebCore::MediaPlayerPrivateGStreamer::videoSinkCapsChangedCallback):
(WebCore::MediaPlayerPrivateGStreamer::audioChangedCallback):
(WebCore::MediaPlayerPrivateGStreamer::textChangedCallback):
(WebCore::MediaPlayerPrivateGStreamer::newTextSampleCallback):
(WebCore::MediaPlayerPrivateGStreamer::sourceChangedCallback):
(WebCore::MediaPlayerPrivateGStreamer::createAudioSink):
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
(WebCore::MediaPlayerPrivateGStreamer::setAudioStreamProperties): Deleted.
(WebCore::MediaPlayerPrivateGStreamer::registerMediaEngine): Deleted.
(WebCore::initializeGStreamerAndRegisterWebKitElements): Deleted.
(WebCore::MediaPlayerPrivateGStreamer::load): Deleted.
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo): Deleted.
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio): Deleted.
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfText): Deleted.
(WebCore::MediaPlayerPrivateGStreamer::canSaveMediaData): Deleted.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):
(WebCore::MediaPlayerPrivateGStreamerBase::volumeChangedCallback):
(WebCore::MediaPlayerPrivateGStreamerBase::muteChangedCallback):
(WebCore::MediaPlayerPrivateGStreamerBase::repaintCallback):
(WebCore::MediaPlayerPrivateGStreamerBase::drawCallback):
(WebCore::MediaPlayerPrivateGStreamerBase::createVideoSink):
(WebCore::MediaPlayerPrivateGStreamerBase::setStreamVolumeElement):
(WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase): Deleted.
(WebCore::MediaPlayerPrivateGStreamerBase::setPipeline): Deleted.
(WebCore::MediaPlayerPrivateGStreamerBase::handleSyncMessage): Deleted.
(WebCore::MediaPlayerPrivateGStreamerBase::muted): Deleted.
(WebCore::MediaPlayerPrivateGStreamerBase::updateTexture): Deleted.
(WebCore::MediaPlayerPrivateGStreamerBase::droppedFrameCount): Deleted.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:

(WebCore::MediaPlayerPrivateGStreamerBase::setVisible): Deleted.

3:05 AM Changeset in webkit [192098] by yoav@yoav.ws
  • 3 edits in trunk

Expose HTMLImageElement sizes attribute in IDL
https://bugs.webkit.org/show_bug.cgi?id=150230

Reviewed by Darin Adler.

No new tests, but fixed test expectations for exposed interfaces.

  • html/HTMLImageElement.idl: Make sure that sizes is exposed as an IDL attribute, to ensure proper feature detection of sizes support.
3:00 AM Changeset in webkit [192097] by Philippe Normand
  • 2 edits in trunk

Unreviewed, GTK build fix after r192095.

  • Source/cmake/FindGTK3.cmake:
1:48 AM Changeset in webkit [192096] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[GTK] Fails to link libwebkit2gtkinjectedbundle.so on OSX
https://bugs.webkit.org/show_bug.cgi?id=144785

Patch by Philip Chimento <philip.chimento@gmail.com> on 2015-11-06
Reviewed by Philippe Normand.

  • PlatformGTK.cmake: Add missing WebKit2 library to list of

libraries to link with. Required for OSX build.

1:39 AM Changeset in webkit [192095] by Michael Catanzaro
  • 3 edits in trunk

[GTK] Re-enable Quartz backend on cmake build system
https://bugs.webkit.org/show_bug.cgi?id=144561

Reviewed by Philippe Normand.

  • Source/cmake/FindGTK3.cmake: Set GTK3_SUPPORTS_QUARTZ based on

the presence of of gtk+-quartz-3.0 module.

  • Source/cmake/OptionsGTK.cmake: Reintroduce the

ENABLE_QUARTZ_TARGET option to the CMake build, for building the
GTK+ Quartz backend on OS X.

Nov 5, 2015:

11:28 PM Changeset in webkit [192094] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[GStreamer] Use RunLoop::Timer instead of GMainLoopSource in video sink
https://bugs.webkit.org/show_bug.cgi?id=150807

Reviewed by Žan Doberšek.

Since we always wait until the sample is actually rendered we
don't really need either a thread safe main loop source, nor
cancelling if already requested and other things GMainLoopSource does.
This adds a helper class VideoRenderRequestScheduler to use the
RunLoop::Timer. All the logic to syncronize between threads has
been moved to this helper class too.

  • platform/graphics/gstreamer/VideoSinkGStreamer.cpp:

(VideoRenderRequestScheduler::VideoRenderRequestScheduler):
(VideoRenderRequestScheduler::start):
(VideoRenderRequestScheduler::stop):
(VideoRenderRequestScheduler::requestRender):
(VideoRenderRequestScheduler::isUnlocked):
(VideoRenderRequestScheduler::render):
(_WebKitVideoSinkPrivate::_WebKitVideoSinkPrivate):
(webkitVideoSinkRepaintRequested):
(webkitVideoSinkRender):
(webkitVideoSinkUnlock):
(webkitVideoSinkUnlockStop):
(webkitVideoSinkStop):
(webkitVideoSinkStart):
(_WebKitVideoSinkPrivate::~_WebKitVideoSinkPrivate): Deleted.
(webkitVideoSinkTimeoutCallback): Deleted.
(unlockSampleMutex): Deleted.

9:58 PM Changeset in webkit [192093] by commit-queue@webkit.org
  • 26 edits in trunk

Add runtime and compile time flags for enabling Web Animations API and model.
https://bugs.webkit.org/show_bug.cgi?id=150914

Patch by Nikos Andronikos <nikos.andronikos-webkit@cisra.canon.com.au> on 2015-11-05
Reviewed by Benjamin Poulain.

Add ENABLE_WEB_ANIMATIONS compile time flag, runtime flag webAnimationsEnabled and Expose WK2 preference for runtime flag.

.:

  • Source/cmake/OptionsWin.cmake:
  • Source/cmake/WebKitFeatures.cmake:

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:
  • bindings/generic/RuntimeEnabledFeatures.cpp:

(WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):

  • bindings/generic/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::setWebAnimationsEnabled):
(WebCore::RuntimeEnabledFeatures::webAnimationsEnabled):

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:
  • Shared/WebPreferencesDefinitions.h:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetWebAnimationsEnabled):
(WKPreferencesGetWebAnimationsEnabled):

  • UIProcess/API/C/WKPreferencesRefPrivate.h:
  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
(WebKit::InjectedBundle::setWebAnimationsEnabled):

  • WebProcess/InjectedBundle/InjectedBundle.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

Source/WTF:

  • wtf/FeatureDefines.h:

Tools:

  • Scripts/webkitperl/FeatureList.pm:

WebKitLibraries:

  • win/tools/vsprops/FeatureDefines.props:
  • win/tools/vsprops/FeatureDefinesCairo.props:
9:52 PM Changeset in webkit [192092] by Sukolsak Sakshuwong
  • 4 edits in trunk

Layout Test js/intl-collator.html is crashing on win 7 debug
https://bugs.webkit.org/show_bug.cgi?id=150943

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

The string length returned by ICU's uenum_next seems to be unreliable
on an old version of ICU. Since uenum_next returns a null-terminated
string anyway, this patch removes the use of the length.

  • runtime/IntlCollatorConstructor.cpp:

(JSC::sortLocaleData):

LayoutTests:

  • platform/win/TestExpectations:
8:31 PM Changeset in webkit [192091] by ryuan.choi@navercorp.com
  • 8 edits in trunk

[EFL] Separate beforeunload confirm callback from confirm callback
https://bugs.webkit.org/show_bug.cgi?id=150964

Reviewed by Gyuyoung Kim.

Source/WebKit2:

Browser may need to distinguish between beforeunload confirm panel and general confirm panel.
For example, browser may want to modify the message or show different buttons from confirm panel
such as "Stay Page | Leave Page".

  • UIProcess/API/efl/EwkView.cpp:

(EwkView::requestJSBeforeUnloadConfirmPopup):

  • UIProcess/API/efl/EwkView.h:
  • UIProcess/API/efl/ewk_view.h:
  • UIProcess/API/efl/tests/test_ewk2_view.cpp:

(TEST_F):

  • UIProcess/efl/PageUIClientEfl.cpp:

(WebKit::PageUIClientEfl::runBeforeUnloadConfirmPanel):

Tools:

  • MiniBrowser/efl/main.c:

(on_javascript_before_unload_confirm):
(window_create):

8:25 PM Changeset in webkit [192090] by commit-queue@webkit.org
  • 5 edits in trunk/Source

Unreviewed, rolling out r192089.
https://bugs.webkit.org/show_bug.cgi?id=150966

This change broke an existing layout test on Yosemite and
Mavericks (Requested by ryanhaddad on #webkit).

Reverted changeset:

"Preview on apple.com/contact with all text selected shows a
map"
https://bugs.webkit.org/show_bug.cgi?id=150963
http://trac.webkit.org/changeset/192089

4:38 PM Changeset in webkit [192089] by timothy_horton@apple.com
  • 5 edits in trunk/Source

Preview on apple.com/contact with all text selected shows a map
https://bugs.webkit.org/show_bug.cgi?id=150963
<rdar://problem/23421750>

Reviewed by Beth Dakin.

  • editing/mac/DictionaryLookup.h:
  • editing/mac/DictionaryLookup.mm:

(WebCore::DictionaryLookup::rangeForSelection):
If the range that Lookup decides to use doesn't intersect the hit point,
just ignore Lookup.

(WebCore::DictionaryLookup::rangeAtHitTestResult):
If the selection-based Lookup fails to find a usable result, fall back
to looking around the hit point.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::performDictionaryLookupForSelection):
In this case, we don't know where we hit, so pass a null VisiblePosition.

4:13 PM Changeset in webkit [192088] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Unreviewed, add FIXMEs referencing https://bugs.webkit.org/show_bug.cgi?id=150958 and
https://bugs.webkit.org/show_bug.cgi?id=150954.

  • b3/B3LowerToAir.cpp:

(JSC::B3::Air::LowerToAir::createGenericCompare):

  • b3/B3ReduceStrength.cpp:
4:06 PM Changeset in webkit [192087] by jmarcell@apple.com
  • 3 edits in trunk/Tools

run-webkit-test should look in --root directory for LayoutTestRelay
https://bugs.webkit.org/show_bug.cgi?id=150859

Reviewed by Daniel Bates.

For iOS run-webkit-tests, use LayoutTestRelay specified by --root; otherwise find
LayoutTestRelay in the Mac build directory when --root is unspecified.

  • Scripts/webkitpy/port/base.py:

(Port._build_path): Use '_cached_root' instead of 'root' so that we don't overwrite the
argument that was passed in via the --root argument.

  • Scripts/webkitpy/port/ios.py:

(IOSSimulatorPort.relay_path):

4:03 PM Changeset in webkit [192086] by Matt Baker
  • 16 edits in trunk/Source/WebInspectorUI

Web Inspector: Convert remaining ContentViews to View base class
https://bugs.webkit.org/show_bug.cgi?id=150729

Reviewed by Brian Burg.

Refactor content views to reuse View features: remove updateLayout and
element getters, and use View.prototype.addSubview and removeSubview
where appropriate.

  • UserInterface/Views/ApplicationCacheFrameContentView.js:

(WebInspector.ApplicationCacheFrameContentView.prototype._createDataGrid):

  • UserInterface/Views/ClusterContentView.js:

(WebInspector.ClusterContentView):
(WebInspector.ClusterContentView.prototype.updateLayout): Deleted.

  • UserInterface/Views/CookieStorageContentView.js:

(WebInspector.CookieStorageContentView.prototype._rebuildTable):
(WebInspector.CookieStorageContentView.prototype.updateLayout): Deleted.

  • UserInterface/Views/DOMStorageContentView.js:

(WebInspector.DOMStorageContentView):
(WebInspector.DOMStorageContentView.prototype.updateLayout): Deleted.

  • UserInterface/Views/DOMTreeContentView.js:

(WebInspector.DOMTreeContentView.prototype.layout):
(WebInspector.DOMTreeContentView.prototype.updateLayout): Deleted.

  • UserInterface/Views/DatabaseTableContentView.js:

(WebInspector.DatabaseTableContentView):
(WebInspector.DatabaseTableContentView.prototype._queryFinished):
(WebInspector.DatabaseTableContentView.prototype._queryError):

  • UserInterface/Views/FontResourceContentView.js:

(WebInspector.FontResourceContentView.prototype.layout):
(WebInspector.FontResourceContentView):
(WebInspector.FontResourceContentView.prototype.updateLayout): Deleted.

  • UserInterface/Views/IndexedDatabaseObjectStoreContentView.js:

(WebInspector.IndexedDatabaseObjectStoreContentView):
(WebInspector.IndexedDatabaseObjectStoreContentView.prototype.updateLayout): Deleted.

  • UserInterface/Views/LogContentView.js:

(WebInspector.LogContentView.prototype.layout):
(WebInspector.LogContentView.prototype.updateLayout): Deleted.

  • UserInterface/Views/NetworkGridContentView.js:

(WebInspector.NetworkGridContentView):
(WebInspector.NetworkGridContentView.prototype.needsLayout):
(WebInspector.NetworkGridContentView.prototype.layout):
(WebInspector.NetworkGridContentView.prototype.updateLayout): Deleted.

  • UserInterface/Views/OverviewTimelineView.js:

(WebInspector.OverviewTimelineView):
(WebInspector.OverviewTimelineView.prototype.layout): Deleted.

  • UserInterface/Views/ScriptContentView.js:

(WebInspector.ScriptContentView.prototype._contentWillPopulate):
(WebInspector.ScriptContentView.prototype.updateLayout): Deleted.

  • UserInterface/Views/TextContentView.js:

(WebInspector.TextContentView):
(WebInspector.TextContentView.prototype.updateLayout): Deleted.

  • UserInterface/Views/TextEditor.js:

(WebInspector.TextEditor):
(WebInspector.TextEditor.prototype.layout):
(WebInspector.TextEditor.prototype.get element): Deleted.
(WebInspector.TextEditor.prototype.updateLayout): Deleted.

  • UserInterface/Views/TimelineRecordingContentView.js:

(WebInspector.TimelineRecordingContentView):
(WebInspector.TimelineRecordingContentView.prototype.layout):
(WebInspector.TimelineRecordingContentView.prototype._currentContentViewDidChange):
(WebInspector.TimelineRecordingContentView.prototype.updateLayout): Deleted.

3:20 PM Changeset in webkit [192085] by ddkilzer@apple.com
  • 2 edits in trunk/Tools

TestWebKitAPI crashed in TestWebKitAPI: TestWebKitAPI::SharedBufferTest_copyBufferCreatedWithContentsOfExistingFile_Test::TestBody
<http://webkit.org/b/150931>
<rdar://problem/23409384>

Reviewed by Youenn Fablet.

  • TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp:

(TestWebKitAPI::TEST_F(SharedBufferTest, copyBufferCreatedWithContentsOfExistingFile)):

  • Switch from strnstr() to memcmp() since strings are not guaranteed to be NULL-terminated.
  • Add another expectation that the size is greater than zero since memcmp() returns 0 (matching) if the length argument is zero.

(TestWebKitAPI::TEST_F(SharedBufferTest, appendBufferCreatedWithContentsOfExistingFile)):

  • Same change to keep tests consistent, although the second string is NULL-terminated in this case.
3:17 PM Changeset in webkit [192084] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

Unreviewed, rolling out r192073.
https://bugs.webkit.org/show_bug.cgi?id=150962

"Broke the internal iOS build; will investigate offline"
(Requested by dydz on #webkit).

Reverted changeset:

"Teach Makefile to build LayoutTestRelay when building for iOS
Simulator"
https://bugs.webkit.org/show_bug.cgi?id=150849
http://trac.webkit.org/changeset/192073

3:17 PM Changeset in webkit [192083] by ggaren@apple.com
  • 4 edits in trunk/Source/WebKit2

_WKObservablePageState's _webProcessIsResponsive property isn't set to YES when an unresponsive page is reloaded
https://bugs.webkit.org/show_bug.cgi?id=150953

Reviewed by Anders Carlsson.

  • UIProcess/ResponsivenessTimer.cpp:

(WebKit::ResponsivenessTimer::processTerminated): Call stop() to
indicate that we are responsive again. This gives the client a chance
to remove the SPOD cursor, among other things.

  • UIProcess/ResponsivenessTimer.h:

(WebKit::ResponsivenessTimer::processTerminated): Anders told me to do this!

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::resetStateAfterProcessExited): Be sure to reset
the responsiveness timer too, or it will continue thinking we are
unresponsive after a crash or a forced load or reload.

3:01 PM Changeset in webkit [192082] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/event_loadeddata.html is a flaky timout
https://bugs.webkit.org/show_bug.cgi?id=150956

Unreviewed test gardening.

  • platform/mac/TestExpectations:
2:44 PM Changeset in webkit [192081] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Move invocation argument encoding out to a separate function
https://bugs.webkit.org/show_bug.cgi?id=150950

Reviewed by Tim Horton.

  • Shared/API/Cocoa/WKRemoteObjectCoder.mm:

(encodeInvocationArguments):
(encodeInvocation):

2:33 PM Changeset in webkit [192080] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking imported/blink/fast/css/transformed-overflow-hidden-clips-fixed.html as failing on win debug
https://bugs.webkit.org/show_bug.cgi?id=150949

Unreviewed test gardening.

  • platform/win/TestExpectations:
2:28 PM Changeset in webkit [192079] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking imported/blink/transitions/unprefixed-transform.html as flaky on win debug
https://bugs.webkit.org/show_bug.cgi?id=150948

Unreviewed test gardening.

  • platform/win/TestExpectations:
2:21 PM Changeset in webkit [192078] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Using emitResolveScope & emitGetFromScope with 'this' that is TDZ lead to segfault in DFG
https://bugs.webkit.org/show_bug.cgi?id=150902

Patch by Aleksandr Skachkov <gskachkov@gmail.com> on 2015-11-05
Reviewed by Geoffrey Garen.

Tiny fix provided by Saam Barati. This fix prevent segfault error in arrow function,
when it uses in constructor of derived class, before 'super' is called.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

2:17 PM Changeset in webkit [192077] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking scrollbars/custom-scrollbar-appearance-property.html as a crash on win debug.
https://bugs.webkit.org/show_bug.cgi?id=150946

Unreviewed test gardening.

  • platform/win/TestExpectations:
2:14 PM Changeset in webkit [192076] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Pretty print falsely triggers on some JS that wasn't minified
https://bugs.webkit.org/show_bug.cgi?id=150876

Change the minification detection heuristic. Look for the ratio of whitespace to
non-whitespace characters in the first 5000 characters.

The previous heuristic looked for lines longer than 500 characters. Not only it was
slower on large unminified files, it also had a false positive on unminified codemirror.js.

Reviewed by Timothy Hatcher.

  • UserInterface/Views/SourceCodeTextEditor.js:

(WebInspector.SourceCodeTextEditor.prototype._contentWillPopulate):
(WebInspector.SourceCodeTextEditor.prototype._isLikelyMinified):
Exit early if whitespace to non-whitespace ratio drops below 5%.

2:12 PM Changeset in webkit [192075] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking accessibility/win/linked-elements.html as a crash on win debug.
https://bugs.webkit.org/show_bug.cgi?id=150944

Unreviewed test gardening.

  • platform/win/TestExpectations:
2:00 PM Changeset in webkit [192074] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking js/intl-collator.html as a crash on win debug.
https://bugs.webkit.org/show_bug.cgi?id=150943

Unreviewed test gardening.

  • platform/win/TestExpectations:
2:00 PM Changeset in webkit [192073] by dbates@webkit.org
  • 3 edits in trunk/Tools

Teach Makefile to build LayoutTestRelay when building for iOS Simulator
https://bugs.webkit.org/show_bug.cgi?id=150849

Reviewed by Alexey Proskuryakov.

  • LayoutTestRelay/Makefile: Temporarily override SDKROOT when it is iphonesimulator so

that we build with the default SDK. We assume that the default SDK is the OS X SDK.

  • Makefile: Append LayoutTestRelay to the list of modules to build when building with

SDK iphonesimulator.

1:51 PM Changeset in webkit [192072] by fpizlo@apple.com
  • 29 edits in trunk/Source/JavaScriptCore

B3->Air lowering should have a story for compare-branch fusion
https://bugs.webkit.org/show_bug.cgi?id=150721

Reviewed by Geoffrey Garen.

This adds comprehensive support for compares and compare/branch fusion to B3. The fusion is
super aggressive. It can even handle things like Branch(LessThan(Load8S(...), constant)). It
can even handle flipping the operands to the branch, and flipping the comparison condition,
if it enables a more efficient instruction. This happens when there is asymmetry in the
admitted argument kinds. For example, Branch32 will only accept an Imm as a second operand.
If we do a LessThan(constant, load) then we will generate it as:

Branch32 GreaterThan, (addr), $imm

This also supports compiling and fusing tests, and to some extent, compiling and fusing
double compares. Though we cannot test doubles yet because we don't have enough support for
that.

This also supports fusing compare/branches in Checks. We basically get that for free.

Because I wanted to fuse comparisons with sub-32-bit loads, I added support for those loads
directly, too.

The tests are now getting super big, so I made testb3 run tests in parallel.

Finally, this slightly changes the semantics of Branch and Check. Previously they would have
accepted a double to branch on. I found that this is awkward. It's especially awkward since
we want to be explicit about when a double zero constant is materialized. So, from now on, we
require that to branch on a double being non-zero, you have to do Branch(NotEqual(value, 0)).

  • assembler/MacroAssembler.h:

(JSC::MacroAssembler::invert):
(JSC::MacroAssembler::isInvertible):
(JSC::MacroAssembler::flip):
(JSC::MacroAssembler::isSigned):
(JSC::MacroAssembler::isUnsigned):

  • assembler/MacroAssemblerX86Common.h:

(JSC::MacroAssemblerX86Common::test32):
(JSC::MacroAssemblerX86Common::invert):

  • b3/B3CheckSpecial.cpp:

(JSC::B3::CheckSpecial::Key::Key):
(JSC::B3::CheckSpecial::Key::dump):
(JSC::B3::CheckSpecial::CheckSpecial):
(JSC::B3::CheckSpecial::~CheckSpecial):

  • b3/B3CheckSpecial.h:

(JSC::B3::CheckSpecial::Key::Key):
(JSC::B3::CheckSpecial::Key::operator==):
(JSC::B3::CheckSpecial::Key::operator!=):
(JSC::B3::CheckSpecial::Key::operator bool):
(JSC::B3::CheckSpecial::Key::opcode):
(JSC::B3::CheckSpecial::Key::numArgs):
(JSC::B3::CheckSpecial::Key::isHashTableDeletedValue):
(JSC::B3::CheckSpecial::Key::hash):
(JSC::B3::CheckSpecialKeyHash::hash):
(JSC::B3::CheckSpecialKeyHash::equal):

  • b3/B3Const32Value.cpp:

(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):
(JSC::B3::Const32Value::dumpMeta):

  • b3/B3Const32Value.h:
  • b3/B3Const64Value.cpp:

(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):
(JSC::B3::Const64Value::dumpMeta):

  • b3/B3Const64Value.h:
  • b3/B3ConstDoubleValue.cpp:

(JSC::B3::ConstDoubleValue::subConstant):
(JSC::B3::ConstDoubleValue::equalConstant):
(JSC::B3::ConstDoubleValue::notEqualConstant):
(JSC::B3::ConstDoubleValue::lessThanConstant):
(JSC::B3::ConstDoubleValue::greaterThanConstant):
(JSC::B3::ConstDoubleValue::lessEqualConstant):
(JSC::B3::ConstDoubleValue::greaterEqualConstant):
(JSC::B3::ConstDoubleValue::dumpMeta):

  • b3/B3ConstDoubleValue.h:
  • b3/B3LowerToAir.cpp:

(JSC::B3::Air::LowerToAir::LowerToAir):
(JSC::B3::Air::LowerToAir::run):
(JSC::B3::Air::LowerToAir::shouldCopyPropagate):
(JSC::B3::Air::LowerToAir::ArgPromise::ArgPromise):
(JSC::B3::Air::LowerToAir::ArgPromise::tmp):
(JSC::B3::Air::LowerToAir::ArgPromise::operator bool):
(JSC::B3::Air::LowerToAir::ArgPromise::kind):
(JSC::B3::Air::LowerToAir::ArgPromise::peek):
(JSC::B3::Air::LowerToAir::ArgPromise::consume):
(JSC::B3::Air::LowerToAir::tmp):
(JSC::B3::Air::LowerToAir::tmpPromise):
(JSC::B3::Air::LowerToAir::canBeInternal):
(JSC::B3::Air::LowerToAir::addr):
(JSC::B3::Air::LowerToAir::loadPromise):
(JSC::B3::Air::LowerToAir::imm):
(JSC::B3::Air::LowerToAir::appendBinOp):
(JSC::B3::Air::LowerToAir::tryAppendStoreUnOp):
(JSC::B3::Air::LowerToAir::tryAppendStoreBinOp):
(JSC::B3::Air::LowerToAir::createGenericCompare):
(JSC::B3::Air::LowerToAir::createBranch):
(JSC::B3::Air::LowerToAir::createCompare):
(JSC::B3::Air::LowerToAir::tryLoad):
(JSC::B3::Air::LowerToAir::tryLoad8S):
(JSC::B3::Air::LowerToAir::tryLoad8Z):
(JSC::B3::Air::LowerToAir::tryLoad16S):
(JSC::B3::Air::LowerToAir::tryLoad16Z):
(JSC::B3::Air::LowerToAir::tryAdd):
(JSC::B3::Air::LowerToAir::tryStackSlot):
(JSC::B3::Air::LowerToAir::tryEqual):
(JSC::B3::Air::LowerToAir::tryNotEqual):
(JSC::B3::Air::LowerToAir::tryLessThan):
(JSC::B3::Air::LowerToAir::tryGreaterThan):
(JSC::B3::Air::LowerToAir::tryLessEqual):
(JSC::B3::Air::LowerToAir::tryGreaterEqual):
(JSC::B3::Air::LowerToAir::tryAbove):
(JSC::B3::Air::LowerToAir::tryBelow):
(JSC::B3::Air::LowerToAir::tryAboveEqual):
(JSC::B3::Air::LowerToAir::tryBelowEqual):
(JSC::B3::Air::LowerToAir::tryPatchpoint):
(JSC::B3::Air::LowerToAir::tryCheck):
(JSC::B3::Air::LowerToAir::tryBranch):
(JSC::B3::Air::LowerToAir::loadAddr): Deleted.

  • b3/B3LoweringMatcher.patterns:
  • b3/B3Opcode.cpp:

(JSC::B3::invertedCompare):

  • b3/B3Opcode.h:

(JSC::B3::isCheckMath):

  • b3/B3Procedure.cpp:

(JSC::B3::Procedure::addBlock):
(JSC::B3::Procedure::addIntConstant):
(JSC::B3::Procedure::addBoolConstant):
(JSC::B3::Procedure::resetValueOwners):

  • b3/B3Procedure.h:
  • b3/B3ReduceStrength.cpp:
  • b3/B3Validate.cpp:
  • b3/B3Value.cpp:

(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):
(JSC::B3::Value::invertedCompare):

  • b3/B3Value.h:
  • b3/air/AirArg.cpp:

(JSC::B3::Air::Arg::isRepresentableAs):
(JSC::B3::Air::Arg::dump):
(WTF::printInternal):

  • b3/air/AirArg.h:

(JSC::B3::Air::Arg::isUse):
(JSC::B3::Air::Arg::typeForB3Type):
(JSC::B3::Air::Arg::widthForB3Type):
(JSC::B3::Air::Arg::Arg):
(JSC::B3::Air::Arg::value):
(JSC::B3::Air::Arg::isRepresentableAs):
(JSC::B3::Air::Arg::asNumber):
(JSC::B3::Air::Arg::pointerValue):
(JSC::B3::Air::Arg::asDoubleCondition):
(JSC::B3::Air::Arg::inverted):
(JSC::B3::Air::Arg::flipped):
(JSC::B3::Air::Arg::isSignedCond):
(JSC::B3::Air::Arg::isUnsignedCond):

  • b3/air/AirInst.h:

(JSC::B3::Air::Inst::Inst):
(JSC::B3::Air::Inst::operator bool):

  • b3/air/AirOpcode.opcodes:
  • b3/air/opcode_generator.rb:
  • b3/testb3.cpp:

(hiddenTruthBecauseNoReturnIsStupid):
(JSC::B3::testStoreLoadStackSlot):
(JSC::B3::modelLoad):
(JSC::B3::testLoad):
(JSC::B3::testBranch):
(JSC::B3::testComplex):
(JSC::B3::testSimplePatchpoint):
(JSC::B3::testSimpleCheck):
(JSC::B3::genericTestCompare):
(JSC::B3::modelCompare):
(JSC::B3::testCompareLoad):
(JSC::B3::testCompareImpl):
(JSC::B3::testCompare):
(JSC::B3::run):
(main):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileArithMod):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emitIntTypedArrayGetByVal):
(JSC::JIT::emitIntTypedArrayPutByVal):

1:25 PM Changeset in webkit [192071] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking animations/multiple-backgrounds.html as flaky on mac-wk2
https://bugs.webkit.org/show_bug.cgi?id=150942

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
1:17 PM Changeset in webkit [192070] by Matt Baker
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Convert TimelineRuler to View base class
https://bugs.webkit.org/show_bug.cgi?id=150703

Reviewed by Brian Burg.

Convert TimelineRuler to View base class. Ruler markers and selection elements
can be updated independent from its main layout. The logic for these additional
layouts is implemented as an override of View.prototype.needsLayout, and remains
largely unchanged.

  • UserInterface/Views/OverviewTimelineView.js:

(WebInspector.OverviewTimelineView):
Add ruler as a subview.
(WebInspector.OverviewTimelineView.prototype.layout): Deleted.
Separate ruler layout no longer needed.

  • UserInterface/Views/TimelineRuler.js:

(WebInspector.TimelineRuler):
(WebInspector.TimelineRuler.prototype.set allowsClippedLabels):
(WebInspector.TimelineRuler.prototype.set formatLabelCallback):
(WebInspector.TimelineRuler.prototype.set allowsTimeRangeSelection):
(WebInspector.TimelineRuler.prototype.set zeroTime):
(WebInspector.TimelineRuler.prototype.set startTime):
(WebInspector.TimelineRuler.prototype.set duration):
(WebInspector.TimelineRuler.prototype.get endTime):
(WebInspector.TimelineRuler.prototype.set endTime):
(WebInspector.TimelineRuler.prototype.get secondsPerPixel):
(WebInspector.TimelineRuler.prototype.set secondsPerPixel):
(WebInspector.TimelineRuler.prototype.updateLayoutIfNeeded):
(WebInspector.TimelineRuler.prototype.needsLayout):
(WebInspector.TimelineRuler.prototype.layout):
(WebInspector.TimelineRuler.prototype._needsMarkerLayout):
(WebInspector.TimelineRuler.prototype._needsSelectionLayout):
(WebInspector.TimelineRuler.prototype._recalculate):
(WebInspector.TimelineRuler.prototype._updateMarkers):
(WebInspector.TimelineRuler.prototype._updateSelection):
(WebInspector.TimelineRuler.prototype._handleMouseDown):
(WebInspector.TimelineRuler.prototype._handleMouseMove):
(WebInspector.TimelineRuler.prototype._handleMouseUp):
(WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseDown):
(WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseMove):
(WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseUp):
Renamed methods to match new View.prototype methods and cleaned up
some code to use let, for...of.
(WebInspector.TimelineRuler.prototype.get element): Deleted.
No longer needed.
(WebInspector.TimelineRuler.prototype.updateLayout): Deleted.
Renamed to layout, overrides View.prototype.layout.
(WebInspector.TimelineRuler.prototype._needsLayout): Deleted.
Renamed to needsLayout, overrides View.prototype.needsLayout.
(WebInspector.TimelineRuler.prototype._needsMarkerLayout.update): Deleted.
(WebInspector.TimelineRuler.prototype._needsSelectionLayout.update): Deleted.

  • UserInterface/Views/View.js:

(WebInspector.View.prototype.get isLayoutPending):
Added getter to check for pending layout.

12:37 PM Changeset in webkit [192069] by Chris Dumez
  • 1 edit
    2 adds in trunk/LayoutTests

Add regression test for Bug 150937
https://bugs.webkit.org/show_bug.cgi?id=150937

Reviewed by Geoffrey Garen.

Add regression test for Bug 150937:
Regression(r192038): Safari cannot load any pages

The new test makes sure that load deferring works as intended. The fix
for this already landed in r192060.

  • loader/load-defer-expected.txt: Added.
  • loader/load-defer.html: Added.
12:23 PM Changeset in webkit [192068] by beidson@apple.com
  • 25 edits
    4 adds in trunk

Modern IDB: Implement IDBIndex get/getKey/count requests.
https://bugs.webkit.org/show_bug.cgi?id=150910

Reviewed by Alex Christensen.

Source/WebCore:

Tests: storage/indexeddb/modern/index-get-count-basic.html

storage/indexeddb/modern/index-get-count-failures.html

  • Modules/indexeddb/IndexedDB.h:
  • Modules/indexeddb/client/IDBAnyImpl.cpp:

(WebCore::IDBClient::IDBAny::IDBAny):
(WebCore::IDBClient::IDBAny::modernIDBIndex):

  • Modules/indexeddb/client/IDBAnyImpl.h:

(WebCore::IDBClient::IDBAny::create):
(WebCore::IDBClient::IDBAny::createUndefined):

  • Modules/indexeddb/client/IDBIndexImpl.cpp:

(WebCore::IDBClient::IDBIndex::count):
(WebCore::IDBClient::IDBIndex::doCount):
(WebCore::IDBClient::IDBIndex::get):
(WebCore::IDBClient::IDBIndex::doGet):
(WebCore::IDBClient::IDBIndex::getKey):
(WebCore::IDBClient::IDBIndex::doGetKey):

  • Modules/indexeddb/client/IDBIndexImpl.h:

(WebCore::IDBClient::IDBIndex::info):

  • Modules/indexeddb/client/IDBObjectStoreImpl.h:

(WebCore::IDBClient::IDBObjectStore::isDeleted):
(WebCore::IDBClient::IDBObjectStore::modernTransaction):

  • Modules/indexeddb/client/IDBRequestImpl.cpp:

(WebCore::IDBClient::IDBRequest::createCount):
(WebCore::IDBClient::IDBRequest::createGet):
(WebCore::IDBClient::IDBRequest::IDBRequest):
(WebCore::IDBClient::IDBRequest::sourceObjectStoreIdentifier):
(WebCore::IDBClient::IDBRequest::sourceIndexIdentifier):
(WebCore::IDBClient::IDBRequest::requestedIndexRecordType):
(WebCore::IDBClient::IDBRequest::setResultToUndefined):

  • Modules/indexeddb/client/IDBRequestImpl.h:
  • Modules/indexeddb/client/IDBTransactionImpl.cpp:

(WebCore::IDBClient::IDBTransaction::requestGetValue):
(WebCore::IDBClient::IDBTransaction::requestGetKey):
(WebCore::IDBClient::IDBTransaction::didGetRecordOnServer):
(WebCore::IDBClient::IDBTransaction::requestCount):

  • Modules/indexeddb/client/IDBTransactionImpl.h:
  • Modules/indexeddb/client/TransactionOperation.cpp:

(WebCore::IDBClient::TransactionOperation::TransactionOperation):

  • Modules/indexeddb/client/TransactionOperation.h:

(WebCore::IDBClient::TransactionOperation::indexIdentifier):
(WebCore::IDBClient::TransactionOperation::indexRecordType):

  • Modules/indexeddb/server/IDBBackingStore.h:
  • Modules/indexeddb/server/MemoryIDBBackingStore.cpp:

(WebCore::IDBServer::MemoryIDBBackingStore::getRecord):
(WebCore::IDBServer::MemoryIDBBackingStore::getIndexRecord):
(WebCore::IDBServer::MemoryIDBBackingStore::getCount):

  • Modules/indexeddb/server/MemoryIDBBackingStore.h:
  • Modules/indexeddb/server/MemoryIndex.cpp:

(WebCore::IDBServer::MemoryIndex::valueForKeyRange):
(WebCore::IDBServer::MemoryIndex::countForKeyRange):

  • Modules/indexeddb/server/MemoryIndex.h:
  • Modules/indexeddb/server/MemoryObjectStore.cpp:

(WebCore::IDBServer::MemoryObjectStore::createIndex):
(WebCore::IDBServer::MemoryObjectStore::countForKeyRange):
(WebCore::IDBServer::MemoryObjectStore::indexValueForKeyRange):

  • Modules/indexeddb/server/MemoryObjectStore.h:
  • Modules/indexeddb/server/UniqueIDBDatabase.cpp:

(WebCore::IDBServer::UniqueIDBDatabase::getRecord):
(WebCore::IDBServer::UniqueIDBDatabase::performGetIndexRecord):
(WebCore::IDBServer::UniqueIDBDatabase::getCount):
(WebCore::IDBServer::UniqueIDBDatabase::performGetCount):
(WebCore::IDBServer::UniqueIDBDatabase::performGetRecord): Deleted.

  • Modules/indexeddb/server/UniqueIDBDatabase.h:
  • Modules/indexeddb/shared/IDBRequestData.cpp:

(WebCore::IDBRequestData::IDBRequestData):
(WebCore::IDBRequestData::objectStoreIdentifier):
(WebCore::IDBRequestData::indexIdentifier):
(WebCore::IDBRequestData::indexRecordType):

  • Modules/indexeddb/shared/IDBRequestData.h:

LayoutTests:

  • storage/indexeddb/modern/index-get-count-basic-expected.txt: Added.
  • storage/indexeddb/modern/index-get-count-basic.html: Added.
  • storage/indexeddb/modern/index-get-count-failures-expected.txt: Added.
  • storage/indexeddb/modern/index-get-count-failures.html: Added.
11:55 AM Changeset in webkit [192067] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Rebaselining fast/text/tatechuyoko.html on win
https://bugs.webkit.org/show_bug.cgi?id=150935

Unreviewed test gardening.

  • platform/win/fast/text/tatechuyoko-expected.txt:
11:40 AM Changeset in webkit [192066] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Rename the variable to avoid conflict between the variable and the parameter.
https://bugs.webkit.org/show_bug.cgi?id=150019.

Patch by Zhuo Li <zachli@apple.com> on 2015-11-05
Reviewed by Dan Bernstein.

  • platform/cocoa/SearchPopupMenuCocoa.mm:

(WebCore::typeCheckedRecentSearchesRemovingRecentSearchesAddedAfterDate): Rename date
to dateAdded so that it does not have the same name as the parameter passed in.

11:35 AM Changeset in webkit [192065] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: ⌥⌘C sometimes ends ups up opening inspector without console prompt focused
https://bugs.webkit.org/show_bug.cgi?id=150916

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-11-05
Reviewed by Timothy Hatcher.

When first opening the inspector we hide the window until the document
is mostly ready / loaded. However once displaying the window WK2 would
set the initial focus, clearing what we already had and focusing the
first natural element (tabindex dictates the toolbar). Workaround this
by detecting when the document becomes visible and then focusing the
console prompt.

  • UserInterface/Protocol/InspectorFrontendAPI.js:

(InspectorFrontendAPI.showConsole):
(InspectorFrontendAPI.handleEvent):

11:31 AM Changeset in webkit [192064] by commit-queue@webkit.org
  • 16 edits in trunk/Source

Web Inspector: Clean up InjectedScript uses
https://bugs.webkit.org/show_bug.cgi?id=150921

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-11-05
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/InjectedScript.cpp:

(Inspector::InjectedScript::wrapCallFrames):

  • inspector/InjectedScript.h:
  • inspector/InjectedScriptBase.cpp:

(Inspector::InjectedScriptBase::initialize): Deleted.

  • inspector/InjectedScriptBase.h:
  • inspector/InjectedScriptManager.cpp:

(Inspector::InjectedScriptManager::didCreateInjectedScript):

  • inspector/InjectedScriptManager.h:
  • inspector/InjectedScriptModule.cpp:

(Inspector::InjectedScriptModule::ensureInjected):

  • inspector/InjectedScriptModule.h:
  • inspector/agents/InspectorDebuggerAgent.cpp:

(Inspector::InspectorDebuggerAgent::currentCallFrames):

  • inspector/agents/InspectorDebuggerAgent.h:

Source/WebCore:

  • inspector/CommandLineAPIModule.cpp:

(WebCore::CommandLineAPIModule::injectIfNeeded):
(WebCore::CommandLineAPIModule::CommandLineAPIModule):

  • inspector/CommandLineAPIModule.h:
  • inspector/WebInjectedScriptManager.cpp:

(WebCore::WebInjectedScriptManager::didCreateInjectedScript):

  • inspector/WebInjectedScriptManager.h:
11:27 AM Changeset in webkit [192063] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Toolbar "Inspect Node" button not highlighting when active
https://bugs.webkit.org/show_bug.cgi?id=150938

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-11-05
Reviewed by Timothy Hatcher.

  • UserInterface/Views/ButtonToolbarItem.css:

(.toolbar .item.button:not(.disabled):matches(:focus, .activate.activated) > .glyph):
(.toolbar .item.button:not(.disabled):active:matches(:focus, .activate.activated) > .glyph):
Copy the navigation-bar button activated styles to toolbar.

11:25 AM Changeset in webkit [192062] by Chris Dumez
  • 8 edits in trunk/Source/WebKit2

[WK2] Clean up / Modernize NetworkResourceLoader
https://bugs.webkit.org/show_bug.cgi?id=150922

Reviewed by Andreas Kling.

Clean up / Modernize NetworkResourceLoader.

  • NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:

(WebKit::NetworkBlobRegistry::filesInBlob):

  • NetworkProcess/FileAPI/NetworkBlobRegistry.h:
  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::scheduleResourceLoad):
(WebKit::NetworkConnectionToWebProcess::performSynchronousLoad):

  • NetworkProcess/NetworkConnectionToWebProcess.h:
  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::SynchronousLoadData::SynchronousLoadData):
(WebKit::sendReplyToSynchronousRequest):
(WebKit::NetworkResourceLoader::NetworkResourceLoader):
(WebKit::NetworkResourceLoader::startNetworkLoad):
(WebKit::NetworkResourceLoader::didFinishLoading):
(WebKit::NetworkResourceLoader::willSendRedirectedRequest):
(WebKit::NetworkResourceLoader::bufferingTimerFired):
(WebKit::NetworkResourceLoader::sendBufferMaybeAborting):
(WebKit::NetworkResourceLoader::validateCacheEntry):
(WebKit::NetworkResourceLoader::messageSenderConnection):
(WebKit::NetworkResourceLoader::invalidateSandboxExtensions):
(WebKit::NetworkResourceLoader::~NetworkResourceLoader): Deleted.
(WebKit::NetworkResourceLoader::didReceiveBuffer): Deleted.
(WebKit::NetworkResourceLoader::didRetrieveCacheEntry): Deleted.
(WebKit::NetworkResourceLoader::consumeSandboxExtensions): Deleted.
(WebKit::NetworkResourceLoader::sendAbortingOnFailure): Deleted.

  • NetworkProcess/NetworkResourceLoader.h:
  • NetworkProcess/mac/NetworkDiskCacheMonitor.h:
11:22 AM Changeset in webkit [192061] by commit-queue@webkit.org
  • 31 edits in trunk/Source

Web Inspector: Put ScriptDebugServer into InspectorEnvironment and cleanup duplicate references
https://bugs.webkit.org/show_bug.cgi?id=150869

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-11-05
Reviewed by Brian Burg.

Source/JavaScriptCore:

ScriptDebugServer (JSC::Debugger) is being used by more and more agents
for instrumentation into JavaScriptCore. Currently the ScriptDebugServer
is owned by DebuggerAgent subclasses that make their own ScriptDebugServer
subclass. As more agents want to use it there was added boilerplate.
Instead, put the ScriptDebugServer in the InspectorEnvironment (Controllers).
Then each agent can access it during construction through the environment.

Do the same clean up for RuntimeAgent::globalVM, which is now just a
duplication of InspectorEnvironment::vm.

  • inspector/InspectorEnvironment.h:

Add scriptDebugServer().

  • inspector/JSGlobalObjectInspectorController.h:
  • inspector/JSGlobalObjectInspectorController.cpp:

(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
(Inspector::JSGlobalObjectInspectorController::scriptDebugServer):
Own the JSGlobalObjectScriptDebugServer.

  • inspector/agents/InspectorDebuggerAgent.h:
  • inspector/agents/InspectorDebuggerAgent.cpp:

(Inspector::InspectorDebuggerAgent::InspectorDebuggerAgent):
(Inspector::InspectorDebuggerAgent::enable):
(Inspector::InspectorDebuggerAgent::disable):
(Inspector::InspectorDebuggerAgent::setBreakpointsActive):
(Inspector::InspectorDebuggerAgent::isPaused):
(Inspector::InspectorDebuggerAgent::setSuppressAllPauses):
(Inspector::InspectorDebuggerAgent::handleConsoleAssert):
(Inspector::InspectorDebuggerAgent::removeBreakpoint):
(Inspector::InspectorDebuggerAgent::continueToLocation):
(Inspector::InspectorDebuggerAgent::resolveBreakpoint):
(Inspector::InspectorDebuggerAgent::schedulePauseOnNextStatement):
(Inspector::InspectorDebuggerAgent::cancelPauseOnNextStatement):
(Inspector::InspectorDebuggerAgent::resume):
(Inspector::InspectorDebuggerAgent::stepOver):
(Inspector::InspectorDebuggerAgent::stepInto):
(Inspector::InspectorDebuggerAgent::stepOut):
(Inspector::InspectorDebuggerAgent::setPauseOnExceptions):
(Inspector::InspectorDebuggerAgent::evaluateOnCallFrame):
(Inspector::InspectorDebuggerAgent::scriptExecutionBlockedByCSP):
(Inspector::InspectorDebuggerAgent::didPause):
(Inspector::InspectorDebuggerAgent::breakProgram):
(Inspector::InspectorDebuggerAgent::clearDebuggerBreakpointState):

  • inspector/agents/InspectorRuntimeAgent.h:
  • inspector/agents/InspectorRuntimeAgent.cpp:

(Inspector::InspectorRuntimeAgent::InspectorRuntimeAgent):
(Inspector::setPauseOnExceptionsState):
(Inspector::InspectorRuntimeAgent::parse):
(Inspector::InspectorRuntimeAgent::getRuntimeTypesForVariablesAtOffsets):
(Inspector::InspectorRuntimeAgent::setTypeProfilerEnabledState):
(Inspector::InspectorRuntimeAgent::getBasicBlocks):
Use VM and ScriptDebugServer passed during construction.

  • inspector/agents/JSGlobalObjectDebuggerAgent.h:
  • inspector/agents/JSGlobalObjectDebuggerAgent.cpp:

(Inspector::JSGlobalObjectDebuggerAgent::injectedScriptForEval):
(Inspector::JSGlobalObjectDebuggerAgent::JSGlobalObjectDebuggerAgent): Deleted.
One special case needed by this subclass as a convenience to access the global object.

  • inspector/agents/JSGlobalObjectRuntimeAgent.h:
  • inspector/agents/JSGlobalObjectRuntimeAgent.cpp:

(Inspector::JSGlobalObjectRuntimeAgent::globalVM): Deleted.
This virtual method is no longer needed, the base class has everything now.

Source/WebCore:

Refactoring covered by existing tests.

  • WebCore.xcodeproj/project.pbxproj:

Privately export PageScriptDebuggerAgent.h due to InspectorController.h needing it.

  • inspector/InspectorController.h:
  • inspector/InspectorController.cpp:

(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::scriptDebugServer):
Own the PageScriptDebugServer.

  • inspector/WorkerInspectorController.h:
  • inspector/WorkerInspectorController.cpp:

(WebCore::WorkerInspectorController::WorkerInspectorController):
(WebCore::WorkerInspectorController::scriptDebugServer):
Own the WorkerScriptDebugServer.

(WebCore::WorkerInspectorController::vm):
Use the VM accessed through the worker global object.

  • inspector/InspectorWebAgentBase.h:

(WebCore::InspectorAgentBase::InspectorAgentBase):
Given Web agents a m_environment convenience to access the InspectorEnvironment.

  • inspector/InspectorNetworkAgent.cpp:

(WebCore::InspectorNetworkAgent::timestamp):

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::timestamp):
(WebCore::InspectorPageAgent::enable):
(WebCore::InspectorPageAgent::frameStartedLoading):

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::didCreateFrontendAndBackend):
(WebCore::InspectorTimelineAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorTimelineAgent::internalStart):
(WebCore::InspectorTimelineAgent::internalStop):
(WebCore::InspectorTimelineAgent::timestamp):
(WebCore::InspectorTimelineAgent::startFromConsole):
(WebCore::InspectorTimelineAgent::willCallFunction):
(WebCore::InspectorTimelineAgent::willEvaluateScript):
(WebCore::InspectorTimelineAgent::setPageScriptDebugServer): Deleted.

  • inspector/InspectorTimelineAgent.h:

Use the InspectorEnvironment for VM / ScriptDebugServer.

  • inspector/PageDebuggerAgent.cpp:

(WebCore::PageDebuggerAgent::PageDebuggerAgent): Deleted.
(WebCore::PageDebuggerAgent::scriptDebugServer): Deleted.

  • inspector/PageDebuggerAgent.h:
  • inspector/PageRuntimeAgent.cpp:

(WebCore::PageRuntimeAgent::globalVM): Deleted.

  • inspector/PageRuntimeAgent.h:
  • inspector/WorkerDebuggerAgent.h:
  • inspector/WorkerRuntimeAgent.cpp:

(WebCore::WorkerRuntimeAgent::globalVM): Deleted.

  • inspector/WorkerRuntimeAgent.h:
  • inspector/WorkerDebuggerAgent.cpp:

(WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent): Deleted.
(WebCore::WorkerDebuggerAgent::scriptDebugServer): Deleted.
Remove now unnecessary subclass code.

(WebCore::WorkerDebuggerAgent::interruptAndDispatchInspectorCommands):
One more special case for accessing Worker properties from the ScriptDebugServer.

10:30 AM Changeset in webkit [192060] by Chris Dumez
  • 2 edits in trunk/Source/WebKit2

Regression(r192038): Safari cannot load any pages
https://bugs.webkit.org/show_bug.cgi?id=150937
<rdar://problem/23413859>

Reviewed by Alex Christensen.

Make sure we use the current "defersLoading" state instead of the
original one when constructing / initializing the NetworkLoad.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::startNetworkLoad):

9:19 AM Changeset in webkit [192059] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking http/tests/contentextensions/async-xhr-onerror.html as flaky on mac-wk2
https://bugs.webkit.org/show_bug.cgi?id=150577

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
6:51 AM Changeset in webkit [192058] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WTF

[GLib] Avoid gint64, std::chrono::microseconds overflows in RunLoop::TimerBase
https://bugs.webkit.org/show_bug.cgi?id=150930

Reviewed by Carlos Garcia Campos.

In RunLoop::TimerBase::start(), avoid overflowing the std::chrono::microseconds
value in case the passed-in fire interval (in seconds) is too large (e.g. when
std::chrono::microseconds::max() is used as the desired interval). This is
achieved by using the passed-in fire interval, converted in microseconds, only
if the value of this interval is smaller than std::chrono::microseconds::max().

In RunLoop::TimerBase::updateReadyTime(), the zero-delay is still considered a
short cut, but we use G_MAXINT64 in case the sum of the current time and the
desired fire interval (now in microseconds) would overflow.

  • wtf/glib/RunLoopGLib.cpp:

(WTF::RunLoop::TimerBase::updateReadyTime):
(WTF::RunLoop::TimerBase::start):

6:01 AM Changeset in webkit [192057] by calvaris@igalia.com
  • 12 edits in trunk

[Streams API] Shield implementation from user mangling Promise.reject and resolve methods
https://bugs.webkit.org/show_bug.cgi?id=150895

Reviewed by Youenn Fablet.

Source/JavaScriptCore:

Keep Promise.resolve and reject also as internal slots for the Promise constructor given that there is no way to
retrieve the former implementation if the user decides to replace it. This allows to safely create vended
promises even if the user changes the constructor methods.

  • runtime/JSPromiseConstructor.h:
  • runtime/JSPromiseConstructor.cpp:

(JSC::JSPromiseConstructor::addOwnInternalSlots): Added to include @reject and @resolve.
(JSC::JSPromiseConstructor::create): Call addOwnInternalSlots.

Source/WebCore:

Replace all calls to @Promise.resolve and @Promise.reject with their internal slot counterparts. This way we
ensure that if the user replaces those constructor methods, our implementation still works.

Test: streams/streams-promises.html.

  • Modules/streams/ReadableStream.js:

(initializeReadableStream):
(cancel):

  • Modules/streams/ReadableStreamInternals.js:

(privateInitializeReadableStreamReader):
(cancelReadableStream):
(readFromReadableStreamReader):

  • Modules/streams/ReadableStreamReader.js:

(cancel):
(read):
(closed):

  • Modules/streams/StreamInternals.js:

(promiseInvokeOrNoop):
(promiseInvokeOrFallbackOrNoop):

  • Modules/streams/WritableStream.js:

(initializeWritableStream):
(abort):
(close):
(write):
(closed):
(ready):

LayoutTests:

  • streams/streams-promises.html: Improved some style issues. Added tests about changing Promise.resolve and

reject.

  • streams/streams-promises-expected.txt: Added expectations.
3:36 AM Changeset in webkit [192056] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Give ResourceUsageOverlay a stacked chart for dirty memory per category.
<https://webkit.org/b/150905>

Reviewed by Antti Koivisto.

Refactored the data gathering to operate on "memory categories", a memory category is at
the top level a VM tag, e.g the VM tag for our bmalloc allocator. It can in turn have
sub-categories, e.g one for the GC heap, which allocates all of its blocks through bmalloc
and thus end up in the same tag.

Each category also has a hard-coded color, which is used consistently in labels and charts.

Also went back to drawing everything with CGContext directly instead of GraphicsContext
since the latter is not thread safe.

  • page/ResourceUsageOverlay.h:
  • page/cocoa/ResourceUsageOverlayCocoa.mm:

(-[WebOverlayLayer drawInContext:]):
(WebCore::RingBuffer::last):
(WebCore::MemoryCategoryInfo::MemoryCategoryInfo):
(WebCore::ResourceUsageData::ResourceUsageData):
(WebCore::showText):
(WebCore::drawGraphLabel):
(WebCore::drawCpuHistory):
(WebCore::drawGCHistory):
(WebCore::drawMemHistory):
(WebCore::drawSlice):
(WebCore::drawMemoryPie):
(WebCore::ResourceUsageOverlay::platformDraw):
(WebCore::categoryForVMTag):
(WebCore::runSamplerThread):
(WebCore::drawPlate): Deleted.
(WebCore::fontCascade): Deleted.
(WebCore::ResourceUsageOverlay::draw): Deleted.

1:54 AM Changeset in webkit [192055] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Having page overlays causes iframe to get composited
https://bugs.webkit.org/show_bug.cgi?id=150920

Reviewed by Tim Horton.

When deciding whether to enable compositing for a subframe, don't consult the
main frame's overlay count. Only do that for the main frame.

(WebCore::RenderLayerCompositor::updateCompositingLayers):

1:30 AM Changeset in webkit [192054] by Manuel Rego Casasnovas
  • 11 edits
    18 adds in trunk

[css-grid] Support positioned grid children
https://bugs.webkit.org/show_bug.cgi?id=150837

Reviewed by Darin Adler.

Source/WebCore:

According to the spec positioned grid children have
a special behavior described at:
https://drafts.csswg.org/css-grid/#abspos

The idea is that for positioned children the containing block will
correspond to the padding edges of the grid container, unless the
grid placement properties are defined.
This not only affects to positioned grid items (direct children) but
also to any descendant where the containing block is the grid container.

In order to manage this special behavior, the patch is overriding
RenderBlock::layoutPositionedObject() to calculate the position and size
depending on the grid-placement properties.

RenderBox class has some changes to calculate the containing block width
and height for positioned objects (using the override value). And also
to compute their static position.

Finally, the positioned items are not taken into account in all the
different grid methods, in order that they do not interfere the layout
of the grid as stated in the spec.

Tests: fast/css-grid-layout/absolute-positioning-grid-container-containing-block.html

fast/css-grid-layout/absolute-positioning-grid-container-parent.html
fast/css-grid-layout/grid-positioned-items-background.html
fast/css-grid-layout/grid-positioned-items-implicit-grid-line.html
fast/css-grid-layout/grid-positioned-items-implicit-grid.html
fast/css-grid-layout/grid-positioned-items-unknown-named-grid-line.html
fast/css-grid-layout/grid-sizing-positioned-items.html
fast/css-grid-layout/positioned-grid-items-should-not-create-implicit-tracks.html
fast/css-grid-layout/positioned-grid-items-should-not-take-up-space.html

  • rendering/OrderIterator.cpp:

(WebCore::OrderIterator::next): Fix method to avoid issues if no items
are added to the iterator.

  • rendering/RenderBlock.h: Mark layoutPositionedObject() as virtual.
  • rendering/RenderBox.cpp: Add new maps for inline/block extra offsets.

(WebCore::RenderBox::~RenderBox): Clear the new maps.
(WebCore::RenderBox::extraInlineOffset): Extra offset that we need to
apply to positioned grid children due to the grid placement properties.
(WebCore::RenderBox::extraBlockOffset): Ditto.
(WebCore::RenderBox::setExtraInlineOffset):
(WebCore::RenderBox::setExtraBlockOffset):
(WebCore::RenderBox::clearExtraInlineAndBlockOffests):
(WebCore::RenderBox::containingBlockLogicalWidthForPositioned): Use the
override containing block if any.
(WebCore::RenderBox::containingBlockLogicalHeightForPositioned): Ditto.
(WebCore::RenderBox::computePositionedLogicalWidth): Add the extra
offset if it's a positioned element.
(WebCore::RenderBox::computePositionedLogicalHeight): Ditto.

  • rendering/RenderBox.h:

(WebCore::RenderBox::scrollbarLogicalWidth): Add utility method.

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::layoutBlock): Clear grid after layout positioned
objects instead of at the end of layoutGridItems().
(WebCore::RenderGrid::placeItemsOnGrid): Ignore positioned items.
(WebCore::RenderGrid::populateExplicitGridAndOrderIterator): Ditto.
(WebCore::RenderGrid::layoutGridItems): Ditto.
(WebCore::RenderGrid::prepareChildForPositionedLayout): Set static
position for positioned items.
(WebCore::RenderGrid::layoutPositionedObject): Calculate position and
size for positioned children.
(WebCore::RenderGrid::offsetAndBreadthForPositionedChild): Calculate
extra offset and breadth for positioned children.

  • rendering/RenderGrid.h:
  • rendering/style/GridResolvedPosition.cpp:

(WebCore::GridResolvedPosition::isNonExistentNamedLineOrArea): Make it a
public static method.
(WebCore::GridUnresolvedSpan::adjustGridPositionsFromStyle): Fix calls
to isNonExistentNamedLineOrArea().
(WebCore::resolveGridPositionFromStyle): Ditto.

  • rendering/style/GridResolvedPosition.h: Make

isNonExistentNamedLineOrArea() public.

LayoutTests:

  • fast/css-grid-layout/absolute-positioning-grid-container-containing-block-expected.txt: Added.
  • fast/css-grid-layout/absolute-positioning-grid-container-containing-block.html: Added.
  • fast/css-grid-layout/absolute-positioning-grid-container-parent-expected.txt: Added.
  • fast/css-grid-layout/absolute-positioning-grid-container-parent.html: Added.
  • fast/css-grid-layout/grid-positioned-items-background-expected.html: Added.
  • fast/css-grid-layout/grid-positioned-items-background.html: Added.
  • fast/css-grid-layout/grid-positioned-items-implicit-grid-expected.txt: Added.
  • fast/css-grid-layout/grid-positioned-items-implicit-grid-line-expected.txt: Added.
  • fast/css-grid-layout/grid-positioned-items-implicit-grid-line.html: Added.
  • fast/css-grid-layout/grid-positioned-items-implicit-grid.html: Added.
  • fast/css-grid-layout/grid-positioned-items-unknown-named-grid-line-expected.txt: Added.
  • fast/css-grid-layout/grid-positioned-items-unknown-named-grid-line.html: Added.
  • fast/css-grid-layout/grid-sizing-positioned-items-expected.txt: Added.
  • fast/css-grid-layout/grid-sizing-positioned-items.html: Added.
  • fast/css-grid-layout/positioned-grid-items-should-not-create-implicit-tracks-expected.txt: Added.
  • fast/css-grid-layout/positioned-grid-items-should-not-create-implicit-tracks.html: Added.
  • fast/css-grid-layout/positioned-grid-items-should-not-take-up-space-expected.txt: Added.
  • fast/css-grid-layout/positioned-grid-items-should-not-take-up-space.html: Added.
  • fast/css-grid-layout/resources/grid.css: Added some common CSS classes.
1:29 AM Changeset in webkit [192053] by ryuan.choi@navercorp.com
  • 6 edits in trunk

[EFL] Add try_close API to handle beforeunload event
https://bugs.webkit.org/show_bug.cgi?id=150705

Reviewed by Gyuyoung Kim.

Source/WebKit2:

This patch adds ewk_view_try_close to have a chance to call confirm callback
for beforeunload event while destryoing webview.

  • UIProcess/API/efl/ewk_view.cpp:

(ewk_view_try_close):

  • UIProcess/API/efl/ewk_view.h:
  • UIProcess/API/efl/tests/test_ewk2_view.cpp:

(EWK2ViewTest::beforeUnloadCallback):
(EWK2ViewTest::windowCloseCallback):
(TEST_F): Added test case for ewk_view_try_close.

Tools:

  • MiniBrowser/efl/main.c:

(on_window_deletion):
Call ewk_view_try_close instead of removing object directly.
(window_create): Fixed that passes wrong data.

Nov 4, 2015:

11:12 PM Changeset in webkit [192052] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] Epiphany with Debug mode compiled WebKitGtk+ 2.10.3 hits ASSERT_ARG on willEnterAcceleratedCompositingMode
https://bugs.webkit.org/show_bug.cgi?id=150620

Reviewed by Mario Sanchez Prada.

WillEnterAcceleratedCompositingMode message is sent when the
LayerTreeHost is created in the Web Process. This can happen while
there's still a DidUpdateBackingStoreState pending, in which case
we are receiving the new backingStoreStateID, but the current one
hasn't been updated yet.

  • UIProcess/DrawingAreaProxyImpl.cpp:

(WebKit::DrawingAreaProxyImpl::willEnterAcceleratedCompositingMode):
Fix the ASSERT to check the given ID is alt least the next one,
and remove the early return since it's valid to not enter AC mode
in the end after the WillEnter message.

9:50 PM Changeset in webkit [192051] by benjamin@webkit.org
  • 16 edits in trunk/Source/JavaScriptCore

[JSC] Add B3-to-Air lowering for the shift opcodes
https://bugs.webkit.org/show_bug.cgi?id=150919

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

  • assembler/MacroAssemblerX86_64.h:

(JSC::MacroAssemblerX86_64::rshift64):
(JSC::MacroAssemblerX86_64::urshift64):

  • assembler/X86Assembler.h:

(JSC::X86Assembler::shrq_CLr):

  • b3/B3Const32Value.cpp:

(JSC::B3::Const32Value::shlConstant):
(JSC::B3::Const32Value::sShrConstant):
(JSC::B3::Const32Value::zShrConstant):

  • b3/B3Const32Value.h:
  • b3/B3Const64Value.cpp:

(JSC::B3::Const64Value::shlConstant):
(JSC::B3::Const64Value::sShrConstant):
(JSC::B3::Const64Value::zShrConstant):

  • b3/B3Const64Value.h:
  • b3/B3LowerToAir.cpp:

(JSC::B3::Air::LowerToAir::appendShift):
(JSC::B3::Air::LowerToAir::tryShl):
(JSC::B3::Air::LowerToAir::trySShr):
(JSC::B3::Air::LowerToAir::tryZShr):

  • b3/B3LoweringMatcher.patterns:
  • b3/B3Opcode.h:
  • b3/B3ReduceStrength.cpp:
  • b3/B3Value.cpp:

(JSC::B3::Value::shlConstant):
(JSC::B3::Value::sShrConstant):
(JSC::B3::Value::zShrConstant):

  • b3/B3Value.h:
  • b3/air/AirInstInlines.h:

(JSC::B3::Air::isShiftValid):
(JSC::B3::Air::isRshift32Valid):
(JSC::B3::Air::isRshift64Valid):
(JSC::B3::Air::isUrshift32Valid):
(JSC::B3::Air::isUrshift64Valid):

  • b3/air/AirOpcode.opcodes:
  • b3/testb3.cpp:

(JSC::B3::testShlArgs):
(JSC::B3::testShlImms):
(JSC::B3::testShlArgImm):
(JSC::B3::testShlArgs32):
(JSC::B3::testShlImms32):
(JSC::B3::testShlArgImm32):
(JSC::B3::testSShrArgs):
(JSC::B3::testSShrImms):
(JSC::B3::testSShrArgImm):
(JSC::B3::testSShrArgs32):
(JSC::B3::testSShrImms32):
(JSC::B3::testSShrArgImm32):
(JSC::B3::testZShrArgs):
(JSC::B3::testZShrImms):
(JSC::B3::testZShrArgImm):
(JSC::B3::testZShrArgs32):
(JSC::B3::testZShrImms32):
(JSC::B3::testZShrArgImm32):
(JSC::B3::run):

8:09 PM Changeset in webkit [192050] by Matt Baker
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: Load markers persist in timeline ruler after resetting recording
https://bugs.webkit.org/show_bug.cgi?id=150918

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/OverviewTimelineView.js:

(WebInspector.OverviewTimelineView):
(WebInspector.OverviewTimelineView.prototype._recordingReset):
Clears ruler markers on recording reset. Adds current time marker back.

  • UserInterface/Views/TimelineOverview.js:

(WebInspector.TimelineOverview):
(WebInspector.TimelineOverview.prototype._recordingReset):
Clears ruler markers on recording reset. Adds current time marker back.

  • UserInterface/Views/TimelineRuler.js:

(WebInspector.TimelineRuler.prototype.clearMarkers):
Added method to clear markers and marker elements.

8:07 PM Changeset in webkit [192049] by Matt Baker
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Uncaught Exception opening inspector - TypeError: Attempted to assign to readonly property.
https://bugs.webkit.org/show_bug.cgi?id=150913

Reviewed by Timothy Hatcher.

Fix invalid call to BackForwardEntry.prototype.contentView set.

  • UserInterface/Views/ContentViewContainer.js:

(WebInspector.ContentViewContainer.prototype.replaceContentView):
Replace each BackForwardEntry matching the old content view with a new entry.

7:21 PM Changeset in webkit [192048] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Uncaught exception mousing over CSS resource
https://bugs.webkit.org/show_bug.cgi?id=150917

Reviewed by Joseph Pecoraro.

  • UserInterface/Controllers/CodeMirrorTokenTrackingController.js:

(WebInspector.CodeMirrorTokenTrackingController.prototype._processMarkedToken): Add missing parameter.

7:16 PM Changeset in webkit [192047] by commit-queue@webkit.org
  • 2 edits in trunk/PerformanceTests

Remove "defer" from the scripts' references in the graphics benchmark home page
https://bugs.webkit.org/show_bug.cgi?id=150915

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

It causes the benchmark to be very flakey.

  • Animometer/runner/animometer.html:
6:22 PM FeatureFlags edited by nikos.andronikos-webkit@cisra.canon.com.au
(diff)
5:51 PM Changeset in webkit [192046] by bshafiei@apple.com
  • 2 edits in tags/Safari-602.1.10/Source/WebKit2

Merged r192045. rdar://problem/23402116

4:59 PM Changeset in webkit [192045] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION (r191499): 100% repro crash under _prepareForMoveToWindow:
https://bugs.webkit.org/show_bug.cgi?id=150912
<rdar://problem/23402116>

Reviewed by Simon Fraser.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _prepareForMoveToWindow:withCompletionHandler:]):

4:54 PM Changeset in webkit [192044] by Chris Dumez
  • 2 edits in trunk/Source/WebKit2

Regression(r192038): Crash in ~SandboxExtension()
https://bugs.webkit.org/show_bug.cgi?id=150898

Reviewed by Alex Christensen.

We are seeing a couple of crashes under ~SandboxExtension() on the bots
after ~SandboxExtension(). The reason is that the SandBoxExtension is
still in use (useCount > 0) when destroyed. This happens due to a bug
in setDefersLoading() that could cause the load to get started more
than once and thus the SandboxExtension to be consumed more than once.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::setDefersLoading):
(WebKit::NetworkResourceLoader::consumeSandboxExtensions):

4:46 PM Changeset in webkit [192043] by jiewen_tan@apple.com
  • 6 edits
    2 adds in trunk

Null dereference loading Blink layout test editing/execCommand/delete-hidden-crash.html
https://bugs.webkit.org/show_bug.cgi?id=149289
<rdar://problem/22746352>

Reviewed by Enrica Casucci.

Source/WebCore:

This is a merge of Blink r176497:
https://codereview.chromium.org/340713003

It ensures the start & end positions in DeleteSelectionCommand::initializePositionData
are editable.

Test: editing/execCommand/delete-hidden-crash.html

  • editing/DeleteSelectionCommand.cpp:

(WebCore::DeleteSelectionCommand::initializePositionData):

  • editing/Editor.cpp:

(WebCore::Editor::advanceToNextMisspelling):

  • editing/htmlediting.cpp:

(WebCore::firstEditablePositionAfterPositionInRoot):
(WebCore::lastEditablePositionBeforePositionInRoot):
These two functions don't make any sense to return VisiblePosition. Change them
to return Position instead. Since there is a viable conversion from Position to
VisiblePosition. It should not change the behavior of any other components depending
on it.

  • editing/htmlediting.h:

LayoutTests:

  • editing/execCommand/delete-hidden-crash-expected.txt: Added.
  • editing/execCommand/delete-hidden-crash.html: Added.
4:26 PM Changeset in webkit [192042] by mmaxfield@apple.com
  • 7 edits
    2 adds in trunk

Ruby base ending in tatechuyoko forces a line break before the tatechuyoko
https://bugs.webkit.org/show_bug.cgi?id=150883

Reviewed by Darin Adler.

Source/WebCore:

Asking the width of a 0-length tatechuyoko should return 0.

Test: fast/text/ruby-tatechuyoko.html

  • rendering/RenderCombineText.cpp:

(WebCore::RenderCombineText::width):

LayoutTests:

  • platform/mac/fast/text/international/text-combine-image-test-expected.txt: Updated.
  • platform/mac/fast/text/tatechuyoko-expected.txt: Ditto.
  • fast/text/ruby-tatechuyoko-expected.html: Added.
  • fast/text/ruby-tatechuyoko.html: Added.
4:01 PM Changeset in webkit [192041] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Updating expectations for fast/forms/HTMLOptionElement_label03.html on win
https://bugs.webkit.org/show_bug.cgi?id=150909

Unreviewed test gardening.

  • platform/win/TestExpectations:
3:59 PM Changeset in webkit [192040] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk

Source/WebInspectorUI:
Web Inspector: WebInspector.Color should support #rgba and #rrggbbaa syntax
https://bugs.webkit.org/show_bug.cgi?id=150894

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-11-04
Reviewed by Timothy Hatcher.

Support for hex with alpha color syntax.

  • UserInterface/Models/Color.js:

(WebInspector.Color.fromString):
(WebInspector.Color.prototype.nextFormat):
(WebInspector.Color.prototype.copy):
(WebInspector.Color.prototype.toString):
(WebInspector.Color.prototype._toShortHEXAlphaString):
(WebInspector.Color.prototype._toHEXAlphaString):
Add support for new hex syntax. Address some minor issues
like case insensitivity and extra comma separate values.

  • UserInterface/Views/CodeMirrorTextMarkers.js:

This prevent trailing hex characters from showing up
when cycling through color variants.

  • UserInterface/Views/CodeMirrorAdditions.js:

When CodeMirror stops treating the new values as error
this will give them our hex-color styles.

LayoutTests:
Web Inspector: Support #rgba and #rrggbbaa syntax
https://bugs.webkit.org/show_bug.cgi?id=150894

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-11-04
Reviewed by Timothy Hatcher.

  • inspector/model/color-expected.txt: Added.
  • inspector/model/color.html: Added.
3:34 PM Changeset in webkit [192039] by Wenson Hsieh
  • 10 edits in trunk

Fix crashing and flaky UIScriptController-based tests in fast/events/ios
https://bugs.webkit.org/show_bug.cgi?id=150901
<rdar://problem/23261499>

Reviewed by Simon Fraser.

Tools:

Clear out zooming and keyboard-related callbacks after uiScriptComplete has been invoked. This prevents
later tests from calling into code which previous tests attached to these callbacks and causing
WebKitTestRunner to crash due to accessing a deallocated UIScriptController.

  • WebKitTestRunner/UIScriptContext/UIScriptController.cpp:

(WTR::UIScriptController::platformClearAllCallbacks):
(WTR::UIScriptController::uiScriptComplete):

  • WebKitTestRunner/UIScriptContext/UIScriptController.h:
  • WebKitTestRunner/ios/UIScriptControllerIOS.mm:

(WTR::UIScriptController::platformClearAllCallbacks):

LayoutTests:

Several changes to tests in fast/events/ios that address flaky behavior when running these tests.
Removes an unnecessary (and flaky) check for the initial innerHeight in
keyboard-should-not-trigger-resize.html, refactors unscalable-viewport-clicks-on-doubletap.html to
send successive taps like the other fast-clicking tests, and adjusts input-value-after-oninput.html
to no longer break if typing in an input autocapitalizes the first letter.

  • fast/events/ios/input-value-after-oninput.html:
  • fast/events/ios/keyboard-should-not-trigger-resize-expected.txt:
  • fast/events/ios/keyboard-should-not-trigger-resize.html:
  • fast/events/ios/unscalable-viewport-clicks-on-doubletap-expected.txt:
  • fast/events/ios/unscalable-viewport-clicks-on-doubletap.html:
2:39 PM Changeset in webkit [192038] by Chris Dumez
  • 8 edits
    6 adds in trunk/Source/WebKit2

[WK2] Extract networking code out of NetworkResourceLoader class to improve reusability
https://bugs.webkit.org/show_bug.cgi?id=150898

Reviewed by Alex Christensen.

Extract networking code out of NetworkResourceLoader class to improve
reusability (will be used for speculative revalidation) and simplify
the NetworkResourceLoader.

  • CMakeLists.txt:
  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):

  • NetworkProcess/NetworkLoad.cpp: Added.
  • NetworkProcess/NetworkLoad.h: Added.
  • NetworkProcess/NetworkLoadClient.h: Added.
  • NetworkProcess/NetworkLoadParameters.cpp: Added.
  • NetworkProcess/NetworkLoadParameters.h: Added.
  • NetworkProcess/NetworkResourceLoader.cpp:
  • NetworkProcess/NetworkResourceLoader.h:
  • NetworkProcess/mac/NetworkLoadMac.mm: Added.
  • NetworkProcess/mac/NetworkResourceLoaderMac.mm:

(WebKit::NetworkResourceLoader::willCacheResponseAsync):

  • WebKit2.xcodeproj/project.pbxproj:
2:34 PM Changeset in webkit [192037] by Beth Dakin
  • 5 edits in trunk/Source/WebKit2

Link preview doesn't work on XHTML pages with Content-Type header as
application/xhtml+xml
https://bugs.webkit.org/show_bug.cgi?id=150740
-and corresponding-
rdar://problem/23063585

Reviewed by Darin Adler.

My original fix for this bug was incorrect in the presence of non-HTML
elements that happen to have the same local name as HTML elements. Since it
seems silly to have all of this logic in the UI process to determine whether
to treat something as a link or an image, this patch fixes the bug by adding
isLink and isImage to InteractionInformationAtPosition in order to simplify
everything. The only remaining uses of clickableElementName just use it to
compare against isNull and isEmpty, so that can be a bool too.

Add isLink and isImage, and turn clickableElementName into isClickableElement

  • Shared/InteractionInformationAtPosition.cpp:

(WebKit::InteractionInformationAtPosition::encode):
(WebKit::InteractionInformationAtPosition::decode):

  • Shared/InteractionInformationAtPosition.h:

Use the new isLink, isImage, and isClickableElement

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _actionForLongPress]):
(-[WKContentView gestureRecognizerShouldBegin:]):
(-[WKContentView _highlightLongPressRecognized:]):
(-[WKContentView _interactionShouldBeginFromPreviewItemController:forPosition:]):
(-[WKContentView _dataForPreviewItemController:atPosition:type:]):

Set everything correctly.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::getPositionInformation):

2:21 PM Changeset in webkit [192036] by Wenson Hsieh
  • 5 edits in trunk

Fix crashing fast-clicking WK2 tests on iOS
https://bugs.webkit.org/show_bug.cgi?id=150896
<rdar://problem/23344491>

Reviewed by Simon Fraser.

Source/WebKit2:

In order for the modified fast-clicking tests to pass, we can't allow hit-testing to
find the tap highlight view. See the Radar for more UIKit-specific descriptions.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _showTapHighlight]):

LayoutTests:

Fix the fast-clicking tests by making them fire an exact number of times rather than
sending continuously until a minimum number of clicks are fired. This causes us to
avoid crashing during the following test when the marker events corresponding to single
taps fired after the test has completed have been handled.

  • css3/touch-action/touch-action-manipulation-fast-clicks.html:
  • fast/events/ios/viewport-device-width-at-initial-scale-fast-clicks.html:
2:15 PM Changeset in webkit [192035] by fpizlo@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

B3 should be able to compile a Check
https://bugs.webkit.org/show_bug.cgi?id=150878

Reviewed by Saam Barati.

The Check opcode in B3 is going to be our main OSR exit mechanism. It is a stackmap
value, so you can pass it any number of additional arguments, and you will get to find
out how those arguments are represented at the point that the value lands in the machine
code. Unlike a Patchpoint, a Check branches on a value, with the goal of supporting full
compare/branch fusion. The stackmap's generator runs in an out-of-line path to which
that branch is linked.

This change fills in the glue necessary to compile a Check and it includes a simple
test of this functionality. That test also happens to check that such simple code will
never use callee-saves, which I think is sensible.

  • b3/B3LowerToAir.cpp:

(JSC::B3::Air::LowerToAir::append):
(JSC::B3::Air::LowerToAir::ensureSpecial):
(JSC::B3::Air::LowerToAir::fillStackmap):
(JSC::B3::Air::LowerToAir::tryStackSlot):
(JSC::B3::Air::LowerToAir::tryPatchpoint):
(JSC::B3::Air::LowerToAir::tryCheck):
(JSC::B3::Air::LowerToAir::tryUpsilon):

  • b3/B3LoweringMatcher.patterns:
  • b3/testb3.cpp:

(JSC::B3::testSimplePatchpoint):
(JSC::B3::testSimpleCheck):
(JSC::B3::run):

1:46 PM Changeset in webkit [192034] by keith_miller@apple.com
  • 7 edits
    4 adds in trunk

Fix endless OSR exits when creating a rope that contains an object that ToPrimitive's to a number.
https://bugs.webkit.org/show_bug.cgi?id=150583

Reviewed by Benjamin Poulain.

Source/JavaScriptCore:

Before we assumed that the result of ToPrimitive on any object was a string.
This had a couple of negative effects. First, the result ToPrimitive on an
object can be overridden to be any primitive type. In fact, as of ES6, ToPrimitive,
when part of a addition expression, will type hint a number value. Second, even after
repeatedly exiting with a bad type we would continue to think that the result
of ToPrimitive would be a string so we continue to convert StrCats into MakeRope.

The fix is to make Prediction Propagation match the behavior of Fixup and move
canOptimizeStringObjectAccess to DFGGraph.

  • bytecode/SpeculatedType.h:
  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::attemptToForceStringArrayModeByToStringConversion):
(JSC::DFG::FixupPhase::fixupToPrimitive):
(JSC::DFG::FixupPhase::fixupToStringOrCallStringConstructor):
(JSC::DFG::FixupPhase::attemptToMakeFastStringAdd):
(JSC::DFG::FixupPhase::isStringPrototypeMethodSane): Deleted.
(JSC::DFG::FixupPhase::canOptimizeStringObjectAccess): Deleted.

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::isStringPrototypeMethodSane):
(JSC::DFG::Graph::canOptimizeStringObjectAccess):

  • dfg/DFGGraph.h:
  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::resultOfToPrimitive):
(JSC::DFG::resultOfToPrimitive): Deleted.

  • bytecode/SpeculatedType.h:
  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::attemptToForceStringArrayModeByToStringConversion):
(JSC::DFG::FixupPhase::fixupToPrimitive):
(JSC::DFG::FixupPhase::fixupToStringOrCallStringConstructor):
(JSC::DFG::FixupPhase::attemptToMakeFastStringAdd):
(JSC::DFG::FixupPhase::isStringPrototypeMethodSane): Deleted.
(JSC::DFG::FixupPhase::canOptimizeStringObjectAccess): Deleted.

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::isStringPrototypeMethodSane):
(JSC::DFG::Graph::canOptimizeStringObjectAccess):

  • dfg/DFGGraph.h:
  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::resultOfToPrimitive):
(JSC::DFG::resultOfToPrimitive): Deleted.

  • tests/stress/string-rope-with-custom-valueof.js: Added.

(catNumber):
(number.valueOf):
(catBool):
(bool.valueOf):
(catUndefined):
(undef.valueOf):
(catRandom):
(random.valueOf):

LayoutTests:

Created a regression test to look for OSRing in string concatenation when
valueOf returns a non-string primitive.

  • js/regress/script-tests/string-rope-with-object.js: Added.

(body.f):
(body.String.prototype.valueOf):
(body.bar.valueOf):
(body):

  • js/regress/string-rope-with-object-expected.txt: Added.
  • js/regress/string-rope-with-object.html: Added.
1:28 PM Changeset in webkit [192033] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Rebaselining LayoutTest fast/text/international/thai-baht-space.html on win
https://bugs.webkit.org/show_bug.cgi?id=150865

Unreviewed test gardening.

  • platform/win/fast/text/international/thai-baht-space-expected.txt:
12:50 PM Changeset in webkit [192032] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Update the name of a Mail class that we hardcode
https://bugs.webkit.org/show_bug.cgi?id=150879
<rdar://problem/23384627>

Reviewed by Alexey Proskuryakov.

  • editing/cocoa/HTMLConverter.mm:

(_WebMessageDocumentClass):

11:38 AM Changeset in webkit [192031] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

PageLoadState::will/didChangeProcessIsResponsive should call observers
https://bugs.webkit.org/show_bug.cgi?id=150870

Reviewed by Dan Bernstein.

  • UIProcess/PageLoadState.cpp:

(WebKit::PageLoadState::willChangeProcessIsResponsive):
(WebKit::PageLoadState::didChangeProcessIsResponsive):

11:21 AM Changeset in webkit [192030] by Ryan Haddad
  • 1 edit in trunk/Source/WebKit2/ChangeLog

Speculative build fix. Missed the checkin for the changelog with r192029.

  • UIProcess/API/Cocoa/WKWebView.mm:
11:03 AM Changeset in webkit [192029] by Ryan Haddad
  • 1 edit in trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm
10:55 AM Changeset in webkit [192028] by eric.carlson@apple.com
  • 14 edits in trunk/Source/WebCore

[MediaStream] A RealtimeMediaSource should begin producing data automatically
https://bugs.webkit.org/show_bug.cgi?id=150851
rdar://problem/23380636

A RealtimeMediaSource should be producing data unless it is muted, which is not under the
control of the application, so a local source should begin producing data as soon as it
is added to a stream. Remove "producing data" and "enabled" observer callbacks because
they don't provide anything that the "muted" callback already provides.

Reviewed by Jer Noble.

  • Modules/mediastream/MediaStreamTrack.cpp:

(WebCore::MediaStreamTrack::trackProducingDataChanged): Deleted.

  • Modules/mediastream/MediaStreamTrack.h:
  • Modules/mediastream/UserMediaRequest.cpp:

(WebCore::UserMediaRequest::didCreateStream): Tell sources to begin producing data.

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

(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::load): Don't call stream->startProducingData,

it isn't necessary.

(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::setReadyState): Call characteristicsChanged

when the readyState changes.

  • platform/mediastream/MediaStreamPrivate.cpp:

(WebCore::MediaStreamPrivate::trackProducingDataChanged): Deleted.

  • platform/mediastream/MediaStreamPrivate.h:
  • platform/mediastream/MediaStreamTrackPrivate.cpp:

(WebCore::MediaStreamTrackPrivate::sourceProducingDataChanged): Deleted.
(WebCore::MediaStreamTrackPrivate::sourceEnabledChanged): Deleted.

  • platform/mediastream/MediaStreamTrackPrivate.h:
  • platform/mediastream/RealtimeMediaSource.cpp:

(WebCore::RealtimeMediaSource::isProducingDataDidChange): Deleted.
(WebCore::RealtimeMediaSource::setEnabled): Deleted.

  • platform/mediastream/RealtimeMediaSource.h:
  • platform/mediastream/mac/AVAudioCaptureSource.mm:

(WebCore::AVAudioCaptureSource::captureOutputDidOutputSampleBufferFromConnection): !enabled() -> muted().

  • platform/mediastream/mac/AVMediaCaptureSource.mm:

(WebCore::AVMediaCaptureSource::captureSessionIsRunningDidChange): Don't call isProducingDataDidChange..

  • platform/mediastream/mac/AVVideoCaptureSource.mm:

(WebCore::AVVideoCaptureSource::processNewFrame): !enabled() -> muted().

10:48 AM Changeset in webkit [192027] by jer.noble@apple.com
  • 12 edits
    6 adds in trunk

[iOS] <video> elements without audio tracks should not interrupt music
https://bugs.webkit.org/show_bug.cgi?id=149888

Reviewed by Eric Carlson.

Source/WebCore:

Tests: TestWebKitAPI/Tests/WebKit/ios/AudioSessionCategoryIOS.mm

Only set the AVAudioSession category to "playback" when the video element in question has an
audio track.

Add a new PlatformMediaSessionClient method called canProduceAudio(), overridden in HTMLMediaElement
and AudioContext, which is checked when updating the AudioSession category in
PlatformMediaSessionManager::updateSessionState().

  • Modules/webaudio/AudioContext.h:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::mediaPlayerCharacteristicChanged):

  • html/HTMLMediaElement.h:
  • platform/audio/PlatformMediaSession.cpp:

(WebCore::PlatformMediaSession::activeAudioSessionRequired):
(WebCore::PlatformMediaSession::setCanProduceAudio):

  • platform/audio/PlatformMediaSession.h:

(WebCore::PlatformMediaSession::canProduceAudio):

  • platform/audio/PlatformMediaSessionManager.cpp:

(WebCore::PlatformMediaSessionManager::canProduceAudio):
(WebCore::PlatformMediaSessionManager::sessionCanProduceAudioChanged):
(WebCore::PlatformMediaSessionManager::activeAudioSessionRequired):
(WebCore::PlatformMediaSessionManager::sessionWillBeginPlayback):

  • platform/audio/PlatformMediaSessionManager.h:
  • platform/audio/mac/MediaSessionManagerMac.cpp:

(PlatformMediaSessionManager::updateSessionState):

Tools:

Add tests to ensure that the AVAudioSession category is correctly set when playing
back media both with and without audio tracks.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit/ios/AudioSessionCategoryIOS.mm: Added.

(-[AudioSessionCategoryUIWebViewDelegate webView:shouldStartLoadWithRequest:navigationType:]):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit/ios/video-with-audio.html: Added.
  • TestWebKitAPI/Tests/WebKit/ios/video-with-audio.mp4: Added.
  • TestWebKitAPI/Tests/WebKit/ios/video-without-audio.html: Added.
  • TestWebKitAPI/Tests/WebKit/ios/video-without-audio.mp4: Added.
10:40 AM Changeset in webkit [192026] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Fixing test added with r192022
https://bugs.webkit.org/show_bug.cgi?id=150670

Unreviewed test gardening.

  • accessibility/list-item-with-pseudo-element-crash.html:
10:12 AM Changeset in webkit [192025] by ap@apple.com
  • 2 edits in trunk/Tools

iOS test results are not visible on the flakiness dashboard
https://bugs.webkit.org/show_bug.cgi?id=150884

Reviewed by Darin Adler.

Re-generated builders.jsonp using generate_builders_json.py.

I think that this is all that's needed for basic support. There is more work needed
to display test expectations, but that's already mostly broken even for Mac.

  • TestResultServer/static-dashboards/builders.jsonp:
10:09 AM Changeset in webkit [192024] by calvaris@igalia.com
  • 2 edits in trunk/Source/JavaScriptCore

Remove bogus global internal functions for properties and prototype retrieval
https://bugs.webkit.org/show_bug.cgi?id=150892

Reviewed by Darin Adler.

Global @getOwnPropertyNames and @getPrototypeOf point to the floor function, so it is bogus dead code.

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init): Removed global @getOwnPropertyNames and @getPrototypeOf.

9:49 AM Changeset in webkit [192023] by dino@apple.com
  • 14 edits
    2 adds
    8 deletes in trunk

Accept 8 and 4 value hex colors (#RRGGBBAA)
https://bugs.webkit.org/show_bug.cgi?id=150853
<rdar://problem/23380930>

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

Delete these tests. The have been updated in the original repository,
so we'll get the new versions soon. Meanwhile, they are covered by
other tests.

  • canvas/2d.fillStyle.parse.invalid.hex4-expected.txt: Removed.
  • canvas/2d.fillStyle.parse.invalid.hex4.html: Removed.
  • canvas/2d.fillStyle.parse.invalid.hex8-expected.txt: Removed.
  • canvas/2d.fillStyle.parse.invalid.hex8.html: Removed.
  • css/css-color-3/t421-rgb-hex-parsing-f.xht:

Source/WebCore:

CSS Color Level 4 allows #RGBA and #RRGGBBAA values
for colors.

Test: fast/css/hex-colors.html

  • platform/graphics/Color.cpp:

(WebCore::parseHexColorInternal): Update the color parsing for
the new syntax.

LayoutTests:

Add a new test for hex colors that covers 4 and 8 value forms.
Also update existing tests now that the syntax has changed.

For the deleted philip tests, they are now in the W3C web-latform-tests import.

  • canvas/philip/tests/2d.fillStyle.parse.invalid.hex4-expected.txt: Removed.
  • canvas/philip/tests/2d.fillStyle.parse.invalid.hex4.html: Removed.
  • canvas/philip/tests/2d.fillStyle.parse.invalid.hex8-expected.txt: Removed.
  • canvas/philip/tests/2d.fillStyle.parse.invalid.hex8.html: Removed.
  • fast/css/hex-colors-expected.txt: Added.
  • fast/css/hex-colors.html: Added.
  • fast/css/invalid-hex-color-expected.txt:
  • fast/css/invalid-hex-color.html:
  • fast/css/invalid-predefined-color-expected.txt:
  • fast/css/invalid-predefined-color.html:
  • fast/css/script-tests/invalid-predefined-color.js:
  • fast/dom/attribute-legacy-colors-expected.txt:
  • fast/dom/script-tests/attribute-legacy-colors.js:
  • svg/dom/rgb-color-parser-expected.txt:
  • svg/dom/rgb-color-parser.html:
6:46 AM Changeset in webkit [192022] by mario@webkit.org
  • 4 edits
    2 adds in trunk

[AX] WebProcess from WebKitGtk+ 2.10.0 compiled in Debug mode hits ASSERT on textUnderElement
https://bugs.webkit.org/show_bug.cgi?id=150670

Source/WebCore:

Patch by Mario Sanchez Prada <mario@webkit.org> on 2015-11-04
Reviewed by Chris Fleizach.

Move the ASSERTs stating that the render tree is stable before using the
TextIterator to their right place, in AccessibilityRenderObject, so that
we don't crash in debug builds in cases when this condition is irrelevant.

Test: accessibility/gtk/list-item-with-pseudo-element-crash.html

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::textUnderElement): Removed ASSERTs.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::textUnderElement): Added ASSERTs, but
only before calling plainText and using the right document for the node.

LayoutTests:

Patch by Joanmarie Diggs <jdiggs@igalia.com> on 2015-11-04
Reviewed by Chris Fleizach.

  • accessibility/list-item-with-pseudo-element-crash-expected.txt: Added.
  • accessibility/list-item-with-pseudo-element-crash.html: Added.
3:15 AM Changeset in webkit [192021] by calvaris@igalia.com
  • 8 edits
    2 adds in trunk

[Streams API] Shield streams against user replacing the Promise constructor
https://bugs.webkit.org/show_bug.cgi?id=150887

Reviewed by Youenn Fablet.

Source/WebCore:

With this rework, we shield the Streams implementation against the user doing something like "Promise =
function() { /* do garbage */ };".

Test: streams/streams-promises.html.

  • Modules/streams/ReadableStream.js:

(initializeReadableStream):
(cancel):

  • Modules/streams/ReadableStreamInternals.js:

(privateInitializeReadableStreamReader):
(cancelReadableStream):
(readFromReadableStreamReader):

  • Modules/streams/ReadableStreamReader.js:

(cancel):
(read):
(closed):

  • Modules/streams/StreamInternals.js:

(promiseInvokeOrNoop):
(promiseInvokeOrFallbackOrNoop):

  • Modules/streams/WritableStream.js:

(initializeWritableStream):
(abort):
(close):
(write):
(closed):
(ready):

  • Modules/streams/WritableStreamInternals.js:

(syncWritableStreamStateWithQueue):

LayoutTests:

  • streams/streams-promises-expected.txt: Added.
  • streams/streams-promises.html: Added.
2:40 AM Changeset in webkit [192020] by commit-queue@webkit.org
  • 6 edits
    12 adds in trunk

SVG: hit testing region for <text> elements is incorrect
https://bugs.webkit.org/show_bug.cgi?id=150838

Patch by Antoine Quint <Antoine Quint> on 2015-11-04
Reviewed by Dean Jackson.

Source/WebCore:

Hit testing for SVG <text> elements was using the same code as hit testing
for CSS-rendered elements. However, in SVG, text elements should only hit
test based on their character cells, not the rectangular bounds of the
element, see section 16.6 of the SVG 1.1 specification:

http://www.w3.org/TR/SVG11/interact.html#PointerEventsProperty

So we now hit test each SVGTextFragment of each SVGInlineTextBox
that is a child of an SVGRootInlineBox to correctly find whether the
provided HitTestLocation is contained within a character cell.

Tests: svg/hittest/text-dominant-baseline-hanging.svg

svg/hittest/text-multiple-dx-values.svg
svg/hittest/text-with-multiple-tspans.svg
svg/hittest/text-with-text-node-and-content-elements.svg
svg/hittest/text-with-text-node-only.svg
svg/hittest/text-with-text-path.svg

  • rendering/RootInlineBox.h:

Remove the final keyword since nodeAtPoint() may now be subclassed as
implemented in SVGRootInlineBox.

  • rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::nodeAtPoint):
Iterate over the SVGTextFragments to look for a fragment containing the
provided HitTestLocation.

  • rendering/svg/SVGRootInlineBox.cpp:

(WebCore::SVGRootInlineBox::nodeAtPoint):

  • rendering/svg/SVGRootInlineBox.h:

Override RootInlineBox::nodeAtPoint() to delegate hit testing to the
children inline boxes.

LayoutTests:

  • svg/hittest/text-dominant-baseline-hanging-expected.svg: Added.
  • svg/hittest/text-dominant-baseline-hanging.svg: Added.
  • svg/hittest/text-multiple-dx-values-expected.svg: Added.
  • svg/hittest/text-multiple-dx-values.svg: Added.
  • svg/hittest/text-with-multiple-tspans-expected.svg: Added.
  • svg/hittest/text-with-multiple-tspans.svg: Added.
  • svg/hittest/text-with-text-node-and-content-elements-expected.svg: Added.
  • svg/hittest/text-with-text-node-and-content-elements.svg: Added.
  • svg/hittest/text-with-text-node-only-expected.svg: Added.
  • svg/hittest/text-with-text-node-only.svg: Added.
  • svg/hittest/text-with-text-path-expected.svg: Added.
  • svg/hittest/text-with-text-path.svg: Added.
2:13 AM Changeset in webkit [192019] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebCore

[GStreamer] Use RunLoop::Timer for ready state timer in MediaPlayerPrivateGStreamer
https://bugs.webkit.org/show_bug.cgi?id=150836

Reviewed by Philippe Normand.

We don't really need a GThreadSafeMainLoopSource for this simple timer.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::readyTimerFired):
(WebCore::MediaPlayerPrivateGStreamer::changePipelineState):
(WebCore::MediaPlayerPrivateGStreamer::loadingFailed):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
1:34 AM Changeset in webkit [192018] by calvaris@igalia.com
  • 2 edits in trunk/LayoutTests

Unreviewed.

  • platform/win/TestExpectations: Marked 150867 as duplicate of 147933.
12:50 AM Changeset in webkit [192017] by fred.wang@free.fr
  • 10 edits
    2 adds in trunk/Source/WebCore

Add support for the USE_TYPO_METRICS flag on iOS
https://bugs.webkit.org/show_bug.cgi?id=131839

Reviewed by Darin Adler.

Make the iOS Font service use the typo metrics for fonts with a MATH table when the OS/2 USE_TYPO_METRICS flag is set.
The code shared by iOS, OS X and AppleWin is moved into a separate OpenTypeCG module.

No new tests because this is already tested by fonts/use-typo-metrics-1.html

  • PlatformAppleWin.cmake: Add OpenTypeCG files.
  • PlatformMac.cmake: ditto.
  • WebCore.vcxproj/WebCore.vcxproj: ditto.
  • WebCore.vcxproj/WebCore.vcxproj.filters: ditto.
  • WebCore.xcodeproj/project.pbxproj: ditto.
  • platform/graphics/cocoa/FontCocoa.mm:

(WebCore::Font::platformInit): Use functions from OpenTypeCG.
(WebCore::fontHasMathTable): Deleted.

  • platform/graphics/ios/FontServicesIOS.mm:

(WebCore::FontServicesIOS::FontServicesIOS): Use the typo metrics for fonts with a MATH table when the OS/2 USE_TYPO_METRICS flag is set.

  • platform/graphics/opentype/OpenTypeCG.h: Added.
  • platform/graphics/opentype/OpenTypeCG.cpp: Added.

(WebCore::OpenType::fontHasMathTable): Move this code from FontCocoa.mm.
(WebCore::OpenType::readShortFromTable): Inline function to read a 16-bit big endian integer from the OS/2 table and to cast it into a short integer.
(WebCore::OpenType::tryGetTypoMetrics): Move this code from FontCocoa.mm.

  • platform/graphics/opentype/OpenTypeTypes.h: Add missing Glyph.h header needed by TableWithCoverage::getCoverageIndex.
  • platform/graphics/win/SimpleFontDataCGWin.cpp:

(WebCore::Font::platformInit): Use functions from OpenTypeCG.

12:10 AM Changeset in webkit [192016] by Chris Dumez
  • 6 edits in trunk

Regression(r191652): Colloquy doesn’t render any chat content
https://bugs.webkit.org/show_bug.cgi?id=150861
<rdar://problem/23381007>

Reviewed by Antti Koivisto.

Source/WebCore:

Do a partial revert of r191652 as this web-exposed behavior change
broke Colloquy app. This only reverts the code change, the tests
are left as is so that they don't rely of the frame ID setting the
Window name.

  • html/HTMLFrameElementBase.cpp:

(WebCore::HTMLFrameElementBase::parseAttribute):
(WebCore::HTMLFrameElementBase::setNameAndOpenURL):

LayoutTests:

Update / rebaseline a couple of tests as this patch restores the
pre-r191652 behavior.

  • fast/dom/Window/window-special-properties-expected.txt:
  • fast/frames/iframe-no-name-expected.txt:
  • fast/frames/iframe-no-name.html:

Nov 3, 2015:

11:59 PM Changeset in webkit [192015] by aestes@apple.com
  • 3 edits in trunk/Source/WebKit2

[Cocoa] Add SPI to warm an initial web process
https://bugs.webkit.org/show_bug.cgi?id=150886

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(-[WKProcessPool _warmInitialProcess]):

  • UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
11:35 PM WebKitIDL edited by youenn.fablet@crf.canon.fr
(diff)
11:16 PM Changeset in webkit [192014] by beidson@apple.com
  • 50 edits
    8 adds in trunk

Modern IDB: Fill out IDBIndex, create MemoryIndex in backing store.
https://bugs.webkit.org/show_bug.cgi?id=150868

Reviewed by Alex Christensen.

Source/WebCore:

Tests: storage/indexeddb/modern/create-index-failures.html

storage/indexeddb/modern/get-index-failures.html
storage/indexeddb/modern/idbindex-properties-basic.html

Note: The MemoryIndex in the backing store doesn't actually do anything yet.

That's coming next.

  • CMakeLists.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • Modules/indexeddb/IDBIndex.h:
  • Modules/indexeddb/client/IDBConnectionToServer.cpp:

(WebCore::IDBClient::IDBConnectionToServer::createIndex):
(WebCore::IDBClient::IDBConnectionToServer::didCreateIndex):

  • Modules/indexeddb/client/IDBConnectionToServer.h:
  • Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
  • Modules/indexeddb/client/IDBCursorWithValueImpl.h:
  • Modules/indexeddb/client/IDBDatabaseImpl.cpp:

(WebCore::IDBClient::IDBDatabase::didCreateIndexInfo):

  • Modules/indexeddb/client/IDBDatabaseImpl.h:
  • Modules/indexeddb/client/IDBIndexImpl.cpp:

(WebCore::IDBClient::IDBIndex::create):
(WebCore::IDBClient::IDBIndex::IDBIndex):
(WebCore::IDBClient::IDBIndex::objectStore):
(WebCore::IDBClient::IDBIndex::keyPathAny):
(WebCore::IDBClient::IDBIndex::openCursor):
(WebCore::IDBClient::IDBIndex::count):
(WebCore::IDBClient::IDBIndex::openKeyCursor):
(WebCore::IDBClient::IDBIndex::get):
(WebCore::IDBClient::IDBIndex::getKey):

  • Modules/indexeddb/client/IDBIndexImpl.h:
  • Modules/indexeddb/client/IDBObjectStoreImpl.cpp:

(WebCore::IDBClient::IDBObjectStore::createIndex):
(WebCore::IDBClient::IDBObjectStore::index):

  • Modules/indexeddb/client/IDBObjectStoreImpl.h:
  • Modules/indexeddb/client/IDBTransactionImpl.cpp:

(WebCore::IDBClient::IDBTransaction::createObjectStore):
(WebCore::IDBClient::IDBTransaction::createIndex):
(WebCore::IDBClient::IDBTransaction::createIndexOnServer):
(WebCore::IDBClient::IDBTransaction::didCreateIndexOnServer):

  • Modules/indexeddb/client/IDBTransactionImpl.h:
  • Modules/indexeddb/legacy/LegacyIndex.h:
  • Modules/indexeddb/server/IDBBackingStore.h:
  • Modules/indexeddb/server/IDBConnectionToClient.cpp:

(WebCore::IDBServer::IDBConnectionToClient::didCreateIndex):

  • Modules/indexeddb/server/IDBConnectionToClient.h:
  • Modules/indexeddb/server/IDBConnectionToClientDelegate.h:
  • Modules/indexeddb/server/IDBServer.cpp:

(WebCore::IDBServer::IDBServer::createIndex):

  • Modules/indexeddb/server/IDBServer.h:
  • Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:

(WebCore::IDBServer::MemoryBackingStoreTransaction::addNewIndex):
(WebCore::IDBServer::MemoryBackingStoreTransaction::addExistingIndex):

  • Modules/indexeddb/server/MemoryBackingStoreTransaction.h:
  • Modules/indexeddb/server/MemoryIDBBackingStore.cpp:

(WebCore::IDBServer::MemoryIDBBackingStore::createIndex):

  • Modules/indexeddb/server/MemoryIDBBackingStore.h:
  • Modules/indexeddb/server/MemoryIndex.cpp: Added.

(WebCore::IDBServer::MemoryIndex::create):
(WebCore::IDBServer::MemoryIndex::MemoryIndex):
(WebCore::IDBServer::MemoryIndex::~MemoryIndex):

  • Modules/indexeddb/server/MemoryIndex.h: Added.

(WebCore::IDBServer::MemoryIndex::info):

  • Modules/indexeddb/server/MemoryObjectStore.cpp:

(WebCore::IDBServer::MemoryObjectStore::createIndex):
(WebCore::IDBServer::MemoryObjectStore::registerIndex):
(WebCore::IDBServer::MemoryObjectStore::unregisterIndex):

  • Modules/indexeddb/server/MemoryObjectStore.h:
  • Modules/indexeddb/server/UniqueIDBDatabase.cpp:

(WebCore::IDBServer::UniqueIDBDatabase::createIndex):
(WebCore::IDBServer::UniqueIDBDatabase::performCreateIndex):
(WebCore::IDBServer::UniqueIDBDatabase::didPerformCreateIndex):

  • Modules/indexeddb/server/UniqueIDBDatabase.h:
  • Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:

(WebCore::IDBServer::UniqueIDBDatabaseConnection::didCreateIndex):

  • Modules/indexeddb/server/UniqueIDBDatabaseConnection.h:
  • Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:

(WebCore::IDBServer::UniqueIDBDatabaseTransaction::createIndex):

  • Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
  • Modules/indexeddb/shared/IDBDatabaseInfo.cpp:

(WebCore::IDBDatabaseInfo::getInfoForExistingObjectStore):
(WebCore::IDBDatabaseInfo::infoForExistingObjectStore):

  • Modules/indexeddb/shared/IDBDatabaseInfo.h:
  • Modules/indexeddb/shared/IDBIndexInfo.cpp:

(WebCore::IDBIndexInfo::IDBIndexInfo):
(WebCore::IDBIndexInfo::isolatedCopy):

  • Modules/indexeddb/shared/IDBIndexInfo.h:

(WebCore::IDBIndexInfo::identifier):
(WebCore::IDBIndexInfo::objectStoreIdentifier):

  • Modules/indexeddb/shared/IDBObjectStoreInfo.cpp:

(WebCore::IDBObjectStoreInfo::createNewIndex):
(WebCore::IDBObjectStoreInfo::addExistingIndex):
(WebCore::IDBObjectStoreInfo::hasIndex):
(WebCore::IDBObjectStoreInfo::infoForExistingIndex):
(WebCore::IDBObjectStoreInfo::isolatedCopy):

  • Modules/indexeddb/shared/IDBObjectStoreInfo.h:
  • Modules/indexeddb/shared/IDBResultData.cpp:

(WebCore::IDBResultData::createIndexSuccess):

  • Modules/indexeddb/shared/IDBResultData.h:
  • Modules/indexeddb/shared/InProcessIDBServer.cpp:

(WebCore::InProcessIDBServer::didCreateIndex):
(WebCore::InProcessIDBServer::createIndex):

  • Modules/indexeddb/shared/InProcessIDBServer.h:
  • bindings/js/JSIDBObjectStoreCustom.cpp:

(WebCore::JSIDBObjectStore::createIndex):

  • platform/CrossThreadCopier.cpp:

(WebCore::IDBIndexInfo>::copy):

  • platform/CrossThreadCopier.h:

LayoutTests:

  • platform/mac-wk2/TestExpectations:
  • storage/indexeddb/modern/create-index-failures-expected.txt: Added.
  • storage/indexeddb/modern/create-index-failures.html: Added.
  • storage/indexeddb/modern/get-index-failures-expected.txt: Added.
  • storage/indexeddb/modern/get-index-failures.html: Added.
  • storage/indexeddb/modern/idbindex-properties-basic-expected.txt: Added.
  • storage/indexeddb/modern/idbindex-properties-basic.html: Added.
11:06 PM Changeset in webkit [192013] by aestes@apple.com
  • 2 edits in trunk/Source/WebKit2

[Cocoa] Adopt WKWebViewAdditions
https://bugs.webkit.org/show_bug.cgi?id=150885

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKWebView.mm:
10:35 PM Changeset in webkit [192012] by bshafiei@apple.com
  • 1 copy in tags/Safari-602.1.10

New tag.

10:33 PM Changeset in webkit [192011] by bshafiei@apple.com
  • 5 edits in trunk/Source

Versioning.

10:30 PM Changeset in webkit [192010] by aestes@apple.com
  • 2 edits in trunk/Source/WebCore

[Cocoa] Only query for kMGQDeviceName on iOS
https://bugs.webkit.org/show_bug.cgi?id=150858

Reviewed by Brent Fulgham.

  • platform/ios/Device.cpp:

(WebCore::deviceName): On non-iOS platorms, just return "iPhone" as the device name.

9:57 PM FeatureFlags edited by nikos.andronikos-webkit@cisra.canon.com.au
Add WEB_ANIMATIONS feature flag (diff)
9:45 PM Changeset in webkit [192009] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Unreviewed, rolling out r191995.
https://bugs.webkit.org/show_bug.cgi?id=150880

Broke iOS tests (Requested by ap on #webkit).

Reverted changeset:

"run-webkit-test should look in --root directory for
LayoutTestRelay"
https://bugs.webkit.org/show_bug.cgi?id=150859
http://trac.webkit.org/changeset/191995

9:12 PM Changeset in webkit [192008] by benjamin@webkit.org
  • 13 edits in trunk/Source/JavaScriptCore

[JSC] Add B3-to-Air lowering for BitXor
https://bugs.webkit.org/show_bug.cgi?id=150872

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

  • assembler/MacroAssemblerX86Common.h:

(JSC::MacroAssemblerX86Common::xor32):
Fix the indentation.

  • b3/B3Const32Value.cpp:

(JSC::B3::Const32Value::bitXorConstant):

  • b3/B3Const32Value.h:
  • b3/B3Const64Value.cpp:

(JSC::B3::Const64Value::bitXorConstant):

  • b3/B3Const64Value.h:
  • b3/B3LowerToAir.cpp:

(JSC::B3::Air::LowerToAir::tryXor):

  • b3/B3LoweringMatcher.patterns:
  • b3/B3ReduceStrength.cpp:
  • b3/B3Value.cpp:

(JSC::B3::Value::bitXorConstant):

  • b3/B3Value.h:
  • b3/air/AirOpcode.opcodes:
  • b3/testb3.cpp:

(JSC::B3::testBitXorArgs):
(JSC::B3::testBitXorSameArg):
(JSC::B3::testBitXorImms):
(JSC::B3::testBitXorArgImm):
(JSC::B3::testBitXorImmArg):
(JSC::B3::testBitXorBitXorArgImmImm):
(JSC::B3::testBitXorImmBitXorArgImm):
(JSC::B3::testBitXorArgs32):
(JSC::B3::testBitXorSameArg32):
(JSC::B3::testBitXorImms32):
(JSC::B3::testBitXorArgImm32):
(JSC::B3::testBitXorImmArg32):
(JSC::B3::testBitXorBitXorArgImmImm32):
(JSC::B3::testBitXorImmBitXorArgImm32):
(JSC::B3::run):

6:47 PM Changeset in webkit [192007] by jiewen_tan@apple.com
  • 4 edits
    2 adds in trunk

[WK1] Null dereference loading Blink layout test editing/input/text-input-controller-no-editable-no-crash.html
https://bugs.webkit.org/show_bug.cgi?id=149484
<rdar://problem/22811338>

Reviewed by Darin Adler.

Source/WebKit/mac:

firstRectForCharacterRange(): don't fall over in an editable-less frame.

  • WebView/WebFrame.mm:

(-[WebFrame _convertToDOMRange:]):

LayoutTests:

This test is from Blink r194870:
https://codereview.chromium.org/1122593004

  • editing/mac/input/text-input-controller-no-editable-no-crash-expected.txt: Added.
  • editing/mac/input/text-input-controller-no-editable-no-crash.html: Added.
  • platform/wk2/TestExpectations:
5:58 PM Changeset in webkit [192006] by commit-queue@webkit.org
  • 1 edit
    2 adds in trunk/Tools

Add graphics benchmark to performance bot
https://bugs.webkit.org/show_bug.cgi?id=150450

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-11-03
Reviewed by Chris Dumez.

  • Scripts/webkitpy/benchmark_runner/data/patches/Animometer.patch: Added.
  • Scripts/webkitpy/benchmark_runner/data/plans/animometer.plan: Added.

Add a patch and a plan to set the defaults of the benchmark, run it,
collect the result and report it to the benchmark runner.

5:48 PM Changeset in webkit [192005] by Matt Baker
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: REGRESSION (r191612): Storage sidebar panel tree outline is broken
https://bugs.webkit.org/show_bug.cgi?id=150862

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/ApplicationCacheFrameContentView.js:

Inherit from ContentView.

  • UserInterface/Views/StorageSidebarPanel.js:

(WebInspector.StorageSidebarPanel.prototype._addDatabase):
Fixed syntax error.
(WebInspector.StorageSidebarPanel.prototype._addIndexedDatabase):
(WebInspector.StorageSidebarPanel.prototype._addFrameManifest):
WebInspector.TreeOutline.append doesn't exist; changed to appendChild.

5:42 PM Changeset in webkit [192004] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Duplicate validateUserInterfaceItem in WKWebView
https://bugs.webkit.org/show_bug.cgi?id=150873

Reviewed by Anders Carlsson.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView changeFont:]):
(-[WKWebView startSpeaking:]):
(-[WKWebView validateUserInterfaceItem:]):
(-[WKWebView goBack:]):

5:03 PM Changeset in webkit [192003] by mark.lam@apple.com
  • 1 edit
    1 add in trunk/Source/JavaScriptCore

Add op_add tests to compare behavior of JIT generated code to the LLINT's.
https://bugs.webkit.org/show_bug.cgi?id=150864

Reviewed by Saam Barati.

  • tests/stress/op_add.js: Added.

(o1.valueOf):
(generateScenarios):
(printScenarios):
(testCases.func):
(func):
(initializeTestCases):
(runTest):

5:01 PM Changeset in webkit [192002] by ap@apple.com
  • 4 edits in trunk/LayoutTests

[iOS] Skip the touch tests
https://bugs.webkit.org/show_bug.cgi?id=150863

Reviewed by Darin Adler.

  • platform/ios-simulator-wk1/TestExpectations:
  • platform/ios-simulator-wk2/TestExpectations:
  • platform/ios-simulator/TestExpectations:
5:01 PM Changeset in webkit [192001] by bshafiei@apple.com
  • 9 edits in tags/Safari-602.1.9.1/Source

Merged r191999. rdar://problem/23376483

5:00 PM Changeset in webkit [192000] by mark.lam@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Rename DFG's compileAdd to compileArithAdd.
https://bugs.webkit.org/show_bug.cgi?id=150866

Reviewed by Benjamin Poulain.

The function is only supposed to generate code to do arithmetic addition on
numeric types. Naming it compileArithAdd() is more accurate, and is consistent
with the name of the node it emits code for (i.e. ArithAdd) as well as other
compiler functions for analogous operations e.g. compileArithSub.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileInstanceOf):
(JSC::DFG::SpeculativeJIT::compileArithAdd):
(JSC::DFG::SpeculativeJIT::compileAdd): Deleted.

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

4:58 PM Changeset in webkit [191999] by ggaren@apple.com
  • 9 edits in trunk/Source

2015-11-03 Geoffrey Garen <ggaren@apple.com>

Provide a way to turn off const in WebKit2.

Reviewed by Sam Weinig.

4:50 PM Changeset in webkit [191998] by achristensen@apple.com
  • 12 edits in trunk/Source/WebKit2

Create a NetworkSession for each SessionID
https://bugs.webkit.org/show_bug.cgi?id=150857

Reviewed by Anders Carlsson.

This patch renames SessionTracker::session to storageSession and makes a parallel
structure for NetworkSessions. NetworkSession and NetworkStorageSession should eventually
become the same class in WebCore. Because not everybody uses NetworkSessions yet,
we keep them separate but created, destroyed, and managed together.

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::storageSession):

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::fetchWebsiteData):
(WebKit::NetworkProcess::deleteWebsiteData):
(WebKit::NetworkProcess::deleteWebsiteDataForOrigins):

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::startNetworkLoad):
(WebKit::NetworkResourceLoader::abort):

  • NetworkProcess/NetworkResourceLoader.h:
  • NetworkProcess/NetworkSession.h:

(WebKit::NetworkSessionTaskClient::~NetworkSessionTaskClient):
(WebKit::NetworkDataTask::client):
(WebKit::NetworkDataTask::clearClient):
(WebKit::NetworkingDataTask::client): Deleted.
(WebKit::NetworkingDataTask::clearClient): Deleted.
(WebKit::NetworkSession::~NetworkSession): Deleted.

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(WebKit::configurationForType):
(WebKit::defaultNetworkSession):
(WebKit::NetworkSession::defaultSession):
(WebKit::NetworkSession::NetworkSession):
(WebKit::NetworkSession::~NetworkSession):
(WebKit::NetworkSession::createDataTaskWithRequest):
(WebKit::NetworkSession::dataTaskForIdentifier):
(WebKit::NetworkDataTask::NetworkDataTask):
(WebKit::NetworkDataTask::~NetworkDataTask):
(WebKit::NetworkDataTask::cancel):
(WebKit::NetworkDataTask::resume):
(WebKit::NetworkDataTask::taskIdentifier):
(WebKit::NetworkSession::create): Deleted.
(WebKit::NetworkSession::singleton): Deleted.
(WebKit::NetworkingDataTask::NetworkingDataTask): Deleted.
(WebKit::NetworkingDataTask::~NetworkingDataTask): Deleted.
(WebKit::NetworkingDataTask::suspend): Deleted.
(WebKit::NetworkingDataTask::resume): Deleted.
(WebKit::NetworkingDataTask::taskIdentifier): Deleted.

  • NetworkProcess/mac/RemoteNetworkingContext.mm:

(WebKit::RemoteNetworkingContext::storageSession):
(WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):

  • Shared/SessionTracker.cpp:

(WebKit::staticStorageSessionMap):
(WebKit::identifierBase):
(WebKit::SessionTracker::storageSessionMap):
(WebKit::SessionTracker::getIdentifierBase):
(WebKit::SessionTracker::storageSession):
(WebKit::staticSessionMap):
(WebKit::SessionTracker::networkSession):
(WebKit::SessionTracker::sessionID):
(WebKit::SessionTracker::setSession):
(WebKit::SessionTracker::destroySession):
(WebKit::SessionTracker::sessionMap): Deleted.
(WebKit::SessionTracker::session): Deleted.

  • Shared/SessionTracker.h:
  • WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:

(WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
(WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts):
(WebKit::WebFrameNetworkingContext::storageSession):

  • WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:

(WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
(WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts):
(WebKit::WebFrameNetworkingContext::storageSession):

4:43 PM Changeset in webkit [191997] by commit-queue@webkit.org
  • 19 edits in trunk/Source

Web Inspector: Remove duplication among ScriptDebugServer subclasses
https://bugs.webkit.org/show_bug.cgi?id=150860

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-11-03
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

ScriptDebugServer expects a list of listeners to dispatch events to.
However each of its subclasses had their own implementation of the
list because of different handling when the first was added or when
the last was removed. Extract common code into ScriptDebugServer
which simplifies things.

Subclasses now only implement a virtual methods "attachDebugger"
and "detachDebugger" which is the unique work done when the first
listener is added or last is removed.

  • inspector/JSGlobalObjectScriptDebugServer.cpp:

(Inspector::JSGlobalObjectScriptDebugServer::attachDebugger):
(Inspector::JSGlobalObjectScriptDebugServer::detachDebugger):
(Inspector::JSGlobalObjectScriptDebugServer::addListener): Deleted.
(Inspector::JSGlobalObjectScriptDebugServer::removeListener): Deleted.

  • inspector/JSGlobalObjectScriptDebugServer.h:
  • inspector/ScriptDebugServer.cpp:

(Inspector::ScriptDebugServer::dispatchBreakpointActionLog):
(Inspector::ScriptDebugServer::dispatchBreakpointActionSound):
(Inspector::ScriptDebugServer::dispatchBreakpointActionProbe):
(Inspector::ScriptDebugServer::sourceParsed):
(Inspector::ScriptDebugServer::dispatchFunctionToListeners):
(Inspector::ScriptDebugServer::addListener):
(Inspector::ScriptDebugServer::removeListener):

  • inspector/ScriptDebugServer.h:
  • inspector/agents/InspectorDebuggerAgent.cpp:

(Inspector::InspectorDebuggerAgent::enable):
(Inspector::InspectorDebuggerAgent::disable):

  • inspector/agents/InspectorDebuggerAgent.h:
  • inspector/agents/JSGlobalObjectDebuggerAgent.cpp:

(Inspector::JSGlobalObjectDebuggerAgent::startListeningScriptDebugServer): Deleted.
(Inspector::JSGlobalObjectDebuggerAgent::stopListeningScriptDebugServer): Deleted.

  • inspector/agents/JSGlobalObjectDebuggerAgent.h:
  • inspector/ScriptDebugListener.h:

(Inspector::ScriptDebugListener::Script::Script):
Drive-by convert Script to a struct, it has public fields and is used as such.

Source/WebCore:

Refactoring covered by existing tests.

  • bindings/js/WorkerScriptDebugServer.cpp:

(WebCore::WorkerScriptDebugServer::attachDebugger):
(WebCore::WorkerScriptDebugServer::detachDebugger):
(WebCore::WorkerScriptDebugServer::addListener): Deleted.
(WebCore::WorkerScriptDebugServer::removeListener): Deleted.

  • bindings/js/WorkerScriptDebugServer.h:
  • inspector/PageDebuggerAgent.cpp:

(WebCore::PageDebuggerAgent::startListeningScriptDebugServer): Deleted.
(WebCore::PageDebuggerAgent::stopListeningScriptDebugServer): Deleted.

  • inspector/PageDebuggerAgent.h:
  • inspector/PageScriptDebugServer.cpp:

(WebCore::PageScriptDebugServer::attachDebugger):
(WebCore::PageScriptDebugServer::detachDebugger):
(WebCore::PageScriptDebugServer::addListener): Deleted.
(WebCore::PageScriptDebugServer::removeListener): Deleted.

  • inspector/PageScriptDebugServer.h:
  • inspector/WorkerDebuggerAgent.cpp:

(WebCore::WorkerDebuggerAgent::startListeningScriptDebugServer): Deleted.
(WebCore::WorkerDebuggerAgent::stopListeningScriptDebugServer): Deleted.

  • inspector/WorkerDebuggerAgent.h:
4:41 PM Changeset in webkit [191996] by fpizlo@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

B3::LowerToAir should recognize Neg (i.e. Sub($0, value))
https://bugs.webkit.org/show_bug.cgi?id=150759

Reviewed by Benjamin Poulain.

Adds various forms of Sub(0, value) and compiles them as Neg. Also fixes a bug in
StoreSubLoad. This bug was correctness-benign, so I couldn't add a test for it.

  • b3/B3LowerToAir.cpp:

(JSC::B3::Air::LowerToAir::immOrTmp):
(JSC::B3::Air::LowerToAir::appendUnOp):
(JSC::B3::Air::LowerToAir::appendBinOp):
(JSC::B3::Air::LowerToAir::tryAppendStoreUnOp):
(JSC::B3::Air::LowerToAir::tryAppendStoreBinOp):
(JSC::B3::Air::LowerToAir::trySub):
(JSC::B3::Air::LowerToAir::tryStoreSubLoad):

  • b3/B3LoweringMatcher.patterns:
  • b3/air/AirOpcode.opcodes:
  • b3/testb3.cpp:

(JSC::B3::testAdd1Ptr):
(JSC::B3::testNeg32):
(JSC::B3::testNegPtr):
(JSC::B3::testStoreAddLoad):
(JSC::B3::testStoreAddAndLoad):
(JSC::B3::testStoreNegLoad32):
(JSC::B3::testStoreNegLoadPtr):
(JSC::B3::testAdd1Uncommuted):
(JSC::B3::run):

4:39 PM Changeset in webkit [191995] by jmarcell@apple.com
  • 2 edits in trunk/Tools

run-webkit-test should look in --root directory for LayoutTestRelay
https://bugs.webkit.org/show_bug.cgi?id=150859

Reviewed by Daniel Bates.

For iOS run-webkit-tests, use LayoutTestRelay specified by --root; otherwise find
LayoutTestRelay in the Mac build directory when --root is unspecified.

  • Scripts/webkitpy/port/ios.py:

(IOSSimulatorPort.relay_path):

4:28 PM Changeset in webkit [191994] by fpizlo@apple.com
  • 18 edits
    2 adds in trunk/Source/JavaScriptCore

B3::Values that have effects should allow specification of custom HeapRanges
https://bugs.webkit.org/show_bug.cgi?id=150535

Reviewed by Benjamin Poulain.

Add a Effects field to calls and patchpoints. Add a HeapRange to MemoryValues.

In the process, I created a class for the CCall opcode, so that it has somewhere to put
the Effects field.

While doing this, I realized that we didn't have a good way of ensuring that an opcode
that requires a specific subclass was actually created with that subclass. So, I added
assertions for this.

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • b3/B3ArgumentRegValue.h:
  • b3/B3CCallValue.cpp: Added.
  • b3/B3CCallValue.h: Added.
  • b3/B3CheckValue.h:
  • b3/B3Const32Value.h:
  • b3/B3Const64Value.h:
  • b3/B3ConstDoubleValue.h:

(JSC::B3::ConstDoubleValue::ConstDoubleValue):

  • b3/B3ControlValue.h:
  • b3/B3Effects.h:

(JSC::B3::Effects::forCall):
(JSC::B3::Effects::mustExecute):

  • b3/B3MemoryValue.h:
  • b3/B3PatchpointValue.h:
  • b3/B3StackSlotValue.h:
  • b3/B3UpsilonValue.h:
  • b3/B3Value.cpp:

(JSC::B3::Value::effects):
(JSC::B3::Value::dumpMeta):
(JSC::B3::Value::checkOpcode):
(JSC::B3::Value::typeFor):

  • b3/B3Value.h:
4:13 PM Changeset in webkit [191993] by fpizlo@apple.com
  • 37 edits
    4 adds
    2 deletes in trunk/Source/JavaScriptCore

B3::Stackmap should be a superclass of B3::PatchpointValue and B3::CheckValue rather than being one of their members
https://bugs.webkit.org/show_bug.cgi?id=150831

Rubber stamped by Benjamin Poulain.

Previously, Stackmap was a value that PatchpointValue and CheckValue would hold as a field.
We'd have convenient ways of getting this field, like via Value::stackmap(). But this was a
bit ridiculous, since Stackmap is logically just a common supertype for Patchpointvalue and
CheckValue. This patch makes this reality by replacing Stackmap with StackmapValue. This makes
the code a lot more reasonable.

I also needed to make dumping a bit more customizable, so I changed dumpMeta() to take a
CommaPrinter&. This gives subclasses better control over whether or not to emit a comma. Also
it's now possible for subclasses of Value to customize how children are printed. StackmapValue
uses this to print the children and their reps together like:

Int32 @2 = Patchpoint(@0:SomeRegister, @1:SomeRegister, generator = 0x1107ec010, clobbered = [], usedRegisters = [], ExitsSideways|ControlDependent|Writes:Top|Reads:Top)

This has no behavior change, it's just a big refactoring. You can see how much simpler this
makes things by looking at the testSimplePatchpoint() test.

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • b3/B3ArgumentRegValue.cpp:

(JSC::B3::ArgumentRegValue::~ArgumentRegValue):
(JSC::B3::ArgumentRegValue::dumpMeta):

  • b3/B3ArgumentRegValue.h:
  • b3/B3CheckSpecial.cpp:

(JSC::B3::CheckSpecial::generate):

  • b3/B3CheckValue.cpp:

(JSC::B3::CheckValue::~CheckValue):
(JSC::B3::CheckValue::CheckValue):
(JSC::B3::CheckValue::dumpMeta): Deleted.

  • b3/B3CheckValue.h:

(JSC::B3::CheckValue::accepts):

  • b3/B3Const32Value.cpp:

(JSC::B3::Const32Value::notEqualConstant):
(JSC::B3::Const32Value::dumpMeta):

  • b3/B3Const32Value.h:
  • b3/B3Const64Value.cpp:

(JSC::B3::Const64Value::notEqualConstant):
(JSC::B3::Const64Value::dumpMeta):

  • b3/B3Const64Value.h:
  • b3/B3ConstDoubleValue.cpp:

(JSC::B3::ConstDoubleValue::notEqualConstant):
(JSC::B3::ConstDoubleValue::dumpMeta):

  • b3/B3ConstDoubleValue.h:
  • b3/B3ConstrainedValue.cpp: Added.

(JSC::B3::ConstrainedValue::dump):

  • b3/B3ConstrainedValue.h: Added.

(JSC::B3::ConstrainedValue::ConstrainedValue):
(JSC::B3::ConstrainedValue::operator bool):
(JSC::B3::ConstrainedValue::value):
(JSC::B3::ConstrainedValue::rep):

  • b3/B3ControlValue.cpp:

(JSC::B3::ControlValue::convertToJump):
(JSC::B3::ControlValue::dumpMeta):

  • b3/B3ControlValue.h:
  • b3/B3LowerToAir.cpp:

(JSC::B3::Air::LowerToAir::tryPatchpoint):

  • b3/B3MemoryValue.cpp:

(JSC::B3::MemoryValue::accessByteSize):
(JSC::B3::MemoryValue::dumpMeta):

  • b3/B3MemoryValue.h:
  • b3/B3PatchpointSpecial.cpp:

(JSC::B3::PatchpointSpecial::generate):

  • b3/B3PatchpointValue.cpp:

(JSC::B3::PatchpointValue::~PatchpointValue):
(JSC::B3::PatchpointValue::PatchpointValue):
(JSC::B3::PatchpointValue::dumpMeta): Deleted.

  • b3/B3PatchpointValue.h:

(JSC::B3::PatchpointValue::accepts):

  • b3/B3StackSlotValue.cpp:

(JSC::B3::StackSlotValue::~StackSlotValue):
(JSC::B3::StackSlotValue::dumpMeta):

  • b3/B3StackSlotValue.h:
  • b3/B3Stackmap.cpp: Removed.
  • b3/B3Stackmap.h: Removed.
  • b3/B3StackmapSpecial.cpp:

(JSC::B3::StackmapSpecial::reportUsedRegisters):
(JSC::B3::StackmapSpecial::extraClobberedRegs):
(JSC::B3::StackmapSpecial::forEachArgImpl):
(JSC::B3::StackmapSpecial::isValidImpl):
(JSC::B3::StackmapSpecial::admitsStackImpl):

  • b3/B3StackmapSpecial.h:
  • b3/B3StackmapValue.cpp: Added.

(JSC::B3::StackmapValue::~StackmapValue):
(JSC::B3::StackmapValue::append):
(JSC::B3::StackmapValue::setConstrainedChild):
(JSC::B3::StackmapValue::setConstraint):
(JSC::B3::StackmapValue::dumpChildren):
(JSC::B3::StackmapValue::dumpMeta):
(JSC::B3::StackmapValue::StackmapValue):

  • b3/B3StackmapValue.h: Added.
  • b3/B3SwitchValue.cpp:

(JSC::B3::SwitchValue::appendCase):
(JSC::B3::SwitchValue::dumpMeta):
(JSC::B3::SwitchValue::SwitchValue):

  • b3/B3SwitchValue.h:
  • b3/B3UpsilonValue.cpp:

(JSC::B3::UpsilonValue::~UpsilonValue):
(JSC::B3::UpsilonValue::dumpMeta):

  • b3/B3UpsilonValue.h:
  • b3/B3Validate.cpp:
  • b3/B3Value.cpp:

(JSC::B3::Value::dump):
(JSC::B3::Value::dumpChildren):
(JSC::B3::Value::deepDump):
(JSC::B3::Value::performSubstitution):
(JSC::B3::Value::dumpMeta):

  • b3/B3Value.h:
  • b3/B3ValueInlines.h:

(JSC::B3::Value::asNumber):
(JSC::B3::Value::stackmap): Deleted.

  • b3/B3ValueRep.h:

(JSC::B3::ValueRep::kind):
(JSC::B3::ValueRep::operator==):
(JSC::B3::ValueRep::operator!=):
(JSC::B3::ValueRep::operator bool):
(JSC::B3::ValueRep::isAny):

  • b3/air/AirInstInlines.h:
  • b3/testb3.cpp:

(JSC::B3::testSimplePatchpoint):

4:11 PM Changeset in webkit [191992] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking streams/reference-implementation/writable-stream-abort.html as flaky on win
https://bugs.webkit.org/show_bug.cgi?id=150867

Unreviewed test gardening.

  • platform/win/TestExpectations:
4:05 PM Changeset in webkit [191991] by jiewen_tan@apple.com
  • 3 edits
    2 adds in trunk

Null dereference loading Blink layout test scrollbars/custom-scrollbar-appearance-property.html
https://bugs.webkit.org/show_bug.cgi?id=149312
<rdar://problem/22748910>

Reviewed by Darin Adler.

Source/WebCore:

This is a merge from Blink r167503:
https://codereview.chromium.org/173433002

Test: scrollbars/custom-scrollbar-appearance-property.html

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::paintSearchFieldCancelButton):
(WebCore::RenderThemeMac::paintSearchFieldResultsDecorationPart):

LayoutTests:

  • scrollbars/custom-scrollbar-appearance-property-expected.txt: Added.
  • scrollbars/custom-scrollbar-appearance-property.html: Added.
3:52 PM Changeset in webkit [191990] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Correcting win test expectation for flaky test fast/text/multiple-feature-properties.html
https://bugs.webkit.org/show_bug.cgi?id=150808

Unreviewed test gardening.

  • platform/win/TestExpectations:
3:47 PM Changeset in webkit [191989] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Skipping test added with r191979 on win
https://bugs.webkit.org/show_bug.cgi?id=150830

Unreviewed test gardening.

  • platform/win/TestExpectations:
3:39 PM Changeset in webkit [191988] by ap@apple.com
  • 2 edits in trunk/Tools

build.webkit.org/dashboard should use ISO dates in Trac URLs
https://bugs.webkit.org/show_bug.cgi?id=150855

Reviewed by Darin Adler.

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

(Trac.prototype._xmlTimelineURL):

3:39 PM Changeset in webkit [191987] by ryuan.choi@navercorp.com
  • 2 edits in trunk/Source/WebKit2

[CoordinatedGraphics] invisible webview should not paint the content
https://bugs.webkit.org/show_bug.cgi?id=150662

Reviewed by Darin Adler.

Suspend or resume the painting instead of just initializing m_isPaintingSuspended
for invisible webview not to paint the content until visibility is changed.

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp:

(WebKit::CoordinatedDrawingArea::CoordinatedDrawingArea):

3:37 PM Changeset in webkit [191986] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Skipping tests added with r191968 on win.
https://bugs.webkit.org/show_bug.cgi?id=149771

Unreviewed test gardening.

  • platform/win/TestExpectations:
3:30 PM Changeset in webkit [191985] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

ResourceUsageOverlay should show GC-owned malloc memory.
<https://webkit.org/b/150846>

Reviewed by Anders Carlsson.

Add a memory category for GC-owned malloc memory. This carves a significant chunk off of
the gigantic "bmalloc" mystery slice.

  • page/ResourceUsageOverlay.h:
  • page/cocoa/ResourceUsageOverlayCocoa.mm:

(WebCore::drawMemoryPie):
(WebCore::ResourceUsageOverlay::draw):
(WebCore::runSamplerThread):

3:27 PM Changeset in webkit [191984] by bshafiei@apple.com
  • 5 edits in tags/Safari-602.1.9.1/Source

Merged r191982. rdar://problem/23376483

3:24 PM Changeset in webkit [191983] by benjamin@webkit.org
  • 14 edits in trunk/Source/JavaScriptCore

[JSC] Add Air lowering for BitOr and impove BitAnd
https://bugs.webkit.org/show_bug.cgi?id=150827

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

In this patch:
-B3 to Air lowering for BirOr.
-Codegen for BitOr.
-Strength reduction for BitOr and BitAnd.
-Tests for BitAnd and BitOr.
-Bug fix: Move64 with a negative value was destroying the top bits.

  • b3/B3Const32Value.cpp:

(JSC::B3::Const32Value::bitAndConstant):
(JSC::B3::Const32Value::bitOrConstant):

  • b3/B3Const32Value.h:
  • b3/B3Const64Value.cpp:

(JSC::B3::Const64Value::bitAndConstant):
(JSC::B3::Const64Value::bitOrConstant):

  • b3/B3Const64Value.h:
  • b3/B3LowerToAir.cpp:

(JSC::B3::Air::LowerToAir::immForMove):
(JSC::B3::Air::LowerToAir::immOrTmpForMove):
(JSC::B3::Air::LowerToAir::tryOr):
(JSC::B3::Air::LowerToAir::tryConst64):
(JSC::B3::Air::LowerToAir::tryUpsilon):
(JSC::B3::Air::LowerToAir::tryIdentity):
(JSC::B3::Air::LowerToAir::tryReturn):
(JSC::B3::Air::LowerToAir::immOrTmp): Deleted.

  • b3/B3LoweringMatcher.patterns:
  • b3/B3ReduceStrength.cpp:
  • b3/B3Value.cpp:

(JSC::B3::Value::bitAndConstant):
(JSC::B3::Value::bitOrConstant):

  • b3/B3Value.h:
  • b3/air/AirOpcode.opcodes:
  • b3/testb3.cpp:

(JSC::B3::testReturnConst64):
(JSC::B3::testBitAndArgs):
(JSC::B3::testBitAndSameArg):
(JSC::B3::testBitAndImms):
(JSC::B3::testBitAndArgImm):
(JSC::B3::testBitAndImmArg):
(JSC::B3::testBitAndBitAndArgImmImm):
(JSC::B3::testBitAndImmBitAndArgImm):
(JSC::B3::testBitAndArgs32):
(JSC::B3::testBitAndSameArg32):
(JSC::B3::testBitAndImms32):
(JSC::B3::testBitAndArgImm32):
(JSC::B3::testBitAndImmArg32):
(JSC::B3::testBitAndBitAndArgImmImm32):
(JSC::B3::testBitAndImmBitAndArgImm32):
(JSC::B3::testBitOrArgs):
(JSC::B3::testBitOrSameArg):
(JSC::B3::testBitOrImms):
(JSC::B3::testBitOrArgImm):
(JSC::B3::testBitOrImmArg):
(JSC::B3::testBitOrBitOrArgImmImm):
(JSC::B3::testBitOrImmBitOrArgImm):
(JSC::B3::testBitOrArgs32):
(JSC::B3::testBitOrSameArg32):
(JSC::B3::testBitOrImms32):
(JSC::B3::testBitOrArgImm32):
(JSC::B3::testBitOrImmArg32):
(JSC::B3::testBitOrBitOrArgImmImm32):
(JSC::B3::testBitOrImmBitOrArgImm32):
(JSC::B3::run):

3:23 PM Changeset in webkit [191982] by sbarati@apple.com
  • 5 edits in trunk/Source

Rewrite "const" as "var" for iTunes/iBooks on the Mac
https://bugs.webkit.org/show_bug.cgi?id=150852

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

VM now has a setting indicating if we should treat
"const" variables as "var" to more closely match
JSC's previous implementation of "const" before ES6.

  • parser/Parser.h:

(JSC::Parser::next):
(JSC::Parser::nextExpectIdentifier):

  • runtime/VM.h:

(JSC::VM::setShouldRewriteConstAsVar):
(JSC::VM::shouldRewriteConstAsVar):

Source/WebCore:

  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::commonVM):

2:51 PM Changeset in webkit [191981] by jhoneycutt@apple.com
  • 10 edits
    2 adds in trunk

Implement support for the autocomplete attribute
https://bugs.webkit.org/show_bug.cgi?id=150731
rdar://problem/21078968

LayoutTests/imported/w3c:

Reviewed by Brent Fulgham.

  • web-platform-tests/html/dom/interfaces-expected.txt: Rebased.
  • web-platform-tests/html/semantics/forms/the-form-element/form-autocomplete-expected.txt:

Rebased.

Source/WebCore:

The autocomplete attribute is defined by
https://html.spec.whatwg.org/multipage/forms.html#autofill.

Reviewed by Brent Fulgham.

Test: fast/forms/autocomplete-tokens.html

  • html/HTMLFormControlElement.cpp:

(WebCore::isContactToken):
Return true if this is a contact token.
(WebCore::categoryForAutofillFieldToken):
Adds all of the autofill field tokens to a map, and returns the
category for a given token.
(WebCore::maxTokensForAutofillFieldCategory):
Return the maximum number of tokens an autofill category supports.
(WebCore::HTMLFormControlElement::parseAutocompleteAttribute):
Implement the processing model defined in
https://html.spec.whatwg.org/multipage/forms.html#processing-model-3
with respect to the IDL-exposed autofill value.
(WebCore::HTMLFormControlElement::setAutocomplete):
Set the autocomplete attribute to the given string.

  • html/HTMLFormControlElement.h:

Declare setAutocomplete() and autocomplete().

  • html/HTMLInputElement.idl:

Remove the Reflect attribute. We now have custom processing for getting
this attribute.

  • html/HTMLSelectElement.idl:

Declare the autocomplete attribute.

  • html/HTMLTextAreaElement.idl:

Ditto.

LayoutTests:

Reviewed by Brent Fulgham.

  • fast/forms/autocomplete-tokens-expected.txt: Added.
  • fast/forms/autocomplete-tokens.html: Added.
2:24 PM Changeset in webkit [191980] by beidson@apple.com
  • 5 edits
    1 copy
    7 adds in trunk/Source/WebCore

Modern IDB: Land empty IDBCursor/Index IDL implementations.
https://bugs.webkit.org/show_bug.cgi?id=150839

Reviewed by Alex Christensen.

No new tests (No change in behavior).

  • CMakeLists.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • Modules/indexeddb/IDBIndex.h:
  • Modules/indexeddb/client/IDBCursorImpl.cpp: Added.

(WebCore::IDBClient::IDBCursor::~IDBCursor):
(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::deleteFunction):

  • Modules/indexeddb/client/IDBCursorImpl.h: Added.
  • Modules/indexeddb/client/IDBCursorWithValueImpl.cpp: Added.
  • Modules/indexeddb/client/IDBCursorWithValueImpl.h: Added.
  • Modules/indexeddb/client/IDBIndexImpl.cpp: Added.

(WebCore::IDBClient::IDBIndex::~IDBIndex):
(WebCore::IDBClient::IDBIndex::name):
(WebCore::IDBClient::IDBIndex::objectStore):
(WebCore::IDBClient::IDBIndex::keyPathAny):
(WebCore::IDBClient::IDBIndex::keyPath):
(WebCore::IDBClient::IDBIndex::unique):
(WebCore::IDBClient::IDBIndex::multiEntry):
(WebCore::IDBClient::IDBIndex::openCursor):
(WebCore::IDBClient::IDBIndex::count):
(WebCore::IDBClient::IDBIndex::openKeyCursor):
(WebCore::IDBClient::IDBIndex::get):
(WebCore::IDBClient::IDBIndex::getKey):

  • Modules/indexeddb/client/IDBIndexImpl.h: Copied from Source/WebCore/Modules/indexeddb/IDBIndex.h.
  • Modules/indexeddb/legacy/LegacyIndex.h:

(WebCore::LegacyIndex::id):

  • Modules/indexeddb/shared/IDBIndexInfo.cpp: Added.
  • Modules/indexeddb/shared/IDBIndexInfo.h: Added.

(WebCore::IDBIndexInfo::name):
(WebCore::IDBIndexInfo::keyPath):
(WebCore::IDBIndexInfo::unique):
(WebCore::IDBIndexInfo::multiEntry):

2:18 PM Changeset in webkit [191979] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

Addressing post-review comments on r191934.

Unreviewed.

  • platform/graphics/mac/FontCustomPlatformData.cpp:

(WebCore::FontCustomPlatformData::supportsFormat):

2:13 PM Changeset in webkit [191978] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix some inefficiencies in the baseline usage of JITAddGenerator.
https://bugs.webkit.org/show_bug.cgi?id=150850

Reviewed by Michael Saboff.

  1. emit_op_add() was loading the operands twice. Removed the redundant load.
  2. The snippet may decide that it wants to go the slow path route all the time. In that case, emit_op_add will end up emitting a branch to an out of line slow path followed by some dead code to store the result of the fast path on to the stack. We now check if the snippet determined that there's no fast path, and just emit the slow path inline, and skip the dead store of the fast path result.
  • jit/JITArithmetic.cpp:

(JSC::JIT::emit_op_add):

2:03 PM Changeset in webkit [191977] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

B3::LowerToAir should do copy propagation
https://bugs.webkit.org/show_bug.cgi?id=150775

Reviewed by Geoffrey Garen.

What we are trying to do is remove the unnecessary Move's and Move32's from Trunc and ZExt32.
You could think of this as an Air optimization, and indeed, Air is powerful enough that we
could write a phase that does copy propagation through Move's and Move32's. For Move32's it
would only copy-propagate if it proved that the value was already zero-extended. We could
know this by just adding a Def32 role to Air.

But this patch takes a different approach: we ensure that we don't generate such redundant
Move's and Move32's to begin with. The reason is that it's much cheaper to do analysis over
B3 than over Air. So, whenever possible, and optimization should be implemented in B3. In
this case the optimization can't quite be implemented in B3 because you cannot remove a Trunc
or ZExt32 without violating the B3 type system. So, the best place to do this optimization is
during lowering: we can use B3 for our analysis and we can use Air to express the
transformation.

Copy propagating during B3->Air lowering is natural because we are creating "SSA-like" Tmps
from the B3 Values. They are SSA-like in the sense that except the tmp for a Phi, we know
that the Tmp will be assigned once and that the assignment will dominate all uses. So, if we
see an operation like Trunc that is semantically just a Move, we can skip the Move and just
claim that the Trunc has the same Tmp as its child. We do something similar for ZExt32,
except with that one we have to analyze IR to ensure that the value will actually be zero
extended. Note that this kind of reasoning about how Tmps work in Air is only possible in the
B3->Air lowering, since at that point we know for sure which Tmps behave this way. If we
wanted to do anything like this as a later Air phase, we'd have to do more analysis to first
prove that Tmps behave in this way.

  • b3/B3LowerToAir.cpp:

(JSC::B3::Air::LowerToAir::run):
(JSC::B3::Air::LowerToAir::highBitsAreZero):
(JSC::B3::Air::LowerToAir::shouldCopyPropagate):
(JSC::B3::Air::LowerToAir::tmp):
(JSC::B3::Air::LowerToAir::tryStore):
(JSC::B3::Air::LowerToAir::tryTrunc):
(JSC::B3::Air::LowerToAir::tryZExt32):
(JSC::B3::Air::LowerToAir::tryIdentity):
(JSC::B3::Air::LowerToAir::tryTruncArgumentReg): Deleted.

  • b3/B3LoweringMatcher.patterns:
1:56 PM Changeset in webkit [191976] by Matt Baker
  • 22 edits
    1 add in trunk/Source/WebInspectorUI

Web Inspector: Create View base class, refactor some core view classes
https://bugs.webkit.org/show_bug.cgi?id=149186

Reviewed by Brian Burg and Timothy Hatcher.

This patch introduces a new View base class, which encapsulates DOM element creation,
layout scheduling, and subview management. The View class constructor accepts an optional
element parameter, allowing an existing DOM element to be associated with the View object,
rather than dynamically creating a new element. View also adds a __view property to its
associated DOM element to facilitate debugging the Inspector UI.

For the view classes refactored in this patch, the changes are largely mechanical. Dynamically
created DOM elements and redundant element getters have been removed. needsLayout has replaced
updateLayoutIfNeeded where appropriate. updateLayout has been removed entirely for views that
performed no layout other than to cascade layouts to their children.

  • UserInterface/Base/Main.js:

Moved TabBar layout updates out of TabBrowser and into Main.js.

  • UserInterface/Main.html:
  • UserInterface/Views/ConsolePrompt.js:

(WebInspector.ConsolePrompt):
(WebInspector.ConsolePrompt.prototype.layout):
(WebInspector.ConsolePrompt.prototype.get element): Deleted.
(WebInspector.ConsolePrompt.prototype.updateLayout): Deleted.

  • UserInterface/Views/ContentBrowser.js:

(WebInspector.ContentBrowser):
(WebInspector.ContentBrowser.prototype.get element): Deleted.
(WebInspector.ContentBrowser.prototype.updateLayout): Deleted.

  • UserInterface/Views/ContentBrowserTabContentView.js:

(WebInspector.ContentBrowserTabContentView):
(WebInspector.ContentBrowserTabContentView.prototype.updateLayout): Deleted.

  • UserInterface/Views/ContentView.js:

(WebInspector.ContentView):
(WebInspector.ContentView.prototype.get element): Deleted.
(WebInspector.ContentView.prototype.updateLayout): Deleted.

  • UserInterface/Views/ContentViewContainer.js:

(WebInspector.ContentViewContainer):
(WebInspector.ContentViewContainer.prototype._showEntry):
(WebInspector.ContentViewContainer.prototype._hideEntry):
(WebInspector.ContentViewContainer.prototype.get element): Deleted.
(WebInspector.ContentViewContainer.prototype.updateLayout): Deleted.
(WebInspector.ContentViewContainer.prototype._addContentViewElement): Deleted.
(WebInspector.ContentViewContainer.prototype._removeContentViewElement): Deleted.

  • UserInterface/Views/DataGrid.js:

(WebInspector.DataGrid.prototype.autoSizeColumns):
(WebInspector.DataGrid.prototype.layout):
(WebInspector.DataGrid.prototype.applyColumnWidthsMap):
(WebInspector.DataGrid): Deleted.
(WebInspector.DataGrid.prototype.updateLayout): Deleted.
(WebInspector.DataGrid.prototype.resizerDragging): Deleted.
(WebInspector.DataGrid.prototype.resizerDragEnded): Deleted.

  • UserInterface/Views/HierarchicalPathNavigationItem.js:

(WebInspector.HierarchicalPathNavigationItem.prototype.set components):

  • UserInterface/Views/LayoutTimelineView.js:

(WebInspector.LayoutTimelineView):
(WebInspector.LayoutTimelineView.prototype.layout):
(WebInspector.LayoutTimelineView.prototype.updateLayout): Deleted.

  • UserInterface/Views/NavigationBar.js:

(WebInspector.NavigationBar):
(WebInspector.NavigationBar.prototype.insertNavigationItem):
(WebInspector.NavigationBar.prototype.removeNavigationItem):
(WebInspector.NavigationBar.prototype.get minimumWidth):
(WebInspector.NavigationBar.prototype.layout):
(WebInspector.NavigationBar.prototype._mouseDown):
(WebInspector.NavigationBar.prototype._mouseMoved):
(WebInspector.NavigationBar.prototype._mouseUp):
(WebInspector.NavigationBar.prototype._calculateMinimumWidth):
(WebInspector.NavigationBar.prototype.updateLayoutSoon.update): Deleted.
(WebInspector.NavigationBar.prototype.updateLayoutSoon): Deleted.
(WebInspector.NavigationBar.prototype.updateLayout): Deleted.
(WebInspector.NavigationBar.prototype.get element): Deleted.

  • UserInterface/Views/NavigationItem.js:

(WebInspector.NavigationItem.prototype.set hidden):

  • UserInterface/Views/NetworkTimelineView.js:

(WebInspector.NetworkTimelineView):
(WebInspector.NetworkTimelineView.prototype.layout):
(WebInspector.NetworkTimelineView.prototype.updateLayout): Deleted.

  • UserInterface/Views/OverviewTimelineView.js:

(WebInspector.OverviewTimelineView):
(WebInspector.OverviewTimelineView.prototype.layout):
(WebInspector.OverviewTimelineView.prototype.updateLayout): Deleted.

  • UserInterface/Views/QuickConsole.js:

(WebInspector.QuickConsole):
(WebInspector.QuickConsole.prototype.layout):
(WebInspector.QuickConsole.prototype.get element): Deleted.
(WebInspector.QuickConsole.prototype.updateLayout): Deleted.

  • UserInterface/Views/RenderingFrameTimelineView.js:

(WebInspector.RenderingFrameTimelineView):
(WebInspector.RenderingFrameTimelineView.prototype.layout):
(WebInspector.RenderingFrameTimelineView.prototype.updateLayout): Deleted.

  • UserInterface/Views/ScriptTimelineView.js:

(WebInspector.ScriptTimelineView):
(WebInspector.ScriptTimelineView.prototype.layout):
(WebInspector.ScriptTimelineView.prototype.updateLayout): Deleted.

  • UserInterface/Views/TabBar.js:

(WebInspector.TabBar):
(WebInspector.TabBar.prototype.insertTabBarItem.animateTabs):
(WebInspector.TabBar.prototype.insertTabBarItem.removeStyles):
(WebInspector.TabBar.prototype.insertTabBarItem):
(WebInspector.TabBar.prototype.removeTabBarItem.animateTabs):
(WebInspector.TabBar.prototype.removeTabBarItem.removeStyles):
(WebInspector.TabBar.prototype.removeTabBarItem):
(WebInspector.TabBar.prototype.hasNormalTab):
(WebInspector.TabBar.prototype.layout):
(WebInspector.TabBar.prototype._recordTabBarItemSizesAndPositions):
(WebInspector.TabBar.prototype._finishExpandingTabsAfterClose.):
(WebInspector.TabBar.prototype._finishExpandingTabsAfterClose):
(WebInspector.TabBar.prototype._handleClick):
(WebInspector.TabBar.prototype._handleMouseMoved):
(WebInspector.TabBar.prototype._handleMouseUp):
(WebInspector.TabBar.prototype._handleMouseLeave):
(WebInspector.TabBar.prototype._handleNewTabMouseEnter):
(WebInspector.TabBar.prototype.updateLayoutSoon.update): Deleted.
(WebInspector.TabBar.prototype.updateLayoutSoon): Deleted.
(WebInspector.TabBar.prototype.updateLayout): Deleted.
(WebInspector.TabBar.prototype.get element): Deleted.

  • UserInterface/Views/TabBrowser.js:

(WebInspector.TabBrowser):
(WebInspector.TabBrowser.prototype.get element): Deleted.
(WebInspector.TabBrowser.prototype.updateLayout): Deleted.

  • UserInterface/Views/TimelineView.js:

(WebInspector.TimelineView.prototype.filterUpdated):
(WebInspector.TimelineView.prototype.needsLayout):
(WebInspector.TimelineView.prototype.updateLayout): Deleted.
(WebInspector.TimelineView.prototype.updateLayoutIfNeeded): Deleted.
(WebInspector.TimelineView): Deleted.

  • UserInterface/Views/Toolbar.js:

(WebInspector.Toolbar):
(WebInspector.Toolbar.prototype.set displayMode):
(WebInspector.Toolbar.prototype.set sizeMode):
(WebInspector.Toolbar.prototype.addToolbarItem):
(WebInspector.Toolbar.prototype.layout):
(WebInspector.Toolbar.prototype.customUpdateLayout): Deleted.
Renamed to layout. This eliminated a layering violation in NavigationBar,
where the function previously known as updateLayout checked for a
a customUpdateLayout function property, and would call it instead of its
own layout logic if found.

  • UserInterface/Views/View.js: Added.

(WebInspector.View):
(WebInspector.View.prototype.get element):
(WebInspector.View.prototype.get subviews):
(WebInspector.View.prototype.addSubview):
Appends a view to the end of the subview list.
(WebInspector.View.prototype.insertSubviewBefore):
Inserts a view into subview list before another subview.
(WebInspector.View.prototype.removeSubview):
(WebInspector.View.prototype.replaceSubview):
(WebInspector.View.prototype.updateLayout):
No longer overridden by subclasses.
(WebInspector.View.prototype.updateLayoutIfNeeded):
Forces a layout if one has been scheduled, otherwise does nothing.
(WebInspector.View.prototype.needsLayout):
Schedules a layout for the view.
(WebInspector.View.prototype.layout):
Overridden by views that require special layout logic. Layouts
cascade to child views automatically.
(WebInspector.View.prototype._layoutSubtree):
Main layout entry point. Called by requestAnimationFrame via needsLayut, by
updateLayout when forcing a synchronous layout, and called recursively during
subview traversal.

1:52 PM Changeset in webkit [191975] by Said Abou-Hallawa
  • 2 edits in trunk/Tools

Unreviewed, add myself to the SVG watchlist.

  • Scripts/webkitpy/common/config/watchlist:
1:40 PM Changeset in webkit [191974] by Wenson Hsieh
  • 2 edits in trunk/Tools

Fix touch event sending crash in WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=150848
<rdar://problem/23360841>

Reviewed by Simon Fraser.

Fixes a redundant force event generated by HIDEventGenerator. See the Radar diagnosis for more details.

  • WebKitTestRunner/ios/HIDEventGenerator.mm:

(-[HIDEventGenerator _createIOHIDEventType:]): Deleted.

1:37 PM Changeset in webkit [191973] by commit-queue@webkit.org
  • 7 edits in trunk/Source

Web Inspector: Move ScriptDebugServer::Task to WorkerScriptDebugServer where it is actually used
https://bugs.webkit.org/show_bug.cgi?id=150847

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-11-03
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/ScriptDebugServer.h:

Remove Task from here, it isn't needed in the general case.

  • parser/SourceProvider.h:

Remove unimplemented method.

Source/WebCore:

  • bindings/js/WorkerScriptDebugServer.cpp:

(WebCore::WorkerScriptDebugServer::interruptAndRunTask):

  • bindings/js/WorkerScriptDebugServer.h:
  • inspector/WorkerDebuggerAgent.cpp:
1:28 PM Changeset in webkit [191972] by n_wang@apple.com
  • 2 edits in trunk/LayoutTests

AX: Add support for ARIA 1.1 attribute 'aria-modal' for dialog and alertdialog
https://bugs.webkit.org/show_bug.cgi?id=138566

Skip failing tests on windows platform.

Reviewed by Chris Fleizach.

  • platform/win/TestExpectations:
1:01 PM Changeset in webkit [191971] by bshafiei@apple.com
  • 5 edits in tags/Safari-602.1.9.1/Source

Versioning.

12:56 PM Changeset in webkit [191970] by Brent Fulgham
  • 3 edits in trunk/Tools

[Win] Unreviewed build fix after r191958.

  • MiniBrowser/win/MiniBrowser.h: Add missing include.
  • MiniBrowser/win/MiniBrowserWebHost.h: Ditto.
12:52 PM Changeset in webkit [191969] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Fix the build.

  • platform/Widget.h:

(WebCore::Widget::boundsRect):
(WebCore::Widget::resize):

12:31 PM Changeset in webkit [191968] by mmaxfield@apple.com
  • 21 edits
    7 adds in trunk

font-variant-* properties in @font-face declarations should be honored
https://bugs.webkit.org/show_bug.cgi?id=149771

Reviewed by Simon Fraser.

Source/WebCore:

According to the CSS Fonts Level 3 spec, web authors are allowed to put
font-feature-settings / font-variant-* inside @font-face blocks. These
properties are supposed to be applied at a specific time during the
font selection algorithm.

This patch gives a FontFeatureSettings object and a FontVariantSettings
object to CSSFontFace, and moves common parsing logic from
StyleBuilderCustom to a shared location. Then, once the two properties
are parsed from the @font-face block, the relevant data structures are
passed down into the font selection algorithm. This algorithm then
consults with these values at the correct time (inside
preparePlatformFont()).

Tests: css3/font-feature-settings-font-face-rendering.html

css3/font-variant-font-face-all.html
css3/font-variant-font-face-override.html

  • WebCore.xcodeproj/project.pbxproj: Add a header for the common

location of parsing font-variant-ligatures, font-variant-numeric,
and font-variant-east-asian.

  • css/CSSFontFace.cpp:

(WebCore::CSSFontFace::font): Pass the relevant data structures
into the font selection algorithm.

  • css/CSSFontFace.h: Add FontFeatureSettings and FontVariantSettings

member variables.
(WebCore::CSSFontFace::insertFeature):
(WebCore::CSSFontFace::setVariantCommonLigatures):
(WebCore::CSSFontFace::setVariantDiscretionaryLigatures):
(WebCore::CSSFontFace::setVariantHistoricalLigatures):
(WebCore::CSSFontFace::setVariantContextualAlternates):
(WebCore::CSSFontFace::setVariantPosition):
(WebCore::CSSFontFace::setVariantCaps):
(WebCore::CSSFontFace::setVariantNumericFigure):
(WebCore::CSSFontFace::setVariantNumericSpacing):
(WebCore::CSSFontFace::setVariantNumericFraction):
(WebCore::CSSFontFace::setVariantNumericOrdinal):
(WebCore::CSSFontFace::setVariantNumericSlashedZero):
(WebCore::CSSFontFace::setVariantAlternates):
(WebCore::CSSFontFace::setVariantEastAsianVariant):
(WebCore::CSSFontFace::setVariantEastAsianWidth):
(WebCore::CSSFontFace::setVariantEastAsianRuby):

  • css/CSSFontFaceSource.cpp:

(WebCore::CSSFontFaceSource::font): Pass the relevant data
structures into the font selection algorithm.

  • css/CSSFontFaceSource.h: Ditto.
  • css/CSSFontSelector.cpp:

(WebCore::CSSFontSelector::addFontFaceRule): Call the shared
parsing logic to populate the FontFeatureSettings and
FontVariantSettings members.

  • css/FontVariantBuilder.h: Added. Destination for shared parsing

logic.
(WebCore::applyValueFontVariantLigatures):
(WebCore::applyValueFontVariantNumeric):
(WebCore::applyValueFontVariantEastAsian):

  • css/StyleBuilderCustom.h: Source for shared parsing logic.

(WebCore::StyleBuilderCustom::applyValueFontVariantLigatures):
(WebCore::StyleBuilderCustom::applyValueFontVariantNumeric):
(WebCore::StyleBuilderCustom::applyValueFontVariantEastAsian):

  • loader/cache/CachedFont.cpp: Pass the relevant data structures

into the font selection algorithm.
(WebCore::CachedFont::createFont):
(WebCore::CachedFont::platformDataFromCustomData):

  • loader/cache/CachedFont.h: Ditto.
  • loader/cache/CachedSVGFont.cpp: Ditto.

(WebCore::CachedSVGFont::createFont):
(WebCore::CachedSVGFont::platformDataFromCustomData):

  • loader/cache/CachedSVGFont.h: Ditto.
  • platform/graphics/FontCache.h: Ditto.
  • platform/graphics/FontCascade.cpp:

(WebCore::FontCascade::codePath): Adjust comment.

  • platform/graphics/cocoa/FontCacheCoreText.cpp:

(WebCore::preparePlatformFont): Consult with the newly parsed values.
(WebCore::fontWithFamily): Pass the relevant data structures into the
font selection algorithm.
(WebCore::FontCache::systemFallbackForCharacters): Ditto.

  • platform/graphics/mac/FontCustomPlatformData.cpp:

(WebCore::FontCustomPlatformData::fontPlatformData): Ditto.

  • platform/graphics/mac/FontCustomPlatformData.h: Ditto.

LayoutTests:

  • css3/font-variant-font-face-override-expected.html: Added
  • css3/font-variant-font-face-override.html: Added
  • css3/font-feature-settings-font-face-rendering-expected.html: Added.
  • css3/font-feature-settings-font-face-rendering.html: Added.
  • css3/font-variant-font-face-all-expected.html: Added.
  • css3/font-variant-font-face-all.html: Added.
12:27 PM Changeset in webkit [191967] by commit-queue@webkit.org
  • 12 edits in trunk/Source

Web Inspector: Handle or Remove ParseHTML Timeline Event Records
https://bugs.webkit.org/show_bug.cgi?id=150689

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-11-03
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/protocol/Timeline.json:

Source/WebCore:

Remove ParseHTML nesting recordings. We were not using them
and for most pages their self-time is very small in comparison
to other events. We may consider adding it back later for
UI purposes but for now the frontend doesn't use the records
so lets remove it.

  • html/parser/HTMLDocumentParser.cpp:

(WebCore::HTMLDocumentParser::pumpTokenizer): Deleted.

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::willWriteHTMLImpl): Deleted.
(WebCore::InspectorInstrumentation::didWriteHTMLImpl): Deleted.

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::willWriteHTML): Deleted.
(WebCore::InspectorInstrumentation::didWriteHTML): Deleted.

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::willWriteHTML): Deleted.
(WebCore::InspectorTimelineAgent::didWriteHTML): Deleted.
(WebCore::toProtocol): Deleted.

  • inspector/InspectorTimelineAgent.h:
  • inspector/TimelineRecordFactory.cpp:

(WebCore::TimelineRecordFactory::createParseHTMLData): Deleted.

  • inspector/TimelineRecordFactory.h:

Source/WebInspectorUI:

  • UserInterface/Controllers/TimelineManager.js:

(WebInspector.TimelineManager.prototype._processRecord):

12:19 PM Changeset in webkit [191966] by bshafiei@apple.com
  • 1 copy in tags/Safari-602.1.9.1

New tag.

12:02 PM Changeset in webkit [191965] by msaboff@apple.com
  • 11 edits in trunk/Source/JavaScriptCore

Rename InlineCallFrame:: getCallerSkippingDeadFrames to something more descriptive
https://bugs.webkit.org/show_bug.cgi?id=150832

Reviewed by Geoffrey Garen.

Renamed InlineCallFrame::getCallerSkippingDeadFrames() to getCallerSkippingTailCalls().
Did similar renaming to helper InlineCallFrame::computeCallerSkippingTailCalls() and
InlineCallFrame::getCallerInlineFrameSkippingTailCalls().

  • bytecode/InlineCallFrame.h:

(JSC::InlineCallFrame::computeCallerSkippingTailCalls):
(JSC::InlineCallFrame::getCallerSkippingTailCalls):
(JSC::InlineCallFrame::getCallerInlineFrameSkippingTailCalls):
(JSC::InlineCallFrame::computeCallerSkippingDeadFrames): Deleted.
(JSC::InlineCallFrame::getCallerSkippingDeadFrames): Deleted.
(JSC::InlineCallFrame::getCallerInlineFrameSkippingDeadFrames): Deleted.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::allInlineFramesAreTailCalls):
(JSC::DFG::ByteCodeParser::currentCodeOrigin):
(JSC::DFG::ByteCodeParser::getPredictionWithoutOSRExit):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::isLiveInBytecode):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::forAllLocalsLiveInBytecode):

  • dfg/DFGOSRExitCompilerCommon.cpp:

(JSC::DFG::reifyInlinedCallFrames):

  • dfg/DFGPreciseLocalClobberize.h:

(JSC::DFG::PreciseLocalClobberizeAdaptor::readTop):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::DFG::LowerDFGToLLVM::codeOriginDescriptionOfCallSite):

  • interpreter/StackVisitor.cpp:

(JSC::StackVisitor::gotoNextFrame):

11:59 AM Changeset in webkit [191964] by commit-queue@webkit.org
  • 19 edits
    7 adds
    76 deletes in trunk

HTMLOptionElement.text should never return the value of label
https://bugs.webkit.org/show_bug.cgi?id=148862
rdar://problem/22589226

Patch by Keith Rollin <Keith Rollin> on 2015-11-03
Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline tests to reflect new behavior of option.text.

  • web-platform-tests/html/semantics/forms/the-option-element/option-text-label-expected.txt:

Source/WebCore:

According to the HTML spec, option elements should have the
following behavior:

  • the text property should return text contents of element
  • the label property should return value of label attribute if it exists, else return text property
  • the UI should display label property

12 years ago, in order to be compatibile with browsers of the time, we
diverged from this behavior: the text property behaved like the label
property, and the text property was used for display. This resulted in
our UI incidentally conforming to the spec, but also in the text
property *not* conforming to the spec. See <rdar://problem/3532519>
for discussion on this change.

The behavior of the browsers we were conforming to has changed. In
particular, the text property in Firefox now conforms to the spec
instead of behaving as we did. Therefore, it's less important to
retain our old behavior for the sake of compatibility. This check-in
brings us into conformance with the spec. The result is that the UI
stays the same, but the text property will return different values than
it used to if the option element has a label attribute that used to
hide it.

Updated tests:

  • fast/dom/HTMLOptionElement/option-text.html:
  • fast/forms/HTMLOptionElement_label01.html:
  • fast/forms/HTMLOptionElement_label02.html:
  • fast/forms/HTMLOptionElement_label03.html:
  • fast/forms/HTMLOptionElement_label04.html:
  • fast/forms/HTMLOptionElement_label05.html:
  • fast/forms/HTMLOptionElement_label06.html:
  • fast/forms/HTMLOptionElement_label07.html:
  • fast/forms/option-value-and-label.html:
  • accessibility/AccessibilityListBoxOption.cpp:

(WebCore::AccessibilityListBoxOption::stringValue):

  • accessibility/AccessibilityMenuListOption.cpp:

(WebCore::AccessibilityMenuListOption::stringValue):

  • html/HTMLOptionElement.cpp:

(WebCore::HTMLOptionElement::text):
(WebCore::HTMLOptionElement::textIndentedToRespectGroupLabel):

LayoutTests:

Rebaseline tests to reflect new behavior of option.text. Convert some
render tests to reference tests.

  • dom/xhtml/level2/html/HTMLOptionElement04-expected.txt:
  • fast/dom/HTMLOptionElement/option-text-expected.txt:
  • fast/dom/HTMLOptionElement/option-text.html:
  • fast/forms/HTMLOptionElement_label01-expected.html: Added.
  • fast/forms/HTMLOptionElement_label01.html:
  • fast/forms/HTMLOptionElement_label02-expected.html: Added.
  • fast/forms/HTMLOptionElement_label02.html:
  • fast/forms/HTMLOptionElement_label03-expected.html: Added.
  • fast/forms/HTMLOptionElement_label03.html:
  • fast/forms/HTMLOptionElement_label04-expected.html: Added.
  • fast/forms/HTMLOptionElement_label04.html:
  • fast/forms/HTMLOptionElement_label05-expected.html: Added.
  • fast/forms/HTMLOptionElement_label05.html:
  • fast/forms/HTMLOptionElement_label06-expected.html: Added.
  • fast/forms/HTMLOptionElement_label06.html:
  • fast/forms/HTMLOptionElement_label07-expected.html: Added.
  • fast/forms/HTMLOptionElement_label07.html:
  • fast/forms/option-value-and-label-expected.txt:
  • fast/forms/option-value-and-label.html:
  • platform/efl/fast/forms/HTMLOptionElement_label01-expected.png: Removed.
  • platform/efl/fast/forms/HTMLOptionElement_label01-expected.txt: Removed.
  • platform/efl/fast/forms/HTMLOptionElement_label02-expected.png: Removed.
  • platform/efl/fast/forms/HTMLOptionElement_label02-expected.txt: Removed.
  • platform/efl/fast/forms/HTMLOptionElement_label03-expected.png: Removed.
  • platform/efl/fast/forms/HTMLOptionElement_label03-expected.txt: Removed.
  • platform/efl/fast/forms/HTMLOptionElement_label04-expected.png: Removed.
  • platform/efl/fast/forms/HTMLOptionElement_label04-expected.txt: Removed.
  • platform/efl/fast/forms/HTMLOptionElement_label05-expected.png: Removed.
  • platform/efl/fast/forms/HTMLOptionElement_label05-expected.txt: Removed.
  • platform/efl/fast/forms/HTMLOptionElement_label06-expected.png: Removed.
  • platform/efl/fast/forms/HTMLOptionElement_label06-expected.txt: Removed.
  • platform/efl/fast/forms/HTMLOptionElement_label07-expected.png: Removed.
  • platform/efl/fast/forms/HTMLOptionElement_label07-expected.txt: Removed.
  • platform/gtk/fast/forms/HTMLOptionElement_label01-expected.png: Removed.
  • platform/gtk/fast/forms/HTMLOptionElement_label01-expected.txt: Removed.
  • platform/gtk/fast/forms/HTMLOptionElement_label02-expected.png: Removed.
  • platform/gtk/fast/forms/HTMLOptionElement_label02-expected.txt: Removed.
  • platform/gtk/fast/forms/HTMLOptionElement_label03-expected.png: Removed.
  • platform/gtk/fast/forms/HTMLOptionElement_label03-expected.txt: Removed.
  • platform/gtk/fast/forms/HTMLOptionElement_label04-expected.png: Removed.
  • platform/gtk/fast/forms/HTMLOptionElement_label04-expected.txt: Removed.
  • platform/gtk/fast/forms/HTMLOptionElement_label05-expected.png: Removed.
  • platform/gtk/fast/forms/HTMLOptionElement_label05-expected.txt: Removed.
  • platform/gtk/fast/forms/HTMLOptionElement_label06-expected.png: Removed.
  • platform/gtk/fast/forms/HTMLOptionElement_label06-expected.txt: Removed.
  • platform/gtk/fast/forms/HTMLOptionElement_label07-expected.png: Removed.
  • platform/gtk/fast/forms/HTMLOptionElement_label07-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/forms/HTMLOptionElement_label01-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/forms/HTMLOptionElement_label02-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/forms/HTMLOptionElement_label03-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/forms/HTMLOptionElement_label04-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/forms/HTMLOptionElement_label05-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/forms/HTMLOptionElement_label06-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/forms/HTMLOptionElement_label07-expected.txt: Removed.
  • platform/ios-simulator/fast/forms/HTMLOptionElement_label01-expected.txt: Removed.
  • platform/ios-simulator/fast/forms/HTMLOptionElement_label02-expected.txt: Removed.
  • platform/ios-simulator/fast/forms/HTMLOptionElement_label03-expected.txt: Removed.
  • platform/ios-simulator/fast/forms/HTMLOptionElement_label04-expected.txt: Removed.
  • platform/ios-simulator/fast/forms/HTMLOptionElement_label05-expected.txt: Removed.
  • platform/ios-simulator/fast/forms/HTMLOptionElement_label06-expected.txt: Removed.
  • platform/ios-simulator/fast/forms/HTMLOptionElement_label07-expected.txt: Removed.
  • platform/mac-mavericks/fast/forms/HTMLOptionElement_label01-expected.png: Removed.
  • platform/mac-mavericks/fast/forms/HTMLOptionElement_label01-expected.txt: Removed.
  • platform/mac-mavericks/fast/forms/HTMLOptionElement_label02-expected.png: Removed.
  • platform/mac-mavericks/fast/forms/HTMLOptionElement_label02-expected.txt: Removed.
  • platform/mac-mavericks/fast/forms/HTMLOptionElement_label03-expected.png: Removed.
  • platform/mac-mavericks/fast/forms/HTMLOptionElement_label04-expected.png: Removed.
  • platform/mac-mavericks/fast/forms/HTMLOptionElement_label04-expected.txt: Removed.
  • platform/mac-mavericks/fast/forms/HTMLOptionElement_label05-expected.png: Removed.
  • platform/mac-mavericks/fast/forms/HTMLOptionElement_label05-expected.txt: Removed.
  • platform/mac/fast/forms/HTMLOptionElement_label01-expected.png: Removed.
  • platform/mac/fast/forms/HTMLOptionElement_label01-expected.txt: Removed.
  • platform/mac/fast/forms/HTMLOptionElement_label02-expected.png: Removed.
  • platform/mac/fast/forms/HTMLOptionElement_label02-expected.txt: Removed.
  • platform/mac/fast/forms/HTMLOptionElement_label03-expected.png: Removed.
  • platform/mac/fast/forms/HTMLOptionElement_label03-expected.txt: Removed.
  • platform/mac/fast/forms/HTMLOptionElement_label04-expected.png: Removed.
  • platform/mac/fast/forms/HTMLOptionElement_label04-expected.txt: Removed.
  • platform/mac/fast/forms/HTMLOptionElement_label05-expected.png: Removed.
  • platform/mac/fast/forms/HTMLOptionElement_label05-expected.txt: Removed.
  • platform/mac/fast/forms/HTMLOptionElement_label06-expected.png: Removed.
  • platform/mac/fast/forms/HTMLOptionElement_label06-expected.txt: Removed.
  • platform/mac/fast/forms/HTMLOptionElement_label07-expected.png: Removed.
  • platform/mac/fast/forms/HTMLOptionElement_label07-expected.txt: Removed.
  • platform/win/fast/forms/HTMLOptionElement_label01-expected.png: Removed.
  • platform/win/fast/forms/HTMLOptionElement_label01-expected.txt: Removed.
  • platform/win/fast/forms/HTMLOptionElement_label02-expected.png: Removed.
  • platform/win/fast/forms/HTMLOptionElement_label02-expected.txt: Removed.
  • platform/win/fast/forms/HTMLOptionElement_label03-expected.png: Removed.
  • platform/win/fast/forms/HTMLOptionElement_label03-expected.txt: Removed.
  • platform/win/fast/forms/HTMLOptionElement_label04-expected.png: Removed.
  • platform/win/fast/forms/HTMLOptionElement_label04-expected.txt: Removed.
  • platform/win/fast/forms/HTMLOptionElement_label05-expected.txt: Removed.
  • platform/win/fast/forms/HTMLOptionElement_label06-expected.txt: Removed.
  • platform/win/fast/forms/HTMLOptionElement_label07-expected.txt: Removed.
11:54 AM Changeset in webkit [191963] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

ResourceUsageOverlay should draw itself using WebCore::GraphicsContext.
<https://webkit.org/b/150841>

Reviewed by Antti Koivisto.

Use WebCore text drawing primitives instead of poking at the CGContext directly.
And stop using deprecated CoreGraphics APIs, too.

  • page/cocoa/ResourceUsageOverlayCocoa.mm:

(WebCore::drawCpuHistory):
(WebCore::drawGCHistory):

Adjust for unflipped Y axis.

(WebCore::fontCascade):
(WebCore::showText):

Draw using WebCore text drawing primitives.

(WebCore::ResourceUsageOverlay::draw):

Remove CGContext calls and stop flipping the Y axis.

11:25 AM Changeset in webkit [191962] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Simplify -[_WKRemoteObjectRegistry _invokeMethod:]
https://bugs.webkit.org/show_bug.cgi?id=150844

Reviewed by Tim Horton.

  • Shared/API/Cocoa/_WKRemoteObjectRegistry.mm:

(-[_WKRemoteObjectRegistry _invokeMethod:]):
(-[_WKRemoteObjectRegistry _invokeMessageWithInterfaceIdentifier:encodedInvocation:]): Deleted.

  • Shared/API/Cocoa/_WKRemoteObjectRegistryInternal.h:
11:02 AM Changeset in webkit [191961] by jiewen_tan@apple.com
  • 2 edits in trunk/Tools

Add Jiewen Tan (jiewen_tan@apple.com) to committer list.

  • Scripts/webkitpy/common/config/contributors.json:
10:48 AM Changeset in webkit [191960] by fpizlo@apple.com
  • 7 edits
    1 add in trunk/Source

B3/Air should use bubble sort for their insertion sets, because it's faster than std::stable_sort
https://bugs.webkit.org/show_bug.cgi?id=150828

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Undo the 2% compile time regression caused by http://trac.webkit.org/changeset/191913.

  • b3/B3InsertionSet.cpp:

(JSC::B3::InsertionSet::execute): Switch to bubble sort.

  • b3/air/AirInsertionSet.cpp:

(JSC::B3::Air::InsertionSet::execute): Switch to bubble sort.

  • dfg/DFGBlockInsertionSet.cpp:

(JSC::DFG::BlockInsertionSet::execute): Switch back to quicksort.

Source/WTF:

Add a pretty good bubble sort implementation to WTF. This implementation has three
common tricks:

  • Forward and backward scans. This reduces the severity of certain kinds of bubble sort pathologies.
  • Return if a scan finds the list to be sorted. This gives the algorithm one of its most attractive properties: it's super fast when the list is already sorted.
  • Each scan eliminates one element from future scans. This makes the algorithm no worse than insertion sort.

Why do we want this? Because bubble sort is a really great stable sort for small lists,
or large lists in which only a handful of elements are out of order. Compiler insertion
sets tend to be one of those or somewhere in between: usually they are very small, and
usually they are sorted. It's rare that an element will be out of order, and when it is,
it's usually very close to where it's supposed to be.

This is a significant speed-up for B3 compile times.

  • WTF.xcodeproj/project.pbxproj:
  • wtf/BubbleSort.h: Added.

(WTF::bubbleSort):

  • wtf/CMakeLists.txt:
10:44 AM Changeset in webkit [191959] by andersca@apple.com
  • 8 edits in trunk/Source/WebKit2

CTTE the responsiveness timer getter
https://bugs.webkit.org/show_bug.cgi?id=150825

Reviewed by Daniel Bates.

  • UIProcess/API/C/mac/WKPagePrivateMac.mm:

(-[WKObservablePageState _webProcessIsResponsive]):

  • UIProcess/API/Cocoa/WKBrowsingContextController.mm:

(-[WKBrowsingContextController _webProcessIsResponsive]):

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _webProcessIsResponsive]):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::reattachToWebProcessForReload):
(WebKit::WebPageProxy::reattachToWebProcessWithItem):
(WebKit::WebPageProxy::tryClose):
(WebKit::WebPageProxy::loadRequest):
(WebKit::WebPageProxy::loadFile):
(WebKit::WebPageProxy::loadData):
(WebKit::WebPageProxy::loadHTMLString):
(WebKit::WebPageProxy::loadAlternateHTMLString):
(WebKit::WebPageProxy::loadPlainTextString):
(WebKit::WebPageProxy::loadWebArchiveData):
(WebKit::WebPageProxy::navigateToPDFLinkWithSimulatedClick):
(WebKit::WebPageProxy::stopLoading):
(WebKit::WebPageProxy::reload):
(WebKit::WebPageProxy::goForward):
(WebKit::WebPageProxy::goBack):
(WebKit::WebPageProxy::goToBackForwardItem):
(WebKit::WebPageProxy::dispatchViewStateChange):
(WebKit::WebPageProxy::handleMouseEvent):
(WebKit::WebPageProxy::sendWheelEvent):
(WebKit::WebPageProxy::handleKeyboardEvent):
(WebKit::WebPageProxy::handleGestureEvent):
(WebKit::WebPageProxy::handleTouchEventSynchronously):
(WebKit::WebPageProxy::handleTouchEvent):
(WebKit::WebPageProxy::closePage):
(WebKit::WebPageProxy::runJavaScriptAlert):
(WebKit::WebPageProxy::runJavaScriptConfirm):
(WebKit::WebPageProxy::runJavaScriptPrompt):
(WebKit::WebPageProxy::runBeforeUnloadConfirmPanel):
(WebKit::WebPageProxy::runOpenPanel):
(WebKit::WebPageProxy::showPopupMenu):
(WebKit::WebPageProxy::internalShowContextMenu):
(WebKit::WebPageProxy::didReceiveEvent):
(WebKit::WebPageProxy::stopResponsivenessTimer):
(WebKit::WebPageProxy::runModal):
(WebKit::WebPageProxy::updateBackingStoreDiscardableState):

  • UIProcess/WebProcessProxy.h:

(WebKit::WebProcessProxy::responsivenessTimer):

10:32 AM Changeset in webkit [191958] by Brent Fulgham
  • 2 edits in trunk

[Win] CMake build update.

Rubberstamped by Tim Horton.

  • Source/PlatformWin.cmake: Add internal tool to build

rules for internal use.

10:30 AM Changeset in webkit [191957] by Csaba Osztrogonác
  • 4 edits in trunk/Source/JavaScriptCore

Unreviewed, partially revert r191952.

Removed GCC compiler workarounds (unreachable returns).

  • b3/B3Type.h:

(JSC::B3::sizeofType):

  • b3/air/AirArg.h:

(JSC::B3::Air::Arg::isUse):
(JSC::B3::Air::Arg::isDef):
(JSC::B3::Air::Arg::isGP):
(JSC::B3::Air::Arg::isFP):
(JSC::B3::Air::Arg::isType):

  • b3/air/AirCode.h:

(JSC::B3::Air::Code::newTmp):
(JSC::B3::Air::Code::numTmps):

10:29 AM Changeset in webkit [191956] by youenn.fablet@crf.canon.fr
  • 4 edits in trunk/Source/WebCore

[Streams API] Vended promise capabilities should not need @resolve/@reject fields
https://bugs.webkit.org/show_bug.cgi?id=150835

Reviewed by Darin Adler.

No change in behavior, covered by existing tests.

  • Modules/streams/ReadableStreamInternals.js:

(privateInitializeReadableStreamReader): Removed @resolve/@reject fields from resolved/rejected @closedPromiseCapability.

  • Modules/streams/WritableStream.js:

(initializeWritableStream): Removed @resolve/@reject fields from resolved readyPromiseCapability.

  • Modules/streams/WritableStreamInternals.js:

(syncWritableStreamStateWithQueue): Updated code to be closer to spec and removing the need to resolve an already resolved promise.

10:24 AM Changeset in webkit [191955] by Hunseop Jeong
  • 53 edits in trunk/Source/WebCore

Replace 0 and NULL with nullptr in WebCore/dom.
https://bugs.webkit.org/show_bug.cgi?id=150788

Reviewed by Darin Adler.

No new tests because there is no behavior change.

  • dom/Attr.cpp:

(WebCore::Attr::Attr):
(WebCore::Attr::detachFromElementWithValue):
(WebCore::Attr::attachToElement):

  • dom/Attr.h:
  • dom/CheckedRadioButtons.cpp:

(WebCore::RadioButtonGroup::updateCheckedState):
(WebCore::CheckedRadioButtons::checkedButtonForGroup):
(WebCore::CheckedRadioButtons::isInRequiredGroup):

  • dom/ChildListMutationScope.cpp:

(WebCore::ChildListMutationAccumulator::enqueueMutationRecord):

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::removeBetween):

  • dom/ContainerNode.h:

(WebCore::ContainerNode::ContainerNode):

  • dom/ContainerNodeAlgorithms.cpp:

(WebCore::notifyNodeRemovedFromDocument):

  • dom/Document.h:

(WebCore::Document::wellFormed):
(WebCore::Document::scriptRunner):
(WebCore::Document::moduleLoader):
(WebCore::Document::currentScript):
(WebCore::Document::webkitFullscreenElement):

  • dom/DocumentOrderedMap.h:

(WebCore::DocumentOrderedMap::MapEntry::MapEntry):

  • dom/DocumentParser.cpp:

(WebCore::DocumentParser::detach):
(WebCore::DocumentParser::suspendScheduledTasks):

  • dom/Element.cpp:

(WebCore::Element::setAttributeInternal):
(WebCore::Element::shadowRoot):
(WebCore::Element::blur):
(WebCore::Element::beforePseudoElement):
(WebCore::Element::afterPseudoElement):
(WebCore::Element::setBeforePseudoElement):

  • dom/Event.cpp:

(WebCore::Event::Event):

  • dom/Event.h:

(WebCore::Event::legacyReturnValue):
(WebCore::Event::setLegacyReturnValue):
(WebCore::Event::clipboardData):

  • dom/EventContext.cpp:

(WebCore::MouseOrFocusEventContext::MouseOrFocusEventContext):

  • dom/EventDispatcher.cpp:

(WebCore::EventPath::lastContextIfExists):
(WebCore::EventDispatcher::dispatchEvent):

  • dom/EventListenerMap.cpp:

(WebCore::EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget):
(WebCore::EventListenerIterator::EventListenerIterator):

  • dom/EventListenerMap.h:
  • dom/EventTarget.cpp:

(WebCore::EventTarget::fireEventListeners):

  • dom/FocusEvent.cpp:

(WebCore::FocusEventInit::FocusEventInit):

  • dom/GenericEventQueue.cpp:

(WebCore::GenericEventQueue::enqueueEvent):

  • dom/IdTargetObserverRegistry.h:

(WebCore::IdTargetObserverRegistry::IdTargetObserverRegistry):
(WebCore::IdTargetObserverRegistry::notifyObservers):

  • dom/IgnoreDestructiveWriteCountIncrementer.h:

(WebCore::IgnoreDestructiveWriteCountIncrementer::IgnoreDestructiveWriteCountIncrementer):

  • dom/MessageEvent.cpp:

(WebCore::MessageEvent::MessageEvent):

  • dom/MessageEvent.h:
  • dom/MessagePort.cpp:

(WebCore::MessagePort::contextDestroyed):
(WebCore::MessagePort::dispatchMessages):
(WebCore::MessagePort::locallyEntangledPort):
(WebCore::MessagePort::disentanglePorts):

  • dom/MouseEvent.cpp:

(WebCore::MouseEventInit::MouseEventInit):
(WebCore::MouseEvent::cloneFor):

  • dom/MouseEvent.h:

(WebCore::MouseEvent::dataTransfer):

  • dom/MouseRelatedEvent.cpp:

(WebCore::MouseRelatedEvent::MouseRelatedEvent):
(WebCore::MouseRelatedEvent::computeRelativePosition):

  • dom/MutationEvent.h:
  • dom/Node.cpp:

(WebCore::Node::nodeLists):
(WebCore::Node::clearNodeLists):
(WebCore::Node::nonShadowBoundaryParentNode):
(WebCore::Node::parentOrShadowHostElement):

  • dom/Node.h:
  • dom/NodeRareData.h:

(WebCore::NodeListsNodeData::removeCachedCollection):
(WebCore::NodeListsNodeData::isEmpty):

  • dom/PendingScript.cpp:

(WebCore::PendingScript::releaseElementAndClear):

  • dom/PopStateEvent.cpp:

(WebCore::PopStateEvent::PopStateEvent):

  • dom/Position.h:

(WebCore::Position::deprecatedNode):
(WebCore::Position::document):
(WebCore::Position::rootEditableElement):

  • dom/PositionIterator.cpp:

(WebCore::PositionIterator::decrement):

  • dom/PositionIterator.h:

(WebCore::PositionIterator::PositionIterator):

  • dom/ProcessingInstruction.cpp:

(WebCore::ProcessingInstruction::ProcessingInstruction):
(WebCore::ProcessingInstruction::checkStyleSheet):
(WebCore::ProcessingInstruction::parseStyleSheet):

  • dom/ProcessingInstruction.h:
  • dom/RangeBoundaryPoint.h:

(WebCore::RangeBoundaryPoint::RangeBoundaryPoint):

  • dom/ScriptElement.cpp:

(WebCore::ScriptElement::ScriptElement):
(WebCore::ScriptElement::stopLoadRequest):
(WebCore::ScriptElement::notifyFinished):
(WebCore::ScriptElement::ignoresLoadRequest):

  • dom/ScriptedAnimationController.h:

(WebCore::ScriptedAnimationController::create):
(WebCore::ScriptedAnimationController::clearDocumentPointer):

  • dom/StyledElement.cpp:

(WebCore::PresentationAttributeCacheKey::PresentationAttributeCacheKey):
(WebCore::StyledElement::addSubresourceAttributeURLs):
(WebCore::StyledElement::rebuildPresentationAttributeStyle):

  • dom/StyledElement.h:

(WebCore::StyledElement::additionalPresentationAttributeStyle):
(WebCore::StyledElement::inlineStyle):

  • dom/TemplateContentDocumentFragment.h:
  • dom/TextEvent.cpp:

(WebCore::TextEvent::TextEvent):

  • dom/UIEvent.cpp:

(WebCore::UIEventInit::UIEventInit):

  • dom/UserTypingGestureIndicator.cpp:

(WebCore::UserTypingGestureIndicator::UserTypingGestureIndicator):
(WebCore::UserTypingGestureIndicator::~UserTypingGestureIndicator):

  • dom/ViewportArguments.cpp:

(WebCore::restrictScaleFactorToInitialScaleIfNotUserScalable):
(WebCore::numericPrefix):

  • dom/default/PlatformMessagePortChannel.cpp:

(WebCore::MessagePortChannel::disentangle):
(WebCore::MessagePortChannel::postMessageToRemote):
(WebCore::PlatformMessagePortChannel::PlatformMessagePortChannel):

  • dom/default/PlatformMessagePortChannel.h:
9:15 AM Changeset in webkit [191954] by Wenson Hsieh
  • 4 edits
    2 adds in trunk

Tapping *below* some <input>s can focus them in Mobile Safari
https://bugs.webkit.org/show_bug.cgi?id=146244
<rdar://problem/21509310>

Reviewed by Darin Adler.

Source/WebCore:

Removes iOS-specific logic in positionForPointRespectingEditingBoundaries that was causing us to focus inputs by
tapping on the document element. We believe this logic, which causes VisiblePosition finding to recurse from a non-
editable element to an editable child, is not necessary to focus editable elements underneath non-editable elements,
since hit-testing will already have selected the contentEditable element prior to searching for a suitable
VisiblePosition. Further investigation shows that this logic was added to fix <rdar://problem/5545799>, in which the
first character in a Notes document could not be selected. However, I have not been able to reproduce this bug after
removing this logic.

As a result of this change, we can also enable a WK1 test, editing/selection/click-outside-editable-div.html, that
had also been marked as failing due to positionForPointRespectingEditingBoundaries recursing into a contentEditable
div.

Test: fast/events/ios/clicking-document-should-not-trigger-focus.html

  • rendering/RenderBlock.cpp:

(WebCore::positionForPointRespectingEditingBoundaries): Deleted.

LayoutTests:

Enables a now-passing WK1 editing test (editing/selection/click-outside-editable-div.html) and also add a new
WK2 test that verifies an input node won't be focused by clicking anywhere in the document outside of the body.

  • fast/events/ios/clicking-document-should-not-trigger-focus-expected.txt: Added.
  • fast/events/ios/clicking-document-should-not-trigger-focus.html: Added.
  • platform/ios-simulator-wk1/TestExpectations: No longer disable editing/selection/click-outside-editable-div.html.
9:13 AM Changeset in webkit [191953] by mmaxfield@apple.com
  • 5 edits
    2 adds in trunk

Update to match text-orientation spec
https://bugs.webkit.org/show_bug.cgi?id=150765

Reviewed by Darin Adler.

Source/WebCore:

The CSS spec has removed the "sideways-right" value of text-orientation in favor
of "sideways." This patch makes the parser treat "sideways-right" the same as
"sideways."

Test: fast/text/orientation-sideways-right.html

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::operator TextOrientation):
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Deleted.

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::fontAndGlyphOrientation): Deleted.

  • rendering/style/RenderStyleConstants.h:

LayoutTests:

  • fast/text/orientation-sideways-right-expected.html: Added.
  • fast/text/orientation-sideways-right.html: Added.
7:50 AM Changeset in webkit [191952] by Csaba Osztrogonác
  • 9 edits in trunk/Source/JavaScriptCore

Fix the ENABLE(B3_JIT) build on Linux
https://bugs.webkit.org/show_bug.cgi?id=150794

Reviewed by Darin Adler.

  • CMakeLists.txt:
  • b3/B3HeapRange.h:
  • b3/B3IndexSet.h:

(JSC::B3::IndexSet::Iterable::iterator::operator++):

  • b3/B3Type.h:

(JSC::B3::sizeofType):

  • b3/air/AirArg.cpp:

(JSC::B3::Air::Arg::dump):

  • b3/air/AirArg.h:

(JSC::B3::Air::Arg::isUse):
(JSC::B3::Air::Arg::isDef):
(JSC::B3::Air::Arg::isGP):
(JSC::B3::Air::Arg::isFP):
(JSC::B3::Air::Arg::isType):

  • b3/air/AirCode.h:

(JSC::B3::Air::Code::newTmp):
(JSC::B3::Air::Code::numTmps):

  • b3/air/AirSpecial.cpp:
7:32 AM Changeset in webkit [191951] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

Unreviewed, add unittest after r191827.

  • BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
6:52 AM Changeset in webkit [191950] by calvaris@igalia.com
  • 7 edits in trunk/Source/WebCore

[Streams API] Rework promises to use @newPromiseCapability
https://bugs.webkit.org/show_bug.cgi?id=150627

Reviewed by Youenn Fablet.

We are removing the stream promises functions in favor of @newPromiseCapabity which basically provides the same
functionality (keeping the resolve and reject functions without external slots). Slots and variables were
renamed as *PromiseCapability to show that they no longer hold just a promise, but a promise capability.

Internal rework, no new tests needed.

  • Modules/streams/ReadableStreamInternals.js:

(privateInitializeReadableStreamReader.this.closedPromiseCapability.resolve):
(privateInitializeReadableStreamReader.this.closedPromiseCapability.reject):
(privateInitializeReadableStreamReader):
(teeReadableStream):
(teeReadableStreamBranch2CancelFunction):
(errorReadableStream):
(closeReadableStreamReader):
(enqueueInReadableStream):
(readFromReadableStreamReader):

  • Modules/streams/ReadableStreamReader.js:

(closed):

  • Modules/streams/StreamInternals.js:

(createNewStreamsPromise): Deleted.
(resolveStreamsPromise): Deleted.
(rejectStreamsPromise): Deleted.

  • Modules/streams/WritableStream.js:

(this.readyPromiseCapability.resolve):
(this.readyPromiseCapability.reject):
(initializeWritableStream):
(close):
(write):
(closed):
(ready):

  • Modules/streams/WritableStreamInternals.js:

(syncWritableStreamStateWithQueue):
(errorWritableStream):

  • bindings/js/WebCoreBuiltinNames.h:
5:43 AM Changeset in webkit [191949] by youenn.fablet@crf.canon.fr
  • 16 edits
    1 add
    5 deletes in trunk

Move webkitGetUserMedia to JS Builtin
https://bugs.webkit.org/show_bug.cgi?id=149499

Reviewed by Darin Adler.

Source/WebCore:

Implemented webkitGetUserMedia as a JSBuiltin wrapper around navigator.mediaDevices.getUserMedia.

Removed cpp based version.

The js builting implementation checks for argument but does not raise exception when the request is not supported.
The error callback is called instead, in an asynchronous fashion.
The js builtin implementation does not check first that it is called on navigator, contrary to the cpp implementation.
This is done afterwards when calling navigator.MediaDevices.@getUserMedia.

Covered by existing and modified tests.

  • CMakeLists.txt: Adding NavigatorUserMedia.js as built-in JS file.
  • DerivedSources.make: Ditto.
  • Modules/mediastream/NavigatorUserMedia.idl: Making webkitGetUserMedia JSBuiltin
  • Modules/mediastream/NavigatorUserMedia.js:

(webkitGetUserMedia):

  • Modules/mediastream/NavigatorUserMediaErrorCallback.h: Removed.
  • Modules/mediastream/NavigatorUserMediaErrorCallback.idl: Removed.
  • Modules/mediastream/NavigatorUserMediaSuccessCallback.h: Removed.
  • Modules/mediastream/NavigatorUserMediaSuccessCallback.idl: Removed.
  • Modules/mediastream/UserMediaRequest.cpp:
  • Modules/mediastream/UserMediaRequest.h:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::finishCreation): Style modifications.

  • bindings/js/JSNavigatorCustom.cpp: Removed.
  • bindings/js/WebCoreJSBuiltins.cpp: Adding support for NavigatorUserMedia.js built-in JS file.
  • bindings/js/WebCoreJSBuiltins.h: Ditto.

(WebCore::JSBuiltinFunctions::JSBuiltinFunctions):
(WebCore::JSBuiltinFunctions::navigatorUserMediaBuiltins):

LayoutTests:

  • fast/mediastream/argument-types-expected.txt:
  • fast/mediastream/getusermedia-expected.txt:
  • fast/mediastream/getusermedia.html:
  • fast/mediastream/script-tests/argument-types.js:
  • http/tests/media/media-stream/disconnected-frame-already-expected.txt:
2:43 AM Changeset in webkit [191948] by Carlos Garcia Campos
  • 7 edits in trunk/Source/WebCore

[GStreamer] Use GstBus sync message handler and schedule tasks to the main thread with RunLoop::dispatch
https://bugs.webkit.org/show_bug.cgi?id=150800

Reviewed by Philippe Normand.

This way we would avoid all the GScource + polling mechanism that
GST uses internally to handle messages asynchronously in the main thread.

  • platform/graphics/gstreamer/GRefPtrGStreamer.cpp:

(WTF::adoptGRef):
(WTF::refGPtr<GstMessage>):
(WTF::derefGPtr<GstMessage>):

  • platform/graphics/gstreamer/GRefPtrGStreamer.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
Initialize the WeakPtr factory.
(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
reset the GstBus sync handler.
(WebCore::MediaPlayerPrivateGStreamer::handleMessage): Make it void.
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): Add a
GstBus sync message handler and schedule the messages to the main
thread with RunLoop::main().dispatch().
(WebCore::mediaPlayerPrivateMessageCallback): Deleted.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:

(WebCore::MediaPlayerPrivateGStreamer::createWeakPtr): Create a WeakPtr.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::handleSyncMessage):
Handle the need context message that needs to be handled in the
caller thread.
(WebCore::mediaPlayerPrivateNeedContextMessageCallback): Deleted.
(WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):
(WebCore::MediaPlayerPrivateGStreamerBase::setPipeline): Do not
connect to sync-message signal, handleSyncMessage() will be called
to handled messages synchronously.
(WebCore::MediaPlayerPrivateGStreamerBase::handleNeedContextMessage): Deleted.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
2:40 AM Changeset in webkit [191947] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[GStreamer] Cleanup the iradio properties
https://bugs.webkit.org/show_bug.cgi?id=148522

Reviewed by Philippe Normand.

Remove unused icecast code.

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(StreamingClient::handleResponseReceived):
(webKitWebSrcGetProperty): Deleted.
(webKitWebSrcStop): Deleted.

2:36 AM Changeset in webkit [191946] by Yusuke Suzuki
  • 5 edits in trunk/Source/JavaScriptCore

Clean up ENABLE(ES6_ARROWFUNCTION_SYNTAX) ifdefs and keep minimal set of them
https://bugs.webkit.org/show_bug.cgi?id=150793

Reviewed by Darin Adler.

Fix the !ENABLE(ES6_ARROWFUNCTION_SYNTAX) build after r191875.
This patch drops many ENABLE(ES6_ARROWFUNCTION_SYNTAX) ifdefs and keep only one of them;
the ifdef in parseAssignmentExpression.
This prevents functionality of parsing arrow function syntax.

  • parser/Lexer.cpp:

(JSC::Lexer<T>::lex):

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseInner): Deleted.

  • parser/Parser.h:

(JSC::Parser::isArrowFunctionParamters): Deleted.

  • parser/ParserTokens.h:
1:49 AM Changeset in webkit [191945] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.11.1

WebKitGTK+ 2.11.1

1:47 AM Changeset in webkit [191944] by Carlos Garcia Campos
  • 4 edits in trunk

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.11.1 release.

.:

  • Source/cmake/OptionsGTK.cmake: Bump version numbers.

Source/WebKit2:

  • gtk/NEWS: Add release notes for 2.11.1.
1:28 AM Changeset in webkit [191943] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Use the same cookie storage as WebCore when using NETWORK_SESSION
https://bugs.webkit.org/show_bug.cgi?id=150833

Patch by Alex Christensen <achristensen@webkit.org> on 2015-11-03
Reviewed by Antti Koivisto.

This fixes 12 tests when using NETWORK_SESSION.

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(WebKit::NetworkSession::NetworkSession):

1:16 AM Changeset in webkit [191942] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit2

Clean up NETWORK_SESSION code after r191848
https://bugs.webkit.org/show_bug.cgi?id=150829

Patch by Alex Christensen <achristensen@webkit.org> on 2015-11-03
Reviewed by Darin Adler.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::didReceiveData):
(WebKit::NetworkResourceLoader::didCompleteWithError):

  • NetworkProcess/NetworkSession.h:
  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(WebKit::NetworkSession::NetworkSession):
(WebKit::NetworkSession::createDataTaskWithRequest):
(WebKit::NetworkSession::dataTaskForIdentifier):

Nov 2, 2015:

11:51 PM Changeset in webkit [191941] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

Unreviewed. Fix GTK+ build after r191924.

  • UIProcess/API/gtk/WebKitWebView.cpp:
11:21 PM Changeset in webkit [191940] by commit-queue@webkit.org
  • 12 edits
    2 adds in trunk

input[type=number] does not increment/decrement integers with trailing decimal characters
https://bugs.webkit.org/show_bug.cgi?id=148867
rdar://problem/22589693

Patch by Keith Rollin <Keith Rollin> on 2015-11-02
Reviewed by Chris Dumez.

Source/WebCore:

Support input[type=number].value attributes of the form "###." (that
is, leading digits with a decimal but no trailing digits). This form
was supported in the setting of the attribute, but not when changing
it through stepUp/Down.

Testing turned up similarly incorrect processing of -.###, so
addressed that, too.

Test: fast/forms/range/input-appearance-range-decimals.html

Updated the following tests:

  • fast/forms/number/number-stepup-stepdown-from-renderer.html
  • fast/forms/number/number-stepup-stepdown.html
  • fast/forms/range/range-stepup-stepdown-from-renderer.html
  • fast/forms/range/range-stepup-stepdown.html
  • html/InputType.cpp:

(WebCore::InputType::stepUpFromRenderer):

  • platform/Decimal.cpp:

(WebCore::Decimal::fromString):

LayoutTests:

New tests for input[type=number].skipUp/Down when .value ends in a
decimal point (with no additional trailing digits). Also some coverage
for input[type=range] which shares some same code.

  • fast/forms/number/number-stepup-stepdown-expected.txt:
  • fast/forms/number/number-stepup-stepdown-from-renderer-expected.txt:
  • fast/forms/number/number-stepup-stepdown-from-renderer.html:
  • fast/forms/number/number-stepup-stepdown.html:
  • fast/forms/range/range-stepup-stepdown-expected.txt:
  • fast/forms/range/range-stepup-stepdown-from-renderer-expected.txt:
  • fast/forms/range/range-stepup-stepdown-from-renderer.html:
  • fast/forms/range/range-stepup-stepdown.html:
  • fast/forms/range/input-appearance-range-decimals-expected.html: Added
  • fast/forms/range/input-appearance-range-decimals.html: Added
10:16 PM Changeset in webkit [191939] by mmaxfield@apple.com
  • 2 edits in trunk/LayoutTests

[Cocoa] Fix tests

Unreviewed.

s/Failure/ImageOnlyFailure/

  • platform/mac/TestExpectations:
9:35 PM Changeset in webkit [191938] by jiewen_tan@apple.com
  • 3 edits
    2 adds in trunk

Null dereference loading Blink layout test fast/css/background-repeat-null-y-crash.html
https://bugs.webkit.org/show_bug.cgi?id=150211
<rdar://problem/23137321>

Reviewed by Alex Christensen.

Source/WebCore:

This is a merge of Blink r188842:
https://codereview.chromium.org/846933002

By setting the backgroundRepeatY property to null it can
happen that accessing that CSS value returns a null pointer.
In that case simply bail out early.

Test: fast/css/background-repeat-null-y-crash.html

  • css/StyleProperties.cpp:

(WebCore::StyleProperties::getLayeredShorthandValue):

LayoutTests:

  • fast/css/background-repeat-null-y-crash-expected.txt: Added.
  • fast/css/background-repeat-null-y-crash.html: Added.
9:34 PM Changeset in webkit [191937] by msaboff@apple.com
  • 9 edits
    3 adds in trunk

WebInspector crashed while viewing Timeline when refreshing cnn.com while it was already loading
https://bugs.webkit.org/show_bug.cgi?id=150745

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

During OSR exit, reifyInlinedCallFrames() was using the call kind from a tail call to
find the CallLinkInfo / StubInfo to find the return PC. Instead we need to get the call
type of the true caller, that is the function we'll be returning to.

This can be found by remembering the last call type we find while walking up the inlined
frames in InlineCallFrame::getCallerSkippingDeadFrames().

We can also return directly back to a getter or setter callsite without using a thunk.

  • bytecode/InlineCallFrame.h:

(JSC::InlineCallFrame::computeCallerSkippingDeadFrames):
(JSC::InlineCallFrame::getCallerSkippingDeadFrames):

  • dfg/DFGOSRExitCompilerCommon.cpp:

(JSC::DFG::reifyInlinedCallFrames):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emit_op_get_by_id): Need to eliminate the stack pointer check, as it is wrong
for reified inlined frames created during OSR exit.

  • jit/ThunkGenerators.cpp:

(JSC::baselineGetterReturnThunkGenerator): Deleted.
(JSC::baselineSetterReturnThunkGenerator): Deleted.

  • jit/ThunkGenerators.h:

LayoutTests:

New regression tests.

  • js/regress-150745-expected.txt: Added.
  • js/regress-150745.html: Added.
  • js/script-tests/regress-150745.js: Added.

(Test):
(Test.prototype.get sum):
(Test.prototype.doSum):
(getSum):

9:19 PM Changeset in webkit [191936] by commit-queue@webkit.org
  • 2 edits in trunk

[Mac][GTK] Disable Ninja response file support
https://bugs.webkit.org/show_bug.cgi?id=150801

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

  • Source/cmake/OptionsCommon.cmake: The OSX toolchain doesn't

support response files, so instruct Ninja to not generate those.

7:53 PM Changeset in webkit [191935] by mmaxfield@apple.com
  • 28 edits
    2 adds in trunk

[Vertical Writing Mode] Rename "vertical-right" CSS value to match spec
https://bugs.webkit.org/show_bug.cgi?id=150766

Reviewed by Darin Adler.

Source/WebCore:

The spec has changed the initial value of text-orientation from "vertical-right"
to "mixed." This patch follows this movement, but also keeps the existing
property working (the parser will treat both values the same).

Test: fast/text/vertical-mixed.html

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator TextOrientation):

  • css/CSSValueKeywords.in:
  • css/StyleResolver.cpp:

(WebCore::checkForOrientationChange):

  • platform/graphics/FontCascadeFonts.cpp:

(WebCore::glyphDataForNonCJKCharacterWithGlyphOrientation):

  • platform/graphics/FontDescription.cpp:

(WebCore::FontDescription::FontDescription):

  • platform/graphics/cocoa/FontCascadeCocoa.mm:

(WebCore::FontCascade::fontForCombiningCharacterSequence):

  • platform/text/TextFlags.h:
  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::getFontAndGlyphOrientation):

  • rendering/style/RenderStyle.h:
  • rendering/style/RenderStyleConstants.h:
  • rendering/style/StyleRareInheritedData.cpp:

(WebCore::StyleRareInheritedData::StyleRareInheritedData):

  • style/StyleResolveForDocument.cpp:

(WebCore::Style::resolveForDocument):

LayoutTests:

  • fast/css/getComputedStyle/computed-style-expected.txt:
  • fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • fast/css/inherited-properties-rare-text-expected.txt:
  • fast/text/vertical-mixed-expected.html: Added.
  • fast/text/vertical-mixed.html: Added.
  • svg/css/getComputedStyle-basic-expected.txt:
7:52 PM Changeset in webkit [191934] by mmaxfield@apple.com
  • 4 edits
    3 adds in trunk

[Cocoa] Support WOFF2
https://bugs.webkit.org/show_bug.cgi?id=150830

Reviewed by Zalan Bujtas.

Source/WebCore:

On platforms which support it, WebKit only needs to recognize WOFF2.

Test: fast/text/woff2.html

  • platform/graphics/mac/FontCustomPlatformData.cpp:

(WebCore::FontCustomPlatformData::supportsFormat):

LayoutTests:

  • platform/mac/TestExpectations: Disable the test on Operating Systems which don't support WOFF2.
  • fast/text/resources/ahem.woff2: Added.
  • fast/text/woff2-expected.html: Added.
  • fast/text/woff2.html: Added.
7:23 PM Changeset in webkit [191933] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix CMake build after r191922.

  • PlatformMac.cmake:
6:21 PM Changeset in webkit [191932] by aestes@apple.com
  • 2 edits in trunk/Source/WebKit2

Try again to fix the iOS build.

  • Shared/mac/PDFKitImports.mm:
5:52 PM Changeset in webkit [191931] by n_wang@apple.com
  • 7 edits
    4 adds in trunk

AX: Add support for ARIA 1.1 attribute 'aria-modal' for dialog and alertdialog
https://bugs.webkit.org/show_bug.cgi?id=138566

Reviewed by Chris Fleizach.

Source/WebCore:

Added support for aria-modal attribute on dialog/alertdialog roles.
When modal dialog is displayed, all other contents will be unaccessible.

Tests: accessibility/aria-modal-multiple-dialogs.html

accessibility/aria-modal.html

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::AXObjectCache):
(WebCore::AXObjectCache::~AXObjectCache):
(WebCore::AXObjectCache::findAriaModalNodes):
(WebCore::AXObjectCache::updateCurrentAriaModalNode):
(WebCore::AXObjectCache::isNodeVisible):
(WebCore::AXObjectCache::ariaModalNode):
(WebCore::AXObjectCache::focusedImageMapUIElement):
(WebCore::AXObjectCache::remove):
(WebCore::AXObjectCache::handleAttributeChanged):
(WebCore::AXObjectCache::handleAriaModalChange):
(WebCore::AXObjectCache::labelChanged):

  • accessibility/AXObjectCache.h:

(WebCore::AXObjectCache::handleActiveDescendantChanged):
(WebCore::AXObjectCache::handleAriaExpandedChange):
(WebCore::AXObjectCache::handleAriaRoleChanged):
(WebCore::AXObjectCache::handleAriaModalChange):
(WebCore::AXObjectCache::handleFocusedUIElementChanged):
(WebCore::AXObjectCache::handleScrollbarUpdate):
(WebCore::AXObjectCache::handleAttributeChanged):

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::ariaCurrentState):
(WebCore::AccessibilityObject::isAriaModalDescendant):
(WebCore::AccessibilityObject::ignoredFromARIAModalPresence):
(WebCore::AccessibilityObject::hasTagName):
(WebCore::AccessibilityObject::defaultObjectInclusion):

  • accessibility/AccessibilityObject.h:
  • html/HTMLAttributeNames.in:

LayoutTests:

  • accessibility/aria-modal-expected.txt: Added.
  • accessibility/aria-modal-multiple-dialogs-expected.txt: Added.
  • accessibility/aria-modal-multiple-dialogs.html: Added.
  • accessibility/aria-modal.html: Added.
5:19 PM Changeset in webkit [191930] by sbarati@apple.com
  • 2 edits
    1 add in trunk/Source/JavaScriptCore

Wrong value recovery for DFG try/catch with a getter that throws during an IC miss
https://bugs.webkit.org/show_bug.cgi?id=150760

Reviewed by Geoffrey Garen.

This is related to using PhantomLocal instead of Flush as
the liveness preservation mechanism for live catch variables.
I'm temporarily switching things back to Flush. This will be a
performance hit for try/catch in the DFG. Landing this patch,
though, will allow me to land try/catch in the FTL. It also
makes try/catch in the DFG sound. I have opened another
bug to further investigate using PhantomLocal as the
liveness preservation mechanism: https://bugs.webkit.org/show_bug.cgi?id=150824

  • dfg/DFGLiveCatchVariablePreservationPhase.cpp:

(JSC::DFG::LiveCatchVariablePreservationPhase::handleBlock):

  • tests/stress/dfg-try-catch-wrong-value-recovery-on-ic-miss.js: Added.

(assert):
(let.oThrow.get f):
(let.o2.get f):
(foo):
(f):

5:15 PM Changeset in webkit [191929] by bshafiei@apple.com
  • 5 edits in branches/safari-601-branch/Source

Versioning.

5:06 PM Changeset in webkit [191928] by beidson@apple.com
  • 28 edits
    6 adds in trunk

Modern IDB: IBDObjectStore.delete() support.
https://bugs.webkit.org/show_bug.cgi?id=150784

Reviewed by Alex Christensen.

Source/WebCore:

Tests: storage/indexeddb/modern/idbobjectstore-delete-1.html

storage/indexeddb/modern/idbobjectstore-delete-2.html
storage/indexeddb/modern/idbobjectstore-delete-failures.html

  • Modules/indexeddb/IDBKeyRangeData.cpp:

(WebCore::IDBKeyRangeData::isValid):

  • Modules/indexeddb/IDBKeyRangeData.h:
  • Modules/indexeddb/client/IDBConnectionToServer.cpp:

(WebCore::IDBClient::IDBConnectionToServer::deleteRecord):
(WebCore::IDBClient::IDBConnectionToServer::didDeleteRecord):

  • Modules/indexeddb/client/IDBConnectionToServer.h:
  • Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
  • Modules/indexeddb/client/IDBObjectStoreImpl.cpp:

(WebCore::IDBClient::IDBObjectStore::get):
(WebCore::IDBClient::IDBObjectStore::deleteFunction):

  • Modules/indexeddb/client/IDBTransactionImpl.cpp:

(WebCore::IDBClient::IDBTransaction::requestDeleteRecord):
(WebCore::IDBClient::IDBTransaction::deleteRecordOnServer):
(WebCore::IDBClient::IDBTransaction::didDeleteRecordOnServer):

  • Modules/indexeddb/client/IDBTransactionImpl.h:
  • Modules/indexeddb/server/IDBBackingStore.h:
  • Modules/indexeddb/server/IDBConnectionToClient.cpp:

(WebCore::IDBServer::IDBConnectionToClient::didDeleteRecord):

  • Modules/indexeddb/server/IDBConnectionToClient.h:
  • Modules/indexeddb/server/IDBConnectionToClientDelegate.h:
  • Modules/indexeddb/server/IDBServer.cpp:

(WebCore::IDBServer::IDBServer::deleteRecord):

  • Modules/indexeddb/server/IDBServer.h:
  • Modules/indexeddb/server/MemoryIDBBackingStore.cpp:

(WebCore::IDBServer::MemoryIDBBackingStore::deleteRange):
(WebCore::IDBServer::MemoryIDBBackingStore::deleteRecord): Deleted.

  • Modules/indexeddb/server/MemoryIDBBackingStore.h:
  • Modules/indexeddb/server/MemoryObjectStore.cpp:

(WebCore::IDBServer::MemoryObjectStore::deleteRange):

  • Modules/indexeddb/server/MemoryObjectStore.h:
  • Modules/indexeddb/server/UniqueIDBDatabase.cpp:

(WebCore::IDBServer::UniqueIDBDatabase::performPutOrAdd):
(WebCore::IDBServer::UniqueIDBDatabase::deleteRecord):
(WebCore::IDBServer::UniqueIDBDatabase::performDeleteRecord):
(WebCore::IDBServer::UniqueIDBDatabase::didPerformDeleteRecord):

  • Modules/indexeddb/server/UniqueIDBDatabase.h:
  • Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:

(WebCore::IDBServer::UniqueIDBDatabaseTransaction::getCount):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::deleteRecord):

  • Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
  • Modules/indexeddb/shared/IDBResultData.cpp:

(WebCore::IDBResultData::deleteRecordSuccess):

  • Modules/indexeddb/shared/IDBResultData.h:
  • Modules/indexeddb/shared/InProcessIDBServer.cpp:

(WebCore::InProcessIDBServer::didDeleteRecord):
(WebCore::InProcessIDBServer::deleteRecord):

  • Modules/indexeddb/shared/InProcessIDBServer.h:

LayoutTests:

  • storage/indexeddb/modern/idbobjectstore-delete-1-expected.txt: Added.
  • storage/indexeddb/modern/idbobjectstore-delete-1.html: Added.
  • storage/indexeddb/modern/idbobjectstore-delete-2-expected.txt: Added.
  • storage/indexeddb/modern/idbobjectstore-delete-2.html: Added.
  • storage/indexeddb/modern/idbobjectstore-delete-failures-expected.txt: Added.
  • storage/indexeddb/modern/idbobjectstore-delete-failures.html: Added.
4:46 PM Changeset in webkit [191927] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Try to fix the iOS build

  • Shared/mac/PDFKitImports.h:
4:44 PM Changeset in webkit [191926] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Address a misssed review comment in r191922

  • WebProcess/Plugins/PDF/DeprecatedPDFPlugin.mm:

(WebKit::PDFPlugin::nextMatchForString):

4:37 PM Changeset in webkit [191925] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking imported/w3c/web-platform-tests/XMLHttpRequest/getresponseheader-chunked-trailer.htm as flaky on mac
https://bugs.webkit.org/show_bug.cgi?id=150823

Unreviewed test gardening.

  • platform/mac/TestExpectations:
4:32 PM Changeset in webkit [191924] by andersca@apple.com
  • 17 edits in trunk/Source/WebKit2

Add KVO-compliant _webProcessIsResponsive property to WKWebView and _WKObservablePageState
https://bugs.webkit.org/show_bug.cgi?id=150818
rdar://problem/22372131

Reviewed by Tim Horton.

  • UIProcess/API/C/mac/WKPagePrivateMac.h:
  • UIProcess/API/C/mac/WKPagePrivateMac.mm:

(-[WKObservablePageState _webProcessIsResponsive]):

  • UIProcess/API/Cocoa/PageLoadStateObserver.h:
  • UIProcess/API/Cocoa/WKBrowsingContextController.mm:

(-[WKBrowsingContextController _webProcessIsResponsive]):

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _webProcessIsResponsive]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/Cocoa/NavigationState.h:
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::willChangeWebProcessIsResponsive):
(WebKit::NavigationState::didChangeWebProcessIsResponsive):

  • UIProcess/PageLoadState.cpp:

(WebKit::PageLoadState::willChangeProcessIsResponsive):
(WebKit::PageLoadState::didChangeProcessIsResponsive):

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

(WebKit::ResponsivenessTimer::ResponsivenessTimer):
(WebKit::ResponsivenessTimer::timerFired):
(WebKit::ResponsivenessTimer::stop):

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

(WebKit::WebPageProxy::willChangeProcessIsResponsive):
(WebKit::WebPageProxy::didChangeProcessIsResponsive):

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

(WebKit::WebProcessProxy::WebProcessProxy):
(WebKit::WebProcessProxy::didBecomeUnresponsive):
(WebKit::WebProcessProxy::didBecomeResponsive):
(WebKit::WebProcessProxy::willChangeIsResponsive):
(WebKit::WebProcessProxy::didChangeIsResponsive):

  • UIProcess/WebProcessProxy.h:
4:25 PM Changeset in webkit [191923] by aestes@apple.com
  • 2 edits in trunk/Source/WebCore

Fix the iOS build again.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm: supportsPictureInPicture() needs to be declared even when

AVKit is disabled.

4:25 PM Changeset in webkit [191922] by timothy_horton@apple.com
  • 32 edits
    4 adds
    1 delete in trunk/Source

PDFPlugin should take advantage of threaded scrolling
https://bugs.webkit.org/show_bug.cgi?id=150037

Reviewed by Anders Carlsson.

Duplicate PDFPlugin, creating PDFPlugin (the modern version), and
DeprecatedPDFPlugin (containing the code that used to be in PDFPlugin
prior to this patch).

The new PDFPlugin differs from the old one in a few significant ways,
and we need to keep both alive for the time being. Significant differences
include:

  • PDFPlugin is no longer a ScrollableArea
  • PDFPlugin no longer hosts layers owned by PDFKit; instead, it draws into the page tiles, allowing WebCore's threaded scrolling to do its job
  • PDFPlugin now resizes itself to the size of the document
  • PDFPlugin doesn't handle zooming itself, it just delegates to the page
  • PDFLayerController has large and incompatible API changes
  • PDFPlugin now implements more of the HUD behavior, but it's still painted by PDFLayerController (into a view-relative PageOverlay)

[ File list elided because it's long and useless. ]

  • page/PageOverlay.cpp:

(WebCore::PageOverlay::PageOverlay):
(WebCore::PageOverlay::setNeedsDisplay):
Don't reset the overlay layer's opacity if we're not animating,
because it's possible the client wants to manage it.

  • page/PageOverlayController.cpp:

(WebCore::PageOverlayController::updateForceSynchronousScrollLayerPositionUpdates):
Let the overlay itself determine whether it needes synchronous scrolling,
and let PageOverlay clients override the default.

  • platform/Widget.h:

(WebCore::Widget::boundsRect):
Export a few useful things.

4:14 PM Changeset in webkit [191921] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Regression(r191673): Crash in RunLoopTimer::schedule()
https://bugs.webkit.org/show_bug.cgi?id=150816
<rdar://problem/23335285>

Reviewed by Anders Carlsson.

The crash was happening when the RunLoopTimer would fire during the
call to RunLoopTimer::schedule(), which can happen because we are
calling schedule() from a background thread. In such case, the
timerFired() callback execution would cause |this| to get destroyed.

To avoid this issue, DecodingResultDispatcher is now ref-counted. The
object is ref'd while calling startTimer() so that the object cannot go
away during the execution of this method. Also, we explicitly ref the
object when starting the timer to keep the object alive until the
RunLoopTimer has fired, at which point we explicitely de-ref.

This should handle correctly the cases where the RunLoopTimer fires
during AND after the execution of startTimer().

  • platform/network/DataURLDecoder.cpp:

(WebCore::DataURLDecoder::DecodingResultDispatcher::dispatch):
(WebCore::DataURLDecoder::DecodingResultDispatcher::startTimer):
(WebCore::DataURLDecoder::DecodingResultDispatcher::timerFired):

4:11 PM Changeset in webkit [191920] by aestes@apple.com
  • 23 edits in trunk

[Cocoa] Add tvOS and watchOS to SUPPORTED_PLATFORMS
https://bugs.webkit.org/show_bug.cgi?id=150819

Reviewed by Dan Bernstein.

This tells Xcode to include these platforms in its Devices dropdown, making it possible to build in the IDE.

Source/bmalloc:

  • Configurations/Base.xcconfig:

Source/JavaScriptCore:

  • Configurations/Base.xcconfig:

Source/ThirdParty:

  • gtest/xcode/Config/General.xcconfig:

Source/ThirdParty/ANGLE:

  • Configurations/Base.xcconfig:

Source/WebCore:

  • Configurations/Base.xcconfig:

Source/WebInspectorUI:

  • Configurations/Base.xcconfig:

Source/WebKit/mac:

  • Configurations/Base.xcconfig:

Source/WebKit2:

  • Configurations/Base.xcconfig:

Source/WTF:

  • Configurations/Base.xcconfig:

Tools:

  • DumpRenderTree/mac/Configurations/Base.xcconfig:
  • MiniBrowser/Configurations/Base.xcconfig:
  • TestWebKitAPI/Configurations/Base.xcconfig:
  • WebKitTestRunner/Configurations/Base.xcconfig:
4:07 PM Changeset in webkit [191919] by andersca@apple.com
  • 9 edits
    1 copy in trunk

Begin work on supporting reply blocks in _WKRemoteObjectRegistry
https://bugs.webkit.org/show_bug.cgi?id=150739

Reviewed by Tim Horton.

Source/WebKit2:

  • Platform/spi/Cocoa/BlockSPI.h:

Add SPI header.

  • Shared/API/Cocoa/RemoteObjectInvocation.h:

(WebKit::RemoteObjectInvocation::ReplyInfo::ReplyInfo):
(WebKit::RemoteObjectInvocation::replyInfo):

  • Shared/API/Cocoa/RemoteObjectInvocation.mm:

(WebKit::RemoteObjectInvocation::RemoteObjectInvocation):
(WebKit::RemoteObjectInvocation::encode):
(WebKit::RemoteObjectInvocation::decode):
Add an optional ReplyInfo struct to RemoteObjectInvocation.

  • Shared/API/Cocoa/_WKRemoteObjectRegistry.mm:

(generateReplyIdentifier):
Helper function to generate a reply identifier.

(-[_WKRemoteObjectRegistry _sendInvocation:interface:]):
Do some block parameter validation.

  • WebKit2.xcodeproj/project.pbxproj:

Tools:

Add a test. We only test the encoding right now.

  • TestWebKitAPI/Tests/WebKit2Cocoa/RemoteObjectRegistry.h:
  • TestWebKitAPI/Tests/WebKit2Cocoa/RemoteObjectRegistry.mm:

(TEST):

  • TestWebKitAPI/Tests/WebKit2Cocoa/RemoteObjectRegistryPlugIn.mm:

(-[RemoteObjectRegistryPlugIn sayHello:completionHandler:]):

3:53 PM Changeset in webkit [191918] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit2

[iOS] Another unreviewed sandbox update.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb: Change copyright.
3:51 PM Changeset in webkit [191917] by Brent Fulgham
  • 4 edits in trunk/Source

[Win] MiniBrowser unable to use WebInspector
https://bugs.webkit.org/show_bug.cgi?id=150810
<rdar://problem/23358514>

Reviewed by Timothy Hatcher.

The CMakeList rule for creating the InjectedScriptSource.min.js was improperly including
the quote characters in the text prepended to InjectedScriptSource.min.js. This caused a
parsing error in the JS file.

The solution was to switch from using "COMMAND echo" to use the more cross-platform
compatible command "COMMAND ${CMAKE_COMMAND} -E echo ...", which handles the string
escaping properly on all platforms.

  • CMakeLists.txt: Switch the 'echo' command syntax to be more cross-platform.
3:30 PM Changeset in webkit [191916] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit2

[iOS] Unreviewed sandbox update.

Correcting copyright information.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
3:16 PM Changeset in webkit [191915] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

hasOverflowClip() does not necessarily mean valid layer().
https://bugs.webkit.org/show_bug.cgi?id=150814

Reviewed by Simon Fraser.

Certain RenderLayerModelObject derived classes simply return false for ::requiresLayer(), which means
that we end up not creating a layer for the overflow clipped content.

No change in functionality.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::updateScrollInfoAfterLayout):
(WebCore::RenderBlock::paint):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::styleDidChange):
(WebCore::RenderBox::scrollWidth):
(WebCore::RenderBox::scrollHeight):
(WebCore::RenderBox::scrollLeft):
(WebCore::RenderBox::scrollTop):
(WebCore::RenderBox::setScrollLeft):
(WebCore::RenderBox::setScrollTop):
(WebCore::RenderBox::includeVerticalScrollbarSize):
(WebCore::RenderBox::includeHorizontalScrollbarSize):
(WebCore::RenderBox::intrinsicScrollbarLogicalWidth):
(WebCore::RenderBox::usesCompositedScrolling):

3:03 PM Changeset in webkit [191914] by beidson@apple.com
  • 5 edits in trunk/LayoutTests

REGRESSION (191898) idbobjectstore-*-failures.html tests fail in Release builds.
https://bugs.webkit.org/show_bug.cgi?id=150815

Reviewed by NOBODY (Fix failing/flaky tests from my previous check-in)

  • storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures.html:
  • storage/indexeddb/modern/idbobjectstore-count-failures.html:
  • storage/indexeddb/modern/idbobjectstore-get-failures.html:
  • storage/indexeddb/modern/idbobjectstore-put-and-clear-failures.html:
2:56 PM Changeset in webkit [191913] by fpizlo@apple.com
  • 13 edits in trunk/Source/JavaScriptCore

B3 should be able to compile a Patchpoint
https://bugs.webkit.org/show_bug.cgi?id=150750

Reviewed by Geoffrey Garen.

This adds the glue in B3::LowerToAir that turns a B3::PatchpointValue into an Air::Patch
with a B3::PatchpointSpecial.

Along the way, I found some bugs. For starters, it became clear that I wanted to be able
to append constraints to a Stackmap, and I wanted to have more flexibility in how I
created a PatchpointValue. I also wanted more helper methods in ValueRep, since
otherwise I would have had to write a lot of boilerplate.

I discovered, and fixed, a minor goof in Air::Code dumping when there are specials.

There were a ton of indexing bugs in B3StackmapSpecial.

The spiller was broken in case the Def was not the last Arg, since it was adding things
to the insertion set both at instIndex and instIndex + 1, and the two types of additions
could occur in the wrong (i.e. the +1 case first) order with an early Def. We often have
bugs like this. In the DFG, we were paranoid about performance so we only admit out-of-
order insertions as a rare case. I think that we don't really need to be so paranoid.
So, I made the new insertion sets use a stable_sort to ensure that everything happens in
the right order. I changed DFG::BlockInsertionSet to also use stable_sort; it previously
used sort, which is slightly wrong.

This adds a new test that uses Patchpoint to implement a 32-bit add. It works!

  • b3/B3InsertionSet.cpp:

(JSC::B3::InsertionSet::execute):

  • b3/B3LowerToAir.cpp:

(JSC::B3::Air::LowerToAir::tryAppendStoreBinOp):
(JSC::B3::Air::LowerToAir::appendStore):
(JSC::B3::Air::LowerToAir::moveForType):
(JSC::B3::Air::LowerToAir::append):
(JSC::B3::Air::LowerToAir::ensureSpecial):
(JSC::B3::Air::LowerToAir::tryStore):
(JSC::B3::Air::LowerToAir::tryStackSlot):
(JSC::B3::Air::LowerToAir::tryPatchpoint):
(JSC::B3::Air::LowerToAir::tryUpsilon):

  • b3/B3LoweringMatcher.patterns:
  • b3/B3PatchpointValue.h:

(JSC::B3::PatchpointValue::accepts): Deleted.
(JSC::B3::PatchpointValue::PatchpointValue): Deleted.

  • b3/B3Stackmap.h:

(JSC::B3::Stackmap::constrain):
(JSC::B3::Stackmap::appendConstraint):
(JSC::B3::Stackmap::reps):
(JSC::B3::Stackmap::clobber):

  • b3/B3StackmapSpecial.cpp:

(JSC::B3::StackmapSpecial::forEachArgImpl):
(JSC::B3::StackmapSpecial::isValidImpl):

  • b3/B3Value.h:
  • b3/B3ValueRep.h:

(JSC::B3::ValueRep::ValueRep):
(JSC::B3::ValueRep::reg):
(JSC::B3::ValueRep::operator bool):
(JSC::B3::ValueRep::isAny):
(JSC::B3::ValueRep::isSomeRegister):
(JSC::B3::ValueRep::isReg):
(JSC::B3::ValueRep::isGPR):
(JSC::B3::ValueRep::isFPR):
(JSC::B3::ValueRep::gpr):
(JSC::B3::ValueRep::fpr):
(JSC::B3::ValueRep::isStack):
(JSC::B3::ValueRep::offsetFromFP):
(JSC::B3::ValueRep::isStackArgument):
(JSC::B3::ValueRep::offsetFromSP):
(JSC::B3::ValueRep::isConstant):
(JSC::B3::ValueRep::value):

  • b3/air/AirCode.cpp:

(JSC::B3::Air::Code::dump):

  • b3/air/AirInsertionSet.cpp:

(JSC::B3::Air::InsertionSet::execute):

  • b3/testb3.cpp:

(JSC::B3::testComplex):
(JSC::B3::testSimplePatchpoint):
(JSC::B3::run):

  • dfg/DFGBlockInsertionSet.cpp:

(JSC::DFG::BlockInsertionSet::execute):

2:55 PM Changeset in webkit [191912] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

Fix Mac CMake build after r191904.

  • PlatformMac.cmake:

Move SettingsMac.mm to SettingsCocoa.mm.

2:01 PM Changeset in webkit [191911] by bshafiei@apple.com
  • 2 edits
    1 delete in branches/safari-601.1.46.7-branch/Source/JavaScriptCore

Roll out r189012. rdar://problem/22619016

2:00 PM Changeset in webkit [191910] by bshafiei@apple.com
  • 9 edits
    1 copy in branches/safari-601.1.46.7-branch

Roll out r188311. rdar://problem/22618975

1:49 PM Changeset in webkit [191909] by eric.carlson@apple.com
  • 11 edits in trunk/Source/WebCore

Add HTMLMediaElement behavior and attribute value restrictions for MediaStream
https://bugs.webkit.org/show_bug.cgi?id=146853

Reviewed by Jer Noble.

  • Modules/mediastream/MediaStream.cpp:

(WebCore::MediaStream::scheduleActiveStateChange): Do nothing if the active state hasn't changed.
(WebCore::MediaStream::activityEventTimerFired): Remove FIXME.

  • Modules/mediastream/MediaStreamTrack.cpp:

(WebCore::MediaStreamTrack::stopProducingData): Add comments. Notify observers that the track ended.
(WebCore::MediaStreamTrack::trackEnded): Don't dispatch events after having been stopped.
(WebCore::MediaStreamTrack::trackMutedChanged): Ditto.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::defaultPlaybackRate): Always return 1 when using a MediaStream.
(WebCore::HTMLMediaElement::setDefaultPlaybackRate): Do nothing when using a MediaStream.
(WebCore::HTMLMediaElement::playbackRate): Always return 1 when using a MediaStream.
(WebCore::HTMLMediaElement::setPlaybackRate): Do nothing when using a MediaStream.
(WebCore::HTMLMediaElement::ended): Ask the media engine when using a MediaStream.
(WebCore::HTMLMediaElement::preload): Always return "none" when using a MediaStream.
(WebCore::HTMLMediaElement::setPreload): Do nothing when using a MediaStream.
(WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Avoid unnecessary comparisons when the duration

is not definite. Send ended event when MediaStream says stream has ended.

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::ended): New, passthrough to engine.

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/MediaPlayerPrivate.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::load): Set m_ended from stream.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::cancelLoad): Pause the stream if necessary.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::play): Return early if ended or already playing.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::pause): Return early if ended or already paused.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::currentReadyState): Cleanup. Try to grab a paused

image if the stream isn't active.

(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::updateReadyState): New.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::activeStatusChanged): Call updateReadyState.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::characteristicsChanged): Ditto.

  • platform/mediastream/MediaStreamPrivate.cpp:

(WebCore::MediaStreamPrivate::trackEnabledChanged): Call updateActiveState so the state will

be updated if necessary.

  • platform/mediastream/RealtimeMediaSource.cpp:

(WebCore::RealtimeMediaSource::stop): Don't call reset, there is no need to tear everything down.

1:27 PM Changeset in webkit [191908] by aestes@apple.com
  • 2 edits in trunk/Source/WebKit/ios

Fixed the iOS build after r191904.

  • WebCoreSupport/WebChromeClientIOS.mm:

(WebChromeClientIOS::screenSize):

1:15 PM Changeset in webkit [191907] by timothy_horton@apple.com
  • 10 edits in trunk

Get rid of WKWebView's inner WKView (WKView being inside WKWebView leads to weird API issues)
https://bugs.webkit.org/show_bug.cgi?id=150174

Reviewed by Anders Carlsson.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):
(-[WKWebView dealloc]):
(-[WKWebView allowsLinkPreview]):
(-[WKWebView setAllowsLinkPreview:]):
(-[WKWebView acceptsFirstResponder]):
(-[WKWebView becomeFirstResponder]):
(-[WKWebView resignFirstResponder]):
(-[WKWebView viewWillStartLiveResize]):
(-[WKWebView viewDidEndLiveResize]):
(-[WKWebView isFlipped]):
(-[WKWebView intrinsicContentSize]):
(-[WKWebView prepareContentInRect:]):
(-[WKWebView setFrameSize:]):
(-[WKWebView renewGState]):
(-[WKWebView writeSelectionToPasteboard:types:]):
(-[WKWebView centerSelectionInVisibleArea:]):
(-[WKWebView validRequestorForSendType:returnType:]):
(-[WKWebView readSelectionFromPasteboard:]):
(-[WKWebView changeFont:]):
(-[WKWebView validateUserInterfaceItem:]):
(-[WKWebView startSpeaking:]):
(-[WKWebView stopSpeaking:]):
(-[WKWebView showGuessPanel:]):
(-[WKWebView checkSpelling:]):
(-[WKWebView changeSpelling:]):
(-[WKWebView toggleContinuousSpellChecking:]):
(-[WKWebView isGrammarCheckingEnabled]):
(-[WKWebView setGrammarCheckingEnabled:]):
(-[WKWebView toggleGrammarChecking:]):
(-[WKWebView toggleAutomaticSpellingCorrection:]):
(-[WKWebView orderFrontSubstitutionsPanel:]):
(-[WKWebView toggleSmartInsertDelete:]):
(-[WKWebView isAutomaticQuoteSubstitutionEnabled]):
(-[WKWebView setAutomaticQuoteSubstitutionEnabled:]):
(-[WKWebView toggleAutomaticQuoteSubstitution:]):
(-[WKWebView isAutomaticDashSubstitutionEnabled]):
(-[WKWebView setAutomaticDashSubstitutionEnabled:]):
(-[WKWebView toggleAutomaticDashSubstitution:]):
(-[WKWebView isAutomaticLinkDetectionEnabled]):
(-[WKWebView setAutomaticLinkDetectionEnabled:]):
(-[WKWebView toggleAutomaticLinkDetection:]):
(-[WKWebView isAutomaticTextReplacementEnabled]):
(-[WKWebView setAutomaticTextReplacementEnabled:]):
(-[WKWebView toggleAutomaticTextReplacement:]):
(-[WKWebView uppercaseWord:]):
(-[WKWebView lowercaseWord:]):
(-[WKWebView capitalizeWord:]):
(-[WKWebView _wantsKeyDownForEvent:]):
(-[WKWebView scrollWheel:]):
(-[WKWebView swipeWithEvent:]):
(-[WKWebView mouseMoved:]):
(-[WKWebView mouseDown:]):
(-[WKWebView mouseUp:]):
(-[WKWebView mouseDragged:]):
(-[WKWebView mouseEntered:]):
(-[WKWebView mouseExited:]):
(-[WKWebView otherMouseDown:]):
(-[WKWebView otherMouseDragged:]):
(-[WKWebView otherMouseUp:]):
(-[WKWebView rightMouseDown:]):
(-[WKWebView rightMouseDragged:]):
(-[WKWebView rightMouseUp:]):
(-[WKWebView pressureChangeWithEvent:]):
(-[WKWebView acceptsFirstMouse:]):
(-[WKWebView shouldDelayWindowOrderingForEvent:]):
(-[WKWebView doCommandBySelector:]):
(-[WKWebView insertText:]):
(-[WKWebView insertText:replacementRange:]):
(-[WKWebView inputContext]):
(-[WKWebView performKeyEquivalent:]):
(-[WKWebView keyUp:]):
(-[WKWebView keyDown:]):
(-[WKWebView flagsChanged:]):
(-[WKWebView setMarkedText:selectedRange:replacementRange:]):
(-[WKWebView unmarkText]):
(-[WKWebView selectedRange]):
(-[WKWebView hasMarkedText]):
(-[WKWebView markedRange]):
(-[WKWebView attributedSubstringForProposedRange:actualRange:]):
(-[WKWebView characterIndexForPoint:]):
(-[WKWebView firstRectForCharacterRange:actualRange:]):
(-[WKWebView selectedRangeWithCompletionHandler:]):
(-[WKWebView markedRangeWithCompletionHandler:]):
(-[WKWebView hasMarkedTextWithCompletionHandler:]):
(-[WKWebView attributedSubstringForProposedRange:completionHandler:]):
(-[WKWebView firstRectForCharacterRange:completionHandler:]):
(-[WKWebView characterIndexForPoint:completionHandler:]):
(-[WKWebView validAttributesForMarkedText]):
(-[WKWebView draggedImage:endedAt:operation:]):
(-[WKWebView draggingEntered:]):
(-[WKWebView draggingUpdated:]):
(-[WKWebView draggingExited:]):
(-[WKWebView prepareForDragOperation:]):
(-[WKWebView performDragOperation:]):
(-[WKWebView _hitTest:dragTypes:]):
(-[WKWebView _windowResizeMouseLocationIsInVisibleScrollerThumb:]):
(-[WKWebView viewWillMoveToWindow:]):
(-[WKWebView viewDidMoveToWindow]):
(-[WKWebView drawRect:]):
(-[WKWebView isOpaque]):
(-[WKWebView mouseDownCanMoveWindow]):
(-[WKWebView viewDidHide]):
(-[WKWebView viewDidUnhide]):
(-[WKWebView viewDidChangeBackingProperties]):
(-[WKWebView _activeSpaceDidChange:]):
(-[WKWebView accessibilityFocusedUIElement]):
(-[WKWebView accessibilityIsIgnored]):
(-[WKWebView accessibilityHitTest:]):
(-[WKWebView accessibilityAttributeValue:]):
(-[WKWebView hitTest:]):
(-[WKWebView conversationIdentifier]):
(-[WKWebView quickLookWithEvent:]):
(-[WKWebView addTrackingRect:owner:userData:assumeInside:]):
(-[WKWebView _addTrackingRect:owner:userData:assumeInside:useTrackingNum:]):
(-[WKWebView _addTrackingRects:owner:userDataList:assumeInsideList:trackingNums:count:]):
(-[WKWebView removeTrackingRect:]):
(-[WKWebView _removeTrackingRects:count:]):
(-[WKWebView view:stringForToolTip:point:userData:]):
(-[WKWebView pasteboardChangedOwner:]):
(-[WKWebView pasteboard:provideDataForType:]):
(-[WKWebView namesOfPromisedFilesDroppedAtDestination:]):
(-[WKWebView wantsUpdateLayer]):
(-[WKWebView updateLayer]):
(-[WKWebView setAllowsBackForwardNavigationGestures:]):
(-[WKWebView allowsBackForwardNavigationGestures]):
(-[WKWebView smartMagnifyWithEvent:]):
(-[WKWebView setMagnification:centeredAtPoint:]):
(-[WKWebView setMagnification:]):
(-[WKWebView magnification]):
(-[WKWebView setAllowsMagnification:]):
(-[WKWebView allowsMagnification]):
(-[WKWebView magnifyWithEvent:]):
(-[WKWebView rotateWithEvent:]):
(-[WKWebView _web_superInputContext]):
(-[WKWebView _web_superQuickLookWithEvent:]):
(-[WKWebView _web_superSwipeWithEvent:]):
(-[WKWebView _web_superMagnifyWithEvent:]):
(-[WKWebView _web_superSmartMagnifyWithEvent:]):
(-[WKWebView _web_superRemoveTrackingRect:]):
(-[WKWebView _web_superAccessibilityAttributeValue:]):
(-[WKWebView _web_superDoCommandBySelector:]):
(-[WKWebView _web_superPerformKeyEquivalent:]):
(-[WKWebView _web_superKeyDown:]):
(-[WKWebView _web_superHitTest:]):
(-[WKWebView _web_immediateActionAnimationControllerForHitTestResultInternal:withType:userData:]):
(-[WKWebView _web_prepareForImmediateActionAnimation]):
(-[WKWebView _web_cancelImmediateActionAnimation]):
(-[WKWebView _web_completeImmediateActionAnimation]):
(-[WKWebView _web_didChangeContentSize:]):
(-[WKWebView _web_dismissContentRelativeChildWindows]):
(-[WKWebView _web_dismissContentRelativeChildWindowsWithAnimation:]):
(-[WKWebView _web_gestureEventWasNotHandledByWebCore:]):
(-[WKWebView _setEditable:]):
(-[WKWebView _remoteObjectRegistry]):
(-[WKWebView _layoutMode]):
(-[WKWebView _setLayoutMode:]):
(-[WKWebView _setViewScale:]):
(-[WKWebView _drawsTransparentBackground]):
(-[WKWebView _setDrawsTransparentBackground:]):
(-[WKWebView _inspectorAttachmentView]):
(-[WKWebView _setInspectorAttachmentView:]):
(-[WKWebView _windowOcclusionDetectionEnabled]):
(-[WKWebView _setWindowOcclusionDetectionEnabled:]):
(-[WKWebView _setOverrideDeviceScaleFactor:]):
(-[WKWebView _overrideDeviceScaleFactor]):
(-[WKWebView _setTopContentInset:]):
(-[WKWebView _topContentInset]):
(-[WKWebView _pageExtendedBackgroundColor]):
(-[WKWebView _immediateActionAnimationControllerForHitTestResult:withType:userData:]):
(-[WKWebView _setAutomaticallyAdjustsContentInsets:]):
(-[WKWebView _automaticallyAdjustsContentInsets]):
(-[WKWebView _setMinimumLayoutWidth:]):
(-[WKWebView resizeSubviewsWithOldSize:]): Deleted.
(-[WKWebView _ignoresNonWheelEvents]): Deleted.
(-[WKWebView _setIgnoresNonWheelEvents:]): Deleted.
(-[WKWebView _setIntrinsicContentSize:]): Deleted.

  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/API/mac/WKView.mm:

(-[WKView _web_superInputContext]):
(-[WKView _web_superQuickLookWithEvent:]):
(-[WKView _web_superSwipeWithEvent:]):
(-[WKView _web_superMagnifyWithEvent:]):
(-[WKView _web_superSmartMagnifyWithEvent:]):
(-[WKView _web_superRemoveTrackingRect:]):
(-[WKView _web_superAccessibilityAttributeValue:]):
(-[WKView _web_superDoCommandBySelector:]):
(-[WKView _web_superPerformKeyEquivalent:]):
(-[WKView _web_superKeyDown:]):
(-[WKView _web_superHitTest:]):
(-[WKView _web_immediateActionAnimationControllerForHitTestResultInternal:withType:userData:]):
(-[WKView _web_prepareForImmediateActionAnimation]):
(-[WKView _web_cancelImmediateActionAnimation]):
(-[WKView _web_completeImmediateActionAnimation]):
(-[WKView _web_didChangeContentSize:]):
(-[WKView _web_dismissContentRelativeChildWindows]):
(-[WKView _web_dismissContentRelativeChildWindowsWithAnimation:]):
(-[WKView _web_gestureEventWasNotHandledByWebCore:]):
(-[WKView _superInputContext]): Deleted.
(-[WKView _superQuickLookWithEvent:]): Deleted.
(-[WKView _superSwipeWithEvent:]): Deleted.
(-[WKView _superMagnifyWithEvent:]): Deleted.
(-[WKView _superSmartMagnifyWithEvent:]): Deleted.
(-[WKView _superRemoveTrackingRect:]): Deleted.
(-[WKView _superAccessibilityAttributeValue:]): Deleted.
(-[WKView _superDoCommandBySelector:]): Deleted.
(-[WKView _superPerformKeyEquivalent:]): Deleted.
(-[WKView _superKeyDown:]): Deleted.
(-[WKView _superHitTest:]): Deleted.
(-[WKView _addFontPanelObserver]): Deleted.

  • UIProcess/API/mac/WKViewInternal.h:
  • UIProcess/Cocoa/WebViewImpl.h:
  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::hitTest):
(WebKit::WebViewImpl::updateSecureInputState):
(WebKit::WebViewImpl::notifyInputContextAboutDiscardedComposition):
(WebKit::WebViewImpl::executeSavedCommandBySelector):
(WebKit::WebViewImpl::dismissContentRelativeChildWindowsWithAnimation):
(WebKit::WebViewImpl::dismissContentRelativeChildWindowsWithAnimationFromViewOnly):
(WebKit::WebViewImpl::quickLookWithEvent):
(WebKit::WebViewImpl::prepareForImmediateActionAnimation):
(WebKit::WebViewImpl::cancelImmediateActionAnimation):
(WebKit::WebViewImpl::completeImmediateActionAnimation):
(WebKit::WebViewImpl::didChangeContentSize):
(WebKit::WebViewImpl::accessibilityAttributeValue):
(WebKit::WebViewImpl::removeTrackingRect):
(WebKit::WebViewImpl::swipeWithEvent):
(WebKit::WebViewImpl::magnifyWithEvent):
(WebKit::WebViewImpl::smartMagnifyWithEvent):
(WebKit::WebViewImpl::gestureEventWasNotHandledByWebCore):
(WebKit::WebViewImpl::doCommandBySelector):
(WebKit::WebViewImpl::inputContext):
(WebKit::WebViewImpl::performKeyEquivalent):
(WebKit::WebViewImpl::keyDown):

  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::setDragImage):
(WebKit::PageClientImpl::intrinsicContentSizeDidChange): Deleted.
(WebKit::PageClientImpl::immediateActionAnimationControllerForHitTestResult): Deleted.
Plop.

  • WebKitTestRunner/mac/EventSenderProxy.mm:

(WTR::EventSenderProxy::mouseUp):
(WTR::EventSenderProxy::mouseMoveTo):
Revert some parts of r188828 which no longer apply.

1:13 PM Changeset in webkit [191906] by andersca@apple.com
  • 9 edits in trunk/Source/WebKit2

Remove unused API client callback code
https://bugs.webkit.org/show_bug.cgi?id=150813

Reviewed by Tim Horton.

  • UIProcess/API/APILoaderClient.h:

(API::LoaderClient::interactionOccurredWhileProcessUnresponsive): Deleted.

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageLoaderClient): Deleted.

  • UIProcess/ResponsivenessTimer.cpp:

(WebKit::ResponsivenessTimer::timerFired):

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

(WebKit::WebPageProxy::interactionOccurredWhileProcessUnresponsive): Deleted.

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

(WebKit::WebProcessProxy::interactionOccurredWhileUnresponsive): Deleted.

  • UIProcess/WebProcessProxy.h:
1:10 PM Changeset in webkit [191905] by mark.lam@apple.com
  • 9 edits
    2 adds in trunk/Source/JavaScriptCore

Snippefy op_add for the baseline JIT.
https://bugs.webkit.org/show_bug.cgi?id=150129

Reviewed by Geoffrey Garen and Saam Barati.

Performance is neutral for both 32-bit and 64-bit on X86_64.

(JSC::JIT::getOperandConstantInt):

  • Move getOperandConstantInt() from the JSVALUE64 section to the common section because the snippet needs it.
  • jit/JITAddGenerator.cpp: Added.

(JSC::JITAddGenerator::generateFastPath):

  • jit/JITAddGenerator.h: Added.

(JSC::JITAddGenerator::JITAddGenerator):
(JSC::JITAddGenerator::endJumpList):
(JSC::JITAddGenerator::slowPathJumpList):

  • JITAddGenerator implements an optimization for the case where 1 of the 2 operands is a constant int32_t. It does not implement an optimization for the case where both operands are constant int32_t. This is because:
    1. For the baseline JIT, the ASTBuilder will fold the 2 constants together.
    2. For the DFG, the AbstractInterpreter will also fold the 2 constants.

Hence, such an optimization path (for 2 constant int32_t operands) would never
be taken, and is why we won't implement it.

  • jit/JITArithmetic.cpp:

(JSC::JIT::compileBinaryArithOp):
(JSC::JIT::compileBinaryArithOpSlowCase):

  • Removed op_add cases. These are no longer used by the op_add emitters.

(JSC::JIT::emit_op_add):
(JSC::JIT::emitSlow_op_add):

  • Moved out from the JSVALUE64 section to the common section, and reimplemented using the snippet.
  • jit/JITArithmetic32_64.cpp:

(JSC::JIT::emitBinaryDoubleOp):
(JSC::JIT::emit_op_add): Deleted.
(JSC::JIT::emitAdd32Constant): Deleted.
(JSC::JIT::emitSlow_op_add): Deleted.

  • Remove 32-bit specific version of op_add. The snippet serves both 32-bit and 64-bit implementations.
  • jit/JITInlines.h:

(JSC::JIT::getOperandConstantInt):

  • Move getOperandConstantInt() from the JSVALUE64 section to the common section because the snippet needs it.
12:29 PM Changeset in webkit [191904] by aestes@apple.com
  • 40 edits
    3 copies
    2 moves
    2 adds
    1 delete in trunk/Source

Replace iOS-only WebKitSystemInterface calls with SPI
https://bugs.webkit.org/show_bug.cgi?id=150763

Reviewed by Darin Adler.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:
  • config.h: Removed WEBCORE_NAVIGATOR_PLATFORM and WEBCORE_NAVIGATOR_VENDOR.
  • css/MediaQueryEvaluator.cpp:

(WebCore::isRunningOnIPhoneOrIPod): Used deviceClass() instead of iosDeviceClass().

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::shouldOverrideBackgroundPlaybackRestriction): Used supportsPictureInPicture() instead of wkIsOptimizedFullscreenSupported().

  • html/HTMLObjectElement.cpp:

(WebCore::shouldNotPerformURLAdjustment): Used dyld_get_program_sdk_version() instead of iosExecutableWasLinkedOnOrAfterVersion().

  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::webkitSupportsPresentationMode): Used supportsPictureInPicture() instead of wkIsOptimizedFullscreenSupported().

  • page/NavigatorBase.cpp:
  • page/Settings.h:
  • page/ViewportConfiguration.cpp:

(WebCore::ViewportConfiguration::textDocumentParameters): Used screenSize() instead of wkGetScreenSize().

  • page/ios/UserAgentIOS.mm:

(WebCore::isClassic): Added to return -[UIApplication _isClassic].
(WebCore::osNameForUserAgent): Upstreamed the implementation of WKGetOSNameForUserAgent() from WebKitSystemInterface.
(WebCore::deviceName): Ditto for wkGetDeviceName().
(WebCore::standardUserAgentWithApplicationName): Called deviceName() and osNameForUserAgent().

  • page/mac/SettingsCocoa.mm: Renamed from Source/WebCore/page/mac/SettingsMac.mm.

(WebCore::Settings::defaultMinimumZoomFontSize): Upstreamed the implementation of WKGetMinimumZoomFontSize() from WebKitSystemInterface.

  • platform/PlatformScreen.h:
  • platform/ios/Device.cpp: Added functions that answer queries about the iOS device from MobileGestalt.

(WebCore::deviceClass):
(WebCore::deviceName):
(WebCore::deviceHasIPadCapability):

  • platform/ios/Device.h:
  • platform/ios/PlatformScreenIOS.mm:

(WebCore::screenPPIFactor): Used MGGetSInt32Answer() and MGGetFloat32Answer() instead of mobileGestaltFloatValue().
(WebCore::screenSize): Upstreamed the implementation of WKGetScreenSize() from WebKitSystemInterface.
(WebCore::availableScreenSize): Ditto for WKGetAvailableScreenSize().
(WebCore::screenScaleFactor): Ditto for WKGetScreenScaleFactor() and WKGetScaleFactorForScreen().
(WebCore::mobileGestaltFloatValue): Deleted.

  • platform/ios/WebCoreSystemInterfaceIOS.h: Removed.

(iosExecutableWasLinkedOnOrAfterVersion): Deleted.
(iosDeviceClass): Deleted.

  • platform/ios/WebCoreSystemInterfaceIOS.mm:
  • platform/ios/WebVideoFullscreenInterfaceAVKit.h:
  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(WebVideoFullscreenInterfaceAVKit::mayAutomaticallyShowVideoPictureInPicture): Used supportsPictureInPicture() instead of wkIsOptimizedFullscreenSupported().
(WebCore::supportsPictureInPicture): Upstreamed the implementation of WKIsOptimizedFullscreenSupported() from WebKitSystemInterface.

  • platform/ios/wak/WAKWindow.mm:

(-[WAKWindow initWithLayer:]): Used screenScaleFactor() instead of WKGetScreenScaleFactor().
(-[WAKWindow initWithFrame:]): Ditto.

  • platform/ios/wak/WKGraphics.mm:

(WKGraphicsCreateImageFromBundleWithName): Ditto.
(WKDrawPatternBitmap): Ditto.

  • platform/mac/WebCoreSystemInterface.h:
  • platform/spi/cocoa/DynamicLinkerSPI.h: Defined additional DYLD_IOS_VERSION macros.
  • platform/spi/ios/MobileGestaltSPI.h: Defined additional MobileGestalt queries, enum MGDeviceClass, MGGetSInt32Answer, and MGGetFloat32Answer.
  • platform/spi/ios/UIKitSPI.h: Copied from Source/WebCore/platform/spi/ios/UIColorSPI.h, and added SPI declarations for UIApplication and UIScreen.
  • rendering/RenderThemeIOS.mm: Included UIKitSPI.h instead of UIColorSPI.h, and removed unnecessary forward declarations for the iOS public SDK build.

Source/WebKit/ios:

  • Misc/WebUIKitSupport.mm:

(linkedOnOrAfterIOS5): Used dyld_get_program_sdk_version() instead of iosExecutableWasLinkedOnOrAfterVersion().
(WebKitGetMinimumZoomFontSize): Used Settings::defaultMinimumZoomFontSize() instead of WKGetMinimumZoomFontSize().

  • WebCoreSupport/WebChromeClientIOS.mm:

(WebChromeClientIOS::screenSize): Used screenSize() instead of WKGetScreenSize().

Source/WebKit/mac:

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface): Deleted.

  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]): Used deviceClass() and Settings::defaultMinimumZoomFontSize() instead of WKGetDeviceClass() and WKGetMinimumZoomFontSize().

  • WebView/WebView.mm:

(shouldAllowPictureInPictureMediaPlayback): Used dyld_get_program_sdk_version() instead of iosExecutableWasLinkedOnOrAfterVersion().
(-[WebView _updateScreenScaleFromWindow]): Used screenScaleFactor() instead of WKGetScreenScaleFactor().

Source/WebKit2:

  • Platform/ios/AccessibilityIOS.h: Added.
  • Platform/ios/AccessibilityIOS.mm: Added.

(WebKit::newAccessibilityRemoteToken): Upstreamed the implementation of WKAXRemoteToken() from WebKitSystemInterface.

  • Shared/WebPreferencesDefinitions.h: Used Settings::defaultMinimumZoomFontSize() instead of WKGetMinimumZoomFontSize().
  • Shared/WebPreferencesStore.cpp:
  • UIProcess/API/Cocoa/WKWebView.mm:

(shouldAllowPictureInPictureMediaPlayback): Used dyld_get_program_sdk_version() instead of iosExecutableWasLinkedOnOrAfterVersion().
(-[WKWebView _takeViewSnapshot]): Used screenScaleFactor() instead of WKGetScreenScaleFactor().

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration init]): Used deviceClass() instead of WKGetDeviceClass().

  • UIProcess/ios/WKContentView.mm:

(-[WKContentView _commonInitializationWithProcessPool:configuration:]): Used screenScaleFactor() instead of WKGetScaleFactorForScreen().
(-[WKContentView _updateForScreen:]): Ditto.
(storeAccessibilityRemoteConnectionInformation): Upstreamed the implementation of WKAXStoreRemoteConnectionInformation() from WebKitSystemInterface.
(-[WKContentView _accessibilityRegisterUIProcessTokens]): Used newAccessibilityRemoteToken() and storeAccessibilityRemoteConnectionInformation() instead of WKAXRemoteToken() and WKAXStoreRemoteConnectionInformation().

  • UIProcess/ios/WKContentViewInteraction.mm:
  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::screenSize): Used screenSize() instead of WKGetScreenSize().
(WebKit::WebPageProxy::availableScreenSize): Used availableScreenSize() instead of WKGetAvailableScreenSize().
(WebKit::WebPageProxy::textAutosizingWidth): Used screenSize() instead of WKGetScreenSize().

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface): Deleted.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::platformInitializeAccessibility): Used newAccessibilityRemoteToken() instead of WKAXRemoteToken().

11:55 AM Changeset in webkit [191903] by commit-queue@webkit.org
  • 40 edits
    2 moves
    1 add
    3 deletes in trunk/Source

Unreviewed, rolling out r191902.
https://bugs.webkit.org/show_bug.cgi?id=150811

This change broke iOS builders (Requested by ryanhaddad on
#webkit).

Reverted changeset:

"Replace iOS-only WebKitSystemInterface calls with SPI"
https://bugs.webkit.org/show_bug.cgi?id=150763
http://trac.webkit.org/changeset/191902

11:09 AM Changeset in webkit [191902] by aestes@apple.com
  • 40 edits
    3 copies
    2 moves
    2 adds
    1 delete in trunk/Source

Replace iOS-only WebKitSystemInterface calls with SPI
https://bugs.webkit.org/show_bug.cgi?id=150763

Reviewed by Darin Adler.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:
  • config.h: Removed WEBCORE_NAVIGATOR_PLATFORM and WEBCORE_NAVIGATOR_VENDOR.
  • css/MediaQueryEvaluator.cpp:

(WebCore::isRunningOnIPhoneOrIPod): Used deviceClass() instead of iosDeviceClass().

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::shouldOverrideBackgroundPlaybackRestriction): Used supportsPictureInPicture() instead of wkIsOptimizedFullscreenSupported().

  • html/HTMLObjectElement.cpp:

(WebCore::shouldNotPerformURLAdjustment): Used dyld_get_program_sdk_version() instead of iosExecutableWasLinkedOnOrAfterVersion().

  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::webkitSupportsPresentationMode): Used supportsPictureInPicture() instead of wkIsOptimizedFullscreenSupported().

  • page/NavigatorBase.cpp:
  • page/Settings.h:
  • page/ViewportConfiguration.cpp:

(WebCore::ViewportConfiguration::textDocumentParameters): Used screenSize() instead of wkGetScreenSize().

  • page/ios/UserAgentIOS.mm:

(WebCore::isClassic): Added to return -[UIApplication _isClassic].
(WebCore::osNameForUserAgent): Upstreamed the implementation of WKGetOSNameForUserAgent() from WebKitSystemInterface.
(WebCore::deviceName): Ditto for wkGetDeviceName().
(WebCore::standardUserAgentWithApplicationName): Called deviceName() and osNameForUserAgent().

  • page/mac/SettingsCocoa.mm: Renamed from Source/WebCore/page/mac/SettingsMac.mm.

(WebCore::Settings::defaultMinimumZoomFontSize): Upstreamed the implementation of WKGetMinimumZoomFontSize() from WebKitSystemInterface.

  • platform/PlatformScreen.h:
  • platform/ios/Device.cpp: Added functions that answer queries about the iOS device from MobileGestalt.

(WebCore::deviceClass):
(WebCore::deviceName):
(WebCore::deviceHasIPadCapability):

  • platform/ios/Device.h:
  • platform/ios/PlatformScreenIOS.mm:

(WebCore::screenPPIFactor): Used MGGetSInt32Answer() and MGGetFloat32Answer() instead of mobileGestaltFloatValue().
(WebCore::screenSize): Upstreamed the implementation of WKGetScreenSize() from WebKitSystemInterface.
(WebCore::availableScreenSize): Ditto for WKGetAvailableScreenSize().
(WebCore::screenScaleFactor): Ditto for WKGetScreenScaleFactor() and WKGetScaleFactorForScreen().
(WebCore::mobileGestaltFloatValue): Deleted.

  • platform/ios/WebCoreSystemInterfaceIOS.h: Removed.

(iosExecutableWasLinkedOnOrAfterVersion): Deleted.
(iosDeviceClass): Deleted.

  • platform/ios/WebCoreSystemInterfaceIOS.mm:
  • platform/ios/WebVideoFullscreenInterfaceAVKit.h:
  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(WebVideoFullscreenInterfaceAVKit::mayAutomaticallyShowVideoPictureInPicture): Used supportsPictureInPicture() instead of wkIsOptimizedFullscreenSupported().
(WebCore::supportsPictureInPicture): Upstreamed the implementation of WKIsOptimizedFullscreenSupported() from WebKitSystemInterface.

  • platform/ios/wak/WAKWindow.mm:

(-[WAKWindow initWithLayer:]): Used screenScaleFactor() instead of WKGetScreenScaleFactor().
(-[WAKWindow initWithFrame:]): Ditto.

  • platform/ios/wak/WKGraphics.mm:

(WKGraphicsCreateImageFromBundleWithName): Ditto.
(WKDrawPatternBitmap): Ditto.

  • platform/mac/WebCoreSystemInterface.h:
  • platform/spi/cocoa/DynamicLinkerSPI.h: Defined additional DYLD_IOS_VERSION macros.
  • platform/spi/ios/MobileGestaltSPI.h: Defined additional MobileGestalt queries, enum MGDeviceClass, MGGetSInt32Answer, and MGGetFloat32Answer.
  • platform/spi/ios/UIKitSPI.h: Copied from Source/WebCore/platform/spi/ios/UIColorSPI.h, and added SPI declarations for UIApplication and UIScreen.
  • rendering/RenderThemeIOS.mm:

Source/WebKit/ios:

  • Misc/WebUIKitSupport.mm:

(linkedOnOrAfterIOS5): Used dyld_get_program_sdk_version() instead of iosExecutableWasLinkedOnOrAfterVersion().
(WebKitGetMinimumZoomFontSize): Used Settings::defaultMinimumZoomFontSize() instead of WKGetMinimumZoomFontSize().

  • WebCoreSupport/WebChromeClientIOS.mm:

(WebChromeClientIOS::screenSize): Used screenSize() instead of WKGetScreenSize().

Source/WebKit/mac:

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface): Deleted.

  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]): Used deviceClass() and Settings::defaultMinimumZoomFontSize() instead of WKGetDeviceClass() and WKGetMinimumZoomFontSize().

  • WebView/WebView.mm:

(shouldAllowPictureInPictureMediaPlayback): Used dyld_get_program_sdk_version() instead of iosExecutableWasLinkedOnOrAfterVersion().
(-[WebView _updateScreenScaleFromWindow]): Used screenScaleFactor() instead of WKGetScreenScaleFactor().

Source/WebKit2:

  • Platform/ios/AccessibilityIOS.h: Added.
  • Platform/ios/AccessibilityIOS.mm: Added.

(WebKit::newAccessibilityRemoteToken): Upstreamed the implementation of WKAXRemoteToken() from WebKitSystemInterface.

  • Shared/WebPreferencesDefinitions.h: Used Settings::defaultMinimumZoomFontSize() instead of WKGetMinimumZoomFontSize().
  • Shared/WebPreferencesStore.cpp:
  • UIProcess/API/Cocoa/WKWebView.mm:

(shouldAllowPictureInPictureMediaPlayback): Used dyld_get_program_sdk_version() instead of iosExecutableWasLinkedOnOrAfterVersion().
(-[WKWebView _takeViewSnapshot]): Used screenScaleFactor() instead of WKGetScreenScaleFactor().

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration init]): Used deviceClass() instead of WKGetDeviceClass().

  • UIProcess/ios/WKContentView.mm:

(-[WKContentView _commonInitializationWithProcessPool:configuration:]): Used screenScaleFactor() instead of WKGetScaleFactorForScreen().
(-[WKContentView _updateForScreen:]): Ditto.
(storeAccessibilityRemoteConnectionInformation): Upstreamed the implementation of WKAXStoreRemoteConnectionInformation() from WebKitSystemInterface.
(-[WKContentView _accessibilityRegisterUIProcessTokens]): Used newAccessibilityRemoteToken() and storeAccessibilityRemoteConnectionInformation() instead of WKAXRemoteToken() and WKAXStoreRemoteConnectionInformation().

  • UIProcess/ios/WKContentViewInteraction.mm:
  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::screenSize): Used screenSize() instead of WKGetScreenSize().
(WebKit::WebPageProxy::availableScreenSize): Used availableScreenSize() instead of WKGetAvailableScreenSize().
(WebKit::WebPageProxy::textAutosizingWidth): Used screenSize() instead of WKGetScreenSize().

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface): Deleted.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::platformInitializeAccessibility): Used newAccessibilityRemoteToken() instead of WKAXRemoteToken().

10:52 AM Changeset in webkit [191901] by BJ Burg
  • 2 edits in trunk/Source/JavaScriptCore

Run sort-Xcode-project-file for the JavaScriptCore project.

Unreviewed. Many things were out of order following recent B3 commits.

10:46 AM Changeset in webkit [191900] by dburkart@apple.com
  • 3 edits
    1 add in trunk/Tools

svn-apply should handle unified diffs
https://bugs.webkit.org/show_bug.cgi?id=150650

Reviewed by Darin Adler.

  • Scripts/VCSUtils.pm:

(parseUnifiedDiffHeader):
This method parses a unified diff header, and returns a information in the
style of parseGitDiffHeader and parseSvnDiffHeader.

(parseDiffHeader):
Teach parseDiffHeader to recognize unified diff headers.

(parseDiff):
Teach parseDiff to recognize unified diffs.

  • Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:
  • Scripts/webkitperl/VCSUtils_unittest/parseUnifiedDiffHeader.pl: Added.
10:42 AM Changeset in webkit [191899] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking fast/text/multiple-feature-properties.html as flaky on win
https://bugs.webkit.org/show_bug.cgi?id=150808

Unreviewed test gardening.

  • platform/win/TestExpectations:
10:39 AM Changeset in webkit [191898] by beidson@apple.com
  • 6 edits in trunk/LayoutTests

storage/indexeddb/modern/idbobjectstore-get-failures.html is flaky on mac-wk1
https://bugs.webkit.org/show_bug.cgi?id=150804

Reviewed by Beth Dakin's rubberstamp.

  • platform/mac-wk1/TestExpectations:
  • storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures.html:
  • storage/indexeddb/modern/idbobjectstore-count-failures.html:
  • storage/indexeddb/modern/idbobjectstore-get-failures.html:
  • storage/indexeddb/modern/idbobjectstore-put-and-clear-failures.html:
10:32 AM Changeset in webkit [191897] by Yusuke Suzuki
  • 15 edits in trunk/Source/JavaScriptCore

Rename op_put_getter_setter to op_put_getter_setter_by_id
https://bugs.webkit.org/show_bug.cgi?id=150773

Reviewed by Mark Lam.

Renaming op_put_getter_setter to op_put_getter_setter_by_id makes this op name consistent with
the other ops' names like op_put_getter_by_id etc.

And to fix build dependencies in Xcode, we added LLIntAssembly.h into Xcode project file.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/BytecodeList.json:
  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitPutGetterSetter):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::capabilityLevel):

  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):

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

(JSC::JIT::emit_op_put_getter_setter_by_id):
(JSC::JIT::emit_op_put_getter_setter): Deleted.

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emit_op_put_getter_setter_by_id):
(JSC::JIT::emit_op_put_getter_setter): Deleted.

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • llint/LLIntSlowPaths.h:
  • llint/LowLevelInterpreter.asm:
10:28 AM Changeset in webkit [191896] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking imported/w3c/web-platform-tests/XMLHttpRequest/send-timeout-events.htm as flaky on Mac
https://bugs.webkit.org/show_bug.cgi?id=150806

Unreviewed test gardening.

  • platform/mac/TestExpectations:
10:26 AM Changeset in webkit [191895] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebKit2

Add objC delegate callback for webProcessDidBecomeResponsive and webProcessDidBecomeUnresponsive.
https://bugs.webkit.org/show_bug.cgi?id=150778

Add methods into WKNavigationDelegatePrivate to notify WebKit client when web process becomes unresponsive
or responsive, which is reported by WebKit::ResponsivenessTimer.

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2015-11-02
Reviewed by Darin Adler.

  • UIProcess/API/APINavigationClient.h: Add two new method processDidBecomeResponsive and processDidBecomeUnresponsive

to NavigationClient; they are called when WebKit::ResponsivenessTimer update its client's state.

(API::NavigationClient::processDidBecomeResponsive):
(API::NavigationClient::processDidBecomeUnresponsive):

  • UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h: Add two new delegate method to WKNavigationDelegatePrivate:

_webViewWebProcessDidBecomeResponsive: and _webViewWebProcessDidBecomeUnresponsive:

  • UIProcess/Cocoa/NavigationState.h: Add new overriding methods processDidBecomeResponsive and processDidBecomeUnresponsive.

Also add a bool member for each method to indicate if the delegate has implement the related method.

  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::setNavigationDelegate): Update the new bool members based on the delegate.
(WebKit::NavigationState::NavigationClient::processDidBecomeResponsive): Send the delegate message to navigationDelegate

if _webViewWebProcessDidBecomeResponsive: is implemented.

(WebKit::NavigationState::NavigationClient::processDidBecomeUnresponsive): Ditto.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::processDidBecomeUnresponsive): Call navigationClient's processDidBecomeUnresponsive if the page proxy

has navigationClient.

(WebKit::WebPageProxy::processDidBecomeResponsive): Call navigationClient's processDidBecomeResponsive if the page proxy

has navigationClient.

10:24 AM Changeset in webkit [191894] by Beth Dakin
  • 3 edits in trunk/Source/WebKit2

Tapping and holding a link should have a share option
https://bugs.webkit.org/show_bug.cgi?id=150693

Reviewed by Dan Bernstein.

This is a follow-up to the original change. This change fixes non-ascii URLs.
They should maintain their non-ascii characters when they are shared.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView actionSheetAssistant:shareElementWithURL:rect:]):

  • UIProcess/ios/WKPDFView.mm:

(-[WKPDFView actionSheetAssistant:shareElementWithURL:rect:]):

10:12 AM Changeset in webkit [191893] by fred.wang@free.fr
  • 6 edits in trunk

[Win] Add support for the USE_TYPO_METRICS flag
https://bugs.webkit.org/show_bug.cgi?id=150451

Reviewed by Darin Adler.

Source/WebCore:

Make the Windows backend use the typo metrics when the OS/2 USE_TYPO_METRICS flag is set.

No new tests because this is already tested by fonts/use-typo-metrics-1.html

  • platform/graphics/win/SimpleFontDataCGWin.cpp:

(WebCore::Font::platformInit):

  • platform/graphics/win/SimpleFontDataCairoWin.cpp:

(WebCore::Font::platformInit):

  • platform/graphics/win/SimpleFontDataWin.cpp:

(WebCore::Font::initGDIFont):

LayoutTests:

Remove failure expectation for fonts/use-typo-metrics-1.html on Windows.

  • platform/win/TestExpectations:
9:55 AM Changeset in webkit [191892] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking the following tests as flaky on win
editing/input/reveal-caret-of-multiline-contenteditable.html
editing/input/reveal-caret-of-multiline-input.html
https://bugs.webkit.org/show_bug.cgi?id=150684

Unreviewed test gardening.

  • platform/win/TestExpectations:
9:50 AM Changeset in webkit [191891] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking storage/indexeddb/modern/idbobjectstore-count-failures.html as flaky on mac-wk1
https://bugs.webkit.org/show_bug.cgi?id=150805

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
9:41 AM Changeset in webkit [191890] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking storage/indexeddb/modern/idbobjectstore-get-failures.html as flaky on mac-wk1
https://bugs.webkit.org/show_bug.cgi?id=150804

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
8:57 AM WebKitGTK/2.10.x edited by philip.chimento@gmail.com
(diff)
8:24 AM Changeset in webkit [191889] by Csaba Osztrogonác
  • 7 edits in trunk

Fix the FTL JIT build with system LLVM on Linux
https://bugs.webkit.org/show_bug.cgi?id=150795

Reviewed by Filip Pizlo.

.:

  • Source/cmake/FindLLVM.cmake:

Source/JavaScriptCore:

  • CMakeLists.txt:

Tools:

  • efl/install-dependencies:
  • gtk/install-dependencies:
8:11 AM Changeset in webkit [191888] by commit-queue@webkit.org
  • 6 edits in trunk

Enable MediaSource::isTypeSupported() to handle the upper-cased MIME type & Codec
Source/WebCore:

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

Patch by Hyunduk Kim <hyunduk.kim@samsung.com> on 2015-11-02
Reviewed by Darin Adler.

Got the new test case from
https://github.com/w3c/web-platform-tests/blob/master/media-source/mediasource-is-type-supported.html
Tests: http\tests\media\media-source\mediasource-is-type-supported.html

  • Modules/mediasource/MediaSource.cpp:

(WebCore::MediaSource::isTypeSupported):

LayoutTests:

I got the changes from
https://github.com/w3c/web-platform-tests/blob/master/media-source/mediasource-is-type-supported.html
https://bugs.webkit.org/show_bug.cgi?id=150436

Patch by Hyunduk Kim <hyunduk.kim@samsung.com> on 2015-11-02
Reviewed by Darin Adler.

  • http/tests/media/media-source/mediasource-is-type-supported-expected.txt:
  • http/tests/media/media-source/mediasource-is-type-supported.html:
  • platform/mac/http/tests/media/media-source/mediasource-is-type-supported-expected.txt:
3:44 AM Changeset in webkit [191887] by youenn.fablet@crf.canon.fr
  • 148 edits in trunk/Source

Rename JSDOMWrapper.impl to JSDOMWrapper.wrapped
https://bugs.webkit.org/show_bug.cgi?id=150613

Reviewed by Darin Adler.

Source/WebCore:

Renaming impl to wrapped in classes and binding generated classes.
No change in behavior.

  • Modules/plugins/QuickTimePluginReplacement.mm:

(WebCore::JSQuickTimePluginReplacement::timedMetaData):
(WebCore::JSQuickTimePluginReplacement::accessLog):
(WebCore::JSQuickTimePluginReplacement::errorLog):

  • bindings/js/JSAttrCustom.cpp:

(WebCore::JSAttr::visitAdditionalChildren):

  • bindings/js/JSAudioBufferSourceNodeCustom.cpp:

(WebCore::JSAudioBufferSourceNode::setBuffer):

  • bindings/js/JSAudioTrackCustom.cpp:

(WebCore::JSAudioTrack::visitAdditionalChildren):
(WebCore::JSAudioTrack::setKind):
(WebCore::JSAudioTrack::setLanguage):

  • bindings/js/JSAudioTrackListCustom.cpp:

(WebCore::JSAudioTrackList::visitAdditionalChildren):

  • bindings/js/JSBiquadFilterNodeCustom.cpp:

(WebCore::JSBiquadFilterNode::setType):

  • bindings/js/JSCSSRuleCustom.cpp:

(WebCore::JSCSSRule::visitAdditionalChildren):

  • bindings/js/JSCSSRuleListCustom.cpp:

(WebCore::JSCSSRuleListOwner::isReachableFromOpaqueRoots):

  • bindings/js/JSCSSStyleDeclarationCustom.cpp:

(WebCore::JSCSSStyleDeclaration::visitAdditionalChildren):
(WebCore::getPropertyValueFallback):
(WebCore::cssPropertyGetterPixelOrPosPrefix):
(WebCore::cssPropertyGetter):
(WebCore::JSCSSStyleDeclaration::putDelegate):
(WebCore::JSCSSStyleDeclaration::getPropertyCSSValue):
(WebCore::JSCSSStyleDeclaration::getOwnPropertyNames):

  • bindings/js/JSCSSValueCustom.cpp:

(WebCore::JSCSSValueOwner::isReachableFromOpaqueRoots):
(WebCore::JSCSSValueOwner::finalize):

  • bindings/js/JSCanvasRenderingContext2DCustom.cpp:

(WebCore::toHTMLCanvasStyle):
(WebCore::JSCanvasRenderingContext2D::strokeStyle):
(WebCore::JSCanvasRenderingContext2D::setStrokeStyle):
(WebCore::JSCanvasRenderingContext2D::fillStyle):
(WebCore::JSCanvasRenderingContext2D::setFillStyle):
(WebCore::JSCanvasRenderingContext2D::webkitLineDash):
(WebCore::JSCanvasRenderingContext2D::setWebkitLineDash):

  • bindings/js/JSCanvasRenderingContextCustom.cpp:

(WebCore::JSCanvasRenderingContext::visitAdditionalChildren):

  • bindings/js/JSCharacterDataCustom.cpp:

(WebCore::JSCharacterData::before):
(WebCore::JSCharacterData::after):
(WebCore::JSCharacterData::replaceWith):

  • bindings/js/JSCommandLineAPIHostCustom.cpp:

(WebCore::JSCommandLineAPIHost::inspectedObject):
(WebCore::JSCommandLineAPIHost::getEventListeners):
(WebCore::JSCommandLineAPIHost::inspect):
(WebCore::JSCommandLineAPIHost::databaseId):
(WebCore::JSCommandLineAPIHost::storageId):

  • bindings/js/JSCryptoCustom.cpp:

(WebCore::JSCrypto::getRandomValues):

  • bindings/js/JSCryptoKeyCustom.cpp:

(WebCore::JSCryptoKey::algorithm):

  • bindings/js/JSCryptoKeyPairCustom.cpp:

(WebCore::JSCryptoKeyPair::visitAdditionalChildren):

  • bindings/js/JSCustomEventCustom.cpp:

(WebCore::JSCustomEvent::detail):

  • bindings/js/JSCustomXPathNSResolver.cpp:

(WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):

  • bindings/js/JSDOMBinding.cpp:

(WebCore::reportException):
(WebCore::activeDOMWindow):
(WebCore::firstDOMWindow):

  • bindings/js/JSDOMFormDataCustom.cpp:

(WebCore::toHTMLFormElementOrNull):
(WebCore::JSDOMFormData::append):

  • bindings/js/JSDOMMimeTypeArrayCustom.cpp:

(WebCore::JSDOMMimeTypeArray::nameGetter):

  • bindings/js/JSDOMNamedFlowCollectionCustom.cpp:

(WebCore::JSDOMNamedFlowCollection::nameGetter):

  • bindings/js/JSDOMPluginArrayCustom.cpp:

(WebCore::JSDOMPluginArray::nameGetter):

  • bindings/js/JSDOMPluginCustom.cpp:

(WebCore::JSDOMPlugin::nameGetter):

  • bindings/js/JSDOMStringListCustom.cpp:

(WebCore::JSDOMStringList::toWrapped):

  • bindings/js/JSDOMStringMapCustom.cpp:

(WebCore::JSDOMStringMap::getOwnPropertySlotDelegate):
(WebCore::JSDOMStringMap::getOwnPropertyNames):
(WebCore::JSDOMStringMap::deleteProperty):
(WebCore::JSDOMStringMap::putDelegate):

  • bindings/js/JSDOMTokenListCustom.cpp:

(WebCore::JSDOMTokenList::toggle):

  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::shouldAllowAccessFrom):
(WebCore::JSDOMWindowBase::JSDOMWindowBase):
(WebCore::JSDOMWindowBase::updateDocument):
(WebCore::JSDOMWindowBase::scriptExecutionContext):
(WebCore::JSDOMWindowBase::printErrorMessage):
(WebCore::JSDOMWindowBase::supportsProfiling):
(WebCore::JSDOMWindowBase::supportsRichSourceInfo):
(WebCore::JSDOMWindowBase::shouldInterruptScript):
(WebCore::JSDOMWindowBase::shouldInterruptScriptBeforeTimeout):
(WebCore::JSDOMWindowBase::javaScriptRuntimeFlags):
(WebCore::JSDOMWindowBase::moduleLoaderResolve):
(WebCore::JSDOMWindowBase::moduleLoaderFetch):
(WebCore::JSDOMWindowBase::moduleLoaderEvaluate):

  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::visitAdditionalChildren):
(WebCore::childFrameGetter):
(WebCore::namedItemGetter):
(WebCore::jsDOMWindowWebKit):
(WebCore::jsDOMWindowIndexedDB):
(WebCore::JSDOMWindow::getOwnPropertySlot):
(WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
(WebCore::JSDOMWindow::put):
(WebCore::JSDOMWindow::putByIndex):
(WebCore::JSDOMWindow::deleteProperty):
(WebCore::JSDOMWindow::deletePropertyByIndex):
(WebCore::JSDOMWindow::getEnumerableLength):
(WebCore::JSDOMWindow::getStructurePropertyNames):
(WebCore::JSDOMWindow::getGenericPropertyNames):
(WebCore::JSDOMWindow::getPropertyNames):
(WebCore::JSDOMWindow::getOwnPropertyNames):
(WebCore::JSDOMWindow::defineOwnProperty):
(WebCore::JSDOMWindow::setLocation):
(WebCore::JSDOMWindow::open):
(WebCore::JSDOMWindow::showModalDialog):
(WebCore::JSDOMWindow::postMessage):
(WebCore::JSDOMWindow::setTimeout):
(WebCore::JSDOMWindow::setInterval):
(WebCore::JSDOMWindow::addEventListener):
(WebCore::JSDOMWindow::removeEventListener):
(WebCore::JSDOMWindow::toWrapped):

  • bindings/js/JSDOMWindowShell.cpp:

(WebCore::JSDOMWindowShell::setWindow):
(WebCore::JSDOMWindowShell::wrapped):

  • bindings/js/JSDOMWindowShell.h:
  • bindings/js/JSDOMWrapper.h:

(WebCore::JSDOMWrapper::wrapped):
(WebCore::JSDOMWrapper::JSDOMWrapper):

  • bindings/js/JSDataCueCustom.cpp:

(WebCore::JSDataCue::value):
(WebCore::JSDataCue::setValue):

  • bindings/js/JSDataTransferCustom.cpp:

(WebCore::JSDataTransfer::types):

  • bindings/js/JSDedicatedWorkerGlobalScopeCustom.cpp:

(WebCore::JSDedicatedWorkerGlobalScope::postMessage):

  • bindings/js/JSDeviceMotionEventCustom.cpp:

(WebCore::JSDeviceMotionEvent::acceleration):
(WebCore::JSDeviceMotionEvent::accelerationIncludingGravity):
(WebCore::JSDeviceMotionEvent::rotationRate):
(WebCore::JSDeviceMotionEvent::interval):
(WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):

  • bindings/js/JSDeviceOrientationEventCustom.cpp:

(WebCore::JSDeviceOrientationEvent::alpha):
(WebCore::JSDeviceOrientationEvent::beta):
(WebCore::JSDeviceOrientationEvent::gamma):
(WebCore::JSDeviceOrientationEvent::webkitCompassHeading):
(WebCore::JSDeviceOrientationEvent::webkitCompassAccuracy):
(WebCore::JSDeviceOrientationEvent::absolute):
(WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):

  • bindings/js/JSDocumentCustom.cpp:

(WebCore::JSDocument::prepend):
(WebCore::JSDocument::append):

  • bindings/js/JSDocumentFragmentCustom.cpp:

(WebCore::JSDocumentFragment::prepend):
(WebCore::JSDocumentFragment::append):

  • bindings/js/JSDocumentTypeCustom.cpp:

(WebCore::JSDocumentType::before):
(WebCore::JSDocumentType::after):
(WebCore::JSDocumentType::replaceWith):

  • bindings/js/JSElementCustom.cpp:

(WebCore::JSElement::before):
(WebCore::JSElement::after):
(WebCore::JSElement::replaceWith):
(WebCore::JSElement::prepend):
(WebCore::JSElement::append):

  • bindings/js/JSEventCustom.cpp:

(WebCore::JSEvent::clipboardData):

  • bindings/js/JSEventListener.cpp:

(WebCore::JSEventListener::handleEvent):

  • bindings/js/JSEventTargetCustom.cpp:
  • bindings/js/JSFileReaderCustom.cpp:

(WebCore::JSFileReader::result):

  • bindings/js/JSGeolocationCustom.cpp:

(WebCore::JSGeolocation::getCurrentPosition):
(WebCore::JSGeolocation::watchPosition):

  • bindings/js/JSHTMLAllCollectionCustom.cpp:

(WebCore::namedItems):
(WebCore::callHTMLAllCollection):
(WebCore::JSHTMLAllCollection::item):

  • bindings/js/JSHTMLCanvasElementCustom.cpp:

(WebCore::JSHTMLCanvasElement::getContext):
(WebCore::JSHTMLCanvasElement::probablySupportsContext):
(WebCore::JSHTMLCanvasElement::toDataURL):

  • bindings/js/JSHTMLCollectionCustom.cpp:

(WebCore::JSHTMLCollection::nameGetter):

  • bindings/js/JSHTMLDocumentCustom.cpp:

(WebCore::JSHTMLDocument::nameGetter):
(WebCore::JSHTMLDocument::all):
(WebCore::findCallingDocument):
(WebCore::JSHTMLDocument::open):
(WebCore::documentWrite):

  • bindings/js/JSHTMLElementCustom.cpp:

(WebCore::JSHTMLElement::pushEventHandlerScope):

  • bindings/js/JSHTMLFormControlsCollectionCustom.cpp:

(WebCore::namedItems):

  • bindings/js/JSHTMLFormElementCustom.cpp:

(WebCore::JSHTMLFormElement::nameGetter):

  • bindings/js/JSHTMLFrameElementCustom.cpp:

(WebCore::JSHTMLFrameElement::setLocation):

  • bindings/js/JSHTMLFrameSetElementCustom.cpp:

(WebCore::JSHTMLFrameSetElement::nameGetter):

  • bindings/js/JSHTMLInputElementCustom.cpp:

(WebCore::JSHTMLInputElement::selectionStart):
(WebCore::JSHTMLInputElement::setSelectionStart):
(WebCore::JSHTMLInputElement::selectionEnd):
(WebCore::JSHTMLInputElement::setSelectionEnd):
(WebCore::JSHTMLInputElement::selectionDirection):
(WebCore::JSHTMLInputElement::setSelectionDirection):
(WebCore::JSHTMLInputElement::setSelectionRange):

  • bindings/js/JSHTMLMediaElementCustom.cpp:

(WebCore::JSHTMLMediaElement::setController):

  • bindings/js/JSHTMLOptionsCollectionCustom.cpp:

(WebCore::JSHTMLOptionsCollection::nameGetter):
(WebCore::JSHTMLOptionsCollection::setLength):
(WebCore::JSHTMLOptionsCollection::indexSetter):
(WebCore::JSHTMLOptionsCollection::remove):

  • bindings/js/JSHTMLSelectElementCustom.cpp:

(WebCore::JSHTMLSelectElement::remove):
(WebCore::JSHTMLSelectElement::indexSetter):

  • bindings/js/JSHTMLTemplateElementCustom.cpp:

(WebCore::JSHTMLTemplateElement::content):

  • bindings/js/JSHistoryCustom.cpp:

(WebCore::JSHistory::getOwnPropertySlotDelegate):
(WebCore::JSHistory::putDelegate):
(WebCore::JSHistory::deleteProperty):
(WebCore::JSHistory::deletePropertyByIndex):
(WebCore::JSHistory::getOwnPropertyNames):
(WebCore::JSHistory::state):
(WebCore::JSHistory::pushState):
(WebCore::JSHistory::replaceState):

  • bindings/js/JSIDBDatabaseCustom.cpp:

(WebCore::JSIDBDatabase::createObjectStore):

  • bindings/js/JSIDBObjectStoreCustom.cpp:

(WebCore::JSIDBObjectStore::createIndex):

  • bindings/js/JSInspectorFrontendHostCustom.cpp:

(WebCore::JSInspectorFrontendHost::showContextMenu):

  • bindings/js/JSLocationCustom.cpp:

(WebCore::JSLocation::getOwnPropertySlotDelegate):
(WebCore::JSLocation::putDelegate):
(WebCore::JSLocation::deleteProperty):
(WebCore::JSLocation::deletePropertyByIndex):
(WebCore::JSLocation::getOwnPropertyNames):
(WebCore::JSLocation::toStringFunction):

  • bindings/js/JSMediaSourceStatesCustom.cpp:

(WebCore::JSMediaSourceStates::width):
(WebCore::JSMediaSourceStates::height):
(WebCore::JSMediaSourceStates::frameRate):
(WebCore::JSMediaSourceStates::aspectRatio):
(WebCore::JSMediaSourceStates::facingMode):
(WebCore::JSMediaSourceStates::volume):

  • bindings/js/JSMessageChannelCustom.cpp:

(WebCore::JSMessageChannel::visitAdditionalChildren):

  • bindings/js/JSMessageEventCustom.cpp:

(WebCore::JSMessageEvent::data):
(WebCore::handleInitMessageEvent):

  • bindings/js/JSMessagePortCustom.cpp:

(WebCore::JSMessagePort::visitAdditionalChildren):
(WebCore::JSMessagePort::postMessage):

  • bindings/js/JSMockContentFilterSettingsCustom.cpp:

(WebCore::JSMockContentFilterSettings::decisionPoint):
(WebCore::JSMockContentFilterSettings::setDecisionPoint):
(WebCore::JSMockContentFilterSettings::decision):
(WebCore::JSMockContentFilterSettings::setDecision):
(WebCore::JSMockContentFilterSettings::unblockRequestDecision):
(WebCore::JSMockContentFilterSettings::setUnblockRequestDecision):

  • bindings/js/JSMutationObserverCustom.cpp:

(WebCore::JSMutationObserverOwner::isReachableFromOpaqueRoots):

  • bindings/js/JSNamedNodeMapCustom.cpp:

(WebCore::JSNamedNodeMap::nameGetter):

  • bindings/js/JSNavigatorCustom.cpp:

(WebCore::JSNavigator::webkitGetUserMedia):

  • bindings/js/JSNodeCustom.cpp:

(WebCore::JSNodeOwner::isReachableFromOpaqueRoots):
(WebCore::JSNode::insertBefore):
(WebCore::JSNode::replaceChild):
(WebCore::JSNode::removeChild):
(WebCore::JSNode::appendChild):
(WebCore::JSNode::visitAdditionalChildren):

  • bindings/js/JSNodeIteratorCustom.cpp:

(WebCore::JSNodeIterator::visitAdditionalChildren):

  • bindings/js/JSNodeListCustom.cpp:

(WebCore::JSNodeListOwner::isReachableFromOpaqueRoots):

  • bindings/js/JSNodeOrString.cpp:

(WebCore::toNodeOrStringVector):

  • bindings/js/JSOscillatorNodeCustom.cpp:

(WebCore::JSOscillatorNode::setType):

  • bindings/js/JSPannerNodeCustom.cpp:

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

  • bindings/js/JSPluginElementFunctions.cpp:

(WebCore::pluginScriptObjectFromPluginViewBase):
(WebCore::pluginScriptObject):
(WebCore::pluginElementGetCallData):

  • bindings/js/JSPopStateEventCustom.cpp:

(WebCore::JSPopStateEvent::state):

  • bindings/js/JSRTCStatsResponseCustom.cpp:

(WebCore::JSRTCStatsResponse::nameGetter):

  • bindings/js/JSSQLResultSetRowListCustom.cpp:

(WebCore::JSSQLResultSetRowList::item):

  • bindings/js/JSSQLTransactionCustom.cpp:

(WebCore::JSSQLTransaction::executeSql):

  • bindings/js/JSSVGLengthCustom.cpp:

(WebCore::JSSVGLength::value):
(WebCore::JSSVGLength::setValue):
(WebCore::JSSVGLength::convertToSpecifiedUnits):

  • bindings/js/JSStorageCustom.cpp:

(WebCore::JSStorage::nameGetter):
(WebCore::JSStorage::deleteProperty):
(WebCore::JSStorage::getOwnPropertyNames):
(WebCore::JSStorage::putDelegate):

  • bindings/js/JSStyleSheetCustom.cpp:

(WebCore::JSStyleSheet::visitAdditionalChildren):

  • bindings/js/JSStyleSheetListCustom.cpp:

(WebCore::JSStyleSheetList::nameGetter):

  • bindings/js/JSSubtleCryptoCustom.cpp:

(WebCore::JSSubtleCrypto::encrypt):
(WebCore::JSSubtleCrypto::decrypt):
(WebCore::JSSubtleCrypto::sign):
(WebCore::JSSubtleCrypto::verify):
(WebCore::JSSubtleCrypto::wrapKey):
(WebCore::JSSubtleCrypto::unwrapKey):

  • bindings/js/JSTextTrackCueCustom.cpp:

(WebCore::JSTextTrackCueOwner::isReachableFromOpaqueRoots):
(WebCore::JSTextTrackCue::visitAdditionalChildren):

  • bindings/js/JSTextTrackCustom.cpp:

(WebCore::JSTextTrack::visitAdditionalChildren):
(WebCore::JSTextTrack::setKind):
(WebCore::JSTextTrack::setLanguage):

  • bindings/js/JSTextTrackListCustom.cpp:

(WebCore::JSTextTrackList::visitAdditionalChildren):

  • bindings/js/JSTrackCustom.cpp:

(WebCore::toTrack):

  • bindings/js/JSTrackEventCustom.cpp:

(WebCore::JSTrackEvent::track):

  • bindings/js/JSTreeWalkerCustom.cpp:

(WebCore::JSTreeWalker::visitAdditionalChildren):

  • bindings/js/JSUserMessageHandlersNamespaceCustom.cpp:

(WebCore::JSUserMessageHandlersNamespace::getOwnPropertySlotDelegate):

  • bindings/js/JSVideoTrackCustom.cpp:

(WebCore::JSVideoTrack::visitAdditionalChildren):
(WebCore::JSVideoTrack::setKind):
(WebCore::JSVideoTrack::setLanguage):

  • bindings/js/JSVideoTrackListCustom.cpp:

(WebCore::JSVideoTrackList::visitAdditionalChildren):

  • bindings/js/JSWebGL2RenderingContextCustom.cpp:

(WebCore::JSWebGL2RenderingContext::visitAdditionalChildren):
(WebCore::JSWebGL2RenderingContext::getIndexedParameter):

  • bindings/js/JSWebGLRenderingContextBaseCustom.cpp:

(WebCore::getObjectParameter):
(WebCore::JSWebGLRenderingContextBase::visitAdditionalChildren):
(WebCore::JSWebGLRenderingContextBase::getAttachedShaders):
(WebCore::JSWebGLRenderingContextBase::getExtension):
(WebCore::JSWebGLRenderingContextBase::getFramebufferAttachmentParameter):
(WebCore::JSWebGLRenderingContextBase::getParameter):
(WebCore::JSWebGLRenderingContextBase::getProgramParameter):
(WebCore::JSWebGLRenderingContextBase::getShaderParameter):
(WebCore::JSWebGLRenderingContextBase::getSupportedExtensions):
(WebCore::JSWebGLRenderingContextBase::getUniform):
(WebCore::JSWebGLRenderingContextBase::uniform1fv):
(WebCore::JSWebGLRenderingContextBase::uniform1iv):
(WebCore::JSWebGLRenderingContextBase::uniform2fv):
(WebCore::JSWebGLRenderingContextBase::uniform2iv):
(WebCore::JSWebGLRenderingContextBase::uniform3fv):
(WebCore::JSWebGLRenderingContextBase::uniform3iv):
(WebCore::JSWebGLRenderingContextBase::uniform4fv):
(WebCore::JSWebGLRenderingContextBase::uniform4iv):
(WebCore::JSWebGLRenderingContextBase::uniformMatrix2fv):
(WebCore::JSWebGLRenderingContextBase::uniformMatrix3fv):
(WebCore::JSWebGLRenderingContextBase::uniformMatrix4fv):
(WebCore::JSWebGLRenderingContextBase::vertexAttrib1fv):
(WebCore::JSWebGLRenderingContextBase::vertexAttrib2fv):
(WebCore::JSWebGLRenderingContextBase::vertexAttrib3fv):
(WebCore::JSWebGLRenderingContextBase::vertexAttrib4fv):

  • bindings/js/JSWebGLRenderingContextCustom.cpp:

(WebCore::JSWebGLRenderingContext::visitAdditionalChildren):

  • bindings/js/JSWorkerCustom.cpp:

(WebCore::JSWorker::postMessage):
(WebCore::constructJSWorker):

  • bindings/js/JSWorkerGlobalScopeBase.cpp:

(WebCore::JSWorkerGlobalScopeBase::JSWorkerGlobalScopeBase):
(WebCore::JSWorkerGlobalScopeBase::scriptExecutionContext):

  • bindings/js/JSWorkerGlobalScopeBase.h:

(WebCore::JSWorkerGlobalScopeBase::wrapped):

  • bindings/js/JSWorkerGlobalScopeCustom.cpp:

(WebCore::JSWorkerGlobalScope::visitAdditionalChildren):
(WebCore::JSWorkerGlobalScope::importScripts):
(WebCore::JSWorkerGlobalScope::setTimeout):
(WebCore::JSWorkerGlobalScope::setInterval):

  • bindings/js/JSXMLHttpRequestCustom.cpp:

(WebCore::JSXMLHttpRequest::visitAdditionalChildren):
(WebCore::JSXMLHttpRequest::open):
(WebCore::JSXMLHttpRequest::send):
(WebCore::JSXMLHttpRequest::responseText):
(WebCore::JSXMLHttpRequest::response):

  • bindings/js/JSXPathResultCustom.cpp:

(WebCore::JSXPathResult::visitAdditionalChildren):

  • bindings/js/JSXSLTProcessorCustom.cpp:

(WebCore::JSXSLTProcessor::setParameter):
(WebCore::JSXSLTProcessor::getParameter):
(WebCore::JSXSLTProcessor::removeParameter):

  • bindings/js/ScheduledAction.cpp:

(WebCore::ScheduledAction::execute):

  • bindings/js/ScriptCachedFrameData.cpp:

(WebCore::ScriptCachedFrameData::restore):

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::clearWindowShell):
(WebCore::ScriptController::collectIsolatedContexts):

  • bindings/js/ScriptState.cpp:

(WebCore::domWindowFromExecState):

  • bindings/objc/DOM.mm:

(+[DOMNode _nodeFromJSWrapper:]):

  • bindings/objc/DOMUtility.mm:

(JSC::createDOMWrapper):

  • bindings/objc/WebScriptObject.mm:

(-[WebScriptObject _isSafeScript]):
(+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateGetOwnPropertySlotBody):
(GenerateHeader):
(GetIndexedGetterExpression):
(GenerateImplementation):
(NativeToJSValue):

  • bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:

(WebCore::jsTestActiveDOMObjectExcitingAttr):
(WebCore::jsTestActiveDOMObjectConstructor):
(WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
(WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
(WebCore::JSTestActiveDOMObjectOwner::finalize):
(WebCore::JSTestActiveDOMObject::toWrapped):

  • bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:

(WebCore::JSTestCustomConstructorWithNoInterfaceObjectOwner::finalize):
(WebCore::JSTestCustomConstructorWithNoInterfaceObject::toWrapped):

  • bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:

(WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
(WebCore::JSTestCustomNamedGetterOwner::finalize):
(WebCore::JSTestCustomNamedGetter::toWrapped):

  • bindings/scripts/test/JS/JSTestEventConstructor.cpp:

(WebCore::jsTestEventConstructorAttr1):
(WebCore::jsTestEventConstructorAttr2):
(WebCore::JSTestEventConstructorOwner::finalize):
(WebCore::JSTestEventConstructor::toWrapped):

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

(WebCore::JSTestEventTarget::getOwnPropertySlot):
(WebCore::JSTestEventTarget::getOwnPropertySlotByIndex):
(WebCore::JSTestEventTarget::getOwnPropertyNames):
(WebCore::jsTestEventTargetPrototypeFunctionItem):
(WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
(WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
(WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent):
(WebCore::JSTestEventTarget::visitChildren):
(WebCore::JSTestEventTargetOwner::isReachableFromOpaqueRoots):
(WebCore::JSTestEventTargetOwner::finalize):
(WebCore::JSTestEventTarget::toWrapped):

  • bindings/scripts/test/JS/JSTestException.cpp:

(WebCore::jsTestExceptionName):
(WebCore::JSTestExceptionOwner::finalize):
(WebCore::JSTestException::toWrapped):

  • bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:

(WebCore::JSTestGenerateIsReachableOwner::isReachableFromOpaqueRoots):
(WebCore::JSTestGenerateIsReachableOwner::finalize):
(WebCore::JSTestGenerateIsReachable::toWrapped):

  • bindings/scripts/test/JS/JSTestInterface.cpp:

(WebCore::jsTestInterfaceImplementsStr1):
(WebCore::jsTestInterfaceImplementsStr2):
(WebCore::jsTestInterfaceImplementsNode):
(WebCore::jsTestInterfaceSupplementalStr1):
(WebCore::jsTestInterfaceSupplementalStr2):
(WebCore::jsTestInterfaceSupplementalNode):
(WebCore::setJSTestInterfaceImplementsStr2):
(WebCore::setJSTestInterfaceImplementsNode):
(WebCore::setJSTestInterfaceSupplementalStr2):
(WebCore::setJSTestInterfaceSupplementalNode):
(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1):
(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
(WebCore::JSTestInterfaceOwner::isReachableFromOpaqueRoots):
(WebCore::JSTestInterfaceOwner::finalize):
(WebCore::JSTestInterface::toWrapped):

  • bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:

(WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
(WebCore::JSTestMediaQueryListListenerOwner::finalize):
(WebCore::JSTestMediaQueryListListener::toWrapped):

  • bindings/scripts/test/JS/JSTestNamedConstructor.cpp:

(WebCore::JSTestNamedConstructorOwner::isReachableFromOpaqueRoots):
(WebCore::JSTestNamedConstructorOwner::finalize):
(WebCore::JSTestNamedConstructor::toWrapped):

  • bindings/scripts/test/JS/JSTestNode.cpp:

(WebCore::jsTestNodeName):
(WebCore::setJSTestNodeName):
(WebCore::JSTestNode::visitChildren):

  • bindings/scripts/test/JS/JSTestNode.h:
  • bindings/scripts/test/JS/JSTestNondeterministic.cpp:

(WebCore::jsTestNondeterministicNondeterministicReadonlyAttr):
(WebCore::jsTestNondeterministicNondeterministicWriteableAttr):
(WebCore::jsTestNondeterministicNondeterministicExceptionAttr):
(WebCore::jsTestNondeterministicNondeterministicGetterExceptionAttr):
(WebCore::jsTestNondeterministicNondeterministicSetterExceptionAttr):
(WebCore::setJSTestNondeterministicNondeterministicWriteableAttr):
(WebCore::setJSTestNondeterministicNondeterministicExceptionAttr):
(WebCore::setJSTestNondeterministicNondeterministicGetterExceptionAttr):
(WebCore::setJSTestNondeterministicNondeterministicSetterExceptionAttr):
(WebCore::jsTestNondeterministicPrototypeFunctionNondeterministicZeroArgFunction):
(WebCore::JSTestNondeterministicOwner::finalize):
(WebCore::JSTestNondeterministic::toWrapped):

  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::jsTestObjReadOnlyLongAttr):
(WebCore::jsTestObjReadOnlyStringAttr):
(WebCore::jsTestObjReadOnlyTestObjAttr):
(WebCore::jsTestObjTestSubObjEnabledBySettingConstructor):
(WebCore::jsTestObjEnumAttr):
(WebCore::jsTestObjByteAttr):
(WebCore::jsTestObjOctetAttr):
(WebCore::jsTestObjShortAttr):
(WebCore::jsTestObjUnsignedShortAttr):
(WebCore::jsTestObjLongAttr):
(WebCore::jsTestObjLongLongAttr):
(WebCore::jsTestObjUnsignedLongLongAttr):
(WebCore::jsTestObjStringAttr):
(WebCore::jsTestObjTestObjAttr):
(WebCore::jsTestObjXMLObjAttr):
(WebCore::jsTestObjCreate):
(WebCore::jsTestObjReflectedStringAttr):
(WebCore::jsTestObjReflectedIntegralAttr):
(WebCore::jsTestObjReflectedUnsignedIntegralAttr):
(WebCore::jsTestObjReflectedBooleanAttr):
(WebCore::jsTestObjReflectedURLAttr):
(WebCore::jsTestObjReflectedCustomIntegralAttr):
(WebCore::jsTestObjReflectedCustomBooleanAttr):
(WebCore::jsTestObjReflectedCustomURLAttr):
(WebCore::jsTestObjTypedArrayAttr):
(WebCore::jsTestObjAttrWithGetterException):
(WebCore::jsTestObjAttrWithSetterException):
(WebCore::jsTestObjStringAttrWithGetterException):
(WebCore::jsTestObjStringAttrWithSetterException):
(WebCore::jsTestObjStrictTypeCheckingAttribute):
(WebCore::jsTestObjOnfoo):
(WebCore::jsTestObjWithScriptStateAttribute):
(WebCore::jsTestObjWithCallWithAndSetterCallWithAttribute):
(WebCore::jsTestObjWithScriptExecutionContextAttribute):
(WebCore::jsTestObjWithScriptStateAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttribute):
(WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
(WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
(WebCore::jsTestObjConditionalAttr1):
(WebCore::jsTestObjConditionalAttr2):
(WebCore::jsTestObjConditionalAttr3):
(WebCore::jsTestObjCachedAttribute1):
(WebCore::jsTestObjCachedAttribute2):
(WebCore::jsTestObjAnyAttribute):
(WebCore::jsTestObjContentDocument):
(WebCore::jsTestObjMutablePoint):
(WebCore::jsTestObjImmutablePoint):
(WebCore::jsTestObjStrawberry):
(WebCore::jsTestObjStrictFloat):
(WebCore::jsTestObjDescription):
(WebCore::jsTestObjId):
(WebCore::jsTestObjHash):
(WebCore::jsTestObjReplaceableAttribute):
(WebCore::jsTestObjNullableDoubleAttribute):
(WebCore::jsTestObjNullableLongAttribute):
(WebCore::jsTestObjNullableBooleanAttribute):
(WebCore::jsTestObjNullableStringAttribute):
(WebCore::jsTestObjNullableLongSettableAttribute):
(WebCore::jsTestObjNullableStringValue):
(WebCore::jsTestObjAttribute):
(WebCore::jsTestObjAttributeWithReservedEnumType):
(WebCore::jsTestObjPutForwardsAttribute):
(WebCore::jsTestObjPutForwardsNullableAttribute):
(WebCore::setJSTestObjEnumAttr):
(WebCore::setJSTestObjByteAttr):
(WebCore::setJSTestObjOctetAttr):
(WebCore::setJSTestObjShortAttr):
(WebCore::setJSTestObjUnsignedShortAttr):
(WebCore::setJSTestObjLongAttr):
(WebCore::setJSTestObjLongLongAttr):
(WebCore::setJSTestObjUnsignedLongLongAttr):
(WebCore::setJSTestObjStringAttr):
(WebCore::setJSTestObjTestObjAttr):
(WebCore::setJSTestObjXMLObjAttr):
(WebCore::setJSTestObjCreate):
(WebCore::setJSTestObjReflectedStringAttr):
(WebCore::setJSTestObjReflectedIntegralAttr):
(WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
(WebCore::setJSTestObjReflectedBooleanAttr):
(WebCore::setJSTestObjReflectedURLAttr):
(WebCore::setJSTestObjReflectedCustomIntegralAttr):
(WebCore::setJSTestObjReflectedCustomBooleanAttr):
(WebCore::setJSTestObjReflectedCustomURLAttr):
(WebCore::setJSTestObjTypedArrayAttr):
(WebCore::setJSTestObjAttrWithGetterException):
(WebCore::setJSTestObjAttrWithSetterException):
(WebCore::setJSTestObjStringAttrWithGetterException):
(WebCore::setJSTestObjStringAttrWithSetterException):
(WebCore::setJSTestObjStrictTypeCheckingAttribute):
(WebCore::setJSTestObjOnfoo):
(WebCore::setJSTestObjWithScriptStateAttribute):
(WebCore::setJSTestObjWithCallWithAndSetterCallWithAttribute):
(WebCore::setJSTestObjWithScriptExecutionContextAttribute):
(WebCore::setJSTestObjWithScriptStateAttributeRaises):
(WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
(WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
(WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
(WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
(WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
(WebCore::setJSTestObjConditionalAttr1):
(WebCore::setJSTestObjConditionalAttr2):
(WebCore::setJSTestObjConditionalAttr3):
(WebCore::setJSTestObjAnyAttribute):
(WebCore::setJSTestObjMutablePoint):
(WebCore::setJSTestObjImmutablePoint):
(WebCore::setJSTestObjStrawberry):
(WebCore::setJSTestObjStrictFloat):
(WebCore::setJSTestObjId):
(WebCore::setJSTestObjNullableLongSettableAttribute):
(WebCore::setJSTestObjNullableStringValue):
(WebCore::setJSTestObjAttributeWithReservedEnumType):
(WebCore::setJSTestObjPutForwardsAttribute):
(WebCore::setJSTestObjPutForwardsNullableAttribute):
(WebCore::jsTestObjPrototypeFunctionVoidMethod):
(WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionByteMethod):
(WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionOctetMethod):
(WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionLongMethod):
(WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionObjMethod):
(WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
(WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
(WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValue):
(WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
(WebCore::jsTestObjPrototypeFunctionSerializedValue):
(WebCore::jsTestObjPrototypeFunctionOptionsObject):
(WebCore::jsTestObjPrototypeFunctionMethodWithException):
(WebCore::jsTestObjPrototypeFunctionPrivateMethod):
(WebCore::jsTestObjPrototypeFunctionAddEventListener):
(WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptState):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateObjException):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateWithSpaces):
(WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValue):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValue):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullString):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionConditionalMethod1):
(WebCore::jsTestObjPrototypeFunctionConditionalMethod2):
(WebCore::jsTestObjPrototypeFunctionConditionalMethod3):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod8):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod9):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod10):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod11):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod12):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter1):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter2):
(WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp):
(WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence):
(WebCore::jsTestObjPrototypeFunctionStringArrayFunction):
(WebCore::jsTestObjPrototypeFunctionDomStringListFunction):
(WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence):
(WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence2):
(WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
(WebCore::jsTestObjPrototypeFunctionConvert1):
(WebCore::jsTestObjPrototypeFunctionConvert2):
(WebCore::jsTestObjPrototypeFunctionConvert4):
(WebCore::jsTestObjPrototypeFunctionConvert5):
(WebCore::jsTestObjPrototypeFunctionMutablePointFunction):
(WebCore::jsTestObjPrototypeFunctionImmutablePointFunction):
(WebCore::jsTestObjPrototypeFunctionOrange):
(WebCore::jsTestObjPrototypeFunctionStrictFunction):
(WebCore::jsTestObjPrototypeFunctionStrictFunctionWithSequence):
(WebCore::jsTestObjPrototypeFunctionStrictFunctionWithArray):
(WebCore::jsTestObjPrototypeFunctionVariadicStringMethod):
(WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod):
(WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod):
(WebCore::jsTestObjPrototypeFunctionAny):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionPromise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgumentPromise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithExceptionPromise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgumentPromise):
(WebCore::JSTestObjOwner::finalize):
(WebCore::JSTestObj::toWrapped):

  • bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:

(WebCore::JSTestOverloadedConstructorsOwner::finalize):
(WebCore::JSTestOverloadedConstructors::toWrapped):

  • bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:

(WebCore::JSTestOverrideBuiltins::getOwnPropertyNames):
(WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItem):
(WebCore::JSTestOverrideBuiltinsOwner::finalize):
(WebCore::JSTestOverrideBuiltins::toWrapped):

  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:

(WebCore::jsTestSerializedScriptValueInterfaceValue):
(WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue):
(WebCore::jsTestSerializedScriptValueInterfaceCachedValue):
(WebCore::jsTestSerializedScriptValueInterfacePorts):
(WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue):
(WebCore::setJSTestSerializedScriptValueInterfaceValue):
(WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
(WebCore::JSTestSerializedScriptValueInterfaceOwner::finalize):
(WebCore::JSTestSerializedScriptValueInterface::toWrapped):

  • bindings/scripts/test/JS/JSTestTypedefs.cpp:

(WebCore::jsTestTypedefsUnsignedLongLongAttr):
(WebCore::jsTestTypedefsImmutableSerializedScriptValue):
(WebCore::jsTestTypedefsAttrWithGetterException):
(WebCore::jsTestTypedefsAttrWithSetterException):
(WebCore::jsTestTypedefsStringAttrWithGetterException):
(WebCore::jsTestTypedefsStringAttrWithSetterException):
(WebCore::setJSTestTypedefsUnsignedLongLongAttr):
(WebCore::setJSTestTypedefsImmutableSerializedScriptValue):
(WebCore::setJSTestTypedefsAttrWithGetterException):
(WebCore::setJSTestTypedefsAttrWithSetterException):
(WebCore::setJSTestTypedefsStringAttrWithGetterException):
(WebCore::setJSTestTypedefsStringAttrWithSetterException):
(WebCore::jsTestTypedefsPrototypeFunctionFunc):
(WebCore::jsTestTypedefsPrototypeFunctionSetShadow):
(WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg):
(WebCore::jsTestTypedefsPrototypeFunctionNullableArrayArg):
(WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp):
(WebCore::jsTestTypedefsPrototypeFunctionImmutablePointFunction):
(WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction):
(WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction2):
(WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude):
(WebCore::jsTestTypedefsPrototypeFunctionMethodWithException):
(WebCore::JSTestTypedefsOwner::finalize):
(WebCore::JSTestTypedefs::toWrapped):

  • bindings/scripts/test/JS/JSattribute.cpp:

(WebCore::jsattributeReadonly):
(WebCore::JSattributeOwner::finalize):
(WebCore::JSattribute::toWrapped):

  • bindings/scripts/test/JS/JSreadonly.cpp:

(WebCore::JSreadonlyOwner::finalize):
(WebCore::JSreadonly::toWrapped):

  • bridge/runtime_method.cpp:

(JSC::callRuntimeMethod):

  • inspector/InspectorController.cpp:

(WebCore::InspectorController::canAccessInspectedScriptState):

Source/WebKit/mac:

  • WebView/WebFrame.mm:

(-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):

  • WebView/WebScriptDebugger.mm:

(toWebFrame):

Source/WebKit/win:

  • WebFrame.cpp:

(WebFrame::stringByEvaluatingJavaScriptInScriptWorld):

Source/WebKit2:

  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::frameForContext): Renaming impl() to wrapped().
(WebKit::WebFrame::counterValue): Ditto.

3:02 AM Changeset in webkit [191886] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

[EFL] Bump harfbuzz versions to 0.9.35
https://bugs.webkit.org/show_bug.cgi?id=150448

Reviewed by Gyuyoung Kim.

  • efl/jhbuild.modules:
3:00 AM Changeset in webkit [191885] by youenn.fablet@crf.canon.fr
  • 17 edits
    2 deletes in trunk/Source/WebCore

IDL functions and attributes should be JSBuiltin by default if interface is marked as JSBuiltinConstructor
https://bugs.webkit.org/show_bug.cgi?id=150438

Reviewed by Darin Adler.

Binding generator is now deducing that function/attribute is JSBuiltin if the interface is marked as JSBuiltin.
One exception is custom setters, getters or functions which remain C++ handled.
Updated streams API IDLs accordingly.

Binding generator knows whether class needs a DOM class by checking whether the interface is marked as JSBuiltin.
Binding generator knows that class uses a JS built-in constructor if marked as JSBuiltin+Constructor.
In particular, JSBuiltIn+CustomConstructor means that a DOM class is not needed and constructor is not JS built-in.

Applied JSBuiltin+CustomConstructor to ReadableStreamReader and ReadableStreamController.
Removing ReadableStreamReader and ReadableStreamController classes.

Removed unneeded "Default" keyword for cancel function in WebIDL.

Added a binding test case.
No change in behavior.

  • Modules/streams/ByteLengthQueuingStrategy.idl: Marking interface as JSBuiltin and Constructable.
  • Modules/streams/CountQueuingStrategy.idl: Ditto.
  • Modules/streams/ReadableStream.idl: Ditto.
  • Modules/streams/ReadableStreamController.h: Removed.
  • Modules/streams/ReadableStreamController.idl: Marking interface as JSBuiltin and Constructable.
  • Modules/streams/ReadableStreamReader.h: Removed.
  • Modules/streams/ReadableStreamReader.idl: Marking interface as JSBuiltin and Constructable.
  • Modules/streams/WritableStream.idl: Ditto.
  • bindings/js/JSReadableStreamPrivateConstructors.cpp:

(WebCore::JSBuiltinReadableStreamReaderPrivateConstructor::createJSObject): Updated according new constructor.
(WebCore::JSBuiltinReadableStreamControllerPrivateConstructor::createJSObject): Ditto.

  • bindings/scripts/CodeGeneratorJS.pm:

(NeedsImplementationClass):
(GetAttributeGetterName):
(GetAttributeSetterName):
(GetFunctionName):
(InstanceNeedsVisitChildren):
(GenerateHeader):
(GenerateAttributesHashTable):
(GenerateImplementation):
(GetConstructorTemplateClassName):
(GenerateConstructorDefinition):
(GenerateConstructorHelperMethods):
(IsConstructable):
(ComputeFunctionSpecial):
(IsJSBuiltin):
(IsJSBuiltinConstructor):
(AddJSBuiltinIncludesIfNeeded):
(GetJSBuiltinFunctionName): Deleted.
(GetJSBuiltinFunctionNameFromString): Deleted.
(GetJSBuiltinScopeName): Deleted.

  • bindings/scripts/test/GObject/WebKitDOMTestJSBuiltinConstructor.cpp:

(webkit_dom_test_js_builtin_constructor_set_property):
(webkit_dom_test_js_builtin_constructor_get_property):
(webkit_dom_test_js_builtin_constructor_class_init):
(webkit_dom_test_js_builtin_constructor_test_function):
(webkit_dom_test_js_builtin_constructor_get_test_attribute):
(webkit_dom_test_js_builtin_constructor_set_test_attribute):

  • bindings/scripts/test/GObject/WebKitDOMTestJSBuiltinConstructor.h:
  • bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:

(WebCore::JSTestJSBuiltinConstructor::JSTestJSBuiltinConstructor):
(WebCore::JSTestJSBuiltinConstructor::getOwnPropertySlot):
(WebCore::jsTestJSBuiltinConstructorTestAttribute):
(WebCore::jsTestJSBuiltinConstructorTestAttributeCustom):
(WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustom):
(WebCore::setJSTestJSBuiltinConstructorTestAttribute):
(WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustom):
(WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestFunction):
(WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunction):
(WebCore::JSTestJSBuiltinConstructorOwner::isReachableFromOpaqueRoots):
(WebCore::JSTestJSBuiltinConstructorOwner::finalize):
(WebCore::toJSNewlyCreated):
(WebCore::toJS):
(WebCore::JSTestJSBuiltinConstructor::toWrapped):
(WebCore::JSTestJSBuiltinConstructorPrototype::createStructure): Deleted.
(WebCore::JSTestJSBuiltinConstructorConstructor::initializeProperties): Deleted.
(WebCore::JSTestJSBuiltinConstructor::createPrototype): Deleted.
(WebCore::JSTestJSBuiltinConstructor::getPrototype): Deleted.

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

(WebCore::JSTestJSBuiltinConstructor::create):
(WebCore::JSTestJSBuiltinConstructor::finishCreation):
(WebCore::wrapperOwner):
(WebCore::toJS):
(WebCore::JSTestJSBuiltinConstructor::createStructure): Deleted.

  • bindings/scripts/test/ObjC/DOMTestJSBuiltinConstructor.h:
  • bindings/scripts/test/ObjC/DOMTestJSBuiltinConstructor.mm:

(-[DOMTestJSBuiltinConstructor testAttribute]):
(-[DOMTestJSBuiltinConstructor setTestAttribute:]):
(-[DOMTestJSBuiltinConstructor testAttributeCustom]):
(-[DOMTestJSBuiltinConstructor testAttributeRWCustom]):
(-[DOMTestJSBuiltinConstructor setTestAttributeRWCustom:]):
(-[DOMTestJSBuiltinConstructor testFunction]):
(-[DOMTestJSBuiltinConstructor testCustomFunction]):

  • bindings/scripts/test/TestJSBuiltinConstructor.idl:
2:33 AM Changeset in webkit [191884] by Carlos Garcia Campos
  • 2 edits in trunk

Unreviewed. Bump GTK+ versions numbers.

  • Source/cmake/OptionsGTK.cmake:
2:26 AM Changeset in webkit [191883] by Csaba Osztrogonác
  • 3 edits in trunk/Tools

[EFL] gnutls-3.3.0 jhbuild module build fails on Ubuntu 15.10
https://bugs.webkit.org/show_bug.cgi?id=150622

Reviewed by Gyuyoung Kim.

  • efl/install-dependencies:
  • efl/jhbuild.modules:
2:22 AM Changeset in webkit [191882] by Csaba Osztrogonác
  • 2 edits
    1 add in trunk/Tools

Fix EFL jhbuild module build on Ubuntu 15.10
https://bugs.webkit.org/show_bug.cgi?id=150621

Reviewed by Gyuyoung Kim.

  • efl/jhbuild.modules:
  • efl/patches/efl-remove-XPrint.patch: Added.
1:33 AM Changeset in webkit [191881] by Carlos Garcia Campos
  • 8 edits
    3 adds in trunk/Source

[GLIB] Remove support for GSocket main loop sources from GMainLoopSource
https://bugs.webkit.org/show_bug.cgi?id=150772

Reviewed by Žan Doberšek.

Source/WebKit2:

Add GSocketMonitor class to be used by Connection to monitor the
availability of the socket file descriptor instead of using a
GMainLoopSource.

  • Platform/IPC/Connection.h:
  • Platform/IPC/glib/GSocketMonitor.cpp: Added.

(IPC::GSocketMonitor::~GSocketMonitor):
(IPC::GSocketMonitor::socketSourceCallback):
(IPC::GSocketMonitor::start):
(IPC::GSocketMonitor::stop):

  • Platform/IPC/glib/GSocketMonitor.h: Added.
  • Platform/IPC/unix/ConnectionUnix.cpp:

(IPC::Connection::platformInvalidate):
(IPC::Connection::open):

  • PlatformGTK.cmake:

Source/WTF:

It complicated the code just to make generic what is only used in
one place.

  • wtf/glib/GMainLoopSource.cpp:

(WTF::GMainLoopSource::cancel): Deleted.
(WTF::GMainLoopSource::schedule): Deleted.
(WTF::GMainLoopSource::scheduleTimeoutSource): Deleted.
(WTF::GMainLoopSource::scheduleAfterDelay): Deleted.
(WTF::GMainLoopSource::finishVoidCallback): Deleted.
(WTF::GMainLoopSource::voidCallback): Deleted.
(WTF::GMainLoopSource::prepareBoolCallback): Deleted.

  • wtf/glib/GMainLoopSource.h:

(WTF::GMainLoopSource::Context::operator=): Deleted.

1:15 AM Changeset in webkit [191880] by Carlos Garcia Campos
  • 6 edits in trunk

[GLIB] Remove delete on destroy GMainLoopSources
https://bugs.webkit.org/show_bug.cgi?id=150771

Reviewed by Žan Doberšek.

Source/WTF:

Delete on destroy sources made the GMainLoopSource implementation
more complex and they are currently unused.

  • wtf/glib/GMainLoopSource.cpp:

(WTF::GMainLoopSource::boolCallback):
(WTF::GMainLoopSource::create): Deleted.
(WTF::GMainLoopSource::GMainLoopSource): Deleted.
(WTF::GMainLoopSource::cancel): Deleted.
(WTF::GMainLoopSource::scheduleAndDeleteOnDestroy): Deleted.
(WTF::GMainLoopSource::scheduleAfterDelayAndDeleteOnDestroy): Deleted.
(WTF::GMainLoopSource::voidCallback): Deleted.

  • wtf/glib/GMainLoopSource.h:

Tools:

  • TestWebKitAPI/Tests/WTF/glib/GMainLoopSource.cpp:

(TestWebKitAPI::TEST): Remove DeleteOnDestroy unit tests.

  • TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.cpp:

(WebViewTest::wait): Use g_timeout_add instead of GMainLoopSource.

1:02 AM Changeset in webkit [191879] by svillar@igalia.com
  • 3 edits
    4 adds in trunk

[CSS Grid Layout] min-content row does not always shrink
https://bugs.webkit.org/show_bug.cgi?id=144581

Reviewed by Zalan Bujtas.

Source/WebCore:

Grid items height must be recomputed whenever the grid tracks
change if the items had been previously stretched. In those
cases we have to clear the override height and layout the item
with the new row size.

Tests: fast/css-grid-layout/min-content-row-must-shrink-when-column-grows.html

fast/css-grid-layout/relayout-indefinite-heights.html

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::logicalContentHeightForChild):

LayoutTests:

Based on Blink's r191001 by <jfernandez@igalia.com>.

  • fast/css-grid-layout/min-content-row-must-shrink-when-column-grows-expected.txt: Added.
  • fast/css-grid-layout/min-content-row-must-shrink-when-column-grows.html: Added.
  • fast/css-grid-layout/relayout-indefinite-heights-expected.txt: Added.
  • fast/css-grid-layout/relayout-indefinite-heights.html: Added.
12:41 AM Changeset in webkit [191878] by Carlos Garcia Campos
  • 6 edits in trunk/Source

[GTK] Use RunLoop in WorkQueue implementation
https://bugs.webkit.org/show_bug.cgi?id=150770

Reviewed by Darin Adler.

Source/WebKit2:

  • Platform/IPC/unix/ConnectionUnix.cpp:

(IPC::Connection::open): Get the main context from the WorkQueue Runloop.

Source/WTF:

Instead of using GMainLoop directly. RunLoop already abstracts the
GMainLoop details and uses persistent sources making it more efficient.
For the dispatchAfter implementation we use a helper context class
and a GSource directly, since we are going to get rid of delete on
destroy GMainLoop soon and this is the only place where we still
use them.

  • wtf/RunLoop.h:

(WTF::RunLoop::mainContext): Return the GMainContext.

  • wtf/WorkQueue.h:
  • wtf/glib/WorkQueueGLib.cpp:

(WTF::WorkQueue::platformInitialize): The RunLoop needs to be
created in the worker thread now, so we now use a mutex to wait
until the thread has started and the RunLoop has been created.
(WTF::WorkQueue::platformInvalidate): Stop the RunLoop and wait
until the thread finishes.
(WTF::WorkQueue::dispatch): Use RunLoop::dispatch().
(WTF::DispatchAfterContext::DispatchAfterContext):
(WTF::DispatchAfterContext::~DispatchAfterContext):
(WTF::DispatchAfterContext::dispatch):
(WTF::WorkQueue::dispatchAfter):

Note: See TracTimeline for information about the timeline view.