Timeline


and

05/25/16: Today

06:03 Changeset [201380] by ossy@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[ARM] Fix the Wcast-align warning in LinkBuffer.cpp
https://bugs.webkit.org/show_bug.cgi?id=157889

Reviewed by Darin Adler.

  • assembler/LinkBuffer.cpp:

(JSC::recordLinkOffsets):

04:32 Changeset [201379] by svillar@igalia.com
  • 3 edits in trunk/Source/WebCore

[css-grid] Refactor populateGridPositions()
https://bugs.webkit.org/show_bug.cgi?id=158065

Reviewed by Carlos Garcia Campos.

RenderGrid::populateGridPositions() was doing exactly the same thing for columns and rows
but using different data structures. That lead to a lot of duplicated code. It's easy to
refactor it in a new function that properly select the data structures to operate on based
on the direction.

No new tests as there is no change in behaviour.

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::layoutGridItems):
(WebCore::RenderGrid::populateGridPositionsForDirection): Refactored from
populateGridPositions().
(WebCore::RenderGrid::populateGridPositions): Deleted.

  • rendering/RenderGrid.h:
04:17 Changeset [201378] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

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

Several tests are hitting the ASSERT (Requested by rego on
#webkit).

Reverted changeset:

"[css-grid] Simplify grid track sizes parsing"
https://bugs.webkit.org/show_bug.cgi?id=158021
http://trac.webkit.org/changeset/201373

04:13 Changeset [201377] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Purge PassRefPtr from TouchList
https://bugs.webkit.org/show_bug.cgi?id=157985

Patch by Nael Ouedraogo <nael.ouedraogo@crf.canon.fr> on 2016-05-25
Reviewed by Darin Adler.

Use RefPtr&& argument instead of PassRefPtr in append()

  • dom/TouchList.h:

(WebCore::TouchList::append):

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleTouchEvent):

03:59 Changeset [201376] by cdumez@apple.com
  • 3 edits in trunk/Source/WebKit2

Update constructRevalidationRequest() to stop returning a unique_ptr<ResourceRequest>
https://bugs.webkit.org/show_bug.cgi?id=158046

Reviewed by Darin Adler.

Update constructRevalidationRequest() to stop returning a unique_ptr<ResourceRequest>
and to return a ResourceRequest instead. There is no reason for it to return a
pointer.

  • NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:

(WebKit::NetworkCache::constructRevalidationRequest):
(WebKit::NetworkCache::SpeculativeLoadManager::PreloadedEntry::PreloadedEntry):
(WebKit::NetworkCache::SpeculativeLoadManager::PreloadedEntry::revalidationRequest):
(WebKit::NetworkCache::SpeculativeLoadManager::addPreloadedEntry):
(WebKit::NetworkCache::SpeculativeLoadManager::revalidateEntry):

  • NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.h:
03:58 Changeset [201375] by cdumez@apple.com
  • 2 edits in trunk/LayoutTests

Update dom/Window/messageevent-source-postmessage-reified.html after r201315
https://bugs.webkit.org/show_bug.cgi?id=158048

Reviewed by Darin Adler.

We need to delete a property that is part of the Window's static table
now in order to force the reification.

  • fast/dom/Window/messageevent-source-postmessage-reified.html:
02:49 Changeset [201374] by commit-queue@webkit.org
  • 5 edits
    4 adds in trunk

Elements with backdrop-filter cannot be clipped with clip-path or mask
https://bugs.webkit.org/show_bug.cgi?id=142662
<rdar://problem/20150192>

Patch by Antoine Quint <graouts@apple.com> on 2016-05-25
Reviewed by Dean Jackson.

Source/WebCore:

We used to only apply the mask to the layer contents but did not account
for the fact that a layer backdrop may exist. We now correctly mask the
backdrop layer as well as the layer contents.

Test: css3/filters/backdrop/backdrop-filter-with-clip-path.html

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::updateShape):
Ensure clones of a layer use the same shape path.

(WebCore::GraphicsLayerCA::updateMaskLayer):
If we have a backdrop layer, ensure that we apply a clone of the mask layer applied to
the layer contents.

Source/WebKit2:

Ensure layer clones are set up with the same shape path as their original layer.

  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(WebKit::PlatformCALayerRemote::updateClonedLayerProperties):

LayoutTests:

New test that checks that applying a backdrop-filter and a clip-path on a single
element has the same effect as applying a clip-path on a parent of a child with
a backdrop-filter.

  • css3/filters/backdrop/backdrop-filter-with-clip-path-expected.txt: Added.
  • css3/filters/backdrop/backdrop-filter-with-clip-path.html: Added.
  • platform/ios-simulator/css3/filters/backdrop/backdrop-filter-with-clip-path-expected.html: Added.
  • platform/mac/css3/filters/backdrop/backdrop-filter-with-clip-path-expected.png: Added.
02:22 Changeset [201373] by rego@igalia.com
  • 3 edits in trunk/Source/WebCore

[css-grid] Simplify grid track sizes parsing
https://bugs.webkit.org/show_bug.cgi?id=158021

Reviewed by Sergio Villar Senin.

Previously once we saw an auto-repeat function,
we passed the "FixedSizeOnly" restriction to the rest of methods.
That way we were sure that all the tracks after the auto-repeat
had fixed sizes.
But we needed to call allTracksAreFixedSized() to be sure that
the tracks before the auto-repeat had fixed sizes too.

Now we're introducing a new boolean |allTracksAreFixedSized|,
to check in advance if the declaration contains any track not fixed.
If that's the case and we found an auto-repeat method,
we consider it invalid.
With this approach we avoid the loop to verify
that all the tracks (before and after the auto-repeat) are fixed.
It also allows us to simplify the code and avoid passing
the restriction to all the methods parsing the track size.

No new tests, no change of behavior.

  • css/CSSParser.cpp:

(WebCore::isGridTrackFixedSized): New method to check if a grid track
size is fixed or not (based on old allTracksAreFixedSized()).
(WebCore::CSSParser::parseGridTrackList): Add new boolean to detect
if any track has not a fixed size.
(WebCore::CSSParser::parseGridTrackRepeatFunction): Ditto.
(WebCore::CSSParser::parseGridTrackSize): Remove usage of
TrackSizeRestriction enum.
Check here if |minTrackBreadth| is a flexible size.
(WebCore::CSSParser::parseGridBreadth): Remove usage of
TrackSizeRestriction enum.
(WebCore::allTracksAreFixedSized): Deleted.

  • css/CSSParser.h: Remove TrackSizeRestriction enum and update headers.
02:05 Changeset [201372] by keith_miller@apple.com
  • 2 edits in trunk/PerformanceTests

Unreviewed, add JSBench to the skipped list for now since it doesn't
work currently.

  • Skipped:

05/24/16: Yesterday

22:18 Changeset [201371] by cdumez@apple.com
  • 3 edits in trunk/Source/WebKit2

Simplify a couple of lambda captures in the network cache code
https://bugs.webkit.org/show_bug.cgi?id=158053

Reviewed by Brady Eidson.

  • NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:

(WebKit::NetworkCache::SpeculativeLoadManager::preloadEntry):
Just capture subResourceInfo instead of allocating a new copy
on the heap. There is no reason we cannot simply capture
subResourceInfo here.

  • NetworkProcess/cache/NetworkCacheStorage.cpp:

(WebKit::NetworkCache::Storage::clear):
Use new C++14 capture with initialization to make the code a
bit nicer.

18:21 Changeset [201370] by aakash_jain@apple.com
  • 3 edits in trunk/Tools

Reorganize dashboard code: move code from _timeIntervalString to base class
https://bugs.webkit.org/show_bug.cgi?id=158047
rdar://problem/26457274

Reviewed by Alexey Proskuryakov and Dean Johnson.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueView.js:

(BubbleQueueView.prototype._timeIntervalString): Moved core logic to base class so as to make it re-usable.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/QueueView.js:

(QueueView.prototype._readableTimeString): Same.

17:55 Changeset [201369] by bshafiei@apple.com
  • 1 copy in tags/Safari-602.1.32.5.1

New tag.

17:54 Changeset [201368] by bshafiei@apple.com
  • 1 copy in tags/Safari-602.1.32.6

New tag.

17:54 Changeset [201367] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.7.4

New tag.

17:46 Changeset [201366] by conrad_shultz@apple.com
  • 3 edits in trunk/Source/WebKit2

_WKThumbnailView should expose its snapshot size
https://bugs.webkit.org/show_bug.cgi?id=158049

Reviewed by Tim Horton.

  • UIProcess/API/Cocoa/_WKThumbnailView.h:
  • UIProcess/API/Cocoa/_WKThumbnailView.mm:

(-[_WKThumbnailView _didTakeSnapshot:]):
Update the new snapshotSize property in a KVO-compliant manner.

17:45 Changeset [201365] by utatane.tea@gmail.com
  • 2 edits in trunk/Tools

[JSC][GTK][EFL] Allow run-jsc-benchmark to use WebKitTestRunner in EFL / GTK ports
https://bugs.webkit.org/show_bug.cgi?id=158016

Reviewed by Darin Adler.

This patch easily allows run-jsc-benchmark to run WebKitTestRunner-based tests in GTK / EFL ports.
This change encourages us to run tests with the browser-heap in nix environments.
Two things are modified.

  1. Add a fall-back to look up the library path in GTK / EFL / JSCOnly environment.

In GTK / EFL / JSCOnly ports, the hierarchy of the build directory is slightly different from Apple port.
For example, the jsc bin locate at "WebKitBuild/XXX/Release/bin/jsc" and the lib path is "WebKitBuild/XXX/Release/lib"
while the one of Apple port is "WebKitBuild/XXX/Release/jsc" and "WebKitBuild/XXX/Release/lib".
And based on this library path, we configure the required environment variables to run WebKitTestRunner in GTK / EFL ports.

  1. Add --dependencies option to add dependent library paths.

While Apple ports does not require any additional dependent library path, GTK and EFL ports require this path,
typically WebKitBuild/DependenciesGTK and WebKitBuild/DependenciesEFL respectively. So we need to add such paths to LD_LIBRARY_PATH.
Instead of adding platform options like --gtk / --efl, we add --dependencies option to add the additional dependent library paths.
The platform options still require the build path to look up the dependent library directory. So we pass it directly through --dependencies.
Multiple additional dependent library paths can be added by using --dependencies multiple times.

By using these change, we can run benchmarks that require WebKitTestRunner in GTK / EFL ports (If you would like to run them in a headless manner, you can use xvbuf.).
Example:

Tools/Scripts/run-jsc-benchmarks baseline:WebKitBuild/baseline/Release/bin/WebKitTestRunner patched:WebKitBuild/patched/Release/bin/WebKitTestRunner --dependencies WebKitBuild/DependenciesGTK/Root/lib --js-bench

  • Scripts/run-jsc-benchmarks:
17:12 Changeset [201364] by keith_miller@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

TypedArray.prototype.slice should not throw if no arguments are provided
https://bugs.webkit.org/show_bug.cgi?id=158044
<rdar://problem/26433280>

Reviewed by Geoffrey Garen.

We were throwing an exception if the TypedArray.prototype.slice function
was not provided arguments. This was wrong. Instead we should just assume
the first argument was 0.

  • runtime/JSGenericTypedArrayViewPrototypeFunctions.h:

(JSC::genericTypedArrayViewProtoFuncSlice): Deleted.

  • tests/stress/typedarray-slice.js:
16:49 Changeset [201363] by keith_miller@apple.com
  • 21 edits
    3 adds in trunk/Source

LLInt should be able to cache prototype loads for values in GetById
https://bugs.webkit.org/show_bug.cgi?id=158032

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

This patch adds prototype value caching to the LLInt for op_get_by_id.
Two previously unused words in the op_get_by_id bytecode have been
repurposed to hold extra information for the cache. The first is a
counter that records the number of get_by_ids that hit a cacheable value
on a prototype. When the counter is decremented from one to zero we
attempt to cache the prototype load, which will be discussed further
below. The second word is used to hold the prototype object when we have
started caching.

When the counter is decremented to zero we first attempt to generate and
watch the property conditions needed to ensure the validity of prototype
load. If the watchpoints are successfully created and installed we
replace the op_get_by_id opcode with the new op_get_by_id_proto_load
opcode, which tells the LLInt to use the cache prototype object for the
load rather than the base value.

Prior to this patch there was not LLInt specific data onCodeBlocks.
Since the CodeBlock needs to own the Watchpoints for the cache, a weak
map from each base structure to a bag of Watchpoints created for that
structure by some op_get_by_id has been added to the CodeBlock. During
GC, if we find that the a structure in the map has not been marked we
free the associated bag on the CodeBlock.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/BytecodeList.json:
  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::printGetByIdOp):
(JSC::CodeBlock::printGetByIdCacheStatus):
(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::finalizeLLIntInlineCaches):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::llintGetByIdWatchpointMap):
(JSC::clearLLIntGetByIdCache):

  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeFromLLInt):

  • bytecode/LLIntPrototypeLoadAdaptiveStructureWatchpoint.cpp: Added.

(JSC::LLIntPrototypeLoadAdaptiveStructureWatchpoint::LLIntPrototypeLoadAdaptiveStructureWatchpoint):
(JSC::LLIntPrototypeLoadAdaptiveStructureWatchpoint::install):
(JSC::LLIntPrototypeLoadAdaptiveStructureWatchpoint::fireInternal):

  • bytecode/LLIntPrototypeLoadAdaptiveStructureWatchpoint.h: Added.
  • bytecode/ObjectPropertyConditionSet.cpp:

(JSC::ObjectPropertyConditionSet::isValidAndWatchable):

  • bytecode/ObjectPropertyConditionSet.h:
  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitGetById):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::capabilityLevel):

  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::setupGetByIdPrototypeCache):
(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • llint/LLIntSlowPaths.h:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/Options.h:
  • tests/stress/llint-get-by-id-cache-prototype-load-from-dictionary.js: Added.

(test):

Source/WTF:

Add move constructors/initializers to Bags.

  • wtf/Bag.h:

(WTF::Bag::Bag):
(WTF::Bag::operator=):

16:09 Changeset [201362] by matthew_hanson@apple.com
  • 5 adds in branches/safari-601-branch/LayoutTests/imported/blink

Merge missing layout test. rdar://problem/26228555

16:03 Changeset [201361] by keith_miller@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

We should be able to use the sampling profiler with DRT/WTR.
https://bugs.webkit.org/show_bug.cgi?id=158041

Reviewed by Saam Barati.

This patch makes the sampling profiler use a new option, samplingProfilerPath, which
specifies the path to a directory to output sampling profiler data when the program
terminates or the VM is destroyed. Additionally, it fixes some other issues with the
bytecode profiler that would cause crashes on debug builds.

  • profiler/ProfilerDatabase.cpp:

(JSC::Profiler::Database::ensureBytecodesFor):
(JSC::Profiler::Database::performAtExitSave):

  • runtime/Options.h:
  • runtime/SamplingProfiler.cpp:

(JSC::SamplingProfiler::registerForReportAtExit):
(JSC::SamplingProfiler::reportDataToOptionFile):
(JSC::SamplingProfiler::reportTopFunctions):
(JSC::SamplingProfiler::reportTopBytecodes):

  • runtime/SamplingProfiler.h:
  • runtime/VM.cpp:

(JSC::VM::VM):
(JSC::VM::~VM):

16:02 Changeset [201360] by bdakin@apple.com
  • 4 edits in trunk/Source/WebKit/mac

Candidates should work with input methods
https://bugs.webkit.org/show_bug.cgi?id=158042
-and corresponding-
rdar://problem/26205228

Reviewed by Tim Horton.

  • WebView/WebHTMLView.mm:
  • WebView/WebView.mm:

(-[WebView candidateList]):

  • WebView/WebViewInternal.h:
15:28 Changeset [201359] by sbarati@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

We can cache lookups to JSScope::abstractResolve inside CodeBlock::finishCreation
https://bugs.webkit.org/show_bug.cgi?id=158036

Reviewed by Geoffrey Garen.

This patch implements a 1 item cache for JSScope::abstractResolve. I also tried
implementing the cache as a HashMap, but it seemed either less profitable on some
benchmarks or just as profitable on others. Therefore, it's cleaner to just
use a 1 item cache.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):
(JSC::AbstractResolveKey::AbstractResolveKey):
(JSC::AbstractResolveKey::operator==):
(JSC::AbstractResolveKey::isEmptyValue):
(JSC::CodeBlock::finishCreation):

  • runtime/GetPutInfo.h:

(JSC::needsVarInjectionChecks):
(JSC::ResolveOp::ResolveOp):

15:04 Changeset [201358] by mmaxfield@apple.com
  • 3 edits
    2 adds in trunk

[Font Loading] Crash during font download failure after garbage collection
https://bugs.webkit.org/show_bug.cgi?id=158013
<rdar://problem/25148032>

Reviewed by Darin Adler.

Source/WebCore:

Usually, ownership during font loading is top-down - JavaScript owns a JSFontFace,
which owns a FontFace, which owns a CSSFontFace. However, when we receive the
asynchronous callback that a font finished loading, the call comes in from the
bottom - it is delivered from the CSSFontFaceSource to the CSSFontFace, and then
to the FontFace. If a garbage collection had previously run, we might remove
the last reference to ourself during this asynchronous callback. A simple guard
makes sure this doesn't happen.

Test: fast/text/font-face-crash.html

  • css/CSSFontFace.cpp:

(WebCore::CSSFontFace::fontLoaded):

LayoutTests:

  • fast/text/font-face-crash-expected.txt: Added.
  • fast/text/font-face-crash.html: Added.
15:03 Changeset [201357] by ryanhaddad@apple.com
  • 5 edits
    4 deletes in trunk

Source/WebCore:
Unreviewed, rolling out r201349.

This change caused compositing tests to assert on iOS
simulator

Reverted changeset:

"Elements with backdrop-filter cannot be clipped with clip-
path or mask"
https://bugs.webkit.org/show_bug.cgi?id=142662
http://trac.webkit.org/changeset/201349

Source/WebKit2:
Unreviewed, rolling out r201349.

This change caused compositing tests to assert on iOS
simulator

Reverted changeset:

"Elements with backdrop-filter cannot be clipped with clip-
path or mask"
https://bugs.webkit.org/show_bug.cgi?id=142662
http://trac.webkit.org/changeset/201349

LayoutTests:
201-05-24 Ryan Haddad <ryanhaddad@apple.com>

Unreviewed, rolling out r201349.

This change caused compositing tests to assert on iOS
simulator

Reverted changeset:

"Elements with backdrop-filter cannot be clipped with clip-
path or mask"
https://bugs.webkit.org/show_bug.cgi?id=142662
http://trac.webkit.org/changeset/201349

14:57 Changeset [201356] by beidson@apple.com
  • 11 edits
    1 copy in trunk/Source/WebCore

Modern IDB: (Workers) Eliminate race in getting the ScriptExecutionContext and using it.
https://bugs.webkit.org/show_bug.cgi?id=158038

Reviewed by Alex Christensen.

No new tests (Resolves potential flakes in existing tests).

When the main thread is trying to post a task to a worker thread's ScriptExecutionContext, there is a race
between checking that the context still exists and actually using it.

The solution is to add a new class - IDBActiveDOMObject - which does a few things things:
1 - Remembers its origin thread.
2 - Guards clearing its ScriptExecutionContext with a Lock.
3 - Adds a templated "performCallbackOnOriginThread" that uses the same Lock to make sure posting the task to

the ScriptExecutionContext's RunLoop is safe.

Also, tons of ASSERTions are updated because each object with an originThread no longer keeps its idea in an
accessible member variable.

  • Modules/indexeddb/IDBActiveDOMObject.h:

(WebCore::IDBActiveDOMObject::originThreadID):
(WebCore::IDBActiveDOMObject::performCallbackOnOriginThread):
(WebCore::IDBActiveDOMObject::IDBActiveDOMObject):

  • Modules/indexeddb/IDBDatabase.cpp:

(WebCore::IDBDatabase::IDBDatabase):
(WebCore::IDBDatabase::~IDBDatabase):
(WebCore::IDBDatabase::hasPendingActivity):
(WebCore::IDBDatabase::name):
(WebCore::IDBDatabase::version):
(WebCore::IDBDatabase::objectStoreNames):
(WebCore::IDBDatabase::createObjectStore):
(WebCore::IDBDatabase::transaction):
(WebCore::IDBDatabase::deleteObjectStore):
(WebCore::IDBDatabase::close):
(WebCore::IDBDatabase::didCloseFromServer):
(WebCore::IDBDatabase::maybeCloseInServer):
(WebCore::IDBDatabase::activeDOMObjectName):
(WebCore::IDBDatabase::canSuspendForDocumentSuspension):
(WebCore::IDBDatabase::stop):
(WebCore::IDBDatabase::startVersionChangeTransaction):
(WebCore::IDBDatabase::didStartTransaction):
(WebCore::IDBDatabase::willCommitTransaction):
(WebCore::IDBDatabase::didCommitTransaction):
(WebCore::IDBDatabase::willAbortTransaction):
(WebCore::IDBDatabase::didAbortTransaction):
(WebCore::IDBDatabase::didCommitOrAbortTransaction):
(WebCore::IDBDatabase::fireVersionChangeEvent):
(WebCore::IDBDatabase::dispatchEvent):
(WebCore::IDBDatabase::didCreateIndexInfo):
(WebCore::IDBDatabase::didDeleteIndexInfo):

  • Modules/indexeddb/IDBDatabase.h:

(WebCore::IDBDatabase::originThreadID): Deleted.

  • Modules/indexeddb/IDBRequest.cpp:

(WebCore::IDBRequest::IDBRequest):
(WebCore::IDBRequest::~IDBRequest):
(WebCore::IDBRequest::errorCode):
(WebCore::IDBRequest::error):
(WebCore::IDBRequest::setSource):
(WebCore::IDBRequest::setVersionChangeTransaction):
(WebCore::IDBRequest::transaction):
(WebCore::IDBRequest::readyState):
(WebCore::IDBRequest::sourceObjectStoreIdentifier):
(WebCore::IDBRequest::sourceIndexIdentifier):
(WebCore::IDBRequest::requestedIndexRecordType):
(WebCore::IDBRequest::eventTargetInterface):
(WebCore::IDBRequest::activeDOMObjectName):
(WebCore::IDBRequest::canSuspendForDocumentSuspension):
(WebCore::IDBRequest::hasPendingActivity):
(WebCore::IDBRequest::stop):
(WebCore::IDBRequest::enqueueEvent):
(WebCore::IDBRequest::dispatchEvent):
(WebCore::IDBRequest::uncaughtExceptionInEventHandler):
(WebCore::IDBRequest::setResult):
(WebCore::IDBRequest::setResultToStructuredClone):
(WebCore::IDBRequest::clearResult):
(WebCore::IDBRequest::setResultToUndefined):
(WebCore::IDBRequest::resultCursor):
(WebCore::IDBRequest::willIterateCursor):
(WebCore::IDBRequest::didOpenOrIterateCursor):
(WebCore::IDBRequest::requestCompleted):
(WebCore::IDBRequest::onError):
(WebCore::IDBRequest::onSuccess):

  • Modules/indexeddb/IDBRequest.h:

(WebCore::IDBRequest::originThreadID): Deleted.

  • Modules/indexeddb/IDBTransaction.cpp:

(WebCore::IDBTransaction::IDBTransaction):
(WebCore::IDBTransaction::originThreadID): Deleted.

  • Modules/indexeddb/IDBTransaction.h:
  • Modules/indexeddb/client/IDBConnectionProxy.cpp:

(WebCore::IDBClient::IDBConnectionProxy::completeOpenDBRequest):
(WebCore::IDBClient::IDBConnectionProxy::completeOperation):
(WebCore::IDBClient::IDBConnectionProxy::fireVersionChangeEvent):
(WebCore::IDBClient::IDBConnectionProxy::notifyOpenDBRequestBlocked):
(WebCore::IDBClient::IDBConnectionProxy::didStartTransaction):
(WebCore::IDBClient::IDBConnectionProxy::didCommitTransaction):
(WebCore::IDBClient::IDBConnectionProxy::didAbortTransaction):
(WebCore::IDBClient::IDBConnectionProxy::didCloseFromServer):
(WebCore::IDBClient::performCallbackOnCorrectThread): Deleted.

  • Modules/indexeddb/client/TransactionOperation.cpp:

(WebCore::IDBClient::TransactionOperation::scriptExecutionContext): Deleted.

  • Modules/indexeddb/client/TransactionOperation.h:

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

  • WebCore.xcodeproj/project.pbxproj:
14:48 Changeset [201355] by adachan@apple.com
  • 8 edits
    3 adds in trunk

Only set overflow:hidden on -webkit-media-controls when the placeholder is showing.
https://bugs.webkit.org/show_bug.cgi?id=157975

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/mac/controls-panel-not-clipped-out.html

overflow:hidden was added to clip out content contained in -webkit-media-controls
that sticks out of the bounds of that container when the inlinePlaybackPlaceholder
is showing. However, that style also clips out things that we want to show when the
inlinePlaybackPlaceholder is not showing. For example, the volume slider or the
controls panel when the video element's height is too short.

To fix that, we only set overflow:hidden on -webkit-media-controls when the
inlinePlaybackPlaceholder is visible.

  • Modules/mediacontrols/mediaControlsApple.css:

(::-webkit-media-controls):
(::-webkit-media-controls.placeholder-showing):
Set overflow:hidden only when the placeholder is showing.

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.handlePresentationModeChange):
Add the placeholderShowing class to -webkit-media-controls only when the
inlinePlaybackPlaceholder is not hidden.

LayoutTests:

This is a Mac only test. The media controls panel should still be visible
even if the media element's height is very short.

  • TestExpectations:
  • media/mac/controls-panel-not-clipped-out-expected.html: Added.
  • media/mac/controls-panel-not-clipped-out.html: Added.
  • platform/mac/TestExpectations:
  • platform/mac/media/media-document-audio-repaint-expected.txt:
  • platform/mac/media/video-zoom-controls-expected.txt:

Rebaseline tests.

14:38 Changeset [201354] by ryanhaddad@apple.com
  • 13 edits in trunk/Source

Unreviewed, rolling out r201341.

This change may have caused LayoutTests to crash on Mac and
iOS

Reverted changeset:

"Use lambda capture with initializer instead of StringCapture"
https://bugs.webkit.org/show_bug.cgi?id=158010
http://trac.webkit.org/changeset/201341

14:30 Changeset [201353] by bshafiei@apple.com
  • 2 edits in branches/safari-602.1.32.5-branch/Source/ThirdParty/ANGLE

Merge r201336. rdar://problem/26446679

14:30 Changeset [201352] by bshafiei@apple.com
  • 12 edits in branches/safari-602.1.32.5-branch

Merge r200799. rdar://problem/25931513

14:12 Changeset [201351] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Fix null pointer dereferencing in WebViewImpl::inputContext
https://bugs.webkit.org/show_bug.cgi?id=158026
rdar://problem/25994093

Patch by Alex Christensen <achristensen@webkit.org> on 2016-05-24
Reviewed by Tim Horton.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView inputContext]):
this was null sometimes in WebViewImpl::inputContext.

14:03 Changeset [201350] by adam.bergkvist@ericsson.com
  • 6 edits in trunk

WebRTC: RTCIceCandidate: Make attributes readonly (and update constructor arg)
https://bugs.webkit.org/show_bug.cgi?id=157859

Reviewed by Eric Carlson.

Source/WebCore:

Make the RTCIceCandidate constructor argument mandatory and the attributes
read-only (in accordance with the WebRTC 1.0 specification [1]).

[1] https://w3c.github.io/webrtc-pc/archives/20160513/webrtc.html#rtcicecandidate-interface

Updated existing test.

  • Modules/mediastream/RTCIceCandidate.h:

(WebCore::RTCIceCandidate::setCandidate): Deleted.
(WebCore::RTCIceCandidate::setSdpMid): Deleted.
(WebCore::RTCIceCandidate::setSdpMLineIndex): Deleted.

  • Modules/mediastream/RTCIceCandidate.idl:

LayoutTests:

  • fast/mediastream/RTCIceCandidate-expected.txt:

Small unrelated fix: s/a argument/an argument/ (test was previously broken).

  • fast/mediastream/RTCIceCandidate.html:

Test without constructor arguments and writing to the read-only attributes.

14:02 Changeset [201349] by commit-queue@webkit.org
  • 5 edits
    4 adds in trunk

Elements with backdrop-filter cannot be clipped with clip-path or mask
https://bugs.webkit.org/show_bug.cgi?id=142662
<rdar://problem/20150192>

Patch by Antoine Quint <graouts@apple.com> on 2016-05-24
Reviewed by Dean Jackson.

Source/WebCore:

We used to only apply the mask to the layer contents but did not account
for the fact that a layer backdrop may exist. We now correctly mask the
backdrop layer as well as the layer contents.

Test: css3/filters/backdrop/backdrop-filter-with-clip-path.html

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::updateShape):
Ensure clones of a layer use the same shape path.

(WebCore::GraphicsLayerCA::updateMaskLayer):
If we have a backdrop layer, ensure that we apply a clone of the mask layer applied to
the layer contents.

Source/WebKit2:

Ensure layer clones are set up with the same shape path as their original layer.

  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(WebKit::PlatformCALayerRemote::updateClonedLayerProperties):

LayoutTests:

New test that checks that applying a backdrop-filter and a clip-path on a single
element has the same effect as applying a clip-path on a parent of a child with
a backdrop-filter.

  • css3/filters/backdrop/backdrop-filter-with-clip-path-expected.txt: Added.
  • css3/filters/backdrop/backdrop-filter-with-clip-path.html: Added.
  • platform/ios-simulator/css3/filters/backdrop/backdrop-filter-with-clip-path-expected.html: Added.
  • platform/mac/css3/filters/backdrop/backdrop-filter-with-clip-path-expected.png: Added.
14:01 Changeset [201348] by adam.bergkvist@ericsson.com
  • 3 edits in trunk/LayoutTests

WebRTC: Update failing RTCPeerConnection and RTCRtpSender tests
https://bugs.webkit.org/show_bug.cgi?id=158023

Reviewed by Eric Carlson.

  • fast/mediastream/RTCPeerConnection-add-removeTrack-expected.txt:

Update results with more specific TypeError.

  • fast/mediastream/RTCRtpSender-replaceTrack-expected.txt:

Update test to match Promise rejections introduce in r201080.

13:22 Changeset [201347] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[iOS] Allow clients to override the type of an input field
https://bugs.webkit.org/show_bug.cgi?id=157995

Patch by Chelsea Pugh <cpugh@apple.com> on 2016-05-24
Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/_WKFormInputSession.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKFormInputSession textContentType]): Getter for textContentType.
(-[WKFormInputSession setTextContentType:]): Set the textContentType and reload
input views.
(contentTypeFromFieldName): Factor out switch statement to get text content type
from autofill field name into its own function.
(-[WKContentView textInputTraits]): If the client has set a text content type,
set the traits' content type to that. Otherwise, set the text content type if
there is one based on the assisted node information's autofill field name. If
neither the form input session nor the assisted node info yields a text content
type, set the text content type to nil, its default value.

13:02 Changeset [201346] by zalan@apple.com
  • 9 edits in trunk

fast/table/neighboring-cells-when-collapsed-border-changes.html is flaky.
https://bugs.webkit.org/show_bug.cgi?id=158009

Reviewed by David Hyatt.

RenderTable::invalidateCollapsedBorders() early returns on m_collapsedEmptyBorderIsPresent
which prevents us from marking neighboring cells dirty when style changes.
Decouple the "invalidate the collapsed borders" and the "mark the neighboring cells dirty" logic.

Source/WebCore:

Covered by existing tests. (and now we agree with FF on cached-change-cell-border-width.html)

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::invalidateCollapsedBorders):
(WebCore::markCellDirtyWhenCollapsedBorderChanges): Deleted.

  • rendering/RenderTableCell.cpp:

(WebCore::markCellDirtyWhenCollapsedBorderChanges):
(WebCore::RenderTableCell::styleDidChange):

LayoutTests:

  • fast/table/border-collapsing/cached-change-cell-border-width-expected.txt: Progression. FF agrees.
  • fast/table/neighboring-cells-when-collapsed-border-changes.html:
  • platform/ios-simulator-wk1/fast/table/border-collapsing/cached-change-cell-border-width-expected.txt:
  • platform/mac-wk1/TestExpectations:
  • platform/mac/fast/table/border-collapsing/cached-change-cell-border-width-expected.txt:
13:01 Changeset [201345] by achristensen@apple.com
  • 3 edits in trunk/Source/WebCore

Fix use-after-free after r201318
https://bugs.webkit.org/show_bug.cgi?id=158037
rdar://problem/26446729

Reviewed by Brady Eidson.

This fixes a crash when running fast/dom/navigation-with-sideeffects.html with GuardMalloc.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::setJSTestObjPutForwardsNullableAttribute):
Changing RefPtr<${type}> to auto caused the type to sometimes be a raw pointer, which does not keep the object alive.
In the case of JSDocument.cpp, forwardedImpl was what Document::location returned, which is a Location* and not a RefPtr<Location>.

12:56 Changeset [201344] by ryanhaddad@apple.com
  • 2 edits in trunk/LayoutTests

Marking mathml/wbr-in-mroot-crash.html as flaky on ios-simulator-wk2
https://bugs.webkit.org/show_bug.cgi?id=157990

Unreviewed test gardening.

  • platform/ios-simulator-wk2/TestExpectations:
12:48 Changeset [201343] by ryanhaddad@apple.com
  • 1 edit
    4 deletes in trunk/LayoutTests

Unreviewed, rolling out r201323.

One of the LayoutTests added with this change fails on all
platforms. Rolling out until ResourceTiming flakiness fix is
landed

Reverted changeset:

"Add a few initiator tests to resource timing."
https://bugs.webkit.org/show_bug.cgi?id=157986
http://trac.webkit.org/changeset/201323

12:04 Changeset [201342] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviwed, add a comment to describe the test's failure mode. Suggested by mlam.

  • tests/stress/override-map-constructor.js:

(Map):

12:03 Changeset [201341] by cdumez@apple.com
  • 13 edits in trunk/Source

Use lambda capture with initializer instead of StringCapture
https://bugs.webkit.org/show_bug.cgi?id=158010

Reviewed by Antti Koivisto.

Source/WebCore:

Use lambda capture with initializer instead of StringCapture now that
we support C++14.

  • fileapi/AsyncFileStream.cpp:

(WebCore::AsyncFileStream::getSize):
(WebCore::AsyncFileStream::openForRead):
(WebCore::AsyncFileStream::openForWrite):

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::installContentFilterUnblockHandler):

  • loader/WorkerThreadableLoader.cpp:

(WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):

  • platform/ios/WebVideoFullscreenControllerAVKit.mm:

(WebVideoFullscreenControllerContext::setExternalPlayback):

  • platform/network/curl/CurlDownload.cpp:

(WebCore::CurlDownload::didReceiveHeader):

  • workers/WorkerMessagingProxy.cpp:

(WebCore::WorkerMessagingProxy::postExceptionToWorkerObject):
(WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):

Source/WebKit2:

Use lambda capture with initializer instead of StringCapture now that
we support C++14.

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::Cache::deleteDumpFile):

  • NetworkProcess/cache/NetworkCacheStatistics.cpp:

(WebKit::NetworkCache::Statistics::initialize):
(WebKit::NetworkCache::Statistics::shrinkIfNeeded):

  • NetworkProcess/cache/NetworkCacheStorage.cpp:

(WebKit::NetworkCache::Storage::updateFileModificationTime):
(WebKit::NetworkCache::Storage::clear):

  • UIProcess/API/APIUserContentExtensionStore.cpp:

(API::UserContentExtensionStore::lookupContentExtension):
(API::UserContentExtensionStore::compileContentExtension):
(API::UserContentExtensionStore::removeContentExtension):

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::fetchData):
(WebKit::WebsiteDataStore::removeData):

12:01 Changeset [201340] by fpizlo@apple.com
  • 3 edits
    1 add in trunk/Source/JavaScriptCore

Map should not be in JSGlobalObject's static hashtable because it's initialized eagerly via FOR_EACH_SIMPLE_BUILTIN_TYPE_WITH_CONSTRUCTOR
https://bugs.webkit.org/show_bug.cgi?id=158031
rdar://problem/26353661

Reviewed by Geoffrey Garen.

We were listing Map as being a lazy class structure. It's not. m_mapStructure is a WriteBarrier<>
not a LazyClassStructure<> and there is nothing lazy about it.

  • runtime/JSGlobalObject.cpp: The fix is to remove Map here.
  • runtime/Lookup.cpp: Add some dumping on the assert path.

(JSC::setUpStaticFunctionSlot):

  • tests/stress/override-map-constructor.js: Added. This test used to crash.

(Map):

12:00 Changeset [201339] by keith_miller@apple.com
  • 3 edits
    82 adds in trunk

We should have JSBench in PerformanceTests
https://bugs.webkit.org/show_bug.cgi?id=157952

Rubber-stamped by Saam Barati.

PerformanceTests:

There are some slight changes to the layout of the test directory
to make it work nicely with run-jsc-benchmarks. Before JSBench
had each of the browser specific sub-tests in a sub-directory.
These have been flattened e.g. amazon/safari/ has become
amazon-safari/.

  • JSBench/amazon-chrome-win/urem.html: Added.
  • JSBench/amazon-chrome-win/urem.js: Added.
  • JSBench/amazon-chrome/urem.html: Added.
  • JSBench/amazon-chrome/urem.js: Added.
  • JSBench/amazon-firefox-win/urm.html: Added.
  • JSBench/amazon-firefox-win/urm.js: Added.
  • JSBench/amazon-firefox/urm.html: Added.
  • JSBench/amazon-firefox/urm.js: Added.
  • JSBench/amazon-safari/urem.html: Added.
  • JSBench/amazon-safari/urem.js: Added.
  • JSBench/browsercheck.js: Added.
  • JSBench/facebook-chrome-win/urem.html: Added.
  • JSBench/facebook-chrome-win/urem.js: Added.
  • JSBench/facebook-chrome/urem.html: Added.
  • JSBench/facebook-chrome/urem.js: Added.
  • JSBench/facebook-firefox-win/urem.html: Added.
  • JSBench/facebook-firefox-win/urem.js: Added.
  • JSBench/facebook-firefox/urem.html: Added.
  • JSBench/facebook-firefox/urem.js: Added.
  • JSBench/facebook-safari/urem.html: Added.
  • JSBench/facebook-safari/urem.js: Added.
  • JSBench/google-chrome-win/urem.html: Added.
  • JSBench/google-chrome-win/urem.js: Added.
  • JSBench/google-chrome/urem.html: Added.
  • JSBench/google-chrome/urem.js: Added.
  • JSBench/google-firefox-win/urem.html: Added.
  • JSBench/google-firefox-win/urem.js: Added.
  • JSBench/google-firefox/uem.html: Added.
  • JSBench/google-firefox/uem.js: Added.
  • JSBench/google-safari/urem.html: Added.
  • JSBench/google-safari/urem.js: Added.
  • JSBench/harness.html: Added.
  • JSBench/harness.js: Added.
  • JSBench/harness.py: Added.
  • JSBench/index.html: Added.
  • JSBench/reload.html: Added.
  • JSBench/twitter-chrome-win/rem.html: Added.
  • JSBench/twitter-chrome-win/rem.js: Added.
  • JSBench/twitter-chrome/urem.html: Added.
  • JSBench/twitter-chrome/urem.js: Added.
  • JSBench/twitter-firefox-win/urem.html: Added.
  • JSBench/twitter-firefox-win/urem.js: Added.
  • JSBench/twitter-firefox/urem.html: Added.
  • JSBench/twitter-firefox/urem.js: Added.
  • JSBench/twitter-safari/urem.html: Added.
  • JSBench/twitter-safari/urem.js: Added.
  • JSBench/yahoo-chrome-win/urem.html: Added.
  • JSBench/yahoo-chrome-win/urem.js: Added.
  • JSBench/yahoo-chrome/urem.html: Added.
  • JSBench/yahoo-chrome/urem.js: Added.
  • JSBench/yahoo-firefox-win/urem.html: Added.
  • JSBench/yahoo-firefox-win/urem.js: Added.
  • JSBench/yahoo-firefox/urem.html: Added.
  • JSBench/yahoo-firefox/urem.js: Added.
  • JSBench/yahoo-safari/urem.html: Added.
  • JSBench/yahoo-safari/urem.js: Added.

Tools:

This changes the runner to use the layout of the newest version of JSBench.

  • Scripts/run-jsc-benchmarks:
11:45 Changeset [201338] by achristensen@apple.com
  • 2 edits in trunk/LayoutTests

Unskip passing test after r201336
https://bugs.webkit.org/show_bug.cgi?id=156812

  • platform/ios-simulator/TestExpectations:

compositing/webgl/webgl-reflection.html passes now.

11:04 Changeset [201337] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

Another build fix after r201307.

  • public/v3/pages/page-router.js:

(PageRouter.prototype._deserializeHashQueryValue):
(PageRouter.prototype._countOccurrences): Moved from _deserializeHashQueryValue.

10:36 Changeset [201336] by achristensen@apple.com
  • 2 edits in trunk/Source/ThirdParty/ANGLE

Fix iOS WebGL after r199738
https://bugs.webkit.org/show_bug.cgi?id=158024
rdar://problem/26446679

Reviewed by Myles Maxfield.

  • ANGLE.xcodeproj/project.pbxproj:

iOS needs the ESSL translator.

10:08 Changeset [201335] by fpizlo@apple.com
  • 9 edits
    3 adds in trunk

LLInt64 should have typed array fast paths for get_by_val
https://bugs.webkit.org/show_bug.cgi?id=157931

Reviewed by Keith Miller.

Source/JavaScriptCore:

I think that the LLInt should be able to access typed arrays more quickly than it does now.
Ideally we would have fast paths for every major typed array operation and we would use
inline cache optimizations. I don't want to do this all in one go, so my plan is to
incrementally add support for this as time allows.

This change just adds the easy typed array fast paths for get_by_val in the 64-bit version
of LLInt.

Another bug, https://bugs.webkit.org/show_bug.cgi?id=157922, tracks the overall task of
adding all typed array fast paths to both versions of the LLInt.

This is a 30% speed-up on typed array benchmarks in LLInt. This is not a speed-up when the
JITs are enabled.

  • llint/LLIntData.cpp:

(JSC::LLInt::Data::performAssertions):

  • llint/LLIntOffsetsExtractor.cpp:
  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter64.asm:
  • offlineasm/backends.rb:
  • runtime/JSArrayBufferView.h:
  • runtime/JSType.h:

LayoutTests:

  • js/regress/get_by_val-Int32Array-expected.txt: Added.
  • js/regress/get_by_val-Int32Array.html: Added.
  • js/regress/script-tests/get_by_val-Int32Array.js: Added.
09:59 Changeset [201334] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

In accelerated drawing mode, ImageBuffer::putByteArray() should copy the bytes directly to the IOSurface backing store
https://bugs.webkit.org/show_bug.cgi?id=157966

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2016-05-24
Reviewed by Dean Jackson.

Roll out the the change of r106836 in ImageBuffer::putByteArray(). r106836
was using CG to draw the image data as a native image in the accelerated
drawing mode just to force invalidating the IOSurface cached image. Instead
of doing that, we can use a light-weight fix, for now, to force recreating
the IOSurface image if it is requested through CGIOSurfaceContextCreateImage().

  • platform/graphics/cg/ImageBufferCG.cpp:

(WebCore::ImageBuffer::putByteArray):

09:50 Changeset [201333] by cdumez@apple.com
  • 47 edits in trunk

Use auto for some of our lambda function parameters
https://bugs.webkit.org/show_bug.cgi?id=158001

Reviewed by Darin Adler.

Use auto for some of our lambda function parameters now that we build with c++14.

Source/WebCore:

  • Modules/mediasource/MediaSource.cpp:

(WebCore::MediaSource::buffered):
(WebCore::MediaSource::monitorSourceBuffers):
(WebCore::MediaSource::endOfStream):

  • Modules/mediasource/SampleMap.cpp:

(WebCore::PresentationOrderSampleMap::findSamplesWithinPresentationRangeFromEnd):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::ariaSelectedRows):

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::SerializedScriptValue::writeBlobsToDiskForIndexedDB):

  • css/CSSValueList.cpp:

(WebCore::CSSValueList::removeAll):

  • css/MediaList.cpp:

(WebCore::MediaQuerySet::remove):

  • css/MediaQuery.cpp:

(WebCore::MediaQuery::MediaQuery):

  • css/MediaQueryMatcher.cpp:

(WebCore::MediaQueryMatcher::removeListener):

  • dom/Document.cpp:

(WebCore::Document::validateAutoSizingNodes):

  • dom/Element.cpp:

(WebCore::Element::detachAttrNodeFromElementWithValue):

  • dom/MutationObserver.cpp:

(WebCore::MutationObserver::deliverAllMutations):

  • dom/Node.cpp:

(WebCore::Node::unregisterMutationObserver):

  • html/LinkIconCollector.cpp:
  • inspector/InspectorIndexedDBAgent.cpp:

(WebCore::InspectorIndexedDBAgent::requestDatabaseNames):

  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::loadDataURL):

  • page/CaptionUserPreferences.cpp:

(WebCore::CaptionUserPreferences::sortedTrackListForMenu):

  • page/CaptionUserPreferencesMediaAF.cpp:

(WebCore::CaptionUserPreferencesMediaAF::sortedTrackListForMenu):

  • page/animation/AnimationController.cpp:

(WebCore::AnimationControllerPrivate::clear):

  • platform/graphics/FontCascade.cpp:

(WebCore::pruneUnreferencedEntriesFromFontCascadeCache):

  • platform/graphics/FontCascadeFonts.cpp:

(WebCore::FontCascadeFonts::pruneSystemFallbacks):

  • platform/graphics/PathUtilities.cpp:

(WebCore::addIntersectionPoints):

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

(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::updateTracks):

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::TextureMapperGLData::SharedGLData::~SharedGLData):

  • platform/mac/HIDGamepad.cpp:

(WebCore::HIDGamepad::initElements):

  • svg/SVGToOTFFontConversion.cpp:

(WebCore::SVGToOTFFontConverter::appendLigatureSubtable):
(WebCore::SVGToOTFFontConverter::finishAppendingKERNSubtable):

Source/WebKit2:

  • DatabaseProcess/IndexedDB/WebIDBConnectionToClient.cpp:

(WebKit::WebIDBConnectionToClient::didGetRecord):

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::writeBlobsToTemporaryFiles):

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::fetchDiskCacheEntries):
(WebKit::NetworkProcess::fetchWebsiteData):
(WebKit::clearDiskCacheEntries):

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::retrieveCacheEntry):
(WebKit::NetworkResourceLoader::tryStoreAsCacheEntry):

  • NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:

(WebKit::NetworkCache::SpeculativeLoad::didFinishLoading):

  • NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:

(WebKit::NetworkCache::SpeculativeLoadManager::registerLoad):
(WebKit::NetworkCache::SpeculativeLoadManager::retrieveEntryFromStorage):
(WebKit::NetworkCache::SpeculativeLoadManager::revalidateEntry):
(WebKit::NetworkCache::SpeculativeLoadManager::preloadEntry):
(WebKit::NetworkCache::SpeculativeLoadManager::retrieveSubresourcesEntry):

  • NetworkProcess/cache/NetworkCacheStorage.cpp:

(WebKit::NetworkCache::Storage::removeFromPendingWriteOperations):

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:_schemeUpgraded:completionHandler:]):

  • Shared/API/Cocoa/_WKRemoteObjectInterface.mm:

(-[_WKRemoteObjectInterface debugDescription]):

  • UIProcess/API/C/WKApplicationCacheManager.cpp:

(WKApplicationCacheManagerGetApplicationCacheOrigins):

  • UIProcess/API/C/WKKeyValueStorageManager.cpp:

(WKKeyValueStorageManagerGetKeyValueStorageOrigins):
(WKKeyValueStorageManagerGetStorageDetailsByOrigin):

  • UIProcess/API/C/WKResourceCacheManager.cpp:

(WKResourceCacheManagerGetCacheOrigins):

  • UIProcess/API/Cocoa/WKWebsiteDataStore.mm:

(-[WKWebsiteDataStore _fetchDataRecordsOfTypes:withOptions:completionHandler:]):

  • UIProcess/UserContent/WebUserContentControllerProxy.cpp:

(WebKit::WebUserContentControllerProxy::removeAllUserScripts):
(WebKit::WebUserContentControllerProxy::removeAllUserStyleSheets):
(WebKit::WebUserContentControllerProxy::removeAllUserMessageHandlers):

  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(WebKit::PlatformCALayerRemote::removeAnimationForKey):

Source/WTF:

  • wtf/BubbleSort.h:

(WTF::bubbleSort):

Tools:

  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::willDestroyPage):

09:46 Changeset [201332] by antti@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION (r196629): Safari can get into a state where switching Reader theme doesn't apply to the webpage
https://bugs.webkit.org/show_bug.cgi?id=158018
<rdar://problem/24732776>

Reviewed by Darin Adler.

When a tab goes to background we clear the style resolver. It is recreated lazily when the tab is again active.
However style invalidation code tests if the style resolver exists and skips the invalidation if it doesn't.
With sufficiently simple document (like in Reader) we may never create one for other reasons and so style
invalidation doesn't work.

No test, don't know how to make one.

  • dom/Element.cpp:

(WebCore::Element::needsStyleInvalidation):

Remove styleResolverIfExists() check and do the invalidation normally.
Instead check for forced style recalc. If there is one pending we don't need to bother with invalidation.

07:33 Changeset [201331] by utatane.tea@gmail.com
  • 23 edits in trunk/Source/WebCore

Unreviewed, updating binding test results
https://bugs.webkit.org/show_bug.cgi?id=157080

  • bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:

(WebCore::jsTestActiveDOMObjectExcitingAttr):
(WebCore::jsTestActiveDOMObjectConstructor):

  • bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:

(WebCore::jsTestClassWithJSBuiltinConstructorConstructor):

  • bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:

(WebCore::jsTestCustomConstructorWithNoInterfaceObjectConstructor):

  • bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:

(WebCore::jsTestCustomNamedGetterConstructor):

  • bindings/scripts/test/JS/JSTestEventConstructor.cpp:

(WebCore::jsTestEventConstructorAttr1):
(WebCore::jsTestEventConstructorAttr2):
(WebCore::jsTestEventConstructorAttr3):
(WebCore::jsTestEventConstructorConstructor):

  • bindings/scripts/test/JS/JSTestEventTarget.cpp:

(WebCore::jsTestEventTargetConstructor):

  • bindings/scripts/test/JS/JSTestException.cpp:

(WebCore::jsTestExceptionName):
(WebCore::jsTestExceptionConstructor):

  • bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:

(WebCore::jsTestGenerateIsReachableConstructor):

  • bindings/scripts/test/JS/JSTestGlobalObject.cpp:

(WebCore::jsTestGlobalObjectRegularAttribute):
(WebCore::jsTestGlobalObjectEnabledAtRuntimeAttribute):
(WebCore::jsTestGlobalObjectConstructor):

  • bindings/scripts/test/JS/JSTestInterface.cpp:

(WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttr):
(WebCore::jsTestInterfaceConstructorImplementsStaticAttr):
(WebCore::jsTestInterfaceImplementsStr1):
(WebCore::jsTestInterfaceImplementsStr2):
(WebCore::jsTestInterfaceImplementsStr3):
(WebCore::jsTestInterfaceImplementsNode):
(WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr):
(WebCore::jsTestInterfaceConstructorSupplementalStaticAttr):
(WebCore::jsTestInterfaceSupplementalStr1):
(WebCore::jsTestInterfaceSupplementalStr2):
(WebCore::jsTestInterfaceSupplementalStr3):
(WebCore::jsTestInterfaceSupplementalNode):
(WebCore::jsTestInterfaceConstructor):

  • bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:

(WebCore::jsTestJSBuiltinConstructorTestAttributeCustom):
(WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustom):
(WebCore::jsTestJSBuiltinConstructorConstructor):

  • bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:

(WebCore::jsTestMediaQueryListListenerConstructor):

  • bindings/scripts/test/JS/JSTestNamedConstructor.cpp:

(WebCore::jsTestNamedConstructorConstructor):

  • bindings/scripts/test/JS/JSTestNode.cpp:

(WebCore::jsTestNodeName):
(WebCore::jsTestNodeConstructor):

  • bindings/scripts/test/JS/JSTestNondeterministic.cpp:

(WebCore::jsTestNondeterministicNondeterministicReadonlyAttr):
(WebCore::jsTestNondeterministicNondeterministicWriteableAttr):
(WebCore::jsTestNondeterministicNondeterministicExceptionAttr):
(WebCore::jsTestNondeterministicNondeterministicGetterExceptionAttr):
(WebCore::jsTestNondeterministicNondeterministicSetterExceptionAttr):
(WebCore::jsTestNondeterministicConstructor):

  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::jsTestObjReadOnlyLongAttr):
(WebCore::jsTestObjReadOnlyStringAttr):
(WebCore::jsTestObjReadOnlyTestObjAttr):
(WebCore::jsTestObjConstructorStaticReadOnlyLongAttr):
(WebCore::jsTestObjConstructorStaticStringAttr):
(WebCore::jsTestObjConstructorTestSubObj):
(WebCore::jsTestObjTestSubObjEnabledBySettingConstructor):
(WebCore::jsTestObjEnumAttr):
(WebCore::jsTestObjByteAttr):
(WebCore::jsTestObjOctetAttr):
(WebCore::jsTestObjShortAttr):
(WebCore::jsTestObjClampedShortAttr):
(WebCore::jsTestObjEnforceRangeShortAttr):
(WebCore::jsTestObjUnsignedShortAttr):
(WebCore::jsTestObjLongAttr):
(WebCore::jsTestObjLongLongAttr):
(WebCore::jsTestObjUnsignedLongLongAttr):
(WebCore::jsTestObjStringAttr):
(WebCore::jsTestObjTestObjAttr):
(WebCore::jsTestObjTestNullableObjAttr):
(WebCore::jsTestObjLenientTestObjAttr):
(WebCore::jsTestObjUnforgeableAttr):
(WebCore::jsTestObjStringAttrTreatingNullAsEmptyString):
(WebCore::jsTestObjXMLObjAttr):
(WebCore::jsTestObjCreate):
(WebCore::jsTestObjReflectedStringAttr):
(WebCore::jsTestObjReflectedIntegralAttr):
(WebCore::jsTestObjReflectedUnsignedIntegralAttr):
(WebCore::jsTestObjReflectedBooleanAttr):
(WebCore::jsTestObjReflectedURLAttr):
(WebCore::jsTestObjReflectedCustomIntegralAttr):
(WebCore::jsTestObjReflectedCustomBooleanAttr):
(WebCore::jsTestObjReflectedCustomURLAttr):
(WebCore::jsTestObjEnabledAtRuntimeAttribute):
(WebCore::jsTestObjTypedArrayAttr):
(WebCore::jsTestObjAttrWithGetterException):
(WebCore::jsTestObjAttrWithGetterExceptionWithMessage):
(WebCore::jsTestObjAttrWithSetterException):
(WebCore::jsTestObjAttrWithSetterExceptionWithMessage):
(WebCore::jsTestObjStringAttrWithGetterException):
(WebCore::jsTestObjStringAttrWithSetterException):
(WebCore::jsTestObjStrictTypeCheckingAttribute):
(WebCore::jsTestObjCustomAttr):
(WebCore::jsTestObjOnfoo):
(WebCore::jsTestObjOnwebkitfoo):
(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::jsTestObjConditionalAttr4Constructor):
(WebCore::jsTestObjConditionalAttr5Constructor):
(WebCore::jsTestObjConditionalAttr6Constructor):
(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::jsTestObjNullableStringSettableAttribute):
(WebCore::jsTestObjNullableStringValue):
(WebCore::jsTestObjAttribute):
(WebCore::jsTestObjAttributeWithReservedEnumType):
(WebCore::jsTestObjPutForwardsAttribute):
(WebCore::jsTestObjPutForwardsNullableAttribute):
(WebCore::jsTestObjConstructor):

  • bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:

(WebCore::jsTestOverloadedConstructorsConstructor):

  • bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:

(WebCore::jsTestOverrideBuiltinsConstructor):

  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:

(WebCore::jsTestSerializedScriptValueInterfaceValue):
(WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue):
(WebCore::jsTestSerializedScriptValueInterfaceCachedValue):
(WebCore::jsTestSerializedScriptValueInterfacePorts):
(WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue):
(WebCore::jsTestSerializedScriptValueInterfaceConstructor):

  • bindings/scripts/test/JS/JSTestTypedefs.cpp:

(WebCore::jsTestTypedefsUnsignedLongLongAttr):
(WebCore::jsTestTypedefsImmutableSerializedScriptValue):
(WebCore::jsTestTypedefsConstructorTestSubObj):
(WebCore::jsTestTypedefsAttrWithGetterException):
(WebCore::jsTestTypedefsAttrWithSetterException):
(WebCore::jsTestTypedefsStringAttrWithGetterException):
(WebCore::jsTestTypedefsStringAttrWithSetterException):
(WebCore::jsTestTypedefsConstructor):

  • bindings/scripts/test/JS/JSattribute.cpp:

(WebCore::jsattributeReadonly):
(WebCore::jsattributeConstructor):

  • bindings/scripts/test/JS/JSreadonly.cpp:

(WebCore::jsreadonlyConstructor):

06:12 Changeset [201330] by carlosgc@webkit.org
  • 7 edits in trunk/LayoutTests

Unreviewed GTK+ gardening. Rebaseline several tests after r200116.

We are now correctly positioning RTL scrollbars.

  • platform/gtk/fast/block/float/026-expected.png:
  • platform/gtk/fast/block/float/026-expected.txt:
  • platform/gtk/fast/block/float/028-expected.png:
  • platform/gtk/fast/block/float/028-expected.txt:
  • platform/gtk/fast/overflow/unreachable-overflow-rtl-bug-expected.png:
  • platform/gtk/fast/overflow/unreachable-overflow-rtl-bug-expected.txt:
05:58 Changeset [201329] by carlosgc@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed GTK+ gardening. Fix wrong expectations of fast/harness/sample-fail-mismatch-reftest.html.

The test is flaky, but in this case Pass means it failed and ImageOnlyFailure that it passed.

  • platform/gtk/TestExpectations:
05:04 Changeset [201328] by utatane.tea@gmail.com
  • 20 edits
    1 add in trunk/Source/JavaScriptCore

ThisTDZMode is no longer needed
https://bugs.webkit.org/show_bug.cgi?id=157209

Reviewed by Saam Barati.

ThisTDZMode is no longer needed because we have ConstructorKind
and DerivedContextType. The value of ThisTDZMode is strictly less
expressive than the combination of those two values. We were
using those values anyways, and this patch just makes it official
by removing ThisTDZMode.

This patch also cleans up caching keys. We extract SourceCodeFlags
from SourceCodeKey and use it in EvalCodeCache. It correctly
contains needed cache attributes: EvalContextType, DerivedContextType,
etc. Here, we still use specialized keys for EvalCodeCache instead
of SourceCodeKey for performance; it does not include name String and
does not allocate SourceCode.

  • bytecode/EvalCodeCache.h:

(JSC::EvalCodeCache::CacheKey::CacheKey):
(JSC::EvalCodeCache::CacheKey::operator==):
(JSC::EvalCodeCache::CacheKey::Hash::equal):
(JSC::EvalCodeCache::tryGet):
(JSC::EvalCodeCache::getSlow):

  • bytecompiler/NodesCodegen.cpp:

(JSC::ThisNode::emitBytecode): Deleted.

  • debugger/DebuggerCallFrame.cpp:

(JSC::DebuggerCallFrame::evaluateWithScopeExtension):

  • interpreter/Interpreter.cpp:

(JSC::eval):

  • parser/ASTBuilder.h:

(JSC::ASTBuilder::createThisExpr):

  • parser/NodeConstructors.h:

(JSC::ThisNode::ThisNode):

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

(JSC::Parser<LexerType>::Parser):
(JSC::Parser<LexerType>::parsePrimaryExpression):

  • parser/Parser.h:

(JSC::parse):

  • parser/ParserModes.h:
  • parser/SourceCodeKey.h:

(JSC::SourceCodeFlags::SourceCodeFlags):
(JSC::SourceCodeFlags::operator==):
(JSC::SourceCodeKey::SourceCodeKey):
(JSC::SourceCodeKey::Hash::hash):
(JSC::SourceCodeKey::Hash::equal):
(JSC::SourceCodeKey::HashTraits::isEmptyValue):
(JSC::SourceCodeKeyHash::hash): Deleted.
(JSC::SourceCodeKeyHash::equal): Deleted.
(JSC::SourceCodeKeyHashTraits::isEmptyValue): Deleted.

  • parser/SyntaxChecker.h:

(JSC::SyntaxChecker::createThisExpr):

  • runtime/CodeCache.cpp:

(JSC::CodeCache::getGlobalCodeBlock):
(JSC::CodeCache::getProgramCodeBlock):
(JSC::CodeCache::getEvalCodeBlock):
(JSC::CodeCache::getModuleProgramCodeBlock):
(JSC::CodeCache::getFunctionExecutableFromGlobalCode):

  • runtime/CodeCache.h:
  • runtime/Executable.cpp:

(JSC::EvalExecutable::create):

  • runtime/Executable.h:
  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::createEvalCodeBlock):

  • runtime/JSGlobalObject.h:
  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::globalFuncEval):

  • tests/stress/code-cache-incorrect-caching.js: Added.

(shouldBe):
(hello):
(catch):
(shouldBe.test.hello):
(globalEval.ok):
(global.hello.hello):

02:32 WebKitGTK/2.12.x edited by carlosgc@webkit.org
(diff)
01:56 Changeset [201327] by carlosgc@webkit.org
  • 1 copy in releases/WebKitGTK/webkit-2.12.3

WebKitGTK+ 2.12.3

01:55 Changeset [201326] by carlosgc@webkit.org
  • 4 edits in releases/WebKitGTK/webkit-2.12

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.12.3 release.

.:

  • Source/cmake/OptionsGTK.cmake: Bump version numbers.

Source/WebKit2:

  • gtk/NEWS: Add release notes for 2.12.3.
01:55 Changeset [201325] by rego@igalia.com
  • 18 edits in trunk

[css-grid] Fix behavior of flexible track breadths
https://bugs.webkit.org/show_bug.cgi?id=157834

Reviewed by Sergio Villar Senin.

This patch is fixing 2 issues that are interrelated:
Source/WebCore:

1) Flex sizes are invalid as min track sizing function.

The syntax has been recently updated on the spec:

<track-size> =

<track-breadth> |
minmax( <inflexible-breadth> , <track-breadth> )

2) Flex sizes outside minmax() behave as auto minimum.

Flex sizes outside minmax() were previously behaving like
minimum and maximum (e.g. 1fr => minmax(1fr, 1fr)).
However the spec changed and now this would be invalid,
so they should behave like auto minimum (e.g. minmax(auto, 1fr)).

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseGridTrackSize): Call parseGridBreadth()
for min sizing function using "InflexibleSizeOnly" restriction
when needed.
(WebCore::CSSParser::parseGridBreadth): Add check for
"InflexibleSizeOnly" resctriction.

  • css/CSSParser.h: Add new type of restriction "InflexibleSizeOnly".
  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::gridTrackSize): Add new condition to make
|minTrackBreadth| auto if it was a flex size.

LayoutTests:

1) Flex sizes are invalid as min track sizing function.
2) Flex sizes outside minmax() behave as auto minimum.

The patch includes new test cases checking specifically these 2 issues.
In addition several tests results have been updated to reflect
the new behavior. Also, some cases that are now invalid and
were not testing anything new have been removed.

  • fast/css-grid-layout/flex-and-content-sized-resolution-columns-expected.txt:
  • fast/css-grid-layout/flex-and-content-sized-resolution-columns.html:
  • fast/css-grid-layout/flex-content-resolution-columns-expected.txt:
  • fast/css-grid-layout/flex-content-resolution-columns.html:
  • fast/css-grid-layout/flex-content-resolution-rows-expected.txt:
  • fast/css-grid-layout/flex-content-resolution-rows.html:
  • fast/css-grid-layout/grid-columns-rows-get-set-expected.txt:
  • fast/css-grid-layout/grid-gutters-and-flex-content-expected.txt:
  • fast/css-grid-layout/grid-gutters-and-flex-content.html:
  • fast/css-grid-layout/grid-preferred-logical-widths.html:
  • fast/css-grid-layout/non-grid-columns-rows-get-set-expected.txt:
  • fast/css-grid-layout/resources/grid-columns-rows-get-set.js:
  • fast/css-grid-layout/resources/non-grid-columns-rows-get-set.js:
00:35 Changeset [201324] by youenn.fablet@crf.canon.fr
  • 22 edits
    1 move
    4 adds in trunk

[Fetch API] Implement Fetch redirect mode
https://bugs.webkit.org/show_bug.cgi?id=157837

Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

  • web-platform-tests/fetch/api/redirect/redirect-location-expected.txt:
  • web-platform-tests/fetch/api/redirect/redirect-location.js:
  • web-platform-tests/fetch/api/redirect/redirect-method.js:
  • web-platform-tests/fetch/api/redirect/redirect-method-expected.txt:
  • web-platform-tests/fetch/api/redirect/redirect-mode-expected.txt:

Source/WebCore:

Implementing step 5 of https://fetch.spec.whatwg.org/#http-fetch.
Making ResourceLoaderOptions include FetchOptions.
This allows SubresourceLoader to follow or not redirections based on that option.
CachedResource is made responsible to handle the type of the response (opaqueredirect, opaque, cors, basic...).
If redirection is not to be followed, either an error is returned or an empty response is returned.

Moved Response type and redirected flag from FetchResponse to ResourceResponse.
This allows CachedResource to easily communicate that information to FetchResponse.

Made some clean-up refactoring in ThreadableLoaderOptions.

http/tests/fetch/caching-with-different-options.html ensures that
caching at CachedResourceLoader will not have bad effects on fetch.
Covered by updated and rebased tests.

  • Modules/fetch/FetchLoader.cpp:

(WebCore::FetchLoader::start):

  • Modules/fetch/FetchResponse.cpp:

(WebCore::FetchResponse::error):
(WebCore::FetchResponse::redirect):
(WebCore::FetchResponse::FetchResponse):
(WebCore::FetchResponse::clone):
(WebCore::FetchResponse::startFetching):

  • Modules/fetch/FetchResponse.h:
  • WebCore.xcodeproj/project.pbxproj:
  • loader/FetchOptions.h: Moved from Source/WebCore/Modules/fetch/FetchOptions.h.
  • loader/ResourceLoaderOptions.h:

(WebCore::ResourceLoaderOptions::fetchOptions):
(WebCore::ResourceLoaderOptions::setFetchOptions):

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::willSendRequestInternal):

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

(WebCore::CachedResource::setResponse):

  • loader/cache/CachedResource.h:

(WebCore::CachedResource::setOpaqueRedirect):

  • platform/network/ResourceResponseBase.cpp:

(WebCore::ResourceResponseBase::adopt):
(WebCore::ResourceResponseBase::copyData):

  • platform/network/ResourceResponseBase.h:

(WebCore::ResourceResponseBase::type):
(WebCore::ResourceResponseBase::setType):
(WebCore::ResourceResponseBase::encode):
(WebCore::ResourceResponseBase::decode):

LayoutTests:

  • http/tests/fetch/caching-with-different-options-expected.txt: Added.
  • http/tests/fetch/caching-with-different-options.html: Added.
  • http/tests/fetch/resources/redirect-with-cache.php: Added.
  • platform/gtk/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-location-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-method-expected.txt:

05/23/16:

23:29 Changeset [201323] by yoav@yoav.ws
  • 1 edit
    4 adds in trunk/LayoutTests

Add a few initiator tests to resource timing.
https://bugs.webkit.org/show_bug.cgi?id=157986

Reviewed by Darin Adler.

Adds tests that make sure that when a resource is requested multiple times by different
elements, its initiator type remain the first one that triggered the fetch.

  • http/tests/performance/performance-resource-timing-initiator-css-expected.txt: Added.
  • http/tests/performance/performance-resource-timing-initiator-css.html: Added.
  • http/tests/performance/performance-resource-timing-initiator-no-override-expected.txt: Added.
  • http/tests/performance/performance-resource-timing-initiator-no-override.html: Added.
23:24 Changeset [201322] by utatane.tea@gmail.com
  • 30 edits
    1 add in trunk/Source

Assertion failure for Reflect.get with Proxy and primitive value as explicit receiver
https://bugs.webkit.org/show_bug.cgi?id=157080

Reviewed by Saam Barati.

Source/JavaScriptCore:

In custom accessor getter, the argument "thisValue" can be altered by using Reflect.get.
In this patch, we add a new parameter, "slotBase". This represents the base value offering
this custom getter. And use it in ProxyObject's performGet custom accessor getter.

  • API/JSCallbackObject.h:
  • API/JSCallbackObjectFunctions.h:

(JSC::JSCallbackObject<Parent>::staticFunctionGetter):
(JSC::JSCallbackObject<Parent>::callbackGetter):

  • bytecode/PolymorphicAccess.cpp:

(JSC::AccessCase::generateImpl):
In PolymorphicAccess case, the thisValue and the slotBase are always cells.
This is because IC is enabled in the case that the base value is a cell.
And slotBase is always on the prototype chain from this base value.

  • jit/CCallHelpers.h:

(JSC::CCallHelpers::setupArgumentsWithExecState):

  • jsc.cpp:

(WTF::CustomGetter::customGetter):
(WTF::RuntimeArray::lengthGetter):

  • runtime/CustomGetterSetter.cpp:

(JSC::callCustomSetter):

  • runtime/JSBoundSlotBaseFunction.cpp:

(JSC::boundSlotBaseFunctionCall):

  • runtime/JSFunction.cpp:

(JSC::JSFunction::argumentsGetter):
(JSC::JSFunction::callerGetter):

  • runtime/JSFunction.h:
  • runtime/JSModuleNamespaceObject.cpp:

(JSC::callbackGetter):

  • runtime/PropertySlot.cpp:

(JSC::PropertySlot::customGetter):

  • runtime/PropertySlot.h:
  • runtime/ProxyObject.cpp:

(JSC::performProxyGet):

  • runtime/RegExpConstructor.cpp:

(JSC::regExpConstructorDollar):
(JSC::regExpConstructorInput):
(JSC::regExpConstructorMultiline):
(JSC::regExpConstructorLastMatch):
(JSC::regExpConstructorLastParen):
(JSC::regExpConstructorLeftContext):
(JSC::regExpConstructorRightContext):
(JSC::regExpConstructorDollar1): Deleted.
(JSC::regExpConstructorDollar2): Deleted.
(JSC::regExpConstructorDollar3): Deleted.
(JSC::regExpConstructorDollar4): Deleted.
(JSC::regExpConstructorDollar5): Deleted.
(JSC::regExpConstructorDollar6): Deleted.
(JSC::regExpConstructorDollar7): Deleted.
(JSC::regExpConstructorDollar8): Deleted.
(JSC::regExpConstructorDollar9): Deleted.

  • tests/stress/proxy-get-with-primitive-receiver.js: Added.

(shouldBe):

Source/WebCore:

  • bindings/js/JSDOMBinding.h:

(WebCore::nonCachingStaticFunctionGetter):

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::jsDOMWindowWebKit):

  • bindings/js/JSPluginElementFunctions.cpp:

(WebCore::pluginElementPropertyGetter):

  • bindings/js/JSPluginElementFunctions.h:
  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):
(GenerateImplementation):

  • bridge/runtime_array.cpp:

(JSC::RuntimeArray::lengthGetter):

  • bridge/runtime_array.h:
  • bridge/runtime_method.cpp:

(JSC::RuntimeMethod::lengthGetter):

  • bridge/runtime_method.h:
  • bridge/runtime_object.cpp:

(JSC::Bindings::RuntimeObject::fallbackObjectGetter):
(JSC::Bindings::RuntimeObject::fieldGetter):
(JSC::Bindings::RuntimeObject::methodGetter):

  • bridge/runtime_object.h:

Source/WebKit2:

  • WebProcess/Plugins/Netscape/JSNPObject.cpp:

(WebKit::JSNPObject::propertyGetter):
(WebKit::JSNPObject::methodGetter):

  • WebProcess/Plugins/Netscape/JSNPObject.h:
23:15 Changeset [201321] by bshafiei@apple.com
  • 3 edits in branches/safari-602.1.32-branch/Source/WebCore

Merge r200965. rdar://problem/26237934

22:58 Changeset [201320] by bshafiei@apple.com
  • 5 edits in branches/safari-602.1.32.5-branch/Source

Versioning.

22:57 Changeset [201319] by bshafiei@apple.com
  • 5 edits in branches/safari-602.1.32-branch/Source

Versioning.

22:34 Changeset [201318] by achristensen@apple.com
  • 23 edits in trunk/Source/WebCore

Modernize CSS code
https://bugs.webkit.org/show_bug.cgi?id=157875

Reviewed by Chris Dumez.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):
(GenerateParametersCheck):

  • bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:

(WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):

  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::JSTestObjConstructor::construct):
(WebCore::setJSTestObjPutForwardsNullableAttribute):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArg):
(WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArg):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):

  • bindings/scripts/test/JS/JSTestTypedefs.cpp:

(WebCore::JSTestTypedefsConstructor::construct):

  • css/CSSBasicShapes.cpp:

(WebCore::serializePositionOffset):
(WebCore::buildSerializablePositionOffset):
(WebCore::CSSBasicShapeCircle::cssText):
(WebCore::CSSBasicShapeEllipse::cssText):

  • css/CSSCalculationValue.cpp:

(WebCore::determineCategory):
(WebCore::CSSCalcExpressionNodeParser::parseValue):

  • css/CSSMediaRule.cpp:

(WebCore::CSSMediaRule::media):

  • css/CSSMediaRule.h:
  • css/CSSOMUtils.h:
  • css/CSSParser.cpp:

(WebCore::CSSParser::createImportRule):
(WebCore::CSSParser::createMediaRule):

  • css/CSSReflectValue.h:
  • css/CSSStyleSheet.cpp:

(WebCore::CSSStyleSheet::setDisabled):
(WebCore::CSSStyleSheet::setMediaQueries):
(WebCore::CSSStyleSheet::insertRule):
(WebCore::CSSStyleSheet::deleteRule):
(WebCore::CSSStyleSheet::isLoading):
(WebCore::CSSStyleSheet::media):
(WebCore::CSSStyleSheet::parentStyleSheet):
(WebCore::CSSStyleSheet::ownerDocument):
(WebCore::CSSStyleSheet::clearChildRuleCSSOMWrappers):
(WebCore::CSSStyleSheet::RuleMutationScope::RuleMutationScope):

  • css/CSSStyleSheet.h:
  • css/PropertySetCSSStyleDeclaration.cpp:
  • css/StyleRule.cpp:

(WebCore::StyleRuleBase::createCSSOMWrapper):
(WebCore::StyleRuleBase::destroy):
(WebCore::StyleRuleGroup::wrapperRemoveRule):
(WebCore::StyleRuleMedia::StyleRuleMedia):

  • css/StyleRule.h:

(WebCore::StyleRuleBase::deref):
(WebCore::StyleRuleBase::StyleRuleBase):
(WebCore::StyleRuleMedia::create):
(WebCore::StyleRuleMedia::mediaQueries):
(WebCore::StyleRuleMedia::copy):
(isType):

  • css/StyleRuleImport.cpp:

(WebCore::StyleRuleImport::create):
(WebCore::StyleRuleImport::StyleRuleImport):

  • css/StyleRuleImport.h:
  • css/StyleSheetContents.cpp:

(WebCore::StyleSheetContents::isCacheable):
(WebCore::StyleSheetContents::parserAppendRule):
(WebCore::StyleSheetContents::ruleAt):
(WebCore::StyleSheetContents::parserSetEncodingFromCharsetRule):
(WebCore::StyleSheetContents::wrapperInsertRule):

  • css/StyleSheetContents.h:

(WebCore::StyleSheetContents::hasSyntacticallyValidCSSHeader):
(WebCore::StyleSheetContents::parserSetUsesRemUnits):
(WebCore::StyleSheetContents::parserSetUsesStyleBasedEditability):
(WebCore::StyleSheetContents::copy):

  • dom/InlineStyleSheetOwner.cpp:

(WebCore::InlineStyleSheetOwner::createSheet):

  • inspector/InspectorStyleSheet.cpp:
22:19 Changeset [201317] by bshafiei@apple.com
  • 1 copy in branches/safari-602.1.32.5-branch

New Branch.

20:41 Changeset [201316] by zalan@apple.com
  • 2 edits in trunk/LayoutTests

Skip fast/table/neighboring-cells-when-collapsed-border-changes on WK1 for now.

Unreviewed.

  • platform/mac-wk1/TestExpectations:
20:27 Changeset [201315] by ggaren@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION (196374): deleting a global property is expensive
https://bugs.webkit.org/show_bug.cgi?id=158005

Reviewed by Chris Dumez.

  • runtime/JSObject.cpp:

(JSC::JSObject::deleteProperty): We only need to reify static properties
if the name being deleted matches a static property. Otherwise, we can
be sure that delete won't observe any static properties.

19:10 Changeset [201314] by cdumez@apple.com
  • 2 edits in trunk/Source/WTF

Speed up move of vectors of POD types that have an inline buffer
https://bugs.webkit.org/show_bug.cgi?id=158003

Reviewed by Benjamin Poulain.

When moving a vector of POD types that have an inline buffer, we would
call std::swap() on the inline buffers. This unnecessarily slow because:

  1. It does not consider the vector size, and therefore may end up doing more work than necessary when the inline buffer is not full.
  2. In the "move" case, the destination buffer is completely empty so we don't really want a swap. We merely want the move the content of the source's inline buffer into the destination's one.

Instead of calling std::swap(), we now call swapInlineBuffers() which
was already used for non-POD types. swapInlineBuffers() will do just
what we want in the "move" case because swapBound is going to be 0.
As a result, we will only move the content of the source buffer into
the destination one. Also swapInlineBuffers() is aware of the source
vector's size so it will only move what's strictly needed.

This seems to be a 2% progression on Dromaeo DOM attributes test.

  • wtf/Vector.h:

(WTF::VectorBuffer::swapInlineBuffer):

18:54 Changeset [201313] by mcatanzaro@igalia.com
  • 2 edits in trunk/Source/ThirdParty

woff2_dec.cc triggers -Wsign-compare, -Wunused-but-set-variable
https://bugs.webkit.org/show_bug.cgi?id=157732

Reviewed by Darin Adler.

  • woff2/CMakeLists.txt:
18:53 Changeset [201312] by zalan@apple.com
  • 3 edits
    2 adds in trunk

Changing border color and size simultaneously fails to repaint.
https://bugs.webkit.org/show_bug.cgi?id=157967
<rdar://problem/26423918>

Reviewed by David Hyatt.

This patch ensures that the neighboring tables cells are dirtied when collapsed border change requires layout.

Source/WebCore:

Test: fast/table/neighboring-cells-when-collapsed-border-changes.html

  • rendering/RenderTable.cpp:

(WebCore::markCellDirtyWhenCollapsedBorderChanges):
(WebCore::RenderTable::invalidateCollapsedBorders):

LayoutTests:

  • fast/table/neighboring-cells-when-collapsed-border-changes-expected.html: Added.
  • fast/table/neighboring-cells-when-collapsed-border-changes.html: Added.
18:50 Changeset [201311] by cdumez@apple.com
  • 2 edits in trunk/Source/WebCore

Avoid unnecessary call to Document::completeURL() in HTMLLinkElement::process()
https://bugs.webkit.org/show_bug.cgi?id=157993

Reviewed by Ryosuke Niwa.

Avoid unnecessary call to Document::completeURL() in HTMLLinkElement::process().
The call to getNonEmptyURLAttribute() already calls Document::completeURL()
internally so we can just reuse the returned URL.

  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::process):

18:03 Changeset [201310] by jiewen_tan@apple.com
  • 3 edits
    6 adds in trunk

Null popstate event fired when navigating back to a cached page with a stateless history entry
https://bugs.webkit.org/show_bug.cgi?id=157963
<rdar://problem/23414840>

Source/WebCore:

Popstate events are not fired when WebKit navigates back to a history entry that doesn't
have a state object if the entry's page is not cached. However, we fire popstate events
unconditionally if the page is cached. This results in inconsistent behavior between
initial navigations and cached navigations. Align the behavior of initial and cached
navigations so that we produce consistent events.

Reviewed by Brent Fulgham.

Tests: fast/loader/stateobjects/no-popstate-when-back-to-stateless-entry-with-page-cache.html

fast/loader/stateobjects/no-popstate-when-back-to-stateless-entry.html

  • history/CachedFrame.cpp:

(WebCore::CachedFrameBase::restore):

LayoutTests:

Reviewed by Brent Fulgham.

  • fast/loader/stateobjects/no-popstate-when-back-to-stateless-entry-expected.txt: Added.
  • fast/loader/stateobjects/no-popstate-when-back-to-stateless-entry-with-page-cache-expected.txt: Added.
  • fast/loader/stateobjects/no-popstate-when-back-to-stateless-entry-with-page-cache.html: Added.
  • fast/loader/stateobjects/no-popstate-when-back-to-stateless-entry.html: Added.
  • fast/loader/stateobjects/resources/no-popstate-when-back-to-stateless-entry-1.html: Added.
  • fast/loader/stateobjects/resources/no-popstate-when-back-to-stateless-entry-2.html: Added.
17:50 Changeset [201309] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

Build fix after r201307.

  • public/v3/pages/chart-pane.js:

(ChartPane.prototype.serializeState):

17:35 Changeset [201308] by ryanhaddad@apple.com
  • 2 edits in trunk/LayoutTests

Marking inspector/console/console-time.html as a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=158006

Unreviewed test gardening.

  • platform/mac/TestExpectations:
17:24 Changeset [201307] by rniwa@webkit.org
  • 3 edits in trunk/Websites/perf.webkit.org

Some applications truncates the last closing parenthesis in perf dashboard URL
https://bugs.webkit.org/show_bug.cgi?id=157976

Reviewed by Tim Horton.

Unfortunately, different applications use different heuristics to determine the end of each URL. Two trailing
parentheses, for example, is just fine in Radar as well as Apple Mail if the URL is short enough. Using other
characters such as ] and } wouldn't work either because they would be %-escaped. At that point, we might as well
as %-escape everything.

Work around the bug by parsing the URL as if it had one extra ')' if the parsing had failed. Also shorten the charts
page's URL by avoid emitting "-null" for each pane when the pane doesn't have a currently selected point or selection.
This improves the odds of the entire URL being recognized by various applications.

We could, in theory, implement some sort of a URL shorter but that can wait until when we support real user accounts.

  • public/v3/pages/chart-pane.js:

(ChartPane.prototype.serializeState): Don't serialize the selection or the current point if nothing is selected.

  • public/v3/pages/page-router.js:

(PageRouter.prototype._deserializeHashQueryValue): Try parsing the value again with one extra ] at the end if
the JSON parsing had failed.

17:22 Changeset [201306] by ryanhaddad@apple.com
  • 2 edits in trunk/LayoutTests

Marking mathml/wbr-in-mroot-crash.html as a timeout on mac release
https://bugs.webkit.org/show_bug.cgi?id=157990

Unreviewed test gardening.

  • platform/mac/TestExpectations:
17:17 Changeset [201305] by cdumez@apple.com
  • 49 edits in trunk/Source

Generate bindings code for EventTarget.addEventListener() / removeEventListener()
https://bugs.webkit.org/show_bug.cgi?id=157882

Reviewed by Darin Adler.

Generate bindings code for EventTarget.addEventListener() / removeEventListener()
instead of hardcoding them in the bindings generator.

Source/WebCore:

No new tests, rebaselined existing test, no web-exposed behavior change.

  • Modules/webaudio/AudioScheduledSourceNode.cpp:

(WebCore::AudioScheduledSourceNode::addEventListener):
(WebCore::AudioScheduledSourceNode::removeEventListener):

  • Modules/webaudio/AudioScheduledSourceNode.h:
  • Modules/webaudio/ScriptProcessorNode.cpp:

(WebCore::ScriptProcessorNode::addEventListener):
(WebCore::ScriptProcessorNode::removeEventListener):

  • Modules/webaudio/ScriptProcessorNode.h:
  • bindings/gobject/GObjectEventListener.cpp:

(WebCore::GObjectEventListener::operator==):

  • bindings/gobject/GObjectEventListener.h:
  • bindings/js/JSEventListener.cpp:

(WebCore::JSEventListener::operator==):
(WebCore::eventHandlerAttribute): Deleted.

  • bindings/js/JSEventListener.h:

(WebCore::JSEventListener::create):
(WebCore::JSEventListener::cast): Deleted.
(WebCore::JSEventListener::jsFunction): Deleted.

  • bindings/objc/ObjCEventListener.h:
  • bindings/objc/ObjCEventListener.mm:

(WebCore::ObjCEventListener::operator==):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):
(JSValueToNative):
(GetParentClassName): Deleted.
(GetCallbackClassName): Deleted.
(GetJSCallbackDataType): Deleted.

  • dom/EventListener.h:
  • dom/EventListenerMap.cpp:

(WebCore::addListenerToVector):
(WebCore::EventListenerMap::add):
(WebCore::removeListenerFromVector):
(WebCore::EventListenerMap::remove):
(WebCore::copyListenersNotCreatedFromMarkupToTarget):

  • dom/EventListenerMap.h:
  • dom/EventTarget.cpp:

(WebCore::EventTarget::addEventListener):
(WebCore::EventTarget::addEventListenerForBindings):
(WebCore::EventTarget::removeEventListenerForBindings):
(WebCore::EventTarget::removeEventListener):
(WebCore::EventTarget::setAttributeEventListener):
(WebCore::EventTarget::clearAttributeEventListener):

  • dom/EventTarget.h:
  • dom/EventTarget.idl:
  • dom/MessagePort.cpp:

(WebCore::MessagePort::addEventListener):

  • dom/MessagePort.h:
  • dom/Node.cpp:

(WebCore::tryAddEventListener):
(WebCore::Node::addEventListener):
(WebCore::tryRemoveEventListener):
(WebCore::Node::removeEventListener):

  • dom/Node.h:
  • dom/RegisteredEventListener.h:

(WebCore::RegisteredEventListener::RegisteredEventListener):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::addEventListener):
(WebCore::HTMLMediaElement::removeEventListener):

  • html/HTMLMediaElement.h:
  • html/ImageDocument.cpp:

(WebCore::ImageDocument::createDocumentStructure):
(WebCore::ImageEventListener::operator==):

  • html/shadow/MediaControlsApple.cpp:

(WebCore::MediaControlsApple::showClosedCaptionTrackList):
(WebCore::MediaControlsApple::hideClosedCaptionTrackList):
(WebCore::MediaControlsAppleEventListener::operator==):

  • html/shadow/MediaControlsApple.h:
  • inspector/InspectorIndexedDBAgent.cpp:
  • page/DOMWindow.cpp:

(WebCore::DOMWindow::addEventListener):
(WebCore::DOMWindow::removeEventListener):

  • page/DOMWindow.h:
  • platform/cocoa/WebPlaybackSessionModelMediaElement.h:
  • platform/cocoa/WebVideoFullscreenModelVideoElement.h:
  • svg/SVGElement.cpp:

(WebCore::SVGElement::addEventListener):
(WebCore::SVGElement::removeEventListener):

  • svg/SVGElement.h:
  • svg/SVGTRefElement.cpp:

(WebCore::SVGTRefTargetEventListener::attach):
(WebCore::SVGTRefTargetEventListener::detach):
(WebCore::SVGTRefTargetEventListener::operator==):

  • svg/animation/SVGSMILElement.cpp:

(WebCore::ConditionEventListener::operator==):
(WebCore::SVGSMILElement::connectConditions):
(WebCore::SVGSMILElement::disconnectConditions):

Source/WebKit/win:

  • DOMEventsClasses.cpp:

(WebEventListener::operator==):

  • DOMEventsClasses.h:

Source/WebKit2:

  • WebProcess/Plugins/PDF/PDFPluginAnnotation.h:
  • WebProcess/Plugins/PDF/PDFPluginAnnotation.mm:

(WebKit::PDFPluginAnnotation::attach):
(WebKit::PDFPluginAnnotation::~PDFPluginAnnotation):

  • WebProcess/Plugins/PDF/PDFPluginPasswordField.mm:

(WebKit::PDFPluginPasswordField::~PDFPluginPasswordField):
(WebKit::PDFPluginPasswordField::createAnnotationElement):

  • WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:

(WebKit::PDFPluginTextAnnotation::~PDFPluginTextAnnotation):
(WebKit::PDFPluginTextAnnotation::createAnnotationElement):

16:33 Changeset [201304] by nvasilyev@apple.com
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Split console navigation bar doesn't wrap as expected
https://bugs.webkit.org/show_bug.cgi?id=157950
<rdar://problem/26395573>

Reviewed by Timothy Hatcher.

  • UserInterface/Views/Main.css:

(#split-content-browser > .navigation-bar .item):
Fix the split console and don't touch any other navigation bars.

16:19 Changeset [201303] by cdumez@apple.com
  • 2 edits in trunk/Source/WebCore

Fix undefined behavior introduced in r201290.
https://bugs.webkit.org/show_bug.cgi?id=157961

Reviewed by Alex Christensen.

The evaluation order of function arguments is undefined so it is unsafe to
copyRef() and WTFMove() the same parameter in a function call.

  • css/CSSBasicShapes.h:
16:14 Changeset [201302] by beidson@apple.com
  • 4 edits in trunk/Source/WebCore

Speculative fix for:
Modern IDB: Some blob tests ASSERT sometimes on the bots.
https://bugs.webkit.org/show_bug.cgi?id=157525

Reviewed by Alex Christensen.

No new tests (Should fix existing flakiness, not reproducibly testable).

For all of the lambdas involved in this operation, explicitly WTFMove all of the arguments around.

Critically, this includes the RefPtr<TransactionOperation> protector as well as the
std::function<void ()> completionHandler(s).

By doing so, this removes the possibility of a race between the background thread and the main thread
tearing down the TransactionOperation, guaranteeing that it is torn down on its original thread.

  • Modules/indexeddb/IDBTransaction.cpp:

(WebCore::IDBTransaction::putOrAddOnServer):

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::SerializedScriptValue::writeBlobsToDiskForIndexedDB):

  • platform/network/BlobRegistryImpl.cpp:

(WebCore::BlobRegistryImpl::writeBlobsToTemporaryFiles):

15:46 Changeset [201301] by sbarati@apple.com
  • 2 edits
    1 add in trunk/Source/JavaScriptCore

The baseline JIT crashes when compiling "(1,1)/1"
https://bugs.webkit.org/show_bug.cgi?id=157933

Reviewed by Benjamin Poulain.

op_div in the baseline JIT needed to better handle when both the lhs
and rhs are constants. It needs to make sure to load either the lhs or
the rhs into a register since the div generator can't handle both
the lhs and rhs being constants.

  • jit/JITArithmetic.cpp:

(JSC::JIT::emit_op_div):

  • tests/stress/jit-gracefully-handle-double-constants-in-math-operators.js: Added.

(assert):
(test):

15:37 Changeset [201300] by ryanhaddad@apple.com
  • 3 edits
    2 deletes in trunk

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

The LayoutTest added with this change is failing on mac-wk1
(Requested by ryanhaddad on #webkit).

Reverted changeset:

"Changing border color and size simultaneously fails to
repaint."
https://bugs.webkit.org/show_bug.cgi?id=157967
http://trac.webkit.org/changeset/201296

Patch by Commit Queue <commit-queue@webkit.org> on 2016-05-23

15:07 Changeset [201299] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

Missing/Incomplete timestamp for inline Audio player in ePub book
https://bugs.webkit.org/show_bug.cgi?id=157998
<rdar://problem/25858437>

Reviewed by Jon Lee and Tim Horton.

On iOS it is rare to apply a text-zoom (Safari does not provide
UI for it). However, iBooks uses text-zoom to increase the font
size. This causes the time displays in the media controls to
overflow their containers and be clipped.

The solution is to simply reset the text zoom for the media controls,
which means the time displays will always be a constant size.

  • Modules/mediacontrols/mediaControlsiOS.css:

(audio::-webkit-media-controls-time-remaining-display):

15:06 Changeset [201298] by bdakin@apple.com
  • 12 edits in trunk/Source/WebKit2

Need SPI for clients to require a user action to get an editing controls
manager
https://bugs.webkit.org/show_bug.cgi?id=157992
-and corresponding-
rdar://problem/26379927

Reviewed by Tim Horton.

New SPI _setRequiresUserActionForEditingControlsManager. The SPI defaults to
False, which means that by default there is no user action requirement to
have an editing controls manager. The SPI is on WKViewPrivate and
WKWebViewConfigurationPrivate, and it’s implemented in WebViewImpl.

  • UIProcess/API/Cocoa/WKViewPrivate.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _initializeWithConfiguration:]):

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration init]):
(-[WKWebViewConfiguration copyWithZone:]):
(-[WKWebViewConfiguration _requiresUserActionForEditingControlsManager]):
(-[WKWebViewConfiguration _setRequiresUserActionForEditingControlsManager:]):

  • UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
  • UIProcess/API/mac/WKView.mm:

(-[WKView _requiresUserActionForEditingControlsManager]):
(-[WKView _setRequiresUserActionForEditingControlsManager:]):

  • UIProcess/Cocoa/WebViewImpl.h:

(WebKit::WebViewImpl::setRequiresUserActionForEditingControlsManager):
(WebKit::WebViewImpl::requiresUserActionForEditingControlsManager):

New message allows the WebProcess to tell the UI process whether the current
web page has had any selection changes based on user interaction.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setHasHadSelectionChangesFromUserInteraction):

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::hasHadSelectionChangesFromUserInteraction):

  • UIProcess/WebPageProxy.messages.in:

m_userIsInteracting m_hasFocusedDueToUserInteraction used to be iOS only, but
now we want to track them for Mac as well.

  • WebProcess/WebPage/WebPage.cpp:

Handling mouse events and key events will toggle m_userIsInteracting.
(WebKit::WebPage::mouseEvent):
(WebKit::WebPage::keyEvent):

m_userIsInteracting is no longer iOS-only.
(WebKit::WebPage::setInitialFocus):

Send a message to the UI process on page transition to re-set
hasHadSelectionChangesFromUserInteraction to false.
(WebKit::WebPage::didStartPageTransition):

Send a message to the UI process if this is the first selection change to
happen as a result of a user action.
(WebKit::WebPage::didChangeSelection):

  • WebProcess/WebPage/WebPage.h:
14:55 Changeset [201297] by ryanhaddad@apple.com
  • 2 edits in trunk/LayoutTests

Marking inspector/unit-tests/heap-snapshot-collection-event.html as a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=157999

Unreviewed test gardening.

  • platform/mac/TestExpectations:
14:04 Changeset [201296] by zalan@apple.com
  • 3 edits
    2 adds in trunk

Changing border color and size simultaneously fails to repaint.
https://bugs.webkit.org/show_bug.cgi?id=157967
<rdar://problem/26423918>

Reviewed by David Hyatt.

This patch ensures that the neighboring tables cells are dirtied when collapsed border change requires layout.

Source/WebCore:

Test: fast/table/neighboring-cells-when-collapsed-border-changes.html

  • rendering/RenderTable.cpp:

(WebCore::markCellDirtyWhenCollapsedBorderChanges):
(WebCore::RenderTable::invalidateCollapsedBorders):

LayoutTests:

  • fast/table/neighboring-cells-when-collapsed-border-changes-expected.html: Added.
  • fast/table/neighboring-cells-when-collapsed-border-changes.html: Added.
13:54 Changeset [201295] by achristensen@apple.com
  • 4 edits in trunk/Source/WebKit2

Add logging for NSURLSession calls
https://bugs.webkit.org/show_bug.cgi?id=157996

Reviewed by Brady Eidson.

  • NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:

(WebKit::NetworkDataTask::NetworkDataTask):

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(toNSURLSessionResponseDisposition):
(-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:_schemeUpgraded:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:dataTask:willCacheResponse:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:didCompleteWithError:]):
(-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveData:]):

  • Platform/Logging.h:
13:44 Changeset [201294] by cfleizach@apple.com
  • 8 edits
    4 adds in trunk

AX: iOS: when bringing focus to a text field we may zoom the page even if author wanted max scale = 1
https://bugs.webkit.org/show_bug.cgi?id=157771

Reviewed by Tim Horton.

Source/WebCore:

If the author requests scaling not to be enabled, we should not scale in when keyboard focus moves to a text field.
Scaling should only happen when the user performs a gesture to do so in this case.

Tests: fast/viewport/ios/user-scalable-does-not-scale-for-keyboard-focus-with-author-defined-scale.html

fast/viewport/ios/user-scalable-scales-for-keyboard-focus-with-no-author-defined-scale.html

  • page/ViewportConfiguration.h:

(WebCore::ViewportConfiguration::maximumScale):

Source/WebKit2:

  • Shared/AssistedNodeInformation.cpp:

(WebKit::AssistedNodeInformation::encode):
(WebKit::AssistedNodeInformation::decode):

  • Shared/AssistedNodeInformation.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _displayFormNodeInputView]):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::getAssistedNodeInformation):

13:27 Changeset [201293] by sbarati@apple.com
  • 2 edits
    1 add in trunk/Source/JavaScriptCore

String template don't handle let initialization properly inside eval
https://bugs.webkit.org/show_bug.cgi?id=157991

Reviewed by Oliver Hunt.

The fix is to make sure we emit TDZ checks.

  • bytecompiler/NodesCodegen.cpp:

(JSC::TaggedTemplateNode::emitBytecode):

  • tests/stress/tagged-template-tdz.js: Added.

(shouldThrowTDZ):
(test):

13:25 Changeset [201292] by ryanhaddad@apple.com
  • 6 edits
    2 deletes in trunk

Unreviewed, rolling out r200414.

This change appears to have broken the 'write a reply' field
on Nextdoor.com

Reverted changeset:

"Clicks inside button elements are sometimes discarded when
the mouse moves"
https://bugs.webkit.org/show_bug.cgi?id=39620
http://trac.webkit.org/changeset/200414

13:14 Changeset [201291] by jond@apple.com
  • 2 edits in trunk/Websites/webkit.org

Add syntax highglighting for ES6 "let", "const" and "of" keywords.
https://bugs.webkit.org/show_bug.cgi?id=157994

Reviewed by Geoffrey Garen.

  • wp-content/plugins/hyperlight/hyperlight/languages/javascript.php:
10:40 Changeset [201290] by cdumez@apple.com
  • 54 edits in trunk

Clean up / Modernize the CSS Parser
https://bugs.webkit.org/show_bug.cgi?id=157961

Reviewed by Alex Christensen.

Clean up / Modernize the CSS Parser.

  • WebCore.xcodeproj/project.pbxproj:
  • css/BasicShapeFunctions.cpp:

(WebCore::valueForBasicShape):
(WebCore::convertToLength):
(WebCore::convertToLengthSize):
(WebCore::basicShapeForValue):

  • css/BasicShapeFunctions.h:
  • css/CSSBasicShapes.cpp:

(WebCore::CSSBasicShapePolygon::cssText):
(WebCore::CSSBasicShapePolygon::equals):

  • css/CSSBasicShapes.h:
  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::valueForReflection):
(WebCore::ComputedStyleExtractor::valueForShadow):
(WebCore::specifiedValueForGridTrackSize):

  • css/CSSCrossfadeValue.cpp:

(WebCore::subimageKnownToBeOpaque):
(WebCore::CSSCrossfadeValue::fixedSize):
(WebCore::CSSCrossfadeValue::isPending):
(WebCore::CSSCrossfadeValue::knownToBeOpaque):
(WebCore::CSSCrossfadeValue::loadSubimages):
(WebCore::CSSCrossfadeValue::image):
(WebCore::CSSCrossfadeValue::blend):
(WebCore::CSSCrossfadeValue::equals):
(WebCore::CSSCrossfadeValue::equalInputImages):

  • css/CSSCrossfadeValue.h:

(WebCore::CSSCrossfadeValue::create):
(WebCore::CSSCrossfadeValue::CSSCrossfadeValue):

  • css/CSSCustomPropertyValue.h:

(WebCore::CSSCustomPropertyValue::create):
(WebCore::CSSCustomPropertyValue::CSSCustomPropertyValue):

  • css/CSSFilterImageValue.cpp:

(WebCore::CSSFilterImageValue::fixedSize):
(WebCore::CSSFilterImageValue::isPending):
(WebCore::CSSFilterImageValue::loadSubimages):
(WebCore::CSSFilterImageValue::image):
(WebCore::CSSFilterImageValue::createFilterOperations):
(WebCore::CSSFilterImageValue::equals):
(WebCore::CSSFilterImageValue::equalInputImages):

  • css/CSSFilterImageValue.h:

(WebCore::CSSFilterImageValue::CSSFilterImageValue):

  • css/CSSFontFaceSet.cpp:

(WebCore::CSSFontFaceSet::matchingFaces):

  • css/CSSFunctionValue.cpp:

(WebCore::CSSFunctionValue::CSSFunctionValue):

  • css/CSSFunctionValue.h:

(WebCore::CSSFunctionValue::create):

  • css/CSSGradientValue.h:

(WebCore::CSSLinearGradientValue::setAngle):

  • css/CSSGrammar.y.in:
  • css/CSSImageGeneratorValue.cpp:

(WebCore::CSSImageGeneratorValue::subimageIsPending):
(WebCore::CSSImageGeneratorValue::cachedImageForCSSValue):

  • css/CSSImageGeneratorValue.h:
  • css/CSSImageValue.cpp:

(WebCore::CSSImageValue::cachedOrPendingImage):

  • css/CSSImageValue.h:
  • css/CSSKeyframesRule.cpp:

(WebCore::StyleRuleKeyframes::StyleRuleKeyframes):
(WebCore::StyleRuleKeyframes::parserAppendKeyframe):
(WebCore::StyleRuleKeyframes::wrapperAppendKeyframe):
(WebCore::CSSKeyframesRule::appendRule):
(WebCore::CSSKeyframesRule::findRule):
(WebCore::CSSKeyframesRule::item):
(WebCore::StyleRuleKeyframes::~StyleRuleKeyframes): Deleted.

  • css/CSSKeyframesRule.h:

(WebCore::StyleRuleKeyframes::keyframes):

  • css/CSSParser.cpp:

(WebCore::parseColorValue):
(WebCore::parseSimpleLengthValue):
(WebCore::parseKeywordValue):
(WebCore::parseTranslateTransformValue):
(WebCore::CSSParser::parseFontFaceValue):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseCustomPropertyValue):
(WebCore::CSSParser::parseDeclaration):
(WebCore::CSSParser::SourceSize::SourceSize):
(WebCore::filterProperties):
(WebCore::CSSParser::clearProperties):
(WebCore::CSSParser::addExpandedPropertyForValue):
(WebCore::CSSParser::parseVariableDependentValue):
(WebCore::CSSParser::parseContentDistributionOverflowPosition):
(WebCore::CSSParser::parseItemPositionOverflowPosition):
(WebCore::CSSParser::parseNonElementSnapPoints):
(WebCore::CSSParser::parseScrollSnapDestination):
(WebCore::CSSParser::parseScrollSnapCoordinate):
(WebCore::CSSParser::parseFillShorthand):
(WebCore::CSSParser::addAnimationValue):
(WebCore::CSSParser::parseAnimationShorthand):
(WebCore::CSSParser::parseColumnWidth):
(WebCore::CSSParser::parseColumnCount):
(WebCore::CSSParser::parseColumnsShorthand):
(WebCore::CSSParser::parseTransitionShorthand):
(WebCore::CSSParser::parseSize):
(WebCore::CSSParser::parseQuotes):
(WebCore::CSSParser::parseAlt):
(WebCore::CSSParser::parseCustomPropertyDeclaration):
(WebCore::CSSParser::parseContent):
(WebCore::CSSParser::parseAttr):
(WebCore::CSSParser::parseBackgroundColor):
(WebCore::CSSParser::parseFillPositionComponent):
(WebCore::CSSParser::parse4ValuesFillPosition):
(WebCore::CSSParser::parse3ValuesFillPosition):
(WebCore::CSSParser::parseFillPosition):
(WebCore::CSSParser::parseFillSize):
(WebCore::CSSParser::parseFillProperty):
(WebCore::CSSParser::parseAnimationDelay):
(WebCore::CSSParser::parseAnimationDirection):
(WebCore::CSSParser::parseAnimationDuration):
(WebCore::CSSParser::parseAnimationFillMode):
(WebCore::CSSParser::parseAnimationIterationCount):
(WebCore::CSSParser::parseAnimationName):
(WebCore::CSSParser::parseAnimationPlayState):
(WebCore::CSSParser::parseAnimationTrigger):
(WebCore::CSSParser::parseAnimationProperty):
(WebCore::CSSParser::parseKeyframeSelector):
(WebCore::CSSParser::parseGridPosition):
(WebCore::gridMissingGridPositionValue):
(WebCore::CSSParser::parseGridItemPositionShorthand):
(WebCore::CSSParser::parseGridGapShorthand):
(WebCore::CSSParser::parseGridTemplateRowsAndAreasAndColumns):
(WebCore::CSSParser::parseGridTemplateShorthand):
(WebCore::CSSParser::parseGridShorthand):
(WebCore::CSSParser::parseGridAreaShorthand):
(WebCore::CSSParser::parseGridLineNames):
(WebCore::CSSParser::parseGridTrackList):
(WebCore::CSSParser::parseGridTrackRepeatFunction):
(WebCore::CSSParser::parseGridTrackSize):
(WebCore::CSSParser::parseGridAutoFlow):
(WebCore::skipCommaInDashboardRegion):
(WebCore::CSSParser::parseDashboardRegions):
(WebCore::parseGridTemplateAreasColumnNames):
(WebCore::CSSParser::parseCounterContent):
(WebCore::CSSParser::parseClipShape):
(WebCore::CSSParser::parseInsetRoundedCorners):
(WebCore::CSSParser::parseBasicShapeInset):
(WebCore::CSSParser::parseBasicShapeCircle):
(WebCore::CSSParser::parseBasicShapeEllipse):
(WebCore::CSSParser::parseBasicShapePolygon):
(WebCore::CSSParser::parseBasicShapePath):
(WebCore::CSSParser::parseBasicShapeAndOrBox):
(WebCore::CSSParser::parseFont):
(WebCore::CSSParser::parseFontFamily):
(WebCore::CSSParser::parseFontSynthesis):
(WebCore::CSSParser::parseFontFaceSrcURI):
(WebCore::CSSParser::parseFontFaceSrc):
(WebCore::CSSParser::parseFontFaceUnicodeRange):
(WebCore::parseAlphaValue):
(WebCore::ShadowParseContext::commitValue):
(WebCore::CSSParser::parseShadow):
(WebCore::CSSParser::parseReflect):
(WebCore::CSSParser::parseFlex):
(WebCore::BorderImageParseContext::commitImage):
(WebCore::BorderImageParseContext::commitImageSlice):
(WebCore::BorderImageParseContext::commitBorderWidth):
(WebCore::BorderImageParseContext::commitBorderOutset):
(WebCore::BorderImageParseContext::commitRepeat):
(WebCore::BorderImageParseContext::commitWebKitBorderImage):
(WebCore::BorderImageParseContext::commitBorderImageProperty):
(WebCore::CSSParser::parseBorderImage):
(WebCore::CSSParser::parseBorderImageRepeat):
(WebCore::BorderImageQuadParseContext::setTop):
(WebCore::CSSParser::parseCounter):
(WebCore::CSSParser::parseDeprecatedGradient):
(WebCore::CSSParser::parseDeprecatedLinearGradient):
(WebCore::CSSParser::parseDeprecatedRadialGradient):
(WebCore::CSSParser::parseLinearGradient):
(WebCore::CSSParser::parseRadialGradient):
(WebCore::CSSParser::parseFilterImage):
(WebCore::CSSParser::parseCrossfade):
(WebCore::CSSParser::parseImageResolution):
(WebCore::CSSParser::parseImageSet):
(WebCore::CSSParser::parseTransform):
(WebCore::CSSParser::parseTransformValue):
(WebCore::CSSParser::parseFilter):
(WebCore::CSSParser::parseTextDecoration):
(WebCore::CSSParser::parseTextEmphasisStyle):
(WebCore::CSSParser::parseTextEmphasisPosition):
(WebCore::CSSParser::parseTextIndent):
(WebCore::CSSParser::parseHangingPunctuation):
(WebCore::CSSParser::parseFontFeatureSettings):
(WebCore::CSSParser::parseWillChange):
(WebCore::CSSParser::createImportRule):
(WebCore::CSSParser::createMediaRule):
(WebCore::CSSParser::createEmptyMediaRule):
(WebCore::CSSParser::createSupportsRule):
(WebCore::CSSParser::markSupportsRuleHeaderStart):
(WebCore::CSSParser::popSupportsRuleData):
(WebCore::CSSParser::processAndAddNewRuleToSourceTreeIfNeeded):
(WebCore::CSSParser::addNewRuleToSourceTree):
(WebCore::CSSParser::popRuleData):
(WebCore::CSSParser::createKeyframesRule):
(WebCore::CSSParser::createStyleRule):
(WebCore::CSSParser::createFontFaceRule):
(WebCore::CSSParser::createPageRule):
(WebCore::CSSParser::createRegionRule):
(WebCore::CSSParser::endDeclarationsForMarginBox):
(WebCore::CSSParser::createKeyframe):
(WebCore::CSSParser::updateLastMediaLine):
(WebCore::fixUnparsedProperties):
(WebCore::CSSParser::fixUnparsedPropertyRanges):
(WebCore::CSSParser::parseViewportProperty):
(WebCore::cssPropertyNameIOSAliasing):
(WebCore::isAppleLegacyCssValueKeyword):
(WebCore::quoteCSSString):
(WebCore::AnimationParseContext::commitFirstAnimation): Deleted.
(WebCore::strictCSSParserContext): Deleted.
(WebCore::CSSParser::~CSSParser): Deleted.
(WebCore::convertToASCIILowercaseInPlace): Deleted.
(WebCore::CSSParserString::convertToASCIILowercaseInPlace): Deleted.
(WebCore::CSSParser::setupParser): Deleted.
(WebCore::isSimpleLengthPropertyID): Deleted.
(WebCore::isValidKeywordPropertyAndValue): Deleted.
(WebCore::parseTransformTranslateArguments): Deleted.
(WebCore::CSSParser::parseColor): Deleted.
(WebCore::CSSParser::parseMediaQuery): Deleted.
(WebCore::CSSParser::parseSizesAttribute): Deleted.
(WebCore::CSSParser::addProperty): Deleted.
(WebCore::CSSParser::validateCalculationUnit): Deleted.
(WebCore::isItemPositionKeyword): Deleted.
(WebCore::CSSParser::parseShorthand): Deleted.
(WebCore::CSSParser::parseSizeParameter): Deleted.
(WebCore::CSSParser::parseFillImage): Deleted.
(WebCore::CSSParser::parsePositionY): Deleted.
(WebCore::CSSParser::parse2ValuesFillPosition): Deleted.
(WebCore::CSSParser::parseTransformOriginShorthand): Deleted.
(WebCore::CSSParser::parseAnimationTimingFunction): Deleted.
(WebCore::CSSParser::parseGridTemplateColumns): Deleted.
(WebCore::CSSParser::parseSingleGridAreaLonghand): Deleted.
(WebCore::allTracksAreFixedSized): Deleted.
(WebCore::CSSParser::parseGridBreadth): Deleted.
(WebCore::CSSParser::parseGridTemplateAreasRow): Deleted.
(WebCore::completeBorderRadii): Deleted.
(WebCore::CSSParser::parseShapeRadius): Deleted.
(WebCore::isBoxValue): Deleted.
(WebCore::CSSParser::parseShapeProperty): Deleted.
(WebCore::CSSParser::parseClipPath): Deleted.
(WebCore::CSSParser::parseBasicShape): Deleted.
(WebCore::FontFamilyValueBuilder::commit): Deleted.
(WebCore::CSSParser::parseFontWeight): Deleted.
(WebCore::CSSParser::parseFontFaceSrcLocal): Deleted.
(WebCore::parseDouble): Deleted.
(WebCore::mightBeRGBA): Deleted.
(WebCore::mightBeRGB): Deleted.
(WebCore::ShadowParseContext::commitColor): Deleted.
(WebCore::BorderImageParseContext::BorderImageParseContext): Deleted.
(WebCore::BorderImageParseContext::commitForwardSlashOperator): Deleted.
(WebCore::BorderImageParseContext::commitBorderImage): Deleted.
(WebCore::isBorderImageRepeatKeyword): Deleted.
(WebCore::BorderImageSliceParseContext::commitBorderImageSlice): Deleted.
(WebCore::CSSParser::parseBorderImageQuad): Deleted.
(WebCore::parseDeprecatedGradientColorStop): Deleted.
(WebCore::valueFromSideKeyword): Deleted.
(WebCore::CSSParser::isGeneratedImageValue): Deleted.
(WebCore::CSSParser::parseCanvas): Deleted.
(WebCore::CSSParser::parseNamedImage): Deleted.
(WebCore::TransformOperationInfo::TransformOperationInfo): Deleted.
(WebCore::CSSParser::isBlendMode): Deleted.
(WebCore::filterInfoForName): Deleted.
(WebCore::CSSParser::parseFlowThread): Deleted.
(WebCore::CSSParser::parseRegionThread): Deleted.
(WebCore::CSSParser::parseLineBoxContain): Deleted.
(WebCore::CSSParser::parseFontFeatureTag): Deleted.
(WebCore::CSSParser::parseFontVariantLigatures): Deleted.
(WebCore::isCSSLetter): Deleted.
(WebCore::CSSParser::markSupportsRuleHeaderEnd): Deleted.
(WebCore::CSSParser::syntaxError): Deleted.
(WebCore::CSSParser::logError): Deleted.
(WebCore::CSSParser::rewriteSpecifiersWithElementName): Deleted.
(WebCore::CSSParser::rewriteSpecifiers): Deleted.
(WebCore::CSSParser::invalidBlockHit): Deleted.
(WebCore::CSSParser::markRuleHeaderStart): Deleted.
(WebCore::CSSParser::setRuleHeaderEnd): Deleted.
(WebCore::CSSParser::markRuleHeaderEnd): Deleted.
(WebCore::CSSParser::markRuleBodyStart): Deleted.
(WebCore::cssPropertyID): Deleted.
(WebCore::isCSSTokenizerIdentifier): Deleted.

  • css/CSSParser.h:

(WebCore::CSSParser::ValueWithCalculation::setCalculation): Deleted.

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::cloneForCSSOM):

  • css/CSSPrimitiveValue.h:
  • css/CSSPropertySourceData.h:
  • css/CSSReflectValue.cpp:

(WebCore::CSSReflectValue::equals):

  • css/CSSReflectValue.h:

(WebCore::CSSReflectValue::create):
(WebCore::CSSReflectValue::direction):
(WebCore::CSSReflectValue::offset):
(WebCore::CSSReflectValue::CSSReflectValue):

  • css/CSSShadowValue.cpp:

(WebCore::CSSShadowValue::CSSShadowValue):
(WebCore::CSSShadowValue::customCSSText): Deleted.

  • css/CSSShadowValue.h:

(WebCore::CSSShadowValue::create):

  • css/CSSValue.h:

(WebCore::compareCSSValueVector):

  • css/CSSVariableDependentValue.cpp:

(WebCore::CSSVariableDependentValue::checkVariablesForCycles):

  • css/CSSVariableDependentValue.h:

(WebCore::CSSVariableDependentValue::create):
(WebCore::CSSVariableDependentValue::customCSSText):
(WebCore::CSSVariableDependentValue::valueList):
(WebCore::CSSVariableDependentValue::CSSVariableDependentValue):

  • css/CSSVariableValue.cpp:

(WebCore::CSSVariableValue::buildParserValueListSubstitutingVariables):

  • css/Counter.h:

(WebCore::Counter::create):
(WebCore::Counter::identifier):
(WebCore::Counter::listStyle):
(WebCore::Counter::separator):
(WebCore::Counter::listStyleIdent):
(WebCore::Counter::setIdentifier):
(WebCore::Counter::setListStyle):
(WebCore::Counter::setSeparator):
(WebCore::Counter::cloneForCSSOM):
(WebCore::Counter::Counter):

  • css/DOMCSSNamespace.cpp:

(WebCore::DOMCSSNamespace::supports):

  • css/FontFace.cpp:

(WebCore::FontFace::parseString):
(WebCore::FontFace::setVariant):

  • css/Rect.h:

(WebCore::RectBase::RectBase):

  • css/SVGCSSParser.cpp:

(WebCore::CSSParser::parseSVGStrokeDasharray):
(WebCore::CSSParser::parseSVGPaint):
(WebCore::CSSParser::parseSVGColor):
(WebCore::CSSParser::parsePaintOrder):

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertReflection):

  • css/StyleProperties.cpp:

(WebCore::MutableStyleProperties::setProperty):
(WebCore::MutableStyleProperties::setCustomProperty):
(WebCore::MutableStyleProperties::parseDeclaration):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::keyframeStylesForAnimation):
(WebCore::StyleResolver::cachedOrPendingFromValue):

  • css/StyleResolver.h:
  • css/WebKitCSSMatrix.cpp:

(WebCore::WebKitCSSMatrix::setMatrixValue):

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::setFont):

  • inspector/InspectorStyleSheet.cpp:

(flattenSourceData):
(ParsedStyleSheet::setSourceData):
(ParsedStyleSheet::ruleSourceDataAt):
(WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):

  • page/PageSerializer.cpp:

(WebCore::PageSerializer::retrieveResourcesForProperties):

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::crossfadeBlend):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::checkVariablesInCustomProperties):

09:59 Changeset [201289] by ryanhaddad@apple.com
  • 6 edits in trunk/LayoutTests

Marking fast/text-autosizing/ios/text-autosizing-after-back.html as a flaky timeout on Mac and iOS
https://bugs.webkit.org/show_bug.cgi?id=157589

Unreviewed test gardening.

  • TestExpectations:
  • platform/ios-simulator-wk1/TestExpectations:
  • platform/ios-simulator-wk2/TestExpectations:
  • platform/mac-wk1/TestExpectations:
  • platform/mac-wk2/TestExpectations:
09:46 Changeset [201288] by beidson@apple.com
  • 3 edits in trunk/Tools

check-webkit-style gets flags std::literals::chrono_literals as bad naming.
https://bugs.webkit.org/show_bug.cgi?id=157969

Reviewed by Alex Christensen.

  • Scripts/webkitpy/style/checkers/cpp.py:

(check_identifier_name_in_declaration):

  • Scripts/webkitpy/style/checkers/cpp_unittest.py:

(WebKitStyleTest.test_names):

09:41 Changeset [201287] by ryanhaddad@apple.com
  • 2 edits in trunk/LayoutTests

Marking fast/frames/crash-during-iframe-load-stop.html as a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=157849

Unreviewed test gardening.

08:53 Changeset [201286] by carlosgc@webkit.org
  • 4 edits
    3 adds in releases/WebKitGTK/webkit-2.12

Merge r198592 - JavaScriptCore ArrayPrototype::join shouldn't cache butterfly when it makes effectful calls
https://bugs.webkit.org/show_bug.cgi?id=155776

Reviewed by Saam Barati.

Source/JavaScriptCore:

Array.join ends up calling toString, possibly on some object. Since these calls
could be effectful and could change the array itself, we can't hold the butterfly
pointer while making effectful calls. Changed the code to fall back to the general
case when an effectful toString() call might be made.

  • runtime/ArrayPrototype.cpp:

(JSC::join):

  • runtime/JSStringJoiner.h:

(JSC::JSStringJoiner::appendWithoutSideEffects): New helper that doesn't make effectful
toString() calls.
(JSC::JSStringJoiner::append): Built upon appendWithoutSideEffects.

LayoutTests:

New test.

  • js/regress-155776-expected.txt: Added.
  • js/regress-155776.html: Added.
  • js/script-tests/regress-155776.js: Added.

(fillBigArrayViaToString):
(Function.prototype.toString):

08:52 Changeset [201285] by carlosgc@webkit.org
  • 1 edit in releases/WebKitGTK/webkit-2.12/Source/WebCore/ChangeLog

Some media tests are flaky.
https://bugs.webkit.org/show_bug.cgi?id=155614

Reviewed by Eric Carlson.

  • html/track/TextTrack.cpp:

(WebCore::TextTrack::~TextTrack):

06:42 WebKitGTK/2.12.x edited by carlosgc@webkit.org
(diff)
06:41 Changeset [201284] by carlosgc@webkit.org
  • 4 edits in releases/WebKitGTK/webkit-2.12

Merge r197886 - [cmake] Fixed All-in-One build.
https://bugs.webkit.org/show_bug.cgi?id=155241

Patch by Konstantin Tokarev <annulen@yandex.ru> on 2016-03-09
Reviewed by Csaba Osztrogonác.

.:

  • Source/cmake/WebKitMacros.cmake: Last item of WebCore_SOURCES was

not removed in PROCESS_ALLINONE_FILE.

Source/WebCore:

No new tests needed.

  • bindings/js/JSBindingsAllInOne.cpp: Should not include generated

file.

06:37 Changeset [201283] by carlosgc@webkit.org
  • 4 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore

Merge r201163 - [GStreamer] unrelated codecs required to play videos
https://bugs.webkit.org/show_bug.cgi?id=135972

Reviewed by Michael Catanzaro.

Instead of hard-coding the list of supported mime-types, check the
decoder and demuxer GStreamer elements available and dynamically
build the list of mime-types accordingly. This patch also removes
support for under-used and exotic mime-types.

Based on a patch by Mario Sanchez Prada.

No new tests, existing media tests cover this change.

  • platform/graphics/gstreamer/GStreamerUtilities.cpp:

(WebCore::gstRegistryHasElementForMediaType): New function
checking the elements registered in the factories have a sink pad
matching the caps specified as second argument of the function.

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

(WebCore::mimeTypeSet): Hard-coded list of mime-types replaced by
runtime-built list of mime-types that can be supported by the
GStreamer decoders and demuxers available on the host machine.
(WebCore::MediaPlayerPrivateGStreamer::getSupportedTypes):
mimeTypeCache renamed to mimeTypeSet.
(WebCore::MediaPlayerPrivateGStreamer::supportsType): Ditto.

06:34 Changeset [201282] by carlosgc@webkit.org
  • 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore

Merge r201078 - [GStreamer] webaudio crash on ARM platforms
https://bugs.webkit.org/show_bug.cgi?id=157838

Reviewed by Michael Catanzaro.

  • platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:

(webKitWebAudioSrcConstructed): Explicitely cast the integer value
of the max-bytes property to guint64 which is the expected type of
this property. The compiler can't guess this on its own.

06:34 Changeset [201281] by carlosgc@webkit.org
  • 3 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore

Merge r201077 - [GStreamer] webaudio playback improvements
https://bugs.webkit.org/show_bug.cgi?id=155228

Reviewed by Michael Catanzaro.

  • platform/audio/gstreamer/AudioDestinationGStreamer.cpp:

(WebCore::autoAudioSinkChildAddedCallback): Fix sink buffer-time
to 100ms to reduce playback latency.
(WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
Connect to child-added signal of autoaudiosink to be notified when
a real sink is added into the bin.

  • platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:

(webKitWebAudioSrcConstructed): Fine-tune blocksize of appsrc
according to the buffer size already configured on the src element.

06:22 Changeset [201280] by carlosgc@webkit.org
  • 3 edits
    3 adds in releases/WebKitGTK/webkit-2.12

Merge r201053 - REGRESSION(r192855): Math.random() always produces the same first 7 decimal points the first two invocations
https://bugs.webkit.org/show_bug.cgi?id=157805
<rdar://problem/26327851>

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2016-05-17
Reviewed by Geoffrey Garen.

Source/WTF:

  • wtf/WeakRandom.h:

(WTF::WeakRandom::setSeed):
Advance once to randomize the 32bit seed across the 128bit state
and avoid re-using 64bits of state in the second advance.

LayoutTests:

  • js/dom/math-random-initial-values-expected.txt: Added.
  • js/dom/math-random-initial-values.html: Added.
  • js/resources/math-random-initial-values-iframe.html: Added.

Test that less then 5% of the time, early Math.random invocations
produce very similiar values. Before this change we were failing
100%, but after we see similiar values mostly around 0-3%.

05:58 Changeset [201279] by carlosgc@webkit.org
  • 2 edits in releases/WebKitGTK/webkit-2.12/Source/bmalloc

Merge r201050 - REGRESSION: JetStream crashes on some iPhones
https://bugs.webkit.org/show_bug.cgi?id=157814

Reviewed by Michael Saboff.

  • bmalloc/Sizes.h: Reduce smallMax to 32kB.

Previous justification for 64kB was:

  • bmalloc/Sizes.h: Upped smallMax to 64kB. Upping to 32kB is pretty reasonable, since sizes between 16kB and 32kB share page sizes. I went all the way up to 64kB because the GC uses 64kB blocks, and also just for extra padding to ensure that large allocations are indeed rare.

It turns out that the bump to 64kB substantially increases our memory
high water mark on JetStream, leading to jetsam crashes. Also, there
doesn't seem to be a practical performance problem to putting objects in
the (32kB - 64kB) range in the large allocator.

05:52 Changeset [201278] by carlosgc@webkit.org
  • 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore

Merge r201023 - Regression(r177786): GlyphMetricsMap<T>::locatePageSlowCase() fills existing pages with unknown metrics
https://bugs.webkit.org/show_bug.cgi?id=157749

Reviewed by Antti Koivisto.

After r177786, GlyphMetricsMap<T>::locatePageSlowCase() would unconditionally fill
pages with unknown metrics. This patch updates the code to do so only if the page
is new, thus restoring the pre-r177786 behavior.

  • platform/graphics/GlyphMetricsMap.h:

(WebCore::GlyphMetricsMap::metricsForGlyph):
(WebCore::GlyphMetricsMap::setMetricsForGlyph):
(WebCore::GlyphMetricsMap::GlyphMetricsPage::GlyphMetricsPage):
(WebCore::GlyphMetricsMap::GlyphMetricsPage::fill):
(WebCore::GlyphMetricsMap::locatePage):
(WebCore::GlyphMetricsMap<T>::locatePageSlowCase):
(WebCore::GlyphMetricsMap::GlyphMetricsPage::metricsForGlyph): Deleted.
(WebCore::GlyphMetricsMap::GlyphMetricsPage::setMetricsForGlyph): Deleted.
(WebCore::GlyphMetricsMap::GlyphMetricsPage::setMetricsForIndex): Deleted.
(WebCore::GlyphMetricsMap<float>::unknownMetrics): Deleted.
(WebCore::GlyphMetricsMap<FloatRect>::unknownMetrics): Deleted.

05:36 Changeset [201277] by carlosgc@webkit.org
  • 3 edits
    4 adds in releases/WebKitGTK/webkit-2.12

Merge r200986 - heap use-after-free at WebCore::TimerBase::heapPopMin()
https://bugs.webkit.org/show_bug.cgi?id=157742
<rdar://problem/26236778>

Source/WebCore:

Reviewed by David Kilzer.

Tested by fast/frames/resources/crash-during-iframe-load-stop.html.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::stopForUserCancel): Protect m_frame from destruction while it is still
being used by the current stack frame.
(WebCore::FrameLoader::frameDetached): Ditto.
(WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy): Ditto.

LayoutTests:

Reviewed by Simon Fraser.

  • fast/frames/crash-during-iframe-load-stop-expected.txt: Added.
  • fast/frames/crash-during-iframe-load-stop.html: Added.
  • fast/frames/resources/crash-during-iframe-load-stop-inner.html: Added.
  • fast/frames/resources/crash-during-iframe-load-stop.html: Added.
05:33 Changeset [201276] by carlosgc@webkit.org
  • 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore

Merge r200971 - RenderLayer::hitTestList could mutate the list of candidate layers.
https://bugs.webkit.org/show_bug.cgi?id=157718
<rdar://problem/22556046>

Reviewed by Simon Fraser.

This patch ensures that we always start hittesting a clean render tree at EventHandler::hitTestResultAtPoint.

Speculative fix.

  • page/EventHandler.cpp:

(WebCore::EventHandler::hitTestResultAtPoint):

05:26 Changeset [201275] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[ThreadedCompositor] Ensure that the BitmapTexture used by CoordinatedBackingStoreTile matches the opacity of the painted surface
https://bugs.webkit.org/show_bug.cgi?id=157942

Patch by Miguel Gomez <magomez@igalia.com> on 2016-05-23
Reviewed by Žan Doberšek.

  • Shared/CoordinatedGraphics/CoordinatedBackingStore.cpp:

(WebKit::CoordinatedBackingStoreTile::swapBuffers):
Reset the BitmapTexture if it doesn't match the opacity required by the surface
that's being painted.

05:25 Changeset [201274] by carlosgc@webkit.org
  • 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore

Merge r200940 - [Cairo] GraphicsContext3D::ImageExtractor should use the correct size for copying non-image surfaces
https://bugs.webkit.org/show_bug.cgi?id=157580

Reviewed by Darin Adler.

GraphicsContext3D::ImageExtractor::extractImage() shouldn't use m_imageWidth
and m_imageHeight members when copying the non-image-backed Cairo surface into
the image-based replacement simply because these two are not initialized until
later in this method.

Instead, the size of the to-be-copied image should be queried via the
cairoSurfaceSize() utility function which properly handles Cairo surfaces of
different types.

  • platform/graphics/cairo/GraphicsContext3DCairo.cpp:

(WebCore::GraphicsContext3D::ImageExtractor::extractImage):

05:17 Changeset [201273] by carlosgc@webkit.org
  • 5 edits
    2 adds in releases/WebKitGTK/webkit-2.12

Merge r200923 - ToT WebKit doesn't show tooltip on perf dashboard's summary page
https://bugs.webkit.org/show_bug.cgi?id=157705

Reviewed by Darin Adler.

Source/WebCore:

The bug was caused by WebKit doesn't look for the title attribute across shadow boundaries.
Fixed it by using a newly added Node::parentNodeInComposedTree in HitTestResult::title.

Test: fast/shadow-dom/tooltip-on-composed-tree.html

  • dom/Node.cpp:

(WebCore::Node::parentInComposedTree): Added.

  • dom/Node.h:
  • rendering/HitTestResult.cpp:

(WebCore::HitTestResult::title): Fixed the bug.
(WebCore::HitTestResult::innerTextIfTruncated): Fixed a related bug when ShowsToolTipOverTruncatedText
is enabled. Unfortunately, there is no machinery to test this feature yet.

LayoutTests:

Added a regression test for finding a tooltip across shadow boundaries.

  • fast/shadow-dom/tooltip-on-composed-tree-expected.txt: Added.
  • fast/shadow-dom/tooltip-on-composed-tree.html: Added.
04:15 Changeset [201272] by carlosgc@webkit.org
  • 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore

Merge r200811 - VideoSinkGStreamer: plug a GstBuffer leak in webkitVideoSinkRequestRender()
https://bugs.webkit.org/show_bug.cgi?id=157617

Reviewed by Darin Adler.

Unref the newly-created GstBuffer object after creating the new GstSample
that's based on it. gst_sample_new() doesn't take the ownership of it.

Also, don't unref the GstBuffer object that's passed in to the
webkitVideoSinkRequestRender() function in case the allocation of the
replacement buffer fails. We don't have any ownership over that buffer
and it's not unreffed anywhere else in this function.

  • platform/graphics/gstreamer/VideoSinkGStreamer.cpp:

(webkitVideoSinkRequestRender):

04:10 Changeset [201271] by carlosgc@webkit.org
  • 4 edits
    2 adds in releases/WebKitGTK/webkit-2.12

Merge r200736 - Absolute positioned element is not placed properly when parent becomes the containing block.
https://bugs.webkit.org/show_bug.cgi?id=157455
<rdar://problem/26212568>

Reviewed by Simon Fraser.

When a container becomes a containing block, we need to check if there are any positioned boxes in its subtree
in order to "re-parent" them. It basically means that we remove them from RenderBlock::positionedDescendants map
and they'll get re-inserted during the next layout correctly.
This patch fixes the case when a container becomes the containing block by setting the transform property and its positioned
child gets misplaced.

Source/WebCore:

Test: fast/block/containing-block-changes.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::removePositionedObjectsIfNeeded):
(WebCore::RenderBlock::styleWillChange):

  • rendering/RenderBlock.h:

LayoutTests:

  • fast/block/containing-block-changes-expected.html: Added.
  • fast/block/containing-block-changes.html: Added.
04:03 Changeset [201270] by carlosgc@webkit.org
  • 19 edits
    1 copy
    2 moves in releases/WebKitGTK/webkit-2.12

Merge r200677 - [GTK] accessibility/aria-readonly.html is failing
https://bugs.webkit.org/show_bug.cgi?id=98357

Reviewed by Chris Fleizach.

Source/WebCore:

Add support for ATK_STATE_READ_ONLY and expose the value of aria-readonly
as an AtkObject attribute. In order to eliminate duplicate checks, remove
isReadOnly() and just use canSetAttributeValue(), moving all the logic into
AccessibilityNodeObject. Add AccessibilityObject::supportsARIAReadOnly() so
that we can explicitly expose the implicit value for aria-readonly on roles
which support this property. Also add support for ATK_STATE_CHECKABLE, both
because this state was missing and because it serves a similar function to
ATK_STATE_EDITABLE for the purpose of verifying exposure of toggle-able
elements that are not read-only.

Test: accessibility/form-control-value-settable.html

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::canSetValueAttribute):
(WebCore::AccessibilityNodeObject::isRequired): Deleted.
(WebCore::AccessibilityNodeObject::supportsRequiredAttribute): Deleted.

  • accessibility/AccessibilityNodeObject.h:
  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::supportsARIAReadOnly):
(WebCore::AccessibilityObject::ariaReadOnlyValue):

  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilityObject::isUnvisited): Deleted.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::clickPoint):
(WebCore::AccessibilityRenderObject::isOffScreen): Deleted.
(WebCore::AccessibilityRenderObject::anchorElement): Deleted.
(WebCore::AccessibilityRenderObject::internalLinkElement): Deleted.
(WebCore::AccessibilityRenderObject::textChanged): Deleted.
(WebCore::AccessibilityRenderObject::clearChildren): Deleted.
(WebCore::AccessibilityRenderObject::addImageMapChildren): Deleted.

  • accessibility/AccessibilityRenderObject.h:
  • accessibility/atk/WebKitAccessibleInterfaceText.cpp:

(getAttributeSetForAccessibilityObject):

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(webkitAccessibleGetAttributes):
(setAtkStateSetFromCoreObject):
(getInterfaceMaskFromObject):

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):

Source/WebKit/win:

Call AccessibilityNode::canSetValueAttribute() to determine if STATE_SYSTEM_READONLY
should be added and if editable text should be supported.

  • AccessibleBase.cpp:

(AccessibleBase::state):

  • AccessibleTextImpl.cpp:

(AccessibleText::deleteText):
(AccessibleText::insertText):
(AccessibleText::cutText):
(AccessibleText::pasteText):
(AccessibleText::replaceText):

Tools:

Add checks to isAttributeSettable() for ATK_STATE_READ_ONLY and the 'readonly'
AtkObject attribute along with ATK_STATE_CHECKABLE for toggle-able elements,
ATK_STATE_SELECTABLE for select elements, and ATK_STATE_FOCUSABLE combined
with range verification for inputs which implement AtkValue. The latter two
additions are admittedly a heuristic workaround for platform accessibility
API differences. But they should be sufficient to facilitate cross-platform
testing of isAttributeSettable() for form elements which lack ARIA attributes.

Bump the minimum version of at-spi2-core and at-spi2-atk
to 2.15.4 (earliest version that supports STATE_READ_ONLY).

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::AccessibilityUIElement::isAttributeSettable):

  • gtk/jhbuild.modules:

LayoutTests:

As part of this change, a new AtkObject attribute and state are being exposed.
Update two tests accordingly. Also unskip the previously-failing test. Lastly,
move the Mac form-control-value-settable.html test to the shared test set,
with a minor tweak to check the platform for several elements' expectations.

  • accessibility/form-control-value-settable.html: Moved to shared tests.
  • accessibility/gtk/xml-roles-exposed-expected.txt: Updated.
  • platform/gtk/TestExpectations: Unskipped previously-failing test.
  • platform/gtk/accessibility/form-control-value-settable-expected.txt: Added.
  • platform/gtk/accessibility/table-detection-expected.txt: Updated.
  • platform/mac/accessibility/form-control-value-settable-expected.txt: Moved.
04:03 WebKitGTK/2.12.x edited by carlosgc@webkit.org
(diff)
04:02 Changeset [201269] by carlosgc@webkit.org
  • 11 edits
    2 adds in releases/WebKitGTK/webkit-2.12

Merge r200369 - [ATK] accessibility/content-editable-as-textarea.html fails
https://bugs.webkit.org/show_bug.cgi?id=155353

Reviewed by Darin Adler.

Source/WebCore:

The test was timing out because it expected an AXValueChanged notification.
In ATK, AXValueChanged notifications are made for widgets which implement
the AtkValue interface (sliders, progress bars, etc.). We should be listening
for AXTextChanged instead.

In addition, for contenteditable elements, we should emit the notification on
the element itself. Because we were handling the notification in the same way
as native text controls (where the notification we receive from WebCore is for
StaticTextRole children), we were attempting to emit the notification from
the parent of the contenteditable.

Lastly, ATK's AccessibilityUIElement support had a number of unimplemented
methods that are being used as part of the previously-failing test. Those
methods are now implemented so that the ATK results are much more similar
to those on the Mac.

No new tests needed. The previously-failing test now passes.

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::childrenChanged):

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::isNonNativeTextControl):

  • accessibility/AccessibilityObject.h:
  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::textChanged):

  • accessibility/atk/AXObjectCacheAtk.cpp:

(WebCore::AXObjectCache::nodeTextChangePlatformNotification):

Tools:

The test was timing out because it expected an AXValueChanged notification.
In ATK, AXValueChanged notifications are made for widgets which implement
the AtkValue interface (sliders, progress bars, etc.). We should be listening
for AXTextChanged instead. AtkText's text-insert and text-remove have been
added to the AccessibilityNotificationHandler.

Also, ATK's AccessibilityUIElement support had a number of unimplemented
methods that are being used as part of the previously-failing test. Those
methods are now implemented so that the ATK results are much more similar
to those on the Mac.

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:

(WTR::AccessibilityNotificationHandler::connectAccessibilityCallbacks):

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::AccessibilityUIElement::stringAttributeValue):
(WTR::AccessibilityUIElement::rangeForLine):
(WTR::AccessibilityUIElement::boundsForRange):
(WTR::AccessibilityUIElement::attributedStringForRange):

LayoutTests:

Updated the test identified in the bug to listen for the appropriate
notification for ATK and created platform-specific expectations.

In addition, set-selected-text-range-contenteditable.html was timing out
due to the use of shouldBecomeEqual() with an assertion that is wrong for
ATK. Modifying the test so that it verifies the result appropriate for
each platform eliminates the timeout.

  • accessibility/content-editable-as-textarea.html: Updated.
  • accessibility/set-selected-text-range-contenteditable.html: Updated.
  • platform/gtk/TestExpectations: Unskipped the failing tests.
  • platform/gtk/accessibility/content-editable-as-textarea-expected.txt: Added.
  • platform/gtk/accessibility/set-selected-text-range-contenteditable-expected.txt: Added.
03:45 Changeset [201268] by carlosgc@webkit.org
  • 5 edits
    2 adds in releases/WebKitGTK/webkit-2.12

Merge r200622 - REGRESSION (r193610): Drop down menu doesn’t expand at allofbach.com
https://bugs.webkit.org/show_bug.cgi?id=157445

Reviewed by Simon Fraser.

When we don't run transitions (becasuse of to/from 'auto' values) we should also not
report the 'from' value and behave as if we finished the transition already.

Source/WebCore:

Test: fast/animation/height-auto-transition-computed-value.html

  • page/animation/KeyframeAnimation.cpp:

(WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty): This is a revert of
looping the 'to' value back to the first keyframe when reverse animation is at the start value (last keyframe).

  • platform/Length.cpp:

(WebCore::blend):

LayoutTests:

  • fast/animation/height-auto-transition-computed-value-expected.html: Added.
  • fast/animation/height-auto-transition-computed-value.html: Added.
  • imported/blink/transitions/transition-not-interpolable-expected.txt:
00:21 Changeset [201267] by carlosgc@webkit.org
  • 6 edits in trunk/Source/WebKit2

[GTK] Disk cache: enable speculative revalidation
https://bugs.webkit.org/show_bug.cgi?id=157125

Reviewed by Sergio Villar Senin.

  • NetworkProcess/soup/NetworkProcessSoup.cpp:

(WebKit::NetworkProcess::platformInitializeNetworkProcess):

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(webkitWebContextConstructed):

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeNetworkProcess):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::ensureNetworkProcess):

  • config.h:

05/22/16:

21:02 Changeset [201266] by sbarati@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed. Fixed debug assertion failures from r201235.

  • runtime/JSScope.cpp:

(JSC::abstractAccess):

18:35 Changeset [201265] by mitz@apple.com
  • 2 edits in trunk/Source/WTF

Added NSEventMaskMouseMoved to AppKitCompatibilityDeclarations.h.

Rubber-stamped by Anders Carlsson.

  • wtf/mac/AppKitCompatibilityDeclarations.h:
16:29 Changeset [201264] by bshafiei@apple.com
  • 1 copy in tags/Safari-602.1.32.5

New tag.

15:55 Changeset [201263] by ap@apple.com
  • 2 edits in trunk/Tools

RELEASE_ASSERT(TestController::singleton().isCurrentInvocation(testInvocation)) is sometimes hit when running tests
https://bugs.webkit.org/show_bug.cgi?id=157977
rdar://problem/20874156

Reviewed by David Kilzer.

  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::invoke): Be more certain to launch a new process when there was
a timeout detected. If we don't, there is a chance that the process is not quite frozen,
and will still send a response that we no longer expect.
(WTR::TestInvocation::dumpWebProcessUnresponsiveness): Print timeout details to stderr
too, as stdout is not available, at least not in the case that I was observing.

15:36 Changeset [201262] by mitz@apple.com
  • 2 edits in trunk/Source/WTF

Another attempt to fix the GTK build after my previous changes.

  • wtf/StdLibExtras.h:
15:31 Changeset [201261] by mitz@apple.com
  • 2 edits in trunk/Source/WTF

Tried to fix the GTK build after r201257.

  • wtf/StdLibExtras.h:
15:22 Changeset [201260] by mitz@apple.com
  • 2 edits in trunk/Source/WTF

Additional fixes for non-C++14 Apple projects that use WTF.

  • wtf/StdLibExtras.h:

(std::exchange):

15:21 Changeset [201259] by beidson@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Attempted Yosemite build fix after http://trac.webkit.org/changeset/201255

Suggested by and reviewed by Anders Carlsson.

  • b3/B3CCallValue.h: Initialize the effects member more conventionally.
15:19 Changeset [201258] by mitz@apple.com
  • 2 edits in trunk/Source/WTF

Additional fixes for non-C++14 Apple projects that use WTF.

  • wtf/StdLibExtras.h:

(std::make_unique):
(std::move):

15:04 Changeset [201257] by mitz@apple.com
  • 2 edits in trunk/Source/WTF

Correct the previous build fix attempt.

  • wtf/StdLibExtras.h:
14:10 Changeset [201256] by mitz@apple.com
  • 2 edits in trunk/Source/WTF

Build fix for non-C++14 Apple projects that use WTF.

Rubber-stamped by Anders.

  • wtf/StdLibExtras.h:
13:09 Changeset [201255] by beidson@apple.com
  • 37 edits in trunk

Move to C++14.
https://bugs.webkit.org/show_bug.cgi?id=157948

Reviewed by Michael Catanzaro.

.:

  • Source/cmake/OptionsCommon.cmake:

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:

No new tests (No change in behavior).

  • Configurations/Base.xcconfig:

Replace time literal suffixes that have underscores to the forms without
(e.g. 0_ms becomes 0ms):

  • page/mac/ServicesOverlayController.mm:

(WebCore::ServicesOverlayController::remainingTimeUntilHighlightShouldBeShown):

  • platform/graphics/cg/IOSurfacePool.cpp:

Source/WebInspectorUI:

  • Configurations/Base.xcconfig:

Source/WebKit/mac:

  • Configurations/Base.xcconfig:

Source/WebKit2:

  • Configurations/Base.xcconfig:

Replace time literal suffixes that have underscores to the forms without
(e.g. 0_ms becomes 0ms):

  • NetworkProcess/NetworkResourceLoadParameters.cpp:

(WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::startNetworkLoad):

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::responseHasExpired):
(WebKit::NetworkCache::responseNeedsRevalidation):
(WebKit::NetworkCache::makeStoreDecision):

  • NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:

(WebKit::NetworkCache::responseNeedsRevalidation):

  • NetworkProcess/cache/NetworkCacheStorage.cpp:

(WebKit::NetworkCache::Storage::dispatchReadOperation):
(WebKit::NetworkCache::Storage::store):
(WebKit::NetworkCache::computeRecordWorth):

  • Shared/mac/RemoteLayerBackingStoreCollection.mm:
  • UIProcess/ViewGestureController.cpp:
  • WebProcess/Network/WebLoaderStrategy.cpp:

(WebKit::maximumBufferingTime):

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::scheduleCompositingLayerFlushImmediately):
(WebKit::RemoteLayerTreeDrawingArea::scheduleCompositingLayerFlush):

Source/WTF:

  • Configurations/Base.xcconfig:

Delete a lot of "stl additions until we can adopt C++14" code:

  • wtf/StdLibExtras.h:

(std::make_unique): Deleted.
(std::index_sequence::size): Deleted.
(std::exchange): Deleted.
(std::literals::chrono_literals::operator _s): Deleted.
(std::literals::chrono_literals::operator _ms): Deleted.

Tools:

  • DumpRenderTree/mac/Configurations/Base.xcconfig:
  • MiniBrowser/Configurations/Base.xcconfig:
  • TestWebKitAPI/Configurations/Base.xcconfig:
  • WebKitTestRunner/Configurations/Base.xcconfig:
12:13 Changeset [201254] by sbarati@apple.com
  • 4 edits
    1 add in trunk

REGRESSION(r199075): String.prototype.replace fails after being used many times with different replace values
https://bugs.webkit.org/show_bug.cgi?id=157968
<rdar://problem/26404735>

Reviewed by Ryosuke Niwa and Filip Pizlo.

Source/JavaScriptCore:

There was a bug in the DFG where we were checking a condition
on the wrong variable.

  • dfg/DFGStrengthReductionPhase.cpp:

(JSC::DFG::StrengthReductionPhase::handleNode):

LayoutTests:

10:27 Changeset [201253] by cdumez@apple.com
  • 22 edits in trunk/Source

Remove uses of PassRefPtr in JS bindings code
https://bugs.webkit.org/show_bug.cgi?id=157949

Reviewed by Andreas Kling.

Remove uses of PassRefPtr in JS bindings code.

Source/JavaScriptCore:

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::queueMicrotask):

  • runtime/JSGlobalObject.h:

Source/WebCore:

  • bindings/js/JSDOMBinding.cpp:

(WebCore::jsArray):

  • bindings/js/JSDOMBinding.h:
  • bindings/js/JSDOMGlobalObject.cpp:

(WebCore::JSDOMGlobalObject::JSDOMGlobalObject):

  • bindings/js/JSDOMGlobalObject.h:
  • bindings/js/JSDOMGlobalObjectTask.cpp:

(WebCore::JSGlobalObjectTask::JSGlobalObjectTask):

  • bindings/js/JSDOMGlobalObjectTask.h:
  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::JSDOMWindowBase):
(WebCore::JSDOMWindowMicrotaskCallback::create):
(WebCore::JSDOMWindowMicrotaskCallback::call):
(WebCore::JSDOMWindowMicrotaskCallback::JSDOMWindowMicrotaskCallback):
(WebCore::JSDOMWindowBase::queueTaskToEventLoop):

  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/JSDOMWindowShell.cpp:

(WebCore::JSDOMWindowShell::finishCreation):
(WebCore::JSDOMWindowShell::setWindow):

  • bindings/js/JSDOMWindowShell.h:

(WebCore::JSDOMWindowShell::create):

  • bindings/js/JSWorkerGlobalScopeBase.cpp:

(WebCore::JSWorkerGlobalScopeBase::JSWorkerGlobalScopeBase):
(WebCore::JSWorkerGlobalScopeBase::queueTaskToEventLoop):

  • bindings/js/JSWorkerGlobalScopeBase.h:
  • bindings/objc/DOMCustomXPathNSResolver.h:
  • bindings/scripts/CodeGeneratorJS.pm:

(GetNativeTypeForCallbacks):

  • bindings/scripts/test/JS/JSTestCallback.cpp:

(WebCore::JSTestCallback::callbackWithSerializedScriptValueParam):
(WebCore::JSTestCallback::callbackWithStringList):

  • bindings/scripts/test/JS/JSTestCallback.h:
  • bindings/scripts/test/JS/JSTestCallbackFunction.cpp:

(WebCore::JSTestCallbackFunction::callbackWithSerializedScriptValueParam):
(WebCore::JSTestCallbackFunction::callbackWithStringList):

  • bindings/scripts/test/JS/JSTestCallbackFunction.h:
09:51 Changeset [201252] by bshafiei@apple.com
  • 3 edits in branches/safari-602.1.32-branch/Source/WebKit2

Merge r201246. rdar://problem/22524550

09:51 Changeset [201251] by bshafiei@apple.com
  • 2 edits in branches/safari-602.1.32-branch/Source/WebCore

Merge r201241. rdar://problem/26396532

09:51 Changeset [201250] by bshafiei@apple.com
  • 2 edits in branches/safari-602.1.32-branch/Source/WebCore

Merge r201229. rdar://problem/26396532

09:51 Changeset [201249] by bshafiei@apple.com
  • 2 edits in branches/safari-602.1.32-branch/Source/WebCore

Merge r201233. rdar://problem/26397571

09:45 Changeset [201248] by bshafiei@apple.com
  • 5 edits in branches/safari-602.1.32-branch/Source

Versioning.

03:58 Changeset [201247] by ossy@webkit.org
  • 2 edits in trunk

Suppress -Wmissing-field-initializers warnings with GCC 4.9
https://bugs.webkit.org/show_bug.cgi?id=157888

Reviewed by Michael Catanzaro.

  • Source/cmake/WebKitHelpers.cmake:

05/21/16:

21:19 WebKitGTK/2.12.x edited by mcatanzaro@igalia.com
I'm in X, let's copy/paste (diff)
16:52 Changeset [201246] by aestes@apple.com
  • 3 edits in trunk/Source/WebKit2

REGRESSION (r188642): All pages are blank when printing a webpage in iOS Safari
https://bugs.webkit.org/show_bug.cgi?id=157924
rdar://problem/22524550

Reviewed by Sam Weinig.

When UIPrintInteractionController asks WKWebView to print a webpage, it does so in several phases. First we're
asked to compute the page count, followed later by a series of messages asking us to draw each page into a
provided CGContext.

When asked for the page count, we send a message to the Web process instructing it to compute and
return the page count synchronously and then immediately start drawing the page for printing. If the drawing has
finished by the time we're asked to print the first page, then we can do so without waiting. But if it hasn't
then we block by calling Connection::waitForMessage(), passing std::chromo::milliseconds::max() as the relative
timeout.

Prior to r188642, Connection::waitForMessage() called std::condition_variable::wait_for(), which takes a
relative timeout value. r188642 replaced this with WTF::Condition::waitUntil(), which takes an absolute timeout
instead. To convert from relative to absolute, this line was added to Connection::waitForMessage():

Condition::Clock::time_point absoluteTimeout = Condition::Clock::now() + timeout;

std::chrono will convert both operands to a common duration type before performing the addition. When timeout
equals something very large, like milliseconds::max(), this conversion results in signed integer overflow,
giving absoluteTimeout a value less than Clock::now() and making waitForMessage time out immediately.

To fix this, compute how many milliseconds remain on our clock, and add the smaller of that and the timeout
value to Clock::now() to arrive at an absolute timeout.

  • Platform/IPC/Connection.cpp:

(IPC::Connection::waitForMessage):

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _printedDocument]): Removed an unnecessary nanoseconds-to-milliseconds conversion.

12:21 Changeset [201245] by mattbaker@apple.com
  • 14 edits in trunk/Source/WebInspectorUI

Web Inspector: Creating the CSSStyleDetailsSidebarPanel takes about 50ms (20%) of main load
https://bugs.webkit.org/show_bug.cgi?id=156707
<rdar://problem/25780404>

Reviewed by Timothy Hatcher.

This patch adds new View concepts, initialLayout and widthDidChange,
making it possible for hidden views to postpone the creation of their
UI subtree until they are shown for the first time.

Sidebar panels get this performance improvement by virtue of SidebarPanel
and StyleDetailsPanel, which trigger a layout when shown. This can be
removed once <https://webkit.org/b/150741> is fixed, and this is done
automatically by View.

  • UserInterface/Views/CSSStyleDeclarationTextEditor.js:

(WebInspector.CSSStyleDeclarationTextEditor):
Should subclass View.
(WebInspector.CSSStyleDeclarationTextEditor.prototype.layout):
(WebInspector.CSSStyleDeclarationTextEditor.prototype.get element): Deleted.
Handled in View base class.
(WebInspector.CSSStyleDeclarationTextEditor.prototype.updateLayout): Deleted.
Relocate to layout override, ignore unused parameter force.

  • UserInterface/Views/CSSStyleDetailsSidebarPanel.js:

(WebInspector.CSSStyleDetailsSidebarPanel):
Create the minimum required initial state and UI elements. Relocate
anything that can be lazy loaded to initialLayout.

(WebInspector.CSSStyleDetailsSidebarPanel.prototype.initialLayout):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype.sizeDidChange):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype.widthDidChange): Deleted.

  • UserInterface/Views/ComputedStyleDetailsPanel.js:

(WebInspector.ComputedStyleDetailsPanel):
Relocate anything that can be lazy loaded to initialLayout.
(WebInspector.ComputedStyleDetailsPanel.prototype.initialLayout):
(WebInspector.ComputedStyleDetailsPanel.prototype.shown): Deleted.
(WebInspector.ComputedStyleDetailsPanel.prototype.widthDidChange): Deleted.
Handled in View base class.

  • UserInterface/Views/DataGrid.js:

(WebInspector.DataGrid.prototype.layout):
Resize logic can be safely moved to sizeDidChange, since columns are
always initialized when the width changes.
(WebInspector.DataGrid.prototype.sizeDidChange):
Reposition headers, scrollbars.
(WebInspector.DataGrid.prototype._updateHeaderAndScrollbar):
Broke out header repositioning, which needs to be called whenever
column widths are initialized or the view size changes.

  • UserInterface/Views/NavigationBar.js:

(WebInspector.NavigationBar.prototype.layout):

  • UserInterface/Views/RulesStyleDetailsPanel.js:

(WebInspector.RulesStyleDetailsPanel.prototype.sizeDidChange):
(WebInspector.RulesStyleDetailsPanel.prototype.widthDidChange): Deleted.

  • UserInterface/Views/Sidebar.js:

(WebInspector.Sidebar.prototype._recalculateWidth):
Width changes need to be coordinated by the View base class, since the
initial layout must have occurred before handling a width change.
Force a layout with a resize layout reason.

  • UserInterface/Views/SidebarPanel.js:

(WebInspector.SidebarPanel.prototype.get displayName):
Drive-by style fix: add getter so that CSSStyleDetailsSidebarPanel
doesn't have to read the private property directly.

(WebInspector.SidebarPanel.prototype.shown):
Force a layout whenever the panel is shown.
(WebInspector.SidebarPanel.prototype.sizeDidChange):
(WebInspector.SidebarPanel):
(WebInspector.SidebarPanel.prototype.widthDidChange): Deleted.

  • UserInterface/Views/StyleDetailsPanel.js:

(WebInspector.StyleDetailsPanel.prototype.shown):
Schedule a layout when shown. A forced layout isn't necessary.
Unlike SidebarPanels, the initial state of style panels doesn't depend
on its layout, and can be safely initialized by the next rAF.

(WebInspector.StyleDetailsPanel.prototype.hidden):
Cancel a pending layout if the panel is hidden before the next AF.
(WebInspector.StyleDetailsPanel.prototype.widthDidChange): Deleted.
Not needed, defined in View base class.

  • UserInterface/Views/TimelineOverview.js:

(WebInspector.TimelineOverview.prototype.sizeDidChange):
(WebInspector.TimelineOverview.prototype.layout):
Moved resize logic to sizeDidChange.

  • UserInterface/Views/TimelineRuler.js:

(WebInspector.TimelineRuler.prototype.sizeDidChange):
(WebInspector.TimelineRuler.prototype.layout):
Moved resize logic to sizeDidChange.

  • UserInterface/Views/View.js:

(WebInspector.View):
(WebInspector.View.prototype.updateLayout):
(WebInspector.View.prototype.cancelLayout):
Allow a pending layout to be canceled. Useful when a view with a
pending layout is hidden before the layout occurs.

(WebInspector.View.prototype.get layoutReason):
Protected getter for subclasses that need to check the layout reason
outside sizeDidChange.

(WebInspector.View.prototype.initialLayout):
Subclass hook to create UI subtree the first time a layout occurs.
Called only once during the lifetime of the View.

(WebInspector.View.prototype.layout):
Drive-by comment fix.
(WebInspector.View.prototype.sizeDidChange):
New layout cycle hook for subclasses.
(WebInspector.View.prototype._layoutSubtree):
Do an initial layout the first time layout is called.
Call the sizeDidChange hook so that subclasses can update state
which depends on size/position before doing layout.

  • UserInterface/Views/VisualStyleDetailsPanel.js:

(WebInspector.VisualStyleDetailsPanel):
Create the minimum required initial state and UI elements. Relocate
anything that can be lazy loaded to initialLayout.

(WebInspector.VisualStyleDetailsPanel.prototype.refresh):
No changes, shifting line numbers confused the diff.
(WebInspector.VisualStyleDetailsPanel.prototype.initialLayout):
(WebInspector.VisualStyleDetailsPanel.prototype.sizeDidChange):
(WebInspector.VisualStyleDetailsPanel.prototype.widthDidChange): Deleted.

12:21 Changeset [201244] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

Simulator launch fails intermittently due to failure in checking simulator boot status
https://bugs.webkit.org/show_bug.cgi?id=157965
rdar://problem/26402404

Reviewed by Alexey Proskuryakov.

  • Scripts/webkitpy/xcode/simulator.py:

(Simulator.wait_until_device_is_booted): Ignore CalledProcessError exception while checking
whether simulator has finished booting.

11:42 Changeset [201243] by mattbaker@apple.com
  • 3 edits in trunk/Source/WebInspectorUI

Assertion Failed: StyleDetailsPanel.markAsNeedsRefresh() called with null domNode
https://bugs.webkit.org/show_bug.cgi?id=157955
<rdar://problem/26398943>

Reviewed by Timothy Hatcher.

CSSStyleDetailsSidebarPanel visible is true while the panel is being
removed from the details sidebar, even after calling hidden(). This
causes it to refresh its current StyleDetailsPanel with a null DOM node.

Unfortunately, SidebarPanel.visible isn't toggled by calling shown/hidden.
Since SidebarPanel.visible is only true if the panel is selected, we should
deselect panels before removing them.

  • UserInterface/Views/Sidebar.js:

(WebInspector.Sidebar.prototype.removeSidebarPanel):
Deselect the panel being removed before calling visibiltyDidChange.

  • UserInterface/Views/SidebarPanel.js:

(WebInspector.SidebarPanel.prototype.toggle): Deleted.
(WebInspector.SidebarPanel.prototype.willRemove): Deleted.
Drive-by update to remove some unused methods.

10:10 Changeset [201242] by mitz@apple.com
  • 3 edits in trunk/Tools

Silence warnings from svn propget when using newer versions of Subversion.
https://bugs.webkit.org/show_bug.cgi?id=157879

Reviewed by Daniel Bates.

  • Scripts/prepare-ChangeLog:

(attributeCommand): Redirect svn propget stderr to /dev/null.

  • Scripts/svn-create-patch:

(findMimeType): Ditto.

Note: See TracTimeline for information about the timeline view.