Timeline



Aug 31, 2015:

11:18 PM Changeset in webkit [189206] by Nikita Vasilyev
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Command-Enter for selected JS in Debugger/Sources shouldn't change the focus
https://bugs.webkit.org/show_bug.cgi?id=148613

Reviewed by Timothy Hatcher.

  • UserInterface/Views/ConsoleTabContentView.js:

(WebInspector.ConsoleTabContentView.prototype.shown):
Always focus on the console prompt when the console tab get selected.

  • UserInterface/Views/LogContentView.js:

(WebInspector.LogContentView.prototype.shown): Deleted.

10:23 PM Changeset in webkit [189205] by Chris Dumez
  • 7 edits in trunk

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

"Caused http/tests/navigation/anchor-frames-same-origin.html
to fail on WebKit1" (Requested by cdumez on #webkit).

Reverted changeset:

"http/tests/w3c/dom/nodes/Element-matches.html is flaky"
https://bugs.webkit.org/show_bug.cgi?id=148615
http://trac.webkit.org/changeset/189198

Patch by Commit Queue <commit-queue@webkit.org> on 2015-08-31

10:08 PM Changeset in webkit [189204] by ap@apple.com
  • 9 edits
    5 deletes in trunk/LayoutTests

Remove shadow DOM tests
https://bugs.webkit.org/show_bug.cgi?id=148669

Reviewed by Tim Horton.

  • accessibility/corresponding-control-deleted-crash.html: Removed.
  • editing/shadow: Removed.
  • editing/text-iterator/basic-iteration-shadowdom.html: Removed.
  • fast/dom/HTMLTemplateElement/cycles-in-shadow.html: Removed.
  • fast/dom/shadow: Removed.
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/ios-simulator-wk1/TestExpectations:
  • platform/ios-simulator-wk2/TestExpectations:
  • platform/ios-simulator/TestExpectations:
  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/win/TestExpectations:
10:00 PM Changeset in webkit [189203] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove unused #define
https://bugs.webkit.org/show_bug.cgi?id=148667

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-08-31
Reviewed by Benjamin Poulain.

  • platform/network/cf/ResourceResponseCFNet.cpp:
7:25 PM Changeset in webkit [189202] by Chris Dumez
  • 38 edits
    6 deletes in trunk

Range API is throwing wrong exception type
https://bugs.webkit.org/show_bug.cgi?id=148648

Reviewed by Ryosuke Niwa.

Source/WebCore:

The RangeException type does not exist in the latest DOM specification.
Instead, the Range API is throwing regular DOMExceptions [1]:
https://dom.spec.whatwg.org/#range

The error codes also differ. RangeException.INVALID_NODE_TYPE_ERR (2)
is replaced with DOMException.INVALID_NODE_TYPE_ERR (24).
RangeException.BAD_BOUNDARYPOINTS_ERR (1) is replaced by
DOMException.INVALID_STATE_ERR (11), as per:
https://dom.spec.whatwg.org/#dom-range-surroundcontents (step 1).

This patch aligns WebKit's behavior with the specification and with
other browsers (tested Firefox and Chrome).

[1] https://heycam.github.io/webidl/#dfn-DOMException

No new tests, covered by existing tests (rebaselined):
http/tests/w3c/dom/ranges/Range-comparePoint.html
http/tests/w3c/dom/ranges/Range-isPointInRange.html
http/tests/w3c/dom/ranges/Range-selectNode.html
http/tests/w3c/dom/ranges/Range-set.html
http/tests/w3c/dom/ranges/Range-surroundContents.html

  • CMakeLists.txt:
  • DerivedSources.cpp:
  • DerivedSources.make:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSExceptionBase.cpp:

(WebCore::toExceptionBase): Deleted.

  • dom/DOMAllInOne.cpp:
  • dom/DOMExceptions.in:
  • dom/Range.cpp:

(WebCore::Range::insertNode):
(WebCore::Range::checkNodeWOffset):
(WebCore::Range::checkNodeBA):
(WebCore::Range::selectNode):
(WebCore::Range::selectNodeContents):
(WebCore::Range::surroundContents):

  • dom/RangeException.cpp: Removed.
  • dom/RangeException.h: Removed.
  • dom/RangeException.idl: Removed.

Source/WebKit/win:

  • Interfaces/DOMWindow.idl:

Drop outdated comment.

LayoutTests:

Update / rebaseline tests. A lot of w3c tests progressed after this
change. However, some of our pre-existing layout tests were relying
on RangeException.

  • fast/dom/DOMException/RangeException-expected.txt: Removed.
  • fast/dom/DOMException/RangeException.html: Removed.
  • fast/dom/DOMException/resources/RangeException.js: Removed.
  • fast/dom/Range/range-compareNode.html:
  • fast/dom/Range/range-exceptions-expected.txt:
  • fast/dom/Range/range-intersectsNode-expected.txt:
  • fast/dom/Range/script-tests/range-exceptions.js:
  • fast/dom/Window/get-set-properties-expected.txt:
  • fast/dom/Window/get-set-properties.html:
  • fast/dom/Window/resources/window-properties.js:
  • http/tests/w3c/dom/ranges/Range-comparePoint-expected.txt:
  • http/tests/w3c/dom/ranges/Range-isPointInRange-expected.txt:
  • http/tests/w3c/dom/ranges/Range-selectNode-expected.txt:
  • http/tests/w3c/dom/ranges/Range-set-expected.txt:
  • http/tests/w3c/dom/ranges/Range-surroundContents-expected.txt:
  • platform/mac/fast/dom/Window/window-lookup-precedence-expected.txt:
7:05 PM Changeset in webkit [189201] by Yusuke Suzuki
  • 41 edits in trunk/Source

[ES6] Introduce ModuleProgramExecutable families and compile Module code to bytecode
https://bugs.webkit.org/show_bug.cgi?id=148581

Reviewed by Saam Barati.

Source/JavaScriptCore:

This patch introduces ModuleProgramExecutable, that is new executable type for the ES6 modules.
And related code block types, UninkedModuleProgramCodeBlock and ModuleProgramCodeBlock are also
introduced. BytecodeGenerator now recognizes these types and emits the bytecode and constructs
the symbol table for the module environment. While this patch introduces the bytecode generation
for the ES6 modules, the module environment instantiation initialization and imported binding
resolution are not included in this patch. They will be implemented in the subsequent patch.

The interesting part is the symbol table construction for the module environment.
Since the module code will be only executed once, the module environment need not to be allocated
and instantiated inside the module code; In the case of the function code, the function code need
to allocate the environment inside the prologue of it because the function code can be executed
more than once and the function environments are different in each time of the executions.
The module environment will be instantiated outside the module code before executing the module code.
This is required because we need to link the module environments to import the bindings before
executing the any module code in the dependency graph. And this is because the function inside the
module may be executed before the module top-level body is executed. (See the code comment for more
detailed situations)

The module environment will hold the top-most heap allocated variables in the module code.
This has the following benefits.
1) This enables JSC to perform the usual LocalClosureVar operations onto it.
2) It also makes the exported lexical variables just the heap allocated lexical variables.
3) Make it possible to initialize the heap allocated function declarations before executing the module

code. It is required under the circular dependency (see the code comment for more details).

To do so, the module environment will be constructed with the symbol table that is generated by the
bytecode generator. And the symbol table is held by the unlinked code block. That means, once the module
environment is instantiated, we cannot clear the unlinked code block before executing the module since
the layout of the instantiated module environment is coupled with the unlinked code block. This is OK
because the module code can be cleared once we executed the module code. If we failed to execute the
module (some errors occur), we can throw away the both, the module environment and the unlinked code block.

The unlinked module program code block holds the symbol table, but it does not hold the module environment.
So the unlinked module program code block can be cached. While unlinked code block can be cached, the linked
code block cannot be cached because it is already linked to the specific set of the module environment to
resolve the imported bindings.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/BytecodeList.json:
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::inferredName):
(JSC::ModuleProgramCodeBlock::replacement):
(JSC::ProgramCodeBlock::capabilityLevelInternal):
(JSC::ModuleProgramCodeBlock::capabilityLevelInternal):

  • bytecode/CodeBlock.h:

(JSC::ModuleProgramCodeBlock::ModuleProgramCodeBlock):
(JSC::EvalCodeBlock::EvalCodeBlock):
(JSC::FunctionCodeBlock::FunctionCodeBlock):

  • bytecode/CodeType.cpp:

(WTF::printInternal):

  • bytecode/CodeType.h:
  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::UnlinkedModuleProgramCodeBlock::visitChildren):
(JSC::UnlinkedModuleProgramCodeBlock::destroy):
(JSC::UnlinkedCodeBlock::visitChildren): Deleted.

  • bytecode/UnlinkedCodeBlock.h:

(JSC::UnlinkedCodeBlock::finishCreation): Deleted.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::generate):
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::instantiateLexicalVariables):
(JSC::BytecodeGenerator::emitPrefillStackTDZVariables):
(JSC::BytecodeGenerator::pushLexicalScopeInternal):

  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/NodesCodegen.cpp:

(JSC::emitProgramNodeBytecode):
(JSC::ProgramNode::emitBytecode):
(JSC::ModuleProgramNode::emitBytecode):
(JSC::ImportDeclarationNode::emitBytecode):
(JSC::ExportAllDeclarationNode::emitBytecode):
(JSC::ExportDefaultDeclarationNode::emitBytecode):
(JSC::ExportLocalDeclarationNode::emitBytecode):
(JSC::ExportNamedDeclarationNode::emitBytecode):

  • interpreter/Interpreter.cpp:

(JSC::StackFrame::friendlySourceURL):
(JSC::StackFrame::friendlyFunctionName):
(JSC::getStackFrameCodeType):

  • interpreter/Interpreter.h:
  • interpreter/StackVisitor.cpp:

(JSC::StackVisitor::Frame::codeType):
(JSC::StackVisitor::Frame::functionName):
(JSC::StackVisitor::Frame::sourceURL):

  • interpreter/StackVisitor.h:
  • jit/JIT.cpp:

(JSC::JIT::privateCompile):

  • llint/LLIntData.cpp:

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

  • llint/LLIntEntrypoint.cpp:

(JSC::LLInt::setModuleProgramEntrypoint):
(JSC::LLInt::setEntrypoint):

  • llint/LLIntOffsetsExtractor.cpp:
  • llint/LLIntThunks.cpp:

(JSC::LLInt::moduleProgramEntryThunkGenerator):

  • llint/LLIntThunks.h:
  • llint/LowLevelInterpreter.asm:
  • parser/ModuleAnalyzer.cpp:

(JSC::ModuleAnalyzer::exportVariable):

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseImportClauseItem):
(JSC::Parser<LexerType>::parseExportDeclaration):

  • parser/Parser.h:

(JSC::Scope::declareLexicalVariable):

  • parser/VariableEnvironment.h:

(JSC::VariableEnvironmentEntry::isImportedNamespace):
(JSC::VariableEnvironmentEntry::setIsImportedNamespace):
(JSC::VariableEnvironment::find):

  • runtime/CodeCache.cpp:

(JSC::CodeCache::getGlobalCodeBlock):
(JSC::CodeCache::getModuleProgramCodeBlock):

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

(JSC::ScriptExecutable::installCode):
(JSC::ScriptExecutable::newCodeBlockFor):
(JSC::ScriptExecutable::newReplacementCodeBlockFor):
(JSC::ModuleProgramExecutable::ModuleProgramExecutable):
(JSC::ModuleProgramExecutable::create):
(JSC::ModuleProgramExecutable::destroy):
(JSC::ModuleProgramExecutable::visitChildren):
(JSC::ModuleProgramExecutable::clearCode):
(JSC::ExecutableBase::dump):

  • runtime/Executable.h:

(JSC::ExecutableBase::isModuleProgramExecutable):
(JSC::ExecutableBase::clearCodeVirtual):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::createModuleProgramCodeBlock):

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

(JSC::JSModuleRecord::visitChildren):
(JSC::JSModuleRecord::link):

  • runtime/JSModuleRecord.h:

(JSC::JSModuleRecord::moduleProgramExecutable):

  • runtime/JSType.h:
  • runtime/ModuleLoaderObject.cpp:

(JSC::moduleLoaderObjectModuleDeclarationInstantiation):

  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:

Source/WebCore:

Add the ModuleProgramExecutable case.

  • testing/Internals.cpp:

(WebCore::Internals::parserMetaData):

5:29 PM Changeset in webkit [189200] by Brent Fulgham
  • 3 edits in trunk/Source/WebCore

[Win] WebKit cannot load pages based on "file://" URLs
https://bugs.webkit.org/show_bug.cgi?id=148596
<rdar://problem/22432585>

Reviewed by Dean Jackson.

  • platform/URL.cpp:

(WebCore::URL::URL): Work around bug that causes this assertion to fire on
the Apple Windows build.

  • platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp:

(WebCore::adjustMIMETypeIfNecessary): Added. If the URL is for a local file,
determine the MIME type based on extension. Otherwise use the default MIME type.
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveResponse): If
the CFURLResponse has no MIME type, call 'adjustMIMETypeIfNecessary'.

5:24 PM Changeset in webkit [189199] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Update Windows expectation for fast/events/wheelevent-basic.html after r188793.

  • platform/win/TestExpectations: This test used to fail, and now that it is

asynchronous, it times out.

5:22 PM Changeset in webkit [189198] by Chris Dumez
  • 7 edits in trunk

http/tests/w3c/dom/nodes/Element-matches.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=148615

Reviewed by Ryosuke Niwa.

Source/WebCore:

Several newly-imported w3c tests were flaky due to the :target
pseudo-class selectors sometimes giving different results. The
issue seems to be that this type of selector relies on the
Document::cssTarget() element to do the matching. We update
this cssTarget Element in FrameView's scrollToFragment() /
scrollToAnchor(). This is called from
scrollToFragmentWithParentBoundary() which is called by
FrameLoader's finishedParsing() and loadInSameDocument().

In the first one, it is called *after* calling checkComplete()
which fires the onload event. However, in the second method,
it is called *before*. This patch updates finishedParsing()
so that scrollToFragmentWithParentBoundary() is called *before*
firing the onload event, consistently with loadInSameDocument().
This makes sure that JavaScript executed in an onload event
handler will get accurate results for :target pseudo-class
selectors.

No new tests, covered by:
http/tests/w3c/dom/nodes/Element-matches.html
http/tests/w3c/dom/nodes/ParentNode-querySelector-All-xhtml.xhtml

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::finishedParsing):

LayoutTests:

Unskip the tests and rebaseline them now that the target pseudo selector
checks are consistently passing.

  • TestExpectations:
  • http/tests/w3c/dom/nodes/Element-matches-expected.txt:
  • http/tests/w3c/dom/nodes/ParentNode-querySelector-All-expected.txt:
  • http/tests/w3c/dom/nodes/ParentNode-querySelector-All-xhtml-expected.txt:
5:05 PM Changeset in webkit [189197] by ap@apple.com
  • 3 edits in trunk/LayoutTests

Skip Web Inspector debugger tests more thoroughly.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
5:04 PM Changeset in webkit [189196] by Yusuke Suzuki
  • 3 edits in trunk/Source/WebCore

The error handler of ReadableJSStream should own stream object
https://bugs.webkit.org/show_bug.cgi?id=148653

Reviewed by Sam Weinig.

ReadableJSStream's m_errorFunction does not own the readable stream.
So when this error callback is executed asynchronously through Promises,
the stream could be already destroyed.
The fulfill callback which is jointly configured with this error callback
owns the stream. However, when the promise is rejected, the following things
occur.

  1. Promise clears the fulfill handlers immediately.
  2. queue the reject handlers to the microtask queue.
  3. When draining the microtasks, the rejected handler will be executed.

At the time of 2 or 3, the references to the fulfill handlers are already discarded.
So when GC occurs at the time of 2 or 3, it will collect the fulfill handlers and the
stream object owned by the fulfill handlers even if the error callback will touch the
stream object later.

Before r189124, this fault does not occur. This is because the std::function in the
fulfill handler is not destroyed before that patch. Since the std::function owns the
stream object, the std::function and the stream object were leaked and never destroyed.
After that patch, the std::function in the fulfill handler becomes destroyed. And it
makes this fault happen.

In this patch, we separate the error callback from the stream object. Previously, the
error callback resides in the stream object as the member. To avoid the cyclic references,
this error callback did not own the stream object. But this causes this fault.
Instead of caching the error callback in the stream object, we always create the error
callback, when it is needed. The created error callback owns the stream object as well as
the fulfill callbacks owns the stream object.

No behavior change.

  • bindings/js/ReadableJSStream.cpp:

(WebCore::createGenericErrorRejectedFunction):
(WebCore::ReadableJSStream::doStart):
(WebCore::ReadableJSStream::doPull):
(WebCore::ReadableJSStream::ReadableJSStream): Deleted.

  • bindings/js/ReadableJSStream.h:
4:44 PM Changeset in webkit [189195] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Modify prepare-Changelog to be aware of files that are marked as tests as well as files
that are marked as requiring corresponding tests.
https://bugs.webkit.org/show_bug.cgi?id=148498
<rdar://problem/21555314>

Patch by Jason Marcell <jmarcell@apple.com> on 2015-08-31
Reviewed by Dan Bernstein and David Kilzer.

  • Scripts/prepare-ChangeLog: Added "attributeCache" to cache Subversion properties in order to

simulate Git's attribute behevaior.
(main): Added "requiresTests" array to contain files that require tests.
(generateNewChangeLogs): Checks "requiresTests" array to determine whether to inject "tests"
section in ChangeLog.
(attributeCommand): Queries a given file for a given Git attribute value. If using Subversion,
however, we check if the file or any containing folder has the given property set to "1" and
return 1 if so; return 0 otherwise.
(generateFileList): Adds files to "requiresTests" array if Git attribute is set to "1". Also
adds files to "addedRegressionTests" array if "test" attribute is set to "1".

4:30 PM Changeset in webkit [189194] by basile_clement@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, build fix after r189292

  • bytecode/ValueRecovery.h:

(JSC::ValueRecovery::jsValueRegs): Deleted.

4:27 PM Changeset in webkit [189193] by aestes@apple.com
  • 34 edits
    4 adds in trunk

[Content Filtering] Determine navigation and content policy before continuing to filter a load
https://bugs.webkit.org/show_bug.cgi?id=148506

Reviewed by Brady Eidson.

Source/WebCore:

Prior to this change, ContentFilter would hide from DocumentLoader all CachedRawResourceClient callbacks until
a decision was made, then replay the missed callbacks. This approach interacted poorly with some features of
the loader, notably appcache and downloads. In the case of appcache, DocumentLoader might not have a chance to
check for substitute data until the original load has finished, wasting bandwidth, and might receive duplicate
or out-of-order callbacks. In the case of downloads, it would often be too late to convert the existing
connection to a download, leading to restarted downloads or outright failures.

Bandaids were put in place for these issues in r188150, r188486, and r188851 to fix crashes or serious
regressions in behavior, but these weren't complete fixes. They did not solve any of the duplicate data loading
problems, and they did not make downloads work reliably in all cases.

This patch rolls out the bandaids (but keeps their tests) and replaces them with a more robust fix. Instead of
hiding callbacks from DocumentLoader, ContentFilter now delivers willSendRequest(), redirectReceived(), and
responseReceived() to DocumentLoader immediately, and cancels filtering if DocumentLoader decides to ignore the
load, download it, or load substitute data. ContentFilter continues to buffer incoming data to prevent partial
rendering of blocked content.

The existing tests for r188150 and r188851 were kept, the test for r188486 was rewritten to be specific to
content filtering, and new tests were added to cover the case where ContentFilter is still undecided after a
load finishes.

Tests: contentfiltering/allow-never.html

contentfiltering/block-never.html
ContentFiltering.AllowDownloadAfterAddData
ContentFiltering.AllowDownloadAfterFinishedAddingData
ContentFiltering.AllowDownloadAfterRedirect
ContentFiltering.AllowDownloadAfterResponse
ContentFiltering.AllowDownloadAfterWillSendRequest
ContentFiltering.AllowDownloadNever
ContentFiltering.BlockDownloadAfterAddData
ContentFiltering.BlockDownloadAfterFinishedAddingData
ContentFiltering.BlockDownloadAfterRedirect
ContentFiltering.BlockDownloadAfterResponse
ContentFiltering.BlockDownloadAfterWillSendRequest
ContentFiltering.BlockDownloadNever

  • bindings/js/JSMockContentFilterSettingsCustom.cpp:

(WebCore::JSMockContentFilterSettings::decisionPoint): Taught to handle DecisionPoint::Never, and rewrote to
not need a set of const uint8_ts that mirror the DecisionPoint enum.
(WebCore::JSMockContentFilterSettings::setDecisionPoint): Ditto.
(WebCore::toJSValue): Rewrote to not need a set of const uint8_ts that mirror the Decision enum.
(WebCore::toDecision): Ditto.

  • loader/ContentFilter.cpp:

(WebCore::ContentFilter::createIfEnabled): Renamed from createIfNeeded, and changed to take a DocumentLoader&
instead of a DecisionFunction.
(WebCore::ContentFilter::ContentFilter):
(WebCore::ContentFilter::responseReceived): If m_state != Blocked after filtering, call DocumentLoader::responseReceived().
(WebCore::ContentFilter::dataReceived): If m_state == Allowed after filtering, deliver buffered data to DocumentLoader.
If no filtering was necessary, call DocumentLoader::dataReceived() directly.
(WebCore::ContentFilter::redirectReceived): If m_state != Blocked after filtering, call DocumentLoader::redirectReceived().
(WebCore::ContentFilter::notifyFinished): If an error occured, call DocumentLoader::notifyFinished() immediately and return.
If m_state != Blocked after filtering, deliver buffered data to DocumentLoader and call DocumentLoader::notifyFinished().
If no filtering was necessary and m_state != Blocked, call DocumentLoader::notifyFinished() directly.
(WebCore::ContentFilter::didDecide): Called DocumentLoader::contentFilterDidDecide() instead of m_decisionFunction().
(WebCore::ContentFilter::deliverResourceData): Added a helper function to deliver buffered data to DocumentLoader.
(WebCore::ContentFilter::createIfNeeded): Renamed to createIfEnabled().

  • loader/ContentFilter.h:
  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::DocumentLoader):
(WebCore::DocumentLoader::willSendRequest): Stopped asserting that redirectResponse is null and made it part of
the if condition instead, since willSendRequest() will now be called on redirects when there is an active ContentFilter.
(WebCore::DocumentLoader::startLoadingMainResource): Called becomeMainResourceClient() instead of becomeMainResourceClientIfFilterAllows().
(WebCore::DocumentLoader::becomeMainResourceClient): Renamed from becomeMainResourceClientIfFilterAllows().
Only called ContentFilter::startFilteringMainResource() if the filter state is Initialized, since ContentFilter
might have already made a decision in willSendRequest().
(WebCore::DocumentLoader::contentFilterDidDecide): Stopped deleting m_contentFilter, since it will continue to deliver callbacks
even after making a decision. Fixed a bug where we were creating two copies of ContentFilter's replacement data.
(WebCore::DocumentLoader::syntheticRedirectReceived): Deleted.
(WebCore::DocumentLoader::becomeMainResourceClientIfFilterAllows): Renamed to becomeMainResourceClient().

  • loader/DocumentLoader.h:
  • loader/EmptyClients.h:
  • loader/FrameLoaderClient.h:
  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::willSendRequestInternal): Removed part of r188851.

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::didReceiveResponse): Removed part of r188486.

  • loader/SubresourceLoader.h:
  • loader/cache/CachedRawResource.cpp:

(WebCore::CachedRawResource::didAddClient): Removed part of r188150.

  • loader/cache/CachedRawResourceClient.h:

(WebCore::CachedRawResourceClient::syntheticRedirectReceived): Removed part of r188150.

  • testing/MockContentFilterSettings.h: Defined DecisionPoint::Never.
  • testing/MockContentFilterSettings.idl: Defined DECISION_POINT_NEVER.

Source/WebKit/mac:

Deleted parts of r188486 and r188851.

  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::convertMainResourceLoadToDownload):
(WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):

Source/WebKit/win:

Deleted part of r188851.

  • WebCoreSupport/WebFrameLoaderClient.cpp:

(WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):

  • WebCoreSupport/WebFrameLoaderClient.h:

Source/WebKit2:

Deleted parts of r188486 and r188851.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::convertMainResourceLoadToDownload):

Tools:

Added download API tests covering every decision and decision point.
Removed _WKDownload.AsynchronousDownloadPolicy in favor of these new tests.

  • TestWebKitAPI/Configurations/Base.xcconfig: Added $(BUILT_PRODUCTS_DIR)/WebCoreTestSupport to the header search path.
  • TestWebKitAPI/Configurations/WebProcessPlugIn.xcconfig: Removed it from here.
  • TestWebKitAPI/Tests/WebKit2Cocoa/BundleParametersPlugIn.mm:

(-[BundleParametersPlugIn observeValueForKeyPath:ofObject:change:context:]): Called -valueForKeyPath:, which
returns an id, instead of -valueForKey:, which always returns an NSString even if the object is of another type.

  • TestWebKitAPI/Tests/WebKit2Cocoa/ContentFiltering.mm: Added a class that can send a MockContentFilter

decision and decision point as a bundle parameter.
(+[MockContentFilterEnabler supportsSecureCoding]):
(-[MockContentFilterEnabler copyWithZone:]):
(-[MockContentFilterEnabler initWithCoder:]):
(-[MockContentFilterEnabler initWithDecision:decisionPoint:]):
(-[MockContentFilterEnabler encodeWithCoder:]):
(configurationWithContentFilterSettings): Added a helper function to create a WKWebViewConfiguration with MockConentFilter settings.
(TEST): Renamed ContentFiltering.ServerRedirect to ContentFiltering.URLAfterServerRedirect.
(-[BecomeDownloadDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]): Decided _WKNavigationResponsePolicyBecomeDownload.
(-[BecomeDownloadDelegate webView:didFailProvisionalNavigation:withError:]): Set isDone to true.
(-[BecomeDownloadDelegate webView:didFinishNavigation:]): Ditto.
(-[ContentFilteringDownloadDelegate _downloadDidStart:]): Set downloadDidStart to true.
(downloadTest): Added a helper function to test downloads with a given decision and decision point.

  • TestWebKitAPI/Tests/WebKit2Cocoa/ContentFilteringPlugIn.mm: Added a corresponding bundle class that decodes

the MockContentFilter decision and decision point, and sets these values in the MockContentFilterSettings
singleton. This class is duplicated in the bundle to prevent TestWebKitAPI from having to link to WebCoreTestSupport.
(+[MockContentFilterEnabler supportsSecureCoding]):
(-[MockContentFilterEnabler copyWithZone:]):
(-[MockContentFilterEnabler initWithCoder:]):
(-[MockContentFilterEnabler dealloc]):
(-[MockContentFilterEnabler encodeWithCoder:]):
(-[ContentFilteringPlugIn webProcessPlugIn:initializeWithObject:]): Start observing changes to the MockContentFilterEnabler key path.
(-[ContentFilteringPlugIn dealloc]): Stop observing.
(-[ContentFilteringPlugIn observeValueForKeyPath:ofObject:change:context:]): Store a MockContentFilterEnabler in _contentFilterEnabler.
(+[ServerRedirectPlugIn initialize]): Deleted.

  • TestWebKitAPI/Tests/WebKit2Cocoa/Download.mm:

(-[AsynchronousDownloadNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]): Deleted.
(-[AsynchronousDownloadDelegate _downloadDidStart:]): Deleted.
(TEST): Deleted.

LayoutTests:

Added tests for what happens if the content filter does not make a decision when the load finishes.

  • contentfiltering/allow-never-expected.html: Added.
  • contentfiltering/allow-never.html: Added.
  • contentfiltering/block-never-expected.html: Added.
  • contentfiltering/block-never.html: Added.
  • contentfiltering/resources/contentfiltering.js:
4:13 PM Changeset in webkit [189192] by basile_clement@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

ValueRecovery should distinguish between doubles in an FPR and JSValues in an FPR
https://bugs.webkit.org/show_bug.cgi?id=148336

Reviewed by Michael Saboff.

Currently, ValueRecovery::InFPR means "this is a *double* value in an
FPR". Let's change the semantics to be "this is a *JSValue* in an FPR"
(to match ValueRecovery::InGPR), and introduce
ValueRecovery::UnboxedDoubleInFPR to mean "this is a double value in an
FPR".

  • bytecode/ValueRecovery.cpp:

(JSC::ValueRecovery::dumpInContext):

  • bytecode/ValueRecovery.h:

(JSC::ValueRecovery::operator bool):
(JSC::ValueRecovery::inFPR):
(JSC::ValueRecovery::isInGPR):
(JSC::ValueRecovery::isInFPR):
(JSC::ValueRecovery::isInRegisters):
(JSC::ValueRecovery::isInJSStack):
(JSC::ValueRecovery::dataFormat):
(JSC::ValueRecovery::gpr):
(JSC::ValueRecovery::isInJSValueRegs):
(JSC::ValueRecovery::jsValueRegs):
(JSC::ValueRecovery::fpr):
(JSC::ValueRecovery::virtualRegister):
(JSC::ValueRecovery::constant):

  • dfg/DFGOSRExitCompiler32_64.cpp:

(JSC::DFG::OSRExitCompiler::compileExit):

  • dfg/DFGOSRExitCompiler64.cpp:

(JSC::DFG::OSRExitCompiler::compileExit):

  • dfg/DFGVariableEventStream.cpp:

(JSC::DFG::VariableEventStream::reconstruct):

3:53 PM Changeset in webkit [189191] by Alan Bujtas
  • 5 edits
    1 add
    4 deletes in trunk/LayoutTests

Repaint cleanup:
add-table-overpaint.html -> repaint rect tracking + [ Pass Failure] for now.
absolute-position-moved.html -> reftest.

Unreviewed.

  • TestExpectations:
  • fast/repaint/absolute-position-moved-expected.html: Added.
  • fast/repaint/absolute-position-moved-expected.png: Removed.
  • fast/repaint/absolute-position-moved-expected.txt: Removed.
  • fast/repaint/absolute-position-moved.html:
  • fast/repaint/add-table-overpaint-expected.png: Removed.
  • fast/repaint/add-table-overpaint-expected.txt:
  • fast/repaint/add-table-overpaint.html:
  • platform/gtk/fast/repaint/add-table-overpaint-expected.png: Removed.
3:49 PM Changeset in webkit [189190] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Debugger Popovers should work for object literal shorthand variables
https://bugs.webkit.org/show_bug.cgi?id=148603

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-08-31
Reviewed by Timothy Hatcher.

  • UserInterface/Controllers/CodeMirrorTokenTrackingController.js:

(WebInspector.CodeMirrorTokenTrackingController.prototype._processJavaScriptExpression):
Allow debugger popovers for object property shorthands, because they
are actually variables that have values. Previously we ignored property
name literals, because they were just property names until ES6.

  • UserInterface/Views/CodeMirrorAdditions.js:

Add a helper for walking through token types from a start position. It may be useful elsewhere.

3:39 PM Changeset in webkit [189189] by Matt Baker
  • 4 edits
    1 move
    1 add in trunk/Source/WebInspectorUI

Web Inspector: Move the Popover code out of the Breakpoint model object
https://bugs.webkit.org/show_bug.cgi?id=127328

Reviewed by Timothy Hatcher.

  • UserInterface/Controllers/BreakpointPopoverController.js: Added.

(WebInspector.BreakpointPopoverController):
(WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems.editBreakpoint):
(WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems.removeBreakpoint):
(WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems.toggleBreakpoint):
(WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems.toggleAutoContinue):
(WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems.revealOriginalSourceCodeLocation):
(WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems):
(WebInspector.BreakpointPopoverController.prototype.showEditBreakpointPopover):
(WebInspector.BreakpointPopoverController.prototype._createPopoverContent):
(WebInspector.BreakpointPopoverController.prototype._popoverToggleEnabledCheckboxChanged):
(WebInspector.BreakpointPopoverController.prototype._popoverConditionInputChanged):
(WebInspector.BreakpointPopoverController.prototype._popoverToggleAutoContinueCheckboxChanged):
(WebInspector.BreakpointPopoverController.prototype._popoverConditionInputKeyDown):
(WebInspector.BreakpointPopoverController.prototype._popoverActionsCreateAddActionButton):
(WebInspector.BreakpointPopoverController.prototype._popoverActionsAddActionButtonClicked):
(WebInspector.BreakpointPopoverController.prototype._popoverActionsInsertBreakpointActionView):
(WebInspector.BreakpointPopoverController.prototype.breakpointActionViewAppendActionView):
(WebInspector.BreakpointPopoverController.prototype.breakpointActionViewRemoveActionView):
(WebInspector.BreakpointPopoverController.prototype.breakpointActionViewResized):
(WebInspector.BreakpointPopoverController.prototype.willDismissPopover):
(WebInspector.BreakpointPopoverController.prototype.didDismissPopover):
Added controller class to encapsulate view logic previously located in WebInspector.Breakpoint.

  • UserInterface/Main.html:

Added and updated file paths.

  • UserInterface/Models/Breakpoint.js:

(WebInspector.Breakpoint.prototype.appendContextMenuItems.editBreakpoint): Deleted.
(WebInspector.Breakpoint.prototype.appendContextMenuItems.removeBreakpoint): Deleted.
(WebInspector.Breakpoint.prototype.appendContextMenuItems.toggleBreakpoint): Deleted.
(WebInspector.Breakpoint.prototype.appendContextMenuItems.toggleAutoContinue): Deleted.
(WebInspector.Breakpoint.prototype.appendContextMenuItems.revealOriginalSourceCodeLocation): Deleted.
(WebInspector.Breakpoint.prototype.appendContextMenuItems): Deleted.
(WebInspector.Breakpoint.prototype._popoverToggleEnabledCheckboxChanged): Deleted.
(WebInspector.Breakpoint.prototype._popoverConditionInputChanged): Deleted.
(WebInspector.Breakpoint.prototype._popoverToggleAutoContinueCheckboxChanged): Deleted.
(WebInspector.Breakpoint.prototype._popoverConditionInputKeyDown): Deleted.
(WebInspector.Breakpoint.prototype._editBreakpointPopoverContentElement): Deleted.
(WebInspector.Breakpoint.prototype._popoverActionsCreateAddActionButton): Deleted.
(WebInspector.Breakpoint.prototype._popoverActionsAddActionButtonClicked): Deleted.
(WebInspector.Breakpoint.prototype._popoverActionsInsertBreakpointActionView): Deleted.
(WebInspector.Breakpoint.prototype.breakpointActionViewAppendActionView): Deleted.
(WebInspector.Breakpoint.prototype.breakpointActionViewRemoveActionView): Deleted.
(WebInspector.Breakpoint.prototype.breakpointActionViewResized): Deleted.
(WebInspector.Breakpoint.prototype.willDismissPopover): Deleted.
(WebInspector.Breakpoint.prototype.didDismissPopover): Deleted.
(WebInspector.Breakpoint.prototype._showEditBreakpointPopover): Deleted.
Removed view logic.

  • UserInterface/Views/BreakpointPopoverController.css: Renamed from Source/WebInspectorUI/UserInterface/Views/Breakpoint.css.

(.popover .edit-breakpoint-popover-content):
(.popover .edit-breakpoint-popover-content.wide):
(.popover .edit-breakpoint-popover-content > label.toggle):
(.popover .edit-breakpoint-popover-content > table):
(.popover .edit-breakpoint-popover-content > table > tr > th):
(.popover .edit-breakpoint-popover-content > table > tr > td):
(#edit-breakpoint-popover-condition):
(#edit-breakpoint-popoover-auto-continue):

  • UserInterface/Views/SourceCodeTextEditor.js:

(WebInspector.SourceCodeTextEditor):
Creates a BreakpointPopoverController instance. The lifetime of the 'Edit Breakpoint' view is internal to the
controller, and can't be initiated outside of a context menu item click.

3:32 PM Changeset in webkit [189188] by Chris Dumez
  • 21 edits in trunk/Source/WebCore

Unreviewed, rebaseline bindings tests after r189184.

3:29 PM Changeset in webkit [189187] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[ES6] Arrow function syntax. Add missed tests for invoking the arrow function that created by 'eval' statement.
https://bugs.webkit.org/show_bug.cgi?id=148445

Patch by Aleksandr Skachkov <gskachkov@gmail.com> on 2015-08-31
Reviewed by Yusuke Suzuki.

Added tests, that cover cases, when arrow function is created by 'eval' statement and then invoking it.
This case was missed in previous patches that are related to arrow function, also it is important to
test different cases of ending arrow function in 'eval' and invoking created arrow function because
of reparsing during function invocation.

  • js/arrowfunction-syntax-endings-expected.txt:
  • js/script-tests/arrowfunction-syntax-endings.js:
3:01 PM Changeset in webkit [189186] by fpizlo@apple.com
  • 2 edits in trunk/Tools

Skip slow lock tests on Windows/debug
https://bugs.webkit.org/show_bug.cgi?id=148643

Reviewed by Alexey Proskuryakov.

The lock tests simulate a critical section by doing some floating point math, and then either
make those critical sections very long or invoke them many times. This appears to be
particularly slow on Windows in debug mode, maybe because Visual Studio's debug build makes
that kind of computation slow.

These tests are almost as useful in release as they are in debug, so it's probably better to
just skip the in debug on platforms where this causes timeouts.

  • TestWebKitAPI/Tests/WTF/Lock.cpp:

(TestWebKitAPI::runLockTest):
(TestWebKitAPI::skipSlow):
(TestWebKitAPI::TEST):

2:38 PM Changeset in webkit [189185] by Alan Bujtas
  • 4 edits
    1 add
    5 deletes in trunk/LayoutTests

Repaint cleanup:
absolute-position-change-containing-block.html -> repaint rect tracking.
absolute-position-changed.html -> reftest.

Unreviewed.

  • fast/repaint/absolute-position-change-containing-block-expected.png: Removed.
  • fast/repaint/absolute-position-change-containing-block-expected.txt:
  • fast/repaint/absolute-position-change-containing-block.html:
  • fast/repaint/absolute-position-changed-expected.html: Added.
  • fast/repaint/absolute-position-changed-expected.png: Removed.
  • fast/repaint/absolute-position-changed-expected.txt: Removed.
  • fast/repaint/absolute-position-changed.html:
  • platform/gtk/fast/repaint/absolute-position-change-containing-block-expected.png: Removed.
  • platform/mac/fast/repaint/absolute-position-changed-expected.png: Removed.
2:05 PM Changeset in webkit [189184] by Chris Dumez
  • 8 edits in trunk

NodeFilter.SHOW_ALL has wrong value on 32-bit
https://bugs.webkit.org/show_bug.cgi?id=148602

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

NodeFilter.SHOW_ALL has wrong value on 32-bit. This is because
NodeFilter.SHOW_ALL is an unsigned long whose value is 0xFFFFFFFF but
our bindings code is casting it to an intptr_t type which is not wide
enough on 32-bit.

  • create_hash_table:

Add extra curly brackets to initialize the union.

  • runtime/Lookup.h:

Use a union type to store either a struct containing 2 intptr_t members
(value1 / value2) or a large constant of type unsigned long long. When
storing a constant, we only need one of the values so this allows us to
support larger constants without increasing the actual HashTableValue
size.

Source/WebCore:

NodeFilter.SHOW_ALL has wrong value on 32-bit. This is because
NodeFilter.SHOW_ALL is an unsigned long whose value is 0xFFFFFFFF but
our bindings code is casting it to an intptr_t type which is not wide
enough on 32-bit.

No new tests, already covered by fast/dom/node-filter-interface.html
which is now unskipped on Windows / 32bit.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHashTableValueArray):
Generate extra curly brackets to initialize the new union member.
Also cast to long long the constant instead of intptr_t.

  • dom/NodeFilter.h:

Explicitly mark the enum underlying type to be an unsigned long
to make sure it can hold the value for SHOW_ALL on all platforms.
On Windows, it seems the default underlying type is an int for
e.g.

LayoutTests:

Unskip tests that are now passing on Windows / 32bit.

  • platform/win/TestExpectations:
1:57 PM Changeset in webkit [189183] by Matt Baker
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Rendering Frame tasks making up < 1% of the selection don't appear in the pie chart
https://bugs.webkit.org/show_bug.cgi?id=148549

Reviewed by Timothy Hatcher.

Small data points can be invisible or difficult to see in the pie chart. This patch introduces
a minimum slice size of 1.5% (determined by visual inspection) for chart items.

Legend items continue to show the original data point values, not the adjusted values used to
draw the chart slices.

  • UserInterface/Views/ChartDetailsSectionRow.js:

(WebInspector.ChartDetailsSectionRow):
(WebInspector.ChartDetailsSectionRow.prototype._updateLayout):
Adjust display values up or down as needed, so no data point is less than the
minimum and all chart slices still total 100%.

1:41 PM Changeset in webkit [189182] by Chris Dumez
  • 70 edits
    4 adds
    2 deletes in trunk

Range.detach() / NodeIterator.detach() should be no-ops as per the latest DOM specification
https://bugs.webkit.org/show_bug.cgi?id=148454

Reviewed by Ryosuke Niwa.

Source/WebCore:

Range.detach() / NodeIterator.detach() should be no-ops as per the
latest DOM specification:

These are already no-ops in Firefox:

and Chrome:

Tests: fast/dom/Range/range-detach-noop.html

fast/dom/node-iterator-detach-noop.html

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::selectText):
(WebCore::AccessibilityObject::stringForVisiblePositionRange):
(WebCore::AccessibilityObject::lengthForVisiblePositionRange):

  • accessibility/atk/WebKitAccessibleUtil.cpp:

(selectionBelongsToObject):

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper arrayOfTextForTextMarkers:attributed:]):
(-[WebAccessibilityObjectWrapper _convertToNSRange:]):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]):
(-[WebAccessibilityObjectWrapper _convertToNSRange:]):

  • bindings/scripts/CodeGeneratorGObject.pm:

(FunctionUsedToRaiseException):

  • dom/DocumentMarkerController.cpp:

(WebCore::DocumentMarkerController::addMarker):
(WebCore::DocumentMarkerController::addTextMatchMarker):
(WebCore::DocumentMarkerController::addDictationPhraseWithAlternativesMarker):
(WebCore::DocumentMarkerController::addDictationResultMarker):
(WebCore::DocumentMarkerController::removeMarkers):
(WebCore::DocumentMarkerController::markersInRange):
(DocumentMarkerController::setMarkersActive):
(DocumentMarkerController::hasMarkers):
(DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):

  • dom/NodeIterator.cpp:

(WebCore::NodeIterator::nextNode):
(WebCore::NodeIterator::previousNode):
(WebCore::NodeIterator::detach):
(WebCore::NodeIterator::NodeIterator): Deleted.
(WebCore::NodeIterator::nodeWillBeRemoved): Deleted.
(WebCore::NodeIterator::updateForNodeRemoval): Deleted.

  • dom/NodeIterator.h:

(WebCore::NodeIterator::nextNode):
(WebCore::NodeIterator::previousNode):

  • dom/NodeIterator.idl:
  • dom/Range.cpp:

(WebCore::Range::commonAncestorContainer):
(WebCore::Range::setStart):
(WebCore::Range::setEnd):
(WebCore::Range::collapse):
(WebCore::Range::isPointInRange):
(WebCore::Range::comparePoint):
(WebCore::Range::compareNode):
(WebCore::Range::compareBoundaryPoints):
(WebCore::Range::boundaryPointsValid):
(WebCore::Range::deleteContents):
(WebCore::Range::processContents):
(WebCore::Range::processContentsBetweenOffsets):
(WebCore::Range::processAncestorsAndTheirSiblings):
(WebCore::Range::extractContents):
(WebCore::Range::cloneContents):
(WebCore::Range::insertNode):
(WebCore::Range::toString):
(WebCore::Range::text):
(WebCore::Range::createContextualFragment):
(WebCore::Range::detach):
(WebCore::Range::cloneRange):
(WebCore::Range::surroundContents):
(WebCore::Range::checkDeleteExtract):
(WebCore::Range::containedByReadOnly):
(WebCore::Range::firstNode):
(WebCore::Range::shadowRoot):
(WebCore::Range::pastLastNode):
(WebCore::Range::absoluteTextRects):
(WebCore::Range::absoluteTextQuads):
(WebCore::Range::collectSelectionRects):
(WebCore::Range::formatForDebugger):
(WebCore::Range::contains):
(WebCore::rangesOverlap):
(WebCore::Range::getBorderAndTextQuads):
(WebCore::Range::boundingRectInternal):
(showTree):
(WebCore::checkForDifferentRootContainer): Deleted.
(WebCore::lengthOfContentsInNode): Deleted.
(WebCore::Range::processNodes): Deleted.
(WebCore::Range::checkNodeWOffset): Deleted.
(WebCore::Range::checkNodeBA): Deleted.
(WebCore::Range::setStartAfter): Deleted.
(WebCore::Range::setEndBefore): Deleted.
(WebCore::Range::setEndAfter): Deleted.
(WebCore::Range::selectNode): Deleted.
(WebCore::intervalsSufficientlyOverlap): Deleted.
(WebCore::coalesceSelectionRects): Deleted.
(WebCore::areRangesEqual): Deleted.
(WebCore::boundaryTextNodesSplit): Deleted.
(WebCore::Range::textNodeSplit): Deleted.
(WebCore::Range::expand): Deleted.

  • dom/Range.h:

(WebCore::Range::startContainer):
(WebCore::Range::endContainer):
(WebCore::Range::collapsed):
(WebCore::Range::commonAncestorContainer):

  • dom/Range.idl:
  • editing/AlternativeTextController.cpp:

(WebCore::AlternativeTextController::applyAlternativeTextToRange):
(WebCore::AlternativeTextController::handleAlternativeTextUIResult):
(WebCore::AlternativeTextController::markReversed):
(WebCore::AlternativeTextController::markCorrection):
(WebCore::AlternativeTextController::recordSpellcheckerResponseForModifiedCorrection):
(WebCore::AlternativeTextController::applyDictationAlternative):

  • editing/EditingStyle.cpp:

(WebCore::EditingStyle::styleAtSelectionStart):

  • editing/Editor.cpp:

(WebCore::Editor::canDeleteRange):
(WebCore::Editor::shouldDeleteRange):
(WebCore::Editor::advanceToNextMisspelling):
(WebCore::Editor::markMisspellingsOrBadGrammar):
(WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
(WebCore::correctSpellcheckingPreservingTextCheckingParagraph):
(WebCore::Editor::markAndReplaceFor):
(WebCore::Editor::changeBackToReplacedString):
(WebCore::Editor::firstRectForRange):
(WebCore::Editor::rangeOfString):
(WebCore::Editor::countMatchesForText):
(WebCore::Editor::scanRangeForTelephoneNumbers):
(WebCore::isFrameInRange): Deleted.

  • editing/EditorCommand.cpp:

(WebCore::expandSelectionToGranularity):
(WebCore::unionDOMRanges):

  • editing/FormatBlockCommand.cpp:

(WebCore::FormatBlockCommand::elementForFormatBlockCommand):

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::setSelectedRange):
(WebCore::FrameSelection::wordOffsetInRange):
(WebCore::FrameSelection::spaceFollowsWordInRange):
(WebCore::FrameSelection::selectionAtDocumentStart): Deleted.

  • editing/MarkupAccumulator.cpp:

(WebCore::MarkupAccumulator::appendText):

  • editing/SpellChecker.cpp:

(WebCore::SpellCheckRequest::SpellCheckRequest):
(WebCore::SpellChecker::isCheckable):

  • editing/SpellingCorrectionCommand.cpp:

(WebCore::SpellingCorrectionCommand::SpellingCorrectionCommand):

  • editing/TextCheckingHelper.cpp:

(WebCore::expandToParagraphBoundary):
(WebCore::TextCheckingParagraph::offsetTo):
(WebCore::TextCheckingParagraph::offsetAsRange):
(WebCore::TextCheckingHelper::findFirstMisspelling):
(WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar):
(WebCore::TextCheckingHelper::findFirstGrammarDetail):
(WebCore::TextCheckingHelper::isUngrammatical):
(WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange):

  • editing/TextIterator.cpp:

(WebCore::TextIterator::TextIterator):
(WebCore::TextIterator::node):
(WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
(WebCore::CharacterIterator::range):
(WebCore::characterSubrange):
(WebCore::BackwardsCharacterIterator::range):
(WebCore::TextIterator::rangeFromLocationAndLength):
(WebCore::TextIterator::getLocationAndLengthFromRange):
(WebCore::collapsedToBoundary):
(WebCore::findPlainText):
(WebCore::BackwardsCharacterIterator::BackwardsCharacterIterator): Deleted.
(WebCore::BackwardsCharacterIterator::advance): Deleted.
(WebCore::plainText): Deleted.

  • editing/VisibleUnits.cpp:

(WebCore::previousBoundary):

  • editing/cocoa/HTMLConverter.mm:

(HTMLConverter::_processText):
(HTMLConverter::_traverseNode):
(HTMLConverter::_traverseFooterNode):
(HTMLConverterCaches::cacheAncestorsOfStartToBeConverted):
(WebCore::editingAttributedStringFromRange):

  • editing/mac/EditorMac.mm:

(WebCore::Editor::adjustedSelectionRange):

  • editing/markup.cpp:

(WebCore::StyledMarkupAccumulator::renderedText):
(WebCore::StyledMarkupAccumulator::stringValueForRange):
(WebCore::highestAncestorToWrapMarkup):
(WebCore::createMarkupInternal):
(WebCore::createFullMarkup):
(WebCore::urlToMarkup): Deleted.

  • loader/archive/cf/LegacyWebArchive.cpp:

(WebCore::LegacyWebArchive::create):

  • page/ContextMenuController.cpp:

(WebCore::ContextMenuController::contextMenuItemSelected):

  • page/DOMSelection.cpp:

(WebCore::DOMSelection::deleteFromDocument):
(WebCore::DOMSelection::containsNode):

  • page/TextIndicator.cpp:

(WebCore::TextIndicator::createWithRange):

  • page/ios/FrameIOS.mm:

(WebCore::Frame::indexCountOfWordPrecedingSelection):
(WebCore::Frame::wordsInCurrentParagraph):

  • platform/win/PasteboardWin.cpp:

(WebCore::Pasteboard::writeRangeToDataObject):
(WebCore::Pasteboard::writeSelection):

  • rendering/RenderNamedFlowThread.cpp:

(WebCore::RenderNamedFlowThread::getRanges):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::absoluteBoundingBoxRectForRange):

Source/WebKit/mac:

Update Range API call sites to reflect changes.

  • WebView/WebImmediateActionController.mm:

(dictionaryPopupInfoForRange):

Source/WebKit/win:

Update Range API call sites to reflect changes.

  • DOMCoreClasses.cpp:

(DOMRange::startContainer):
(DOMRange::endContainer):
(DOMRange::collapsed):
(DOMRange::toString):

  • WebView.cpp:

(WebView::prepareCandidateWindow):
(WebView::onIMERequestCharPosition):
(WebView::firstRectForCharacterRangeForTesting): Deleted.

Source/WebKit2:

Update Range API call sites to reflect changes.

  • WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:

(-[WKDOMRange collapse:]):
(-[WKDOMRange startContainer]):
(-[WKDOMRange startOffset]):
(-[WKDOMRange endContainer]):
(-[WKDOMRange endOffset]):
(-[WKDOMRange isCollapsed]):
(-[WKDOMRange text]): Deleted.

  • WebProcess/WebPage/FindController.cpp:

(WebKit::FindController::getImageForFindMatch):
(WebKit::FindController::selectFindMatch):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::targetFrameForEditing):
(WebKit::WebPage::firstRectForCharacterRangeAsync): Deleted.

  • WebProcess/WebPage/efl/WebPageEfl.cpp:

(WebKit::targetFrameForEditing):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::rangeForWebSelectionAtPosition):
(WebKit::WebPage::rangeForBlockAtPoint):
(WebKit::containsRange):
(WebKit::unionDOMRanges):
(WebKit::WebPage::contractedRangeFromHandle):

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::dictionaryPopupInfoForRange):
(WebKit::WebPage::firstRectForCharacterRange): Deleted.

LayoutTests:

  • fast/dom/Range/bug-19527.html:
  • fast/dom/Range/detach-range-during-deletecontents-expected.txt:
  • fast/dom/Range/range-compareNode-expected.txt:
  • fast/dom/Range/range-compareNode.html:
  • fast/dom/Range/range-comparePoint.html:
  • fast/dom/Range/range-intersectsNode-exception-expected.txt: Removed.
  • fast/dom/Range/range-intersectsNode-exception.html: Removed.
  • fast/dom/Range/range-intersectsNode-expected.txt:
  • fast/dom/Range/range-isPointInRange.html:
  • fast/dom/Range/resources/intersectsNode.js:

Update / rebaseline tests.

  • fast/dom/Range/range-detach-noop-expected.txt: Added.
  • fast/dom/Range/range-detach-noop.html: Added.

New test checking that Range.detach() is a no-op.

  • fast/dom/node-iterator-detach-noop-expected.txt: Added.
  • fast/dom/node-iterator-detach-noop.html: Added.

New test checking that NodeIterator.detach() is a no-op.

1:41 PM Changeset in webkit [189181] by Michael Catanzaro
  • 3 edits in trunk/Source/bmalloc

Implement bmalloc::isASanEnabled for generic Unix
https://bugs.webkit.org/show_bug.cgi?id=148623

Reviewed by Geoffrey Garen.

  • bmalloc/BPlatform.h: Add BOS_UNIX to detect whether the OS is a Unix.
  • bmalloc/Environment.cpp:

(bmalloc::isASanEnabled): Implement a runtime check that should work on any Unix.

1:32 PM Changeset in webkit [189180] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

[Cocoa] Unify showGlyphsWithAdvances
https://bugs.webkit.org/show_bug.cgi?id=148565

Reviewed by Dean Jackson.

None of the fonts created for WebKit have the renderingMode of
NSFontAntialiasedIntegerAdvancementsRenderingMode and are already printer fonts.

No new tests because there is no behavior change.

  • platform/graphics/cocoa/FontCascadeCocoa.mm:

(WebCore::setCGFontRenderingMode):
(WebCore::FontCascade::drawGlyphs):

1:28 PM Changeset in webkit [189179] by clopez@igalia.com
  • 2 edits in trunk

[CMake] Build with Debug Fission on by default on Debug builds.
https://bugs.webkit.org/show_bug.cgi?id=148639

Reviewed by Martin Robinson.

  • Source/cmake/OptionsCommon.cmake:
11:40 AM Changeset in webkit [189178] by timothy_horton@apple.com
  • 10 edits in trunk/Source

iOS WebKit2 find-in-page doesn't support multi-line results, is often blank
https://bugs.webkit.org/show_bug.cgi?id=148599
<rdar://problem/17914031>

Reviewed by Beth Dakin.

  • WebProcess/WebPage/FindController.cpp:

(WebKit::FindController::findString):
(WebKit::FindController::didFindString):

  • WebProcess/WebPage/FindController.h:

Add didFindString() for FindControllerIOS.

  • WebProcess/WebPage/ios/FindControllerIOS.mm:

(WebKit::FindIndicatorOverlayClientIOS::drawRect):
(WebKit::FindController::updateFindIndicator):
(WebKit::setCompositionSelectionChangeEnabledInAllFrames):
(WebKit::FindController::willFindString):
(WebKit::FindController::didFindString):
(WebKit::FindController::didFailToFindString):
(WebKit::FindController::didHideFindIndicator):

  • WebProcess/WebPage/ios/FindIndicatorOverlayClientIOS.h:

(WebKit::FindIndicatorOverlayClientIOS::FindIndicatorOverlayClientIOS):
Adopt TextIndicator and shrink-wrapping.

We'll re-create the indicator if the device/page scale factor change;
this is the only case in which a TextIndicator sticks around when
page scale changes -- we should come up with a better model!

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::getClippedVisibleTextRectangles):
(WebCore::FrameSelection::getTextRectangles):

  • editing/FrameSelection.h:
  • page/TextIndicator.cpp:

(WebCore::initializeIndicator):

  • page/TextIndicator.h:

Make it possible to create a TextIndicator that isn't clipped to the visible rect,
because iOS find-in-page TextIndicators persist while scrolling the page,
and are already constrained to the document rect anyway.

11:31 AM Changeset in webkit [189177] by Antti Koivisto
  • 6 edits
    2 adds in trunk

Network Cache: Stale content after back navigation
https://bugs.webkit.org/show_bug.cgi?id=148634

Reviewed by Chris Dumez.

Source/WebKit2:

It is possible to get an older version of the previous page when navigating back. This can happen
if the main resource load has not completed before navigating away from the page.

Network cache entry is normally updated when the load completes. In case of cancellation we would leave
any existing entry as-is. However we render incrementally and user might have seen some content from
the partial load already. Navigating back to the cached page could show older version of the content.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::abort):

If a network load is canceled by the client after receiving response but before the load has completed
remove any existing cache entry for it.

LayoutTests:

  • http/tests/cache/disk-cache/disk-cache-302-status-code.html:
  • http/tests/cache/disk-cache/disk-cache-cancel-expected.txt: Added.
  • http/tests/cache/disk-cache/disk-cache-cancel.html: Added.
  • http/tests/cache/disk-cache/resources/cache-test.js:

Support delayed responses so we can test canceling the load.
Some minor improvements.

(makeHeaderValue):
(generateTestURL):
(loadResource):
(loadResourcesWithOptions):
(generateTests):

  • http/tests/cache/disk-cache/resources/generate-response.cgi:
11:15 AM Changeset in webkit [189176] by Alan Bujtas
  • 2 edits
    1 add
    7 deletes in trunk/LayoutTests

Repaint cleanup: 4776765.html. Use repaint rect tracking.

Unreviewed.

  • fast/repaint/4776765-expected.txt: Added.
  • fast/repaint/4776765.html:
  • platform/efl/fast/repaint/4776765-expected.png: Removed.
  • platform/efl/fast/repaint/4776765-expected.txt: Removed.
  • platform/gtk/fast/repaint/4776765-expected.png: Removed.
  • platform/gtk/fast/repaint/4776765-expected.txt: Removed.
  • platform/mac/fast/repaint/4776765-expected.png: Removed.
  • platform/mac/fast/repaint/4776765-expected.txt: Removed.
  • platform/win/fast/repaint/4776765-expected.txt: Removed.
11:08 AM Changeset in webkit [189175] by Brent Fulgham
  • 2 edits in trunk/WebKitLibraries

[Win] Unreviewed build fix.

  • win/lib32/WebKitSystemInterface.lib: Update with VS2015 build of this

library to avoid linker errors on build bots.

10:50 AM Changeset in webkit [189174] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed, mark a few tests as failing on Windows.

They will be fixed via Bug 148602.

  • platform/win/TestExpectations:
10:43 AM Changeset in webkit [189173] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed, mark new http/tests/w3c/dom/nodes/ParentNode-querySelector-All-xhtml.xhtml as flaky.

10:04 AM Changeset in webkit [189172] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Watchdog timer callback should release the lock before deref'ing the watchdog.
https://bugs.webkit.org/show_bug.cgi?id=148635

Reviewed by Filip Pizlo.

The deref'ing of the watchdog may free it. The lock may not be available to be unlocked
after the deref.

  • runtime/Watchdog.cpp:

(JSC::Watchdog::Watchdog):

9:53 AM Changeset in webkit [189171] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Add test expectations for:

Many Web Inspector tests are flaky timeouts
https://bugs.webkit.org/show_bug.cgi?id=148636

  • platform/mac/TestExpectations:
9:37 AM WebKitGTK/2.10.x edited by Michael Catanzaro
Propose r189170, r188973, r189133 (diff)
9:35 AM WebKitGTK/2.8.x edited by Michael Catanzaro
Propose r189170 (significant leak) and clarify request for r189133 (diff)
9:32 AM Changeset in webkit [189170] by Michael Catanzaro
  • 2 edits in trunk/Source/WebCore

[Freetype] FontCache::strengthOfFirstAlias leaks an FcPattern
https://bugs.webkit.org/show_bug.cgi?id=148624

Reviewed by Martin Robinson.

Using the normal RefPtr constructor causes the FcPattern to be reffed one extra time. Even
though the FcPattern is intentionally leaked to FcFontSetAdd down below, the FcPattern has
its own refcount and now it's screwed up. Just completely stop using RefPtr for these
FcPatterns, since the potential for confusion regarding leakRef combined with Fontconfig
refcounting far outweighs the benefit of using a smart pointer.

  • platform/graphics/freetype/FontCacheFreeType.cpp:

(WebCore::strengthOfFirstAlias):

9:30 AM Changeset in webkit [189169] by jfernandez@igalia.com
  • 13 edits in trunk

[CSS Grid Layout] auto-margins alignment does not work for heights
https://bugs.webkit.org/show_bug.cgi?id=148071

Reviewed by Sergio Villar Senin.

Source/WebCore:

We still had pending to align grid items horizontally via auto-margins
alignment. We already landed a patch in r188582 to implement the
column-axis alignment and this patch implements the expected behavior in
the row-axis.

This patch also removes the logic in RenderBox, so we reduce grid related
code dependencies in the general layout logic. We can do that because this
patch manages that in the layoutGridItems function by resetting grid item's
margin and logicalTop (if it does not need to perform a layout, which it
would do the job anyway).

No new tests, we just need to adapt some cases of the ones we already have.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::styleDidChange): Deleted.
(WebCore::RenderBox::willBeRemovedFromTree): Deleted.
(WebCore::RenderBox::updateFromStyle): Deleted.

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::layoutGridItems):
(WebCore::RenderGrid::resetAutoMarginsAndLogicalTopInColumnAxis):
(WebCore::RenderGrid::updateAutoMarginsInRowAxisIfNeeded):
(WebCore::RenderGrid::updateAutoMarginsInColumnAxisIfNeeded):
(WebCore::RenderGrid::hasAutoMarginsInRowAxis): Deleted.

  • rendering/RenderGrid.h:

LayoutTests:

Updated some test cases to adapt them to the new row-axis auto-margin alignment.

  • fast/css-grid-layout/grid-item-auto-margins-alignment-expected.txt:
  • fast/css-grid-layout/grid-item-auto-margins-alignment-vertical-lr-expected.txt:
  • fast/css-grid-layout/grid-item-auto-margins-alignment-vertical-lr.html:
  • fast/css-grid-layout/grid-item-auto-margins-alignment-vertical-rl-expected.txt:
  • fast/css-grid-layout/grid-item-auto-margins-alignment-vertical-rl.html:
  • fast/css-grid-layout/grid-item-auto-margins-alignment.html:
  • fast/css-grid-layout/grid-item-auto-margins-and-stretch.html:
9:15 AM Changeset in webkit [189168] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

Build fix.

  • page/EventHandler.h:

(WebCore::EventHandler::immediateActionStage): Don't export an inline function,
to avoid "weak external symbol" errors.

8:37 AM Changeset in webkit [189167] by enrica@apple.com
  • 5 edits in trunk

Incorrect cursor movement for U+26F9, U+1F3CB with variations.
https://bugs.webkit.org/show_bug.cgi?id=148629
rdar://problem/22492366

Reviewed by Ryosuke Niwa.

Source/WebCore:

Updating text break iterator rules to correctly handle those two emoji with variations.

  • platform/text/TextBreakIterator.cpp:

(WebCore::cursorMovementIterator):

LayoutTests:

The test has been updated to test these two emoji and to
cover the cursor movement as well.

  • editing/deleting/delete-emoji-expected.txt:
  • editing/deleting/delete-emoji.html:
7:53 AM WebInspectorTests edited by BJ Burg
Add more details about testing Web Inspector using modern classes. (diff)
3:54 AM Changeset in webkit [189166] by svillar@igalia.com
  • 6 edits in trunk

[css-grid] Grid containers reporting wrong preferred widths
https://bugs.webkit.org/show_bug.cgi?id=147486

Reviewed by Darin Adler.

Source/WebCore:

RenderGrid used to have its own overwritten version of
computePreferredLogicalWidths() because we didn't have an
implementation of computeIntrinsicLogicalWidths(). That
implementation was not as complete as RenderBlock's because it
was not taking into account min/max-width restrictions.

Provided that computeIntrinsicLogicalWidths() has been there
for some time we can safelly kill our overwrite and use
RenderBlock's version which addresses all the FIXMEs we had in
our code.

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

LayoutTests:

Added new test cases to check the preferred widths reported by
grid containers when they are sized under min/max-width
constraints.

  • fast/css-grid-layout/grid-preferred-logical-widths-expected.txt:
  • fast/css-grid-layout/grid-preferred-logical-widths.html:
1:51 AM Changeset in webkit [189165] by commit-queue@webkit.org
  • 6 edits in trunk/Source

Fix the WinCairo build after landing of webkit.org/b/148561.
https://bugs.webkit.org/show_bug.cgi?id=148627

Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-08-31
Reviewed by Myles C. Maxfield.

Source/WebCore:

No new tests, no behavior change.

  • platform/graphics/win/ImageCairoWin.cpp:

(WebCore::BitmapImage::getHBITMAPOfSize):

  • platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:

(WebCore::MediaPlayerPrivateMediaFoundation::paint):

  • platform/graphics/win/MediaPlayerPrivateMediaFoundation.h:

Source/WebKit/win:

  • WebCoreSupport/AcceleratedCompositingContext.cpp:

(AcceleratedCompositingContext::paintContents):

1:33 AM Changeset in webkit [189164] by Antti Koivisto
  • 10 edits in trunk

REGRESSION (r188820): fast/dom/HTMLObjectElement/object-as-frame.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=148533

Reviewed by Chris Dumez.

Source/WebCore:

<object> element may cause document load event fire too early. By making data URL
loading faster r188820 made this condition more likely to trigger in this test.

  • loader/SubframeLoader.cpp:

(WebCore::SubframeLoader::loadSubframe):

Post-parsing style recalc may trigger loads for <object> elements. If all other loads have already
completed this may cause load event to fire synchronously from the initial empty document construction.

Fix by preventing load events during subframe initialization. They will be fired if needed by the
subsequent explicit call to FrameLoader::checkCompleted.

LayoutTests:

Unskip.

  • fast/dom/HTMLObjectElement/object-as-frame.html:

Use more logical text in the data url.

  • http/tests/loading/basic-auth-resend-wrong-credentials-expected.txt:
  • http/tests/loading/basic-credentials-sent-automatically-expected.txt:
  • platform/wk2/http/tests/loading/basic-auth-resend-wrong-credentials-expected.txt:
  • platform/wk2/http/tests/loading/basic-credentials-sent-automatically-expected.txt:
  • webarchive/loading/object-expected.txt:

Update test results.

Aug 30, 2015:

11:22 PM Changeset in webkit [189163] by Chris Fleizach
  • 2 edits in trunk/LayoutTests

AX: When navigating the elements of a scrollable element with VoiceOver, the scrollTop() position of the element does not permanently change
https://bugs.webkit.org/show_bug.cgi?id=125720

Unreviewed. Skip failing tests on Windows due to lack of DRT implementations.

  • platform/win/TestExpectations:
10:53 PM Changeset in webkit [189162] by Yusuke Suzuki
  • 3 edits in trunk/Source/JavaScriptCore

[ES6] JSON.stringify should ignore object properties that have symbol values and convert the symbol values in array to null
https://bugs.webkit.org/show_bug.cgi?id=148628

Reviewed by Saam Barati.

As per ECMA262 6.0,

  1. JSON.stringify should ignore object properties that have symbol values.

SerializeJSONProperty[1] will return undefined if the value of the property is a symbol.
In this case, SerializeJSONObject[2] does not append any string for this property.

  1. JSON.stringify should convert the symbol values in array to null

As the same to the object case, SerializeJSONProperty will return undefined if the value of the property is a symbol.
But in the case of arrays, if the result of SerializeJSONProperty is undefined, it will emit "null"[3].
This behavior is already implemented in the existing JSON.stringify. Added tests to ensure that.

[1]: http://www.ecma-international.org/ecma-262/6.0/#sec-serializejsonproperty
[2]: http://www.ecma-international.org/ecma-262/6.0/#sec-serializejsonobject
[3]: http://www.ecma-international.org/ecma-262/6.0/#sec-serializejsonarray

  • runtime/JSONObject.cpp:

(JSC::unwrapBoxedPrimitive):
(JSC::Stringifier::appendStringifiedValue):
(JSC::Stringifier::Holder::appendNextProperty):

  • tests/stress/symbol-with-json.js:

(shouldBe):

4:29 PM Changeset in webkit [189161] by ryuan.choi@navercorp.com
  • 6 edits in trunk/Source/WebCore

[CoordinatedGraphics] Remove unnecessary two virtual methods from TiledBackingStoreClient
https://bugs.webkit.org/show_bug.cgi?id=147137

Reviewed by Gyuyoung Kim.

tiledBackingStoreContentsRect() and tiledBackingStoreVisibleRect() are not
necessary because CoordinatedGraphicsLayer can pass them directly if needed.
This patch removes them in order to simplify code flow between TiledBackingStore
and CoordinatedGraphicsLayer.

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::imageBackingVisible):
(WebCore::CoordinatedGraphicsLayer::adjustContentsScale):
(WebCore::clampToContentsRectIfRectIsInfinite):
(WebCore::CoordinatedGraphicsLayer::transformedVisibleRect):
(WebCore::CoordinatedGraphicsLayer::updateContentBuffers):
(WebCore::CoordinatedGraphicsLayer::tiledBackingStoreContentsRect): Deleted.
(WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect): Deleted.

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
  • platform/graphics/texmap/coordinated/TiledBackingStore.cpp:

(WebCore::TiledBackingStore::createTilesIfNeeded):
(WebCore::TiledBackingStore::coverageRatio):
(WebCore::TiledBackingStore::visibleAreaIsCovered):
Used TiledBackingStore's m_visibleRect and m_rect, cached and scaled values for
visibleRect, contentsRect.
(WebCore::TiledBackingStore::createTiles):
(WebCore::TiledBackingStore::removeAllNonVisibleTiles):
(WebCore::TiledBackingStore::coverWithTilesIfNeeded): Renamed to createTilesIfNeeded.
(WebCore::TiledBackingStore::visibleRect): Deleted. nobody used.

  • platform/graphics/texmap/coordinated/TiledBackingStore.h:
  • platform/graphics/texmap/coordinated/TiledBackingStoreClient.h:

(WebCore::TiledBackingStoreClient::tiledBackingStoreHasPendingTileCreation):
Removed default implementation.

3:33 PM Changeset in webkit [189160] by fpizlo@apple.com
  • 10 edits in trunk/Source/JavaScriptCore

JSC property attributes should fit in a byte
https://bugs.webkit.org/show_bug.cgi?id=148611

Reviewed by Sam Weinig.

I want to make room in PropertyMapEntry for more things to support property type inference (see
https://bugs.webkit.org/show_bug.cgi?id=148610). The most obvious candidate for a size reduction is
attributes, since we only have a small number of attribute bits. Even without complex changes, it
would have been possible to reduce the attribute field from 32 bits to 16 bits. Specifically, prior
to this change, the attributes field needed 9 bits. This made it very tempting to trim it so that
it could fit in a byte.

Luckily, many of the attributes bits are for the static lookup hashtables that we use for lazily
building objects in the standard library. Those bits don't need to stay around after the property
has been created, since they are just for telling the code in Lookup how to create the property.
So, this change separates the attributes bits into those that are interesting for Structure and
those that aren't. The ones used by Structure sit in the low 8 bits, allowing for the attributes
field in PropertyMapEntry to be a uint8_t. The attributes bits used only by Lookup use the higher
bits. In production, the conversion from the Lookup attributes to the Structure attributes is just
a cast to uint8_t. In debug, we assert that those bits are not dropped by accident. Code that
intentionally drops those bits calls attributesForStructure().

It turned out that there was a lot of code that was using the Function bit even in code that didn't
involve Lookup. This change removes those uses of Function. Structure does not need to know if we
think that a property points to a function.

  • jsc.cpp:

(GlobalObject::finishCreation):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):

  • runtime/JSObject.h:
  • runtime/Lookup.cpp:

(JSC::setUpStaticFunctionSlot):

  • runtime/Lookup.h:

(JSC::getStaticPropertySlot):
(JSC::getStaticValueSlot):
(JSC::reifyStaticProperties):

  • runtime/MathObject.cpp:

(JSC::MathObject::finishCreation):

  • runtime/NumberConstructor.cpp:

(JSC::NumberConstructor::finishCreation):

  • runtime/PropertySlot.h:

(JSC::attributesForStructure):
(JSC::PropertySlot::setValue):
(JSC::PropertySlot::setCustom):
(JSC::PropertySlot::setCacheableCustom):
(JSC::PropertySlot::setGetterSlot):
(JSC::PropertySlot::setCacheableGetterSlot):

  • runtime/Structure.h:

(JSC::PropertyMapEntry::PropertyMapEntry):

12:08 AM Changeset in webkit [189159] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed, mark http/tests/w3c/dom/nodes/Element-matches.html as flaky.

Aug 29, 2015:

10:54 PM Changeset in webkit [189158] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed, rebaseline http/tests/w3c/dom/nodes/Element-matches.html

  • http/tests/w3c/dom/nodes/Element-matches-expected.txt:
10:48 PM Changeset in webkit [189157] by achristensen@apple.com
  • 2 edits in trunk

Unreviewed build fix after r179923.

  • Source/CMakeLists.txt:

bmalloc isn't ported to Windows yet.

10:11 PM Changeset in webkit [189156] by ap@apple.com
  • 7 edits in trunk/LayoutTests

Mac test result gardening.

Unmarked tests that no longer flake, updated a a few results.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/mac/compositing/reflections/load-video-in-reflection-expected.txt:
  • platform/mac/editing/pasteboard/5478250-expected.png:
  • platform/mac/editing/pasteboard/5478250-expected.txt:
  • platform/mac/fast/loader/javascript-url-in-embed-expected.txt:
10:07 PM Changeset in webkit [189155] by Chris Dumez
  • 2 edits
    450 adds in trunk/LayoutTests

Import W3C DOM test suite from github.com/w3c/web-platform-tests
https://bugs.webkit.org/show_bug.cgi?id=148546

Reviewed by Alexey Proskuryakov.

Import W3C DOM test suite from github.com/w3c/web-platform-tests
to improve coverage and track progress.

  • http/tests/w3c/dom/*: Added.
7:07 PM Changeset in webkit [189154] by Chris Dumez
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, fix PropertyName::isNull() that was introduced in r188994.

The condition was reversed.

  • runtime/PropertyName.h:

(JSC::PropertyName::isNull):

9:47 AM Changeset in webkit [189153] by mitz@apple.com
  • 1 edit in trunk/Source/WebCore/ChangeLog

Corrected email address

9:46 AM Changeset in webkit [189152] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

El Capitan build fix.

  • platform/graphics/cocoa/FontCascadeCocoa.mm:

(WebCore::FontCascade::drawGlyphs):

8:59 AM Changeset in webkit [189151] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WTF

[WTF] Improve a ParkingLot::parkConditionally() comment for a libstdc++ workaround
https://bugs.webkit.org/show_bug.cgi?id=148571

Reviewed by Filip Pizlo.

  • wtf/ParkingLot.cpp:

(WTF::ParkingLot::parkConditionally): Adjust the comment about the workaround for
the libstdc++ std::condition_variable implementation, linking to the WebKit bug
that dissected the problem and the GCC bug that originally reported the problem.

8:50 AM Changeset in webkit [189150] by mitz@apple.com
  • 1 edit in trunk/Websites/webkit.org/ChangeLog

Restored ChangeLog entries that were accidentally deleted in r189110.

12:41 AM Changeset in webkit [189149] by Chris Fleizach
  • 14 edits
    18 adds in trunk

AX: When navigating the elements of a scrollable element with VoiceOver, the scrollTop() position of the element does not permanently change
https://bugs.webkit.org/show_bug.cgi?id=125720

Reviewed by Daniel Bates.

Source/WebCore:

The scrollToVisible code did not account for scrollable elements that are larger than their viewports.
First, we need to pass the sub-focus up the scroll chain (otherwise we'll scroll some parent to y=0).
Second, we should try to center the focus within the viewport, rather than positioning at the bottom for a
better experience.

This change was adapted from Blink r183926:
https://src.chromium.org/viewvc/blink?view=rev&revision=183926

Tests: accessibility/scroll-to-global-point-iframe-nested.html

accessibility/scroll-to-global-point-iframe.html
accessibility/scroll-to-global-point-main-window.html
accessibility/scroll-to-global-point-nested.html
accessibility/scroll-to-make-visible-div-overflow.html
accessibility/scroll-to-make-visible-iframe.html
accessibility/scroll-to-make-visible-nested-2.html
accessibility/scroll-to-make-visible-nested.html
accessibility/scroll-to-make-visible-with-subfocus.html

  • accessibility/AccessibilityObject.cpp:

(WebCore::computeBestScrollOffset):
(WebCore::AccessibilityObject::isOnscreen):
(WebCore::AccessibilityObject::scrollToMakeVisibleWithSubFocus):
(WebCore::AccessibilityObject::scrollToGlobalPoint):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper accessibilityScrollToVisible]):
(-[WebAccessibilityObjectWrapper _accessibilityScrollToMakeVisibleWithSubFocus:]):
(-[WebAccessibilityObjectWrapper _accessibilityScrollToGlobalPoint:]):
(-[WebAccessibilityObjectWrapper accessibilityPerformAction:]):

Tools:

Add support for scrollToMakeVisibleWithSubFocus and scrollToGlobalPoint.

  • DumpRenderTree/AccessibilityUIElement.cpp:

(pressCallback):
(scrollToMakeVisibleWithSubFocusCallback):
(scrollToGlobalPointCallback):
(scrollToMakeVisibleCallback):
(AccessibilityUIElement::getJSClass):

  • DumpRenderTree/ios/AccessibilityUIElementIOS.mm:

(AccessibilityUIElement::scrollToMakeVisible):
(AccessibilityUIElement::scrollToMakeVisibleWithSubFocus):
(AccessibilityUIElement::scrollToGlobalPoint):
(AccessibilityUIElement::selectedTextRange):

  • DumpRenderTree/mac/AccessibilityUIElementMac.mm:

(AccessibilityUIElement::AccessibilityUIElement):
(AccessibilityUIElement::mathPrescriptsDescription):
(AccessibilityUIElement::scrollToMakeVisible):
(AccessibilityUIElement::scrollToMakeVisibleWithSubFocus):
(AccessibilityUIElement::scrollToGlobalPoint):

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:

(WTR::AccessibilityUIElement::isTextMarkerValid):
(WTR::AccessibilityUIElement::textMarkerForIndex):
(WTR::AccessibilityUIElement::scrollToMakeVisible):
(WTR::AccessibilityUIElement::scrollToGlobalPoint):
(WTR::AccessibilityUIElement::scrollToMakeVisibleWithSubFocus):
(WTR::AccessibilityUIElement::supportedActions):
(WTR::AccessibilityUIElement::mathPostscriptsDescription):
(WTR::AccessibilityUIElement::mathPrescriptsDescription):

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
  • WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
  • WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:

(WTR::AccessibilityUIElement::scrollToMakeVisible):
(WTR::AccessibilityUIElement::scrollToGlobalPoint):
(WTR::AccessibilityUIElement::scrollToMakeVisibleWithSubFocus):
(WTR::AccessibilityUIElement::selectedTextRange):

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(WTR::AccessibilityUIElement::scrollToMakeVisible):
(WTR::AccessibilityUIElement::scrollToGlobalPoint):
(WTR::AccessibilityUIElement::scrollToMakeVisibleWithSubFocus):
(WTR::AccessibilityUIElement::selectedTextRange):

LayoutTests:

  • accessibility/scroll-to-global-point-iframe-expected.txt: Added.
  • accessibility/scroll-to-global-point-iframe-nested-expected.txt: Added.
  • accessibility/scroll-to-global-point-iframe-nested.html: Added.
  • accessibility/scroll-to-global-point-iframe.html: Added.
  • accessibility/scroll-to-global-point-main-window-expected.txt: Added.
  • accessibility/scroll-to-global-point-main-window.html: Added.
  • accessibility/scroll-to-global-point-nested-expected.txt: Added.
  • accessibility/scroll-to-global-point-nested.html: Added.
  • accessibility/scroll-to-make-visible-div-overflow-expected.txt: Added.
  • accessibility/scroll-to-make-visible-div-overflow.html: Added.
  • accessibility/scroll-to-make-visible-iframe-expected.txt: Added.
  • accessibility/scroll-to-make-visible-iframe.html: Added.
  • accessibility/scroll-to-make-visible-nested-2-expected.txt: Added.
  • accessibility/scroll-to-make-visible-nested-2.html: Added.
  • accessibility/scroll-to-make-visible-nested-expected.txt: Added.
  • accessibility/scroll-to-make-visible-nested.html: Added.
  • accessibility/scroll-to-make-visible-with-subfocus-expected.txt: Added.
  • accessibility/scroll-to-make-visible-with-subfocus.html: Added.
12:26 AM WebKitEFLLayoutTest edited by jh718.park@samsung.com
(diff)

Aug 28, 2015:

11:52 PM Changeset in webkit [189148] by commit-queue@webkit.org
  • 6 edits in trunk/Source/JavaScriptCore

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

Made JSC tests flaky (Requested by ap on #webkit).

Reverted changeset:

"[JSC][x86] Improve the compare functions when comparing with
zero"
https://bugs.webkit.org/show_bug.cgi?id=148536
http://trac.webkit.org/changeset/189136

11:49 PM Changeset in webkit [189147] by mmaxfield@apple.com
  • 4 edits in trunk/Source/WebKit/win

Fix the Windows build more after r189144
https://bugs.webkit.org/show_bug.cgi?id=148561

Unreviewed.

  • WebFrame.cpp:

(WebFrame::paintDocumentRectToContext):
(WebFrame::paintScrollViewRectToContextAtPoint):
(WebFrame::spoolPage):
(WebFrame::spoolPages):

  • WebFrame.h:
  • WebView.cpp:

(WebView::paintIntoBackingStore):
(WebView::paintContents):

11:39 PM Changeset in webkit [189146] by ap@apple.com
  • 3 edits in trunk/LayoutTests

Mac TestExpectations gardening.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
11:32 PM Changeset in webkit [189145] by mmaxfield@apple.com
  • 4 edits in trunk/Source/WebKit/win

Fix the Windows build after r189144
https://bugs.webkit.org/show_bug.cgi?id=148561

Unreviewed.

  • Plugins/PluginView.cpp:

(WebCore::PluginView::paintMissingPluginIcon):

  • Plugins/PluginView.h:
  • Plugins/PluginViewWin.cpp:

(WebCore::PluginView::paintWindowedPluginIntoContext):
(WebCore::PluginView::paint):

11:15 PM Changeset in webkit [189144] by mmaxfield@apple.com
  • 252 edits in trunk/Source

Migrate GraphicsContexts from pointers to references
https://bugs.webkit.org/show_bug.cgi?id=148561

Reviewed by Tim Horton.

Source/WebCore:

We were using GraphicsContext*s throughout our rendering code. However,
these contexts can't be nullptr. This patch migrates users to
GraphicsContext&s.

This is a purely mechanical change.

No new tests because there is no behavior change.

  • css/CSSFilterImageValue.cpp:

(WebCore::CSSFilterImageValue::image):

  • editing/Editor.cpp:

(WebCore::Editor::countMatchesForText):

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::paintCaret):
(WebCore::CaretBase::paintCaret):
(WebCore::DragCaretController::paintDragCaret):

  • editing/FrameSelection.h:
  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::paint):
(WebCore::HTMLCanvasElement::createImageBuffer):
(WebCore::HTMLCanvasElement::drawingContext):

  • html/HTMLCanvasElement.h:
  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::paintCurrentFrameInContext):

  • html/HTMLVideoElement.h:
  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::drawImage):
(WebCore::drawImageToContext):
(WebCore::CanvasRenderingContext2D::fullCanvasCompositedDrawImage):
(WebCore::CanvasRenderingContext2D::drawTextInternal):

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::drawImageIntoBuffer):

  • inspector/InspectorOverlay.cpp:

(WebCore::InspectorOverlay::paint):

  • page/FrameSnapshotting.cpp:

(WebCore::snapshotFrameRect):

  • page/FrameView.cpp:

(WebCore::FrameView::paintScrollCorner):
(WebCore::FrameView::paintScrollbar):
(WebCore::FrameView::paintControlTints):
(WebCore::FrameView::willPaintContents):
(WebCore::FrameView::didPaintContents):
(WebCore::FrameView::paintContents):
(WebCore::FrameView::paintContentsForSnapshot):
(WebCore::FrameView::paintOverhangAreas):
(WebCore::FrameView::adjustPageHeightDeprecated):

  • page/FrameView.h:
  • page/PrintContext.cpp:

(WebCore::PrintContext::spoolPage):
(WebCore::PrintContext::spoolRect):

  • page/win/FrameCGWin.cpp:

(WebCore::drawRectIntoContext):
(WebCore::imageFromRect):

  • platform/ScrollView.cpp:

(WebCore::ScrollView::paintScrollCorner):
(WebCore::ScrollView::paintScrollbar):
(WebCore::ScrollView::paintScrollbars):
(WebCore::ScrollView::paintPanScrollIcon):
(WebCore::ScrollView::paint):
(WebCore::ScrollView::paintOverhangAreas):
(WebCore::ScrollView::calculateAndPaintOverhangAreas):

  • platform/ScrollView.h:
  • platform/Scrollbar.cpp:

(WebCore::Scrollbar::paint):

  • platform/Scrollbar.h:
  • platform/ScrollbarTheme.h:

(WebCore::ScrollbarTheme::paintScrollCorner):
(WebCore::ScrollbarTheme::defaultPaintScrollCorner):
(WebCore::ScrollbarTheme::paintOverhangAreas):

  • platform/ScrollbarThemeComposite.cpp:

(WebCore::ScrollbarThemeComposite::paintScrollCorner):
(WebCore::ScrollbarThemeComposite::paintOverhangAreas):

  • platform/ScrollbarThemeComposite.h:
  • platform/Theme.cpp:

(WebCore::Theme::drawNamedImage):

  • platform/Theme.h:

(WebCore::Theme::paint):

  • platform/Widget.h:
  • platform/cocoa/ThemeCocoa.cpp:

(WebCore::fitContextToBox):
(WebCore::ThemeCocoa::drawNamedImage):

  • platform/cocoa/ThemeCocoa.h:
  • platform/efl/WidgetEfl.cpp:

(WebCore::Widget::paint):

  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::drawPattern):

  • platform/graphics/BitmapImage.h:
  • platform/graphics/CrossfadeGeneratedImage.cpp:

(WebCore::drawCrossfadeSubimage):
(WebCore::CrossfadeGeneratedImage::drawCrossfade):
(WebCore::CrossfadeGeneratedImage::draw):
(WebCore::CrossfadeGeneratedImage::drawPattern):

  • platform/graphics/CrossfadeGeneratedImage.h:
  • platform/graphics/FontCascade.cpp:

(WebCore::FontCascade::drawText):
(WebCore::FontCascade::drawEmphasisMarks):
(WebCore::FontCascade::drawSimpleText):
(WebCore::FontCascade::drawEmphasisMarksForSimpleText):
(WebCore::FontCascade::drawGlyphBuffer):

  • platform/graphics/FontCascade.h:
  • platform/graphics/GeneratedImage.h:
  • platform/graphics/GradientImage.cpp:

(WebCore::GradientImage::draw):
(WebCore::GradientImage::drawPattern):

  • platform/graphics/GradientImage.h:
  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::drawText):
(WebCore::GraphicsContext::drawGlyphs):
(WebCore::GraphicsContext::drawEmphasisMarks):
(WebCore::GraphicsContext::drawBidiText):
(WebCore::GraphicsContext::drawImage):
(WebCore::GraphicsContext::drawTiledImage):
(WebCore::GraphicsContext::drawImageBuffer):
(WebCore::GraphicsContext::clipToImageBuffer):
(WebCore::GraphicsContext::createCompatibleBuffer):
(WebCore::GraphicsContext::isCompatibleWithBuffer):

  • platform/graphics/GraphicsContext.h:
  • platform/graphics/GraphicsContext3D.h:
  • platform/graphics/Image.cpp:

(WebCore::Image::fillWithSolidColor):
(WebCore::Image::draw):
(WebCore::Image::drawTiled):

  • platform/graphics/Image.h:

(WebCore::Image::drawFrameMatchingSourceSize):

  • platform/graphics/ImageBuffer.cpp:

(WebCore::ImageBuffer::createCompatibleBuffer):

  • platform/graphics/ImageBuffer.h:
  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::paint):
(WebCore::MediaPlayer::paintCurrentFrameInContext):

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::paintCurrentFrameInContext):

  • platform/graphics/NamedImageGeneratedImage.cpp:

(WebCore::NamedImageGeneratedImage::draw):
(WebCore::NamedImageGeneratedImage::drawPattern):

  • platform/graphics/NamedImageGeneratedImage.h:
  • platform/graphics/ShadowBlur.cpp:

(WebCore::ShadowBlur::adjustBlurRadius):
(WebCore::ShadowBlur::calculateLayerBoundingRect):
(WebCore::ShadowBlur::drawShadowBuffer):
(WebCore::ShadowBlur::drawRectShadow):
(WebCore::ShadowBlur::drawInsetShadow):
(WebCore::ShadowBlur::drawRectShadowWithoutTiling):
(WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
(WebCore::ShadowBlur::drawInsetShadowWithTiling):
(WebCore::ShadowBlur::drawRectShadowWithTiling):
(WebCore::ShadowBlur::drawLayerPieces):
(WebCore::ShadowBlur::blurAndColorShadowBuffer):
(WebCore::ShadowBlur::beginShadowLayer):
(WebCore::ShadowBlur::endShadowLayer):

  • platform/graphics/ShadowBlur.h:
  • platform/graphics/TextRun.h:
  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::MediaPlayerPrivateAVFoundationCF::paintCurrentFrameInContext):
(WebCore::MediaPlayerPrivateAVFoundationCF::paint):

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::paintCurrentFrameInContext):
(WebCore::MediaPlayerPrivateAVFoundationObjC::paint):
(WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithImageGenerator):
(WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput):

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::paint):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::paintCurrentFrameInContext):

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

(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::paint):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::paintCurrentFrameInContext):

  • platform/graphics/cairo/BitmapImageCairo.cpp:

(WebCore::BitmapImage::draw):

  • platform/graphics/cairo/FontCairo.cpp:

(WebCore::drawGlyphsToContext):
(WebCore::drawGlyphsShadow):
(WebCore::FontCascade::drawGlyphs):

  • platform/graphics/cairo/FontCairoHarfbuzzNG.cpp:

(WebCore::FontCascade::drawComplexText):
(WebCore::FontCascade::drawEmphasisMarksForComplexText):

  • platform/graphics/cairo/GraphicsContextCairo.cpp:

(WebCore::drawPathShadow):
(WebCore::fillCurrentCairoPath):
(WebCore::shadowAndFillCurrentCairoPath):
(WebCore::shadowAndStrokeCurrentCairoPath):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::strokeRect):
(WebCore::GraphicsContext::platformFillRoundedRect):
(WebCore::GraphicsContext::fillRectWithRoundedHole):

  • platform/graphics/cairo/ImageBufferCairo.cpp:

(WebCore::ImageBuffer::context):
(WebCore::ImageBuffer::clip):
(WebCore::ImageBuffer::draw):
(WebCore::ImageBuffer::drawPattern):
(WebCore::ImageBuffer::toDataURL):

  • platform/graphics/cairo/ImageCairo.cpp:

(WebCore::Image::drawPattern):

  • platform/graphics/cairo/PlatformContextCairo.cpp:

(WebCore::PlatformContextCairo::drawSurfaceToContext):

  • platform/graphics/cairo/PlatformContextCairo.h:
  • platform/graphics/cg/BitmapImageCG.cpp:

(WebCore::BitmapImage::draw):

  • platform/graphics/cg/GraphicsContext3DCG.cpp:

(WebCore::GraphicsContext3D::paintToCanvas):

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::platformFillRoundedRect):
(WebCore::GraphicsContext::fillRectWithRoundedHole):

  • platform/graphics/cg/ImageBufferCG.cpp:

(WebCore::ImageBuffer::ImageBuffer):
(WebCore::ImageBuffer::context):
(WebCore::ImageBuffer::flushContext):
(WebCore::ImageBuffer::copyNativeImage):
(WebCore::ImageBuffer::draw):
(WebCore::ImageBuffer::drawPattern):
(WebCore::ImageBuffer::clip):
(WebCore::ImageBuffer::getUnmultipliedImageData):
(WebCore::ImageBuffer::getPremultipliedImageData):
(WebCore::ImageBuffer::putByteArray):
(WebCore::ImageBuffer::toDataURL):

  • platform/graphics/cg/ImageCG.cpp:

(WebCore::Image::drawPattern):

  • platform/graphics/cg/PDFDocumentImage.cpp:

(WebCore::PDFDocumentImage::cacheParametersMatch):
(WebCore::transformContextForPainting):
(WebCore::PDFDocumentImage::updateCachedImageIfNeeded):
(WebCore::PDFDocumentImage::draw):
(WebCore::applyRotationForPainting):
(WebCore::PDFDocumentImage::drawPDFPage):

  • platform/graphics/cg/PDFDocumentImage.h:
  • platform/graphics/cocoa/FontCascadeCocoa.mm:

(WebCore::showLetterpressedGlyphsWithAdvances):
(WebCore::showGlyphsWithAdvances):
(WebCore::FontCascade::drawGlyphs):
(WebCore::FontCascade::drawComplexText):
(WebCore::FontCascade::drawEmphasisMarksForComplexText):

  • platform/graphics/efl/ImageBufferEfl.cpp:

(WebCore::ImageBuffer::toDataURL):

  • platform/graphics/filters/FEBlend.cpp:

(WebCore::FEBlend::platformApplySoftware):

  • platform/graphics/filters/FEColorMatrix.cpp:

(WebCore::FEColorMatrix::platformApplySoftware):

  • platform/graphics/filters/FEComposite.cpp:

(WebCore::FEComposite::platformApplySoftware):

  • platform/graphics/filters/FEDropShadow.cpp:

(WebCore::FEDropShadow::platformApplySoftware):

  • platform/graphics/filters/FEFlood.cpp:

(WebCore::FEFlood::platformApplySoftware):

  • platform/graphics/filters/FEMerge.cpp:

(WebCore::FEMerge::platformApplySoftware):

  • platform/graphics/filters/FEOffset.cpp:

(WebCore::FEOffset::platformApplySoftware):

  • platform/graphics/filters/FETile.cpp:

(WebCore::FETile::platformApplySoftware):

  • platform/graphics/filters/FilterEffect.cpp:

(WebCore::FilterEffect::createImageBufferResult): Deleted.

  • platform/graphics/filters/SourceAlpha.cpp:

(WebCore::SourceAlpha::platformApplySoftware):

  • platform/graphics/filters/SourceGraphic.cpp:

(WebCore::SourceGraphic::platformApplySoftware):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::paint):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
  • platform/graphics/mac/GraphicsContextMac.mm:

(WebCore::GraphicsContext::drawLineForDocumentMarker):

  • platform/graphics/mac/IconMac.mm:

(WebCore::Icon::paint):

  • platform/graphics/mac/MediaPlayerPrivateQTKit.h:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm:

(WebCore::MediaPlayerPrivateQTKit::paintCurrentFrameInContext):
(WebCore::MediaPlayerPrivateQTKit::paint):

  • platform/graphics/mac/PDFDocumentImageMac.mm:

(WebCore::PDFDocumentImage::drawPDFPage):

  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):

  • platform/graphics/texmap/BitmapTexture.cpp:

(WebCore::BitmapTexture::updateContents):

  • platform/graphics/win/FontCGWin.cpp:

(WebCore::FontCascade::drawGlyphs):

  • platform/graphics/win/FontWin.cpp:

(WebCore::FontCascade::drawComplexText):
(WebCore::FontCascade::drawEmphasisMarksForComplexText):

  • platform/graphics/win/IconWin.cpp:

(WebCore::Icon::paint):

  • platform/graphics/win/ImageCGWin.cpp:

(WebCore::BitmapImage::getHBITMAPOfSize):
(WebCore::BitmapImage::drawFrameMatchingSourceSize):

  • platform/graphics/win/ImageCairoWin.cpp:

(WebCore::BitmapImage::getHBITMAPOfSize):
(WebCore::BitmapImage::drawFrameMatchingSourceSize):

  • platform/graphics/win/LocalWindowsContext.h:

(WebCore::LocalWindowsContext::LocalWindowsContext):
(WebCore::LocalWindowsContext::~LocalWindowsContext):

  • platform/gtk/WidgetGtk.cpp:

(WebCore::Widget::paint):

  • platform/ios/WidgetIOS.mm:

(WebCore::Widget::paint):

  • platform/mac/DragImageMac.mm:

(WebCore::drawAtPoint):

  • platform/mac/LocalCurrentGraphicsContext.h:

(WebCore::ContextContainer::ContextContainer):

  • platform/mac/LocalCurrentGraphicsContext.mm:

(WebCore::LocalCurrentGraphicsContext::LocalCurrentGraphicsContext):
(WebCore::LocalCurrentGraphicsContext::~LocalCurrentGraphicsContext):
(WebCore::LocalCurrentGraphicsContext::cgContext):

  • platform/mac/ScrollbarThemeMac.mm:

(WebCore::ScrollbarThemeMac::paint):

  • platform/mac/ThemeMac.h:
  • platform/mac/ThemeMac.mm:

(WebCore::paintToggleButton):
(WebCore::paintButton):
(WebCore::paintStepper):
(WebCore::ThemeMac::drawCellOrFocusRingWithViewIntoContext):
(WebCore::ThemeMac::paint):

  • platform/mac/WidgetMac.mm:

(WebCore::Widget::paint):

  • platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:

(WebCore::MockMediaPlayerMediaSource::paint):

  • platform/mock/mediasource/MockMediaPlayerMediaSource.h:
  • platform/win/PopupMenuWin.cpp:

(WebCore::PopupMenuWin::paint):

  • platform/win/ScrollbarThemeWin.cpp:

(WebCore::ScrollbarThemeWin::paintTrackPiece):
(WebCore::ScrollbarThemeWin::paintButton):
(WebCore::ScrollbarThemeWin::paintThumb):

  • platform/win/WebCoreTextRenderer.cpp:

(WebCore::doDrawTextAtPoint):

  • platform/win/WidgetWin.cpp:

(WebCore::Widget::paint):

  • rendering/EllipsisBox.cpp:

(WebCore::EllipsisBox::paint):
(WebCore::EllipsisBox::paintSelection):

  • rendering/EllipsisBox.h:
  • rendering/FilterEffectRenderer.cpp:

(WebCore::FilterEffectRenderer::inputContext):
(WebCore::FilterEffectRendererHelper::applyFilterEffect):

  • rendering/FilterEffectRenderer.h:
  • rendering/ImageQualityController.cpp:

(WebCore::ImageQualityController::shouldPaintAtLowQuality):

  • rendering/ImageQualityController.h:
  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::paintFillLayer):
(WebCore::InlineFlowBox::paintBoxDecorations):
(WebCore::InlineFlowBox::paintMask):

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paint):

  • rendering/PaintInfo.h:

(WebCore::PaintInfo::PaintInfo):
(WebCore::PaintInfo::context):
(WebCore::PaintInfo::setContext):
(WebCore::PaintInfo::applyTransform):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::paint):
(WebCore::RenderBlock::paintCaret):
(WebCore::RenderBlock::paintObject):
(WebCore::RenderBlock::paintSelection):
(WebCore::clipOutPositionedObjects):
(WebCore::RenderBlock::blockSelectionGap):
(WebCore::RenderBlock::logicalLeftSelectionGap):
(WebCore::RenderBlock::logicalRightSelectionGap):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::paintColumnRules):
(WebCore::RenderBlockFlow::clipOutFloatingObjects):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::determineBackgroundBleedAvoidance):
(WebCore::RenderBox::paintBoxDecorations):
(WebCore::RenderBox::paintMask):
(WebCore::RenderBox::paintClippingMask):
(WebCore::RenderBox::paintMaskImages):
(WebCore::RenderBox::paintFillLayers):
(WebCore::RenderBox::pushContentsClip):
(WebCore::RenderBox::popContentsClip):

  • rendering/RenderBox.h:
  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::shouldPaintAtLowQuality):
(WebCore::RenderBoxModelObject::clipRoundedInnerRect):
(WebCore::applyBoxShadowForBackground):
(WebCore::RenderBoxModelObject::paintMaskForTextFillBox):
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
(WebCore::RenderBoxModelObject::paintNinePieceImage):
(WebCore::RenderBoxModelObject::paintOneBorderSide):
(WebCore::RenderBoxModelObject::paintBorderSides):
(WebCore::RenderBoxModelObject::paintTranslucentBorderSides):
(WebCore::RenderBoxModelObject::paintBorder):
(WebCore::RenderBoxModelObject::drawBoxSideFromPath):
(WebCore::RenderBoxModelObject::clipBorderSidePolygon):
(WebCore::RenderBoxModelObject::clipBorderSideForComplexInnerPath):
(WebCore::RenderBoxModelObject::paintBoxShadow):
(WebCore::RenderBoxModelObject::shouldAntialiasLines):

  • rendering/RenderBoxModelObject.h:
  • rendering/RenderDetailsMarker.cpp:

(WebCore::RenderDetailsMarker::paint):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::paintFocusRing):
(WebCore::RenderElement::paintOutline):

  • rendering/RenderEmbeddedObject.cpp:

(WebCore::RenderEmbeddedObject::paintSnapshotImage):
(WebCore::drawReplacementArrow):
(WebCore::RenderEmbeddedObject::paintReplaced):

  • rendering/RenderFieldset.cpp:

(WebCore::RenderFieldset::paintBoxDecorations):

  • rendering/RenderFileUploadControl.cpp:

(WebCore::RenderFileUploadControl::paintObject):

  • rendering/RenderFrameSet.cpp:

(WebCore::RenderFrameSet::paintColumnBorder):
(WebCore::RenderFrameSet::paintRowBorder):

  • rendering/RenderHTMLCanvas.cpp:

(WebCore::RenderHTMLCanvas::paintReplaced):

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::paintReplaced):
(WebCore::RenderImage::paintAreaElementFocusRing):
(WebCore::RenderImage::paintIntoRect):

  • rendering/RenderImage.h:
  • rendering/RenderInline.cpp:

(WebCore::RenderInline::paintOutline):
(WebCore::RenderInline::paintOutlineForLine):

  • rendering/RenderInline.h:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::beginTransparencyLayers):
(WebCore::RenderLayer::paintOverflowControls):
(WebCore::RenderLayer::paintScrollCorner):
(WebCore::RenderLayer::drawPlatformResizerImage):
(WebCore::RenderLayer::paintResizer):
(WebCore::RenderLayer::paint):
(WebCore::RenderLayer::paintOverlayScrollbars):
(WebCore::RenderLayer::clipToRect):
(WebCore::RenderLayer::restoreClip):
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::paintLayerContentsAndReflection):
(WebCore::RenderLayer::setupFontSubpixelQuantization):
(WebCore::RenderLayer::setupClipPath):
(WebCore::RenderLayer::hasFilterThatIsPainting):
(WebCore::RenderLayer::setupFilters):
(WebCore::RenderLayer::applyFilters):
(WebCore::RenderLayer::paintFixedLayersInNamedFlows):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::paintLayerByApplyingTransform):
(WebCore::RenderLayer::paintList):
(WebCore::RenderLayer::paintTransformedLayerIntoFragments):
(WebCore::RenderLayer::paintBackgroundForFragments):
(WebCore::RenderLayer::paintForegroundForFragments):
(WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):
(WebCore::RenderLayer::paintOutlineForFragments):
(WebCore::RenderLayer::paintMaskForFragments):
(WebCore::RenderLayer::paintChildClippingMaskForFragments):
(WebCore::RenderLayer::paintOverflowControlsForFragments):
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayer.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::paintIntoLayer):
(WebCore::RenderLayerBacking::paintContents):

  • rendering/RenderLayerBacking.h:
  • rendering/RenderLayerCompositor.cpp:

(WebCore::paintScrollbar):
(WebCore::RenderLayerCompositor::paintContents):

  • rendering/RenderListBox.cpp:

(WebCore::RenderListBox::paintScrollbar):
(WebCore::RenderListBox::paintItemForeground):
(WebCore::RenderListBox::paintItemBackground):

  • rendering/RenderListMarker.cpp:

(WebCore::RenderListMarker::paint):

  • rendering/RenderMediaControls.cpp:

(WebCore::getUnzoomedRectAndAdjustCurrentContext):
(WebCore::RenderMediaControls::paintMediaControlsPart):

  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::paintColumnRules):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::addPDFURLRect):

  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::paint):

  • rendering/RenderReplica.cpp:

(WebCore::RenderReplica::paint):

  • rendering/RenderScrollbar.cpp:

(WebCore::RenderScrollbar::paint):
(WebCore::RenderScrollbar::paintPart):

  • rendering/RenderScrollbar.h:
  • rendering/RenderScrollbarPart.cpp:

(WebCore::RenderScrollbarPart::paintIntoRect):

  • rendering/RenderScrollbarPart.h:
  • rendering/RenderScrollbarTheme.cpp:

(WebCore::RenderScrollbarTheme::paintScrollCorner):
(WebCore::RenderScrollbarTheme::paintScrollbarBackground):
(WebCore::RenderScrollbarTheme::paintTrackBackground):
(WebCore::RenderScrollbarTheme::paintTrackPiece):
(WebCore::RenderScrollbarTheme::paintButton):
(WebCore::RenderScrollbarTheme::paintThumb):

  • rendering/RenderScrollbarTheme.h:
  • rendering/RenderSnapshottedPlugIn.cpp:

(WebCore::RenderSnapshottedPlugIn::paintSnapshot):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::paintBoxDecorations):

  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::paintCollapsedBorders):
(WebCore::RenderTableCell::paintBackgroundsBehindCell):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::paintRowGroupBorder):
(WebCore::RenderTableSection::paintRowGroupBorderIfRequired):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::paintBorderOnly):
(WebCore::RenderTheme::paintDecorations):
(WebCore::RenderTheme::paintSliderTicks):

  • rendering/RenderThemeEfl.cpp:

(WebCore::RenderThemeEfl::paintThemePart):

  • rendering/RenderThemeGtk.cpp:

(WebCore::paintToggle):
(WebCore::renderButton):
(WebCore::RenderThemeGtk::paintMenuList):
(WebCore::RenderThemeGtk::paintTextField):
(WebCore::paintGdkPixbuf):
(WebCore::RenderThemeGtk::paintSearchFieldResultsDecorationPart):
(WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
(WebCore::RenderThemeGtk::paintCapsLockIndicator):
(WebCore::RenderThemeGtk::paintSliderTrack):
(WebCore::RenderThemeGtk::paintSliderThumb):
(WebCore::RenderThemeGtk::paintProgressBar):
(WebCore::paintSpinArrowButton):
(WebCore::RenderThemeGtk::paintMediaButton):
(WebCore::RenderThemeGtk::paintMediaFullscreenButton):
(WebCore::RenderThemeGtk::paintMediaMuteButton):
(WebCore::RenderThemeGtk::paintMediaPlayButton):
(WebCore::RenderThemeGtk::paintMediaSeekBackButton):
(WebCore::RenderThemeGtk::paintMediaSeekForwardButton):
(WebCore::RenderThemeGtk::paintMediaToggleClosedCaptionsButton):
(WebCore::RenderThemeGtk::paintMediaSliderTrack):
(WebCore::RenderThemeGtk::paintMediaSliderThumb):
(WebCore::RenderThemeGtk::paintMediaVolumeSliderTrack):

  • rendering/RenderThemeGtk.h:
  • rendering/RenderThemeIOS.h:
  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::addRoundedBorderClip):
(WebCore::RenderThemeIOS::paintCheckboxDecorations):
(WebCore::RenderThemeIOS::paintRadioDecorations):
(WebCore::RenderThemeIOS::paintTextFieldDecorations):
(WebCore::RenderThemeIOS::paintMenuListButtonDecorations):
(WebCore::RenderThemeIOS::paintSliderTrack):
(WebCore::RenderThemeIOS::paintSliderThumbDecorations):
(WebCore::RenderThemeIOS::paintProgressBar):
(WebCore::RenderThemeIOS::paintPushButtonDecorations):
(WebCore::RenderThemeIOS::paintFileUploadIconDecorations):

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::paintTextField):
(WebCore::RenderThemeMac::paintTextArea):
(WebCore::RenderThemeMac::paintMenuList):
(WebCore::RenderThemeMac::paintMeter):
(WebCore::RenderThemeMac::paintProgressBar):
(WebCore::RenderThemeMac::paintMenuListButtonGradients):
(WebCore::RenderThemeMac::paintMenuListButtonDecorations):
(WebCore::RenderThemeMac::paintCellAndSetFocusedElementNeedsRepaintIfNecessary):
(WebCore::RenderThemeMac::paintSliderTrack):
(WebCore::RenderThemeMac::paintSliderThumb):
(WebCore::RenderThemeMac::paintSearchField):
(WebCore::RenderThemeMac::paintSearchFieldCancelButton):
(WebCore::RenderThemeMac::paintSearchFieldResultsDecorationPart):
(WebCore::RenderThemeMac::paintSearchFieldResultsButton):
(WebCore::RenderThemeMac::paintSnapshottedPluginOverlay):
(WebCore::RenderThemeMac::paintImageControlsButton):
(WebCore::RenderThemeMac::paintAttachment):

  • rendering/RenderThemeSafari.cpp:

(WebCore::RenderThemeSafari::paintCheckbox):
(WebCore::RenderThemeSafari::paintRadio):
(WebCore::RenderThemeSafari::paintButton):
(WebCore::RenderThemeSafari::paintTextField):
(WebCore::RenderThemeSafari::paintCapsLockIndicator):
(WebCore::RenderThemeSafari::paintTextArea):
(WebCore::RenderThemeSafari::paintMenuList):
(WebCore::RenderThemeSafari::paintMenuListButtonGradients):
(WebCore::RenderThemeSafari::paintMenuListButtonDecorations):
(WebCore::RenderThemeSafari::paintSliderTrack):
(WebCore::RenderThemeSafari::paintSliderThumb):
(WebCore::RenderThemeSafari::paintSearchField):
(WebCore::RenderThemeSafari::paintSearchFieldCancelButton):
(WebCore::RenderThemeSafari::paintSearchFieldResultsDecorationPart):
(WebCore::RenderThemeSafari::paintSearchFieldResultsButton):

  • rendering/RenderThemeWin.cpp:

(WebCore::drawControl):
(WebCore::RenderThemeWin::paintButton):
(WebCore::RenderThemeWin::paintInnerSpinButton):
(WebCore::RenderThemeWin::paintTextField):
(WebCore::RenderThemeWin::paintMenuList):
(WebCore::RenderThemeWin::paintMenuListButtonDecorations):
(WebCore::RenderThemeWin::paintSliderTrack):
(WebCore::RenderThemeWin::paintSliderThumb):
(WebCore::RenderThemeWin::paintSearchFieldCancelButton):
(WebCore::RenderThemeWin::paintSearchFieldResultsDecorationPart):
(WebCore::RenderThemeWin::paintSearchFieldResultsButton):
(WebCore::RenderThemeWin::paintMeter):

  • rendering/RenderVideo.cpp:

(WebCore::RenderVideo::paintReplaced):

  • rendering/RenderView.cpp:

(WebCore::RenderView::paint):
(WebCore::RenderView::paintBoxDecorations):

  • rendering/RenderWidget.cpp:

(WebCore::RenderWidget::paintContents):
(WebCore::RenderWidget::paint):

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::lineSelectionGap):

  • rendering/SimpleLineLayoutFunctions.cpp:

(WebCore::SimpleLineLayout::paintFlow):

  • rendering/mathml/RenderMathMLBlock.cpp:

(WebCore::RenderMathMLBlock::paint):

  • rendering/mathml/RenderMathMLFraction.cpp:

(WebCore::RenderMathMLFraction::paint):

  • rendering/mathml/RenderMathMLMenclose.cpp:

(WebCore::RenderMathMLMenclose::paint):

  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::RenderMathMLOperator::paintGlyph):
(WebCore::RenderMathMLOperator::fillWithVerticalExtensionGlyph):
(WebCore::RenderMathMLOperator::fillWithHorizontalExtensionGlyph):
(WebCore::RenderMathMLOperator::paint):

  • rendering/mathml/RenderMathMLRadicalOperator.cpp:

(WebCore::RenderMathMLRadicalOperator::paint):

  • rendering/mathml/RenderMathMLRoot.cpp:

(WebCore::RenderMathMLRoot::paint):

  • rendering/shapes/Shape.cpp:

(WebCore::Shape::createRasterShape):

  • rendering/style/NinePieceImage.cpp:

(WebCore::NinePieceImage::paint):

  • rendering/style/NinePieceImage.h:
  • rendering/svg/RenderSVGContainer.cpp:

(WebCore::RenderSVGContainer::paint):

  • rendering/svg/RenderSVGEllipse.cpp:

(WebCore::RenderSVGEllipse::fillShape):
(WebCore::RenderSVGEllipse::strokeShape):

  • rendering/svg/RenderSVGEllipse.h:
  • rendering/svg/RenderSVGForeignObject.cpp:

(WebCore::RenderSVGForeignObject::paint):

  • rendering/svg/RenderSVGImage.cpp:

(WebCore::RenderSVGImage::paint):
(WebCore::RenderSVGImage::paintForeground):

  • rendering/svg/RenderSVGPath.cpp:

(WebCore::useStrokeStyleToFill):
(WebCore::RenderSVGPath::strokeShape):

  • rendering/svg/RenderSVGPath.h:
  • rendering/svg/RenderSVGRect.cpp:

(WebCore::RenderSVGRect::fillShape):
(WebCore::RenderSVGRect::strokeShape):

  • rendering/svg/RenderSVGRect.h:
  • rendering/svg/RenderSVGResourceClipper.cpp:

(WebCore::RenderSVGResourceClipper::applyResource):
(WebCore::RenderSVGResourceClipper::pathOnlyClipping):
(WebCore::RenderSVGResourceClipper::applyClippingToContext):
(WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):

  • rendering/svg/RenderSVGResourceClipper.h:
  • rendering/svg/RenderSVGResourceFilter.cpp:

(WebCore::RenderSVGResourceFilter::applyResource):

  • rendering/svg/RenderSVGResourceGradient.cpp:

(WebCore::createMaskAndSwapContextForTextGradient):
(WebCore::clipToTextMask):
(WebCore::RenderSVGResourceGradient::applyResource):

  • rendering/svg/RenderSVGResourceMarker.cpp:

(WebCore::RenderSVGResourceMarker::applyViewportClip):
(WebCore::RenderSVGResourceMarker::draw):

  • rendering/svg/RenderSVGResourceMasker.cpp:

(WebCore::RenderSVGResourceMasker::applyResource):
(WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):

  • rendering/svg/RenderSVGResourcePattern.cpp:

(WebCore::RenderSVGResourcePattern::postApplyResource):
(WebCore::RenderSVGResourcePattern::createTileImage):

  • rendering/svg/RenderSVGResourceSolidColor.cpp:

(WebCore::RenderSVGResourceSolidColor::postApplyResource):

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::paintReplaced):

  • rendering/svg/RenderSVGShape.cpp:

(WebCore::RenderSVGShape::fillShape):
(WebCore::RenderSVGShape::strokeShape):
(WebCore::RenderSVGShape::fillStrokeMarkers):
(WebCore::RenderSVGShape::paint):

  • rendering/svg/RenderSVGShape.h:
  • rendering/svg/RenderSVGText.cpp:

(WebCore::RenderSVGText::paint):

  • rendering/svg/RenderSVGViewportContainer.cpp:

(WebCore::RenderSVGViewportContainer::applyViewportClip):

  • rendering/svg/SVGInlineFlowBox.cpp:

(WebCore::SVGInlineFlowBox::paintSelectionBackground):
(WebCore::SVGInlineFlowBox::paint):

  • rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::paintSelectionBackground):
(WebCore::SVGInlineTextBox::paint):
(WebCore::SVGInlineTextBox::prepareGraphicsContextForTextPainting):
(WebCore::SVGInlineTextBox::paintDecoration):
(WebCore::SVGInlineTextBox::paintDecorationWithStyle):
(WebCore::SVGInlineTextBox::paintTextWithShadows):
(WebCore::SVGInlineTextBox::paintText):

  • rendering/svg/SVGInlineTextBox.h:
  • rendering/svg/SVGRenderingContext.cpp:

(WebCore::SVGRenderingContext::~SVGRenderingContext):
(WebCore::SVGRenderingContext::prepareToRenderSVGContent):
(WebCore::SVGRenderingContext::createImageBuffer):
(WebCore::SVGRenderingContext::clipToImageBuffer):
(WebCore::SVGRenderingContext::bufferForeground):
(WebCore::SVGRenderingContext::renderSubtreeToImageBuffer): Deleted.

  • rendering/svg/SVGRenderingContext.h:
  • rendering/svg/SVGRootInlineBox.cpp:

(WebCore::SVGRootInlineBox::paint):

  • rendering/svg/SVGTextRunRenderingContext.cpp:

(WebCore::SVGTextRunRenderingContext::drawSVGGlyphs):

  • rendering/svg/SVGTextRunRenderingContext.h:
  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::drawForContainer):
(WebCore::SVGImage::drawPatternForContainer):
(WebCore::SVGImage::draw):

  • svg/graphics/SVGImage.h:
  • svg/graphics/SVGImageForContainer.cpp:

(WebCore::SVGImageForContainer::draw):
(WebCore::SVGImageForContainer::drawPattern):

  • svg/graphics/SVGImageForContainer.h:
  • svg/graphics/filters/SVGFEImage.cpp:

(WebCore::FEImage::platformApplySoftware):

Source/WebKit/mac:

  • Misc/WebKitNSStringExtras.mm:

(-[NSString _web_drawAtPoint:font:textColor:allowingFontSmoothing:]):

  • WebCoreSupport/WebContextMenuClient.mm:

(WebContextMenuClient::imageForCurrentSharingServicePickerItem):

  • WebView/WebFrame.mm:

(-[WebFrame _drawRect:contentsOnly:]):

Source/WebKit2:

  • PluginProcess/PluginControllerProxy.cpp:

(WebKit::PluginControllerProxy::paint):

  • Shared/cairo/ShareableBitmapCairo.cpp:

(WebKit::ShareableBitmap::paint):

  • WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:

(WebKit::imageForRect):

  • WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:

(WebKit::InjectedBundleRangeHandle::renderedImage):

  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:

(WebKit::NetscapePlugin::paint):
(WebKit::NetscapePlugin::snapshot):

  • WebProcess/Plugins/Netscape/NetscapePlugin.h:
  • WebProcess/Plugins/Netscape/NetscapePluginNone.cpp:

(WebKit::NetscapePlugin::platformPaint):

  • WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:

(WebKit::NetscapePlugin::platformPaint):

  • WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:

(WebKit::NetscapePlugin::platformPaint):

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

(WebKit::PDFPlugin::updateControlTints):
(WebKit::PDFPlugin::paintControlForLayerInContext):

  • WebProcess/Plugins/Plugin.cpp:

(WebKit::Plugin::updateControlTints):

  • WebProcess/Plugins/Plugin.h:
  • WebProcess/Plugins/PluginProxy.cpp:

(WebKit::PluginProxy::paint):

  • WebProcess/Plugins/PluginProxy.h:
  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::paint):

  • WebProcess/Plugins/PluginView.h:
  • WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp:

(WebKit::convertCairoSurfaceToShareableBitmap):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::drawRect):
(WebKit::WebPage::snapshotAtSize):
(WebKit::WebPage::snapshotNode):

  • WebProcess/WebPage/ios/FindControllerIOS.mm:

(WebKit::FindIndicatorOverlayClientIOS::drawRect):

10:45 PM Changeset in webkit [189143] by ap@apple.com
  • 3 edits in trunk/Source/WebCore

Update bindings test results after
https://bugs.webkit.org/show_bug.cgi?id=148591

JSCallbackData::invokeCallback() should return the Exception to the caller

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

(WebCore::JSTestCallback::callbackWithNoParam):
(WebCore::JSTestCallback::callbackWithArrayParam):
(WebCore::JSTestCallback::callbackWithSerializedScriptValueParam):
(WebCore::JSTestCallback::callbackWithStringList):
(WebCore::JSTestCallback::callbackWithBoolean):
(WebCore::JSTestCallback::callbackRequiresThisToPass):

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

(WebCore::JSTestCallbackFunction::callbackWithNoParam):
(WebCore::JSTestCallbackFunction::callbackWithArrayParam):
(WebCore::JSTestCallbackFunction::callbackWithSerializedScriptValueParam):
(WebCore::JSTestCallbackFunction::callbackWithStringList):
(WebCore::JSTestCallbackFunction::callbackWithBoolean):
(WebCore::JSTestCallbackFunction::callbackRequiresThisToPass):

10:05 PM Changeset in webkit [189142] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: "animationEnd" event names should be "animationend" (broken dashboard animation after pause)
https://bugs.webkit.org/show_bug.cgi?id=148604

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-08-28
Reviewed by Timothy Hatcher.

  • UserInterface/Views/DOMTreeElement.js:

(WebInspector.DOMTreeElement.prototype.emphasizeSearchHighlight):

  • UserInterface/Views/DashboardContainerView.js:

(WebInspector.DashboardContainerView.prototype._showDashboardView.animationEnded):
(WebInspector.DashboardContainerView.prototype._showDashboardView):
(WebInspector.DashboardContainerView.prototype._hideDashboardView.animationEnded):
(WebInspector.DashboardContainerView.prototype._hideDashboardView):

  • UserInterface/Views/DefaultDashboardView.js:

(WebInspector.DefaultDashboardView.prototype._setConsoleItemValue.animationEnded):
(WebInspector.DefaultDashboardView.prototype._setConsoleItemValue):

  • UserInterface/Views/TextEditor.js:

(WebInspector.TextEditor.prototype._revealSearchResult):

9:38 PM WebKitGTK/2.10.x edited by philip.chimento@gmail.com
Propose two build bugs (diff)
8:30 PM Changeset in webkit [189141] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Resource.prototype.associateWithScript assertions firing
https://bugs.webkit.org/show_bug.cgi?id=148601

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-08-28
Reviewed by Timothy Hatcher.

  • UserInterface/Models/Resource.js:

(WebInspector.Resource.prototype.associateWithScript):
Restore the code that was here before it was converted to asserts.
It looked as if it was iOS 6 only but it was not.

7:31 PM Changeset in webkit [189140] by Chris Dumez
  • 5 edits in trunk/Source/WebCore

JSCallbackData::invokeCallback() should return the Exception to the caller
https://bugs.webkit.org/show_bug.cgi?id=148591

Reviewed by Mark Lam.

JSCallbackData::invokeCallback() calls a callback function. If this
function throws an exception, it will report it and clear it on the VM.
However, in the case of NodeFilter, the DOM specification clearly states
that we are supposed to rethrow the exception [1].

Once way to support this is to have JSCallbackData::invokeCallback()
return the Exception to the caller and let the caller decide what to do
with it (i.e. report it or rethrow it).

There is no actual behavior change in this patch. This slight
refactoring is in preparation for Bug 148415.

[1] https://dom.spec.whatwg.org/#traversal

Some more context at:
https://www.w3.org/Bugs/Public/show_bug.cgi?id=17713#c16

  • bindings/js/JSCallbackData.cpp:

(WebCore::JSCallbackData::invokeCallback):

  • bindings/js/JSCallbackData.h:
  • bindings/js/JSCustomSQLStatementErrorCallback.cpp:

(WebCore::JSSQLStatementErrorCallback::handleEvent):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateCallbackImplementation):

7:28 PM Changeset in webkit [189139] by Bem Jones-Bey
  • 3 edits in trunk/Source/WebCore

[CSS Shapes] Remove unused CSSBasicShape::m_referenceBox
https://bugs.webkit.org/show_bug.cgi?id=148588

Reviewed by Zoltan Horvath.

At some point, the code was refactored to no longer store the
referenceBox in CSSBasicShape; however, it looks like this code
wasn't cleaned up. This patch rectifies this.

This is based on a Blink patch by Timothy Loh.

No new tests, removing unused code.

  • css/CSSBasicShapes.cpp:

(WebCore::buildCircleString):
(WebCore::CSSBasicShapeCircle::cssText):
(WebCore::CSSBasicShapeCircle::equals):
(WebCore::buildEllipseString):
(WebCore::CSSBasicShapeEllipse::cssText):
(WebCore::CSSBasicShapeEllipse::equals):
(WebCore::buildPolygonString):
(WebCore::CSSBasicShapePolygon::cssText):
(WebCore::CSSBasicShapePolygon::equals):
(WebCore::buildInsetString):
(WebCore::CSSBasicShapeInset::cssText):

  • css/CSSBasicShapes.h:

(WebCore::CSSBasicShape::referenceBox): Deleted.
(WebCore::CSSBasicShape::setReferenceBox): Deleted.

7:04 PM Changeset in webkit [189138] by benjamin@webkit.org
  • 7 edits
    1 delete in trunk/Source/JavaScriptCore

[JSC] Get rid of DFG's MergeMode
https://bugs.webkit.org/show_bug.cgi?id=148245

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-08-28
Reviewed by Mark Lam.

That code has become useless, the merge mode is always MergeToSuccessors.

(JSC::DFG::CFAPhase::performBlockCFA):

  • dfg/DFGInPlaceAbstractState.cpp:

(JSC::DFG::InPlaceAbstractState::endBasicBlock):

  • dfg/DFGInPlaceAbstractState.h:
  • dfg/DFGMergeMode.h: Removed.
6:58 PM Changeset in webkit [189137] by timothy_horton@apple.com
  • 2 edits in trunk/Tools

Add a mysteriously nonproblematic missing comma.

  • Scripts/webkitpy/layout_tests/models/test_expectations.py:

(TestExpectationParser._collect_matching_tests):
(TestExpectationParser):

6:57 PM Changeset in webkit [189136] by benjamin@webkit.org
  • 6 edits in trunk/Source/JavaScriptCore

[JSC][x86] Improve the compare functions when comparing with zero
https://bugs.webkit.org/show_bug.cgi?id=148536

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

This patch has two parts:
1) The macro assembler gets an additional cmp->test optimization

for LessThan and GreaterThanOrEqual.
Instead of comparing the value with an immediate, test the value
with itself and use the flag.

2) Extend the DFG JIT optimization of compare.

In particular, use the same optimization in compileInt32Compare()
as we have in compilePeepHoleBooleanBranch().
The generator compileInt32Compare() is unfortunately very
common due to MoveHints placed between the Compare node and the Branch
node.

  • assembler/MacroAssembler.h:

(JSC::MacroAssembler::compare32):

  • assembler/MacroAssemblerX86Common.h:

(JSC::MacroAssemblerX86Common::branch32):
(JSC::MacroAssemblerX86Common::compare32):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compilePeepHoleBooleanBranch):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compileInt32Compare):

5:14 PM Changeset in webkit [189135] by eric.carlson@apple.com
  • 9 edits in trunk/Source

[Mac] Restructure WebMediaSessionManager for testing
https://bugs.webkit.org/show_bug.cgi?id=148593

Reviewed by Jer Noble.

Source/WebCore:

No new tests, no functional change.

  • Modules/mediasession/WebMediaSessionManager.cpp:

(WebCore::mediaProducerStateString): Add some missing states.
(WebCore::webMediaSessionManagerOverride): New.
(WebCore::WebMediaSessionManager::singleton): New.
(WebCore::WebMediaSessionManager::setWebMediaSessionManagerOverride): New, will allow runtime

registration of a mock manager.

  • Modules/mediasession/WebMediaSessionManager.h:
  • platform/graphics/avfoundation/WebMediaSessionManagerMac.cpp:

(WebCore::WebMediaSessionManager::platformManager): Renamed from singleton.
(WebCore::WebMediaSessionManagerMac::singleton): Deleted.

  • platform/graphics/avfoundation/WebMediaSessionManagerMac.h:

Source/WebKit/mac:

  • WebView/WebMediaPlaybackTargetPicker.mm:

(WebMediaPlaybackTargetPicker::addPlaybackTargetPickerClient): Call WebMediaSessionManager::singleton,

not WebMediaSessionManagerMac::singleton.

(WebMediaPlaybackTargetPicker::removePlaybackTargetPickerClient): Ditto.
(WebMediaPlaybackTargetPicker::showPlaybackTargetPicker): Ditto.
(WebMediaPlaybackTargetPicker::playbackTargetPickerClientStateDidChange): Ditto.
(WebMediaPlaybackTargetPicker::setPlaybackTarget): Ditto.
(WebMediaPlaybackTargetPicker::invalidate): Ditto.

Source/WebKit2:

  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::mediaSessionManager): Call WebMediaSessionManager::singleton, not

WebMediaSessionManagerMac::singleton.

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

Add MacroAssemblerPrinter support for printing memory.
https://bugs.webkit.org/show_bug.cgi?id=148600

Reviewed by Saam Barati.

Previously, we can dump registers at runtime. Now we can dump memory too.
See comment in MacroAssemblerPrinter.h for examples of how to do this.

  • assembler/MacroAssemblerPrinter.cpp:

(JSC::printMemory):
(JSC::MacroAssemblerPrinter::printCallback):

  • assembler/MacroAssemblerPrinter.h:

(JSC::Memory::Memory):
(JSC::MemWord::MemWord):
(JSC::MacroAssemblerPrinter::PrintArg::PrintArg):

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

JavaScriptCore fails to build using GCC 5
https://bugs.webkit.org/show_bug.cgi?id=147815

Patch by Khem Raj <raj.khem@gmail.com> on 2015-08-28
Reviewed by Filip Pizlo.

  • runtime/JSObject.cpp: Explicitly instantiate all variants of

putByIndexBeyondVectorLengthWithAttributes used by JSArray.cpp.

4:16 PM Changeset in webkit [189132] by timothy_horton@apple.com
  • 1 edit
    1 delete in trunk/Tools

Remove an old temporary script that has served its purpose

  • Scripts/convert-test-expectations: Removed.
4:09 PM WebInspectorTests edited by BJ Burg
More updates to Web Inspector test documentation. (diff)
3:59 PM Changeset in webkit [189131] by aestes@apple.com
  • 2 edits in trunk/LayoutTests

http/tests/media/video-play-stall.html is flakey
https://bugs.webkit.org/show_bug.cgi?id=148597

  • platform/mac/TestExpectations: Marked as flakey.
3:58 PM Changeset in webkit [189130] by mark.lam@apple.com
  • 13 edits
    2 adds in trunk/Source/JavaScriptCore

Refactor the JIT printer out of the AbstractMacroAssembler into MacroAssemblerPrinter.
https://bugs.webkit.org/show_bug.cgi?id=148595

Reviewed by Geoffrey Garen.

Why do this?

  1. MacroAssembler::print() code (except for the prototype) need no longer be parsed when compiling C++ files that don't need it.
  2. Adding support for more printable types to MacroAssemblerPrinter::PrintArg triggers recompilation of less files.
  3. The printing code is for most the part common between all target platforms and was previously duplicated by cut-and-paste to all the varieties of MacroAssemblers that support the MASM_PROBE mechanism. Now, there is only one copy in MacroAssemblerPrinter.
  • assembler/AbstractMacroAssembler.h:

(JSC::AbstractMacroAssembler::ProbeContext::print): Deleted.

  • Removed this function because it is no longer useful since we have this more flexible print() functionality.

(JSC::AbstractMacroAssembler::printIndent): Deleted.
(JSC::AbstractMacroAssembler::printCPU): Deleted.
(JSC::AbstractMacroAssembler::print): Deleted.
(JSC::AbstractMacroAssembler::PrintArg::PrintArg): Deleted.
(JSC::AbstractMacroAssembler::appendPrintArg): Deleted.
(JSC::AbstractMacroAssembler::printInternal): Deleted.
(JSC::AbstractMacroAssembler::printCallback): Deleted.

  • These got moved into MacroAssemblerPrinter.cpp.
  • assembler/MacroAssembler.h:
  • assembler/MacroAssemblerARM.cpp:

(JSC::MacroAssemblerARM::printCPURegisters): Deleted.
(JSC::MacroAssemblerARM::printRegister): Deleted.

  • assembler/MacroAssemblerARM.h:
  • assembler/MacroAssemblerARMv7.cpp:

(JSC::MacroAssemblerARMv7::printCPURegisters): Deleted.
(JSC::MacroAssemblerARMv7::printRegister): Deleted.

  • assembler/MacroAssemblerARMv7.h:
  • assembler/MacroAssemblerX86Common.cpp:

(JSC::MacroAssemblerX86Common::printCPURegisters): Deleted.
(JSC::MacroAssemblerX86Common::printRegister): Deleted.

  • assembler/MacroAssemblerX86Common.h:
  • Deleted a whole bunch of mostly duplicated code.
  • assembler/MacroAssemblerPrinter.cpp: Added.

(JSC::printIndent):
(JSC::printCPU):
(JSC::printCPURegisters):
(JSC::printRegister):
(JSC::MacroAssemblerPrinter::printCallback):

  • assembler/MacroAssemblerPrinter.h: Added.

(JSC::MacroAssemblerPrinter::print):
(JSC::MacroAssemblerPrinter::PrintArg::PrintArg):
(JSC::MacroAssemblerPrinter::appendPrintArg):
(JSC::MacroAssembler::print):

3:57 PM Changeset in webkit [189129] by jer.noble@apple.com
  • 30 edits in trunk

[iOS] Add WebKit/WebKit2 settings to control automatic data loading
https://bugs.webkit.org/show_bug.cgi?id=148579

Reviewed by Anders Carlsson.

Source/WebCore:

Move the automatic and metadata restrictions from PlatformMediaSessionManager (where access
to Settings is unavailable) to MediaElementSession (where it is available). Add properties
to Settings so that clients can control this behavior at runtime. Move these restrictions
between the two Internals functions which can set them for testing purposes.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::HTMLMediaElement):

  • html/MediaElementSession.cpp:

(WebCore::MediaElementSession::effectivePreloadForElement):

  • html/MediaElementSession.h:
  • platform/audio/PlatformMediaSessionManager.h:
  • platform/audio/ios/MediaSessionManagerIOS.mm:

(WebCore::MediaSessionManageriOS::resetRestrictions): Deleted.

  • testing/Internals.cpp:

(WebCore::Internals::setMediaElementRestrictions):
(WebCore::Internals::setMediaSessionRestrictions): Deleted.

Source/WebKit/mac:

Add a WebPreference to allow clients to control whether media is allowed to load automatically.
Remove the (now unnecessary) WebFrame property to do the same.

  • WebView/WebFrame.mm:

(-[WebFrame mediaDataLoadsAutomatically]): Deleted.
(-[WebFrame setMediaDataLoadsAutomatically:]): Deleted.

  • WebView/WebFramePrivate.h:
  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences mediaDataLoadsAutomatically]):
(-[WebPreferences setMediaDataLoadsAutomatically:]):

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Source/WebKit2:

Add a property to WKWebViewConfiguration to control whether clients are allowed
to load media data automatically. Pass this configuration on through to WebCore.

  • Shared/WebPreferencesDefinitions.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration init]):
(-[WKWebViewConfiguration copyWithZone:]):
(-[WKWebViewConfiguration _mediaDataLoadsAutomatically]):
(-[WKWebViewConfiguration _setMediaDataLoadsAutomatically:]):

  • UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

Tools:

In DumpRenderTree, set the new mediaDataLoadsAutomatically preference to YES.

In WebKitTestRunner, do the same for the new _mediaDataLoadsAutomatically configuration property,
and also set the existing requiresUserActionForMediaPlayback configuration property to NO.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(resetWebPreferencesToConsistentValues):
(resetWebViewToConsistentStateBeforeTesting):

  • WebKitTestRunner/cocoa/TestControllerCocoa.mm:

(WTR::initializeWebViewConfiguration):

LayoutTests:

Restriction setting moved from a global to a specific session.

  • media/video-restricted-no-preload-auto-expected.txt:
  • media/video-restricted-no-preload-auto.html:
  • media/video-restricted-no-preload-metadata-expected.txt:
  • media/video-restricted-no-preload-metadata.html:
3:50 PM Changeset in webkit [189128] by ap@apple.com
  • 4 edits in trunk/Tools

Fix run-webkit-tests --additional-env-var="DYLD_INSERT_LIBRARIES=..."
https://bugs.webkit.org/show_bug.cgi?id=148592

Reviewed by Tim Horton.

  • Scripts/webkitpy/port/base.py:

(Port.to.setup_environ_for_server):
(Port.to):
(Port.to._append_value_colon_separated):
(Port.to.show_results_html_file):

  • Scripts/webkitpy/port/ios.py:

(IOSSimulatorPort.setup_environ_for_server):

  • Scripts/webkitpy/port/mac.py:

(MacPort.setup_environ_for_server):

3:46 PM Changeset in webkit [189127] by andersca@apple.com
  • 2 edits in trunk/Source/WTF

Remove the #if PLATFORM(MAC) in DeprecatedSymbolsUsedBySafari.mm so we'll actually build it on iOS.

Reviewed by Dan Bernstein.

  • wtf/mac/DeprecatedSymbolsUsedBySafari.mm:
3:38 PM Changeset in webkit [189126] by fpizlo@apple.com
  • 8 edits
    2 adds in trunk

LICM should be sound even if the CFG has changed
https://bugs.webkit.org/show_bug.cgi?id=148259

Reviewed by Benjamin Poulain.

Source/JavaScriptCore:

Prior to this change, LICM expected a certain CFG shape around a loop: broken critical edges,
a pre-header, and the pre-header's terminal has exitOK. LICM would either crash on an
assertion, or generate code that fails validation, if these conditions weren't met.

The broken critical edge assumption is fine; so far we are assuming that SSA means broken
critical edges. We may revisit this, but we don't have to right now.

The other assumptions are not fine, because it's hard to guarantee that every phase will
preserve the presence of pre-headers. Even if we required that pre-headers are regenerated
before LICM, that regeneration wouldn't be guaranteed to create pre-headers that have exitOK at
the terminal. That's because once in SSA, the loop header probably has exitOK=false at the
head because of Phi's. Pre-header creation has no choice but to use the Node::origin from the
loop header, which means creating a pre-header that has exitOK=false. Regardless of whether
that's a fixable problem, it seems that our best short-term approach is just to be defensive
and turn undesirable pathologies into performance bugs and not crashes.

For the foreseeable future, once pre-headers are created they will probably not be removed. Our
current CFG simplification phase doesn't have a rule for removing pre-headers (since it doesn't
have any jump threading). So, it wouldn't be profitable to put effort towards reneration of
pre-headers for LICM's benefit.

Also, we cannot guarantee that some sequence of CFG transformations will not create a loop that
doesn't have a pre-header. This would be super rare. But you could imagine that some program
has control flow encoded using relooping (like
https://github.com/kripken/Relooper/blob/master/paper.pdf). If that happens, our compiler will
probably incrementally discover the "original" CFG. That may happen only after SSA conversion,
and so after pre-header generation. This is super unlikely for a bunch of reasons, but it
*could* happen.

So, this patch just makes sure that if pre-headers are missing or cannot be exited from, LICM
will simply avoid hoisting out of that block. At some point later, we can worry about a more
comprehensive solution to the pre-header problem. That's covered by this bug:
https://bugs.webkit.org/show_bug.cgi?id=148586

  • dfg/DFGLICMPhase.cpp:

(JSC::DFG::LICMPhase::run):
(JSC::DFG::LICMPhase::attemptHoist):

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThreadImpl):

  • runtime/Options.h:
  • tests/stress/licm-no-pre-header.js: Added.

(foo):

  • tests/stress/licm-pre-header-cannot-exit.js: Added.

(foo):

Tools:

Add a utility for creating tests that set some uncommon option.

  • Scripts/run-jsc-stress-tests:
3:25 PM WebInspectorCodingStyleGuide edited by Joseph Pecoraro
Tweaked code sample a bit. (diff)
2:54 PM Changeset in webkit [189125] by Brent Fulgham
  • 2 edits in trunk/Tools

[Win] Unreviewed EWS correction.

  • EWSTools/start-queue-win.sh: Update settings to point to VS2015.
2:35 PM Changeset in webkit [189124] by Yusuke Suzuki
  • 16 edits
    1 copy
    4 adds in trunk/Source

Move std::function from JSFunction into NativeStdFunctionCell to correctly destroy the heap allocated std::function
https://bugs.webkit.org/show_bug.cgi?id=148262

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

std::function is heap allocated value. So if this is held in the JSCell, the cell should be destructible.
Before this patch, it is held in the JSStdFunction. JSStdFunction is the derived class from the JSFunction,
and they are not destructible. So it leaked the memory.

This patch extracts std::function field from the JSStdFunction to the NativeStdFunctionCell. NativeStdFunctionCell
is responsible for destructing the held std::function.
Instead of moving std::function to the ExecutableBase, we move it to the newly created NativeStdFunctionCell cell.
The reason is the following.

  • Each NativeExecutable (in 64_32 JIT environment) has the trampolines to call given host functions. And the address of the host function is directly embedded on the JIT-compiled trampoline code.
  • To suppress the overuse of the executable memory (which is used to generate the trampoline), NativeExecutable is cached. The host function address is used as the key to look up the cached executable from the table.
  • In all the JSStdFunction, we use the same host function that immediately calls the each std::function.
  • As a result, without any change, all the JSStdFunction hit the same cached NativeExecutable even if the held std::function is different.
  • To solve it, if we put the std::function in the NativeExecutable, we need to add this std::function identity (like address) to the cache key, because the address of the stub host function (that calls the std::function) is the same in the all JSStdFunction.
  • But since the std::function will be allocated in the heap, this address is always different. So caching has no effect.
  • If we do not cache the NativeExecutable that holds the std::function, each time when creating the JSStdFunction, we need to regenerate the completely same trampolines (since it just calls the same host function stub that calls the std::function).

And this patch drops JSArrowFunction::destroy because (1) JSArrowFunction is not destructible and (2) it no longer
holds any fields that require destructions.

(runWithScripts):

  • runtime/JSArrowFunction.cpp:

(JSC::JSArrowFunction::destroy): Deleted.

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

(JSC::JSFunction::lookUpOrCreateNativeExecutable):
(JSC::JSFunction::create):
(JSC::getNativeExecutable): Deleted.
(JSC::JSStdFunction::JSStdFunction): Deleted.
(JSC::runStdFunction): Deleted.

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

(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::nativeStdFunctionStructure):

  • runtime/JSNativeStdFunction.cpp: Added.

(JSC::JSNativeStdFunction::JSNativeStdFunction):
(JSC::JSNativeStdFunction::visitChildren):
(JSC::JSNativeStdFunction::finishCreation):
(JSC::runStdFunction):
(JSC::JSNativeStdFunction::create):

  • runtime/JSNativeStdFunction.h: Copied from Source/JavaScriptCore/runtime/JSArrowFunction.h.

(JSC::JSNativeStdFunction::createStructure):
(JSC::JSNativeStdFunction::nativeStdFunctionCell):

  • runtime/NativeStdFunctionCell.cpp: Added.

(JSC::NativeStdFunctionCell::create):
(JSC::NativeStdFunctionCell::NativeStdFunctionCell):
(JSC::NativeStdFunctionCell::destroy):

  • runtime/NativeStdFunctionCell.h: Added.

(JSC::NativeStdFunctionCell::createStructure):
(JSC::NativeStdFunctionCell::function):

  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:

Source/WebCore:

No behavior change.

Change JSFunction::create to JSNativeStdFunction::create to explicitly create the JSNativeStdFunction with the C++ lambda.

  • ForwardingHeaders/runtime/JSNativeStdFunction.h: Added.
  • bindings/js/ReadableJSStream.cpp:

(WebCore::createStartResultFulfilledFunction):
(WebCore::createPullResultFulfilledFunction):
(WebCore::createCancelResultFulfilledFunction):
(WebCore::createCancelResultRejectedFunction):
(WebCore::ReadableJSStream::ReadableJSStream):

2:07 PM Changeset in webkit [189123] by commit-queue@webkit.org
  • 33 edits in trunk/Source

Create WebAssembly functions
https://bugs.webkit.org/show_bug.cgi?id=148373

Patch by Sukolsak Sakshuwong <Sukolsak Sakshuwong> on 2015-08-28
Reviewed by Filip Pizlo.

Source/JavaScriptCore:

Create functions from WebAssembly files generated by pack-asmjs
<https://github.com/WebAssembly/polyfill-prototype-1>.
WebAssembly functions created by this patch can only return 0.
Actual code generation will be implemented in subsequent patches.

This patch introduces WebAssemblyExecutable, a new subclass of
ExecutableBase for WebAssembly functions. CodeBlocks can now have
an owner that is not a ScriptExecutable. This patch changes the
return type of CodeBlock::ownerExecutable() from ScriptExecutable*
to ExecutableBase*. It also changes code that calls ScriptExecutable's
methods on CodeBlock::ownerExecutable() to use
CodeBlock::ownerScriptExecutable(), which does jsCast<ScriptExecutable*>.

Since ownerScriptExecutable() is called from WebCore and it uses
jsCast<ScriptExecutable*>, this patch needs to export
ScriptExecutable::info(). This should fix the build error in
https://bugs.webkit.org/show_bug.cgi?id=148555

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::hash):
(JSC::CodeBlock::sourceCodeForTools):
(JSC::CodeBlock::dumpAssumingJITType):
(JSC::CodeBlock::dumpSource):
(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::finalizeUnconditionally):
(JSC::CodeBlock::lineNumberForBytecodeOffset):
(JSC::CodeBlock::expressionRangeForBytecodeOffset):
(JSC::CodeBlock::install):
(JSC::CodeBlock::newReplacement):
(JSC::WebAssemblyCodeBlock::replacement):
(JSC::WebAssemblyCodeBlock::capabilityLevelInternal):
(JSC::CodeBlock::updateAllPredictions):
(JSC::CodeBlock::insertBasicBlockBoundariesForControlFlowProfiler):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::ownerExecutable):
(JSC::CodeBlock::ownerScriptExecutable):
(JSC::CodeBlock::codeType):
(JSC::WebAssemblyCodeBlock::WebAssemblyCodeBlock):

  • debugger/Debugger.cpp:

(JSC::Debugger::toggleBreakpoint):

  • debugger/DebuggerCallFrame.cpp:

(JSC::DebuggerCallFrame::sourceIDForCallFrame):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::InlineStackEntry::executable):
(JSC::DFG::ByteCodeParser::inliningCost):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
(JSC::DFG::ByteCodeParser::parseCodeBlock):

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::isSupportedForInlining):
(JSC::DFG::mightCompileEval):
(JSC::DFG::mightCompileProgram):
(JSC::DFG::mightCompileFunctionForCall):
(JSC::DFG::mightCompileFunctionForConstruct):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::executableFor):

  • dfg/DFGOSREntry.cpp:

(JSC::DFG::prepareOSREntry):

  • inspector/ScriptCallStackFactory.cpp:

(Inspector::CreateScriptCallStackFunctor::operator()):

  • interpreter/Interpreter.cpp:

(JSC::eval):
(JSC::isWebAssemblyExecutable):
(JSC::GetStackTraceFunctor::operator()):
(JSC::UnwindFunctor::operator()):

  • interpreter/StackVisitor.cpp:

(JSC::StackVisitor::Frame::sourceURL):
(JSC::StackVisitor::Frame::computeLineAndColumn):

  • jit/JITOperations.cpp:
  • jit/Repatch.cpp:

(JSC::linkPolymorphicCall):

  • llint/LLIntData.cpp:

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

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::setUpCall):

  • llint/LowLevelInterpreter.asm:
  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

  • runtime/Executable.cpp:

(JSC::WebAssemblyExecutable::WebAssemblyExecutable):
(JSC::WebAssemblyExecutable::destroy):
(JSC::WebAssemblyExecutable::visitChildren):
(JSC::WebAssemblyExecutable::clearCode):
(JSC::WebAssemblyExecutable::prepareForExecution):

  • runtime/Executable.h:

(JSC::ExecutableBase::isEvalExecutable):
(JSC::ExecutableBase::isFunctionExecutable):
(JSC::ExecutableBase::isProgramExecutable):
(JSC::ExecutableBase::isWebAssemblyExecutable):
(JSC::ExecutableBase::clearCodeVirtual):

  • runtime/JSFunction.cpp:

(JSC::JSFunction::create):

  • runtime/JSFunction.h:
  • runtime/JSFunctionInlines.h:

(JSC::JSFunction::JSFunction):
(JSC::JSFunction::isBuiltinFunction):

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

(JSC::VM::VM):

  • runtime/VM.h:
  • wasm/JSWASMModule.h:

(JSC::JSWASMModule::functions):

  • wasm/WASMFunctionParser.cpp:

(JSC::WASMFunctionParser::compile):

  • wasm/WASMFunctionParser.h:
  • wasm/WASMModuleParser.cpp:

(JSC::WASMModuleParser::WASMModuleParser):
(JSC::WASMModuleParser::parse):
(JSC::WASMModuleParser::parseFunctionDeclarationSection):
(JSC::WASMModuleParser::parseFunctionDefinition):
(JSC::WASMModuleParser::parseExportSection):
(JSC::parseWebAssembly):

  • wasm/WASMModuleParser.h:

Source/WebCore:

No new tests, because it is a function rename.

  • testing/Internals.cpp:

(WebCore::Internals::parserMetaData):

1:35 PM Changeset in webkit [189122] by Beth Dakin
  • 2 edits in trunk/Source/WebKit/mac

Crash in WK1 when clicking on a PDF inside an iframe
https://bugs.webkit.org/show_bug.cgi?id=148585
-and corresponding-
rdar://problem/22165194

Reviewed by Tim Horton.

Only handle WebHTMLViews.

  • WebView/WebImmediateActionController.mm:

(-[WebImmediateActionController immediateActionRecognizerWillPrepare:]):
(-[WebImmediateActionController immediateActionRecognizerDidCancelAnimation:]):

1:06 PM Changeset in webkit [189121] by jer.noble@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed gardening; fix (rebaseline) expected results for media/video-fullscreeen-only-playback.html after r189112.

Reviewed by NOBODY (OOPS!).

  • media/video-fullscreeen-only-playback-expected.txt:
12:49 PM Changeset in webkit [189120] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[Follow up] ScratchRegisterAllocator::preserveReusedRegistersByPushing() should allow room for C helper calls and keep sp properly aligned.
https://bugs.webkit.org/show_bug.cgi?id=148564

Not reviewed.

Updated the test to run with @ runNoCJITNoAccessInlining instead of specifying
the JSC option directly via
@ run(). This is the right thing to do in order
to guarantee that the test will be compiled by the DFG.

  • tests/stress/regress-148564.js:
12:41 PM Changeset in webkit [189119] by bshafiei@apple.com
  • 5 edits in branches/safari-601-branch/Source

Versioning.

12:31 PM Changeset in webkit [189118] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Improve ScriptSyntaxTree a bit
https://bugs.webkit.org/show_bug.cgi?id=148563

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-08-28
Reviewed by Timothy Hatcher.

  • UserInterface/Models/ScriptSyntaxTree.js:

(WebInspector.ScriptSyntaxTree.prototype._recurse):
(WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
Share and fix ClassDeclaration and ClassExpression recursion to visit
the identifier (node.id). Include the kind with a VariableDeclaration
("var", "let", "const").

12:12 PM Changeset in webkit [189117] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.2.2

New tag.

12:11 PM Changeset in webkit [189116] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.2.1

New tag.

12:09 PM Changeset in webkit [189115] by bshafiei@apple.com
  • 7 edits in branches/safari-601-branch

Merged r189024. rdar://problem/22426759

12:08 PM ImplementingCSSProperty edited by mmaxfield@apple.com
(diff)
12:07 PM Changeset in webkit [189114] by bshafiei@apple.com
  • 5 edits in branches/safari-601-branch/Source

Versioning.

11:52 AM Changeset in webkit [189113] by bshafiei@apple.com
  • 5 edits in branches/safari-601-branch/Source

Versioning.

11:51 AM Changeset in webkit [189112] by jer.noble@apple.com
  • 32 edits in trunk

[iOS] Make the AllowsInlineMediaPlayback preference work in WebKit / WebKit2.
https://bugs.webkit.org/show_bug.cgi?id=147512

Reviewed by Anders Carlsson.

Source/WebCore:

Updated existing tests to use the Setting rather than the Behavior Restriction.

Get rid of the sessionRestrictsInlineVideoPlayback() method and the InlineVideoPlaybackRestricted
restriction. Instead, just use the allowsInlineMediaPlayback() setting, and require
WebKit and WebKitLegacy clients to initialize the setting appropriately.

  • html/MediaElementSession.cpp:

(WebCore::MediaElementSession::requiresFullscreenForVideoPlayback): Deleted.

  • page/Settings.cpp: Add a new inlineMediaPlaybackRequiresPlaysInlineAttribute setting.
  • page/Settings.in: Ditto.
  • platform/audio/PlatformMediaSessionManager.cpp:

(WebCore::PlatformMediaSessionManager::sessionRestrictsInlineVideoPlayback): Deleted.

  • platform/audio/PlatformMediaSessionManager.h:
  • platform/audio/ios/MediaSessionManagerIOS.mm:

(WebCore::MediaSessionManageriOS::resetRestrictions): Deleted.

  • testing/InternalSettings.cpp:

(WebCore::InternalSettings::Backup::Backup): Backup the allowsInlineMediaPlayback() setting value.
(WebCore::InternalSettings::Backup::restoreTo): Restore same.
(WebCore::InternalSettings::setAllowsInlineMediaPlayback): Set allowsInlineMediaPlayback().

  • testing/InternalSettings.h:
  • testing/InternalSettings.idl:
  • testing/Internals.cpp:

(WebCore::Internals::setMediaSessionRestrictions): Deleted.

Source/WebKit/mac:

Add a new preference, inlineMediaPlaybackRequiresPlaysInlineAttribute, which defaults to
NO on iPad and YES on iPhone and iPod.

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]): Default the value of WebKitAllowsInlineMediaPlaybackPreferenceKey to
YES on iPad and NO on iPhone and iPod.
(-[WebPreferences inlineMediaPlaybackRequiresPlaysInlineAttribute]):
(-[WebPreferences setInlineMediaPlaybackRequiresPlaysInlineAttribute:]):

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Source/WebKit2:

Default the value of allowsInlineMediaPlayback to YES on iPad and NO on iPhone and iPod.
Add a new configuration property, _inlineMediaPlaybackRequiresPlaysInlineAttribute, which
defaults to NO on iPad and YES on iPhone and iPad.

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration init]):

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

(WKPreferencesSetInlineMediaPlaybackRequiresPlaysInlineAttribute):
(WKPreferencesGetInlineMediaPlaybackRequiresPlaysInlineAttribute):

  • UIProcess/API/C/WKPreferencesRefPrivate.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration init]):
(-[WKWebViewConfiguration copyWithZone:]):
(-[WKWebViewConfiguration _inlineMediaPlaybackRequiresPlaysInlineAttribute]):
(-[WKWebViewConfiguration _setInlineMediaPlaybackRequiresPlaysInlineAttribute:]):

  • UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

Tools:

Set the value of WebKitAllowsInlineMediaPlayback / WKPreferencesSetMediaPlaybackAllowsInline()
to a consistent (true) value.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(setDefaultsToConsistentValuesForTesting):

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetPreferencesToConsistentValues):

LayoutTests:

  • media/video-fullscreeen-only-controls.html:
  • media/video-fullscreeen-only-controls-expected.txt:
  • media/video-fullscreeen-only-playback.html:
  • media/video-fullscreeen-only-playback-expected.txt:
11:49 AM Changeset in webkit [189111] by bshafiei@apple.com
  • 1 copy in branches/safari-601-branch

New Branch.

11:42 AM Changeset in webkit [189110] by Jon Davis
  • 1 edit
    12 adds in trunk/Websites/webkit.org

Add assets for Styles Sidebar Refinements in Web Inspector blog post.

11:37 AM Changeset in webkit [189109] by timothy_horton@apple.com
  • 7 edits in trunk

Add navigation gesture callbacks to WKPageNavigationClient
https://bugs.webkit.org/show_bug.cgi?id=148568
<rdar://problem/22371346>

Reviewed by Anders Carlsson.

  • UIProcess/API/APINavigationClient.h:

(API::NavigationClient::didBeginNavigationGesture):
(API::NavigationClient::willEndNavigationGesture):
(API::NavigationClient::didEndNavigationGesture):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageNavigationClient):

  • UIProcess/API/C/WKPageNavigationClient.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::navigationGestureDidBegin):
(WebKit::WebPageProxy::navigationGestureWillEnd):
(WebKit::WebPageProxy::navigationGestureDidEnd):

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::createOtherPage):
(WTR::TestController::createWebViewWithOptions):
Add some zeroes.

11:35 AM Changeset in webkit [189108] by ap@apple.com
  • 2 edits in trunk/Tools

[Mac] kill-old-processes should kill more processes
https://bugs.webkit.org/show_bug.cgi?id=148577

Reviewed by Tim Horton.

  • BuildSlaveSupport/kill-old-processes:
11:21 AM Changeset in webkit [189107] by eric.carlson@apple.com
  • 8 edits in trunk

Media Session: MediaSession.releaseSession() renamed to deactivate()
https://bugs.webkit.org/show_bug.cgi?id=148578

Reviewed by Jer Noble.

Source/WebCore:

No new tests, media/session/releasing-sessions.html was updated for the change.

  • Modules/mediasession/MediaSession.cpp:

(WebCore::MediaSession::deactivate): Renamed from releaseSession.
(WebCore::MediaSession::releaseSession): Deleted.

  • Modules/mediasession/MediaSession.h:
  • Modules/mediasession/MediaSession.idl:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::setSession): releaseSession -> deactivate.

LayoutTests:

  • media/session/releasing-sessions-expected.txt:
  • media/session/releasing-sessions.html:
11:13 AM Changeset in webkit [189106] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

The status message for combined builder queues should say "all builds succeeded" if everything
built correctly.
https://bugs.webkit.org/show_bug.cgi?id=148535

Patch by Jason Marcell <jmarcell@apple.com> on 2015-08-28
Reviewed by David Kilzer and Alexey Proskuryakov.

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

(BuildbotCombinedQueueView.prototype.update): Make status message for combined builder queues
say "all builds succeeded" if everything built correctly.

11:09 AM Changeset in webkit [189105] by timothy_horton@apple.com
  • 17 edits in trunk/Source/WebKit2

Get rid of the DynamicSizeWithMinimumViewSize layout mode
https://bugs.webkit.org/show_bug.cgi?id=148554

Reviewed by Anders Carlsson.

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

(-[WKWebView _layoutMode]):
(-[WKWebView _setLayoutMode:]):
(-[WKWebView _setMinimumViewSize:]): Deleted.
(-[WKWebView _minimumViewSize]): Deleted.

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/API/Cocoa/_WKLayoutMode.h:
  • UIProcess/API/mac/WKView.mm:

(-[WKView _setMinimumViewSize:]): Deleted.
(-[WKView _minimumViewSize]): Deleted.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::scaleViewAndUpdateGeometryFenced): Deleted.

  • UIProcess/WebPageProxy.h:
  • UIProcess/mac/WKViewLayoutStrategy.mm:

(+[WKViewLayoutStrategy layoutStrategyWithPage:view:mode:]):
(-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy initWithPage:view:mode:]): Deleted.
(-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy _updateTransientScale:]): Deleted.
(-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy updateLayout]): Deleted.
(-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy didChangeMinimumViewSize]): Deleted.
(-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy willStartLiveResize]): Deleted.
(-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy didEndLiveResize]): Deleted.
(-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy didChangeFrameSize]): Deleted.
(-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy willChangeLayoutStrategy]): Deleted.

  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::replyWithFenceAfterNextFlush): Deleted.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::scaleViewAndUpdateGeometryFenced): Deleted.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::replyWithFenceAfterNextFlush): Deleted.

10:59 AM Changeset in webkit [189104] by commit-queue@webkit.org
  • 15 edits
    4 adds in trunk

Web Inspector: Separate creating a style sheet from adding a new rule in the protocol
https://bugs.webkit.org/show_bug.cgi?id=148502

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-08-28
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/protocol/CSS.json:

Add CSS.createStyleSheet. Modify CSS.addRule.

Source/WebCore:

Tests: inspector/css/createStyleSheet.html

inspector/css/manager-preferredInspectorStyleSheetForFrame.html

  • inspector/InspectorCSSAgent.h:

Allow for multiple inspector style sheets per document.

  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::createStyleSheet):
(WebCore::InspectorCSSAgent::createInspectorStyleSheetForDocument): Added.
(WebCore::InspectorCSSAgent::viaInspectorStyleSheet): Deleted.
Extract and generalize creating a via-inspector stylesheet here.

(WebCore::InspectorCSSAgent::addRule):
Lookup stylesheet to add a rule to via the provided stylesheet id.

(WebCore::InspectorCSSAgent::bindStyleSheet):
(WebCore::InspectorCSSAgent::detectOrigin):
Update to account for a list of stylesheets per document instead of one.

  • inspector/InspectorStyleSheet.cpp:

(WebCore::InspectorStyleSheet::addRule):
(WebCore::InspectorStyleSheetForInlineStyle::setStyleText):

Source/WebInspectorUI:

The backend allows creating multiple stylesheets. This patch makes
the frontend have a preferred InspectorStyleSheet per-frame.

  • UserInterface/Base/Object.js:

(WebInspector.Object.singleFireEventListener):
Return the wrapped listener so it can be removed if needed.

  • UserInterface/Models/CSSStyleSheet.js:

(WebInspector.CSSStyleSheet.prototype.isInspectorStyleSheet):
Helper to check if the current stylesheet is an inspector created stylesheet.

  • UserInterface/Controllers/CSSStyleManager.js:

(WebInspector.CSSStyleManager.prototype.preferredInspectorStyleSheetForFrame):
(WebInspector.CSSStyleManager.prototype.preferredInspectorStyleSheetForFrame.documentNodeAvailable):
(WebInspector.CSSStyleManager.prototype.preferredInspectorStyleSheetForFrame.bodyNodeAvailable):
(WebInspector.CSSStyleManager.prototype.preferredInspectorStyleSheetForFrame.cssRuleAvailable):
(WebInspector.CSSStyleManager.prototype._inspectorStyleSheetsForFrame):
Lookup the inspector stylesheet for a particular frame. If one doesn't exist create it.
For legacy backends, exploit "addRule" to create the inspector stylesheet.

  • UserInterface/Models/DOMNode.js:
  • UserInterface/Models/DOMNodeStyles.js:

(WebInspector.DOMNodeStyles.prototype.addEmptyRule.inspectorStyleSheetAvailable):
(WebInspector.DOMNodeStyles.prototype.addEmptyRule):
Currently add all new rules to the inspector stylesheet.

LayoutTests:

  • inspector/css/createStyleSheet-expected.txt: Added.
  • inspector/css/createStyleSheet.html: Added.
  • inspector/css/manager-preferredInspectorStyleSheetForFrame-expected.txt: Added.
  • inspector/css/manager-preferredInspectorStyleSheetForFrame.html: Added.
  • inspector/css/stylesheet-events-inspector-stylesheet-expected.txt:
  • inspector/css/stylesheet-events-inspector-stylesheet.html:
10:52 AM Changeset in webkit [189103] by mark.lam@apple.com
  • 4 edits
    1 add in trunk/Source/JavaScriptCore

ScratchRegisterAllocator::preserveReusedRegistersByPushing() should allow room for C helper calls and keep sp properly aligned.
https://bugs.webkit.org/show_bug.cgi?id=148564

Reviewed by Saam Barati.

ScratchRegisterAllocator::preserveReusedRegistersByPushing() pushes registers on
the stack in order to preserve them. But emitPutTransitionStub() (which uses
preserveReusedRegistersByPushing()) may also emit a call to a C helper function
to flush the heap write barrier buffer. The code for emitting a C helper call
expects the stack pointer (sp) to already be pointing to a location on the stack
where there's adequate space reserved for storing the arguments to the C helper,
and that space is expected to be at the top of the stack. Hence, there is a
conflict of expectations. As a result, the arguments for the C helper will
overwrite and corrupt the values that are pushed on the stack by
preserveReusedRegistersByPushing().

In addition, JIT compiled functions always position the sp such that it will be
aligned (according to platform ABI dictates) after a C call is made (i.e. after
the frame pointer and return address is pushed on to the stack).
preserveReusedRegistersByPushing()'s arbitrary pushing of a number of saved
register values may mess up this alignment.

The fix is to have preserveReusedRegistersByPushing(), after it has pushed the
saved register values, adjust the sp to reserve an additional amount of stack
space needed for C call helpers plus any padding needed to restore proper sp
alignment. The stack's ReservedZone will ensure that we have enough stack space
for this. ScratchRegisterAllocator::restoreReusedRegistersByPopping() also
needs to be updated to perform the complement of this behavior.

  • jit/Repatch.cpp:

(JSC::emitPutReplaceStub):
(JSC::emitPutTransitionStub):

  • jit/ScratchRegisterAllocator.cpp:

(JSC::ScratchRegisterAllocator::allocateScratchGPR):
(JSC::ScratchRegisterAllocator::allocateScratchFPR):
(JSC::ScratchRegisterAllocator::preserveReusedRegistersByPushing):
(JSC::ScratchRegisterAllocator::restoreReusedRegistersByPopping):

  • jit/ScratchRegisterAllocator.h:

(JSC::ScratchRegisterAllocator::numberOfReusedRegisters):

  • tests/stress/regress-148564.js: Added.

(test):
(runTest):

10:35 AM Changeset in webkit [189102] by timothy_horton@apple.com
  • 11 edits in trunk/Source

[Mac] Right-clicking on GIFs spins the UI process for a while
https://bugs.webkit.org/show_bug.cgi?id=148566
<rdar://problem/22460854>

Reviewed by Brady Eidson.

  • platform/ContextMenuItem.h:

Properly mark this as Mac-only. It's only implemented in ContextMenuItemMac.

  • platform/mac/ContextMenuItemMac.mm:

(WebCore::ContextMenuItem::shareMenuItem):
Take a NSImage directly, so we don't have to round-trip through BitmapImage,
which can be lossy and expensive.

  • WebCoreSupport/WebContextMenuClient.mm:

(WebContextMenuClient::shareMenuItem):
Make an NSImage directly from the hit image if possible.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::internalShowContextMenu):
(WebKit::WebPageProxy::platformInitializeShareMenuItem):

  • UIProcess/WebPageProxy.h:
  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::platformInitializeShareMenuItem):
Move all of the code to make a Share menuitem into platformInitializeShareMenuItem.
Make an NSImage directly from the image data if possible.

10:14 AM Changeset in webkit [189101] by beidson@apple.com
  • 3 edits in trunk/Source/WebCore

Use new CFNetwork cookie jar SPI only on El Capitan.
https://bugs.webkit.org/show_bug.cgi?id=148574 and rdar://problem/22460752

Reviewed by David Kilzer.

  • platform/network/mac/CookieJarMac.mm:

(WebCore::setCookiesFromDOM): Use OS X version to decide which API/SPI to use.

  • platform/spi/cf/CFNetworkSPI.h: Forward declare the SPI
9:45 AM Changeset in webkit [189100] by aestes@apple.com
  • 10 edits
    4 deletes in branches/safari-601.1-branch

Reverted r189001.

9:40 AM Changeset in webkit [189099] by aestes@apple.com
  • 10 edits
    4 adds in branches/safari-601.1.46-branch

Merge r188988.

2015-08-26 Andy Estes <aestes@apple.com>

Crash when following a Google search link to Twitter with Limit Adult Content enabled
https://bugs.webkit.org/show_bug.cgi?id=147651

Rubber-stamped by Brady Eidson.

Tools:

Taught TestRunner how to decide the navigation policy after a delay.

  • WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: (WTR::InjectedBundlePage::decidePolicyForNavigationAction):
  • WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::setShouldDecideNavigationPolicyAfterDelay):
  • WebKitTestRunner/InjectedBundle/TestRunner.h: (WTR::TestRunner::shouldDecideNavigationPolicyAfterDelay):
  • WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): (WTR::TestController::resetStateToConsistentValues): (WTR::TestController::decidePolicyForNavigationAction):
  • WebKitTestRunner/TestController.h: (WTR::TestController::setShouldDecideNavigationPolicyAfterDelay):
  • WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):

LayoutTests:

Added a layout test.

  • http/tests/contentfiltering/load-substitute-data-from-appcache-expected.txt: Added.
  • http/tests/contentfiltering/load-substitute-data-from-appcache.html: Added.
  • http/tests/contentfiltering/resources/appcache.html: Added.
  • http/tests/contentfiltering/resources/appcache.manifest: Added.
  • platform/mac-wk1/TestExpectations:
7:24 AM Changeset in webkit [189098] by Michael Catanzaro
  • 2 edits in trunk/Source/WebKit2

[CMake] LIBSECCOMP_INCLUDE_DIRS should be added to WebKit2_SYSTEM_INCLUDE_DIRECTORIES
https://bugs.webkit.org/show_bug.cgi?id=148552

Reviewed by Žan Doberšek.

LIBSECCOMP_INCLUDE_DIRS should be added to WebKit2_SYSTEM_INCLUDE_DIRECTORIES, not
WebKit2_INCLUDE_DIRECTORIES. (So that warnings from libseccomp headers are suppressed. Not
that there are any right now.)

  • PlatformGTK.cmake:
7:22 AM Changeset in webkit [189097] by Michael Catanzaro
  • 2 edits in trunk/Source/WebKit2

Minor fixes in reportUnexpectedSyscall
https://bugs.webkit.org/show_bug.cgi?id=148551

Reviewed by Žan Doberšek.

There is an off-by-one in the static assert.

Also, an unsigned long long is passed in, but the parameter is an int. Then it's passed to
writeUnsignedInt, which takes an unsigned int. Let's use unsigned int instead. (The value
is a syscall number, so it's safe to truncate regardless -- it never be anywhere near as
large as an int, unless the input is malicious, in which case truncating it is the right
thing to do anyway -- so this is just a matter of style.)

  • Shared/linux/SeccompFilters/Syscall.cpp:

(WebKit::reportUnexpectedSyscall):

5:58 AM Changeset in webkit [189096] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Type Profiler does not understand Functions within Default Argument Expressions
https://bugs.webkit.org/show_bug.cgi?id=148557

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-08-28
Reviewed by Timothy Hatcher.

  • UserInterface/Models/ScriptSyntaxTree.js:

(WebInspector.ScriptSyntaxTree.prototype._recurse):
(WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
(WebInspector.ScriptSyntaxTree):
Add support for abstracting and recursing through the default parameter
expressions Esprima has on function expressions and declarations.

5:57 AM Changeset in webkit [189095] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Type Profiler does not understand Functions inside Template Strings (ScriptSyntaxTree warnings)
https://bugs.webkit.org/show_bug.cgi?id=148556

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-08-28
Reviewed by Timothy Hatcher.

  • UserInterface/Models/ScriptSyntaxTree.js:

(WebInspector.ScriptSyntaxTree.prototype._recurse):
(WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
(WebInspector.ScriptSyntaxTree):
Add support for abstracting and recursing through the Esprima template nodes.

4:16 AM Changeset in webkit [189094] by Carlos Garcia Campos
  • 11 edits in trunk

[GTK] Simplify the internal API to create a WebView
https://bugs.webkit.org/show_bug.cgi?id=148570

Reviewed by Žan Doberšek.

Source/WebKit2:

Now that all the information required to create a WebView is in
API::PageConfiguration, we can simplify the internal API to
receive only the configuration instead of receiving a long list of
parameters that we use to build a new API::PageConfiguration.

  • UIProcess/API/C/gtk/WKView.cpp:

(WKViewCreate):

  • UIProcess/API/C/gtk/WKView.h:
  • UIProcess/API/gtk/WebKitWebContext.cpp:

(webkitWebContextCreatePageForWebView):

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseCreate):
(webkitWebViewBaseCreateWebPage):

  • UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
  • UIProcess/gtk/WebInspectorProxyGtk.cpp:

(WebKit::WebInspectorProxy::platformCreateInspectorPage):

Tools:

  • TestWebKitAPI/PlatformWebView.h: Add initialize method for GTK+ too.
  • TestWebKitAPI/gtk/PlatformWebViewGtk.cpp:

(TestWebKitAPI::PlatformWebView::PlatformWebView): Implement all
PlatformWebView constructors that end up calling initialize with a PageConfiguration.
(TestWebKitAPI::PlatformWebView::initialize): Create the WebView
passing the received PageConfiguration.

  • WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:

(WTR::PlatformWebView::PlatformWebView): Create the WebView
passing the received PageConfiguration.

2:48 AM Changeset in webkit [189093] by calvaris@igalia.com
  • 2 edits in trunk/LayoutTests

Layout Test streams/reference-implementation/readable-stream.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=148320

Reviewed by Alexey Proskuryakov.

  • streams/reference-implementation/readable-stream.html: Set the timeouts at the last moment so that it is less

likely to hit them earlier that we should.

2:11 AM Changeset in webkit [189092] by Carlos Garcia Campos
  • 2 edits in trunk/LayoutTests

Unreviewed GTK+ gardening. Skip inspector tests timing out after r188639.

  • platform/gtk/TestExpectations:
2:09 AM Changeset in webkit [189091] by Csaba Osztrogonác
  • 3 edits in trunk/Source/JavaScriptCore

Unreviewed Windows buildfix.

Revert part of r189072 since the original change was rolled out by r189085.

1:57 AM Changeset in webkit [189090] by Csaba Osztrogonác
  • 3 edits in trunk/Source/JavaScriptCore

Unreviewed Windows buildfix.

Revert r189077 since the original change was rolled out by r189085.

1:27 AM Changeset in webkit [189089] by Carlos Garcia Campos
  • 2 edits in trunk/LayoutTests

Unreviewed GTK+ gardening. Skip some MediaStream tests that are timing out.

  • platform/gtk/TestExpectations:

Aug 27, 2015:

11:22 PM Changeset in webkit [189088] by Yusuke Suzuki
  • 9 edits in trunk/Source/JavaScriptCore

[ES6] Implement Module execution and Loader's ready / link phase
https://bugs.webkit.org/show_bug.cgi?id=148172

Reviewed by Saam Barati.

This patch adds the link / ready phases to the existing module loader.
They are just the stubs and the actual implementations will be
forthcoming in the subsequnt patch.

And this patch paves the way to instantiate the module environment and
compile the executable code in the link phase. Move declaredVariables /
lexicalVariables from ModuleAnalyzer to JSModuleRecord to use them when
instantiating the module environment. Hold the source code in
JSModuleRecord to construct the executable in the link phase. And to
use HostResolveImportedModule operation from the C++ side, we expose
the JSMap from C++ to JS and use it in the builtin JS module loader
code.

  • builtins/ModuleLoaderObject.js:

(requestResolveDependencies.resolveDependenciesPromise.this.requestInstantiate.then.):
(requestLink):
(requestReady):
(link):
(moduleEvaluation):
(loadModule):

  • parser/ModuleAnalyzer.cpp:

(JSC::ModuleAnalyzer::ModuleAnalyzer):
(JSC::ModuleAnalyzer::analyze):

  • parser/ModuleAnalyzer.h:
  • runtime/Completion.cpp:

(JSC::checkModuleSyntax):

  • runtime/JSModuleRecord.cpp:

(JSC::JSModuleRecord::finishCreation):
(JSC::JSModuleRecord::visitChildren):
(JSC::identifierToJSValue):
(JSC::JSModuleRecord::hostResolveImportedModule):
(JSC::JSModuleRecord::link):
(JSC::JSModuleRecord::execute):

  • runtime/JSModuleRecord.h:

(JSC::JSModuleRecord::create):
(JSC::JSModuleRecord::sourceCode):
(JSC::JSModuleRecord::moduleKey):
(JSC::JSModuleRecord::exportEntries):
(JSC::JSModuleRecord::importEntries):
(JSC::JSModuleRecord::declaredVariables):
(JSC::JSModuleRecord::lexicalVariables):
(JSC::JSModuleRecord::JSModuleRecord):

  • runtime/ModuleLoaderObject.cpp:

(JSC::moduleLoaderObjectParseModule):
(JSC::moduleLoaderObjectRequestedModules):
(JSC::moduleLoaderObjectModuleDeclarationInstantiation):
(JSC::moduleLoaderObjectEvaluate):
(JSC::ModuleLoaderObject::requestInstantiateAll): Deleted.

  • runtime/ModuleLoaderObject.h:
11:03 PM Changeset in webkit [189087] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

[Cocoa] Draw fonts at their native sizes instead of scaling a 1pt font
https://bugs.webkit.org/show_bug.cgi?id=146045

Reviewed by Darin Adler.

In his WWDC talk[1], Antonio Cavedoni describes how painting a font at a particular point size
may yield different visual results than painting a font at a 1pt size into a scaled context.
However, this is something that we currently do in WebKit. This patch migrates from this
behavior to instead drawing text at the appropriate point size.

[1] https://developer.apple.com/videos/wwdc/2015/?id=804

  • platform/graphics/cocoa/FontCascadeCocoa.mm:

(WebCore::FontCascade::drawGlyphs):

10:59 PM Changeset in webkit [189086] by mark.lam@apple.com
  • 9 edits in trunk/Source/JavaScriptCore

Add noDFG() to jsc to prevent DFG compilation of a specified function.
https://bugs.webkit.org/show_bug.cgi?id=148559

Reviewed by Geoffrey Garen and Saam Barati.

  • API/JSCTestRunnerUtils.cpp:

(JSC::setNeverInline):
(JSC::setNeverOptimize):

  • API/JSCTestRunnerUtils.h:
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpAssumingJITType):

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::mightCompileEval):
(JSC::DFG::mightCompileProgram):
(JSC::DFG::mightCompileFunctionForCall):
(JSC::DFG::mightCompileFunctionForConstruct):
(JSC::DFG::mightInlineFunctionForCall):

  • jsc.cpp:

(GlobalObject::finishCreation):
(functionNoDFG):

  • runtime/Executable.h:

(JSC::ScriptExecutable::ecmaMode):
(JSC::ScriptExecutable::setNeverInline):
(JSC::ScriptExecutable::setNeverOptimize):
(JSC::ScriptExecutable::setDidTryToEnterInLoop):
(JSC::ScriptExecutable::neverInline):
(JSC::ScriptExecutable::neverOptimize):
(JSC::ScriptExecutable::didTryToEnterInLoop):
(JSC::ScriptExecutable::isInliningCandidate):
(JSC::ScriptExecutable::isOkToOptimize):
(JSC::ScriptExecutable::addressOfDidTryToEnterInLoop):

  • runtime/TestRunnerUtils.cpp:

(JSC::setNeverInline):
(JSC::setNeverOptimize):
(JSC::optimizeNextInvocation):

  • runtime/TestRunnerUtils.h:
10:19 PM Changeset in webkit [189085] by commit-queue@webkit.org
  • 16 edits
    50 deletes in trunk

Unreviewed, rolling out r189064 and r189084.
https://bugs.webkit.org/show_bug.cgi?id=148560

Breaks 117 JSC tests. (Requested by mlam on #webkit).

Reverted changesets:

"[ES6] Add TypedArray.prototype functionality."
https://bugs.webkit.org/show_bug.cgi?id=148035
http://trac.webkit.org/changeset/189064

"Unbreak JSC tests (broken since r189064)."
http://trac.webkit.org/changeset/189084

9:27 PM Changeset in webkit [189084] by mark.lam@apple.com
  • 2 edits in trunk/LayoutTests

Unbreak JSC tests (broken since r189064).

Not reviewed.

  • js/script-tests/typedarray-test-helper-functions.js:
9:09 PM WebKitGTK/2.8.x edited by philip.chimento@gmail.com
I missed 2.8.4 and 2.8.5, trying again for 2.8.6 (diff)
8:51 PM Changeset in webkit [189083] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

Tiny cleanup in RenderLayer::enclosingCompositingLayerForRepaint()
https://bugs.webkit.org/show_bug.cgi?id=148541

Reviewed by Tim Horton.

No change in functionality.

  • rendering/RenderLayer.cpp:

(WebCore::compositingContainer):
(WebCore::compositedWithOwnBackingStore):
(WebCore::RenderLayer::enclosingCompositingLayer):
(WebCore::RenderLayer::enclosingCompositingLayerForRepaint):
(WebCore::RenderLayer::enclosingFilterRepaintLayer):
(WebCore::RenderLayer::clippingRootForPainting):

  • rendering/RenderLayer.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::descendantLayerPaintsIntoAncestor):

8:35 PM ImplementingCSSProperty edited by timothy@apple.com
(diff)
7:51 PM ImplementingCSSProperty edited by mmaxfield@apple.com
(diff)
7:28 PM Changeset in webkit [189082] by commit-queue@webkit.org
  • 33 edits in trunk/Source

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

broke the build (Requested by jessieberlin on #webkit).

Reverted changeset:

"Create WebAssembly functions"
https://bugs.webkit.org/show_bug.cgi?id=148373
http://trac.webkit.org/changeset/189079

7:11 PM Changeset in webkit [189081] by timothy_horton@apple.com
  • 5 edits in trunk/Source/WebKit2

Video full-screen shouldn't use the DynamicSizeWithMinimumViewSize layout mode
https://bugs.webkit.org/show_bug.cgi?id=148553

Reviewed by Zalan Bujtas.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _supportsArbitraryLayoutModes]):
(-[WKView _updateSupportsArbitraryLayoutModes]):
(-[WKView _didCommitLoadForMainFrame]):

  • UIProcess/API/mac/WKViewInternal.h:
  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::beganEnterFullScreen):
(WebKit::PageClientImpl::beganExitFullScreen):

  • UIProcess/mac/WKFullScreenWindowController.mm:

(-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): Deleted.
(-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): Deleted.
It's not OK to just randomly change the layout mode, because the client
can change it or its properties out from under us, and also because we
weren't resetting it to whatever the client had specified.

I recently implemented a better way to override layout modes, for PDF,
so use that here. Also, we shouldn't use DynamicSizeWithMinimumViewSize,
we should just use the "normal" mode (ViewSize), since we've already ensured
a minimum size by setting contentMinSize.

6:51 PM ImplementingCSSProperty created by mmaxfield@apple.com
6:43 PM Changeset in webkit [189080] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

pluginInfo.clientLoadPolicy is used uninitialized in WebContent process
https://bugs.webkit.org/show_bug.cgi?id=148550

Reviewed by Tim Horton.

This fixes flakiness on plugins/plugin-javascript-access.html.

  • Shared/WebCoreArgumentCoders.cpp: (IPC::ArgumentCoder<PluginInfo>::decode):
6:13 PM Changeset in webkit [189079] by commit-queue@webkit.org
  • 33 edits in trunk/Source

Create WebAssembly functions
https://bugs.webkit.org/show_bug.cgi?id=148373

Patch by Sukolsak Sakshuwong <Sukolsak Sakshuwong> on 2015-08-27
Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Create functions from WebAssembly files generated by pack-asmjs
<https://github.com/WebAssembly/polyfill-prototype-1>.
WebAssembly functions created by this patch can only return 0.
Actual code generation will be implemented in subsequent patches.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::hash):
(JSC::CodeBlock::sourceCodeForTools):
(JSC::CodeBlock::dumpAssumingJITType):
(JSC::CodeBlock::dumpSource):
(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::finalizeUnconditionally):
(JSC::CodeBlock::lineNumberForBytecodeOffset):
(JSC::CodeBlock::expressionRangeForBytecodeOffset):
(JSC::CodeBlock::install):
(JSC::CodeBlock::newReplacement):
(JSC::WebAssemblyCodeBlock::replacement):
(JSC::WebAssemblyCodeBlock::capabilityLevelInternal):
(JSC::CodeBlock::updateAllPredictions):
(JSC::CodeBlock::insertBasicBlockBoundariesForControlFlowProfiler):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::ownerExecutable):
(JSC::CodeBlock::ownerScriptExecutable):
(JSC::CodeBlock::codeType):
(JSC::WebAssemblyCodeBlock::WebAssemblyCodeBlock):

  • debugger/Debugger.cpp:

(JSC::Debugger::toggleBreakpoint):

  • debugger/DebuggerCallFrame.cpp:

(JSC::DebuggerCallFrame::sourceIDForCallFrame):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::InlineStackEntry::executable):
(JSC::DFG::ByteCodeParser::inliningCost):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
(JSC::DFG::ByteCodeParser::parseCodeBlock):

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::isSupportedForInlining):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::executableFor):

  • dfg/DFGOSREntry.cpp:

(JSC::DFG::prepareOSREntry):

  • inspector/ScriptCallStackFactory.cpp:

(Inspector::CreateScriptCallStackFunctor::operator()):

  • interpreter/Interpreter.cpp:

(JSC::eval):
(JSC::isWebAssemblyExecutable):
(JSC::GetStackTraceFunctor::operator()):
(JSC::UnwindFunctor::operator()):

  • interpreter/StackVisitor.cpp:

(JSC::StackVisitor::Frame::sourceURL):
(JSC::StackVisitor::Frame::computeLineAndColumn):

  • jit/JITOperations.cpp:
  • jit/Repatch.cpp:

(JSC::isWebAssemblyExecutable):
(JSC::linkPolymorphicCall):

  • llint/LLIntData.cpp:

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

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::setUpCall):

  • llint/LowLevelInterpreter.asm:
  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

  • runtime/Executable.cpp:

(JSC::WebAssemblyExecutable::WebAssemblyExecutable):
(JSC::WebAssemblyExecutable::destroy):
(JSC::WebAssemblyExecutable::visitChildren):
(JSC::WebAssemblyExecutable::clearCode):
(JSC::WebAssemblyExecutable::prepareForExecution):

  • runtime/Executable.h:

(JSC::ExecutableBase::isEvalExecutable):
(JSC::ExecutableBase::isFunctionExecutable):
(JSC::ExecutableBase::isProgramExecutable):
(JSC::ExecutableBase::isWebAssemblyExecutable):
(JSC::ExecutableBase::clearCodeVirtual):

  • runtime/JSFunction.cpp:

(JSC::JSFunction::create):

  • runtime/JSFunction.h:
  • runtime/JSFunctionInlines.h:

(JSC::JSFunction::JSFunction):
(JSC::JSFunction::isBuiltinFunction):

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

(JSC::VM::VM):

  • runtime/VM.h:
  • wasm/JSWASMModule.h:

(JSC::JSWASMModule::functions):

  • wasm/WASMFunctionParser.cpp:

(JSC::WASMFunctionParser::compile):

  • wasm/WASMFunctionParser.h:
  • wasm/WASMModuleParser.cpp:

(JSC::WASMModuleParser::WASMModuleParser):
(JSC::WASMModuleParser::parse):
(JSC::WASMModuleParser::parseFunctionDeclarationSection):
(JSC::WASMModuleParser::parseFunctionDefinition):
(JSC::WASMModuleParser::parseExportSection):
(JSC::parseWebAssembly):

  • wasm/WASMModuleParser.h:

Source/WebCore:

No new tests because it's a function rename.

  • testing/Internals.cpp:

(WebCore::Internals::parserMetaData):

5:36 PM Changeset in webkit [189078] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

iOS Simulator API tests fails as Simulator is not running
https://bugs.webkit.org/show_bug.cgi?id=148501
rdar://problem/22447525

Patch by Aakash Jain <aakash_jain@apple.com> on 2015-08-27
Reviewed by Daniel Bates.

This change is a workaround for <rdar://problem/22388812>.

  • Scripts/run-api-tests: Launch the iOS Simulator before starting the API Tests and quit it on program termination when running tests on the iOS port.
  • Scripts/webkitdirs.pm: Store string "For WebKit Development" in constant SIMULATOR_DEVICE_SUFFIX_FOR_WEBKIT_DEVELOPMENT to make it consistently reusable.
5:20 PM Changeset in webkit [189077] by Brent Fulgham
  • 3 edits in trunk/Source/JavaScriptCore

[Win] Unreviewed build fix after r189064.

JSTypedArrayViewPrototypes.{h,cpp} -> JSTypedArrayViewPrototype.{h,cpp}

5:04 PM Changeset in webkit [189076] by achristensen@apple.com
  • 9 edits in trunk

Make DLLLauncherMain executables dependent on dll
https://bugs.webkit.org/show_bug.cgi?id=148548

Reviewed by Brent Fulgham.

Source/JavaScriptCore:

  • shell/CMakeLists.txt:
  • shell/PlatformWin.cmake:

Tools:

  • DumpRenderTree/CMakeLists.txt:
  • DumpRenderTree/PlatformWin.cmake:
  • MiniBrowser/win/CMakeLists.txt:
  • TestWebKitAPI/CMakeLists.txt:
  • TestWebKitAPI/PlatformWin.cmake:
5:02 PM WebInspectorTests edited by BJ Burg
Start cleaning up article about testing Web Inspector. (diff)
4:59 PM Changeset in webkit [189075] by fpizlo@apple.com
  • 13 edits in trunk/Source/JavaScriptCore

DFG::StrCat isn't really effectful
https://bugs.webkit.org/show_bug.cgi?id=148443

Reviewed by Geoffrey Garen.

I previously made the DFG StrCat node effectful because it is implemented by calling a
DFGOperations function that could cause arbitrary effects. But, the node is only generated from the
op_strcat bytecode operation, and that operation is only used when we first ensure that its
operands are primitives. Primitive operands to StrCat cannot cause arbitrary side-effects. The
reason why I didn't immediately mark StrCat as pure was because there was nothing in DFG IR that
guaranteed that StrCat's children were primitives.

This change adds a KnownPrimitiveUse use kind, and applies it to StrCat. This allows us to mark
StrCat as being pure. This should be a speed-up because we can CSE StrCat and because it means that
we can OSR exit after a StrCat (a pure node doesn't clobber exit state), so we can convert more
of a large string concatenation into MakeRope's.

  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::attemptToMakeFastStringAdd):

  • dfg/DFGOperations.cpp:
  • dfg/DFGSafeToExecute.h:

(JSC::DFG::SafeToExecuteEdge::operator()):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::speculate):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • dfg/DFGUseKind.cpp:

(WTF::printInternal):

  • dfg/DFGUseKind.h:

(JSC::DFG::typeFilterFor):
(JSC::DFG::shouldNotHaveTypeCheck):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::DFG::LowerDFGToLLVM::compileStrCat):
(JSC::FTL::DFG::LowerDFGToLLVM::speculate):

4:53 PM Changeset in webkit [189074] by msaboff@apple.com
  • 3 edits in branches/jsc-tailcall/Source/JavaScriptCore

jsc-tailcall: ARM64 crashes running most any test
https://bugs.webkit.org/show_bug.cgi?id=148547

Reviewed by Basile Clement.

  • jit/CallFrameShuffler.cpp:

(JSC::CallFrameShuffler::CallFrameShuffler): Exclude all callee save registers instead
of runtime registers as not all callee saves are enumerated in GPRInfo.

  • jit/GPRInfo.h: Increased numberCalleeSaveRegisters for ARM64 to include all

architected callee saves, x19..x28.

4:52 PM Changeset in webkit [189073] by timothy_horton@apple.com
  • 5 edits in trunk/LayoutTests

fast/css/object-fit/object-fit-embed.html isn't testing anything
https://bugs.webkit.org/show_bug.cgi?id=148512

Reviewed by Andy Estes.

  • fast/css/object-fit/object-fit-embed-expected.html:
  • fast/css/object-fit/object-fit-embed.html:
  • fast/replaced/border-radius-clip-content-edge.html:
  • fast/replaced/outline-replaced-elements.html:

These tests load PNGs inside <embeds>. r82001 made it so that
the test plugin handles PNGs, and also so that <embed> prefers
plugins even for types that we know how to handle natively.

Since these tests actually want to load PNGs natively, disable
plugins so we don't get that behavior.

4:50 PM Changeset in webkit [189072] by Brent Fulgham
  • 3 edits in trunk/Source/JavaScriptCore

[Win] Unreviewed build fix after r189064.

4:48 PM Changeset in webkit [189071] by Yusuke Suzuki
  • 4 edits
    1 add in trunk/Source/JavaScriptCore

Add module loader "resolve" hook for local file system to test the loader in JSC shell
https://bugs.webkit.org/show_bug.cgi?id=148543

Reviewed by Filip Pizlo.

Add the module loader "resolve" hook to the JSC shell.
It takes the module name and the referrer module key and resolves the name to the unique module key.

resolve(ModuleName moduleName, ModuleKey referrer) -> Promise<ModuleKey>

In the JSC shell, since we load the module from the local file system, we treat an absolute file path
as a module key. So, in this patch, we implement the "resolve" hook that resolves the module name to
the absolute file path.

This local file system "resolve" functionality makes JSC shell easy to test the module loader.

  • jsc.cpp:

(GlobalObject::finishCreation):
(GlobalObject::moduleLoaderFetch):
(pathSeparator):
(extractDirectoryName):
(currentWorkingDirectory):
(resolvePath):
(GlobalObject::moduleLoaderResolve):
(functionDrainMicrotasks):

  • runtime/JSInternalPromiseDeferred.cpp:

(JSC::JSInternalPromiseDeferred::resolve):
(JSC::JSInternalPromiseDeferred::reject):

  • runtime/JSInternalPromiseDeferred.h:
  • tests/stress/pathname-resolve.js: Added.

(shouldBe):
(shouldThrow):

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

Unreviewed, fix some FIXMEs and add some new ones, based on things we've learned from some
recent OSR exit work.

  • dfg/DFGLICMPhase.cpp:

(JSC::DFG::LICMPhase::run):
(JSC::DFG::LICMPhase::attemptHoist):

  • dfg/DFGMayExit.cpp:
  • dfg/DFGMayExit.h:
4:40 PM Changeset in webkit [189069] by matthew_hanson@apple.com
  • 5 edits in branches/safari-601.1-branch/Source

Versioning

4:39 PM Changeset in webkit [189068] by Lucas Forschler
  • 2 edits in trunk/Tools

Remove Mac slaves 188/189 after being replaced with 400/401.

Unreviewed.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
4:35 PM Changeset in webkit [189067] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-601.1.56

New Tag.

4:26 PM Changeset in webkit [189066] by bshafiei@apple.com
  • 5 edits in branches/safari-601.1.46-branch/Source

Versioning.

4:24 PM Changeset in webkit [189065] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.46.21

New tag.

3:57 PM Changeset in webkit [189064] by commit-queue@webkit.org
  • 16 edits
    1 copy
    49 adds in trunk

[ES6] Add TypedArray.prototype functionality.
https://bugs.webkit.org/show_bug.cgi?id=148035

Patch by Keith Miller <keith_miller@apple.com> on 2015-08-27
Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

This patch should add most of the functionality for
the prototype properties of TypedArray objects in ES6.
There are a few exceptions to this, which will be added
in upcoming patches:

1) First we do not use the species constructor for some
of the TypedArray prototype functions (namely: map, filter,
slice, and subarray). That will need to be added when
species constructors are finished.

2) TypedArrays still have a length, byteOffset, byteLength,
and buffer are still attached to the TypedArray instance (in
the spec they are on the TypedArray.prototype instance object)
since the JIT currently assumes those properties are fixed.

3) The TypedArray.constructor property is not added yet
as it should point to the TypedArray instance object,
which will be added in a future patch.

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • builtins/TypedArray.prototype.js: Added.

(every):
(find):
(findIndex):
(forEach):
(some):
(sort.min):
(sort.merge):
(sort.mergeSort):
(sort):
(reduce):
(reduceRight):
(map):
(filter):
(toLocaleString):

  • runtime/ArrayPrototype.cpp:
  • runtime/ArrayPrototype.h:
  • runtime/CommonIdentifiers.h:
  • runtime/JSGenericTypedArrayView.h:

(JSC::sortFloat):
(JSC::JSGenericTypedArrayView::toAdaptorNativeFromValue):
(JSC::JSGenericTypedArrayView::setRangeToValue):
(JSC::JSGenericTypedArrayView::sort):

  • runtime/JSGenericTypedArrayViewInlines.h:
  • runtime/JSGenericTypedArrayViewPrototypeFunctions.h: Added.

(JSC::argumentClampedIndexFromStartOrEnd):
(JSC::genericTypedArrayViewProtoFuncSet):
(JSC::genericTypedArrayViewProtoFuncEntries):
(JSC::genericTypedArrayViewProtoFuncCopyWithin):
(JSC::genericTypedArrayViewProtoFuncFill):
(JSC::genericTypedArrayViewProtoFuncIndexOf):
(JSC::genericTypedArrayViewProtoFuncJoin):
(JSC::genericTypedArrayViewProtoFuncKeys):
(JSC::genericTypedArrayViewProtoFuncLastIndexOf):
(JSC::genericTypedArrayViewProtoGetterFuncLength):
(JSC::genericTypedArrayViewProtoGetterFuncByteLength):
(JSC::genericTypedArrayViewProtoGetterFuncByteOffset):
(JSC::genericTypedArrayViewProtoFuncReverse):
(JSC::genericTypedArrayViewPrivateFuncSort):
(JSC::genericTypedArrayViewProtoFuncSlice):
(JSC::genericTypedArrayViewProtoFuncSubarray):
(JSC::typedArrayViewProtoFuncValues):

  • runtime/JSGenericTypedArrayViewPrototypeInlines.h:

(JSC::JSGenericTypedArrayViewPrototype<ViewClass>::finishCreation):
(JSC::genericTypedArrayViewProtoFuncSet): Deleted.
(JSC::genericTypedArrayViewProtoFuncSubarray): Deleted.

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):

  • runtime/JSObject.h:
  • runtime/JSTypedArrayPrototypes.cpp:
  • runtime/JSTypedArrayPrototypes.h:
  • runtime/JSTypedArrayViewPrototype.cpp: Added.

(JSC::typedArrayViewPrivateFuncLength):
(JSC::typedArrayViewPrivateFuncSort):
(JSC::typedArrayViewProtoFuncSet):
(JSC::typedArrayViewProtoFuncEntries):
(JSC::typedArrayViewProtoFuncCopyWithin):
(JSC::typedArrayViewProtoFuncFill):
(JSC::typedArrayViewProtoFuncLastIndexOf):
(JSC::typedArrayViewProtoFuncIndexOf):
(JSC::typedArrayViewProtoFuncJoin):
(JSC::typedArrayViewProtoFuncKeys):
(JSC::typedArrayViewProtoGetterFuncLength):
(JSC::typedArrayViewProtoGetterFuncByteLength):
(JSC::typedArrayViewProtoGetterFuncByteOffset):
(JSC::typedArrayViewProtoFuncReverse):
(JSC::typedArrayViewProtoFuncSubarray):
(JSC::typedArrayViewProtoFuncSlice):
(JSC::typedArrayViewProtoFuncValues):
(JSC::JSTypedArrayViewPrototype::JSTypedArrayViewPrototype):
(JSC::JSTypedArrayViewPrototype::finishCreation):
(JSC::JSTypedArrayViewPrototype::create):
(JSC::JSTypedArrayViewPrototype::createStructure):

  • runtime/JSTypedArrayViewPrototype.h: Copied from Source/JavaScriptCore/runtime/JSTypedArrayPrototypes.cpp.

LayoutTests:

Added tests for the TypedArray.prototype functions.
All the tests use the typedarray-test-helper-function.js
to run the test on each TypedArray.

  • fast/canvas/webgl/type-conversion-test-expected.txt:
  • js/script-tests/typedarray-copyWithin.js: Added.
  • js/script-tests/typedarray-every.js: Added.

(isBigEnough):
(isBigEnoughAndChange):
(isBigEnoughAndException):

  • js/script-tests/typedarray-fill.js: Added.
  • js/script-tests/typedarray-filter.js: Added.

(keepEven):
(keepEvenAndChange):
(isBigEnoughAndException):

  • js/script-tests/typedarray-find.js: Added.

(keepEven):
(keepEvenAndChange):
(isBigEnoughAndException):

  • js/script-tests/typedarray-findIndex.js: Added.

(keepEven):
(keepEvenAndChange):
(isBigEnoughAndException):

  • js/script-tests/typedarray-forEach.js: Added.

(.checkCorrect.let.list):
(.checkCorrect):
(createChecker):
(foo):
(changeArray):
(isBigEnoughAndException):

  • js/script-tests/typedarray-indexOf.js: Added.

(keepEven):

  • js/script-tests/typedarray-lastIndexOf.js: Added.
  • js/script-tests/typedarray-map.js: Added.

(even):
(evenAndChange):
(isBigEnoughAndException):

  • js/script-tests/typedarray-reduce.js: Added.

(createArray):
(sum):
(createArrayAndChange):
(isBigEnoughAndException):

  • js/script-tests/typedarray-reduceRight.js: Added.

(createArray):
(sum):
(createArrayAndChange):
(isBigEnoughAndException):

  • js/script-tests/typedarray-slice.js: Added.
  • js/script-tests/typedarray-some.js: Added.

(isBigEnough):
(isBigEnoughAndChange):
(isBigEnoughAndException):

  • js/script-tests/typedarray-sort.js: Added.

(sortBackwards):
(compareException):

  • js/script-tests/typedarray-test-helper-functions.js: Added.

(forEachTypedArray):
(isSameFunctionForEachTypedArrayPrototype.eq):
(isSameFunctionForEachTypedArrayPrototype):
(hasSameValues):
(.foo):
(testPrototypeFunctionHelper):
(testPrototypeFunctionOnSigned):
(testPrototypeFunctionOnFloat):
(testPrototypeFunction):

  • js/typedarray-copyWithin-expected.txt: Added.
  • js/typedarray-copyWithin.html: Added.
  • js/typedarray-every-expected.txt: Added.
  • js/typedarray-every.html: Added.
  • js/typedarray-fill-expected.txt: Added.
  • js/typedarray-fill.html: Added.
  • js/typedarray-filter-expected.txt: Added.
  • js/typedarray-filter.html: Added.
  • js/typedarray-find-expected.txt: Added.
  • js/typedarray-find.html: Added.
  • js/typedarray-findIndex-expected.txt: Added.
  • js/typedarray-findIndex.html: Added.
  • js/typedarray-forEach-expected.txt: Added.
  • js/typedarray-forEach.html: Added.
  • js/typedarray-indexOf-expected.txt: Added.
  • js/typedarray-indexOf.html: Added.
  • js/typedarray-lastIndexOf-expected.txt: Added.
  • js/typedarray-lastIndexOf.html: Added.
  • js/typedarray-map-expected.txt: Added.
  • js/typedarray-map.html: Added.
  • js/typedarray-reduce-expected.txt: Added.
  • js/typedarray-reduce.html: Added.
  • js/typedarray-reduceRight-expected.txt: Added.
  • js/typedarray-reduceRight.html: Added.
  • js/typedarray-slice-expected.txt: Added.
  • js/typedarray-slice.html: Added.
  • js/typedarray-some-expected.txt: Added.
  • js/typedarray-some.html: Added.
  • js/typedarray-sort-expected.txt: Added.
  • js/typedarray-sort.html: Added.
3:35 PM Changeset in webkit [189063] by Chris Dumez
  • 8 edits in trunk/Source/WebCore

A WebIDL callback interface is allowed to have constants
https://bugs.webkit.org/show_bug.cgi?id=148449

Reviewed by Geoffrey Garen.

Our JS bindings generator is now able to:

  1. Handle IDL constants [1] on a callback interfaces [2] and generate a DOMConstructorObject subclass with static properties for these constants [3].
  2. Generate a property on the global object for callback interfaces that have constants and do not have the [NoInterfaceObject] IDL extended attribute [4].

This is a pre-requirement for Bug 148415 as NodeFilter [5] has constants
and should be a callback interface. Once NodeFilter is ported to be
a callback interface, the JS still needs to be able to access
window.NodeFilter.SHOW_ALL for e.g.

[1] https://heycam.github.io/webidl/#dfn-constant
[2] https://heycam.github.io/webidl/#dfn-callback-interface
[3] https://heycam.github.io/webidl/#NoInterfaceObject
[4] https://heycam.github.io/webidl/#es-interfaces
[5] https://dom.spec.whatwg.org/#interface-nodefilter

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateCallbackHeader):
(GenerateCallbackImplementation):
(GenerateConstructorHelperMethods):
(ConstructorHasProperties): Deleted.

  • bindings/scripts/preprocess-idls.pl:

(getInterfaceExtendedAttributesFromIDL):
(interfaceHasConstantAttribute):

  • bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
  • bindings/scripts/test/JS/JSTestCallback.cpp:

(WebCore::JSTestCallbackConstructor::create):
(WebCore::JSTestCallbackConstructor::createStructure):
(WebCore::JSTestCallbackConstructor::JSTestCallbackConstructor):
(WebCore::JSTestCallbackConstructor::finishCreation):
(WebCore::JSTestCallback::getConstructor):

  • bindings/scripts/test/JS/JSTestCallback.h:
  • bindings/scripts/test/ObjC/DOMTestCallback.h:
  • bindings/scripts/test/TestCallback.idl:
3:33 PM Changeset in webkit [189062] by Chris Dumez
  • 9 edits
    2 adds in trunk

Range.compareBoundaryPoints() should throw a NotSupportedError for invalid compareHow values
https://bugs.webkit.org/show_bug.cgi?id=148483

Reviewed by Geoffrey Garen.

Source/WebCore:

Range.compareBoundaryPoints() should throw a NotSupportedError for
invalid compareHow values:
https://dom.spec.whatwg.org/#dom-range-compareboundarypoints (step 1)

Firefox and Chrome conform to the specification already.

Previously, WebKit would not throw and simply cast the value to our
internal CompareHow enum type. This patch aligns WebKit's behavior with
the DOM specificaiton and other browsers.

W3C test suite:
http://w3c-test.org/dom/ranges/Range-compareBoundaryPoints.html

Test: fast/dom/Range/compareBoundaryPoints-compareHow-exception.html

  • bindings/scripts/CodeGenerator.pm:
  • bindings/scripts/CodeGeneratorGObject.pm:
  • bindings/scripts/CodeGeneratorJS.pm:
  • bindings/scripts/CodeGeneratorObjC.pm:

Drop CompareHow special casing from bindings generator as we now use
unsigned short instead in the IDL.

  • dom/Range.cpp:

(WebCore::Range::compareBoundaryPointsForBindings):

  • dom/Range.h:
  • dom/Range.idl:

Use "unsigned short" type instead of WebCore's CompareHow for the
parameter, as per the specification. On implementation side, we
now validate the compareHow value before casting it to a CompareHow
enum type. If the value is not value, we throw and abort early.

LayoutTests:

Add new layout test to confirm that Range.compareBoundaryPoints() throws
when passed in invalid compareHow values.

  • fast/dom/Range/compareBoundaryPoints-compareHow-exception-expected.txt: Added.
  • fast/dom/Range/compareBoundaryPoints-compareHow-exception.html: Added.
3:31 PM Changeset in webkit [189061] by basile_clement@apple.com
  • 18 edits
    2 deletes in branches/jsc-tailcall/Source/JavaScriptCore

Unreviewed, revert r189049 which should never have been committed.

(JSC::ValueRecovery::inGPR): Deleted.

  • dfg/DFGNode.h:

(JSC::DFG::Node::targetBytecodeOffsetDuringParsing): Deleted.
(JSC::DFG::Node::targetBlock): Deleted.
(JSC::DFG::Node::branchData): Deleted.

  • dfg/DFGTierUpCheckInjectionPhase.cpp:

(JSC::DFG::TierUpCheckInjectionPhase::run):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLCompile.cpp:

(JSC::FTL::mmAllocateDataSection): Deleted.

  • ftl/FTLJSCall.cpp:

(JSC::FTL::JSCall::JSCall):

  • ftl/FTLJSCallBase.cpp:

(JSC::FTL::JSCallBase::link):
(JSC::FTL::JSCallBase::emit): Deleted.

  • ftl/FTLJSCallBase.h:
  • ftl/FTLJSCallVarargs.cpp:

(JSC::FTL::JSCallVarargs::JSCallVarargs): Deleted.
(JSC::FTL::JSCallVarargs::emit): Deleted.

  • ftl/FTLJSTailCall.cpp: Removed.
  • ftl/FTLJSTailCall.h: Removed.
  • ftl/FTLLocation.h:

(JSC::FTL::Location::operator!):
(JSC::FTL::Location::isHashTableDeletedValue): Deleted.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::DFG::LowerDFGToLLVM::callPreflight):
(JSC::FTL::DFG::LowerDFGToLLVM::compileNode): Deleted.
(JSC::FTL::DFG::LowerDFGToLLVM::compileCallOrConstructVarargs): Deleted.
(JSC::FTL::DFG::LowerDFGToLLVM::compileLoadVarargs): Deleted.
(JSC::FTL::DFG::LowerDFGToLLVM::appendOSRExit): Deleted.
(JSC::FTL::DFG::LowerDFGToLLVM::setStrictInt52): Deleted.
(JSC::FTL::DFG::LowerDFGToLLVM::setInt52): Deleted.
(JSC::FTL::DFG::LowerDFGToLLVM::setJSValue): Deleted.
(JSC::FTL::DFG::LowerDFGToLLVM::setBoolean): Deleted.
(JSC::FTL::DFG::LowerDFGToLLVM::setStorage): Deleted.
(JSC::FTL::DFG::LowerDFGToLLVM::setDouble): Deleted.
(JSC::FTL::DFG::LowerDFGToLLVM::setInt32): Deleted.

  • ftl/FTLState.h:
  • jit/CallFrameShuffler.cpp:

(JSC::CallFrameShuffler::spill):
(JSC::CallFrameShuffler::emitDeltaCheck): Deleted.
(JSC::CallFrameShuffler::prepareForSlowPath): Deleted.
(JSC::CallFrameShuffler::prepareForTailCall): Deleted.

  • jit/CallFrameShuffler.h:

(JSC::CallFrameShuffler::addNew):
(JSC::CallFrameShuffler::snapshot): Deleted.
(JSC::CallFrameShuffler::assumeCalleeIsCell): Deleted.
(JSC::CallFrameShuffler::newAsOld): Deleted.
(JSC::CallFrameShuffler::ensureRegister): Deleted.
(JSC::CallFrameShuffler::addressForOld): Deleted.
(JSC::CallFrameShuffler::isDangerNew): Deleted.
(JSC::CallFrameShuffler::updateDangerFrontier): Deleted.

  • jit/CallFrameShuffler64.cpp:

(JSC::CallFrameShuffler::emitDisplace):

  • jit/Reg.h:

(JSC::Reg::Reg): Deleted.
(JSC::Reg::isFPR): Deleted.

3:12 PM Changeset in webkit [189060] by Joseph Pecoraro
  • 3 edits
    2 adds in trunk

Page does not update when <link> media attribute changes to no longer apply to page
https://bugs.webkit.org/show_bug.cgi?id=148392

Reviewed by Antti Koivisto.

Source/WebCore:

Test: fast/css/link-media-attr.html

  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::parseAttribute):
When the media attribute changes, recalculate styles if the link is not disabled.

LayoutTests:

  • fast/css/link-media-attr-expected.txt: Added.
  • fast/css/link-media-attr.html: Added.

Add a test to verify that styles change after a link's media attribute changes.

2:42 PM Changeset in webkit [189059] by Chris Dumez
  • 1 edit
    2 adds in trunk/LayoutTests

Document window.NodeFilter properties
https://bugs.webkit.org/show_bug.cgi?id=148531

Reviewed by Geoffrey Garen.

Document window.NodeFilter properties to detect changes to them. This
is in preparation of Bug 148415 as this will help detect unwanted
changes to the interface when making NodeFilter a callback interface.

  • fast/dom/node-filter-interface-expected.txt: Added.
  • fast/dom/node-filter-interface.html: Added.
2:39 PM Changeset in webkit [189058] by Alan Bujtas
  • 3 edits
    2 adds in trunk

Simple line layout: Text jumps sometimes on naughty strings page
https://bugs.webkit.org/show_bug.cgi?id=148399
rdar://problem/22212568

Reviewed by Antti Koivisto.

The x position we set for tab characters during painting should
be the same as if it was set by the inline box tree painting.

Inline box tree computes the distance from the rootbox for each line
and sets this value as the xPos for the TextRun.
Currently simple line layout does not support cases where a line
would have an offset, so this value is always 0.

Source/WebCore:

Test: fast/text/whitespace/simple-line-layout-tab-position.html

  • rendering/SimpleLineLayoutFunctions.cpp:

(WebCore::SimpleLineLayout::paintFlow):

LayoutTests:

  • fast/text/whitespace/simple-line-layout-tab-position-expected.html: Added.
  • fast/text/whitespace/simple-line-layout-tab-position.html: Added.
2:38 PM Changeset in webkit [189057] by Lucas Forschler
  • 2 edits in trunk/Tools

Add two bots to the Mac Yosemite queue.
This is to eventually replace bots188/189, which will be removed after 400/401 are vetted.

Unreviewed.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
2:36 PM Changeset in webkit [189056] by achristensen@apple.com
  • 13 edits in trunk

Isolate Source directories in CMake build
https://bugs.webkit.org/show_bug.cgi?id=148389

Reviewed by Brent Fulgham.

.:

  • CMakeLists.txt:
  • Source/cmake/WebKitCommon.cmake:

Move package finding to WebKitCommon.

Source/JavaScriptCore:

  • PlatformWin.cmake:

Include ../include/private to find WTF headers in internal build.
Don't use a script to generate forwarding headers.

  • shell/PlatformWin.cmake:

Copy inspector scripts to the forwarding headers directory to be used by WebCore.

Source/WebCore:

  • CMakeLists.txt:

Use the forwarding header copy of the inspector scripts to avoid requiring JavaScriptCore directory to exist.

  • PlatformAppleWin.cmake:

Add AVFoundation sources to build.

  • PlatformEFL.cmake:

Moved WebKitVersion.h generating from CMakeLists.txt because it is now only used in WebCore by EFL.

  • PlatformWin.cmake:

Include ../include/private to find forwarding headers in internal build.

Source/WebKit:

  • PlatformWin.cmake:

Moved WebKitVersion.h generation from WebCore because the scripts required for it are in WebKit.

2:31 PM Changeset in webkit [189055] by achristensen@apple.com
  • 7 edits in trunk

[Win CMake] Fix incremental build after r188673
https://bugs.webkit.org/show_bug.cgi?id=148539

Reviewed by Brent Fulgham.

Source/JavaScriptCore:

  • PlatformWin.cmake:

Use xcopy as a build step instead of file(COPY ...) to copy updated headers.

Source/WebCore:

  • CMakeLists.txt:
  • PlatformWin.cmake:

Use xcopy as a build step instead of file(COPY ...) to copy updated headers.

Tools:

  • TestWebKitAPI/PlatformWin.cmake:

Copy forwarding headers from WebCore before building in case that was not yet done.
It used to be done when running CMake, but now it's a build step.

2:26 PM Changeset in webkit [189054] by Jon Davis
  • 2 edits in trunk/Source/JavaScriptCore

Include ES6 Generators and Proxy object status to feature status page.
https://bugs.webkit.org/show_bug.cgi?id=148095

Reviewed by Timothy Hatcher.

  • features.json:
2:25 PM Changeset in webkit [189053] by matthew_hanson@apple.com
  • 2 edits
    1 add in branches/safari-601.1-branch/Source/JavaScriptCore

Merge r189012. rdar://problem/22084478

2:24 PM Changeset in webkit [189052] by timothy_horton@apple.com
  • 32 edits
    1 add
    3 deletes in trunk/Source

Factor out Lookup invocation
https://bugs.webkit.org/show_bug.cgi?id=148509

Reviewed by Anders Carlsson.

There's a ton of duplicated code in legacy and modern WebKit to talk to
Lookup. And, it's pretty messy. As a first step to making it less messy,
make it so we only have it in one place instead of four (or two).

  • editing/DictionaryPopupInfo.h:

Move DictionaryPopupInfo into WebCore. This was duplicated
in both legacy and modern WebKit.

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

(WebCore::DictionaryLookup::rangeForSelection):
(WebCore::DictionaryLookup::rangeAtHitTestResult):
(WebCore::DictionaryLookup::stringForPDFSelection):
(WebCore::showPopupOrCreateAnimationController):
(WebCore::DictionaryLookup::showPopup):
(WebCore::DictionaryLookup::hidePopup):
(WebCore::DictionaryLookup::animationControllerForPopup):
(WebCore::rangeForDictionaryLookupForSelection): Deleted.
(WebCore::rangeForDictionaryLookupAtHitTestResult): Deleted.
(WebCore::dictionaryLookupForPDFSelection): Deleted.
Move DictionaryLookup stuff into a class for better names.

Move showPopup, hidePopup, and animationControllerForPopup here.
showPopup and animationControllerForPopup both bottleneck through
a single function, where previously we duplicated all of the code
for both of them, and in both legacy and modern WebKit.

showPopup and animationControllerForPopup take a block that they *may*
call if we have support for overriding Lookup's indicator with TextIndicator,
because the installation process is different per WebKit.

  • page/mac/EventHandlerMac.mm:

(WebCore::EventHandler::selectClosestWordFromHitTestResultBasedOnLookup):

  • testing/Internals.cpp:

(WebCore::Internals::rangeForDictionaryLookupAtLocation):
Adjust to the new naming.

  • Shared/DictionaryPopupInfo.cpp: Removed.
  • Shared/DictionaryPopupInfo.h: Removed.

Moved to WebCore.

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<DictionaryPopupInfo>::encode):
(IPC::ArgumentCoder<DictionaryPopupInfo>::decode):
Add encode/decoders for DictionaryPopupInfo now that it's in WebCore.

  • Shared/WebCoreArgumentCoders.h:
  • Shared/WebHitTestResult.h:
  • Shared/mac/ArgumentCodersMac.h:
  • UIProcess/API/mac/WKView.mm:

(+[WKView hideWordDefinitionWindow]):
(-[WKView _dismissContentRelativeChildWindows]):

  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/mac/PageClientImpl.h:
  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::didPerformDictionaryLookup):

  • UIProcess/mac/WKImmediateActionController.mm:

(-[WKImmediateActionController _animationControllerForText]):

  • UIProcess/mac/WebPageProxyMac.mm:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::showDefinitionForAttributedString):
(WebKit::PDFPlugin::lookupTextAtLocation):

  • WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::performDictionaryLookupAtLocation):
(WebKit::WebPage::performDictionaryLookupForSelection):
(WebKit::WebPage::dictionaryPopupInfoForRange):
(WebKit::WebPage::dictionaryPopupInfoForSelectionInPDFPlugin):
(WebKit::WebPage::lookupTextAtLocation):
Adjust to new names and move stuff to WebCore.

  • WebKit.xcodeproj/project.pbxproj:
  • WebView/DictionaryPopupInfo.h: Removed.

Move to WebCore.

  • WebView/WebHTMLView.mm:

(-[WebHTMLView _lookUpInDictionaryFromMenu:]):
DictionaryPopupInfo keeps a TextIndicatorData, not a TextIndicator.

  • WebView/WebImmediateActionController.mm:

(-[WebImmediateActionController _animationControllerForDataDetectedLink]):
(dictionaryPopupInfoForRange):
(-[WebImmediateActionController _animationControllerForText]):

  • WebView/WebView.mm:

(-[WebView _prepareForDictionaryLookup]):
(-[WebView _animationControllerForDictionaryLookupPopupInfo:]):
(-[WebView _setTextIndicator:withLifetime:]):
(-[WebView _showDictionaryLookupPopup:]):

  • WebView/WebViewInternal.h:

Move a bunch of code to WebCore.
Factor some that has to stay out into _prepareForDictionaryLookup.

2:23 PM Changeset in webkit [189051] by Jon Davis
  • 2 edits in trunk/Source/WebCore

Add IndexedDB to the feature status page.
https://bugs.webkit.org/show_bug.cgi?id=148094

Reviewed by Timothy Hatcher.

  • features.json:
2:13 PM Changeset in webkit [189050] by basile_clement@apple.com
  • 2 edits in branches/jsc-tailcall/Source/JavaScriptCore

Unreviewed, re-enable the FTL
https://bugs.webkit.org/show_bug.cgi?id=146942

We are not using the register preservation thunk anymore, so we can
have both the FTL and tail calls!

  • runtime/Options.h:
2:13 PM Changeset in webkit [189049] by basile_clement@apple.com
  • 17 edits
    1 copy
    1 add in branches/jsc-tailcall/Source/JavaScriptCore

WIP

2:02 PM Changeset in webkit [189048] by andersca@apple.com
  • 4 edits in trunk

REGRESSION (r188987): imported/mozilla/svg/filters/feConvolveMatrix-1.svg fails
https://bugs.webkit.org/show_bug.cgi?id=148497
<rdar://problem/22459541>

Reviewed by Andy Estes.

Source/WebCore:

Don't return early if iterations is 0.

  • platform/graphics/filters/FEConvolveMatrix.cpp:

(WebCore::FEConvolveMatrix::platformApplySoftware):

LayoutTests:

12:58 PM Changeset in webkit [189047] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, add a comment to describe something I learned about a confusingly-named function.

  • dfg/DFGUseKind.h:

(JSC::DFG::isCell):

12:40 PM Changeset in webkit [189046] by basile_clement@apple.com
  • 3 edits
    3 adds in trunk

REGRESSION(r184779): Possible read-after-free in JavaScriptCore/dfg/DFGClobberize.h
https://bugs.webkit.org/show_bug.cgi?id=148411

Reviewed by Geoffrey Garen and Filip Pizlo.

Source/JavaScriptCore:

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

LayoutTests:

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

(foo):

12:36 PM Changeset in webkit [189045] by commit-queue@webkit.org
  • 2 edits
    2 deletes in trunk/LayoutTests

AX: Remove accessibility/mac/change-notification-on-scroll.html test
https://bugs.webkit.org/show_bug.cgi?id=148534

Patch by Nan Wang <n_wang@apple.com> on 2015-08-27
Reviewed by Chris Fleizach.

Removed the test since AXValueChange notifications are not being sent
when scrollable regions inside the WebView are scrolled.

  • accessibility/mac/change-notification-on-scroll-expected.txt: Removed.
  • accessibility/mac/change-notification-on-scroll.html: Removed.
  • platform/mac/TestExpectations:
12:21 PM Changeset in webkit [189044] by commit-queue@webkit.org
  • 9 edits
    1 add in trunk

AX: Fix accessibility/select-element-at-index.html test
https://bugs.webkit.org/show_bug.cgi?id=148516

Patch by Nan Wang <n_wang@apple.com> on 2015-08-27
Reviewed by Chris Fleizach.

Tools:

Implemented setSelectedChildAtIndex and removeSelectionAtIndex for mac.

  • DumpRenderTree/AccessibilityUIElement.cpp:

(setSelectedChildCallback):
(setSelectedChildAtIndexCallback):
(removeSelectionAtIndexCallback):
(elementAtPointCallback):
(sentenceAtOffsetCallback):
(stringForSelectionCallback):
(AccessibilityUIElement::getJSClass):

  • DumpRenderTree/mac/AccessibilityUIElementMac.mm:

(AccessibilityUIElement::setSelectedChild):
(AccessibilityUIElement::setSelectedChildAtIndex):
(AccessibilityUIElement::removeSelectionAtIndex):
(AccessibilityUIElement::accessibilityValue):

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:

(WTR::AccessibilityUIElement::wordAtOffset):
(WTR::AccessibilityUIElement::lineAtOffset):
(WTR::AccessibilityUIElement::sentenceAtOffset):
(WTR::AccessibilityUIElement::isSelectable):
(WTR::AccessibilityUIElement::isMultiSelectable):
(WTR::AccessibilityUIElement::setSelectedChild):
(WTR::AccessibilityUIElement::setSelectedChildAtIndex):
(WTR::AccessibilityUIElement::removeSelectionAtIndex):
(WTR::AccessibilityUIElement::selectedChildrenCount):
(WTR::AccessibilityUIElement::selectedChildAtIndex):
(WTR::AccessibilityUIElement::isExpanded):

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(WTR::AccessibilityUIElement::setSelectedChild):
(WTR::AccessibilityUIElement::setSelectedChildAtIndex):
(WTR::AccessibilityUIElement::removeSelectionAtIndex):
(WTR::AccessibilityUIElement::accessibilityValue):

LayoutTests:

  • accessibility/select-element-at-index.html:
  • platform/mac/TestExpectations:
  • platform/mac/accessibility/select-element-at-index-expected.txt: Added.
12:10 PM Changeset in webkit [189043] by Antti Koivisto
  • 3 edits in trunk/Source/WebCore

Decode redirected data URLs in web process
https://bugs.webkit.org/show_bug.cgi?id=148386

Reviewed by Zalan Bujtas.

Redirected data URLs still end up to networking layer for decoding. Handle them locally as well.

Covered by existing tests.

  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::~ResourceLoader):
(WebCore::ResourceLoader::finishNetworkLoad):

Factor to a function.

(WebCore::ResourceLoader::releaseResources):
(WebCore::ResourceLoader::willSendRequestInternal):

When receiving redirect to a data URL end the network load and decode it locally.

(WebCore::ResourceLoader::willSendRequest):

  • loader/ResourceLoader.h:
11:45 AM Changeset in webkit [189042] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Skip new High DPI test (Windows doesn't quite support this)
Also skip an event test that started failing after r188793.

  • platform/win/TestExpectations:
11:35 AM Changeset in webkit [189041] by ap@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION (r188820): fast/dom/HTMLObjectElement/object-as-frame.html is flaky.
https://bugs.webkit.org/show_bug.cgi?id=148533

11:32 AM Changeset in webkit [189040] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Mark some test failures.

  • platform/win/TestExpectations: Mark some test failures. Images are black instead

of showing the correct output.

11:26 AM Changeset in webkit [189039] by Brent Fulgham
  • 1 edit
    1 delete in trunk/LayoutTests

[Win] Test gardening.

Remove failure case for recent progression.

  • platform/win/sputnik/Conformance/11_Expressions/11.5_Multiplicative_Operators/11.5.3_Percent: Removed.
  • platform/win/sputnik/Conformance/11_Expressions/11.5_Multiplicative_Operators/11.5.3_Percent/S11.5.3_A4_T6-expected.txt: Removed.
11:09 AM Changeset in webkit [189038] by mmaxfield@apple.com
  • 9 edits
    4 adds in trunk

[Cocoa] Generic font families do not consult with the user's preferred language
https://bugs.webkit.org/show_bug.cgi?id=148499
<rdar://problem/22407296>

Reviewed by Antti Koivisto.

Source/WebCore:

When WebKit encounters markup like lang="zh" style="font-family: sans-serif;"
we currently always use Simplified Chinese fonts. However, the user may
have specifically selected Traditional Chinese in their user preferences.
In this absence of other signals, we should consult with the user
preferences when determining which font to pick.

Tests: fast/text/international/generic-font-family-language-simplified.html

fast/text/international/generic-font-family-language-traditional.html

  • platform/Language.cpp:

(WebCore::observerMap):
(WebCore::overrideUserPreferredLanguages):

  • platform/graphics/FontGenericFamilies.cpp:

(WebCore::computeUserPrefersSimplified):
(WebCore::cachedUserPrefersSimplified):
(WebCore::languageChanged):
(WebCore::genericFontFamilyForScript):
(WebCore::FontGenericFamilies::FontGenericFamilies):

  • platform/text/LocaleToScriptMappingDefault.cpp:

(WebCore::scriptNameToCode):

LayoutTests:

Mock the user's font preferences.

  • fast/text/international/font-fallback-to-common-script.html:
  • fast/text/international/generic-font-family-language-simplified-expected.html: Added.
  • fast/text/international/generic-font-family-language-simplified.html: Added.
  • fast/text/international/generic-font-family-language-traditional-expected.html: Added.
  • fast/text/international/generic-font-family-language-traditional.html: Added.
  • fast/text/international/lang-sensitive-fonts-xml.xhtml:
  • fast/text/international/lang-sensitive-fonts.html:
  • fast/text/international/locale-sensitive-fonts.html:
11:03 AM Changeset in webkit [189037] by mmaxfield@apple.com
  • 3 edits in trunk/Source/WebCore

Update Grid Layout to use fewer magic -1s
https://bugs.webkit.org/show_bug.cgi?id=148505

Reviewed by Javier Fernandez.

After r188873, there were still some -1s left in Grid Layout code. This patch cleans them
up after consulting with Javier Fernandez.

No new tests because there is no behavior change.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::containingBlockLogicalWidthForContent):
(WebCore::RenderBox::containingBlockLogicalHeightForContent):
(WebCore::RenderBox::perpendicularContainingBlockLogicalHeight):

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::applyStretchAlignmentToChildIfNeeded):

10:54 AM Changeset in webkit [189036] by msaboff@apple.com
  • 2 edits in branches/jsc-tailcall/Source/JavaScriptCore

jsc-tailcall: Test failures with FTL enabled after r188986
https://bugs.webkit.org/show_bug.cgi?id=148494

Reviewed by Basile Clement.

During FTL OSR exit processing, we can't use a callee save register as a temp when
transferring the saved version of that registers from the FTL's stack location to the
baseline's stack location. If we do, we'll overwrite the tag registers that we
materialized previously.

  • ftl/FTLOSRExitCompiler.cpp:

(JSC::FTL::compileStub):

10:51 AM Changeset in webkit [189035] by achristensen@apple.com
  • 2 edits in trunk/Tools

Build fix after r188982

  • MiniBrowser/win/CMakeLists.txt:

The directory structure changed in the move.

10:42 AM Changeset in webkit [189034] by BJ Burg
  • 15 edits in trunk/Source

Web Inspector: FrontendChannel should know its own connection type
https://bugs.webkit.org/show_bug.cgi?id=148482

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

  • inspector/InspectorFrontendChannel.h: Add connectionType().
  • inspector/remote/RemoteInspectorDebuggableConnection.h:

Source/WebCore:

To prepare for multiple attached frontends, the frontend connection should
be able to report its type rather than explicitly setting connection type
via a getter.

No behavior change, no new tests.

  • inspector/InspectorController.cpp:

(WebCore::InspectorController::hasLocalFrontend): Ask the channel what it is.
(WebCore::InspectorController::hasRemoteFrontend): Ask the channel what it is.
(WebCore::InspectorController::connectFrontend): Use hasRemoteFrotend().
(WebCore::InspectorController::disconnectFrontend): Use hasRemoteFrontend().
(WebCore::InspectorController::InspectorController): Deleted.

  • inspector/InspectorController.h: Initialize a few members here.

(WebCore::InspectorController::hasFrontend): Deleted, it was unused.
(WebCore::InspectorController::setHasRemoteFrontend): Deleted.

  • inspector/WorkerInspectorController.cpp:
  • page/PageDebuggable.cpp:

(WebCore::PageDebuggable::connect):
(WebCore::PageDebuggable::disconnect):

  • testing/Internals.cpp: Add connectionType().

Source/WebKit/mac:

  • WebCoreSupport/WebInspectorClient.h: add connectionType().

Source/WebKit/win:

  • WebCoreSupport/WebInspectorClient.h: add connectionType().

Source/WebKit2:

  • WebProcess/WebPage/WebInspector.h: add connectionType().
10:40 AM Changeset in webkit [189033] by andersca@apple.com
  • 2 edits in trunk/Source/WTF

Define legacy main thread calling functions for iOS as well
https://bugs.webkit.org/show_bug.cgi?id=148530

Reviewed by Tim Horton.

  • wtf/mac/DeprecatedSymbolsUsedBySafari.mm:
10:37 AM Changeset in webkit [189032] by commit-queue@webkit.org
  • 14 edits in trunk

Web Inspector: Standardize on CSSStyleSheet.Type enum and move more protocol enum conversion to the manager
https://bugs.webkit.org/show_bug.cgi?id=148515

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-08-27
Reviewed by Brian Burg.

Source/WebInspectorUI:

  • UserInterface/Controllers/CSSStyleManager.js:

(WebInspector.CSSStyleManager.protocolStyleSheetOriginToEnum):
(WebInspector.CSSStyleManager.protocolMediaSourceToEnum):
Protocol enum to frontend enum conversion.

  • UserInterface/Models/DOMNodeStyles.js:

(WebInspector.DOMNodeStyles.prototype.refresh.fetchedComputedStyle):
(WebInspector.DOMNodeStyles.prototype.refresh):
(WebInspector.DOMNodeStyles.prototype._parseRulePayload):
(WebInspector.DOMNodeStyles.prototype._collectStylesInCascadeOrder):
Use the manager to convert from a protocol payload enum to frontend num for css types.

  • UserInterface/Models/CSSRule.js:

(WebInspector.CSSRule.prototype.get editable):

  • UserInterface/Views/CSSStyleDeclarationSection.js:

(WebInspector.CSSStyleDeclarationSection):
(WebInspector.CSSStyleDeclarationSection.prototype.refresh):

  • UserInterface/Views/RulesStyleDetailsPanel.js:

(WebInspector.RulesStyleDetailsPanel.prototype.refresh.appendStyleSection):
(WebInspector.RulesStyleDetailsPanel.prototype.refresh):

  • UserInterface/Views/VisualStyleSelectorSection.js:

(WebInspector.VisualStyleSelectorSection.prototype.update.createSelectorItem):
(WebInspector.VisualStyleSelectorSection.prototype.update.uniqueOrderedRules.set return):
(WebInspector.VisualStyleSelectorSection.prototype.update.uniqueOrderedRules):
(WebInspector.VisualStyleSelectorSection.prototype.update):

  • UserInterface/Views/VisualStyleSelectorTreeItem.js:

(WebInspector.VisualStyleSelectorTreeItem):
Update enum use.

LayoutTests:

  • inspector/css/matched-style-properties.html:
  • inspector/css/pseudo-element-matches.html:
  • inspector/css/selector-dynamic-specificity.html:
  • inspector/css/selector-specificity.html:
  • inspector/css/stylesheet-with-mutations.html:
10:33 AM Changeset in webkit [189031] by eric.carlson@apple.com
  • 11 edits
    1 add in trunk

Media Session: MediaSession constructor 'kind' argument optional
https://bugs.webkit.org/show_bug.cgi?id=148527

Reviewed by Jer Noble.

Source/WebCore:

No new tests, updated media/session/session-creation.html.

  • Modules/mediasession/MediaSession.cpp:

(WebCore::MediaSession::parseKind): Treat null kind "content".
(WebCore::MediaSession::MediaSession): Delete Document* version.

  • Modules/mediasession/MediaSession.h: Make constructor private.
  • Modules/mediasession/MediaSession.idl:
  • WebCore.xcodeproj/project.pbxproj: Add JSMediaSessionCustom.cpp.
  • bindings/js/JSMediaSessionCustom.cpp: Added.

(WebCore::constructJSMediaSession):

  • dom/Document.cpp:

(WebCore::Document::defaultMediaSession): Call MediaSession::create.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::session): Compare session with document.defaultMediaSession, not

its kind.

(WebCore::HTMLMediaElement::setSession): Update comments.

LayoutTests:

  • media/session/content-interruptions.html: Restructure to make less timing dependent. Minor cleanup.
  • media/session/session-creation-expected.txt:
  • media/session/session-creation.html: Test default MediaSession constructor argument.
10:23 AM Changeset in webkit [189030] by Alan Bujtas
  • 5 edits in trunk/Source/WebCore

Simple line layout: Use float types wherever possible to match line tree.
https://bugs.webkit.org/show_bug.cgi?id=148444

Reviewed by Antti Koivisto.

To match inline tree output, we should try to match the data types as far as precision goes.

This patch also fixes the confusing mismatch between Run::baseline().x() and Run::rect().x().
They are both supposed to return the left edge of the run. However Run::rect().x() returns a rounded
LayoutUnit of the logical left, while Run::baseline().x() returns the correct logical left.
With this patch

  1. baseline position does not include logical left anymore.
  2. Run::rect().x() does not round the logical left coordinate anymore.
  • rendering/RenderTreeAsText.cpp:

(WebCore::writeSimpleLine):

  • rendering/SimpleLineLayoutFunctions.cpp:

(WebCore::SimpleLineLayout::paintFlow):
(WebCore::SimpleLineLayout::collectFlowOverflow):
(WebCore::SimpleLineLayout::collectAbsoluteRects):
(WebCore::SimpleLineLayout::showLineLayoutForFlow):

  • rendering/SimpleLineLayoutResolver.cpp:

(WebCore::SimpleLineLayout::linePosition):
(WebCore::SimpleLineLayout::lineSize):
(WebCore::SimpleLineLayout::RunResolver::Run::rect):
(WebCore::SimpleLineLayout::LineResolver::Iterator::operator*):
(WebCore::SimpleLineLayout::baselinePosition): Deleted.
(WebCore::SimpleLineLayout::RunResolver::Run::baseline): Deleted.

  • rendering/SimpleLineLayoutResolver.h:

(WebCore::SimpleLineLayout::RunResolver::Run::baselinePosition):
(WebCore::SimpleLineLayout::RunResolver::Run::computeBaselinePosition):

10:09 AM Changeset in webkit [189029] by bshafiei@apple.com
  • 7 edits in branches/safari-601.1.46-branch

Merged r189024. rdar://problem/22426737

9:59 AM Changeset in webkit [189028] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Add an expectation for another momentum scrolling test that became flaky.

  • platform/mac-wk2/TestExpectations:
9:33 AM Changeset in webkit [189027] by Csaba Osztrogonác
  • 2 edits in trunk/PerformanceTests

[EFL] REGRESSION(r188793): It made 200 layout tests and Bindings/event-target-wrapper.html performance test fail
https://bugs.webkit.org/show_bug.cgi?id=148470

Unreviewed gardening, skip the hanging test to make the performance bot work.

  • Skipped:
8:48 AM Changeset in webkit [189026] by Alan Bujtas
  • 5 edits
    1 copy
    1 add in trunk

Subpixel positioned iframe's repaint area calculation problem.
https://bugs.webkit.org/show_bug.cgi?id=148422

When the repaint rect position is floored for iframes, we need
to expand the size so that it still covers the content.

Reviewed by Simon Fraser.

Source/WebCore:

Test: fast/repaint/content-inside-subpixel-positioned-iframe.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computeRectForRepaint):

LayoutTests:

  • fast/repaint/content-inside-subpixel-positioned-iframe-expected.txt: Added.
  • fast/repaint/content-inside-subpixel-positioned-iframe.html: Copied from LayoutTests/fast/repaint/hidpi-content-inside-iframe-leaves-trails.html.
  • fast/repaint/hidpi-content-inside-iframe-leaves-trails.html:
8:35 AM Changeset in webkit [189025] by Michael Catanzaro
  • 2 edits in trunk/Tools

[GTK] Unreviewed, install-dependencies should install geoclue2 on Fedora

geoclue-devel is for obsolete geoclue. Install geoclue2-devel instead.

  • gtk/install-dependencies:
8:15 AM Changeset in webkit [189024] by enrica@apple.com
  • 7 edits in trunk

Add some new emoji with modifiers and new sequence.
https://bugs.webkit.org/show_bug.cgi?id=148202
rdar://problem/21849857

Reviewed by Sam Weinig.

Source/WebCore:

Adding support for some new emoji with modifiers and
one new emoji sequence.

  • platform/graphics/FontCascade.cpp:

(WebCore::FontCascade::characterRangeCodePath):

  • platform/text/CharacterProperties.h:

(WebCore::isEmojiGroupCandidate):
(WebCore::isEmojiModifier):

  • platform/text/TextBreakIterator.cpp:

(WebCore::cursorMovementIterator):

LayoutTests:

Updated test to reflect the changes.

  • editing/deleting/delete-emoji-expected.txt:
  • editing/deleting/delete-emoji.html:
7:46 AM Changeset in webkit [189023] by dino@apple.com
  • 8 edits
    3 adds in trunk

Initial infrastructure of media controls testing
https://bugs.webkit.org/show_bug.cgi?id=148426
<rdar://problem/22417286>

Reviewed by Eric Carlson.

Source/WebCore:

Expose a JS API from Internals that allows a layout test
to ask the controls instance what it thinks it is
doing.

Test: media/controls/basic.html

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.getCurrentControlsStatus): New method. Currently
returns a simple JSON string.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::getCurrentMediaControlsStatus): Call into
the controls instance.

  • html/HTMLMediaElement.h:
  • testing/Internals.cpp:

(WebCore::Internals::getCurrentMediaControlsStatusForElement): Link
between the Internals API and the HTMLMediaElement.

  • testing/Internals.h:
  • testing/Internals.idl:

LayoutTests:

Very simple test that calls into the status object
of the media controls instance.

  • media/controls/basic-expected.txt: Added.
  • media/controls/basic.html: Added.
7:26 AM Changeset in webkit [189022] by Wenson Hsieh
  • 1 edit
    2 adds in trunk/LayoutTests

Add a Layout test for r188991
https://bugs.webkit.org/show_bug.cgi?id=148507

Reviewed by Tim Horton.

Tests that stopping an animation early and closing the window does
not crash the process. This is a retrospective test added for
https://bugs.webkit.org/show_bug.cgi?id=148442, "Fix crash due to
animationDidEnd called on deallocated RemoteLayerTreeHost."

  • animations/crash-on-removing-animation.html: Added.
  • animations/crash-on-removing-animation-expected.txt: Added.
3:26 AM Changeset in webkit [189021] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed. Mark WTF_WordLock.ContendedShortSection as slow too.

  • Scripts/run-gtk-tests:

(TestRunner):

2:59 AM Changeset in webkit [189020] by Gyuyoung Kim
  • 2 edits
    2 moves in trunk/Source/WebCore

[EFL] Move RenderThemeEfl.cpp|h from WebCore/platform/efl to WebCore/rendering
https://bugs.webkit.org/show_bug.cgi?id=148511

Reviewed by Csaba Osztrogonác.

To be aligned with other ports, move RenderThemeEfl.cpp|h to WebCore/rendering.

Additionally this patch fixes style errors in RenderThemeEfl.cpp

  • PlatformEfl.cmake:
  • rendering/RenderThemeEfl.cpp: Renamed from Source/WebCore/platform/efl/RenderThemeEfl.cpp.

(WebCore::toEdjeGroup):
(WebCore::setSourceGroupForEdjeObject):
(WebCore::RenderThemeEfl::adjustSizeConstraints):
(WebCore::isFormElementTooLargeToDisplay):
(WebCore::RenderThemeEfl::ThemePartCacheEntry::create):
(WebCore::RenderThemeEfl::ThemePartCacheEntry::reuse):
(WebCore::RenderThemeEfl::getThemePartFromCache):
(WebCore::RenderThemeEfl::clearThemePartCache):
(WebCore::RenderThemeEfl::applyEdjeStateFromForm):
(WebCore::RenderThemeEfl::applyEdjeRTLState):
(WebCore::RenderThemeEfl::isControlStyled):
(WebCore::RenderThemeEfl::paintThemePart):
(WebCore::RenderThemeEfl::create):
(WebCore::RenderTheme::themeForPage):
(WebCore::applyColorCallback):
(WebCore::fillColorsFromEdjeClass):
(WebCore::RenderThemeEfl::setColorFromThemeClass):
(WebCore::RenderThemeEfl::setThemePath):
(WebCore::RenderThemeEfl::themePath):
(WebCore::RenderThemeEfl::loadTheme):
(WebCore::RenderThemeEfl::applyPartDescriptionFallback):
(WebCore::RenderThemeEfl::applyPartDescription):
(WebCore::RenderThemeEfl::applyPartDescriptionsFrom):
(WebCore::RenderThemeEfl::RenderThemeEfl):
(WebCore::RenderThemeEfl::~RenderThemeEfl):
(WebCore::supportsFocus):
(WebCore::RenderThemeEfl::supportsFocusRing):
(WebCore::RenderThemeEfl::controlSupportsTints):
(WebCore::RenderThemeEfl::baselinePosition):
(WebCore::RenderThemeEfl::platformActiveSelectionBackgroundColor):
(WebCore::RenderThemeEfl::platformInactiveSelectionBackgroundColor):
(WebCore::RenderThemeEfl::platformActiveSelectionForegroundColor):
(WebCore::RenderThemeEfl::platformInactiveSelectionForegroundColor):
(WebCore::RenderThemeEfl::platformFocusRingColor):
(WebCore::RenderThemeEfl::supportsSelectionForegroundColors):
(WebCore::RenderThemeEfl::paintSliderTrack):
(WebCore::RenderThemeEfl::adjustSliderTrackStyle):
(WebCore::RenderThemeEfl::adjustSliderThumbStyle):
(WebCore::RenderThemeEfl::adjustSliderThumbSize):
(WebCore::RenderThemeEfl::sliderTickSize):
(WebCore::RenderThemeEfl::sliderTickOffsetFromTrackCenter):
(WebCore::RenderThemeEfl::sliderTickSnappingThreshold):
(WebCore::RenderThemeEfl::supportsDataListUI):
(WebCore::RenderThemeEfl::paintSliderThumb):
(WebCore::RenderThemeEfl::adjustCheckboxStyle):
(WebCore::RenderThemeEfl::paintCheckbox):
(WebCore::RenderThemeEfl::adjustRadioStyle):
(WebCore::RenderThemeEfl::paintRadio):
(WebCore::RenderThemeEfl::adjustButtonStyle):
(WebCore::RenderThemeEfl::paintButton):
(WebCore::RenderThemeEfl::adjustMenuListStyle):
(WebCore::RenderThemeEfl::paintMenuList):
(WebCore::RenderThemeEfl::adjustMenuListButtonStyle):
(WebCore::RenderThemeEfl::paintMenuListButtonDecorations):
(WebCore::RenderThemeEfl::adjustTextFieldStyle):
(WebCore::RenderThemeEfl::paintTextField):
(WebCore::RenderThemeEfl::adjustTextAreaStyle):
(WebCore::RenderThemeEfl::paintTextArea):
(WebCore::RenderThemeEfl::adjustSearchFieldResultsButtonStyle):
(WebCore::RenderThemeEfl::paintSearchFieldResultsButton):
(WebCore::RenderThemeEfl::adjustSearchFieldResultsDecorationPartStyle):
(WebCore::RenderThemeEfl::paintSearchFieldResultsDecorationPart):
(WebCore::RenderThemeEfl::adjustSearchFieldCancelButtonStyle):
(WebCore::RenderThemeEfl::paintSearchFieldCancelButton):
(WebCore::RenderThemeEfl::adjustSearchFieldStyle):
(WebCore::RenderThemeEfl::paintSearchField):
(WebCore::RenderThemeEfl::adjustInnerSpinButtonStyle):
(WebCore::RenderThemeEfl::paintInnerSpinButton):
(WebCore::RenderThemeEfl::setDefaultFontSize):
(WebCore::RenderThemeEfl::updateCachedSystemFontDescription):
(WebCore::RenderThemeEfl::adjustProgressBarStyle):
(WebCore::RenderThemeEfl::animationRepeatIntervalForProgressBar):
(WebCore::RenderThemeEfl::animationDurationForProgressBar):
(WebCore::RenderThemeEfl::paintProgressBar):
(WebCore::RenderThemeEfl::mediaControlsStyleSheet):
(WebCore::RenderThemeEfl::mediaControlsScript):

  • rendering/RenderThemeEfl.h: Renamed from Source/WebCore/platform/efl/RenderThemeEfl.h.
2:46 AM Changeset in webkit [189019] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[EFL] REGRESSION: userscripts tests crash
https://bugs.webkit.org/show_bug.cgi?id=148519

Unreviewed gardening, skip failing tests to make the bot work again.

  • platform/efl/TestExpectations:
2:41 AM Changeset in webkit [189018] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[EFL] REGRESSION: fullscreen tests fail with timeout
https://bugs.webkit.org/show_bug.cgi?id=148518

Unreviewed gardening, skip failing tests to make the bot work again.

  • platform/efl/TestExpectations:
2:37 AM Changeset in webkit [189017] by Carlos Garcia Campos
  • 3 edits in trunk/Tools

Fix GTK+ WTR crashes in initializeMainRunLoop()

Rubber-stamped by Žan Doberšek.

Initialize threading and main thread before
RunLoop::initializeMainRunLoop(), since the GLib implementation of
the RunLoop uses isMainThread() to decide whether to create a new
GMainContext or use the default one. Also use RunLoop::run() and
::stop() instead of gtk_main/quit.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::initialize):

  • WebKitTestRunner/gtk/TestControllerGtk.cpp:

(WTR::TestController::notifyDone):
(WTR::TestController::platformRunUntil):

2:16 AM Changeset in webkit [189016] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

[EFL] REGRESSION: 50+ layout tests crash
https://bugs.webkit.org/show_bug.cgi?id=148471

Reviewed by Gyuyoung Kim.

  • UIProcess/CoordinatedGraphics/WebView.cpp:

(WebKit::WebView::WebView):

12:59 AM Changeset in webkit [189015] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit2

Fix WKMutableArray creations in WKUserMediaPermissionRequest
https://bugs.webkit.org/show_bug.cgi?id=148489

Reviewed by Carlos Garcia Campos.

Call WKMutableArrayCreate() to create the WKMutableArray objects.
WKMutableArrayRef type is a pointer, so calling 'WKMutableArrayRef()'
just sets a null value to the variable that is then returned and
queried for size in WebKitTestRunner's TestController, resulting
in a crash.

  • UIProcess/API/C/WKUserMediaPermissionRequest.cpp:

(WKUserMediaPermissionRequestDeviceNamesVideo):
(WKUserMediaPermissionRequestDeviceNamesAudio):

12:23 AM Changeset in webkit [189014] by fpizlo@apple.com
  • 2 edits in trunk/Tools

Unreviewed, further shorten a test that times out because it's very long
running.

I've locally run these tests on repeat for 24 hours and found no genuine
failures, like deadlocks. So, the timeouts are probably because the test
machine is slow and debug is slow. We should just run this test for fewer
iterations.

  • TestWebKitAPI/Tests/WTF/Lock.cpp:

(TestWebKitAPI::TEST):

12:16 AM Changeset in webkit [189013] by fpizlo@apple.com
  • 14 edits in trunk/Source/JavaScriptCore

Node::origin should always be set, and the dead zone due to SSA Phis can just use exitOK=false
https://bugs.webkit.org/show_bug.cgi?id=148462

Reviewed by Saam Barati.

The need to label nodes that absolutely cannot exit was first observed when we introduced SSA form.
We indicated this by not setting the CodeOrigin.

But just recently (http://trac.webkit.org/changeset/188979), we added a more comprehensive "exitOK"
bit in NodeOrigin. After that change, there were two ways of indicating that you cannot exit:
!exitOK and an unset NodeOrigin. An unset NodeOrigin implied !exitOK.

Now, this change is about removing the old way so that we only use !exitOK. From now on, all nodes
must have their NodeOrigin set, and the IR validation will check this. This means that I could
remove various pieces of cruft for dealing with unset NodeOrigins, but I did have to add some new
cruft to ensure that all nodes we create have a NodeOrigin.

This change simplifies our IR by having a simpler rule about when NodeOrigin is set: it's always
set.

  • dfg/DFGBasicBlock.cpp:

(JSC::DFG::BasicBlock::isInBlock):
(JSC::DFG::BasicBlock::removePredecessor):
(JSC::DFG::BasicBlock::firstOriginNode): Deleted.
(JSC::DFG::BasicBlock::firstOrigin): Deleted.

  • dfg/DFGBasicBlock.h:

(JSC::DFG::BasicBlock::begin):
(JSC::DFG::BasicBlock::end):
(JSC::DFG::BasicBlock::numSuccessors):
(JSC::DFG::BasicBlock::successor):

  • dfg/DFGCombinedLiveness.cpp:

(JSC::DFG::liveNodesAtHead):

  • dfg/DFGConstantHoistingPhase.cpp:
  • dfg/DFGCriticalEdgeBreakingPhase.cpp:

(JSC::DFG::CriticalEdgeBreakingPhase::breakCriticalEdge):

  • dfg/DFGForAllKills.h:

(JSC::DFG::forAllKilledOperands):

  • dfg/DFGIntegerRangeOptimizationPhase.cpp:
  • dfg/DFGLoopPreHeaderCreationPhase.cpp:

(JSC::DFG::createPreHeader):
(JSC::DFG::LoopPreHeaderCreationPhase::run):

  • dfg/DFGOSRAvailabilityAnalysisPhase.cpp:

(JSC::DFG::OSRAvailabilityAnalysisPhase::run):

  • dfg/DFGObjectAllocationSinkingPhase.cpp:
  • dfg/DFGPutStackSinkingPhase.cpp:
  • dfg/DFGSSAConversionPhase.cpp:

(JSC::DFG::SSAConversionPhase::run):

  • dfg/DFGValidate.cpp:

(JSC::DFG::Validate::validate):
(JSC::DFG::Validate::validateSSA):

Note: See TracTimeline for information about the timeline view.